概述

由modules\planning\common\dependency_injector.h实现,无.cc文件。

从类名来看,应该是planning模块依赖的输入数据的注入类。

从代码来看DependencyInjector类主要是实现:

将planning所有涉及到的相关信息都集中存放到这个类里
车辆状态,规划历史数据,障碍物历史状态信息等

dependency_injector.h

#pragma once#include "modules/common/vehicle_state/vehicle_state_provider.h"
#include "modules/planning/common/ego_info.h"
#include "modules/planning/common/frame.h"
#include "modules/planning/common/history.h"
#include "modules/planning/common/learning_based_data.h"
#include "modules/planning/common/planning_context.h"namespace apollo {namespace planning {class DependencyInjector {public://默认构造函数,析构函数DependencyInjector() = default;~DependencyInjector() = default;//返回DependencyInjector类的数据成员planning_context_//planning_context_是PlanningContext类//PlanningContext类 google protobuf用法由proto文件定义的message生成//proto文件位于modules\planning\proto\planning_status.proto//该成员存放planning的状态PlanningStatus//planning的状态包括:bare_intersection无保护路口、change_lane变道、//creep_decider缓行决策等等PlanningContext* planning_context() {return &planning_context_;}//返回DependencyInjector类的数据成员frame_history_//Frame保存一个规划周期的所有数据,如定位/底盘,道路参考线信息,车辆状态,规划起始点//等//FrameHistory存放历史的frame信息,默认只存一帧历史信息。FrameHistory* frame_history() {return &frame_history_;}//返回DependencyInjector类的数据成员history_//history_存放历史frame信息以及历史障碍物状态信息?例如绕行,动静态障碍物等History* history() {return &history_;}//返回DependencyInjector类的数据成员ego_info_//ego_info_存放车辆自身状态信息包括一些周围环境信息,自车box盒,vehicle_state//以及轨迹拼接点/自车位置等信息EgoInfo* ego_info() {return &ego_info_;}//返回DependencyInjector类的数据成员vehicle_state_,就是车辆状态信息//定位以及底盘反馈的一些量apollo::common::VehicleStateProvider* vehicle_state() {return &vehicle_state_;}//基于学习决策,现阶段先略过,后续掌握传统planning后可以学习下LearningBasedData* learning_based_data() {return &learning_based_data_;}private://实际上这个类DependencyInjector就是实现了将planning所有涉及到的相关信息都集中存放//到这个类里PlanningContext planning_context_;FrameHistory frame_history_;History history_;EgoInfo ego_info_;apollo::common::VehicleStateProvider vehicle_state_;LearningBasedData learning_based_data_;
};}  // namespace planning
}  // namespace apollo

百度apollo自动驾驶planning代码学习-Apollo\modules\planning\common\DependencyInjector类代码详解相关推荐

  1. Apollo自动驾驶开发笔记47——apollo编译报错this rule is missing dependency declarations for the following files

    Apollo自动驾驶开发笔记47--apollo编译报错this rule is missing dependency declarations for the following files 报错信 ...

  2. 百度语音+自动驾驶感知+深度学习平台技术解析

    HIEV快讯(文/戒僧)本文将解析三部分技术内容,出自百度2023 Create大会-技术开放日: •百度如何用"手机全双工语音交互"改善使用导航应用的体验 •如何用"上 ...

  3. 百度Apollo自动驾驶感知模块学习笔记、入门

    3个跟HM对象跟踪相关的对象类 Object.TrackedObject.ObjectTrack Object类:感知到的车辆信息.包含物体的点云.多边形轮廓(Polygon).类别(vehicle, ...

  4. 聊聊自动驾驶必须解决哪些感知问题?交通标志识别技术详解

    交通标志识别系统是智能交通系统与先进辅助驾驶系统的重要组成部分,由于道路交通较为复杂,提高交通检测与识别算法的准确率和实时性是走向实际应用进程中需要解决的关键问题. 算法的准确率是交通标志识别研究中一 ...

  5. [自动调参]深度学习模型的超参数自动化调优详解

    向AI转型的程序员都关注了这个号

  6. 百度Apollo自动驾驶学习笔记

    Apollo学习笔记 作者:邹镇洪(清华大学车辆学院,个人主页 转到Github项目主页查看持续更新 转到Github项目主页查看持续更新 转到Github项目主页查看持续更新 本文是对百度Apoll ...

  7. apollo自动驾驶进阶学习之:canbus模块代码分析

    文章目录 封面 代码架构 内容结构 封面 apollo自动驾驶:canbus模块代码讲解及测试(1)引言 apollo自动驾驶:canbus模块代码讲解及测试(2)框架讲解 代码架构 但是apollo ...

  8. 解析百度Apollo自动驾驶平台

    最近对百度的自动驾驶平台Apollo项目做了一些了解.下面将我所了解到的一些信息分享给大家. Apollo项目介绍 阿波罗(Apollo)是百度发布的面向汽车行业及自动驾驶领域的合作伙伴提供的软件平台 ...

  9. 百度Apollo自动驾驶专题讲座笔记之运动规划模块

    在百度技术学院有Apollo的技术专题课程,对各个模块都有一个入门级的课程,对于了解各个模块间的相互作用关系有很大的作用,很适合对自动驾驶领域感兴趣的人的入门课程.感谢百度Apollo开放了这么好的课 ...

最新文章

  1. 《2018-2019世界智能手机AI智商测试报告》发布会将在京举办
  2. 2011年的总结:Fans同学的成败得失
  3. java 内存模型堆和本地方法
  4. mfc判断文件是否被读写_迅为干货|标准io之一个字符的读写函数
  5. 数据结构无头结点单向不循环链表(C语言版)
  6. Java异常处理深入理解_关于java异常处理机制的深入理解.doc
  7. 今天遇到了一个很坑爹的问题....
  8. Linux中usb设置burst,Re: 关于IMX6UL第二个USB接口在linux驱动的问题
  9. Kettle(Pentaho Data Integration) 下载安装使用介绍/功能汇总
  10. 使用OpManager监控AIX
  11. 读书笔记——晶体管电路设计
  12. 再探 Compose 版本的玩安卓
  13. 计算机用户文件夹加密,windows7电脑文件夹怎么加密
  14. crt计算机显示器,crt显示器最高分辨率_crt显示器最高刷新率
  15. Maven实战读书笔记1
  16. android 简单快速 倒计时动画
  17. typescript知识点
  18. Ubuntu 16.04 安装 CUDA Toolkit 10.0
  19. AS608指纹模块于51单片机的二次开发
  20. 用VBA合并计算Excel多个工作簿及工作表

热门文章

  1. 服务器机械硬盘寿命一般多少,机械硬盘的使用寿命:正常使用,完全可以10年以上...
  2. YOLO 3/4/5/6/7/x、Efficient、MaskRcnn、FasterRcnn、FCOS、SSD、M2Det、Retina、CenterNet、PicoDet等系列数据模型汇总持续更新中
  3. windows 命令行关闭防火墙
  4. DSSM pytorch实现
  5. 降噪耳机哪家强?南卡A2降噪耳机上手体验测评
  6. legendmatlab_matlab legend 使用
  7. 循环数组,动态给对象添加key
  8. selenium+Java模拟键盘操作
  9. 常用的相似度计算方法原理及实现
  10. html div块边距为负,CSS奇技淫巧之负边距的应用