アームロボット研修インターンシップ(沖野)

インターンシップ2日目(沖野)

アームロボット研修

沖野です。2日目の今日はデモプログラムの雛形を作ります。

が、その前に昨日の問題を解決しておく必要があります。いくつかの launch ファイルを覗いてみると、関節角情報が含まれるトピックの名前がデフォルトから変更されていることが分かりました。一方、このトピックを受け取る側ではデフォルトのトピック名を参照するようになっており、そのために関節角の取得に失敗するようです。

とりあえずそのトピックの名前をデフォルトに戻すと、無事エラーが解消されました。(実はこれは最善の解決法ではないのですが…)

 

さて、ここまでの作業でMoveIt!を使って CRANE-X7 を制御できるようにはなりましたが、このままでは GUI を使わないと CRANE-X7 を操作できません。そこで moveit_commander というパッケージを利用して、プログラムから MoveIt! に対して命令できるようにします。

moveit_commander を導入して、CRANE-X7の手先の位置・姿勢の目標値を与えてみました。目標位置は (x, y, z)=(0.1, 0.1, 0.5) にしました。姿勢は初期姿勢のままにしています。

これで、例えばカメラで撮影した画像から物体の位置を取得し、その場所まで手先を動かして物体を掴む、というシステムも作ることができます。

 

最後に actionlib を導入しておきます。acitonlib を使うことによって、実行中のタスクの進捗状況を逐次受け取ったりタスクを途中でキャンセルするような機能を簡単に実装できます。例えばMoveIt! と連携させた場合は、手先が最終的な目標位置に移動するまでにどのような経路を辿ったのかという情報などを逐次受け取ることができます。

actionlib まで導入した状態で、CRANE-X7 実機を動かしてみました。

タイトルとURLをコピーしました