ROS stage_ros 与world 模型 的讲解

satge_ros 原文链接 http://wiki.ros.org/stage_ros

stage_ros 包中的仿真机器人发布虚拟激光数据 并接受cmd_vel 数据控制机器人移动

stage_ros 发布的话题有

odom (nav_msgs/Odometry) base_scan (sensor_msgs/LaserScan)

base_pose_ground_truth (nav_msgs/Odometry) image (sensor_msgs/Image) depth (sensor_msgs/Image)camera_info (sensor_msgs/CameraInfo)

注意这个是单个机器人发布出来的话题 若有多个机器人 则按顺序排布下来 例如

robot_0/odom robot_0/cmd_vel robot_0/base_scan

robot_1/odom robot_1/cmd_vel robot_1/base_scan

robot_2/odom robot_2/cmd_vel robot_2/base_scan

...


world模型中 原文链接 http://rtv.github.io/Stage/modules.html

有基本的几种模型

  • Actuator model
  • Blinkenlight model
  • Blobfinder model
  • Camera model
  • Fiducial detector model
  • Gripper model
  • Position model
  • Ranger model
  • Wifi model
position model 是机器人本体移动的模型 ranger model 是激光雷达数据的模型

具体的使用看原文说明

define kinect ranger
(
  sensor
  (
    range [0.05 10] 激光的范围
    fov 210.0 角度
    samples 700 激光束
  )
  # generic model properties
  color "yellow" 颜色
  size [ 0.4 0.4 0.1 ] 大小
)
define block model
(
  size [0.4 0.400 0.100] 大小
  gui_nose 0 是否有指示箭头
)
define turtlebot position positoin 默认两轮驱动模型 diff 还有 omni模型
(
  pose [ 0.0 0.0 0.0 0.0 ]
  odom_error [0.03 0.03 999999 999999 999999 0.02] 里程计误差

  size [ 1.3 0.8 0.40 ]
  origin [ 0.0 0.0 0.0 0.0 ]
  gui_nose 1
  drive "omni"
  color "gray"
  block(pose [0.7000 0.000 0.000 0.000 ] color "red")
  kinect(pose [ 0.65 0.0 0.3 0.0 ])
)

控制机器人移动就在相应的cmd_vel话题下发布速度命令就可以了


你可能感兴趣的:(ROS)