TW201800721A - Landmark re-parametrization method and device thereof for SLAM system - Google Patents
Landmark re-parametrization method and device thereof for SLAM system Download PDFInfo
- Publication number
- TW201800721A TW201800721A TW105119121A TW105119121A TW201800721A TW 201800721 A TW201800721 A TW 201800721A TW 105119121 A TW105119121 A TW 105119121A TW 105119121 A TW105119121 A TW 105119121A TW 201800721 A TW201800721 A TW 201800721A
- Authority
- TW
- Taiwan
- Prior art keywords
- point
- anchor point
- updated
- current
- marker
- Prior art date
Links
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Description
本發明提供一種標記點參數化更新方法及其裝置,且特別是關於一種應用於SLAM系統的標記點參數化更新方法及其裝置。 The invention provides a marking point parameterization updating method and a device thereof, and in particular to a marking point parameterization updating method and device thereof applied to a SLAM system.
SLAM(simultaneous localization and mapping)系統的目的在於利用感測器所獲得的資訊來推估裝置在空間中移動的軌跡及位置。解決上述問題的一個方法稱之為EKF(extended Kalman filter)。此方法會維護一個系統狀態(state),此系統狀態通常包含裝置當下的位置、速度、方向,以及空間中一些點(稱之為標記點(landmark))的三維空間位置。 The purpose of the SLAM (simultaneous localization and mapping) system is to use the information obtained by the sensor to estimate the trajectory and position of the device moving in space. One way to solve the above problem is called EKF (extended Kalman filter). This method maintains a system state, which usually contains the current position, velocity, direction of the device, and the three-dimensional spatial position of some points in the space (called landmarks).
一般來說,感測器所獲得的資訊皆有誤差,且在現有技術中,裝置係透過攝影機的畫面來進行修正。更進一步來說,假設裝置上的攝影機拍攝了當下的畫面,並在畫面中偵測到了多個特徵點。裝置會以當時的位置為基準點(稱之為錨點(anchor point))搭配特徵點的影像座標來推估這些特徵點在三維空間中的位置,即稱為標記點,且將這些標記點參數化來作為表示,如倒數深度表示法(inverse depth parametrization,IDP),即以仰角、方位角與深度值倒數來表示標記點。 In general, the information obtained by the sensor has errors, and in the prior art, the device is corrected by the camera's screen. Furthermore, it is assumed that the camera on the device captures the current picture and detects a plurality of feature points in the picture. The device uses the current position as a reference point (called an anchor point) and the image coordinates of the feature points to estimate the position of these feature points in three-dimensional space, which is called mark points, and these points are marked. Parameterization is used as a representation, such as inverse depth parametrization (IDP), that is, the mark point is represented by the inverse of the elevation angle, the azimuth angle, and the depth value.
然而,在SLAM系統中,習知錨點是以裝置在某個時刻下的位置進行定義,其位置雖可輕微變化但大體仍是以當下的位置 為基準,此表示其無法適應於環境的變化因而可能推估出不準確的標記點。因此,若可以在適當的時機更新錨點,將可得到更準確的標記點,使得推估裝置在空間中移動的軌跡及位置可以更準確。 However, in the SLAM system, the conventional anchor point is defined by the position of the device at a certain moment, although its position can be slightly changed but it is still in the current position. For the benchmark, this means that it cannot adapt to changes in the environment and may therefore infer inaccurate points. Therefore, if the anchor point can be updated at an appropriate timing, a more accurate marker point can be obtained, so that the trajectory and position of the estimation device moving in space can be more accurate.
本發明實施例提供一種應用於SLAM系統的標記點參數化更新方法,適用於一裝置,且於行進間紀錄裝置之一裝置位置、一方位、複數個標記點及每個標記點對應的錨點。每一個標記點表示一畫面中對應的一特徵點在一三維空間中的位置資訊。標記點參數化更新方法包括如下步驟:根據對應的錨點與標記點的參數化數值,推估未更新錨點的每一個標記點在三維空間中的位置資訊;於每一個標記點中,判斷目前的裝置位置是否適合作為對應的錨點;若判斷目前的裝置位置適合作為對應的錨點,將對應的錨點更新為目前的裝置位置,根據更新後的錨點與未更新錨點的標記點的參數化數值或者與對應的特徵點之一影像座標產生一目前標記點的參數化數值,且根據未更新錨點的標記點的參數化數值與目前標記點的參數化數值更新一共變異矩陣以利後續用於標記點及裝置方位的修正;若判斷目前的裝置位置不適合作為對應的錨點,不更新對應的錨點,且不更新共變異矩陣。處理器將未更新錨點的標記點的參數化數值作為目前標記點的參數化數值,並以現有的共變異矩陣進行下一階段標記點及裝置方位的修正。 Embodiments of the present invention provide a method for parameterized parameter updating of a point applied to a SLAM system, which is applicable to a device, and a device position, an orientation, a plurality of marking points, and an anchor point corresponding to each marking point in the inter-recording device. . Each marker point represents position information of a corresponding feature point in a picture in a three-dimensional space. The parameterized parameter updating method includes the following steps: estimating position information of each marked point in the three-dimensional space of the unupdated anchor point according to the parameterized value of the corresponding anchor point and the marked point; and determining, in each of the marked points, determining Whether the current device position is suitable as the corresponding anchor point; if it is determined that the current device position is suitable as the corresponding anchor point, the corresponding anchor point is updated to the current device position, according to the updated anchor point and the unupdated anchor point mark The parameterized value of the point or the parameter coordinate of one of the corresponding feature points generates a parameterized value of the current marked point, and the parameterized value of the marked point of the unupdated anchor point is updated with the parameterized value of the current marked point to update the common variation matrix. The following is used for the correction of the marker point and the device orientation; if it is determined that the current device location is not suitable as the corresponding anchor point, the corresponding anchor point is not updated, and the covariation matrix is not updated. The processor uses the parameterized value of the marked point of the unupdated anchor point as the parameterized value of the current marked point, and performs the correction of the next stage marking point and the device orientation by using the existing covariance matrix.
本發明實施例提供一種應用於SLAM系統的標記點參數化更新裝置。標記點參數化更新裝置包括一攝像模組與一處理器。攝像模組偵測於行進間之一畫面中的多個特徵點。處理器電連接攝像模組,於行進間紀錄一裝置位置、一方位、複數個標記點及每一該標記點對應的一錨點,每一該標記點表示一畫面中對應的 一特徵點在一三維空間中的位置資訊,且執行以下步驟:根據對應的錨點與標記點的參數化數值推估未更新錨點的每一個標記點在三維空間中的位置資訊;以及於每一個標記點中判斷目前的裝置位置是否適合作為對應的錨點。若處理器判斷目前的裝置位置適合作為對應的錨點,處理器將對應的錨點更新為目前的裝置位置。處理器根據更新後的錨點與未更新該錨點的該標記點的參數化數值或者與對應的該特徵點之一影像座標產生一目前標記點,且根據未更新錨點的標記點的參數化數值與目前標記點的參數化數值更新一共變異矩陣以利後續用於標記點及裝置方位的修正。若處理器判斷目前的裝置位置不適合作為對應的錨點,處理器不更新對應的錨點,且不更新共變異矩陣。處理器將未更新錨點的標記點的參數化數值作為目前標記點的參數化數值,並以現有的共變異矩陣進行下一階段標記點及裝置方位的修正。 Embodiments of the present invention provide a tag point parameterization updating apparatus applied to a SLAM system. The marker point parameterization updating device comprises a camera module and a processor. The camera module detects a plurality of feature points in one of the pictures in the march. The processor is electrically connected to the camera module, and records a device position, an orientation, a plurality of marking points and an anchor point corresponding to each of the marking points during the traveling, and each of the marking points represents a corresponding one in the screen. Position information of a feature point in a three-dimensional space, and performing the following steps: estimating position information of each marked point in the three-dimensional space of the unupdated anchor point according to the parameterized value of the corresponding anchor point and the marked point; It is judged in each marker point whether the current device position is suitable as a corresponding anchor point. If the processor determines that the current device location is suitable as the corresponding anchor point, the processor updates the corresponding anchor point to the current device location. The processor generates a current marker point according to the updated anchor point and the parameterized value of the marker point that does not update the anchor point or the corresponding image coordinate of the feature point, and according to the parameter of the marker point of the anchor point that is not updated The statistic value is updated with the parameterized value of the current marker point to a common variation matrix for subsequent correction of the marker point and device orientation. If the processor determines that the current device location is not suitable as the corresponding anchor point, the processor does not update the corresponding anchor point and does not update the covariation matrix. The processor uses the parameterized value of the marked point of the unupdated anchor point as the parameterized value of the current marked point, and performs the correction of the next stage marking point and the device orientation by using the existing covariance matrix.
綜合以上所述,本發明實施例所提供的應用於SLAM系統的標記點參數化更新方法及其裝置,其動態地更新錨點、根據更新後的錨點重新參數化標記點,並同時更新標記點的共變異矩陣。據此,應用於SLAM系統的標記點參數化更新方法及其裝置可以更準確地推估裝置在三維空間中的位置以及裝置在三維空間中移動的軌跡、位置及方向。 In summary, the method and device for marking point parameterization applied to the SLAM system provided by the embodiment of the present invention dynamically update the anchor point, re-parameterize the mark point according to the updated anchor point, and update the mark at the same time. The covariation matrix of points. Accordingly, the marker point parameterization updating method and apparatus applied to the SLAM system can more accurately estimate the position of the device in the three-dimensional space and the trajectory, position and direction of the device moving in the three-dimensional space.
為使能更進一步瞭解本發明之特徵及技術內容,請參閱以下有關本發明之詳細說明與附圖,但是此等說明與所附圖式僅係用來說明本發明,而非對本發明的權利範圍作任何的限制。 The detailed description of the present invention and the accompanying drawings are to be understood by the claims The scope is subject to any restrictions.
100‧‧‧標記點參數化更新裝置 100‧‧‧Marking point parameterization update device
110‧‧‧攝像模組 110‧‧‧ camera module
120‧‧‧處理器 120‧‧‧ processor
A、B、C、D‧‧‧特徵點 A, B, C, D‧‧‧ feature points
S310、S320、S330、S340‧‧‧步驟 S310, S320, S330, S340‧‧‧ steps
圖1是本發明一實施例之應用於SLAM系統的標記點參數化更新裝置的示意圖。 1 is a schematic diagram of a marker point parameterization updating apparatus applied to a SLAM system according to an embodiment of the present invention.
圖2是本發明一實施例之畫面中的特徵點的示意圖。 2 is a schematic diagram of feature points in a screen according to an embodiment of the present invention.
圖3是本發明一實施例之應用於SLAM系統的標記點參數 化更新方法的流程圖。 3 is a marker point parameter applied to a SLAM system according to an embodiment of the present invention; Flow chart of the update method.
在下文中,將藉由圖式說明本發明之各種例示實施例來詳細描述本發明。然而,本發明概念可能以許多不同形式來體現,且不應解釋為限於本文中所闡述之例示性實施例。此外,圖式中相同參考數字可用以表示類似的元件。 In the following, the invention will be described in detail by way of illustration of various exemplary embodiments of the invention. However, the inventive concept may be embodied in many different forms and should not be construed as being limited to the illustrative embodiments set forth herein. In addition, the same reference numerals may be used in the drawings to indicate similar elements.
首先,請同時參考圖1,其顯示本發明一實施例之應用於SLAM系統的標記點參數化更新裝置的示意圖。如圖1所示,標記點參數化更新裝置100為應用於SLAM系統,以推估標記點參數化更新裝置100在空間中移動的軌跡及位置。在本實施例中,標記點參數化更新裝置100可為電腦主機,平板電腦或其他電子裝置,本發明對此不作限制。更進一步來說,標記點參數化更新裝置100可設置在一移動平台上,以於行進間推估其在三維空間中移動的軌跡及位置。 First, please refer to FIG. 1 at the same time, which shows a schematic diagram of a marker point parameterization updating apparatus applied to a SLAM system according to an embodiment of the present invention. As shown in FIG. 1, the marker point parameterization updating apparatus 100 is applied to the SLAM system to estimate the trajectory and position of the marker point parameterization updating apparatus 100 moving in space. In this embodiment, the tag point parameterization updating device 100 can be a computer host, a tablet computer or other electronic device, which is not limited by the present invention. Furthermore, the marker point parameterization updating device 100 can be disposed on a mobile platform to estimate the trajectory and position of the movement in the three-dimensional space between the routes.
標記點參數化更新裝置100包括一攝像模組110與一處理器120。處理器120於行進間計算一裝置位置與一方位。在本實施例中,處理器120事先設定好裝置100行進一次的速度與方位,以據此推估於行進間的裝置位置與方位。而在其他實施例中,處理器120可具有一感測模組(未繪於圖式中)。感測模組感測裝置100於行進間之裝置位置與方位。更進一步來說,感測模組具有一三軸加速度計與一陀螺儀(未繪於圖式中),且可依照實際狀況來配置三軸加速度計與陀螺儀的位置。三軸加速度計與陀螺儀為分別感測裝置100在行進間的加速度與方位。而加速度將透過積分運算產生標記點參數化更新裝置100的裝置位置。感測模組亦可根據實際狀況額外設置其他感測器,如速度感測器,以供處理器120進行後續處理。舉例來說,處理器120在時間為0.01秒時,推估標記點參數化更新裝置100之裝置位置p、速度v與方 位q如下<表一>所示之系統狀態。 The marker point parameterization updating device 100 includes a camera module 110 and a processor 120. The processor 120 calculates a device location and an orientation during travel. In the present embodiment, the processor 120 sets in advance the speed and orientation at which the device 100 travels once to estimate the position and orientation of the device during travel. In other embodiments, the processor 120 can have a sensing module (not shown in the drawings). The sensing module senses the position and orientation of the device 100 during travel. Furthermore, the sensing module has a three-axis accelerometer and a gyroscope (not shown in the drawings), and the position of the three-axis accelerometer and the gyroscope can be configured according to actual conditions. The three-axis accelerometer and the gyroscope are respectively the acceleration and orientation of the sensing device 100 during travel. The acceleration will be generated by the integral operation to generate the position of the device parameterized update device 100. The sensing module can also additionally provide other sensors, such as a speed sensor, for the processor 120 to perform subsequent processing according to actual conditions. For example, the processor 120 estimates the device position p, the velocity v and the square of the marker point parameterization updating device 100 when the time is 0.01 seconds. Bit q is as follows in the system state shown in <Table 1>.
請同時參考圖2,其顯示本發明一實施例之畫面中的特徵點的示意圖。如圖1-2所示,攝像模組110為用來偵測標記點參數化更新裝置100於行進間之畫面Fr中的複數個特徵點A、B、C與D,並將特徵點A-D在畫面Fr中的影像座標提供給處理器120,以供處理器120估測特徵點A-D之影像座標在三維空間中的位置資訊。而每一個特徵點A-D之影像座標在三維空間中的位置資訊係由一個標記點來作表示(以下會作詳細說明)。在本實施例中,攝像模組110係透過角點偵測(Corner Detection)演算法來尋找畫面Fr中的特徵點A-D,且亦可透過其他演算法來尋找畫面Fr中的特徵點,本發明對此不作限制。舉例來說,攝像模組110找到4個特徵點A-D,且特徵點A-D在畫面Fr中的影像座標如下<表二>所示之系統狀態。 Please also refer to FIG. 2, which shows a schematic diagram of feature points in the screen of an embodiment of the present invention. As shown in FIG. 1-2, the camera module 110 is configured to detect a plurality of feature points A, B, C, and D in the screen Fr of the marker point parameterization updating apparatus 100, and to set the feature point AD. The image coordinates in the picture Fr are provided to the processor 120 for the processor 120 to estimate the positional information of the image coordinates of the feature point AD in the three-dimensional space. The position information of the image coordinates of each feature point A-D in the three-dimensional space is represented by a marker point (described below in detail). In this embodiment, the camera module 110 searches for the feature points AD in the picture Fr through a Corner Detection algorithm, and can also find feature points in the picture Fr through other algorithms. The present invention There is no limit to this. For example, the camera module 110 finds four feature points A-D, and the image coordinates of the feature points A-D in the screen Fr are as follows in the system state shown in <Table 2>.
處理器120電連接攝像模組110,且用以執行下列步驟,以根據每一個特徵點A-D與對應的錨點來推估每個特徵點A-D在三維空間中的位置資訊。而每一個特徵點A-D之影像座標在三維空間中的位置資訊將以標記點A1、B1、C1與D1作表示。有關每一個特徵點A-D之影像座標在三維空間中的位置資訊將以 標記點A1、B1、C1與D1作表示為所屬領域具有通常知識者所知,故在此不再贅述。本實施例的標記點A1-D1係為參數化後的標記點,且以倒數深度表示法(inverse depth parametrization,IDP)來作表示,以方便處理器120計算。而標記點A1-D1亦可以其他參數化表示法,如AHP(anchored homogeneous point)參數化表示法,本發明對此不作限制。此外,每個標記點A1-D1分別有一個錨點,且每個錨點分別為每個標記點A1-D1對應於標記點參數化更新裝置100的基準點。而有關錨點之定義為所屬領域具有通常知識者所知,故在此不再贅述。承接上述例子,處理器120在時間為0.01秒時,系統狀態中的裝置位置p、速度v、方位q、錨點m與標記點A1-D1的參數化數值如下<表三>所示。 The processor 120 is electrically connected to the camera module 110, and is configured to perform the following steps to estimate position information of each feature point A-D in three-dimensional space according to each feature point A-D and a corresponding anchor point. The positional information of the image coordinates of each feature point A-D in the three-dimensional space will be represented by the marker points A1, B1, C1 and D1. The position information of the image coordinates of each feature point A-D in three-dimensional space will be The points A1, B1, C1 and D1 are indicated as being known to those of ordinary skill in the art, and therefore will not be described again. The marker points A1-D1 in this embodiment are parameterized marker points and are represented by inverse depth parametrization (IDP) to facilitate calculation by the processor 120. The parameter points A1-D1 can also be other parameterized representations, such as the AHP (anchored homogeneous point) parameterized representation, which is not limited in the present invention. In addition, each of the marker points A1-D1 has an anchor point, and each anchor point is a reference point corresponding to the marker point parameterization updating apparatus 100 for each marker point A1-D1. The definition of the anchor point is known to those of ordinary skill in the art, and therefore will not be described herein. According to the above example, when the processor 120 has a time of 0.01 second, the parameterized values of the device position p, the velocity v, the azimuth q, the anchor point m, and the marker points A1 - D1 in the system state are as follows <Table 3>.
請同時參考圖3,其顯示本發明一實施例之應用於SLAM系統的標記點參數化更新方法的流程圖。在標記點參數化更新裝置100行進一段時間後,處理器120將推估目前(如時間為0.05秒)的系統狀態。首先,處理器120將根據對應的錨點(如表三之錨點m=[0,0,0.020045])與對應的特徵點A-D的標記點A1-D1的參數化數值推估未更新錨點的每一個標記點E1、F1、G1與H1的參數化數值(步驟S310)。 Please also refer to FIG. 3, which shows a flowchart of a method for parameterized parameter updating of a point applied to a SLAM system according to an embodiment of the present invention. After the marker point parameterization update device 100 travels for a period of time, the processor 120 will estimate the current (eg, 0.05 second time) system state. First, the processor 120 will estimate the unupdated anchor point according to the parameterized value of the corresponding anchor point (such as anchor point m=[0,0,0.020045] of Table 3) and the corresponding feature point AD of the marker point A1-D1. The parameterized value of each of the points E1, F1, G1 and H1 is marked (step S310).
而未更新錨點的每一個標記點E1、F1、G1與H1的參數化 數值的計算方式將根據對應的錨點與對應的特徵點的標記點A1-D1的參數化數值並透過例如卡曼濾波(Extended Kalman Filter,EKF)演算法來計算,且在此不再贅述。承接上述例子,處理器120在時間為0.05秒時,推估的系統狀態中的裝置位置p、速度v、方位q、錨點m與未更新錨點的標記點E1-H1的參數化數值如下<表四>所示。 Parameterization of each marker point E1, F1, G1 and H1 without updating the anchor point The calculation of the value will be calculated according to the parameterized value of the corresponding anchor point and the corresponding feature point of the marker point A1-D1 and is calculated by, for example, an Extended Kalman Filter (EKF) algorithm, and will not be described herein. According to the above example, when the processor 120 has a time of 0.05 seconds, the parameterized values of the device position p, the velocity v, the azimuth q, the anchor point m, and the marked point E1-H1 of the unupdated anchor point in the estimated system state are as follows: <Table 4> is shown.
接著,處理器120將在每一個標記點A1-D1中,進一步判斷目前的裝置位置是否適合作為對應的錨點(步驟S320)。在本實施例中,處理器120將在每一個標記點A1-D1中,根據未更新錨點的標記點、未更新錨點、與目前的裝置位置之間的關係來判斷目前的裝置位置是否適合作為對應的錨點。更進一步來說,未更新錨點的標記點、未更新錨點與目前的裝置位置之間的關係為一距離關係。 Next, the processor 120 will further determine, in each of the marker points A1-D1, whether the current device location is suitable as a corresponding anchor point (step S320). In this embodiment, the processor 120 will determine whether the current device location is based on the relationship between the marked point of the unupdated anchor point, the unupdated anchor point, and the current device location in each of the marked points A1-D1. Suitable as a corresponding anchor point. Furthermore, the relationship between the un-updated anchor point, the unupdated anchor point and the current device location is a distance relationship.
以未更新錨點的標記點E1、未更新錨點m=[0,0,0.020045]與目前的裝置位置之間的距離關係來作說明。因此,若未更新錨點的標記點E1與目前的裝置位置之間的距離小於等於未更新錨 點的標記點E1與未更新錨點m=[0,0,0.020045]之間的距離,未更新錨點的標記點E1距離目前的裝置位置較近,表示目前的裝置位置適合作為對應的錨點;反之,若未更新錨點的標記點E1與目前的裝置位置之間的距離大於未更新錨點的標記點E1與未更新錨點m=[0,0,0.020045]之間的距離,未更新錨點的標記點E1距離目前的裝置位置較遠,表示目前的裝置位置不適合作為對應的錨點。 The distance relationship between the marked point E1 of the unupdated anchor point and the unupdated anchor point m=[0, 0, 0.020045] and the current device position is explained. Therefore, if the distance between the marked point E1 of the anchor point that has not been updated and the current device position is less than or equal to the unupdated anchor The distance between the point E1 of the point and the unupdated anchor point m=[0,0,0.020045], the point E1 of the unupdated anchor point is closer to the current device position, indicating that the current device position is suitable as the corresponding anchor Point; otherwise, if the distance between the marked point E1 of the unupdated anchor point and the current device position is greater than the distance between the marked point E1 of the unupdated anchor point and the unupdated anchor point m=[0, 0, 0.020045], The marked point E1 of the anchor point that is not updated is far from the current device position, indicating that the current device position is not suitable as the corresponding anchor point.
在每一個標記點A1-D1中,若處理器120判斷目前的裝置位置適合作為對應的錨點,處理器120接著將執行步驟S330,即處理器120將對應的錨點更新為目前的裝置位置,且根據更新後的錨點與未更新錨點的標記點E1-H1的參數化數值,或者根據更新後的錨點與對應的特徵點之一影像座標產生一目前標記點的參數化數值,以取得目前的時間下,畫面Fr中對應的特徵點在三維空間中的位置資訊。再來,處理器120將根據未更新錨點的標記點的參數化數值與目前標記點的參數化數值更新一共變異矩陣。有關處理器120重新參數化對應的標記點的計算方法為所屬領域具有通常知識者所熟知,故在此不再贅述。 In each of the markers A1-D1, if the processor 120 determines that the current device location is suitable as the corresponding anchor point, the processor 120 will then perform step S330, that is, the processor 120 updates the corresponding anchor point to the current device location. And generating a parameterized value of the current marker point according to the parameterized value of the updated anchor point and the marker point E1-H1 of the unupdated anchor point, or according to the image point of the updated anchor point and the corresponding feature point, In order to obtain the position information of the corresponding feature points in the three-dimensional space in the picture Fr at the current time. Then, the processor 120 updates the common variation matrix according to the parameterized value of the marked point of the unupdated anchor point and the parameterized value of the current marked point. The calculation method for the processor 120 to re-parameterize the corresponding mark points is well known to those skilled in the art, and therefore will not be described herein.
承接<表四>例子,未更新錨點的標記點E1=[1.124891,-2.356195,0.296355]為參數化後的標記點。處理器120利用對應的錨點m=[0,0,0.020045]將未更新錨點的標記點E1轉換為三維空間中的座標=[-1.060748,-1.060748,3.177802]。代表未更新錨點的標記點E1在三維空間中的座標=[-1.060748,-1.060748,3.177802]與對應的錨點m=[0,0,0.020045]之間的距離為。而代表未更新錨點的標記點E1在三維空間中的座標=[-1.060748,-1.060748,3.177802]與目前的裝置位置p=[0,0,0.101125]之間距離為。故由上述可知,未更新錨點的標記點E1與目前的裝置位置之間 的距離小於等於未更新錨點的標記點E1與前一個錨點之間的距離。處理器120判斷未更新錨點的標記點E1距離目前的位置較近,表示目前的裝置位置適合作為對應的錨點。 In the example of <Table 4>, the marked point E1=[1.124891, -2.356195, 0.296355] without updating the anchor point is the parameterized mark point. The processor 120 converts the marker point E1 of the unupdated anchor point into a coordinate in the three-dimensional space using the corresponding anchor point m=[0,0,0.020045]=[-1.060748, -1.060748, 3.177802]. The distance between the coordinates of the marked point E1 representing the unupdated anchor point in the three-dimensional space = [-1.060748, -1.060748, 3.177802] and the corresponding anchor point m = [0, 0, 0.020045] is . The distance between the coordinates of the marked point E1 representing the unupdated anchor point in the three-dimensional space=[-1.060748, -1.060748, 3.177802] and the current device position p=[0,0,0.101125] is . Therefore, as can be seen from the above, the distance between the marked point E1 of the unupdated anchor point and the current device position is less than or equal to the distance between the marked point E1 of the unupdated anchor point and the previous anchor point. The processor 120 determines that the marked point E1 of the anchor point that is not updated is closer to the current position, indicating that the current device position is suitable as the corresponding anchor point.
接著,處理器120遂將對應的錨點m=[0,0,0.020045]更新為目前的裝置位置,即更新後的錨點m為[0,0,0.101125]。而處理器120將根據更新後的錨點m=[0,0,0.101125]與未更新錨點的標記點E1的參數化數值產生一目前標記點E2,意即處理器120將根據更新後的錨點m=[0,0,0.101125]並透過倒數深度表示法(IDP)重新參數化未更新錨點的標記點E1以產生目前標記點E2的參數化數值,以取得目前的時間下,畫面Fr中對應的特徵點在三維空間中的位置資訊。又或者處理器120亦可根據更新後的錨點m=[0,0,0.101125]與對應的特徵點A之影像座標產生目前標記點E2的參數化數值。而對於其他未更新錨點的標記點F1-H1,處理器120同樣可以上述方法重新參數化未更新錨點的標記點F1-H1,以分別產生一目前標記點F2-H2,故在此不再贅述。 Next, the processor 120遂 updates the corresponding anchor point m=[0,0,0.020045] to the current device location, that is, the updated anchor point m is [0, 0, 0.101125]. The processor 120 will generate a current marker point E2 according to the parameterized value of the updated anchor point m=[0,0,0.101125] and the marker point E1 of the unupdated anchor point, that is, the processor 120 will be based on the updated The anchor point m=[0,0,0.101125] and re-parameterizes the marker point E1 of the unupdated anchor point by the reciprocal depth representation (IDP) to generate the parameterized value of the current marker point E2 to obtain the current time, the picture The position information of the corresponding feature points in the three-dimensional space in Fr. Alternatively, the processor 120 may generate a parameterized value of the current marker point E2 according to the updated anchor point m=[0, 0, 0.101125] and the image coordinate of the corresponding feature point A. For other marked points F1-H1 that are not updated, the processor 120 can also re-parameterize the marked points F1-H1 of the unupdated anchor points to generate a current marked point F2-H2, respectively. Let me repeat.
如下<表五>所示之處理器120在時間為0.05秒時,重新參數化未更新錨點的標記點E1-H1後的系統狀態以產生目前標記點E2-H2。而有關目前標記點E2-H2的參數化數值的計算方式大致上類似於<表四>之未更新錨點的參數化數值的標記點E1-H1的計算方式,故在此不再贅述。 The processor 120 shown in <Table 5> below re-parameterizes the system state after the marker point E1-H1 of the anchor point is not updated at time 0.05 seconds to generate the current marker point E2-H2. The calculation method of the parameterized value of the current marker point E2-H2 is roughly similar to the calculation method of the marker point E1-H1 of the parameterized value of the unupdated anchor point of <Table 4>, and therefore will not be described herein.
在EKF-SLAM系統中,系統會維護代表系統狀態誤差的共變異矩陣。因此,接下來,處理器120將根據未更新錨點的標記點E1-H1的共變異矩陣產生代表目前標記點E2-H2的共變異矩陣,以修正整個系統狀態,其詳細說明如下。處理器120將根據未更新錨點的標記點E1-H1的參數化數值與目前標記點E2-H2的參數化數值計算代表目前標記點E2-H2的共變異矩陣,以據此修正整個系統狀態。更進一步來說,未更新錨點的標記點E1-H1的參數化數值與目前標記點E2-H2的參數化數值之間的數值變化關聯程度(即E2-H2相對於E1-H1間數值的偏微分)可用來計算一矩陣G。因此,共變異矩陣P+可整理為以下形式:P+=GP-GT其中,P+為錨點更新後的系統狀態共變異矩陣,P-為錨點更新前的系統狀態共變異矩陣,GT則為矩陣G的轉置矩陣。據此,處理器120將可透過矩陣G來計算錨點更新後的共變異矩陣P+。 In the EKF-SLAM system, the system maintains a covariation matrix that represents system state errors. Therefore, next, the processor 120 will generate a covariation matrix representing the current marker points E2-H2 according to the covariation matrix of the marker points E1-H1 of the anchor point that is not updated, to correct the entire system state, which is described in detail below. The processor 120 calculates a covariation matrix representing the current marker point E2-H2 according to the parameterized value of the marker point E1-H1 of the unupdated anchor point and the parameterized value of the current marker point E2-H2, thereby correcting the entire system state accordingly. . Furthermore, the degree of correlation between the parameterized value of the marked point E1-H1 of the unupdated anchor point and the parameterized value of the current marked point E2-H2 (ie, the value of E2-H2 relative to the value between E1-H1) Partial differentiation can be used to calculate a matrix G. Therefore, the covariation matrix P + can be organized into the following form: P + = GP - G T where P + is the system state covariation matrix after the anchor point is updated, and P - is the system state covariation matrix before the anchor point is updated. G T is the transposed matrix of the matrix G. Accordingly, the processor 120 will calculate the updated covariation matrix P + of the anchor point through the matrix G.
承接<表四>與<表五>之例子,為了方便說明,以下僅以重新參數化未更新錨點的標記點E1以產生目前標記點E2的參數化數值來作說明。Φ(p-,x-)代表錨點更新前根據標記點E1的參數化數值所計算而得標記點三維空間位置的函數,其中p-為錨點m=[0,0,0.020045],x-為未更新錨點的標記點E1的參數化數值[1.124891,-2.356195,0.296355]。Φ(p+,x+)代表錨點更新後之標記點E2的參數化數值所計算而得標記點三維空間位置的函數,其中p+為更新後的錨點m=[0,0,0.101125],x+為目前標記點E2的參數化數值[1.116900,-2356194,0.29214]。 Taking the example of <Table 4> and <Table 5>, for convenience of explanation, the following only describes the parameterized value of the current point E2 by reparameterizing the point E1 of the unupdated anchor point. Φ(p - , x - ) represents a function of the position of the three-dimensional space of the marker point calculated from the parameterized value of the marker point E1 before the anchor point is updated, where p - is the anchor point m = [0, 0, 0.020045], x - is the parameterized value of the point E1 of the anchor point that has not been updated [1.124891, - 2.356195, 0.296355]. Φ(p + , x + ) represents a function of the position of the three-dimensional space of the marker point calculated by the parameterized value of the marker point E2 after the anchor point is updated, where p + is the updated anchor point m=[0,0,0.101125 ], x + is the parameterized value of the current marker point E2 [1.116900, -2356194, 0.29214].
而不管是未更新錨點的標記點E1或是目前標記點E2的表示方式,其皆代表空間中同一個標記點,進而形成以下等式:Φ(p-,x-)=Φ(p+,x+)其中,函數Φ表示從標記點E1的參數化資訊(即(p-,x-)與(p+,x+))所計算出的標記點三維空間中的位置資訊。將上述方程式展開之後對等號兩邊取變數x-的偏微分可得到如下方程式:
在矩陣G中,W即為前述的,而M代表標記點參數化數值對系統狀態中裝置位置、速度與方向的偏微分。換言之,其中s代表<表一>中的位置p、速度v及方位q所 組合而成的變數。 In the matrix G, W is the aforementioned And M represents the partial differentiation of the position, velocity and direction of the device state in the system state. Actually , where s represents the combination of position p, velocity v, and orientation q in <Table 1>.
而若處理器120判斷目前的裝置位置不適合作為對應的錨點,處理器120接著將執行步驟S340,即處理器120不更新錨點,不更新共變異矩陣,且將未更新錨點的標記點的參數化數值作為目前標記點的參數化數值,以取得目前的時間下,畫面Fr中對應的特徵點在三維空間中的位置資訊。有關處理器120重新參數化對應的標記點的計算方法為所屬領域具有通常知識者所熟知,故在此不再贅述。 If the processor 120 determines that the current device location is not suitable as the corresponding anchor point, the processor 120 will then perform step S340, that is, the processor 120 does not update the anchor point, does not update the covariation matrix, and will not update the anchor point of the anchor point. The parameterized value is used as the parameterized value of the current marker point to obtain the position information of the corresponding feature point in the three-dimensional space in the picture Fr at the current time. The calculation method for the processor 120 to re-parameterize the corresponding mark points is well known to those skilled in the art, and therefore will not be described herein.
而同樣以<表四>為例,若未更新錨點的標記點E1與目前的裝置位置p=[0,0,0.101125]之間的距離大於未更新錨點的標記點E1與前一個錨點m=[0,0,0.020045]之間的距離。處理器120將判斷出未更新錨點的標記點E1距離目前的裝置位置p較遠,表示目前的裝置位置p不適合作為對應的錨點。 For example, in <Table 4>, if the distance between the marked point E1 of the unupdated anchor point and the current device position p=[0, 0, 0.101125] is greater than the marked point E1 of the unupdated anchor point and the previous anchor The distance between points m=[0,0,0.020045]. The processor 120 determines that the marked point E1 of the unupdated anchor point is farther from the current device position p, indicating that the current device position p is not suitable as the corresponding anchor point.
此時,處理器120將不更新對應的錨點m,即以前一個錨點m=[0,0,0.020045]作為目前的錨點。而對於其他未更新錨點的標記點F1-H1,處理器120同樣以此方法不更新對應的錨點m,即以前一個錨點m=[0,0,0.020045]作為目前的錨點,故在此不再贅述。 At this time, the processor 120 will not update the corresponding anchor point m, that is, the previous anchor point m=[0, 0, 0.020045] as the current anchor point. For other points F1-H1 that do not update the anchor point, the processor 120 also does not update the corresponding anchor point m in this way, that is, the previous anchor point m=[0,0,0.020045] is used as the current anchor point, so I will not repeat them here.
故由上述可知,本發明實施例所提供的應用於SLAM系統的標記點參數化更新方法及其裝置,其處理器120將不斷地判斷標記點參數化更新裝置100目前的位置是否適合作為錨點(如利用未更新錨點的標記點、未更新錨點與目前的裝置位置之間的距離關係作為判斷依據),以動態地更新錨點,根據更新後的錨點重新參數化標記點,並同時更新標記點的共變異矩陣。據此,應用於SLAM系統的標記點參數化更新方法及其裝置可以更準確地推估標記點在三維空間中的位置以及裝置在三維空間中移動的軌跡、位置及方向。 Therefore, it can be seen from the above that the method and device for marking parameterized updating applied to the SLAM system provided by the embodiment of the present invention, the processor 120 will continuously determine whether the current position of the marker point parameterized updating device 100 is suitable as an anchor point. (eg, using the point of the unupdated anchor point, the distance relationship between the unupdated anchor point and the current device location as a basis for judging) to dynamically update the anchor point, reparameterize the marker point according to the updated anchor point, and The covariation matrix of the marker points is also updated. Accordingly, the marker point parameterization updating method and apparatus applied to the SLAM system can more accurately estimate the position of the marker point in the three-dimensional space and the trajectory, position and direction of the device moving in the three-dimensional space.
以上所述僅為本發明之實施例,其並非用以侷限本發明之專 利範圍。 The above description is only an embodiment of the present invention, and is not intended to limit the invention. Benefit range.
S310、S320、S330、S340‧‧‧步驟 S310, S320, S330, S340‧‧‧ steps
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105119121A TWI681168B (en) | 2016-06-17 | 2016-06-17 | Landmark re-parametrization method and device thereof for slam system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105119121A TWI681168B (en) | 2016-06-17 | 2016-06-17 | Landmark re-parametrization method and device thereof for slam system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201800721A true TW201800721A (en) | 2018-01-01 |
TWI681168B TWI681168B (en) | 2020-01-01 |
Family
ID=61725398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105119121A TWI681168B (en) | 2016-06-17 | 2016-06-17 | Landmark re-parametrization method and device thereof for slam system |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI681168B (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101109804B (en) * | 2007-08-18 | 2011-06-29 | 深圳先进技术研究院 | System for fast three-dimensional locating wireless sensor network and method thereof |
-
2016
- 2016-06-17 TW TW105119121A patent/TWI681168B/en active
Also Published As
Publication number | Publication date |
---|---|
TWI681168B (en) | 2020-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111207774B (en) | Method and system for laser-IMU external reference calibration | |
JP6760114B2 (en) | Information processing equipment, data management equipment, data management systems, methods, and programs | |
US10636168B2 (en) | Image processing apparatus, method, and program | |
KR101072876B1 (en) | Method and apparatus for estimating position in a mobile robot | |
JP5804185B2 (en) | Moving object position / orientation estimation apparatus and moving object position / orientation estimation method | |
JP5444952B2 (en) | Apparatus, method, and program for automatic generation of map by sensor fusion, and movement of moving object using such automatically generated map | |
KR20150088636A (en) | Apparatus and method for estimating position | |
CN112815939B (en) | Pose estimation method of mobile robot and computer readable storage medium | |
JP7420135B2 (en) | Information processing device, information processing method, and program | |
JP2007263669A (en) | Three-dimensional coordinates acquisition system | |
JP2012133696A (en) | Running assist device | |
WO2020031950A9 (en) | Measurement calibration device, measurement calibration method, and program | |
JP2008040677A (en) | Own-location estimation device | |
JP4810893B2 (en) | Distance measuring device | |
JPWO2018207426A1 (en) | Information processing apparatus, information processing method, and program | |
KR102174729B1 (en) | Method and system for recognizing lane using landmark | |
JP2017004228A (en) | Method, device, and program for trajectory estimation | |
JP6922348B2 (en) | Information processing equipment, methods, and programs | |
JP2008309595A (en) | Object recognizing device and program used for it | |
JP2018185239A (en) | Position attitude estimation device and program | |
TW201621273A (en) | Mobile positioning apparatus and positioning method thereof | |
CN117067261A (en) | Robot monitoring method, device, equipment and storage medium | |
JP2010145219A (en) | Movement estimation device and program | |
TWI681168B (en) | Landmark re-parametrization method and device thereof for slam system | |
US20240085448A1 (en) | Speed measurement method and apparatus based on multiple cameras |