urdf模型搭建参考:https://www.cnblogs.com/IT-cute/p/12990162.html
gazebo插件控制:https://www.cnblogs.com/IT-cute/p/12990307.html
键盘控制节点:https://www.guyuehome.com/253

1. URDF文件简介

1.1 简介

  • 全称: Unified Robot Description Format 即:统一机器人描述性格式

1.2 URDF描述规范

  • 用一个文件描述一个机器人模型
  • 文件的后缀为.urdf
  • 文件的内容格式为xml格式
  • xml根节点为robot

1.3 各个语句含义

  • inertial 定义惯性
  • geometry 用来描述模块的形状和大小
  • origin 用来描述模块的位置;
  • material 并且设置 color 上色
  • material 指定颜色rgb和透明度a. 它们取值范围都是[0,1] 区间

2. 建模

2.1 创建简单的机器人模型–四轮小车

  • 安装urdf_tutorial包
sudo apt-get install ros-kinetic-urdf-tutorial
  • 创建ros工作空间
mkdir myrobot/src -p
cd myrobot/src
catkin_init_workspace
cd ..
catkin_make
  • 创建存放小车模型的功能包
cd  ~/myrobot/src/
catkin_create_pkg smartcar std_msgs rospy roscpp urdf
cd smartcar
mkdir urdf&launch
cd urdf 
gedit myrobot.urdf
  • 在myboot.urdf文件里面填入以下代码
<robot name="test_robot">  
  <link name="base_link">  
    <visual>  
       <geometry>  
         <box size="0.2 .3 .1"/>  
       </geometry>  
       <origin rpy="0 0 0" xyz="0 0 0.05"/>  
       <material name="white">  
         <color rgba="1 1 1 1"/>  
       </material>  
    </visual>  
  </link>  
  
  <link name="wheel_1">  
    <visual>  
      <geometry>  
        <cylinder length="0.05" radius="0.05"/>  
      </geometry>  
      <origin rpy="0 1.5 0" xyz="0.1 0.1 0"/>  
      <material name="black">  
        <color rgba="0 0 0 1"/>  
      </material>  
    </visual>  
  </link>  
  
  <link name="wheel_2">  
    <visual>  
      <geometry>  
        <cylinder length="0.05" radius="0.05"/>  
      </geometry>  
      <origin rpy="0 1.5 0" xyz="-0.1 0.1 0"/>  
      <material name="black"/>  
    </visual>  
  </link>  
  
  <link name="wheel_3">  
    <visual>  
      <geometry>  
        <cylinder length="0.05" radius="0.05"/>  
      </geometry>  
      <origin rpy="0 1.5 0" xyz="0.1 -0.1 0"/>  
      <material name="black"/>  
    </visual>  
  </link>  
  
  <link name="wheel_4">  
    <visual>  
      <geometry>  
        <cylinder length="0.05" radius="0.05"/>  
      </geometry>  
      <origin rpy="0 1.5 0" xyz="-0.1 -0.1 0"/>  
      <material name="black"/>  
    </visual>  
  </link>  
  
  <joint name="joint_base_wheel1" type="fixed">  
    <parent link="base_link"/>  
    <child link="wheel_1"/>  
  </joint>  
  
  <joint name="joint_base_wheel2" type="fixed">  
    <parent link="base_link"/>  
    <child link="wheel_2"/>  
  </joint>  
  
  <joint name="joint_base_wheel3" type="fixed">  
    <parent link="base_link"/>  
    <child link="wheel_3"/>  
  </joint>  
  
  <joint name="joint_base_wheel4" type="fixed">  
    <parent link="base_link"/>  
    <child link="wheel_4"/>  
  </joint>  
</robot> 
  • 在当前目录终端下输入以下命令查看文件是否书写正确
check_urdf 01_skeleton.urdf  
  • 出现如下页面,说明文件语法没有错误

3. 书写launch 文件

  • 在launch文件夹下建立car01.launch文件,里面输入以下代码
<!-- -->
<launch>
        <param name="robot_description"
        textfile="$(find little_car)/urdf/car01.urdf"/>   // 这一行需要更改为自己urdf文件所在位置
        
        <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher"/>
        
		<node name="rviz" pkg="rviz" type="rviz" respawn="false" output="screen"/>
</launch>

4. 启动launch

roslaunch smartcar car01.launch

4.1 在rviz里面将Fixed Frame 改为: base_link

4.2 点击Add添加 Robotmodel 即可查看自己构建的模型

在这里插入图片描述


版权声明:本文为qq_40660130原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_40660130/article/details/113606444