Kria Robotics StackのLinuxイメージをビルドする(2023.1) でビルドしたPetaLinuxにTurtleBot3の依存パッケージを追加した。 ROS2パッケージ以外はPetaLinuxに含めて、ROS2パッケージはKRSに含める形式をとった。
動作環境
- OS : Ubuntu 20.04.3 LTS(64 bit)
- Vivado : 2023.1
- Vitis : 2023.1
- Vitis_HLS : 2023.1
- ROS2 : Humble
- ボード : Kria KV260
PetaLinuxへのパッケージの追加
Kria Robotics StackのLinuxイメージをビルドする(2023.1) でビルドしたPetaLinuxにパッケージを追加する。なお、事前に components/yocto/layers/meta-kria-robotics-stack のバージョンは 0.6.0 に上げる必要がある。
petalinux-tools-docker のDockerコンテナの中で ${HOME}/xilinx-kv260-starterkit-2023.1/project-spec/meta-user/recipes-images/images/petalinux-image-minimal.bbappend の ROS_SYSROOT_BUILD_DEPENDENCIES に必要なパッケージを追加する。
ltt-control \
ltt-control-dev \
+ dynamixel-sdk \
+ hardware-interface \
+ urdf-parser-plugin \
+ robot-state-publisher \
"
ビルドする。
petalinux-build --component rootfs
petalinux-build
petalinux-build --sdk
生成された images をホスト側にコピーする。
cp -r images ${HOME}/krs_workdir_2023_1/
SDKをインストールしなおす。
cd ${HOME}/krs_workdir_2023_1
./images/linux/sdk.sh -d sdk
今回ビルドした images を使用して、 kria-robotics-stack-docker のDockerイメージはビルドしなおす必要がある。 また Kria Robotics StackのLinuxイメージをビルドする(2023.1) の手順でKRSをビルドしなおす。
ROS2パッケージのビルド
TurtleBot3のROS2パッケージをビルドする。なお、確認した時点での humble-devel のcommit idは turtlebot3 が a7dd05a 、 turtlebot3_msgs が 2e8f63d だった。
cd ~/krs_ws
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git src/turtlebot3 -b humble-devel
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git src/turtlebot3_msgs -b humble-devel
colcon build \
--build-base=build-kv260 \
--install-base=install-kv260 \
--merge-install \
--mixin kv260 \
--packages-up-to \
turtlebot3_msgs \
turtlebot3_bringup \
turtlebot3_description \
turtlebot3_example \
turtlebot3_navigation2 \
turtlebot3_teleop \
turtlebot3
install-kv260 にTurtleBot3のROS2パッケージのビルド生成物が追加される。