US 11,886,491 B2
Method of accelerating simultaneous localization and mapping (SLAM) and device using same
Myungjae Jeon, Yongin-si (KR); Kichul Kim, Seoul (KR); Yongkyu Kim, Hwaseong-si (KR); Hongseok Lee, Seoul (KR); San Kim, Changwon-si (KR); Hyekwan Yun, Seoul (KR); and Donggeun Lee, Bucheon-si (KR)
Assigned to SAMSUNG ELECTRONICS CO., LTD., Suwon-si (KR); and University of Seoul Industry Cooperation Foundation, Seoul (KR)
Filed by SAMSUNG ELECTRONICS CO., LTD., Suwon-si (KR); and University of Seoul Industry Cooperation Foundation, Seoul (KR)
Filed on May 21, 2021, as Appl. No. 17/326,565.
Claims priority of application No. 10-2020-0148128 (KR), filed on Nov. 6, 2020.
Prior Publication US 2022/0147561 A1, May 12, 2022
Int. Cl. G06F 16/56 (2019.01); G06F 5/01 (2006.01); G06F 7/50 (2006.01); G06F 7/78 (2006.01); G06F 17/16 (2006.01); G06F 7/575 (2006.01)
CPC G06F 16/56 (2019.01) [G06F 5/01 (2013.01); G06F 7/50 (2013.01); G06F 7/575 (2013.01); G06F 7/78 (2013.01); G06F 17/16 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An electronic device to perform a simultaneous localization and mapping (SLAM) operation, the electronic device comprising:
an image database;
a factor graph database; and
a processor comprising:
a pre-processing unit configured to:
receive, from the image database, a map image in which a position of the electronic device is localized;
receive, from the factor graph database, inertial measurement unit (IMU) sensor data; and
configure a matrix according to fifteen factors, said fifteen factors being obtained by calculating six DoF-related components of the electronic device, said matrix defined by a plurality of row blocks divided in submatrices of 15×15, wherein each of the submatrices has a sub-submatrix of 6×6 related to a position and a rotation among the six DoF-related components and a remaining part including triaxial components for the IMU sensor data;
a multiplier unit configured to, for each of the plurality of row blocks of the matrix, perform a multiplication of a row block and a vector, and sequentially output a result of the multiplication of the row block of the plurality of row blocks and the vector as first data; and
a post-processing unit configured to simultaneously shift second data which is a result of a multiplication of each following row block of the plurality of row blocks and the vector to a location in which the first data has been stored.