Tello无人机飞控(Python)程序设计

这篇具有很好参考价值的文章主要介绍了Tello无人机飞控(Python)程序设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Tello无人机飞控(Python)程序设计总结

1.py飞控库介绍

tello的几个不同的飞控库有什么区别吗,用哪个好些?
Tello的几个不同飞控库主要是针对Python开发者提供的控制无人机的工具包,它们各有特点和使用方式。以下是对一些常见Tello飞控库的区别和推荐的概述:

1)tellopy:tellopy是一个功能齐全的库,提供了对Tello无人机的全面控制。它具有对无人机的基本操作,如起飞、降落、移动、旋转等的支持。tellopy还提供了对视频流、状态信息和传感器数据的访问。这个库相对较低级,较为适合有一定编程经验和对底层控制感兴趣的用户。

2) djitellopy:djitellopy是一个建立在tellopy之上的库,旨在简化Tello无人机的控制和交互。它提供了更高级的接口和简化的函数,使得控制无人机变得更加容易。djitellopy对初学者友好,提供了一组易于理解和使用的函数,同时仍然具备对基本操作、视频流和状态信息的支持。
3) easyTello:easyTello是另一个流行的Tello飞控库,旨在提供简单、易用的控制接口。它提供了一组高级函数和语法糖,使得控制无人机变得更加简单和直观。easyTello适合那些想要快速上手并执行基本操作的用户,但相对功能较为有限。
这些飞控库的选择取决于你的使用场景和个人偏好。如果你是一个有经验的开发者,想要更底层的控制和对无人机的高级功能的访问,你可以选择tellopy。如果你是初学者或更倾向于简化的操作接口,djitellopy可能更适合你。而easyTello则适合那些希望快速入门并执行基本操作的用户。
综上所述,如果你是初学者,我建议你首先尝试djitellopy库,它提供了简单易用的接口,适合入门和基本控制。如果你对底层控制更感兴趣或需要更高级的功能,你可以考虑使用tellopy库。

2.基本飞控函数解析(以djitellopy为例):

注意:以下飞控函数都可通过事先创建的Tello对象来调用

function 功能
Tello() 创建Tello对象。你可以使用这个对象来与无人机进行交互。
connect() 连接到Tello无人机。在执行其他操作之前,需要首先连接到无人机。
takeoff() 使无人机起飞
land() 使无人机降落
move_up(x) 移动x厘米 x: 20-500
move_down(x) 移动x厘米 x: 20-500
move_forwardx() 移动x厘米 x: 20-500
move_back(x) 移动x厘米 x: 20-500
move_left(x) 移动x厘米 . x: 20-500
move_right(x) 移动x厘米. x: 20-500
rotate_clockwise(x) 顺时针旋转x度 x: 1-360
rotate_counter_clockwise(x) 逆时针旋转x度.x: 1-3600
get_battery() 获取tello的当前电池电量
set_video_direction() 选择一个摄像头进行调用,调用前置摄像头参数:Tello.CAMERA_FORWARD。调用后置摄像头参数:Tello.CAMERA_DOWNWARD
``` ```

3.调用tello指定的摄像头

Tello无人机支持两个摄像头:一个是 正面的720p摄像头,另一个是 向下的480p摄像头。你可以使用Tello的SDK通过以下步骤来选择要使用的摄像头:
首先,确保你已经连接到Tello无人机的Wi-Fi网络,并且已经成功建立了与Tello的通信。
在你的代码中,使用相应的编程语言导入Tello SDK库,并创建一个Tello对象来与无人机进行通信。

通过调整Tello无人机的视频方向,可以选择要用于视频流的摄像头。Tello无人机有两个摄像头可供选择:正面摄像头(分辨率为1080x720的彩色摄像头)和向下摄像头(分辨率为320x240的红外敏感灰度摄像头)。你可以使用Tello SDK中提供的set_video_direction方法来选择视频方向。

以下是示例代码:

# 选择正面摄像头
tello.set_video_direction(Tello.CAMERA_FORWARD)
# 选择向下摄像头
tello.set_video_direction(Tello.CAMERA_DOWNWARD)

通过选择适当的摄像头方向,可以控制从哪个摄像头获取视频流。根据需要,你可以在正面摄像头和向下摄像头之间进行切换。

请注意,不同的摄像头具有不同的分辨率和功能。正面摄像头提供彩色图像,而向下摄像头只能提供灰度图像。根据你的需求,选择适当的摄像头方向和功能。

4.无人机比赛

在无人机比赛中,向下摄像头(分辨率为320x240的红外敏感灰度摄像头)通常用于特定任务,如地面识别、障碍物检测和导航等。由于其红外敏感性,向下摄像头可以在低光条件下提供较好的视觉信息,因此在一些特殊场景下具有一定的优势。
对于巡线任务,使用向下摄像头进行地面识别是一种常见的方法。通过对摄像头图像进行图像处理和计算机视觉算法,可以分析地面的特征、线条或标记,并根据识别结果进行巡线操作。这样的巡线任务通常需要使用图像处理、计算机视觉和控制算法来实现。
然而,要成功进行巡线,还需要考虑其他因素,如比赛场地的地面特征、照明条件、摄像头角度和航行速度等。此外,还需要合适的算法和控制策略来解决巡线中的挑战,如曲线跟踪、交叉口处理和高速行驶等。
总之,向下摄像头在无人机比赛中可以用于巡线任务,但实现巡线需要综合考虑图像处理、算法设计和控制策略等多个方面的问题。

