KMMotorOneBLE

KMMotorOneBLE

KM-1のBLE接続用 仮想デバイス

Constructor

new KMMotorOneBLE(noblePeripheral)

Source:

通常はstartScanToCreateInstance()メソッドから自動生成される為、単体では使用しない。
モーター以外のデバイスの接続等でnoble APIをプログラム全体で使用している場合にnoblePeripheralと仮想モーターを関連付ける場合に使用。

Parameters:
Name Type Description
noblePeripheral object

noble Peripheralオブジェクト

Members

(static, readonly) bleState

Source:

BLEアダプターの状態

(static, readonly) EVENT_TYPE :string

Source:
Properties:
Name Type Description
adapterStateChange string

BLEアダプターの有効無効の変化
return:"poweredOn"||"unknown"

discoverMotor string

モーター発見時(毎回)
return:function(KMMotorOneBLE)

discoverNewMotor string

新規モーターの発見時(1回のみ)
return:function(KMMotorOneBLE)

scanTimeout string

スキャンのタイムアウトで終了時
return:function()

イベントタイプ定数

Type:
  • string

(static, readonly) motors :_motorsByName

Source:

APIが認識しているモーターのインスタンスリスト(プロパティはモーター名)
ex) {:KMMotorOneBLE,:KMMotorOneBLE,,,}

Type:
  • _motorsByName

(static, readonly) motorsByUUID :_motorsByUUID

Source:

APIが認識しているモーターのインスタンスリスト(プロパティはUUID)
ex) {:KMMotorOneBLE,:KMMotorOneBLE,,,}

Type:
  • _motorsByUUID

(readonly) connectType :KMMotorCommandKMOne.KM_CONNECT_TYPE

Source:
Inherited From:

接続方式

Type:

(readonly) deviceInfo :KMDeviceInfo

Source:
Inherited From:

デバイス情報

Type:

(readonly) EVENT_TYPE :string

Source:
Inherited From:
Properties:
Name Type Description
init string

初期化完了時
return:function({KMDeviceInfo})

connect string

接続時
return:function({KMDeviceInfo})

disconnect string

切断時
return:function({KMDeviceInfo})

connectFailure string

接続に失敗時
return:function({KMDeviceInfo},{msg})

motorMeasurement string

モーター回転情報受信時
return:function(KMRotState)

imuMeasurement string

モーターIMU情報受信時
return:function(KMImuState)

motorLog string

モーターログ情報受信時
return:function({cmdName},{errorlogObject})

イベントタイプ定数

Type:
  • string

(readonly) isConnect :boolean

Source:
Inherited From:

モーターとの接続が有効か

Type:
  • boolean

name

Source:
Inherited From:

モーター名

Methods

(static) allDisConnect()

Source:

全てのモーターのBLE接続を解除

(static) clearMotors()

Source:

全ての仮想モーターを消去

(static) on(type, listener)

Source:

イベントリスナを追加する. Synonym for EventEmitter

Parameters:
Name Type Description
type KMMotorOneBLE.EVENT_TYPE

イベントのタイプ.

listener function

追加するイベントリスナ.

(static) once(type, listener)

Source:

1回限りのイベントリスナを追加する. Synonym for EventEmitter

Parameters:
Name Type Description
type KMMotorOneBLE.EVENT_TYPE

イベントのタイプ.

listener function

追加するイベントリスナ.

(static) removeAllListeners(type)

Source:

全てのイベントリスナを削除する Synonym for EventEmitter

Parameters:
Name Type Description
type KMMotorOneBLE.EVENT_TYPE

イベントのタイプ.

(static) removeListener(type, listener)

Source:

イベントリスナを削除する Synonym for EventEmitter

Parameters:
Name Type Description
type KMMotorOneBLE.EVENT_TYPE

イベントのタイプ

listener function

削除するイベントリスナ

(static) startScanToCreateInstance(time, allowDuplicates)

Source:

BLEデバイスのスキャンを開始し、検出したモーターを全てインスタンス化する

Parameters:
Name Type Default Description
time number 2000

スキャンの継続時間(ms)

allowDuplicates boolean false

重複検出を許可

(static) stopScan()

Source:

BLEデバイスのスキャンの停止

cmdAcc(acc)

モーターの加速度を設定する

Source:
Inherited From:

acc は、モーションコントロール ON の場合、加速時に使用されます。(加速時の直線の傾き)

Parameters:
Name Type Default Description
acc number 0

float 加速度 0-200 [radian / second^2](正の値)

cmdCurveType(cmdCurveType_CURVE_TYPE)

加減速曲線を指定する(モーションコントロールの設定)

Source:
Inherited From:
Parameters:
Name Type Default Description
cmdCurveType_CURVE_TYPE KMMotorCommandKMOne.cmdCurveType_CURVE_TYPE 0

int 加減速カーブオプション
CURVE_TYPE_NONE:0 モーションコントロール OFF
CURVE_TYPE_TRAPEZOID:1 モーションコントロール ON (台形加減速)

cmdDec(dec)

モーターの減速度を設定する

Source:
Inherited From:

dec は、モーションコントロール ON の場合、減速時に使用されます。(減速時の直線の傾き)

Parameters:
Name Type Default Description
dec number 0

float 減速度 0-200 [radian / second^2](正の値)

cmdDisable()

モーター動作を不許可とする(上位命令)

Source:
Inherited From:

安全用:この命令を入れるとモーターは動作しない
コマンドはタスクセットに記録することは不可

cmdDisableIMUMeasurement()

IMU(ジャイロ)の値取得(通知)を停止する

Source:
Inherited From:

cmdEnable()

モーター動作を許可する(上位命令)

Source:
Inherited From:

安全用:この命令を入れるとモーターは動作可能となる
モーター起動時は disable 状態のため、本コマンドで動作を許可する必要があり
コマンドはタスクセットに記録することは不可

cmdEnableCheckSum(isEnabled)

チェックサム(CRC16) 有効化

Source:
Inherited From:

コマンド(タスク)のチェックサムを有効化する

Parameters:
Name Type Description
isEnabled number

0:Disbled, 1:Enabled

cmdEnableIMUMeasurement()

IMU(ジャイロ)の値取得(通知)を開始する (BLE専用コマンド)

Source:
Inherited From:

本コマンドを実行すると、IMUのデータはBLEのキャラクタリスティクスMOTOR_IMU_MEASUREMENTに通知される
MOTOR_IMU_MEASUREMENTのnotifyはイベントタイプ KMMotorCommandKMOne.EVENT_TYPE.imuMeasurement に通知

cmdEnterDeviceFirmwareUpdate()

ファームウェアアップデートモードに入る

Source:
Inherited From:

ファームウェアをアップデートするためのブートローダーモードに入る。(システムは再起動される。)

cmdEraseAllMotion()

全てのモーションを消去する

Source:
Inherited From:

cmdEraseAllTaskset()

全てのタスクセットを消去する

Source:
Inherited From:

cmdEraseMotion(index)

指定したインデックスのモーションを消去する

Source:
Inherited From:

KM-1 の場合、インデックスの値は 0~19 (計20個記録)となる

Parameters:
Name Type Default Description
index number 0

int インデックス

cmdEraseTaskset(index)

指定のインデックスのタスクセットを消去する

Source:
Inherited From:
Parameters:
Name Type Default Description
index number 0

int インデックス

cmdFree()

モーターの励磁を停止する(感触は残ります)

Source:
Inherited From:

完全フリー状態を再現する場合は、 cmdFree().cmdDisable() として下さい。

cmdHoldTorque(torque)

トルク制御を行う

Source:
Inherited From:

速度や位置を同時に制御する場合は、モーター設定の 0x0E: maxTorque と 0x60: runForward 等を併用して下さい。

Parameters:
Name Type Description
torque number

float トルク 単位:N・m [-X ~ + X Nm] 推奨値 0.3-0.05

cmdIMUMeasurementByDefault(isEnabled)

6軸センサー(加速度・ジャイロ)の値の通知をデフォルトで開始する

Source:
Inherited From:

isEnabled = true の場合、enableIMU() を送信しなくても起動時に自動で通知が開始される

Parameters:
Name Type Description
isEnabled number

0:Disbled, 1:Enabled

cmdIMUMeasurementInterval(cmdIMUMeasurementInterval_IMU_MEAS_INTERVAL)

6軸センサー(加速度・ジャイロ)測定値の取得間隔

Source:
Inherited From:

有線(USB, I2C)のみ有効。BLEでは固定 100ms 間隔で通知される。

Parameters:
Name Type Default Description
cmdIMUMeasurementInterval_IMU_MEAS_INTERVAL KMMotorCommandKMOne.cmdIMUMeasurementInterval_IMU_MEAS_INTERVAL 4

