4: 2011-07-22 (金) 15:06:39 yoshida | 5: 2011-07-22 (金) 17:58:50 yoshida | ||
---|---|---|---|
Line 16: | Line 16: | ||
では、Dynamixel Configuratorでの操作をプログラムで再現してみましょう。 | では、Dynamixel Configuratorでの操作をプログラムで再現してみましょう。 | ||
- | **プログラミング [#bc44f46d] | + | **プログラムする [#bc44f46d] |
前提条件としてハンド部分は開いており、ペットボトルを挟むだけの状態(位置)にして下さい。 | 前提条件としてハンド部分は開いており、ペットボトルを挟むだけの状態(位置)にして下さい。 | ||
#html{{ | #html{{ | ||
<pre class="brush:c"> | <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> | </pre> | ||
}} | }} | ||
+ | 今回はDynamixel Configuratorでの操作をそのままプログラムしました。指定位置は掴むものに合った値に変更して下さい。~ | ||
+ | |||
+ | ペットボトルを掴む時にAX-12+から高周波音が聞こえて来ませんか?~ | ||
+ | AX-12+は強い力(トルク)がかかるとトルクに見合った速度の移動やギアの欠損が発生します。~ | ||
+ | 思わぬ事故や怪我を避けるためにも、トルク制御を行いましょう。 | ||
+ | |||
+ | **重量軽減 [#s3fbe750] | ||
+ | ロボットハンドを斜めになるよう、位置を移動してみてください。しばらくするとID2かID3のAX-12+でLEDが点滅し始めるのではないでしょうか。これはオーバーロードが発生しているためで、直ぐにロボットハンドを負荷のかからない状態にして下さい。~ | ||
+ | 何も持ち上げていないのに自重でオーバーロードに陥ってしまう |