TITLE:ロボットハンドを動かす *ロボットハンドを動かす [#u69e0124] **Dynamixel Configuratorで動かす [#i7e648cf] まずは確認のため、[[Dynamixel Configurator>DXCONF]]でAX-12+を作動させてみましょう。トルク設定をしていませんので、ポジション移動の際は十二分に注意して下さい。~ ID1からID6まで以下の手順を繰り返します。 +「Read All」で状態を読み込む。 +ダイヤルでポジションを移動する。 **物を掴む [#a91d93dc] ID1~ID3でハンド部分の位置が決まり、ID5、6でハンド部分が開閉します。~ 空のペットボトル等を掴んで持ち上げてみましょう。 #ref(Clip.png) 如何でしょうか。持ち上げることができたでしょうか。~ Dynamixel Configuratorでは、個々のアクチュエータにそれぞれ手動で指令を行わなければならず、随分と手間がかかるのではないでしょうか。~ では、Dynamixel Configuratorでの操作をプログラムで再現してみましょう。 **プログラムする [#bc44f46d] 前提条件としてハンド部分は開いており、ペットボトルを挟むだけの状態(位置)にして下さい。 #html{{ <pre class="brush:c"> #include <fd.h> // メイン関数 void main (void) { fd_SetBeepCondition (FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP); fd_SetUVThreshold (7.4); DX_ChangeBaudrate (1000000); fd_Wait (2000); // 挟む fd_DXSetPosition (5, 550); fd_DXSetPosition (6, 420); fd_Wait (1000); // 持ち上げる fd_DXSetPosition (2, 550); fd_DXSetPosition (3, 500); fd_Wait (1000); } </pre> }} 今回はDynamixel Configuratorでの操作をそのままプログラムしました。指定位置は掴むものに合った値に変更して下さい。~ 持ち上がったら、しばらくそのままの状態で放置してみてください。 **重量軽減 [#s3fbe750] しばらくするとID2かID3のAX-12+でLEDが点滅し始めるのではないでしょうか。これはオーバーロードが発生しているためです。~ 負荷を軽減するために、ここではバックテンションを追加します。 #ref(BackTension.png) **本格的なプログラミング [#m9646c50] 以上でロボットハンドの組み立てが完了しました。
(This host) = http://www.besttechnology.co.jp