ROS源码分析-week13
2021SC@SDUSC
1. 本周工作目标
这周继续阅读navigation仓库里的代码。结合实际情况,本周的工作目标如下:
-
阅读move_base包裹的文档和源码,明白这个包裹的作用
2. 阅读move_base包裹的文档和源码
我们找到官方wiki:
由文档得知,move_base包定义了一个move_base节点,通过它来实现导航的核心功能。
那么,这个包裹具体的结构是怎样的呢?先看目录结构:
可以看见文件目录相对比较简单。
我们直接阅读move_base_node.cpp
的源码:
可以看见这个文件只是一个包装的作用,大部分代码在move_base.cpp
里。
那么,我们打开这个文件:
这里在namespace move_base
里定义了一个MoveBase
类,里面用组合的方式持有了许多“导航部分”具体功能的对象,然后对外暴露成一个ros节点,巧妙地实现了高内聚低耦合。
3. 总结
以上就是move_base包的作用和源码分析。
经过了几周的阅读,我们也分析了ros导航的核心包裹的功能和源码。至此,整个13周的ros核心和导航部分的源码阅读过程正式告一段落。