ros机械臂仿真教程

1、编写urdf文件


// 创建工作空间
mkdir -p /home/hzx/autolabor_ws/teacher_zhao/catkin_ws/src
cd  /home/hzx/autolabor_ws/teacher_zhao/catkin_ws
catkin_make 

// 创建功能包
cd src
catkin_create_pkg urdf_demo urdf		// 创建名为urdf_demo的功能包 并 载入依赖 urdf
cd urdf_demo
mkdir -p urdf/urdf
mkdir launch
mkdir config
mkdir meshes


// 编写urdf相关
cd urdf/urdf
gedit urdf_demo.urdf
// 填入如下内容

在这里插入图片描述


<!-- urdf_demo.urdf -->

<?xml version="1.0" encoding="utf-8"?>
<robot name="demo"> 		 								<!-- 机器人名字【机器人可能由多个部件构成】 -->
  <link name="base_link">  										<!-- 机器人部件的刚体部分link -->
    <visual>  													<!-- 1、部件的可视化,看起来是什么样子 -->
      <geometry>  													<!-- 部件的几何模型 -->
        <box size="0.5 0.2 0.1"  />      											<!-- 盒子形状 尺寸 -->
      </geometry> 													<!-- /部件的几何模型 -->
      <origin xyz="0 0 0" rpy="0 0 0" />			   						<!-- 此部件相对于其上一级 joint 的相对安装位置与姿态 -->
      <material name="Blue">												<!-- 此部件的颜色 -->
        <color rgba="0 1 1 1"/>										            		<!-- 通过三原色与透明度来确定 -->
      </material>													<!-- /此部件的颜色 -->
    </visual>  													<!-- /部件的可视化,看起来是什么样子 -->

    <inertial>													<!-- 2、部件的转动惯量 -->
      <mass value="4.0"/>												<!-- 部件质量 -->
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>										<!-- 部件位置和姿态 -->
      <inertia ixx="0.00443333156" ixy="0.0" ixz="0.0" iyy="0.00443333156" iyz="0.0" izz="0.0072"/>			<!-- 部件的转动惯量 -->
    </inertial>													<!-- /转动惯量 -->

    <collision>													<!-- 3、碰撞检测【将部件进行包围的空间,一般选择部件本身】 -->
      <geometry>													<!-- 碰撞几何体 -->
	<box size="0.5 0.2 0.1" />												<!-- 碰撞几何体的尺寸 -->
      </geometry>													<!-- /碰撞几何体 -->
      <origin xyz="0.5 0 0" rpy="0 0 1"/>										<!-- 碰撞几何体的位置和姿态 -->
      <material name="Blue">												<!-- 碰撞几何体的颜色 -->
        <color rgba="0 1 1 1"/>													<!-- 通过三原色与透明度来确定 -->
      </material>												        <!-- /碰撞几何体的颜色 -->
    </collision>												<!-- /碰撞检测 -->
  </link> 												<!-- /机器人部件的刚体部分link -->
</robot>		 									<!-- /机器人名字 -->

 
 

2、urdf文件集成Rviz


cd launch
gedit urdf_demo.launch
// 填入如下内容


<!-- urdf_demo.launch -->

<?xml version="1.0"?>
<launch>

  <!-- 在参数服务器载入 urdf 文件,将文件路径保存进robot_description  -->
  <param name="robot_description" textfile="$(find urdf_demo)/urdf/urdf/urdf_demo.urdf" />
  <!-- 启动 rviz -->
    <node pkg="rviz" type="rviz" name="rviz" />
  <!--node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf_demo)/config/urdf_demo.rviz" /-->

</launch>


// 启动roslaunch 
cd catkin_ws
catkin_make
source devel/setup.bash
roslaunch urdf_demo urdf_demo.launch

// 打开rvi后,选择Rviz中的Add,选择 by display type ,选择RobotModel;
 // 					修改Rviz中的Fixed Frame 为 base_link,即可以显示出组件【将配置好的rviz 存储为 /config/urdf_demo.rviz, 之后将launch文件中的注释去掉,并注意上一行,每次打开后不必再重新设置】

在这里插入图片描述
 


<?xml version="1.0" encoding="utf-8"?>
<robot name="box"> 	 								<!-- 机器人名字【机器人可能由多个部件构成】 -->
  <link name="box_link">  										<!-- 机器人部件的刚体部分link -->
    <visual>  													<!-- 1、部件的可视化,看起来是什么样子 -->
      <geometry>  	
        <!--<box size="0.5 0.2 0.1"  />-->											<!-- 部件的几何模型 -->
	<mesh filename="package://urdf_rviz/meshes/visual/top_part.dae" />     						<!-- 盒子形状 尺寸 -->
      </geometry> 													<!-- /部件的几何模型 -->
      <origin xyz="0 0 0" rpy="0 0 0" />			   						<!-- 此部件相对于其上一级 joint 的相对安装位置与姿态 -->
      <material name="Blue">												<!-- 此部件的颜色 -->
        <color rgba="0 1 1 1"/>										            		<!-- 通过三原色与透明度来确定 -->
      </material>													<!-- /此部件的颜色 -->
    </visual>  													<!-- /部件的可视化,看起来是什么样子 -->

    <inertial>												
      <mass value="0.4"/>											
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>									
      <inertia ixx="0.1" ixy="0.0" ixz="0.0" iyy="0.1" iyz="0.0" izz="0.1"/>			
    </inertial>													

    <collision>													<!-- 3、碰撞检测【将部件进行包围的空间,一般选择部件本身】 -->
      <geometry>													<!-- 碰撞几何体 -->
        <box size="0.5 0.2 0.1"  />    											<!-- 部件的几何模型 -->
        <!--<box size="0.5 0.2 0.1"  />-->											<!-- 部件的几何模型 -->
	<mesh filename="package://urdf_rviz/meshes/visual/top_part.dae" />     						<!-- 盒子形状 尺寸 -->
      </geometry>													<!-- /碰撞几何体 -->
      <origin xyz="0 0 0" rpy="0 0 0"/>										<!-- 碰撞几何体的位置和姿态 -->
      <material name="Blue">												<!-- 碰撞几何体的颜色 -->
        <color rgba="0 1 1 1"/>													<!-- 通过三原色与透明度来确定 -->
      </material>												        <!-- /碰撞几何体的颜色 -->
    </collision>												<!-- /碰撞检测 -->
  </link> 												<!-- /机器人部件的刚体部分link -->
</robot>		 									<!-- /机器人名字 -->

在这里插入图片描述

 
 

3、urdf文件集成Gazebo

 
 

4、编写xacro文件

 
 

4.1 xacro引入变量、宏、计算公式 和 文件包含

 
 

5、xacro集成Rviz

 
 

6、xacro集成gazebo

 
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值