> 文档中心 > RK3588编译ROS2源码

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在嵌入式平台上.

想多认识对这熟习的人一起研究.