Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7750150B2 - Map creation device, method, and program - Google Patents
[go: Go Back, main page]

JP7750150B2 - Map creation device, method, and program - Google Patents

Map creation device, method, and program

Info

Publication number
JP7750150B2
JP7750150B2 JP2022042736A JP2022042736A JP7750150B2 JP 7750150 B2 JP7750150 B2 JP 7750150B2 JP 2022042736 A JP2022042736 A JP 2022042736A JP 2022042736 A JP2022042736 A JP 2022042736A JP 7750150 B2 JP7750150 B2 JP 7750150B2
Authority
JP
Japan
Prior art keywords
point cloud
time
acceleration
angular velocity
attitude
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2022042736A
Other languages
Japanese (ja)
Other versions
JP2023136825A (en
Inventor
雅仁 亀川
大輝 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Central R&D Labs Inc
Original Assignee
Toyota Central R&D Labs Inc
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 Toyota Central R&D Labs Inc filed Critical Toyota Central R&D Labs Inc
Priority to JP2022042736A priority Critical patent/JP7750150B2/en
Publication of JP2023136825A publication Critical patent/JP2023136825A/en
Application granted granted Critical
Publication of JP7750150B2 publication Critical patent/JP7750150B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Instructional Devices (AREA)

Description

本開示は、地図作成装置、及びプログラムに関する。 This disclosure relates to a map creation device and a program.

従来、地図データの生成に関する技術がある。 There is currently technology for generating map data.

例えば、3次元地図生成システムが開示されている(特許文献1参照)。特許文献1では、3次元レーザによって周囲をスキャンしたデータセットを用いて2次元グリッド地図を生成し、2次元グリッド地図を所定の3次元座標系に整合し、所定のマッチング、所定の補正を行い、3次元地図を生成させている。 For example, a 3D map generation system has been disclosed (see Patent Document 1). In Patent Document 1, a 2D grid map is generated using a data set obtained by scanning the surroundings with a 3D laser, and the 2D grid map is aligned with a predetermined 3D coordinate system, and predetermined matching and correction are performed to generate a 3D map.

特開2017-198517号公報Japanese Patent Application Laid-Open No. 2017-198517

特許文献1では、3次元座標系に変換された各点を時系列のデータセットに従ってマッチングさせることで位置合わせを行っている。しかし、マッチング結果がずれてしまった場合、地図にずれた点が追加されてしまうため、これにより地図の精度が悪くなってしまう恐れがある。さらに、精度の悪くなってしまった地図に用いたデータセットが次のマッチングにも使用されるため、地図の精度がより悪くなってしまうことがある。また、特徴の少ない環境においてはマッチングも困難であるため、地図の生成が行えなくなる可能性もある。 In Patent Document 1, alignment is performed by matching each point converted into a three-dimensional coordinate system according to a time-series data set. However, if the matching results are off, the off-center points are added to the map, which could result in a deterioration in the accuracy of the map. Furthermore, the data set used for the map with the reduced accuracy is also used for the next matching, which could further reduce the accuracy of the map. Furthermore, matching is difficult in environments with few features, which could make it impossible to generate a map.

本開示は、上記事情を鑑みて成されたものであり、慣性航法に用いる位置及び姿勢の誤差を補正して精度を維持しつつ、精度よく地図データを生成できる地図作成装置、及びプログラムを提供することを目的とする。 This disclosure was made in consideration of the above circumstances, and aims to provide a map creation device and program that can generate highly accurate map data while maintaining accuracy by correcting errors in the position and attitude used in inertial navigation.

上記目的を達成するために、本開示の地図作成装置は、移動体に備えられた測距センサによるスキャンごとに時刻に応じた点群を取得し、慣性航法により時刻に応じた位置姿勢情報を取得する取得部と、取得した前記点群の時刻に対応した時刻の前記位置姿勢情報を用いて前記点群を座標変換してプロットすることにより、地図データを作成する作成部と、前記プロットした時刻について、作成した前記地図データと前記点群とを予め定めたマッチング手法によりマッチングして真の位置姿勢を求め、前記真の位置姿勢と前記位置姿勢情報との差分を算出し、慣性航法における前記位置姿勢情報の算出に用いられる加速度及び角速度の誤差を推定するマッチング部と、を含み前記移動体に備えられた慣性センサから取得した加速度及び角速度であって、前記位置姿勢情報の算出に用いられる前記加速度及び角速度の誤差を補正させるために推定した前記誤差を出力する、ように構成されている。 To achieve the above object, the map creation device of the present disclosure includes: an acquisition unit that acquires a point cloud according to time for each scan by a ranging sensor provided on the mobile body and acquires position and orientation information according to time using inertial navigation; a creation unit that creates map data by coordinate transforming and plotting the point cloud using the position and orientation information for the time corresponding to the time of the acquired point cloud; and a matching unit that matches the created map data with the point cloud using a predetermined matching method to obtain a true position and orientation for the plotted time, calculates the difference between the true position and orientation and the position and orientation information, and estimates errors in acceleration and angular velocity used in calculating the position and orientation information in inertial navigation, and is configured to output the estimated errors in acceleration and angular velocity acquired from the inertial sensor provided on the mobile body to correct errors in the acceleration and angular velocity used in calculating the position and orientation information.

また、地図作成装置は、慣性航法処理部と補正部とを更に含み、前記マッチング部は推定した前記誤差が閾値以上である場合に前記誤差を前記補正部に出力し、前記補正部は、推定した前記誤差が閾値以上である場合に、前記慣性センサから取得した前記加速度及び角速度の誤差を補正し、前記慣性航法処理部は、前記慣性センサから取得した前記加速度及び角速度から慣性航法を用いて前記位置姿勢情報を算出する、ようにしてもよい。 The map creation device may further include an inertial navigation processing unit and a correction unit, wherein the matching unit outputs the estimated error to the correction unit when the estimated error is equal to or greater than a threshold, the correction unit corrects the error in the acceleration and angular velocity acquired from the inertial sensor when the estimated error is equal to or greater than a threshold, and the inertial navigation processing unit calculates the position and attitude information using inertial navigation from the acceleration and angular velocity acquired from the inertial sensor.

また、地図作成装置は、取得した前記点群の時刻に対応する時刻の前記位置姿勢情報を受け取れているか否かを判定し、受け取れている場合には前記地図データの作成を行い、受け取れていない場合には前記地図データの生成を行わず、対応する前記位置姿勢情報を受け取れるまで、前記点群及び前記位置姿勢情報の取得を繰り返す。 The map creation device also determines whether it has received the position and orientation information at the time corresponding to the time of the acquired point cloud, and if it has received it creates the map data; if it has not received it does not generate the map data, and repeats acquiring the point cloud and the position and orientation information until it receives the corresponding position and orientation information.

本開示のプログラムは、コンピュータに、移動体に備えられた測距センサによるスキャンごとに時刻に応じた点群を取得し、慣性航法により時刻に応じた位置姿勢情報を取得し、取得した前記点群の時刻に対応した時刻の前記位置姿勢情報を用いて前記点群を座標変換してプロットすることにより、地図データを作成し、前記プロットした時刻について、作成した前記地図データと前記点群とを予め定めたマッチング手法によりマッチングして真の位置姿勢を求め、前記真の位置姿勢と前記位置姿勢情報との差分を算出し、慣性航法における前記位置姿勢情報の算出に用いられる加速度及び角速度の誤差を推定し、前記移動体に備えられた慣性センサから取得した加速度及び角速度であって、前記位置姿勢情報の算出に用いられる前記加速度及び角速度の誤差を補正させるために推定した前記誤差を出力する、処理を実行させる。 The program disclosed herein causes a computer to execute the following processes: acquire a point cloud according to time for each scan by a ranging sensor equipped on a moving object; acquire position and orientation information according to time using inertial navigation; create map data by transforming the point cloud into coordinates and plotting it using the position and orientation information for the time corresponding to the time of the acquired point cloud; match the created map data with the point cloud using a predetermined matching method to obtain a true position and orientation for the plotted time; calculate the difference between the true position and orientation and the position and orientation information; estimate errors in acceleration and angular velocity used in calculating the position and orientation information using inertial navigation; and output the estimated acceleration and angular velocity errors acquired from an inertial sensor equipped on the moving object to correct the errors in the acceleration and angular velocity used in calculating the position and orientation information.

本開示の地図作成装置、及びプログラムによれば、慣性航法に用いる位置及び姿勢の誤差を補正して精度を維持しつつ、精度よく地図データを生成できる。 The map creation device and program disclosed herein can generate highly accurate map data while maintaining accuracy by correcting errors in the position and attitude used in inertial navigation.

地図作成装置のハードウェア構成を示すブロック図である。FIG. 2 is a block diagram showing the hardware configuration of the map creation device. 本開示の実施形態の地図作成装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a map creation device according to an embodiment of the present disclosure. 位置姿勢推定処理ルーチンの流れを示すフローチャートである。10 is a flowchart showing the flow of a position and orientation estimation processing routine. 地図生成処理ルーチンの流れを示すフローチャートである。10 is a flowchart showing the flow of a map generation processing routine.

以下、図面を参照して本開示の実施形態を詳細に説明する。 Embodiments of the present disclosure will be described in detail below with reference to the drawings.

図1は、地図作成装置100のハードウェア構成を示すブロック図である。図2に示すように、地図作成装置100は、コンピュータとして、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。 Figure 1 is a block diagram showing the hardware configuration of the map creation device 100. As shown in Figure 2, the map creation device 100 is a computer that includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, storage 14, an input unit 15, a display unit 16, and a communication interface (I/F) 17. Each component is connected to each other via a bus 19 so that they can communicate with each other.

CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、プログラムが格納されている。 The CPU 11 is a central processing unit that executes various programs and controls each component. That is, the CPU 11 reads programs from the ROM 12 or storage 14 and executes the programs using the RAM 13 as a work area. The CPU 11 controls the above components and performs various arithmetic processing in accordance with the programs stored in the ROM 12 or storage 14. In this embodiment, the programs are stored in the ROM 12 or storage 14.

ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。 ROM 12 stores various programs and data. RAM 13 temporarily stores programs or data as a working area. Storage 14 is composed of a storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive), and stores various programs, including the operating system, and various data.

