ROS_mooc仿真环境的相关说明
1、文件夹包含内容详细说明
├── CMakeLists.txt
├── launch
│ ├── include
│ │ └── xbot-u.launch.xml #机器人模型(设置机器人初始位置)
│ └── robot_spawn.launch #启动launch文件显示仿真环境
├── models #仿真空间
│ ├── ISCAS_groundplane #地板
│ │ ├── materials
│ │ │ ├── scripts
│ │ │ │ └── ISCAS_groundplane.material
│ │ │ └── textures
│ │ │ ├── ISCAS_groundplane.png
│ │ │ └── lALPGpNybAwSyFTNAljNAlg_600_600.png
│ │ ├── model.config
│ │ └── model.sdf
│ ├── ISCAS_Museum #墙面
│ │ ├── meshes
│ │ │ ├── ISCAS_museum.dae
│ │ │ ├── zd_011.jpg
│ │ │ ├── zd_021.jpg
│ │ │ ├── zd_031.jpg
│ │ │ └── zd_041.jpg
│ │ ├── model.config
│ │ └── model.sdf
│ ├── ISCAS_post
│ │ ├── meshes
│ │ │ └── post.dae
│ │ ├── model.config
│ │ └── model.sdf
│ └── meshes #各个模型渲染的部分包括基底以及pitch、yaw平台以及相机和激光雷 达
│ ├── base_link.dae
│ ├── pitch_platform.dae
│ ├── realsense.dae
│ ├── rplidar.dae
│ ├── sick_tim571.stl
│ ├── uvtietu.jpg
│ ├── wheel.dae
│ ├── wheel.jpg
│ ├── xtion_pro_camera.dae
│ ├── xtion_pro_camera.jpg
│ └── yaw_platform.dae
├── package.xml
├── param
│ ├── mux.yaml #订阅话题以及发布话题的相关参数设置
│ └── xbot-u_control.yaml #机器人控制参数的设置(PID)
├── README.md
├── scripts
│ └── robot_keyboard_teleop.py
├── simulation_pic.png
├── urdf #构建机器人模型
│ ├── materials.xacro #颜色设置
│ ├── robot.urdf #urdf文件是通过xacro文件转换自动生成的(xacro文件比较精简, urdf文件比较复杂)
│ ├── robot.xacro #机器人整体模型文件(可以选择激光雷达的类型)包含该文件下的所有文 件
│ ├── sick_tim.gv #使用命令生成的<urdf_to_graphiz robot.urdf>
│ ├── sick_tim.pdf #显示整个机器人模型的连接关系
│ ├── sick_tim.urdf.xacro #激光雷达模型(多种激光雷达,包括rplidarA2、sick_tim310、 551、571等)
│ ├── xbot-u.gazebo
│ └── xbot-u.urdf.xacro #机器人模型所需要的各个部分可以通过可以通过rqt_tf_tree查看各个 link和joint之间的连接关系
└── worlds
└── ROS-Academy.world
2、urdf文件中具体参数解释
<mass value="35" /> #质量
<geometry>
<mesh filename="package://robot_sim_demo/models/meshes/base_link.dae" /> #放置urdf中引用的模型渲染文件
<sphere radius="0.019"/> #球
<cylinder length="0.08" radius="0.045"/> #圆柱
</geometry>
<joint type="continuous" name="left_wheel_hinge"> #continuous旋转关节,可以围绕单轴无限旋转
<limit> #运动的一些极限值,包括关节运动的上下位置、速度限制以及力矩限制
<joint_properties damping="0.0" friction="0.0"/># damping表示阻尼,friction表示摩擦
3、gazebo文件中具体参数解释说明
<?xml version="1.0"?>
<robot >
#差速驱动插件,很多机器人本体都采用差速驱动的方式,指定运动控制需要订阅的话题,让机器人在gazebo中动起来
<gazebo>
<plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so">
<odometryTopic>odom</odometryTopic>
<odometryFrame>odom</odometryFrame>
<commandTopic>cmd_vel</commandTopic>
<legacyMode>false</legacyMode>
<alwaysOn>true</alwaysOn>
<updateRate>50</updateRate>
<leftJoint>left_wheel_hinge</leftJoint>
<rightJoint>right_wheel_hinge</rightJoint>
<wheelSeparation>0.46</wheelSeparation> #轮距
<wheelDiameter>0.19</wheelDiameter> #车轮直径
<torque>10.4</torque> #扭矩
<wheelAcceleration>1</wheelAcceleration>
<robotBaseFrame>base_footprint</robotBaseFrame>
<publishTf>true</publishTf>
<publishWheelTF>true</publishWheelTF>
<publishWheelJointState>true</publishWheelJointState>
</plugin>