Moveit! Setup Assistant を使って簡単に Moveit! する
Moveit! Setup Assistant を使って簡単に Moveit! する記事です.
この記事は ROS Advent Calendar 2018 の19日目の記事です. (自身がQiitaのアカウントを所持していないため, こちらへの投稿になります.)
はじめに
プログラムを1字も書かずに, 最低限の設定で Moveit! する方法を書いています.
詳しい解説などがある公式のチュートリアルはこちらになります.
環境
の構成となっています.
Moveit!
Moveit! について
Moveit! はRobot Operating System (ROS) 上で動作する, 関節ロボットの動作計画を行うためのアプリケーション群です.
カメラと連携して障害物回避ができたり, あるいはエンドエフェクタの軌道追従をさせたりできます.
逆運動学ソルバや動作プランナが標準で数種類用意されており, またプラグイン等での追加も可能です.
準備
インストール
ROSはros-kinetic-desktop-full
がインストール済みの状態を想定しています.
sudo apt install ros-kinetic-moveit
モデルファイルの準備
URDF形式(.urdf
または.urdf.xacro
)のものを用意します.
こちらも詳しくはこちらをご確認ください.
使う
モデルファイルの読み込み
Create New Moveit Configuration Package
を選択し, Browse
からファイルを選択しします.
今回はWAREC-1のモデルを利用します.
右下のLoad
ボタンを押すとモデルが読み込まれ, 右側にプレビューが表示されるようになります.
衝突判定の最適化
無駄な衝突判定が実行されないように調整します.
上欄のサンプリング密度だけ設定し, Generate Collision Matrix
を押せば大丈夫です.
グループ化
個々の関節をグループ化します.
Add Group
から名前と逆運動学ソルバ等を設定し, 関節を選択すればグループ化ができます.
エンドエフェクタの設定
エンドエフェクタを設定します.
Add End Effector
からエンドエフェクタを設定します.
名前, 親となるリンクを指定すればよいです.
メンテナの登録
必須らしいので入れます.
その他の設定
移動ロボットに取り付ける場合のジョイント, ロボットの姿勢, 逆運動学に使用しない関節, カメラ等の設定ができます.
こちらは今回は省略しています.
ファイルの出力
ディレクトリを設定し, Generate Package
を実行すれば完了です.
結果
出力したパッケージをビルドし,
roslaunch (パッケージ名) demo.launch
を実行すれば, もう RViz 上でGUI操作することができます.
楽しい!
おわりに
プログラムを1字も書かずにロボットで遊べます! やったね!