CN111752145B - 设计uav控制器模型的方法和系统、存储介质以及无人机 - Google Patents
设计uav控制器模型的方法和系统、存储介质以及无人机 Download PDFInfo
- Publication number
- CN111752145B CN111752145B CN202010207881.XA CN202010207881A CN111752145B CN 111752145 B CN111752145 B CN 111752145B CN 202010207881 A CN202010207881 A CN 202010207881A CN 111752145 B CN111752145 B CN 111752145B
- Authority
- CN
- China
- Prior art keywords
- uav
- wind
- controller model
- motion tracking
- machine learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 230000033001 locomotion Effects 0.000 claims abstract description 121
- 238000010801 machine learning Methods 0.000 claims abstract description 117
- 238000012549 training Methods 0.000 claims abstract description 56
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 230000002787 reinforcement Effects 0.000 claims description 30
- 230000002194 synthesizing effect Effects 0.000 claims description 11
- 238000013459 approach Methods 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 7
- 238000003786 synthesis reaction Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 46
- 238000013528 artificial neural network Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 238000012706 support-vector machine Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 229910052709 silver Inorganic materials 0.000 description 3
- 239000004332 silver Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000010006 flight Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000003679 aging effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003227 neuromodulating effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F03—MACHINES OR ENGINES FOR LIQUIDS; WIND, SPRING, OR WEIGHT MOTORS; PRODUCING MECHANICAL POWER OR A REACTIVE PROPULSIVE THRUST, NOT OTHERWISE PROVIDED FOR
- F03D—WIND MOTORS
- F03D80/00—Details, components or accessories not provided for in groups F03D1/00 - F03D17/00
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0047—Navigation or guidance aids for a single aircraft
- G08G5/0069—Navigation or guidance aids for a single aircraft specially adapted for an unmanned aircraft
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F03—MACHINES OR ENGINES FOR LIQUIDS; WIND, SPRING, OR WEIGHT MOTORS; PRODUCING MECHANICAL POWER OR A REACTIVE PROPULSIVE THRUST, NOT OTHERWISE PROVIDED FOR
- F03D—WIND MOTORS
- F03D7/00—Controlling wind motors
- F03D7/02—Controlling wind motors the wind motors having rotation axis substantially parallel to the air flow entering the rotor
- F03D7/0276—Controlling wind motors the wind motors having rotation axis substantially parallel to the air flow entering the rotor controlling rotor speed, e.g. variable speed
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F03—MACHINES OR ENGINES FOR LIQUIDS; WIND, SPRING, OR WEIGHT MOTORS; PRODUCING MECHANICAL POWER OR A REACTIVE PROPULSIVE THRUST, NOT OTHERWISE PROVIDED FOR
- F03D—WIND MOTORS
- F03D7/00—Controlling wind motors
- F03D7/02—Controlling wind motors the wind motors having rotation axis substantially parallel to the air flow entering the rotor
- F03D7/04—Automatic control; Regulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/08—Control of attitude, i.e. control of roll, pitch, or yaw
- G05D1/0808—Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft
- G05D1/0816—Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft to ensure stability
- G05D1/0825—Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft to ensure stability using mathematical models
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/606—Compensating for or utilising external environmental conditions, e.g. wind or water currents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2101/00—UAVs specially adapted for particular uses or applications
- B64U2101/30—UAVs specially adapted for particular uses or applications for imaging, photography or videography
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
- B64U2201/10—UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
- B64U2201/20—Remote controls
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F03—MACHINES OR ENGINES FOR LIQUIDS; WIND, SPRING, OR WEIGHT MOTORS; PRODUCING MECHANICAL POWER OR A REACTIVE PROPULSIVE THRUST, NOT OTHERWISE PROVIDED FOR
- F03D—WIND MOTORS
- F03D7/00—Controlling wind motors
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F03—MACHINES OR ENGINES FOR LIQUIDS; WIND, SPRING, OR WEIGHT MOTORS; PRODUCING MECHANICAL POWER OR A REACTIVE PROPULSIVE THRUST, NOT OTHERWISE PROVIDED FOR
- F03D—WIND MOTORS
- F03D7/00—Controlling wind motors
- F03D7/02—Controlling wind motors the wind motors having rotation axis substantially parallel to the air flow entering the rotor
- F03D7/04—Automatic control; Regulation
- F03D7/042—Automatic control; Regulation by means of an electrical or electronic controller
- F03D7/043—Automatic control; Regulation by means of an electrical or electronic controller characterised by the type of control logic
- F03D7/045—Automatic control; Regulation by means of an electrical or electronic controller characterised by the type of control logic with model-based controls
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F03—MACHINES OR ENGINES FOR LIQUIDS; WIND, SPRING, OR WEIGHT MOTORS; PRODUCING MECHANICAL POWER OR A REACTIVE PROPULSIVE THRUST, NOT OTHERWISE PROVIDED FOR
- F03D—WIND MOTORS
- F03D7/00—Controlling wind motors
- F03D7/02—Controlling wind motors the wind motors having rotation axis substantially parallel to the air flow entering the rotor
- F03D7/04—Automatic control; Regulation
- F03D7/042—Automatic control; Regulation by means of an electrical or electronic controller
- F03D7/043—Automatic control; Regulation by means of an electrical or electronic controller characterised by the type of control logic
- F03D7/046—Automatic control; Regulation by means of an electrical or electronic controller characterised by the type of control logic with learning or adaptive control, e.g. self-tuning, fuzzy logic or neural network
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2101/00—Details of software or hardware architectures used for the control of position
- G05D2101/10—Details of software or hardware architectures used for the control of position using artificial intelligence [AI] techniques
- G05D2101/15—Details of software or hardware architectures used for the control of position using artificial intelligence [AI] techniques using machine learning, e.g. neural networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2109/00—Types of controlled vehicles
- G05D2109/20—Aircraft, e.g. drones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0004—Transmission of traffic-related information to or from an aircraft
- G08G5/0013—Transmission of traffic-related information to or from an aircraft with a ground station
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0017—Arrangements for implementing traffic-related aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information
- G08G5/0026—Arrangements for implementing traffic-related aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information located on the ground
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0095—Aspects of air-traffic control not provided for in the other subgroups of this main group
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E10/00—Energy generation through renewable energy sources
- Y02E10/70—Wind energy
- Y02E10/72—Wind turbines with rotation axis in wind direction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Aviation & Aerospace Engineering (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Combustion & Propulsion (AREA)
- Chemical & Material Sciences (AREA)
- Sustainable Energy (AREA)
- Sustainable Development (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
Abstract
本发明涉及设计UAV控制器模型的方法和系统、存储介质以及无人机。用于训练UAV控制器模型的方法包括向风力发电机提供风力发电机控制信号,以使风力发电机朝向UAV发出风海流。该方法包括使用UAV控制器模型来操作UAV。UAV的飞行受由风力发电机生成的风的影响。该方法包括使用运动跟踪系统来监控UAV的飞行,以确定运动跟踪数据。该方法包括基于运动跟踪数据,使用机器学习算法来训练UAV控制器模型。
Description
技术领域
示例涉及用于生成用于控制无人机(UAV)的UAV控制器模型的方法,包括UAV、风力发电机、运动跟踪系统和控制模块的系统以及UAV和用于操作UAV的方法。
背景技术
当测试和表征航空机器人时,抗风稳定性是关键的性能标准。然而,在许多情况下,尚不清楚航空机器人在实际情况中经历哪种风廓线(wind profiles),如何复制这种风廓线,或者如何最好地生成人工风廓线,这对于航空机器人来说具有挑战性。
航空机器人或无人驾驶飞机(drones)的测试目前涉及用人工风源(诸如风洞)或最近使用的风力发电机(如WindShape的WindShaper)进行的室内飞行测试,允许在空间和时间两者上以高粒度调节风况。在许多情况下,可以理解,对于航空机器人来说,空间和时间上变化的风比恒定的风更具有挑战性,但是关于无人驾驶飞机在实际应用中所经历的风的特性却了解很少(例如,风廓线看起来像靠近应该由无人驾驶飞机检查的移动的风力涡轮)。人们很难理解无人驾驶飞机最难以缓解哪种风廓线。
因此,尽管风力发电机可以提供对风廓线的非常粒度的控制,但是所使用的风廓线通常或多或少地被任意选择(例如,在空间和时间上的正弦波),这对于被测试的无人驾驶飞机来说可能不太具有挑战性。同时,由于生成更高的风速需要更大的风力发电机、更大的功率,并且至关重要的是,更大的测试区域,因此无人驾驶飞机开发者可能有兴趣在低风速下创建具有挑战性的风廓线。
发明内容
本申请的目的是创建为无人机提供增加的难度的风廓线,并且提供被配置为处理增加的难度的无人机。
本公开的实施方式基于这样的思想:为了处理困难的风况,无人机(UAV)可能受到风力发电机的风。UAV可以使用UAV控制器模型来操作,该模型可以例如是机器学习模型或使用机器学习模型生成的控制器模型。在飞行期间,可以使用生成运动跟踪数据的运动跟踪系统来跟踪UAV,并且可以基于运动跟踪数据来训练UAV控制器模型。任选地,风力发电机可以基于风力控制器模型来控制,该风力控制器模型也可以基于运动跟踪数据来训练,并且该风力控制器模型可以被训练为使得其增加了UAV的难度。
因此,本公开提供了一种生成飞行控制算法和/或风廓线的方法,该飞行控制算法旨在例如通过机器学习(例如,强化学习算法)闭合正在被测试的航空机器人/UAV的性能与风力发电之间的回路在有风的情况下维持稳定的飞行,由此找到被设计为最大限度地挑战正在被测试的特定机器人的“对抗”风廓线。换句话说,风可能对抗地生成。实施方式可以进一步提供用于航空机器人和其他机器人系统的测试装置。
与风廓线和无人驾驶飞机控制系统两者的手动设计相比,实施方式可以提供在没有非常高的风速(这需要更大的测试区域、更大的功率等)的非常具有挑战性的风况下测试无人驾驶飞机的可能性。实施方式可以允许测试具有对于其精确特性而难以调整的风廓线的无人驾驶飞机。实施方式可以进一步允许能够承受非常具有挑战性的风况的控制器(例如,UAV控制器模型)的自动合成/训练。
本公开的实施方式提供了一种用于设计(即训练)用于控制UAV的UAV控制器模型的方法。该方法包括向风力发电机提供风力发电机控制信号,以使风力发电机朝向UAV发出风海流(wind current)。该方法包括使用UAV控制器模型来操作UAV。UAV的飞行受由风力发电机生成的风的影响。该方法包括使用运动跟踪系统来监控UAV的飞行,以确定运动跟踪数据。该方法包括基于运动跟踪数据,使用机器学习算法来合成UAV控制器模型。
本公开的实施方式提供了一种包括使用UAV控制器模型来操作的UAV的系统。该系统包括用于生成风海流的风力发电机。该系统包括用于监控UAV的飞行的运动跟踪系统。该系统包括控制模块,该控制模块被配置为向风力发电机提供风力发电机控制信号,以使风力发电机发出风海流以影响UAV的飞行。该控制模块被配置为使用运动跟踪系统来监控UAV的飞行,以确定(即UAV的轨迹的)运动跟踪数据。该控制模块被配置为基于(UAV的轨迹的)运动跟踪数据,使用机器学习算法来合成UAV控制器模型。
本公开的实施方式提供了一种UAV,包括一个或多个致动器,用于推进UAV。UAV包括一个或多个传感器,用于提供与由风引起的UAV的运动相关的传感器数据。UAV包括控制器,该控制器被配置为基于UAV控制器模型并基于传感器数据来控制一个或多个致动器。UAV控制器模型至少部分地基于训练UAV的运动跟踪数据。当训练UAV的飞行受由风力发电机发出的风海流的影响时,获取训练UAV的运动跟踪数据。
本公开的实施方式提供了一种用于操作UAV的方法。UAV包括一个或多个致动器,用于推进UAV。UAV包括一个或多个传感器,用于提供与由风引起的UAV的运动相关的传感器数据。该方法包括基于UAV控制器模型并基于传感器数据来控制一个或多个致动器。UAV控制器模型至少部分地基于训练UAV的运动跟踪数据。当训练UAV的飞行受由风力发电机发出的风海流的影响时,获取训练UAV的运动跟踪数据。
本公开的实施方式提供了一种计算机程序,该计算机程序具有当计算机程序在计算机、处理器或可编程硬件组件上执行时,用于执行至少一种方法的程序代码。
附图说明
下面将仅通过示例并参考附图来描述设备和/或方法的一些示例,其中,
图1a和图1b示出了用于设计UAV控制器模型的方法的实施方式的流程图;
图1c示出了系统的实施方式的框图;
图2a示出了UAV的实施方式的框图;
图2b示出了用于操作UAV的方法的实施方式的流程图;
图3示出了系统的进一步实施方式的框图;
图4a至图4e示出了两种类型的UAV在由风力发电机生成的风中的偏转的示例性数据;
图5a和图5b示出了UAV控制器模型的实施方式的流程图;
图6a和图6b示出了风力控制器模型的实施方式的流程图;
图7示出了基于无人驾驶飞机对于给定轨迹的跟踪误差的回报函数;
图8示出了迭代对抗学习过程的示例性实施方式的示意图;以及
图9示出了基于群体的随机搜索的示例性实施方式的示意图。
具体实施方式
现在将参考附图更全面地描述各种示例,在附图中示出了一些示例。在附图中,为了清楚起见,线、层和/或区域的厚度可能被放大。
因此,尽管进一步示例能够有各种修改和可选形式,但是其一些特定示例在附图中示出并且随后将详细描述。然而,该详细描述不将进一步示例限制于所描述的特定形式。进一步示例可以覆盖落入本公开的范围内的所有修改、等同物和可选方案。在整个附图的描述中,相同或相似的数字是指相似或类似的元件,当彼此比较时,该相似或类似的元件可以相同或以修改的形式实现,同时提供相同或类似的功能。
应当理解,当一个元件被称为“连接”或“耦接”到另一元件时,该元件可以直接连接或耦接或者经由一个或多个中间元件连接或耦接。如果使用“或”来组合两个元件A和B,则这将被理解为公开所有可能的组合,即,仅A、仅B以及A和B,如果没有另外明确或隐含地定义的话。用于相同组合的可选措辞是“A和B中的至少一个”或“A和/或B”。这同样比照适用于两个以上元件的组合。
本文中用于描述特定示例的术语不旨在限制进一步示例。每当使用诸如“一个(a)”、“一个(an)”和“该(the)”的单数形式,并且仅使用单个元件既不明确也不隐含地定义为强制性的,进一步示例也可以使用多个元件来实现相同的功能。同样地,当功能随后被描述为使用多个元件来实现时,进一步示例可以使用单个元件或处理实体来实现相同的功能。还应当理解,术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”和/或“包括(including)”在使用时,指定所述特征、整体、步骤、操作、过程、动作、元件和/或组件的存在,但不排除一个或多个其他特征、整体、步骤、操作、过程、动作、元件、组件和/或其任何组的存在或添加。
除非另有定义,否则所有术语(包括技术和科学术语)在本文中均以其示例所属领域的普通含义使用。
图1a和图1b示出了用于设计(即训练或生成)适于控制UAV的UAV控制器模型的方法(例如,计算机实现的方法)的实施方式的流程图。该方法包括向风力发电机提供风力发电机控制信号(120),以使风力发电机朝向UAV发出风海流。该方法包括使用UAV控制器模型来操作UAV(130)。UAV的飞行受由风力发电机生成的风的影响。该方法包括使用运动跟踪系统来监控UAV的飞行(140),以确定运动跟踪数据。该方法包括基于运动跟踪数据,使用机器学习算法来合成(即训练、设计、生成和/或改进)UAV控制器模型(150)。
图1c示出了系统的实施方式的框图。该系统可以适于或被配置为执行图1a和/或图1b的方法。系统100包括使用UAV控制器模型来操作的UAV 20。系统100包括用于生成风海流的风力发电机10。该系统包括用于监控UAV 20的飞行的运动跟踪系统30。该系统包括耦接到风力发电机10、UAV 20和运动跟踪系统30的控制模块40。控制模块40可以被配置为执行图1a和/或图1b的方法。例如,控制模块40被配置为向风力发电机提供风力发电机控制信号,以使风力发电机发出风海流以影响UAV的飞行。控制模块40被配置为使用运动跟踪系统来监控UAV的飞行,以确定运动跟踪数据。控制模块40被配置为基于运动跟踪数据,使用机器学习算法来合成(即训练)UAV控制器模型。
以下描述涉及图1a和/或图1b的方法和图1c的系统两者。
至少一些实施方式涉及一种用于设计用于控制UAV的UAV控制器模型的方法和系统。在实施方式中,UAV控制器模型可以是适于控制UAV的稳定性的一组指令,即由UAV用于抵消风对UAV的影响的一组指令。例如,UAV控制器模型可以是机器学习模型,例如,深度神经网络。可选地,UAV控制器模型可以包括从机器学习模型导出的多个控制器参数。由于不同的UAV在风中表现不同(例如,由于其推进方式或由于其设计),因此UAV控制器模型可以特定于UAV的类型和/或配置。这可以考虑不同UAV的不同几何形状和/或不同飞行特性。例如,无人机20(即无人驾驶飞机)可以是四旋翼飞行器、单旋翼飞行器、双旋翼飞行器和固定翼UAV中的一种,诸如飞机或垂直起降飞行器(VTOL)。UAV使用UAV控制器模型来操作。例如,UAV可以被配置为例如通过控制UAV的一个或多个致动器使用UAV控制器模型来抵消风对UAV的影响,使得当UAV在风的影响下时(优选地)维持UAV的期望的位置和/或角度。
在使用运动跟踪系统跟踪的飞行期间,UAV的飞行受由风力发电机生成的风的影响,例如,受由风力发电机10发出的入射到UAV的风海流的影响。例如,风可以被生成以干扰UAV的飞行。该方法包括向风力发电机10提供风力发电机控制信号(120),以使风力发电机朝向UAV 20发出风海流。例如,风力发电机控制信号可以是时变的,即风力发电机控制信号可以使风力发电机随时间发出不同的风海流。另外或可选地,风力发电机控制信号可以在空间上变化,即风力发电机控制信号可以使风力发电机改变风海流的空间组成。换句话说,风力发电机控制信号可以适于独立控制风力发电机的多个风力发电机单元。风力发电机的多个风力发电机单元可以提供空间分集,即,风力发电机的风海流可以基于风力发电机控制信号在空间上变化。多个风力发电机单元可以适于发出多个风流(streams of wind)。多个风流可以基于适于独立控制风力发电机的多个风力发电机单元的风力发电机控制信号。风海流可以基于(即由其组成或包括)多个风流。这可以提供对于UAV来说可能更难处理的复杂的风流。换句话说,风海流的空间组成可以基于适于独立控制风力发电机的多个风力发电机单元的风力发电机控制信号。在至少一些实施方式中,多个风力发电机单元以阵列配置布置。阵列配置可以是其中多个风力发电机单元以规则矩阵模式布置的配置。例如,阵列配置可以是二维阵列配置,即,可以包括至少2×2风力发电机单元。可选地,阵列配置可以是一维阵列配置,即,可以包括至少1×2风力发电机单元。优选地,可以使用更大的阵列配置,即,至少4×4风力发电机单元(或者至少5×5风力发电机单元、至少8×8风力发电机单元、至少12×12风力发电机单元、至少16×16风力发电机单元)。在一些示例中,该阵列可以是在两个维度上具有相同数量的风力发电机(诸如32×32风力发电机单元)的二维阵列。可选地,该阵列可以是在该阵列的第一维度上具有第一数量的风力发电机并且在该阵列的第二维度上具有第二数量的风力发电机(诸如64×16风力发电机单元)的二维阵列。
该方法包括使用运动跟踪系统来监控UAV的飞行(140),以确定运动跟踪数据。例如,UAV的位置、从期望的位置的偏转、(期望的)定向和期望的定向的偏转中的至少一个可以由运动跟踪系统监控。换句话说,运动跟踪数据可以包括UAV的位置、从期望的位置的偏转、角度和期望的角度的偏转中的至少一个。
例如,运动跟踪系统可以是基于相机的运动跟踪系统,诸如基于图像的运动跟踪系统或(基于光的)基于飞行时间的运动跟踪系统。例如,运动跟踪系统可以包括一个或多个相机,例如一个或多个可视相机和/或一个或多个飞行时间相机。可选地或另外,运动跟踪系统可以是基于无线电的定位系统,例如基于超宽带(UWB)无线电的定位系统。在基于无线电的定位系统中,被跟踪实体(诸如UAV)的位置通过测量无线电信号的飞行时间来监控。例如,运动跟踪系统可以包括多个无线电收发器,并且UAV可以装备有无线电标签(例如,UWB标签)。为了确定UAV的位置,多个无线电收发器可以发出第一无线电脉冲,诸如UWB无线电脉冲,并且无线电标签可以用第二无线电脉冲(即,脉冲串)来回复第一编码无线电脉冲。无线电标签可以包括火花隙型激励器,该激励器基于所接收的第一无线电脉冲来生成短的、编码的、几乎瞬时的脉冲串。第二无线电脉冲可以由多个无线电收发器接收,并且UAV的位置可以基于在多个无线电收发器处接收的第二无线电脉冲的飞行时间来三角测量。如果使用基于超宽带(UWB)无线电的定位系统,则第一无线电脉冲和第二无线电脉冲两者都可以在宽于200MHz(或宽于500MHz,宽于1GHz)的频谱上发送。在至少一些实施方式中,运动跟踪系统在UAV的外部。例如,在基于相机的运动跟踪系统中,运动跟踪系统的一个或多个相机可以在UAV的外部,即布置在监控区域中的固定位置处。在基于无线电的定位系统中,多个无线电收发器可以在UAV的外部,即布置在监控区域中的固定位置处。
该方法包括基于运动跟踪数据,使用机器学习算法来合成(即训练)UAV控制器模型(150)。在本申请中,术语“合成”和“训练”可以互换使用。UAV控制器模型的合成可以进一步根据基于UAV的一个或多个传感器的传感器数据的风况的估计。这可以进一步改进UAV控制器模型的训练。
机器学习是指计算机系统可以使用来执行特定任务而无需使用明确指令,而是依靠模型和推理的算法和统计模型。例如,在机器学习中,代替基于规则的数据的转换,可以使用从历史和/或训练数据的分析中推断出的数据的转换。例如,可以使用机器学习模型或使用机器学习算法来分析图像的内容。为了使机器学习模型分析图像的内容,可以使用训练图像作为输入并且使用训练内容信息作为输出来合成或训练机器学习模型。通过将机器学习模型与大量训练图像和相关联的训练内容信息进行合成,机器学习模型“学习”识别图像的内容,因此可以使用机器学习模型来识别不包括在训练图像中的图像的内容。相同的原理也可以用于其他类型的传感器数据:通过使用训练传感器数据和期望的输出(例如,运动跟踪数据和期望的控制器输出)来合成机器学习模型,机器学习模型“学习”传感器数据与输出之间的转换,该转换可以用于基于提供给机器学习模型的非训练传感器数据来提供输出。这种学习原理也称为“监督”学习。在本公开的实施方式中,可以使用基于强化学习的方法,即期望的控制器输出是未知的。为此,我们的类似行动者-批评者(Actor-Critic)(具有DPG)或基于群体的搜索的方法可能是可以通过与环境的交互作用来逼近优选控制器输出,并从强化信号中学习。
机器学习算法通常基于机器学习模型。换句话说,术语“机器学习算法”可以表示可以用于创建、训练或使用机器学习模型的一组指令。术语“机器学习模型”可以表示例如基于由机器学习算法执行的训练的表示所学知识的数据结构和/或一组规则。在实施方式中,机器学习算法的使用可以意味着底层机器学习模型(或多个底层机器学习模型)的使用。机器学习模型的使用可以意味着机器学习模型和/或作为机器学习模型的数据结构/一组规则是由机器学习算法训练的。
在实施方式中,UAV控制器模型可以是机器学习模型,或者可以基于机器学习模型。机器学习模型可以适于基于风况的估计(基于UAV的一个或多个传感器的传感器数据)来提供控制指令(例如,用于UAV的一个或多个致动器)。为了合成/训练机器学习模型,运动跟踪数据可以用作质量指标。例如,该方法可以包括将运动跟踪数据与UAV的期望的飞行路径进行比较。运动跟踪数据与期望的飞行路径之间的差异越小,由UAV控制器模型执行或基于UAV控制器模型执行的控制的质量会越高。换句话说,传感器数据或风况的估计可以是机器学习模型的输入,并且运动跟踪数据可以在机器学习模型的训练中用作质量指标(即,用于定义回报函数(reward function))。
例如,机器学习模型可以是人工神经网络(ANN),诸如深度神经网络。ANN是由诸如可以在大脑中找到的生物神经网络启发的系统。ANN包括多个互连的节点和节点之间的多个连接(所谓的边缘)。通常有三种类型的节点,接收输入值的输入节点、(仅)连接到其他节点的隐藏节点以及提供输出值的输出节点。每个节点可以表示一个人工神经元。每个边缘可以从一个节点向另一节点发送信息。节点的输出可以定义为其输入之和的(非线性)函数。可以基于边缘或提供输入的节点的“权重”在函数中使用节点的输入。可以在学习过程中调整节点和/或边缘的权重。换句话说,人工神经网络的训练可以包括调整人工神经网络的节点和/或边缘的权重,即对于给定的输入实现期望的输出。
可选地,机器学习模型可以是支持向量机。支持向量机(即支持向量网络)是具有相关联的学习算法的监督学习模型,其可以例如在分类或回归分析中用于分析数据。可以通过向输入提供属于两个类别中的一个的多个训练输入值来训练支持向量机。支持向量机可以被训练为将新的输入值分配给两个类别中的一个。可选地,机器学习模型可以是贝叶斯网络,其是概率有向无环图形模型。贝叶斯网络可以使用有向无环图来表示一组随机变量及其条件依赖关系。可选地,可以使用遗传算法来训练机器学习模型,该遗传算法是一种模拟自然选择的过程的搜索算法和启发式技术。
在至少一些实施方式中,UAV控制器模型可以被合成/训练(150),目的是减小UAV的期望的飞行路径与如由运动跟踪系统监控的UAV的飞行路径之间的差异。为此,可以使用基于强化学习的机器学习算法或基于群体的机器学习算法。
例如,强化学习可以用于合成(训练)机器学习模型。在强化学习中,一个或多个软件行动者(称为“软件代理”)被训练为在环境中采取行动。基于所采取的行动,计算回报。在实施方式中,用于训练UAV控制器模型的回报函数可以基于UAV的期望的飞行路径与如由运动跟踪系统监控的UAV的飞行路径之间的差异。强化学习基于训练一个或多个软件代理来选择行动,使得累积回报增加,导致软件代理在它们所被赋予的任务上变得更好(如由增加的回报所证明的)。例如,可以根据基于强化学习的机器学习算法来合成UAV控制器模型(150)。例如,确定性策略分级算法和/或状态估计器可以用于基于强化学习的机器学习算法。基于强化学习的机器学习算法可以用于迭代地改进UAV控制器模型的性能。例如,可以使用行动者-批评者方法(Actor-Critic approach)来合成UAV控制器模型(150)。行动者-批评者方法可以用于使用UAV控制器模型的性能的基于值的度量来改进UAV控制器模型。在行动者-批评者方法中,可以使用两个神经网络,批评者(例如,基于UAV的期望的飞行路径与如由基于值的运动跟踪系统监控的UAV的飞行路径之间的差异)测量行动者表现如何,而行动者控制代理(基于策略),例如UAV。在这种情况下,UAV控制器模型可以是行动者,而附加神经网络可以用作批评者。可以(例如,通过选择改进如由批评者测量的行动者的性能的变化)迭代地改进行动者(即UAV控制器模型)。
可选地,可以根据基于群体的机器学习算法(诸如进化算法)来合成(即训练)UAV控制器模型(150)。基于群体的机器学习算法还通过从多个训练模型中选择改进的模型来提供一种提供改进的UAV控制器模型的方式。例如,可以使用机器学习模型群体来合成UAV控制器模型。在第一实现中,机器学习模型的参数可以用作搜索空间的维度。基于群体的机器学习算法可以例如使用进化算法来改变群体的机器学习模型的参数,并且可以评估群体的机器学习模型的性能。例如,可以使用类似于2007年Soltoggio等人的方法:“EvolvingNeuromodulatory Topologies for Reinforcement Learning-like Problems”。可选地,在机器学习模型的群体中,可以改变机器学习模型的超参数(即与模型本身正交的元素)和权重初始化。在这种情况下,基于群体的机器学习算法可以改变群体的机器学习模型的超参数和/或权重初始化,并且可以评估群体的机器学习模型的性能。如果群体的机器学习模型相对于群体的其他机器学习模型表现不佳,则可以用群体的表现更好的机器学习模型的变体来替换该群体的机器学习模型。群体的机器学习模型的性能的评估可以基于UAV的期望的飞行路径与使用如由运动跟踪系统监控的相应的机器学习模型来操作的UAV的飞行路径之间的差异。可以选择表现高于平均水平(例如,最好)的机器学习模型中的一个作为UAV控制器模型。
在至少一些实施方式中,不仅UAV而且风力发电机都可以使用机器学习模型来控制。换句话说,该方法可以包括基于风力控制器模型来生成风力发电机控制信号(115)。朝向UAV发出的风可以基于风力控制器模型。例如,风力控制器模型可以是如上所述的机器学习模型,诸如ANN或深度神经网络。该方法可以包括基于运动跟踪数据,使用机器学习算法来合成(即训练)风力控制器模型(110)。可以结合UAV控制器模型来合成/训练风力控制器模型。这可以提供改进的风力控制器模型,其可以提供具有增加的难度的风廓线。
与UAV控制器模型相对照地,风力控制器模型可以被合成(110),目的是增加UAV的期望的飞行路径与如由运动跟踪系统监控的UAV的飞行路径之间的差异。该差异可以用作UAV控制器模型的训练中的客观度量。
类似于UAV控制器模型,可以根据基于强化学习的机器学习算法来合成风力控制器模型(110)。基于强化学习的机器学习算法可以用于迭代地改进风力控制器模型的性能。例如,确定性策略分级(DPG)算法可以用于基于强化学习的机器学习算法。用于训练风力控制器模型的回报函数可以基于UAV的期望的飞行路径与如由运动跟踪系统监控的UAV的飞行路径之间的差异。例如,可以使用行动者-批评者方法来合成风力控制器模型(110)。在这种情况下,批评者可以例如基于UAV的期望的飞行路径之间的差异来测量风力控制器模型的表现如何,而行动者可以是风力控制器模型。换句话说,风力控制器模型可以是行动者,而附加神经网络可以用作批评者。可以(例如,通过选择改进如由批评者测量的行动者的性能的变化)迭代地改进行动者(即风力控制器模型)。
可选地,可以根据基于群体的机器学习算法来合成风力控制器模型(110)。例如,类似于UAV控制器模型,可以使用机器学习模型群体来合成/训练风力控制器模型。群体的机器学习模型的性能的评估可以基于UAV的期望的飞行路径与使用如由运动跟踪系统监控的相应的机器学习模型来操作的UAV的飞行路径之间的差异。可以选择表现最好(如所评估的)的机器学习模型中的一个作为风力控制器模型。群体的机器学习模型的性能的评估可以基于UAV的期望的飞行路径与如由运动跟踪系统监控的受风影响的UAV的飞行路径之间的差异,该风基于使用相应的机器学习模型生成的风力发电机控制信号而发出。可以选择表现高于平均水平(例如,最好)的机器学习模型中的一个作为风力控制器模型。
在至少一些实施方式中,使用基于对抗强化学习的机器学习算法或使用基于对抗群体的机器学习算法(adversarial population-based machine-learning algorithm)(例如,如图8和图9所示)来相对于彼此训练UAV控制器模型和风力控制器模型。这可以使风力控制器模型和UAV控制器模型两者能够迭代改进。例如,UAV控制器模型和风力控制器模型可以彼此可选地训练,即在对照单个风力控制器模型评估多个UAV控制器模型并因此改进一个或多个UAV控制器模型之后,可以对照单个(改进的)UAV控制器模型评估多个风力控制器模型,可以改进一个或多个风力控制器模型,随后对照单个(改进的)风力控制器模型评估多个(改进的)UAV控制器模型。可选地,UAV控制器模型和风力控制器模型可以同时对照彼此训练,即在每个训练回合之后,可以对照优选UAV控制器模型来评估优选风力控制器模型,并且评估的结果可以用于训练UAV控制器模型和风力控制器模型两者。训练可以在达到最大期望的训练时间之后或者在达到UAV的期望的飞行路径和与如由运动跟踪系统监控的UAV的飞行路径之间的差异的阈值之后终止,例如,如果目标是生成改进的风力控制器模型,则为上阈值,而如果目标是生成改进的UAV控制器模型,则为下阈值。
在实施方式中,控制模块40可以使用一个或多个处理单元、一个或多个处理装置、用于处理的任何装置(means)(诸如处理器、计算机或可与相应适配的软件一起操作的可编程硬件组件)来实现。换句话说,控制模块40的所描述的功能也可以以软件实现,然后在一个或多个可编程硬件组件上执行该软件。这种硬件组件可以包括通用处理器、数字信号处理器(DSP)、微控制器等。
控制模块40可以使用至少一个接口耦接到运动跟踪系统30和/或与风力发电机10耦接。至少一个接口可以对应于用于接收和/或发送信息的一个或多个输入和/或输出,该信息可以是在模块内、模块之间或不同实体的模块之间根据指定代码的数字(位)值。例如,至少一个接口可以包括被配置为接收和/或发送信息的接口电路。
结合所提出的概念或上面或下面描述的一个或多个示例(例如,图2a至图9)来提出系统和/或方法的更多细节和方面。该系统和/或方法可以包括对应于所提出的概念的一个或多个方面或者上面或下面描述的一个或多个示例的一个或多个附加任选特征。
图2a示出了无人机20(例如结合图1a至1c介绍的UAV 20)的实施方式的框图。UAV20包括一个或多个致动器22,用于推进UAV。UAV 20包括一个或多个传感器24,用于提供与由风引起的UAV的运动相关的传感器数据。UAV 20包括控制器26,该控制器26被配置为基于UAV控制器模型并基于传感器数据来控制一个或多个致动器。UAV控制器模型至少部分地基于训练UAV的运动跟踪数据。当训练UAV的飞行受由风力发电机发出的风海流的影响时,获取训练UAV的运动跟踪数据。控制器26耦接到一个或多个致动器22和一个或多个传感器24。
图2b示出了用于操作UAV的(相应的)方法的实施方式的流程图。UAV包括一个或多个致动器,用于推进UAV。UAV包括一个或多个传感器,用于提供与由风引起的UAV的运动相关的传感器数据。该方法可以包括从一个或多个传感器和/或从一个或多个致动器获得传感器数据(210)。该方法包括基于UAV控制器模型并基于传感器数据来控制一个或多个致动器(220)。UAV控制器模型至少部分地基于训练UAV的运动跟踪数据。当训练UAV的飞行受由风力发电机发出的风海流的影响时,获取训练UAV的运动跟踪数据。
以下描述涉及图2a的UAV 20和图2b的方法两者。
UAV包括一个或多个致动器,用于推进UAV。例如,一个或多个致动器可以对应于用于驱动UAV的一个或多个螺旋桨的一个或多个电机。例如,如果UAV是四旋翼飞行器,则UAV可以包括四个电机来驱动UAV的四个螺旋桨,如果UAV是双旋翼飞行器,则可以使用两个电机。例如,可以基于致动器控制信号来控制一个或多个致动器。致动器控制信号可以适于单独地控制一个或多个致动器的旋转速率。通过使用具有不同旋转速率的UAV的一个或多个致动器(例如,如果UAV是四旋翼飞行器),可以控制UAV的俯仰、滚转和/或偏航。
UAV包括一个或多个传感器,用于提供与由风引起的UAV的运动相关的传感器数据。例如,一个或多个传感器可以包括惯性传感器、磁力计、气压传感器、卫星定位传感器、图像传感器、力传感器、扭矩传感器、距离传感器(诸如激光测距仪或超声波传感器)、深度传感器(诸如飞行时间相机、结构光相机、立体相机等)、无线电信号收发器(例如,来自UWB定位系统)和风速计的组中的一个或多个传感器。例如,力传感器和/或扭矩传感器可以是一个或多个致动器的一部分。控制器可以被配置为从一个或多个传感器和/或从一个或多个致动器获得传感器数据。这可以使致动器信息与传感器信息一起使用。
因此,传感器数据可以包括惯性传感器数据(例如,UAV的加速度和/或角速度)、磁力计数据(例如,磁力计的磁场矢量)、气压数据(即空气压力)、卫星定位数据(例如,诸如全球定位系统、百度、GLONASS等的全球导航卫星系统)、(例如,一个或多个相机,ToF相机、多/高光谱相机、IR相机等的)图像数据、致动器数据(例如,一个或多个致动器的电压、电流、每分钟转数(RPM)、扭矩和/或力)、风速计数据(风速)、力传感器数据、扭矩传感器数据、距离传感器数据、深度传感器数据和无线电定位传感器数据的组中的一个或多个元素。此外,传感器数据可以包括外部源的传感器数据,诸如天气报告、来自基于地面的传感器(例如,紧邻地面站的风速计等)的数据。
控制器被配置为基于UAV控制器模型并基于传感器数据来控制一个或多个致动器。例如,控制器可以被配置为基于UAV控制器模型并基于传感器数据将致动器控制信号提供给一个或多个致动器。如果指示UAV保持在原位,或者如果指示UAV遵循轨迹,则控制器可以被配置为使用UAV控制器模型来抵消风对UAV的影响,例如试图防止UAV由于风而离开位置或轨迹。为此,控制器可以被配置为基于传感器数据来估计风况,并且基于所估计的风况使用UAV控制器模型来抵消风的影响。通常,可以通过UAV控制器模型来执行风况的估计。换句话说,传感器数据可以作为输入被提供给UAV控制器模型,并且UAV控制器模型可以输出致动器控制信号,该致动器控制信号然后可以被提供给一个或多个致动器。如果指示UAV遵循轨迹(例如,移动到特定的方向或定向),则该轨迹也可以作为输入被提供给UAV控制器模型。
UAV控制器模型至少部分地基于训练UAV的运动跟踪数据,当训练UAV的飞行受由风力发电机发出的风海流的影响时,获取训练UAV的运动跟踪数据。另外,由风力发电机发出的风海流也可以基于机器学习模型,即风力控制器模型。例如,可以基于训练UAV的运动跟踪数据,使用机器学习算法来设计和/或合成UAV控制器模型,例如,如结合图1a至图1c所介绍的。UAV控制器模型可以被合成,目的是减小训练UAV的期望的飞行路径与如由运动跟踪系统监控的训练UAV的飞行路径之间的差异。为此,可以使用基于强化学习的机器学习算法或基于群体的机器学习算法。例如,运动跟踪数据可以用作基于强化学习的机器学习算法的回报函数的基础。在至少一些实施方式中,可以使用结合图1a至图1c介绍的方法和/或系统来合成UAV控制器模型。
在实施方式中,控制器26可以使用一个或多个处理单元、一个或多个处理装置、用于处理的任何装置(诸如处理器、计算机或可与相应适配的软件一起操作的可编程硬件组件)来实现。换句话说,控制器26的所描述的功能也可以以软件现,然后在一个或多个可编程硬件组件上执行该软件。这种硬件组件可以包括通用处理器、数字信号处理器(DSP)、微控制器等。
结合所提出的概念或上面或下面描述的一个或多个示例(例如,图1a至图1c,图3至图9)来提出UAV和/或方法的更多细节和方面。UAV和/或方法可以包括对应于所提出的概念的一个或多个方面或者上面或下面描述的一个或多个示例的一个或多个附加任选特征。
强化学习(RL)的最新进展已经导致了博弈(game playing)(参见例如Silver等人2016年)和实时控制(参见例如Pinto等人2017年)的惊人进步。本申请的至少一些实施方式可以将这种对抗RL应用于同时设计具有挑战性的风廓线(例如,通过训练风力控制器模型)和能够在有风的情况下维持受控飞行的控制系统(例如,UAV控制器模型)的目标。
为此,可以考虑涉及航空机器人(例如,UAV 20)、风力发电机(例如,WindShape的WindShaper、风力发电机10)和运动跟踪系统(例如,运动跟踪系统30)的设置,所有这些都连接到控制这些组件的主计算机(例如,控制模块40)(参见图3)。然后,可以使用两个代理-被称为控制器和对手-来应用对抗强化学习,这两个代理可以被联合训练。
控制器可以尝试实现控制律(例如,在深度神经网络中编码),诸如UAV控制器模型,该控制律可以在有风的情况下稳定航空机器人。可以通过运动跟踪系统获得代理的性能并且因此获得增强信号,该运动跟踪系统可以测量无人驾驶飞机在飞行期间的位置和定向(然后可以根据该测量值来计算性能,例如,作为在固定的持续时间内与资产位置(assetposition)和定向的偏转的积分)。同时,可以训练对手(例如,通过训练风力控制器模型)以干扰控制器的方式来控制风力发电机(同样,控制律可以在神经网络中编码),并且可以从控制器的故障中获得其回报。
可以通过使用模拟模型来加强对抗代理的训练。本发明的高级实施方式还可以同时改进或优化模拟以类似于真实实验的结果。
本发明的另一实施方式还使用在风暴露期间基于机器学习的无人驾驶飞机的飞行数据的分析来检测例如由于硬件故障、老化或其他影响而引起的异常。
图3示出了系统300的进一步实施方式的框图。系统300包括风力发电机10,用于生成风海流。风力发电机10由风力控制器310(例如使用风力控制器模型)控制,该风力控制器由强化学习系统40(例如,控制模块40)训练。系统300还包括航空机器人20(例如,UAV 20),该航空机器人由UAV控制器320(例如使用UAV控制器模型)控制,该UAV控制器由强化学习系统40训练。系统300还包括包含多个运动跟踪模块的运动跟踪系统30。运动跟踪系统30、风力控制器310和UAV控制器320耦接到强化学习系统40。
图4a至图4e示出了两种类型的UAV在由风力发电机生成的风中的偏转的示例性数据。在图4a中,示出了包括风力发电机10和UAV 20的系统400的总体设置。风力发电机包括适于发出多个风流410的多个风力发电机单元。换句话说,风力发电机10包括由试图尽可能多地偏转无人驾驶飞机的代理控制的N个风力发电机(“像素”)。条带(410)的大小表示螺旋桨速度。仅由参考标记415表示的杆的风撞击无人驾驶飞机。无人驾驶飞机/UAV 20包括控制器,并试图停留在设定的位置。
图4b至图4e示出了包括2D物理模型的实现的概念验证的数据,该2D物理模型包括风动力学的粗略模拟和简化的无人驾驶飞机控制。在图4b至图4e中,已经(在模拟中)用两种不同类型的无人驾驶飞机(图4b和图4c所示的没有支腿和图4d和图4e所示的具有支腿)和简单的“3像素”风力发电机10(即,N=3)执行了风廓线改进/优化。图4c和图4e示出了设置,而图4b和图4d示出了所得的风廓线。在图4b和图4c中,参考标记420a至420c表示风力发电机10的三个风力发电机单元的输出,而参考标记430a至430c表示无人驾驶飞机20(没有支腿)的偏转,其中,430a表示x轴的偏转(以米为单位),430b表示y轴的偏转(以米为单位),以及430c表示角度偏转θ(以弧度为单位)。在图4d和图4e中,参考标记440a至440c表示风力发电机10的三个风力发电机单元的输出,而参考标记450a至450c表示无人驾驶飞机20(具有支腿)的偏转,其中,450a表示x轴的偏转(以米为单位),450b表示y轴的偏转(以米为单位),以及450c表示角度偏转θ(以弧度为单位)。如所期望的,结果示出了在图4c和图4e中生成的干扰无人驾驶飞机的风的改进/优化风廓线之间的明显差异。可以看出,在两种情况下,在x轴和y轴上产生的偏转都是最小的,而在图4d/图4e的情况下,产生的角度偏转略微升高。
图5a和图5b示出了UAV控制器模型的实施方式的流程图。图5a示出了例如当用于操作UAV时UAV控制器模型的应用。在图5a中,控制器510(例如,UAV控制器模型)使用来自传感器520(例如,一个或多个传感器)的传感器数据和学习数据530θE,θQD,θu来生成用于无人驾驶飞机的电机540(例如,致动器)的控制命令u。使用u=f(s,t|θE,θQD,θu)来生成控制命令u。传感器数据受环境/物理影响,并且基于由电机540执行的运动。UAV控制器由θE,θQD,θu参数化,并且使用机器学习来训练,以在存在外部干扰(诸如风)的情况下最小化/减少跟踪误差。θE是状态估计器的学习数据,θQD是无人驾驶飞机的批评者函数的学习数据,以及θu是用于生成控制命令u的行动者函数的学习数据。
例如,传感器数据可以包括惯性传感器数据(例如,无人驾驶飞机的加速度/角速度)、磁力计数据(例如,磁场矢量)、气压数据(例如,空气压力)、GNSS数据(例如,诸如全球定位系统、百度、GLONASS等的全球导航卫星系统)、图像数据(例如,诸如ToF相机、多/高光谱相机、IR相机等的一个或多个相机)、致动器数据(例如,电压、电流、RPM、扭矩、力)和风速计数据(例如,风速)的组中的至少一个元素。
图5b示出了UAV控制器模型的控制器合成(例如,基于行动者-批评者方法/确定性策略分级(DPG)算法和状态估计)。图5b示出了状态估计器550,其将x(s,t|θE)提供给批评者函数560和行动者函数570。状态估计器由传感器数据s和θE参数化。状态估计器可以使用由θE参数化的扩展卡尔曼滤波器、深度神经网络等来实现。批评者函数可以将QDrone(x,u|θQD)提供给行动者函数570。批评者函数可以例如是由θQD参数化并使用贝尔曼方程QDrone(x,u)=rDrone+ymaxu′QDrone(x′,u′)训练的深度神经网络。行动者函数可以提供控制命令u(x,t|θu)。行动者函数可以例如使用深度神经网络来实现,该深度神经网络由θu参数化,使用批评者函数来更新(参见例如Silver等人2014年)。
图6a和图6b示出了风力控制器模型的实施方式的流程图。图6a示出了例如当用于控制风力发电机时风力控制器模型的应用。在图6a中,风力模式发电机610(例如,风力控制器模型)使用由运动捕获系统620生成的无人驾驶飞机状态x(例如,运动跟踪数据)和学习数据630θQW,θv来生成用于风力发电机640(例如,风力发电机10)的风速v。使用v=g(x,t|θQW,θv)来生成风速。无人驾驶飞机状态x受环境/物理影响,并且基于由风力发电机640生成的风。风力模式发电机由θQW,θv参数化并使用机器学习来训练,以增加或最大化无人驾驶飞机的跟踪误差。θQW是无人驾驶飞机的批评者函数的学习数据,而θv是用于生成风速v的行动者函数的学习数据。
图6b示出了风力控制器模型的风力发电机合成(例如,基于行动者-批评者方法/DPG算法)。图6b示出了批评者函数650,其将QWind(x,v|θQW)提供给风力模式发电机660的行动者函数。批评者函数可以使用具有参数θQW的深度神经网络来实现,并且使用贝尔曼方程QWind(x,v)=rWind+ymaxv′QWind(x′,v′)来训练。风力模式发电机的行动者函数可以提供风速v(x,t|θv)。风力模式发电机的行动者函数可以例如使用深度神经网络来实现,该深度神经网络由θv参数化,使用批评者函数来更新(参见例如Silver等人2014年)。
图7示出了基于无人驾驶飞机对于给定轨迹的跟踪误差的回报函数。图7示出了参考轨迹710和实际轨迹720。rDrone以被定义为无人驾驶飞机对于给定轨迹的负跟踪误差,而rWind可以被定义为无人驾驶飞机对于给定轨迹的跟踪误差。rWind和rDrone分别是用于风力控制器和无人驾驶飞机控制器的批评者函数的回报函数。
图8示出了迭代对抗学习过程的示例性实施方式的示意图。图8的迭代对抗学习过程包括四个连续框,第一“评估”框810、“更新控制器策略”框820、第二“评估”框830和“更新风力策略”框840。在第一“评估”框810中,可以用风力策略和控制器策略来执行一个或多个测试飞行。在测试飞行中,传感器数据s(t)、控制函数u(t)、无人驾驶飞机的回报函数rDrone(t)、无人驾驶飞机状态x(t)、风速v(t)和风力发电机的回报函数rWind(t)可以被记录时间t(815)。在“更新控制器策略”框820中,可以通过减小或最小化目标轨迹的偏转来改进/训练控制器策略,并且可以计算学习数据825θE,θQD,θu。在第二“评估”框830中,可以用风力策略和更新/改进的控制器策略来执行一个或多个测试飞行。同样,在测试飞行中,传感器数据s(t)、控制函数u(t)、无人驾驶飞机的回报函数rDrone(t)、无人驾驶飞机状态x(t)、风速v(t)和风力发电机的回报函数rWind(t)可以被记录时间t(835)。在“更新风力策略”框840中,可以通过增加/最大化与目标轨迹的偏转来改进/训练风力策略,并且可以计算学习数据845θQW,θv。基于更新的风力策略,可以使用更新/改进的风力策略来执行第一“评估”框。在实施方式中,可以在前进到下一个“评估/更新”之前执行多次“评估/更新”的每个组合。换句话说,可以在前进到风力策略的评估和更新之前评估和更新多次控制器策略,并且可以在前进到控制器策略的评估和更新之前评估和改进多次风力策略。在实施方式中,控制器策略可以对应于或作为UAV控制器模型的一部分,而风力策略可以对应于或作为风力控制器模型的一部分。
可选地或另外,基于群体的随机搜索可以用于改进UAV控制器模型和/或风力控制器模型。图9示出了基于群体的随机搜索的示例性实施方式的示意图。图9示出了控制器群体910[(θE,θQD,θu),···]、风力发电机群体920[(θQW,θv),···]和评估框930。为了改进UAV控制器模型和/或风力控制器模型,控制器群体910可以通过将变化应用于先前的控制器模型来生成控制器模型,选择一个或多个所生成的控制器模型,并将其提供给评估框930。同样地,风力发电机群体920可以通过将变化应用于先前的风力发电机模型来生成风力发电机模型,选择一个或多个所生成的风力发电机模型,并将其提供给评估框930。评估框930可以(例如,使用回报函数)对所提供的模型进行排名,并且控制器群体910和风力发电机群体可以基于先前提供的模型的排名来生成进一步的模型。
实施方式提供了一种UAV,其包括用于推进UAV的致动器、用于存储通过学习过程获取的飞行控制参数的存储器、用于检测风况的多个传感器、用于控制UAV的姿态和轨迹的飞行控制器,其中,飞行控制器使用根据检测到的风况选择的控制参数中的一个来控制UAV的姿态和轨迹。多个传感器可以包括用于捕获图像或视频的图像传感器和图像处理器,包括例如使用高帧速率记录致动器(例如,转子叶片)的运动的相机、记录环境中可变形物体(例如,植物、树木等)的相机、记录其他UAV的轨迹的相机,其中,图像处理器执行图像处理,以检测风况,以补偿由于风引起的UAV的不期望的姿态和轨迹,例如,以稳定图像,以在UAV随风摆动或移动时对同一物体/点成像。例如,可以在各种传感器中选择多个传感器,以提供惯性传感器数据(无人驾驶飞机的加速度/角速度)、磁力计数据(磁场矢量)、气压数据(空气压力)、GNSS数据(GPS、百度、GLONASS等)、图像数据(一个或多个相机,ToF相机、多/高光谱相机、IR相机等)、致动器数据(电压、电流、RPM、扭矩、力)和/或风速计数据(风速)。致动器数据可以来源于连接到致动器的力传感器(例如,在电机的基座上,或者在电机与螺旋桨之间),来源于连接到致动器的扭矩传感器,或者来源于压力传感器(例如,附接到UAV的表面,或者附接到控制表面、螺旋桨等)。
学习过程可以是通过使用风力发电机(例如,静态风力发电机(诸如风洞、通风机等)或动态时空风力发电机(诸如WindShape))的对抗学习过程。
实施方式提供了一种用于生成用于UAV的飞行控制参数(例如,UAV控制器模型)的系统,该系统包括风力发电机、UAV、用于检测UAV的姿态和位置的运动跟踪系统以及强化学习系统。
以下示例涉及进一步的实施方式:
(1)一种用于设计用于控制无人机UAV的UAV控制器模型的方法,该方法包括:
向风力发电机提供风力发电机控制信号,以使风力发电机发出风海流;
使用UAV控制器模型来操作UAV,其中,UAV的飞行受由风力发电机生成的风的影响;
使用运动跟踪系统来监控UAV的飞行,以确定运动跟踪数据;并且
基于运动跟踪数据,使用机器学习算法来合成UAV控制器模型。
(2)根据(1)的方法,其中,根据基于强化学习的机器学习算法来合成UAV控制器模型。
(3)根据(2)的方法,其中,使用行动者-批评者方法来合成UAV控制器模型。
(4)根据(1)至(3)中的一个的方法,其中,根据基于群体的机器学习算法来合成UAV控制器模型。
(5)根据(1)至(4)中的一个的方法,其中,UAV控制器模型被合成,目的是减小UAV的期望的飞行路径与如由运动跟踪系统监控的UAV的飞行路径之间的差异。
(6)根据(1)至(5)中的一个的方法,还包括基于风力控制器模型生成风力发电机控制信号,其中,朝向UAV发出的风基于风力控制器模型。
(7)根据(6)的方法,还包括基于运动跟踪数据,使用机器学习算法来合成风力控制器模型。
(8)根据(7)的方法,其中,根据基于强化学习的机器学习算法来合成风力控制器模型。
(9)根据(7)至(8)中的一个的方法,其中,根据基于群体的机器学习算法来合成风力控制器模型。
(10)根据(6)至(9)中的一个的方法,其中,UAV控制器模型和风力控制器模型使用基于对抗强化学习的机器学习算法或基于群体的机器学习算法来相互训练。
(11)根据(6)至(10)中的一个的方法,其中,风力控制器模型被合成,目的是增加UAV的期望的飞行路径与如由运动跟踪系统监控的UAV的飞行路径之间的差异。
(12)根据(1)至(11)中的一个的方法,其中,运动跟踪系统是基于相机的运动跟踪系统,
其中,运动跟踪系统是基于无线电的定位系统,
和/或其中,运动跟踪系统在UAV外部。
(13)根据(1)至(12)中的一个的方法,其中,风力发电机控制信号适于独立地控制风力发电机的多个风力发电机单元,多个风力发电机单元适于发出多个风流,风海流基于多个风流。
(14)根据(13)的方法,其中,多个风力发电机单元以阵列配置布置。
(15)根据(1)至(14)中的一个的方法,其中,UAV控制器模型特定于UAV的类型和/或配置。
(16)根据(1)至(15)中的一个的方法,其中,UAV控制器模型的合成还根据基于UAV的一个或多个传感器的传感器数据的风况的估计。
(17)一种计算机程序,当该计算机程序在计算机、处理器或可编程硬件组件上执行时,该计算机程序具有用于执行根据前述权利要求中的一个的方法的程序代码。
(18)一种系统,包括:
无人机UAV,使用UAV控制器模型来操作;
风力发电机,用于生成风海流;
运动跟踪系统,用于监控UAV的飞行;以及
控制模块,被配置为:
向风力发电机提供风力发电机控制信号,以使风力发电机发出风海流以影响UAV的飞行,
使用运动跟踪系统监控UAV的飞行,以确定运动跟踪数据,并且
基于运动跟踪数据,使用机器学习算法来合成UAV控制器模型。
(19)一种无人机UAV,包括:
一个或多个致动器,用于推进UAV;
一个或多个传感器,用于提供与由风引起的UAV的运动相关的传感器数据;以及
控制器,被配置为基于UAV控制器模型并基于传感器数据来控制一个或多个致动器,
其中,UAV控制器模型至少部分地基于训练UAV的运动跟踪数据,当训练UAV的飞行受由风力发电机发出的风海流影响时,获取训练UAV的运动跟踪数据。
(20)根据(19)的UAV,其中,基于训练UAV的运动跟踪数据,使用机器学习算法来合成UAV控制器模型。
(21)根据(19)或(20)中的一个的UAV,其中,控制器被配置为从一个或多个传感器和/或从一个或多个致动器获得传感器数据。
(22)根据(19)至(21)中的一个的UAV,其中,使用(1)至(16)中的一个的方法来合成UAV控制器模型。
(23)根据(19)至(22)中的一个的UAV,其中,一个或多个传感器包括惯性传感器、磁力计、气压传感器、卫星定位传感器、图像传感器、力传感器、扭矩传感器、距离传感器、深度传感器、无线电信号收发器和风速计中的组中的一个或多个传感器,
和/或其中,传感器数据包括惯性传感器数据、磁力计数据、气压数据、卫星定位数据、图像数据、致动器数据和风速计数据、力传感器数据、扭矩传感器数据、距离传感器数据、深度传感器数据和无线电定位传感器数据的组中的一个或多个元素。
与先前详细的示例和附图中的一个或多个一起提及和描述的方面和特征也可以与其他示例中的一个或多个组合,以替换其他示例的类似特征,或者以将该特征附加地引入其他示例中。
示例可以进一步是或涉及一种计算机程序,当该计算机程序在计算机或处理器上执行时,该计算机程序具有用于执行以上方法中的一种或多种的程序代码。各种上述方法的步骤、操作或过程可以由编程的计算机或处理器来执行。示例还可以覆盖诸如数字数据存储介质的程序存储装置,其是机器、处理器或计算机可读的,并且对指令的机器可执行、处理器可执行或计算机可执行的程序进行编码。该指令执行或导致执行上述方法的一些或全部动作。程序存储装置可以包括或例如是数字存储器、诸如磁盘和磁带的磁存储介质、硬盘驱动器或光学可读数字数据存储介质。进一步示例还可以覆盖被编程为执行上述方法的动作的计算机、处理器或控制单元或者被编程为执行上述方法的动作的(现场)可编程逻辑阵列((F)PLA)或(现场)可编程门阵列((F)PGA)。
描述和附图仅示出了本公开的原理。此外,本文所述的所有示例原则上明确地仅旨在用于说明性目的,以帮助读者理解本公开的原理和发明人为促进本领域所贡献的概念。本文中引用本公开的原理、方面和示例以及其具体示例的所有陈述旨在涵盖其等同物。
被表示为执行特定功能的“用于…装置”的功能框可以是指被配置为执行特定功能的电路。因此,“用于某物(s.th)的装置”可以被实现为“被配置为或适于某物的装置”,诸如被配置为或适于相应任务的装置或电路。
附图中所示的各种元件的功能,包括标记为“装置”、“用于提供信号的装置”、“用于生成信号的装置”等的任何功能框,可以以专用硬件(诸如,“信号提供器”、“信号处理单元”、“处理器”、“控制器”等)以及能够执行与适当软件相关联的软件的硬件的形式实现。当由处理器提供时,功能可以由单个专用处理器、单个共享处理器或多个单独的处理器提供,其中的一些或全部可以共享。然而,术语“处理器”或“控制器”到目前为止不限于专门能够执行软件的硬件,而是可以包括数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储器。也可以包括常规的和/或定制的其他硬件。
框图可以例如示出实现本公开的原理的高级电路图。类似地,流程图(flowchart)、流程图(flow diagram)、状态转换图、伪代码等可以表示各种过程、操作或步骤,这些过程、操作或步骤可以例如基本上在计算机可读介质中表示,并且因此由计算机或处理器执行,无论是否明确示出了这种计算机或处理器。说明书或权利要求中公开的方法可以由具有用于执行这些方法的每个相应动作的装置的装置来实现。
应当理解,除非例如出于技术原因而明确或隐含地另外声明,否则说明书或权利要求中公开的多个动作、过程、操作、步骤或功能的公开可能不被解释为在特定顺序内。因此,除非这些动作或功能出于技术原因而不可互换,否则多个动作或功能的公开不会将这些限制为特定的顺序。此外,在一些示例中,单个动作、功能、过程、操作或步骤可以分别包括或可以分成多个子动作、子功能、子过程、子操作或子步骤。除非明确排除,否则这种子动作可以包括在该单个动作的公开中并且作为其一部分。
此外,以下权利要求被由此结合到详细描述中,其中,每个权利要求本身可以作为单独的示例。虽然每个权利要求本身可以作为单独的示例,但是应当注意,尽管从属权利要求可以在权利要求中指与一个或多个其他权利要求的特定组合,但是其他示例也可以包括从属权利要求与每个其他从属或独立权利要求的主题的组合。除非声明不打算进行特定的组合,否则本文明确提出了这种组合。此外,即使权利要求不直接依赖于独立权利要求,也旨在将该权利要求的特征包括到任何其他独立权利要求中。
Claims (16)
1.一种用于设计用于控制无人机UAV的UAV控制器模型的方法,所述方法包括:
基于风力控制器模型生成风力发电机控制信号,其中,朝向所述UAV发出的风基于所述风力控制器模型;
向风力发电机提供所述风力发电机控制信号,以使所述风力发电机发出风海流;
使用所述UAV控制器模型来操作所述UAV,其中,所述UAV的飞行受由所述风力发电机生成的风的影响;
使用运动跟踪系统来监控所述UAV的飞行,以确定运动跟踪数据;
基于所述运动跟踪数据,使用机器学习算法来合成所述UAV控制器模型;
基于所述运动跟踪数据,使用所述机器学习算法来合成所述风力控制器模型;并且
所述UAV控制器模型和所述风力控制器模型使用基于对抗强化学习的机器学习算法或基于群体的机器学习算法来相互训练。
2.根据权利要求1所述的方法,其中,根据基于强化学习的机器学习算法来合成所述UAV控制器模型。
3.根据权利要求2所述的方法,其中,使用行动者-批评者方法来合成所述UAV控制器模型。
4.根据权利要求1所述的方法,其中,根据基于群体的机器学习算法来合成所述UAV控制器模型。
5.根据权利要求1所述的方法,其中,所述UAV控制器模型被合成,目的是减小所述UAV的期望的飞行路径与由所述运动跟踪系统监控的所述UAV的飞行路径之间的差异。
6.根据权利要求1所述的方法,其中,根据基于强化学习的机器学习算法来合成所述风力控制器模型,
或者其中,根据基于群体的机器学习算法来合成所述风力控制器模型。
7.根据权利要求1所述的方法,其中,所述风力控制器模型被合成,目的是增加所述UAV的期望的飞行路径与由所述运动跟踪系统监控的所述UAV的飞行路径之间的差异。
8.根据权利要求1所述的方法,其中,所述运动跟踪系统是基于相机的运动跟踪系统,
其中,所述运动跟踪系统是基于无线电的定位系统,
和/或其中,所述运动跟踪系统在所述UAV外部。
9.根据权利要求1所述的方法,其中,所述风力发电机控制信号适于独立地控制所述风力发电机的多个风力发电机单元,所述多个风力发电机单元适于发出多个风流,所述风海流基于所述多个风流。
10.根据权利要求9所述的方法,其中,所述多个风力发电机单元以阵列配置布置。
11.根据权利要求1所述的方法,其中,所述UAV控制器模型特定于所述UAV的类型和/或配置。
12.根据权利要求1所述的方法,其中,所述UAV控制器模型的合成还根据基于所述UAV的一个或多个传感器的传感器数据的风况的估计。
13.一种存储计算机程序的计算机可读存储介质,当在计算机、处理器或可编程硬件组件上执行时,所述计算机程序使得所述计算机、所述处理器或所述可编程硬件组件执行根据权利要求1所述的方法。
14.一种用于设计用于控制无人机UAV的UAV控制器模型的系统,所述系统包括:
无人机UAV,使用UAV控制器模型来操作;
风力发电机,用于生成风海流;
运动跟踪系统,用于监控所述UAV的飞行;以及
控制模块,被配置为:
基于风力控制器模型生成风力发电机控制信号,其中,朝向所述UAV发出的风基于所述风力控制器模型;
向所述风力发电机提供所述风力发电机控制信号,以使所述风力发电机发出所述风海流以影响所述UAV的飞行;
使用所述运动跟踪系统监控所述UAV的飞行,以确定运动跟踪数据;
基于所述运动跟踪数据,使用机器学习算法来合成所述UAV控制器模型;
基于所述运动跟踪数据,使用所述机器学习算法来合成所述风力控制器模型;并且
所述UAV控制器模型和所述风力控制器模型使用基于对抗强化学习的机器学习算法或基于群体的机器学习算法来相互训练。
15.一种无人机UAV,包括:
一个或多个致动器,用于推进所述UAV;
一个或多个传感器,用于提供与由风引起的所述UAV的运动相关的传感器数据;以及
控制器,被配置为基于UAV控制器模型并基于所述传感器数据来控制所述一个或多个致动器,
其中,使用权利要求1所述的方法来合成所述UAV控制器模型,所述UAV控制器模型至少部分地基于训练UAV的运动跟踪数据,当所述训练UAV的飞行受由风力发电机发出的风海流影响时,获取所述训练UAV的运动跟踪数据。
16.根据权利要求15所述的UAV,其中,基于所述训练UAV的运动跟踪数据,使用机器学习算法来合成所述UAV控制器模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19165288 | 2019-03-26 | ||
EP19165288.2 | 2019-03-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111752145A CN111752145A (zh) | 2020-10-09 |
CN111752145B true CN111752145B (zh) | 2023-06-06 |
Family
ID=65991659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010207881.XA Active CN111752145B (zh) | 2019-03-26 | 2020-03-23 | 设计uav控制器模型的方法和系统、存储介质以及无人机 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11984038B2 (zh) |
CN (1) | CN111752145B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7357248B2 (ja) * | 2019-02-01 | 2023-10-06 | パナソニックIpマネジメント株式会社 | 無人飛行体、情報処理方法およびプログラム |
US11120221B2 (en) * | 2019-03-26 | 2021-09-14 | Tata Consultancy Services Limited | Method and system to resolve ambiguities in regulations |
US12054239B2 (en) * | 2019-10-09 | 2024-08-06 | Beta Air, Llc | In-flight stabilization of an aircraft |
US12017784B2 (en) * | 2019-10-09 | 2024-06-25 | Beta Air, Llc | In-flight stabilization of an aircraft |
WO2021118925A1 (en) * | 2019-12-13 | 2021-06-17 | Beta Air, Llc | In-flight stabilization of an aircraft |
KR102164372B1 (ko) * | 2020-04-03 | 2020-10-12 | 주식회사 파블로항공 | 소형 고정익 무인항공기의 경로 추종 방법 및 이를 이용한 lgvf 경로 추종 제어기 |
CN111504419B (zh) * | 2020-06-04 | 2021-05-11 | 浙江大学 | 一种测定植保无人机药液量的装置和方法 |
CN113128698B (zh) * | 2021-03-12 | 2022-09-20 | 合肥工业大学 | 多无人机协同对抗决策的强化学习方法 |
FR3130956A1 (fr) * | 2021-12-17 | 2023-06-23 | Thales | Procédé d’aide au pilotage d’un aéronef, dispositif électronique d’aide au pilotage et système d’assistance associés |
US20230245575A1 (en) * | 2022-02-03 | 2023-08-03 | The Boeing Company | Reinforcement learning-based mid-air collision avoidance |
US20240210963A1 (en) * | 2022-08-10 | 2024-06-27 | Inspired Flight Technologies, Inc. | Failure prediction and risk mitigation in small uncrewed aerial systems |
CN115470894B (zh) * | 2022-10-31 | 2023-01-31 | 中国人民解放军国防科技大学 | 基于强化学习的无人机知识模型分时调用方法及装置 |
CN115562330B (zh) * | 2022-11-04 | 2023-08-22 | 哈尔滨工业大学 | 一种抑制类场风扰的无人机控制方法 |
CN117212077B (zh) * | 2023-11-08 | 2024-02-06 | 云南滇能智慧能源有限公司 | 一种风电机的风轮故障监测方法、装置、设备及存储介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649064A (en) | 1995-05-19 | 1997-07-15 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | System and method for modeling the flow performance features of an object |
US20080004838A1 (en) | 2005-12-08 | 2008-01-03 | The Johns Hopkins University | Air-Speed Wind Tunnel Data Analysis Suite |
CN102073755B (zh) | 2010-11-10 | 2013-04-10 | 南京航空航天大学 | 近空间高超声速飞行器运动控制仿真方法 |
KR101229846B1 (ko) | 2011-04-06 | 2013-02-05 | 국방과학연구소 | 자기력을 활용한 비행체 자동비행조종장치의 설계 및 검증방법 |
US9221557B1 (en) * | 2013-03-07 | 2015-12-29 | Lockheed Martin Corporation | UAV retrieval system and method |
US9174732B2 (en) | 2013-12-30 | 2015-11-03 | Google Inc. | Methods and systems for transitioning an aerial vehicle between crosswind flight and hover flight |
US10023323B1 (en) * | 2015-04-29 | 2018-07-17 | X Development Llc | Estimating wind from an airborne vehicle |
US10023300B2 (en) * | 2015-06-05 | 2018-07-17 | University Of North Dakota | Systems and methods for intelligent attitude determination and control |
CN104950908B (zh) | 2015-07-02 | 2017-08-15 | 上海交通大学 | 平流层飞艇水平位置控制系统及实现方法 |
US11327475B2 (en) * | 2016-05-09 | 2022-05-10 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for intelligent collection and analysis of vehicle data |
EP3258236B1 (en) * | 2016-06-14 | 2019-10-16 | Haute école du paysage, d'ingénierie et d'architecture de Genève | Wind generation means and wind test facility comprising the same |
US10878342B2 (en) | 2017-03-30 | 2020-12-29 | Intel Corporation | Cloud assisted machine learning |
CN107238388B (zh) | 2017-05-27 | 2018-02-23 | 合肥工业大学 | 多无人机任务分配与航迹规划联合优化方法及装置 |
CN107153425A (zh) | 2017-07-06 | 2017-09-12 | 杨顺伟 | 无人机抗外力干扰方法及装置 |
CN108305275B (zh) | 2017-08-25 | 2021-02-12 | 深圳市腾讯计算机系统有限公司 | 主动跟踪方法、装置及系统 |
CN107728642B (zh) | 2017-10-30 | 2021-03-09 | 北京博鹰通航科技有限公司 | 一种无人机飞行控制系统及其方法 |
CN108919640B (zh) | 2018-04-20 | 2020-04-03 | 西北工业大学 | 无人机自适应多目标跟踪的实现方法 |
CN109407698B (zh) | 2018-10-25 | 2020-01-31 | 深圳慈航无人智能系统技术有限公司 | 基于概率密度的无人机三维路径避障方法 |
CN109459446A (zh) | 2018-12-29 | 2019-03-12 | 哈尔滨理工大学 | 一种基于无人机的风电叶片图像信息采集方法 |
US20200249702A1 (en) * | 2019-02-05 | 2020-08-06 | NUAIR Alliance | System and method for wind tunnel testing a uas in a fully autonomous operating mode |
-
2020
- 2020-03-20 US US16/824,720 patent/US11984038B2/en active Active
- 2020-03-23 CN CN202010207881.XA patent/CN111752145B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20200312163A1 (en) | 2020-10-01 |
CN111752145A (zh) | 2020-10-09 |
US11984038B2 (en) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111752145B (zh) | 设计uav控制器模型的方法和系统、存储介质以及无人机 | |
Gyagenda et al. | A review of GNSS-independent UAV navigation techniques | |
Lopes et al. | Intelligent control of a quadrotor with proximal policy optimization reinforcement learning | |
Hong et al. | Energy-efficient online path planning of multiple drones using reinforcement learning | |
Pérez et al. | Ground vehicle detection through aerial images taken by a UAV | |
US11544930B2 (en) | Systems and methods for modeling and controlling physical dynamical systems using artificial intelligence | |
Li et al. | Learning unmanned aerial vehicle control for autonomous target following | |
Wang et al. | Unscented Kalman Filter trained neural network control design for ship autopilot with experimental and numerical approaches | |
CN112363528A (zh) | 基于机载视觉的无人机抗干扰集群编队控制方法 | |
Hoang et al. | Vision-based target tracking and autonomous landing of a quadrotor on a ground vehicle | |
Hentati et al. | Mobile target tracking mechanisms using unmanned aerial vehicle: Investigations and future directions | |
Durdevic et al. | Vision aided navigation of a quad-rotor for autonomous wind-farm inspection | |
Huang et al. | Vision-based distributed multi-UAV collision avoidance via deep reinforcement learning for navigation | |
Meng et al. | A Fully-Autonomous Framework of Unmanned Surface Vehicles in Maritime Environments Using Gaussian Process Motion Planning | |
Al Radi et al. | Progress in artificial intelligence-based visual servoing of autonomous unmanned aerial vehicles (UAVs) | |
Ahmad et al. | End-to-end probabilistic depth perception and 3d obstacle avoidance using pomdp | |
Barisic et al. | Brain over Brawn: Using a Stereo Camera to Detect, Track, and Intercept a Faster UAV by Reconstructing the Intruder's Trajectory | |
Farooq et al. | A lightweight controller for autonomous following of a target platform for drones | |
Aspragkathos et al. | Event-triggered image moments predictive control for tracking evolving features using UAVs | |
Olaz et al. | Quadcopter neural controller for take-off and landing in windy environments | |
Jiang et al. | Learning decentralized control policies for multi-robot formation | |
Lamberti et al. | A sim-to-real deep learning-based framework for autonomous nano-drone racing | |
Figetakis et al. | UAV path planning using on-board ultrasound transducer arrays and edge support | |
CN117270565A (zh) | 一种基于视觉的机载自主感知及飞行系统 | |
Yu et al. | Mavrl: Learn to fly in cluttered environments with varying speed |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |