ROS中SLAM功能包補充
1、機器人的里程計資訊:
rosmsg show nav_msgs/Odometry
std_msgs/Header header
uint32 seq //訊息序列序號
time stamp //時間戳
string frame_id //座標系
string child_frame_id
geometry_msgs/PoseWithCovariance pose
geometry_msgs/Pose pose
geometry_msgs/Point position //XYZ位置資訊
float64 x
float64 y
float64 z
geometry_msgs/Quaternion orientation //以四元素形式描述的姿態位置
float64 x
float64 y
float64 z
float64 w
float64[36] covariance //協方差矩陣,作里程計的位置估算,kf計算的時候會用到
geometry_msgs/TwistWithCovariance twist
geometry_msgs/Twist twist
geometry_msgs/Vector3 linear //線速度資訊
float64 x
float64 y
float64 z
geometry_msgs/Vector3 angular //角速度資訊
float64 x
float64 y
float64 z
float64[36] covariance
2、
hector_slam功能包:基於高斯牛頓的方法,不需要里程計資料;
而gmapping方法:基於RBPf的粒子濾波演算法,需要機器人提供里程計資訊。
3、ROS系統裡的座標系方向:
4、move_base包:
全域性路徑規劃(global planer)
——》使用Dijkstra方法和A*方法。
——》作用:實現全域性最優路徑規劃
本地實時規劃(local planer)
——》Trajectory Rollout和Dynamic Window Approaches方法
——》作用:實時避障