基于Autoware分析runtime manager人机交互界面模块作用

基于Autoware分析runtime manager人机交互界面模块作用

用过Autoware的小伙伴都知道,Autoware是一款完全开源的自动驾驶框架,同时它有一个人机交互界面runtime manager,里面集成了非常多的功能,那么我们怎么知道每一个按钮的功能呢,这篇文章教你如何去了解。

以runtime manager中的Map为例,它对应的是

autoware.ai/src/autoware/utilities/runtime_manager/scripts/map.yaml

基于Autoware分析runtime manager人机交互界面模块作用

那么查看该文件,比如我们通过Map-Vector Map导入.csv高精地图文件,它对应的就是map.yaml文件中的这一段:

基于Autoware分析runtime manager人机交互界面模块作用
可以看出,它运行了map_file文件夹下的vector_map_loader.cpp文件,后续再看该源文件的代码或者上网查找其他博主的理解大概就能了解这个按钮的功能了;

除此之外,其他的分析也是类似的,比如runtime manager中的computing,里面集成的功能是最多的,它对应的就是scripts文件夹下的computing.yaml文件,以waypoint_saver为例,我们在computing.yaml文件中可以看到这么几行:

name : waypoint_saver
desc : waypoint_saver desc sample
cmd  : roslaunch waypoint_maker waypoint_saver.launch
param: waypoint_saver

它运行的ROS包waypoint_maker内的waypoint_saver.launch文件,再查看该launch文件,可以看出它启动了waypoint_saver和waypoint_extractor这两个节点,后续在进行分析即可。

其实runtime manager这个人机交互界面每个按钮的功能都基本是启动launch文件或者运行cpp文件来执行某个功能的,如果你想只使用Autoware中的某一个功能而不使用runtime manager,完全可以通过单独运行launch文件来实现的,这个应该是可行的。

比如我昨天实现了通过roslaunch加载.csv文件的高精地图而不用runtime manager人机交互界面。后续还会继续将Autoware的其他功能给独立出来使用,有兴趣的朋友也可以一起交流。

上一篇:11.线程强制执行_join


下一篇:vue中html导出到word