赞
踩
日期:2021/11/07
1、 简介
Xacro(XML Macros)Xacro是一种XML宏语言。 使用xacro,您可以通过使用宏命令构建更精悍短小但又具有更高可读性的XML文件,这种宏命令可以扩展达到更大的XML表达范围。
2、特点
xacro是一个精简版本的urdf文件,可以通过创建宏定义的方式创建常量或者复用代码,可以让模型更简洁。
xacro的语法支持一些API接口,如常量、变量、数学公式等,可以让代码更加智能有效。
3、几个使用的例子
定义常量:
<xacro:property name="PI" value="3.14159" />
调用数学公式:
<circle circumference="${2.5 * pi}" />
使用xacro的几个关键点:
<?xml version="1.0"?>
<robot name="testrobot" xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find testrobot_description)/urdf/testrobot_body.urdf.xacro" />
<!-- Robot机器人平台 -->
<testrobot_body/>
</robot>
rosrun xacro xacro.py robot.xacro >robot.urdf
另一种是在launch文件中直接调用xacro解析器,这也是更加常用的方法:
<arg name="model" default="$(find xacro)/xacro --inorder '$(find testrobot_description)/urdf/testrobot.urdf.xacro'" />
<param name="robot_description" command="$(arg model)" />
在完成上述配置后,既可以运行修改后的launch文件,在rviz中显示模型。
参考:http://wiki.ros.org/xacro
<node name="arbotix" pkg="arbotix_python" type="arbotix_driver" output="screen">
<rosparam file="$(find testrobot_description)/config/testrobot_arbotix.yaml" command="load" />
<param name="sim" value="true"/>
</node>
添加完成后,再运行该launch文件,然后再运行键盘控制节点,就可通过键盘进行控制。
在键盘控制测试完成后,写了一个直线运动的cpp对小车进行控制,并用rqt_plot工具显示启停的速度曲线,如下图所示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。