入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。 The input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to enter various inputs.

表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能してもよい。 The display unit 16 is, for example, a liquid crystal display, and displays various information. The display unit 16 may also function as the input unit 15 by adopting a touch panel system.

通信インタフェース17は、端末等の他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。 The communication interface 17 is an interface for communicating with other devices such as terminals, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).

図2は、本開示の実施形態の地図作成装置の構成を示すブロック図である。図2に示すように、地図作成装置100は、慣性航法処理部102と、取得部110と、作成部116と、マッチング部118と、補正部120とを含んで構成されている。取得部110は、点群取得部112と、位置姿勢情報取得部114とを含む。 Figure 2 is a block diagram showing the configuration of a map creation device according to an embodiment of the present disclosure. As shown in Figure 2, the map creation device 100 includes an inertial navigation processing unit 102, an acquisition unit 110, a creation unit 116, a matching unit 118, and a correction unit 120. The acquisition unit 110 includes a point cloud acquisition unit 112 and a position and orientation information acquisition unit 114.

また、地図作成装置100は、測距センサ90及び慣性センサ92から情報を取得する。測距センサ90及び慣性センサ92は地図作成の対象とする空間を移動するロボット等の移動体に備えられており、ネットワーク(図示省略)を介して地図作成装置100と接続されている。測距センサ90には、LiDAR(Light Detection and Ranging)等の計測器を用いる。慣性センサ92には、少なくとも移動体の加速度及び角速度を計測可能な任意のIMU(Inertial Measurement Unit)を用いる。地図作成装置100は、測距センサ90からは時刻に応じた点群を取得し、慣性センサ92からは時刻に応じた加速度及び角速度を取得する。 The map creation device 100 also acquires information from a ranging sensor 90 and an inertial sensor 92. The ranging sensor 90 and the inertial sensor 92 are provided on a mobile object, such as a robot, that moves through the space for which mapping is to be performed, and are connected to the map creation device 100 via a network (not shown). The ranging sensor 90 uses a measuring device such as LiDAR (Light Detection and Ranging). The inertial sensor 92 uses any IMU (Inertial Measurement Unit) that can measure at least the acceleration and angular velocity of the mobile object. The map creation device 100 acquires a point cloud according to time from the ranging sensor 90, and acquires acceleration and angular velocity according to time from the inertial sensor 92.

