ROS机器人 (一) : URDF模型搭建小车

8 篇文章 2 订阅
2 篇文章 2 订阅

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 即可查看自己构建的模型

在这里插入图片描述

  • 7
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人生不过一闭一睁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值