摘要:
Control算法相关 "添加新的control算法官方指导教程" 。 创建一个控制器; 在文件control_config中添加新控制器的配置信息; 注册新控制器。 "如何添加新的CAN卡" 。 Apollo中使用额默认CAN卡是 ESD CAN PCIe卡 ; 实现新CAN卡的CanClient 阅读全文
摘要:
Apollo 启动脚本解析 sudo service docker start 是在ubuntu14.04中打开 在dev_start.sh脚本中会调用restart_map_volume.sh脚本 dev_start.sh中的脚本解析 dirname命令解析: dirname命令 去除文件名中的非 阅读全文
摘要:
Apollo 代码的编译演示 官方的文档 运行线下演示 如果你没有车辆及车载硬件, Apollo还提供了一个计算机模拟环境,可用于演示和代码调试。 线下演示需要设置docker的release环境,请参照 "how_to_build_and_release" 文档中的 "Install docker 阅读全文
摘要:
百度Apollo 自动驾驶开源模块分析 从今天开始研究学习apollo的源码, "apollo 3.0源码" 。 "apollo 3.0的系统框图" 文件目录简介 apollo根目录 ├── .github/ISSUE_TEMPLATE目录 // 问题记录的文档 ├── .vscode // 启动的 阅读全文
摘要:
gPRC学习笔记 "gPRC基础教程" 。 "gPRC官方文档" 。 "protobuf 3.0的简易教程" 。 什么是RPC RPC(remote procedure call) 远程过程调用(相对于本地调用的概念)。 本地调用 ex:本地的函数调用 在函数调用的时候,一般会经过几个步骤 返回地址 阅读全文
摘要:
Docker学习笔记 "Docker的安装教程for Windows" 。 "Docker的安装教程for Ubuntu" 。 "Docker的菜鸟教程" 。 "阮一峰的Docker入门教程" 。 为什么需要用Docker容器? 环境配置的难题: 程序换一台机器需要配置各种环境, 主要包括操作系统、 阅读全文
摘要:
ROS学习笔记 "ROS入门网站" ; "ROS入门书籍" ROS主要包含包括功能包、节点、话题、消息类型和服务; ROS功能包/软件包(Packages) ROS软件包是一组用于实现特定功能的相关文件的集合,包括可执行文件和其他支持文件。 所有的 ROS 软件都是一个软件包或其他软件包的一部分。 阅读全文
摘要:
反思C++面向对象与虚函数 C++语言学习可以看《C++ Primer》这本书; 在C++中进行面向对象编程会遇到其他语言中不存在的问题, 其本质原因是C++ class是值语义, 而非对象语义; 朴实的C++设计 实用当头, 朴实为贵, 好用才是王道; C++ 是一门(最)复杂的编程语言, 语言虽 阅读全文
摘要:
C++编译链接精要 C++语言的三大约束: 与C兼容, 零开销(zero overhead)原则, 值语义; 兼容C语言的编译模型与运行模型, 也就是锁能直接使用C语言的头文件和库; 头文件包含具有传递性, 引入不必要的依赖; 头文件是在编译时使用, 动态库文件是在运行时使用, 二者的时间差可能带来 阅读全文
摘要:
muduo网络库的设计与实现 muduo是基于Reactor模式的C++网络库; Reactor的关键结构 Reactor最核心的是事件分发机制, 即将IO multiplexing拿到IO事件分发给各个文件描述符(fd)的事件处理函数; 每个Channel对象自始至终只负责一个文件描述符(fd)的 阅读全文