本実施形態の概要を説明する。課題として、慣性センサ92は長時間動作させると熱などの影響から誤差を含んでしまうため単純な積分では精度よく位置姿勢を求めることができないことが想定される。そのため本実施形態では、生成した地図データに対して入力点群をマッチングさせ、真の位置姿勢を求め、慣性航法へフィードバックする。これにより慣性センサ92で取得した加速度及び角速度の誤差補正を行うことができる。この慣性航法による地図作成と、作成した地図を使った点群マッチングの位置姿勢推定をループさせることで精度よく地図データを作成することができる。 An overview of this embodiment will be explained below. One issue is that when the inertial sensor 92 is operated for a long period of time, it will contain errors due to the effects of heat, etc., and it is anticipated that simple integration will not be able to accurately determine the position and orientation. For this reason, in this embodiment, the input point cloud is matched to the generated map data to determine the true position and orientation, which is then fed back to the inertial navigation. This makes it possible to correct errors in the acceleration and angular velocity acquired by the inertial sensor 92. Accurate map data can be created by looping the process of creating a map using this inertial navigation and estimating the position and orientation by point cloud matching using the created map.

次に、地図作成装置100の各機能構成について説明する。各機能構成は、CPU11がROM12又はストレージ14に記憶されたプログラムを読み出し、RAM13に展開して実行することにより実現される。 Next, we will explain each functional component of the map creation device 100. Each functional component is realized when the CPU 11 reads a program stored in the ROM 12 or storage 14, expands it in the RAM 13, and executes it.

点群取得部112は、測距センサ90によるスキャンごとに、時刻に応じた点群を取得する。時刻に応じた点群とは、スキャンされた時刻を記録した時刻情報が対応付けられた点群のことである。 The point cloud acquisition unit 112 acquires a point cloud corresponding to the time for each scan performed by the distance measurement sensor 90. A point cloud corresponding to the time is a point cloud associated with time information that records the time of scanning.

