ROS kinetic xacro模型文件

这篇博客详细介绍了ROS kinetic中的xacro模型文件,它能优化URDF模型,简化代码,提供常量定义、数学计算、宏定义及文件包含等功能。通过xacro,可以实现模型的可编程接口,如常量的引用、宏的调用和文件的包含。博客还演示了如何将xacro转换为URDF文件,并提供了运行示例来展示模型和控制运动。
摘要由CSDN通过智能技术生成

xacro 是优化后的URDF模型
    精简模型代码:创建宏定义、文件包含
    提供可编程接口:常量、变量、数学计算、条件语句

常量定义
        <xacro:property name="M_PI" value="3.14159" />        常量名 M_PI,值为3.14159

常量使用
        <origin xyz="0 0 0" rpy="${M_PI/2} 0 0" />        引用常量 ${M_PI/2}

数学计算   所有数学运算都会转换成浮点数进行,以保证运算精度
        <origin xyz="0 ${(motor_length+wheel_length)/2} 0" rpy="0 0 0" />

宏定义
        <xacro:macro name="name" params="A B C">        宏的名字name
        ...
        </xacro:macro>

宏调用 
        <name A="A_value" B="B_value" C="C_value" />    对宏参数进行赋值

文件包含
        <xacro:include filename="$(find mbot_description)/urdf/xacro/mbot_base.xacro" />

将xacro文件转换为URDF文件后显示
        $ rosrun xacro xacro.py 文件名.xacro > 文件名.urdf

直接调用xacro文件解析器
        <arg name="model" default="$(find xacro)/xacro --inorder '$(find 包名)/urdf/xacro/文件名.xacro'" />

        <param name="" command="$(arg model)" />

xacro 文件转换为 urdf文件
kinetic@vm:~/catkin_ws/src/mbot_description/urdf/xacro$ ls
gazebo  mbot_base.xacro  mbot_with_camera.xacro  mbot.xacro  sensors
kinetic@vm:~/catkin_ws/src/mbot_description/urdf/xacro$ rosrun xacro xacro.py mbot.xacro > mbot.urdf
kinetic@vm:~/catkin_ws/src/mbot_description/urdf/xacro$ ls
gazebo  mbot_base.xacro  mbot.urdf  mbot_with_camera.xacro  mbot.xacro  sensors

1、运行程序  模型
kinetic@vm:~/catkin_ws/src/mbot_description/launch/xacro$ roslaunch mbot_description display_mbot_base_xacro.launch

2、运行程序  控制运动
kinetic@vm:~/catkin_ws/src/mbot_description/launch/xacro$ roslaunch mbot_description  arbotix_mbot_with_camera_xacro.launch 
kinetic@vm:~/catkin_ws/src/mbot_teleop/launch$ roslaunch mbot_teleop mbot_teleop.launch
点击: i 前进,l 旋转, q 加速。
kinetic@vm:~$ rostopic list 
/clicked_point
/cmd_vel
/diagnostics
/initialpose
/joint_states
/move_base_simple/goal
/odom
/rosout
/rosout_agg
/tf
/tf_static



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值