enum 加速度・ジャイロ測定値の取得間隔

cmdInterface(bitFlg)

モーター制御手段(インターフェイス)の設定

Source:
Inherited From:

uint8_t flags ビットにより、含まれるパラメータを指定する(1の場合含む・0の場合含まない)

Parameters:
Name Type Description
bitFlg number

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 物理 有線 有線 無線 ボタン * * I2C USB * * BLE

デフォルト デフォルト デフォルト デフォルト

cmdLed(cmdLed_LED_STATE, red, green, blue)

LEDの点灯状態をセットする

Source:
Inherited From:
Parameters:
Name Type Description
cmdLed_LED_STATE KMMotorCommandKMOne.cmdLed_LED_STATE

int 点灯状態
LED_STATE_OFF:LED消灯
LED_STATE_ON_SOLID:LED点灯
LED_STATE_ON_FLASH:LED点滅(一定間隔で点滅)
LED_STATE_ON_DIM:LEDがゆっくり明滅する

red number

int 0-255

green number

int 0-255

blue number

int 0-255

cmdMaxSpeed(maxSpeed)

モーターの最大速さを設定する

Source:
Inherited From:
Parameters:
Name Type Description
maxSpeed number

float 最大速さ [radian / second](正の値)

cmdMaxTorque(maxTorque)

モーターの最大トルク(絶対値)を設定する

Source:
Inherited From:

maxTorque を設定することにより、トルクの絶対値が maxTorque を超えないように運転します。
maxTorque = 0.1 [Nm] の後に runForward (正回転)を行った場合、0.1 Nm を超えないようにその速度をなるだけ維持する。
ただし、トルクの最大値制限により、システムによっては制御性(振動)が悪化する可能性がある。

Parameters:
Name Type Description
maxTorque number

float 最大トルク [N*m](正の値)

cmdMinSpeed(maxSpeed)

モーターの最小速さを設定する

Source:
Inherited From:

minSpeed は、blePreparePlaybackMotion 実行の際、開始地点に移動する速さとして使用される。通常時運転では使用されない。

Parameters:
Name Type Description
maxSpeed number

float 最小速さ [radian / second](正の値)

cmdMotorMeasurementByDefault(isEnabled)

モーター測定値の取得設定

Source:
Inherited From:

isEnabled = 1 の場合、(位置・速度・トルク)の通知を行う(起動後、interface の設定で優先される通信経路に、自動的に通知が開始される)

Parameters:
Name Type Description
isEnabled number

0:Disbled, 1:Enabled

cmdMotorMeasurementInterval(cmdMotorMeasurementInterval_MOTOR_MEAS_INTERVAL)

モーター測定値の取得間隔設定

Source:
Inherited From:

有線(USB, I2C)のみ有効。BLEでは固定 100ms 間隔で通知される。

Parameters:
Name Type Default Description
cmdMotorMeasurementInterval_MOTOR_MEAS_INTERVAL KMMotorCommandKMOne.cmdMotorMeasurementInterval_MOTOR_MEAS_INTERVAL 4

enum モーター測定値の取得間隔

cmdMoveByDistance(distance, speed)

相対位置に移動する

Source:
Inherited From:

速さは cmdSpeed で保存された速度が採用される

Parameters:
Name Type Default Description
distance number 0

float 角度:radians[左:+radians 右:-radians]

speed number null

float 速度の大きさ 単位:角度(ラジアン)/秒 [0-X rps] (正の数)

cmdMoveToPosition(position, speed)

絶対位置に移動する

Source:
Inherited From:

速さは cmdSpeed で保存された速度が採用される

Parameters:
Name Type Default Description
position number

float 角度:radians

speed number null

float 速度の大きさ 単位:角度(ラジアン)/秒 [0-X rps] (正の数)

cmdOwnColor(red, green, blue)

モーターの起動時固有LEDカラーを設定する

Source:
Inherited From:

ownColor はアイドル時の固有LEDカラー。
saveAllSettingsを実行し、再起動後に初めて反映される。
この設定値を変更した場合、BLEの Device Name の下3桁が変更される。

Parameters:
Name Type Description
red number

int 0-255

green number

int 0-255

blue number

int 0-255

cmdPauseQueue()

キューを一時停止する

Source:
Inherited From:

cmdPlaybackInterval(interval)

記憶再生時の再生間隔

Source:
Inherited From:

