Tello智能信息处理平台

  • 介绍
  • 控制
    • 键盘控制
    • 语音控制
  • 视觉功能
    • 人脸跟踪
    • 绿球跟踪
    • 手势控制
    • 体态控制
  • 拍照录像
  • 结语

介绍

本项目是我的一个课程设计。本来打算做大型四旋翼无人机的控制,后来老师给了两个Tello无人机(分别是带拓展板和不带拓展板的),就转到了做Tello的控制。项目的GUI界面和后台逻辑以及功能整合、整体优化调试由我完成,其他队员负责各视觉功能子模块的实现和调试。

源码及项目详细介绍请看GitHub仓库:Tello智能信息处理平台

此平台使用python语言开发,可用于控制大疆公司的Tello系列无人机,并利用无人机的摄像头、红外等传感器完成一系列视觉功能,包括:目标检测与跟踪(绿色小球与人脸)、手势控制、体态控制等。
也可控制Tello进行拍照、录像,以及做出一些抛飞、翻转、手上降落等花式动作。

控制

键盘控制

键盘控制一直处于开启状态。每个键盘键位对应的功能如下:

  • tab:起飞
  • L/P/G/H:降落/悬停/抛飞/手上降落
  • W/A/S/D:向前/左/后/右
  • U/I:向上/下
  • J/K:顺/逆时针旋转
  • Z/X/C/V:前/后/左/右空翻

语音控制

有效语音指令如下:

  • 起飞;
  • 降落;
  • 悬停;
  • 向前/后/左/右/上/下飞x厘米(x=20~500);
  • 顺时针旋转x度(x=1~360);
  • 向前/后/左/右翻滚;
  • 速度设为x厘米每秒(x=10~100);
  • 向前/后/左/右;(不建议,此指令会让无人机一直朝某个方向飞,直到得到“停”指令);
  • 停;

视觉功能

人脸跟踪

在菜单栏开启人脸跟踪功能后,无人机会搜寻人脸目标(最好只有一个),然后靠近人脸并保持在一定的安全距离内,且随着人的移动而移动。

绿球跟踪

与人脸跟踪类似,开启此功能后,无人机能够检测跟随绿色小球(球不要太小)。

手势控制

开启此功能后,会显示一个子窗口,并显示计算机摄像头视频流。识别出比划的手势后,无人机会做出相应的动作。为了避免连续识别并发出指令,我们设置了每次跳过一定帧数后再识别一次。

支持的手势如下:

  • 双手合十:启动;
  • 大拇指向上:起飞;
  • 大拇指向下:降落;
  • 一/二/三/四/五/六:向上/下/左/右/前/后飞x厘米;
  • 七/八:顺/逆时针旋转90度;
  • 九:悬停;

飞行速度与飞行步长与主界面中对滑块设置的值有关。

体态控制

我们加入这个功能的初衷是想通过人体的姿势来控制无人机。

但是我们没有时间去训练自己的轻量检测模型。我们寻找到了AlphaPose这个开源姿势检测库,并选择其中运行速度较快的一个模型融合进我们的平台中。
尽管如此,检测速度还是无法达到我们的预期。而且由于整个项目是在我的macOS系统上构建,无法使用CUDA加速计算,因此整体检测速度非常慢。

为了避免危险情况发生,我并没有为体态检测结果设置相应的无人机指令,只将体态检测结果显示在主界面上。

拍照录像

在主界面点击拍照后,会将当前无人机原始画面以jpeg格式存储到本地。

点击录像后,程序开始将无人机原始画面以avi格式编码为视频流,再次点击录像按钮后,停止录像并将视频保存到本地。

结语

我们大约用了十天左右的时间完成这个平台,比较仓促,有些功能还能够再完善一下。但是在答辩结束后我们已经将两个无人机还给老师了,如果你对Tello感兴趣的话,可以在我们项目的基础上添加更多的功能以及完善一下逻辑和bug。

项目源码在文章开头的链接里,感兴趣的朋友可以fork一下,点个星星哦

