8月の始め、colcon buildでエラーが出てROS2の勉強を放置していました。
何度かのupdateでsetup.pyがどうとかいうエラーはなくなった模様です。
yoshi@yoshi:~/ros2_ws$ source /opt/ros/jazzy/setup.bash
yoshi@yoshi:~/ros2_ws$ colcon build --packages-select vl53l1x
Starting >>> vl53l1x
Finished <<< vl53l1x [9.67s]
Summary: 1 package finished [9.83s]
yoshi@yoshi:~/ros2_ws$ source ~/ros2_ws/install/setup.bash
not found: "/home/yoshi/ros2_ws/install/lely_core_libraries/share/lely_core_libraries/local_setup.bash"
lely_core_librariesというのは、CANopen用のライブラリのようで、いつ?インストールしたのか記憶があいまい。
調べたことはあるのだけれど。
jazzyのアンインストール
一度消しますね。
$ sudo apt install plocate
$ sudo updatedb
$ plocate jazzy
たくさんのファイルが表示されます。
sudo apt remove ~nros-jazzy-*
sudo apt autoremove
sudo apt upgrade
sudo apt-get purge ros-jazzy-ros-base
sudo apt-get purge ~nros-jazzy-*
rm -rfv ~/.ros
rm -rfv ~/.config/ros.org
$ plocate jazzy
まだたくさん表示されるが、影響がないものとして無視することにした。
sudo reboot
$ sudo apt update
$ sudo apt upgrade
変わりませんでした。
大元を調べました。
yoshi@yoshi:~/ros2_ws/install/lely_core_libraries/share/lely_core_libraries$ cat ./package.bash
の中に、
# source bash hooks
_colcon_package_bash_source_script "$COLCON_CURRENT_PREFIX/share/lely_core_libraries/local_setup.bash"
という記述がありました。hookした?ようです。で、local_setup.bashはないのです。
canopen関連のフォルダを削除(GUI)しました。
そしたら、パッケージの登録、
yoshi@yoshi:~/ros2_ws$ source ~/ros2_ws/install/setup.bash
では、エラーが出なくなりました。
環境
- Raspberry Pi 5 8GB
- 追加ボード;NVMe Base for Raspberry Pi 5 (NVMe Base by Pimoroni)
- Crucial クルーシャル P2シリーズ 500GB 3D NAND NVMe PCIe M.2 SSD CT500P2SSD8
- Ubuntu Desktop 24.04LTS(64-bit)
- ROS2 Jazzy
動作確認
ToF距離センサVL53L1Xのpubliser側です。
パッケージを実行します。
yoshi@yoshi:~$ ros2 run vl53l1x vl53l1x_node
ラズパイ側でターミナルを開き、可視化ツールを起動します。リフレッシュしたら、Publishしている様子が表示されました。
$ source /opt/ros/jazzy/setup.bash
$ rqt_graph
ビルドの動作確認ができました。
VL53L1Xのsubscriber側のプログラムです。
Windows10でもう一つsshでログインします。
$ source /opt/ros/jazzy/setup.bash
$ cmake -S . -B build
$ cd build
$ make
$ ./sub002
start subscribe VL53L1X vl53l1x/range
実行すると、VL53L1Xのpubliserのrangeデータをsubscribeします。
可視化ツールをリフレッシュします。
ROS2の勉強を再開します。