我们主要研究其中最重要的move_base包。

在总体框架图中可以看到,move_base提供了ROS导航的配置、运行、交互接口,

它主要包括两个部分:

(1)全局路径规划(global planner):根据给定的目标位置进行总体路径的

规划;

(2)本地实时规划(local planner)

:根据附近的障碍物进行躲避路线规划。

一、数据结构

ROS

中定义了

MoveBaseActionGoal

数据结构来存储导航的目标位置数据,其中

最重要的就是位置坐标(position)和方向(orientation)。

rosmsg show MoveBaseActionGoal
[move_base_msgs/MoveBaseActionGoal]:
s
td_msgs/Header header
uint32 seq
time stamp
string frame_id
actionlib_msgs/GoalID goal_id
time stamp
string id
move_base_msgs/MoveBaseGoal goal
geometry_msgs/PoseStamped target_pose
std_msgs/Header header
uint32 seq
time stamp
string frame_id
geometry_msgs/Pose pose
geometry_msgs/Point position
float64 x
float64 y
float64 z
geometry_msgs/Quaternion orientation
float64 x