ROS学习笔记------ROS机器人系统设计-----基础编程 day 8 2019/3/7 帅某(Kinect的安装,xarco模型,xarco---urdf模型,gazebo物理仿真环境的搭建)

版权声明:转载请注释出处,帅某不胜感激。 https://blog.csdn.net/weixin_43262513/article/details/88089121

一 Kinect的安装

步骤如下:

sudo apt-get install ros-kinetic-freenect-*       (*意思是通配符,只要前缀是ros-kinetic-freenect-的都安装,zsh不支持)
git clone https://github.com/avin2/SensorKinect.git
cd SensorKinect/Bin
tar xvf SensorKinect093-Bin-Linux-x64-v5.1.2.1.tar.bz2         (64位的,32 位的把64换成86)
cd Sensor-Bin-Linux-x64-v5.1.2.1                               (64位的,32 位的把64换成86)
sudo ./install.sh 

在这里插入图片描述

二 机器人urdf模型的优化-----xacro模型

1.常量的定义
在这里插入图片描述
2.数学计算
注:所有的运算都会先转换为浮点数运行,以保证精度
在这里插入图片描述
3.宏定义(类似于C语言中的函数模块)
在这里插入图片描述
4.文件包含(类似于C语言中的#include“”头文件“”)
在这里插入图片描述
5.优化后的文件

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

    <!-- PROPERTY LIST -->
    <xacro:property name="M_PI" value="3.1415926"/>
    <xacro:property name="base_radius" value="0.20"/>
    <xacro:property name="base_length" value="0.16"/>

    <xacro:property name="wheel_radius" value="0.06"/>
    <xacro:property name="wheel_length" value="0.025"/>
    <xacro:property name="wheel_joint_y" value="0.19"/>
    <xacro:property name="wheel_joint_z" value="0.05"/>

    <xacro:property name="caster_radius" value="0.015"/> <!-- wheel_radius - ( base_length/2 - wheel_joint_z) -->
    <xacro:property name="caster_joint_x" value="0.18"/>

    <!-- Defining the colors used in this robot -->
    <material name="yellow">
        <color rgba="1 0.4 0 1"/>
    </material>
    <material name="black">
        <color rgba="0 0 0 0.95"/>
    </material>
    <material name="gray">
        <color rgba="0.75 0.75 0.75 1"/>
    </material>

    <!-- Macro for robot wheel -->
    <xacro:macro name="wheel" params="prefix reflect">
        <joint name="${prefix}_wheel_joint" type="continuous">
            <origin xyz="0 ${reflect*wheel_joint_y} ${-wheel_joint_z}" rpy="0 0 0"/>
            <parent link="base_link"/>
            <child link="${prefix}_wheel_link"/>
            <axis xyz="0 1 0"/>
        </joint>

        <link name="${prefix}_wheel_link">
            <visual>
                <origin xyz="0 0 0" rpy="${M_PI/2} 0 0" />
                <geometry>
                    <cylinder radius="${wheel_radius}" length = "${wheel_length}"/>
                </geometry>
                <material name="gray" />
            </visual>
        </link>
    </xacro:macro>

    <!-- Macro for robot caster -->
    <xacro:macro name="caster" params="prefix reflect">                                                             

三 模型显示

方法一-------把xarco文件转换为urdf文件:
在这里插入图片描述
方法二----------直接调用xacro文件你解析器
在对应的launch文件中加入:

    <arg name="model" default="$(find xacro)/xacro --inorder '$(find mbot_description)/urdf/xacro/mbot.xacro'" />
	<arg name="gui" default="true" />

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43262513/article/details/88089121