drone无人机操作教程_无人机怎么起飞教程

drone无人机操作教程_无人机怎么起飞教程教程:使用DroneKit在室内控制无人机DroneKit-Python是一个用于控制无人机的Python库。DroneKit提供了用于控制无人机的API,其代码独立于飞控,单独运行在机载电脑(CompanionComputer)或其他设备之上,通过串口或无线的方式经MAVLink协议与飞控板通信。除了DroneKit-Python以外,还有DroneKit-Android以及DroneKit-C

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

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

教程:使用DroneKit在室内控制无人机

DroneKit-Python是一个用于控制无人机的Python库。DroneKit提供了用于控制无人机的API,其代码独立于飞控,单独运行在机载电脑(Companion Computer)或其他设备之上,通过串口或无线的方式经MAVLink协议与飞控板通信。除了DroneKit-Python以外,还有DroneKit-Android以及DroneKit-Cloud的API供不同的开发者使用。

本教程使用的解决方案为:

  • 运行在机载电脑上的DroneKit-Python代码
  • 机载电脑选择Raspberry Pi 3B
  • Pixhawk飞控上运行ArduCopter(APM)飞控软件
  • 安装额外的传感器:光流(Optical Flow)传感器和超声波(Rangefinder)适应室内飞行的环境
  • 使用的PC运行Windows 10

第0步 预先储备

在开始本教程之前,需要确认以下内容:

  • 明确需求,无人机是否必须室内执行任务?
  • 是否有空间足够、可供测试的飞行平台及场地?
  • 此教程牵涉到的内容很多,是否有足够的动手能力自学能力

