RK3588编译ROS2源码
首先要下载源码 :
wget https://raw.githubusercontent.com/ros2/ros2/dashing/ros2.repos
如果被挡了下不下来 直接连 git hub 下载
https://github.com/ros2/ros2
vcs import src < ros2.repos
下载有可能报错, 网路很多方法我都没试成功,我是重复到没报错为止.
在home底下
mkdir ROS2/src
把源码传到rk3588板上 src底下.
cd src
先加入這個才有辦法安裝編譯工具:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) mai n" > /etc/apt/sources.list.d/ros-latest.list'
安装ROS2的編譯工具:
sudo apt git install python3-colcon-common-extensions
如果发生 cmake报错的问题. 应该是cmake要用3.5.1以上版本.
grep 代码 cmake_mini 可以看到 最小版本限制.
RK的cmake 应该是pip装的, 要pip uninstall 移除
ln -s /usr/local/bin/cmake
Cmake 3.10.0 安装 可以参考这篇
ubuntu升级cmake到3.5.1_步印的博客-CSDN博客
cd ~
wget https://cmake.org/files/v3.10/cmake-3.10.0.tar.gz
tar -xvf cmake-3.10.0.tar.gz
cd cmake-3.10.0
./bootstrap --prefix=/usr
make -j8
sudo make install
记得python3.8 以上
到src目录底下打下面命令编译
colcon build --symlink-install --merge-install
应该会有报错
1.
OSError: Environment variable 'AMENT_PREFIX_PATH' is not set or empty
Useful commands (command line):
export AMENT_PREFIX_PATH=/usr
2.
fixed = lambda j,F: kdl.Joint(j.name, getattr(kdl.Joint, 'None'))
3.
一堆有关print报错 应该照上面报错提示把print加上括号就可以解决了.
X86 可以参考 ROS2源码编译和安装_seacracker的博客-CSDN博客_ros2编译
我是刚刚才开始摸索ROS2在嵌入式平台上.
想多认识对这熟习的人一起研究.