7. Controlling a Mobile Base

2018-08-24  本文已影响0人  jujiaqi

单位和坐标系

坐标系.png

运动控制层次

base controller:

move_base:

基于地图的导航、路径规划、移动控制

gmapping

基于激光雷达的 SLAM

amcl

定位

语义控制

“去打瓶酱油”

不同层面的运动控制

通过消息控制小车移动

主题:

查看 Twist 消息的格式:

 rosmsg show geometry_msgs/Twist
geometry_msgs/Vector3 linear
float64 x
float64 y
float64 z
geometry_msgs/Vector3 angular
float64 x
float64 y
float64 z

二轮差速小车只使用:

rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y:
0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'

校准

linear 校准

angular 校准

基于时间估计的往返运动

基于里程计的往返运动

基于里程计的往返运动

里程计

 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
      float64 x
      float64 y
      float64 z
    geometry_msgs/Quaternion orientation
      float64 x
      float64 y
      float64 z
      float64 w
  float64[36] covariance
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

tf tree

rviz 显示 tf tree

基于里程计的画方格运动

基于里程计的画矩形运动

手动控制

上一篇下一篇

猜你喜欢

热点阅读