慣性航法処理部102は、受け付けた加速度及び角速度をもとに、慣性航法を用いた積分により移動体の位置及び姿勢を算出し、時刻に応じた位置姿勢情報として出力する。受け付ける加速度及び角速度は、慣性センサ92から出力されたもの、又は補正部120による補正後の加速度及び角速度である。時刻に応じた位置姿勢情報とは、加速度及び角速度が検出された時刻を記録した時刻情報が対応付けられた位置姿勢情報のことである。なお、慣性航法処理部102は地図作成装置100内部に設けずに外部に設け、外部から位置姿勢情報を取得するようにもよい。また、後述するように、慣性航法処理部102の処理は、地図生成処理ルーチンとは別に、位置姿勢推定処理ルーチンの処理で実行される。 The inertial navigation processing unit 102 calculates the position and attitude of the moving body by integration using inertial navigation based on the received acceleration and angular velocity, and outputs the calculated position and attitude information according to time. The received acceleration and angular velocity are those output from the inertial sensor 92, or those corrected by the correction unit 120. The position and attitude information according to time refers to position and attitude information associated with time information that records the time at which the acceleration and angular velocity were detected. Note that the inertial navigation processing unit 102 may not be provided inside the map creation device 100 but may be provided externally, and the position and attitude information may be obtained from an external source. Furthermore, as will be described later, the processing of the inertial navigation processing unit 102 is executed as part of the position and attitude estimation processing routine, separate from the map generation processing routine.

位置姿勢情報取得部114は、慣性航法処理部102から、時刻に応じた位置姿勢情報を取得する。後述する地図データを生成するためには、点群取得部112で取得した点群の時刻に対応した時刻の位置姿勢情報が取得できている必要がある。そのため、取得した点群の時刻に対応した時刻の位置姿勢情報を取得できるまで、点群の取得及び位置姿勢情報の取得を繰り返す。 The position and orientation information acquisition unit 114 acquires position and orientation information corresponding to the time from the inertial navigation processing unit 102. In order to generate the map data described below, it is necessary to acquire position and orientation information at a time corresponding to the time of the point cloud acquired by the point cloud acquisition unit 112. Therefore, the acquisition of the point cloud and the acquisition of position and orientation information are repeated until position and orientation information at a time corresponding to the time of the acquired point cloud can be acquired.

作成部116は、取得した点群の時刻に対応した時刻の位置姿勢情報を用いて点群を座標変換する。作成部116は、座標変換した点群を地図作成用の三次元空間上してプロットすることにより、地図データを作成する。座標変換は、移動体の基点となる位置及び姿勢から測距センサ90によるスキャンの基点を求めて、基点に応じてスキャンされた点群の位置を三次元空間座標に変換することで行える。位置姿勢情報を求めた加速度及び角速度の精度が保たれていることを想定するため、点群をマッチングさせることなく地図データの作成が行える。すなわち、本実施形態では、地図データ生成のために直接マッチングを用いるのではなく、後述のように補正のために用いている。これにより課題とされていたマッチングによる地図生成の困難性を回避することができる。 The creation unit 116 performs coordinate transformation on the point cloud using position and orientation information for the time corresponding to the time of the acquired point cloud. The creation unit 116 creates map data by plotting the coordinate-transformed point cloud in a three-dimensional space for map creation. The coordinate transformation can be performed by determining the base point for scanning by the distance measurement sensor 90 from the position and orientation of the base point of the mobile object, and converting the position of the scanned point cloud according to the base point into three-dimensional space coordinates. Since it is assumed that the accuracy of the acceleration and angular velocity used to determine the position and orientation information is maintained, map data can be created without matching the point cloud. In other words, in this embodiment, matching is not used directly to generate map data, but rather for correction, as described below. This makes it possible to avoid the difficulty of map creation due to matching, which has been an issue.

マッチング部118は、プロットした時刻について、作成した地図データと点群とを予め定めたマッチング手法によりマッチングして真の位置姿勢を求め、真の位置姿勢と位置姿勢情報との差分を算出し、慣性航法における位置姿勢情報の算出に用いられる加速度及び角速度の誤差を推定する。マッチングには、ICPマッチング又はNDTマッチングを使用する。マッチング方法としては、作成した地図データの点群に対して、座標変換した点群をマッチングさせる。マッチング部118は、誤差が閾値以上であるか否かを判定し、閾値以上である場合に誤差を補正部120に出力する。 The matching unit 118 uses a predetermined matching method to match the created map data with the point cloud for the plotted time to determine the true position and attitude, calculates the difference between the true position and attitude and the position and attitude information, and estimates the acceleration and angular velocity errors used to calculate the position and attitude information in inertial navigation. ICP matching or NDT matching is used for matching. The matching method involves matching the coordinate-transformed point cloud with the point cloud of the created map data. The matching unit 118 determines whether the error is greater than or equal to a threshold, and if so, outputs the error to the correction unit 120.

補正部120は、推定した誤差を用いて、慣性センサ92から取得した加速度及び角速度の誤差を補正する。補正部120では、誤差が閾値以上である場合に補正を行う。すなわち、補正部120は、マッチング部118のマッチングの結果として得られる真の位置姿勢が、慣性航法処理部102から得られる位置姿勢情報とずれていた場合、慣性センサ92から検出される加速度及び角速度に誤差があるものとして補正を行う。なお、補正部120を慣性航法処理部102同様に外部に設けてもよい。 The correction unit 120 uses the estimated error to correct errors in the acceleration and angular velocity acquired from the inertial sensor 92. The correction unit 120 performs correction when the error is equal to or greater than a threshold value. In other words, if the true position and attitude obtained as a result of matching by the matching unit 118 deviates from the position and attitude information acquired from the inertial navigation processing unit 102, the correction unit 120 assumes that there is an error in the acceleration and angular velocity detected by the inertial sensor 92 and performs correction. Note that the correction unit 120 may be provided externally, like the inertial navigation processing unit 102.

