记录一些自动驾驶开源代码的学习,内容原创不易,禁止直接搬运。
我的博客GoodluckTian
我的知乎GoodluckTian
想必Apollo就不用多做介绍了
Apollo perception注释代码,主要是fusion、radar和lidar三部分,lidar深度学习部分不做阐述
CyberRT和ROS:Apollo最初用的是ROS,但因为时延问题开发了CyberRT
通常 4 个步骤进行组件开发:设置组件文件结构--实现组件类--设置配置文件--启动组件
建议阅读参考文章后对Apollo有一定了解后阅读注释代码
Apollo的感知融合模块解析 这是一篇2.5版本的解析,算法结构是差不多的,流程图比较详尽,没有过多的代码细节,文章比较短,容易理解整个过程。
Apollo 5.0源码学习笔记(二)| 感知模块 | 融合模块 讲的很清晰,没有代码细节,不想看源码可以看这篇很详细
顺序阅读更佳
fusion
lidar : Apollo perception源码阅读 | lidar
radar : Apollo perception源码阅读 | radar
按官网的话来说:Autoware是世界领先的自动驾驶开源软件项目。 Autoware建立在机器人操作系统(ROS)之上,能够在广泛的车辆和应用中实现自动驾驶的商业部署。
架构如下图,主要包含感知、规划、决策、地图、定位、自车和传感器等。
Autoware同样也有自己的开发套件(软硬件解决方案)。单要说Apollo和Autoware孰高孰低,水平太低不能多做评价,感兴趣可以参考这篇文章的对比:浅析Apollo和Autoware的异同
Github里的Autoware主页中,主要包括core_perception
、core_planning
、common
、simulation
、visualization
等。
本文主要阅读core_perception
。对比tag1.14和master,master最近有更新。故本文阅读的是的master分支。不过大部分代码都是两年前的版本,并无太大变化。
基础知识
cmake、ros、pcl、opencv等(如果ros和pcl都没有使用过,建议先从基础学习)
代码准备
如下:
├── Autoware
│ └── src
│ ├── core_perception
│ └── messages
说明
因为messages
里有自定义的各种消息结构体,建议安装环境后catkin_make
编译,这样阅读时IDE(eg. vscode)才能找到对应的头文件。
比如在各个障碍物模块内都会#include "autoware_msgs/DetectedObject.h"
,这个消息的定义就在./Autoware/src/messages/autoware_msgs/msg/DetectedObject.msg
里。
不编译也行,只要能知道结构体的定义并能读懂代码即可。
建议别编译了,浪费时间,直接看代码吧...
先列一下TODO List,有更新的话会更新跳转的链接。
收藏这一篇就够了~
深蓝学院开源标定代码
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。