1. 程式人生 > >ROS中SLAM功能包補充

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方法

——》作用:實時避障