apollo.ros-1.0.0
Hello,时隔不知道多久……我又回来了!这次给大家带来的是我之前学习apollo时开发的内容,主要是针对apollo 1.0.0版本进行了ros1的移植,具体介绍见下文。即上次开源机器人算法分享cpp_robotics后,这次分享也是开源的,需要下载见apollo.ros-1.0.0
PS:
- 基于ros1的 apollo 3.0.0规划控制算法已经发布,详情见apollo.ros-3.0.0
- 基于ros1的 apollo 7.0.0规划控制算法已经发布,详情见apollo.ros-7.0.0
简介
此工程为基于 apollo 1.0.0 的ros1移植版本,移植主要目的如下:
- 学习apollo框架设计
- 学习apollo中的控制算法
目前只针对apollo中主要模块进行了移植,移植模块有:
apollo_ros
├── apollo_common
├── apollo_control
├── apollo_decision
├── apollo_localization
├── apollo_msgs
├── apollo_planning
└── apollo_simulator
目前移植版本与原有版本改动点如下:
- 使用原生ros(基于noetic)替代apollo中更改的ros
- 使用ros pkg封装apollo中每个module
- 使用cmake进行编译
- 将protobuff版本提升到3.6.1
- 使用ros中的
std_msgs/String替代apollo的pd_msgs/xxx消息 - 增加pnc仿真工具
apollo_simulator
此移植版本,能很好的将自己的算法增加到框架中,应用于机器人或者无人驾驶中。
内容
.
├── apollo_common
│ ├── CMakeLists.txt
│ ├── data
│ │ └── mkz_config.pb.txt
│ ├── include
│ │ └── apollo_common
│ │ ├── adapters
│ │ │ ├── adapter_gflags.h
│ │ │ ├── adapter.h
│ │ │ ├── adapter_manager.h
│ │ │ └── message_adapters.h
│ │ ├── apollo_app.h
│ │ ├── configs
│ │ │ ├── config_gflags.h
│ │ │ └── vehicle_config_helper.h
│ │ ├── log.h
│ │ ├── macro.h
│ │ ├── math
│ │ │ ├── aabox2d.h
│ │ │ ├── aaboxkdtree2d.h
│ │ │ ├── angle.h
│ │ │ ├── box2d.h
│ │ │ ├── euler_angles_zxy.h
│ │ │ ├── integral.h
│ │ │ ├── kalman_filter.h
│ │ │ ├── linear_interpolation.h
│ │ │ ├── linear_quadratic_regulator.h
│ │ │ ├── line_segment2d.h
│ │ │ ├── math_utils.h
│ │ │ ├── matrix_operations.h
│ │ │ ├── polygo

该博客介绍了将 Apollo 1.0.0 框架移植到 ROS1 的过程,包括主要模块的移植,如控制、决策、定位和消息等。移植目的是为了学习 Apollo 框架和控制算法,并提供了一个可用于机器人或无人驾驶算法开发的平台。移植后的版本包含了 Apollo_simulator 仿真工具,可用于测试和验证算法。
最低0.47元/天 解锁文章
1383