Tello无人机的前置摄像头可用于进行避障操作。要调用前置摄像头进行避障,可以遵循以下步骤:
导入Tello SDK库:根据你选择的编程语言,导入适当的Tello SDK库,以便与无人机进行通信和控制。
连接到Tello无人机:通过与Tello无人机建立Wi-Fi连接,并创建一个Tello对象,以便与无人机进行通信。
启动视频流:使用streamon()方法启动视频流传输,以便获取摄像头的实时图像。
获取图像并进行避障处理:在一个循环中,不断获取摄像头的图像,然后根据图像进行避障处理。这可以使用图像处理和计算机视觉算法来实现,例如物体检测、特征提取、距离测量等。你可以使用第三方库,如OpenCV或TensorFlow等,来帮助进行图像处理和物体检测。
根据避障结果控制无人机:根据避障处理的结果,生成相应的控制指令,如前进、后退、向左、向右等,并使用Tello SDK发送控制指令给无人机,以实现避障飞行。
文章来源地址https://www.toymoban.com/news/detail-602678.html

到了这里,关于Tello无人机飞控(Python)程序设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无人机/飞控--ArduPilot、PX4学习记录(2)

    这是一篇碎碎念,零零碎碎的记录了环境配置过程, 仅供本人记录学习历程和参考。 (记录的挺乱的,但是文章链接里的博客写的是真好) 本章主要完成的目标 : 安装PX4 并 成功运行出3D无人机界面。 参考文章: 搭建PX4环境: PX4/Pixhawk - 编译环境搭建_pix4 yu pixhawk-CSDN博客 使

    2024年03月21日
    浏览(43)
  • 无人机/飞控--ArduPilot、PX4学习记录(5)

    这几天看dronekit,做无人机失控保护。 PX4官网上的经典案例,我做了很多注解,把代码过了一遍。 无人机具体执行了:  先起飞,飞至正上空10m-向北移动10m-向东移动10m-向南移动10m-向西移动10m-回到初始起飞点(即home点),降落。 具体执行之前,要打开JMAVSim,接下来会在JMAV

    2024年04月15日
    浏览(40)
  • 获取大疆无人机的飞控记录数据并绘制曲线

    机型M350RTK,其飞行记录文件为加密的,我的完善代码如下 git@github.com:huashu996/DJFlightRecordParsing2TXT.git 飞行记录文件在打开【我的电脑】,进入遥控器内存, 文件路径:此电脑 pm430 内部共享存储空间 DJI com.dji.industry.pilot FlightRecord  网址如下DJI Developer 注册完之后新建APP获得密

    2024年02月16日
    浏览(39)
  • 多旋翼物流无人机节能轨迹规划(Python代码实现)

       💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🌈3 Python代码实现 🎉4 参考文献 多旋

    2024年02月16日
    浏览(33)
  • 【全网首发】【Python】Python控制parrot ARDrone 2.0无人机

    🎉欢迎来到Python专栏~Python控制parrot ARDrone 2.0无人机 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: Python学习专栏 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ 本篇文章主要讲解如

    2024年02月04日
    浏览(29)
  • python 无人机、飞机轨迹(含姿态角)可视化方法

    ​ 目标:在三维直角坐标系中画出包含无人机位置pos、偏航角yaw、俯仰角pitch、滚转角roll等姿态的飞行轨迹。 ​ 思路:同时建立机体坐标系和直角坐标系,飞机的所有点在机体坐标系中的坐标是不变的,而通过俯仰角pitch、偏航角yaw以及滚转角pitch就可以完成从机体坐标系到

    2023年04月25日
    浏览(115)
  • 【Python&GIS】无人机影像的像素坐标计算图片某点的地理/投影坐标

            又是掉头发的一天,今天的任务是通过图片中心点的地理坐标以及图片中某点的像素坐标(即这个点位于图片中的x,y坐标)计算该点的地理/投影坐标。经过一整天的搜索,发现网上并没有这方面的教程。然后就是想啊想,头发一抓一大把,终于在网上零零散散的

    2024年02月16日
    浏览(28)
  • 强化学习应用(一):基于Q-learning的无人机物流路径规划研究(提供Python代码)

    Q-learning是一种强化学习算法,用于解决基于马尔可夫决策过程(MDP)的问题。它通过学习一个价值函数来指导智能体在环境中做出决策,以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的表格来学习最优策略。Q值表示在给定状态下采取某个动作所能

    2024年02月02日
    浏览(41)
  • 强化学习应用(八):基于Q-learning的无人机物流路径规划研究(提供Python代码)

    Q-learning是一种强化学习算法,用于解决基于马尔可夫决策过程(MDP)的问题。它通过学习一个价值函数来指导智能体在环境中做出决策,以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的表格来学习最优策略。Q值表示在给定状态下采取某个动作所能

    2024年01月17日
    浏览(48)
  • 强化学习应用(四):基于Q-learning的无人机物流路径规划研究(提供Python代码)

    Q-learning是一种强化学习算法,用于解决基于马尔可夫决策过程(MDP)的问题。它通过学习一个价值函数来指导智能体在环境中做出决策,以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的表格来学习最优策略。Q值表示在给定状态下采取某个动作所能

    2024年01月17日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包