本シリーズ前回の記事「ROS-O で ROS1 を使う – インストール」では ROS-O のインストール手順について説明しました.
今回の記事では ROS-O における ROS1 パッケージのビルドと実行について説明します.
本記事では Ubuntu のバージョンは次の2つとし,また ROS-O が既にインストールされている状態を前提としています.
ROS-O におけるビルドと実行と言っても基本的には従来の ROS1 と手順は同じです.
本記事では ROS-O におけるパッケージビルドを 光近接センサモジュール WrPPS Single Board の ROS1 パッケージ wrpps_ros を例に手順を追って行きます.
wrpps_ros は元々 Ubuntu 20.04 + ROS Noetic での動作を前提としていました.
Ubuntu 22.04 および 24.04 の ROS-O で動作確認したところソースコード自体の変更は必要なく,インストール手順で新しいバージョンの Ubuntu や ROS-O パッケージに対応したコマンド内パスの変更や 非ROS ソフトウェアパッケージの追加インストールが必要なだけでした.
これらの Ubuntu 22.04 および 24.04 と ROS-O におけるインストール手順の追記は既に wrpps_ros の README に反映されています.
インストール手順の内 ROS とは関係ない部分ですが Set up Arduino IDE の Arduino IDE ソフトウェアのインストール時に Ubuntu 22.04 と 24.04 での追加対応が必要な点がありました.
まず,Arduino IDE ソフトウェアをダウンロードします.
AppImage からインストールするための libfuse2 ライブラリをインストールします.ただし Ubuntu 24.04 の場合はライブラリ名が libfuse2t64 となります.
Terminal: Ubuntu 22.04 の場合
sudo apt install libfuse2
Terminal: Ubuntu 24.04 の場合
sudo apt install libfuse2t64
--no-sandbox オプションを付けて AppImage を実行してインストールします.
Terminal:
cd ~/Download chmod a+x arduino-ide_2.3.8_Linux_64bit.AppImage ./arduino-ide_2.3.8_Linux_64bit.AppImage --no-sandbox
ポストインストールスクリプトを取得して実行します.
( Run Arduino Post Install Script – wrpps_ros )
Terminal:
cd ~/Download chmod a+x post_install.sh sudo ./post_install.sh
( Clone and Build wrpps_ros and FA-I-sensor packages – wrpps_ros )
ソースコードの取得とビルドに必要なパッケージ,git と catkin tools を apt でインストールします.
Terminal:
sudo apt install git python3-catkin-tools
ROS ワークスペースの作成してソースコードの取得とビルドを行います.
Terminal:
source /opt/ros/one/setup.bash mkdir -p ~/wrpps_ws/src cd ~/wrpps_ws/src git clone https://github.com/tork-a/wrpps_ros.git git clone https://github.com/RoboticMaterials/FA-I-sensor.git cd ~/wrpps_ws rosdep install -r -y --from-paths src --ignore-src catkin build source ~/wrpps_ws/devel/setup.bash
rosserial の Arduino ライブラリを取得作成します.
( Make rosserial Arduino Libraries – wrpps_ros )
Terminal:
sudo apt update sudo apt install ros-one-rosserial-arduino sudo apt install ros-one-rosserial source ~/wrpps_ws/devel/setup.bash cd ~/Arduino/libraries rm -rf ros_lib rosrun rosserial_arduino make_libraries.py .
WrPPS Single Board 用スケッチがアップロードされていいない Arduino の場合は Upload WrPPS Sketch to Arduino の手順で Arduino IDE ソフトウェアを利用してアップロードします.
光近接センサモジュール WrPPS Single Board を対応 Arduino ボード経由で上記ビルドやインストールをした Ubuntu PC に接続します.本記事では Arduino WrPPS スケッチはアップロード済として進めます.
( Usage – wrpps_ros )
Terminal 1: 入力コマンド
source ~/wrpps_ws/devel/setup.bash roslaunch wrpps_ros wrpps_single_board.launch
Terminal 2: 入力コマンド
source ~/wrpps_ws/devel/setup.bash rostopic echo /wrpps_single_board/driver/output/range_tof
Terminal 2: 出力例(近接距離のトピック出力)
$ rostopic echo /wrpps_single_board/driver/output/range_tof
header:
seq: 1015
stamp:
secs: 1754966728
nsecs: 463486433
frame_id: "wrpps_single_board_tof_frame"
radiation_type: 1
field_of_view: 0.4399999976158142
min_range: 0.029999999329447746
max_range: 2.0
range: 8.190999984741211
---
:
:
:
---
header:
seq: 1223
stamp:
secs: 1754966733
nsecs: 501786708
frame_id: "wrpps_single_board_tof_frame"
radiation_type: 1
field_of_view: 0.4399999976158142
min_range: 0.029999999329447746
max_range: 2.0
range: 0.07100000232458115
---
header:
seq: 1224
stamp:
secs: 1754966733
nsecs: 526211977
frame_id: "wrpps_single_board_tof_frame"
radiation_type: 1
field_of_view: 0.4399999976158142
min_range: 0.029999999329447746
max_range: 2.0
range: 0.07000000029802322
---
header:
seq: 1225
stamp:
secs: 1754966733
nsecs: 550466775
frame_id: "wrpps_single_board_tof_frame"
radiation_type: 1
field_of_view: 0.4399999976158142
min_range: 0.029999999329447746
max_range: 2.0
range: 0.0689999982714653
---
:
:
:
動作確認できたら各ターミナルを Ctrl-C で停止します.
以上のように ROS-O を用いることで元々 Ubuntu 20.04 + ROS Noetic 向けだった wrpps_ros パッケージが新しい Ubuntu 22.04 や Ubuntu 24.04 でも利用できる様子を見ていただけたのではないかと思います.
source /opt/ros/one/setup.bash今回の記事はここまでです.
本シリーズ次回の記事では ros1_bridge を用いた ROS-O と ROS2 の併用方法について説明する予定です.
コメントを投稿するにはログインしてください。
著者について