本申請要求2014年6月25日提交的、題為“OBJECT AVOIDANCE FOR AUTOMATED AERIAL VEHICLES”的美國申請號14/315,213的優先權,所述申請以全文引用方式并入本文中。
背景技術:
自動移動交通工具(諸如基于空中的、地面的和水的自動交通工具)的使用繼續增加。例如,無人空中交通工具(UAV)經常用于監視。同樣地,移動驅動單元(諸如由Kiva Systems公司提供的那些)經常在材料處置設施中使用以在所述設施內自主地輸送庫存。在這些交通工具存在許多有益用途的同時,它們也具有許多缺點。例如,UAV需要人的參與來確保交通工具不會與其他UAV或其他對象碰撞。
附圖說明
詳細說明參照附圖來描述。在圖中,參考數字中最左側的數字標識首次出現該參考數字的圖。在不同的圖中使用的相同參考數字指示類似或相同的部件或特征。
圖1描繪根據實現方式的自動空中交通工具的自頂向下視圖的框圖。
圖2A–圖2C描繪根據實現方式的圖1示出的自動空中交通工具的電機組件的框圖。
圖3A–圖3C描繪根據實現方式的圖1示出的自動空中交通工具的電機組件的框圖。
圖4描繪根據實現方式的圖1示出的自動空中交通工具的電機組件的框圖。
圖5描繪根據實現方式的自動空中交通工具的側視圖的框圖。
圖6描繪根據實現方式的自動空中交通工具的側視圖的框圖。
圖7描繪根據實現方式的自動空中交通工具環境的圖。
圖8是根據實現方式的示出示例性對象規避過程的流程圖。
圖9描繪根據實現方式的用于確定退避矢量和防御方向并且生成規避策略的框圖。
圖10是根據實現方式示出另一個示例性對象規避過程的流程圖。
圖11是根據實現方式的示出自動空中交通工具控制系統的各種部件的框圖。
圖12是可與各種實現方式一起使用的服務器系統的說明性實現方式的框圖。
雖然在本文中通過舉例來描述了多種實現方式,但是本領域的技術人員將認識到,所述實現方式不限于所描述的實例或附圖。應當理解,附圖和隨之的詳細描述并不意圖將實現方式限制為所公開的具體形式,而正相反,本發明意圖是覆蓋屬于由所附權利要求書限定的精神和范圍內的所有修改、等效物和替代方案。本文中使用的標題僅用于組織目的,并且并不意圖用于限制描述或權利要求書的范圍。貫穿本申請所使用的詞語“可以”是在許可的意義上(即意指具有可能性)、而非強制的意義上(即意指必須)使用。類似地,詞語“包括(include/including/includes)”意味著包括但不限于。
具體實施方式
本公開描繪自動空中交通工具(“AAV”)和用于自動地感測和規避對象的系統。如下文進一步詳細所論述,在一些實現方式中,AAV可包括安裝在AAV上各種位置處的多個測距儀,所述測距儀可用來確定處于對象與AAV之間的距離(d)、對象相對于AAV的方向和/或對象相對于AAV的速度。基于所確定的對象方向、對象相對于AAV的速度和對象相對于AAV的距離中的一個或多個,可確定規避策略。所述規避策略可以是導航AAV以規避對象所具有的確定的方向和速度。
不是嘗試確定AAV的周圍環境、識別對象和/或確定對象的意圖,而是規避策略可由AAV快速地確定并且用來規避對象。例如,可確定表示對象相對于AAV的方向和距離的對象矢量。基于確定的對象矢量,可確定AAV的對應的退避矢量。例如,可基于推進函數f(d)(諸如f(d)=1/d)和所檢測到的對象的對象矢量來確定退避矢量。
除確定退避矢量之外,可確定防御方向和/或防御矢量。例如,不同于對象移動方向的方向可被隨機地選擇并且用作防御方向。如下文所述,可用防御方向的隨機選擇可能是重要的,使得試圖與AAV碰撞的惡意對象不能知道和預測AAV的規避策略。
基于退避矢量和防御方向,可生成規避策略。例如,規避策略可以是退避矢量和防御矢量的和。在另一個實例中,規避策略可以是在防御方向上定向的退避矢量。然后可根據規避策略導航AAV以規避與所檢測到的對象接觸。
在一些實現方式中,可確定AAV的位置和/或對象的類型并且可基于所述AAV的位置和/或所述對象的類型來識別一組優選防御對象。例如,如果其他AAV先前已經導航通過同一區域并且一些AAV已經遭遇過對象并且實現規避策略來規避對象,那么那些AAV可向AAV管理系統提供規避信息。所述規避信息例如可包括AAV的位置、對象類型、對象矢量、對象速度、所利用的防御方向、所執行的規避策略、所利用的防御矢量、是否規避成功等。
當收集針對區域和/或對象類型的規避信息時,可以確定一些規避策略和/或防御方向比其他規避策略和/或防御方向更加成功并且可確定所述區域和/或對象類型的一組優選防御方向。當AAV遭遇具有優選防御方向的區域或對象類型時,可從所述組優選防御方向選擇可用防御方向。可隨機地執行從優選防御方向選擇防御方向。同樣地,如果檢測對象是另一個AAV,那么優選防御方向可對應于導航AAV以規避碰撞的限定方向。
在其他實現方式中,AAV可檢測距AAV一定距離內的多個對象并且基于所檢測的多個對象中的每一個來確定規避策略。例如,如果檢測到兩個對象,那么可基于針對所述兩個檢測對象中的每一個的對象矢量的組合來確定AAV的退避矢量。在一個實現方式中,退避矢量可以是所述兩個對象矢量的和。同樣地,可基于所述兩個對象相對于AAV的方向來確定防御方向。例如,可確定包括對象和AAV兩者的平面并且可用防御方向可以是并不位于沿所確定平面的表面的那些方向。例如,防御方向可以是垂直于所述平面、與所述平面成四十五度角等的方向。
繼續檢測兩個對象的實例,可組合退避矢量和防御方向來生成導航AAV以規避與兩個對象接觸所遵循的規避策略。
在一些實現方式中,AAV將與區域中的其他AAV通信以提供和/或接收信息,諸如AAV標識、當前位置、高度、規避信息、速度等。例如,AAV可被配置來支持廣播式自動相關監視(ADS-B)并且同時接收和/或傳輸標識、當前位置、高度和速度信息。可將此信息存儲在中心位置中和/或在附近的AAV、材料處置設施、中繼位置、AAV管理系統和/或位置之間動態地共享。例如,其他AAV可提供ADS-B信息和/或關于天氣(例如,風、雪、雨)、著陸條件、交通、對象等的另外的信息。接收的AAV可利用此信息來規劃從源位置到目的地位置的路線/飛行路徑,和/或修改實際的導航路線。
雖然本文所述的實例主要集中于利用多個螺旋槳(例如,四旋翼或八旋翼)來實現飛行的呈空中交通工具形式的AAV,但是應理解,本文所述的實現方式可與其他形式的AAV一起使用。
如本文所用,“材料處置設施”可包括但不限于倉庫、配送中心、交叉對接設施、訂單履行設施、包裝設施、運輸設施、租借設施、圖書館、零售商店、批發商店、博物館或用于執行材料(庫存)處置的一個或多個職能的其他設施或設施組合。如本文所使用的“遞送位置”指的是可遞送一個或多個庫存物品所在的任何位置。例如,遞送位置可以是個人住所、商業區、材料處置設施(例如,包裝站、庫存儲庫)內的位置、用戶或庫存所位于的任何位置等。庫存或物品可以是可使用AAV輸送的任何實物。
如本文使用的“中繼位置”可包括但不限于遞送位置、材料處置設施、蜂窩塔、建筑物的屋頂、遞送位置或AAV可著陸、充電、檢索庫存、替換電池和/或接收服務的任何其他位置。
圖1示出根據實現方式的AAV 100的自頂向下視圖的框圖。如所示,AAV 100包括圍繞AAV的框架104隔開的八個螺旋槳102-1、102-2、102-3、102-4、102-5、102-6、102-7、102-8。螺旋槳102可以是任何形式的螺旋槳(例如石墨、碳纖維)并且具有足以舉起AAV 100和由AAV 100接合的任何庫存的大小,以便AAV 100可例如穿過空氣導航來將庫存物品遞送至某一位置。雖然這個實例包括八個螺旋槳,但是在其他實現方式中,可利用更多或更少的螺旋槳。同樣地,在一些實現方式中,可將螺旋槳定位在AAV 100上的不同位置處。此外,可利用替代的推進方法。例如,可使用風扇、噴氣機、渦輪噴氣發動機、渦輪風扇、噴氣式發動機等來推進AAV。
AAV 100的框架104或主體同樣地可以是諸如石墨、碳纖維和/或鋁的任何合適的材料。在這個實例中,AAV 100的框架104包括四個剛性構件105-1、105-2、105-3、105-4,或具有按大致垂直的角度交叉和聯接的剛性構件以散列圖案布置的梁。在這個實例中,剛性構件105-1和105-3互相平行布置,并且大致為相同長度。剛性構件105-2和105-4互相平行布置,又垂直于剛性構件105-1和105-3。剛性構件105-2和105-4大致為相同長度。在一些實施方案中,所有剛性構件105都可大致為相同長度,但在其他實現方式中,一些或所有剛性構件可以是不同長度。同樣地,兩組剛性構件之間的間距大致可以是相同的或不同的。
雖然圖1中示出的實現方式包括聯接以形成框架104的四個剛性構件105,但是在其他實現方式中,框架104可具有更少或更多的部件。例如,在其他實現方式中,可將AMV 100的框架104配置成包括六個剛性構件,而不是四個剛性構件。在此類實例中,可將剛性構件中的兩個105-2、105-4互相平行定位。可將剛性構件105-1、105-3和剛性構件任一側上的兩個另外的剛性構件105-1、105-3全都互相平行地定位并且垂直于剛性構件105-2、105-4。利用另外的剛性構件,框架104可形成所有四邊上具有剛性構件的另外的腔體。如下文進一步所述,框架104內的腔體可被配置成包括庫存接合機構以便進行接合、輸送和遞送物品和/或包含物品的容器。
在一些實現方式中,可按空氣動力學配置AAV。例如,可在包封AAV控制系統110、剛性構件105中的一個或多個、框架104和/或AAV 100的其他部件的AAV上包括空氣動力外殼。所述外殼可由任何合適材料(諸如石墨、碳纖維、鋁等)制成。同樣地,在一些實現方式中,庫存(例如,物品或容器)的位置和/或形狀可被空氣動力學地設計。例如,在一些實現方式中,庫存接合機構可被配置成使得當庫存被接合時,所述庫存被包封在AAV 100的框架和/或外殼內,使得在由AAV 100輸送所述庫存期間沒有另外的拖曳產生。在其他實現方式中,庫存可被定形來減少拖曳并且向AAV和庫存提供更多的空氣動力學設計。例如,如果庫存是容器并且當所述容器的一部分接合時在AAV以下延伸,那么容器的暴露的部分可具有彎曲形狀。
螺旋槳102和對應的螺旋槳電機定位在每個剛性構件105的兩端。螺旋槳電機可以是能夠利用螺旋槳生成足夠速度以舉起AAV 100和任何接合的庫存從而能夠進行空中運輸庫存的任何形式的電機。例如,螺旋槳電機可以每個是FX-4006-13740kv多轉子電機。可與各種實現方式一起使用的電機配置的示例性實現方式在下文相對于圖2A–圖2C、圖3A–圖3C和圖4進一步詳細描述。
從每個剛性構件向外延伸的是連接到安全屏障108的支撐臂106。在這個實例中,安全屏障按此下方式定位在AAV 100的周圍并且附接到所述AAV 100:電機和螺旋槳102在安全屏障108的周界內。安全屏障可以是塑料的、橡膠等。同樣地,取決于支撐臂106的長度和/或剛性構件105的長度、數量或定位,安全屏障可以是圓形、橢圓形或任何其他形狀。
安裝到框架104的是AAV控制系統110。在這個實例中,AAV控制系統110被安裝在框架104的中間和頂部。如下文關于圖11進一步所述,AAV控制系統110控制AAV 100的操作、路徑選擇、導航、通信、對象感測和規避以及庫存接合機構。
同樣地,AAV 100包括一個或多個電源模塊112。在這個實例中,AAV 100包括可移除地安裝到框架104的兩個電源模塊112。用于AAV的電源模塊可以呈以下形式:電池電源、太陽能、天然氣能、超級電容器、燃料電池、替代發電源或它們的組合。例如,電源模塊112各自可以是6000mAh的鋰離子聚合物電池、聚合物鋰離子(Li-poly、Li-Pol、LiPo、LIP、PLI或Lip)電池。電源模塊112耦接到AAV控制系統110和螺旋槳電機并且為它們提供電能。
在一些實現方式中,可將一個或多個電源模塊配置成使得當AAV在著陸時,可自動地將其移除和/或用另一個電源模塊將其替代。例如,當AAV在遞送位置、中繼位置和/或材料處置設施處著陸時,AAV可與將再次為電源模塊充電的位置處的充電構件接合。
如上文所提及,AAV 100還可包括庫存接合機構114。所述庫存接合機構可被配置來接合和脫離物品和/或容納物品的容器。在這個實例中,庫存接合機構114定位在框架104的由剛性構件105的交叉部分形成的腔體內。庫存接合機構可定位在AAV控制系統110的下方。在具有另外的剛性構件的實現方式中,AAV可包括另外的庫存接合機構和/或庫存接合機構114可定位在框架104內的不同腔體中。庫存接合機構可具有足以安全地接合和脫離包含庫存的容器的任意大小。在其他實現方式中,接合機構可作為包含將要遞送的庫存物品的容器進行操作。庫存接合機構(通過有線通信或無線通信)與AAV控制系統110通信并且由AAV控制系統110控制。
雖然本文論述的AAV的實現方式利用螺旋槳來實現并保持飛行,但在其他實現方式中,可按其他方式配置AAV。例如,AAV可包括固定翼和/或螺旋槳和固定翼二者的組合。例如,AAV可利用一個或多個螺旋槳來使得可起飛和降落,以及當AAV在空中時,利用固定翼配置或翼與螺旋槳配置的組合來維持飛行。
圖2A–圖2C描繪根據實現方式的圖1示出的AAV 100的電機組件的框圖。圖2A–圖2B示出內轉無刷電機的框圖的部件。圖2C是外轉無刷電機的框圖。如本領域中所知,轉子是安裝到旋轉的驅動器或臂的一組磁體。對于內轉無刷電機(諸如圖2A–圖2B示出),轉子200安裝到驅動器或臂202并且定位在定子210(圖2B)內側。為了進行比較,對于外轉無刷電機230,電機230的外部部分(圖2C)是繞內部部分或定子旋轉的轉子。在任一種配置中,驅動器或臂202安裝到轉子并且繞轉子旋轉。
轉子通常具有四個或更多個磁極。定子(也稱為電樞)包括電磁組件。在定子繞轉子定位的配置中(圖2A–圖2B),定子210具有外部表面212和容納電磁組件的內部表面214。通常,定子210、外部表面212和內部表面214以圓柱形方式配置(如圖2B所示)并且形成轉子200置于其中的腔體。
返回圖2A,對于轉子定位在定子210的腔體內的內轉無刷電機,一個或多個距離確定元件204耦接到轉子200,使得所述距離確定元件204隨轉子200旋轉而旋轉。例如,所述距離確定元件可耦接到形成轉子的磁體和/或可耦接到驅動器202。在這個實例中,兩個距離確定元件204-1、204-2耦接到轉子200的相對端并且在相對方向上定向。通過在轉子200的相對端處并入距離確定元件對,轉子的旋轉平衡得到維持。如果在電機周圍存在保護外殼,那么一個或多個開口也可包括在外殼中,使得距離確定元件可通過開口進行傳輸。
距離確定元件204可以是可用來測量對象與距離確定元件之間的距離的任何形式的裝置。例如,距離確定元件204可以是超聲波測距模塊、激光測距儀、雷達距離測量模塊、基于視距的測距儀、基于視差的測距儀、基于重合的測距儀、基于激光雷達的測距儀、基于聲納的測距儀或基于飛行時間的測距儀中的任意一種。在一些實現方式中,可在AAV上利用不同的距離確定元件。例如,距離確定元件204-1可以是激光測距儀并且距離確定元件204-2可以是雷達距離測量模塊。
現轉向圖2B,示出的是定子210或內轉無刷電機的外部部分。定子210可包括一個或多個開口216,所述開口216延伸通過定子210的內部表面214和外部表面212,在當轉子200定位在定子210的腔體內時,在接近于距離確定元件將位于的位置處。開口216定位成使得當轉子200旋轉并且距離確定元件例如發射激光信號時,所投射的激光信號將通過開口216中的一個。在這個實例中,在定子210中存在兩組開口,一組在接近于距離確定元件204-1將位于的位置處繞定子210的上部部分延伸,并且第二組在接近于距離確定元件204-2將位于的位置處繞定子210的下部部分延伸。當轉子200定位在定子210內時,距離確定元件接近于開口216使得當距離確定元件例如發射激光信號時,所述激光信號將通過所述開口。如果對象存在,那么所投射的激光信號將反射離開對象并且通過開口進入電機并且由距離確定元件204接收。因為可基于飛行時間(“ToF”)確定距離測量值,即便轉子并且因此距離確定元件正在旋轉,所以發射的激光信號將通過所述同一開口并且通過所述開口返回,并且可用來確定到激光信號反射離開的對象的距離。所述開口可以是任意大小和/或形狀。同樣地,在電機繞電機周界具有保護外殼的實現方式中,保護外殼可包括定位成使得距離確定元件可通過所述開口投射的一個或多個開口。
雖然上述實例示出內轉無刷電機,但是在其他實現方式中,所述電機可被配置為有刷電機(未示出)。如本領域中所知,與無刷電機相對照,對于有刷電機,電磁線圈位于相對于包括永磁體的靜止定子旋轉的轉子上。在典型的有刷電機中,電刷或其他接觸元件與轉子接合以向電磁線圈提供能量。無論電機配置如何,距離確定元件可安裝到內部旋轉件(圖2A)并且被配置來通過外部靜止件投射。可替代地,距離確定元件可耦接到外部旋轉件(圖2C)并且向外投射。
返回圖2C,對于轉子220繞定子224定位并且定位在定子224的外側(即,定子定位在轉子腔體內)的外轉無刷電機230,一個或多個距離確定元件204耦接到轉子220或驅動器或臂202,使得所述距離確定元件204隨轉子220旋轉而旋轉。在這個實例中,兩個距離確定元件204-1、204-2耦接到驅動器202并且在相對方向上定向。通過并入距離確定元件對,轉子的旋轉平衡得到維持。如果在電機周圍存在保護外殼,那么所述距離確定元件可定位在外殼上方和外側,或一個或多個開口可包括在外殼中,使得距離確定元件可通過開口進行傳輸。
在一些實現方式中,電機可包括電子速度控制(ESC)電路222,所述電子速度控制(ESC)電路222可保持追蹤轉子200的位置,因此它可控制定子的電磁。這可例如使用磁性傳感器(基于霍耳效應)或使用所謂的“無傳感器”技術來完成。大致地說,使用無傳感器技術,轉子的位置通過監測電機電源線(未示出)的由轉子的自旋磁體引起的波動來確定。其他技術也可用于確定轉子的位置。例如,可在確定位置處在轉子、驅動器202和/或螺旋槳上包括標記或其他標識符。傳感器可用來檢測標記的位置并且每次標記經過傳感器,就知道轉子以及因此距離確定元件的位置。在一些實現方式中,轉子的位置不可被確定和/或僅可被定期地確定。例如,轉子的位置不可被監測,除非檢測到對象。當檢測到對象時,可確定轉子的位置來確定AAV相對于對象的位置。
通過將距離確定元件在已知的位置處安裝到轉子或驅動器上并且監測轉子或驅動器的位置,可維持從距離確定元件例如發射激光信號的定時,使得當距離確定元件被定向成使得所發射的激光信號將通過開口投射時,才發射激光信號。通過為所述發射定時使得它們通過定子和/或保護外殼中的開口,可檢測到與繞電機成260度的平面相交的對象并且可確定在所檢測到的對象與電機之間的距離。同樣通過知道距離確定元件的位置,發射方向也被知道。當檢測到對象時,到對象的距離得以確定并且基于距離確定元件的位置,對象相對于AAV的方向也被確定。
圖3A–圖3C描繪根據實現方式的圖1示出的自動空中交通工具的另一個電機組件的框圖。相對于圖3A–圖3C所論述的實例與外轉無刷電機有關。然而,類似于相對于圖2A–圖2C的論述,任意類型的電機可與本文所述的實現方式一起利用。
首先轉向圖3A,定子300可包括安裝到定子300的外部的多個反射表面306。反射表面306可具有相同和/或不同大小,相同和/或不同形狀,相同和/或不同顏色等。同樣地,相對于定子300的定向和角度也可以相同和/或不同。例如,反射表面306可安裝成相對于定子300成不同角度,使得例如所發射激光信號的入射角度不是90度并且因此反射角度導致激光信號反射離開發射激光信號的距離確定元件,如圖3C所示出。反射表面可以是任意形式的反射表面,諸如鏡子或其他金屬表面。在圖3A示出的實例中,反射表面306全部是正方形形狀。然而,如應理解,在其他實現方式中,形狀可發生變化。例如,反射表面可以是正方形、矩形、橢圓形、圓形等。
在其他實現方式中,不是在定子300上使用多個反射表面,而是定子300可完全用覆蓋定子300的大多數表面的單一反射表面(未示出)覆蓋。在這種實現方式中,單一反射表面可具有不同角度的變化的面,或可繞定子300具有均勻角度。在其他情況下,距離確定元件(在下文相對于圖3B所論述)可相對于定子300和/或反射表面定位成除90度之外的角度。
如圖3B中所示,轉子310或電機的外部部分可包括延伸通過轉子310的內部表面314和外部表面312的多個開口,使得發射的激光信號可通過開口316進行投射,反射離開對象并且通過開口316返回。沿轉子310延伸開口減少了電機的重量并且允許反射的激光信號在反射離開安裝到定子300的反射表面306時以各種角度投射。
除所述開口之外,當定子定位在轉子310的腔體內時,一個或多個距離確定元件304可安裝到轉子310的內部表面314并且定位成朝向定子300例如發射激光信號。所發射的激光信號將反射離開安裝在定子300上的反射表面306中的一個,通過轉子310的開口316中的一個進行投射,并且如果對象存在,那么反射離開對象,通過開口316返回,反射離開反射表面306并且返回至距離確定元件。使用ToF,距離確定元件可確定電機320與對象之間的距離。
如圖3C中所示,當發射的激光信號反射離開以與定子(或距離確定元件)成除90度之外的角度對齊的反射表面時,入射角度以及因此反射角度將不是90度,并且激光信號將以等于入射角度的反射角度投射離開。在這個實例中,當轉子旋轉時,從用于每次測量的單一距離確定元件發射的激光信號將以不同角度和在不同方向上反射離開不同反射表面,由此允許檢測相對于電機處于不同位置處的對象。
雖然上述實例描述了在其中轉子圍繞定子的外轉無刷電機,距離確定元件安裝在轉子上并且與轉子一起旋轉,并且定子包括反射表面,但是類似配置可能具有在其中轉子定位在由外部靜止定子形成的腔體內的內轉無刷電機和/或有刷電機。在這類實現方式中,反射表面安裝在內部旋轉的轉子上,并且距離確定元件安裝到外部靜止定子的內部表面。
在一些實現方式中,電機320可包括ESC電路322,所述ESC電路322保持追蹤轉子的位置,因此它可控制定子的電磁。如上文所述,這可例如使用磁性傳感器(基于霍耳效應)或使用無傳感器技術來完成。通過將距離確定元件在已知的位置處安裝到轉子310的內部表面314上并且當轉子310繞定子旋轉時監測所述轉子310的位置,可維持來自距離確定元件的(例如)激光信號的發射的定時,使得當距離確定元件與將導致激光信號被反射并且通過轉子310中的開口316進行投射(如圖3C所示)的反射表面對齊時,才發射激光信號。例如,可在確定位置處在轉子、驅動器202和/或螺旋槳上包括標記或其他標識符。傳感器可用來檢測標記的位置并且每次標記通過傳感器,就知道轉子以及因此距離確定元件的位置。
圖4描繪根據實現方式的圖1示出的自動空中交通工具的外轉無刷電機組件400的框圖。如上文所述,在外轉無刷電機400中,轉子402定位在電機的外側上,并且繞內部靜止定子401旋轉。在這種實現方式中,反射表面406安裝到轉子402的外部上并且距離確定元件404耦接到AAV 100(圖1),諸如AAV 100的剛性構件105。如同其他實現方式一樣,反射表面406可以是任意大小、形狀、相對于轉子402具有任意角度和/或定向。距離確定元件404保持靜止并且來自距離確定元件404的投射的激光信號在轉子402旋轉時,朝向不同反射表面406投射并且反射離開所述不同反射表面406。
圖5描繪根據實現方式的自動空中交通工具100的側視圖的框圖。在這種實現方式中,AAV 100可包括具有并入的距離確定元件的一個或多個電機520,諸如上文相對于圖2A至圖4所述的那些。在AAV 100上也可包括另外的距離確定元件504。例如,距離確定元件504-1可安裝在固定位置中以檢測AAV 100上方的對象。同樣地,距離確定元件504-2可安裝在固定位置中以檢測AAV 100下方的對象。
在圖5中示出的AAV的側視圖中,可看見四個電機520和四個螺旋槳522。在其他實現方式中,可在AAV 100中包括另外的或更少的電機520和/或螺旋槳。例如,如上文所述,螺旋槳可成對安裝。如由從每個電機520發射的平面軌跡圖案526所示,使用具有并入的距離確定元件的電機將產生覆蓋繞電機520的260度平面表面的檢測圖案。利用反射表面來反射由距離確定元件投射的激光信號的實現方式將產生覆蓋繞電機520的260度表面的、覆蓋多個平面(每個平面對應于自反射表面的一個反射角度)的檢測圖案。
如圖所示,電機和對應的螺旋槳可以不同角度安裝到AAV的主體,使得所并入的距離確定元件的投射圖案覆蓋不同的平面表面,如圖5中所示。例如,電機520和對應的螺旋槳522可相對于AAV 100的主體和/或相對于彼此在大約0–10度之間偏移。每個電機可在軸線上對齊并且在一些實現方式中,兩個或多個電機的軸線可以不同。
圖5示出AAV 100的右側視圖,使得電機520-1處于AAV 100的前面并且電機520-4處于AAV 100的后面。電機520和對應的螺旋槳522可在相對于AAV 100的主體的任意方向上偏移。在圖5中,相對于AAV 100的定向,在向左或向右沒有偏移的情況下,前電機520-1和螺旋槳522朝向AAV 100的前方偏移大約6度。電機520-2和對應的螺旋槳522遠離前方偏移大約3度并且朝向AAV 100主體的左方偏移大約9度。電機520-3和對應的螺旋槳522朝向AAV 100主體的前方偏移大約2度并且向AAV 100主體的右方或左方偏移0度。最后,電機520-4和對應的螺旋槳522遠離AAV 100主體的前方偏移大約1度并且朝向AAV 100主體的右方偏移大約8度。在其他實現方式中,可利用任何偏移配置和/或電機偏移量。在一些實現方式中,當AAV正在操作時,可更改電機520中的一個或多個的偏移或定向。例如,在正常飛行期間,所有電機520可定位成具有0度的偏移。當AAV 100檢測到對象,準備著陸,準備起飛,進入擁塞區域等時,可更改電機520的定向來擴大AAV 100周圍對象檢測的區域并且增加AAV 100的機動性。
通過使包括距離確定元件的電機520偏移,增加了AAV 100周圍的在其內可檢測到對象的總區域。同樣地,因為螺旋槳沒有對準,所以AAV 100的機動性和可操縱性增加。
圖6描繪根據實現方式的AAV 100的另一個側視圖600的框圖。在這個實例中,不是如相對于圖5討論的一樣使電機偏移,可如圖6所示將電機和對應的距離確定元件固定。例如,所有電機620可安裝成相對于AAV 100成90度。距離確定元件604可如上文所述并入電機620中,和/或如圖6所示安裝到AAV 100。例如,距離確定元件604-1可安裝到AAV 100并且定向成發射從AAV 100的前方投射的激光信號。距離確定元件604-2可安裝到AAV 100并且定向成發射從AAV 100向下投射的激光信號。距離確定元件604-3可安裝到AAV 100并且定向成發射從AAV 100向上投射的激光信號。距離確定元件604-4可安裝到AAV 100并且定向成發射在AAV 100后方投射的激光信號。
雖然圖6中示出的實例包括安裝到AAV 100的四個距離確定元件,但是在其他實現方式中,可利用更少或另外的距離確定元件。同樣地,距離確定元件可安裝到AAV,并入電機620(如上文所述),或其組合。同樣地,所有電機620可安裝成相對于AAV 100成相同角度,或電機620中的一個或多個可以上文相對于圖5所述的方式偏移。
無論距離確定元件的配置和/或電機620的位置如何,AAV周圍的可檢測區域可通過在AAV移動時操縱AAV的俯仰、偏航和/或滾動來進一步增加。例如,可定期地更改AAV 100的俯仰。通過更改AAV 100的俯仰,增加了由在AAV 100的前方和后方投射的距離確定元件覆蓋的區域。同樣地,可定期地更改AAV 100的滾動。通過更改AAV 100的滾動,增加了由投射到AAV 100的右方或左方的距離確定元件覆蓋的區域。通過更改AAV 100的偏航,從AAV 100的前方、后面和側面投射出去的距離確定元件周圍的區域將覆蓋AAV 100周圍的整個區域。通過在AAV運動時組合更改俯仰、滾動和/或偏航中的一個或多個,進一步增加可由距離確定元件檢測的AAV 100周圍的區域。同樣地,在具有諸如四旋翼或八旋翼的AAV的情況下,即使更改了俯仰、偏航和/或滾動,也可維持AAV的方向。例如,AAV可向北移動并且可調整偏航使得AAV 100沿順時針方向旋轉。所述旋轉可在不更改飛行方向的情況下發生。同樣地,可在不更改AAV 100的飛行路徑的情況下調整俯仰和/或滾動。
圖7描繪根據實現方式的AAV網絡700的框圖,所述AAV網絡700包括AAV 100、遞送位置703、中繼位置702、材料處置設施704和遠程計算資源710。此外,可在環境中包括傳輸固定位置信息(例如,地理坐標)的一個或多個固定位置傳輸器705。可將固定位置傳輸器包括在任何已知的固定位置處。例如,可將固定位置傳輸器包括在材料處置設施704、中繼位置702、遞送位置703上、在蜂窩塔(未示出)上、在建筑物上、著陸區域上或任何其他已知位置處。
AAV 100、遞送位置703、中繼位置702、材料處置設施704和/或遠程計算資源710中的每一個可被配置來互相通信。例如,AAV 100可被配置來形成利用Wi-Fi或另一無線通信裝置的無線網狀網,在無線范圍內每個AAV與其他AAV通信。在其他實現方式中,AAV 100、AAV管理系統726、材料處置設施704、中繼位置702和/或遞送位置703可利用現有的無線網絡(例如,蜂窩、Wi-Fi、衛星)來促進通信。同樣地,還可將遠程計算資源710、材料處置設施704、遞送位置703和/或中繼位置702包括在無線網狀網內。在一些實現方式中,遠程計算資源710、材料處置設施704、遞送位置703和/或中繼位置702中的一個或多個也可通過諸如因特網的另一個網絡(有線和/或無線)互相通信。
遠程計算資源710可形成網絡可訪問的計算平臺的一部分,所述網絡可訪問的計算平臺被實現為處理器、存儲裝置、軟件、數據訪問以及通過諸如網狀網和/或另一無線或有線網(例如因特網)的網絡維持并可訪問的其他部件的計算基礎結構。如圖所示,遠程計算資源710可包括一個或多個服務器,諸如服務器720(1)、720(2)、……、720(N)。這些服務器720(1)-(N)可以任何數量的方式來布置,諸如數據中心中常用的服務器場、堆棧等。此外,服務器720(1)-(N)可包括一個或多個處理器722以及可存儲AAV管理系統726的存儲器724。
例如,AAV管理系統726可被配置來與遞送位置703、AAV 100、材料處置設施704和/或中繼位置702通信。作為實例,可在AAV中確定和共享針對每個AAV 100的位置信息。例如,每個AAV可在網絡中定期地向其他AAV傳輸ADS-B信息。當從AAV發出諸如ADS-B信息的信息或將諸如ADS-B信息的信息發送至AAV時,所述信息可包括用于AAV的標識符,并且每個AAV可用作網絡內的節點來轉發信息直至預期AAV接收到這一信息。例如,AAV管理系統726可通過將預期接收AAV的信息和標識符傳輸到與AAV管理系統726無線通信的AAV 100-1、AAV 100-2、AAV 100-3、AAV 100-4中的一個或多個來將消息發送到AAV 100-6。每個接收AAV將處理標識符以確定其是否是預期接收者,并且然后將信息轉發到與AAV通信的一個或多個其他AAV。例如,AAV 100-2可將消息和預期接收AAV的標識轉發到AAV 100-1、AAV 100-3和AAV 100-5。在這種實例中,因為AAV 100-3已經接收并且轉發了所述消息,所以其可放棄消息不再轉發,從而減小網狀網700上的負載。其他AAV一旦接收消息,即可確定它們不是預期接收者并且將這一消息轉發到其他節點上。該過程可繼續直至消息到達預期接收者。
在一些實現方式中,如果AAV失去通過無線網狀網與其他AAV的通信,那么其可激活另一無線通信路徑以重新獲取連接。例如,如果AAV無法經由網狀網700與任何其他AAV通信,那么其可激活蜂窩和/或衛星通信路徑以從AAV管理系統726、材料處置設施704、中繼位置702和/或遞送位置703獲取通信信息。如果AAV仍然無法重新獲取通信和/或如果AAV不包括可替代的通信部件,那么其可自動和自主地朝向指定位置(例如,附近的材料處置設施704、中繼位置702和/或遞送位置703)導航。
無線網狀網700可用來在AAV(例如,以共享天氣信息、位置信息、路線信息、著陸區域)、AAV管理系統726、材料處置設施704、遞送位置703和/或中繼位置702之間提供通信。同樣地,在一些實現方式中,無線網狀網可用來向其他計算資源(諸如個人計算機、電子書閱讀裝置、音頻播放器、移動電話、平板、臺式計算機、膝上型計算機等)遞送內容和/或其他信息。例如,網狀網可用來向客戶的電子書閱讀裝置遞送電子書內容。
圖8是根據實現方式的示出示例性對象規避過程800的流程圖。這個過程以及本文所描述的每個過程均可通過本文所描述的架構或通過其他架構來實現。過程被示出為邏輯流上的區塊集合。區塊中的一些表示可以硬件、軟件、或其組合來實現的操作。在軟件的上下文中,區塊表示存儲于一個或多個計算機可讀介質上的計算機可執行指令,所述計算機可執行指令在由一個或多個處理器執行時,執行所表述的操作。總體上,計算機可執行指令包括例行程序、程序、對象、部件、數據結構等,其執行具體功能或實現具體抽象數據類型。
計算機可讀介質可以包括非暫時性計算機可讀存儲介質,所述非暫時性計算機可讀存儲介質可以包括硬盤驅動器、軟盤、光盤、CD-ROM、DVD、只讀存儲器(ROM)、隨機存取存儲器(RAM)、EPROM、EEPROM、閃速存儲器、磁卡或光卡、固態存儲器裝置或適用于存儲電子指令的其他類型的存儲介質。此外,在一些實現方式中,計算機可讀介質可包括暫時性計算機可讀信號(呈壓縮或未壓縮的形式)。計算機可讀信號(無論是否使用載波調制)的實例包括但不限于托管或運行計算機程序的計算機系統可被配置來訪問的信號,包括通過因特網或其他網絡下載的信號。最后,不希望將操作描述次序理解為限制性,并且所描述的操作的任何數量可以任何次序和/或并行組合來實現此過程。另外,操作中的一個或多個可被認為是任選的和/或不與其他操作一起利用。
示例性過程800始于如在802中例如使用上文所述的實現方式中的一個或多個來掃描對象。在一些實現方式中,可利用多個檢測模式。例如,距離確定元件和圖像捕獲裝置(例如,攝像機)兩者可一起使用來識別和/或確定對象的位置。同樣地,在一些實現方式中,可利用多種形式的距離確定元件。例如,測距激光信號和聲納兩者可用來確定AAV與對象之間的距離。
當AAV掃描對象時,如在804中,作出關于是否已經檢測到對象的確定。如果確定尚未檢測到對象,那么示例性過程800返回到區塊802并且繼續。然而,如果檢測到對象,那么如在806中,就確定對象距AAV的距離和相對于AAV的對象矢量。在這個實例中,對象本身可能不需要被確定,僅需要確定對象相對于AAV的方向和距離。同樣地,在一些實現方式中,可能不確定對象相對于AAV的精確方向。例如,相對于AAV的粗略對象方向(例如向上和向左)可被確定并且可與本文所述的實現方式一起使用。
檢測到在對象與AAV之間的距離(di)和/或對象相對于AAV的方向。對象矢量(vi)可表示對象相對于AAV的方向、對象相對于AAV的速度幅度和/或對象距AAV的距離。在一些實現方式中,對象矢量可在AAV的參考系中計算,其中AAV作為參考點(靜止的)并且所有其他對象被認為相對于AAV。
為了確定對象矢量,在一些實現方式中,可在一段時間內確定對象與AAV之間的距離的多次采樣。所述樣本和時間段然后可用來確定對象相對于AAV的方向、對象相對于AAV的距離和/或對象相對于AAV的速度。在其他實現方式中,可在一段時間內捕獲對象的多個圖像,并且可基于對象在所捕獲圖像之間的大小的變化和基于當捕獲每個圖像時AAV的位置來確定對象相對于AAV的方向、對象相對于AAV的距離和/或對象相對于AAV的速度。
在一些實現方式中,可檢測多個對象。當檢測到多個對象時,可確定每個所檢測到的對象相對于AAV的距離、方向和/或對象速度。例如,如果檢測到兩個對象,那么可確定每個對象相對于AAV的距離和方向。同樣地,可確定每個對象相對于AAV的對象矢量。
基于所述距離和對象矢量,可確定用于AAV的對應的退避矢量,如在808中。在檢測到單一對象的實現方式中,退避矢量可與檢測到的對象的對象矢量一致。同樣地,退避矢量的幅度可與對象矢量的速度幅度相同,可大于或小于對象矢量的速度幅度。在一些實現方式中,退避矢量的幅度可總是大于對象矢量的速度幅度,高達AAV的最大速度。在其他實現方式中,退避矢量的幅度可取決于對象距AAV的距離。例如,可建立推進函數f(d),所述推進函數f(d)用來基于對象與AAV之間的距離來調整退避矢量的幅度。例如,推進函數f(d)=1/d(其中d是檢測到的對象與AAV之間的距離)可與對象矢量組合以確定退避矢量:
退避矢量=f(d1)*v1
在檢測到多個對象的實現方式中,可基于每個對象的確定的推進函數和/或表示每個對象的對象矢量來確定退避矢量。例如,退避矢量可以是每個檢測到的對象的對象矢量和推進函數的和:
退避矢量=Σf(di)*vi=f(d1)*v1+f(d2)*v2+…f(dn)*vn
其中n是檢測到的對象的數量。
在一些實現方式中,推進函數可縮放和/或擬合特定曲線(例如,拋物線)。例如,推進函數的值可縮放成使得存在為1的最大值和為0的最小值,并且為1的最大值是對象與AAV之間的最小距離和/或AAV的傳感器可檢測的最小距離。同樣地,為0的最小值可表示傳感器可感測的最大距離或距AAV的限定的最大距離。例如,AAV的0.1米的最小距離和2.0米的最大距離可被建立并且可與本文所述的實現方式一起使用。
在其他實現方式中,不是根據基于距離的推進函數建立退避矢量,在一些實現方式中,可基于計算的“相撞時間(time-to-impact)”來確定推進函數。例如,如上文所述,可確定對象相對于AAV的速度、方向和距離。利用這類信息,可將在對象與AAV碰撞之前剩余的時間計算為“相撞時間”(t)。在這種實現方式中,可使用上文所述的相同方程式確定退避矢量,但是推進函數可基于相撞時間而不是基于對象與AAV之間的距離。例如,推進函數可以是f(t)=1/t,其中t是檢測到的對象與AAV之間的相撞時間。
使用相撞時間推進函數提供如下優點:允許AAV更強地對具有更小相撞時間的對象反應,即使在它們與遠離具有更長相撞時間的其他對象存在更大距離的情況下。例如,如果兩個對象正在接近并且第一對象具有0.5米的距離和15秒的相撞時間,并且第二對象具有1.0米的距離和8秒的相撞時間,那么利用相撞時間推進函數的所產生的退避矢量將具有來自具有較低相撞時間的對象的更大影響。
除確定退避矢量之外,如在810中,也可確定可用防御方向。例如,如果檢測到單一對象,那么可用防御方向可以是與表示檢測到的對象的對象矢量的方向不一致的任何方向。在一些實現方式中,防御方向可以是與對象矢量方向相差多于限定角度的那些方向。例如,可用防御方向可以是與對象矢量方向相差大于35度的任何方向。在其他實現方式中,可用防御方向可以是從對象矢量方向開始的預定數量的防御方向。例如,可用防御方向可以是與對象矢量方向相差30度的任何方向,與對象矢量方向相差45度的任何方向,與對象矢量相差90度的任何方向,或與對象矢量方向相差120度的任何方向。因為AAV可在任何方向上行進,所以當考慮規避單一對象時,不同于對象矢量方向的可用防御方向的數量基本是無限的。
如果檢測到多個對象,那么可用防御方向可考慮所有對象矢量的方向和AAV的位置。例如,在兩個對象的情況下,可確定包括對象矢量和AAV兩者的平面并且可用防御方向可以是不沿所確定平面的表面的任何方向(即,防御方向在不同于所述平面的第三維度上延伸)。在其他實現方式中,可用防御方向可以是不沿所述平面并且與所述平面相差多于限定角度的任何方向。例如,可用防御方向可以是在第三方向上從所述平面開始大于35度的任何方向。在其他實現方式中,可用防御方向可以是從所述平面表面開始的預定數量的防御方向。例如,可用防御方向可以是在第三方向上從所述平面的表面成30度的任何方向,在第三方向上從所述平面的表面成45度的任何方向,在第三方向上從所述平面的表面成90度的任何方向,或在第三方向上從所述平面的表面成120度的任何方向。
在另一種實現方式中,可確定相對于第一對象的對象矢量的可用防御方向并且可確定相對于第二對象矢量的可用防御方向。然后可將兩組可用防御方向組合或比較,并且可將在兩組可用防御方向中存在的可用防御方向識別為AAV可從其選擇防御方向的可用防御方向。當檢測到多于兩個對象時,識別對每個對象可用的防御方向可能是有益的。例如,如果檢測到三個對象并且它們全都不位于相同平面,那么可確定每個對象的可用防御方向并且可利用相對于每個對象可用的防御方向來選擇防御方向。
返回圖8,AAV從所述組確定的可用防御方向中選擇防御方向,如在812中。在一些實現方式中,防御方向可被隨機地或偽隨機地選擇。通過隨機地或偽隨機地選擇防御方向,所產生的規避策略將在出現之間發生改變,使得潛在的惡意對象不能研究出AAV的移動圖案(pattern)。例如,如果對象是試圖攻擊AAV的鳥,那么通過改變防御方向并且從而改變所產生的規避策略,所述鳥不能辨別AAV的移動圖案。
基于退避矢量和所選擇的防御方向來生成規避策略,如在814中。在一些實現方式中,規避策略的生成可包括確定表示所選擇的防御方向和在防御方向上的幅度的防御矢量。然后可對退避矢量和防御矢量求和以生成可用作規避策略的規避矢量。在其他實現方式中,示例性過程800可僅考慮退避矢量和所確定的防御方向以生成規避策略,和/或生成具有單位幅度的防御矢量。規避策略可利用針對退避矢量確定的幅度和從退避矢量方向和所選擇防御方向的組合產生的方向。在其他實現方式中,規避策略可利用針對退避矢量確定的幅度和針對防御方向確定的方向。
在一些實現方式中,示例性過程可確定執行規避策略的時間和將引起執行規避策略的處于AAV與對象之間的距離。例如,可基于對象速度、相撞時間和/或AAV的可操縱性來確定執行所述策略并且規避對象需要的處于對象與AAV之間的最小距離。當對象達到最小距離時,AAV可執行規避策略。等待啟動規避策略減少了正在接近的對象調整路程和仍接觸AAV的能力。例如,如果正在接近的對象是鳥并且當首先檢測到所述對象時執行規避策略,那么所述對象可能有時間改變路程從而更改對象矢量的方向和/或幅度并且仍接觸AAV。通過在執行規避策略之前等待直到對象已經更加靠近AAV,對象(鳥)有更少的時間對規避策略作出反應。
最后,在確定規避策略和(任選地)執行時間/距離之后,示例性過程800提供指令來執行規避策略,如在816中。
在一些實現方式中,除確定和執行規避策略之外,示例性過程可向AAV管理系統和/或其他AAV提供規避信息。規避信息可例如包括AAV的位置、規避策略、選擇的防御方向等。如下文所述,可維持規避信息并且針對不同位置和/或不同對象類型研究優選防御方向。
圖9描繪根據實現方式的用于確定退避矢量902、防御方向904和產生的規避矢量906的框圖。在圖9中示出的實例中,存在被檢測為正在接近AAV(其被表示為正方體900)的兩個對象908、910。對于每個檢測的對象908、910,表示對象相對于AAV的方向和距離的對象矢量912、914得以確定。因為在這個實例中僅存在兩個對象,所以具有對象908、910和AAV所沿著的表面的平面916可得以確定。通過確定平面,對象相對于AAV的方向可被認為在兩個維度上并且防御方向可在第三維度上可用。例如,如果平面916的表面被限定成位于沿兩個維度(x,y),那么防御方向904可在不位于沿平面表面的第三維度(z)上延伸。
在這個實例中,確定所述兩個對象矢量912、914的和并且生成與所述兩個對象矢量912、914的和一致并且作為因素列入針對所述兩個對象中的每一個確定的推進函數中的退避矢量902。防御方向904被隨機地選擇以在第三方向上以大約50度(相對于平面表面)向下延伸,并且以大約30度(相對于退避矢量的方向)向左延伸。基于所確定的退避矢量902和所選擇的防御方向904,可確定用于規避策略的所產生的規避矢量906。在這個實例中,規避矢量906是退避矢量902和具有所選擇防御方向和單位幅度的防御矢量的和。
圖10是根據實現方式示出另一個示例性對象規避過程1000的流程圖。示例性過程1000始于如在1002中例如使用上文所述的實現方式中的一個或多個來掃描對象。在一些實現方式中,可利用多個檢測模式。例如,距離確定元件和圖像捕獲裝置(例如,攝像機)兩者可一起使用來識別和/或確定對象的位置。同樣地,在一些實現方式中,可利用多種形式的距離確定元件。例如,測距激光信號和聲納兩者可用來確定AAV與對象之間的距離。
當AAV掃描對象時,如在1004中,作出關于是否已經檢測到對象的確定。如果確定尚未檢測到對象,那么示例性過程1000返回到區塊1002并且繼續。然而,如果檢測到對象,那么如在1006中,確定對象相對于AAV的距離、對象相對于AAV的方向和/或對象矢量。在這個實現方式中,例如可基于GPS數據來知道AAV的絕對位置,并且可確定每個檢測到的對象相對于AAV的絕對位置的對應的方向和距離。所述對象矢量可表示對象相對于AAV的方向和對象相對于AAV的距離兩者。
為了確定對象矢量,在一些實現方式中,可在一段時間內確定對象與AAV之間的距離的多次采樣。所述樣本和時間段然后可用來確定對象相對于AAV的方向和距離兩者。
在一些實現方式中,可檢測多個對象。當檢測到多個對象時,可確定每個檢測的對象相對于AAV的方向和距離。同樣地,針對每個對象,可確定表示每個對象相對于AAV的距離和方向的對象矢量。
除確定對象的位置和對象矢量之外,可確定AAV的位置和/或對象類型,如在1008中。例如,如果AAV利用GPS進行導航,那么AAV的位置可基于當前的GPS數據。可例如基于對對象的另外的分析來確定對象的對象類型。例如,可捕獲和處理對象的一個或多個圖像來企圖識別對象。例如,可執行一個或多個圖案匹配算法、對象檢測算法和/或形狀檢測算法來企圖確定對象類型。
可使用AAV本地的一個或多個處理器和/或使用一個或多個遠程計算系統來完成對對象圖像的處理。在一些實現方式中,可在AAV上本地地執行對所捕獲圖像的初始處理來企圖作出初始對象類型確定。例如,可對所捕獲的圖像進行處理來確定對象的形狀并且可將所確定的形狀與已知對象形狀(例如,鳥、AAV)進行比較來企圖確定對象類型。如果不能本地地確定對象類型,那么可將圖像提供給AAV管理系統以進行進一步處理和對象識別。
返回圖10,基于每個檢測到的對象的距離和對象矢量,可確定AAV的對應的退避矢量,如在1010中。在檢測到單一對象的實現方式中,退避矢量可與檢測到的對象的對象矢量一致。同樣地,退避矢量的幅度可與對象速度幅度相同,可大于或小于對象速度幅度。在一些實現方式中,退避矢量的幅度可總是大于對象速度幅度,高達AAV的最大速度。在其他實現方式中,退避矢量可基于如上文所述的對象與AAV之間的距離或相撞時間而作為因素列入推進函數中。在檢測到多個對象的實現方式中,基于每個對象的方向、表示每個對象的對象矢量和/或每個檢測到的對象的確定的推進函數來確定退避矢量。繼續檢測到兩個對象的實例,退避矢量可以是每個對象的對象矢量和推進函數的和。
也可基于AAV的位置和/或基于所確定的對象類型來調整退避矢量的幅度和/或方向。例如,如果確定對象類型是鳥,那么可確定鳥的可能的最大速度并且可將退避矢量的幅度增加到超過對象的可能的最大速度。作為另一個實例,如果AAV被確定為處于由特定對象類型頻繁出現的位置中,那么可基于這對象類型為檢測到的對象的可能性來調整退避矢量的方向和/或幅度。
也可作出關于一個或多個優選防御方向是否與位置和/或對象類型相關聯的確定,如在1014中。在一些實現方式中,對象和/或位置可具有優選防御方向,所述優選防御方向如果可用,將用于選擇防御方向。可基于來自已經導航通過所述位置和/或已經遭遇相同類型的對象并且已經執行規避策略的其他AAV的反饋來確定針對特定位置的優選防御方向。基于所收集的信息,可以確定在特定位置中哪個防御方向比其他防御方向更加成功,并且可將那些防御方向建立為優選防御方向。
作為實例,如果對象類型是鳥,那么可以根據其他AAV與鳥的過去遭遇來確定在向下方向上和/或從鳥的行進方向向右的防御方向比向上和/或從鳥的行進方向向左的防御方向更加成功。在這種實例中,向下和/或從鳥的行進方向向右的防御方向可被認為是優選防御方向。以類似方式,如果AAV基于那些過去經驗處于其他AAV已經歷史地執行規避策略來規避對象的位置中,那么可以確定哪個防御方向產生成功的規避策略并且可將那些防御方向識別為優選防御方向。
如果確定針對對象和/或AAV的位置存在優選防御方向,那么作出關于一個或多個優選防御方向是否可用的確定,如在1016中。例如,如果優選防御方向向下和/或從檢測到的對象的方向向左,但存在多個對象,那么可確定在優選防御方向中不存在可用防御方向。如果確定沒有優選防御方向可用或如果在決策塊1014處確定不存在優選防御方向,那么就確定可用防御方向,如在(下文所述的)1017中。
然而,如果確定存在可用的優選防御方向,那么防御方向選自可用的所述組優選防御方向,如在1020中。類似于選擇防御方向,優選防御方向可隨機地或偽隨機地選自可用的所述組優選防御方向。
通過隨機地或偽隨機地選擇防御方向,所產生的規避策略將在出現之間發生改變,使得潛在的惡意對象不能確定AAV的移動圖案。例如,如果對象是試圖攻擊AAV的鳥,那么通過改變防御方向并且從而改變所產生的規避策略,所述鳥不能辨別AAV的移動圖案。
如果在決策塊1014處確定沒有優選防御方向與位置和/或對象相關聯和/或如果在決策塊1016處確定不存在可用的優選防御方向,那么就確定可用防御方向,如在1017中。例如,如果檢測到單一對象,那么可用防御方向可以是與表示檢測到的對象的對象矢量的方向不一致的任何方向。在一些實現方式中,防御方向可以是與對象矢量方向相差多于限定角度的那些方向。例如,可用防御方向可以是與對象矢量方向相差大于35度的任何方向。在其他實現方式中,可用防御方向可以是從對象矢量方向開始的預定數量的防御方向。例如,可用防御方向可以是與對象矢量方向相差30度的任何方向,與對象矢量方向相差45度的任何方向,與對象矢量方向相差90度的任何方向,或與對象矢量方向相差120度的任何方向。因為AAV可在任何方向上行進,所以當考慮規避單一對象時,不同于對象矢量方向的可用防御方向的數量基本是無限的。
如果檢測到多個對象,那么可用防御方向可考慮所有對象矢量的方向和AAV的位置。例如,在兩個對象的情況下,可確定包括對象矢量和AAV兩者的平面并且可用防御方向可以是不沿所確定平面的任何方向(即,防御方向在不同于所述平面的第三維度上延伸)。在其他實現方式中,可用防御方向可以是不沿所述平面并且與所述平面相差多于限定角度的任何方向。例如,可用防御方向可以是在第三方向上從所述平面開始大于35度的任何方向。在其他實現方式中,可用防御方向可以是從所述平面表面開始的預定數量的防御方向。例如,可用防御方向可以是在第三方向上從所述平面的表面成30度的任何方向,在第三方向上從所述平面的表面成45度的任何方向,在第三方向上從所述平面的表面成90度的任何方向,或在第三方向上從所述平面的表面成120度的任何方向。
在另一種實現方式中,可確定相對于第一對象的對象矢量的可用防御方向并且可確定相對于第二對象矢量的可用防御方向。然后可將兩組可用防御方向組合或比較,并且可將在兩組可用防御方向中存在的可用防御方向識別為AAV可從其選擇防御方向的可用防御方向。當檢測到多于兩個對象時,識別對每個對象可用的防御方向可能是有益的。例如,如果檢測到三個對象并且它們全都不位于相同平面,那么可確定每個對象的可用防御方向并且可利用相對于每個對象可用的防御方向來選擇防御方向。
根據可用AAV防御方向,選擇防御方向,如在1018中。在一些實現方式中,AAV防御方向可被隨機地或偽隨機地選擇。通過隨機地或偽隨機地選擇防御方向,所產生的規避策略將在出現之間發生改變,使得潛在的惡意對象不能確定AAV的移動圖案。例如,如果對象是試圖攻擊AAV的鳥,那么通過改變防御方向并且從而改變所產生的規避策略,所述鳥不能辨別AAV的移動圖案。
基于退避矢量和所選擇的防御方向(可用優選防御方向或可用防御方向)來生成規避策略,如在1022中。在一些實現方式中,規避策略的生成可包括確定表示所選擇的防御方向和在防御方向上的幅度的防御矢量。然后可對退避矢量和防御矢量求和以生成可用作規避策略的規避矢量。在其他實現方式中,示例性過程1000僅可考慮退避矢量和所確定的防御方向以生成規避策略,和/或生成具有單位幅度的防御矢量。規避策略可利用針對退避矢量確定的幅度和從退避矢量方向和所選擇防御方向的組合產生的方向。
在一些實現方式中,示例性過程可確定執行規避策略的時間和將引起執行規避策略的處于AAV與對象之間的距離。例如,可基于對象速度和AAV的可操縱性來確定執行所述策略并且規避對象需要的處于對象與AAV之間的最小距離。當對象達到最小距離時,AAV可執行規避策略。等待啟動規避策略減少了正在接近的對象調整路程和仍接觸AAV的能力。例如,如果正在接近的對象是鳥并且當首先檢測到鳥時執行規避策略,那么鳥可能有時間改變路程從而更改對象矢量的方向和/或幅度并且仍接觸AAV。通過在執行規避策略之前等待直到鳥已經更加靠近AAV,對象(鳥)有更少的時間對規避策略作出反應。
最后,在確定規避策略和(任選地)執行時間/距離之后,示例性過程1000提供指令來執行規避策略,如在1024中。
在一些實現方式中,除確定和執行規避策略之外,示例性過程可向AAV管理系統和/或向其他AAV提供規避信息。規避信息可例如包括AAV的位置、規避策略、選擇的防御方向、確定的對象類型等。
圖11是示出AAV 100的示例性AAV控制系統110的框圖。在各個實例中,框圖可以是可用于實現上述各種系統和方法的AAV控制系統110的一個或多個方面的說明。在示出的實現方式中,AAV控制系統110包括一個或多個處理器1102,所述一個或多個處理器1102通過輸入/輸出(I/O)接口1110來耦接到非暫時性計算機可讀存儲介質1120。AAV控制系統110還可包括螺旋槳電機控制器1104、電源模塊1106和/或導航系統1108。AAV控制系統110進一步包括對象檢測和規避控制器1112、網絡接口1116和一個或多個輸入/輸出裝置1118。
在各種實現方式中,AAV控制系統110可以是包括一個處理器1102的單一處理器系統,或包括若干處理器1102(例如兩個、四個、八個或另一合適數量)的多處理器系統。處理器1102可以是能夠執行指令的任何合適的處理器。例如,在各種實現方式中,處理器1102可以是實現各種指令集架構(ISA)中任何一種架構的通用或嵌入式處理器,所述架構諸如x86、PowerPC、SPARC、或MIPS ISA或任何其他合適的ISA。在多處理器系統中,每一個處理器1102可通常但不一定實現相同的ISA。
非暫時性計算機可讀存儲介質1120可被配置來存儲可執行的指令、數據、飛行路徑和/或處理器1102可訪問的數據項。在各種實現方式中,非暫時性計算機可讀存儲介質1120可使用任何合適的存儲器技術來實現,所述存儲器技術諸如靜態隨機存取存儲器(SRAM)、同步動態RAM(SDRAM)、非易失性/快閃型存儲器或任何其他類型的存儲器。在所示出的實現方式中,實現所需功能(諸如上述那些)的程序指令和數據被示出為分別作為程序指令1122、數據存儲1124和飛行路徑數據1126存儲在非暫時性計算機可讀存儲介質1120內。在其他實現方式中,程序指令、數據和/或飛行路徑可被接收、發送或存儲在不同類型計算機可訪問介質上,諸如非暫時性介質或與非暫時性計算機可讀存儲介質1120或AAV控制系統110分開的類似介質上。飛行路徑數據例如可包括規避策略、防御方向、規避信息等。
一般來說,非暫時性計算機可讀存儲介質可包括存儲介質或存儲器介質,諸如磁性或光學介質,例如磁盤或CD/DVD-ROM,通過I/O接口1110耦接到AAV控制系統110。通過非暫時性計算機可讀介質存儲的程序指令和數據可通過傳輸介質或信號(諸如電、電磁或數字信號)來傳輸,所述傳輸介質或信號可通過通信介質(諸如網絡和/或無線鏈路)來傳送,所述通信介質諸如可通過網絡接口1116來實施。
在一種實現方式中,I/O接口1110可被配置來協調處理器1102、非暫時性計算機可讀存儲介質1120、以及任何外圍裝置、網絡接口或其他外圍接口(諸如輸入/輸出裝置1118)之間的I/O通信量。在一些實現方式中,I/O接口1110可執行任何必需協議、定時或其他數據轉換以便將來自一個部件(如,非暫時性計算機可讀存儲介質1120)的數據信號轉化成適合于由另一個部件(例如,處理器1102)使用的格式。例如,在一些實現方式中,I/O接口1110可包括對通過各種類型外圍總線附接的裝置的支持,所述總線諸如外圍組件互連(PCI)總線標準或通用串行總線(USB)標準的變型。例如,在一些實現方式中,I/O接口1110的功能可劃分為兩個或更多個單獨部件,諸如北橋和南橋。而且,在一些實現方式中,I/O接口1110(諸如非暫時性計算機可讀存儲介質1120的接口)的功能的一些或全部直接可并入到處理器1102中。
螺旋槳電機控制器1104與導航系統1108通信并且調整每個螺旋槳電機的電力以沿著確定的飛行路徑引導AAV和/或執行規避策略。導航系統1108除了可被用于將AAV導航到某個位置和/或從某個位置導航,還可包括GPS或其他類似的系統。對象檢測和規避控制器1112與上文所述的距離確定元件通信,并且處理從距離確定元件接收的信息。例如,可處理從距離確定元件接收的信息來檢測對象的存在,確定對象相對于AAV的位置,確定表示對象速度的方向和幅度的對象矢量等。
網絡接口1116可被配置成允許數據在AAV控制系統110、附接到網絡的其他裝置(諸如其他計算機系統)之間,和/或與其他AAV的AAV控制系統交換。例如,網絡接口1116可能夠在多個AAV之間無線通信。在各種實現方式中,網絡接口1116可支持通過無線通用數據網絡(諸如Wi-Fi網絡)進行通信。例如,網絡接口1116可支持通過電信網絡(諸如蜂窩通信網絡、衛星網絡等)的通信。
在一些實現方式中,輸入/輸出裝置1118可包括一個或多個顯示器、圖像捕獲裝置、熱傳感器、紅外傳感器、飛行時間傳感器、加速儀、壓力傳感器、氣象傳感器等。多個輸入/輸出裝置1118可由AAV控制系統110呈現和控制。可利用這些傳感器中的一個或多個來協助著陸并且在飛行期間規避障礙物。
如圖11中所示,存儲器可包括可被配置來實現上述示例性過程和/或子過程的程序指令1122。數據存儲1124可包括用于維持可被提供用于確定飛行路徑、識別對象、生成規避策略、檢索庫存、著陸、識別脫離庫存的水平表面等的數據項的各種數據存儲區。
在各種實現方式中,本文所示出為包含在一個或多個數據存儲區中的參數值和其他數據可與未描述的其他信息組合,或可以不同的方式劃分成更多、更少或不同的數據結構。在一些實現方式中,數據存儲區可物理地定位在一個存儲器中、或可分布在兩個或更多個存儲器上。
本領域的技術人員將了解,AAV控制系統110僅僅是說明性的并且并不意圖限制本公開的范圍。具體地說,計算系統和裝置可包括可執行所指示的功能的硬件或軟件的任意組合,包括計算機、網絡裝置、因特網設備、PDA、無線電話、呼叫器等。AAV控制系統110還可被連接到未示出的其他裝置,或替代地可以作為獨立系統操作。另外,所示出的部件所提供的功能可在一些實現方式中組合于較少部件中或分布于另外部件中。類似地,在一些實現方式中,可不提供一些所示出的部件的功能和/或其他另外功能可以是可用的。
本領域的技術人員還應了解,盡管各種項目被示出為在使用時存儲在存儲器中或者存儲裝置上,但是這些項目或它們的部分可在存儲器與其他存儲裝置之間傳送,以供用于存儲器管理和數據完整性的目的。可替代地,在其他實現方式中,一些或全部的軟件部件可在另一裝置上的存儲器中執行,并且與所示出的AAV控制系統110通信。一些或全部的系統部件或數據結構還可存儲(例如,作為指令或者結構化數據)在將由適當的驅動器讀取的非暫時性計算機可訪問介質或便攜式制品中,它們的各種實例已在上文描述。在一些實現方式中,存儲在與AAV控制系統110分開的計算機可訪問介質上的指令可通過傳輸介質或信號來傳輸到AAV控制系統110,傳輸介質或信號諸如通過通信介質(諸如無線鏈路)傳達的電信號、電磁信號或數字信號。各種實現方式可進一步包括根據以上描述實現的在計算機可訪問介質上的指令和/或數據接收、發送或存儲。因此,本文所描述的技術可用其他AAV控制系統配置來實踐。
圖12是服務器系統的說明性實現方式的示意圖,諸如服務器系統720,可用在本文所述的實現方式中。服務器系統720可包括諸如一個或多個冗余處理器的處理器1200、視頻顯示適配器1202、硬盤驅動器1204、輸入/輸出接口1206、網絡接口1208和存儲器1212。處理器1200、視頻顯示適配器1202、硬盤驅動器1204、輸入/輸出接口1206、網絡接口1208和存儲器1212可通過通信總線1210通信地互相耦接。
視頻顯示適配器1202提供顯示信號至本地顯示器(圖12中未示出),所述本地顯示器允許服務器系統720的操作者監控并且配置服務器系統720的操作。同樣地,輸入/輸出接口1206與圖12中未示出的外部輸入/輸出裝置通信,諸如鼠標、鍵盤、掃描儀或可被服務器系統720的操作者操作的其他輸入和輸出裝置。網絡接口1208包括硬件、軟件或它們的任何組合,以與其他計算裝置通信。例如,網絡接口1208可被配置來在服務器系統720與其他計算裝置之間提供通信,如圖7中所示,所述其他計算裝置諸如AAV、材料處置設施、中繼位置和/或遞送位置。
存儲器1212通常包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃速存儲器和/或其他易失性存儲器或永久存儲器。存儲器1212顯示存儲了用于控制服務器系統720的操作的操作系統1214。在存儲器1212中還存儲了用于控制服務器系統720的低級操作的二進制輸入/輸出系統(BIOS)1216。
存儲器1212另外存儲了用于提供網絡服務至AAV管理系統726的程序代碼和數據。因此,存儲器1212可存儲瀏覽器應用1218。瀏覽器應用1218包括計算機可執行指令,當處理器1200執行所述計算機可執行指令時,所述計算機可執行指令生成或以其他方式獲取諸如網頁的可配置的標記文檔。瀏覽器應用1218與數據存儲管理器應用1220通信,以促進AAV數據存儲區1222和/或其他數據存儲區之間的數據交換。
如本文所使用的,術語“數據存儲區”指代能夠存儲、訪問和檢索數據的任何裝置或裝置組合,可包括任何標準、分布式或集群式環境中的任何組合和任何數目的數據服務器、數據庫、數據存儲裝置和數據存儲介質。服務器系統720可包括任何適合的硬件和軟件,用來按需要與AAV數據存儲區1222整合來執行用于AAV管理系統、AAV、材料處置設施、遞送位置和/或中繼位置的一個或多個應用的各方面。
數據存儲區1222可包括若干獨立的數據表、數據庫或其它數據存儲機構和介質,用來存儲與特定方面相關的數據。例如,示出的數據存儲區1222包括AAV信息、天氣信息、飛行路徑信息、源位置信息、目的地位置信息、規避信息等,其可用于生成并遞送信息至AAV管理系統726、材料處置設施、遞送位置、AAV、中繼位置和/或用戶。
應理解,可存在可存儲在AAV數據存儲區1222中的許多其他方面。數據存儲區1222可通過與其相關聯的邏輯來操作,以便從服務器系統720接收指令,并且響應于所述指令而獲取數據、更新數據或以其他方式處理數據。
如上所論述,存儲器1212還可包括AAV管理系統726。AAV管理系統726可由處理器1200執行,以實現服務器系統720的一個或多個功能。在一個實現方式中,AAV管理系統726可表示在存儲在存儲器1212中的一個或多個軟件程序中體現的指令。在另一實現方式中,AAV管理系統726可表示硬件、軟件指令或其組合。
在一個實現方式中,服務器系統720是利用若干計算機系統和部件的分布式環境,所述計算機系統和部件通過通信鏈路,使用一個或多個計算機網絡或直接連接來進行互連。但是,本領域普通技術人員應理解,這種系統可在具有比圖12所示更少或更多數量部件的系統中同樣順利地操作。因此,圖12中的描繪本質上應視為說明性的,并且不限制本公開的范圍。
在一個或多個選擇的實施方案中,用于更改自動空中交通工具的路徑的計算機實現的方法可包括以下各項中的至少一個:檢測對象的存在;確定表示所述對象相對于所述自動空中交通工具的距離和方向的對象矢量;確定表示所檢測到的對象與所述自動空中交通工具之間的所述距離的推進函數;至少部分地基于所述對象矢量和所述推進函數來確定退避矢量;至少部分地基于所述對象矢量來確定多個可用防御方向,其中所述多個可用防御方向中的每一個對應于不同于所述對象矢量的方向的方向;從所述多個可用防御方向中隨機地選擇可用防御方向;至少部分地基于所述退避矢量和所述隨機地選擇的防御方向來生成規避策略;以及執行所述規避策略以規避所述對象。
可替代地,上文的所述計算機實現的方法可進一步包括以下各項中的一個或多個(即,單獨地或組合地):至少部分地基于所述退避矢量的幅度和所述隨機地選擇的防御方向來生成所述規避策略;至少部分地基于所述對象與所述自動空中交通工具之間的所述距離的倒數來確定所述推進函數;以及至少部分地基于對象類型或所述自動空中交通工具的位置來選擇所述防御方向。另外,在選擇的實施方案中,對象矢量和退避矢量可處于第一平面中,防御方向可基本垂直于所述第一平面,并且規避策略可不處于所述第一平面中。
在一個或多個選擇的實施方案中,自動空中交通工具的對象規避系統可包括以下各項中的一個或多個:對象檢測元件,所述對象檢測元件耦接到所述自動空中交通工具并且被配置來檢測對象在所述自動空中交通工具的限定距離內的存在;規避確定元件,所述規避確定元件耦接到所述自動空中交通工具并且被配置來確定規避策略,其中可至少部分地基于表示所述對象的距離和方向的對象矢量和不同于所述對象矢量的所述方向的防御方向來確定所述規避策略;以及導航部件,所述導航部件用于自動地執行所述規避策略。
可替代地,上文的所述對象規避系統可進一步包括通信元件,所述通信元件被配置來報告當檢測到所述對象時所述自動空中交通工具的位置、所檢測到的對象的位置、對象類型、所述對象的所述方向、所述防御方向或所述規避策略中的至少一個。
此外,上文所述的對象規避系統可任選地包括以下各項中的一個或多個:規避矢量,所述規避矢量表示所述規避策略并且所述規避矢量的幅度大于所述對象相對于所述自動空中交通工具的速度的幅度;隨機地選自多個可用防御方向的防御方向,其中至少部分地基于所述對象的移動方向、對象類型或所述自動空中交通工具的位置中的至少一個來任選地確定所述多個可用防御方向;所述對象檢測元件進一步被配置來檢測第二對象在所述自動空中交通工具的所述限定距離內的存在,并且至少部分地基于所述第二對象與所述自動空中交通工具之間的相撞時間來進一步確定所述規避策略,其中所述規避策略任選地至少部分地基于表示所述對象的所述距離和所述方向的所述對象矢量與表示所述第二對象的第二距離和第二方向的第二對象矢量之和,其中所述規避策略任選地進一步至少部分地基于針對所述對象確定的第一推進函數和針對所述第二對象確定的第二推進函數,其中所述第一推進函數任選地至少部分地基于所述對象與所述自動空中交通工具之間的所述距離或處于所述對象與所述自動空中交通工具之間的相撞時間,并且其中所述對象矢量和所述第二對象矢量相對于所述自動空中交通工具任選地位于第一平面中,并且所述防御方向任選地位于不同于所述第一平面的第二平面中;以及通信元件,所述通信元件被配置來報告當檢測到所述對象時所述自動空中交通工具的位置、所檢測到的對象的位置、對象類型、所述對象的所述方向、所述防御方向或所述規避策略中的至少一個。
在一個或多個選擇的實施方案中,自動空中交通工具可包括以下各項中的一個或多個:主體;多個電機;對象檢測元件,所述對象檢測元件被配置來檢測對象在所述主體的限定距離內的存在;存儲器,所述存儲器耦接到一個或多個處理器并且存儲程序指令,所述程序指令在由所述一個或多個處理器執行時,致使所述一個或多個處理器至少:確定表示檢測到的對象的對象矢量;至少部分地基于所述對象矢量來確定用于導航所述自動空中交通工具規避所檢測到的對象的表示第一方向和第一幅度的退避矢量;至少部分地基于所述對象矢量來確定用于導航所述自動空中交通工具規避所檢測到的對象的表示第二方向的防御方向;至少部分地基于所述退避矢量和所述防御方向來生成規避矢量,其中所述規避矢量是所述退避矢量和所述防御方向的組合;并且根據所述規避矢量提供指令來導航所述自動空中交通工具。
可替代地,上文所述的自動空中交通工具可任選地包括以下各項中的一個或多個(即,單獨地或組合地):表示所檢測到的對象的對象矢量,所述對象矢量包括所檢測到的對象相對于所述自動空中交通工具的方向和所檢測到的對象相對于所述自動空中交通工具的距離;對象矢量處于所述第一方向上,以及防御方向處于與所述第一方向相交的所述第二方向上;規避矢量處于與所述第一方向和所述第二方向中的每一個相交的第三方向上;以及防御方向隨機地選自不同于所檢測到的對象的方向的多個方向。
本領域的技術人員將了解,在一些實現方式中,上文論述的過程和系統所提供的功能可以替代方式(諸如將所述功能劃分為更多的軟件模塊或例程或合并為更少的模塊或例程)提供。類似地,在一些實現方式中,所示出的過程和系統可提供比所描述的更多或更少的功能,諸如當其他所示出的過程替代地分別缺少或包括此類功能時,或當所提供的功能的量更改時。另外,雖然各種操作都可示出為以特定方式(例如,串行或并行)和/或特定次序執行,但本領域的技術人員將理解,在其它實現方式中,這些操作也可以其他次序和其他方式執行。本領域的技術人員還將理解,以上所論述的數據結構可以不同方式構建,諸如通過使得單個數據結構分成多個數據結構、或通過使得多個數據結構合為單個數據結構。類似地,在一些實現方式中,所示出的數據結構可以存儲比所描述的更多或更少的信息,諸如當其他所示出的數據結構替代地分別缺少或包括此類信息時、或當存儲的信息的量或類型更改時。如附圖中示出的并在本文中描述的各種方法和系統表示示例性實現方式。在其他實現方式中,方法和系統可在軟件、硬件或其組合中實現。類似地,在其他實現方式中,任何方法的次序可改變,并且各個元素可被添加、重新排序、組合、省略、修改等。
根據上述內容,應當了解,雖然本文已經出于說明目的描述特定實現方式,但可在不背離所附權利要求書以及其中所表述的元素的精神和范圍的情況下進行各種修改。另外,盡管以下以某些權利要求的形式呈現某些方面,但本發明的發明人構想到呈任何可用權利要求形式的各種方面。例如,雖然僅僅一些方面當前可表述為在計算機可讀存儲介質上實現,但同樣也可以如此實現其他方面。受益于本公開的本領域技術人員將清楚可進行各種修改和變化。旨在涵蓋所有這些修改和變化,并且相應地,以上描述應視為具有說明性而非限制性意義。