記憶再生時の再生間隔

Parameters:
Name Type Description
interval number

ms(2-1000 0, 1msはエラーとなる)

cmdPositionP(positionP)

モーターの位置PIDコントローラのP(比例)ゲインを設定する

Source:
Inherited From:
Parameters:
Name Type Description
positionP number

float 位置Pゲイン(正の値)

cmdPresetPosition(position)

位置のプリセットを行う(原点設定)(単位系:ラジアン)

Source:
Inherited From:
Parameters:
Name Type Default Description
position number 0

float 絶対角度:radians

cmdQCurrentD(qCurrentD)

モーターのq軸電流PIDコントローラのD(微分)ゲインを設定する

Source:
Inherited From:
Parameters:
Name Type Description
qCurrentD number

float q電流Dゲイン(正の値)

cmdQCurrentI(qCurrentI)

モーターのq軸電流PIDコントローラのP(比例)ゲインを設定する

Source:
Inherited From:
Parameters:
Name Type Description
qCurrentI number

float q電流Iゲイン(正の値)

cmdQCurrentP(qCurrentP)

モーターのq軸電流PIDコントローラのP(比例)ゲインを設定する

Source:
Inherited From:
Parameters:
Name Type Description
qCurrentP number

float q電流Pゲイン(正の値)

cmdReadAllRegister() → {Promise.<array>}

Source:
Inherited From:

モーターの全てのレジスタ値の取得

Returns:
Type
Promise.<array>

cmdReadDeviceInfo() → {Promise.<any>}

デバイス情報の取得

Source:
Inherited From:

デバイスインフォメーションを読み取る

Returns:
Type
Promise.<any>

cmdReadDeviceName() → {Promise.<(int|Array)>}

デバイスネームの取得

Source:
Inherited From:

デバイスネームを読み取る

Returns:
Type
Promise.<(int|Array)>

cmdReadPositionOffset() → {Promise.<(int|Array)>}

位置のプリセットに関するOFFSET量

Source:
Inherited From:

位置のオフセット量(presetPositionで設定した値に対応)を読み取る

Returns:
Type
Promise.<(int|Array)>

cmdReadRegister(registers) → {Promise.<(int|array)>}

指定した設定値を取得 (BLE専用コマンド)

Source:
Inherited From:
Parameters:
Name Type Description
registers number | array

取得するプロパティのコマンド(レジスタ番号)値

Returns:

取得した値
registersがint=レジスタ値のプリミティブ値
registersがArray=レジスタ値のオブジェクト

Type
Promise.<(int|array)>

cmdReadStatus() → {Promise.<(int|Array)>}

モーターの状態を読み取る (read専用)

Source:
Inherited From:
Returns:
Type
Promise.<(int|Array)>

cmdReboot()

システムを再起動する

Source:
Inherited From:

BLEに接続していた場合、切断してから再起動

cmdResetAllRegisters()

全てのレジスタをファームウェアの初期値にリセットする

Source:
Inherited From:

bleSaveAllRegistersを実行しない限り、リセット値はモーターに永久的に保存されない(再起動で消える)

cmdResetPID()

全てのPIDパラメータをリセットしてファームウェアの初期設定に戻す

Source:
Inherited From:

qCurrentP, qCurrentI, qCurrentD, speedP, speedI, speedD, positionP をリセットします

cmdResetQueue()

キューをリセットする

Source:
Inherited From:

cmdResetRegister(register)

指定したレジスタをファームウェアの初期値にリセットする

Source:
Inherited From:
Parameters:
Name Type Description
register KMMotorCommandKMOne.cmdReadRegister_COMMAND

初期値にリセットするコマンド(レジスタ)値

cmdResumeQueue()

キューを再開する(蓄積されたタスクを再開)

Source:
Inherited From:

cmdRunForward()

正回転する(反時計回り)

Source:
Inherited From:

cmdSpeed で保存された速度で、正回転

cmdRunReverse()

逆回転する(時計回り)

Source:
Inherited From:

cmdSpeed で保存された速度で、逆回転

cmdSaveAllRegisters()

全ての設定値をフラッシュメモリに保存する

Source:
Inherited From:

本コマンドを実行しない限り、設定値はモーターに永久的に保存されない(再起動で消える)

cmdSetI2CSlaveAddress(address)

I2Cスレーブアドレス

Source:
Inherited From:

I2Cから制御する場合のスレーブアドレス(0x00-0xFF)を設定する

