ROS使用介绍——URDF

URDF全称为Unified Robot Description Format,中文可以翻译为“统一机器人描述格式”。与计算机文件中的.txt文本格式、.jpg图像格式等类似,URDF是一种基于XML规范、用于描述机器人结构的格式。根据该格式的设计者所言,设计这一格式的目的在于提供一种尽可能通用(as general as possible)的机器人描述规范。

其实最好的urdf入门教程是ROS Wiki里的教程。这里主要是按照自己实际接触的进行总结。URDF能设置的属性有很多,但在项目刚开始时并不需要那么多,也没必要浪费太多精力在外观上,因此,本博客将根据后续会引入的其余特性持续更新。

文章目录

初始的四轮demo

最初的需求是弄出一个四轮小车的样子,形象来讲也就是一个立方体加四个圆柱体的组合。代码如下:

<?xml version="1.0"?>
<robot name = "scout_xu">
    <link name="base_link">
        <visual>
            <geometry>
                <box size="0.2 0.3 0.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_RF">
        <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_LF">
        <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_RB">
        <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_LB">
        <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= "base_to_wheel_RF" type="fixed">
        <parent link="base_link"/>
        <child link="wheel_RF"/>
        <origin xyz="0 0 0 "/>
    </joint>

    <joint name= "base_to_wheel_LF" type="fixed">
        <parent link="base_link"/>
        <child link="wheel_LF"/>
        <origin xyz="0 0 0 "/>
    </joint>

    <joint name= "base_to_wheel_RB" type="fixed">
        <parent link="base_link"/>
        <child link="wheel_RB"/>
        <origin xyz="0 0 0"/>
    </joint>

    <joint name= "base_to_wheel_LB" type="fixed">
        <parent link="base_link"/>
        <child link="wheel_LB"/>
        <origin xyz="0 0 0"/>
    </joint>
</robot>

建好后,起名为myfirst.urdf。可以使用check_urdf来检查下是否是一个有效的urdf文件。

check_urdf myfirst.urdf

输出结果应当为:

robot name is: scout_xu
---------- Successfully Parsed XML ---------------
root Link: base_link has 4 child(ren)
    child(1):  wheel_LB
    child(2):  wheel_LF
    child(3):  wheel_RB
    child(4):  wheel_RF

表示有一个base_link,并有四个子零件与他相连。
想在rviz中进行可视化则可运行下面命令:

roslaunch urdf_tutorial display.launch model:=myfirst.urdf

这个命令会报错,提示没有GUI,这也是正常的,因为我们的urdf里没涉及这一块,暂时不用理会。可以看到可视化效果大概是下面这个样子的。
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值