xaro、urdf与rviz
前言
本文主要是跟着audolabor学习ROS笔记,多为操作性质,并从另一种角度对实现的顺序进行调整,想要多学习,可以参考autolabor教程
motivation
xacro可以封装urdf定义,在机器人的构型中,如果直接编写urdf文件有两个不便利的地方
- 没有变量定义,在计算一些数的时候需要重复计算
- 没有函数,机器人很多零件都是高度一致的,但是urdf中,只能一个零件编写一次复杂的代码
而ros提供xacro,xacro是一种编程方法,可以使用属性和宏定义简写urdf文件。
xacro语法
变量
<!--定义-->
<xacro:property name="varible" value="d123" />
<!--调用-->
<link name="${varible}" />
此时link的name自动替换成d123
函数
<!--定义-->
<xacro:macro name="func" params="v1 v2">
<!--代码块-->
</xacro:macro>
<!--调用-->
<xacro:func v1="" v2="" />
使用宏定义的方式,可以使用一行代码,带入参数,就可以完成代码块的编写
使用方法
1, 将xacro生成urdf文件,在终端输入
会生成text.urdf文件
2,和rviz混合使用,在输入参数时,改为以下代码
<param name="robot_description" command="$(find xacro)/xacro $(find demo01_urdf_helloworld)/urdf/xacro/my_base.urdf.xacro" />