Xacro快速上手流程

本文介绍了ROS中的Xacro语言,用于简化和模块化URDF机器人描述。通过一个实例,详细讲解了如何创建、集成和在rviz中展示小车底盘模型,包括Xacro的基本语法,如属性、算数运算、宏和文件包含,并提供了具体操作步骤。

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

文章目录

前言

一、目的

二、Xacro基本语法

1.属性与算数运算

2.宏

 3.文件包含

三、小车底盘模型实现

1、编写xacro文件

1)xacro文件放哪

2)新建xacro_test功能包,导入依赖urdf 、xacro

 3)在urdf目录下新建xacro文件夹,编写mycar.xacro文件

2、集成launch文件

1)在launch目录下,新建一个 mycar.launch 文件

2)launch文件集成

3、在rviz中显示机器人模型


前言

当我们创建复杂的机器人模型时,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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值