1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VMware上のUbuntu 22.04にROS2を入れてOpen-RMFデモを動かしてみた(Open-RMF導入編)

Last updated at Posted at 2024-05-02

前回の記事

前回はROS2導入までの準備をしました。
VMware上のUbuntu 22.04にROS2を入れてOpen-RMFデモを動かしてみた(ROS2導入編)

今回はOpen-RMFを導入したいと思います。

手順

  1. ホストOS(Windows11)準備
  2. ゲストOS(Ubuntu 22.04(LTS))準備
  3. ROS2導入
  4. Open-RMF導入 ←今回はここの内容
  5. デモ操作

思いのほか長くなりそうだったので、いくつかの記事に分割しています。

VMware上のUbuntu 22.04にROS2を入れてOpen-RMFデモを動かしてみた(準備編)
VMware上のUbuntu 22.04にROS2を入れてOpen-RMFデモを動かしてみた(ROS2導入編)
VMware上のUbuntu 22.04にROS2を入れてOpen-RMFデモを動かしてみた(Open-RMF導入編)
VMware上のUbuntu 22.04にROS2を入れてOpen-RMFデモを動かしてみた(デモ操作①)

4.Open-RMF導入

公式を参考にOpen-RMFを導入していきます。
https://github.com/open-rmf/rmf

今回は「Binary installation」の方法でOpen-RMFを導入していきます。
(この方法が推奨されていたので、方法的に一番固いやり方と思っています。)

セットアップ

Open-RMFを導入する前のセットアップを行います。
今回はデモを動かしたいので、「flask-socketio,fastapi,uvicorn」は導入します。

sudo apt update && sudo apt install \
  python3-pip \
  curl \
  python3-colcon-mixin \
  ros-dev-tools \
  -y

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

# These pip packages are only used by rmf_demos which are not released as binaries
python3 -m pip install flask-socketio fastapi uvicorn

rosdepを初期化しておきます。

sudo rosdep init # run if first time using rosdep.
rosdep update

colcon mixinを未導入の場合は実施下記実施しておきます。

colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
colcon mixin update default

Open-RMFの導入

導入の方法は色々紹介されていますが、「Building from source」ではなく、「Binary installation」でインストールしていくこととします。

下記コマンドでインストールします。distroは「humble」とします。

sudo apt update && sudo apt install ros-humble-rmf-dev

ワークスペースを作成し、ビルドします。

mkdir ~/rmf_ws/src -p
cd ~/rmf_ws/src
git clone https://github.com/open-rmf/rmf_demos.git -b 2.0.3
cd ~/rmf_ws
colcon build

ビルドの最後に微妙にwarningが出たりしました。
問題あるかどうかはこの後、デモ動かしながら確認していこうと思います。

ログ(一部抜粋)



---
Finished <<< rmf_demos_maps [29.4s]
Starting >>> rmf_demos
Finished <<< rmf_demos [1.59s]                    
Starting >>> rmf_demos_gz
Starting >>> rmf_demos_gz_classic
Finished <<< rmf_demos_gz [1.38s]                                                               
Finished <<< rmf_demos_gz_classic [1.44s]

Summary: 10 packages finished [33.1s]
  1 package had stderr output: rmf_demos_maps

ubuntu@ubuntu2204:~/rmf_ws$ 

ちなみに、同じ設定の環境で「Building from source」も試しましたが、これより多くのwarningが出たため、「Binary installation」の方が方法としては固いと思っています。

ログ(一部抜粋)
2 warnings generated.

---

Finished <<< rmf_fleet_adapter_python [1min 59s]
Starting >>> rmf_demos_fleet_adapter
Finished <<< rmf_demos_fleet_adapter [1.66s]                     
Starting >>> rmf_demos
Finished <<< rmf_demos [2.01s]                             
Starting >>> rmf_demos_gz
Starting >>> rmf_demos_gz_classic
Finished <<< rmf_demos_gz [2.16s]                                                               
Finished <<< rmf_demos_gz_classic [2.21s]                             

Summary: 59 packages finished [2h 7min 52s]

  21 packages had stderr output: ament_cmake_catch2 menge_vendor nlohmann_json_schema_validator_vendor rmf_api_msgs rmf_building_sim_common rmf_building_sim_gz_plugins rmf_demos_dashboard_resources rmf_demos_maps rmf_fleet_adapter rmf_fleet_adapter_python rmf_robot_sim_gz_plugins rmf_task rmf_task_ros2 rmf_task_sequence rmf_traffic rmf_traffic_editor rmf_traffic_editor_test_maps rmf_traffic_ros2 rmf_visualization_rviz2_plugins rmf_visualization_schedule rmf_websocket

ubuntu@ubuntu2204:~/rmf_ws$ 

次の章で実際にデモを動かしてみようと思います。

←←VMware上のUbuntu 22.04にROS2を入れてOpen-RMFデモを動かしてみた(ROS2導入編)

→→VMware上のUbuntu 22.04にROS2を入れてOpen-RMFデモを動かしてみた(デモ操作①)

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?