NVIDIA Isaac Sim: MoveItの使用
概要
Isaac Sim上でFrankaを配置し、Moveitを用いてRobotを動かします。
Issac Simのtutorialに上記の内容が記載されており、この内容に沿って進めます。
実行環境
- インストール実行環境
unit | specification |
---|---|
CPU | i9-11900H |
GPU | GeForce RTX 3080 Laptop |
RAM | 32GB |
OS | Ubuntu 20.04.3 LTS |
- Nvidia Driverバージョン
- 510.39.01
- Issac simバージョン
- 2021.2.1
手順
Isaac Sim上でFrankaを配置し、Moveitを用いてRobotを動かします。
moveitはros側から実行し、rviz上でmoveitを使用します。
- moveitのインストール
- シーンのロード
- moveitの実行
- トラブルシューティング
1. moveitのインストール
1.1 moveitをインストールする
terminalで次のコマンドを実行します。
$ sudo apt-get install -y ros-noetic-moveit
2. シーンのロード
2.1 OmniverseからIssac Simを起動する
2.2 シーンをロードする
メニューバーのIsaac Examples > ROS > MoveItを選択します。
この状態で、Viewportの左側のPLAYボタンを押します。
3. moveitの実行
新たにterminalを開き、次のコマンドを入力します
$ cd ~/.local/share/ov/pkg/isaac_sim-2021.2.1/ros_workspace/
$ source devel/setup.bash
$ roslaunch isaac_moveit franka_isaac_execution.launch
最後のコマンドを実行すると、rvizが立ち上がります。
rviz上で、左側にある”ADD”をクリックし、ポップアップしたWindowの中から”MotionPlaning”を選択します。
rviz上で、左下にある”MotionPlanning”の”PlanningGroup”を”panda_arm”に変更します。
rviz上でArmの姿勢を変更し、”MotionPlanning”のPlan > Executeを選択すると、Isaac Sim上で動作することを確認できます。
トラブルシューティング
次のコマンドを実行する際にエラーが発生し、実行できないことがありました。
$ roslaunch isaac_moveit franka_isaac_execution.launch
エラー内容は次の通りです。
このエラーはFrankaのPackageに含まれているlaunchのエラーであり、[該当launchファイル(https://answers.ros.org/question/384900/failed-to-lunch-this-command/
https://github.com/ros-planning/panda_moveit_config/blob/noetic-devel/launch/planning_context.launch)のエラー箇所を修正することで解決できました。
こちらを参考にしました。
まず、frankaのpackageをクローンします。
$ cd ~/.local/share/ov/pkg/isaac_sim-2021.2.1/ros_workspace/src/
$ git clone git@github.com:ros-planning/panda_moveit_config.git
エディタで該当launchファイルを開き、コードを変更します。
変更部分は11行目です。元の部分を次の内容に置き換えます。
<param if="$(eval arg('load_robot_description') and arg('load_gripper'))" name="$(arg robot_description)" command="$(find xacro)/xacro '$(find franka_description)/robots/panda_arm.urdf.xacro' hand:=true"/>
buildすると、実行できるようになります。
$ cd ~/.local/share/ov/pkg/isaac_sim-2021.2.1/ros_workspace/
$ catkin b
$ source devel/setup.bash
$ roslaunch isaac_moveit franka_isaac_execution.launch
Discussion