基于Ubuntu 的 Parrot ARDrone 2.0的SDK安装以及ardrone_autonomy和tum_ardrone的安装和使用

基于Ubuntu 的 Parrot ARDrone 2.0的SDK安装以及ardrone_autonomy和tum_ardrone的安装和使用经过了一个多星期的摸索,现在开始慢慢理解ParrotARDrone2.0的使用。现在总结一下遇到的问题,希望用这款无人机的人能够得到一些帮助,毕竟不能总是做一个伸手党。ParrotARDrone2.0是法国的一家无人机的厂商生产的无人机的产品,是parrotardrone1.0的进阶版,摸索的这一个星期我感受到现在对ardrone2.0的支持还是挺棒的。有很多资料,遇到问题


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

经过了一个多星期的摸索,现在开始慢慢理解Parrot ARDrone 2.0的使用。现在总结一下遇到的问题,希望用这款无人机的人能够得到一些帮助,毕竟不能总是做一个伸手党。
Parrot ARDrone 2.0是法国的一家无人机的厂商生产的无人机的产品,是parrot ardrone 1.0的进阶版,摸索的这一个星期我感受到现在对ardrone 2.0的支持还是挺棒的。有很多资料,遇到问题google一下也有很多解决方案。这款无人机售价比较便宜,我们购买的是power edition版本,价格在2500左右,然后不包括GPS模块,价格在600左右。如果需要进行室外自主飞行,就需要GPS模块获得无人机的location然后利用qgroundcontrol这款软件指定无人机的飞行路径,就可以实现按照固定的轨迹自主飞行拍摄。这款无人机还有的硬件外设有一个向前的摄像头,720p的,还有一个向下的摄像头,分辨率比较差。内置里IMU,处理器是一款ARM 的处理器。详细的参数可以去google搜索一下那个用户手册(user guide),里面的参数写的很详细。
Parrot ardrone 2.0不做开发的话买回来的装上电池就可以飞了,这个需要你仔细看看里面的使用说明书。你需要在手机或者pad上面下载对应版本的app——ARFreeFlight 2.0(最好使用iphone或者ipad,我发现这款app对安卓的支持貌似不是很好,但是也是可以用的)。
闲话不多说了,下面开始讲关于使用ardrone 2.0开发的一些事情了。其他的资料可以去官网看看:
(http://www.parrot.com)
ardrone2.0的SDK 下载的地址是:http://developer.parrot.com/products.html,里面的SDK 2.0就是针对ardrone 2.0的SDK 。我们要讲的ardrone_autonomy其实是SDK的二次封装。在SDK的基础上加上了ROS,就像是ardrone的驱动一样。
首先是讲解ardrone_autonomy的安装,我参考的文献http://blog.csdn.net/u014209688/article/details/42614705#comments,里面讲解的是有两种安装方式,但是我使用的是第一种安装方式,后来也证明了,第一种安装方式既简单,有很少会报错。

sudo apt-get install  ros-kinetic-ardrone-autonomy

因为我使用的Ubuntu的版本是16.04,对应的ros的版本是kinetic,如果你是ubuntu 14.04,对应安装的应该是indigo,ubuntu 12.04对应安装hydro,安装ros的步骤其实很简单,具体的步骤可以参照ros wiki,google对应的ros版本就可以里。在这里我需要强调一下的是,如何你用github的版本安装ardrone_autonomy和直接用apt-get install 的方式是不一样的,可能会出很多问题。所以还是建议直接用命令安装,里面的坑我大概花了两三天才搞明白。我还是给出git的链接:https://github.com/tum-vision/ardrone_autonomy。
我安装好了ardrone_autonomy之后,需要安装tum_ardrone,这个时候遇到的问题更多,tum_ardrone是一个ros的stack,里面运行的是SLAM 中比较著名的ptam的程序,可以利用UI 界面来控制无人机或者实现无人机的自动控制,也可以对无人机的状态进行估计。
首先我要强调一下的是,**安装tum_ardrone的时候因为对应的ros版本的问题,我走了很多弯路。由于我的电脑只能安装ubuntu 16.04, ROS版本是kinetic,我想试着用这个环境安装好tum_ardrone。弄了三四天编译总是通不过,出现的错误是

recipe for target 'all' failed

后来我换系统换成里ubuntu 14.04,对应的ROS 版本换成里indigo,很快的我这个也搞定了。
安装tum_ardrone的过程:(对应的github的链接:https://github.com/tum-vision/tum_ardrone)
首先在任意一个目录下面:

mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
catkin_init_workspace
git clone https://github.com/tum-vision/tum_ardrone.git -b indigo-devel
cd ..
rosdep install tum_ardrone
catkin_make

出创建ROS的workspace和package的过程可以参考链接:http://blog.csdn.net/github_30605157/article/details/52209434 和
http://blog.csdn.net/xiaocainiaoshangxiao/article/details/13295625
在catkin_make 的时候我遇到了几个问题,记住在git clone 的时候对应的branch分支一定要和安装的ROS版本对应,不然会有很多错误。换了版本之后遇到的错误基本上都是可以通过google解决问题的,主要是
对应的lib没有安装好,直接用sudo apt-get install 就可以解决了,一定要仔细看出的什么错误,静下心来好好google想想。
安装好了这两个之后我又尝试着去编译最原始的SDK,我参考的链接是:
http://petrkout.com/linux/parrot-ardrone-2-0-video-streaming-through-opencv-in-linux/
遇到的问题有这两个:

libavutil.a(eval.o): undefined reference to symbol 'fabs@@GLIBC_2.2.5'
libm.so.6: error adding symbols: DSO missing from command line 

上面安装的链接有人也遇到的相同的问题,作者也给出里解决方案,遇到相同问题的人可以好好参考。

参考文献:
[1]http://developer.parrot.com/products.html
[2]http://blog.csdn.net/u014209688/article/details/42614705#comments
[3]https://github.com/tum-vision/ardrone_autonomy
[4]https://github.com/tum-vision/tum_ardrone
[5]http://blog.csdn.net/github_30605157/article/details/52209434
[6]http://blog.csdn.net/xiaocainiaoshangxiao/article/details/13295625
[7]http://petrkout.com/linux/parrot-ardrone-2-0-video-streaming-through-opencv-in-linux/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170577.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 运算放大器工作原理是什么?

    运算放大器工作原理是什么?转载自电子发烧友网站,下面是转载地址:http://www.elecfans.com/baike/bandaoti/bandaotiqijian/20100309184249.html

    2022年5月29日
  • shiro的面试题_综合分析面试题

    shiro的面试题_综合分析面试题Shiro框架介绍shiro安全数据源有哪些:Shiro运行流程Shiro的优点比较SpringSecurity和Shiro简述Shiro的3个核心组件 1.Subject 2.SecurityManager 3.RealmsShiro认证过程Shiro授权过程Shiro如何自实现认证如何实现自实现授权如何配置在Spring中配置使用Shiro

    2022年10月14日
  • html 下拉导航栏源码,html导航栏下拉菜单怎么制作?这里有详细的代码实例「建议收藏」

    html 下拉导航栏源码,html导航栏下拉菜单怎么制作?这里有详细的代码实例「建议收藏」元素来包裹这些元素,并使用CSS来设置下拉内容的样式。html导航栏菜单的CSS部分:.dropdown类使用position:relative,这将设置下拉菜单的内容放置在下拉按钮(使用position:absolute)的右下角位置。.dropdown-content类中是实际的下拉菜单。默认是隐藏的,在鼠标移动到指定元素后会显示。注意min-width的值设置为160px。你可以随意修改它…

    2022年5月24日
  • golang 激活码_最新在线免费激活[通俗易懂]

    (golang 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
  • STL容器分类「建议收藏」

    STL容器分类「建议收藏」容器(container)是装有其他对象的对象。容器里面的对象必须是同一类型,该类型必须是可拷贝构造和可赋值的,包括内置的基本数据类型和带有公用拷贝构造函数和赋值操作符的类。典型的容器有队列、链表和向量等。在标准C++中,容器一般用模版类来表示。不过STL不是面向对象的技术,不强调类的层次结构,而是以效率和实用作为追求的目标。所以在STL并没有一个通用的容器类,各种具体的容器也没有统一的基类。

    2022年9月12日
  • 详解contextConfigLocation

    详解contextConfigLocationspring的应用初始化流程一直没有搞明白,刚刚又碰到了相关的问题。决定得好好看看这个流程。我们在开发spring的项目当中基本上都会在web.xml通过:来初始化各个spring的配置文件,但是我们只是知道这段代码的功能,并不是很清楚我们配置了这段代码之后为什么就能去初始化配置文件。当然我们还会加上:listener>          li

    2022年7月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号