ROS kinetic gazebo物理仿真

Gazebo 模型库 下载地址
    https://bitbucket.org/osrf/gazebo_models/downloads/?tab=downloads
    放置到下面文件夹
    kinetic@vm:~/.gazebo$ unzip osrf-gazebo_models-2f35ffe0d4d3.zip
    kinetic@vm:~/.gazebo$ mv osrf-gazebo_models-2f35ffe0d4d3 models
    kinetic@vm:~/.gazebo$ rm -rf osrf-gazebo_models-2f35ffe0d4d3.zip
    保存到 ~/.gazebo/models

配置物理仿真模型
    为link添加惯性参数(inertial)和碰撞属性(collision)
    为link添加gazebo标签,如颜色
    为joint添加传动装置(transmission),如电机  
    添加gazebo控制器插件
            /    机器人命名空间
            left_wheel_joint
            right_wheel_joint    左右轮转动的关节
            ${wheel_joint_y*2}    轮子的间距,尺寸,进行差速计算使用
            cmd_vel 控制器订阅的话题,如速度控制指令
            odom 里程计数据的参考坐标系
            odom    里程计信息的发布,如发布到的话题 odom
            base_footprint 机器人控制的坐标系
            
运行程序
kinetic@vm:~/catkin_ws/src/mbot_gazebo/launch$ roslaunch mbot_gazebo view_mbot_gazebo_empty_world.launch
创建仿真环境
        直接添加环境模型    : insert
        使用 Building Editor    :  Edit -> Building Editor

运行程序
ubuntu@T430:~$ roslaunch mbot_gazebo view_mbot_gazebo_play_ground.launch
ubuntu@T430:~$ rostopic list
/clock
/cmd_vel
/gazebo/link_states
/gazebo/model_states
/gazebo/parameter_descriptions
/gazebo/parameter_updates
/gazebo/set_link_state
/gazebo/set_model_state
/joint_states
/odom
/rosout
/rosout_agg
/tf
/tf_static
ubuntu@T430:~$ roslaunch mbot_teleop mbot_teleop.launch

传感器仿真
摄像头

标签:描述传感器
        type : 传感器类型,camera
        name:摄像头命名,自由设置
标签:描述摄像头参数
        分辨率,编码格式,图像范围,噪音参数等
标签:加载摄像头仿真插件
        libgazebo_ros_camera.so
        设置插件的命名空间、发布图像的话题、参考坐标系等。
kinect仿真运行
ubuntu@T430:~$ roslaunch mbot_gazebo view_mbot_with_kinect_gazebo.launch
ubuntu@T430:~$ rosrun rviz rviz
ubuntu@T430:~$ roslaunch mbot_teleop mbot_teleop.launch
激光雷达仿真
ubuntu@T430:~$ roslaunch mbot_gazebo view_mbot_with_laser_gazebo.launch
ubuntu@T430:~$ rosrun rviz rviz
ubuntu@T430:~$ roslaunch mbot_teleop mbot_teleop.launch
ubuntu@T430:~$ rosmsg show sensor_msgs/LaserScan
std_msgs/Header header
  uint32 seq
  time stamp
  string frame_id
float32 angle_min
float32 angle_max
float32 angle_increment
float32 time_increment
float32 scan_time
float32 range_min
float32 range_max
float32[] ranges
float32[] intensities

参考
xacro 使用方法 : http://wiki.ros.org/xacro
rviz 与 Gazebo 的区别 :  https://www.zhihu.com/question/268658280/answer/340190866
Gazebo 仿真教程 :  http://www.gazebosim.org/tutorials
ros_control :  http://www.guyuehome.com/890
使用 gazebo 中的插件: http://www.guyuehome.com/388

你可能感兴趣的:(ROS)