インターンシップ最終日(沖野)


沖野です。インターンシップ最終日の今日はティーチングプレイバックのデモを試してみました。

と言っても、「なんちゃってティーチング」をしています。その意味は後に書きます。

まずは CRANE-X7 の手先の位置・姿勢を取得します。インターンシップ3日目に作ったピックアンドプレースのプログラムから、CRANE-X7 の各リンクの座標系の情報を取得する部分だけを取り出してきます。取得した座標系のうち、グリッパの土台に設定されたものだけ使います。

これで CRANE-X7 の手先を目標の位置・姿勢に持っていけば簡易的なティーチングができるわけですが、実際にはそんなに簡単ではありませんでした。この時使っていた CRANE-X7 制御用パッケージでは、下位のコントローラが立ち上がるとサーボモータのトルク出力が自動的に ON になり、CRANE-X7 が基準姿勢を維持するようになっていました。そのため CRANE-X7 を起動すると関節を手で動かせなくなり、ティーチングが出来ません。

そこで、元のコントローラをコピーしてティーチング専用のパッケージを作りました。実際はサーボのトルク出力を許可している部分を強引にオミットしただけのお粗末なものですが…。

そのパッケージを使ってみた様子です。CRANE-X7 を動かすと Rviz 上のモデルも連動して動きます。

 

 

あとはティーチングで教えた手先の位置・姿勢を保存しておき、ピックアンドプレースの実行時にその情報を参照させます。この際、一度 CRANE-X7 の自作コントローラを終了し元のコントローラを起動する必要があります。ティーチングの終了を下位のコントローラに知らせることなくサーボモータのトルクを ON にしたかったので、この方法をとりました。

ところでなぜ「なんちゃってティーチング」と呼んでいたのかというと、ティーチングの際に保存した手先の位置を、プレイバックを実行する python スクリプトの中に手打ちしているからです。ここはファイルを読みに行くようにするだけで解決できるので、目を瞑っていただけると幸いです。

 

適当に置いた箱の位置をティーチングで教えたあと、プレイバックさせてみました。手打ちの温かみを感じる動きですね。

 

これにてインターンシップは終了です。社員の皆様の知識量や開発スピードの速さ、そして何よりロボット作りに対する情熱には驚くばかりでした。5日間という短い時間ではありましたが、貴重な経験となりました。最近下火になっていたものづくりに対する興味も取り戻せた気がします。本当にありがとうございました。