2024年2月12日发(作者:肥岚彩)
遥控飞机droneapp操作指南
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
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)
2024年2月12日发(作者:肥岚彩)
遥控飞机droneapp操作指南
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
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)