Apollo Advanced Lesson | perception

Posted Justin-Yip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apollo Advanced Lesson | perception相关的知识,希望对你有一定的参考价值。

Contents


–This article is excerpted from Baidu’s official about Apollo, please indicate the source for reprinting–

架构设计与分层

Framework overview

可执行层集成优化部分独立开发,主程序简洁
App层单链路实现,排pipeline,独立演进
lib层单元模块独立开发,通过多态实现不同版本的lib

主要设计和实现流程:
1> 架构设计 2>接口设计 3>lib 库的单元模块实现 4> APP类的单链路实现 5> Tools可执行程序的单功能实现.

1 . 架构设计
2. 接口设计
3. 库实现
4. APP类
  1. 为什么产生APP类?
    • App类的作用
      • ) 使得APP类与可执行程序之间的接口尽量可以保持不变(一般只有Init和Update),保证主程序简洁,集成人员可以快速集成、排调度等;
      • ) 功能算法开发人员在APP类中排pipeline、优化参数,并通过单元测试进行功能验证。
可执行程序

数据传递

  1. 载体:结构体. 在各个APP和lib中通过结构体传递感知结果 和 配置参数.即实际上传递的是结构体的指针.
    两个重要的结构体:
    • 感知结果结构体 CameraFrame
  2. List item
    More details, see Apollo/modules/perception/camera/common/camera_frame.h
    • 配置参数结构体 XxxInitOption
      • 配置文件*.pt文件 如何解析,目前还没搞清楚,按下不表???

Code Flow 代码走读

Init Start InitConfig InitAlgorithmPlugin InitCameraFrame InitCameraListener InitV2XListener Stop

以上是关于Apollo Advanced Lesson | perception的主要内容,如果未能解决你的问题,请参考以下文章

Apollo Advanced Lesson | Cyber RT RTPS

Apollo Advanced Lesson | Cyber RT

Apollo Advanced Lesson | Chapter6-1 ROS

Apollo Advanced Lesson | a journey of perception

Level 1-Lesson 5. Advanced UI Interaction

Apollo缓存+自动刷新