APP下载

无人机物资运输与智能避障系统设计

2023-07-29王正琳宋澳举王路茗

自动化与仪表 2023年7期
关键词:螺柱势场航路

王正琳,付 宇,宋澳举,王路茗

(1.中国民航大学 航空工程学院,天津 300300;2.中国民航大学 经济与管理学院,天津 300300)

现代无人机的避障功能对无人机的整体稳定性有着十分重要的作用,其中人工势场法作为重要工具,可以基于此定义位置函数构建无人机避障数学模型。本文使用python 语言控制多旋翼的方法,将Dronekit-python 数据库导入树莓派中,可以通过该语言对多旋翼行为进行控制,并且由于Dronekitpython 语言的简单性与可靠性,使控制代码可以在虚拟环境中进行测试与模拟,使用从源码编译的SITL 测试dronekit 代码,保证飞行过程的可靠性与稳定性。

1 无人机结构设计

为了适应工作环境,本文在设计无人机结构上采用了精简耐用的设计理念,通过机架加设备的方式设计了无人机。

1.1 主体机架

无人机的机架主体由2 块完整切割的碳板通过螺柱连接组成,无人机中上方碳板作为主机架,下方碳板作为副机架,通过计算机仿真,确定了所用碳板的厚度,以及螺柱所安置的位置。经仿真后选取了5 mm 厚的普通3K 碳纤维板作为主机架的碳板,2 mm 厚的普通3K 碳纤维板作为副机架的碳板;并在每个机臂根部用3 枚总共12 枚M3×16 的螺柱将主机架和副机架刚性连接为一个整体。仿真结果如图1 所示。

图1 多旋翼机架结构在ANSYS 下的仿真结果Fig.1 Simulation results of multi-rotor framestructure under ANSYS

所选取的5 mm 碳板制作的主机架,在所选用电机最大拉力20 N 下机臂的挠度为1.3 mm,在需用范围之内。机架用于安置各种无人机的核心设备包括飞控、电机电调等。并连接其它平台用于安装更多不同功能的设备。

1.2 起落架等附属设备

起落架由2 根碳纤维管和3D 打印的连接件组成,并在底部碳管两侧安装了2 个橡胶套,用于防滑同时起到一定的减震作用,使降落更加稳定。起落架顶部安装有3D 打印的连接件用于与机架连接,连接件上有4 个螺丝孔对应无人机副机架碳板上的4 个螺丝孔,用M3 的螺丝螺母将二者固连。

外设挂载平台用于挂载各种实现所需功能的设备,其通过螺柱连接吊装在机架上处于电池平台下方。机载计算机平台为一块安装在机架上方的碳板,通过螺柱固定在机架上方,用于安装机载计算机。

1.3 机器部分材料选用

无人机机身结构采用碳板和碳管组合,相比于其他复合材料,在满足无人机机体同等强度和刚度的前提下,碳纤维复合材料高比强度和高比刚度的特性能够大大减轻无人机的机身质量,降低无人机的单位载荷成本,使得无人机在空中更好操控,使得规划路线、定位等功能更加精准。

无人机底部起落架中间,使用3D 打印的连接件将横竖交叉的两根碳管连接在一起,起稳定紧固作用。用橡胶将无人机起落架伸出的4 个脚包起来,在防滑同时起到降落接地时的减震缓冲作用。

在无人机实现全部功能的过程中,树莓派需要向各个部分发送指令,实现自主运作。树莓派是无人机的核心,多传感器信息的融合和分析都是依靠树莓派。飞行过程也是通过树莓派来控制指挥的,把程序指令通过相应固件输入到树莓派中,在飞行过程中这些代码指令就可以控制无人机来完成整个过程[1-2]。

在进行实际飞行之前,使用dronekit 可以在SITL 虚拟环境中进行模拟推演,保证实际飞行安全。再修改完参数后,通过代码,可以在SITL 虚拟环境中进行模拟飞行,通过分析模拟飞行中的数据,修改改善无人机的飞行状态。此外,在模拟飞行中也可以减少在实际场景中无人机的损坏[3]。

2 无人机运输与避障建模

2.1 结构可行性分析

四旋翼无人机一般采用“X”型布局,4 个旋翼位于“X”的4 个顶点,螺旋桨在电机的带动下为多旋翼持续提供升力。一条斜线的电机作逆时针旋转,另一条斜线的电机作顺时针旋转,从而保持一个稳定的力矩,使无人机姿态稳定。当无人机需要做垂直运动时,同时增加或减小4 个电机的转速,就能达到垂直上升和垂直下降的目的。当无人机需要做俯仰运动时,增加(或减小)前侧2 个电机的转速,同时减小(或增加)后侧2 个电机的转速,即可达到无人机抬头(或低头)的目的[4]。

当无人机需要做滚转运动时,增加(或减小)左右一侧2 个电机的转速,同时减小(或增加)另一侧2 个电机的转速,即可达到无人机滚转的目的。当无人机需要做偏航运动时,一条对角线上的2 个电机转速同时增大,另一条对角线上的2 个电机转速同时减小,似的一条对角线螺旋桨对机身的反扭矩大于另一条对角线对机身的反扭矩,从而使无人机在富余反扭矩的作用下绕Z 轴转动,实现偏航运动。

在实现飞行器在同一平面内做前后左右的运动时,需要同时保证反扭力矩的平衡从而保证飞行器的平稳运动,无人机前侧电机转速小于后侧电机转速,使无人机发生一定程度的倾斜,当旋翼的拉力产生水平分量的时候,可以控制多旋翼向空间内不同方向进行运动。无人机使用架构形式,能使飞控、光流传感器、电池、视觉传感器等设备能有足够的空间放置在无人机上,在主机架和副机架预留一定的孔位,方便各种结构以及设备的刚性连接,使之固定在无人机上。

