CN117769639A - 用于从无人机成像生成3d模型的系统和方法 - Google Patents
用于从无人机成像生成3d模型的系统和方法 Download PDFInfo
- Publication number
- CN117769639A CN117769639A CN202280053391.6A CN202280053391A CN117769639A CN 117769639 A CN117769639 A CN 117769639A CN 202280053391 A CN202280053391 A CN 202280053391A CN 117769639 A CN117769639 A CN 117769639A
- Authority
- CN
- China
- Prior art keywords
- drone
- images
- model
- drones
- scene
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000003384 imaging method Methods 0.000 title description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 28
- 230000015654 memory Effects 0.000 claims description 37
- 239000013598 vector Substances 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 11
- 230000001537 neural effect Effects 0.000 claims description 6
- 230000005855 radiation Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 62
- 238000003860 storage Methods 0.000 description 49
- 230000008569 process Effects 0.000 description 38
- 238000013439 planning Methods 0.000 description 35
- 238000012545 processing Methods 0.000 description 29
- 238000013528 artificial neural network Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 24
- 238000013473 artificial intelligence Methods 0.000 description 23
- 238000004088 simulation Methods 0.000 description 22
- 230000033001 locomotion Effects 0.000 description 20
- 230000000007 visual effect Effects 0.000 description 19
- 230000010354 integration Effects 0.000 description 16
- 238000007906 compression Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 15
- 230000015572 biosynthetic process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000003786 synthesis reaction Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000005259 measurement Methods 0.000 description 10
- 230000006872 improvement Effects 0.000 description 9
- 238000007689 inspection Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 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 6
- 230000004438 eyesight Effects 0.000 description 6
- 230000001965 increasing effect Effects 0.000 description 6
- 230000033228 biological regulation Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000005286 illumination Methods 0.000 description 5
- 230000001976 improved effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000012384 transportation and delivery Methods 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000001105 regulatory effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000004397 blinking Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000010006 flight Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000004313 glare Effects 0.000 description 2
- 239000001257 hydrogen Substances 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 125000004435 hydrogen atom Chemical class [H]* 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 208000032953 Device battery issue Diseases 0.000 description 1
- 235000015842 Hesperis Nutrition 0.000 description 1
- 235000012633 Iberis amara Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000000254 damaging effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 239000001307 helium Substances 0.000 description 1
- 229910052734 helium Inorganic materials 0.000 description 1
- SWQJXJOGLNCZEY-UHFFFAOYSA-N helium atom Chemical compound [He] SWQJXJOGLNCZEY-UHFFFAOYSA-N 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000004304 visual acuity Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/18502—Airborne stations
- H04B7/18504—Aircraft used as relay or high altitude atmospheric platform
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64C—AEROPLANES; HELICOPTERS
- B64C39/00—Aircraft not otherwise provided for
- B64C39/02—Aircraft not otherwise provided for characterised by special use
- B64C39/024—Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U80/00—Transport or storage specially adapted for UAVs
- B64U80/80—Transport or storage specially adapted for UAVs by vehicles
- B64U80/86—Land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C15/00—Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
- G01C15/002—Active optical surveying means
-
- 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/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0027—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
-
- 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
- G05D1/104—Simultaneous control of position or course in three dimensions specially adapted for aircraft involving a plurality of aircrafts, e.g. formation flying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
-
- 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/003—Flight plan management
- G08G5/0039—Modification of a flight plan
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0043—Traffic management of multiple aircrafts from the ground
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/20—Monitoring; Testing of receivers
- H04B17/27—Monitoring; Testing of receivers for locating or positioning the transmitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/30—Monitoring; Testing of propagation channels
- H04B17/309—Measuring or estimating channel quality parameters
- H04B17/318—Received signal strength
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/30—Monitoring; Testing of propagation channels
- H04B17/391—Modelling the propagation channel
- H04B17/3913—Predictive models, e.g. based on neural network models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/24—Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
- H04W64/003—Locating users or terminals or network equipment for network management purposes, e.g. mobility management locating network equipment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
- H04W64/006—Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U10/00—Type of UAV
- B64U10/10—Rotorcrafts
- B64U10/13—Flying platforms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U10/00—Type of UAV
- B64U10/10—Rotorcrafts
- B64U10/13—Flying platforms
- B64U10/14—Flying platforms with four distinct rotor axes, e.g. quadcopters
-
- 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/20—UAVs specially adapted for particular uses or applications for use as communications relays, e.g. high-altitude platforms
-
- 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]
- B64U2201/102—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] adapted for flying in formations
-
- 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/04—Control of altitude or depth
- G05D1/042—Control of altitude or depth specially adapted for aircraft
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
- H04W84/042—Public Land Mobile systems, e.g. cellular systems
- H04W84/047—Public Land Mobile systems, e.g. cellular systems using dedicated repeater stations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Quality & Reliability (AREA)
- Electromagnetism (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Astronomy & Astrophysics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Graphics (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
一种方法,包括:接收由至少一架无人机获取的场景的多个图像;识别在多个图像内的特征;基于在多个图像内识别出的特征来识别多个图像中的相似图像;基于相似图像内识别出的特征来比较相似图像,以确定相似图像共享的特征的比例;选择多个图像的具有满足预定范围的共享特征比例的子集;使用第一3D模型构建算法从图像子集生成场景的第一3D模型;使用第二3D模型构建算法从图像子集生成场景的第二3D模型;计算第一和第二3D模型的误差;以及选择第一或第二3D模型作为场景的模型。
Description
相关申请的交叉引用
本申请要求2021年6月11日提交的美国临时专利申请No.63/209,392的优先权,其内容通过引用整体并入本文。
技术领域
本公开总体上涉及无人机成像,并且更具体地,涉及从无人机成像生成3D模型。
背景技术
过去50年来,在半导体硬件成本大幅下降的推动下,数十亿终端用户计算设备不断涌现。在20世纪80年代,微处理器使计算变得基本上免费且无处不在。这催生了新一代软件,引发了“个人计算机(PC)革命”。
在2000年代,通信技术迎来了半导体革命,连接了全球设备。免费的计算和通信催生了新一代软件,引发了“移动革命”。
在2010年代,低成本成像芯片的集成使得相机和其他传感器基本上免费且无处不在。免费的计算、通信和传感催生了新一代物联网(IoT)软件,引发了智能家居、办公和工厂技术的革命。IoT是指具有传感器、处理能力、软件和其他技术的物理对象,其被配置为通过互联网或其他通信网络与其他设备和系统连接并交换数据。
现在,在2020年代,下一次革命已经到来。由硬件技术驱动的电机和电池已经使运动基本上免费。然而,仍然需要利用免费的计算、通信、传感和现在的运动的新一代软件。
在过去的40年中,创新的历史经历了一个周期。例如,参考图1可以看出,周期100首先从硬件创新开始,硬件创新使生态系统中的一些以前昂贵的部分实际上变得“免费”,引发了个人计算机(PC)革命。也就是说,20世纪80年代的计算成本大幅下降,以至于PC的使用变得无处不在。此外,半导体革命引发了移动革命。于是这使得利用这种力量的软件革命成为可能,从而进入IoT时代。最后,终端用户革命到来了,每个人都可以使用最初的数百万台设备,然后是数十亿台设备。
然后,直到添加了免费的电机,创新进行到另一个部分,它指的是一切可以移动和可以控制的东西。周期100的最后一个组成部分是实现了“无人机革命”而发生的革命。
由电机、特别是用于无人机的电机启动的硬件仍处于其初期。这将在几个大的领域产生巨大影响。
电机的发展将带来巨大影响的第一个领域包括飞行无人机,这里也可互换地称其为无人驾驶飞行器(UAV)。无人机有很多种。如本文所定义的,无人机是指能够在没有人类干预的情况下在物理环境(例如,通过空气、固体表面、液体表面、通过水)中导航的自主主体。大类别包括具有两个或更多电机的垂直起飞和着陆(VTOL)设备。具有两个或更多电机的VTOL设备通常称为直升机。然而,如果VTOL设备包括四个电机,则可以将其称为四轴飞行器。四轴飞行器也可以称为四旋翼飞行器,是指包括四个无刷直流电机和螺旋桨的无人机的具体实现。此外,一些具有六个电机的VTOL设备被称为六轴飞行器,而那些包括八个电机的VTOL设备被称为八轴飞行器。一些VTOL设备可以包括甚至更多的电机,直升机、四轴飞行器、六轴飞行器或八轴飞行器分别有一个、四个、六个或八个电机,分别驱动一个或多个旋翼。
一些附加类型的VTOL设备包括固定翼UAV。固定翼UAV可以比VTOL设备飞行更远的距离,但它们通常无法在给定位置长时间悬停。固定翼UAV通常比VTOL设备具有更大的航程和效率。固定翼UAV还可以包括比航空器更轻的飞行器,这些飞行器使用气球或充满氦气、氢气或其他气体的飞艇结构。此外,VTOL设备可以包括VTOL设备(例如,可以垂直起飞并使用机翼或直升机飞行的旋转翼飞行器)和固定翼UAV的混合体。这种混合设备可以通过使用电池的电力、内燃、氢、核或其他动力源或其组合来提供动力。
另一类UAV包括轮式无人机或自主车辆(AV)。最常见的形式是自动驾驶车辆(例如汽车、卡车等)。与飞行的无人机不同,AV在2D空间中工作,例如在道路上。AV可以包括在人行道上运行的送货无人机、还有拖拉机、以及可以越野行驶的轮式和履带式车辆。
另一类UAV包括步行无人机或机器人。步行无人机通常是双足的或四足的,其腿允许增强的机动性。
又一类UAV包括游泳无人机、航海无人机或潜水无人机,它们可互换地称为“水下自主航行器”。水下自主航行器通常部署在水下,例如在自然界中或漂浮在水面上。水下自主航行器可以使用水翼将其主体升出水面和浸入水中。水下自主航行器可以使用螺旋桨、喷水器、火箭或其他形式的推进装置。
又一类UAV包括混合无人机。混合无人机可以是多种特性的组合。例如,混合无人机可以包括具有轮子或履带以及能够漂浮的两栖无人机,例如通过使用履带的运动、或特定的螺旋桨或喷气机。
如今,飞行的无人机通常由人类通过经由无线链路的遥控来控制。根据现行FAA法规的规定,操作员与无人机的比例通常为1:1。小型无人机(sUAV)受各种联邦航空局(FAA)法规的监管,其中第107部分(及后续版本)最常用于商业运营,规范无人机的驾驶。根据第107部分的规定,sUAV被归类为重量小于55磅(25公斤)的UAV。
无人机的典型操作集中于一些常见应用,如下详述。
无人机的一种应用可以包括勘查。勘查可以涉及获取建筑物、家庭、工厂、设施、农田、公共空间或其他地理位置的图像。VTOL设备通常用于勘查,因为VTOL设备通常比有人驾驶飞机更小、更便宜,并且可以获取具有更多特征的图像。勘查通常旨在进行精确的物理测量,以提供对建筑物或田地等结构的长期测量。勘查通常不经常进行并添加到档案中,例如相对于设计文档中的结构,记录准确的“竣工”结构。
无人机的另一应用可以包括检查或执行检查。桥梁、工业厂房、商业建筑、塔楼、风力涡轮机、太阳能发电厂或屋顶等结构需要定期检查,以确保它们正常工作且不会出现故障。每个结构都有特定的检查需求。例如,桥梁的检查可包括确定给定桥梁的结构中是否存在任何裂缝或故障,或者检测存在的锈迹量。对于工业厂房,检查包括确定是否存在异常噪音以及不正常的烟雾和蒸汽。对于商业建筑,检查可以包括确定建筑物是否有任何裂缝、泄漏、积水或其他潜在的异常特征。最后,蜂窝塔和无线电塔可能需要其他专门检查。例如,不同的工业结构有许多特定的要求,需要一个通用系统来识别特定的资产,而且飞行计划对于这些不同的结构也有很大的不同。
无人机的另一个应用可以包括重建三维(3D)模型、数字孪生或4D重建。如本文所描述的,4D是指具有随时间变化的分量的三维模型,其示出了作为时间的函数的视觉和结构变化。有了足够的图像,就可以通过摄影测量技术来构建场地的3D模型。从长远来看,可以构建最初单个站点乃至最终整个地球的“带时间戳的数字孪生”,以确定在任何给定时间任何地点正在发生的事情。该过程通常称为执行4D重建。
无人机的又一应用可以包括安全和监控。特别是飞行无人机非常适合执行巡回安全任务,因为在这种情况下拥有大量固定相机过于昂贵或不切实际。这些巡回巡逻允许保护大型管道、大型工业资产或其他地点的安全。
无人机的又一应用可以包括摄影。摄影可包括获取用于出售或租赁的图像,或者用于胶片和图像。例如,无人机可用于获取待出售或展示的财产的图像。作为另一个示例,无人机可以用于获取图像和/或视频以用于艺术目的。
无人机的又一应用是物品递送。短程和远程递送可以通过固定翼无人机进行。
无人机的又一应用是无人机运送。公司可以使用无人机将人或其他生物从一个地点运送到另一个地点。
发明内容
根据一个方面,系统利用内核计算(kernel computation)、数据压缩、图形渲染以及无人机特定启发法(drone-specific heuristics)来执行优化的高维模型合成,以有效地创建高保真度、高维模型,这些模型比当前可用解决方案在更大的程度上包括全面的语义场景理解。
以上公开的实施例仅是示例,本公开的范围不限于此。特定实施例可以包括上面公开的实施例的全部、一些组件、元件、特征、功能、操作或步骤,或者不包括其中的任一个。
附图说明
图1是根据各种实施例的在过去40年来的创新周期的说明性示意图。
图2是根据各种实施例的无人机200的示意图。
图3是根据各种实施例的示例基群架构300的说明图。
图4是根据各种实施例的包括一个或多个无人机集群410的整个系统400的说明图。
图5是根据各种实施例的无人机软件架构500的示意图。
图6是用于模型合成的示例性系统的功能框图;
图7A示出了用于将一组图像转换成高维模型的示例性方法的流程图。
图7B示出了用于生成共视图的示例性方法。
图7C示出了用于缩减图像数据集的示例性方法。
图7D示出了用于比较3D模型的示例性方法。
图7E示出了模型压缩的示例性方法。
图8A是根据各种实施例描述如何控制无人机的说明图。
图8B是根据各种实施例的系统的概览的说明图。
图9是根据各种实施例的基群软件架构900的示意图。
图10是根据各种实施例的云软件架构1000的示意图。
图11是根据各种实施例的示例工作流程的示意图。
图12示出了示例计算机系统。
具体实施方式
高维模型合成(HDMS)是指将与离散有界场景相关的低维数据集(可以包括图像、IMU读数、GPS位置或任何其他传感器信息)合成为连贯集成的高维场景表示的过程。高维形式可以包括点云、辐射场、深度图或表示三维数据的各种其他方法。可以将时间分量添加到三维模型中,并且可以将其他测量与时间维度(温度、风、物体检测等)合并以进一步扩展维度。模型合成是计算机视觉的一个基本问题,在多个行业有无数的应用(勘查和施工的现场监控、娱乐体验的资产创建、增强现实的场景理解等),当前的方法存在一系列与重建精度和计算效率相关的问题。
解决该问题的传统方法,摄影测量,包括从一组图像中提取相关的兴趣点,在整个数据集中彻底地将这些点彼此匹配,然后将匹配的点三角测量成预测相机姿态和三维点的稀疏集。然而,SfM的计算效率随着数据集的大小呈指数级变化,并且容易出现对齐错误或不良的表面插值,从而导致频繁的伪像和过长的计算时间。
模型合成的替代方法被称为NeRF,或神经辐射场,其中训练神经网络,以准确地预测从任何角度观看的在场景内所有点处的密度、颜色或其他量。如本领域已知的,神经辐射场(NeRF)是完全连接的神经网络,其可以基于部分2D图像集生成复杂3D场景的新视图。它被训练为使用渲染损失(rendering loss)来再现场景的输入视图。借助这种经过训练的神经网络,可以通过计算在特定视场内所有点处的这些密度和颜色,并在立体渲染中利用现有的技术将它们组合成连贯的图像,来渲染高度逼真的场景视图。虽然NeRF承诺由少量的低维数据实现更高的重建保真度,但它作为一项技术仍处于其起步阶段,因此它可以表示的场景大小受到严重限制,并且渲染新视图的效率非常低。
此外,传统的模型合成技术倾向于很少利用或者根本没有利用特定于采集工具的知识,例如同时获取场景的多个相机、视频帧上的时间假设或者特定于设备的传感器数据。
根据各个方面,本文描述的系统和方法可以提供与利用无人机特定的启发法相关的改进,以提高高维模型合成的效率和容错能力。传统方法倾向于仅将图像作为它们的输入,而本文中公开的发明利用了以下事实:无人机对其在空间中的绝对位置有一般了解,并且一组无人机中的每架无人机都了解其与其他无人机的相对位置。进一步的改进涉及新颖的算法或对现有算法的优化,这提高了高维模型合成的准确性或效率。这两类改进都有助于系统,能够更快地大规模计算精确模型。
本文公开的具体实施例可以提供以下结果、效果或益处中的一种或多种:本文公开的对传统模型合成方法的优化和创新使得能够以采用现有技术目前无法达到的规模处理和存储更大量的准确、高保真度的高维模型。另外,本文描述的系统和方法允许在低端硬件系统上计算模型。
此外,摄影测量(SfM)和基于NeRF的模型具有不同的相对优点和缺点。SfM需要大量图像作为输入,并且对场景中的间隙不具有鲁棒性,如果图像数据集中任何点的覆盖率较低,则这些位置可能在构建的模型中存在孔洞或其他伪像。虽然NeRF可能无法在大型场景上生成任何连贯的结果,但它在表示具有较小数据集的场景方面可以比SfM表现更好,避免了与SfM相同的几何失真。通过计算这两种类型的模型,系统可以在传统的单一策略系统可能失败的情况下产生高质量的模型。
如本领域已知的,NeRF生成的3D模型仅存储底层神经网络的权重,而SfM生成的3D模型可以以多种格式表示数据。这些不同的格式都倾向于以某种方式存储以下信息:1.3D几何图形,无论是作为一组三角形,还是一长串点(xyz位置);2.纹理信息,某种类型的2D纹理信息(例如,比如砖墙图案的图像)以及如何将2D纹理投影到场景几何体上的映射;3.多次预烘焙光照,预先计算法线贴图或光反射率等信息,然后将这些信息与模型一起存储,因此不必实时计算光如何从给定表面反射的计算,而是可以成为一个查找表。请注意,NeRF的部分用处在于,SfM模型需要显式存储所有这些信息,并且通常会占用千兆字节,而对于神经网络,全部要做的只是跟踪其模型权重,用于渲染3D模型的其余信息由神经网络基于其权重生成。
本文公开的特定实施例可以使用一种或多种示例架构来实现。
硬件架构
如下面参考图2更详细地描述的,单个无人机可以包含飞行计算机290,其可以对无人机的实际操作进行低级控制。它可以包括提供罗盘、加速计和其他运动数据的机载IMU210,以及报告位置的GPS 230。它可以容纳提供移动指令或飞行指令的遥测无线电部250。然后它可以致动240个电机,这些电机然后使用电子速度控制电路245为旋翼220提供动力,以保持速度一致。它还包括框架和着陆系统260,以及各种视觉标记,例如QR码或校准长度测量部270。它可以包含一个或多个传感器,例如相机系统295或LIDAR,并且可以包括导航灯297,导航灯297可以闪烁图案以发出信号。它可以通过飞行LAN或串行总线2310连接到其他系统。
单个无人机可以包括安全计算机2100,安全计算机2100将关键任务飞行硬件与协作计算机2200隔离。它监视数据请求和流,并且可以在其确定发生了无法容忍的错误的情况下限制协作计算机2200。飞行安全计算机可以包括主动安全设备2520,例如降落伞或充气气球,以在发生故障时降低速度并包住旋转的或尖锐的部件。它可以包含一个破碎系统2530,以将无人机转变成几个较小的部件,这些部件具有较小的动能,造成撕裂的风险也较小。
单个无人机还可以包括协作计算机2200,其可以包含AI加速器,包括但不限于用于提高神经网络性能的GPU 2205、一个或多个相机或灯的传感器有效负载,或提供周围环境成像的其他传感器2210、IMU2230、和用于提供基本位置信息的GPS2220、罗盘、加速计和关于无人机物理位置的其他数据、或者用于程序和数据的存储器2240。协作计算机还可以包括用户接口机构,例如触摸板和屏幕2270,并且可以通过LAN2320或类似的USB或其他通信系统与无人机上的其他模块通信。单个无人机还可以使用超宽带2230或蓝牙2280技术进行接近感测和本地通信。它还可以包括基于蜂窝、WiFi或其他协议的无线LAN2290技术。这些天线可以在无人机飞行时发送信息并被动记录信号强度,从而实现对3D环境的测绘。
单个无人机还可以包括用于电池2410的充电部2420、用于主动安全机构2520(例如气囊、气球和降落伞)的附件以及自毁模式硬件2530。它还可以包括用于识别和可见性的照明系统2250,还有音频系统2260,音频系统可以包括扬声器和麦克风。可以包括USB或其他串行连接部2295以附接额外的外围设备。
如下面参考图3更详细地描述的,基群(下面进一步描述)可以包括一个或多个具有被动视觉或主动照明或RF信标的着陆或起飞系统,以允许无人机定位地点3160,并且可以包括在无人机着陆时可以自动连接的再充电部3150。如本文所使用的,术语“中央命令系统”可以是基群或云。
基群可包括一个或多个静态的或光学的标记3180。它还可以包括允许闪烁模式以帮助定位的多个灯3190。此外,基群可以包括多个RF信标,例如蓝牙LE或UWB,其在基群3230的各个部分上提供精确定位。基群本身可以具有标记,例如QR码、校准测量标尺,作为这些系统中任一个的一部分。
基群可以具有一个或多个LAN接入点3250,其可以协作以产生MUIMO,该MUIMO允许同时到多个无人机的多个流。它可以具有到云3270的一个或多个广域网链路,例如卫星或蜂窝调制解调器。它可以包括一个或多个GPS接收器,其可以支持使用差分GPS或RTK3290的高精度位置估计。这些天线系统可以被附接或分离或放置在各自的定位支架3210上,这些支架本身可以是自主的且可移动的,以获得最佳信号。基群具有AI计算机3110,并且可以包含用于存储的磁盘阵列3120。它还包括用于基群本身和给无人机充电的电源3150。它还包括用于连接这些组件的网络交换机和路由硬件3140。交换机可以是智能的,可以处理上游到云或其他无人机以及到各个无人机的多个连接。它还可以包括为无人机以及机载动力系统3130充电。最后,基群本身可以是自主的,并且具有到车辆的驱动接口3200的输入部,以使得整个基群能够移动。
如下面参考图4更详细地描述的,整个系统可以包括如410中所描述的一个或多个无人机集群。无人机集群410由一个或多个无人机420、430、440、450等的集合组成,它们作为一个单元操作并一起执行任务,以规划目的。每个无人机集群410可以具有不同的功能。它们可以通过由一个或多个基群LAN接入点3150创建的无人机LAN4300进行通信。可以存在一个或多个基群4200,这些基群依次连接到一个或多个无人机广域区域,无人机集群可以具有传统相机、用于照亮阴影的照明设备、激光雷达、雷达、音频或其他传感设备。这些集群可以彼此联网4300并且与云服务4400联网,云服务可以被远程托管并且可以包含诸如计算机服务4410、存储服务4420以及联网和路由服务4420之类的服务。
软件架构
如下面参考图5更详细地描述的,无人机协作计算机5300可以包括本地姿态估计器5320和本地测绘器5330。姿态估计器提供关于无人机在空间中的位置的信息,由三维点和视角指定。本地测绘器提供有关无人机周围环境的经常更新的信息。如图6的功能框图所示,基群3100上的AI和计算模块3110,以及云计算模块4410,可以托管用于模型合成系统6300、模型压缩系统6400和模型解压缩系统6500的软件组件。
图像6100可以从多种相机设备获取,包括但不限于无人机、移动电话或DSLR相机。根据用于获取图像的相机设备,图像还可以包含EXIF等格式的元数据,该元数据可以对有关图像的附加信息进行编码,所述附加信息例如GPS坐标、相机方向、相机内部参数或描述图像获取时间的时间戳。
模型合成系统可以包括特征提取器6310、图像匹配器6320、特征匹配器6330、图像修剪器6340、语义分割模块6350、摄影测量子组件6360和NeRF子组件6370。
特征提取器6310将图像6100作为输入,并输出每个输入图像内的一组位置,这些位置表示图像中的可识别的兴趣点,并且有可能在从不同视点拍摄的图像之间进行匹配。本领域技术人员将认识到,可以通过SIFT、SURF、BRISK、ORB或多种其他关键点提取算法来执行特征提取。
图像匹配器6320将一组图像6100作为输入,并输出共视图,其中顶点表示图像,边缘表示共视性。本领域技术人员将认识到,图像匹配可以通过光度方法(直接比较像素强度)、基于局部特征的方法(直接比较提取的局部关键点)或神经方法(直接比较由深度神经网络计算的中间向量)来执行。本文中公开的图像匹配架构可以包括神经网络6390,其将图像转换为固定大小的全局特征向量6390.1。
特征匹配器6330将使用特征提取器6310和图像匹配器3320提取的局部特征集作为输入,并提供从不同图像提取的特征之间的候选匹配。特征匹配可以通过直接比较关键点来简单地执行,或者以比较减少数量的点的优化概率方式来执行。特征匹配是本质上容易出错的过程,因此可以采用诸如RANSAC之类的异常值过滤算法来提供更稳健的匹配。本领域技术人员将认识到可以等效地应用几种不同的数据结构。
图像修剪器6340将来自图像匹配器6320的图像图、来自特征匹配器6330的匹配的局部特征组以及输入图像组6100作为输入,识别在输入数据集中超过与其他图像的相似度阈值的冗余图像以及无法确定存在于场景中的不相关图像。
语义分割模块6350可以用对应于与其相关联的对象(汽车、墙壁、树)的标签来标记输入图像集中的每个像素,但是它也可以采用稀疏方法,仅输出每个图像中的已知对象的边界框。本领域技术人员将认识到,可以使用几种不同的架构来实现该模块,包括但不限于卷积神经网络、变换器或Haar特征。
摄影测量子组件6360包括运动结构(SfM)模块6360.1,其可以从图像修剪器获取匹配的和修剪的图像与特征,以及来自无人机局部姿态估计器6200的附加信息,并且迭代地增长一组三维点(从二维局部特征被三角测量)和相机姿态(由全局位置和视角组成)。摄影测量模块可以包括网格划分和纹理化系统6360.2,其获取由SfM模块6360.1给出的三维点集,并估计连接一些点或全部点的表面,并将二维纹理从原始图像映射到新重建的三维空间上。
NeRF子组件6370由至少一个深度神经网络6370.1和一组支持数据结构组成,包括但不限于占用网格6370.2、哈希表集合6370.3和时间缓存6370.4。本领域技术人员将认识到,深度神经网络可以采用几种不同架构的形式,例如多层感知器、变换器或卷积神经网络。占用网格可以指对三维空间中的位置进行编码并将它们表示为空、占用或未知的任何数据结构。哈希表6370.3允许快速查询由NeRF神经网络6370.1的输出和中间输出生成的特征向量。NeRF子组件可以将来自无人机局部姿态估计器6200或摄影测量子组件6360的相机姿态作为输入。
模型压缩系统6400减小计算机存储器中的合成模型的大小。它由具有不可知架构的深度神经网络6410组成,具有可以在NeRF子组件中用作候选设计的任何架构。模型解压系统6500包括直接渲染NeRF的NeRF渲染工具6510和将NeRF转换为标准三维数据格式(例如点云或网格)的转换模块6520。本领域技术人员将认识到,可以使用多种现有方法将NeRF转换成网格,例如行进立方体算法。模型存储在云存储部6600中。
本文公开的具体实施例可以使用一个或多个示例过程来实现。
图7A示出了将一组图像7100重建为存储在云存储部71600中的高维模型的流程图。在步骤71000中,从诸如无人机、移动电话或DSLR之类的相机设备接收图像。在步骤71005中,56个输入图像被标记有“留出(holdout)”标签,指定应计算它们的姿态,但不应将它们的局部特征三角化到三维空间中,允许稍后的模型验证和测试。在步骤71010中,特征提取器计算每个图像中的局部特征。
在步骤71020中,图像匹配器根据图像计算共视图。共视图计算的步骤如图7B所示。在步骤72000中,图像匹配器从输入设备接收图像。在步骤72010中,神经网络将每个图像转换为固定大小的全局特征向量6390.1,其对关于图像内容的信息进行编码。本领域技术人员将认识到,神经网络可以在预先存在的大型图像数据集(例如CIFAR10、ImageNet或MSCOCO)上进行预训练,并且神经网络可以用许多不同的架构来实现,包括但不限于卷积神经网络、循环神经网络或变换器。在步骤72020中,检查输入图像的元数据是否存在时间戳。如果找到时间戳,则在步骤72100中将图像按时间顺序从最旧到最新进行排序。在步骤72110中,将在步骤72010中提取的特征向量与诸如欧几里得距离的距离度量进行比较。本领域技术人员将认识到,任何距离度量可以被数学地倒置,以提供范围从0到1的相似性得分,其中最接近1的得分指示相似性,并且因此每个距离被转换为相似性得分。特征向量仅与数据集中总图像中的306张图像进行比较,例如,如果有一百张图像,则给定图像的特征向量将仅与紧接在该图像之后拍摄的15张图像以及紧接在该图像被获取之前的15张图像进行比较。如果没有找到时间戳,则在步骤72200中,在整个数据集上彻底地计算相似性分数。在步骤72030中,在其特征向量具有0.15或更高的相似性分数的图像之间绘制边缘。
在步骤71030中,局部特征匹配器在图像之间匹配局部特征。在步骤71040中,图像修剪器利用图7C中所描述的以下算法来减小图像数据集的大小。图像共视图以外部方式遍历。首先,在步骤73000中,选择具有最少边缘的图像作为遍历的起点。如果不止一张图像满足此标准,则从合格的候选图像中随机选择起点。对于图中访问的每个图像,在步骤73010中,将局部特征直接与同被访问的图像共享边缘的所有图像进行比较。该信息是容易访问和查询的,因为局部特征在不同图像之间是可区分的,并且特征匹配器具有已经识别并缓存了的匹配项。在步骤73020中,如果所访问的图像与图中的任何其他图像共享多于906个相同特征,作为初步阈值。在步骤73030中,如果发现该图像同与其共享边缘的所有其他图像具有小于106的重叠,则也将其丢弃。在步骤73050中,从被访问图像的边缘中随机选择图像,并且重复步骤73010到73050,直到图中的所有图像都被访问过。
在步骤71050中,用像素级掩模来增强每个图像。在掩模中,每个像素都标有它所属的对象(汽车、墙壁、树)。像素级掩模在下游用于纠错。
在步骤71100中,估计姿态的存在确定了SfM和NerF系统两者的操作模式。如果没有找到估计的姿态,则在步骤71110中,SfM计算相机姿态并从头开始合成三维模型。在步骤71120中,NeRF使用在步骤71110中计算的相机姿态来计算附加的三维模型。如果找到估计姿态,则在步骤71130中SfM模块将跳过中间姿态估计步骤,而是使用所提供的姿态作为初始测量。在步骤71140中,NeRF模块使用估计的姿态来计算NeRF模型,并且神经网络的头部与网络的密度和颜色计算头部一起细化这些初始估计。如果估计的姿态可用,请注意SfM和NeRF可以并行运行,因为NeRF模块不再依赖SfM计算的姿态进行训练。本领域技术人员将认识到,传统光束平差法是SfM中常用的一种误差校正技术,其中将三维三角测量点重新投影到其原始二维图像中。重新投影的点和原始二维点之间的误差被用作基于梯度的优化的信号,以细化三维点的位置,或者将它们完全丢弃。本文中公开的模型合成系统还采用了基于对象的光束平差法。在基于对象的光束平差法中,71050中计算的像素级掩模被用作传统误差计算的扩展。
不仅二维位置的错误会受到惩罚,对象类别的偏差也会受到惩罚。如果重新投影的像素落入原始点的对象空间之外的位置,则较高的误差将导致更显著的校正,这是一种额外的几何检查,可确保重建对象的结构内聚性。
在步骤71200中,对NeRF模型和SfM模型进行定量比较,以确定哪种模型策略获得了更高的质量。流程图7D说明了模型比较过程的一次迭代。在步骤74000中,与其姿态一起随机选择来自步骤71005的标有“留出”标签的图像。在步骤74010中,从与留出图像相关联的姿态查看SfM模型,并且在74020中利用诸如PSNR的误差度量将渲染的视图与原始图像进行比较,PSNR给出叠加在原始图像之上的渲染图像的信噪比。在步骤74025中,将该误差存储到诸如数组的数据结构中。在步骤74030中,从同一视图渲染NeRF模型,并且在步骤74040中,与74020相同地计算误差并在74045中类似地存储。在渲染了所有“留出”图像之后,计算从步骤74025和74045构建的数组的平均误差,并声明误差最低的模型为更高质量的模型。
在步骤71300,系统查询在模型比较中哪个模型获胜。如果在71400中选择NeRF模型,则在步骤71600中将其直接上传到云存储部,并且重建管线完成。
如果在步骤71500中选择SfM模型,则在步骤71510中用新颖的NeRF超采样算法对其进行压缩。流程图7E展示了模型压缩系统。在步骤75000中,由用户直接指定或从预定配置指定压缩级别。压缩级别用于确定在步骤75010中构造的体素网格的分辨率,较小的压缩级别表示较高分辨率的体素网格,较高的压缩级别表示较低分辨率的体素网格。本领域技术人员将认识到,可以使用若干开源编程库来在SfM模型上构建体素网格。在步骤75020中,在体素网格上随机选择一组射线并将其投射到SfM模型中。本领域技术人员将认识到,射线选择与传统NeRF系统相同地发生,但在75030中从到三维模型中的投射记录密度和颜色值的操作被简化。传统的NeRF训练过程通常在没有任何先验三维信息(例如深度)的二维图像上进行,而三维SfM模型具有沿射线的密度和颜色的预定义的基准真相值。在模型压缩情况下,系统无需沿着射线执行积分,只需查询模型表面最接近射线的部分的颜色和位置,从而消除了传统NeRF模型需要了解的重要误差源。使用步骤75040中的值,使用神经网络的权重来渲染SfM模型的测试视图,并且在步骤75050中使用诸如图像PSNR的误差度量与模型的基准真相视图进行比较。从75050计算的误差用于执行步骤75060中的反向传播,以更新神经网络的权重。重复步骤75020到75060,直到射线已被投射穿过体素网格中的每个体素。在步骤75060之后,神经网络被完全训练,其权重代表压缩模型。然后在步骤71600中将该模型上传到云存储部。
在适当的情况下,特定实施例可以重复示例过程的一个或多个步骤。尽管本公开将示例过程的特定步骤描述和示出为以特定顺序发生,但是本公开设想了以任何合适的顺序发生的示例过程的任何合适的步骤。此外,虽然本公开描述并示出了示例过程,但是本公开预期包括任何适当步骤的任何适当过程,在适当的情况下,其可以包括示例过程的全部步骤、一些步骤或不包括其中的任一步骤。此外,虽然本公开描述并示出了执行示例过程的特定步骤的特定组件、设备或系统,但是本公开预期执行示例过程的任何适当步骤的任何合适组件、设备或系统的任何合适的组合。
本文公开的特定实施例可以关于不同的示例使用情况来实现。
由几架无人机在单一地点执飞的单一任务。在这种情况下,4D世界11310加载有位置数据并且单个基群位于模拟部11320中。基群可以有人类驾驶员,然后将其带到新地点。然后三架无人机可能会开始预飞行11105。然后不间断地执飞任务。无人机将在图像和投降部11150中成像信息,并更新基群数据存储部11240,这将更新基群3D模型11250和云3D模型11350。云然后将该数据提供给模型集成和训练系统11370以更新4D世界模型。然后,带有着陆部11190和下一地点模块11290的无人机将把它们路由到下一个地点进行额外的勘查。
一个全市范围的勘查系统,为多个企业提供服务,并可以使用多个来源的无人机。在这种情况下,许多不同的操作员可以通过企业集成部11260手动或自动创建大量任务,每个任务具有不同的隐私设置,如可以在成像时在无人机隐私检查部11140中进行监控,并且可以在具有隐私控制部11380的模型中过滤掉或加密。任务规划器11420会将来自许多不同所有者和操作员的可用基群和无人机聚集到单个任务数据库11450中。然后优化器将模拟11320整个多任务、多地点模型,并以较低的成本确定可测量的最佳模型,满足所需的准确性和更快的速度,这可能会根据不同的任务要求进行权衡。调度器11340将沿着在基群计划11205中指定的不同路线调度多个基群。当每个基群到达11210时,它们将部署和校准11220每个基群,然后根据需要以各种顺序并行发射和校准11110无人机,以最大限度地减少潜在碰撞风险。最后,无人机将形成集群,以完成它们的由任务执行器11130指定的任务。
用于低带宽文件传输的模型压缩:虽然三维模型文件格式往往非常大,通常达到几GB,但NeRF模型要小几个数量级,因为它们只需要存储神经网络的权重。本文中公开的模型合成系统可用于允许在带宽受限区域中进行文件传输。文件可以被上传到模型压缩系统6400,将其转换成NeRF表示。这种较小的表示可以通过低带宽网络传输。模型解压缩部6500可以在接收文件传输的硬件上在本地运行,无损地重建文件。
任意规模的虚拟现实体验:本文中公开的模型合成系统可用于重建大规模场景,大规模场景的1:1表示。使用传统方法存储这些表示在大规模存储时可能会变得非常昂贵,但模型压缩允许在任意规模上进行具有成本效益的存储,因为数量级压缩消除了磁盘空间作为瓶颈。此外,由于该系统与输入设备无关,并且对摄影测量和NeRF的故障情况具有鲁棒性,因此大型团队可以无缝协作,以使用各种硬件快速成像和重建大型场景。如上所述,小的文件大小允许在低带宽环境中操作。本领域技术人员将认识到,用于渲染SfM和NeRF模型的方法都可以容易地应用于虚拟现实耳机。
所依赖的基础概念和技术术语可以涉及以下一项或多项:机器学习、深度神经网络、图论、UNIX风格操作系统、冯·诺依曼架构、体渲染、基于梯度的优化、和计算机图形学。
如今无人机面临的一些问题包括它们价格昂贵并且是手动操作(或编程)的,因此完成它们的任务需要花费更多的时间。举例来说,如今大约有300,000名经过FAA第107部分认证的无人机飞行员,典型的无人机飞行任务需要15天来a)规划任务,b)实际飞行所需的路径,c)将获取的图像集成到3D模型中并清除伪像,d)准备3D模型以供使用和/或销售,以及e)确保在拍摄图像时遵循适当的监管和隐私规则。如今,无人机收集图像的整个工作流程面临的一些主要问题是,每个阶段都很慢并且需要大量的人工干预,这极大地限制了当今可以完成的成像的数量和质量。
如上所述,当前无人机硬件架构的问题导致无人机设计/制造/操作复杂,并且导航容易出错。作为示例,如参考图8A所示,系统800描绘了无人机810的传统控制。尽管无人机810的单个实例被包括在图8A内,但是无人机810的多个实例可以被包括在系统800内。为了简单起见,描绘了无人机810的单个实例。无人机810可包括接收器812,以经由手动控制器820将无线电链路850传送至操作员831。无人机810还可包括视频发射器814,以促进低分辨率视频下行链路840至显示设备830。当无人机810着陆时,存储设备可以被移除或者可以连接到膝上型计算机以下载数据,例如高分辨率传感器数据,以用于进一步处理。对于定位,全球定位系统(GPS)可以与一个或多个用于成像和障碍物检测的相机一起使用。
无人机相对昂贵,典型的企业级无人机成本为83100K。由于成本和需要手动控制每架无人机,它们通常少量部署。此外,由于无人机相对较少,因此它们通常需要具有多种传感器并且本质上是通用的。
无人机必须携带它们需要的一切。无人机携带其操作所需的所有传感器,以及用于在其环境中定位和导航的计算和存储设备。无人机在它们能够执行的硬件计算量方面受到限制,具体取决于它们可以携带的计算和存储设备的数量,因此无人机的移动能力有限。举例来说,典型的小型无人机可以重900克,飞行时间可以为30分钟,需要100瓦的功率才能保持飞行。有限的功率预算意味着无人机无法携带1千克、功耗为250500W的GPU系统,例如因此对于无人机载系统而言,存在基于地面的系统所不受的显著的计算限制。
因此,考虑到功率和重量的限制,无人机的计算硬件非常有限,无法运行最先进的人工智能(AI)和其他处理。小尺寸还需要程序员更多的技能来编写与无人机一起使用的软件,并导致测试和验证软件变得困难。此外,当需要更多功能时,无人机会变得更重、更耗电。如果需要更多的AI来识别对象,就需要更大的处理器。如果需要更详细的扫描,则使用更重、更大的相机。如本文所述,扫描在本文中可互换地称为现场扫描或勘查,是指以受控方式移动通过3D环境的无人机,并且其使用红、绿、蓝(RGB)、RF、LIDAR、超声波和声学传感器的集合,测绘3D空间中的区域,将检测到的对象根据上下文放置在3D场景中。重量越大意味着功率越大,因此电机、电池或其他燃料也越大。随着重量的增加,无人机具有更多的动能并且具有越来越高的旋翼速度。如果需要更长的任务时间,无人机就必须携带更重的电池,这就产生了一个负面循环,即较重的无人机实际上需要更多的电池,但飞行时间却更少。最后,由于这些单架无人机必须独立运行,因此它们需要携带强大的计算能力来识别物体,并且必须能够完成操作,包括返回家园和其他故障系统,以防止大型重型无人机损坏财产。
无人机可以依靠全球定位卫星(GPS)进行定位。在一些实施例中,无人机810可以使用GPS来定位或使用光流来维持位置。在一些实施例中,无人机810可以包括惯性测量单元(IMU)和罗盘以提供方向。GPS的使用使得无人机难以在GPS无法覆盖的区域中使用,例如靠近建筑物或在建筑物内部。因此,大多数无人机必须飞得远离成像目标,这增加了它们的重量和对传感器系统的计算要求。
无人机通信一般是本地的、易受干扰、点对点且速度相对较慢。如今的无人机通常由特定的无线电链路控制,彼此之间不共享或通信,并使用传统的无线技术。如果同一区域内使用太多无人机,可能没有足够的通信信道来发送控制信号或实现从它们遥测或视频。如今的无人机通信也是同步(实时)的,并且必须可靠。为了在各种条件下操作大量无人机,需要有大量可用频率来防止干扰,如果无人机失去控制器的视线,通信可能会丢失。无人机也可以使用卫星或蜂窝通信,但这需要大型的且功率密集的发射器来维持信号。
无人机通常容错能力不太好。例如,在部署时,如果无人机出现问题,例如电机故障、相机故障或电量低于通常预期,则必须召回无人机,找到新的无人机,然后重新执行任务。如果没有备用无人机可用,整个任务可能会被取消,并且可能需要重新安排操作员和其他人。对于关键任务程序,如果任务未按时执行,可能会危及生命。即使有多架无人机可用,失去一架无人机也可能需要手动重新规划任务,以接管无法执行的任务部分。此外,如果涉及现场操作员,则可能需要他们之间进行通信,从而在他们相互协作以手动重新计划任务时浪费任务时间。
此外,无人机软件系统存在问题,因为它们可以是部署在边缘的受限软件,不统一、程序化且不支持AI。边缘是指放置在系统和远程云之间的计算设备,通常也称为本地云解决方案。本地云是指由第三方管理并在本地运行的专用云服务。本地云包括由第三方服务提供商提供物理基础设施、软件和全生命周期管理。边缘计算是一种分布式计算范式,使计算和数据存储更接近数据源。由于上述硬件限制,如今的无人机编程非常困难,迄今为止,大部分工作都集中在飞行控制、保持无人机飞行并管理其有限的功率上。
边缘可用的受限软件意味着为无人机编写应用程序可能非常耗时,而且最先进的算法(例如,其如今可以包括人工智能(AI)方法)通常需要大量的处理能力和存储空间,并且因此不能“适合”无人机。这导致必须使用不太准确且更容易出错的方法。因此,代替现代软件,使用更传统且容易出错的过程编程技术来适应硬件限制,并且这些技术无法解决计算机视觉中通常遇到的复杂多变量问题。
编程和程序重点的不统一是指无人机上的编程环境与基站和云计算系统的编程完全不同。因此,在无人机的硬件和系统(例如系统200)的其他元件之间移动软件可能很困难。它们不提供允许将软件构建块移动到速度和可靠性最佳位置的单一统一计算环境。
用户界面不统一意味着,系统拥有在PC上运行的专用规划软件用于规划,在智能手机上运行的软件用于引航,然后通过浏览器运行单独的云软件,这使得用户体验变得非常复杂,并且难以维护该软件。此外,模拟和测试如此复杂的环境可能极具挑战性。
至于不是视觉优先且以3D地图为重点的无人机,这些无人机可以在GPS无法工作的环境中运行,并且出于处理原因,内部表示主要是2D。例如,由于无人机内部的计算资源有限,因此很难在无人机内部管理完整的3D表示,并且全视觉所需的大规模要求意味着简单的系统用于对象检测、对象识别和3D世界导航。
当前的无人机还可能有工作流程应用问题,例如未集成、2D、依赖GPS以及执行批处理。无人机遵循载人航空的传统飞行模型。使用调制解调器系统,操作员必须管理许多复杂的任务,从消除飞行冲突和监控电池状态,到逐步完成一系列图像处理步骤以及使用在无人机、基站和云中的截然不同的硬件。现代系统将每个任务视为必须学习的不同软件堆栈,然后操作员可以手动集成它们以使系统工作。
现代无人机面临的另一个问题是,它们通常使用二维地图来规划航路点。如今,飞行计划是通过卫星图像完成的,并使用一系列航路点以及给无人机的任务指令。由于GPS不可靠,依赖GPS信息的航路点在近距离时可能不可靠。要获得最佳可靠性,需要笨重、耗电且昂贵的附加设备,例如GPS实时运动机构(RTK),但在多径反射突出的城市地区,这些附加设备仍然可能会失败。RTK是指能够执行“实时运动”的GPS接收器,通过从当前全球导航卫星系统(GNSS)接收的正常信号以及校正流来实现位置精度(例如,小于10厘米精度、1厘米精度、0.1厘米精度、或其他精度测量误差)。由于当前GNSS技术的固有局限性,操作员经常执行手动任务,并且在自动化任务期间必须频繁地接管手动控制,使得这些任务不切实际且不安全。此外,任务规划没有考虑大气效应和照明条件,所有这些都会影响成像质量,包括但不限于阴影、障碍物、雾或眩光,这并不意味着其他列举是限制性的。
现代无人机也可能存在驾驶问题。当人类操作员监督操作时,他们可以执飞的无人机数量有限(对于操作员通常需要1:1的比例)。许多步骤需要人工干预,例如在现场之外进行的检查和规划没有考虑实际天气、阴影和其他需要无人机操作员手动干预的问题。在成像任务期间,实时返回低分辨率图像,在带回高分辨率数据并从无人机下载或物理提取数据后,可以确定任务是否成功。
现代无人机也可能缓慢且非实时地处理数据。在执行任务期间,可能不清楚传感器是否获取了正确的数据。将图像转换为可用数据(例如3D数据)的时间以及该数据的大小可能意味着需要时间(例如,大约几天或几周)来准备生成的图像以进行输出和正确的转换。此外,单个简单结构的数据可能需要超过200GB或3000万个数据点,这在无人机运行时很难在现场存储和管理。这意味着,如果获取是不充分的或者如果需要额外数据,则必须重新执行任务。拥有用来检查3D结构的实时手段将显著提高生产率。
还可能存在任务级小规模操作问题,例如准确性、速度、成本和可信赖性。例如,无人机的准确性可能会受到影响,因为传感处理是在事后完成的。在任务完成并且结果已知之后,处理是面向批量的。因此,问题会被遗漏或需要重新扫描。此外,由于无人机通常使用GPS进行定位,因此它们需要在建筑物上方飞行以确保良好的卫星接触,这会降低图像准确性或需要更高质量的传感器。
由于操作员规模较小,通常使用一架无人机前往单个地点进行扫描,因此速度和成本也可能存在问题。由于操作员使用手动控制各个无人机,对建筑物的典型扫描可能需要几个小时的飞行时间,然后需要几天的时间来处理所得到的传感器数据。现代无人机不适合在几分钟内扫描主要建筑物,并且许多应用(例如连续24/7扫描)是不切实际的。
现代无人机还存在可信赖性问题,例如可靠性、可用性、可维护性和安全性。由于无人机数量少、价格昂贵且传感器多,因此存在许多故障点,可能导致任务被取消。在软件层面,扫描是没有实时反馈的开环系统,在完成勘查后可以确定成像是否正确完成,然后整个任务必须重新进行,进一步降低了可靠性。对于少量复杂的无人机,如果一架无人机坠毁,那么整个任务可能会被取消。由于需要多个冗余系统,这会增加费用。例如,将四轴飞行器中的电机数量增加到六轴飞行器可以使无人机对机械故障的抵抗力更强。更复杂的无人机也有更多的零件,这意味着更多的零件可能会发生故障,特别是在恶劣的户外条件下。此外,由于较重的无人机本身具有更多的动能并且通常具有更高的终端速度,因此可能会出现安全(和/或监管)问题。以现行联邦航空局(FAA)法规为例,1类无人机的重量小于250克或根本不受监管,而2类无人机在撞击物体时的能量必须小于12英尺-磅。典型的0.9公斤无人机需要一秒钟的自由落体就能达到20英里/小时,相当于FAA的12英尺-磅限制,因此即使是小型无人机也可能很危险。较重的无人机能力更强,但由于它们的重量很容易达到1020公斤,因此坠毁将是一个非常重大的事件。无人机在现实世界中移动时受到监管。确保车辆和操作员的合规性非常重要。在一些情况下,车辆可以是电动车辆(EV),其包括陆地车辆、水上车辆、潜水车辆或空中车辆。通常,简单地将无人机制造得非常轻或很小就会简化法规,就像限制无人机是否超出视线(BVLOS)一样。
现代无人机还可能存在机群大规模运行问题,例如可扩展性、互操作性和安全性。手动控制和操作不扩展。美国拥有超过560万栋商业建筑、1000万栋工业建筑、100万栋公共建筑、230万栋多户住宅、9100万栋单户住宅以及90万座桥梁。这些1亿多个结构每年需要进行112次勘查。然而,当今美国有30万名操作员,自动化程度必须大幅提高才能支持所有这些结构的要求。为了扩展到平面,需要进行重大改进以实现大规模系统。
在可扩展性方面,控制数千甚至数百万架无人机的能力需要近乎实时地对世界进行连续成像。现代系统需要太多的操作员才能实现这一点。由于可测试性和可管理性问题,该规模水平受到限制。可测试性问题和全系统仿真问题是指,具有无人机的大型系统难以持续集成和持续交付(CD/CI)以确保整个系统正常工作。当前的系统缺乏从边缘到云的系统所有部分的通用仿真环境。在可管理性方面,单个无人机相对容易跟踪,但当前系统很难了解数百万架无人机的状态以及处理日志记录和其他事件。除了核心扩展问题之外,现代无人机系统被设计为独立系统,通常存在互操作性和集成问题。例如,许多无人机系统无法与其他硬件和现有无人机配合使用,因此升级需要进行许多硬件更改。此外,由于每架无人机单独运行,与企业的其余部分没有宽带通信,因此它们以批处理模式工作。无人机不直接与企业数据库或虚拟通信系统实时集成。此外,不良行为者是无人机操作中经常出现的一部分,而当前的系统存在安全漏洞且缺乏隐私。例如,大多数无人机系统都使用专有协议,因此很难评估它们的安全性以及它们是否存在可被利用的缺陷。失去对无人机或系统任何部分的控制都会产生重大影响,因为这些无人机可能会被重新用于恶意行为。此外,当数据被获取时,它属于单个实体,并且很难共享信息。没有通用的市场或方法来重新使用勘查信息,甚至确定已经收集了哪些勘查和信息。此外,如今大多数无人机都像一座“孤岛”一样工作,并不共享信息和以动态方式合作。能够协作的无人机将工作得更快、更准确,从而克服上述技术问题。在隐私方面,无人机可能具有侵入性,而从无人机收集监视数据的能力则进一步放大了这些问题。现代无人机系统不提供防止非法感测发生或锁定信息以便只有有权查看数据的人才能访问它或防止这种访问的系统。
与PC、智能手机和IoT一样,无人机的成本正在大幅下降,这可能会改变无人机的使用方式。适用于85,000架无人机的系统与使用85,500架无人机的系统有很大不同。依赖小型协作计算机的系统与每架无人机计算量增加10倍、在紧密连接的基群中计算量增加1001000倍的系统有很大不同。该系统可以采用多层以视觉为中心的硬件架构,该架构运行分布式软件系统,支持集成的实时应用工作流程,显著提高无人机任务的准确性、速度和成本,并可扩展到数千甚至数百万联网无人机一起工作。
图3描述了根据各种实施例的无人机300的示例。在一些实施例中,无人机300可以与包含在系统200内的无人机810相同或相似。无人机300的本地通信网络架构可以是3D动态本地局域网,而不是静态点对点网络。多个无人机,例如无人机300的多个实例,可以充当在动态3D无线网络内的节点,以不断地通信并测绘射频(RF)环境,动态地创建用于优化飞行轨迹的RF频谱图,以找到在飞行时间、网络覆盖、带宽和通信延迟之间最有效的平衡。
计算能力在基站上执行以增强无人机,基站在本文中也可互换地称为基群。如本文所定义,基群是指为由各种传感器收集的数据提供处理、通信和存储能力的物理结构(固定或移动),包括但不限于无人机、智能手机、可穿戴设备和基于地面的传感器。这样做可以使繁重且耗电的机器学习和3D世界建模远离无人机。在一些实施例中,多个基群可以一起工作,以创建与许多无人机进行高速通信的大规模本地计算群组。此外,代替将GPS接收器放置在无人机上,一些实施例可以包括将GPS接收器放置在地面上并且可以使用RTK GPS或与视觉位置相结合的其他定位,使得每个无人机可以精确地定位自身。在一些实施例中,本地计算可以通过3D广域网连接到最高层。基群可以不断地映射它们可用的无线电频率和带宽,并且可以将基群重新定位到更好的位置,以便为云系统提供高带宽。在一些实施例中,云计算环境可以与任务地点处的远程硬件更紧密地集成。这允许直接处理实时数据,并在无人机飞行时实现实时协作,从而显著缩短现场分析问题的时间。
在一些实施例中,由本文描述的无人机系统实现的硬件架构可以通过将AI计算正确地分布在无人机、移动基群和云之间来显著增加AI计算。硬件可能是“视觉优先”,因为相机成本极低,并且在与先进的AI配合时,即使在GPS无法覆盖的区域也能提供高精度。这允许使用低成本硬件在独特的区域中进行更近距离的成像。一些实施例包括无人机的设计重点是重量超轻。例如,无人机300可以是单一用途的而不是多用途的(尽管在一些情况下,给定的无人机可以具有两个(或更多)用途)。飞行时间成为尺寸的权衡,并且更多的无人机计算能力(例如,传统系统的十倍)可以通过拥有更多无人机来缩短飞行时间。例如,一架任务时间为30分钟的单个无人机可以被10架飞行时间为6分钟、运动计算能力提高10倍的小型无人机所取代。这样的系统将具有(10架无人机x6分钟)60分钟的有效飞行时间和100倍(10架无人机x10倍快)的运动计算。在单个无人机内,实时关键任务飞行控制可以被隔离到单独的处理器中,该处理器可以具有与通用计算机连接的安全网关处理器。这隔离了飞行控制,并为路径规划、障碍物检测和在低层飞行控制之上运行的其他程序提供了丰富的环境。
本文描述的无人机系统的硬件架构可以使用小型轻型无人机的大型网络(例如,10个或更多、1,000个或更多、100,000个或更多、1,000,000个或更多等),其中关注点分离,从而提高了可靠性和编程的简单性。在最低级别,系统可以使用更简单且低成本的廉价、单一用途无人机,而不是各个复杂的无人机。
为了使这些轻型无人机与大型系统一样可靠且功能强大,无人机可以在廉价无人机冗余阵列(无人机RAID或“dRAID”)中一起工作,这样,如果一架无人机出现故障,另一架无人机可以自动取代它。RAID是指一种数据存储虚拟化技术,它将多个物理磁盘驱动器组件组合成一个或多个逻辑单元,旨在数据冗余、性能改进或两者兼而有之。这些无人机阵列可以通过功能专门化来进一步降低成本。一些实施例可以包括一些携带一个组件的无人机和携带另一不同组件的其他无人机。例如,一些无人机可能携带相机,而其他无人机可能携带灯或通信继电器。这允许执行多功能任务,而无需大型多用途无人机的重量和成本,例如携带相机、灯和通信继电器的无人机。任务通常可以由各个无人机或新概念无人机阵列来执行。这个逻辑层使设计规划系统变得更加容易。代替在单个优化器中规划大量(例如,1架或更多、1,000架或更多、100,000架或更多、1,000,000架或更多等)无人机的路线,系统可以通过dRAID在虚拟硬件级别提供冗余,然后,假设阵列中的容错能力较高,则计划将dRAID中的一组无人机视为一个逻辑整体的任务。
无人机阵列的使用实现了从无人机阵列到无人机Kubernetes再到无代码无人机的虚拟化层次结构。在此层次结构中,dRAID可以被分配工作单元,例如扫描特定对象、提供对象的均匀照明或提供通信网络。因此,系统可以分为几个更容易编程的部分。无人机阵列的顶部可能是无人机集群。无人机集群在本文中也可互换地称为“集群”或“基群”,是由编排系统管理的工作单元。编排系统可以被配置为将每个软件进程分配给容器虚拟环境。这允许无人机进程在一个或多个无人机集群上运行,否则这些无人机进程将在单个无人机、无人机阵列、基群或云中运行。一些实施例可以包括通过将软件进程与实际硬件分离来在无人机机队中执行进程迁移。最后,在应用工作流级别,除了过程编程系统之外,还可以使用无代码意图系统。通过该系统,可以指定一组所需的动作,例如对对象进行成像,但实际的软件过程可以通过优化器自动生成,该优化器可以是基于AI的或经典的线性优化器。
诸如dRAID之类的无人机可以从一个或多个无人机基群发射、着陆和充电。这些基群不仅仅是一个存储系统,还可能拥有一个带有AI加速器的大型计算群组,用于为无人机提供甚至更多的计算能力。典型的图形处理单元(GPU)加速器的处理能力可能比单架无人机的处理能力高(例如,10倍、100倍、1000倍等)。无人机可以接收指令,执行对象识别,并从基群创建新路径。基群也可以是可移动的,并且本身可以被视为RAID和集群。
例如,基群可以发射一系列无人机,以便由顺风的其他基群收回,这样无人机就可以在大自然中使用更少的功率漂浮。基群还可以充当无人机的合作伙伴,因此无人机不需要携带笨重且耗电的组件,例如RTK GPS系统。基群可以将位置等关键信息传递给无人机,使它们的能力更强,而不会增加无人机的重量或功耗需求。基群还可以充当带有无源和有源标记的信标、视觉标尺或RF范围,为无人机提供定位数据。计算可以从无人机转移到基群,反之亦然,因此,如果必须运行计算量大的进程,则可以将任务发送到基群,从而降低无人机的功率需求。
无人机和基群本身可以充当定位和通信中继点。例如,当无人机进行成像时,它可能有意包含其他无人机、基群或其他标记,以提供定位辅助和具有已知位置和特征的特征点。
为了使如此多的无人机和基群能够协同工作,系统可以使用射频感知且敏捷的本地网络,例如3DLAN,其可以通过高速网络连接。3DLAN是指局域网(LAN)设置并在3D空间中进行管理,其中LAN中的每个节点对应于能够通过三个自由度、六个自由度或其某种组合穿越3D空间的实体。无人机可以与配置为预测数据需求的3DLAN进行通信,并动态改变无人机路径,以飞入在天空中创建的高带宽“热点”。LAN是指将住宅、学校、实验室、大学校园或办公楼等有限区域内的计算机互连的计算机网络。相比之下,广域网(WAN)不仅覆盖更大的地理距离,而且通常还涉及租用的电信电路。3DLAN可以使用标准互联网协议(IP),以便诸如网状网络、多播、视频流或QoS等现代设施可供系统使用。该系统旨在允许通信故障或中断。如果通信中断,无人机可以继续运行,直到恢复后提高无人机的可用性。
云计算可以通过高速广域网3D WAN支持基站,将3DLAN概念扩展到广域通信。3DWAN是指在3D空间中设置和管理的广域网(WAN),其中网络中的每个节点都是能够通过三个自由度、六个自由度或其某种组合穿越3D空间的实体。3D WAN可以分析RF环境,并将基群和无人机定位在“桶队(bucket brigade)”中,以确保高带宽。因此,与独立无人机相比,无人机的处理能力和存储空间要高出几个数量级。
软件架构可以是完全分布式的、统一的和动态的。软件架构可以将详细的飞行控制隔离到一个小的包含模块中,并且可以使用常用的高性能通用处理器,例如部署在智能手机中的处理器、部署在无人机中以在无人机边缘、在基群中、和云中的本地计算机运行相同的计算容器和网络协议的处理器。
该系统可以允许功能的动态迁移,从而如果连接丢失,无人机可以继续飞行。此外,当带宽较高时,可以将功能卸载到基群或云中。代替单独的环境,一些实施例包括在浏览器内提供整个界面并将组件分离成微服务的软件。这样做可以简化用户体验,并使编程和测试变得更加容易。此外,由于系统是统一的,因此可以有一个单一的统一的模拟环境,将无人机、无人机网络、基群和/或云一起模拟为单个系统,从而显著提高软件生产率。此外,该软件可能以视觉为优先并以3D模型为中心。
工作流程可以构建为一个集成的整体,而不是为在规划、引航和处理中使用的3D世界构建单一视觉表示。可以使用精确的3D世界模型来完成规划,而无需航路点。替代地,可以使用意图来完成规划,可以使用完成任务的无人机集群而不是单独的航路点规划来完成引航,并且可以通过动态规划自动补偿硬件故障。处理可以实时完成,从而实现实时协作。该系统可以利用传感器数据构建3D模型,并可以允许根据发现的情况进行虚拟云协作和无人机操作的动态变化,所有这些都是实时的。
上述技术优势可以在小规模下获得,并且系统可以更准确、更快、更便宜、更可靠。此外,本文描述的技术解决方案可以允许比由单个手动飞行的无人机执行的任务更快的任务。例如,在9分钟内,64架无人机网络可以完成与单架无人机扫描9小时相同的扫描量。该系统可以允许在无人机飞行时实时创建全球规模的3D模型和实时虚拟协作,从而促进实时咨询,改善决策周期时间。每架无人机也可能比传统无人机更简单,组件更少,并且在无人机出现故障或电量不足时可以通过自动故障转移实现高可用性,更简单的无人机更易于维护,能够在发生故障时返回家园,并通过移动质量较小的无人机和需要功率较小的电机而提高安全性。
在大规模方面,无人机可以部署数百万(或不同规模)。可以形成一个单一的集成系统,从云直接监督大型无人机机队。此外,可以启用自动扩展,以便如果任务花费太长时间,可以自动分配新的无人机网络并根据需要移动。此外,通过集成的数据存储系统,该系统可以积累用于AI机器学习和训练的信息,以改进路径规划、引航和数据处理等。
本文描述的一些技术可以包括但不限于机器人系统技术,例如无螺旋飞行器(UAV)、同步定位和地图测绘(SLAM)、机器人操作系统、电机控制、电池管理或其他技术,这并不意味着其他列举是限制性的。UAV,在本文中可互换地称为无人机,是指机上没有任何人类飞行员、机组人员或乘客的飞机。UAV是无人驾驶飞机系统的一个组成部分,其中包括添加基于地面的控制器和与UAV的通信系统。SLAM技术是指构建或更新未知环境的地图,同时跟踪代理在其中的位置的计算问题。
机器学习和人工智能技术可包括但不限于神经网络、视觉变换器、反向传播、卷积神经网络(CNN)和深度学习,其可使用诸如Tensorflow或PyTorch的软件包来实现。
一些机器学习和AI技术可能包括计算机视觉技术,例如摄影测量、3D模型重建和神经辐射场(NeRF)。
一些云计算技术可能包括微服务、Docker和其他容器技术、Kubernetes和其他编排系统、云服务、数据缓存和同步以及其他技术。
一些移动技术包括Android架构和AI加速。网络技术可能包括网格网络、多用户MIMO(MU-MIMO)和IP网络、5G网络和WiFi。MU-MIMO是指一组用于多路径无线通信的多输入和多输出技术,其中多个用户或终端能够相互通信,每个都通过一个或多个天线进行无线电通信。
硬件概念可以包括冗余阵列技术(例如在RAID中用于存储)、容错系统技术和多系统互连。
编程环境和技术可以包括意图编程、JavaScript、无代码技术或其他技术。
网络开发技术可以包括基于浏览器的计算、Web Assembly和网络技术。
企业应用程序可以包括地理信息系统(GIS)数据库、3D数据库和建筑信息系统以及企业集成技术,例如基于XML的连接器。GIS是指一种将地理数据与用于管理、分析和可视化该数据的软件工具相结合的数据库。
区块链技术可以包括不可替代的代币(NFT)、分布式账本和链外数据存储部。NFT是指由存储在区块链(分布式账本的一种形式)中的数字数据组成的金融证券。NFT的所有权记录在区块链中,并且可以由所有者转让,从而允许NFT被出售和/或交易。
本文描述的是用于一系列无人机、无人机集群、局域网、基群、广域网和云集成的硬件和技术。
本文描述的是无人机和用于操作无人机的技术,所述无人机可以具有极其强大的可更换的协作计算机,所述计算机可以使用大量一起工作的无人机来补偿相对较短的飞行时间。此类无人机本质上是视觉优先的,拥有360x360视觉系统和AI加速器。无人机可以利用在智能手机行业和其他行业中的进步来形成“飞行手机”,而不是带有配套处理器的无人机。与多功能无人机不同,每架无人机可以重量轻,任务简单,例如成像、提供灯光以实现更好的成像或中继通信。无人机可以被设计得很轻,并且可以具有动力减速系统,例如降落伞或被动外壳来减慢它们的速度。这些无人机还可以设计有大型缓慢移动的螺旋桨,从而实现更安静、更安全的操作。
一些实施例包括基本工作单元,其不是单个复杂的无人机,而是具有单一用途(或最小数量的用途)的更简单的轻型无人机的dRAID,以进一步降低重量和功率要求。这些阵列可以配置为允许任意数量的无人机发生故障,但dRAID仍然能够继续其任务。拥有可重新配置的无人机阵列可以大大减轻在规划、引航和处理系统上的负担。将无人机视为阵列,允许将具有在工厂制造的所有可能的传感器和功能(其中大多数组件不在任务中使用,并且需要大型电源来承载额外的重量)的昂贵的定制无人机,替换为可以基于任务要求为每个任务动态地定制和组装的无人机阵列。更进一步,每个组件可以是独立的无人机,其可以比当前的无人机更轻、更简单、更可靠并且更便宜。通过dRAID,可以最大限度地减少系统中的无用负载。例如,如果需要狭窄的视野,可以使用少量的航拍无人机。作为另一个例子,如果需要无人机执行短期任务,则可以配置小型电池无人机,而不是大型电池无人机。
由于使用单个相机,dRAID的运行速度可以更快。替代地,可以使用多架无人机上的多个相机同时拍摄图像,从而实现比传统技术更快的插值和更高的精度。dRAID可以允许在发生故障时使得热备用无人机自动移动成为阵列的一部分。一系列冗余无人机(例如dRAID)还可以减少监管障碍,因为较轻的无人机具有更少的动能和改善的可靠性(例如,如果一架无人机发生故障,其他无人机可以接管)。
可以有多种类型的无人机阵列,包括执行不同任务的多架无人机或dRAID,从而进一步简化无人机的调度并降低无人机的成本和电力需求。例如,可以有成像无人机的dRAID、用于消除阴影的照明无人机阵列、在LAN或WAN覆盖范围较差时的通信中继无人机阵列或其他阵列类型。
在单个无人机阵列中可能有许多不同类型的无人机。这可以提高管理灵活性,以便如果对传感和方向有不同的要求,不同类型的无人机,例如照明无人机、三相机无人机和/或通信无人机,可以在同一系统中工作,从而使得由dRAID创建的逻辑上的“无人机”甚至更加灵活。
在一些实施例中,dRAID可以在本地进行管理,因此每个无人机自身相对于其余无人机定位,并且它们共同地就它们的状态达成一致。阵列还可以由一架或多架控制无人机进行管理,这些控制无人机可以包括被配置为指导辅助无人机的移动和位置的多架无人机。此外,无人机阵列可以是虚拟的,使得每架无人机独立工作,但驾驶软件模拟无人机阵列。这些实现可以很灵活,具体取决于在物理无人机中可用的计算能力有多大。例如,无人机阵列可以具有大量计算能力,以便每架无人机都可以维持所有其他无人机的状态,以对等地管理它们本身。作为另一个例子,如果一些无人机具有大量计算能力,那么无人机可以作为获取路径信息的辅助无人机来管理整个阵列。更进一步,如果无人机没有足够的计算能力,则可以在远程控制器(例如一个或多个基群)中完成阵列规划,将单个无人机计算卸载到基群。
一些实施例包括不将无人机视为各个传感器,而是将其视为使用单个全局3D快照管理的单个相机系统。当需要对某个对象进行成像时,多架无人机可以以无人机阵列的形式飞行,也可以作为各自的无人机飞行,这些无人机通过精确的定时而同步,以同时(例如,彼此相差在1秒内、彼此相差在0.1秒之内、彼此相差在0.01秒之内,等等)从多个有利位置拍摄一张(或多张)图像。用于图像的这种单一全局快照可以允许创建精确的3D模型,而不会随着时间的推移在将照片拼接在一起时出现伪像。
一些实施例包括作为动态3D局域网而不是点对点的无源网络的本地通信系统。无人机和基群可以不断地重新计算RF环境,测绘热点图并测量通信需求,所有节点都可以根据需要自动移动到位置,以最大限度地提高带宽。这种可靠的系统使较小的无人机能够取代更大、更复杂的无人机。
一些实施例包括在基群中的本地计算群组内而不是在各自的无人机中进行计算。这使得繁重且耗电的机器学习和3D世界建模不再需要无人机进行。整个系统能够在地面上进行计算并在无人机中进行传感。多个基群可以协同工作,创建一个大规模的本地计算群组,并与许多无人机进行高速通信。此外,无人机上不需安装GPS接收器,而是可以将它们放置在地面上,可以结合视觉位置使用RTK GPS或其他定位,使每架无人机都能精确地定位自身。
本地计算可以通过3D WAN连接到最高层。基群可以不断地映射它们可用的无线电频率和带宽,并且可以将基群重新定位到更好的位置,以确保云系统的高带宽。
此外,云计算环境可以与任务现场的远程硬件紧密集成。这可以允许直接处理实时数据,并可以在无人机飞行时实现实时协作,从而可以显著缩短分析问题的时间。
一些实施例包括在边缘处结构新颖、实现统一编程环境并且视觉和AI优先。无人机上的系统可以是容器化的,并且可以使用标准IP协议。无人机上运行的软件可以自动从基群迁移到无人机或从一架无人机迁移到另一架无人机。一些实施例包括通用计算节点而不是专用飞行软件。
在无人机、基群和云中存在统一的编程模型,因此单一开发工作可以应用于任何硬件环境,并且可以实现更简单的模拟和测试。无人机可以根据意图而不是航路点和程序进行编程。无人机或无人机阵列(其提高冗余并简化编程)可以作为功能集群进行管理。通过编排在一起,无人机可以作为一个整体来执行任务,而不是遵循一系列航路点,从而简化编程以生成系统的意图或所需状态,然后让编排器单独工作以维持该状态。
基本工作单元可以包括一组要成像的点而不是特定的计划。这将实际路径规划细节与必须成像的点分开,并允许根据需要进行自动故障转移和替换。
软件设施可以以视觉为优先,并以3D测绘为重点。系统中的原生基元包括在基群中构建世界的3D视图,该视图与所有连接的无人机共享,然后通过可以在非本地云中完成的额外识别和增强来加强。
一些实施例包括基于浏览器的用户界面。基于浏览器的用户界面可以将数据的呈现与正在处理数据的基群或云中的基础设施分开。
一些实施例包括显著增强的应用工作流程,因为它将无人机操作的传统载人航空视图合并在一起并使其自动化。规划可以使用3D地图而不仅仅是2D卫星来完成,并且可以使用来自计算机图形引擎的真实3D视觉效果,以便规划考虑阴影和眩光以及其他现实世界效果。可以创建规划,假设多个无人机在一个集群中一起行动来完成任务(例如,因此航路点不用于各自的无人机),但“无代码”方法也可用于具有一组图像位置集合的无人机集群。
驾驶不一定是手动驾驶的延伸。3D地图可以使用视觉提示来构建,并且可以不依赖于GPS、系统中的所有无人机,并且可以在所有无人机之间共享。无人机可以在图像中找到彼此,并找到已知的对象(例如基群)来定位它们自己。例如,无人机知道彼此的确切尺寸和物理特征,这有助于定位。无人机的故障和问题可以自动处理,无人机飞行的重新计划也是如此。
一些实施例包括使用由无人机阵列提供的高速传输和3DLAN中的缓存来实时处理图像。3D图像的重建可以使用NeRF和/或其他AI技术来生成3D模型并执行对象识别。结果可以立即与操作员共享。在一些实施例中,云系统可以对此提供帮助,并且还可以帮助将模型实时传输到远程用户。云系统还可以允许远程会议和更改飞行计划。
本文描述的实施例的一些技术益处涉及硬件、软件、应用工作流程以及所得到的小规模许可总体结果。描述了关于总体大型机队规模改进的其他技术优势。
本文描述的硬件的一些技术优势在无人机级别可能是显而易见的。例如,与复杂的无人机相比,无人机的生产可以更便宜、更安全,且可一次性使用。例如,FAA认为249克的无人机不具有危险性,因此要求少得多。此外,添加自动安全气囊和其他技术可以使无人机能够漂浮而不是在飞行中坠落。
在阵列中的多个无人机的硬件层面,本文描述的实施例可以提高无人机的可靠性和操作速度。例如,两架重249克的配备两个相机的无人机以两倍的速度对某个区域成像,并且不受FAA法规的约束。此外,如果一架无人机出现故障,任务不会被取消,而是可以继续使用一架或多架剩余无人机接管错过的点。拥有高性能3D LAN可以为无人机提供更多数量级的带宽,从而使它们能够将更多处理任务转移到基群,进而进一步减轻重量。此外,通过LAN的3D RF成像了解高带宽何时可用,可以快速下载并以高保真度传输信息。在带有基群的无人机的硬件级别,本文描述的系统具有明显更好的正在勘查区域的整体3D地图,并且可以实时确定哪些区域尚未勘查或需要额外勘查。基群中的计算能力在于重量和功率容量显著增加的物体,因此更大的处理和存储系统以及GPS定位技术可以放在地面上,从而实现更高的准确性、更快的处理和更快地在所有无人机中共享信息。此外,在硬件层面,拥有实时监控和维护的宽带网络可以使与云的连接更加紧密,进一步提供更多的计算能力,以便更好地从数据中心规模的资源进行映射和对象识别。
在软件级别,本文描述的一些实施例可以使用具有高性能计算机的轻型无人机来均质化计算环境。这可以允许在无人机、基群和云之间共享更多代码,从而进一步加快开发速度。在软件级别,一些实施例可以使用编排来使得操作的意图、例如扫描与实际实现分离,通过编排将扫描意图和物理资源之间的问题分开,使得编程和管理许多无人机变得更容易。因此,应用程序员不需要担心如何完成某件事,只需担心必须做什么。同样在软件级别,一些实施例包括将计算分离到在虚拟容器中运行的微服务中。在虚拟容器中运行微服务可以允许系统在无人机、基群和云之间自动迁移容器中的进程,这可以允许系统根据无人机和基群之间的本地网络以及基群和云之间的广域网动态地调整计算发生的位置。例如,如果LAN质量很高,则基群中可以进行更多计算,从而比如减少无人机的负担,给与它们更长的飞行时间。在软件级别,一些实施例可以使用浏览器技术,例如Web Assembly和3DGL,其可以允许系统将用户界面放入浏览器中。将用户界面放入浏览器中可以显著减少用户的学习曲线,还可以简化开发过程。用户界面可以调用系统中的微服务,将无人机完全带入现代互联网世界。更进一步,在一些实施例中,软件架构可以是视觉优先的并且以3D测绘为重点,这可以显著简化应用工作流程。例如,代替处理低级基元,系统将相机和其他传感器数据处理成丰富的3D世界,从而使其对于应用工作流程开发人员来说更容易。
在工作流程级别,一些实施例包括更简单的任务规划,因为尝试使用2D卫星地图进行3D规划消除了猜测。此外,由于系统可以使用光、风或其他物理效果的真实3D游戏引擎建模,因此规划者在确定在何处以及如何对对象进行成像时可以考虑这些重要效果。系统可以被配置为描述意图或期望的状态,而不是指定要做什么。这种“无代码”方法使用户能够更好地描述所需的状态(例如,“我想要精确到1厘米的勘查”),而不是手动指定多个航路点。然而,这项技术需要大量的工程工作才能在单架无人机上发挥作用。在工作流程层面,一些实施例还包括基于3D模型和无人机集群实际执飞任务,以显著减少操作员的工作量。例如,通过查看在任务地点的3D地图中的位置,可以更轻松地监控许多无人机的状态。此外,操作员可以在飞行中检查无人机的实时数据馈送,而不必等到任务结束后才进行检查。在工作流程的处理步骤中,一些实施例包括实时能力,使得可以在任务进行过程中检测到扫描中的问题。此外,由于该系统使用先进的3D压缩技术,因此可以减少与实时查看这些模型和传输它们相关的延迟。
总而言之,这些硬件、软件和应用工作流程的改进大大提高了无人机任务的准确性、速度和成本。此外,这些改进可以显著提高系统的可信赖性,提高可靠性、可用性、可维护性和安全性。例如,将飞行、安全和应用硬件和系统分开可以显著提高可靠性。这些还可以被分配专用通信,以便使得应用层中的问题(例如任务规划)对飞行和安全系统的影响最小化。此外,通过使用较小的不太复杂的无人机,发生故障的物品也会减少。特别是,不同类型的无人机和基站的冗余阵列可以提高系统的整体可靠性,因为每个无人机都具有更简单的单一功能。N个组件的多角色系统可以有N2种交互和失败方式。与包含少量复杂无人机的系统相比,由于具有“故障转移”无人机和重叠覆盖范围的能力,可以提高可用性。在后一种情况下,如果无人机坠毁,那么整个任务可能不得不取消。然而,通过使用故障转移无人机和重叠覆盖范围,操作员可以调整要求以容忍任意数量的无人机故障。可以改善可维护性,因为不需要更复杂的具有更多可能发生故障的零件(特别是在使用无人机的恶劣户外条件下)的无人机,或者可以用更小、更简单的可能发生故障的零件更少的无人机予以替换。由于无人机的尺寸和无人机的动能小于更复杂和更大的无人机,因此系统的安全性也可以得到提高。例如,虽然该系统可以与现有的“重型”小型无人机(sUAV)一起使用,但超轻型无人机(例如250克以下类别的无人机)本质上具有较小的动能。因此,由于风阻或自转而导致的终端速度可以相对较低。通过这些技术,小型无人机具有基本上为零的动能,并且当发生故障时/如果发生故障则可以“漂浮”。
此外,从大规模机队范围的角度来看,为了实现互联网规模,本文描述的一些实施例采用了整体系统,其可以显著提高可管理性、互操作性、可编程性和可扩展性以及改进隐私和安全性。关于可管理性,一些实施例使用基站和无人机的层次结构,从而简化管理。例如,将无人机分组到阵列和网络中,而不是数千个各自的参数,允许在该级别上对一组进行管理和控制。例如,成像任务可以分配给无人机阵列,并且发出指令的系统不必管理无人机故障的数量以及在遇到障碍时所需的重新路由。在互操作性方面,该系统可以允许任何无人机集成到操作中。例如,技术解决方案可以是现有机队的软件和无人机管理软件。关于可编程性,一些实施例包括使用传统系统来模拟系统。例如,由于关键数据组件可以包括3D世界模型和分层模型,因此可以模拟任何级别。作为示例,可以针对3D世界模型运行无人机任务,可以生成指令来模拟穿越该世界的基群,然后可以在模拟中部署无人机。只需模拟上面和下面的系统就可以轻松测试各个模块。此外,通过使用声明性语言,可以在最低级别处理复杂的路径规划,从而大大简化程序员的工作量。一些案例包括使用现实世界的任务来训练系统。例如,可以通过执行类似的任务并查看哪些操作实际有效来应用机器学习。关于可扩展性,一些实施例包括从头开始设计的系统,用于在单个任务中与数千架无人机一起工作,并通过关注点分层方法使用在数百万架无人机上工作的相同基础设施来处理这样的任务。也就是说,每个级别都可以采用对更高级别所需状态的声明性描述。例如,任务规划器只是说“用10架无人机以1厘米的分辨率对这座房子进行成像”,这意味着实际的路径规划器是解耦的,并且可以单独替换和管理。换句话说,系统的复杂性可以线性扩展。关于安全和隐私,一些实施例包括将隐私内置到系统中(例如,从它如何成像到它如何读取系统数据),本质上使系统更加安全。例如,具有撤销3D对象访问权限的能力使系统能够遵守GDPR。例如,如果某个人被识别,该人可以通过NFT控制访问权限,NFT是他们在整个系统中的身份。他们还可以根据需要撤销访问权限。
本文描述的系统对于最终用户来说可以更简单地正确操作和使用。例如,就简单性而言,拥有分层系统可以使不同的专家能够在系统的不同部分上工作。作为示例,任务规划人员无需担心维护功能或无人机未准备就绪的可能性。相反,当无人机停止服务时,任务规划者可以指定所需的资源,并且资源调度会分配实际的硬件。而且,因为用于数据输出的主接口可以是3D世界模型,所以一些实施例包括读取数据和写入数据的单一统一方式。更进一步,通过NFT和分布式账本连接不同的勘查可以使用户能够使用易于理解的市场而不是复杂的商业谈判来购买数据。
一些实施例使得能够描述意图或期望的状态,而不是指定要做什么。此过程可以称为“无代码”,因为它允许用户描述所需的状态(例如,“相比于指定的许多路径点,我想要精确至1厘米的勘查”)。在一些实施例中,人类可以声明他们想要什么,并且计算机可以运行优化,以从当前状态移动到期望状态。这最大限度地减少了系统中容易出错的程序逻辑的数量,从而减少了错误和其他问题。
此外,每次任务运行都有机会通过自动学习以前的任务来改进系统。从RF模型到路径规划的一切都可以在物理世界和模拟世界的实际执行之间有一个连续的反馈循环。
架构
下面详细描述整个系统架构,其可以包括多个无人机、多个基站(基群)和云。
图2是根据各种实施例的无人机200的示意图。单个无人机,例如无人机200,可以包括电池2410、IMU 210、旋翼220(一个或更多、两个或更多、四个或更多等)、无线电机构250、框架和着陆系统260、充电系统2420、GPS230、电机240、电子速度控制(ESC)电路245、标记270、FCameras295、飞行计算机290、一个或多个灯297、fLAN 2310、主动安全系统2520、破坏系统2530、安全计算机2100、一个或多个USB 2295、LAN 2320、协作计算机2200、AI加速器2205、相机2210、GPS2220、IMU 2230、存储部2240、超宽带UWB 2231、灯2250、音频2260、用户接口2270、蓝牙(BT)2280和wLAN2290。尽管图2中描述了每个前述组件的单个实例,但是本领域普通技术人员将认识到,在无人机200内可以存在一些或全部组件的多个实例,并且描绘了每个组件的单个实例,以避免混淆特征。
如本文所描述的,协作计算机指的是能够附加感知、通信和感测的一个或多个计算单元,并且其可以通过有线或无线的连接而连接到主飞行关键自动驾驶仪,并且可以联网。
在一些实施例中,飞行计算机290可以被配置为执行对无人机200的实际操作的低级控制。IMU 210可以被配置为提供罗盘、加速计或其他运动数据。GPS230可以被配置为报告位置。无线电机构250可以指遥测无线电机构,其可以被配置为提供运动指令或飞行指令。在一些实施例中,可以使用ESC电路245来致动马达240以给旋翼220提供动力,以保持速度一致。无人机200还可以包括框架和着陆系统260,以及各种视觉标记270,例如QR码或校准的长度测量。在一些实施例中,无人机200可以包括一个或多个传感器,例如Fcameras295或其他传感器,例如激光雷达,并且可以具有导航灯297。灯297可以被配置为闪烁模式以发出信号。无人机200还可以通过飞行LAN 2310或串行总线连接到其他系统。
安全计算机2100可以被配置成将关键任务飞行硬件与协作计算机2200隔离。安全计算机2100可以被配置成监视数据请求和流,并且可以在确定协作计算机2200不正常工作的情况下限制协作计算机2200。安全计算机2100可以包括主动安全设备2520,例如设计成在发生故障的情况下降低速度的降落伞或充气气球,并且可以包住旋转的或尖锐的部件。此外,安全计算机2100可以包括破坏系统2530,其被配置成将无人机200变成在发生故障时具有较少动能或较少尖锐物体的组件。
协作计算机2200可以包括用于改进神经网络性能的AI加速器或GPU 2205、配置为提供周围环境的成像的一个或多个相机、灯或其他传感器的传感器有效负载2210、配置为提供基础位置信息的IMU 2230和GPS2220、罗盘、加速度计或与无人机200的物理位置相关的其他数据,以及用于存储程序和数据的存储部2240。协作计算机2200还可以包括用户接口机构2270,例如触摸板和屏幕,并且可以被配置为通过LAN 2320、USB 2295或其他通信系统与无人机200上的其他模块通信。在一些实施例中,无人机200可以包括用于接近感测和本地通信的超宽带2230和/或BT 2280。无人机200还可以包括实现基于蜂窝、WiFi或其他协议或其组合的技术的wLAN 2290。这些天线可以在无人机飞行时发送信息并被动记录信号强度,从而测绘3D环境图。
在一些实施例中,无人机200还可以包括用于电池2410的充电电路2420和用于主动安全的附件2520,例如气囊、气球和/或降落伞,以及自毁硬件2530。无人机200可以包括用于识别和可见性的照明系统2250、以及音频系统2260,音频系统可以包括一个或多个扬声器、一个或多个麦克风、或其他音频输入/输出组件。一些实施例包括USB 2295或其他串行连接件,以连接额外的外围设备。
图3是根据各种实施例的示例基群架构300的说明图。基群架构300可包括(无人机)基群3100以及一个或多个着陆或起飞系统。在一些实施例中,着陆/起飞系统可以与被动视觉照明、主动照明或RF信标一起使用,以允许无人机定位着陆点3160,并且可以包括再充电部3150。再充电部3150可以被配置为当无人机着陆时自动连接到无人机(例如,无人机200)。再充电部3150还可以被配置为在再充电部3150连接到无人机时对无人机进行充电。
基群架构300可包括一个或多个标记3180,其可以是静态光学的或以某种图案发光。在一些实施例中,基群架构300还可以包括允许闪烁模式以帮助定位的多个灯3190。另外,基群300可以包括多个RF信标3230,例如蓝牙LE或UWB,其在基群300的各个部分上提供精确定位。在一些实施例中,基群300可以具有标记,例如QR码,以校准作为这些系统中任一系统的一部分的测量标尺。
在一些实施例中,基群300可以包括一个或多个LAN接入点3250,这些接入点可以协作以产生MU-MIMO,从而允许多个流同时到达多个无人机。在一些实施例中,基群300可包括到云的一个或多个广域网链路3270,例如卫星或蜂窝调制解调器。基群300可以包括一个或多个GPS接收器3290,其可以使用差分GPS或RTK来实现高精度。这些天线系统可以附连或分离或放置在分开的定位支架3210上,定位支架3210本身可以是自主的和可移动的(以获得最佳信号)。在一些实施例中,基群300可以包括AI计算机3110,其可以包括用于存储部的磁盘阵列3120。基群300还可以包括用于基群本身并且例如经由充电端口3150给无人机再充电的电源3130。在一些实施例中,基群300可以包括网络交换机和路由硬件3140以连接这些组件。网络交换机和路由硬件3140可以是智能的,并且能够处理上游到云或其他无人机以及到各个无人机的多个连接。基群300还可以包括为无人机和机载电力系统充电。在一些实施例中,基群300可以是自主的,并且可以包括对车辆3100的驱动接口3200的输入端,以使得整个基群能够移动。
图4是根据各种实施例的包括一个或多个无人机集群410的整个系统400的说明图。无人机集群410可包括一架或多架无人机的集合,例如无人机420、430、440、450等,其可作为一个单元操作并出于规划目的一起执行任务。每个无人机集群410可具有不同的功能,使得无人机420、430、440、450可通过由一个或多个基群LAN接入点4100创建的无人机LAN4300进行通信。系统400可包括可连接至一个或多个无人机广域网4300的一个或多个基群4200。无人机集群410可以包括相机、照亮阴影的照明设备、LIDAR、雷达、音频或其他感测设备。这些集群可以经由WAN 4300彼此连接并连接到云服务4400。云服务4400可以被远程托管,并且可以包括诸如计算机服务4410、存储服务4420、联网和路由服务4420或其他服务之类的服务。
图5是根据各种实施例的无人机软件架构500的示意图。硬件架构400可以运行软件块。
无人机软件架构500可包括飞行计算机5200的一个或多个实例,其可被配置为控制低级系统。飞行计算机5200可以被配置为操作一个或多个模块。例如,飞行计算机5200可以包括相机处理系统5240。飞行计算机5200可以包括被配置为记录IMU、电机状态和/或其他飞行数据(例如相对风(apparent wind))的遥测系统5220。飞行计算机5200可以包括飞行控制模块5230,其可以被配置为将存储在命令模块5210中的飞行命令转换成用于飞行控制致动器5250和电机控制软件模块5260的详细操作命令。
在一些实施例中,无人机可以包括安全计算机5400的一个或多个实例,其可以被配置为监视命令。安全计算机5400可以包括安全控制系统5410,安全控制系统5410被配置为监视无人机的状态、发起紧急行动,例如返回家、自毁或系统断电、或启动降落伞或其他安全系统。安全计算机5400可以包括安全代理5420,安全代理5420可以被配置为验证去往命令系统5210的命令(以确保命令是有效的)和来自系统中的有效软件的命令。飞行计算机5200和一个或多个代理模块5430之间的通信,该代理模块5430可以被配置为监视并潜在地阻止计算机之间的网络传输。
在一些实施例中,无人机可以包括协作计算机5300的一个或多个实例,协作计算机可以具有它们自己的软件模块,这些软件模块被配置为通过相机接口5530监视来自IMU接口5510的IMU信息以及来自遥测模块5220或一个或多个飞行相机5240的遥测信息。在一些实施例中,无人机可以具有一个或多个GPS接口5520和一个或多个传感器接口。在一些实施例中,无人机可以包括一个或多个传感器融合系统5310,其可以被配置为处理、清理和合并信息。该模块可以向姿态估计器系统5320发送信息,以估计无人机的6自由度(DoF)姿态,从而确定其在空间中的相对位置和在世界中的绝对位置。姿态是指位置和高度,其中位置可以呈现在局部或全局坐标系参考系中。姿态估计器软件模块的一个或多个实例可以供给一个或多个本地测绘模块5330,该本地测绘模块5330可以被配置为确定对象在世界中的位置,并确定是否存在障碍物以及特定无人机的可导航路径。一个或多个本地测绘模块5330可被配置为与一个或多个本地地图集模块5340连接,本地地图集模块5340可被配置为确定无人机在全球空间中的位置,并可确定无人机是否已绕一圈并已到达已经看到的位置。这一信息可以被发送到一个或多个本地运动规划器系统5350,其可以考虑当前位置、当前状态和期望的任务计划来找到无人机的最佳路径。局部运动规划器系统5350和传感器融合系统5310可以将图像、姿态和其他信息转发到网络缓存部5360,以通过基群无线电系统5540传输到一个或多个基群。
在一些实施例中,本地运动规划器系统5350可以被配置为通过基群无线电5540从基群接收更新,提供附加信息,例如基于其他无人机或其他基群信息对本地测绘模块5330或本地地图集5340的添加。局部运动规划器5350可以跟踪其与其他无人机的相对位置,以维持无人机RAID阵列并确保其与阵列中的其他无人机具有设定距离。可以存在本地阵列控制器5980来进行额外的管理,例如可以在无人机或阵列中的其他无人机上工作的故障恢复和配置。
当完成行进时,它可以从基群无线电5540收集RF信号强度数据,以及直接收集其他传感器信息,例如来自IMU接口5510的IMU信息、来自GPS接口5520的GPS信息、来自相机接口5530或相机5240的图像数据、或来自遥测系统5220的遥测数据。该信息可以被发送用于基群范围的规划。
无人机时间同步模块5370可以从各种源同步其时钟,包括来自GPS接口5520的定时信息,并且可以通过基群无线电5540从基群接收时间校正。无人机时间同步模块5370可以为所有传感器系统提供服务和精确时间戳,并且传输。无人机时间同步模块5370还可以被规划模块使用,以更精确地确定任务和行进时间。
无人机软件进程可以保存在容器中,并且模块可以保存在协作计算机5300中,并且它们可以由编排器5920管理,编排器5920可以被配置为确定哪些模块在协作计算机5300的哪些组件上运行。如果有太多工作要做,编排器5920可以与基群通信,以将集群从协作部迁移到基群。协作计算机5300的整体管理可以在管理器5940中处理,其可以包括用户界面、状态、日志记录和其他信息。集成器5960可以提供到可在无人机上运行的外部软件的接口,并且为可扩展系统功能的外部软件提供集成接口。
图8B是根据各种实施例的系统8500的概览的说明图。超轻且廉价的微型无人机,可以动态配置和重新配置。它们可以作为一个单元组合在一起形成无人机RAID阵列,以提供容错和临时多任务能力,并且像单个无人机一样飞行。参见85100。
无人机感知的本地通信网络架构,无人机LAN,是一个3D动态局域网或3D-LAN,而不是静态的点对点网络。这允许无人机能够作为在动态3D无线网络中的节点,不断地通信并测绘RF环境图,动态创建用于优化飞行轨迹的RF频谱图,以便在飞行时间、网络覆盖范围、带宽和通信延迟之间找到最有效的平衡。参见85200。
计算能力在基站(基群)上执行以增强无人机。这使得繁重且耗电的机器学习和3D世界建模不再需要无人机。多个基群可以协同工作,创建一个大规模的本地计算群组,并与许多无人机进行高速通信。代替将GPS接收器放置在无人机上,它们被放置在地面上,可以结合视觉位置使用RTK GPS或其他定位,使每架无人机都能精确定位自己。参见85300。
该本地计算反过来通过3D广域网或3D-LAN(无人机感知的dWAN)连接到最高层。基群不断映射对它们可用的无线电频率和带宽,并可以将基群重新定位到更好的位置,以确保云系统的高带宽。参见85400。
最后,云计算环境更加紧密地与任务现场的远程硬件集成。这允许直接处理实时数据,并在无人机飞行时实现实时协作,从而显著缩短现场分析问题的时间。参见85500。
图9是根据各种实施例的基群软件架构900的示意图。基群软件架构900在本文中也可以互换地称为基群900,其可以包括软件模块,这些软件模块包括在实际基群硬件之间调度其他软件模块的基本系统。基群900可以包括无人机管理器9100,其被配置为在基群的控制下为无人机提供服务。这可以包括编排模块9110,其被配置为管理哪些容器正在无人机硬件上运行以及无人机的哪些硬件集群在基群的控制下可用。基群可以包括姿态估计器10120,姿态估计器10120可以被配置为监视无人机并提供能够用于校正一些或全部无人机的位置的估计。对象检测器9140可以提供附加的对象检测,其增强无人机机载系统。全局规划器10160可以管理所有无人机的整体飞行。校准模块10180可以被配置为校正个体无人机或无人机阵列中的畸变和传感器误差。故障监视器和规划器10190可以接收故障通知并且可以启动规划中所需的改变。不使用机载控制器作为阵列来管理它们的无人机可以使用阵列控制器9195,其可以配置为向机载无人机阵列控制器5980提供校正,以进行配置、定位和/或故障恢复。
诸如基群系统9200之类的内部系统可以被配置为管理基群。基群系统9200可以包括基群规划器9210,其可以处理基群的路由以及与其他基群的协调。本地RF模型9260可以管理本地RF环境并且可以提供本地RF环境的3D地图和基于时间的预测(4D映射)以及用于WAN通信的RF环境特性。无人机管理器9100可以使用它来根据数据下载和上传要求来计划飞行。基群规划器9210可以被配置为移动基群或通过数据同步9290与其他系统模块同步。天气模型9220可以被配置为随着时间的推移对风、光或其他动态条件进行建模,并且可以预测未来条件,以供在系统中规划模块使用。任务中的对象可以保存在4D模型系统9280中,该系统具有3D并且对时间的变化进行建模。任务存储器9240可以管理任务信息,例如任务的路径和期望目标。时间管理器9230可以为包括所有无人机和其他基群在内的所有系统提供精确的时钟,以便为每个传感器和正在进行的其他测量提供精确的计时。
基群中的云管理器9300可以被配置为管理与云的通信。云管理器9300可以包括用于优化和调度到云的传输的WAN管理器9320、可存储信息并将信息从无人机或其他基群转发到云的云缓存系统9340、以及可从云或本地运营商提供状态和管理设施的操作员和集成接口9360。
基群900还可以包括被配置为向所有模块提供公共服务的基本模块组9900。这可以包括编排器9920,用于管理将哪些软件模块隔离到在哪些硬件集群上运行的容器中。模块9900还可以包括管理器9940,其监视整个系统性能、处理实时事件并记录关键数据。模块9900还可以包括允许外部软件通过一组连接器或其他设施与系统交互的集成系统9960。
图10是根据各种实施例的云软件架构1000的示意图。在一些实施例中,云软件架构1000可以包括软件模块,例如用于运行实时任务的实时任务系统10200的一个或多个实例。实时任务系统10200可以包括一个或多个任务目标模块10210,其可以被配置为跟踪任务的意图,包括例如要扫描的位置和所需的扫描的质量。它可以包括一个或多个3D模型构建器和对象识别器10220,其可以从基群或其他源获取实时数据并使用包括但不限于NeRF、摄影测量或其他技术的技术来执行3D对象重建。系统还可以包括地点的实时3D RF模型10230,以帮助实时规划任务,并且包括在任务重新规划10250中的通信带宽。这些模块可以通过基群通信接口WAN通信接口10240与基群通信。
在一些实施例中,云软件架构1000可以包括传感器处理管线10300。传感器处理管线10300可以包括细粒度的3D模型10330,其可以以批处理模式运行并且可以向实时3D模型构建器和对象识别器提供更高的分辨率。云软件架构1000可以包括高分辨率非实时对象识别和表征系统10340,以及一个或多个4D模型集成器10350,其被配置为从特定任务获取信息并将它们集成到全球范围的多任务导出的4D数据库模型10420中。
在一些实施例中,云软件架构1000可以包括一个或多个AI训练系统10360,其获取日志、路径和其他信息,例如真实图像,并且可以被配置为训练对象识别模型10340和模型构建器10330。
在一些实施例中,云软件架构1000可以包括一个或多个模拟系统10500,其可以被配置为帮助测试和规划以及其他系统功能。该软件服务可以包括一个或多个图形模拟器10510,并且可以包括一个或多个运动模拟器10520,图形模拟器在包括现实生活效果的成像中可以具有非常高的保真度,运动模拟器可以对运动中的无人机的物理性进行建模。在一些实施例中,服务可以具有集成这两种模型的一个或多个模拟器。模拟系统500可以包括测试管线10530,其可以允许替换软件中的任何模块以提供对云、基群或无人机中的任何软件组件的模拟。模拟系统500可以包括RF模拟器10540,RF模拟器10540可以被配置为基于无线电数据和4D全局模型10420中的其他信息来对特定地点的现实世界RF效应进行建模。
工作流程
图11是根据各种实施例的示例工作流程1100的示意图。工作流程1100可以应用于无人机任务,并且可以跨一架或多架无人机11100、一个或多个基群11200以及可远离任务地点执行的远程操作服务11400来执行,所述基群11200具有与本地操作员11265连接的一个或多个云服务11300。
工作流程1100描述了信息如何移动以及系统如何工作的示例流程。可以是人或另一计算机模块的操作员可以向远程操作服务11400提供新的任务数据11410。例如,诸如机队状态、训练和测试模块11390之类的模块可以运行任务建模以供资源规划,以基于之前的任务来确定未来的机队需求。或者,如果新软件或系统到位,规范可以包括模块列表、以及运行虚拟任务或测试系统的版本和运行时间。
在一些实施例中,新的任务规范可以被输入到新的任务模块11410中。可以创建指定任务目标的声明性文档,例如要在扫描中使用的传感器的分辨率和类型、感兴趣的对象或感兴趣的区域、正在搜索什么动态的或移动的或意外的对象(如果不是固定存在的话)、它们为实现目标而拥有的资源,例如一架或多架无人机11100,其可以分组为具有一个或多个独特特征的一个或多个集群。可用于无人机的基群11200的数量和类型以及它们的能力可以变化。它可以包括所需的频率和重复率。它可以包括特定事件的存储过程、条件和其他结构以及任务将如何变化。该规范还可以包括可观测性约束,例如,它可以指定某个区域的噪声限制,以确保无人机不会造成干扰,它可以指定可见性参数,例如从特定位置不应看到飞行路径,或者无人机应该非常小,以防止采用给定视敏度或缩放级别的观察。该规范还可以包括不应被扫描或具有不同隐私要求的区域,这些区域可能会阻止某些传感器对敏感对象进行成像。这些对象可以是静止的,或者它们可以在参数方面是动态的,并且可以使用对象识别11360来检测,对象识别11360可以包括面部识别或诸如未成年儿童的对象类型。
这些对象可以由任务程序模块11420转换成描述任务意图的任务文档11460并存储在任务数据库11450中。操作员可以从任务数据库11450加载、扩展、修改或写入新的任务或链接到任务。
云规划系统可以将当前3D模型随时间变化地作为4D模型11310。这可以包括在相似时间和日期的先前数据以及天气、风、太阳位置和其他数据。4D模型可以合成、插值或以其他方式估计在给定时间和天气条件下的任务的世界模型。该模型还可以包括系统中出现的RF信号模型、音频信号。它还可以包括声学传播模型来确定音频将传播多远。它还可以包括标记或其他精确定位的物理属性,例如充当在视觉上或通过无线电或其他特征(例如具有已知RF特征的广播塔或蜂窝塔)可用的定位点的桥梁。
在云中,模拟系统11320可以从这些参数开始。模拟系统11320可以由连接在一起的一个或多个专用模拟器组成。作为示例,详细的物理引擎可以对风、天气和无人机运动进行详细建模,这可以将位置提供给具有高保真成像的详细视觉模拟器。模拟可以插入硬件故障、天气条件变化和其他意外事件来测试模拟。模拟还可以包括射频模型,以确定哪些频率可用于通信。它还可以对RF环境进行建模,并提供有关预期传输带宽和给定天线参数(例如发射功率或波束成形)的干扰的数据。它还可以对来自其他来源(例如现有无线电发射机)的干扰进行建模。该模拟还可以对可用于传感器和成像及其他用途的存储以及每个设备用于任务的预测功率进行建模。模拟还可以对预期的GPS或其他可用的定位信号(包括预期的多径和其他损耗)进行建模。模拟还可以包括音频模型,该音频模型可以包括无人机噪声、预期找到的音频信号以及用于记录音频的参数,例如异常引擎或其他噪声。
然后,优化器11330可以分析任务并将其分割成多个片段,这些片段被分配给物理无人机集群,以完成在一个或多个基群上的运行,并且可以确保管理AP和其他RF设备的功率和波束成形,并且可以优化例如用于GPS、无人机LAN(dLAN)的各种天线的定位,它是指使用一群同质、异构或其混合的自主或半自主多模式无人机或dWAN实现的LAN。群在本文中可互换地称为无人机群组或无人机群。优化器可以使用不同的任务文档11460参数来运行一系列模拟和模型,并且可以基于损失函数来优化任务,损失函数可以包括任务时间、完成任务所需的功率、所需的冗余以及任务失败或成功的概率。作为示例,如果优化器确定风或路径太长,则优化器可以添加多个基群,因此优化器可以逆风发射无人机,并且它们可以顺风降落到等待的基群。或者,优化器可以更改基群路径计划,以便基群可以在一个位置发射并在另一个位置收回无人机。优化器还可以确定无人机可以着陆的固定位置,并对系统进行成像,以优化电池寿命或其他参数。举例来说,如果飞行是重复的,则优化器可以降落无人机并将其置于远离基群的睡眠模式,以最大限度地减少飞行时间和电力使用,然后根据需要“弹出”以拍摄图像并再次着陆。或者,如果找到合适的成像点,优化器可以将一架或多架无人机飞到固定位置进行成像,以减少飞行时间。优化器可以分析预期的通信需求,以及分析可用的回程容量。优化器可以将无人机和基群分配为从无人机到基群以及从基群到云的临时回程网络的一部分。
调度器11340可以确定哪些无人机和诸如基群之类的其他硬件可用于该任务。调度器可以从内部池和由第三方拥有的任何外部源的无人机中竞标无人机资源。调度器可以合并要在任务数据库11450中运行的现有任务,并且可以计算可包括多个任务的新虚拟任务,使得单个物理任务运行可以包括多个期望的扫描。例如,如果两座建筑物在物理上靠得很近,则调度器可以在无人机已经飞行的情况下同时运行这两个任务。或者,如果RF环境阻止一个基群进行上传,则它可以合并任务,以便跨任务的基群可以将数据传递到云或其他位置。它可以将这些打包的任务放入任务数据库11450中,并重复运行任务规划器,以优化资源需求一次或多次。
云系统11300可以通过模拟系统11320运行合并的任务以确保正确性,通过故障注入来监控网络的可靠性。这可以重复发生,或者可以在一系列事件之后发生。
然后,为任务分配的基群和无人机可以由调度器11340调度,调度器11340可以分层地调度在集群或组中分配的基群以及分配的无人机集群。调度器11340可以向每个基群提供任务计划11345的特定部分,以利用可用资源完成目标。任务计划11345可以通过提供额外的基群、无人机或其他硬件来补偿可能的硬件故障,以提供冗余和容错。例如,如果一个任务需要一个集群中的三架无人机,则任务计划可以额外分配两架无人机,以容忍最多两架无人机出现故障或电力不足。
然后,基群11200可以由人类利用在任务计划11345中包括的指令来驾驶,或者可以自主驾驶并说明到达过程11210。在到达过程11210中,基群11200可以将其自身定位在多个位置。
在部署和校准模块11220中,基群可以被配置为移动到正确的位置,并打开它们的定位和识别系统。基群可以基于先前的勘查标记和差分GPS、RTK并利用蜂窝网络作为无人机飞行的基点来进行高精度定位。这可以增强可以在无人机11100上携带的GPS或其他视觉定位。校准可以使用在基群或其他设备上现有的无源标记,或者可以激活有源灯和RF标记11230,以为无人机提供附加的定位信息。
无人机11100可以在基群到达时开始它们的预飞行过程11105,以检查它们的系统并确保它们能够安全地操作。
无人机11100然后可以进入其发射和校准模块11110,并执行基本检查,以确保每架无人机正常运行。无人机11100可以对已知的对象进行成像,以确保光学系统和其他系统正常工作。例如,它们可以绕其发射基群运行,并观察视觉和RF标记11230,以校准它们的视觉系统,并且可以纠正诸如脏镜头之类的光学缺陷或估计诸如雾或雨之类的可见度问题。它们还可以校准其RF系统并确保不存在意外的网络问题。在起飞之前,基群(带有加速计)可以确定系统是静止且水平的。一旦静止且水平,基群会将无人机置于校准模式,其中它们将加速度计和速率陀螺仪的偏差归零。无人机起飞,可以具有放置在基群上或之前部署的标记中的校准标记,以获得初始6DoF姿态,它们通过以低于40度/秒的速度减慢偏航和针对局部磁扰动的校准来进行罗盘校准。
组成模块11120中的无人机11100可以在阵列中操作,因此阵列级别的故障在那里被处理,并且存在问题,如果可能或更可能通过使用备用无人机,无人机阵列通过额外的飞行来补偿。无人机可以在一个或多个基群上使用视觉标记和主动标记,以提供额外的定位,并且这可以用于确保无人机之间的间隔足够并且定位准确。
任务执行器11130中的无人机可以从任务存储部11235加载任务参数。任务执行可以具有可以从一个基群“跳跃”到另一个基群以到达用于成像的最终地点的无人机。无人机可以根据其单独的或在集群中的能力被分配到不同的任务。例如,有些无人机可能会留下来充当场景的总体控制者。无人机或基群可以定位点,并保持其他无人机的视野,以提供对象以及无人机和基群的整体视图。如果存在缺乏覆盖的黑暗区域或需要额外的带宽,其他无人机可能会被分配通信回程任务。
与无人机一样,隐私检查系统11140可以检测现有标记或识别4D地图中已附加NFT的位置。无人机主要检查在那些NFT上保存的隐私权信息,它们可以具有分布式账本或其他限制不同类型成像访问的数据。隐私检查可以终止或可以加密地密封它们仅为授权实体获取的数据。
当无人机飞行时,它们可以激活图像和投放模块11150。它们可以利用各种传感器对场景进行成像,它们可以对RF环境进行采样,和/或它们可以对云的天气和大气条件进行采样。如果位于正确的位置,它们可以投放伪像,比如被动和主动视觉位置标记或RF标记,以记录确切位置。这些标记可以是永久性的,并允许以后更有效地重新扫描。无人机本身可以成为标记并降落在特定位置,提供相机、光学、RF标记以及向其他系统提供输入。
无人机可以适当地投放NFT标记来标明勘查空间,并作为获取数据的物理的和虚拟的标签。如果存在现有标记,勘查信息将添加到那些标识中。这些相当于一个物理“门挂件”,表明您的财产刚刚经过勘查并留下了勘查员的姓名。这提供了分布式账本或勘查过某个区域的所有各方。
无人机可以将它们的成像数据和其他数据传输到一个或多个基群数据存储部11240,基群数据存储部11240可以缓存这一信息并且可以延迟它们的传输,直到它们确定或者任务计划或基群确定存在可用带宽。它们可以改变航线以飞入RF热点,以便优化整个系统中的传输时间和带宽。
基群数据存储部11240可以根据通信带宽将任何或所有原始传感器数据传输到云3D模型11250。
无人机可以使用3D地图更新11160来重建它们周围的3D世界。它们可以针对在其路径中的意外障碍物执行两个对象回避标识。它们可以自动识别对象并将其放置到3D世界中,该世界可以包括它们周围的直接世界,它们也可以将自己放置到先前加载的词汇的地图集中,以在更大的世界中定位自己。
一个或多个基群可以单独地或一起工作地使用基群3D模型11250,并且可以构造RF地图和3D世界地图,其可以是从云3D模型11350加载的模型的增强。随着各种特征被绘制,基群可以执行实时SLAM来创建世界图片并确定基群可用的精确位置和校正,因为它具有更多输入和更强的计算能力。这些校正可以同步回到无人机3D地图更新11160。
考虑到云服务中可用的强大计算能力,云3D模型11350还可以生成精确信息,并将这些差异与基群3D模型同步和关联。现场基群可以使用其动态回程网络,以将信息转发到云。
基群可以基于来自其他基群和无人机的信息来更新其RF、天气模型11260,以放入3D模型中。
基群可以使用对象检测系统11270来识别对象检测系统中的附加对象。
无人机可以一起或单独生成无人机事件11170不同的问题和通知。例如,如果无人机在环境中遇到物理问题,例如意外障碍物或发生断电或意外电池电量低等故障,这些可能会导致无人机事件,启动各种动作,例如返回家或立即停止飞行或着陆。
无人机事件11170可以将这些事件发送到一个或多个基群多无人机规划器模块11280,以重新安排和改变任务。基群无人机事件可以安排额外的运行路径、修改路径计划、在飞行前发射11105额外的无人机,或者根据需要使用新计划重新分配现有的基群和无人机,以确保完成良好的任务。规划器可以处理各种各样的事件。它可以让无人机返回基群进行再充电,可以将暂时无法使用的无人机重新分配回给新的无人机集群,并且可以指示一架或多架无人机在一个或多个不同的基群进行再充电。
本地路径规划器11180可以获得无人机事件11170并完成其自己的针对各个无人机的任务计划,并且可以在没有基群通信的情况下进行操作。
当多无人机规划器11280确定有更好的计划可用或者需要全局改变或者由于其具有更精确的定位而具有更好的计划时,多无人机规划器11280可以将其路径规划发送到无人机本地路径规划器11180。
当本地路径规划器11180接收到这些事件时,如果需要新的队列,则它可以返回编队11120,然后可以执行适合于任务的一个或多个任务模块11130、11140、11150、11160和11170。
当本地路径规划器11180确定任务完成时,无人机开始其着陆11190序列。无人机可以返回发射基群,基群可以基于风和天气模式移动到不同位置,或者无人机可以返回到由全球任务规划器11280确定的不同基群。
基群11200可以使用下一地点模块11290来确定它们接下来去哪里。主基群可以返回到池唤醒状态,基群和无人机可以被分开并发送到不同的地点或关闭以等待新的工作。
下一地点11290可以发送日志,该日志可以包括发送到机队状态、测试和训练模块11390的任务实际路径和新世界模型。实际和预测路径以及结果数据发送到云,使得它们可以用于训练识别、模拟和其他系统,以更接近地匹配实际发现的结果。
云11300可以处理新世界模型11395中的数据。3D世界数据可以被集成到全局模型11310中,找到的新对象可以针对系统进行训练,并且模拟器11320可以针对预测中的错误进行校正,且优化器11330可以针对路径规划中的错误进行校正。
现场操作员可以使用一个或多个操作员终端11265来查看基群3D模型11250并评估任务和飞行。操作员输入部11275可以将输入提供到多无人机规划器11280中,多无人机规划器11280可以修改任务,例如对无人机进行手动控制、命令提前停止、添加新的任务参数。
远程操作员可以从云3D模型11350访问实时无人机数据,并且可以发起虚拟现实(VR)会议11430,以允许多个远程操作员能够查看远程终端11440并通过远程终端进行通信。它们可以与现场操作员终端11265进行通信,并可根据需要命令对任务计划进行更改或补充以满足其要求。
云3D模型11350可以与通过企业集成部11460传递适当数据的其他系统集成,企业集成部11460可以与诸如施工建筑信息系统之类的系统连接。企业集成部11460可以通过将新任务11410自主地注入到系统中来允许自动任务规划器,并且可以在VR会议系统11430中提供附加信息。
一些实施例,例如由几个无人机在单个位置执飞单个任务的实施例,可以包括加载有位置数据的4D世界11310并且单个基群位于模拟部11320中。基群11200可以具有人类驱动器,以将其带到新地点。然后一架或多架无人机11100(例如,三架无人机)可以开始预飞行11105,然后不间断地执飞任务。无人机可以在图像和投放部11150中提供图像信息并更新基群数据存储部11240,其随后可以更新基群3D模型11250和云3D模型11350。云11300然后可以将该数据提供给模型集成和训练系统11370以更新4D世界模型11310。无人机11100可以降落在土地11190上,然后下一地点模块11290可以将它们路由到下一地点以进行额外的勘查。
一个示例用例可以涉及规划城市范围的勘查系统,该系统为多个企业提供服务,并且可以使用来自多个来源的无人机。在这种情况下,许多不同的操作员可以通过集成11370手动或自动创建大量任务,每个任务具有不同的隐私设置,如可以在成像时在无人机隐私检查部11140中进行监控,并且可以在具有隐私控制部11380的模型中过滤掉或加密。任务规划器11420可以将来自许多不同所有者和操作员的可用基群11200和无人机11100聚合到单个任务数据库11450中。优化器11330然后可以模拟11320整个多任务、多站点模型,并确定最佳的模型,其可以以较低的成本来测量、满足所需的准确性并且速度更快,这可以根据不同的任务要求进行权衡。调度器11340可以沿着在基群计划11205中指定的不同路线调度多个基群。当每个基群到达11210时,它们将部署和校准11220每个基群,然后根据需要以各种顺序并且并行地发射和校准11110无人机,以最小化碰撞的可能性。最后,无人机可以组成集群来完成它们的由任务执行器11130指定的任务。
每个基群可以管理一组无人机,并在多无人机规划器11280中适当地重新路由无人机。当无人机完成任务并开始着陆11190时,基群可以异步着陆适当的无人机并移动到下一地点11290。各种任务可以在不同时间并且异步地完成,云3D模型11350可以接收更新。可以通知企业集成部11460,并且隐私控制部11380可以确保遵守数据权利,因此只有指定给一个客户端的图像才会向它们显示,而对在多租户系统中的其他客户端来说是不可见的。
图12示出了示例计算机系统1200。在特定实施例中,一个或多个计算机系统1200执行本文描述或示出的一种或多种方法的一个或多个步骤。在特定实施例中,一个或多个计算机系统1200提供本文描述或示出的功能。在特定实施例中,在一个或多个计算机系统1200上运行的软件执行本文描述或示出的一种或多种方法的一个或多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或多个计算机系统1200的一个或多个部分。本文中,在适当的情况下,对计算机系统的提及可以涵盖计算设备,反之亦然。此外,在适当的情况下,对计算机系统的提及可以涵盖一个或多个计算机系统。
本公开设想了任何合适数量的计算机系统1200。本公开设想了采用任何合适的物理形式的计算机系统1200。作为示例而非通过限制的方式,计算机系统1200可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型主机、计算机系统网格、移动电话、个人数字助理(PDA)、服务器、平板计算机系统或它们中的两个或更多个的组合。在适当的情况下,计算机系统1200可以包括一个或多个计算机系统1200;是单一的或分布式的;跨越多个地点;跨多台机器;跨越多个数据中心;或位于云中,云可以包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统1200可以在没有实质的在空间或时间上的限制的情况下执行本文描述或示出的一种或多种方法的一个或多个步骤。作为示例而非通过限制的方式,一个或多个计算机系统1200可以实时地或以批处理模式执行本文描述或示出的一种或多种方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统1200可以在不同时间或在不同位置执行本文描述或示出的一种或多种方法的一个或多个步骤。
在特定实施例中,计算机系统1200包括处理器1202、存储器1204、存储部1206、输入/输出(I/O)接口1208、通信接口1210和总线1212。尽管本公开描述并示出了特定计算机系统,其具有在特定布置中的特定数量的特定组件,但本公开预期任何合适的计算机系统,其具有在任何合适布置中的任何合适数量的任何合适组件。
在特定实施例中,处理器1202包括用于执行指令(例如组成计算机程序的那些指令)的硬件。作为示例而非通过限制的方式,为了执行指令,处理器1202可以从内部寄存器、内部缓存、存储器1204或存储部1206检索(或获取)指令;解码并执行它们;然后将一个或多个结果写入内部寄存器、内部缓存、存储器1204或存储部1206。在特定实施例中,处理器1202可包括用于数据、指令或地址的一个或多个内部缓存。本公开设想了处理器1202,其在适当的情况下包括任何合适数量的任何合适的内部缓存。作为示例而非通过限制的方式,处理器1202可以包括一个或多个指令缓存、一个或多个数据缓存以及一个或多个转换后备缓冲器(TLB)。指令缓存中的指令可以是在存储器1204或存储部1206中的指令的副本,并且指令缓存可以加速处理器1202对那些指令的检索。数据缓存中的数据可以是在存储器1204或存储部1206中的数据的副本,以供在处理器1202处执行的指令进行操作;在处理器1202处执行的先前指令的结果,以供在处理器1202处执行的后续指令访问或写入存储器1204或存储部1206;或其他合适的数据。数据缓存可以加速处理器1202的读或写操作。TLB可以加速处理器1202的虚拟地址转换。在特定实施例中,处理器1202可以包括用于数据、指令或地址的一个或多个内部寄存器。本公开设想了处理器1202在适当的情况下包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器1202可以包括一个或多个算术逻辑单元(ALU);可以是多核处理器;或者可以包括一个或多个处理器1202。虽然本公开描述并示出了特定处理器,但是本公开设想了任何合适的处理器。
在特定实施例中,存储器1204包括主存储器,用于存储供处理器1202执行的指令或供处理器1202操作的数据。作为示例而非通过限制的方式,计算机系统1200可以将指令从存储部1206或另一源(例如另一计算机系统1200)加载到存储器1204。处理器1202然后可以将指令从存储器1204加载到内部寄存器或内部缓存。为了执行指令,处理器1202可以从内部寄存器或内部缓存检索指令并将它们解码。在执行指令期间或之后,处理器1202可以将一个或多个结果(其可以是中间结果或最终结果)写入内部寄存器或内部缓存。然后,处理器1202可以将那些结果中的一个或多个写入到存储器1204。在特定实施例中,处理器1202仅执行在一个或多个内部寄存器或内部缓存或存储器1204(与存储部1206相反或在其他地方)中的指令,并且仅操作在一个或多个内部寄存器或内部缓存或存储器1204(与存储部1206相反或在其他地方)中的数据。一个或多个存储器总线(其每一个可以包括地址总线和数据总线)可以将处理器1202耦合到存储器1204。总线1212可以包括一个或多个存储器总线,如下所述。在特定实施例中,一个或多个存储器管理单元(MMU)位于处理器1202和存储器1204之间,并且便于由处理器1202请求的对存储器1204的访问。在特定实施例中,存储器1204包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口或多端口RAM。本公开设想了任何合适的RAM。在适当的情况下,存储器1204可以包括一个或多个存储器1204。尽管本公开描述并示出了特定存储器,但是本公开设想了任何合适的存储器。
在特定实施例中,存储部1206包括用于数据或指令的大容量存储部。作为示例而非通过限制的方式,存储部1206可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或这些中的两种或多种的组合。在适当的情况下,存储部1206可以包括可移动的或不可移动的(或固定的)介质。在适当的情况下,存储部1206可以位于计算机系统1200的内部或外部。在特定实施例中,存储部1206是非易失性固态存储器。在特定实施例中,存储部1206包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩膜编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可更改ROM(EAROM)或闪存或者这些中的两种或更多种的组合。本公开设想了采用任何合适的物理形式的大容量存储部1206。在适当的情况下,存储部1206可以包括便于处理器1202和存储部1206之间的通信的一个或多个存储控制单元。在适当的情况下,存储部1206可以包括一个或多个存储部1206。虽然本公开描述并示出了特定的存储部,但是本公开设想了任何合适的存储部。
在特定实施例中,I/O接口1208包括硬件、软件或两者,提供用于在计算机系统1200与一个或多个I/O设备之间的通信的一个或多个接口。在适当的情况下,计算机系统1200可以包括这些I/O设备中的一个或多个。这些I/O设备中的一个或多个可以实现人与计算机系统1200之间的通信。作为示例而非通过限制的方式,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态相机、手写笔、平板电脑、触摸屏、轨迹球、视频相机、其他合适的I/O设备或这些中的两个或更多个的组合。I/O设备可以包括一个或多个传感器。本公开设想了任何合适的I/O设备以及用于它们的任何合适的I/O接口1208。在适当的情况下,I/O接口1208可以包括使处理器1202能够驱动这些I/O设备中的一个或多个的一个或多个设备或软件驱动器。在适当的情况下,I/O接口1208可以包括一个或多个I/O接口1208。尽管本公开描述并示出了特定的I/O接口,但是本公开设想了任何合适的I/O接口。
在特定实施例中,通信接口1210包括硬件、软件或二者,其提供用于在计算机系统1200与一个或多个其他计算机系统1200或一个或多个网络之间的通信(例如,基于分组的通信)的一个或多个接口。作为示例而非通过限制的方式,通信接口1210可以包括用于与以太网或其他基于有线的网络通信的网络接口控制器(NIC)或网络适配器,或者用于与无线网络(例如WIFI网络)通信的无线NIC(WNIC)或无线适配器。本公开设想了任何合适的网络和用于其的任何合适的通信接口1210。作为示例而非通过限制的方式,计算机系统1200可以与自组织网络、个人局域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(WAN)或互联网的一个或多个部分或者这些中两个或更多个的组合通信。这些网络中的一个或多个网络的一个或多个部分可以是有线或无线的。作为示例,计算机系统1200可以与无线PAN(WPAN)(例如,蓝牙WPAN或超宽带WPAN)、WIFI网络、WIMAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)或其他合适的无线网络或这些中的两个或更多个的组合通信。在适当的情况下,计算机系统1200可以包括用于这些网络中的任何网络的任何合适的通信接口1210。在适当的情况下,通信接口1210可以包括一个或多个通信接口1210。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
在特定实施例中,总线1212包括将计算机系统1200的组件彼此耦合的硬件、软件或两者。作为示例而非通过限制的方式,总线1212可以包括加速图形端口(AGP)或其他图形总线、增强型工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道架构(MCA)总线、外围组件互连(PCI)总线、PCIExpress(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或者其他合适的总线或者这些中的两个或更多个的组合。在适当的情况下,总线1212可以包括一个或多个总线1212。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
这里,一种或多种计算机可读非暂时性存储介质可以包括一个或多个基于半导体的或其他集成电路(IC)(例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适的组合(如果适用)。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的、或者易失性和非易失性的组合。
本文中,“或”是包含性的而非排他性的,除非另有明确说明或上下文另有说明。因此,本文中的“A或B”是指“A、B或两者”,除非另有明确说明或上下文另有说明。此外,“和”既是共同的又是各自的,除非另有明确说明或上下文另有说明。因此,本文中,“A和B”是指“A和B,共同地或各自地”,除非另有明确说明或上下文另有说明。
本公开的范围涵盖本领域普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,虽然本公开将本文中的各个实施例描述和示出为包括特定组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域普通技术人员将理解的在本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或排列。此外,本文中对装置或系统或者装置或系统的部件(其被适配、布置、能够、配置、启用、可运行或可操作,以执行特定功能)的任何引用,涵盖了该装置、系统、组件,无论其或该特定功能是否被激活、开启或解锁,只要该装置、系统或组件如此适配、布置、能够、配置、启用、可运行或可操作。另外,虽然本公开描述或示出了提供特定优点的特定实施例,但是特定实施例可以不提供这些优点、提供这些优点中的一些或全部。
实施例
本文公开的实施例可以包括以下任意组合。
一个或多个实施例可以包括一种用于生成场景模型的方法,该方法包括:接收由至少一架无人机获取的场景的多个图像;识别在多个图像内的特征;基于在所述多个图像内识别出的特征来识别所述多个图像中的相似图像;基于相似图像内识别的特征来比较相似图像,以确定相似图像共享的特征的比例;选择多个图像的具有满足预定范围的共享特征比例的子集;使用第一3D模型构建算法从图像子集生成场景的第一3D模型;使用第二3D模型构建算法从图像子集生成场景的第二3D模型;计算第一和第二3D模型的误差;以及根据计算的误差选择第一或第二3D模型作为场景的模型。
在这些实施例的任一实施例中,识别多个图像内的特征可以包括生成图像的特征向量,并且识别相似图像可以包括基于特征向量计算相似性分数,并且当对应的相似性分数高于阈值时确定一对图像是相似的。
在这些实施例的任一实施例中,识别相似图像可以包括将每个图像与基于和图像相关联的时间戳选择的图像子集进行比较。
在这些实施例的任一实施例中,识别相似图像可以包括生成共视图,其中顶点是图像,并且连接顶点的边指示相似图像。可选地,比较相似图像包括在共视图中将相应图像的特征与通过边链接到所述相应图像的图像的特征进行比较。
在这些实施例的任一实施例中,选择多个图像的子集可以包括选择与任何其他图像共享多于特征下阈值并且与任何其他图像共享小于特征上阈值的图像。
在这些实施例的任一实施例中,该方法可以包括接收多个图像的估计姿态并且基于估计姿态生成第一和第二3D模型中的至少一个。
在这些实施例的任一实施例中,该方法可以包括使用第一3D模型构建算法生成多个图像的姿态估计并且使用所生成的姿态估计来构建第二3D模型。
在这些实施例的任一实施例中,第一3D模型构建算法可以是运动结构(SfM)算法,并且第二3D模型构建算法可以是神经辐射场(NeRF)算法。
在这些实施例的任一实施例中,可以通过渲染来自场景的第一和第二3D模型中的每一个的二维视图,并将二维视图与多个图像中的未用于生成场景的第一和第二3D模型的至少一个图像进行比较,来计算误差。
在这些实施例的任一实施例中,第一3D模型构建算法可以是SfM模型,选择场景的第一3D模型,并且该方法还包括压缩场景的第一3D模型。
在这些实施例的任一实施例中,该方法可以包括使用NeRF算法来压缩场景的第一3D模型。
一个或多个实施例可以包括一种系统,该系统包括通信地耦合到多个无人机的基站,该基站包括一个或多个处理器、存储器以及存储在存储器中的一个或多个程序,所述一个或多个程序用于由一个或多个处理器执行以实施上述任何一种方法。
一种非暂时性计算机可读介质,包括指令,当所述指令由计算系统的一个或多个处理器执行时,指令使得计算系统实施上述方法中的任一个的方法。
Claims (14)
1.一种用于生成场景模型的方法,包括:
接收由至少一架无人机获取的场景的多个图像;
识别在所述多个图像内的特征;
基于在所述多个图像内识别出的特征来识别所述多个图像中的相似图像;
基于在所述相似图像内识别出的特征来比较所述相似图像,以确定所述相似图像共享的特征的比例;
选择所述多个图像的具有满足预定范围的共享特征比例的子集;
使用第一3D模型构建算法从图像的所述子集生成所述场景的第一3D模型;
使用第二3D模型构建算法从图像的所述子集生成所述场景的第二3D模型;
计算所述第一3D模型和所述第二3D模型的误差;以及
根据计算的所述误差选择所述第一3D模型或所述第二3D模型作为所述场景的模型。
2.根据权利要求1所述的方法,其中,识别所述多个图像内的特征包括生成所述图像的特征向量,并且识别相似图像包括基于所述特征向量计算相似性分数,并且当对应的所述相似性分数高于阈值时确定一对图像是相似的。
3.根据权利要求1或权利要求2所述的方法,其中,识别相似图像包括将每个图像与基于和所述图像相关联的时间戳选择的图像子集进行比较。
4.根据前述权利要求中任一项所述的方法,其中,识别相似图像包括生成共视图,其中顶点是图像,并且连接顶点的边指示相似图像。
5.根据权利要求4所述的方法,其中,比较所述相似图像包括在所述共视图中将相应图像的特征与通过边链接到所述相应图像的图像的特征进行比较。
6.根据前述权利要求中任一项所述的方法,其中,选择所述多个图像的子集包括选择与任何其他图像共享多于特征下阈值并且与任何其他图像共享小于特征上阈值的图像。
7.根据前述权利要求中任一项所述的方法,还包括接收所述多个图像的估计姿态,并且基于所述估计姿态生成所述第一3D模型和所述第二3D模型中的至少一个。
8.根据前述权利要求中任一项所述的方法,还包括使用所述第一3D模型构建算法生成所述多个图像的姿态估计,并且使用所生成的姿态估计来构建所述第二3D模型。
9.根据前述权利要求中任一项所述的方法,其中,所述第一3D模型构建算法是运动结构(SfM)算法,并且所述第二3D模型构建算法是神经辐射场(NeRF)算法。
10.根据前述权利要求中任一项所述的方法,其中,通过渲染来自所述场景的所述第一3D模型和所述第二3D模型中的每一个的二维视图,并将所述二维视图与所述多个图像中的未用于生成所述场景的所述第一3D模型和所述第二3D模型的至少一个图像进行比较,来计算所述误差。
11.根据前述权利要求中任一项所述的方法,其中,所述第一3D模型构建算法是SfM模型,选择所述场景的所述第一3D模型,并且该方法还包括压缩所述场景的所述第一3D模型。
12.根据权利要求11所述的方法,包括使用NeRF算法来压缩所述场景的所述第一3D模型。
13.一种系统,包括通信地耦合到多个无人机的基站,所述基站包括一个或多个处理器、存储器、以及存储在所述存储器中的一个或多个程序,所述一个或多个程序用于由所述一个或多个处理器执行以实施权利要求1-12中任一项所述的方法。
14.一种非暂时性计算机可读介质,包括指令,当所述指令由计算系统的一个或多个处理器执行时,使得所述计算系统实施权利要求1-12中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163209392P | 2021-06-11 | 2021-06-11 | |
US63/209,392 | 2021-06-11 | ||
PCT/US2022/072886 WO2022261675A1 (en) | 2021-06-11 | 2022-06-10 | Systems and methods for generating 3d models from drone imaging |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117769639A true CN117769639A (zh) | 2024-03-26 |
Family
ID=84390158
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280053904.3A Pending CN117858834A (zh) | 2021-06-11 | 2022-06-10 | 用于基于3d模型的无人机飞行规划和控制的系统和方法 |
CN202280054576.9A Pending CN117859074A (zh) | 2021-06-11 | 2022-06-10 | 用于无人机机群无线通信的系统和方法 |
CN202280053391.6A Pending CN117769639A (zh) | 2021-06-11 | 2022-06-10 | 用于从无人机成像生成3d模型的系统和方法 |
CN202280054155.6A Pending CN117795447A (zh) | 2021-06-11 | 2022-06-10 | 用于配置无人机机群的系统和方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280053904.3A Pending CN117858834A (zh) | 2021-06-11 | 2022-06-10 | 用于基于3d模型的无人机飞行规划和控制的系统和方法 |
CN202280054576.9A Pending CN117859074A (zh) | 2021-06-11 | 2022-06-10 | 用于无人机机群无线通信的系统和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280054155.6A Pending CN117795447A (zh) | 2021-06-11 | 2022-06-10 | 用于配置无人机机群的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (4) | US20220397917A1 (zh) |
EP (4) | EP4352586A1 (zh) |
CN (4) | CN117858834A (zh) |
WO (4) | WO2022261678A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2608282B (en) * | 2017-08-15 | 2023-04-19 | Ottenheimers Inc | Remote object capture |
EP3695355A1 (en) * | 2017-10-13 | 2020-08-19 | Bayer CropScience LP | Individualized and customized plant management using autonomous swarming drones and artificial intelligence |
US11720849B2 (en) * | 2018-11-15 | 2023-08-08 | Corverity Corporation | Method and system for managing navigational data for autonomous vehicles |
EP3690383A1 (fr) * | 2019-02-04 | 2020-08-05 | CMI Defence S.A. | Section operationnelle de vehicules blindes communiquant avec une flottille de drones |
JP7167341B2 (ja) * | 2019-06-27 | 2022-11-08 | 株式会社Nttドコモ | 情報処理装置 |
EP3883273A1 (en) * | 2020-03-20 | 2021-09-22 | Volkswagen Ag | Method, apparatus and computer program for predicting a future quality of service of a wireless communication link |
US11368991B2 (en) | 2020-06-16 | 2022-06-21 | At&T Intellectual Property I, L.P. | Facilitation of prioritization of accessibility of media |
US11411757B2 (en) | 2020-06-26 | 2022-08-09 | At&T Intellectual Property I, L.P. | Facilitation of predictive assisted access to content |
US11184517B1 (en) * | 2020-06-26 | 2021-11-23 | At&T Intellectual Property I, L.P. | Facilitation of collaborative camera field of view mapping |
US11356349B2 (en) | 2020-07-17 | 2022-06-07 | At&T Intellectual Property I, L.P. | Adaptive resource allocation to facilitate device mobility and management of uncertainty in communications |
US11768082B2 (en) | 2020-07-20 | 2023-09-26 | At&T Intellectual Property I, L.P. | Facilitation of predictive simulation of planned environment |
US20220194578A1 (en) * | 2020-12-23 | 2022-06-23 | Osmose Utilities Services, Inc. | Systems and methods for inspecting structures with an unmanned aerial vehicle |
US11594138B1 (en) * | 2021-08-19 | 2023-02-28 | Beta Air, Llc | Systems and methods for optimizing a controlled flight plan |
US20230073587A1 (en) * | 2021-09-09 | 2023-03-09 | The Boeing Company | Automated volumetric image capture of an object to support general visual inspection |
US20230217260A1 (en) * | 2021-12-30 | 2023-07-06 | ITRA Wireless Ai, LLC | Intelligent wireless network design system |
US11994409B2 (en) * | 2022-03-07 | 2024-05-28 | The Boeing Company | Enriched aviation information notice |
DE102022123577A1 (de) | 2022-09-15 | 2024-03-21 | Dr. Ing. H.C. F. Porsche Aktiengesellschaft | Verfahren zum Simulieren von Echosignalen einer mittels eines auf elektromagnetischen Strahlen basierenden Messsystems abgetasteten Szene |
US11985186B1 (en) * | 2023-02-10 | 2024-05-14 | Nanjing University Of Posts And Telecommunications | Method of drone-assisted caching in in-vehicle network based on geographic location |
CN115856985B (zh) * | 2023-02-27 | 2023-05-12 | 西南科技大学 | 一种大气放射性污染的无人机协同监测方法 |
CN116448120B (zh) * | 2023-04-20 | 2023-10-31 | 广州天勤数字科技有限公司 | 一种基于物联网的无人机起降导航系统及方法 |
IL302627B2 (en) * | 2023-05-03 | 2024-05-01 | Navigate Ltd | Real-time management and autonomous management of a swarm |
CN116520889B (zh) * | 2023-07-03 | 2023-10-17 | 西安羚控电子科技有限公司 | 一种无人机集群的任务规划方法 |
CN116580444A (zh) * | 2023-07-14 | 2023-08-11 | 广州思林杰科技股份有限公司 | 基于多天线射频识别技术的长跑计时的测试方法和设备 |
DE102023003670A1 (de) | 2023-09-09 | 2023-11-02 | Mercedes-Benz Group AG | Verfahren zum Betrieb von Fahrzeugen und Verfahren zum Trainieren eines NeRF-Modells |
CN117170982B (zh) * | 2023-11-02 | 2024-02-13 | 建信金融科技有限责任公司 | 人机检测方法、装置、电子设备和计算机可读介质 |
CN117606489B (zh) * | 2024-01-22 | 2024-05-28 | 华南农业大学 | 无人机飞行勘测方法、设备及介质 |
CN117939504B (zh) * | 2024-03-21 | 2024-05-28 | 深圳市兴恺科技有限公司 | 基于干扰感知的自组网抗干扰方法及相关装置 |
CN117944914A (zh) * | 2024-03-27 | 2024-04-30 | 威泊(上海)新能源科技股份有限公司 | 遂行无人机空中充电设备及其充电方法 |
CN118012838A (zh) * | 2024-04-10 | 2024-05-10 | 成都纺织高等专科学校 | 一种面向无人机机载雷达信号的数据同步方法和系统 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10518411B2 (en) * | 2016-05-13 | 2019-12-31 | General Electric Company | Robotic repair or maintenance of an asset |
US10633093B2 (en) * | 2017-05-05 | 2020-04-28 | General Electric Company | Three-dimensional robotic inspection system |
US9070101B2 (en) * | 2007-01-12 | 2015-06-30 | Fatdoor, Inc. | Peer-to-peer neighborhood delivery multi-copter and method |
US8941644B2 (en) * | 2011-06-14 | 2015-01-27 | Microsoft Corporation | Computing three-dimensional image models in parallel |
EP2538388B1 (en) * | 2011-06-20 | 2015-04-01 | Alcatel Lucent | Method and arrangement for image model construction |
US9153061B2 (en) * | 2012-05-04 | 2015-10-06 | Qualcomm Incorporated | Segmentation of 3D point clouds for dense 3D modeling |
WO2014110502A1 (en) * | 2013-01-11 | 2014-07-17 | The Regents Of The University Of Michigan | Monitoring proximity of objects at construction jobsites via three-dimensional virtuality in real-time |
US10332405B2 (en) * | 2013-12-19 | 2019-06-25 | The United States Of America As Represented By The Administrator Of Nasa | Unmanned aircraft systems traffic management |
US9646502B1 (en) * | 2015-02-27 | 2017-05-09 | Amazon Technologies, Inc. | Universal unmanned aerial vehicle identification system |
WO2016179637A1 (en) * | 2015-05-12 | 2016-11-17 | Precision Autonomy Pty Ltd | Systems and methods of unmanned vehicle control and monitoring |
US10475234B2 (en) * | 2015-07-15 | 2019-11-12 | George Mason University | Multi-stage method of generating 3D civil site surveys |
US10186024B2 (en) * | 2015-12-29 | 2019-01-22 | Texas Instruments Incorporated | Method and system for real time structure from motion in a computer vision system |
US9944390B2 (en) * | 2016-02-29 | 2018-04-17 | Intel Corporation | Technologies for managing data center assets using unmanned aerial vehicles |
US9975632B2 (en) * | 2016-04-08 | 2018-05-22 | Drona, LLC | Aerial vehicle system |
US11242143B2 (en) * | 2016-06-13 | 2022-02-08 | Skydio, Inc. | Unmanned aerial vehicle beyond visual line of sight control |
US11203425B2 (en) * | 2016-06-30 | 2021-12-21 | Skydio, Inc. | Unmanned aerial vehicle inspection system |
US10664791B2 (en) * | 2016-09-28 | 2020-05-26 | Federal Express Corporation | Systems and methods for monitoring the internal storage contents of a shipment storage using one or more internal monitor drones |
US10074160B2 (en) * | 2016-09-30 | 2018-09-11 | Disney Enterprises, Inc. | Point cloud noise and outlier removal for image-based 3D reconstruction |
US10324462B2 (en) * | 2016-12-30 | 2019-06-18 | Intel Corporation | Drone swarm for increased cargo capacity |
US10186049B1 (en) * | 2017-03-06 | 2019-01-22 | URC Ventures, Inc. | Determining changes in object structure over time using mobile device images |
US11279481B2 (en) * | 2017-05-12 | 2022-03-22 | Phirst Technologies, Llc | Systems and methods for tracking, evaluating and determining a response to emergency situations using unmanned airborne vehicles |
US10607406B2 (en) * | 2018-01-25 | 2020-03-31 | General Electric Company | Automated and adaptive three-dimensional robotic site surveying |
US11429101B2 (en) * | 2018-04-19 | 2022-08-30 | Aurora Flight Sciences Corporation | Adaptive autonomy system architecture |
US11182954B2 (en) * | 2018-09-07 | 2021-11-23 | Hivemapper Inc. | Generating three-dimensional geo-registered maps from image data |
US10957062B2 (en) * | 2018-10-31 | 2021-03-23 | Bentley Systems, Incorporated | Structure depth-aware weighting in bundle adjustment |
US11150646B2 (en) * | 2019-01-22 | 2021-10-19 | Here Global B.V. | Delivery with swarming aerial vehicles |
US20200305847A1 (en) * | 2019-03-28 | 2020-10-01 | Fei-Kai Syu | Method and system thereof for reconstructing trachea model using computer-vision and deep-learning techniques |
US10860115B1 (en) * | 2019-09-19 | 2020-12-08 | Bao Tran | Air transportation systems and methods |
US11703864B2 (en) * | 2020-02-13 | 2023-07-18 | Skydio, Inc. | Scanning structures via unmanned aerial vehicles |
CN111970709B (zh) * | 2020-07-10 | 2022-09-16 | 西北农林科技大学 | 一种基于粒子群优化算法的无人机中继部署方法及系统 |
US20220114740A1 (en) * | 2020-10-09 | 2022-04-14 | Sony Group Corporation | Camera motion information based three-dimensional (3d) reconstruction |
CN117413300A (zh) * | 2021-03-26 | 2024-01-16 | 上海科技大学 | 用于训练量化神经辐射场的方法和系统 |
-
2022
- 2022-06-10 CN CN202280053904.3A patent/CN117858834A/zh active Pending
- 2022-06-10 EP EP22821272.6A patent/EP4352586A1/en active Pending
- 2022-06-10 US US17/838,073 patent/US20220397917A1/en active Pending
- 2022-06-10 CN CN202280054576.9A patent/CN117859074A/zh active Pending
- 2022-06-10 EP EP22821268.4A patent/EP4351968A1/en active Pending
- 2022-06-10 CN CN202280053391.6A patent/CN117769639A/zh active Pending
- 2022-06-10 US US17/838,075 patent/US20220399936A1/en active Pending
- 2022-06-10 EP EP22821270.0A patent/EP4352540A1/en active Pending
- 2022-06-10 WO PCT/US2022/072890 patent/WO2022261678A1/en active Application Filing
- 2022-06-10 US US17/838,134 patent/US20230177968A1/en active Pending
- 2022-06-10 CN CN202280054155.6A patent/CN117795447A/zh active Pending
- 2022-06-10 US US17/838,082 patent/US20220398806A1/en active Pending
- 2022-06-10 WO PCT/US2022/072887 patent/WO2022261676A1/en active Application Filing
- 2022-06-10 EP EP22821269.2A patent/EP4352455A1/en active Pending
- 2022-06-10 WO PCT/US2022/072886 patent/WO2022261675A1/en active Application Filing
- 2022-06-10 WO PCT/US2022/072885 patent/WO2022261674A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN117795447A (zh) | 2024-03-29 |
EP4352586A1 (en) | 2024-04-17 |
WO2022261676A1 (en) | 2022-12-15 |
US20230177968A1 (en) | 2023-06-08 |
US20220398806A1 (en) | 2022-12-15 |
EP4351968A1 (en) | 2024-04-17 |
WO2022261675A1 (en) | 2022-12-15 |
CN117858834A (zh) | 2024-04-09 |
WO2022261678A1 (en) | 2022-12-15 |
EP4352455A1 (en) | 2024-04-17 |
US20220399936A1 (en) | 2022-12-15 |
CN117859074A (zh) | 2024-04-09 |
WO2022261674A1 (en) | 2022-12-15 |
US20220397917A1 (en) | 2022-12-15 |
EP4352540A1 (en) | 2024-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220398806A1 (en) | Systems and methods for generating 3d models from drone imaging | |
US10989542B2 (en) | Aligning measured signal data with slam localization data and uses thereof | |
US11698449B2 (en) | User interface for displaying point clouds generated by a LiDAR device on a UAV | |
Xu et al. | Omni-swarm: A decentralized omnidirectional visual–inertial–uwb state estimation system for aerial swarms | |
Nuske et al. | Autonomous exploration and motion planning for an unmanned aerial vehicle navigating rivers | |
JP2019532433A (ja) | リアルタイムオンラインエゴモーション推定を有するレーザスキャナ | |
WO2019018315A1 (en) | ALIGNMENT OF MEASURED SIGNAL DATA WITH SLAM LOCATION DATA AND ASSOCIATED USES | |
Lin et al. | Capturing, reconstructing, and simulating: the urbanscene3d dataset | |
CN112789672B (zh) | 控制和导航系统、姿态优化、映射和定位技术 | |
WO2020088414A1 (en) | A movable object performing real-time mapping using a payload assembly | |
Kung et al. | The fast flight trajectory verification algorithm for Drone Dance System | |
CN115115785A (zh) | 面向野外山林环境搜救的多机协同三维建模系统及方法 | |
Bailey | Unmanned aerial vehicle path planning and image processing for orthoimagery and digital surface model generation | |
JP2023164746A (ja) | 作業計画生成システム | |
Salhi et al. | Multimodal Localization for Embedded Systems: A Survey | |
Meier | Dynamic Robot Architecture for Robust Realtime Computer Vision | |
Nyholm | Globally consistent map generation in GPS-degraded environments | |
Darling | Autonomous close formation flight of small UAVs using vision-based localization | |
Sokolov et al. | Architecture of vision systems with several fields of view as a part of information support of mobile systems | |
Poornima et al. | Analysis of Geospatial Data Collected by Drones as Part of Aerial Computing | |
Ahmad et al. | AeroTraj: Trajectory Planning for Fast, and Accurate 3D Reconstruction Using a Drone-based LiDAR | |
Colomé Sanz | Autonomous detection of high-voltage towers employing unmanned aerial vehicles | |
Du et al. | Design and implementation of UAV special flight task algorithm | |
Al-Janabi et al. | An alternative technique to reduce time, cost and human effort during natural or manufactured disasters | |
Rathore | Quality Analysis of UAV Based 3E Reconstruction and Its Applications in Path Planning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |