NVIDIA Isaac Sim: CameraのROS Topicを発行する
概要
Isaac Sim上に配置したカメラにおける画像をros topicとして発行します。
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上でTurtlebot3のURDFをロードし、ROSのTopicから車輪の速度指令値を発行し、TurtleBot3を動かします。
- シーンのロード
- ROS Cameraの追加
- Topicの確認
1. シーンのロード
1.1 OmniverseからIssac Simを起動する

1.2 シーンをロードする
Isaac Simの下部にあるContentの中から、Isaac > Samples > ROS > Scenario > simple_room_apriltag.usd.をダブルクリックします。

2. ROS Cameraの追加
2.1 camera_1用のROS Cameraを追加する
メニューバーのCreate > Isaac > ROS > Cameraを選択します。

右側のStageの中で、追加したROS_Cameraを選択します。

選択した状態で、Stage下部のpropertyのRaw USD propertiesを開きます。

Raw USD propertiesの中で、cameraPrimを選択し、Stageの中の/world/Camera_1を選択します。

新たにterminalを開き、roscoreを起動します。

この状態で、Viewportの左側のPLAYボタンを押すと、各種topicが発行されます。
また、新たにterminalを開き、次のコマンドを入力します。
$ rosrun rqt_image_viewer rqt_image_viewer
topicに/rgbを選択すると、カメラからの画像を取得することができます。

2.2 camera_2用のROS Cameraを追加する
次に2つ目のカメラのROS Cameraを追加します。
操作方法は1つ目のカメラと同様です。
まず、メニューバーのWindow > New Viewport windowを選択します。

ポップアップしたWindowを1つ目のViewportの隣に追加します。

追加した2つ目のViewportのカメラアイコンをdクリックし、Camera_2を選択します。

メニューバーのCreate > Isaac > ROS > Cameraを選択します。

右側のStageの中で、追加したROS_Cameraを選択します。
選択した状態で、Stage下部のpropertyのRaw USD propertiesを開きます。
Raw USD propertiesの中で、cameraPrimを選択し、Stageの中の/world/Camera_2を選択します。


新たにterminalを開き、次のコマンドを入力します。
$ rosrun rqt_image_viewer rqt_image_viewer
topicに/rgb2を選択すると、カメラからの画像を取得することができます。

2.3 Depth画像の発行
右側のStageの中で、ROS_Camera_01を選択します。
選択した状態で、Stage下部のpropertyのRaw USD propertiesを開きます。
depthEnabledにチェックを入れます。

新たにterminalを開き、次のコマンドを入力します。
$ rosrun rqt_image_viewer rqt_image_viewer
topicに/depthを選択すると、カメラからのdepth画像を取得することができます。

Discussion