apollo.ros-3.0.0
上次给大家带来了之前学习apollo时开发的内容apollo.ros-1.0.0,主要是针对apollo 1.0.0版本进行了ros1的移植和控制算法的学习。这次是针对apollo 3.0.0版本进行了ros1的移植和学习了相关的规划算法。
项目开发详细可在评论区留言。
PS:基于ros1的 apollo 7.0.0规划控制算法已经发布,详情见apollo.ros-7.0.0
简介
此项目为基于apollo3.0.0的ros1移植版本,移植主要目的如下:
- 学习
apollo框架设计 - 学习
apollo中的控制算法 - 学习
apollo中的规划算法
目前只针对apollo中部分模块进行了移植,移植模块有:
.
├── docker
│ ├── build
│ └── scripts
├── images
├── LICENSE
├── modules
│ ├── apollo_common
│ ├── apollo_control
│ ├── apollo_map
│ ├── apollo_msgs
│ ├── apollo_planning
│ ├── apollo_routing
│ └── apollo_simulator
└── README.md
目前移植版本能实现车辆在高精度地图下进行routing、planning和control仿真测试,与原有版本改动点如下:
- 使用原生
ros(基于noetic)替代apollo中更改的ros - 使用
ros pkg封装apollo中的module - 使用
ros中的std_msgs/String替代apollo的pd_msgs/xxx消息 - 使用
cmake进行编译 - 将
protobuff版本提升到3.6.1 - 增加
sim_control和sim_pnc仿真工具包apollo_simulator - 增加高精度地图
rviz显示 - 增加静态障碍物
rviz设置 - 更多的高精度地图测试数据
此移植版本,能很好的将自己的算法增加到框架中,应用于机器人或者无人驾驶中。
代码部署
docker安装
-
在线安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun -
安装验证:安装完成执行
sudo docker version看看docker目前安装的版本等信息:
-
使用配置:避免每次新开一个终端都要
sudo输入权限,给docker增加用户的权限。执行完成后重启电脑之后生效。sudo usermod -aG docker $USER
镜像构建
-
执行一下指令进行镜像构建
cd apollo.ros-3.0.0/docker/build/ # 进入镜像构建目录 ./build_docker.sh # 开始构建镜像 -
镜像构建成功后,显示如下图所示:

代码编译
-
解压项目代码到对应目录,假设代码主目录名为
apollo.ros-3.0.0,其目录结构如下:<

本文介绍了基于Apollo 3.0.0的ROS1移植项目,重点讲解了移植目的、模块移植内容、代码部署及仿真测试,包括routing、planning和control的仿真,并提供了高精度地图处理和障碍物设置的方法。
最低0.47元/天 解锁文章
292





