はじめに
この記事はIsaac Simの入門として,ロボットにセンサを追加することを目標としている.前回からの続きである.
こちらが参考にした資料である.
Isaac Simは使用者が少なく記事も少ないが,その分公式ドキュメントが非常に充実している.この記事は公式の上記サイトの日本語版という位置づけでまとめようと思う.上記サイトは英語ではあるが入門から発展まで学べるコース形式となっており,自分で学ぶ分には無料なので,非常におすすめである.
環境
| 項目 | 仕様 |
|---|---|
| メモリ | 32.0 GiB |
| CPU | Intel i7-14700F @ 5.300GHz |
| GPU | NVIDIA GeForce RTX 5080 |
| OS | Ubuntu 22.04.5 LTS 64ビット |
| Isaac Sim | 5.1.0 |
SimpleRobotの準備
SimpleRobotを右クリックして,Create > XformからXformを作成

Front_Sensorの位置を前方に移動する.センサの位置はとても重要である.
Cubeの形状から,以下のように設定するとちょうど前方の角の中心にFront_Sensorが来る.

Front_Sensorを右クリックしてAdd > Physics > Rigid Bodyを追加する.

xfromにRigid Bodyを追加できないとき,以下を試す
- すべての子primをXform下から移動
- 子primが削除されたらもう一度Rigid Bodyが追加できないか試す.
- Rigid Bodyが追加できたら,子primを元に戻す
Cubeを選択し,Ctrlキーを押しながらFront_Sensorを選択し,Create->Physics->Joint->Fixed JointからFixed Jointで固定する.

センサの位置をわかりやすく表示させるため,Cubeを追加する.
Front_Sensorを右クリックして,Create > Mesh > Cubeから追加し,大きさは(0.1, 0.1, 0.1)としておく.
少し張り出すように座標も調整する.


RGBセンサの追加
CubeをSensor_Mountにリネームする.
Sensor_MountにColliders_PresetをAdd > Physics > Colliders Presetから追加する.このステップにより,Sensor_Mountが適切に物理シミュレーションと相互作用をすることができる.

Sensor_Mountを右クリックして,Create > Cameraを選択し,RGBセンサを追加する.


上の画像を見ると,カメラの視野がロボットに対してY軸周りに反対なので,OrientのYに-90を指定する.

Cameraを「Robot_Camera」とリネームし,カメラの座標系がCamera_Mountキューブの端に来るように位置も指定する.Xに0.5を指定すると,ちょうどキューブの最前面の中心に来る.

カメラ映像を確認する.上のPerspectiveをCameras > Robot_Cameraに変更することで,カメラ映像を確認できる.

色々なPrim(キューブや円柱など)をワールドに追加して本当にセンサから見えるか確認する.Create > Shapeから追加する.また物体に対してPhysicsもAdd > Physycis > Rigid Body with Colliders Presetから追加しておく.

Playボタンを押してカメラを通して物体が見えるか確認する.今回は角速度を与えて全体を見回してみた.カクカクした動きなのは4輪なのでうまく回る構造でないからである.

LiDARセンサの追加
Front_Sensor xformをクリックしてCreate > Sensors > PhysXLidar > Rotatingを追加する.これで2DLiDARを追加できる

**シミュレーションがStopしていることを確認して,**LiDARを選択してプロパティを「Raw USD Properties」までスクロールし,「Draw Lines」と「Draw Points」にチェックを入れる.

LiDARのレイが車輪にあたってしまっているので,調整する.LiDARの位置のZを0.2まで上げるとレイが車輪によって止まることはなかった.また,分かりやすさのためにrotationRateも1にしてレイが1秒一周するようにした.



次回


