GoalPositionは0~360°の1回転分の制御範囲に制限。GoalPositionの範囲が拡大され、最大±256回転まで対応。PWMのデューティー比を制御。IDは、IDと同様に各Dynamixelを識別するために用いられます。Positionに反映されます。オフセット位置をホスト側では無くDynamixel側に持たせる際に使用します。Velocityの絶対値とこの値を比較した結果がMovingに示されます。Statusの該当ビットがONになり、Shutdownで指定された動作に遷移します。Statusの該当ビットはONになり、Shutdownで指定された動作に遷移します。PWMの絶対値はこの値以下に制限されます。Currentの絶対値はこの値以下に制限されます。Accelerationはこの値以下に制限されます。Velocityの絶対値はこの値以下に制限されます。Positionはこの値の範囲内に制限されます。Resolutionモデル毎のResolutionはこちら。Portをデジタル入出力、もしくはアナログ入力に設定します。Enableは0になりモータの出力が遮断されシャットダウン状態に遷移します。Enableを1にする事ができません。Errorなお、シャットダウン状態から復帰するには発生している障害を排除した後、電源の再投入か、REBOOTインストラクションパケットを受信しなくてはなりません。Modeに従った制御を開始します。RED/GREEN/BLUE本体に装備された3色のLEDの輝度を設定します。Levelステータスパケットを返信するインストラクションパケットを選択します。Writeインストラクションパケットを受信すると1、その後Actionインストラクションパケットを受信すると0になります。Status様々なフィードバックと内部の制御状態を比較した結果を示します。この値とShutdownの論理積の結果により動作を継続するか否かを決定します。Gain速度制御演算における各種制御ゲインを指定します。Modeが設定されている時に有効です。Gain位置制御演算における各種制御ゲインを指定します。Modeが設定されている時に有効な値です。Watchdog無通信状態を監視する時間を指定します。Enableが1である場合、ホストコントローラとDynamixel間の通信間隔を監視します。Watchdogは-1に変更されます。Positionの各アイテムは読み取り専用に変更されます。Errorは解除されます。PWMPWMのデューティー比を指定します。Modeが設定されている事はもとより、全てのModeにおける制御演算結果はPWMのデューティ比として算出されるため、必ず制御の最終段においてこの値以下にデューティー比が制限されモータへ印可されます。Current電流制御の目標値を指定します。Modeが設定されている時に有効な値です。Velocity速度制御の目標値を指定します。Modeが設定されている時に有効な値です。AccelerationProfileの加速度を指定します。Modeである時を除くModeに有効です。加速度は以下の式で決まります。Velocityを参照ください。VelocityProfileの最大速度を指定します。Modeである時を除くModeに有効です。Velocityが最大速度として採用されます。値によって最終的に3種類の軌跡が得られます。位置制御時における設定値による位置と速度のProfileを以下に示します。0適当な加速度と最大速度を設定した上で目標位置を指令する事で、急峻な加速度を伴う位置決め制御による機械的なショックを軽減できます。目標位置への到達時間が決まっている場合は、時間から加速度と最大速度を求めて設定する事で対応できます。上記波形のt1は、概ね以下の数式で求められます。Acceleration))また、これらの他に急峻な加速度変化を抑える制御を行っているため、最終的な目標到達時間はt3よりも長くなる場合があります。Position位置制御の目標値を指定します。Modeが設定されている時に有効で、各Mode毎に指摘できる数値範囲が異なります。Resolutionモデル毎のResolutionはこちら。Tick15ビットのフリーランカウンタで、1ms周期毎にインクリメントされます。Thresholdの比較結果を示します。Status動作中の状況を示します。PWM制御中のPWM出力値です。Current現在モータへ流れている電流です。Velocity現在の出力軸の回転数です。Offsetを除した出力軸の位置です。Modeに依存した値でクリップされます。Positionは次の場合にリセットされます。Enableを1に変更モデル毎のResolutionはこちら。Voltage現在の印加電圧です。Temperature現在の内部温度です。Address/Dataコントロールテーブル上のアドレスを再構成します。Nに設定されたアドレスXへ間接的にアクセスする事になります。具体的な例として、ホストから頻繁にアクセスしたいアイテムが複数あり、それらが離れたアドレスに配置されていた場合を考えます。通常はそれらアイテム全てをまたぐアドレス範囲のデータをまとめてアクセスするか、個々のアイテムに個別にアクセスするとった手段を執ります。これには本来無用なデータやアクセス回数が強いられるため、通信のトラフィックが上がる要因になるのと、ホスト側のプログラムの負担になります。Data領域に再配置するには以下の手順を踏みます。1からの連続した624番地にアクセスする事は、再配置したアイテムへ個々に間接的にアクセスした事になります。Data領域はユーザ任意のRAM領域として扱うことができます。plusシリーズではmodeの値をそのまま適用、それ以外では近似した動作モードを適用。AX/DX/RX/EX/MX全シリーズ・USS3・UD3・UD3.5に対応したPCのUSBポートに接続するI/Fです。I/Fが異なっていても同時に使用でき、複数のコネクタ及び電源スイッチを装備するハブとして機能します。XシリーズのI/Fを増設する装置です。複数のコネクタ装備し、電源を分配するハブとしても機能します。I/F間は絶縁されています。TTLの3種類のI/Fを増設します。XL430-W250-Tをセットにした入門キットです。takabooDXSHIELDをソフトウェアシリアルもしくはハードウェアシリアルモードに設定した場合、ArduinoのスケッチでDynamixelを制御するためのライブラリが利用できます。Library同様プロトコルやにシリアル通信を意識すること無くコントロールテーブルへの読み書きが行えますが、Arduino版は機能を限定したサブセット版となります。低位の送受信関数追加32bitデータの送受信関数追加アドレスとサイズに関する引数は全て16bitに統一dxlib1.0_for_arduino.zip初期リリースDXLIBのインストールは、ArduinoのIDEの「スケッチ→ライブラリのインクルード→.ZIP形式のライブラリをインストール...」メニューを使用してダウンロードしたZIPファイルを選択するだけです。インストールが完了すると、ユーザーフォルダ配下に「Arduino/libraries/dxlib」が作られ、ライブラリのソースといくつかのサンプルプログラムがその中に展開されます。詳しくはサンプルプログラムとライブラリのソースを参照して下さい。v1.2で使用できるヘッダファイルとAPIは以下の通りです。1.0対応デバイスを対象とする場合、dxlib.hをスケッチにインクルードする事でDXLIBクラスが利用できるようになります。Arduinoのリソースの都合から、dx2lib.hとの共存はできません。2.0対応デバイスを対象とする場合、dx2lib.hをスケッチにインクルードする事でDX2LIBクラスが利用できるようになります。Arduinoのリソースの都合から、dxlib.hとの共存はできません。txpin)ヘッダファイルに応じてDXLIBないしDX2LIBいずれかのクラスが使用できます。同時にソフトウェアシリアルの使用(ss)・ハードウェアシリアルオブジェクト(hws)・受信端子(rxpin)・送信端子(txpin)を指定した上でオブジェクトを生成できます。ssにtrueを指定したらソフトウェアシリアルモード、falseを指定したらハードウェアシリアルモードにDXSHIELDを設定しなくてはなりません。hwsやrxpin、txpinは通常指定する必要はありませんが、他のSHIELDやArduinoの機能の都合で使用できない場合に限り指定します。baud)ライブラリを使用可能にします。引数(baud)にはDynamixelに設定されたボーレートを指定します。選択したモードにより使用できるボーレートに制限があります。len)指定されたID(id)・インストラクション(inst)・パラメータ(param)・パラメータ長(len)のインストラクションパケットを送信します。*err)ステータスパケットを受信します。成功するとパケット内のパラメータがrdataへコピーされ、そのパラメータのサイズがrlenに返されます。ステータスパケットを受信するのに十分なサイズを確保し、そのポインタをrdataへ、サイズをrdatasizeに指定します。ridにはID、errにはDynamixelのエラーが返ります。*err)指定されたID(id)・アドレス(addr)から8ビットのデータをdataへ読み出します。errにはDynamixelのエラーが返ります。*err)指定されたID(id)・アドレス(addr)から16ビットのデータをdataへ読み出します。errにはDynamixelのエラーが返ります。*err)指定されたID(id)・アドレス(addr)から32ビットのデータをdataへ読み出します。errにはDynamixelのエラーが返ります。*err)指定されたID(id)・アドレス(addr)・8ビットのデータ(data)をDynamixelに書き込みます。errにはDynamixelのエラーが返ります。*err)指定されたID(id)・アドレス(addr)・16ビットのデータ(data)をDynamixelに書き込みます。errにはDynamixelのエラーが返ります。*err)指定されたID(id)・アドレス(addr)・32ビットのデータ(data)をDynamixelに書き込みます。errにはDynamixelのエラーが返ります。num)指定されたid数(num)分のIDの配列(pid)・アドレス(addr)・8ビットのデータ配列(pdata)をDynamixelに書き込みます。num)指定されたid数(num)分のIDの配列(pid)・アドレス(addr)・16ビットのデータ配列(pdata)をDynamixelに書き込みます。num)指定されたid数(num)分のIDの配列(pid)・アドレス(addr)・32ビットのデータ配列(pdata)をDynamixelに書き込みます。*err)指定されたID(id)のDynamixelを検索します。errにはDynamixelのエラーが返ります。*err)指定されたID(id)のDynamixelを出荷時状態に戻します。errにはDynamixelのエラーが返ります。directory」のコンパイルエラーが発生しますので、その場合は自信のスケッチの先頭に以下の1行を挿入してコンパイルします。Libraryと同様にプロトコルやシリアル通信を意識せずともコントロールテーブルへの読み書きが行えますが、Arduino版は一部機能を限定したサブセット版となります。takabooクローラを採用しつつも小型かつ軽量な台車です。従来の同型機と比べて保守性を大幅に向上させています。Liteでは1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方はできません(完全にできないという訳でもありません)。言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。Lite\TARGET」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。LPC824は複数のライブラリを組み合わせて使用するため、実体はかなり複雑になっています。LPC82xライブラリLPC82xシリーズ共通の内蔵ペリフェラルを簡便に扱う為のライブラリ。LPCOpenとシリアル通信、ブートコードを含む。LPC82x追加ライブラリLPC82xシリーズ用のよく使われるペリフェラルのラッパーライブラリ。I2C,FLASH,DELAY,SPI,ADC,DXLIB,DX2LIBを含む。cortex-M0用FREERTOSCortex-M0+用に予めビルドされたリアルタイムオペレーティングシステムFreeRTOS。1~1000‰で指定パワーが上がらなのはバッテリやモータの問題ではありませんので、必要に応じてPOWERGAINの値を1~100の範囲で変更し、再度コンパイルし直してください。モータの応答が遅いのは1msあたりの増分をMOTOR_INCの値で制限しているためですので、1~1000の範囲で調整してください。takaboo一部のDynamixelがサポートする2250000・2500000・3500000・4000000・4500000・10500000[bps]といったボーレートは、搭載されるUSBシリアル変換チップが対応していないため、Dynamixelのボーレートをそれらの値に変更してはならない。WRITERやATMEL社のSAM-BAを使用してoutフォルダから手動でコンパイル済みファイルを選択して書き込みます。