ROS2 に xacro パッケージをインストールする話です.
apt 版
apt のライブラリを更新して,xacro パッケージが無いか検索します.
apt update
apt search xacro
xacro パッケージがあった場合は次のように apt install
でインストールするか,使いたいパッケージの package.xml
の depend に xacro を追加します.
apt install -y ros-foxy-xacro
git 版
基本的な Git repository からのパッケージインストールになります.<workspace>
は ROS2 workspace のパスに読み替えてください.
まずは <workspace>/src
に移動して xacro repository をダウンロードします.
cd <workspace>/src
git clone https://github.com/ros/xacro.git -b ros2
次に,<workspace>
に移動して src 内のパッケージ依存パッケージ読み込みます.
cd <workspace>
rosdep install -i --from-path src --rosdistro foxy -y
続いて xacro パッケージをビルドします.
colcon build --packages-select xacro
今の環境を適用します.
. install/setup.bash
xacro がインストール出来ていることを確認します.インストール出来ていたら,xacro のヘルプメッセージが表示されます.
xacro -h
使い方
次のコマンドで xacro ファイルを urdf ファイルに変換します.
ros2 run xacro xacro basic1.xacro >basic1.urdf
macro で $(find mypackage)
を使う場合は CMakeLists.txt に次の行を追加します(C++ 版).
install(DIRECTORY launch DESTINATION share/${PROJECT_NAME})
ただし, $(find mypackage)
は <workspace>/share
のものを参照するのでパッケージのビルド後に urdf に変換しないといけないです.
環境
- OS: macOS Monterey
- Docker Desktop for macOS
- Docker Image: tiryoh/ros2-desktop-vnc:foxy
余談
apt update
をしていないと,apt search xacro
を実行しても何も出てこないことがあります.
コメント
記事内の
ros2 run xacro xacro basic1.xacro >basic1.urdf
が
xacro xacro basic1.xacro >basic1.urdf
かもしれません?
ROS2 foxy ubuntu20.04で試しました
どちらでも問題なく実行できます.
ros2 run xacro
の方はros2のパッケージであることを明示している形です.pythonのpipとおそらく同じような感じです.