📑

ROS 2 apt installでよく使うpkg一覧とトラブルシュート

に公開

海洋ロボコンをやってた人です。

ROS 2を使用していると、pkgをインストールする機会が幾分あると思います。
そのとき、必要なパッケージがなにか調べたりするのが手間なので、予めよく使うpkgを一覧にしておきたいと思い記載します。

もちろんROS 2環境が壊れたときに泣く泣くROS 2環境を一旦削除してreinstallした後にも、ここで記載したpkg一覧をインストールすれば概ね復元可能な状態になる想定です。(そもそも仮想環境で作れば良い話ですが)

読者想定は、ROS 2 pkgでインストールしておくものを確認しておきたい、shなどで一括インストールできるようにしておきたい方です。

また、install関連でのトラブルシュートも随時更新します。

修正点等あればご遠慮なくご指摘ください。

以下箇条書きになりますが、何卒宜しくお願い致します。

ROS 2 pkgでよく使うもの

descriptionなどで使用するものからセンサ系、シミュレーション系のpkgなどと分けて記載していきます。

apt install -y で指定しているのでYesは黙認されるため、何がインストールされるか中身を確認したいときは-yコマンドを削除して実行してください。

センサ関係

terminal
sudo apt install -y ros-$ROS_DISTRO-cartographer*
sudo apt install -y ros-$ROS_DISTRO-nav2*
sudo apt install -y ros-$ROS_DISTRO-octomap*
sudo apt install -y ros-$ROS_DISTRO-rtabmap*
sudo apt install -y ros-$ROS_DISTRO-realsense2-camera
sudo apt install -y ros-$ROS_DISTRO-pcl*
sudo apt install -y ros-$ROS_DISTRO-tf2*
sudo apt install -y ros-$ROS_DISTRO-aruco*
sudo apt install -y ros-$ROS_DISTRO-imu-filter-madgwick*
sudo apt install -y ros-$ROS_DISTRO-imu-*

tf2のコマンド例は下記

親リンクから子リンクの位置関係を表示

terminal
ros2 run tf2_ros tf2_echo base_link lf_foot_link

#At time 1745374679.205380948
#- Translation: [0.192, 0.367, 0.001]
#- Rotation: in Quaternion [0.664, -0.242, -0.242, 0.665]
#- Rotation: in RPY (radian) [1.570, 0.000, -0.698]
#- Rotation: in RPY (degree) [89.954, 0.000, -40.000]
#- Matrix:
#  0.766  0.001 -0.643  0.192
# -0.643  0.001 -0.766  0.367
# -0.000  1.000  0.001  0.001
#  0.000  0.000  0.000  1.000

コントローラ関係

terminal
sudo apt install -y ros-$ROS_DISTRO-joy-linux
sudo apt install -y ros-$ROS_DISTRO-joy-linux-dbgsym
sudo apt install -y joystick

コマンド例

terminal
ros2 run joy_linux joy_linux_node

シミュレーション関係

terminal
sudo apt install -y ros-$ROS_DISTRO-gazebo*
sudo apt install -y ros-$ROS_DISTRO-gz-ros2-control*
sudo apt install -y ros-$ROS_DISTRO-webots-ros2*
sudo apt install -y ros-$ROS_DISTRO-moveit*
sudo apt install -y ros-$ROS_DISTRO-behaviortree-cpp*

その他

terminal
sudo apt install -y ros-$ROS_DISTRO-joint-state-publisher*
sudo apt install -y ros-$ROS_DISTRO-xacro
sudo apt install -y ros-$ROS_DISTRO-urdf
sudo apt install -y ros-$ROS_DISTRO-ros2-control
sudo apt install -y ros-$ROS_DISTRO-control-msgs
sudo apt install -y ros-$ROS_DISTRO-rqt*
sudo apt install -y ros-$ROS_DISTRO-ament-cmake*
sudo apt install -y ros-$ROS_DISTRO-rosbridge*
sudo apt install -y ros-$ROS_DISTRO-zenoh*
sudo apt install -y ros-$ROS_DISTRO-generate-parameter*

rqtのコマンド例は下記

terminal
ros2 run rqt_plot rqt_plot  # plot
ros2 run rqt_graph rqt_graph  # graph
ros2 run rqt_tf_tree rqt_tf_tree # tf treeの描画

ROS 2 pkgのトラブルシュート

トラブルシュートのあった際に追記していきますが、原則下記は使わないことを目標にします。
どうしても解決しない場合は、下記で再インストールです。

sudo apt purge ros-$ROS_DISTRO-*
sudo apt -y autoremove
sudo apt -y update
sudo apt install -y ros-$ROS_DISTRO-desktop

Package 'xxxxx' not found

環境変数が正しく呼ばれているかを確認してください。
これはインストール系ではないですが。

terminal
source /opt/ros/$ROS_DISTRO/setup.bash
source ~/xxx_ws/install/setup.bash

launchが動かなくなったとき

terminal
# False
python3 -c "import launch; print(launch.__file__)"
/home/ubuntu/xxx_ws/build/xxx_controller/launch/__init__.py

# recovery
mv ~/xxx_ws/src/xxx_controller/launch ~/xxx_ws/src/xxx_controller/launch_files

# True
python3 -c "import launch; print(launch.__file__)"
/opt/ros/humble/lib/python3.10/site-packages/ros2launch/__init__.py

launchのinitが/opt/ros/以外に登録されていたので、launch/init.pyを移動して/opt/rosが読み込まれるように修正してあげれば良い。


以上、Likeいただけると大変励みになりますので、よろしくお願いいたします。

Discussion