基于rk3588构建
1. 构建ros2环境
- 添加ros2的apt仓库
sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
- 安装相关依赖工具
sudo apt install -y \
build-essential \
cmake \
git \
libbullet-dev \
python3-colcon-common-extensions \
python3-flake8 \
python3-pip \
python3-pytest-cov \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget
python3 -m pip install -U \
argcomplete \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures \
pytest
# install Fast-RTPS dependencies
sudo apt install --no-install-recommends -y \
libasio-dev \
libtinyxml2-dev
# install Cyclone DDS dependencies
sudo apt install --no-install-recommends -y \
libcunit1-dev
#install all ros
sudo apt install ros-foxy-desktop
#only install ros base
sudo apt install ros-foxy-ros-base
2. ros2 demo测试
- 更换为cyclonedds
# 更换dds为Cyclone DDS
sudo apt-get remove ros-foxy-fastrtps
# 如果使用共享内存通信,这里需要采用源码编译
# 源码编译参考:
sudo apt install ros-foxy-rmw-cyclonedds-cpp
# 启用Cyclone DDS
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
# 查看当前ros环境变量
printenv | grep -i ROS
- 运行demo
# 每个新终端需要先使能环境变量
source /opt/ros/foxy/setup.bash
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
# 运行talker
ros2 run demo_nodes_cpp talker
# 另一个终端运行listener
ros2 run demo_nodes_cpp listener
可以看到listener成功接收到talker发布的信息
# 另一个终端运行node list查看节点
ros2 node list
ros2 node info /listener
3. 问题解决
3.1 无法访问ros2官网
pips install rosdepc
国内无法访问ros2官网,改为使用清华镜像源来进行安装
3.2 证书校验失败
使用python3最新的证书
在~/.bashrc 中加入
export SSL_CERT_FILE=$(python3 -m certifi)
3.3 cmake版本较低
cd ~/Downloads # 进入下载目录(可以根据实际需要选择)
wget https://cmake.org/files/v3.22/cmake-3.22.2.tar.gz # 选择一个合适版本
tar -zxvf cmake-3.22.2.tar.gz
cd cmake-3.22.2
mkdir build
cd build
../configure
make -j8
sudo make install