【ROS程序】 --- 3-4. URDF-XARCO文件简介

  1. 延用工作空间test2_ws;
  2. 功能包demo3_urdf存放代码;
  3. xacro的代码放在demo4_urdf/urdf/xacro/test.xacro中

简介

前边我们接触了urdf文件,它的特点就是详细具体的给出了每一个值,但是对于修改很不方便,一个参数修改很多地方都要变。就迎来了我们的xacro文件(可以编写完后转为xacro文件),它实现了变量封装、函数封装和多文件包含等功能。

文件语法

首先要在之前的urdf文件夹下,再新建一个xacro文件夹来存放之后的所有xacro文件。

定义变量

	<xacro:property name="radius" value="0.03" />
    <xacro:property name="PI" value="3.1415927" />

调用变量

    <lisilisi name="${PI}" />
    <zhangsan name="${radius}" />

变量间运算

    <shang name="${PI / 2}" />
    <he name="${radius + PI}" />

函数定义

    <xacro:macro name="getsum" params="num1    num2">
            <result value="${num1    +   num2}" />
    </xacro:macro>

函数调用

    <xacro:getsum   num1="1"    num2="5"    />

文件包含

 <xacro:include filename="mytest.xacro" />

xacro查看

在xacro文件路径打开命令行键入如下代码:

rosrun xacro xacro mytest.xacro

即可看到转换后的urdf文件,文件内容会输出在命令行中,如下:

$ rosrun xacro xacro mytest.xacro 
<?xml version="1.0" encoding="utf-8"?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from mytest.xacro                   | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="mycar">
  <!-- 变量调用 -->
  <lisilisi name="3.1415927"/>
  <zhangsan name="0.03"/>
  <!-- 变量运算 -->
  <shang name="1.57079635"/>
  <he name="3.1715927"/>
  <result value="6"/>
</robot>


如想要保存为urdf文件,可以键入如下代码:

rosrun xacro xacro mytest.xacro > uxcro2urdf.urdf

文件会在当前路径下保存。

最后

下一节将具体实现完整流程,以及集成到launch文件中(可以直接集成xacro/推荐)。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值