python实现大疆Tello无人机控制平台并实现语音控制/手势控制/人脸跟踪/绿球跟踪/拍照录像相关推荐

  1. Anaconda 大疆 Tello EDU python 环境配置

    本人 在校学渣一枚 最近对目标跟踪方面略有兴趣,从头学习了一下python,受限于经费,购买了一台大疆Tello edu 无人机, 进行实验测试,由于tello 的SDK需要python2.7的环境 ...

  2. 大疆Tello开发教程

    提供关于Tello的开发相关资料教程链接,可用于开发目标检测/无人机追踪等.同时方便初学者入门学习. 大疆Tello官方资料下载https://www.dji.com/cn/downloads/dji ...

  3. 大疆Tello编队飞行教程(特洛教育版)/多机视频流获取

    大疆Tello编队飞行教程(特洛教育版) 通过Python控制特洛无人机群飞 Step1 下载 Mind+ 软件使用在线编程功能, 安装Mind+Link 串口通信工具, 将ESP通过USB链接到PC ...

  4. ROS环境下大疆tello无人机源码安装驱动代码解读

    大疆tello无人机是一款微小型无人机,可以支持多种开发模式.这里用的是ROS1的kinetic版本进行开发.参考文档来自http://wiki.ros.org/tello_driver 1)kine ...

  5. 超级简单的大疆tello无人机视频实现(很少代码)

    大疆tello无人机出来有1年时间了,使用pc查看视频的功能也只是今年才开放,经过2天的摸索,终于用简单的方法实现,不敢独享,分享出来. 1.连接tello的wifi: 2.使用udp组件发送打开视频 ...

  6. 大疆Tello UDP控制协议接口

    大疆Tello UDP控制协议接口 1. 设计架构 2. UDP报文格式 2.1 控制报文 2.2 查询报文 2.3 状态报文 3. 命令集 3.1 [控制报文]控制命令 3.2 [控制报文]设置命令 ...

  7. tello通信_鸿蒙HarmonyOS and 大疆Tello 无人机 BUILD SUCCESS

    鸿蒙HarmonyOS and 大疆Tello 无人机 BUILD SUCCESS 发布于 2020-11-19 18:55 3028浏览 3收藏 利用鸿蒙Hispark WIFI IOT 套件控制大 ...

  8. 鸿蒙大疆无人机,鸿蒙HarmonyOS and 大疆Tello 无人机 BUILD SUCCESS

    利用鸿蒙Hispark WIFI IOT 套件控制大疆TELLO 无人机 第一步:查看无人机通信协议: 第二步:结合许老师的UDP网络编程--UDP demo 写入无人机的wifi名称,密码,ip地址 ...

  9. python读取大疆激光雷达LVX数据并显示

    如需要写好可以直接使用的软件,可以去公众号下载las 工具软件,如需转换或者提取 大疆 L1 数据文件,请直接微信联系 394467238 个人公众号"代码就是生产力",发布更多有 ...

最新文章

  1. 区块链4.0DexChain是什么?
  2. python5_python5
  3. BP神经网络-- C语言实现
  4. C#3.0 新特性系列(6) Extension Methods
  5. 无极菜单 php,ThinkPHP菜单无极分类 ThinkPHP菜单无极分类实例讲解
  6. mp3 pcm java_Java mp3文件转pcm文件
  7. Java并发教程–线程之间的可见性
  8. java 最大流最小割_最大流, 最小割问题及算法实现
  9. Elasticsearch创建索引别名
  10. 计蒜客:Adjoin the Networks
  11. 鸿蒙DevEco Studio 无法下载Gradle问题
  12. Python自学(三)
  13. 如何系统的学习linux?
  14. RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasSgemm( handle, opa, opb
  15. 示波器(Oscilloscope)快速入门
  16. 全国计算机等级考试python试题_全国计算机等级考试二级Python真题及解析(5)
  17. 【CVPR2021】AdderSR: Towards Energy Efficient Image Super-Resolution
  18. 百度网盘批量重命名文件免费脚本---2020.07
  19. JAVA个人记账本代码,Java的家庭记账本程序(L)
  20. Mysql主从复制之异步与半同步以及主从切换(实验)

热门文章

  1. onChange和onClick的区别
  2. 【优化求解】磷虾群算法(Krill Herd Algorithm,KHA)
  3. 按英语体育计算机创建透视表,利用Excel“数据透视表”管理体育器材
  4. 个人如何实现股票量化交易下单 股票交易接口 策略开发
  5. java poi 在excel中插入图片
  6. 张宇1000题线性代数 第四章 矩阵的秩
  7. 合肥2021高考八中成绩查询,合肥八中2018高考成绩
  8. 快捷方式图标变白完美解决方法
  9. mongo vue 破解
  10. Windows无法连接到打印机,拒绝访问。