这篇文章主要讲解了“Apollo的模块有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Apollo的模块有哪些”吧!控制模块:通过生成控制命令(如加速、刹车和转向)来执行规划模块提供的时空轨迹。控制模块将规划轨迹作为输入,并产生控制指令给Can总线。路由模块:告诉自动驾驶车辆如何经过一系列车道或道路到达目的地。要计算出自动驾驶车辆经过的车道和道路,路由模块需要知道起点和终点。数据:是计算机与外部物理世界连接的开发云主机域名桥梁。数据采集模块由传感器、控制器等其它单元组成。通用模块:该模块包含的代码并非专门面向任何模块,但有助于提升Apollo的功能。根据规划轨迹和汽车的当前状态, Control模块使用不同的控制算法来生成舒适的驾驶体验,Control模块可以在正常模式和导航模式下工作。规划轨迹。汽车状态。定位。Dreamview AUTO模式更改请求。发送到底盘的控制命令 (转向、 油门、刹车)。路由模块根据需求产生更加高级的导航信息。路由模块依赖一个路由拓扑文件,在Apollo中通常以routing_map.*方式命名。可以使用以下命令生成路由地图:bash scripts/generate_routing_topo_graph.sh地图数据路由需求(起始和终止位置)路由导航信息本模块包含Apollo的数据解决方案, 包括进行数据收集、存储、处理等操作的工具和基础架构。apollo_app编译目标定义抽象类ApolloApp,该类由所有模块实现,同时它还定义宏APOLLO_MAIN,用于启动每个模块。log编译目标将google日志系统封装成特定于项目的宏,从而可以对日志记录级别进行更精确的控制。macro编译目标定义一些常用的特定于类的宏。适配器用于不同模块之间的通信。AdapterManager类派生所有专用适配器并对其进行管理。适配器需使用宏REGISTER_ADAPTER进行注册。适配器类充当Apollo模块和I / O机制(例如ROS)之间的抽象层。车辆配置在文件configs/data中指定。math实现许多有用的数学库。monitor定义了日志记录系统。proto定义许多项目范围的protocol buffers。status用于确定某些功能能否成功执行。如果不能,status将提供有用的错误消息。time是与时间相关的辅助函数。util包含带有注册的工厂设计模式的实现,一些字符串解析函数,以及一些用于从文件中解析protocol buffers的函数。所述vehicle_state classs描述车辆的当前状态(例如位置、速度、方向等)。感谢各位的阅读,以上就是“Apollo的模块有哪些”的内容了,经过本文的学习后,相信大家对Apollo的模块有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!
相关推荐: Linux云计算架构师成长之路-第二章 Linux系统及特性-2.3 Linux起源
2.3 Linux起源2.3.1 Unix的历史Unix系统与1969年在AT&T的贝尔实验室诞生,20世纪70年代,它逐步盛行,这期间,又产生重要的分支,就是大约1977年诞生的BSD(Berkeley Software Distribution)系…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。