次に、本開示の実施形態に係る地図作成装置100の作用について説明する。 Next, we will explain the operation of the map creation device 100 according to an embodiment of the present disclosure.

図3は、位置姿勢推定処理ルーチンの流れを示すフローチャートである。図4は、地図生成処理ルーチンの流れを示すフローチャートである。CPU11がROM12又はストレージ14からプログラムを読み出して、RAM13に展開して実行することにより、位置姿勢推定処理ルーチン及び地図生成処理ルーチンが行なわれる。なお、慣性航法処理部102及び補正部120を地図作成装置100の外部に設ける場合は位置姿勢推定処理ルーチンを外部で実行させればよい。 Figure 3 is a flowchart showing the flow of the position and attitude estimation processing routine. Figure 4 is a flowchart showing the flow of the map generation processing routine. The CPU 11 reads a program from the ROM 12 or storage 14, expands it into the RAM 13, and executes it, thereby performing the position and attitude estimation processing routine and the map generation processing routine. Note that if the inertial navigation processing unit 102 and the correction unit 120 are provided external to the map creation device 100, the position and attitude estimation processing routine can be executed externally.

位置姿勢推定処理ルーチンについて説明する。ステップS100において、CPU11は、慣性センサ92から、加速度及び角速度を取得する。加速度及び角速度には検出した時刻情報が対応付けられている。 The position and orientation estimation processing routine will now be described. In step S100, the CPU 11 acquires acceleration and angular velocity from the inertial sensor 92. The acceleration and angular velocity are associated with detected time information.

ステップS102において、CPU11は、地図生成処理ルーチンから誤差を受け付けたか否かを判定する。誤差は、地図生成処理ルーチンからの(B)の入力により受け付ける。誤差を受け付けていない場合にはステップS104へ移行し、誤差を受け付けている場合にはステップS106へ移行する。 In step S102, the CPU 11 determines whether an error has been received from the map generation processing routine. The error is received by input (B) from the map generation processing routine. If an error has not been received, the process proceeds to step S104; if an error has been received, the process proceeds to step S106.

ステップS104において、CPU11は、ステップS100で取得した加速度及び角速度を、慣性航法処理部102に出力する。 In step S104, the CPU 11 outputs the acceleration and angular velocity acquired in step S100 to the inertial navigation processing unit 102.

ステップS106において、CPU11は、補正部120として、ステップS100で取得した加速度及び角速度を誤差に基づいて補正し、補正後の加速度及び角速度を慣性航法処理部102に出力する。 In step S106, the CPU 11, functioning as the correction unit 120, corrects the acceleration and angular velocity acquired in step S100 based on the error, and outputs the corrected acceleration and angular velocity to the inertial navigation processing unit 102.

ステップS108において、CPU11は、慣性航法処理部102として、受け付けた加速度及び角速度を用いて、慣性航法を用いた積分により移動体の位置及び姿勢を算出し、時刻に応じた位置姿勢情報を出力する。ここでは、(A)の出力として地図生成処理ルーチンに位置姿勢情報を出力する。以上の位置姿勢推定処理ルーチンを慣性センサ92の検出ごとに繰り返す。 In step S108, the CPU 11, as the inertial navigation processing unit 102, calculates the position and attitude of the moving body by integration using inertial navigation using the received acceleration and angular velocity, and outputs position and attitude information according to time. Here, the position and attitude information is output to the map generation processing routine as output (A). The above position and attitude estimation processing routine is repeated each time the inertial sensor 92 detects something.

ステップS110において、CPU11は、位置姿勢推定処理ルーチンを終了するか否かを判定する。終了すると判定した場合には処理を終了し、終了しないと判定した場合にはステップS100に戻って処理を繰り返す。ここでは、外部から終了指令を受け付けた場合や地図データ生成処理ルーチンが終了した場合に、終了と判定する。 In step S110, the CPU 11 determines whether or not to terminate the position and orientation estimation processing routine. If it determines that the processing should be terminated, it terminates the processing; if it determines that the processing should not be terminated, it returns to step S100 and repeats the processing. Here, it determines that the processing should be terminated when an end command is received from outside or when the map data generation processing routine has ended.

地図生成処理ルーチンについて説明する。ステップS200において、CPU11は、点群取得部112として、測距センサ90によるスキャンごとに、時刻に応じた点群を取得する。 The map generation processing routine will now be described. In step S200, the CPU 11, as the point cloud acquisition unit 112, acquires a point cloud according to the time for each scan by the distance measurement sensor 90.

