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
コマンドを削除して実行してください。
センサ関係
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のコマンド例は下記
親リンクから子リンクの位置関係を表示
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
コントローラ関係
sudo apt install -y ros-$ROS_DISTRO-joy-linux
sudo apt install -y ros-$ROS_DISTRO-joy-linux-dbgsym
sudo apt install -y joystick
コマンド例
ros2 run joy_linux joy_linux_node
シミュレーション関係
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*
その他
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のコマンド例は下記
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
環境変数が正しく呼ばれているかを確認してください。
これはインストール系ではないですが。
source /opt/ros/$ROS_DISTRO/setup.bash
source ~/xxx_ws/install/setup.bash
launchが動かなくなったとき
# 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