NVIDIA Isaac Sim: 2輪ロボットモデルを動かす(GUI)
概要
Nvidia Isaac simのGUIの機能を使用し、簡単な2輪ロボットのモデルを動かします。
Isaac 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
手順
大まかな手順は次の通りです。
- 2輪ロボットモデルにJoint設定を追加
- 2輪ロボットにJointDriveを追加
1. 2輪ロボットモデルにJoint設定を追加
こちらのページに記載してある手順を進めます。
1.1 OmniverseからIssac Simを起動する
1.2 シーンをロードする
以前作成した2輪のロボットモデルをロードします。
シーンファイルはこちらからダウンロードできます。
メニューバーのFile > Open を選択します。
該当ファイルを選択し、シーンをロードします。
1.3 Primの追加
シーン内にPrimを追加します。Primはコンテナオブジェクトであり、Stageの中に名前空間を作ることができます。
右側のStageタブの中で右クリックし、Create>Xformを選択します。
追加したXformを右クリックし、Renameを選択します。
名称は次の名称に変更します。
- mock_robot
右側のStageタブの中で、CubeとCylinders, Physics Material, Looksフォルダーを選択し、mock_robotの下にドラッグアンドドロップで移動させます。
移動後、CubeとCylindersをそれぞれ右クリックし、次の名称にrenameします。
- cube > body
- cylinders > wheel_left
- cylinders_01 > wheel_right
1.4 Jointの追加
BodyとWheel間にJointを追加します。
右側にあるStageの中で、”wheel_left”を選択します。
選択した状態で、Ctrl+Shiftを押しながら、bodyを選択します。
右側のStageタブの中で右クリックし、Create > Physics > Joints > Revoluteを選択します。
Bodyの下のRevoluteJointを右クリックし、renameします。
- RevoluteJoint > wheel_joint_left
右側のStageタブの中で、wheel_joint_leftを選択します。
選択した状態で、右下にあるPropertyの中から、次の値を変更します。
- AxisをYにする
- Local Rotation 1のXを-90にする
左タイヤに対して行ったJointの設定を右タイヤについても同様に行います。
各wheelの設定完了後、右側のツールバーのシミュレーションstartボタンを押すと、関節関係が保たれたまま、重力がかかり落下することを確認します。
2. Joint Driveの追加
Jointを制御するための設定を追加します。
右側のStageタブの中で、wheel_joint_leftとwheel_joint_rightを選択します。
選択した状態で、右下のPropertyの”+Add”をクリックし、Physics > Angular Driveを選択します。
それぞれのJointにおいて、ダンパと指令各速度値を設定します。
右側のStageタブの中で、wheel_joint_leftを選択します。
選択した状態で、右下のPropertyの中のDrive >Angularの次の値を変更します。
- Dampingを1e4にする
- Target Velocityを2000にする
wheel_joint_rightにおいても同様の手順を行い、ダンパと指令各速度値を設定します。
両方のWheelにおいて設定が完了し、左側のツールバーのシミュレーションStartボタンを押すと、ロボットが進むことを確認します。
Discussion