TWI827649B - 用於vslam比例估計的設備、系統和方法 - Google Patents
用於vslam比例估計的設備、系統和方法 Download PDFInfo
- Publication number
- TWI827649B TWI827649B TW108129210A TW108129210A TWI827649B TW I827649 B TWI827649 B TW I827649B TW 108129210 A TW108129210 A TW 108129210A TW 108129210 A TW108129210 A TW 108129210A TW I827649 B TWI827649 B TW I827649B
- Authority
- TW
- Taiwan
- Prior art keywords
- wheel
- optical flow
- processor
- flow sensor
- image frame
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000003287 optical effect Effects 0.000 claims abstract description 210
- 238000004364 calculation method Methods 0.000 claims description 108
- 238000012545 processing Methods 0.000 claims description 50
- 230000004044 response Effects 0.000 claims description 43
- 239000011159 matrix material Substances 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 18
- 230000002159 abnormal effect Effects 0.000 claims description 12
- 230000004807 localization Effects 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 6
- 238000000354 decomposition reaction Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 31
- 230000033001 locomotion Effects 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000003491 array Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 4
- 230000002411 adverse Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 239000000383 hazardous chemical Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009012 visual motion Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0253—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
各個實施例包括用於改善由被裝備有圖像感測器和光流感測器的機器人設備的處理器進行的導航的方法。機器人設備可以被配置為從圖像感測器擷取或接收兩個圖像訊框,基於該等圖像訊框產生單應性計算,從光流感測器接收光流感測器資料,以及基於單應性計算和光流感測器資料來決定比例估計值。機器人設備可以基於該比例估計值來決定機器人設備姿勢(或者圖像感測器的姿勢)。
Description
本案係關於在機器人設備上使用光流感測器進行VSLAM比例估計的系統和方法。
機器人設備在以半自主或自主的方式執行各種任務方面已經變得越來越普遍。此種機器人設備可以以各種形式體現並且在各種應用中使用,例如用於自動真空吸塵器、無人駕駛飛行器、地面車輛等等中。可以採用機器人設備的應用可以包括娛樂應用(例如,玩具機器人)、對人類不友好的環境(例如,太空、深水、低溫、輻射、化學暴露、生物危害等)中的實用應用、危險任務(例如,拆除***物)、在狹窄空間內(例如,倒塌的建築物)執行瑣事(例如,清潔)的操作等等。
由於很多環境不是靜態的,因此可以為機器人設備提供建圖技術,以允許設備構建其周圍環境的地圖。此外,機器人設備可以被配置為在地圖內定位自身,從而表現出相對高程度的自主性。然而,由於局部環境的時間和空間變化以及障礙物的位置和運動的變化,自主導航可能是複雜的。此種複雜性可能會造成使用現有技術的機器人設備的導航問題。
各個態樣包括用於使用來自光流感測器的資料實現視覺同時定位和建圖的方法、實現此種方法的機器人設備,以及機器人設備內的處理設備。一些態樣可以包括:從單目圖像感測器接收第一圖像訊框,從單目圖像感測器接收第二圖像訊框,基於第一圖像訊框和第二圖像訊框產生單應性計算,從光流感測器接收光流感測器資料,以及基於單應性計算和光流感測器資料決定比例估計值。
在一些態樣,基於第一圖像訊框和第二圖像訊框產生單應性計算可以包括:產生單應性矩陣資訊結構,以及經由對所產生的單應性矩陣資訊結構執行奇異值分解(SVD)運算來產生交易(transaction)資訊結構。在一些態樣,基於第一圖像訊框和第二圖像訊框產生單應性計算可以包括:辨識第一圖像訊框中的至少四個特徵點,辨識第二圖像訊框中的至少四個對應特徵點,以及產生單應性矩陣資訊結構以包括所辨識的至少四個特徵點和所辨識的至少四個對應特徵點。
一些態樣可以包括:基於比例估計值,決定機器人設備的機器人設備姿勢。一些態樣可以包括:從車輪編碼器接收車輪交易資料,基於單應性計算和車輪交易資料來決定基於車輪的比例估計值,根據基於車輪的比例估計值來決定第一置信度值,以及基於比例估計值來決定第二置信度值,其中基於比例估計值決定機器人設備姿勢可以包括:回應於決定第一置信度值未超過第二置信度值,
基於比例估計值來決定機器人設備姿勢,以及回應於決定第一置信度值超過第二置信度值,基於車輪交易資料來決定機器人設備姿勢。
在一些態樣,基於第一圖像訊框和第二圖像訊框產生單應性計算可以包括:基於第一圖像訊框和第二圖像訊框來產生相機交易資訊結構,以及基於單應性計算和車輪交易資料來決定基於車輪的比例估計值可以包括:基於車輪交易資料來產生車輪編碼器交易資訊結構;及基於包括在相機交易資訊結構中的值和包括在車輪編碼器交易資訊結構中的值,來決定基於車輪的比例估計值。
一些態樣可以包括:從車輪編碼器接收車輪交易資料;基於車輪交易資料或光流感測器資料中的至少一者,決定在一段時間內發生的打滑量;及判斷所決定的打滑量是否超過打滑閾值,其中基於單應性計算和光流感測器資料來決定比例估計值可以包括:回應於決定所決定的打滑量超過打滑閾值,基於單應性計算和光流感測器資料來決定比例估計值;及回應於決定所決定的打滑量未超過打滑閾值,基於單應性計算和車輪交易資料來決定比例估計值。
一些態樣可以包括:從車輪編碼器接收車輪交易資料;判斷該車輪交易資料是否包括錯誤或異常資料,其中基於單應性計算和光流感測器資料來決定比例估計值可以包括:回應於決定車輪交易資料可能包括錯誤或異
常資料,基於單應性計算和光流感測器資料來決定比例估計值。
一些態樣可以包括:從車輪編碼器接收車輪交易資料;基於車輪交易資料來決定第一置信度值;基於光流感測器資料來決定第二置信度值;及判斷第一置信度值是否超過第二置信度值,其中基於單應性計算和光流感測器資料來決定比例估計值可以包括:回應於決定第一置信度值未超過第二置信度值,基於單應性計算和光流感測器資料來決定比例估計值;及回應於決定第一置信度值超過第二置信度值,基於單應性計算和車輪交易資料來決定比例估計值。
一些態樣可以包括:將光流感測器資料應用於Lucas-Kanade元件以產生包括針對至少一個特徵點的圖元速度值和方向值的光流資訊;及基於光流資訊產生光流感測器交易資訊結構,其中基於單應性計算和光流感測器資料來決定比例估計值可以包括:基於單應性計算和所產生的光流感測器交易資訊結構來決定比例估計值。
另外的態樣包括具有光流感測器和處理器的機器人設備,該處理器被配置為執行上面所概述的方法的一或多個操作。另外的態樣包括用於在包括光流感測器的機器人設備中使用的處理設備,其中該處理設備被配置為執行上面所概述的方法的一或多個操作。另外的態樣包括具有用於執行上面所概述的方法的功能的構件的機器人設備。另外的態樣可以包括在其上儲存有處理器可執行指
令的非臨時性處理器可讀儲存媒體,該處理器可執行指令被配置為使機器人設備的處理器執行上面所概述的方法的操作。
100:通訊系統
102:機器人設備
103:空間量測設備
104:基地台
105:車輪編碼器
106:存取點
107:光流感測器
108:通訊網路
110:網路伺服器計算設備
112:無線通訊鏈路
114:無線通訊鏈路
120:環境
125:目標
130:輪子
132:表面
134:車身框架
136:特徵點
152:主機板元件
154:圖像感測器
156:微控制器單元(MCU)
160:紅外(IR)感測器
162:慣性量測單元(IMU)
164:保險杠感測器
166:鐳射距離感測器(LDS)
210:控制單元
220:處理器
222:導航單元
224:記憶體
226:操縱資料元件
228:光流感測器
230:電源元件
240:感測器
244:負載緊固單元
250:輸出元件
260:輸入元件
270:無線電元件
272:天線
274:數據機
290:無線通訊設備
292:發射/接收天線
294:無線通訊鏈路
310:處理設備
312:片上系統(SoC)
314:處理器
316:記憶體
318:通訊介面
320:存貯記憶體介面
322:通訊元件
324:存貯記憶體
326:天線
328:硬體介面
400:導航系統
402:感測器
404:前置處理器
406:語義資訊提取器
408:定位件
410:時槽伺服器
412:加權因數元件
414:建圖元件
416:路徑規劃元件
502:第一相機訊框
504:第二相機訊框
506:單應性計算元件
508:比例估計元件
600:方法
602:方塊
604:方塊
606:方塊
608:方塊
610:方塊
612:方塊
700:方法
702:方塊
704:方塊
706:方塊
707:方塊
710:方塊
712:方塊
714:方塊
800:方法
802:方塊
804:方塊
806:方塊
808:方塊
810:方塊
812:方塊
814:方塊
816:方塊
818:方塊
900:方法
902:方塊
904:方塊
906:方塊
908:方塊
910:方塊
912:方塊
914:方塊
916:方塊
918:方塊
920:方塊
1000:方法
1002:方塊
1004:方塊
1006:方塊
1008:方塊
1010:方塊
被併入本文並且構成本說明書一部分的附圖,圖示了申請專利範圍的示例性實施例,並且連同上面提供的概括描述以及下文提供的具體實施方式一起來解釋申請專利範圍的特徵。
圖1A是根據各個實施例,在通訊系統中操作的機器人設備的系統方塊圖。
圖1B是根據各個實施例,利用由相應的電動機驅動的一或多個車輪的基於地面設計方案的機器人設備的方塊圖。
圖1C是根據各個實施例,圖示可以包括在機器人設備中的電腦架構和感測器的系統方塊圖,其中該機器人設備被配置為採用VSLAM技術。
圖2是圖示適合於結合各種實施例使用的機器人設備的元件的元件方塊圖。
圖3是圖示適合於在實現各個實施例的機器人設備中使用的處理設備的元件方塊圖。
圖4是圖示適合於在實現各個實施例的機器人設備中使用的導航系統的元件方塊圖。
圖5A和圖5B是根據實施例,圖示被配置為採用VSLAM技術的機器人設備中的各種操作和功能元件
的方塊圖,其中該VSLAM技術包括使用光流感測器的VSLAM比例估計。
圖5C是圖示在沒有比例估計值的情況下,機器人設備的相機隨時間的軌跡和姿勢的圖表。
圖5D是圖示在具有比例估計值的情況下,機器人設備的相機隨時間的軌跡和姿勢的圖表。
圖6至圖10是根據各種實施例,圖示決定機器人設備的姿勢的方法的處理流程圖。
現在參照附圖來詳細地描述各個實施例。在可以的地方,將貫穿附圖使用相同的元件符號來代表相同或者類似的組件。對於特定實例和實現的引用只是用於說明目的,而不是意欲限制申請專利範圍的保護範圍。
各個實施例包括由機器人設備的處理器執行的、用於經由採用諸如視覺同時定位和建圖(VSLAM)之類的定位和建圖技術改進導航的方法,該方法利用光流感測器提供的資訊來更好地規劃環境中的導航路徑。
在一些實施例中,機器人設備的處理器可以被配置為從圖像感測器接收第一圖像訊框,從圖像感測器接收第二圖像訊框,基於第一圖像訊框和第二圖像訊框產生單應性計算值,並基於單應性計算值產生單應性矩陣,基於單應性矩陣或單應性計算值決定或產生第一交易(transaction)資訊結構(例如,三元素平移向量等等),從光流感測器接收光流感測器資料,基於光流感測
器資料決定或產生第二交易資訊結構(例如,光流感測器交易資訊結構),基於單應性計算值和光流感測器資料決定比例估計值(例如,基於第一交易資訊結構和第二交易資訊結構中的值),以及基於該比例估計值決定機器人設備姿勢。
在一些實施例中,機器人設備的處理器可以被配置為亦從車輪編碼器接收車輪交易資料。處理器可以基於車輪交易資料來決定或計算第三交易資訊結構(例如,車輪編碼器交易資訊結構)。處理器可以判斷車輪交易資料是否不準確或錯誤,或者包括異常資料(例如,由於車輪打滑或滑轉)。當車輪交易資料不是不準確、錯誤或異常時,處理器可以使用車輪交易資料來決定比例估計值,以及當車輪交易資料不準確或錯誤或包括異常資料時,使用光流感測器資料來決定比例估計值。例如,當車輪交易資料不是不準確、錯誤或異常時,處理器可以使用第一交易資訊結構和第三交易資訊結構中的值來決定比例估計值,以及在車輪交易資料不準確或錯誤或包括異常資料時,使用第一交易資訊結構和第二交易資訊結構中的值來決定比例估計值。
經由為機器人設備配備光流感測器並配置機器人設備智慧地使用光流感測器來辨識、校正或改善不準確的移動資料,各種實施例提高了機器人設備的效能和功能。例如,根據各種實施例的光流感測器的包含和使用,可以允許機器人設備更好地辨識和回應車輪旋轉與實際
設備運動不太相關的滑動狀況。根據各種實施例的光流感測器的包括和使用,亦可以允許機器人設備更好地規劃其在環境內的導航路徑,並且能夠使得在預期車輪可能打滑的表面上行進。
如本文所使用的,術語「機器人設備」代表:包括有被配置為提供一些自主或半自主導航和機動能力的車載處理設備的各種類型的機器人車輛、機器人電器、機器人等等中的任何一種。機器人設備的實例包括但不限於:地面車輛和機器人(例如,自主或半自主汽車)、機器人電器(例如,機器人真空吸塵器和其他清潔機器人)、搜尋和救援機器人、炸彈偵測和解械機器人等等)以及其組合。在一些實施例中,機器人設備可以是有人操縱的。在其他實施例中,機器人設備可以是無人操縱的。在機器人設備是自主的實施例中,機器人設備可以包括車載處理設備,該車載處理設備被配置成在不具有例如來自人類操作員的遠端操作指令(例如,經由遠端計算設備)的情況下操縱及/或導航機器人設備(亦即,自主地)。在機器人設備是半自主的實施例中,機器人設備可以包括車載處理設備,該車載處理設備被配置為例如從人類操作員(例如,經由遠端計算設備)接收一些資訊或指令,並且與所接收的資訊或指令一致地自主地操縱及/或導航機器人設備。
如本文所使用的,術語「姿勢」代表用於標識機器人設備或其元件在其周圍環境中的位置和方位的值
或資訊結構。在機器人設備在二維環境(例如,沿著地板的表面)中行進的配置中,機器人設備姿勢可以經由二維位置(例如,笛卡爾座標系中的x、y距離或尺寸)和朝向(θ)來指定。在一些實施例中,機器人設備可以被配置為基於剛性變換(R,T)來估計姿勢(例如,相機姿勢、機器人設備姿勢等等),其中R是旋轉矩陣(例如,三乘三矩陣資訊結構等等),T是交易(例如,三元素平移向量資訊結構等等)。在一些實施例中,可以經由機器人設備處理器對單應性矩陣(H)執行奇異值分解(SVD)運算,來決定旋轉矩陣(R)及/或交易(T)的值。在一些實施例中,可以基於相機/機器人設備的方位來決定旋轉矩陣(R)的值。在一些實施例中,可以基於相機/機器人設備的方位及/或位置來決定交易(T)的值。
本文使用術語「車輪編碼器」來代表收集機器人設備的車輪、軸或車軸的角位置或運動,並將其轉換為類比或數位輸出信號以便提供關於車輪的旋轉角度、轉數及/或轉速的資訊的感測器或設備。車輪編碼器可以使用機械、光學或磁感測器來偵測旋轉位置變化,對旋轉進行計數及/或決定轉速。機器人設備的處理器可以使用來自車輪編碼器的資訊結合車輪直徑的知識,來決定位置、速度及/或行駛過的距離資訊。車輪編碼器的例子係包括旋轉編碼器和軸編碼器。在一些實施例中,車輪編碼器可以包括或者可以耦合到處理器,該處理器被配置為基於車輪編碼器資料產生車輪編碼器交易(Tw)資訊結構。
如本文所使用的,術語「光流感測器」是指能夠經由偵測光流來光學地量測運動,並且基於光流或觀察到的視覺運動來輸出量測值的感測器。光流可以辨識或定義由觀察者(例如,機器人設備等等)與場景之間的相對運動引起的視覺場景中的物件、表面和邊緣的明顯運動的模式。光流感測器可以輸出能夠用於量測機器人設備在表面上的運動的量測值或光流資料/資訊。光流資訊亦可以用於量測機器人設備與機器人設備附近的其他物體之間的視覺運動或相對運動。另外,機器人設備可以將光流資訊用於運動偵測、物件分割、接觸時間資訊、擴展計算焦點、運動補償編碼、立體視差量測和其他類似資訊。在一些實施例中,光流感測器可以耦合到處理器,該處理器被配置為基於光流資訊來產生光流感測器交易(To)資訊結構。在一些實施例中,光流感測器可以是耦合到處理器的圖像感測器,該處理器被程式設計為執行光流演算法。在一些實施例中,光流感測器可以是視覺晶片,其包括在同一晶片或晶粒上的圖像感測器和處理器。在一些實施例中,光流感測器可以包括照明光源(例如,發光二極體(LED)雷射器)和光學感測器,其被配置為接收由表面反射的來自於光源的光。
通常,機器人設備可以採用VSLAM技術來構建和更新未知環境的地圖,同時保持追蹤機器人設備在該環境中的位置。例如,機器人設備可以裝備有擷取環境的圖像或訊框的單目圖像感測器。機器人設備可以辨識所擷
取圖像內的突出物件或特徵,估計圖像中的特徵的尺寸和比例,將辨識的特徵彼此進行比較及/或與測試圖像中具有已知尺寸和比例的特徵進行比較,並基於該等比較來辨識對應關係。每一對應關係可以是一個值集或資訊結構,其將一個圖像中的特徵(或特徵點)標識為對於是另一個圖像中的相同特徵是具有高概率的。換句話說,對應關係可以是處於對應關係的一組圖像點(例如,第一圖像中的第一點和第二圖像中的第二點等等)。機器人設備可以基於所辨識的對應關係產生單應性矩陣資訊結構,並使用單應性矩陣來決定其在環境內的姿勢(例如,位置、方位等等)。
為了支援VSLAM計算,機器人設備可以裝備有感測器,其收集對於採用VSLAM技術有用的移動或距離資訊。機器人設備可以使用此種移動或距離資訊來決定所擷取的圖像或訊框之間的距離,並且結合單應性矩陣使用此種距離資訊來估計該等訊框中的物件的尺寸和比例。轉而,與僅基於擷取的圖像來決定姿勢相比,此允許機器人設備以更高的精度和準確度來決定其姿勢。例如,機器人設備可以使用來自車輪編碼器的車輪交易資料,來決定機器人設備在圖像/訊框之間行進的距離。機器人設備亦可以使用來自車輪編碼器的車輪交易資料來決定比例估計值。
儘管車輪編碼器提供對於採用VSLAM技術有用的資訊,但是該等感測器容易由於車輪打滑而提供錯
誤或異常資料,此顯著妨礙了設備準確地決定姿勢的能力。例如,當機器人設備由於打滑而在某些表面上移動時,車輪旋轉感測器(例如,車輪編碼器)可能傾向於錯誤地輸出,如在傾斜及/或光滑表面上可能發生的,或者當存在對於車輪轉動的阻力時(例如,增加的摩擦力或者其他對旋轉的阻礙)。當車輪編碼器產生錯誤資料時,機器人設備可能無法準確地決定圖像中的物件/特徵的比例、透視或尺寸。轉而,此可能妨礙機器人設備以高度置信度、精確度或準確度來決定其在環境中的姿勢的能力。
在各個實施例中,機器人設備可以裝備有光流感測器,其收集及/或產生可以由處理器用於決定行進距離的光流感測器資料。例如,機器人設備處理器的處理器可以被配置為接收第一圖像訊框,接收第二圖像訊框,基於第一圖像訊框和第二圖像訊框產生單應性計算值,從光流感測器接收光流感測器資料,基於單應性計算值和光流感測器資料來決定比例估計值,並使用該比例估計值來決定機器人設備姿勢。
在一些實施例中,機器人設備的處理器可以被配置為智慧地選擇和使用光流感測器資料,以替換從車輪旋轉感測器收集的不準確資料。例如,處理器可以使用來自光流感測器的行進距離資訊以校正或替換異常資料,或者改善從機器人設備中的車輪編碼器及/或其他感測器收集的行進距離資訊的不準確性。再舉一個例子,機器人設備的處理器可以被配置為偵測車輪或車輪編碼器中的打
滑,並且基於偵測到的打滑的水平、程度或幅度,智慧地判斷是否使用從車輪編碼器、光流感測器或者其組合收集的資訊。
在一些實施例中,機器人設備的處理器可以被配置為擷取光流程圖像,偵測光流程圖像中的特徵點(例如,拐角等等),並將圖像/特徵點資料應用於Lucas-Kanade元件/功能以產生光流資訊。該光流資訊可以表徵由機器人設備的圖像感測器(例如,相機)擷取的兩個圖像之間的轉換或交易。該光流資訊可以包括用於辨識每個特徵點的速度(例如,每單位時間的圖元或每個圖像的圖元)和明顯移動方向的資訊。
在一些實施例中,機器人設備的處理器可以被配置為使用從光流感測器收集的光流感測器資料來計算或估計圖像中的比例或兩個圖像之間的比例。
可以在各種各樣的通訊系統100內操作的機器人設備中實現各個實施例,在圖1A中圖示通訊系統100的一個例子。通訊系統100可以包括機器人設備102、基地台104、存取點106、通訊網路108和網路伺服器計算設備110。
機器人設備102可以裝備有至少一個空間量測設備103,例如適於在真實世界環境中獲得機器人設備102的三維位置的單目相機。機器人設備102亦可以裝備有用於量測車輪的旋轉運動的車輪編碼器105及/或被配置為基於光流來偵測/量測表面上的移動並輸出光流資訊
的光流感測器107,其中處理器可以使用該光流資訊來決定行進距離、速度、圖元速度、行進方向等等。此外,機器人設備102可以裝備有多個額外感測器中的任何一個,例如相機、方位感測器、單目圖像感測器、紅外感測器、慣性量測單元(IMU)以及其元件(例如,加速度計、陀螺儀、磁力計等)、保險杠感測器等等。
基地台104可以被配置為在廣域(例如,巨集細胞)以及小型細胞(其可以包括微細胞、毫微微細胞、微微細胞和其他類似的網路存取點)上提供無線通訊。存取點106可以包括被配置為在相對較小的區域上提供無線通訊的存取點。基地台和存取點的其他實例亦是可能的。機器人設備102可以經由基地台104和存取點106提供的無線鏈路,在通訊網路108上進行通訊。例如,機器人設備102可以經由無線通訊鏈路112與基地台104進行通訊,以及經由無線通訊鏈路114與存取點106進行通訊。無線通訊鏈路112和114可以包括複數個載波信號、頻率或頻帶,其中的每一個可以包括複數個邏輯通道。無線通訊鏈路112和114可以利用一或多個無線電存取技術(RAT)。
網路伺服器計算設備110可以將通訊網路108連接到網際網路及/或網路伺服器。機器人設備102可以經由通訊網路108向網路伺服器計算設備110發送資訊,及/或從網路伺服器計算設備110接收通訊。
在各個實施例中,機器人設備102可以在環境120中移動,並使用一或多個感測器(例如,空間量測設備103)來擷取環境120中的目標125的至少一個圖像。在各種實施例中,可以使用依賴於VSLAM技術的系統,自主地執行機器人設備的導航。儘管可以同時地執行定位和建圖程序,但是替代地可以順序地(例如,以多工的方式)執行該等程序。例如,VSLAM系統可以使用相同的資料來既在地圖內定位機器人設備,又產生或更新地圖。
VSLAM系統可以採用一些演算法來解決構建或更新未知環境的地圖的計算問題,同時保持追蹤機器人設備在地圖內的位置。VSLAM系統可以經由感測器輸入(例如,相機或視訊訊框)來追蹤一組點,並使用追蹤點的估計位置來計算機器人設備觀察或量測該等點的姿勢,同時基於三維空間中的追蹤點位置來構建或更新地圖。
在一些實施例中,機器人設備可以包括多核處理器,其被配置為經由將定位和建圖功能分離到不同執行緒上來實現VSLAM。例如,可以在一個執行緒上即時地執行定位(亦即,當前姿勢估計),而建圖執行緒在後臺中執行處理以最小化追蹤點位置與預期該等點提供姿勢估計的位置之間的差異(亦即,重投影錯誤)。在完成時,建圖執行緒可以更新用於追蹤此組點的資訊,轉而定位執行緒添加新的觀察結果以擴展地圖。
在一些實施例中,機器人設備可以被配置為將VSLAM技術應用於非自主任務。例如,用於炸彈偵測或搜尋和救援的遠端受控設備可以在遠端控制應用中實現VSLAM以說明操作員在環境周圍進行導航。
在一些實施例中,機器人設備可以包括各種操作模式,例如用於手動控制的模式和用於自主控制的另一種模式。例如,可以在初始建圖階段期間手動驅動車輛形式的機器人設備,並且其稍後被配置為進行自主控制。
圖1B圖示適合於實現各種實施例的基於地面的機器人設備102的各種元件。參考圖1A和1B,機器人設備102可以利用由相應的電動機驅動的一或多個輪子130,以向機器人設備102提供運動。機器人設備102可以被配置為決定或辨識表面132(或者車輪130的底部)之上的高度或者表面132(或者車輪130的底部)與機器人設備102的車身框架134中的一或多個點之間距離。在一些實施例中,機器人設備可以被預程式設計有高度資訊。在一些實施例中,機器人設備可以被配置為基於從一或多個感測器(例如,紅外感測器等)收集的資訊來決定高度資訊。
機器人設備102的處理器(例如,光流感測器107內的處理器)可以被配置為辨識圖像內的表面132上的特徵點136。光流感測器107或機器人設備102內的處理器可以被配置為基於高度資訊和所辨識的特徵點,來決定機器人設備102行進的距離和方向。
將圖1A和1B中圖示的機器人設備102呈現為可以利用各種實施例的設備的非限制性實例,但其並不意欲暗示或要求各種實施例限於地面機器人設備。例如,各種實施例可以與旋翼飛行器或翼式機器人設備或水載機器人設備一起使用,以用於其中光流感測器可以提供關於行進距離、速度等等的資訊的應用。
圖1C根據各種實施例,圖示可以包括在機器人設備102中的電腦架構和各種感測器,機器人設備102被配置為採用VSLAM技術。在圖1C所示的例子中,機器人設備102包括主機板元件152、圖像感測器154、微控制器單元(MCU)156、車輪編碼器105、紅外(IR)感測器160、慣性量測單元(IMU)162、保險杠感測器164、鐳射距離感測器(LDS)166和光流感測器107。
感測器154、160-168可以收集對於在機器人設備102中採用VSLAM技術有用的資訊。例如,車輪編碼器105及/或光流感測器107可以收集適合於決定機器人設備102已經在圖像/訊框之間行進的距離的資訊。車輪編碼器105及/或光流感測器107亦可以收集適合於決定或產生適合於估計比例的交易資訊結構的資訊。機器人設備102可以結合從其他感測器160-168收集的資訊來使用該資訊,以更好地估計由圖像感測器154所擷取的訊框中的物件的尺寸和比例。轉而,此允許機器人設備102以更高的精度和準確度來決定其姿勢。
光流感測器107可以被配置為收集及/或產生光流感測器資料,該光流感測器資料可以用於校正、替換或改善從機器人設備中的其他感測器154、160-166收集的不準確及/或異常距離量測資料。主機板元件152及/或MCU 156中的處理器可以被配置為智慧地選擇和使用來自光流感測器107的光流感測器資料,以替換從車輪編碼器105收集的不準確資料。替代地,處理器可以被配置為基於從感測器154、160-168收集的資訊來偵測打滑,並且智慧地判斷是否使用從車輪編碼器105、光流感測器107或其組合收集的資訊。
圖2根據各種實施例,圖示可以被配置為估計比例並決定姿勢的機器人設備102的各種元件。參考圖1A、圖1B、圖1C、圖2,機器人設備102可以包括多個車輪130、主體框架134、至少一個空間量測設備103和光流感測器107。
空間量測設備103可以與空間量測設備103相同或相似。在一些實施例中,空間量測設備103可以例如包括:被配置成原始範圍掃瞄感測器的系統,或者被配置為辨識來自掃瞄或圖像的標誌的基於特徵的系統。例如,可以使用基於鐳射的掃瞄器(例如,光偵測和測距(LiDAR))或基於聲納的系統來偵測和量測到環境中的各種特徵和標誌的距離。在一些實施例中,可以在由圖像感測器(例如,相機、光學讀取器等等)拍攝的圖像內辨識特徵和標誌。在一些實施例中,能夠偵測附近特徵和
標誌的許多其他設備中的任何一個亦可以實現為空間量測設備。
主體框架134可以為電動機和其關聯的車輪130以及為空間量測設備103提供結構支撐。為了便於描述和說明起見,省略了機器人設備102的一些詳細態樣,例如佈線、框架結構互連或者本領域一般技藝人士已知的其他特徵。儘管圖示的機器人設備102具有車輪130,但此僅僅是示例性的,各個實施例可以包括用於提供推進和操縱能力的任何各種的元件,例如踏板、槳葉、刹車或其任何組合或其他元件。
機器人設備102亦可以包括控制單元210,後者可以容納用於供電和控制機器人設備102的操作的各種電路和設備。控制單元210可以包括處理器220、電源元件230、感測器240、一或多個負載緊固單元244、輸出元件250、輸入元件260和無線電元件270。
處理器220可以被配置有處理器可執行指令以控制機器人設備102的行進和其他操作(其包括各個實施例的操作)。處理器220可以包括者耦合到導航單元222、記憶體224、操縱資料元件226和光流感測器228。處理器220及/或導航單元222可以被配置為經由無線連接(例如,蜂巢資料網路)與伺服器進行通訊,以接收在導航中有用的資料、提供即時位置報告和評估資料。
處理器220亦可以從光流感測器228接收資料,並使用此種資料來決定、辨識或規定由機器人設備
102的運動引起的環境中的物件、表面和邊緣的明顯運動的模式。在一些實施例中,處理器220可以被配置為偵測車輪打滑,並基於偵測到的打滑,判斷是否使用從車輪旋轉感測器、光流感測器228或其組合收集的資訊。
操縱資料元件226可以耦合到處理器220及/或導航單元222,以及可以被配置為提供與行進控制相關的資訊,例如導航單元222可以用於導航目的(如,全球導航衛星系統(GNSS)之間的航位推算)的方位、姿態、速度、朝向和類似資訊。
操縱資料元件226可以從諸如IMU或類似感測器(例如,加速度計、陀螺儀等等)之類的一或多個感測器240接收輸入。在一些實施例中,向操縱資料元件226提供輸入的感測器240可以包括一或多個空間量測設備103或者與一或多個空間量測設備103重疊。操縱資料元件226的輸入可以提供關於可以在導航和定位計算中使用的機器人設備102的方位和加速度的資料,以及提供在各種實施例中使用的資料。
處理器220亦可以從一或多個其他類型的感測器240(例如,可以是單目相機的相機)接收額外的資訊。在一些實施例中,感測器240可以包括能夠偵測紅外線、紫外線及/或其他波長的光的一或多個光學感測器。在一些實施例中,感測器240可以包括距離量測設備206及/或與之重疊。在一些實施例中,感測器240可以包括向處理器220提供運動回饋的至少一個感測器,例如,車
輪編碼器、用於提供指示與表面接觸的信號的接觸或壓力感測器、光流感測器等等。該等感測器亦可以包括射頻(RF)感測器、氣壓計、聲納發射器/探測器、雷達發射器/探測器、麥克風或另一種聲學感測器,或者可以提供能由處理器220用於移動操作以及導航和定位計算的資訊的另一種感測器。
在一些實施例中,負載緊固單元244可以包括致動器電動機,後者回應於來自控制單元210的命令,驅動回應於控制單元210的抓取和釋放機制和相關控制項,以抓取和釋放負載。
電源元件230可以包括一或多個電池,其可以向包括處理器220、感測器240、負載緊固單元244、耦合到車輪130的驅動電動機、輸出元件250、輸入元件260和無線電元件270的各種元件供電。電源元件230可以是可再充電的。處理器220可以被配置有處理器可執行指令以控制電源元件230的充電,例如經由使用充電控制電路來執行充電控制演算法。替代地或另外地,電源元件230可以被配置為管理其自己的充電。處理器220可以耦合到輸出元件250,輸出元件250可以輸出用於對驅動車輪130和其他元件的電動機進行管理的控制信號。
當機器人設備102朝向目的地前進時,可以經由控制驅動車輪130的各個電動機來操縱機器人設備102。處理器220可以從導航單元222接收資料,並且使用該資料以便決定機器人設備102的當前位置和方位,以
及朝向目的地或中間網站的適當路線。在各個實施例中,導航單元222可以包括使機器人設備102能夠使用GNSS信號進行導航的GNSS接收器系統(例如,一或多個全球定位系統(GPS)接收器)。替代地或另外地,導航單元222可以被裝備有無線電導航接收器,以從諸如導航信標(例如,超高頻(VHF)全向範圍(VOR)信標)、Wi-Fi存取點、蜂巢網路網站、無線電站、遠端計算設備、機器人車輛等等之類的無線電節點接收導航信標或其他信號。
無線電元件270可以包括數據機274和發射/接收天線272。在一些實施例中,無線電元件270可以被配置為與各種各樣的無線通訊設備(例如,無線通訊設備(WCD)290)進行無線通訊,其實例包括無線電話基地台或蜂巢塔(例如,基地台104)、網路存取點(例如,存取點106)、信標、智慧型電話、平板設備,或者機器人設備102可以與之通訊的另一個計算設備(例如,110)。在一些實施例中,處理器220可以經由無線電元件270的數據機274和天線272以及無線通訊設備290經由發射/接收天線292,來建立雙向無線通訊鏈路294。在一些實施例中,無線電元件270可以被配置為使用不同的無線電存取技術來支援與不同無線通訊設備的多個連接。
在各個實施例中,控制單元210可以被裝備有能夠用於各種應用的輸入元件260。例如,輸入元件260
可以從車載相機或感測器接收圖像或資料,或者可以從其他元件(例如,負載)接收電信號。
儘管在圖2中將控制單元210的各個元件圖示為單獨的元件,但是該等元件中的一些或全部(例如,處理器220、輸出元件250、無線電元件270和其他單元)可以整合在單個處理設備310中,在圖3中圖示其一個例子。
圖3圖示可以被配置為在機器人設備中使用的處理設備310。參考圖1A、圖1B、圖1C、圖2、圖3,處理設備310可以被配置為在機器人設備中使用,以及可以被配置為或者包括片上系統(SoC)312。SoC 312可以包括(但不限於)處理器314、記憶體316、通訊介面318和存貯記憶體介面320。處理設備310或SoC 312亦可以包括通訊元件322,例如用於建立無線通訊鏈路的有線或無線數據機、存貯記憶體324、天線326等。處理設備310或SoC 312亦可以包括硬體介面328,其被配置為使處理器314能夠與機器人設備的各個元件通訊並控制機器人設備的各個元件。處理器314可以包括各種處理設備中的任何一種,例如任何數量的處理器核。
本文使用術語「片上系統」(SOC)來代表一組互連的電子電路,其通常(但不排外地)包括一或多個處理器(例如,314)、記憶體(例如,316)和通訊介面(例如,318)。SOC 312可以包括各種不同類型的處理器314和處理器核,諸如通用處理器、中央處理單
元(CPU)、數位訊號處理器(DSP)、圖形處理單元(GPU)、加速處理單元(APU)、處理設備的特定元件的子系統處理器(例如,用於相機子系統的影像處理器或者用於顯示器的顯示處理器、輔助處理器、單核處理器和多核處理器)。SOC 312亦可以包含其他硬體和硬體組合,例如現場可程式設計閘陣列(FPGA)、特殊應用積體電路(ASIC)、其他可程式設計邏輯裝置、個別閘門邏輯單元、電晶體邏輯單元、效能監測硬體、看門狗硬體和時間基準。可以對積體電路進行配置,使得積體電路的元件常駐在單片半導體材料(例如,矽)上。
SOC 312可以包括一或多個處理器314。處理設備310可以包括多於一個的SOC 312,從而增加處理器314和處理器核的數量。處理設備310亦可以包括不與SOC 312相關聯的處理器314(亦即,在SOC 312外部)。各個處理器314可以是多核處理器。每個處理器314可以被配置用於特定目的,該特定目的可以與處理設備310或SOC 312的其他處理器314相同或不同。可以將相同或不同配置的處理器314和處理器核中的一或多個組合在一起。一組處理器314或處理器核可以被稱為多處理器簇。
SoC 312的記憶體316可以是被配置為儲存資料和處理器可執行指令以供處理器314存取的揮發性或非揮發性記憶體。處理設備310及/或SoC 312可以包括被配置用於各種目的的一或多個記憶體316。一或多個
記憶體316可以包括揮發性記憶體,例如隨機存取記憶體(RAM)或主記憶體,或高速緩衝記憶體。
處理設備310和SoC 312的一些或所有元件可以進行不同地及/或組合地佈置,同時仍然服務於各個態樣的功能。處理設備310和SoC 312可以不限於該等元件中的每一個元件的一個,而是在處理設備310的各種配置中可以包括每個元件的多個實例。
如前述,各種實施例中的機器人設備可以利用VSLAM程序,以便進行導航並執行任務。該等程序可以包括:對環境內的標誌的空間資訊進行建圖,以及表示機器人設備相對於建圖環境的姿勢(亦即,位置和方位)。
VSLAM演算法考慮了各種參數,例如感測器資訊、地圖表示、設備動力學(dynamics)、環境動力學以及感測器量測值和機器人的控制系統隨時間的綜合。對環境的空間資訊進行建圖,通常需要採用可以應用VSLAM演算法的空間感測器(例如,空間量測設備103)。例如,可以從由一或多個相機獲得的圖像中提取標誌,其中該等相機可以是各種配置中的任何一種(例如,單目、立體視覺、多相機等等)。
可以經由獲得關於機器人設備在所產生的地圖內的位置和方位(亦即,姿勢)的感測資訊,來執行對該設備的定位。
例如,對於車輛型機器人設備,可以使用從車輪編碼器及/或光流感測器獲得的資訊來決定姿勢資訊,
其中車輪編碼器量測車輪的旋轉運動,光流感測器基於在光或圖像感測器中觀察到的特徵的流來量測行進距離。機器人設備亦可以使用GPS感測器,其允許獲取姿勢資訊。
圖4圖示適合於根據各個實施例使用的示例性導航系統。參考圖1A、圖1B、圖1C、圖2、圖3、圖4所示,可以在諸如地面車輛(例如,汽車、真空吸塵器機器人等等)、飛行器(例如,UAV)等等之類的機器人設備(例如,102)的處理器上實現導航系統400。
在導航系統400中,可以從多個感測器接收輸入,以使系統能夠針對機器人設備上的VSLAM程序,執行定位、地圖產生和路徑規劃。
在一些實施例中,感測器402可以包括至少一個IMU感測器,以用於偵測方位或其他操縱資料。如前述,感測器402亦可以包括至少一個運動回饋感測器,例如車輪編碼器、光流感測器、壓力感測器或其他基於碰撞或接觸的感測器。此外,感測器402可以包括至少一個圖像感測器,例如視覺相機、紅外感測器、聲納探測器等等。
可以將來自感測器402的原始量測資料提供給前置處理器404。由前置處理器404執行的預處理可以包括:去除異常值和雜訊抑制,以及標誌/特徵提取、資料關聯等等。在各種實施例中,前置處理器404可以輸出與機器人設備的位置和方位有關的經處理的量測值(例如,加速度、速度、測距資訊等等)。
儘管一起圖示,但是前置處理器404可以表示多個前置處理器,每個前置處理器對應於不同的感測器或感測器組。例如,一些前置處理器可以被配置為從多個感測器接收和聯合處理原始量測值,或者可以被配置為從單個感測器402接收和處理原始量測值。
可以將來自每個前置處理器404的經處理的量測值提供給語義資訊提取器406,語義資訊提取器406可以獲得關於與對應的前置處理器404相關聯的每個感測器402的語義資訊。具體而言,語義資訊提取器406可以被配置為辨識和記錄與相關聯的感測器402相關的特定不利事件。此種不利事件可以包括:例如,異常資料量測、來自感測器的一系列空白量測、指示機器人設備的狀況的資料(例如,設備卡住、與障礙物碰撞等等),或者指示一或多個感測器的效能降低的任何其他量測。
在一些實施例中,語義資訊提取器406可以被配置為判斷來自車輪編碼器(例如,105)的資料是否包括由於諸如打滑或阻力之類的狀況引起的錯誤或不準確資訊。在一些實施例中,語義資訊提取器406可以被配置為計算置信度值,該置信度值量化所收集的感測器資料落入準確性容許區間內的置信水平。類似地,語義資訊提取器406可以被配置為計算準確性概率值,其標識從感測器(例如,車輪編碼器105等等)收集的資訊是準確的程度或可能性。例如,計算的準確性概率值可以標識在一段時間內從車輪編碼器收集的距離資訊具有機器人設備在該
時間段期間行進的實際距離的準確度(例如,在一米、分米、釐米、毫米等等之內)的可能性。
在各個實施例中,語義資訊提取器406可以儲存和更新每個關聯感測器402的語義資訊。此種語義資訊可以以多種資料結構中的任何一種來表示,該等資料結構可以儲存在機器人設備上的本機存放區中的資料庫中。可用於表示語義資訊的資料結構的例子係包括例如資料表/陣列、資料樹等等。
可以基於所收集的語義資訊的量,來選擇所採用的資料結構的類型以提高效率。在一些實施例中,可以利用陣列,來表示跨時間和空間相對密集的語義資訊。例如,可以利用陣列,來最佳地表示基於記錄異常感測器資料的語義資訊。在一些實施例中,可以利用資料樹,來表示跨時間和空間相對稀疏的語義資訊。例如,可以利用資料樹,來最佳地表示基於記錄機器人設備被卡住的事件的語義資訊。
在一些實施例中,本機存放區可以是單獨的存放裝置,其例子可以包括通用序列匯流排(USB)驅動器、儲存卡、固態驅動器(SSD)、硬碟(HDD)、軟碟、光碟、磁帶等等。例如,本機存放區可以是卸載式存放裝置設備,諸如儲存卡,例如PC卡、CompactFlash、智慧媒體、儲存棒、儲存棒Duo、儲存棒PRO Duo、微型卡、多媒體卡(MMC)、縮小尺寸多媒體卡(RS-MMC)、MMCmicro卡(MMCmicro)、PS2
卡、安全數位(SD)卡、SxS、通用快閃記憶體(UFS)、miniSD、microSD、xD-圖片卡、智慧棒(iStick)等等。在一些實施例中,本機存放區可以是記憶體設備(例如,224)的一個分區或一部分。
在各種實施例中,可以經由將來自對應的前置處理器406的經處理量測值與機器人設備的當前估計的姿勢進行比較,偵測不利事件。在各種實施例中,來自用於VSLAM的定位件408的回饋可以向每個語義資訊提取器406提供當前估計的姿勢。若來自前置處理器404的經處理量測值所指示的姿勢與當前估計的姿勢之間的差異大於預定閾值,則語義資訊提取器406可以記錄針對相關的一或多個相關聯感測器402的不利事件。具體而言,語義資訊提取器406可以經由存取時槽伺服器410辨識時槽,在該時槽期間不利事件在一段時間內發生。在一些實施例中,時槽伺服器410可以為每個語義資訊提取器406維持獨立的時間段和時槽指令。
使用當前估計的姿勢和時槽,語義資訊提取器406可以更新所儲存的針對相關的一或多個相關聯的感測器402的語義資訊。語義資訊提取器406可以週期性地尋求辨識跨時槽的不利事件發生中的模式及/或每個相關聯的感測器402的姿勢(例如,當每個時間段結束時)。可以將任何此類辨識的模式提供給加權因數元件412,加權因數元件412可以從對應的前置處理器404接收經處理的量測值。在各個實施例中,加權元件412可以基於所
辨識的模式、置信度值或準確性概率值,調整給予來自相關的相關聯的感測器402的資料(亦即,經處理的量測值)的權重。此種調整可以涉及:在特定的持續時間內,或者當機器人設備位於特定的空間區域時,對來自感測器402的資料的加權因數進行降低。
在基於語義資訊調整加權因數之後,可以將經處理的量測值提供給定位件408。如前述,定位件408可以產生作為VSLAM程序的一部分的機器人設備的當前估計姿勢。除了向語義資訊元件406提供當前估計的姿勢之外,定位件408亦可以將該資訊提供給建圖元件414和路徑規劃元件416。在各個實施例中,預處理元件404可以將關於局部環境中的障礙物的位置的資料提供給建圖元件414。提供該障礙物位置資訊的前置處理器404以及其相關聯的感測器402可以是與用於向語義資訊提取器406提供經處理量測值的彼等前置處理器和感測器相同或不同。在一些實施例中,可以基於局部環境中的辨識的點集及/或標誌來計算物件位置資訊。在一些實施例中,建圖元件414可以利用當前估計的姿勢和障礙物位置資訊來構造至少一個地圖。例如,在使用VSLAM技術時,建圖元件414可以產生具有用於導航的本端環境的空間表示的地圖,以及關於特徵(例如,標誌)來更新相對於機器人設備的建圖資訊。
可以將建圖元件414產生的地圖提供給路徑規劃元件416。路徑規劃元件416可以使用所接收的地圖
和當前估計的姿勢資訊,來選擇、建立或更新用於機器人設備的導航路徑。
在各個實施例中,機器人設備的處理器(例如,處理器220等等)和機器人設備的硬體元件及/或軟體元件可以被配置為使用圖像感測器來擷取和處理圖像。例如,機器人設備的圖像感測器可以擷取目標物件的圖像。可以對目標物件進行定位或佈置,使得機器人設備圖像感測器可以容易地獲取目標物件中的至少兩個目標物件的圖像。若圖像感測器不能獲得目標物件中的兩個或更多個目標物件的圖像,則處理器可以指示各種致動器將機器人設備移動到另一個位置或姿勢,並再次嘗試。
處理器可以使用擷取的目標物件的圖像來執行VSLAM。例如,處理器可以辨識每個擷取的圖像內的特徵,並且可以嘗試追蹤後續圖像之間的彼等特徵。
在一些實施例中,處理器可以判斷是否可以決定圖像感測器的旋轉角度。處理器可以嘗試計算機器人設備和目標物件之間的旋轉的角度。因為目標物件的尺寸、位置和定位是已知的並且儲存在機器人設備的記憶體中,所以處理器能夠使用所擷取的圖像,來計算機器人設備關於目標物件的旋轉角度。回應於決定不能決定圖像感測器的旋轉角度,處理器可以擷取目標物件的額外圖像。因此,若處理器不能決定機器人設備關於目標物件的旋轉角度,則機器人設備可以返回到擷取圖像並執行
VSLAM,直到找到可以根據其計算旋轉角度的圖像為止。
回應於決定可以決定圖像感測器的旋轉角度,處理器可以選擇在圖像的視野中具有兩個或更多個目標物件的擷取圖像。處理器可以至少部分地基於所選圖像內的目標物件的位置來決定圖像比例。因為目標物件相對於彼此的尺寸和位置是已知的,因此機器人設備的處理器可以計算圖像的比例。處理器可以將所選圖像中的目標物件的大小和分佈與儲存的針對該等目標物件的尺寸和位置資訊進行比較,以決定圖像中物件的比例。
處理器可以判斷所選圖像是否包括多於兩個的目標物件。可以在選擇擷取的圖像期間、在特徵辨識期間或之後進行該決定。若所選圖像包含多於兩個的目標物件,則可以從該圖像中獲得額外的資訊。
回應於決定所選圖像不包括多於兩個的目標物件,處理器可以繼續擷取目標物件的圖像。另一態樣,回應於決定所選圖像包括多於兩個的目標物件,處理器可以回應於決定所選圖像包括多於兩個的目標物件而決定旋轉角度校正。
若該等目標物件位於同一平面內,則處理器可以採用基於單應性矩陣的技術來決定旋轉角度校正。若該等目標物件不位於同一平面中,則處理器可以採用基本矩陣技術來決定旋轉角度校正。
圖5A根據實施例,圖示被配置為採用VSLAM技術的機器人設備102中的各種操作和功能元件,該VSLAM技術包括使用光流感測器的VSLAM比例估計。在圖5A所示的例子中,機器人設備102包括車輪編碼器105、光流感測器107、單應性計算元件506和比例估計元件508。
單應性計算元件506可以被配置為產生或計算初始單應性矩陣(H)。在一些實施例中,單應性計算元件506可以被配置為與機器人設備的處理器協同工作,以辨識第一相機訊框502中的突出物件/特徵,辨識第二相機訊框504中的突出物件/特徵,並將所辨識的特徵彼此進行比較及/或將所辨識的特徵與測試圖像中的具有已知尺寸和比例的特徵進行比較。單應性計算元件506可以基於該等比較來辨識對應關係。單應性計算元件506可以使用所辨識的對應關係,來產生或產生初始單應性矩陣(H)或單應性計算。
如上面所提及的,在一些實施例中,單應性計算元件506可以被配置為產生或計算單應性矩陣(H)或值。在各個實施例中,單應性矩陣(H)可以包括一組值、向量、向量集、映射、線性映射、矩形陣列、多維陣列或其他類似的資訊結構。在一個實施例中,該單應性矩陣可以是具有8個自由度(DoF)的3x3矩陣,其是根據四(4)個點對應關係(例如,(p1,p1’)、(p2,p2’)、(p3,p3’)和(p4,p4’))來計算的。
可以經由函式撥叫來計算單應性矩陣(H),例如「Mat H=findHomography(points_sourceImage,points_destinationImage)」或「H=Mat findHomography((InputArray srcPoints,InputArray dstPoints,int method=0,double ransacReprojThreshold=3,OutputArray mask=noArray( )))」。在一些實施例中,單應性矩陣(H)可以是:
在一些實施例中,單應性計算元件506可以被配置為對單應性矩陣(H)執行奇異值分解(SVD)運算,以基於圖像來計算或產生用於辨識或估計機器人設備的位置及/或方位的交易資訊結構(T)。
在一些實施例中,該系統可以被配置為經由諸如「Mat getAffineTransform(const Point2f src[ ],const Point2f dst[ ])」的函式撥叫來計算仿射、仿射圖、仿射座標或仿射變換。
比例估計元件508可以被配置為從單應性計算元件506接收單應性計算(例如,單應性矩陣(H)、
交易(T)等等),從車輪編碼器105接收車輪資料,以及從光流感測器107接收光流資訊。
在一些實施例中,所接收的車輪交易資料及/或光流資訊可以包括:用於標識機器人設備在第一圖像訊框和第二圖像訊框之間移動的方向和距離的資訊。在一些實施例中,所接收的車輪交易資料及/或光流資訊可以包括:用於標識機器人設備在第一圖像訊框和第二圖像訊框之間行進的距離(例如,歐幾里德距離等等)的資訊。在一些實施例中,所接收的車輪交易資料及/或光流資訊可以包括:用於標識在擷取第一圖像訊框的第一位置與擷取第二圖像訊框的第二位置之間的最短路徑的長度的資訊。在一些實施例中,所接收的車輪資料可以包括車輪編碼器交易(Tw)資訊結構。在一些實施例中,所接收的光流資訊可以包括光流感測器交易(To)資訊結構。
比例估計元件508可以基於所接收的資訊(例如,單應性計算、辨識機器人設備102在第一圖像訊框和第二圖像訊框之間的位移的資訊,等等),來估計物件、特徵、圖像或訊框的比例。例如,比例估計元件508可以基於由單應性計算元件506計算的交易(T)和從車輪編碼器接收的車輪編碼器交易(Tw)的組合,來決定比例。再舉一個例子,比例估計元件508可以使用從單應性計算元件506接收的資訊來產生第一交易(T),使用從車輪編碼器105接收的資訊來產生第二交易(Tw),並基於第一交易和第二交易來決定比例(例如,s=Tw/T)。
在一個實施例中,計算設備可以被配置為經由調用諸如getWheelOdom(位置,方位)之類的函數,來計算包括在車輪編碼器交易(Tw)中的值。計算設備可以將位置在對應於相機訊框的短時間段(相機訊框之間的時間)上求積分。在一個實施例中,計算設備可以被配置為如下所述地計算車輪編碼器交易(Tw)的值:∫ t (x 2+y 2+z 2)1/2=Tw→
其中基於△x的符號,K=±1
比例估計元件508亦可以基於單應性計算(例如,相機交易T)和光流資訊(例如,光流感測器交易To)的組合來決定比例。例如,比例估計元件508可以基於由單應性計算元件506計算的交易(T)和從光流感測器107接收的光流感測器交易(To)的組合來決定比例。再舉一個例子,比例估計元件508可以使用從單應性計算元件506接收的資訊來產生第一交易(T),使用從光流感測器107接收的資訊來產生另一交易(To),並基於所決定的交易來決定比例(例如,s=To/T)。
機器人設備中的處理器可以使用所決定的比例,採用基於單應性矩陣的技術來決定機器人設備姿勢、旋轉角度校正及/或其他類似資訊。例如,處理器可以結合位移資訊,使用第一相機訊框和第二相機訊框中的物件/特徵之間的比例差異來決定其當前位置和方位。
圖5B圖示用於基於光流資訊,計算從時間(t)到時間(t+1)的交易的系統。在圖5B所示的例子中,機器人設備102從時間t的位置(x,y)移動到時間t+1的位置(x+u,y+v)。在時間t和時間t+1之間,光流感測器在位置(u1,v1)擷取第一圖像,在位置(u2,v2)擷取第二圖像,在位置(u3,v3)擷取第三圖像,在位置(u4,v4)擷取第四圖像,以及在位置(u5,v5)擷取第五圖像。在時間t和時間t+1之間的軌跡或位移是(u,v),其由光流感測器交易(To)表示。基於單應性計算,該系統可以計算在相同的時間段內,機器人設備的主相機的交易(T)。在該例子中,機器人設備的比例是To/T。
圖5C圖示在沒有比例估計的情況下,機器人設備的相機隨時間的軌跡和姿勢。
圖5D圖示在具有比例估計的情況下,機器人設備的相機隨時間的軌跡和姿勢。
圖6根據實施例,圖示決定機器人設備的姿勢的方法600。參考圖1A、圖1B、圖1C、圖2、圖3、圖4、圖5A、圖5B、圖5C、圖5D、圖6,機器人設備的處理器(例如,處理器220等等)和機器人設備的硬體元件及/或軟體元件可以嘗試使用任何數量的機器人設備的感測器和其組合,來決定機器人設備的機器人設備姿勢。
在方塊602中,機器人設備的處理器可以接收或擷取環境的第一圖像訊框,其可以包括一或多個目標物件。在一些實施例中,第一圖像訊框可以由單個(亦即,單目)相機擷取。
在方塊604中,機器人設備的處理器可以接收或擷取一或多個目標物件的第二圖像訊框。
在方塊606中,機器人設備的處理器可以基於第一圖像訊框和第二圖像訊框產生單應性計算值,並基於該單應性計算值產生單應性矩陣(H)資訊結構。
在方塊608中,機器人設備的處理器可以從光流感測器收集或接收光流感測器資料。在一些實施例中,機器人設備的處理器可以將光流感測器圖像應用於Lucas-Kanade元件/功能,以產生包括每個特徵點的圖元速度值和方向值的光流資訊。在一個實施例中,作為方塊608中的操作的一部分,處理器可以產生光流感測器交易(To)資訊結構。
將方塊608中的接收光流資訊的操作與方塊602和604中擷取圖像的操作並行圖示,以說明從光流感測器以及其他運動或距離感測器(例如,車輪編碼器)接收運動資料可以與圖像擷取操作並行地、順序地,或者在相對於圖像擷取操作的另一時間間隔處發生。在各個實施例中,可以連續地、週期性地、依須求地(例如,回應於擷取第一圖像及/或第二圖像)及/或回應於決定(例如,回應於關於車輪打滑或者可能發生車輪打滑的處理器決定),來發生從光流感測器和其他測距感測器接收距離量測值。在一些實施例中,可以連續地收集來自光流感測器的距離量測資料,例如與由單獨的處理器收集和處理的資訊一起收集,其中該處理器將原始資料或程序資料儲存在可由執行VSLAM的處理器存取的記憶體中。在此種實施例中,執行VSLAM的處理器可以在需要執行VSLAM計算時,存取儲存的位置或距離資料。在一些實施例中,可以回應於擷取到要進行處理以用於VSLAM導航的圖像(例如,在方塊602和604中),接收從光流感測器接收的距離量測資訊,例如在方塊602中擷取第一圖像時開始,以及在方塊604中獲得第二圖像時終止。在一些實施例中,處理器可以判斷是否在發生車輪打滑(如本文所述),並且回應於決定車輪打滑已經發生或正在發生,處理器可以開始接收或存取來自光流感測器的資料。在一些實施例中,處理器評估用於VSLAM的圖像可以包括:對圖像進行處理以辨識或預測何時可能發生車輪打滑,例如
偵測到陡峭傾斜、要克服的障礙物、潮濕表面等等。回應於決定可能發生車輪打滑(例如,預測概率超過閾值),處理器可以開始從光流感測器接收資料。在各個實施例中,光流感測器可以一直是活動的,或者可以在執行VSLAM的處理器需要或要求量測資料時被啟動。
在方塊610中,機器人設備的處理器可以基於單應性計算(例如,交易T)和光流資訊(例如,光流感測器交易To)來計算或決定比例估計值。
在方塊612中,機器人設備的處理器可以基於所計算或決定的比例估計值,來決定機器人設備姿勢(例如,定位、位置、方位等等)。
圖7根據另一個實施例,圖示決定機器人設備的姿勢的方法700。參考圖1A、圖1B、圖1C、圖2、圖3、圖4、圖5A、圖5B、圖5C、圖5D、圖6,機器人設備的處理器(例如,處理器220等等)和機器人設備的硬體元件及/或軟體元件可以嘗試使用任何數量的機器人設備的感測器和其組合,來決定機器人設備的機器人設備姿勢。在各個實施例中,可以在機器人設備在方塊602和604中擷取目標物件的圖像或者擷取第一圖像訊框和第二圖像訊框之後,執行方法700的操作。
在方塊702中,機器人設備的處理器可以基於第一圖像訊框和第二圖像訊框來產生單應性計算(例如,相機交易T)。
在方塊704中,機器人設備的處理器可以從車輪編碼器接收車輪交易資料。在一些實施例中,所接收的車輪交易資料可以包括關於車輪的周長或尺寸的資訊,以及關於車輪的旋轉角度、轉數及/或轉速的資訊。在一些實施例中,所接收的車輪交易資料可以包括:用於標識第一圖像訊框和第二圖像訊框之間的位移、距離、長度的資訊。在一些實施例中,所接收的車輪交易資料可以包括車輪編碼器交易(Tw)資訊結構。在另外的實施例中,所接收的車輪交易資料可以包括以下各項中的任何一項或全部:分量向量、位置資訊、方位資訊、座標值、時間值、公差值、置信度值、精度值及/或適用於決定位移、距離或長度及/或接收的資訊是精確、準確或正確的概率或可能性的其他類似資訊。
在判斷方塊706中,機器人設備的處理器可以分析車輪交易資料以偵測打滑。在一些實施例中,機器人設備可以經由判斷資料中是否存在連續性改變來偵測發生打滑,其中不連續資料指示打滑。在一些實施例中,當收集的車輪交易資料與預期的車輪交易資料之間的差異超過閾值時,機器人設備可以決定已經偵測到打滑。機器人設備可以基於從感測器(例如,感測器105、107、154、160-166等等)收集的任何或所有資訊,來決定預期的車輪交易資料。例如,處理器可以將基於車輪交易資料的運動估計與基於一段時間內的加速度計資料的運動估計進行比較,以判斷根據兩個資料來源決定的距離或
速度估計是否不一致,例如偏離的量超過閾值。再舉一個例子,處理器可以將基於車輪交易資料的運動或距離估計與基於碰撞避免感測器(例如,超聲波聲納或雷達感測器)的運動或距離估計進行比較,以判斷根據兩個資料來源決定的距離或速度估計是否不一致,例如偏離的量超過閾值。
在一個實施例中,機器人設備的處理器可以被配置為經由決定車輪姿勢改變(或者正在連續地改變),但是相機擷取的相應圖像沒有改變(例如,來自相機的平移T為零)或者沒有改變與車輪旋轉一致的量,來偵測打滑。在該情況下,車輪移動而沒有使機器人設備顯著地移動(亦即,車輪在位置上滑轉)。
在一個實施例中,機器人設備的處理器可以被配置為經由決定車輪姿勢和相機姿勢皆已經改變(或正在改變),但是車輪編碼器交易(Tw)不等於來自相機的平移(T),來偵測打滑。
回應於決定已經偵測到打滑(亦即,判斷方塊706=「是」),在方塊707中,機器人設備的處理器可以從光流感測器收集光流資訊。在一些實施例中,作為在方塊707中的操作的一部分,機器人設備的處理器可以將光流感測器資料應用於Lucas-Kanade元件/功能。
在方塊710中,機器人設備的處理器可以基於單應性計算和光流資訊來決定比例估計值。
回應於決定尚未偵測到打滑(亦即,判斷方塊706=「否」),在方塊712中,機器人設備的處理器可以基於單應性計算和車輪交易資料來決定比例估計值。
在方塊714中,機器人設備的處理器可以基於比例估計值來決定機器人設備姿勢(例如,機器人設備的姿勢、機器人設備的圖像感測器的姿勢等等)。
圖8根據另一個實施例,圖示決定機器人設備的姿勢的方法800。參考圖1A、圖1B、圖1C、圖2、圖3、圖4、圖5A、圖5B、圖5C、圖5D、圖6、圖7、圖8,機器人設備的處理器(例如,處理器220等等)和機器人設備的硬體元件及/或軟體元件可以嘗試使用任何數量的機器人設備的感測器和其組合,來決定機器人設備的機器人設備姿勢。在各個實施例中,可以在機器人設備在方塊702和704中擷取目標物件的圖像或者擷取第一圖像訊框和第二圖像訊框之後,執行方法800的操作。
在方塊802中,機器人設備的處理器可以基於第一圖像訊框和第二圖像訊框來產生單應性計算。
在方塊804中,機器人設備的處理器可以從車輪編碼器接收車輪交易資料。
在方塊806中,機器人設備的處理器可以基於所接收的車輪交易資料來計算、產生或決定第一置信度值。
在方塊808中,機器人設備的處理器可以從光流感測器接收光流資訊。在一些實施例中,作為方塊808
中的操作的一部分,機器人設備的處理器可以將光流感測器資料應用於Lucas-Kanade元件/功能,以產生表徵兩個圖像訊框之間的轉換或交易的光流資訊。
在方塊810中,機器人設備的處理器可以基於所接收的光流資訊來決定、計算、產生或決定第二置信度值。
在判斷方塊812中,機器人設備的處理器可以判斷第一置信度值(基於所接收的車輪交易資料產生)是否超過第二置信度值(基於所接收的光流資訊產生)。
回應於決定第一置信度值超過第二置信度值(亦即,判斷方塊812=「是」),在方塊814中,處理器可以基於單應性計算和車輪交易資料來決定比例估計值。
回應於決定第一置信度值沒有超過第二置信度值(亦即,判斷方塊812=「否」),在方塊816中,處理器可以基於單應性計算和光流資訊來決定比例估計值。
在方塊818中,機器人設備的處理器可以基於比例估計值,來計算、產生或決定機器人設備姿勢(例如,機器人設備的姿勢、機器人設備的圖像感測器的姿勢等等)。
圖9根據另一個實施例,圖示決定機器人設備的姿勢的方法900。參考圖1A、圖1B、圖1C、圖2、圖3、圖4、圖5A、圖5B、圖5C、圖5D、圖6、圖7、圖8、
圖9,機器人設備的處理器(例如,處理器220等等)和機器人設備的硬體元件及/或軟體元件可以嘗試使用任何數量的機器人設備的感測器和其組合,來決定機器人設備的機器人設備姿勢。在各個實施例中,可以在機器人設備在方塊502中擷取目標物件的圖像或者在方塊702和704中擷取第一圖像訊框和第二圖像訊框之後,執行方法900的操作。
在方塊902中,機器人設備的處理器可以基於第一圖像訊框和第二圖像訊框來計算、產生或決定單應性計算。
在方塊904中,機器人設備的處理器可以從車輪編碼器接收車輪交易資料。
在方塊906中,機器人設備的處理器可以基於單應性計算和車輪交易資料來計算、產生或決定第一比例估計值。
在方塊908中,機器人設備的處理器可以基於第一比例估計值來計算、產生或決定第一置信度值。
在方塊910中,機器人設備的處理器可以從光流感測器接收光流資訊。在一些實施例中,作為方塊910中的操作的一部分,機器人設備的處理器可以將光流感測器資料應用於Lucas-Kanade元件/功能,以產生表徵兩個圖像訊框之間的轉換或交易的光流資訊。
在方塊912中,機器人設備的處理器可以基於單應性計算和光流資訊來計算、產生或決定第二比例估計值。
在方塊914中,機器人設備的處理器可以基於第二比例估計值來計算、產生或決定第二置信度值。
在判斷方塊916中,機器人設備的處理器可以判斷第一置信度值(基於車輪交易資料)是否超過第二置信度值(基於光流資訊)。
回應於決定第一置信度值超過第二置信度值(亦即,判斷方塊916=「是」),在方塊918中,處理器可以基於第一比例估計值來計算、產生或決定機器人設備姿勢。
回應於決定第一置信度值沒有超過第二置信度值(亦即,判斷方塊916=「否」),在方塊920中,處理器可以基於第二比例估計值來計算、產生或決定機器人設備姿勢。
圖10根據實施例,圖示決定比例估計值和機器人設備的姿勢以便改善導航的方法1000。參考圖1A、圖1B、圖1C、圖2、圖3、圖4、圖5A、圖5B、圖5C、圖5D、圖6、圖7、圖8、圖9、圖10,機器人設備的處理器(例如,處理器220等等)和機器人設備的硬體元件及/或軟體元件可以嘗試使用任何數量的機器人設備的感測器和其組合,來決定機器人設備的機器人設備姿勢。在各個實施例中,可以在機器人設備在方塊502中擷取目標
物件的圖像或者在方塊702和704中擷取第一圖像訊框和第二圖像訊框之後,執行方法1000的操作。
在方塊1002中,機器人設備的處理器可以基於第一圖像訊框和第二圖像訊框來計算、產生或決定單應性計算。
在方塊1004中,機器人設備的處理器可以從車輪編碼器接收車輪交易資料。
在方塊1006中,機器人設備的處理器可以從光流感測器接收光流資訊。在一些實施例中,作為方塊1006中的操作的一部分,機器人設備的處理器可以將光流感測器資料應用於Lucas-Kanade元件/功能,以產生表徵兩個圖像訊框之間的轉換或交易的光流資訊。
在方塊1008中,機器人設備的處理器可以基於車輪交易資料和光流資訊(例如,光流感測器交易To)的組合以及單應性計算來決定比例估計值。例如,處理器可以執行感測器融合操作,以將車輪交易資料進行正規化並與光流資訊進行組合,並且基於單應性計算和感測器融合操作的結果來決定比例估計值。
在方塊1010中,機器人設備的處理器可以基於所決定的比例估計值來計算、產生或決定機器人設備姿勢。
各個實施例亦使用更準確地決定的機器人設備姿勢,來提高機器人設備的VSLAM能力的準確性。
所圖示和描述的各種實施例僅僅提供成用於說明申請專利範圍的各個特徵的舉例。但是,關於任何給定實施例圖示和描述的特徵並不必限於相關聯的實施例,並且可以與所圖示和描述的其他實施例一起使用或組合。此外,申請專利範圍並不意欲受到任何一個示例性實施例的限制。例如,方法600、700、800、900和1000的操作中的一或多個可以替代為該等方法的一或多個操作或者與之相組合。
上述的方法描述和處理流程圖僅僅是用作為說明性例子,而不是意欲要求或者隱含著必須以所提供的順序來執行各個實施例的操作。如本領域一般技藝人士所應當理解的,可以以任何順序來執行上述的實施例中的操作順序。諸如「其後」、「轉而」、「接著」等等之類的詞語,並不意欲限制該等操作的順序;該等詞語僅僅只是用於引導讀者遍歷該方法的描述。此外,任何對請求項要素的單數引用(例如,使用冠詞「一個(a)」、「某個(an)」或者「該(the)」),不應被解釋為將該要素限制為單數形式。
結合本文所揭示的實施例描述的各種示例性邏輯區塊、模組、元件、電路和演算法操作均可以實現成電子硬體、電腦軟體或二者的組合。為了清楚地表示硬體和軟體之間的此種可交換性,上面對各種示例性元件、方塊、模組、電路和操作均圍繞其功能進行了整體描述。至於此種功能是實現成硬體還是實現成軟體,取決於特定的
應用和對整個系統所施加的設計約束。技藝人士可以針對每個特定應用,以變通的方式實現所描述的功能,但是,此種實施例決策不應被解釋為使得背離申請專利範圍的保護範圍。
可以利用被設計為執行本文所述功能的通用處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或其他可程式設計邏輯裝置、個別閘門或者電晶體邏輯裝置、個別硬體元件或者其任意組合,來實現或執行用於實現結合本文所揭示的態樣描述的各種示例性邏輯單元、邏輯區塊、模組和電路的硬體。通用處理器可以是微處理器,或者,該處理器亦可以是任何一般的處理器、控制器、微控制器或者狀態機。處理器亦可以實現為接收器智慧物件的組合,例如,DSP和微處理器的組合、若干微處理器、一或多個微處理器與DSP核心的結合,或者任何其他此種結構。替代地,一些操作或方法可以由特定於給定的功能的電路系統來執行。
在一或多個實施例中,本文所述功能可以用硬體、軟體、韌體或其任意組合的方式來實現。當在軟體中實現時,可以將該等功能儲存成非臨時性電腦可讀取儲存媒體或者非臨時性處理器可讀儲存媒體上的一或多個指令或代碼。本文所揭示的方法或演算法的操作,可以體現在處理器可執行軟體模組或者處理器可執行指令中,後者可以位於非臨時性電腦可讀取儲存媒體或處理器可讀儲
存媒體上。非臨時性電腦可讀或處理器可讀儲存媒體可以是電腦或處理器能夠存取的任何儲存媒體。舉例而言,但非做出限制,此種非臨時性電腦可讀取儲存媒體或者處理器可讀儲存媒體可以包括RAM、ROM、EEPROM、快閃記憶體、CD-ROM或其他光碟記憶體、磁碟記憶體或其他磁儲存智慧物件,或者能夠用於儲存具有指令或資料結構形式的期望的程式碼並能夠由電腦進行存取的任何其他媒體。如本文所使用的,磁碟和光碟包括壓縮光碟(CD)、雷射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地複製資料,而光碟則用鐳射來光學地複製資料。上述的組合亦包括在非臨時性電腦可讀取媒體和處理器可讀取媒體的範圍之內。另外,一種方法或演算法的操作可以作為一個代碼及/或指令或代碼及/或指令集或者其任意組合,位於非臨時性處理器可讀儲存媒體及/或電腦可讀取儲存媒體上,其中該非臨時性處理器可讀儲存媒體及/或電腦可讀取儲存媒體可以併入到電腦程式產品中。
為使本領域任何一般技藝人士能夠實現或者使用申請專利範圍,上面圍繞所揭示的實施例進行了描述。對於本領域一般技藝人士來說,對該等實施例的各種修改是顯而易見的,並且,本文定義的整體原理亦可以在不脫離申請專利範圍的保護範圍的基礎上應用於其他實施例。因此,本案內容並不限於本文所圖示的實施例,而
是符合與所附申請專利範圍和本文揭示的原理和新穎性特徵相一致的最廣範圍。
105:車輪編碼器
107:光流感測器
502:第一相機訊框
504:第二相機訊框
506:單應性計算元件
508:比例估計元件
Claims (30)
- 一種由一機器人設備的一處理器執行視覺同時定位和建圖(VSLAM)的方法,包括以下步驟: 從一單目圖像感測器接收一第一圖像訊框; 從該單目圖像感測器接收一第二圖像訊框; 基於該第一圖像訊框和該第二圖像訊框產生一單應性計算; 從一光流感測器接收光流感測器資料;及 基於該單應性計算和該光流感測器資料來決定一比例估計值。
- 如請求項1所述之方法,其中基於該第一圖像訊框和該第二圖像訊框產生該單應性計算之步驟包括以下步驟: 產生一單應性矩陣資訊結構;及 經由對所產生的該單應性矩陣資訊結構執行一奇異值分解(SVD)運算來產生一交易資訊結構。
- 如請求項2所述之方法,其中基於該第一圖像訊框和該第二圖像訊框產生該單應性計算之步驟亦包括以下步驟: 辨識該第一圖像訊框中的至少四個特徵點; 辨識該第二圖像訊框中的至少四個對應特徵點;及 產生該單應性矩陣資訊結構以包括所辨識的該至少四個特徵點和所辨識的該至少四個對應特徵點。
- 如請求項1所述之方法,亦包括以下步驟: 基於該比例估計值,決定該機器人設備的一機器人設備姿勢。
- 如請求項4所述之方法,亦包括以下步驟: 從一車輪編碼器接收車輪交易資料; 基於該單應性計算和該車輪交易資料來決定一基於車輪的比例估計值; 根據該基於車輪的比例估計值來決定一第一置信度值;及 基於該比例估計值來決定一第二置信度值, 其中基於該比例估計值決定該機器人設備姿勢之步驟包括以下步驟: 回應於決定該第一置信度值未超過該第二置信度值,基於該比例估計值來決定該機器人設備姿勢;及 回應於決定該第一置信度值超過該第二置信度值,基於該車輪交易資料來決定該機器人設備姿勢。
- 如請求項5所述之方法,其中: 基於該第一圖像訊框和該第二圖像訊框產生該單應性計算之步驟包括以下步驟:基於該第一圖像訊框和該第二圖像訊框來產生一相機交易資訊結構;及 基於該單應性計算和該車輪交易資料來決定該基於車輪的比例估計值之步驟包括以下步驟: 基於該車輪交易資料來產生一車輪編碼器交易資訊結構;及 基於包括在該相機交易資訊結構中的值和包括在該車輪編碼器交易資訊結構中的值,來決定該基於車輪的比例估計值。
- 如請求項1所述之方法,亦包括以下步驟: 從一車輪編碼器接收車輪交易資料; 基於該車輪交易資料或該光流感測器資料中的至少一者,決定在一段時間內發生的一打滑量;及 判斷所決定的該打滑量是否超過一打滑閾值, 其中基於該單應性計算和該光流感測器資料來決定該比例估計值之步驟包括以下步驟: 回應於決定所決定的該打滑量超過該打滑閾值,基於該單應性計算和該光流感測器資料來決定該比例估計值;及 回應於決定所決定的該打滑量未超過該打滑閾值,基於該單應性計算和該車輪交易資料來決定該比例估計值。
- 如請求項1所述之方法,亦包括以下步驟: 從一車輪編碼器接收車輪交易資料; 判斷該車輪交易資料是否包括錯誤或異常資料; 其中基於該單應性計算和該光流感測器資料來決定該比例估計值之步驟包括以下步驟:回應於決定該車輪交易資料包括錯誤或異常資料,基於該單應性計算和該光流感測器資料來決定該比例估計值。
- 如請求項1所述之方法,亦包括以下步驟: 從一車輪編碼器接收車輪交易資料; 基於該車輪交易資料來決定一第一置信度值; 基於該光流感測器資料來決定一第二置信度值;及 判斷該第一置信度值是否超過該第二置信度值, 其中基於該單應性計算和該光流感測器資料來決定該比例估計值之步驟包括以下步驟: 回應於決定該第一置信度值未超過該第二置信度值,基於該單應性計算和該光流感測器資料來決定該比例估計值;及 回應於決定該第一置信度值超過該第二置信度值,基於該單應性計算和該車輪交易資料來決定該比例估計值。
- 如請求項1所述之方法,亦包括以下步驟: 將該光流感測器資料應用於一Lucas-Kanade元件以產生包括針對至少一個特徵點的一圖元速度值和一方向值的光流資訊;及 基於該光流資訊產生一光流感測器交易資訊結構, 其中基於該單應性計算和該光流感測器資料來決定該比例估計值之步驟包括以下步驟:基於該單應性計算和所產生的該光流感測器交易資訊結構來決定該比例估計值。
- 一種機器人設備,包括: 一記憶體; 一感測器;及 通訊地連接到該記憶體和該感測器的一處理器,並且該處理器被配置有處理器可執行指令以用於; 從一單目圖像感測器接收一第一圖像訊框; 從該單目圖像感測器接收一第二圖像訊框; 基於該第一圖像訊框和該第二圖像訊框產生一單應性計算; 從一光流感測器接收光流感測器資料;及 基於該單應性計算和該光流感測器資料來決定一比例估計值。
- 如請求項11所述之機器人設備,其中該處理器亦被配置有經由以下操作來基於該第一圖像訊框和該第二圖像訊框產生該單應性計算的處理器可執行指令: 產生一單應性矩陣資訊結構;及 經由對所產生的該單應性矩陣資訊結構執行一奇異值分解(SVD)運算來產生一交易資訊結構。
- 如請求項12所述之機器人設備,其中該處理器亦被配置有經由以下操作來基於該第一圖像訊框和該第二圖像訊框產生該單應性計算的處理器可執行指令: 辨識該第一圖像訊框中的至少四個特徵點; 辨識該第二圖像訊框中的至少四個對應特徵點;及 產生該單應性矩陣資訊結構以包括所辨識的該至少四個特徵點和所辨識的該至少四個對應特徵點。
- 如請求項11所述之機器人設備,其中該處理器亦被配置有基於該比例估計值來決定該機器人設備的一機器人設備姿勢的處理器可執行指令。
- 如請求項14所述之機器人設備,其中: 該處理器亦被配置有用於以下操作的處理器可執行指令: 從一車輪編碼器接收車輪交易資料; 基於該單應性計算和該車輪交易資料來決定一基於車輪的比例估計值; 根據該基於車輪的比例估計值來決定一第一置信度值;及 基於該比例估計值來決定一第二置信度值,以及 該處理器亦被配置有經由以下操作來基於該比例估計值決定該機器人設備姿勢的處理器可執行指令: 回應於決定該第一置信度值未超過該第二置信度值,基於該比例估計值來決定該機器人設備姿勢;及 回應於決定該第一置信度值超過該第二置信度值,基於該車輪交易資料來決定該機器人設備姿勢。
- 如請求項15所述之機器人設備,其中該處理器亦被配置有用於以下操作的處理器可執行指令: 經由基於該第一圖像訊框和該第二圖像訊框來產生一相機交易資訊結構,以基於該第一圖像訊框和該第二圖像訊框產生該單應性計算;及 經由以下操作,來基於該單應性計算和該車輪交易資料來決定該基於車輪的比例估計值: 基於該車輪交易資料來產生一車輪編碼器交易資訊結構;及 基於包括在該相機交易資訊結構中的值和包括在該車輪編碼器交易資訊結構中的值,來決定該基於車輪的比例估計值。
- 如請求項11所述之機器人設備,其中: 該處理器亦被配置有用於以下操作的處理器可執行指令: 從一車輪編碼器接收車輪交易資料; 基於該車輪交易資料或該光流感測器資料中的至少一者,決定在一段時間內發生的一打滑量;及 判斷所決定的該打滑量是否超過一打滑閾值,以及 該處理器亦被配置有經由以下操作來基於該單應性計算和該光流感測器資料來決定該比例估計值的處理器可執行指令: 回應於決定所決定的該打滑量超過該打滑閾值,基於該單應性計算和該光流感測器資料來決定該比例估計值;及 回應於決定所決定的該打滑量未超過該打滑閾值,基於該單應性計算和該車輪交易資料來決定該比例估計值。
- 如請求項11所述之機器人設備,其中: 該處理器亦被配置有用於以下操作的處理器可執行指令: 從一車輪編碼器接收車輪交易資料;及 判斷該車輪交易資料是否包括錯誤或異常資料;及 該處理器亦被配置有經由以下操作來基於該單應性計算和該光流感測器資料來決定該比例估計值的處理器可執行指令:回應於決定該車輪交易資料包括錯誤或異常資料,基於該單應性計算和該光流感測器資料來決定該比例估計值。
- 如請求項11所述之機器人設備,其中: 該處理器亦被配置有用於以下操作的處理器可執行指令: 從一車輪編碼器接收車輪交易資料; 基於該車輪交易資料來決定一第一置信度值; 基於該光流感測器資料來決定一第二置信度值;及 判斷該第一置信度值是否超過該第二置信度值,以及 該處理器亦被配置有經由以下操作來基於該單應性計算和該光流感測器資料來決定該比例估計值的處理器可執行指令: 回應於決定該第一置信度值未超過該第二置信度值,基於該單應性計算和該光流感測器資料來決定該比例估計值;及 回應於決定該第一置信度值超過該第二置信度值,基於該單應性計算和該車輪交易資料來決定該比例估計值。
- 如請求項11所述之機器人設備,其中: 該處理器亦被配置有用於以下操作的處理器可執行指令: 將該光流感測器資料應用於一Lucas-Kanade元件以產生包括針對至少一個特徵點的一圖元速度值和一方向值的光流資訊;及 基於該光流資訊產生一光流感測器交易資訊結構,以及 該處理器亦被配置有經由以下操作來基於該單應性計算和該光流感測器資料來決定該比例估計值的處理器可執行指令:基於該單應性計算和所產生的該光流感測器交易資訊結構來決定該比例估計值。
- 一種被配置為在一機器人車輛中使用的處理設備,其中該處理設備被配置為: 從一單目圖像感測器接收一第一圖像訊框; 從該單目圖像感測器接收一第二圖像訊框; 基於該第一圖像訊框和該第二圖像訊框產生一單應性計算; 從一光流感測器接收光流感測器資料;及 基於該單應性計算和該光流感測器資料來決定一比例估計值。
- 如請求項21所述之處理設備,其中該處理設備亦被配置為經由以下操作,基於該第一圖像訊框和該第二圖像訊框產生該單應性計算: 產生一單應性矩陣資訊結構;及 經由對所產生的該單應性矩陣資訊結構執行一奇異值分解(SVD)運算來產生一交易資訊結構。
- 如請求項22所述之處理設備,其中該處理設備亦被配置為經由以下操作,基於該第一圖像訊框和該第二圖像訊框產生該單應性計算: 辨識該第一圖像訊框中的至少四個特徵點; 辨識該第二圖像訊框中的至少四個對應特徵點;及 產生該單應性矩陣資訊結構以包括所辨識的該至少四個特徵點和所辨識的該至少四個對應特徵點。
- 如請求項21所述之處理設備,其中該處理設備亦被配置為: 從一車輪編碼器接收車輪交易資料; 基於該單應性計算和該車輪交易資料來決定一基於車輪的比例估計值; 根據該基於車輪的比例估計值來決定一第一置信度值;及 基於該比例估計值來決定一第二置信度值, 回應於決定該第一置信度值未超過該第二置信度值,基於該比例估計值來決定一機器人設備姿勢;及 回應於決定該第一置信度值超過該第二置信度值,基於該車輪交易資料來決定該機器人設備姿勢。
- 如請求項24所述之處理設備,其中該處理設備亦被配置為: 經由基於該第一圖像訊框和該第二圖像訊框來產生一相機交易資訊結構,以基於該第一圖像訊框和該第二圖像訊框產生該單應性計算;及 經由以下操作,來基於該單應性計算和該車輪交易資料來決定該基於車輪的比例估計值: 基於該車輪交易資料來產生一車輪編碼器交易資訊結構;及 基於包括在該相機交易資訊結構中的值和包括在該車輪編碼器交易資訊結構中的值,來決定該基於車輪的比例估計值。
- 如請求項21所述之處理設備,其中: 該處理設備亦被配置為: 從一車輪編碼器接收車輪交易資料; 基於該車輪交易資料或該光流感測器資料中的至少一者,決定在一段時間內發生的一打滑量;及 判斷所決定的該打滑量是否超過一打滑閾值;及 該處理設備亦被配置為經由以下操作,基於該單應性計算和該光流感測器資料來決定該比例估計值: 回應於決定所決定的該打滑量超過該打滑閾值,基於該單應性計算和該光流感測器資料來決定該比例估計值;及 回應於決定所決定的該打滑量未超過該打滑閾值,基於該單應性計算和該車輪交易資料來決定該比例估計值。
- 如請求項21所述之處理設備,其中: 該處理設備亦被配置為: 從一車輪編碼器接收車輪交易資料;及 判斷該車輪交易資料是否包括錯誤或異常資料;及 該處理設備亦被配置為經由以下操作,基於該單應性計算和該光流感測器資料來決定該比例估計值:回應於決定該車輪交易資料包括錯誤或異常資料,基於該單應性計算和該光流感測器資料來決定該比例估計值。
- 如請求項21所述之處理設備,其中: 該處理設備亦被配置為: 從一車輪編碼器接收車輪交易資料; 基於該車輪交易資料來決定一第一置信度值; 基於該光流感測器資料來決定一第二置信度值;及 判斷該第一置信度值是否超過該第二置信度值;及 該處理設備亦被配置為經由以下操作,基於該單應性計算和該光流感測器資料來決定該比例估計值: 回應於決定該第一置信度值未超過該第二置信度值,基於該單應性計算和該光流感測器資料來決定該比例估計值;及 回應於決定該第一置信度值超過該第二置信度值,基於該單應性計算和該車輪交易資料來決定該比例估計值。
- 如請求項21所述之處理設備,其中: 該處理設備亦被配置為: 將該光流感測器資料應用於一Lucas-Kanade元件以產生包括針對至少一個特徵點的一圖元速度值和一方向值的光流資訊;及 基於該光流資訊產生一光流感測器交易資訊結構;及 該處理設備亦被配置為經由以下操作,基於該單應性計算和該光流感測器資料來決定該比例估計值:基於該單應性計算和所產生的該光流感測器交易資訊結構來決定該比例估計值。
- 一種機器人設備,包括: 用於從一單目圖像感測器接收一第一圖像訊框的構件; 用於從該單目圖像感測器接收一第二圖像訊框的構件; 用於基於該第一圖像訊框和該第二圖像訊框產生一單應性計算的構件; 用於從一光流感測器接收光流感測器資料的構件;及 用於基於該單應性計算和該光流感測器資料來決定一比例估計值的構件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
WOPCT/CN2018/105898 | 2018-09-15 | ||
PCT/CN2018/105898 WO2020051923A1 (en) | 2018-09-15 | 2018-09-15 | Systems And Methods For VSLAM Scale Estimation Using Optical Flow Sensor On A Robotic Device |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202013251A TW202013251A (zh) | 2020-04-01 |
TWI827649B true TWI827649B (zh) | 2024-01-01 |
Family
ID=69777386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108129210A TWI827649B (zh) | 2018-09-15 | 2019-08-16 | 用於vslam比例估計的設備、系統和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210232151A1 (zh) |
EP (1) | EP3850581A4 (zh) |
CN (1) | CN112740274A (zh) |
TW (1) | TWI827649B (zh) |
WO (1) | WO2020051923A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020248185A1 (en) * | 2019-06-13 | 2020-12-17 | Lingdong Technology (Beijing) Co. Ltd | Autonomous mobile robot with adjustable display screen |
US20210065374A1 (en) * | 2019-08-26 | 2021-03-04 | Organize Everything Inc. | System and method for extracting outlines of physical objects |
TWI732579B (zh) * | 2020-06-02 | 2021-07-01 | 中華學校財團法人中華科技大學 | 無人載具之智慧充電方法及系統 |
US11718320B1 (en) * | 2020-08-21 | 2023-08-08 | Aurora Operations, Inc. | Using transmission sensor(s) in localization of an autonomous vehicle |
TWI739622B (zh) * | 2020-10-05 | 2021-09-11 | 國立虎尾科技大學 | 多光點雷射測距儀以及利用多光點雷射測距儀判斷反射光束種類及中心點位置之方法 |
CN112414365B (zh) * | 2020-12-14 | 2022-08-16 | 广州昂宝电子有限公司 | 位移补偿方法和设备及速度补偿方法和设备 |
CN114765667A (zh) * | 2021-01-13 | 2022-07-19 | 安霸国际有限合伙企业 | 用于多视图拼接的固定图案校准 |
US11521332B1 (en) | 2021-06-29 | 2022-12-06 | Midea Group Co., Ltd. | Method and apparatus for optimization of a monocular visual-inertial localization system |
US11756231B2 (en) | 2021-06-29 | 2023-09-12 | Midea Group Co., Ltd. | Method and apparatus for scale calibration and optimization of a monocular visual-inertial localization system |
KR20230064188A (ko) * | 2021-11-03 | 2023-05-10 | 네이버랩스 주식회사 | 단안 거리 추정 모델 학습 방법 및 시스템 |
CN114237242B (zh) * | 2021-12-14 | 2024-02-23 | 北京云迹科技股份有限公司 | 基于光学编码器对机器人进行控制的方法及装置 |
CN114347064B (zh) * | 2022-01-31 | 2022-09-20 | 深圳市云鼠科技开发有限公司 | 基于光流的机器人碰撞检测方法、装置、计算机设备及存储介质 |
CN118163088A (zh) * | 2022-12-08 | 2024-06-11 | 优思美地(上海)机器人科技有限公司 | 机器人运动信息的确定方法、***、机器人和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529587A (zh) * | 2016-08-26 | 2017-03-22 | 北京航空航天大学 | 基于目标点识别的视觉航向识别方法 |
US20170136626A1 (en) * | 2015-11-16 | 2017-05-18 | Abb Technology Ag | Facilitating robot positioning |
TW201719309A (zh) * | 2015-06-30 | 2017-06-01 | 芋頭科技(杭州)有限公司 | 機器人活躍程度智能控制系統及方法 |
US20170206665A1 (en) * | 2016-01-14 | 2017-07-20 | Texas Instruments Incorporated | Confidence Estimation For Optical Flow Under Low Light Conditions |
US20180043952A1 (en) * | 2016-08-12 | 2018-02-15 | Spin Master Ltd. | Spherical mobile robot with shifting weight steering |
TW201826993A (zh) * | 2016-12-09 | 2018-08-01 | 美商泰華施股份有限公司 | 具有基於環境之操作速度變化的機器人清潔裝置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10027952B2 (en) * | 2011-08-04 | 2018-07-17 | Trx Systems, Inc. | Mapping and tracking system with features in three-dimensional space |
WO2016026039A1 (en) * | 2014-08-18 | 2016-02-25 | Verity Studios Ag | Invisible track for an interactive mobile robot system |
US10365363B2 (en) * | 2015-05-08 | 2019-07-30 | Humatics Corporation | Mobile localization using sparse time-of-flight ranges and dead reckoning |
CN106803261A (zh) * | 2015-11-20 | 2017-06-06 | 沈阳新松机器人自动化股份有限公司 | 机器人相对位姿估计方法 |
EP3187953B1 (en) * | 2015-12-30 | 2020-03-18 | Honda Research Institute Europe GmbH | Autonomous working machine such as autonomous lawn mower |
CA3021085A1 (en) * | 2016-05-20 | 2017-11-23 | Magic Leap, Inc. | Method and system for performing convolutional image transformation estimation |
CN106598339A (zh) * | 2016-12-22 | 2017-04-26 | 武汉华星光电技术有限公司 | 触控显示器及具有该触控显示器的电子设备 |
US10719956B2 (en) * | 2017-03-14 | 2020-07-21 | Nec Corporation | Camera parameter estimation apparatus, camera parameter estimation method, and computer-readable recording medium |
US10705525B2 (en) * | 2017-04-07 | 2020-07-07 | Nvidia Corporation | Performing autonomous path navigation using deep neural networks |
CN107610175A (zh) * | 2017-08-04 | 2018-01-19 | 华南理工大学 | 基于半直接法和滑动窗口优化的单目视觉slam算法 |
EP3474230B1 (en) * | 2017-10-18 | 2020-07-22 | Tata Consultancy Services Limited | Systems and methods for edge points based monocular visual slam |
CN108469823B (zh) * | 2018-04-04 | 2020-03-20 | 浙江大学 | 一种基于单应性的移动机器人编队跟随方法 |
-
2018
- 2018-09-15 EP EP18933675.3A patent/EP3850581A4/en active Pending
- 2018-09-15 CN CN201880097333.7A patent/CN112740274A/zh active Pending
- 2018-09-15 WO PCT/CN2018/105898 patent/WO2020051923A1/en active Application Filing
- 2018-09-15 US US17/265,455 patent/US20210232151A1/en active Pending
-
2019
- 2019-08-16 TW TW108129210A patent/TWI827649B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201719309A (zh) * | 2015-06-30 | 2017-06-01 | 芋頭科技(杭州)有限公司 | 機器人活躍程度智能控制系統及方法 |
US20170136626A1 (en) * | 2015-11-16 | 2017-05-18 | Abb Technology Ag | Facilitating robot positioning |
US20170206665A1 (en) * | 2016-01-14 | 2017-07-20 | Texas Instruments Incorporated | Confidence Estimation For Optical Flow Under Low Light Conditions |
US20180043952A1 (en) * | 2016-08-12 | 2018-02-15 | Spin Master Ltd. | Spherical mobile robot with shifting weight steering |
CN106529587A (zh) * | 2016-08-26 | 2017-03-22 | 北京航空航天大学 | 基于目标点识别的视觉航向识别方法 |
TW201826993A (zh) * | 2016-12-09 | 2018-08-01 | 美商泰華施股份有限公司 | 具有基於環境之操作速度變化的機器人清潔裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW202013251A (zh) | 2020-04-01 |
EP3850581A1 (en) | 2021-07-21 |
EP3850581A4 (en) | 2022-05-11 |
WO2020051923A1 (en) | 2020-03-19 |
US20210232151A1 (en) | 2021-07-29 |
CN112740274A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI827649B (zh) | 用於vslam比例估計的設備、系統和方法 | |
US11720100B2 (en) | Systems and methods for utilizing semantic information for navigation of a robotic device | |
CN108051002B (zh) | 基于惯性测量辅助视觉的运输车空间定位方法及*** | |
Nguyen et al. | Robust target-relative localization with ultra-wideband ranging and communication | |
Achtelik et al. | Stereo vision and laser odometry for autonomous helicopters in GPS-denied indoor environments | |
Langelaan | State estimation for autonomous flight in cluttered environments | |
Achtelik et al. | Autonomous navigation and exploration of a quadrotor helicopter in GPS-denied indoor environments | |
US9037396B2 (en) | Simultaneous localization and mapping for a mobile robot | |
Loianno et al. | Cooperative localization and mapping of MAVs using RGB-D sensors | |
Xiao et al. | Indoor uav localization using a tether | |
Nieuwenhuisen et al. | Multimodal obstacle detection and collision avoidance for micro aerial vehicles | |
Schneider et al. | Fast and effective online pose estimation and mapping for UAVs | |
Chatterjee et al. | Vision based autonomous robot navigation: algorithms and implementations | |
Hornung et al. | Monte Carlo localization for humanoid robot navigation in complex indoor environments | |
Zhang et al. | An indoor navigation aid for the visually impaired | |
Klingbeil et al. | Towards autonomous navigation of an UAV-based mobile mapping system | |
WO2022238189A1 (en) | Method of acquiring sensor data on a construction site, construction robot system, computer program product, and training method | |
Muller et al. | A probabilistic sonar sensor model for robust localization of a small-size blimp in indoor environments using a particle filter | |
Johnson | Vision-assisted control of a hovering air vehicle in an indoor setting | |
US11561553B1 (en) | System and method of providing a multi-modal localization for an object | |
JP6832394B2 (ja) | 自己位置推定装置、自己位置選択装置、及び学習器 | |
Noaman et al. | Landmarks exploration algorithm for mobile robot indoor localization using VISION sensor | |
Pritzl et al. | Fusion of Visual-Inertial Odometry with LiDAR Relative Localization for Cooperative Guidance of a Micro-Scale Aerial Vehicle | |
Hernández et al. | Visual SLAM with oriented landmarks and partial odometry | |
CN114003041A (zh) | 一种多无人车协同探测*** |