• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

树莓派控制无人机实现定点降落(五)——设计地标以及gazebo导入模型方法

人工智能 CyrilSterling 3117次浏览 0个评论

目录

 

  • 树莓派控制无人机实现定点降落(五)——设计地标以及gazebo导入模型方法
    • 1、将地标图像导入gazebo中的方法:
    • 2、对于地标设计
    • 3、改进地标

 

树莓派控制无人机实现定点降落(五)——设计地标以及gazebo导入模型方法

 

1、将地标图像导入gazebo中的方法:

  在~/.gazebo/model下,创建如下结构的文件  

land_mark
	model.sdf	文件
	model.config	文件
	materials	文件夹
	| --scripts	文件夹
	       land_mark.material     纹理信息
	| --textures	文件夹
	       h.png	地标图像

  各文件的文件格式在我的另一篇博文里有链接在此   在这里,各文件内容如下:   model.sdf文件  

<?xml version='1.0'?>
<sdf version='1.4'>
  <model name="land_mark">
    <link name='link'>
      <pose>0 0 0.115 0 0 0</pose>
      <inertial>
        <mass>0.390</mass>
        <inertia>
          <ixx>0.00058</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.00058</iyy>
          <iyz>0</iyz>
          <izz>0.00019</izz>
        </inertia>
      </inertial>
      <collision name='collision'>
        <geometry>
                <box>
                  <size>.496 .496 .01</size>
                </box>
        </geometry>
      </collision>
      <visual name='visual'>
        <geometry>
                <box>
                  <size>.496 .496 .01</size>
                </box>
        </geometry>
        <material>
          <script>
            <uri>model://land_mark/materials/scripts</uri>
            <uri>model://land_mark/materials/textures</uri>
            <name>Mark/Diffuse</name>
          </script>
        </material>
      </visual>
    </link>     
  </model>

  文件model.config  

<?xml version="1.0"?>
<model>
  <name>land_mark</name>
  <version>1.0</version>
  <sdf version="1.4">model.sdf</sdf>
  <author>
    <name>chow</name>
  </author>
  <description>
    Landing Mark
  </description>
</model>

  其中<name>land_mark</name>即为之后在gazebo里的模型名称 文件land_mark.material  

material Mark/Diffuse
{
	receive_shadows off
	technique
	{
		pass
		{
			texture_unit
			{
				
				texture ../textures/h.png
			}
		}
	}
}

  之后在gazebo中insert模型即可,如下:  
树莓派控制无人机实现定点降落(五)——设计地标以及gazebo导入模型方法  

2、对于地标设计

  我一开始准备使用二维码定位,后来觉得树莓派运行能力不足,所以使用了自己设计的地标,下面先介绍二维码定位的方法。   1、下载ar-track-alvar  

sudo apt-get install ros-kinetic-ar-track-alvar

  该包可以用于二维码定位   2、获得二维码  

rosrun ar_track_alvar createMarker [number]

  将[number]替换成你要的数字,图片就会在当前路径下生成。   3、创建gazebo二维码模型,使用上述方法。   4、ar_track_alvar下有很多功能包(官网链接)包括findMakerBundles,findMakerBundlesNoKinect,trainMakerBundle,createMarker(可以在/opt/ros/kinetic/lib/ar_track_alvar下找到)我们用到的二维码识别与定位的是individualMakersNoKinect,注意不要用成individualMakers,后者是默认摄像头为kinect,它读取图片的格式为点云。  

3、改进地标

  放弃上述方案后我使用的地标参照另一个人的博文链接在此   通过将它的方法改进,把矩形框设计成不均匀的,得到如下所示地标图像:  
树莓派控制无人机实现定点降落(五)——设计地标以及gazebo导入模型方法   这样在降落过程中可以不停地进行矫正,如果使用二维码定位则只要拍不全就难以捕捉地标信息。 接下来就是识别地标和控制了,识别控制算法我将在下一篇博文里介绍。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明树莓派控制无人机实现定点降落(五)——设计地标以及gazebo导入模型方法
喜欢 (0)

您必须 登录 才能发表评论!

加载中……