ステップS202において、CPU11は、位置姿勢情報取得部114として、慣性航法処理部102から、時刻に応じた位置姿勢情報を取得する。位置姿勢情報は、位置姿勢推定処理ルーチンからの(A)の入力により取得される。(A)の入力がない場合には取得されない。 In step S202, the CPU 11, functioning as the position and attitude information acquisition unit 114, acquires position and attitude information according to time from the inertial navigation processing unit 102. The position and attitude information is acquired by input of (A) from the position and attitude estimation processing routine. If there is no input of (A), the position and attitude information is not acquired.

ステップS204において、CPU11は、位置姿勢情報取得部114として、取得した点群の時刻に対応する時刻の位置姿勢情報を受け取れているか否かを判定する。受け取れている場合にはステップS206へ移行し、受け取れていない場合には、ステップS200に戻って処理を繰り返す。 In step S204, the CPU 11, functioning as the position and orientation information acquisition unit 114, determines whether position and orientation information for the time corresponding to the time of the acquired point cloud has been received. If so, the process proceeds to step S206; if not, the process returns to step S200 and repeats the process.

ステップS206において、CPU11は、作成部116として、取得した点群の時刻に対応した時刻の位置姿勢情報を用いて点群を座標変換する。 In step S206, the CPU 11, as the creation unit 116, performs coordinate transformation on the point cloud using the position and orientation information for the time corresponding to the time of the acquired point cloud.

ステップS208において、CPU11は、作成部116として、座標変換した点群を地図作成用の三次元空間上してプロットすることにより、地図データを作成する。 In step S208, the CPU 11, as the creation unit 116, creates map data by plotting the coordinate-transformed point cloud in a three-dimensional space for map creation.

ステップS210において、CPU11は、マッチング部118として、プロットした時刻について、作成した地図データと点群とを予め定めたマッチング手法によりマッチングして真の位置姿勢を求める。 In step S210, the CPU 11, as the matching unit 118, matches the created map data with the point cloud using a predetermined matching method to determine the true position and orientation for the plotted time.

ステップS212において、CPU11は、マッチング部118として、真の位置姿勢と位置姿勢情報との差分を算出し、慣性航法における位置姿勢情報の算出に用いられる加速度及び角速度の誤差を推定する。 In step S212, the CPU 11, functioning as the matching unit 118, calculates the difference between the true position and attitude and the position and attitude information, and estimates the errors in the acceleration and angular velocity used to calculate the position and attitude information in inertial navigation.

ステップS214において、CPU11は、マッチング部118として、誤差が閾値以上であるか否かを判定する。閾値以上である場合に誤差を出力する。ここでは、(B)の出力として位置姿勢推定処理ルーチンに誤差を出力する。閾値以上でない場合にはステップS216へ移行する。 In step S214, the CPU 11, functioning as the matching unit 118, determines whether the error is greater than or equal to a threshold. If the error is greater than or equal to the threshold, the error is output. Here, the error is output to the position and orientation estimation processing routine as output (B). If the error is not greater than or equal to the threshold, the process proceeds to step S216.

ステップS216において、CPU11は、地図生成処理ルーチンを終了するか否かを判定する。終了すると判定した場合には処理を終了し、終了しないと判定した場合にはステップS200に戻って処理を繰り返す。ここでは、外部から終了指令を受け付けた場合や予め定めた探索範囲や条件の地図データが生成された場合に、終了と判定する。 In step S216, the CPU 11 determines whether to terminate the map generation processing routine. If it determines that it should terminate, the processing terminates; if it determines that it should not terminate, the processing returns to step S200 and is repeated. Here, it determines that the processing has terminated when an external termination command is received or when map data for a predetermined search range or conditions has been generated.

以上説明したように、本実施形態に係る地図作成装置100によれば、慣性航法に用いる位置及び姿勢の誤差を補正して精度を維持しつつ、精度よく地図データを生成できる。 As described above, the map creation device 100 according to this embodiment can generate highly accurate map data while maintaining accuracy by correcting errors in the position and attitude used in inertial navigation.

なお、本開示は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。 Note that this disclosure is not limited to the above-described embodiments, and various modifications and applications are possible without departing from the spirit and scope of the present invention.

なお、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した処理(位置姿勢推定処理ルーチン及び地図生成処理ルーチン)を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。 In the above embodiments, the processes (position and orientation estimation processing routine and map generation processing routine) executed by the CPU after loading the software (program) may be executed by various processors other than the CPU. Examples of processors in this case include programmable logic devices (PLDs) (such as field-programmable gate arrays (FPGAs)) whose circuit configuration can be changed after manufacture, and dedicated electrical circuits, such as application-specific integrated circuits (ASICs), which are processors with circuit configurations specifically designed to execute specific processes. Furthermore, the processes may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA). Furthermore, the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor devices.

また、上記実施形態では、処理を実行するためのプログラムがROMまたはストレージに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。 In addition, while the above embodiment describes a configuration in which the program for executing the processing is pre-stored (installed) in ROM or storage, this is not limited to this. The program may also be provided in a form recorded on a non-transitory recording medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The program may also be downloaded from an external device via a network.