2.2 人工势场模型

人工势场法是给目标航路点和直线路径分配吸引势场,给障碍物分配排斥势场。使三维飞行区域处于目标航路点、直线路径和障碍物的叠加势场中,飞行在该区域中的多旋翼将会被目标航路点和直线路径同时吸引,而被障碍物排斥,使得多旋翼在飞向目标航路点的同时沿着直线飞行,且能避开障碍物,如图2 所示。

图2 人工势场法示意图Fig.2 Schematic diagram of artificial potential field method

2.3 多旋翼任务决策模型

多旋翼全自主控制层级如图3 所示,其中任务规划在离线模式下进行,包括任务的分配与任务的阶段性划分,路径规划可以靠开源飞控自行完成。底层控制层内置在开源飞控之中,在这里讨论应用的情况所以简化考虑。

图3 多旋翼全自主控制层级Fig.3 Multi-rotor fully autonomous control level

其中多旋翼进行避障主要涉及路径规划,精确的说是局部路径规划。根据局部环境和多旋翼动力学与运动学约束条件,将原本的两点间的飞行路径提炼成为可飞的飞行路径。结合人工势场法,在算法设计的过程中可以做出如下假设:多旋翼在运动的过程中同时受到目标位置对其的引力和障碍物对其的斥力。下面对无人机避障算法进行分析[5-6]。

多旋翼自主避障示意图如图4 所示。

图4 多旋翼自主避障示意图Fig.4 Schematic diagram of multi-rotor autonomous obstacle avoidance

(1)令p∈R3表示多旋翼当前的位置,pwp∈R3表示目标航路点。需要设计局部的路径规划器而实时的生成期望位置pd∈R3,引导多旋翼飞向航路点pwp并避开半径为r0∈R+,球心位于po∈R3处的障碍物。

(2)为了方便模型的建立提出2 个假设:

①多旋翼的初始位置po∈R3满足:

飞行器刚开始飞行不在障碍区内。

②目标航路pwp满足:

目标位置离障碍足够远。

其中:方程的前部分为靠近目标航路的部分,方程中间部分为避障部分。根据假设①,避障项在初始时刻是有界的,如果函数一直有界,则多旋翼不会与障碍物发生碰撞。

而后,对V2求一阶偏导数:

根据不变集原理,系统将全局收敛到(p,v),其中v=03×1,p 是方程的解。参数k0,k1可以调整多旋翼靠近到目标航路点和避障的相对快慢[7]。

多旋翼平衡点示意图如图5 所示,平衡点只可能在A 射线的目标航路点与C 线上,出现障碍物时航路点对多旋翼的吸引力与障碍物对它的排斥力形成了一对合力,会使多旋翼尽量的远离C 射线。如果多旋翼在射线C 上运动,多旋翼靠近障碍物会受到排斥力,且越靠近障碍物排斥力就越大,但是从实际情况的概率上来讲,多旋翼运动在一定的空间内但是在此射线上的概率为0,所以此时的为不稳定的平衡点,所以是唯一稳定的平衡点。

图5 多旋翼平衡点示意图Fig.5 Schematic diagram of multi-rotor balance point

3 模型程序设计

代码主要应用Python 来控制飞机的移动情况。由于是使用的是开源固件,本次是用了dronekit。DroneKit-python 是一个用于控制无人机的Python库。DroneKit 提供了用于控制无人机的API,其代码独立于飞控,单独运行在机载电脑或其他设备之上,本项目的机载电脑选择为树莓派4B,通过串口或无线的方式经MAVLink 协议与飞控板通信。

从当前主机安装DroneKit-python。

创建一个新的python 文件并导入DroneKit、pymavlink 和基本模块:

连接到无人机或模拟的MAVLink 端口:

笔记本端当前可通过SSH 协议访问树莓派,树莓派系统为Ubuntu18.04。

关于硬件协议的打通,光流硬件提供给无人机速度信息,因特尔T265 摄像头提供给无人机空间位置信息,使无人机对自己周围环境形成感知。关于摄像头的安装与编译工作:

Intel Realsense SDK 的安装例如运用如下程序:

Dronekit 作为一款强大的工具其数据库中有很多Python 函数可以用于调用,电脑与树莓派连接后运行指令。运用Python3 的指令需要在运行Dronekit后加入一段代码否则无法识别。

在连接前对无人机水平位置进行校对,规定起飞前各方向速度为0:

在飞机起飞前需要进行安全检查与确认,例如:

在起飞后通过代码控制飞行方向与持续时间,此处数值用字母代替:

通过已知的基本程序语言对无人机行驶路径进行规划。

4 结语

可靠的结构为无人机提供有力的硬件保障。无人机可以根据自身传感器对周围环境进行探索,并且将周围位置信息进行量化。根据无人机位置信息,速度、位移和高度信息,由雷达探测障碍物,然后通过DroneKit 规划出路径来躲避障碍。根据模型,无人机在该程序下可以sitl 虚拟环境中可以进行状态参数正常的模拟飞行,在实际场地中,飞行姿态可以保持平稳。

猜你喜欢

螺柱势场航路
基于Frenet和改进人工势场的在轨规避路径自主规划
短周期螺柱焊原理及缺陷分析
基于改进人工势场方法的多无人机编队避障算法
库车坳陷南斜坡古流体势场对陆相油气运聚的控制
基于交叉航路影响的航路容量模型研究
基于偶极势场的自主水下航行器回坞导引算法
水下螺柱焊试验研究
应召反潜时无人机监听航路的规划
托勒密世界地图与新航路的开辟
7A52铝合金TIG-拉弧螺柱焊工艺