文章目录
2)新建xacro_test功能包,导入依赖urdf 、xacro
3)在urdf目录下新建xacro文件夹,编写mycar.xacro文件
1)在launch目录下,新建一个 mycar.launch 文件
前言
当我们创建复杂的机器人模型时,URDF的灵活性将会降低。URDF缺少的主要特性是简单性、可重用性、模块化和可编程性。
当你想在机器人描述中重复使用URDF代码块10次,你需要复制粘贴10次。而Xacro可以在机器人描述中创建宏并重用宏。此外,它还可以包含来自其他文件的宏,使代码更简单、更易读和更模块化。
一、目的
简单了解 Xacro 的基本语法,使用Xacro使用变量封装底盘的半径、高度,使用数学公式动态计算底盘的关节点坐标,使用 Xacro 宏封装轮子重复的代码并调用宏创建两个轮子
二、Xacro基本语法
1.属性与算数运算
属性的定义:<xacro:property name="xxxx" value="yyyy" />
属性调用: ${属性名称}
算数运算: ${数学表达式}例: <xacro:property name=“PI" value=“3.14" />
${PI}
${PI/2}
2.宏
宏的定义:
<xacro:macro name="宏名称" params="参数列表(多参数之间使用空格分隔)">参数调用格式:
</xacro:macro>宏的调用:
<xacro:宏名称 参数1=“xxx“ 参数2=“xxx“/>
3.文件包含
机器人由多部件组成,不同部件可封装为单独的 xacro 文件,最后再将不同的文件集成,组合为完整机器人,可以使用文件包含实现。
例如:
my_robot.xacro = my_base.xacro + my_camera.xacro + my_laser.xacro<robot name=“my_robot" xmlns:xacro="http://wiki.ros.org/xacro">
<xacro:include filename="my_base.xacro" />
<xacro:include filename="my_camera.xacro" />
<xacro:include filename="my_laser.xacro" />
....
</robot>
三、小车底盘模型实现
1、编写xacro文件
1)xacro文件放哪
放在src的urdf文件夹中,可以在其目录下再创一个xacro文件夹
2)新建xacro_test功能包,导入依赖urdf 、xacro
cd ~/robot01/src
catkin_create_pkg xacro_test urdf xacro
在当前功能包下,再新建几个目录:
urdf
: 存储 urdf 文件的目录
meshes
:机器人模型渲染文件(暂不使用)
config
: 配置文件
launch
: 存储 launch 启动文件
cd ~/robot01/sr