urdf文件的编写

本文详细介绍了URDF(UnifiedRobotDescriptionFormat)文件的基本结构,包括link、visual、geometry、material和joint元素,展示了如何在gazebo环境中使用一个简单的盒子模型,并介绍了惯性矩阵的计算方法。此外,还涉及了不同形状物体在urdf中的表示和gazebo进阶应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

编写urdf的工作空间需要导入urdf xacro这两个依赖
如果使用gazebo还需要导入gazebo_ros gazebo_ros_control gazebo_plugins

一、一个简单的urdf展示

下面展示一个盒子的模型,直接运行可在rviz
新建文件 1.urdf

<robot name="box">
	<!--建立基础杆件-->
    <link name="base_link">
    <!--子级编寫-->
        <visual>
			<!--盒子的基础属性-->
            <geometry>
            	<!--盒子的大小-->
                <box size="0.5 0.2 0.1" />
             </geometry>
             <!--盒子的颜色-->
             <material name="white">
                	<!--前三个是 red green blue 最后后一个是透明度-->
                 <color rgba="1 1 1 1" />
             </material>
             <!--盒子的位置和偏转-->
             <origin xyz="0 0 0" rpy="0 0 0" />
        </visual>
    </link>
</robot>

新建文件 1.launch

<launch>
  <!--載入urdf文件-->
  <param name="robot_description" textfile="$(find urdf01)/urdf/urdf/w_1.urdf" />
  <!--起動rviz-->
  <node pkg="rviz" type="rviz" name="rviz"/>
</launch>

二、urdf文件基本结构的分析

robot

最大的父级标签

<robot name="box">
	~
</robot>

link

杆件
杆件的大部分属性都在这里编辑

<robot name="box">
	 <link name="base_link">
	 	~
	 </link>
</robot>
visual

杆件的大部分属性都在这里编辑

<robot name="box">
	 <link name="base_link">
	 	<visual>
	 		~
	 	</visual>
	 </link>
</robot>
geometry
<geometry>
	<!--盒子-->
	<!--box size="0.1 0.1 0.1"-->
	<!--球体-->
	<sphere radius="0.1">
	<!--圆柱-->
	<cylinder redius="0.1" length="0.1">
</geometry>
material
<material name="white">
	<color rgba="1 1 1 1">
</material >
origin
<origin xyz="0 0 0" rpy="0 0 0">

joint

这是例子中没有给出来的部分,意思是关节,需要有两个及以上的link才能添加

  <joint name="joint2" type="fixed">
        <parent link="base_site" />
        <child link="site"/>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <axis xyz="0 1 0/>
    </joint>
joint–type
continuous 单轴无限旋转
revolute 有限制的旋转
prismatic 有限制的平移
planer 在正交面上旋转平移
floating 可以平移和旋转
fixed 固定关节
joint–parent
父关节
joint–child
子关节
joint–axis
旋转轴

三.编写进阶-gazebo

新建一个urdf文件2.urdf
还是刚才的盒子

<robot name="box">
	<!--建立基础杆件-->
    <link name="base_link">
    <!--子级编寫-->
        <visual>
			<!--盒子的基础属性-->
            <geometry>
            	<!--盒子的大小-->
                <box size="0.5 0.2 0.1" />
             </geometry>
             <!--盒子的颜色-->
             <material name="white">
                	<!--前三个是 red green blue 最后后一个是透明度-->
                 <color rgba="1 1 1 1" />
             </material>
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值