90 測距センサ
92 慣性センサ
100 地図作成装置
102 慣性航法処理部
110 取得部
112 点群取得部
114 位置姿勢情報取得部
116 作成部
118 マッチング部
120 補正部
90 Distance measurement sensor 92 Inertial sensor 100 Map creation device 102 Inertial navigation processing unit 110 Acquisition unit 112 Point cloud acquisition unit 114 Position and orientation information acquisition unit 116 Creation unit 118 Matching unit 120 Correction unit

Claims (4)

移動体に備えられた測距センサによるスキャンごとに時刻に応じた点群を取得し、慣性航法により時刻に応じた位置姿勢情報を取得する取得部と、
取得した前記点群の時刻に対応した時刻の前記位置姿勢情報を用いて前記点群を座標変換してプロットすることにより、地図データを作成する作成部と、
前記プロットした時刻について、作成した前記地図データと前記点群とを予め定めたマッチング手法によりマッチングして真の位置姿勢を求め、前記真の位置姿勢と前記位置姿勢情報との差分を算出し、慣性航法における前記位置姿勢情報の算出に用いられる加速度及び角速度の誤差を推定するマッチング部と、を含み、
前記移動体に備えられた慣性センサから取得した加速度及び角速度であって、前記位置姿勢情報の算出に用いられる前記加速度及び角速度の誤差を補正させるために推定した前記誤差を出力する、
地図作成装置。
an acquisition unit that acquires a point cloud according to time for each scan by a distance measurement sensor provided in the moving object and acquires position and orientation information according to time by inertial navigation;
a creating unit that creates map data by converting the coordinates of the point cloud using the position and orientation information at a time corresponding to the time of the acquired point cloud and plotting the coordinates;
a matching unit that, for the plotted time, matches the created map data with the point cloud using a predetermined matching method to obtain a true position and attitude, calculates a difference between the true position and attitude and the position and attitude information, and estimates errors in acceleration and angular velocity used in calculating the position and attitude information in inertial navigation,
outputting the acceleration and angular velocity acquired from an inertial sensor provided on the moving body, the estimated errors being used to correct errors in the acceleration and angular velocity used to calculate the position and orientation information;
Mapping device.
慣性航法処理部と補正部とを更に含み、
前記マッチング部は推定した前記誤差が閾値以上である場合に前記誤差を前記補正部に出力し、
前記補正部は、推定した前記誤差が閾値以上である場合に、前記慣性センサから取得した前記加速度及び角速度の誤差を補正し、
前記慣性航法処理部は、前記慣性センサから取得した前記加速度及び角速度から慣性航法を用いて前記位置姿勢情報を算出する、
請求項1に記載の地図作成装置。
further including an inertial navigation processing unit and a correction unit;
the matching unit outputs the estimated error to the correction unit when the estimated error is equal to or greater than a threshold;
the correction unit corrects errors in the acceleration and angular velocity acquired from the inertial sensor when the estimated errors are equal to or greater than a threshold;
the inertial navigation processing unit calculates the position and attitude information using inertial navigation from the acceleration and angular velocity acquired from the inertial sensor;
The map creation device according to claim 1 .
取得した前記点群の時刻に対応する時刻の前記位置姿勢情報を受け取れているか否かを判定し、受け取れている場合には前記地図データの作成を行い、受け取れていない場合には前記地図データの生成を行わず、対応する前記位置姿勢情報を受け取れるまで、前記点群及び前記位置姿勢情報の取得を繰り返す請求項1又は請求項2に記載の地図作成装置。 The map creation device of claim 1 or 2 determines whether the position and orientation information has been received at a time corresponding to the time of the acquired point cloud, and if so, creates the map data; if not, does not generate the map data, and repeatedly acquires the point cloud and the position and orientation information until the corresponding position and orientation information is received. コンピュータに、
移動体に備えられた測距センサによるスキャンごとに時刻に応じた点群を取得し、慣性航法により時刻に応じた位置姿勢情報を取得し、
取得した前記点群の時刻に対応した時刻の前記位置姿勢情報を用いて前記点群を座標変換してプロットすることにより、地図データを作成し、
前記プロットした時刻について、作成した前記地図データと前記点群とを予め定めたマッチング手法によりマッチングして真の位置姿勢を求め、前記真の位置姿勢と前記位置姿勢情報との差分を算出し、慣性航法における前記位置姿勢情報の算出に用いられる加速度及び角速度の誤差を推定し、
前記移動体に備えられた慣性センサから取得した加速度及び角速度であって、前記位置姿勢情報の算出に用いられる前記加速度及び角速度の誤差を補正させるために推定した前記誤差を出力する、
処理を実行させるプログラム。
On the computer,
A point cloud is acquired according to time for each scan by a ranging sensor equipped on the moving object, and position and orientation information according to time is acquired by inertial navigation.
creating map data by converting the coordinates of the point cloud using the position and orientation information at a time corresponding to the time of the acquired point cloud and plotting the coordinates;
For the plotted time, a true position and attitude is obtained by matching the created map data with the point cloud using a predetermined matching method, a difference between the true position and attitude and the position and attitude information is calculated, and errors in acceleration and angular velocity used in calculating the position and attitude information in inertial navigation are estimated;
outputting the acceleration and angular velocity acquired from an inertial sensor provided on the moving body, the estimated errors being used to correct errors in the acceleration and angular velocity used to calculate the position and orientation information;
A program that executes a process.
JP2022042736A 2022-03-17 2022-03-17 Map creation device, method, and program Active JP7750150B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022042736A JP7750150B2 (en) 2022-03-17 2022-03-17 Map creation device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022042736A JP7750150B2 (en) 2022-03-17 2022-03-17 Map creation device, method, and program