Parameters:
Name Type Description
address number

アドレス

cmdSetTasksetName()

タスクセットの記録名設定

Source:
Inherited From:

タスクセットの記録名を設定する。(これから記録するものに対して)

cmdSpeed(speed)

速度の大きさをセットする(単位系:ラジアン)

Source:
Inherited From:
Parameters:
Name Type Default Description
speed number 0

float 速度の大きさ 単位:角度(ラジアン)/秒 [0-X rps] (正の数)

cmdSpeed_rpm(speed_rpm)

速度の大きさをセットする(単位系:RPM)

Source:
Inherited From:
Parameters:
Name Type Default Description
speed_rpm number 0

float [0-X rpm] (正の数)

cmdSpeedD(speedD)

モーターの速度PIDコントローラのD(微分)ゲインを設定する

Source:
Inherited From:
Parameters:
Name Type Description
speedD number

float 速度Dゲイン(正の値)

cmdSpeedI(speedI)

モーターの速度PIDコントローラのI(積分)ゲインを設定する

Source:
Inherited From:
Parameters:
Name Type Description
speedI number

float 速度Iゲイン(正の値)

cmdSpeedP(speedP)

モーターのq軸電流PIDコントローラのD(微分)ゲインを設定する

Source:
Inherited From:
Parameters:
Name Type Description
speedP number

float 速度Pゲイン(正の値)

cmdStartDoingTaskset(index, repeating)

記憶したタスク(命令)のセットを実行する

Source:
Inherited From:

KM-1 は index: 0~49 まで。(50個のメモリバンク 各8128 Byte まで制限あり)
タスクセットの記録は、コマンド(タスクセット)を参照下さい。 https://document.keigan-motor.com/motor-control-command/taskset.html

Parameters:
Name Type Default Description
index number 0

int タスクセット番号(0~65535)

repeating number 1

int 繰り返し回数 0は無制限

cmdStartPlaybackMotion(index, repeating, start_position)

モーションを再生(準備なし)

Source:
Inherited From:

モーションのプレイバックを(準備なしで)プレイバック開始する

Parameters:
Name Type Default Description
index number 0

int モーション番号(0~65535)

repeating number 0

int 繰り返し回数 0は無制限

start_position KMMotorCommandKMOne.cmdPreparePlaybackMotion_START_POSITION 0

int スタート位置の設定
START_POSITION_ABS:記憶された開始位置(絶対座標)からスタート
START_POSITION_CURRENT:現在の位置を開始位置としてスタート

cmdStartRecordingTaskSet(index)

タスク(命令)のセットの記録を開始する

Source:
Inherited From:

記憶するインデックスのメモリはコマンド:eraseTaskset により予め消去されている必要があり

Parameters:
Name Type Default Description
index number 0

int インデックス KM-1 の場合、インデックスの値は 0~49 (計50個記録)

cmdStartTeachingMotion(index, time)

ダイレクトティーチング開始(準備なし)

Source:
Inherited From:

KM-1 の場合、インデックスの値は 0~19 (計20個記録)となる。記録時間は 65408 [msec] を超えることはできない 記憶するインデックスのメモリはbleEraseMotion により予め消去されている必要がある

Parameters:
Name Type Default Description
index number 0

int インデックス [0-19]

time number

int 記録時間 [msec 0-65408]

cmdStop()

モーターを速度ゼロまで減速し停止する

Source:
Inherited From:

rpm = 0 となる。

cmdStopDoingTaskset()

タスクセットを停止

Source:
Inherited From:

タスクセットの再生を停止する

cmdStopRecordingTaskset()

タスクセットの記録を停止する

Source:
Inherited From:

cmdStopTeachingMotion()

実行中のティーチングを停止する

Source:
Inherited From:

cmdTeachingInterval(interval)

ダイレクトティーチングのサンプリング間隔

Source:
Inherited From:

ティーチング・プレイバックの実行間隔

Parameters:
Name Type Description
interval number

ms(2-1000 0, 1msはエラーとなる)

cmdWaitQueue(time)

キューを指定時間停止し再開する

Source:
Inherited From:

cmdPause(キュー停止)を実行し、指定時間(ミリ秒)経過後、自動的に cmdResume(キュー再開) を行います。

Parameters:
Name Type Default Description
time number 0

停止時間[msec]

connect()

Source:

モーターと接続する

disConnect()

Source:

モーターと切断