はじめに
本記事はROS2アドベントカレンダーの17日目の記事です。
なにをしたか
以下のような、人が動く環境をGazeboで試してみました。
環境
以下の環境で動作しています。
項目 | バージョン |
---|---|
Windows | 10 |
WSL | 2 |
Ubuntu | 20.04 |
ROS2 | Foxy |
参考リポジトリ
以下がGazebo環境のROSパッケージです。
galactic対応とのことでしたが、foxyでも動作しています。
また、人が動くモデル自体は以下のソフトウェアをインストールします。
SFM(Social Force Model)というモデルで人が動いています。
インストール
SFMライブラリのインストール
以下のコマンドを実行します。
$ git clone https://github.com/robotics-upo/lightsfm.git
$ cd lightsfm
$ make
$ sudo make install
Gazeboプラグインのインストール
$ cd {your_ros2_ws}/src
$ git clone -b galactic https://github.com/robotics-upo/gazebo_sfm_plugin.git
$ cd {your_ros2_ws}
$ colcon build --packages-select gazebo_sfm_plugin
実行
以下で実行します。
※同じターミナルで続けて作業する場合は実行前にinstall/setup.bash
を実行する必要があります。
# 環境変数の読み込み
$ source /usr/share/gazebo/setup.bash
# 起動
$ ros2 launch gazebo_sfm_plugin cafe_ros2.launch.py
Gazeboの画面が立ち上がれば成功です!
おわりに
実は以下のツイートとROBOTIS JapanのGitHubリポジトリにインスピレーションを得て試してみました。
ROS2でもSFM自体は動いたのでTurtlebot3も召喚することができたらなーと目論んでいます。
参考
せっかくなので、Social Force Modelについての参考文献(サイト)を載せておきます。