ROS1学习笔记--xacro

xacro文件是URDF文件的增强形式,用于简化机器人模型描述。它可以定义常量、变量和宏,实现代码复用。本文介绍了如何定义常量、变量及宏,并给出了包含传动件和插件的示例。
摘要由CSDN通过智能技术生成

        xacro文件是urdf文件的进阶版,可以通过宏定义文件包含来精简模型文件。还可以通过定义常量、变量等来反复调用,相当有用哦~~

先贴代码:

<?xml version="1.0" ?>
<robot name="fourwheelrobot" xmlns:xacro="http://www.ros.org/wiki/xacro">
 <!--Defineing namespace-->

  <!--property list -->
  <xacro:property name="M_PI" value="3.141592"/>
  <xacro:property name="base_mass"   value="20" /> 
  <xacro:property name="base_length" value="0.80"/>
  <xacro:property name="base_width" value="0.550"/>
  <xacro:property name="base_height" value="0.30"/>

  <xacro:property name="wheel_mass"   value="2" />
  <xacro:property name="wheel_radius" value="0.122"/>
  <xacro:property name="wheel_length" value="0.062"/>
  <xacro:property name="wheel_joint_x" value="0.25"/>
  <xacro:property name="wheel_joint_y" value="0.306"/>
  <xacro:property name="wheel_joint_z" value="-0.1"/> 

  <!--Defineing the colors-->
  <material name="black">
    <color rgba="0 0 0 1"/>
  </material>
  <material name="yellow">
    <color rgba="1 0.4 0 1"/>
  </material>

  <!-- Macro for inertia matrix -->
   <xacro:macro name="cylinder_inertial_matrix" params="m r h">
     <inertial>
        <mass value="${m}" />
        <inertia ixx="${m*(3*r*r+h*h)/12}" ixy = "0" ixz = "0"
           iyy="${m*(3*r*r+h*h)/12}" iyz = "0"
           izz="${m*r*r/2}" /> 
        </inertial>
    </xacro:macro>

    <xacro:macro name="box_inertial_matrix" params="m a b c">
       <inertial>
          <mass value="${m}" />
           <inertia ixx="${m*(b*b+c*c)/12}" ixy = "0" ixz = "0"
              iyy="${m*(c*c+a*a)/12}" iyz = "0"
        
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值