利用xacro代替urdf建模

UDRF在建立复杂模型时、缺少重用性、模块化、可编程型。
用xacro代替urdf

定义常量

<xacro:property	name="base_link_length"	value="0.01"/>
<xacro:property name="base_link_radius" value="0.2"/>
<cylibder length="{base_link_length}"	radius="{base_link_radius}"/>

数学表达式

<cylibder length="{base_link_length}"	radius="{base_link_radius+0.2}"/>

macro(宏)

<xacro:macro name="inertial_mat" params="mass"/>
<!--name 名字   params:参数-->
	<inertial>
		<mass value="${mass}">
			<inertia ixx="0.5" ixy="0" ixz="0" iyy="0.5" iyz="0.0" izz="0.5">
	</inertial>
</xacro:macro>
使用
<xacro:inertial_mat mass="1"/>

详细
xacro 转换为urdf

rosrun xacro xacro xxx.xacro --inorder > xxx.urdf

Transmissions
是机器人的传动系统,机器人每个需要运动的关节都需要配置相应的Transmission
如何配置transmissions

<transmission name="tran2"><!--定义一个关节变量 名为:tran2-->
    <type>transmission_interface/SimpleTransmission</type> 类型
    <joint name="swivel_J1"> 需要设置传动的关节名
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="motor2"> 驱动名
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>

一个实现关节控制的例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值