你需要准备好:

  • 一架装载Pixhawk的无人机或一套零件(包括:飞控及外设、机架、无刷电机、电调、正反桨、遥控器、航模电池,最好还有起落架、桨保护罩)
  • Raspberry Pi 3B或其他小型计算机
  • PX4Flow光流传感器
  • 受Pixhawk/APM支持的超声波传感器或激光雷达(官方支持的传感器列表
  • 螺丝刀、焊台等工具

此外,还可能需要了解:

  • 控制理论和数理基础
  • 多旋翼无人机的基本原理
  • Linux bash shell的基本操作
  • Python的基本语法

当然,暂时不清楚也没关系,可以在遇到问题时再去查阅参考资料。

第1步 组装和设置飞控

Pixhawk作为一款开源飞控,价格便宜、功能强大。不过,因为它开源的属性,飞控的安装和调试不及商品飞控简便;刚入门的时候可能会感到没有头绪,这时候不要放弃,熟悉了以后你会喜欢上它的!

如果已有安装了Pixhawk的无人机,请确认无人机装载的飞控程序为最新稳定版本的ArduCopter。此外,请进行多次试飞,确认无人机和飞控设置正确、飞手能够熟练操控。

如果选择购买散装的套件,互联网上有很多关于组装和调试Pixhawk飞控的教程,一般卖家也都会提供文档和技术支持,这里不再展开。推荐非常经典的泡泡老师新手课堂-PixHawk飞控的使用方法

需要注意,网上有些卖家会把传感器替换成低精度的型号,因此特别注意一些售价低得反常的飞控。这些飞控即便可以飞行,但很可能在滤波和控制上出现问题。所以,我还是推荐各位去找开源社区的合作企业购买飞控。虽然贵了点,但是硬件质量更加可靠,能够避免许多不必要的麻烦和炸机事故。

在进行下一步操作之前,请确认

  • 无人机组装完成
  • 飞控调试完成
  • 多次试飞成功,Stabilize、AltHold、PosHold、Loiter、Land等模式下功能正常
  • 飞手能熟练操控无人机

第2步 连接和测试外设

2.1 连接机载电脑

ArduPilot官方支持多种微型计算机,且理论上任何计算机或单片机都可以通过UART串口直接连接到Pixhawk飞控。用户和开发者可以根据自己的需求和预算,选购合适的微型计算机。这里以Raspberry Pi 3B(树莓派3B)为例,因为它的设置相对简单、价格合理、参考资料较多。

2.1 使用树莓派连接Pixhawk飞控

2.2 安装距离传感器

在室内环境下,Pixhawk上自带的气压计无法提供足够准确(厘米级)的定高数据,可能因为空调、风扇甚至开关门、人员走动所产生的气流引起气压变化,导致无人机的高度突然升高或降低,撞击天花板或地面而发生危险。因此,需要安装超声波传感器或激光雷达传感器,用于室内的高度控制。

市面上受支持的超声波传感器和激光雷达种类繁多、价格和精度不一,建议根据需要选用,并寻求卖家或官方文档(英文)的技术支持。

2.3 安装光流传感器

室内环境下,GPS信号经过建筑物墙体的阻挡和反射,无法提供准确的定位数据,因此不能使用GPS作为定位信息的来源。光流传感器是一个安装在无人机上、指向正下方的摄像头,使用光流算法,能够在无GPS信号的情况下,为无人机提供定位数据和地速(相对地面的速度)。

2.3 在Pixhawk飞控上安装和调试PX4Flow光流传感器

第3步 控制指令的配置、编写和测试

从这里开始,我们将针对室内飞行、光流+超声传感器组合这一特殊情况,配置飞控参数、编写和测试控制代码。这部分3.1、3.2和3.3的内容会互相穿插,在3.4中将给出一个较为合理的开发、测试流程,以供参考。

3.1 修改飞控参数

目前,ArduPilot的官方飞控程序还是以GPS信号作为定位信息的主要来源。需要对飞控参数做一些修改,使得光流传感器和测距传感器获取的位置信息和高度信息能够被飞控程序正确使用。

3.1 Pixhawk室内自动控制:参数设置

3.2 使用SITL模拟器

在进行实物试飞之前使用模拟器进行测试,可以试验方案的可行性,同时规避掉许多简单的问题,减少测试过程中无人机炸机带来的损失。

在这里,我们需要编译最新的稳定版本固件。

3.2.1 如何从源码编译SITL(Windows)

3.2.2 使用从源码编译的SITL测试DroneKit代码

3.2.3 Pixhawk室内自动控制:参数设置(SITL)

3.3 学习DroneKit-Python

DroneKit-Python是一个Python库,能够控制无人机的运动、获取无人机的实时状态。我已经根据室内光流+超声波自动飞行的特点,完成了FlightController控制库的编写,经过真机测试,可以直接使用。在GUIDED文件夹下,还有三个示例文件;通过简单地参考和改写示例文件,即可很快上手。

对DroneKit-Python中的常用功能,有以下教程:

3.3.1 DroneKit教程(一):安装DroneKit和测试工具

3.3.2 DroneKit教程(二):控制Pixhawk示例

3.3.3 DroneKit教程(三):连接Pixhawk飞控

3.3.4 DroneKit教程(四):属性和参数的读取与设置

3.3.5 DroneKit教程(五):使用自定义MAVLink指令

3.3.6 DroneKit教程(六):继承和自定义Vehicle类

3.3.7 DroneKit教程(七):遥控信道覆盖

3.4 开发测试流程

在对以上概念有充分了解后,我们需要了解每一个环节在什么时候有什么作用。因此,在此给出一个简略的DroneKit开发测试流程,供各位参考。

  1. 编写DroneKit代码
  2. 根据相应条件,配置SITL中的环境参数和飞控参数
  3. 运行SITL,测试编写的DroneKit代码功能是否正常
  4. 代码通过SITL测试,准备进行真机试飞,按照SITL的配置修改真机飞控的参数
  5. 真机测试

版本信息

1.0 20170916 initial commit

1.1 20170921 add link 3.2.3

知识共享许可协议
本作品采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议进行许可。

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170557.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 用js来实现那些数据结构02(数组篇02-数组方法)

    上一篇文章简单的介绍了一下js的类型,以及数组的增删方法。这一篇文章,我们一起来看看数组还有哪些用法,以及在实际工作中我们可以用这些方法来做些什么。由于其中有部分内容并不常用,所以我尽量缩小篇幅。在这

  • 动漫常用网站/APP 彻底帮你解决看动漫的烦恼[通俗易懂]

    动漫常用网站/APP 彻底帮你解决看动漫的烦恼[通俗易懂]本文是众多使用技巧中其中的一篇,全部使用技巧点击链接查看,保证你收获满满我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题,有兴趣的可以去我的主页了解更多计算机学科的精品思维导图整理本文可以转载,但请注明来处,觉得整理的不错的小伙伴可以点赞关注支持一下哦!本文提到的所有软件和工具,可关注公众号一起学计算机点击资源获取获得本人最常用的网站就是AGE动漫,这是我用过最好的动漫网站,资源算是最全的吧,并且大多数动漫都提供百度云链接,可下载观看,…

  • Script failed for StoredProcedure ‘………’ Index was outside the bounds of the array.(Microsof…

    Script failed for StoredProcedure ‘………’ Index was outside the bounds of the array.(Microsof…本地数据库远程登陆数据库服务器,右击存储过程,报错如下:原因:本地数据库版本2008R2,但服务器数据库版本2012,版本不一致导致的。转载于:https://www.cnblogs.com/vitaminC/p/6907827.html…

  • MySQL自增主键数值莫名增加

    MySQL自增主键数值莫名增加问题描述自增主键数值比计划中大,可能原因有很多。解决方案如果某次存储过程失败,也是会占用自增主键数值的。删除数据,已占用过的自增主键数值不会恢复,新插入数据会继续从删除之前的数值开始增加。所以,存储失败后,需要重新设置自增主键起始值。…

  • JAVA 新手入门

    JAVA 新手入门JAVA新手入门前言基础语法Java的语言特性面向对象的思想接口泛型前言对于JDK的安装和环境配置,网上已经有很多资料,比如:这个是我随便搜的。至于编辑器的话,我个人使用的是IDEA,因为刚好有教育邮箱,可以免费使用(这一点对于没有收入来源的学生来讲真的很赞)另外,我是学习过C++的一名普通学生,所以之后的很多内容,我都会相较于C++来比较学习,这样也便于快速理解,或许对于没有C++或类似基础的同胞们不太友好,请谅解。基础语法进入正题,对于任何一门语言,相信绕不过的第一个程序,自然就是Hell

  • AndroidSlidingUpPanel 使用控制和简单的分析方法

    AndroidSlidingUpPanel 使用控制和简单的分析方法

发表回复

您的电子邮箱地址不会被公开。

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