BTX064 Dynamixel MX-64R ショップページへ
BTX238 Dynamixel MX-64T ショップページへ
BTX074 Dynamixel MX-64AR ショップページへ
BTX243 Dynamixel MX-64AT ショップページへ
商品番号 | MX-64R | BTX064 |
MX-64T | BTX238 | |
MX-64AR | BTX074 | |
MX-64AT | BTX243 | |
ストールトルク | 5.5N•m (at 11.1V, 3.9A) 6.0N•m (at 12V, 4.1A) 7.3N•m (at 14.8V, 5.2A) | |
無負荷回転数 | 58rpm (at 11.1V) 63rpm (at 12V) 78rpm (at 14.8V) | |
減速比 | 1/200 | |
モータ | maxon コアレスモータ | |
出力軸動作範囲 | 位置決め制御時:0~360°(12ビット分解能), Endless Turn | |
電源電圧範囲 | 10~14.8V (Recommended 12V) | |
許容ラジアル荷重 | 40N (ホーン端面から10mmの位置) | |
許容アキシアル荷重 | 20N | |
動作温度範囲 | -5~+80℃ | |
重量 | MX-64R MX-64AR | 126g |
MX-64AR MX-64AT | 135g | |
コマンドシグナル | デジタルパケット | |
プロトコル | 半二重非同期通信 8-1-N | |
リンク方式 | MX-64R MX-64AR | RS-485 Multi Drop(daisy chain type Connector) |
MX-64T MX-64AT | TTL Multi Drop(daisy chain type Connector) | |
ID数 | プロトコルV1 | 254 (0~253) |
プロトコルV2 | 253 (0~252) | |
通信速度 | 8k~4.5M bps | |
フィードバック | 位置, 速度, 温度, 負荷, 電源電圧, 電流 | |
材質 | ケース | MX-64 フロント:エンプラ MX-64A フロント:アルミ ミドル・バック:エンプラ |
ギア | メタル | |
認証 |
Pats Name | Molex Parts Number |
基板用ヘッダー | molex 22-03-5035 |
ハウジング | molex 50-37-5033 |
ターミナル | molex 08-70-1040 |
端子番号 | 信号名 |
1 | TTL Signal |
2 | VDD |
3 | GND |
Pats Name | Molex Parts Number |
基板用ヘッダー | molex 22-03-5045 |
ハウジング | molex 50-37-5043 |
ターミナル | molex 08-70-1040 |
端子番号 | 信号名 |
1 | RS-485 D- |
2 | RS-485 D+ |
3 | VDD |
4 | GND |
様々な配線方法が考慮されていますので、用途に応じた方法を選択します。
DXHUBとDynamixelを接続する場合は、Robot Cable-X3P 180mm (Convertible)ないしRobot Cable-X4P 180mm (Convertible)が別途必要です。
なお、電源が供給された状態での配線作業は絶対に避けて下さい。
配線を終え電源を投入すると、正常であればDynamixelの背面上部に装備された赤色のLEDが0.5秒点滅した後消灯します(ホストからLEDの点灯指示等が無いものとする)。
通信を行っていないにもかかわらず電源投入時にLEDが常時消灯ないし常時点灯した場合は、何らかの重大な問題が生じている可能性があります。まず電源を切り、配線方法やケーブル、電源装置を確認して下さい。
LEDが一定周期で点滅し続ける場合は、Dynamixel自信が何かしらの異常を検出した時です。
Dynamixel(スレーブ)自らが勝手にデータを送信することは無く、別途用意されるPC等(マスターないしホスト)から送信されるデータをDynamixelが受信した際にのみデータを返信するといったマスタースレーブ方式を採用しています。また、予め決められた電文に従った(プロトコル)電文にのみ応答します。さらに、その1回分の電文をパケットと言います。
Dynamixelシリーズには2種類の通信プロトコル(1.0と2.0)が存在し、本品はその2種類に対応しています。
RS-485はシリアル通信を行う際の電気的な仕様の1つです。1つの信号を2本の差動信号に変換して伝達する事で、耐ノイズ性を向上させています。
Dynamixelシリーズでは安定したデジタル通信を用いて制御する事としたためRS-485を採用しましたが、ケーブルの本数を増やすと配線作業に支障を来すため、1対(1つの信号)で送信と受信を行う半二重を選択しています。
Dynamixelは出荷時において個体識別用のID(数字)が全て1に設定されいます。その状態のまま1つのネットワークに複数台接続してしまうと、ホストから個々のDynamixelを識別することができないまでか、全てのDynamixelが自分自身への指令と認識してしまいます。そのため、複数台を接続して使用する際は、必ず予め1台ずつ異なるIDを設定しておきます。
IDを設定する際は先の識別の問題を回避するためホストが提供するネットワークに1台のみのDynamixelを接続し、複数台のDynamixelが接続されていない状態で作業を行う必要があります。
プロトコルV2より新たに導入されたSecondary IDは、既存のIDと同じ値を設定する事が前提となります。既存のIDの揮発メモリに書き込みの命令を行った際に、それと同じSecondary IDを持ったDynamixelは同じ書き込みが行われますが応答は返しません。
これは特定IDのDynamixelのみへ書き込みを指令するだけで、そのIDと同じSecondary IDを持った複数台のDynamixelを同期して同じ運転を行わせるといった場合に利用できます。
Dynamixelのボーレートは高いほど大量のデータを短時間に送受信できます。しかしながら高いボーレートはケーブルの長さや等の外的要因が相まって、データそのものの信頼性が損なわれる確率が高くなります。
また、複数台のDynamixelを使用する際は、全て同じボーレートに設定しておく必要があります。
Dynamixel内に用意されたメモリ領域をここではコントロールテーブルと称します。コントロールテーブル中の任意のデータにアクセスする手段として通信プロトコロルが用意されています。
ホストから指定されたIDを持ったDynamixelのコントロールテーブルに対して読み書きを行う事で全てを統括するため、先のIDやボーレートもコントロールテーブル上に配置されています。
コントロールテーブルの詳細は後述の表に示します。
Dynamixelは用途に応じて複数の動作モードを選択できます。大きく分けて3つの基本動作を持ちます。
これらの制御の切り替えや制御を行う際の条件の設定は、コントロールテーブル上に配置された様々なパラメータの値を変更することで行います。
※プロトコルV2対応ファームウェアのプロトコルは以下と異なります。その場合はこちらを参照してください。
Dynamixel DX/RX/EX/AX/MXシリーズ共通の通信プロトコルです。また、Dynamixel XシリーズでプロトコルをV1に切り替えた際にも適用されます。
Dynamixelでは複数のデバイスを同じネットワークに接続して運用する事を前提としているため、各々のデバイスを区別するためにユニークなID番号を用いる事としています。
また、ホストは任意のIDを持ったデバイスを指定して命令し、指定されたIDに一致したデバイスがそれに応答するといったマスタースレーブ方式を採用しています。
なお、複数のデバイスに同じID値が付けられている事は前提としていないため、1つのネットワークに同一IDを持つデバイスが複数存在してはなりません。
デバイスの情報はメモリマップでとして提供されており、それをコントロールテーブルと称します。
複数の情報はコントロールテーブル上の異なるアドレスに割り当てられており、必要に応じてホストから任意のIDを持ったデバイスの任意のアドレスへアクセスします。
ホストとデバイス間は一般的なシリアル通信を行うハードウェアで接続され、パケット単位で処理される共通の通信プロトコルを用いて相互に情報をやりとりします。
ここではホストからデバイスへ送信されるパケットを「インストラクションパケット」、デバイスからホストへ送信されるパケットを「ステータスパケット」と称します。
ホストから送信するインストラクションパケットの主な機能はIDの指定とコントロールテーブルの任意のアドレスへのデータの読み書きとなります。そのパケットに対して応答すべきデバイスから返信されるステータスパケットには、ホストから読み出し要求されたコントロールテーブル内のデータや、書き込み要求に対する整合性の結果などが含まれます。
以後「0x」が付与された英数字は16進数、そうでないものは10進数とみなします。
また、デバイスのコントロールテーブル上のStatus Return Levelによってパケットの有無が異なります。
インストラクションパケットはホストからデバイスへ命令するためのパケットです。
パケット構造は以下の通りで、囲み1つが1byteを意味します。
SUM = ~(id + LEN + INS + Param1 + … + ParamN)
ステータスパケットはホストから送信されるインストラクションパケットをデバイスが受信した後、その応答としてデバイスからホストへ返信されるパケットです。
パケット構造は以下の通りで、囲み1つが1byteを意味します。
Bit | Name | Description |
7 | - | - |
6 | Instruction Error | 未定義のインストラクションが指定された、もしくはREG WRITEなしでACTIONが指定された |
5 | Overload Error | 指定された最大トルクで現在の負荷を制御できない |
4 | Checksum Error | インストラクションパケットのチェックサムが正しく無い |
3 | Range Error | パラメータの設定範囲を超えた |
2 | Overheating Error | 内部温度が設定温度を超えた |
1 | Angle Limit Error | Angle Limitの範囲外にGoal Positionが指定された |
0 | Input Voltage Error | 電源電圧が指定動作電圧の範囲を超えた |
SUM = ~(id + LEN + INS + Param1 + … + ParamN)
特定のIDを持ったDynamixelの存在を確認します。
IDに254を指定してPINGインストラクションを送信すると、ネットワークに存在する全てのDynamixelが順次ステータスパケットを返します。
例)
INST:ID=1にPINGを発行。
0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x01 ...Instruction
0xFB ...Checksum
STAT:ID=1のDynamixelが応答。
0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x00 ...Error
0xFC ...Checksum
特定IDのデバイスへアドレス・バイトサイズを指定してコントロールテーブルのデータを読み出します。IDは0~253の範囲が指定できます。
Param byte No. | Description |
1 | 開始アドレス |
2 | バイトサイズ(N) |
Param byte No. | Description |
1 | DATA[0] |
2 | DATA[1] |
3 | DATA[2] |
... | ... |
N | DATA[N-1] |
例)
INST:AX-12A想定。ID=1に対しパラメータにAddress=43(0x2B PresentTemperature), Length=2(0x02)を指定してREADを発行。
0xFF 0xFF ...Header
0x01 ...ID
0x04 ...Length
0x02 ...Instruction
0x2B ...開始アドレス
0x01 ...バイトサイズ
0xCC ...Checksum
STAT:8bit幅で現在のPresentTemperature=32(0x20)の値を返信。
0xFF 0xFF ...Header
0x01 ...ID
0x03 ...Length
0x00 ...Error
0x20 ...DATAs
0xDB ...Checksum
特定IDのデバイスへアドレス・データ(任意バイト数)を指定してコントロールテーブルへ書き込みます。IDは0~252の範囲と254が指定でき、254を指定した場合はステータスパケットが返りません。
Param byte No. | Description |
1 | 開始アドレス |
2 | |
3 | DATA[0] |
4 | DATA[1] |
5 | DATA[2] |
... | ... |
N+2 | DATA[N-1] |
例)
INST:AX-12A想定。ID=1(0x01)に対しパラメータにAddress=30(0x1E GoalPosition), Data=512(0x0200 16bit幅)を指定してWRITEを発行。
0xFF 0xFF ...Header
0x01 ...ID
0x05 ...Length
0x03 ...Instruction
0x1E ...開始アドレス
0x00 02 ...DATAs
0xD7 ...Checksum
STAT:ID=1のDynamixelが応答。
0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x00 ...Error
0xFC ...Checksum
特定IDのデバイスへアドレス・データ(任意バイト数)を指定してコントロールテーブルへ書き込む点ではWRITEインストラクションと同じですが、その後ACTIONインストラクションが実行されない限りコントロールテーブルへ反映されません。IDは0~253の範囲と254が指定でき、254を指定した場合はステータスパケットが返りません。
なお、REG WRITEを受信したデバイスは、コントロールテーブル上のアイテムRegistered Instructionを1にし、ACTIONインストラクションを待機中である事を示します。
Param byte No. | Description |
1 | 開始アドレス |
2 | DATA[0] |
3 | DATA[1] |
4 | DATA[2] |
... | ... |
N+1 | DATA[N-1] |
例)
INST:AX-12A想定。ID=1に対しパラメータにAddress=30(0x1E GoalPosition), Data=200(0x00C8 16bit幅)を指定してREG WRITEを発行。
0xFF 0xFF ...Header
0x01 ...ID
0x05 ...Length
0x04 ...Instruction
0x1E ...開始アドレス
0xC8 0x00 ...DATAs
0x0F ...Checksum
STAT:ID=1のDynamixelが応答。
0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x00 ...Error
0xFC ...Checksum
REG WRITEインストラクションで待機中のデバイスのコントロールテーブルを更新します。IDは0~253の範囲と254が指定でき、254を指定した場合はステータスパケットが返りません。
ACTIONを受け取ったデバイスはRegistered Instructionが1であれば0になりますが、0であったデバイスはエラーを返します。
例)
INST:ID=1に対しACTIONを発行。
0xFF 0xFF ...Header
0x01 ...ID
0x03 ...Length
0x05 ...Instruction
0xF6 ...Checksum
STAT:Registered Instructionが1であった場合の正常時の返信。
0xFF 0xFF ...Header
0x01 ...ID
0x02 ...Length
0x00 ...Error
0xFC...Checksum
特定IDのデバイスを出荷時の状態にします。IDは0~253の範囲と254が指定でき、254を指定した場合はステータスパケットが返りません。
例)
INST:ID=0にRESETを発行。
0xFF 0xFF ...Header
0x00 ...ID
0x02 ...Length
0x06 ...Instruction
0xF7 ...Checksum
STAT:正常時の返信
0xFF 0xFF ...Header
0x00 ...ID
0x02 ...Length
0x00 ...Error
0xFD
Parameterに共通のアドレス・共通のバイトサイズ(16bit幅)・複数のIDと各データを指定した1回のインストラクションパケットで、複数のデバイスのコントロールテーブルへ書き込みます。
インストラクションパケットのIDは254固定、パラメータ内のIDは重複しない0~253の範囲をとります。
Param byte No. | Description | |
1 | 開始アドレス | |
2 | バイトサイズ(N) (1以上) | |
3 | 1stデバイス | ID (0~253) |
4 | DATAa[0] | |
5 | DATAa[1] | |
... | ... | |
N+3 | DATAa[N-1] | |
N+4 | 2ndデバイス | ID (0~253) |
N+5 | DATAb[0] | |
N+6 | DATAb[1] | |
... | ... | |
2*N+4 | DATAb[N-1] | |
2*N+5 | 3rdデバイス | ID (0~253) |
2*N+6 | DATAc[0] | |
2*N+7 | DATAc[1] | |
... | ... | |
3*N+5 | DATAc[N-1] | |
... | ... | ... |
0xFF 0xFF ...Header
0xFE ...ID(254固定)
0x18 ...Length
0x83 ...Instruction
0x1E ...開始アドレス
0x04 ...バイトサイズ
0x00 0x10 0x00 0x50 0x01 ...1st ID, DATAs
0x01 0x20 0x02 0x60 0x03 ...2nd ID, DATAs
0x02 0x30 0x00 0x70 0x01 ...3rd ID, DATAs
0x03 0x20 0x02 0x80 0x03 ...4th ID, DATAs
0x12 ...Checksum
※プロトコルV2対応ファームウェアのコントロールテーブルは以下と異なります。その場合はこちらを参照してください。
DynamixelプロトコルV1版ファームウェア Ver.36以降を搭載した以下のDynamixelに共通するコントロールテーブルです。
Address | Item | Access | Reset Value | Range |
0 | Model Number | R | - | uint16 |
1 | ||||
2 | Version of Firmware | R | - | uint8 |
3 | ID | R/W (NVM) | 1 | uint8 0~253 |
4 | Baudrate | R/W (NVM) | 34 (MX-12Wのみ1) | uint8 0~254 |
5 | Return Delay Time | R/W (NVM) | 250 | uint8 0~254 |
6 | CW Angle Limit | R/W (NVM) | 0 | uint16 0~4095 |
7 | ||||
8 | CCW Angle Limit | R/W (NVM) | 4095 | uint16 0~4095 |
9 | ||||
10 | Drive Mode | R/W (NVM) | 0 | uint8 0~3 |
11 | Highest Limit Temperature | R/W (NVM) | 80 | uint8 10~99 |
12 | Lowest Limit Voltage | R/W (NVM) | 60 | uint8 50~250 |
13 | Highest Limit Voltage | R/W (NVM) | 160 | uint8 50~250 |
14 | Max Torque | R/W (NVM) | 1023 | uint16 0~1023 |
15 | ||||
16 | Status Return Level | R/W (NVM) | 2 | uint8 0~2 |
17 | Alarm LED | R/W (NVM) | 36 | uint8 0~127 |
18 | Alarm Shutdwon | R/W (NVM) | 36 | uint8 0~127 |
19 | (reserve) | R | - | uint8 |
20 | Multi Turn Offset | R | 0 | int16 -24576~24576 |
21 | ||||
22 | Resolution Divider | R | 1 | uint8 1~4 |
23 | (reserve) | R | - | uint8 |
24 | Torque Enable | R/W (NVM) | 0 | uint8 0~1 |
25 | LED | R/W (NVM) | 0 | uint8 0~1 |
26 | D Gain | R/W | 0 (MX-12Wのみ8) | uint8 0~254 |
27 | I Gain | R/W | 0 | uint8 0~254 |
28 | P Gain | R/W | 32 (MX-12Wのみ8) | uint8 1~254 |
29 | (reserve) | R | - | uint8 |
30 | Goal Position | R/W | [Addr36]value | uint16/int16 0~4095/-28672~28672 |
31 | ||||
32 | Moving Speed | R/W | 0 | uint16 -1023~1023 |
33 | ||||
34 | Torque Limit | R/W | [Addr14]value | uint16 0~1023 |
35 | ||||
36 | Present Position | R | ? | uint16 |
37 | ||||
38 | Present Speed | R | ? | uint16 |
39 | ||||
40 | Present Load | R | ? | uint16 |
41 | ||||
42 | Present Voltage | R | ? | uint8 |
43 | Present Temperature | R | ? | uint8 |
44 | Registered Instruction | R/W | 0 | uint8 0~1 |
45 | (reserve) | R | - | uint8 |
46 | Moving | R | 0 | uint8 |
47 | Lock | R/W | 0 | uint8 0~1 |
48 | Punch | R/W | 32 | uint16 0~1023 |
49 | ||||
50 ~ 67 | (reserve) | R | - | uint8 |
68 | Current | R | ? | uint16 0~4095 |
69 | ||||
70 | Torque Control Mode Enable | R/W | 0 | uint8 0~1 |
71 | Goal Torque | R/W | 0 | uint16 0~2047 |
72 | ||||
73 | Goal Acceleration | R/W | 0 | uint8 0~254 |
モデルナンバーです。各モデルには以下の固有値が割り当てられます。
Model Name | Value |
MX-12W | 0x0168 |
MX-28 | 0x001D |
MX-64 | 0x0136 |
MX-106 | 0x0140 |
各Dynamixelを特定するための固有の値で0~253の範囲で設定します。同一ネットワーク中のDynamixelには各々異なるIDが要求されます。
254はBroadcast IDとし、全てのDynamixelへパケットを送信する際に使用します。
通信速度を決める分周値で、通信速度は次式で導かれます。
Baudrate[bps]=2000000 / (value + 1)
主なBaudrate
value | Actual Baudrate[bps] | Specified Baudrate[bps] | Error[%] |
1 | 1000000.0 | 1000000 | 0.000 |
3 | 500000.0 | 500000 | 0.000 |
4 | 400000.0 | 400000 | 0.000 |
7 | 250000.0 | 250000 | 0.000 |
9 | 200000.0 | 200000 | 0.000 |
16 | 117647.1 | 115200 | -2.124 |
34 | 57142.9 | 57600 | 0.794 |
103 | 19230.8 | 19200 | -0.160 |
207 | 9615.4 | 9600 | -0.160 |
※ホストとのボーレートの誤差は±2%以下が要求されます。
なお、MXシリーズのみ以下の値の時にイリガルなボーレートが割り当てられていますので注意が必要です。
value | Baudrate[BPS] |
250 | 2250000.0 |
251 | 2500000.0 |
252 | 3000000.0 |
253 | 3500000.0※ |
254 | 4000000.0※ |
※MX-64,MX-106のみ
Jointモード時のDynamixelの動作角度範囲を設定します。Goal Positionは以下の範囲にある必要があります。
CW Angle Limit <= Goal Position <= CCW Angle Limit
Goal Positionが動作角のリミットを越えると、Angle Limit Errorが起こります。
なお、設定値に応じてDynamixelの動作モードが変わります。
※MX-106のみ
デュアルモードにおけるマスタ/スレーブ、及び回転方向を設定します。
Bit | 機能 | 設定 |
7~2 | - | - |
1 | マスター/スレーブ選択 | 0:マスタ, 1:スレーブ |
0 | 回転方向選 | 0:順方向, 1:逆方向 |
スレーブに設定されたDynamixelは、マスターに設定されたDynamixelと同期化用ケーブルで接続すると、マスタに設定されたDynamixelと同期したポジションに自動的に動作します。 1つの関節に対し2つのDynamixelを使用する事で、トルクアップが期待できます。
同期化ケーブルの接続によりスレーブの回転方向が変わり、黒い線を並列に接続した場合は順方向に、クロスして接続した場合は逆方向に回転します。
Dynamixelの動作温度の上限です。Dynamixelの内部温度がこの値より高くなるとOverheating Errorが起こります。値は℃です。
Dynamixelの動作電圧の上限と下限です。現在の電圧(Address42)が指定した範囲から出ると、Input Voltage Errorが起こります。値は実際の電圧の10倍です。例えばAddress12が80なら、電圧の下限は8Vに設定されます。
Dynamixelの最大トルク出力です。この値が0に設定されるとDynamixelはトルクがかかっていないFree Runモードになります。EEPROM(Address14, 15)とRAM(Address34, 35)の2つに最大トルクが定義されます。電源を入れるとEEPROMの最大トルク値がRAMの最大トルク値にコピーされます。DynamixelのトルクはRAM(Address34, 35)の値によって制限されます。
Dynamixelが返すステータスパケットの措置を設定します。
Value | 処理 |
0 | PINGインストラクションパケットのみに応答 |
1 | PING及びREAD_DATAインストラクションパケットのみに応答する |
2 | 全てのインストラクションパケットに応答する |
対応するBitが1に設定されると、その要因発生時にステータスLEDが点滅します。要因が解消するとLEDは2秒後に消灯します。
Bit | 要因 |
7 | - |
6 | Instruction Error |
5 | Overload Error |
4 | Checksum Error |
3 | Range Error |
2 | Overheating Error |
1 | Angle Error |
0 | Input Voltage Error |
対応するBitが1に設定されると、その要因発生時にDynamixelのTorque Limit(Address34~35)を0にします。復帰する際はTorque Limit(Address34~35)を再設定する必要があります。
Bit | 要因 |
7 | - |
6 | Instruction Error |
5 | Overload Error |
4 | Checksum Error |
3 | Range Error |
2 | Overheating Error |
1 | Angle Error |
0 | Input Voltage Error |
Multi Turnモード時のオフセット位置を調整します。
この値が真の位置フィードバックに加算され、Present Positionに現れます。
位置の分解能を設定します。
真の位置フィードバック値を本値で乗じた値がPresent Positionに現れます。
最初に電源を入れるとDynamixelはTorque Free Run(ゼロトルク)になります。Address24に1を設定するかゴールポジションが設定されるとトルクが有効になります。
MXシリーズはPID制御を行います。P Gainは比例、I Gainは積分、D Gainは微分ゲインで、いずれも値の範囲は0〜254です。
Kp=(P Gain)/8
Ki=(I Gain)*1000/2048
Kd=(D Gain)*4/1000
Dynamixelの出力角の位置を設定します。0(0x000)~4095(0xfff)の設定値に対し、出力軸は0°~360°の範囲で動作します。
Multi Turnモード時はそのモードに従います。
出力軸がGoal Positionへ動く時の速度で、単位は約0.114rpmです。
0に設定すると速度制御を無視し、モータの最大速度で運転します。
1023に設定すると約117.07rpmで運転します。
Wheelモード時は10bit目が回転方向を意味します。
Bit15~11 | Bit10 | Bit9~0 |
0 | Turn Direction | Speed |
Sing = 0 : CCW, 1 : CW
最大出力の上限値です。単位は最大出力に対する割合です。Max Torqueが512なら最大出力対比約50%、1023なら100%が出力の上限となります。 電源を入れるとMax Torqueの値を初期値として使用します。
出力軸の現在の角度です。Goal Positionと同様0(0x000)~4095(0xfff)の値に対し、0°~360°を表します。
Wheelモードでは総回転角度を表します。
出力軸の現在の角速度です。 ビット10は回転方向を表します。
Bit15~11 | Bit10 | Bit9~0 |
0 | Turn Direction | Speed |
Trun Direction = 0 : CCW, Trun Direction = 1 : CW
操作するDynamixelの負荷の大きさです。10bit目が負荷の向きを表します。
Bit15~11 | Bit10 | Bit9~0 |
0 | Load Direction | Load |
Load Direction = 0 : CCW Load, Load Direction = 1 : CW Load
REG_WRITEコマンドでインストラクションが格納されたとき1が設定され、ACTIONコマンドによって格納されたインストラクションが完了したら0が設定されます。
※MX-64及びMX-106のみ
0が設定されるとトルク制御モードが停止し位置決め制御ないしエンドレスターンが使用できます。
1が設定されるとトルク制御モードが開始され、位置決め制御ないしエンドレスターンが使用できなくなります。
トルク制御モードは位置及び速度制御を行わずにGoal Torqueで指示された値でのみ運転します。
※MX-64及びMX-106のみ
トルク制御モード時のトルクを指定します。単位は4.5mAです。
0~1023の範囲でCCW方向、1024~2047の範囲でCW方向にトルクを指示します。なお、Torque Limit以上の値は出力されません。
目標加速度で、単位は 8.583 deg/sec^2 です。Goal Positionが更新された際のメカニカルなショックを抑止する場合に設定します。
0に設定すると加速度制御を行いません。また、加速度制御を行う場合は、Goal Speedを0以外の値に設定する必要があります。
Address 6(0x06)~9(0x09)のCW Angle LimitとCCW Angle Limitを0に設定するとWheelモードになります。車輪として使用する際にこのモードに設定します。
Moving Speedの設定
Bit15~11 | Bit10 | Bit9~0 |
0 | Turn Direction | Speed Value |
Trun Direction = 0 : CCW, Trun Direction = 1 : CW
Present Positionは車輪の総回転角度を表します。 値はCCW方向に回転すると減少、CW方向に回転すると増加し、積算されます。値が0を下回ると65535になり、65535を超えると0になります。