![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
百度APollo
arron盘
这个作者很懒,什么都没留下…
展开
-
CyberRT_API_for_Developers
Cyber RT API for DevelopersThis document provides an extensive technical deep dive into how to create, manipulate and use Cyber RT’s API.Table of ContentsTalker-ListenerService Creation and UseParam parameter serviceLog APIBuilding a module based o翻译 2020-10-12 15:14:25 · 353 阅读 · 3 评论 -
转载:Apollo CyberRT API
Cyber RT API for DevelopersThis document provides an extensive technical deep dive into how to create, manipulate and use Cyber RT’s API.Table of ContentsTalker-ListenerService Creation and UseParam parameter serviceLog APIBuilding a module based o转载 2020-09-14 10:51:50 · 252 阅读 · 0 评论 -
Apollo中byte.cc详解
Apollo中byte.cc详解canbus的底层涉及到can报文的读写,其中需要对报文中的字节进行位操作.为此Apollo封装了Byte类,主要是完成对字节数据的处理.成员函数列表 /** * @brief Transform an integer with the size of one byte to its hexadecimal * represented by a string. * @param value The target integer to t原创 2020-07-14 09:05:40 · 341 阅读 · 0 评论 -
int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t详解
该文为转发,具体链接:https://blog.csdn.net/yz930618/article/details/84785970工作中经常碰到int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t等数据类型,所以有必要对此进行梳理。int_t同类int_t 为一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是一种新的数据类型。因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef转载 2020-07-12 17:10:12 · 6553 阅读 · 0 评论 -
毫米波雷达slam资料
https://www.ti.com.cn/tool/cn/IWR1642BOOSThttps://blog.csdn.net/gua_MASS/article/details/88714876原创 2020-07-10 14:33:44 · 1101 阅读 · 0 评论 -
Apollo开发避坑指南--
本文用于本人在开发Apollo代码过程中遇到的坑,不定时更新.第一坑:不同版本的代码之间都有细微的更新,不能拿老版本的代码直接放入新版本最近在为apollo新增车辆驱动,看了can协议之后发现与ch(酷黑)也就是kit的协议比较相近,因此直接将整个ch目录拷贝进行更改.最早的时候用的r5.0.0的ch代码.最近成功下载了r5.5.0的代码,想在新的分支上进行开发学习,因此将之前的代码直接拷贝进新的版本.错误频出,让人怀疑人生.举个最简单的例子.5.0的版本中计时函数的调用方式是:start = ::原创 2020-07-09 07:36:10 · 828 阅读 · 0 评论 -
const用法大全
const用法主要分为四类:目录:1. const的常规用法;2. const用于指针;3. const用于引用;4. const_cast的用法1. const的常规用法;用const关键字将变量声明为常量,既在整个程序的运行过程中都无法修改的。const double pi=3.14159262. const用于指针;指针也是变量,因此也可以将const用于指针。但指针是特殊的变量,包含内存地址,还可以用于修改内存中的数据块。因此,const指针有如下三种:指针包含的地址是常量原创 2020-06-18 22:51:22 · 919 阅读 · 0 评论 -
canbus数据处理代码分析
canbus数据处理代码分析下面以刹车控制为例进行分析在**_controller.cc中,brake_command_102_ = dynamic_cast<Brakecommand102*>( message_manager_->GetMutableProtocolDataById(Brakecommand102::ID)); if (brake_command_102_ == nullptr) { AERROR << "Brakecomman原创 2020-06-17 16:15:48 · 953 阅读 · 0 评论 -
dynamic_cast用法
dynamic_cast用法范式dynamic_cast < type-id > ( expression)该运算符把expression转换成type-id类型的对象。Type-id必须是类的指针、类的引用或者void*;如果type-id是类指针类型,那么expression也必须是一个指针,如果type-id是一个引用,那么expression也必须是一个引用。dynamic_cast运算符可以在执行期决定真正的类型。如果downcast是安全的(也就说,如果基类指针或者引用确原创 2020-06-16 18:00:53 · 359 阅读 · 0 评论 -
unique_ptr记录
代码片段#pragma once /*pragma once是一个比较常用的C/C++预处理指令,只要在头文件的最开始加入这条预处理指令,就能够保证头文件只被编译一次。*/#include <memory> //使用智能指针需要包含该头文件#include "modules/canbus/proto/vehicle_parameter.pb.h"#include "modules/canbus/vehicle/abstract_vehicle_factory.h"#incl原创 2020-06-15 11:26:48 · 141 阅读 · 0 评论 -
DBC文件的阅读方法
问题由来最近为apollo适配新的线控的底盘,部分线控底盘的供应商会给三个文件:DBC文件,协议说明书和协议的详细文件(一般都是excel文件)。第一个文件就是apollo官方可以通过工具直接生成protocol文件的,第二个文件主要是说明如何使用这个协议的,第三个文件是第一个文件的延展,具体到每个位或字节代表什么。但是可能部分厂家偷懒就只有第一个和第二个文件。这个时候为了去写线控驱动就必须去读DBC 文件。为什么需要DBC文件当前汽车中的通信主要是用can总线通信(目前汽车以太网正在兴起)。dbc数原创 2020-06-11 15:52:26 · 3380 阅读 · 0 评论 -
为Apollo添加新的线控底盘
为Apollo添加新的线控底盘Apollo推出了车辆认证平台,用于新的车辆进行认证以实现对apollo的适配。不过可以看到的情况是除了在apollo早期林肯MKZ,比亚迪/广汽/雷克萨斯/长城汽车等几家适配了部分车型之外,到今天已经三年有余,再没有车厂的车辆加入生态认证。低速车辆也只有AS早期做的GEM和酷黑及中云三家。从硬件支持的角度来说,Apollo并没有像ROS一样百花齐放,反而这个生态生长速度减缓了。可能的原因可能有如下几个方面:架构更新Apollo3.0之后改用CyberRT作为计算框架原创 2020-06-09 08:11:26 · 2023 阅读 · 2 评论 -
Apollo添加新的can通信接口的GPS设备
首先Novatel的组合惯导价格昂贵,非批量的价格好像在20万左右(一年前的报价);其次,由于早期使用了国产广州导元电子的组合惯导550D ,使用起来也还不错。因此懒得换成最近百度新支持的几款设备了。原来GPS 的驱动都是同事写的,最近我开始加入coding因此开始了解具体过程。Apollo官方给了一个如何添加教程GPS 的教程。这个教程主要包含如下步骤:通过继承基类“Parser”,实现新GPS接收器的数据解析器在Parser类中为新GPS接收器添加新接口在文件config.proto中,原创 2020-06-02 12:10:18 · 1484 阅读 · 3 评论 -
Apollo中的glog和gflag
Apollo中的glog和gflag本文是学习Apollo中基础工具的第三篇文章,主要是学习glog和gflag。首先必须说百度Apollo却是对google的那一套情有独钟啊,前有protobuf,bazel,在有glog和glag。google全家桶啊。glog的学习glog是Google开源的轻量级日志系统。支持以下功能:◆ 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为;◆ 严重性分级,根据日志严重性分级记录日志;◆ 可有条件地记录日志信息;◆ 条件中止程序。丰富的条件判翻译 2020-05-30 11:16:30 · 895 阅读 · 0 评论 -
根据Apollo学习protobuf
学习protobuf上图引至Protobuf学习原创 2020-05-29 16:01:19 · 2077 阅读 · 0 评论 -
补充C++11的知识
C++11学习笔记C++11引入很多优秀的特性,针对面试时同事经常问的几个问题深入学习。auto自动推断类型将变量初始化赋值,可不指定类型,C++11自动计算类型auto isTrue = true;auto bigNum = 50000;auto str = "hello world!"auto Area(double radius){ return Pi * radius * radius;}//注意函数的自动推断类型使用C++14版本需要注意的是,使用auto必须对变量进行原创 2020-05-27 15:42:21 · 139 阅读 · 0 评论 -
Apollo学习计划
Apollo学习计划We choose to go to the moon in this decade and do the other things,not because they are easy, but because they are hard.-- John F. Kennedy, 1962基础知识1.复习C++2.学习使用基础工具2.1 学习protobuf2.2 学习glog和gflag2.3 学习CyberRT2.4 学习bazel3.学习各个模块4.在Kit上调试Apollo5.5原创 2020-05-27 11:51:01 · 347 阅读 · 0 评论 -
Apollo百度云智学苑课程开源模块讲解定位
高精度地图--车道线级别;(给定更多信息给车辆,减少汽车的计算量)静态地图,识别处静态特征,如电线杆等,同时也不用过于担心静态特征的变化导致定位出错,除非地震或大范围的施工,否则不会影响那么大,因为地位是多传感器融合; Localization(定位):RTK定位: 大道10cm精度,车和基站的距离不超过15公里,但信号丢失时会出现跳变;IMU: 积分会有误差,因此GPS-RT...原创 2019-02-02 11:00:25 · 463 阅读 · 0 评论 -
Apollo百度云智学苑课程第一课行业讲解
无人驾驶减少拥堵;(提高45%左右,刹车减速会减少道路效率,比如高速匝道处会造成堵车,减少刹车的方法V2X) Car Sharing: 提高汽车利用率;(利用时间、停车空间) 优势:减少事故(眼观四路,耳听八方,人类同时只能处理30~100个任务自动驾驶级别分类及例子L1:自动跟车L2:Tesla,车道保持L3: Audi A8, 限制速度、天气等情况下可以在一段时间内不用...原创 2019-02-02 10:37:26 · 211 阅读 · 0 评论