ROS机器人016-RoBomaster机器人URDF模型进化-xacro模型

xcaro机器人模型优点

1.精简模型代码
创建宏定义
文件包含
2.提供可编程接口
常量
变量
数学计算
条件语句
常量定义:

<xacro:property name="M_PI/" value="3.14159"/>

常量使用:

<origin xyz="0 0 0" rpy="${M_PI/2} 0 0"/>

数学计算:

<origin xyz="0 ${(motor_length+wheel_length)/2} 0" rpy="0 0 0"/>

注意:所有数学运算都会转换成浮点数进行,以保证运算精度
URDF模型优化–宏定义
宏定义:

<xacro:macro name="name" params="A B C">
......
</xacro:macro>

宏调用:

<name A="A_value" B="B_value" C="C_value" />

文件包含

<xacro:include filename="$(find mbot_description)/urdf/xacro/mbot_base.xacro" />
<xacro:include filename="(find mbot_description) /urdf/xacro/sensors/camera.xacro" />

新建launch文件

vim Yarbotix_mbot_with_camera_xacro.launch
<launch>
        <arg name="model" default="$(find xacro)/xacro --inorder '$(find mbot_description)/urdf/xacro/Ymbot_with_camera.xacro'" />
        <arg name="gui" default="false" />

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

    <!-- 设置GUI参数,显示关节控制插件 -->
        <param name="use_gui" value="$(arg gui)"/>

        <node name="arbotix" pkg="arbotix_python" type="arbotix_driver" output="screen">
        <rosparam file="$(find mbot_description)/config/fake_mbot_arbotix.yaml" command="load" />
        <param name="sim" value="true"/>
    </node>

    <!-- 运行joint_state_publisher节点,发布机器人的关节状态  -->
        <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />

        <!-- 运行robot_state_publisher节点,发布tf  -->
        <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />

    <!-- 运行rviz可视化界面 -->
        <node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_arbotix.rviz" required="true" />
</launch>

新建Ymbot_with_camera.xacro

<?xml version="1.0"?>
<robot name="arm" xmlns:xacro="http://www.ros.org/wiki/xacro">

    <xacro:include filename="$(find mbot_description)/urdf/xacro/Ymbot_base.xacro" />
    <xacro:include filename="$(find mbot_description)/urdf/xacro/sensors/camera.xacro" />
    <xacro:property name="camera_offset_x" value="0.17" />
    <xacro:property name="camera_offset_y" value="0" />
    <xacro:property name="camera_offset_z" value="0.0775" />

    <xacro:include filename="$(find mbot_description)/urdf/xacro/sensors/lidar.xacro" />
    <xacro:property name="lidar_offset_x" value=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值