Publications (2)

Publication Number Publication Date
JP2023136825A JP2023136825A (en) 2023-09-29
JP7750150B2 true JP7750150B2 (en) 2025-10-07

Family

ID=88146057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022042736A Active JP7750150B2 (en) 2022-03-17 2022-03-17 Map creation device, method, and program

Country Status (1)

Country Link
JP (1) JP7750150B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012185111A (en) 2011-03-08 2012-09-27 Seiko Epson Corp Positioning device and positioning method
JP2019190994A (en) 2018-04-25 2019-10-31 日産自動車株式会社 Method and device for estimating self-position
JP2020529061A (en) 2017-08-18 2020-10-01 グワンドン ボナ ロボット コーポレーション リミテッド Map creation method for mobile robots and route planning method based on the map
JP2020183920A (en) 2019-05-09 2020-11-12 日本電信電話株式会社 Pedestrian autonomous navigation device, method, and program
JP2021044008A (en) 2020-12-01 2021-03-18 パイオニア株式会社 Information output device, terminal, control method, program and storage medium
JP2021148698A (en) 2020-03-23 2021-09-27 株式会社日立製作所 Automatic inspection device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012185111A (en) 2011-03-08 2012-09-27 Seiko Epson Corp Positioning device and positioning method
JP2020529061A (en) 2017-08-18 2020-10-01 グワンドン ボナ ロボット コーポレーション リミテッド Map creation method for mobile robots and route planning method based on the map
JP2019190994A (en) 2018-04-25 2019-10-31 日産自動車株式会社 Method and device for estimating self-position
JP2020183920A (en) 2019-05-09 2020-11-12 日本電信電話株式会社 Pedestrian autonomous navigation device, method, and program
JP2021148698A (en) 2020-03-23 2021-09-27 株式会社日立製作所 Automatic inspection device
JP2021044008A (en) 2020-12-01 2021-03-18 パイオニア株式会社 Information output device, terminal, control method, program and storage medium

Also Published As

Publication number Publication date
JP2023136825A (en) 2023-09-29

Similar Documents

Publication Publication Date Title
US11279045B2 (en) Robot pose estimation method and apparatus and robot using the same
Nguyen et al. A high-definition LIDAR system based on two-mirror deflection scanners
CN109613543B (en) Method and device for correcting laser point cloud data, storage medium and electronic equipment
US20160063717A1 (en) Point cloud position data processing device, point cloud position data processing system, point cloud position data processing method, and program therefor
US10353072B2 (en) Laser scanner controlling device, laser scanner controlling method, and laser scanner controlling program
KR101390466B1 (en) Dynamic compensation method for scan distance data measured when mobile robot and laser scanner are moving fast and scan distance data measured apparatus using thereof
KR101909953B1 (en) Method for vehicle pose estimation using LiDAR
US12066812B2 (en) Information processing method, information processing system, and program
JPWO2017199333A1 (en) Information output device, terminal device, control method, program, and storage medium
KR20180076441A (en) Method and apparatus for detecting object using adaptive roi and classifier
CN116047481A (en) Method, device, equipment and storage medium for correcting point cloud data distortion
KR20200005119A (en) Apparatus and method for calculating and correcting a mounting error of a single mounting surface
CN112147662A (en) Vehicle positioning method and device, vehicle, storage medium, electronic device
CN112652018B (en) External parameter determining method, external parameter determining device and electronic equipment
WO2018037653A1 (en) Vehicle control system, local vehicle position calculation device, vehicle control device, local vehicle position calculation program, and vehicle control program
JP7750150B2 (en) Map creation device, method, and program
US20250109943A1 (en) Position measurement apparatus, position measurement method, program, and storage device
KR101502071B1 (en) Camera Data Generator for Landmark-based Vision Navigation System and Computer-readable Media Recording Program for Executing the Same
CN119064903A (en) A method, device, equipment and medium for calibrating IMU and laser radar
CN118730113A (en) Navigation method, device, computer equipment and storage medium for intelligent inspection vehicle
JP2023509729A (en) Calibration of solid-state LIDAR devices
CN114252872B (en) Sensor calibration method, device and storage medium for transport vehicle
CN113495255B (en) A method and device for determining the attitude of a laser radar carried on a vehicle
JP7694704B2 (en) Position and orientation estimation method, position and orientation estimation device, and program
CN116952273A (en) Time calibration method, electronic equipment and computer readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250123

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250820

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250908

R150 Certificate of patent or registration of utility model

Ref document number: 7750150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150