TW201722657A - 使用來自一機器人之攝影機的攝影機影像之經偵測邊緣以及從一環境的3d模型推得的經偵測邊緣來定位該環境中的機器人 - Google Patents

使用來自一機器人之攝影機的攝影機影像之經偵測邊緣以及從一環境的3d模型推得的經偵測邊緣來定位該環境中的機器人 Download PDF

Info

Publication number
TW201722657A
TW201722657A TW105131769A TW105131769A TW201722657A TW 201722657 A TW201722657 A TW 201722657A TW 105131769 A TW105131769 A TW 105131769A TW 105131769 A TW105131769 A TW 105131769A TW 201722657 A TW201722657 A TW 201722657A
Authority
TW
Taiwan
Prior art keywords
camera
image
environment
edge
additional
Prior art date
Application number
TW105131769A
Other languages
English (en)
Other versions
TWI620627B (zh
Inventor
菲利浦 米歇爾
Original Assignee
X開發有限責任公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by X開發有限責任公司 filed Critical X開發有限責任公司
Publication of TW201722657A publication Critical patent/TW201722657A/zh
Application granted granted Critical
Publication of TWI620627B publication Critical patent/TWI620627B/zh

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05GCONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
    • G05G9/00Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously
    • G05G9/02Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only
    • G05G9/04Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously
    • G05G9/047Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks
    • G05G9/04737Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks with six degrees of freedom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/207Image signal generators using stereoscopic image cameras using a single 2D image sensor
    • H04N13/211Image signal generators using stereoscopic image cameras using a single 2D image sensor using temporal multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39046Compare image of plate on robot with reference, move till coincidence, camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0092Image segmentation from stereoscopic image signals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Abstract

本發明提供用於以下操作之方法、設備、系統及電腦可讀媒體:使用一機器人之一攝影機來擷取該機器人之環境之一影像、偵測該影像中之邊緣,及基於比較該影像中之該等經偵測邊緣與依據該機器人之環境之一三維(「3D」)模型自該環境中之該機器人之一所估計姿勢之視角推得之邊緣而定位該機器人。在某些實施方案中,該等邊緣係基於以下操作而推得:依據該環境之該3D模型自該所估計姿勢之該視角呈現該環境之一模型影像,並將一邊緣偵測器應用於該所呈現模型影像以自該模型影像偵測模型影像邊緣。

Description

使用來自一機器人之攝影機的攝影機影像之經偵測邊緣以及從一環境的3D模型推得的經偵測邊緣來定位該環境中的機器人
機器人可經程式化以執行多種任務,舉例而言,諸如自主或半自主導航、操縱物件(例如,重新定位一物件、更改一物件及/或拾取一物件且將該物件移動至一不同位置)、輸送物件(無必要操縱彼等物件)、監視環境狀況、充當「車輪上視訊會議」等等。 若一機器人不知道問題之關鍵所在,則機器人可難以準確地執行各種任務。機器人定位力求解析一環境中之一機器人之姿勢(位置及定向),藉此使得機器人能夠知道問題之關鍵所在。已提出各種機器人定位技術。舉例而言,航位推算法使用來自一機器人之一或多個里程計之感測器讀數連同三角學及運動學方程式一起判定一機器人已如何移動且基於該判定而更新機器人之姿勢。此外,舉例而言,某些機器人定位技術在一環境內利用主動信標(例如,紅外線、聲音)及/或被動信標(例如,反射器)與已知位置來使得一機器人之感測器能夠感測彼等信標且對機器人相對於所感測信標之姿勢及因此其在環境中之姿勢作三角測量或以其他方式判定機器人相對於所感測信標之姿勢及因此其在環境中之姿勢。此等及/或其他機器人定位技術可具有一或多個缺陷,諸如定位準確性、計算成本、與在環境中放置信標或其他陸標相關聯之成本及/或與執行定位技術所需之感測器相關聯成本。可呈現前述技術及/或其他技術之額外及/或替代缺陷。
本發明針對於:使用一機器人之一攝影機來擷取該機器人之環境之一影像;偵測該影像中之邊緣;及基於比較該影像中之該等經偵測邊緣與依據該機器人之環境之一三維(「3D」)模型推得之邊緣而定位該機器人。如本文中所使用,在一環境中「定位一機器人」意指相對於某一參考座標系(諸如一所謂的「世界座標系」)判定該環境中之機器人之一姿勢。如本文中所使用,「姿勢」參考位置及定向兩者。舉例而言,一機器人之一所判定姿勢可定義針對該機器人之六個自由度之值。 作為根據本文中所闡述之技術之機器人定位之一項實例,藉由一環境中之一機器人之一攝影機而擷取一攝影機影像。將一邊緣偵測器應用於攝影機影像以偵測該攝影機影像中之攝影機影像邊緣。該邊緣偵測器可採用一或多種邊緣偵測技術,諸如一坎尼(Canny)邊緣偵測演算法. 進一步識別環境中之機器人之攝影機之一所估計姿勢。在某些實施方案中,所估計姿勢可係使用其他機器人定位技術(例如,在本文中所闡述之機器人定位技術之一第一迭代中)所判定之一姿勢,及/或可係基於在本文中所闡述之機器人定位技術之一先前迭代期間所判定之機器人之攝影機之一姿勢。 使用所估計姿勢依據環境之一三維模型自所估計姿勢之視角呈現環境之一模型影像。換言之,所呈現模型影像係模型之一所呈現影像,其中所呈現影像之視角與所估計姿勢具有相同位置及定向。在某些實施方案中(例如,當攝影機影像係一二維影像時),「依據一3D模型呈現一模型影像」意指將3D模型之一部分轉換為彼部分之一二維影像(例如,具有一或多個色彩及/或灰階通道之一影像)。在某些實施方案中(例如,當攝影機影像包含一深度通道及一或多個色彩及/或灰階通道時),「依據一3D模型呈現一模型影像」意指將3D模型之一部分轉換為包含一深度通道及一或多個色彩及/或灰階通道之一「2.5D」影像。可利用各種呈現技術,諸如光柵化、射線法、輻射成像法及/或射線追蹤。 亦將邊緣偵測器應用於所呈現模型影像以偵測模型影像中之模型影像邊緣。然後基於比較該等攝影機影像邊緣與該等模型影像邊緣而判定機器人之攝影機之一當前姿勢(亦即,在擷取攝影機影像時攝影機之姿勢)。舉例而言,可判定攝影機影像邊緣中之一或多者與一或多個對應模型影像邊緣之間的歐幾裡德(Euclidean)距離,且利用彼等距離來判定姿勢。舉例而言,可利用該等距離之方向及/或量值自用於產生模型影像之所估計姿勢推得機器人之攝影機之姿勢。換言之,攝影機之當前姿勢可藉由以下操作而判定:鑒於攝影機影像(由攝影機在其實際姿勢下所拍攝)與模型影像(自所估計姿勢之視角所呈現)之邊緣之間的差異而修改所估計姿勢。 然後使用攝影機之所判定當前姿勢來定位環境中之機器人。舉例而言,在某些實施方案中,可藉由將攝影機之當前姿勢指派為機器人之當前姿勢(例如,機器人之當前姿勢可與攝影機之當前姿勢相同)而定位機器人。此外,舉例而言,在某些實施方案中,機器人之姿勢可係相對於與攝影機之姿勢不同之一參考點,且攝影機之姿勢與機器人之姿勢之間的相對差異可係已知的。在彼等實施方案中之某些實施方案中,可藉由使用彼已知相對差異將攝影機之所判定姿勢變換為機器人之姿勢而定位機器人。 在基於比較攝影機影像邊緣中之一或多者與模型影像邊緣中之一或多者而判定機器人之攝影機之當前姿勢之某些實施方案中,可依據3D模型呈現環境之一或多個額外模型影像–每一額外模型影像具有來自不同候選姿勢之多個視角。邊緣偵測器可應用於額外模型影像中之每一者,且基於具有相對於攝影機影像邊緣中之一或多者滿足某一臨限值之一或多個邊緣之額外模型影像之候選姿勢而判定姿勢。舉例而言,可選擇其邊緣與機器人影像邊緣之間具有最小差異量之額外模型影像之候選姿勢作為該姿勢。在某些實施方案中,可基於攝影機影像邊緣與基於所估計姿勢而呈現之模型影像之模型影像邊緣之間的差異而判定用於產生額外模型影像之候選姿勢(例如,由彼等差異指示之一或多個最可能候選姿勢)。 可執行上文所闡述之實例性機器人定位之多次迭代,每次迭代使用來自機器人之攝影機之一新擷取之影像且使用基於攝影機之前一所判定當前姿勢之一「所估計姿勢」。在某些實施方案中,機器人之攝影機之前一當前姿勢可用作所估計姿勢。在某些其他實施方案中,可基於以下操作而判定所估計姿勢:基於來自機器人之一或多個額外感測器之感測器資料而修改機器人之攝影機之前一當前姿勢。舉例而言,可利用來自一慣性量測單元、一或多個里程計及/或一或多個其他感測器之感測器資料來判定對前一姿勢之一可能改變。彼可能改變可應用於前一姿勢,且結果用作針對下一迭代之所估計姿勢。 在某些實施方案中,可提供一種方法,該方法包含:藉由一環境中之一機器人之一攝影機而擷取一攝影機影像;及將一邊緣偵測器應用於該攝影機影像以偵測該攝影機影像中之攝影機影像邊緣。該方法進一步包含:識別該環境中之該攝影機之一所估計姿勢;及依據該環境之一以電子方式儲存之三維模型自所估計姿勢之一視角呈現該環境之一模型影像。該方法進一步包含:將該邊緣偵測器應用於該環境之該模型影像以偵測該模型影像中之模型影像邊緣;及基於比較該等攝影機影像邊緣與該等模型影像邊緣而判定該環境中之該攝影機之一當前姿勢。該方法進一步包含基於該攝影機之該當前姿勢而定位該環境中之該機器人。 此方法及本文中所揭示之技術之其他實施方案可視情況各自包含以下特徵中之一或多者。 在某些實施方案中,環境中之攝影機之所估計姿勢係基於攝影機之一前一姿勢。可基於比較由攝影機擷取之一前面攝影機影像之前面攝影機影像邊緣與自一前面所估計姿勢之視角呈現之一前面模型影像之前面模型影像邊緣而判定攝影機之前一姿勢。在彼等實施方案中之某些實施方案中,基於以下操作而判定環境中之攝影機之所估計姿勢:基於來自機器人之一或多個額外感測器(諸如一慣性量測單元感測器)之感測器資料而修改前一姿勢。 在某些實施方案中,該方法進一步包含:在該擷取該攝影機影像之後,藉由該攝影機而擷取一額外攝影機影像;將該邊緣偵測器應用於該額外攝影機影像以偵測該額外攝影機影像中之額外攝影機影像邊緣;基於該環境中之該攝影機之所判定當前姿勢而判定該環境中之該攝影機之一額外所估計姿勢;依據該環境之該以電子方式儲存之三維模型自該額外所估計姿勢之視角呈現該環境之一額外模型影像;將該邊緣偵測器應用於該環境之該額外模型影像以偵測該額外模型影像中之額外模型影像邊緣;及基於比較該等額外攝影機影像邊緣與該等額外模型影像邊緣而判定該環境中之該攝影機之一新當前姿勢。在彼等實施方案中之某些實施方案中,基於該環境中之該攝影機之該所判定當前姿勢而判定該額外所估計姿勢包含:將該額外所估計姿勢定義為該環境中之該攝影機之該所判定當前姿勢。在彼等實施方案中之某些其他實施方案中,該方法進一步包含自該機器人之一或多個額外感測器接收感測器資料,且基於該攝影機之該所判定當前姿勢而判定該額外所估計姿勢包含:基於該攝影機之該所判定當前姿勢及基於該感測器資料而判定該額外所估計姿勢。 在某些實施方案中,基於比較該等攝影機影像邊緣與該等模型影像邊緣而判定該環境中之該攝影機之該當前姿勢包含:判定該等攝影機影像邊緣與該等模型影像邊緣之間的差異;及基於該等差異而判定該攝影機之該當前姿勢。 在某些實施方案中,基於比較該等攝影機影像邊緣與該等模型影像邊緣而判定該環境中之該攝影機之該姿勢包括:判定該等攝影機影像邊緣與該等模型影像邊緣之間的差異;基於該等差異而判定該攝影機之一候選姿勢;依據該環境之該以電子方式儲存之三維模型自該候選姿勢之視角呈現該環境之一額外模型影像;將該邊緣偵測器應用於該環境之該額外模型影像以自該額外模型影像提取額外模型影像邊緣;判定該等額外攝影機影像邊緣與該等額外模型影像邊緣之間的額外差異;及若該等額外差異滿足一臨限值,則使用該候選姿勢作為該攝影機之該當前姿勢。 在某些實施方案中,藉由該攝影機之一單個感測器而擷取該攝影機影像。在彼等實施方案中之某些實施方案中,該攝影機係一單眼攝影機。 在某些實施方案中,該機器人之一圖形處理器單元執行該方法之一或多個步驟。 在某些實施方案中,該環境之該三維模型係一電腦輔助設計模型。 在某些實施方案中,該當前姿勢係一個六自由度姿勢。 在某些實施方案中,可提供一種方法,該方法包含:藉由一環境中之一機器人之一攝影機而擷取一攝影機影像;將一邊緣偵測器應用於該攝影機影像以偵測該攝影機影像中之攝影機影像邊緣;識別該環境中之該攝影機之一所估計姿勢;基於該環境之一以電子方式儲存之三維模型自該所估計姿勢之一視角判定該環境之模型邊緣;基於比較該等攝影機影像邊緣與該等模型邊緣而判定該環境中之該攝影機之一當前姿勢;及基於該攝影機之該當前姿勢而定位該環境中之該機器人。 其他實施方案可包含至少一個非暫時性電腦可讀儲存媒體,該至少一個非暫時性電腦可讀儲存媒體儲存可由一處理器執行以執行諸如上文所闡述之方法中之一或多者之一方法之指令。另一實施方案可包含一機器人及/或一電腦系統,該電腦系統包含記憶體及一或多個處理器,該一或多個處理器可操作以執行該記憶體中所儲存之指令以實施單獨地或共同地執行諸如上文所闡述之方法中之一或多者之一方法之一或多個模組或引擎。 應瞭解,本文中較詳細闡述之前述概念及額外概念之所有組合涵蓋為本文中所揭示之標的物之一部分。舉例而言,在此揭示內容結尾處出現之所主張標的物之所有組合涵蓋為本文中所揭示之標的物之一部分。
圖1圖解說明一實例性機器人130、一實例性定位系統150及一環境之一實例性三維(「3D」)模型170。機器人130係行動的且有權存取一室內環境之一或多個部分,該室內環境諸如一建築物(例如,一倉庫、一製造設施、一辦公建築)、一鄰近建築群之一或多個建築物、一多樓層辦公或其他建築物之一或多個樓層等。在室內環境中可提供額外及/或替代機器人,諸如在一或多個方面不同於圖1中所圖解說明之機器人130之額外機器人。舉例而言,行動遠端臨場機器人、行動堆高機機器人及/或人形機器人可提供為僅有機器人及/或在某些實施方案中與其他機器人一起提供。一或多個所提供額外及/或替代機器人可體現下文所闡述之定位系統150之一單獨實例及/或可與一定位系統150 (或定位系統150之一單獨實例)通信。 機器人130包含一基底133,該基底在其相對側上提供有用於使機器人130運動之輪子。舉例而言,基底133可包含用於驅動機器人130之輪子以達成機器人130之移動之一所要方向、速度及/或加速度之一或多個馬達。 機器人130亦包含一攝影機131。在某些實施方案中,攝影機131可係一單眼攝影機,該單眼攝影機包含一單個感測器(例如,一電荷耦合裝置(CCD)),且基於由感測器所感測之實體性質而產生各自包含定義色彩值及/或灰階值之複數個資料點之影像。舉例而言,單眼攝影機可產生包含紅色、藍色及/或綠色通道之影像。每一通道可定義影像之複數個像素中之每一者之一值,諸如影像之像素中之每一者的自0至255之一值。在某些實施方案中,攝影機131可係包含各自處於一不同優勢點之兩個或兩個以上感測器之一立體攝影機。在彼等實施方案中之某些實施方案中,立體攝影機基於由兩個感測器所感測之特性而產生各自包含定義深度值及色彩值及/或灰階值之複數個資料點之影像。舉例而言,立體攝影機可產生包含一深度通道以及紅色、藍色及/或綠色通道之影像。在某些實施方案中,攝影機131可係一立體攝影機,但僅感測器中之一者可用於產生不包含一深度通道之影像。 機器人130亦包含一或多個處理器,該一或多個處理器(舉例而言)向致動器及/或機器人之其他操作組件提供控制命令、根據本文中所闡述之技術而定位機器人、至少部分地基於根據本文中所闡述之技術所判定之機器人之一當前姿勢而產生用於各種任務之控制命令等。舉例而言,機器人130之一或多個處理器可向驅動機器人130之輪子之伺服馬達提供控制命令以自主地及/或半自主地將機器人130導航至環境中之各種位置。此外,舉例而言,機器人130之一或多個處理器可實施定位系統150之全部態樣及/或執行圖3之方法300之全部態樣。本文中提供對各種機器人之結構及功能性之某些實例之額外說明。 機器人130亦包含具有對應末端作用器135A及135B之機器人手臂134A及134B,該等末端作用器各自採取具有兩個相對「指狀物」或「手指」之一夾持器之形式。可自主地、半自主地及/或基於由一使用者經由一使用者之一計算裝置提供之控制命令而控制機器人手臂134A、134B及末端作用器135A、135B。舉例而言,可自主地控制機器人手臂134B以接近於一物件而定位末端作用器135B,且可自主地控制末端作用器135B以抓持物件。在彼等實施方案中之某些實施方案中,機器人130之處理器可產生控制命令以控制機器人手臂134B及/或末端作用器135B,且產生彼等控制命令可至少部分地受根據本文中所闡述之技術而判定之機器人130之一當前姿勢影響。 在某些實施方案中,定位系統150之全部態樣可由機器人130實施。在某些實施方案中,定位系統150之全部態樣可由與機器人130通信之一或多個計算系統實施。各種模組或引擎可作為軟體、硬體或兩者之任何組合而實施為定位系統150之一部分。舉例而言,在圖1中,定位系統150包含一模型影像呈現引擎152、一邊緣偵測器154、一姿勢判定引擎156及一所估計姿勢判定引擎158。 模型影像呈現引擎152經組態以依據環境之3D模型170自機器人130之攝影機131之一經識別所估計姿勢之視角呈現該環境之一模型影像。換言之,模型影像呈現引擎152呈現模型影像,其中所呈現影像之視角與所估計姿勢具有相同位置及定向。用於針對一給定迭代呈現模型影像的攝影機131之所估計姿勢可係由所估計姿勢判定引擎158針對給定迭代所判定之一所估計姿勢。如本文中所闡述,在某些實施方案中,攝影機131之所估計姿勢可係使用其他機器人定位技術(例如,在本文中所闡述之機器人定位技術之一第一迭代中)所判定之一姿勢,及/或可係基於在本文中所闡述之機器人定位技術之一先前迭代(例如,前一迭代)期間所判定的攝影機131之一姿勢。 模型影像呈現引擎152可使用諸如光柵化、射線法、輻射成像法及/或射線追蹤等各種呈現技術依據環境之3D模型170呈現一模型影像。特定呈現技術及/或用於呈現技術之參數可視情況鑒於諸如計算成本、所要速度(例如,為達成「即時」呈現)等各種準則而選擇。 環境之3D模型170定義一環境之至少某些結構、彼等結構之大小以及彼等結構之間的空間關係。因此,環境之3D模型170係環境之結構之一可量測準確模型。可以各種細節層次定義環境之3D模型170。舉例而言,在某些實施方案中,3D模型可係使用CAD軟體而產生之一相對粗糙電腦輔助設計(「CAD」)模型。在彼等實施方案中之某些實施方案中,環境之3D模型170可係作為室內環境之設計程序之一部分而產生及/或基於室內環境之其他架構設計而產生的一室內環境之一3D架構設計。在某些實施方案中,環境之3D模型170可基於來自一或多個機器人或其他自動化代理之一或多個感測器之感測器資料而產生。舉例而言,環境之3D模型170可基於來自已導航遍及室內環境之一或多個機器人之一或多個3D雷射掃描器之「合併」3D雷射掃描而產生。 在某些實施方案中,環境之3D模型170可模型化室內環境之固定結構(諸如室內環境之牆、門、窗、天花板及/或地板)以及彼等固定結構之間的空間關係(例如,其中一窗在一牆中,其中一牆接觸一天花板)。在某些實施方案中,環境之3D模型170可進一步模型化室內環境之非固定結構,諸如置物架、家具及/或照片。在某些實施方案中,可自環境之3D模型170省略一環境之一或多個固定結構及/或非固定結構。在某些實施方案中,環境之3D模型170可以一向量圖形格式定義為複數個形狀(例如,多邊形),其中視情況利用所定義形狀中之一或多者之一或多個特徵(諸如材料、色彩等)而進行。 邊緣偵測器154經組態以偵測影像中之一或多個邊緣。一影像中之一邊緣在該影像中之一亮度及/或深度(例如,在一2.5D影像之情形中)方面具有滿足邊緣偵測器154之一或多個臨限值之一不連續性。一影像中之不連續性可對應於(舉例而言)深度之不連續性、表面定向之不連續性、材料性質(例如,色彩、紋理)之改變及/或照明之變化。舉例而言,邊緣偵測器154可偵測影像中的對應於以下各項之邊緣:兩牆相接觸、一天花板接觸一牆、一牆中之一開口、一窗框架、一牆之色彩變化等。 邊緣偵測器154可偵測由機器人130之攝影機131擷取之攝影機影像中之邊緣,且亦可偵測由模型影像呈現引擎152產生之模型影像中之邊緣。邊緣偵測器154可利用一或多種技術來偵測一影像中之邊緣。舉例而言,邊緣偵測器可採用一或多個邊緣偵測演算法,諸如坎尼邊緣偵測演算法。 姿勢判定引擎156經組態以基於比較自攝影機131之一攝影機影像所提取之邊緣與依據模型影像呈現引擎152自機器人130之攝影機131在攝影機131之攝影機影像被擷取時之所估計姿勢之視角產生之一模型影像所提取之邊緣而判定攝影機131之一當前姿勢。 姿勢判定引擎156進一步經組態以基於攝影機131之所判定當前姿勢而判定機器人之一當前姿勢(亦即,定位機器人)。舉例而言,在某些實施方案中,姿勢判定引擎156可將攝影機131之當前姿勢指派為機器人之當前姿勢。此外,舉例而言,在某些實施方案中,攝影機131之姿勢與機器人之姿勢之間的相對差異可係已知的,且姿勢判定引擎156可使用彼已知相對差異將攝影機131之姿勢變換為機器人之姿勢。在彼等實施方案中之某些實施方案中,攝影機131可靜態地安裝於機器人130上,攝影機131之姿勢與機器人之姿勢之間的相對差異可係靜態的,且攝影機131之姿勢可使用一固定變換來變換為機器人之姿勢。在某些其他實施方案中,攝影機131可動態地耦合至機器人130 (例如,在一可致動手臂或其他組件上),攝影機131之姿勢與機器人之姿勢之間的相對差異可基於應用機器人運動學來判定當前相對差異而「已知」,且基於當前相對差異而判定至機器人之姿勢之一當前變換。 在某些實施方案中,姿勢判定引擎156可判定攝影機影像邊緣中之一或多者與模型影像之一或多個匹配邊緣之間的一或多個歐幾裡德距離,且使用彼等距離來判定攝影機131之當前姿勢。舉例而言,可利用該等距離之方向及/或量值自用於產生模型影像之所估計姿勢推得當前姿勢。換言之,當前姿勢可藉由鑒於攝影機影像(由攝影機在攝影機之姿勢下所拍攝)與模型影像(依據所估計姿勢所呈現)之邊緣之間的距離之方向及/或量值修改所估計姿勢而判定。在某些實施方案中,姿勢判定引擎156可將最小平方擬合應用於所判定歐幾裡德距離。在彼等實施方案中之某些實施方案中,姿勢判定引擎156可基於將所估計姿勢修改達藉由最小平方擬合所判定的差異之平方之總和而判定攝影機之當前姿勢。在判定一給定攝影機影像邊緣與一匹配模型影像邊緣之間的一或多個歐幾裡德距離之某些實施方案中,藉由在沿彼等邊緣之多個點處進行量測而判定多個歐幾裡德距離。 作為一項實例,假設姿勢判定引擎156判定在攝影機影像邊緣與匹配模型邊緣之間不存在(或存在標稱)差異。在此一實例中,姿勢判定引擎156可判定攝影機之當前姿勢與用於呈現模型影像之所估計姿勢相同。作為另一實例,假設姿勢判定引擎156判定在攝影機影像邊緣與匹配模型邊緣之間的相對小差異。在此一實例,姿勢判定引擎156可基於將用於呈現模型影像之所估計姿勢修改達基於彼等相對小差異之一量及方向而判定攝影機之彼當前姿勢。 在某些實施方案中,姿勢判定引擎156基於滿足一臨限值的模型影像中之一模型邊緣與攝影機影像中之一攝影機邊緣之間的一或多個差異而判定模型邊緣匹配攝影機邊緣。舉例而言,臨限值可係:模型邊緣之像素之一臨限百分比在攝影機邊緣之像素之一臨限像素數目內,及/或兩個邊緣之間的一最小均方距離小於一臨限像素數目。在某些實施方案中,姿勢判定引擎156可濾除或以其他方式忽略其判定不「匹配」任何模型邊緣(例如,大於任何模型邊緣中之一臨限像素數目)之攝影機邊緣。舉例而言,若一椅子或其他物件存在於攝影機影像中,但在環境之3D模型170中未模型化,則對應於該椅子之攝影機邊緣可不匹配任何模型邊緣–且姿勢判定引擎156可濾除對應於該椅子之邊緣。 在判定一攝影機之一給定當前姿勢之某些實施方案中,模型影像呈現引擎152可依據環境之3D模型170呈現環境之一或多個額外模型影像–每一額外模型影像具有來自不同候選姿勢之多個視角。邊緣偵測器154可偵測額外模型影像中之每一者之邊緣,且姿勢判定引擎156可基於相對於匹配攝影機影像邊緣其邊緣滿足某一臨限值之模型影像之候選姿勢而判定攝影機131之當前姿勢。舉例而言,可選擇在其邊緣與機器人影像邊緣之間具有最小差異量之模型影像之候選姿勢作為當前姿勢。在某些實施方案中,姿勢判定引擎156可基於攝影機影像邊緣與原始模型影像邊緣之間的差異自所估計姿勢之視角判定用於產生額外模型影像之候選姿勢。舉例而言,在某些實施方案中,引擎156可基於該等差異而判定攝影機131之一候選姿勢,且將彼候選姿勢提供至模型影像呈現引擎152以自彼候選姿勢呈現一額外模型影像。邊緣偵測器154可偵測額外模型影像之模型邊緣,且姿勢判定引擎156可作為一「檢查」而比較彼等模型邊緣與攝影機邊緣以確保攝影機之當前姿勢應基於候選姿勢而判定(例如,以確保彼等模型邊緣與攝影機邊緣之間存在一充分緊密匹配)及/或產生可用於產生可用於進一步細化攝影機之當前姿勢之其他額外影像之其他候選姿勢。 所估計姿勢判定引擎158經組態以將攝影機131之一所估計姿勢提供至模型影像呈現引擎152以使得模型影像呈現引擎152能夠自彼所估計姿勢之視角呈現一模型影像。在某些實施方案中,所估計姿勢可係基於在所提出機器人定位技術之一先前迭代期間所判定的攝影機131之一當前姿勢。舉例而言,當所提出機器人定位技術以一相對高頻率(例如,30 Hz或60 Hz)迭代(其中每一迭代係基於來自攝影機131之一新攝影機影像)時,在所提出機器人定位技術之前一迭代期間的攝影機131之所判定姿勢可提供對攝影機131之實際姿勢之一相當精確估計。 在某些實施方案中,所估計姿勢判定引擎158可使用攝影機131之前一姿勢作為所估計姿勢。在某些其他實施方案中,所估計姿勢判定引擎158可基於以下操作而判定所估計姿勢:基於來自機器人130之一或多個額外感測器之感測器資料而修改攝影機131之前一姿勢。舉例而言,可利用來自一慣性量測單元、一或多個里程計及/或一或多個其他感測器之感測器資料來判定對攝影機131之前一姿勢之一可能改變。彼可能改變可應用於前一姿勢,且結果用作針對下一迭代之所估計姿勢。 在某些實施方案中,所估計姿勢判定引擎158可使用其他定位技術來判定所估計姿勢。舉例而言,當機器人130意外移動(例如,藉由一人)、首先「開啟電源」(例如,在一「休眠」週期之後或在電池電力耗盡之後)及/或以其他方式最初不知曉其在一環境中之姿勢時,引擎158可使用其他定位技術來判定針對本文中所闡述之定位技術之一初始迭代之一所估計姿勢。 雖然機器人130、定位系統150及環境之3D模型170在圖1中分開繪示,但此並非意指為限制性的。在各種實施方案中,在機器人130上可實施定位系統150及/或環境之3D模型170之一或多項態樣。舉例而言,引擎152、154、156及/或158中之一或多者之全部態樣皆可經由機器人130之硬體(例如,處理器)而實施。此外,舉例而言,環境之3D模型170之全部態樣可儲存於機器人130之記憶體中。在其中機器人130及系統150之一或多項態樣為單獨組件之實施方案中,機器人130與系統150之一或多項態樣可經由一或多個有線或無線網路或使用其他無線技術(諸如無線電、藍芽、紅外線等)而通信。在其中環境之3D模型170之一或多項態樣獨立於機器人130之實施方案中,機器人130可使用一或多個有線或無線網路或使用其他無線技術來存取環境之3D模型170。舉例而言,機器人130可週期性地存取環境之一遠端儲存之3D模型170以擷取且在本端儲存(例如,緩衝)在機器人之一當前姿勢之一臨限距離內的環境之3D模型170之一或多個部分。 圖2圖解說明偵測由一機器人(例如,圖1之機器人130)之一攝影機擷取之一攝影機影像101中之邊緣且基於比較該影像中之經偵測邊緣與依據環境之一3D模型170推得之邊緣而定位機器人之一實例。 在圖2中,模型影像呈現引擎152使用一環境之3D模型170來呈現一2D模型影像。模型影像呈現引擎152自由所估計姿勢判定引擎158提供的機器人之攝影機之一所估計姿勢之視角呈現影像。如本文中所闡述,所估計姿勢可係基於基於圖2之實例而定位機器人之一先前迭代之攝影機姿勢。舉例而言,前一迭代之攝影機之當前姿勢105可用作所估計姿勢。此外,舉例而言,所估計姿勢判定引擎158可鑒於來自一或多個額外機器人感測器135之感測器資料而修改前一迭代之攝影機之當前姿勢105且使用此等修改作為所估計姿勢。在某些實施方案中,所估計姿勢判定引擎158可獨立於來自一前面迭代之當前攝影機姿勢使用來自一或多個額外機器人感測器135之感測器資料來產生一所估計姿勢(例如,在圖2之實例之一初始迭代中)。 邊緣偵測器154依據模型影像呈現引擎152接收2D模型影像且亦自一機器人之一攝影機接收攝影機影像101。邊緣偵測器154自攝影機影像101提取攝影機影像邊緣、自模型影像提取模型影像邊緣且將攝影機影像邊緣及模型影像邊緣提供至姿勢判定引擎156。 姿勢判定引擎156基於比較攝影機影像邊緣與模型影像邊緣而判定機器人之攝影機之一當前姿勢105,如本文中所闡述。姿勢判定引擎156基於攝影機之當前姿勢105進一步判定機器人之一當前姿勢107。舉例而言,姿勢判定引擎156可使用攝影機之當前姿勢105作為機器人之當前姿勢107,或可基於考量機器人與機器人之攝影機之間的相對姿勢差異之一變換將攝影機之當前姿勢105變換為機器人之當前姿勢107。 在某些實施方案中,姿勢判定引擎156可視情況判定機器人之攝影機之一或多個候選姿勢109 (例如,如上文所闡述),且將彼等候選姿勢109提供至模型影像呈現引擎152。在彼等實施方案中,引擎152可依據環境之3D模型170產生一或多個額外2D模型影像,其中每一額外2D模型影像係依據一對應候選姿勢之視角。邊緣偵測器154可偵測額外模型影像中之邊緣,且姿勢判定引擎156可基於相對於攝影機影像邊緣其邊緣滿足某一臨限值之額外模型影像之候選姿勢而判定攝影機之當前姿勢105及機器人之當前姿勢107。 機器人之當前姿勢107可提供至機器人之機器人任務引擎160及/或機器人之另一組件以供在執行一或多個機器人任務中使用。舉例而言,在執行一任務時,機器人任務引擎160可使用機器人之當前姿勢107來產生一或多個控制命令以提供至機器人之致動器。攝影機之當前姿勢105可提供至所估計姿勢判定引擎158,且引擎158可使用攝影機之當前姿勢105用於判定針對圖2之實例之下一迭代之一所估計姿勢。 可執行以上圖2之實例之多次迭代,每次迭代使用來自機器人之攝影機之一新擷取之攝影機影像101且使用由引擎158基於攝影機之前一所判定當前姿勢105而判定之一「所估計姿勢」。舉例而言,機器人之攝影機每秒可擷取多個影像(例如,30圖框/秒或60圖框/秒),且每當接收到一新影像時,攝影機之當前姿勢105根據圖2之實例而更新。此外,每當更新攝影機之當前姿勢時,攝影機之當前姿勢可鑒於由引擎158鑒於攝影機之前一當前姿勢所判定之一所估計姿勢而更新。在某些實施方案中,可即時地執行圖2中之實例。舉例而言,機器人之當前姿勢可基於在藉由機器人攝影機擷取一新影像之前的機器人攝影機之一最新所擷取影像而判定。 圖3繪示圖解說明根據各種實施方案之判定一環境中之一機器人之一攝影機之一姿勢之一實例性方法300之一流程圖。為方便起見,參考執行流程圖之操作之一系統而闡述該等操作。此系統可包含各種電腦系統及/或機器人之各種組件,諸如圖1之定位系統150、圖1之攝影機131及/或圖4之處理器402。此外,雖然以一特定次序展示方法300之操作,但此並非意指為限制性的。可重新排序、省略或添加一或多個操作。 在方塊302處,藉由一環境中之一機器人之一攝影機而擷取一影像。舉例而言,可藉由機器人之一單眼攝影機而擷取該影像。 在方塊304處,系統將一邊緣偵測器應用於攝影機影像以偵測攝影機影像中之攝影機影像邊緣。系統可利用一或多種技術(諸如坎尼邊緣偵測技術)來偵測一影像中之邊緣。 在方塊306處,系統識別環境中之攝影機之一所估計姿勢。在某些實施方案中,系統可基於方法300之一先前迭代之在方塊312中所判定之攝影機之姿勢而判定所估計姿勢。舉例而言,前一迭代之當前攝影機姿勢可用作所估計姿勢。此外,舉例而言,系統可鑒於來自一或多個額外機器人感測器之感測器資料而修改前一迭代之當前攝影機姿勢。在某些實施方案中,系統可獨立於來自一前面迭代之當前攝影機姿勢使用來自一或多個額外機器人感測器之感測器資料來產生一所估計姿勢(例如,在方法300之一初始迭代中)。 在方塊308處,系統依據環境之一3D模型自所估計姿勢之視角呈現環境之一模型影像。換言之,系統呈現模型影像,其中所呈現影像之視角與所估計姿勢具有相同位置及定向。系統可使用諸如光柵化、射線法、輻射成像法及/或射線追蹤等各種呈現技術依據環境之3D模型呈現一模型影像。 在方塊310處,系統將邊緣偵測器應用於模型影像以偵測模型影像中之模型影像邊緣。 在方塊312處,系統基於比較攝影機影像邊緣與模型影像邊緣而判定環境中之攝影機之一姿勢。舉例而言,系統可判定方塊304之攝影機影像邊緣中之一或多者與方塊310之一或多個匹配模型影像邊緣之間的歐幾裡德距離,且使用彼等距離來判定攝影機之當前姿勢。舉例而言,系統可使用距離之方向及/或量值自用於在方塊308處產生模型影像之所估計姿勢推得當前姿勢。在某些實施方案中,系統可依據環境之3D模型呈現環境之一或多個額外模型影像–每一額外模型影像具有來自不同候選姿勢之多個視角。系統可偵測額外模型影像中之每一者中之邊緣,且系統可基於相對於匹配攝影機影像邊緣其邊緣滿足某一臨限值之模型影像之候選姿勢而判定攝影機之當前姿勢。 在方塊314處,系統基於方塊312處所判定的環境中之攝影機之姿勢而定位環境中之機器人。舉例而言,系統可藉由將方塊312之攝影機之當前姿勢指派為機器人之當前姿勢(例如,機器人之當前姿勢可與攝影機之當前姿勢相同)而定位機器人。此外,舉例而言,在某些實施方案中,機器人之姿勢可係相對於與攝影機之姿勢不同之一參考點,且攝影機之姿勢與機器人之姿勢之間的相對差異可係已知的。在彼等實施方案中之某些實施方案中,系統可藉由使用彼已知相對差異將攝影機之所判定姿勢變換為機器人之姿勢而定位機器人。 在某些實施方案中,方塊302、304、306、308、310及/或312亦可針對由機器人之一額外攝影機(例如,朝向與該攝影機不同之一方向或以其他方式具有與該攝影機不同之一視域之一額外攝影機)擷取之一額外影像而執行,且系統可基於在方塊312處基於(額外攝影機之)額外影像而判定之一姿勢及/或基於在方塊314處基於(該攝影機之)影像而判定之一姿勢而在方塊314處定位機器人。 舉例而言,方塊302、304、306、308、310及312中之每一者可針對由機器人之一第一攝影機所擷取之一第一影像而執行,且方塊302、304、306、308、310及312中之每一者亦可針對在接近(例如,在500毫秒內)於第一影像被擷取之一時間之一時間由機器人之一第二攝影機所擷取之一第二影像而執行。在此一實例中,在方塊314處,系統可基於在方塊312處針對第一影像所判定之姿勢及/或在方塊312處針對第二影像所判定之姿勢而定位機器人。舉例而言,系統可基於在方塊312處所判定之姿勢中之僅一者(諸如基於最大數量之匹配邊緣(對應攝影機影像邊緣與對應模型影像邊緣之間)而判定之姿勢及/或滿足某一額外或替代準則之姿勢)而定位機器人。此外,舉例而言,系統可基於在方塊312處針對第一影像所判定之姿勢與在方塊312處針對第二影像所判定之姿勢兩者之另一組合之一平均而定位機器人。在某些情景中(諸如在攝影機中之一者擷取不具有邊緣或具有極少邊緣(例如,一白牆)之一影像但攝影機中之另一者擷取包含較大數量之邊緣之一影像時),考量來自多個攝影機之多個影像而定位機器人之某些實施方案可產生經改良機器人定位。 圖4示意性地繪示一機器人之一實例性架構。機器人400可採取各種形式,包含但不限於一遠端臨場機器人、一人形形式、一動物形式、一帶輪裝置、一潛水載具、一無人航空載具(「UAV」)等等。在各種實施方案中,機器人400可包含一(多個)處理器402。處理器402可採取各種形式,諸如一或多個中央處理單元、一或多個圖形處理器單元(「GPU」)、一或多個場可程式化閘陣列(「FPGA」)、一或多個特殊應用積體電路(「ASIC」)、一或多個所謂的「即時控制器」等等。 在各種實施方案中,處理器402可(例如)經由一或多個匯流排410與一或多個致動器404a至404n及/或一或多個感測器408a至408m可操作地耦合。感測器408a至408m可採取各種形式,包含但不限於攝影機、深度感測器、壓力感測器、壓力波感測器(例如,麥克風)、接近感測器、加速度計、陀螺儀、溫度計、氣壓計等等。雖然感測器408a至408m繪示為與機器人400成整體,但此並非意指為限制性的。在某些實施方案中,一或多個感測器408a至408m可位於機器人400外部,例如,作為獨立單元。 處理器402可將控制命令提供至致動器404a至404n以達成一或多個任務。彼等控制命令包含指導致動器404a至404n驅動輪子及/或其他組件以使得機器人400能夠自主地、半自主地及/或回應於由一計算裝置回應於該計算裝置處之使用者介面輸入而提供之控制命令而橫穿一或多個路徑之命令。處理器402可至少部分地基於根據本文中所闡述之技術所判定之機器人之一姿勢而產生一或多個控制命令。 此外,在某些實施方案中,處理器402可實施定位系統150之一或多項(例如,全部)態樣。在某些實施方案中,處理器包含實施定位系統150之一或多項(例如,全部)態樣之至少一個GPU。處理器402與記憶體417通信。在某些實施方案中,記憶體417儲存一環境之一3D模型之全部態樣,且處理器402可自記憶體417中所儲存之3D模型呈現模型影像。記憶體417可包含(舉例而言)在程式執行期間用於儲存指令及資料之隨機存取記憶體(RAM)及/或其中儲存有固定指令及/或資料之一唯讀記憶體(ROM)。 網路介面子系統415為外部網路提供一介面且耦合至一或多個其他電腦系統(諸如包含一環境之一3D模型之全部或部分之一計算裝置及/或實施定位系統150之一或多項態樣之一計算裝置)中之一或多個對應介面裝置。 雖然本文中已闡述且圖解說明數項實施方案,但可利用用於執行本文中所闡述之功能及/或獲得本文中所闡述之結果及/或優點中之一或多者之多種其他構件及/或結構,且此等變化形式及/或修改形式中之每一者視為在本文中所闡述之實施方案之範疇內。更一般而言,本文中所闡述之所有參數、尺寸、材料及組態意欲係例示性的,且實際參數、尺寸、材料及/或組態將取決於該等教示被用於之特定應用或若干應用。熟習此項技術者僅使用常規實驗即將認識到或能夠確定本文中所闡述之特定實施方案之諸多等效內容。因此,應理解,前述實施方案僅以實例方式呈現,且在隨附申請專利範圍及其等效物之範疇內,可以不同於所特定闡述及主張之方式來實踐實施方案。本發明之實施方案針對於本文中所闡述之每一個別特徵、系統、物品、材料、工具及/或方法。另外,若此等特徵、系統、物品、材料、工具及/或方法並非相互矛盾,則兩個或兩個以上此等特徵、系統、物品、材料、工具及/或方法之任何組合包含於本發明之範疇內。
101‧‧‧攝影機影像/新擷取之攝影機影像 105‧‧‧攝影機之當前姿勢/攝影機之前一所判定當前姿勢 107‧‧‧機器人之當前姿勢 109‧‧‧機器人之攝影機之候選姿勢/候選姿勢 130‧‧‧實例性機器人/機器人 131‧‧‧攝影機 133‧‧‧基底 134A‧‧‧機器人手臂 134B‧‧‧機器人手臂 135‧‧‧額外機器人感測器 135A‧‧‧末端作用器 135B‧‧‧末端作用器 150‧‧‧實例性定位系統/定位系統/系統 152‧‧‧模型影像呈現引擎/引擎 154‧‧‧邊緣偵測器/引擎 156‧‧‧姿勢判定引擎/引擎 158‧‧‧所估計姿勢判定引擎/引擎 160‧‧‧機器人任務引擎 170‧‧‧環境之實例性三維(「3D」)模型/環境之3D模型/環境之遠端儲存之3D模型 400‧‧‧機器人 402‧‧‧處理器 404a至404n‧‧‧致動器 408a至408m‧‧‧感測器 410‧‧‧匯流排 415‧‧‧網路介面子系統 417‧‧‧記憶體
圖1圖解說明一實例性機器人、一實例性定位系統及一環境之一實例性三維模型。 圖2圖解說明偵測由一機器人之一攝影機擷取之一影像中之邊緣及基於比較該影像中之該等經偵測邊緣與依據機器人之環境之一三維模型推得之邊緣而定位該機器人的一實例。 圖3圖解說明根據各種實施方案之一實例性方法。 圖4示意性地圖解說明一機器人之一實例性架構。
130‧‧‧實例性機器人/機器人
131‧‧‧攝影機
133‧‧‧基底
134A‧‧‧機器人手臂
134B‧‧‧機器人手臂
135A‧‧‧末端作用器
135B‧‧‧末端作用器
150‧‧‧實例性定位系統/定位系統/系統
152‧‧‧模型影像呈現引擎/引擎
154‧‧‧邊緣偵測器/引擎
156‧‧‧姿勢判定引擎/引擎
158‧‧‧所估計姿勢判定引擎/引擎
170‧‧‧環境之實例性三維(「3D」)模型/環境之3D模型/環境之遠端儲存之3D模型

Claims (20)

  1. 一種方法,其包括: 藉由一環境中之一機器人之一攝影機而擷取一攝影機影像; 藉由該機器人之一或多個處理器而將一邊緣偵測器應用於該攝影機影像以偵測該攝影機影像中之攝影機影像邊緣; 藉由該等處理器中之一或多者而識別該環境中之該攝影機之一所估計姿勢; 藉由該等處理器中之一或多者而依據該環境之一以電子方式儲存之三維模型自該所估計姿勢之一視角呈現該環境之一模型影像; 藉由該等處理器中之一或多者而將該邊緣偵測器應用於該環境之該模型影像以偵測該模型影像中之模型影像邊緣;及 藉由該等處理器中之一或多者而基於比較該等攝影機影像邊緣與該等模型影像邊緣來判定該環境中之該攝影機之一當前姿勢;及 藉由該等處理器中之一或多者而基於該攝影機之該當前姿勢來定位該環境中之該機器人。
  2. 如請求項1之方法,其中該環境中之該攝影機之該所估計姿勢係基於該攝影機之一前一姿勢,其中該攝影機之該前一姿勢係基於比較由該攝影機所擷取之一前面攝影機影像之前面攝影機影像邊緣與自一前面所估計姿勢之視角呈現之一前面模型影像之前面模型影像邊緣而判定。
  3. 如請求項2之方法,其中該環境中之該攝影機之該所估計姿勢係基於以下操作而判定:基於來自該機器人之一或多個額外感測器之感測器資料而修改該前一姿勢。
  4. 如請求項3之方法,其中該一或多個額外感測器包含一慣性量測單元。
  5. 如請求項1之方法,其進一步包括: 在該擷取該攝影機影像之後,藉由該攝影機而擷取一額外攝影機影像; 藉由該等處理器中之一或多者而將該邊緣偵測器應用於該額外攝影機影像以偵測該額外攝影機影像中之額外攝影機影像邊緣; 基於該環境中之該攝影機之該所判定當前姿勢而判定該環境中之該攝影機之一額外所估計姿勢; 藉由該等處理器中之一或多者且依據該環境之該以電子方式儲存之三維模型自該額外所估計姿勢之視角呈現該環境之一額外模型影像; 藉由該等處理器中之一或多者而將該邊緣偵測器應用於該環境之該額外模型影像以偵測該額外模型影像中之額外模型影像邊緣;及 藉由該等處理器中之一或多者而基於比較該等額外攝影機影像邊緣與該等額外模型影像邊緣來判定該環境中之該攝影機之一新當前姿勢。
  6. 如請求項5之方法,其中基於該環境中之該攝影機之該所判定當前姿勢而判定該額外所估計姿勢包含:將該額外所估計姿勢定義為該環境中之該攝影機之該所判定當前姿勢。
  7. 如請求項5之方法,其進一步包括: 自該機器人之一或多個額外感測器接收感測器資料; 其中基於該攝影機之該所判定當前姿勢而判定該額外所估計姿勢包含:基於該攝影機之該所判定當前姿勢且基於該感測器資料而判定該額外所估計姿勢。
  8. 如請求項1之方法,其中基於比較該等攝影機影像邊緣與該等模型影像邊緣而判定該環境中之該攝影機之該當前姿勢包括: 判定該等攝影機影像邊緣與該等模型影像邊緣之間的差異;及 基於該等差異而判定該攝影機之該當前姿勢。
  9. 如請求項1之方法,其中基於比較該等攝影機影像邊緣與該等模型影像邊緣而判定該環境中之該攝影機之該當前姿勢包括: 判定該等攝影機影像邊緣與該等模型影像邊緣之間的差異; 基於該等差異而判定該攝影機之一候選姿勢; 藉由該等處理器中之一或多者且依據該環境之該以電子方式儲存之三維模型自該候選姿勢之視角呈現該環境之一額外模型影像; 藉由該等處理器中之一或多者而將該邊緣偵測器應用於該環境之該額外模型影像以自該額外模型影像提取額外模型影像邊緣; 藉由該等處理器中之一或多者而判定額外攝影機影像邊緣與該等額外模型影像邊緣之間的額外差異;及 若該等額外差異滿足一臨限值,則使用該候選姿勢作為該攝影機之該當前姿勢。
  10. 如請求項1之方法,其中該攝影機影像係藉由該攝影機之一單個感測器而擷取。
  11. 如請求項10之方法,其中該攝影機係一單眼攝影機。
  12. 如請求項1之方法,其中該一或多個處理器包含一圖形處理器單元。
  13. 如請求項1之方法,其中該環境之該三維模型係一電腦輔助設計模型。
  14. 如請求項1之方法,其中該當前姿勢係一個六自由度姿勢。
  15. 一種機器人,其包括: 至少一個非暫時性電腦可讀儲存媒體,其儲存一環境之一三維模型; 一攝影機; 一或多個處理器,其與該非暫時性電腦可讀儲存媒體通信且接收由該攝影機所擷取之攝影機影像,其中該一或多個處理器經組態以: 將一邊緣偵測器應用於該等攝影機影像中之一攝影機影像以偵測該攝影機影像中之攝影機影像邊緣; 識別該環境中之該攝影機之一所估計姿勢; 依據該環境之該三維模型自該所估計姿勢之一視角呈現該環境之一模型影像; 將該邊緣偵測器應用於該環境之該模型影像以偵測該模型影像中之模型影像邊緣;及 基於比較該等攝影機影像邊緣與該等模型影像邊緣而判定該環境中之該攝影機之一姿勢;及 基於該攝影機之當前姿勢而定位該環境中之該機器人。
  16. 如請求項15之機器人,其中該環境中之該攝影機之該所估計姿勢係基於該攝影機之一前一姿勢,其中該前一姿勢係基於比較由該攝影機所擷取之一前面攝影機影像之前面攝影機影像邊緣與自一前面所估計姿勢之視角呈現之一前面模型影像之前面模型影像邊緣而判定。
  17. 如請求項16之機器人,其中該環境中之該攝影機之該所估計姿勢係基於以下操作而判定:基於來自該機器人之一或多個額外感測器之感測器資料而修改該前一姿勢。
  18. 如請求項15之機器人,其中該一或多個處理器進一步經組態以: 將該邊緣偵測器應用於在擷取該影像之後所擷取之影像中之一額外攝影機影像以自該額外攝影機影像偵測額外攝影機影像邊緣; 基於該環境中之該攝影機之該所判定當前姿勢而判定該環境中之該攝影機之一額外所估計姿勢; 依據該環境之該三維模型自該額外所估計姿勢之視角呈現該環境之一額外模型影像; 將該邊緣偵測器應用於該環境之該額外模型影像以自該額外模型影像提取額外模型影像邊緣;及 基於比較該等額外攝影機影像邊緣與該等額外模型影像邊緣而判定該環境中之該攝影機之一新姿勢。
  19. 如請求項15之機器人,其中該攝影機係一單眼攝影機。
  20. 一種方法,其包括: 藉由一環境中之一機器人之一攝影機而擷取一攝影機影像; 藉由該機器人之一或多個處理器而將一邊緣偵測器應用於該攝影機影像以偵測該攝影機影像中之攝影機影像邊緣; 藉由該等處理器中之一或多者而識別該環境中之該攝影機之一所估計姿勢; 藉由該等處理器中之一或多者而基於該環境之一以電子方式儲存之三維模型自該所估計姿勢之一視角來判定該環境之模型邊緣; 藉由該等處理器中之一或多者而基於比較該等攝影機影像邊緣與該等模型邊緣來判定該環境中之該攝影機之一當前姿勢;及 藉由該等處理器中之一或多者而基於該攝影機之該當前姿勢來定位該環境中之該機器人。
TW105131769A 2015-10-02 2016-09-30 機器人及用於機器人之定位之方法 TWI620627B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/873,430 2015-10-02
US14/873,430 US9849591B2 (en) 2015-10-02 2015-10-02 Localization of a robot in an environment using detected edges of a camera image from a camera of the robot and detected edges derived from a three-dimensional model of the environment

Publications (2)

Publication Number Publication Date
TW201722657A true TW201722657A (zh) 2017-07-01
TWI620627B TWI620627B (zh) 2018-04-11

Family

ID=58424342

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105131769A TWI620627B (zh) 2015-10-02 2016-09-30 機器人及用於機器人之定位之方法

Country Status (5)

Country Link
US (1) US9849591B2 (zh)
EP (1) EP3347875B1 (zh)
CN (1) CN108283021B (zh)
TW (1) TWI620627B (zh)
WO (1) WO2017059263A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI676934B (zh) * 2018-10-03 2019-11-11 東元電機股份有限公司 開放擴充式移動平台

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6348097B2 (ja) * 2015-11-30 2018-06-27 ファナック株式会社 ワーク位置姿勢算出装置およびハンドリングシステム
JP6710946B2 (ja) * 2015-12-01 2020-06-17 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
US10607364B2 (en) * 2017-10-31 2020-03-31 Honeywell International Inc. Position and attitude determination method and system using edge images
US10026218B1 (en) * 2017-11-01 2018-07-17 Pencil and Pixel, Inc. Modeling indoor scenes based on digital images
US10901430B2 (en) * 2017-11-30 2021-01-26 International Business Machines Corporation Autonomous robotic avatars
US10682774B2 (en) 2017-12-12 2020-06-16 X Development Llc Sensorized robotic gripping device
US10792809B2 (en) * 2017-12-12 2020-10-06 X Development Llc Robot grip detection using non-contact sensors
CN108010130B (zh) * 2017-12-13 2021-03-09 合肥工业大学 一种面向图形的机器人操作方法
JP7109207B2 (ja) * 2018-02-23 2022-07-29 パナソニックホールディングス株式会社 相互作用装置、相互作用方法、相互作用プログラム及びロボット
GB2571528A (en) * 2018-02-28 2019-09-04 Rolls Royce Plc Controlling a robot in an environment
EP3686700B1 (de) * 2018-07-27 2020-12-16 Eisenmann SE Verfahren zur überwachung einer automatisierungsanlage
CN109410316B (zh) * 2018-09-21 2023-07-07 达闼机器人股份有限公司 物体的三维重建的方法、跟踪方法、相关装置及存储介质
US11556995B1 (en) 2018-10-17 2023-01-17 State Farm Mutual Automobile Insurance Company Predictive analytics for assessing property using external data
US11810202B1 (en) 2018-10-17 2023-11-07 State Farm Mutual Automobile Insurance Company Method and system for identifying conditions of features represented in a virtual model
US11024099B1 (en) * 2018-10-17 2021-06-01 State Farm Mutual Automobile Insurance Company Method and system for curating a virtual model for feature identification
CN109472828B (zh) * 2018-10-26 2021-06-22 达闼科技(北京)有限公司 一种定位方法、装置、电子设备及计算机可读存储介质
US10873724B1 (en) 2019-01-08 2020-12-22 State Farm Mutual Automobile Insurance Company Virtual environment generation for collaborative building assessment
CA3136056A1 (en) * 2019-04-02 2020-10-08 Buildots Ltd. Construction project tracking
US11049072B1 (en) 2019-04-26 2021-06-29 State Farm Mutual Automobile Insurance Company Asynchronous virtual collaboration environments
US11032328B1 (en) 2019-04-29 2021-06-08 State Farm Mutual Automobile Insurance Company Asymmetric collaborative virtual environments
CN111028350B (zh) * 2019-11-21 2022-05-20 大连理工大学 一种利用双目立体相机构建栅格地图的方法
CN113256715B (zh) * 2020-02-12 2024-04-05 北京京东乾石科技有限公司 机器人的定位方法和装置
EP3893074A1 (en) * 2020-04-06 2021-10-13 General Electric Company Localization method for mobile remote inspection and/or manipulation tools in confined spaces and associated system
CN113618367B (zh) * 2021-08-19 2022-05-03 哈尔滨工业大学(深圳) 基于七自由度并联双模块机器人的多视觉空间装配系统
CN117226854B (zh) * 2023-11-13 2024-02-02 之江实验室 一种夹取任务的执行方法、装置、存储介质及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8896660B2 (en) 2003-05-30 2014-11-25 Alcatel Lucent Method and apparatus for computing error-bounded position and orientation of panoramic cameras in real-world environments
US7650013B2 (en) 2004-11-15 2010-01-19 Mobilerobots Inc. System and method for map and position-determination enhancement
US8930023B2 (en) 2009-11-06 2015-01-06 Irobot Corporation Localization by learning of wave-signal distributions
US7826926B2 (en) 2005-11-07 2010-11-02 Samsung Electronics Co., Ltd. Robot and method of localizing the same
NO327279B1 (no) * 2007-05-22 2009-06-02 Metaio Gmbh Kamerapositurestimeringsanordning og- fremgangsmate for foroket virkelighetsavbildning
CN102596517B (zh) * 2009-07-28 2015-06-17 悠进机器人股份公司 移动机器人定位和导航控制方法及使用该方法的移动机器人
US9079315B2 (en) 2011-08-29 2015-07-14 Neil Davey Banking automation using autonomous robot
US8798840B2 (en) 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
KR101438514B1 (ko) 2013-02-04 2014-09-11 한국원자력연구원 다중 영상을 이용한 원자로 내부 로봇 위치 측정 시스템 및 위치 측정방법
US9406137B2 (en) * 2013-06-14 2016-08-02 Qualcomm Incorporated Robust tracking using point and line features
RU2621480C1 (ru) * 2013-11-13 2017-06-06 Ниссан Мотор Ко., Лтд. Устройство оценки положения движущегося тела и способ оценки положения движущегося тела
US20150199572A1 (en) * 2014-01-16 2015-07-16 Qualcomm Incorporated Object tracking using occluding contours
CN104848861B (zh) * 2015-05-28 2017-12-08 西安交通大学 一种基于图像消失点识别技术的移动设备姿态测量方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI676934B (zh) * 2018-10-03 2019-11-11 東元電機股份有限公司 開放擴充式移動平台

Also Published As

Publication number Publication date
US20170098309A1 (en) 2017-04-06
EP3347875A4 (en) 2019-04-24
WO2017059263A1 (en) 2017-04-06
CN108283021A (zh) 2018-07-13
TWI620627B (zh) 2018-04-11
CN108283021B (zh) 2022-04-26
US9849591B2 (en) 2017-12-26
EP3347875B1 (en) 2023-11-01
EP3347875A1 (en) 2018-07-18

Similar Documents

Publication Publication Date Title
TWI620627B (zh) 機器人及用於機器人之定位之方法
US11691273B2 (en) Generating a model for an object encountered by a robot
KR101999033B1 (ko) 자동 로봇을 위한 장애물의 존재 및 부재 중 하나의 확률 맵 구축 방법
US9757862B2 (en) Tactile sensor
KR101423139B1 (ko) 3차원 직선을 이용하여 위치를 인식하고 지도를 생성하는 방법 및 그 방법에 따른 이동체
JP6374984B2 (ja) 定位面内にロボットを定位する方法
JP2011175477A (ja) 3次元計測装置、処理方法及びプログラム
KR20200041384A (ko) 충돌 검출, 추정 및 회피
WO2019001237A1 (zh) 一种移动电子设备以及该移动电子设备中的方法
CN110603122B (zh) 用于交互式学习应用的自动个性化反馈
JP6042291B2 (ja) ロボット、ロボット制御方法、及びロボット制御プログラム
JP5698815B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP6040264B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
KR100906991B1 (ko) 로봇의 비시인성 장애물 탐지방법
Poomarin et al. Automatic docking with obstacle avoidance of a differential wheel mobile robot
Peñalver et al. Multi-view underwater 3D reconstruction using a stripe laser light and an eye-in-hand camera
Xue et al. Motion planning using a tof camera for manipulation in cluttered environments
Jonnalagadda et al. Biclops: An active vision system
Durand et al. Face Detection for ButlerBot
JP2015125725A (ja) 物体範囲推定方法、物体範囲推定装置及びロボット