15: 2011-08-03 (水) 16:40:07 yoshida ソース 現: 2013-08-07 (水) 20:22:54 yoshida ソース
Line 3: Line 3:
**Dynamixel Configuratorで動かす [#i7e648cf] **Dynamixel Configuratorで動かす [#i7e648cf]
-まずは確認のため、[[Dynamixel Configurator>BTE068]]でAX-12+を作動させてみましょう。トルク設定をしていませんので、ポジション移動の際は十二分に注意して下さい。~+まずは確認のため、[[Dynamixel Configurator>BTE068#e84cbf19]]でAX-12+を作動させてみましょう。トルク設定をしていませんので、ポジション移動の際は十二分に注意して下さい。~
ID1からID6まで以下の手順を繰り返します。 ID1からID6まで以下の手順を繰り返します。
+「Read All」で状態を読み込む。 +「Read All」で状態を読み込む。
Line 10: Line 10:
**物を掴む [#a91d93dc] **物を掴む [#a91d93dc]
ID1~ID3でハンド部分の位置が決まり、ID5、6でハンド部分が開閉します。~ ID1~ID3でハンド部分の位置が決まり、ID5、6でハンド部分が開閉します。~
-空のペットボトル等を掴んで持ち上げてみましょう。 +空のペットボトル等を掴んで持ち上げてみましょう。~ 
-#ref(Clip.png)+#ref(DXCONF.png)
如何でしょうか。持ち上げることができたでしょうか。~ 如何でしょうか。持ち上げることができたでしょうか。~
Dynamixel Configuratorでは、個々のアクチュエータにそれぞれ手動で指令を行わなければならず、随分と手間がかかるのではないでしょうか。~ Dynamixel Configuratorでは、個々のアクチュエータにそれぞれ手動で指令を行わなければならず、随分と手間がかかるのではないでしょうか。~
Line 34: Line 34:
  fd_DXSetPosition (4, 512);   fd_DXSetPosition (4, 512);
  fd_DXSetPosition (5, 512);   fd_DXSetPosition (5, 512);
 +  fd_DXSetPosition (6, 512);
  fd_Wait (1000);   fd_Wait (1000);
Line 44: Line 45:
  fd_Wait (1000);   fd_Wait (1000);
  // 腕を下げる   // 腕を下げる
-  fd_DXSetPosition (2, 818);+  fd_DXSetPosition (2, 700); 
 +  fd_DXSetPosition (3, 400);
  fd_Wait (1000);   fd_Wait (1000);
  // 挟む   // 挟む
Line 52: Line 54:
  // 持ち上げる   // 持ち上げる
  fd_DXSetPosition (2, 512);   fd_DXSetPosition (2, 512);
 +  fd_DXSetPosition (3, 512);
  fd_Wait (1000);   fd_Wait (1000);
  // 右へ移動   // 右へ移動
Line 57: Line 60:
  fd_Wait (1000);   fd_Wait (1000);
  // 腕を下げる   // 腕を下げる
-  fd_DXSetPosition (2, 818);+  fd_DXSetPosition (2, 700); 
 +  fd_DXSetPosition (3, 400);
  fd_Wait (1000);   fd_Wait (1000);
  // 離す   // 離す
Line 69: Line 73:
  fd_DXSetPosition (4, 512);   fd_DXSetPosition (4, 512);
  fd_DXSetPosition (5, 512);   fd_DXSetPosition (5, 512);
 +  fd_DXSetPosition (6, 512);
  fd_Wait (1000);   fd_Wait (1000);
} }
Line 74: Line 79:
}} }}
今回はDynamixel Configuratorでの操作をそのままプログラムしました。指定位置は掴むものに合った値に変更して下さい。~ 今回はDynamixel Configuratorでの操作をそのままプログラムしました。指定位置は掴むものに合った値に変更して下さい。~
-まだ動きが随分とぎこちないですね。もう少し滑らかに動くように修正します。+いきなり動き出したり、このプログラムでは動きが随分とぎこちないですね。もう少し滑らかに動くように修正します。
**モーション [#q1da695a] **モーション [#q1da695a]
Line 112: Line 117:
<pre class="brush:c;toolbar:false"> <pre class="brush:c;toolbar:false">
const TSpec Spec[] = { const TSpec Spec[] = {
-  { 1, DEV_AX12, fd_AxisOfs(0), +341, {  257,  768},  0, 1023, { 1, 1, 32,  32} }, +  { 1, DEV_AX12, fd_AxisOfs(0), +341, {  257,  768},  0, 1023, { 1, 1, 32,  32} }, 
-  { 2, DEV_AX12, fd_AxisOfs(1), +341, {  390,  818},  0, 1023, { 1, 1, 32,  32} }, +  { 2, DEV_AX12, fd_AxisOfs(1), +341, {  390,  818},  0, 1023, { 1, 1, 32,  32} }, 
-  { 3, DEV_AX12, fd_AxisOfs(2), +341, {  64,  512},  0, 1023, { 1, 1, 32,  32} },+  { 3, DEV_AX12, fd_AxisOfs(2), +341, {  64,  512},  0, 1023, { 1, 1, 32,  32} },
  { 4, DEV_AX12, fd_AxisOfs(10), +341, {    0, 1023},  0, 1023, { 1, 1, 32,  32} },   { 4, DEV_AX12, fd_AxisOfs(10), +341, {    0, 1023},  0, 1023, { 1, 1, 32,  32} },
  { 5, DEV_AX12, fd_AxisOfs(11), +341, {    0,  592},  0, 1023, { 1, 1, 32,  32} },   { 5, DEV_AX12, fd_AxisOfs(11), +341, {    0,  592},  0, 1023, { 1, 1, 32,  32} },
Line 197: Line 202:
const TSpec Spec[] = { const TSpec Spec[] = {
  { 1, DEV_AX12, fd_AxisOfs(0), +341, {  257,  768},  0, 1023, { 1, 1, 32,  32} },   { 1, DEV_AX12, fd_AxisOfs(0), +341, {  257,  768},  0, 1023, { 1, 1, 32,  32} },
-  { 2, DEV_AX12, fd_AxisOfs(1), +341, {  390,  818},  0, 1023, { 1, 1, 32,  32} }, +  { 2, DEV_AX12, fd_AxisOfs(1), +341, {  300,  818},  0, 1023, { 1, 1, 32,  32} }, 
-  { 3, DEV_AX12, fd_AxisOfs(2), +341, {   64512},  0, 1023, { 1, 1, 32,  32} },+  { 3, DEV_AX12, fd_AxisOfs(2), +341, { 180800},  0, 1023, { 1, 1, 32,  32} },
  { 4, DEV_AX12, fd_AxisOfs(3), +341, {    0, 1023},  0, 1023, { 1, 1, 32,  32} },   { 4, DEV_AX12, fd_AxisOfs(3), +341, {    0, 1023},  0, 1023, { 1, 1, 32,  32} },
  { 5, DEV_AX12, fd_AxisOfs(4), +341, {    0,  592},  0, 1023, { 1, 1, 32,  32} },   { 5, DEV_AX12, fd_AxisOfs(4), +341, {    0,  592},  0, 1023, { 1, 1, 32,  32} },
Line 254: Line 259:
少しは滑らかに動くようになったのではないでしょうか。~ 少しは滑らかに動くようになったのではないでしょうか。~
-では、最後に決められた角度で移動するのではなく、移動したい位置を元に角度を算出してみましょう。+最後に逆運動学で各アクチュエータの角度を算出してみます。~ 
 + 
 +[[次のチャプターへ>FDIIICHAPTER10.4]]
-**キネマティック演算 [#h72950e8]+[[FDIII-HC Starter Kit Guide>LEARNINGGUIDE]]へ戻る


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom