thoughtworks 无人机_无人机的定位优化/轨迹优化算法原理

(我的知乎第一稿 )

废话不多说,正文开始

在构建5G异构网络的蓝图中,无人机定位优化或轨迹优化是无人机技术中一个独特而重要的问题,因为它能够实现由算法控制无人机的路径规划或部署,减少人工控制成本,并优化系统性能。

为了更直观地理解无人机路径规划算法的原理,我们首先需要构建一个简单的系统模型,包含一个基站,一个无人机辅助中继,和1个用户。然后我们需要提出关于这个无线下行系统的无人机定位优化问题,假设本文的优化目标是最大化系统容量。在建立问题的数学模型之后,无人机上的微型计算机就可以通过分布式算法求解这个优化问题,而得到的最优结果就是无人机在某时刻的最佳部署位置。将无人机的最佳位置反馈给飞行控制系统和推进系统后,这个算法就可以实现系统容量的最大化。

f9fb9ec6-d517-eb11-8da9-e4434bdf6706.png
图一 无人机辅助中继通信网络的系统模型

如图一所示,我们假设地面基站(Base station, BS)和地面用户(Destination, D)之间的无线链路被一座巨大山丘或人为障碍物阻挡,又或者BS和D之间的距离超过了最大信号覆盖范围,所以需要利用一架无人机作为协作中继,将BS的无线信号转发给D。考虑到无人机在飞行过程中会伴随多普勒频移,如果无人机辅助中继采用放大转发协议(Amplify-and-forward, AF),会导致用户端的解码流程过于复杂。因此,我们假设无人机辅助中继是采用解码转发(Decode-and-forward, DF)方案的。此外,为了便于分析,我们还假设所有节点都只配备了单天线。

请注意,我们需要把这个具象的系统模型转化为抽象的数学表达式,才能设计对应的算法策略。

信号的传输过程需要经过两个时隙。下面分别给出了信号在两个时隙中的数学模型。

  1. BS-无人机链路的数学模型:

fcfb9ec6-d517-eb11-8da9-e4434bdf6706.png

2. 无人机-D链路的数学模型:

fefb9ec6-d517-eb11-8da9-e4434bdf6706.png

(对于通信人来说,有没有觉得很熟悉)

一般而言,在露天的空域中BS与无人机之间的信道同时存在LoS和多径散射情况,因此可以假设基站和无人机之间的信道服从莱斯衰落。

那么,对于我们所设计的算法,最重要的参数就是路径损耗

。因为它们是无人机和用户位置的二元函数,一般用范数的形式表示:

其中

是UAV的3D坐标位置,
是用户的坐标位置。

根据香农公式,可以得到基站-无人机与无人机-用户链路的信道容量表达式,分别为:

00fc9ec6-d517-eb11-8da9-e4434bdf6706.png

因为我们在中继端采用的是DF协议,所以总系统容量是两个信道容量的最小值,可以被表示为:

03fc9ec6-d517-eb11-8da9-e4434bdf6706.png

这个形式可以用木头原理解释,因为根据香农第二定理,信息源的信息速率R必须小于或者等于信道容量C,在理论上才可以使信息源的输出以任意小的差错概率通过信道传输。所以,只有将总系统容量定义为两段链路的容量最小值,才能保证与信息速率R的比较是有效的。

不过,上述公式只是最基本的信号和信道容量模型,如果要使用算法去驱动无人机,还需要建立一个关键的优化问题。

前面已经说过了,我们的优化问题是通过优化无人机的定位来实现系统容量最大化的。所以,这个优化问题可以被表示为:

06fc9ec6-d517-eb11-8da9-e4434bdf6706.png

其中

是无人机的实际高度,
是无人机的最低高度,
表示信息速率的阈值。P(1)是香农第二定理的约束,也称QoS约束,表示该系统的容量必须要满足这个条件,系统才能通信,这个问题才是有效的。P(2)则是无人机的高度约束,表示无人机不能低于规定的高度
,主要是为了防止与人为建筑物碰撞。

标注1:由于本文所设计的算法是分布式算法,因此,该优化问题将由无人机所携带的计算机处理器来解决,而非地面控制系统。

标注2:同时,观察到问题P0不是标准的凸问题。因此,若希望计算机软件可以解决这个非凸问题,则需要利用数学工具将其转化为标准的凸问题形式。然而,解决数学问题并非本文的主要内容,所以在此不作详细展开。

可以观察到,问题P0是一个与时间无关的优化问题。如果在计算机内输入解决此问题的算法,计算机会一直运行,直至运行结果出现。然而在实际系统里,由于优化问题的复杂度,计算机几乎难以迅速计算出最优结果。如果系统的环境在计算结束之前发生了变化,那么将有可能导致结果不准确,最严重的后果是最优解失效。因此,解决P0的算法适用于用户被限制在一个小范围内或用户位置变化很慢的静态/准静态情况。

