Apollo
Zuo丶
热爱生活,享受BUG
展开
-
Apollo如何添加一个子节点
How_to_add_a_subnode添加文件在modules/perception/obstacle/onboard新建两个文件,我这里分别是zuo_test_subnode.cc和zuo_test_subnode.h。实现基础代码添加一个子节点类,我们这里假定是放在perception模块下,那要记得加namespace。除此之外,因为整体的子节点框架是用多态的方法来调...原创 2018-04-09 18:53:46 · 5026 阅读 · 11 评论 -
Apollo如何通知/订阅主题topic
How to advertise and subscribe a topic导读众所周知,Apollo是基于ROS开发的,所以其底层也是基于消息的机制进行节点通信的。但是它在ROS的基础上做了一些改动,如下: P2P——由于原生ROS的消息机制是通过主节点(Master)分发数据来实现的,这样一个强中心化的结构始终存在一个Master意外导致系统奔溃的隐患,为了解决这个问题,A...原创 2018-04-20 22:21:46 · 7550 阅读 · 16 评论 -
Apollo的感知融合模块解析
Apollo的感知融合模块解析下文主要对百度Apollo的感知模块的fusion部分进行细致深入的了解,我将结合代码、流程图等一起分析,尽可能的将我的认知记录下来,分享大家。需要注意的是,Apollo版本迭代很快,我这里的分析是根据2.5_release版本进行分析的,如果后续版本有所变动,以实际代码为准。导读下文我将按照如下流程对模块进行分析: 文字简述流程图用函数表...原创 2018-05-20 22:22:09 · 25064 阅读 · 18 评论 -
Kalman滤波——初阶入门
概要 kalman滤波在机器人控制、数字图像等领域应用非常广泛的一种方法,很多人对其名字不能理解,因为kalman滤波在大多数时候表现出来都是将多个数据进行融合,为什么不叫kalman融合呢?如果你有这个疑问,那就说明你对kalman滤波理解不够,任何的数据融合都是为了将多种途径的数据中的噪声滤波,以达到尽可能接近真实值的目的,从这个角度理解,其融合只是表象,滤除了信号中的噪声才是本质。...原创 2018-05-30 23:39:06 · 11163 阅读 · 9 评论 -
Apollo如何添加新的消息
How to add a new message一. 简要 原生的ROS使用的是其自带的Msg格式来定义的通信协议,但是Msg协议有一个明显的缺点,由于使用了MD5校验,使得Msg的后向兼容不好,如果后续的版本稍微改动一点Msg的格式,就会让双方不能通信了,除非双方都修改XXX.msg文件。鉴于此Apollo使用的是Google的Protocol Buffer简称Proto.关于Pr...原创 2018-05-31 19:40:34 · 5670 阅读 · 0 评论 -
Apollo如何添加一个新的CAN设备
how_to_add_a_new_can_device在自动机调试的领域,使用CAN接口的应用非常广泛,这一块,在Apollo中也有所体现,今天我们就来结合代码分析一下Apollo中的CAN数据交互流程,以及分享如何在Apollo中添加一个新的CAN设备。首先,普及一下相关的知识点,普通的IPC或者PC是不具有CAN口,也就是不能直接和CAN设备通信,所以他们之间需要用到转换设备,将CAN...原创 2018-11-01 08:15:25 · 3249 阅读 · 8 评论