精华内容
下载资源
问答
  • 海龟表演 设计一些python代码,像无人驾驶飞机一样移动海龟。
  • DIY一个基于树莓派和Python无人机视觉跟踪系统

    万次阅读 多人点赞 2017-02-02 21:26:15
    DIY一个基于树莓派和Python无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配。如果想来点高级的——在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其实视觉...

     

    DIY一个基于树莓派和Python的无人机视觉跟踪系统

    无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配。如果想来点高级的——在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其实视觉跟踪已经在一些高端的消费级无人机上有了应用,不过玩现成的永远没有自己动手来劲;)。前段时间DIY了一个无人机三轴云台的视觉跟踪系统,除去云台花了¥370,本文将设计思路与实验效果分享出来。

    一、基本配置

    1.1 硬件

    • 计算平台:树莓派3 (¥219.00)
    • 摄像头:USB网络摄像头(¥108.00)
    • 云台:参考上一篇博文FY650的组装
    • JoyStick摇杆:用于测试和干预云台(¥8.00)
    • Arduino UNO开发板:用于JoyStick输出信号的采集与AD转换并与树莓派串口通信(¥35.00)

    1.2 软件

    • 编程语言:Python
    • 集成开发环境1:Eclipse,在windows平台上的视觉算法编程调试
    • 集成开发环境2:Geany,在Linux平台上的算法与云台联调

    1.3 准备知识

    前面的几篇博文分别介绍了这个系统用到的基本知识:

    二、设计步骤

    2.1 云台调试

    (1) 搭建一个用JoyStick控制云台转动的系统

    因为树莓派GPIO没有模拟输入口,因此JoyStick接Arduino完成输入模拟信号的AD转换,并将转换后的信号通过串口发送给树莓派。通过这个系统结合示波器,搞清楚了所用云台转动控制的原理和控制信号特征。云台调试阶段系统连接图如下所示。最终通过树莓派的GPIO控制云台俯仰和水平转动。一开始想用Gopro作为视频采集设备,但查了很多资料也尝试了各种方法发现暂时没法实现(如果有的话请留言告诉我:),因此换了个便宜的网络摄像头。

    Gopro可以通过wifi将图像实时传给手机或pad,就是不能传给树莓派。

    (2) 编写云台控制算法

    根据上一步得到的云台控制信号特征,编写云台控制算法。输入是目标中心与图像中心的偏移量△x,△y,输出为云台俯仰、水平的控制变量dx,dy。

    是的,摄像头外壳是纸糊的-_-。

    2.2 算法调试

    (1) 在windows平台上写跟踪算法

    USB摄像头接上电脑用Eclipse写跟踪算法,输出偏差量等参数调试。

    (2) 拷贝算法到树莓派调试

    因为树莓派有多个GPIO可连云台,因此云台跟踪控制必须要在树莓派上调试。Python多平台部署的优点在这就体现出来了,直接将算法拷贝到树莓派即可运行调试。调试过程稍有点复杂,一开始的效果不好,耐心调,耐心改算法,效果也就慢慢出来了。

     

    动起来的效果我们来看看下面的内容。

    三、跟踪演示

    室内跟踪效果

     


    跟踪效果截图:

    目前云台和摄像头已经装上650无人机,航拍时的效果还有待实验。欢迎留言或邮件iracer@163.com讨论:)

    转载请注明出处(本文更新链接):http://blog.csdn.net/iracer/article/details/54837636


    新书终于面市啦,《机器学习原理与编程实战》连接原理与实战:

    https://blog.csdn.net/iracer/article/details/116051674?spm=1001.2014.3001.5501

    展开全文
  • 为了能让无人驾驶系统更高频率地获取定位信息,就必须引入频率更高的传感器。这就是这一次内容的主角——IMU(Inertial Measurement Unit)惯性测量单元。下图就是百度Apollo计划推荐使用的IMU——NovAtel SPAN-IGM-...

    上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度、频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车的定位要求。

    为了能让无人驾驶系统更高频率地获取定位信息,就必须引入频率更高的传感器。这就是这一次内容的主角——IMU(Inertial Measurement Unit)惯性测量单元。

    下图就是百度Apollo计划推荐使用的IMU——NovAtel SPAN-IGM-A1。

    1521980143989258.png!w720

    图片出处:github.com

    GPS得到的经纬度信息作为输入信号传入IMU,IMU再通过串口线与控制器相连接,以此获取更高频率的定位结果。

    IMU的原理

    当我们晚上回到家,发现家里停电时,眼睛在黑暗中什么都看不见的情况下,只能根据自己的经验,极为谨慎地走小碎步,并不断用手摸周围的东西(比如冰箱),用以确定自己所在的位置。

    IMU的原理和黑暗中走小碎步很相似。

    在黑暗中,由于自己对步长的估计和实际走的距离存在误差,走的步数越来越多时,自己估计的位置与实际的位置相差会越来越远。

    就像下图所示。

    1521980177724717.png!w720

    走第一步时,估计位置(黑人所在位置)与实际位置(白人所在位置)还比较接近;但随着步数增多,估计位置与实际位置的差别越来越大。

    图中的小人只朝一个方向移动,是一维的。根据此方法推广到三维,就是惯性测量单元的原理。

    学术上的语言是:以牛顿力学定律为基础,通过测量载体在惯性参考系的加速度,将它对时间进行积分,且把它变换到导航坐标系中,就能够得到在导航坐标系中的速度、偏航角和位置等信息。

    IMU的特性

    小到每天使用的手机,大到导弹、宇宙飞船都会使用到IMU,区别在于成本和精度。

    根据不同的使用场景,对IMU的精度有不同的要求。精度高,也意味着成本高。

    IMU的精度、价格和使用场景,如下图所示。

    1521980200528057.png!w720

    从图中可以看出,普通的消费级电子产品所使用到的IMU都是低精度且十分廉价的IMU,这种IMU普遍应用于手机、运动手表中。常用于记录行走的步数。

    而无人驾驶所使用到的IMU,价格从几百块到几万块不等,取决于此无人驾驶汽车对定位精度的要求。

    aliyun_ad.jpg

    精度更高的IMU会用于导弹或航天飞机。就以导弹为例,从导弹发射到击中目标,宇航级的IMU可以达到极高精度的推算,误差甚至可以小于一米。

    除了精度和成本的特性外,IMU还有两个十分关键的特性。其一是更新频率高,工作频率可以达到100Hz以上。其二是短时间内的推算精度高,不会有太大的误差。

    在上次有关GPS的分享中,我们提到GPS的定位频率只有10Hz,而IMU的两个特性刚好可以弥补GPS的劣势,和GPS组成定位的黄金搭档。

    黄金搭档:GPS + IMU

    回到最开始的故事。晚上回到家,发现家里停电时,眼睛在黑暗中什么都看不见的情况下,只能根据自己的经验,极为谨慎地走小碎步,并不断用手摸周围的东西(比如冰箱),用以确定自己所在的位置。

    在这个过程中,GPS的作用就类似于摸到的东西之后对自己的位置进行的修正,IMU的作用就类似于小碎步,不对地对自己的位置进行推算。

    不断的修正和不断的推算,就能保证自己的定位相对稳定。如下图所示。

    1521980229880736.png!w720

    在无人驾驶系统中,GPS的更新频率一般为10Hz,IMU的更新频率一般为100Hz。

    两个传感器共同工作时,可以给出频率100Hz的定位输出。下图是两传感器数据融合的原理图。

    1521980242739014.png!w720

    跑在控制器上的软件对信息的处理流程在时间维度上类似下图。在0~100ms的周期中,使用IMU进行9次位置的估计,待新的GPS定位数据进来时,则进行修正,以此实现高频率的定位结果输出。

    1521980258531218.jpeg!w720

    就这样,GPS与IMU便相辅相成地实现了无人车的稳定定位。

    有了100Hz的稳定定位,无人车在处理路径跟随问题时,就能像下图一样,保持极高频率的定位和控制。每走一小步,便重新进行方向盘转角的计算,进而控制无人车沿着既定的轨道行驶。

    1521980269636696.png!w720

    小结

    上面的分享用生活中简单的例子介绍了IMU的基本原理,并对IMU的特性(精度、成本、频率)进行了讨论,最后探讨了GPS如何与IMU配合完成无人车的定位功能。

    解决了无人车的第一大问题“我在哪”,之后就要开始讨论“我要去哪”和“我怎么去”的问题。

    因此,在接下来的分享中,我会着重介绍感知相关的传感器(相机、激光雷达等)。

    展开全文
  • 来源:Python中文社区 智能无人机路径规划仿真系统是一个具有操作控制精细、平台整合性强、全方向模型建立与应用自动化特点的软件。它以A、B两国在C区开展无人机战争为背景,该系统的核心功...
    
    来源:Python中文社区
    

    智能无人机路径规划仿真系统是一个具有操作控制精细、平台整合性强、全方向模型建立与应用自动化特点的软件。它以A、B两国在C区开展无人机战争为背景,该系统的核心功能是通过仿真平台规划无人机航线,并进行验证输出,数据可导入真实无人机,使其按照规定路线精准抵达战场任一位置,支持多人多设备编队联合行动。

    视频简介

    一、主要特点

    系统以开源无人机仿真平台SITL为支撑,通过FlightGear渲染真实战场环境,集成了动力学模型建模、二维俯视、三维模拟、脚本控制、地面站监控、数据处理等功能,此外,仿真系统支持加载多种全球地图,模拟各大重点地域的三维环境,可应用于全球各处遥感监测的场景中。

    1. 软件界面

    软件界面

    2. 软件架构(部分扩展功能的插件待实现)

    软件架构

    3. 代码编写

    代码编写

    4. 多维视图

    二维视图(一)

    二维视图(一)

    二维视图(二)

    二维视图(二)

    三维视图

    三维视图

    5. 无人机控制

    控制台控制

    控制台控制

    智能控制

    智能控制

    地面站控制

    地面站控制

    6. 制定飞行任务

    飞行任务(一)

    飞行任务(一)

    飞行任务(二)

    飞行任务(二)

    飞行任务(三)

    飞行任务(三)

    二、解决问题

    智能无人机路径规划仿真系统解决了普通无人机无法精准规划路径的问题,且普通无人机不够托底,不便控制,难以运用于实际战争。本软件可以预先为飞行任务设计航线,使用飞行模拟器记录无人机在飞行任务中的实时状态,通过地面站模块强化无人机在体系对抗中的受控度,模拟无人机群联合行动的战术战法,然后输出航行数据供真实无人机使用,将无人机体型短小、行动迅速、资源庞大的优势尽可能的释放出来。

    三、应用场景及效益

    截止目前,全世界已有40多个国家在从事研究和生产无人机,60多个国家在使用无人机。无人机在战场发挥作用是未来战争的趋势。

    使用该软件的优点是吸收国外已获得成果,将运行环境从Linux系统重新编译移植到Windows等其他操作系统,除仿真三维环境模块外均使用Python语言编写,程序易维护、易修改。通过Pyqt5编写的软件界面集成了软件各个模块,加入后台提示功能,设计智能控制脚本简化系统使用流程,联动FlightGear模拟器、MissionPlanner地面站程序进行可视化,以提高真实无人机飞行路径精准度、指定飞行计划为根本目的。

    四、感谢

    CSDN:

    https://blog.csdn.net/qinguoxiaoziyangyue/article/details/77712064
    https://blog.csdn.net/guojunxiu/article/details/79158843
    https://blog.csdn.net/huihut/article/details/86587782
    https://blog.csdn.net/u010946448/article/details/90718264
    https://blog.csdn.net/jzhd2015/article/details/108987818
    https://blog.csdn.net/jzhd2015/article/details/108663961

    Zhihu:

    https://zhuanlan.zhihu.com/p/50900595 

    https://zhuanlan.zhihu.com/p/62017292

    Freesion:

    https://www.freesion.com/article/2344608320/

    Gitee:

    https://gitee.com/wwy2018/XTDrone

    Github:

    https://github.com/dhondta/dronesploit

    项目链接

    简书地址:

    https://www.jianshu.com/p/b1e6b2efb96f

    Github:

    https://github.com/wangwei39120157028/IntelligentUAVPathPlanningSimulationSystem

    < END >

    微信扫码关注,了解更多内容

    展开全文
  • DIY一个基于树莓派和Python无人机视觉跟踪系统无人机通过图传将航拍到的图像存储并实时传送回地面站差点儿已经是标配。假设想来点高级的——在无人机上直接处理拍摄的图像并实现自己主动控制要怎么实现呢?事实上...

    DIY一个基于树莓派和Python的无人机视觉跟踪系统

    20170202202544296

    无人机通过图传将航拍到的图像存储并实时传送回地面站差点儿已经是标配。假设想来点高级的——在无人机上直接处理拍摄的图像并实现自己主动控制要怎么实现呢?事实上视觉跟踪已经在一些高端的消费级无人机上有了应用,只是玩现成的永远没有自己动手来劲;)。

    前段时间DIY了一个无人机三轴云台的视觉跟踪系统,除去云台花了¥370,本文将设计思路与实验效果分享出来。

    一、基本配置

    1.1硬件计算平台:树莓派3 (¥219.00)

    摄像头:USB网络摄像头(¥108.00)

    云台:參考上一篇博文FY650的组装

    JoyStick摇杆:用于測试和干预云台(¥8.00)

    Arduino UNO开发板:用于JoyStick输出信号的採集与AD转换并与树莓派串口通信(¥35.00)

    1.2软件

    编程语言:Python

    集成开发环境1:Eclipse。在windows平台上的视觉算法编程调试

    集成开发环境2:Geany,在Linux平台上的算法与云台联调

    1.3 准备知识前面的几篇博文分别介绍了这个系统用到的基本知识:

    二、设计步骤

    2.1 云台调试

    (1) 搭建一个用JoyStick控制云台转动的系统

    由于树莓派GPIO没有模拟输入口。因此JoyStick接Arduino完毕输入模拟信号的AD转换。并将转换后的信号通过串口发送给树莓派。

    通过这个系统结合示波器,搞清楚了所用云台转动控制的原理和控制信号特征。云台调试阶段系统连接图例如以下所看到的。终于通过树莓派的GPIO控制云台俯仰和水平转动。一開始想用Gopro作为视频採集设备,但查了非常多资料也尝试了各种方法发现临时没法实现(假设有的话请留言告诉我:)。因此换了个廉价的网络摄像头。

    20170202210050704

    20170203104253207

    Gopro能够通过wifi将图像实时传给手机或pad。就是不能传给树莓派。

    (2) 编写云台控制算法

    依据上一步得到的云台控制信号特征。编写云台控制算法。输入是目标中心与图像中心的偏移量△x,△y,输出为云台俯仰、水平的控制变量dx,dy。

    20170202210825683

    是的,摄像头外壳是纸糊的-_-。

    2.2 算法调试

    (1) 在windows平台上写跟踪算法

    USB摄像头接上电脑用Eclipse写跟踪算法,输出偏差量等參数调试。

    20170203103616504

    (2) 拷贝算法到树莓派调试

    由于树莓派有多个GPIO可连云台,因此云台跟踪控制必需要在树莓派上调试。Python多平台部署的长处在这就体现出来了,直接将算法复制到树莓派就可以执行调试。调试过程稍有点复杂,一開始的效果不好。耐心调,耐心改算法,效果也就慢慢出来了。

    20170202210744245动起来的效果我们来看看以下的内容。

    三、跟踪演示

    20170203161924976室内跟踪效果视频链接:

    跟踪效果截图:

    20170202204307599

    20170202204314350

    20170202204319147

    眼下云台和摄像头已经装上650无人机,航拍时的效果还有待实验。欢迎留言或邮件iracer@163.com讨论:)

    20170203113327143

    展开全文
  • OpenDroneMap   OpenDroneMap 是一个开源的航拍图像处理工具,可以把航拍图像进行点云、正射影像和高程模型等处理。简直是个神器,做出来的效果和pix4d等软件...  下面开始使用OpenDroneMap的python库PyODM。 1...
  • 无人机“ Tello”控件(通过Python) forward_and_reverse.py 自动で离陆->上升->前进->后退->着陆をするサンプルコード $python3 forward_and_reverse.py rotation_cw.py 离陆して,与えられた周回数分,円を描くよ...
  • 无人机Python SDK使用

    千次阅读 2021-03-09 12:59:14
    无人机Python SDK SDK主要通过Wi-Fi UDP协议与无人机连接,让用户可以通过文本指令控制无人机,共享文件夹的Python SDK文件夹中的Tello3.py文件包含了一个基于Python建立UDP通信端口的程序样例,可以实现与Tello的...
  • 无人驾驶飞机-源码

    2021-02-09 10:02:41
    无人驾驶飞机
  • Python实现大疆无人机航点规划任务一、硬、软件环境二、航点规划任务的流程图三、流程的基本步骤四、`drone_proxy`包的获取方式 ROS|大疆|M600 Pro|开发者|Python|SDK| 一、硬、软件环境 无人机:大疆M600 Pro...
  • 一个基于树莓派和Python无人机视觉跟踪系统

    千次阅读 多人点赞 2017-10-07 22:37:28
    无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配。如果想来点高级的——在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其实视觉跟踪已经在一些高端的消费级无人机上有了应用,不过玩...
  • Tello 无人机 python 编程

    千次阅读 2020-06-29 09:05:38
    Tello python 编程 添加链接描述 具体看链接吧,https://www.bilibili.com/video/BV1Bg4y1i7MF/ 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新...
  • 使用python推导雅可比矩阵 使用python进行建模 如无人机PX4中EKF模型的生成
  • A*算法实现无人机路径规划与导航
  • Python代码控制Tello无人机 人脸追踪 使用haarcascade_frontalface_default.xml机器学习对象检测算法和以下python模块... •OpenCV-Python•numpy•djitellopy•时间•操作系统•平台•getpass 我们能够控制Tello...
  • python代码实现无人机控制学习笔记

    万次阅读 2018-08-13 17:06:19
    quad_sim.py 1.signal模块 通信模块 linux系统的通信基础 linux简单通信基础 ...python中的signal模块用来处理python进程中的信号 signal模块 signal.signal(signal.SIGINT, signal_handler) 使用signal.sign...
  • 上篇文章我们应该可以掌握使用socket调试工具操控Tello EDU无人机,那么本篇文章我们将使用“正宗”python语言来实现Tello EDU的的控制,接下来直接上代码,我会在代码注释中对代码进行讲解: # # Tello EDU Control...
  • DJI Tello无人机控制器python软件包 这是一个可控制DJI玩具无人机“ Tello”的python软件包。 源代码的大部分是从GOBOT项目的驱动程序移植的。 有关原始golang版本和协议的详细信息,请参阅其博客文章,为 如何安装 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,693
精华内容 1,877
关键字:

python无人机

python 订阅