-
Notifications
You must be signed in to change notification settings - Fork 32
CHOMP and STOMPの使い方
この文章は,Ubuntu 14.04,ROS Indigo向けです. CHOMPを使う場合,moveitを自分でビルドする必要があります(まだapt経由でインストールされるmoveitでは上手に動作しない).
STOMPを使う場合,ROS-Iが開発しているindustrial_moveitを引っ張ってきてビルドする必要があります. 今回はどちらも導入するための手順をメモしておきます.
moveit
とindustrial_moveit
のソースをcloneしてくる.ビルドに必要な依存パッケージも同様にcloneしてきます.
wstool
を本来使ってぜんぶ持ってくればいいのですが,今回はメモのためわざと自分で引っ張ってくるようなコマンドを書いておきます.
これ以降の操作はmotoman_projectのインストール手順を終えたあとのことを書いています.
git clone https://github.com/ros-planning/moveit.git
cd moveit
git branch indigo-devel origin/indigo-devel
git checkout indigo-devel
git clone https://github.com/ros-planning/moveit_msgs.git
cd moveit_msgs
git branch indigo-devel origin/indigo-devel
git checkout indigo-devel
git clone https://github.com/ros-planning/moveit_resources.git
git clone https://github.com/ros-planning/srdfdom.git
cd srdfdom
git branch indigo-devel origin/indigo-devel
git checkout indigo-devel
最新版のmoveitのmoveit_experimental
とパッケージ名が競合するので削除したものを西田研究室でforkしているのでそれを持ってくる.
git clone https://github.com/Nishida-Lab/industrial_moveit.git
cd industrial_moveit
git branch delete_moveit_experimental origin/delete_moveit_experimental
git checkout delete_moveit_experimental
これでcatkin_make
するだけ.
motoman_project/motoman_sia5_moveit_config/launch/move_group.launch
の46行目からの
<!-- Planning Functionality -->
<include ns="move_group" file="$(find motoman_sia5_moveit_config)/launch/planning_pipeline.launch.xml">
<arg name="pipeline" value="$(arg planning_config)" />
<arg name="ompl_config" value="$(arg ompl_config)" if="$(arg use_ompl)" />
<arg name="use_ompl" value="$(arg use_ompl)"/>
</include>
基本的に引数のpipeline
にompl
orstomp
orchomp
の文字列を突っ込んでるだけ.
motoman_sia5_moveit_config/launch/chomp_planning_pipeline.launch.xml
と
motoman_sia5_moveit_config/launch/stomp_planning_pipeline.launch.xml
を追加しています.
先ほどのplanning_pipeline.launch.xml
によって読みに行くファイルを変えています.
STOMPは追加の引数が必要なので
motoman_project/motoman_sia5_moveit_config/launch/move_group.launch
の79行目にこれを追加しています.
<param name="collision_detector" value="IndustrialFCL" if="$(arg use_stomp)" />
motomanにD-handが装備されているモデルを例に示します.
いつもmoveitを利用するときにlaunchファイルであるmotoman_project/motoman_moveit/launch/sia5_with_dhand_moveit_planning_execution.launch
を調整します.
<!-- Choose planner [ompl|chomp|stomp] -->
<arg name="planning_config" default="ompl"/>
<!-- If you choose ompl, "use_ompl" is true. -->
<arg name="use_ompl" default="true"/>
<!-- If you choose stomp, "use_stomp" is true. -->
<arg name="use_stomp" default="false"/>
2行目でompl
,chomp
,stomp
どれがいいかを書く.
もしomplを使うなら4行目をtrue
に,それ以外のプランナーを使うならfalse
に.
もしstompを使うなら...同じ要領で調整してください.
これで設定は終了.
issueに書いているので,エラーが起こった場合は確認してみてください.
CHOMPプランナーにおけるFailed to call service get_planning_sceneについて
https://github.com/Nishida-Lab/motoman_project/issues/78
画像をクリックするとYoutubeに飛びます.
画像をクリックするとYoutubeに飛びます.