検索
連載

ROS 2を用いたロボットの実機とシミュレーションによるデジタルツイン連動の実践ROSの進化とデジタルツインの可能性(後編)(4/5 ページ)

ロボットプラットフォームとして知られる「ROS」の需要が高まり続けている。本稿では前後編に分けて、ROSの進化とデジタルツインの可能性について考察する。後編では、ROSのデジタルツイン活用の事例として、ROS 2を実装したロボットの実機とシミュレーションの連動について紹介する

Share
Tweet
LINE
Hatena

4.Isaac Sim上のLiDARによるロボットの停止同期

 次に、デジタルツインのシミュレーションからのフィードバックとしてIsaac Sim上のTurtlebot3にLiDAR(Light Detection and Ranging、ライダー)を設定し、障害物に近づいた時にロボットを停止させる挙動を作成する。

4.1. LiDARの設定

(1)ROS2 Bridgeを有効にし「2.2.3 Isaac SimとROSの連携」で作成したTurtlebot3のUSDファイルを開く。

(2)オブジェクト一覧の「Turtlebot3_burger」下の「base_scan」を選択し、左上のメニューから“Create>Isaac>Sensors>Lidar>Rotating”を選択し、“Lidar”というオブジェクトを追加する(図20)。

図20
図20 オブジェクトの“Lidar”を追加する

(3)Lidarの「Property」群の「Raw USD Properties」は下図のようにパラメータを設定する(図21)。

図21
図21 「Raw USD Properties」のパラメータを設定する

(4)ROS 2トピックとして出力するため、「Action Graph」を設定する。

 「Action Graph」は「2.2.3 Isaac SimとROSの連携」の(2)で作成したものにノードを追加して使用する。

 既存Action Graphは図22のように開くことができる

図22
図22 既存のAction Graphの開き方
  • 追加するノード(図23
    • Isaac Read Lidar Beams Node:Isaac SimのLidarパラメータを設定するノード
    • Isaac Read Simulation Time:Isaac Sim上の時間を出力ノード
    • ROS2 Publish Laser Scan:センサーをROSトピックとして出力するノード
図23
図23 追加する3つのノード[クリックで拡大]

(5)各ノード設定の「Property」を図24のように変更する。

  • ROS2 Publish Laser Scan「Inputs」-「topicName」:“scan_sim”と入力
  • Isaac Read Lidar Beams Node「Relationships」-「inputs:lidarPrim」:Lidarのオブジェクトを指定
図24
図24 各ノード設定の「Property」を変更する

 別のターミナルでリスト10のように“ros2 topic list”と入力すると、トピック一覧として“/scan_sim”が表示されることが確認できる。

$ ros2 topic list
/cmd_vel
/parameter_events
/rosout
/scan_sim
リスト10 別のターミナルで“ros2 topic list”と入力する

 USDファイルを保存してIsaac Simを閉じる。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る