RV1126 ROS2环境交叉编译及部署(基于官方Docker)
-
- 0 前言
- 1 SDK源码更新
-
- 1.1 启动Docker容器
- 1.2 更新SDK源码
- 1.3 SDK更新问题
- 2 ROS2编译配置
- 3 Buildroot rootfs编译ROS2的依赖包
-
- 3.1 编译问题解决
- 4 使用Docker交叉编译ROS2
-
- 4.1 准备Linux(Ubuntu) PC机的依赖环境
-
- 4.1.1 Ubuntu PC机上安装Docker程序
- 4.1.2 Docker更换源
- 4.2 使用Docker编译ROS2
-
- 4.2.1 下载原始的Ubuntu Docker镜像rosdep
- 4.2.2 基于rosdep,添加ROS2编译的环境并且下载ROS2源码
-
- 4.2.2.1 修改sysroot.Dockerfile
- 4.2.2.2 下载ROS2源码
- 4.2.2.3 ROS2源码拉取问题
-
- 4.2.2.3.1 问题1:Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
- 4.2.2.3.2 问题2:Could not checkout ref '2.1.x': fatal: invalid reference: 2.1.x
- 4.2.3 编译ROS2源码
-
- 4.2.3.1 取消不必要包的编译
- 4.2.3.2 修改build_ros2.sh
- 4.2.3.3 开始编译
- 4.2.3.4 编译报错
-
- 4.2.3.4.1 报错1:Failed to determine the source files for the regular expression backend
- 4.2.3.4.2 报错2:Could not find a package configuration file provided by "benchmark"
- 4.2.3.4.3 解决方法
- 5 打包rootfs并烧录镜像
- 6 开发板上运行ROS2 Demo
- 7 参考资料
0 前言
我的所有基于RV1126
的机器人项目都是在Ubuntu22.04
下进行开发的,在Ubuntu18.04 Docker
容器中实现RV1126
的SDK
编译,详细可参考我之前的博客《Ubuntu20.04/22.04下Docker方案实现多平台SDK编译》第2章,RV1126
的ROS1
部署没什么难度,可以参考我之前的博客,这里记录了ROS2
交叉编译及问题解决,最后成功部署到RV1126
平台上的整个过程。
1 SDK源码更新
不知道为什么执行下面的指令的,可以回顾《Ubuntu20.04/22.04下Docker方案实现多平台SDK编译》。
1.1 启动Docker容器
再次启动容器,只需执行如下指令
sudo docker start -ai firef