基于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的支持还是挺棒的。有很多资料,遇到问题

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 超分辨率——基于SRGAN的图像超分辨率重建(Pytorch实现)[通俗易懂]

    超分辨率——基于SRGAN的图像超分辨率重建(Pytorch实现)[通俗易懂]基于SRGAN的图像超分辨率重建本文偏新手项,因此只是作为定性学习使用,因此不涉及最后的定量评估环节1简要介绍SRGAN的原论文发表于CVPR2017,即《Photo-RealisticSingleImageSuper-ResolutionUsingaGenerativeAdversarialNetwork》SRGAN使用了生成对抗的方式来进行图像的超分辨率重建,同时提出了一个由AdversarialLoss和ContentLoss组成的损失函数。更详细的介绍可以去看看

    2025年7月30日
    4
  • 尺规作图:经过已知直线上的一点作这条直线的垂线_尺规作图过直线外一点作垂线

    尺规作图:经过已知直线上的一点作这条直线的垂线_尺规作图过直线外一点作垂线-

    2026年1月29日
    5
  • ubuntu clion goland 2022.01.4激活码[最新免费获取]2022.01.25

    (ubuntu clion goland 2022.01.4激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    314
  • SAE J1939介绍

    SAE J1939介绍CAN协议最初由美国博世公司提出,后来SAE在CAN2.0B的基础之上提出J1939协议,该协议主要面向客车和载重货车。J1939协议对应ISO提出的七层OSI模型中的物理层、数据链路层、网络层和应用层,除了这四层,为了保证数据的准确传输和故障诊断,J1939还具有网络管理和应用层诊断。物理层对应J1939-11、J1939-15;数据链路层对应协议中的J1939-21;网络层对应协议中的

    2022年5月1日
    114
  • 实验室 系统_实验室设备管理系统流程图

    实验室 系统_实验室设备管理系统流程图【简介】今天分享一个简单的实验室设备管理系统SSM项目,作者分享在了开源网站上,版权归原作者,这里记录一下测试的过程和体验,对课程设计和毕业设计帮助很多,欢迎大家多批评和交流。作者的开发环境是Java1.8+Tomcat8.5+eclipse-Photon+Maven+Mysql;前端采用了layui布局,使用angularjs与后台json交互,后端由Maven构建,采用spring、springMVC、mabatis框架,数据……

    2022年10月13日
    2
  • MyBatis——动态SQL总结

    MyBatis——动态SQL总结MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。 MyBatis中用于实现动态SQL的元素主要有:ifwheresetchoose(when,otherwise)trimforeach   (1)if标签此时如果CNAINDCLABASINFID为null,此语句很可能报错或查询结果为空。此时我们使用if动态sql语句先进行判断,如果值为null…

    2022年6月23日
    25

发表回复

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

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