然而,我们更希望当用户以一定速度随机移动时,最优无人机位置也可以随用户位置的变化而随机变化。在这种情况下,可以利用无人机的高机动性,对提出的问题P0进行改进,以实时(Online)跟踪随机移动的用户位置。

实时无人机轨迹优化问题

08fc9ec6-d517-eb11-8da9-e4434bdf6706.png

其中

表示无人机的最大可达速率,
表示记录用户位置变化的一个时隙大小,因而E3是无人机的速度约束。此时,用户的位置已经是时间的相关函数,并表示为

这个优化算法的原理是,规定一个较小的时隙

,使得算法必须在规定时隙内结束迭代(不管有没有达到最优解)。然后到下一个时隙,重新记录用户位置,然后继续运行算法。以此类推,使得无人机可以实时跟踪用户,并实现总系统容量在规定时隙内最大化。

然而,需要注意的是,P0是一个相对简单的优化问题,因为本文只考虑了无人机位置的单一优化变量。若在更复杂的通信系统里,为了实现性能最优化的目标,研究人员往往需要考虑多个优化变量的联合优化问题。而优化变量越多,意味着优化问题的约束数量越多,而且往往伴随着复杂的约束函数。在这种情况下,优化问题的表达式也非常复杂,而且几乎不可能是凸形式。为了让机载无人机或者陆地控制网关可以有效求解这些问题,需要利用大量且复杂的数学证明将其转化为标准的凸问题。

另一方面,问题P0的无人机的定位优化是针对某个时隙内的运行结果。如果把无人机的位置变化定义为时间上连续的函数,则可以将其看作无人机的轨迹优化问题,也称为路径规划问题。

如今,无人机已经从原始的遥控功能升级到可以脱离人为操控的局限,甚至能够实现自主控制。尤其是人工智能时代的到来,无线通信系统必然会经历重大技术革新,并因此影响无人机的未来发展。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
帮我把这段xml,用@Data注解转成java bean实体,每个字段上都要加上@XStreamAlias注解 <FLIGHT> <FID>b59bb8fa48ad6edbf35f7f468019d06d</FID> <DATA_TYPE>操作类型:INSEERT、UPDATE、DELETE</DATA_TYPE> <FLIGHT_ID>0或者例如:ZH9847-2020-08-18-A</FLIGHT_ID> <AIRLINE_IATA>ZH</AIRLINES_IATA> <AIRLINE_ICAO>CSZ</AIRLINES_ICAO> <FLIGHT_NO>ZH9487</FLIGHT_NO> <DAP_AP>CTU</DAP_AP> <AAP_AP>JJN</AAP_AP> <FLINES>JJN,HGH,SJW</FLINES> <REG_NUMBER>B3207</REG_NUMBER> <FLIGHT_STATUS>0</FLIGHT_STATUS> <FLIGHT_DATE>20200820</FLIGHT_DATE> <PLAN_TAKEOFF_TIME>20200820153628<PLAN_TAKEOFF_TIME> <PLAN_LANDIN_TIME>20200820153628</PLAN_LANDIN_TIME> <ESTIMATED_TAKEOFF_TIME>20200820153628</ESTIMATED_TAKEOFF_TIME> <ESTIMATE_LANDIN_TIME>20200820153628</ESTIMATE_LANDIN_TIME> <REAL_TAKEOFF_TIME>20200820153628</REAL_TAKEOFF_TIME> <REAL_LANDIN_TIME>20200820153628</REAL_TAKEOFF_TIME> <FLY_DISTANCE>1302</FLY_DISTANCE> <DEP_STAND>22</DEP_STAND> <ARR_STAND>32</ARR_STAND> <TOUCH_DOWN_RUNWAY>03</TOUCH_DOWN_RUNWAY> <TAKE_OFF_RUNWAY>03</TAKE_OFF_RUNWAY> <DEP_GATE>09</DEP_GATE> <CHECKIN_COUNTER></CHECKIN_COUNTER> <CHECKIN_COUNTER2></CHECKIN_COUNTER2> <LUGGAGE_TURNTABLE>2DA</LUGGAGE_TURNTABLE> <LUGGAGE_TURNTABLE2>2DB</LUGGAGE_TURNTABLE2> <DORI>0</DORI> <MISSION_PROPERTY>W/Z</MISSION_PROPERTY> <IS_SHARE>0</IS_SHARE> <SHARE_MAIN_FLIGHT>ZH8701</SHARE_MAIN_FLIGHT> <IS_VIP>0</IS_VIP> <ALNAP></ALNAP> <FIRST_POINT></FIRST_POINT> <AIRWAY_POINTS> </AIRWAY_POINTS> <ROUTE></ROUTE> <DELAY_REASON_PUID>0</DELAY_REASON_PUID> <DELAY_REASON_CLIENT></DELAY_REASON_CLIENT> <DELAY_TYPE></DELAY_TYPE> <DELAY_REASON></DELAY_REASON> </FLIGHT>
最新发布
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值