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


沖野です。今日はデモプログラムの中身を作ります。

昨日の段階で、 CRANE-X7 の手先を目標位置に動かすところまでできました。あとは CRANE-X7 に実行させたいモーションを作るだけ…なのですが、その前にプログラムの (actionlib を使っている箇所の) 構造を簡単に説明しておきます。なお、この構造は WidowX Robot Arm 用 ROS パッケージ(https://github.com/Interbotix/widowx_arm)を参考にしています。

 

今回のデモプラグラムではピックアンドプレース作業を行うシステムを想定します。ピックアンドプレースのモーションは全て actionlib server が持っており、actionlib client からは見えないようになっています。client は server に対し、「把持対象物(オブジェクト)を移動させろ 」と指令を出すだけです。

もしこのデモプログラムにカメラを組み合わせたいという要求があれば、画像処理用 actionlib server を立て、client にその新しい server の存在を知らせます。その他の機能を実装したい時も同様に、新しい server を追加していくことになります。

 

actionlib server にモーションを書いてシミュレートしてみました。オブジェクトを掴みに行って(画像1枚目)、目的の場所に移動させます(2枚目)。カメラも何もないので、オブジェクトの位置などは予め適当に決めています。

 

 

先ほどシミュレーションで行ったタスクを実機でも試してみました。3D プリンタで出力した箱を移動させています。

せっかくの7自由度アームなので、余った自由度を利用した制御なんかができると面白そうですね。