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での操作をそのままプログラムしました。指定位置は掴むものに合った値に変更して下さい。~ ペットボトルを掴む時にAX-12+から高周波音が聞こえて来ませんか?~ AX-12+は強い力(トルク)がかかるとトルクに見合った速度の移動やギアの欠損が発生します。~ 思わぬ事故や怪我を避けるためにも、トルク制御を行いましょう。 **重量軽減 [#s3fbe750] ロボットハンドを斜めになるよう、位置を移動してみてください。しばらくするとID2かID3のAX-12+でLEDが点滅し始めるのではないでしょうか。これはオーバーロードが発生しているためで、直ぐにロボットハンドを負荷のかからない状態にして下さい。~ 何も持ち上げていないのに自重でオーバーロードに陥ってしまうので、負荷を軽減するためにバックテンションを追加します。 #ref(BackTension.png)
(This host) = http://www.besttechnology.co.jp