WO2025204792A1 - 情報処理方法、情報処理装置、およびプログラム - Google Patents
情報処理方法、情報処理装置、およびプログラムInfo
- Publication number
- WO2025204792A1 WO2025204792A1 PCT/JP2025/008708 JP2025008708W WO2025204792A1 WO 2025204792 A1 WO2025204792 A1 WO 2025204792A1 JP 2025008708 W JP2025008708 W JP 2025008708W WO 2025204792 A1 WO2025204792 A1 WO 2025204792A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- self
- information
- location estimation
- location
- distance information
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/242—Means based on the reflection of waves generated by the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/40—Control within particular dimensions
- G05D1/43—Control of position or course in two dimensions [2D]
Definitions
- Patent Document 1 discloses a self-propelled robot equipped with a height-adjustable range sensor that can set the height of the range sensor to correspond to the shelf boards in each area in a warehouse where shelves are lined up at different heights, and then uses the measurement results to estimate its own position.
- the information processing device disclosed herein is an information processing device that includes a distance information generation unit that generates first distance information and second distance information from sensor data output by a distance measurement sensor mounted on a moving object; a self-location estimation unit that performs a first self-location estimation process based on the first distance information and a second self-location estimation process based on the second distance information as self-location estimation processes for the moving object; and a self-location information output unit that outputs self-location information that represents the self-location of the moving object based on the processing results of the first self-location estimation process and the second self-location estimation process.
- the program disclosed herein causes a computer to generate first distance information and second distance information from sensor data output by a distance measurement sensor mounted on a mobile object, and as a self-location estimation process for the mobile object, execute a first self-location estimation process based on the first distance information and a second self-location estimation process based on the second distance information, and output self-location information representing the self-location of the mobile object based on the results of the first self-location estimation process and the second self-location estimation process.
- first distance information and second distance information are generated from sensor data output by a distance measurement sensor mounted on a moving body, and as a self-location estimation process for the moving body, a first self-location estimation process based on the first distance information is executed, and a second self-location estimation process based on the second distance information is executed, and self-location information representing the self-location of the moving body is output based on the processing results of the first self-location estimation process and the second self-location estimation process.
- FIG. 1 is a diagram illustrating a first example of a self-location estimation process according to the technology of the present disclosure.
- FIG. 10 is a diagram illustrating a second example of a self-location estimation process according to the technology of the present disclosure.
- FIG. 2 is a block diagram showing an example of the configuration of a moving body.
- FIG. 2 is a block diagram illustrating an example of a functional configuration of an information processing unit.
- FIG. 10 is a diagram illustrating updating/recreating an environment map based on a score.
- FIG. 10 is a diagram illustrating position correction between submaps.
- FIG. 10 is a flowchart illustrating a multi-layer self-location estimation process.
- FIG. 10 is a block diagram showing another example of the functional configuration of the information processing unit.
- 10 is a flowchart illustrating a layer search process.
- FIG. 10 is a block diagram illustrating yet another example of the functional configuration of the information processing unit.
- FIG. 2 is a block diagram illustrating an example of the hardware configuration of a computer.
- LiDAR SLAM Simultaneous Localization and Mapping
- LiDAR Light Detection and Ranging
- 3D LiDAR SLAM uses point cloud information obtained by sensing three-dimensional structures (such as loaded cargo) indicated by the dashed line R1 in the figure, so the impact of environmental changes is significant.
- point cloud information obtained by 3D LiDAR is divided into layers in the height direction, and self-location estimation processing is performed on multiple layers. Layers with large environmental changes are avoided (the processing results of the self-location estimation processing are not used), enabling stable output of self-location information.
- self-location estimation processing is performed in two layers: 2D LiDAR SLAM using 2D point cloud information of the subject at height L11, and 2D LiDAR SLAM using 2D point cloud information of the subject at height L12.
- self-location estimation processing may be performed in two layers: 2D LiDAR SLAM using 2D point cloud information of the subject at height L21, and 3D LiDAR SLAM using 3D point cloud information of the subject in height range L22.
- self-location estimation processing may be performed in three or more layers, including either 2D LiDAR SLAM or 3D LiDAR SLAM.
- Configuration of moving body> 5 is a block diagram showing an example configuration of the mobile object 1.
- the mobile object 1 is configured as a mobile robot capable of autonomously moving in various environments, such as a transport robot that transports luggage in a warehouse or an inspection robot that patrols a construction site and collects images.
- the mobile object 1 may be configured as a cleaning robot that comes into close contact with glass surfaces or walls of a building or house and cleans the surface on which it moves.
- the mobile object 1 is composed of a sensor 10, a drive unit 20, a communication unit 30, a memory unit 40, and an information processing unit 100.
- Sensor 10 is configured to include a distance sensor, an RGB camera, a collision prevention sensor, a speed sensor, an acceleration sensor, etc.
- the sensor data acquired by sensor 10 is supplied to the information processing unit 100.
- the drive unit 20 is configured as a motor that rotates the wheels of the mobile object 1.
- the drive unit 20 operates under the control of the information processing unit 100, allowing the mobile object 1 to move.
- the communication unit 30 is a wireless communication module that performs wireless communication with external devices.
- the communication unit 30 supplies information received via wireless communication to the information processing unit 100, and transmits information supplied from the information processing unit 100 via wireless communication.
- the storage unit 40 is composed of volatile memory such as DRAM (Dynamic Random Access Memory).
- the storage unit 40 stores various data obtained by calculations performed by the information processing unit 100.
- the information processing unit 100 is composed of processors such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit).
- the information processing unit 100 controls each part of the mobile object 1.
- the configuration of the information processing unit 100 in an embodiment of the present disclosure will be described below.
- FIG. 6 is a block diagram illustrating an example of the functional configuration of the information processing unit 100 according to the first embodiment of the present disclosure.
- the information processing unit 100 in Figure 6 can perform the following processing by executing a program stored in memory (not shown).
- the information processing unit 100 generates first distance information and second distance information from sensor data output by the ranging sensor 111 included in the sensor 10.
- the ranging sensor 111 is composed of a 3D sensor that can acquire three-dimensional distance information in the environment, such as a 3D LiDAR or 3D depth sensor.
- the information processing unit 100 can extract first distance information of a first layer and second distance information of a second layer from the sensor data (three-dimensional distance information) output by a single ranging sensor 111.
- the information processing unit 100 performs a first self-location estimation process based on the first distance information, and a second self-location estimation process based on the second distance information, as self-location estimation processes for the moving body 1. That is, the information processing unit 100 performs self-location estimation processes in multiple layers.
- self-location estimation processes in multiple layers will also be referred to as multi-layer self-location estimation processes. Note that, in the following, the multiple layers will be described as layers that differ in the height direction relative to the horizontal plane, but they may also be layers that differ in the horizontal direction (left and right direction) or layers that differ in the diagonal direction.
- Self-location estimation unit 131-1 uses a pre-prepared first layer environment map MP1 to perform self-location estimation processing based on distance information for that layer.
- Self-location estimation unit 131-2 uses a pre-prepared second layer environment map MP2 to perform self-location estimation processing based on distance information for that layer.
- Self-location estimation unit 131-3 uses a pre-prepared third layer environment map MP3 to perform self-location estimation processing based on distance information for that layer.
- the self-location estimation process of each layer is executed as a loosely coupled process, but the self-location estimation process of each layer can also be executed as a tightly coupled process.
- the positions of the corresponding submaps SM21 to SM24 are corrected based on the positional relationships between the submaps SM11 to SM14 that make up the environment map MP1.
- consistency between the environment maps for each layer can be improved.
- the multi-layer self-location estimation process executed by the information processing unit 100 in FIG. 6 will be described with reference to the flowchart in FIG. 9.
- the process in FIG. 9 is initiated, for example, when the mobile object 1, which is a mobile robot, starts up in the environment.
- step S20 the self-location integration unit 140 extracts processing results with scores greater than the threshold from the score determination unit 132 of the layer corresponding to the score greater than the threshold. Then, in step S16, the processing results are integrated based on the scores, and in step S17, the self-location information is output.
- step S22 the map update unit 133 for the other layer updates or recreates the environment map stored in the environment map storage unit 134 for that layer.
- step S17 the processing result with the highest score among all scores smaller than the threshold is output as the self-location information. This allows the self-location estimation process to continue in the layer with the least environmental change, even if there is an environmental change in all layers, and makes it possible to avoid unexpected stops of the moving body 1.
- the information processing unit 100 of FIG. 10 differs from the information processing unit 100 of FIG. 6 in that it newly includes a layer search self-position estimation unit 210 and a score comparison unit 220.
- the layer search self-position estimation unit 210 uses the environment map stored in the environment map storage unit (not shown) to perform self-position estimation processing based on the third distance information (point cloud information of the search layer), and calculates a score for the processing result. The calculated score is supplied to the score comparison unit 220.
- the score comparison unit 220 obtains the scores resulting from the self-location estimation process for each layer in the multi-layer self-location estimation unit 130, and compares them with the scores resulting from the self-location estimation process for the search layer from the score comparison unit 220.
- the score comparison results are supplied to the sensor data division unit 120.
- the sensor data division unit 120 changes the layer into which the sensor data output by the ranging sensor 111 is divided, based on the score comparison result from the score comparison unit 220. In other words, the sensor data division unit 120 changes the layer into which the sensor data output by the ranging sensor 111 is divided, based on the score of the processing result of the self-position estimation process based on the third distance information (point cloud information of the search layer).
- the self-position estimation process executed by the layer search self-position estimation unit 210 can be said to be a layer search self-position estimation process for searching for a layer that has a specific environmental change (or a layer that has no environmental change).
- the layer search process executed by the information processing unit 100 in FIG. 10 will be described with reference to the flowchart in FIG. 11.
- the process in FIG. 11 is executed in parallel with the multi-layer self-location estimation process described with reference to the flowchart in FIG. 9.
- step S21 the layer search self-position estimation unit 210 reads the environment map from the environment map storage unit (not shown), performs self-position estimation processing for layer search based on the distance information (point cloud information) of the search layer, and calculates a score for the processing result.
- step S22 the score comparison unit 220 determines whether the score (reliability) of the processing result of the self-location estimation process for layer search is higher than the processing result of the self-location estimation process for each layer in the multi-layer self-location estimation unit 130. If it is determined that the score of the processing result of the self-location estimation process for layer search is not higher than the processing result of the self-location estimation process for each layer, the process returns to step S21, and the self-location estimation process for layer search is repeated.
- the first layer is changed to a search layer as the layer into which the sensor data is divided.
- the score of the processing result of the self-location estimation process for layer search is higher than the score of the processing result of the self-location estimation process for the second layer, the second layer is changed to a search layer as the layer into which the sensor data is divided.
- the score of the processing result of the self-location estimation process for layer search is higher than the scores of the processing results of the self-location estimation processes for all layers, the layer into which the sensor data is divided is changed so that at least the search layer is included.
- the above process allows the multi-layer self-localization process to autonomously search for layers with large environmental changes and switch to layers with less environmental changes, thereby further improving robustness against environmental changes.
- the information processing unit 100 in FIG. 12 differs from the information processing unit 100 in FIG. 6 in that it has sensor data acquisition units 310-1 and 310-2 instead of the sensor data division unit 120.
- the information processing unit 100 in FIG. 12 generates first distance information and second distance information from the sensor data output by distance measurement sensors 111-1 and 111-2 mounted at different heights on the moving body 1.
- Each of the distance measurement sensors 111-1 and 111-2 may be configured as a 3D sensor capable of acquiring three-dimensional distance information in the environment, or may be configured as a 2D sensor capable of acquiring two-dimensional distance information in the environment, such as a 2D LiDAR or 2D depth sensor.
- the sensor data acquisition unit 310-1 acquires sensor data output by the ranging sensor 111-1 and generates first distance information. If the ranging sensor 111-1 is configured as a 3D sensor, the sensor data acquisition unit 310-1 extracts first distance information of a first layer, which is set based on, for example, environmental information, from the sensor data (three-dimensional distance information) output by the ranging sensor 111-1, and supplies it to the multi-layer self-position estimation unit 130. If the ranging sensor 111-1 is configured as a 2D sensor, the sensor data acquisition unit 310-1 acquires sensor data (two-dimensional distance information) output by the ranging sensor 111-1 and supplies it to the multi-layer self-position estimation unit 130.
- the sensor data acquisition unit 310-2 acquires sensor data output by the ranging sensor 111-2 and generates second distance information. If the ranging sensor 111-2 is configured as a 3D sensor, the sensor data acquisition unit 310-2 extracts second distance information of a second layer, which is set based on, for example, environmental information, from the sensor data (three-dimensional distance information) output by the ranging sensor 111-2, and supplies this to the multi-layer self-position estimation unit 130. If the ranging sensor 111-2 is configured as a 2D sensor, the sensor data acquisition unit 310-2 acquires sensor data (two-dimensional distance information) output by the ranging sensor 111-2 and supplies this to the multi-layer self-position estimation unit 130.
- one step includes multiple processes
- the multiple processes included in that one step can be executed by one device, or they can be shared and executed by multiple devices.
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本開示は、自己位置推定処理のロバスト性を向上することができるようにする情報処理方法、情報処理装置、およびプログラムに関する。 情報処理部は、移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成し、移動体の自己位置推定処理として、第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、第2の距離情報に基づいた第2の自己位置推定処理を実行し、第1の自己位置推定処理と第2の自己位置推定処理それぞれの処理結果に基づいて、移動体の自己位置を表す自己位置情報を出力する。本開示は、三次元構造物が劇的に変化する環境において自己位置推定を行う移動体に適用することができる。
Description
本開示は、情報処理方法、情報処理装置、およびプログラムに関し、特に、自己位置推定処理のロバスト性を向上できるようにする情報処理方法、情報処理装置、およびプログラムに関する。
従来、測距センサにより周囲の物体までの方位と距離を検出した検出結果と、あらかじめ記憶されている移動領域の地図情報における物体の位置情報に基づいて自己位置を推定することで、自律移動する移動体が知られている。
例えば、特許文献1には、高さが変更可能な測域センサを備えることで、区域毎に異なる高さの棚が並ぶ倉庫において、各区域の棚板に対応する高さに測域センサの高さを設定し、その測定結果を用いて自己位置の推定を行う自走ロボットが開示されている。
高さ一定の棚板を検出する特許文献1の技術では、三次元構造物が劇的に変化する環境において、その環境変化が自己位置推定処理に大きな影響を与えてしまう。
本開示は、このような状況に鑑みてなされたものであり、自己位置推定処理のロバスト性を向上できるようにするものである。
本開示の情報処理方法は、移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成し、前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行し、前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する情報処理方法である。
本開示の情報処理装置は、移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成する距離情報生成部と、前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行する自己位置推定部と、前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する自己位置情報出力部とを備える情報処理装置である。
本開示のプログラムは、コンピュータに、移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成し、前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行し、前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する処理を実行させるためのプログラムである。
本開示においては、移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報が生成され、前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理が実行されるとともに、前記第2の距離情報に基づいた第2の自己位置推定処理が実行され、前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報が出力される。
以下、本開示を実施するための形態(以下、実施形態とする)について説明する。なお、説明は以下の順序で行う。
1.従来技術の課題と本開示に係る技術の概要
2.移動体の構成
3.第1の実施形態(マルチレイヤ自己位置推定処理を実行する構成)
4.第2の実施形態(レイヤ探索処理を実行する構成)
5.第3の実施形態(複数の測距センサを備える構成)
6.コンピュータのハードウェアの構成例
2.移動体の構成
3.第1の実施形態(マルチレイヤ自己位置推定処理を実行する構成)
4.第2の実施形態(レイヤ探索処理を実行する構成)
5.第3の実施形態(複数の測距センサを備える構成)
6.コンピュータのハードウェアの構成例
<1.従来技術の課題と本開示に係る技術の概要>
(従来技術とその課題)
自走ロボットのような移動体に搭載されたLiDAR(Light Detection and Ranging)と呼ばれるレーザーセンサ(距離センサ)から取得したセンサデータによって高精度な環境マップを作成し、事前に用意された地図と比較・参照することで自己位置推定を行うLiDAR SLAM(Simultaneous Localization and Mapping)が知られている。LiDAR SLAMの代表的な手法として、2D LiDARなどを用いて二次元マップを作成して自己位置同定を行う2D LiDAR SLAMと、3D LiDARにより得られる点群情報を全て用いて三次元の自己位置推定を行う3D LiDAR SLAMがある。
(従来技術とその課題)
自走ロボットのような移動体に搭載されたLiDAR(Light Detection and Ranging)と呼ばれるレーザーセンサ(距離センサ)から取得したセンサデータによって高精度な環境マップを作成し、事前に用意された地図と比較・参照することで自己位置推定を行うLiDAR SLAM(Simultaneous Localization and Mapping)が知られている。LiDAR SLAMの代表的な手法として、2D LiDARなどを用いて二次元マップを作成して自己位置同定を行う2D LiDAR SLAMと、3D LiDARにより得られる点群情報を全て用いて三次元の自己位置推定を行う3D LiDAR SLAMがある。
一般的には、3D LiDAR SLAMの方が、多くの特徴量を用いて自己位置推定を行うので、環境変化に対する変化の割合が少なくロバストといわれる。これに対して、2D LiDAR SLAMは、環境変化があった場合、その影響の割合が大きくなる。具体的には、2D LiDAR SLAMにおいては、ある一定の高さのみをセンシングするので、その高さの環境に変化があった場合、自己位置推定が行えなかったり、自己位置推定の精度が顕著に悪化したりする。
一方で、通常の生活環境とは異なる、例えば倉庫などの三次元構造物が劇的に変化する環境においては、3D LiDAR SLAMであっても、その変化の影響の割合が大きくなってしまう。
例えば、図1に示される倉庫においては、三次元環境が通常の生活環境などに比べて短時間に劇的に変化する。3D LiDAR SLAMにおいては、図中、破線R1で示される三次元構造物(積載されている荷物など)をセンシングすることで得られる点群情報を用いるため、環境変化の影響は大きくなってしまう。
一方、2D LiDAR SLAMにおいては、適切な高さをセンシングすることができれば、環境変化の影響は受けにくい。しかしながら、センサ高さは移動体毎に固定されているため、どの環境にも適用できるとは限らない。例えば、図2に示される倉庫において、破線R2で示される、荷物が積載されるトレーなどの高さをセンシングするようにした場合、トレー自体が移動したり、トレーの周辺に他の荷物が積載されたりするなど、環境変化の影響を受けてしまう。
(本開示に係る技術の概要)
本開示に係る技術においては、例えば3D LiDARにより得られる点群情報を高さ方向のレイヤに分割して、複数のレイヤにおける自己位置推定処理が実行されるようにする。そして、環境変化の大きいレイヤを回避する(自己位置推定処理の処理結果を採用しない)ことで、安定的な自己位置情報の出力を可能にする。
本開示に係る技術においては、例えば3D LiDARにより得られる点群情報を高さ方向のレイヤに分割して、複数のレイヤにおける自己位置推定処理が実行されるようにする。そして、環境変化の大きいレイヤを回避する(自己位置推定処理の処理結果を採用しない)ことで、安定的な自己位置情報の出力を可能にする。
具体的には、図3に示されるように、高さL11における被写体の2次元点群情報を用いた2D LiDAR SLAMと、高さL12における被写体の2次元点群情報を用いた2D LiDAR SLAMの、2つのレイヤにおける自己位置推定処理が実行されるようにする。また、図4に示されるように、高さL21における被写体の2次元点群情報を用いた2D LiDAR SLAMと、高さ範囲L22における被写体の3次元点群情報を用いた3D LiDAR SLAMの、2つのレイヤにおける自己位置推定処理が実行されてもよい。さらには、図示はしないが、2D LiDAR SLAMと3D LiDAR SLAMのいずれかを含む、3つ以上のレイヤにおける自己位置推定処理が実行されてもよい。
また、本開示に係る技術においては、複数のレイヤにおける自己位置推定処理によるレイヤ間のフィードバック、一方で安定的な自己位置推定処理を実行すると同時に他方ではマップ更新を行うこと、環境変化の大きいレイヤを自律的に探索することなどにより、環境変化に対するロバスト性を向上させるようにする。
<2.移動体の構成>
図5は、移動体1の構成例を示すブロック図である。移動体1は、倉庫などで荷物を搬送する搬送ロボットや、建設現場を巡回して画像を収集する点検ロボットなど、様々な環境において自律移動が可能な移動ロボットとして構成される。例えば、移動体1は、ビルや家屋のガラス面や壁面などに密着して移動面を清掃する清掃ロボットとして構成されてもよい。
図5は、移動体1の構成例を示すブロック図である。移動体1は、倉庫などで荷物を搬送する搬送ロボットや、建設現場を巡回して画像を収集する点検ロボットなど、様々な環境において自律移動が可能な移動ロボットとして構成される。例えば、移動体1は、ビルや家屋のガラス面や壁面などに密着して移動面を清掃する清掃ロボットとして構成されてもよい。
図5に示されるように、移動体1は、センサ10、駆動部20、通信部30、記憶部40、および情報処理部100から構成される。
センサ10は、測距センサの他、RGBカメラ、衝突防止センサ、速度センサや加速度センサなどを含むように構成される。センサ10により取得されたセンサデータは、情報処理部100に供給される。
駆動部20は、移動体1の車輪などを回転させるモータなどとして構成される。駆動部20が情報処理部100の制御に基づいて駆動することで、移動体1は移動することができる。
通信部30は、外部の装置と無線通信を行う無線通信モジュールである。通信部30は、無線通信により受信した情報を情報処理部100に供給し、情報処理部100から供給された情報を無線通信により送信する。
記憶部40は、例えばDRAM(Dynamic Random Access Memory)などの揮発性メモリにより構成される。記憶部40は、情報処理部100の演算により得られた各種のデータを記憶する。
情報処理部100は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサで構成される。情報処理部100は、移動体1の各部を制御する。以下、本開示に係る実施形態の情報処理部100の構成について説明する。
<3.第1の実施形態(マルチレイヤ自己位置推定処理を実行する構成)>
図6は、本開示に係る第1の実施形態の情報処理部100の機能構成例を示すブロック図である。
図6は、本開示に係る第1の実施形態の情報処理部100の機能構成例を示すブロック図である。
図6の情報処理部100は、図示せぬメモリに記憶されたプログラムを実行することで、以下のような処理を実行することができる。
まず、情報処理部100は、センサ10に含まれる測距センサ111により出力されるセンサデータから第1の距離情報と第2の距離情報を生成する。測距センサ111は、3D LiDARや3Dデプスセンサなど、環境における3次元距離情報を取得可能な3Dセンサで構成される。すなわち、情報処理部100は、単一の測距センサ111により出力されるセンサデータ(3次元距離情報)から、第1のレイヤの第1の距離情報と第2のレイヤの第2の距離情報を切り出すことができる。
次いで、情報処理部100は、移動体1の自己位置推定処理として、第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、第2の距離情報に基づいた第2の自己位置推定処理を実行する。すなわち、情報処理部100は、複数のレイヤにおける自己位置推定処理を実行する。以降、複数のレイヤにおける自己位置推定処理を、マルチレイヤ自己位置推定処理ともいう。なお、以下においては、複数のレイヤは、水平面を基準とした高さ方向に異なるレイヤであるものして説明するが、横方向(左右方向)に異なるレイヤであってもよいし、斜め方向に異なるレイヤであってもよい。
そして、情報処理部100は、第1の自己位置推定処理と第2の自己位置推定処理それぞれの処理結果のスコアに基づいて、移動体1の自己位置を表す自己位置情報を出力する。
測距センサ111により出力されるセンサデータを分割するレイヤは、移動体1が移動する環境に関する環境情報に基づいて設定される。移動体1が移動する環境は、上述した倉庫の他、駐車場や工場、ライブステージなど、三次元構造物が時々刻々と変化する環境とされる。環境情報は、例えば、移動体1が移動する環境の変わりやすさに応じて、UI提示部112においてユーザにより入力された高さ情報であってもよいし、移動体1が移動する環境毎にあらかじめ決められた高さ情報であってもよい。ユーザにより高さ情報が入力される場合、ユーザは、環境変化の少ないレイヤ(高さ)を指定することができる。このようにして、測距センサ111により出力されるセンサデータは、移動体1が移動する環境に応じた高さのレイヤ毎に分割される。
UI提示部112は、上述した環境情報を入力するためのUI(User Interface)の他、各種のUIを提示する。例えば、UI提示部112は、情報処理部100において実行されているマルチレイヤ自己位置推定処理に用いられる各レイヤの環境マップを表示することができる。
情報処理部100は、図示せぬメモリに記憶されたプログラムを実行することで、センサデータ分割部120、マルチレイヤ自己位置推定部130、および自己位置統合部140の各機能ブロックを実現する。
センサデータ分割部120は、測距センサ111により出力されるセンサデータを複数のレイヤに分割し、分割したセンサデータそれぞれから第1の距離情報と第2の距離情報を生成する距離情報生成部としての機能を有する。具体的には、センサデータ分割部120は、UI提示部112においてユーザにより入力されたか、または、あらかじめ決められた環境情報(高さ情報)に基づいて、測距センサ111により出力されるセンサデータを、移動体1の移動面に対する高さ方向のレイヤに分割することで、第1の距離情報と第2の距離情報を生成する。
第1の距離情報と第2の距離情報はそれぞれ、移動体1の移動面に対する所定の高さにおける被写体(環境)の2次元点群情報であってもよいし、所定の高さ範囲の被写体(環境)の3次元点群情報であってもよい。
ここでは、測距センサ111により出力されるセンサデータから、第1のレイヤの点群情報と第2のレイヤの点群情報(第1の距離情報と第2の距離情報)が切り出されるものとするが、3つ以上のレイヤの点群情報が切り出されるようにもできる。
マルチレイヤ自己位置推定部130は、複数のレイヤにおける自己位置推定処理を同時に並行して実行する。マルチレイヤ自己位置推定部130において、図中、各レイヤにおける自己位置推定処理を実現する機能ブロックについては、符号にレイヤ毎の枝番号を付してある。
すなわち、マルチレイヤ自己位置推定部130は、第1のレイヤについての自己位置推定部131-1、スコア判定部132-1、マップ更新部133-1、および環境マップ保持部134-1を有するとともに、第2のレイヤについての自己位置推定部131-2、スコア判定部132-2、マップ更新部133-2、および環境マップ保持部134-2を有する。以下、レイヤ毎の各機能ブロックについて、レイヤそれぞれを区別しない場合には、レイヤ毎の枝番号を省略して説明する。
自己位置推定部131は、環境マップ保持部134に保持されている環境マップを用いて、当該レイヤの距離情報に基づいた自己位置推定処理を実行し、その処理結果をスコア判定部132に供給する。環境マップ保持部134には、事前に用意された当該レイヤの環境マップが保持されている。
スコア判定部132は、自己位置推定部131からの処理結果の信頼度を表す自己位置推定スコア(以下、単にスコアという)を算出する。処理結果の信頼度は、距離情報の共分散に基づいて算出されてもよいし、距離情報の環境マップとのマッチング結果に基づいて算出されてもよい。スコア判定部132は、自己位置推定部131からの処理結果を、算出したスコアとともに、自己位置統合部140に供給する。自己位置統合部140は、スコア判定部132からの、各レイヤの自己位置推定処理それぞれの処理結果のスコアに基づいて、移動体1の自己位置を表す自己位置情報を出力する自己位置情報出力部としての機能を有する。
また、スコア判定部132は、処理結果のスコアが、あらかじめ設定された閾値より小さいか否かを判定し、その判定結果をマップ更新部133に供給する。マップ更新部133は、マップ更新部133からの判定結果に応じて、環境マップ保持部134に保持されている環境マップを再作成または更新する。
例えば、図7に示されるように、マルチレイヤ自己位置推定部130が、3つのレイヤについてのマルチレイヤ自己位置推定処理を実行しているものとする。
自己位置推定部131-1は、事前に用意された第1のレイヤの環境マップMP1を用いて、当該レイヤの距離情報に基づいた自己位置推定処理を実行する。自己位置推定部131-2は、事前に用意された第2のレイヤの環境マップMP2を用いて、当該レイヤの距離情報に基づいた自己位置推定処理を実行する。自己位置推定部131-3は、事前に用意された第3のレイヤの環境マップMP3を用いて、当該レイヤの距離情報に基づいた自己位置推定処理を実行する。
そして、スコア判定部132は、自己位置推定部131-1,131-2,131-3それぞれによる各レイヤの自己位置推定処理の処理結果のスコアが、あらかじめ設定された閾値より小さいか否かを判定する。
図7の例では、第1のレイヤについての処理結果のスコアが、閾値より小さいと判定され、当該レイヤの環境マップMP1が更新または再作成されている。一方、第2のレイヤについての処理結果のスコアと、第3のレイヤについての処理結果のスコアは、閾値より大きいと判定されることで、自己位置統合部140に供給される。
このように、マルチレイヤ自己位置推定処理によれば、1つのレイヤにおいて環境変化があった場合でも、他のレイヤにおいて安定的に自己位置推定処理を実行しながら、環境変化があったレイヤの環境マップを更新することができる。
図7の例では、マルチレイヤ自己位置推定処理において、各レイヤの自己位置推定処理が疎結合な処理として実行されるものとしたが、各レイヤの自己位置推定処理が密結合な処理として実行されるようにもできる。
各レイヤの自己位置推定処理が密結合な処理として実行される場合、レイヤ毎の環境マップの作成において、各環境マップを構成するサブマップ間の位置関係が利用されてもよい。
例えば、図8に示されるように、マルチレイヤ自己位置推定部130が、2つのレイヤについてのマルチレイヤ自己位置推定処理を実行しながら環境マップを作成しているものとする。
自己位置推定部131-1は、環境における領域毎に第1のレイヤについてのサブマップSM11~SM14を作成しながら、当該レイヤの距離情報に基づいた自己位置推定処理を実行する。自己位置推定部131-2は、環境における領域毎に第2のレイヤについてのサブマップSM21~SM24を作成しながら、当該レイヤの距離情報に基づいた自己位置推定処理を実行する。
図8の例では、第1のレイヤについてのサブマップSM11~SM14同士の共通点に基づいて、サブマップSM11~SM14それぞれがつなぎ合わせられることで、閉ループが構成されている。これにより、第1のレイヤについての環境全体の環境マップMP1が作成される。一方、第2のレイヤについてのサブマップSM21~SM24は、互いの共通点が十分でないため、閉ループを構成することができない。
このとき、環境マップMP1を構成するサブマップSM11~SM14間の位置関係に基づいて、対応するサブマップSM21~SM24間の位置が補正されるようにする。これにより、サブマップSM21~SM24においても閉ループが構成され、第2のレイヤについての環境全体の環境マップMP2が作成されるようになる。結果として、レイヤ毎の環境マップ間における整合性を高めることができる。
図9のフローチャートを参照して、図6の情報処理部100により実行されるマルチレイヤ自己位置推定処理について説明する。図9の処理は、例えば、移動ロボットとしての移動体1が環境において起動したタイミングで開始される。
ステップS11において、センサデータ分割部120は、測距センサ111により出力されるセンサデータを複数のレイヤに分割し、分割したレイヤ毎の距離情報(点群情報)を、各レイヤの自己位置推定部131に供給する。
ステップS12において、各レイヤの自己位置推定部131は、レイヤ毎の環境マップ保持部134から環境マップを読み込む。
ステップS13において、各レイヤの自己位置推定部131は、環境マップ保持部134から読み込んだ環境マップを用いて、当該レイヤの距離情報(点群情報)に基づいた自己位置推定処理を実行する。
ステップS14において、各レイヤのスコア判定部132は、各レイヤの自己位置推定処理の処理結果のスコアの中で、閾値より小さいスコアがあるか否かを判定する。閾値より小さいスコアがない、すなわち、全ての処理結果のスコアが閾値より大きい場合、ステップS15に進む。
ステップS15において、自己位置統合部140は、各レイヤのスコア判定部132から、全ての処理結果を抽出する。
ステップS16において、自己位置統合部140は、スコアに基づいて、各レイヤの自己位置推定処理の処理結果を統合する。例えば、自己位置統合部140は、各レイヤの自己位置推定処理の処理結果(座標情報)をスコアに応じて統合し、自己位置情報とする。この場合、共分散を用いた拡張カルマンフィルタに基づいて座標情報が統合されてもよいし、因子グラブに基づいて座標情報が統合されてもよい。また、自己位置統合部140は、スコアが最も大きい処理結果(座標情報)を、自己位置情報としてもよい。
そして、ステップS17において、自己位置統合部140は、自己位置情報を出力する。
一方、ステップS14において、閾値より小さいスコアがあると判定された場合、ステップS18に進み、各レイヤのスコア判定部132は、全てのスコアが閾値より小さいか否かを判定する。全てのスコアが閾値より小さくないと判定された場合、ステップS19に進む。
ステップS19において、閾値より小さいスコアに対応するレイヤのマップ更新部133は、当該レイヤの環境マップ保持部134に保持されている環境マップを更新または再作成する。
ステップS20において、自己位置統合部140は、閾値より大きいスコアに対応するレイヤのスコア判定部132から、閾値より大きいスコアの処理結果を抽出する。その後、ステップS16においてスコアに基づいて処理結果が統合され、ステップS17において自己位置情報が出力される。
さて、ステップS18において、全てのスコアが閾値より小さいと判定された場合、ステップS21に進む。
ステップS21において、自己位置統合部140は、閾値より小さい全てのスコアの中で、スコアが最も大きい処理結果(座標情報)を、自己位置情報とする。
ステップS22において、その他のレイヤのマップ更新部133は、当該レイヤの環境マップ保持部134に保持されている環境マップを更新または再作成する。
その後、ステップS17において、閾値より小さい全てのスコアの中でスコアが最も大きい処理結果が、自己位置情報として出力される。これにより、全てのレイヤにおいて環境変化があった場合でも、最も環境変化の少ないレイヤにおいて自己位置推定処理を継続することができ、移動体1の想定外の移動停止などを避けることができる。
以上の処理によれば、複数のレイヤにおける自己位置推定処理が実行されることにより、環境変化の大きいレイヤを回避して、安定的に自己位置情報を出力できるので、自己位置推定処理のロバスト性を向上させることが可能となる。
<4.第2の実施形態(レイヤ探索処理を実行する構成)>
図10は、本開示に係る第2の実施形態の情報処理部100の機能構成例を示すブロック図である。
図10は、本開示に係る第2の実施形態の情報処理部100の機能構成例を示すブロック図である。
図10の情報処理部100において、図6の情報処理部100が有する機能ブロックと同様の機能ブロックについては、同一の符号を付し、その説明は基本的には省略する。すなわち、図10の情報処理部100は、レイヤ探索用自己位置推定部210とスコア比較部220を新たに有する点で、図6の情報処理部100と異なる。
但し、図10の情報処理部100におけるセンサデータ分割部120は、測距センサ111により出力されるセンサデータを複数のレイヤに分割し、第1の距離情報および第2の距離情報とは異なるレイヤの第3の距離情報を生成する。すなわち、測距センサ111により出力されるセンサデータから、第1のレイヤの点群情報と第2のレイヤの点群情報に加え、第3のレイヤの点群情報が切り出される。以下、第3のレイヤを探索用レイヤという。探索用レイヤは、上述した環境情報に応じて設定されてもよいし、移動体1が移動する環境に応じて順次変更されたり、ランダムに設定されたりしてもよい。
レイヤ探索用自己位置推定部210は、図示せぬ環境マップ保持部に保持されている環境マップを用いて、第3の距離情報(探索用レイヤの点群情報)に基づいた自己位置推定処理を実行し、その処理結果のスコアを算出する。算出されたスコアは、スコア比較部220に供給される。
スコア比較部220は、マルチレイヤ自己位置推定部130における各レイヤの自己位置推定処理の処理結果のスコアを取得し、スコア比較部220からの探索用レイヤの自己位置推定処理の処理結果のスコアと比較する。スコアの比較結果は、センサデータ分割部120に供給される。
センサデータ分割部120は、スコア比較部220からのスコアの比較結果に基づいて、測距センサ111により出力されるセンサデータを分割するレイヤを変更する。言い換えると、センサデータ分割部120は、第3の距離情報(探索用レイヤの点群情報)に基づいた自己位置推定処理の処理結果のスコアに基づいて、測距センサ111により出力されるセンサデータを分割するレイヤを変更する。
すなわち、レイヤ探索用自己位置推定部210により実行される自己位置推定処理は、特定の環境変化を有するレイヤ(または環境変化のないレイヤ)を探索するためのレイヤ探索用自己位置推定処理といえる。
図11のフローチャートを参照して、図10の情報処理部100により実行されるレイヤ探索処理について説明する。図11の処理は、図9のフローチャートを参照して説明したマルチレイヤ自己位置推定処理と並行して実行される。
ステップS21において、レイヤ探索用自己位置推定部210は、図示せぬ環境マップ保持部から環境マップを読み込むことで、探索用レイヤの距離情報(点群情報)に基づいたレイヤ探索用自己位置推定処理を実行し、その処理結果のスコアを算出する。
ステップS22において、スコア比較部220は、マルチレイヤ自己位置推定部130における各レイヤの自己位置推定処理の処理結果より、レイヤ探索用自己位置推定処理の処理結果のスコア(信頼度)が高いか否かを判定する。各レイヤの自己位置推定処理の処理結果より、レイヤ探索用自己位置推定処理の処理結果のスコアは高くないと判定された場合、ステップS21に戻り、レイヤ探索用自己位置推定処理が繰り返される。
一方、各レイヤの自己位置推定処理の処理結果より、レイヤ探索用自己位置推定処理の処理結果のスコアが高いと判定された場合、ステップS23に進み、センサデータ分割部120は、測距センサ111により出力されるセンサデータを分割するレイヤを変更する。
例えば、第1のレイヤの自己位置推定処理の処理結果のスコア(信頼度)より、レイヤ探索用自己位置推定処理の処理結果のスコア(信頼度)が高い場合、センサデータを分割するレイヤとして、第1のレイヤを探索用レイヤに変更する。また、第2のレイヤの自己位置推定処理の処理結果のスコアより、レイヤ探索用自己位置推定処理の処理結果のスコアが高い場合、センサデータを分割するレイヤとして、第2のレイヤを探索用レイヤに変更する。さらに、全てのレイヤの自己位置推定処理の処理結果のスコアより、レイヤ探索用自己位置推定処理の処理結果のスコアが高い場合、少なくとも探索用レイヤが含まれるように、センサデータを分割するレイヤを変更する。
以上の処理によれば、マルチレイヤ自己位置推定処理において、環境変化の大きいレイヤを自律的に探索し、環境変化の少ないレイヤに変更することができるので、環境変化に対するロバスト性をより向上させることが可能となる。
<5.第3の実施形態(複数の測距センサを備える構成)>
図12は、本開示に係る第3の実施形態の情報処理部100の機能構成例を示すブロック図である。
図12は、本開示に係る第3の実施形態の情報処理部100の機能構成例を示すブロック図である。
図12の情報処理部100において、図6の情報処理部100が有する機能ブロックと同様の機能ブロックについては、同一の符号を付し、その説明は基本的には省略する。すなわち、図12の情報処理部100は、センサデータ分割部120に代えて、センサデータ取得部310-1,310-2を有する点で、図6の情報処理部100と異なる。
図12の情報処理部100は、移動体1において、異なる高さ位置に搭載された測距センサ111-1,111-2により出力されるセンサデータそれぞれから、第1の距離情報と第2の距離情報を生成する。測距センサ111-1,111-2それぞれは、環境における3次元距離情報を取得可能な3Dセンサで構成されてもよいし、2D LiDARや2Dデプスセンサなど、環境における2次元距離情報を取得可能な2Dセンサで構成されてもよい。
すなわち、センサデータ取得部310-1は、測距センサ111-1により出力されるセンサデータを取得し、第1の距離情報を生成する。測距センサ111-1が3Dセンサで構成される場合、センサデータ取得部310-1は、測距センサ111-1により出力されるセンサデータ(3次元距離情報)から、例えば環境情報に基づいて設定される第1のレイヤの第1の距離情報を切り出し、マルチレイヤ自己位置推定部130に供給する。測距センサ111-1が2Dセンサで構成される場合、センサデータ取得部310-1は、測距センサ111-1により出力されるセンサデータ(2次元距離情報)を取得し、マルチレイヤ自己位置推定部130に供給する。
同様に、センサデータ取得部310-2は、測距センサ111-2により出力されるセンサデータを取得し、第2の距離情報を生成する。測距センサ111-2が3Dセンサで構成される場合、センサデータ取得部310-2は、測距センサ111-2により出力されるセンサデータ(3次元距離情報)から、例えば環境情報に基づいて設定される第2のレイヤの第2の距離情報を切り出し、マルチレイヤ自己位置推定部130に供給する。測距センサ111-2が2Dセンサで構成される場合、センサデータ取得部310-2は、測距センサ111-2により出力されるセンサデータ(2次元距離情報)を取得し、マルチレイヤ自己位置推定部130に供給する。
このような構成においても、複数のレイヤにおける自己位置推定処理が実行されることにより、環境変化の大きいレイヤを回避して、安定的に自己位置情報を出力できるので、自己位置推定処理のロバスト性を向上させることが可能となる。
<6.コンピュータのハードウェアの構成例>
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図13は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。移動体1に含まれ得る情報処理部100は、例えば、図13に示される構成と同様の構成を有するコンピュータ400により構成され得る。
CPU(Central Processing Unit)401,ROM(Read Only Memory)402,RAM(Random Access Memory)403は、バス404により相互に接続されている。
バス404には、さらに、入出力インタフェース405が接続される。入出力インタフェース405には、キーボード、マウスなどよりなる入力部406、ディスプレイ、スピーカなどよりなる出力部407が接続される。また、入出力インタフェース405には、ハードディスクや不揮発性のメモリなどよりなる記憶部408、ネットワークインタフェースなどよりなる通信部409、リムーバブルメディア411を駆動するドライブ410が接続される。
以上のように構成されるコンピュータ400では、CPU401が、例えば、記憶部408に記憶されているプログラムを入出力インタフェース405とバス404とを介してRAM403にロードして実行することにより、上述した一連の処理が行われる。
CPU401が実行するプログラムは、例えばリムーバブルメディア411に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部408にインストールされる。
コンピュータ400が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
本開示の実施形態は、上述した実施形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本開示の実施形態は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
さらに、本開示に係る技術は以下のような構成をとることができる。
(1)
移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成し、
前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行し、
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する
情報処理方法。
(2)
前記センサデータを複数のレイヤに分割した前記センサデータそれぞれから前記第1の距離情報と前記第2の距離情報を生成する
(1)に記載の情報処理方法。
(3)
前記移動体の移動面に対する高さ方向の前記レイヤに分割した前記センサデータそれぞれから前記第1の距離情報と前記第2の距離情報を生成する
(2)に記載の情報処理方法。
(4)
前記第1の距離情報と前記第2の距離情報はそれぞれ、前記移動面に対する所定の高さにおける被写体の2次元点群情報と、所定の高さ範囲の前記被写体の3次元点群情報のいずれかである
(3)に記載の情報処理方法。
(5)
単一の前記測距センサにより出力される前記センサデータから前記第1の距離情報と前記第2の距離情報を切り出す
(4)に記載の情報処理方法。
(6)
異なる高さ位置に搭載された前記測距センサにより出力される前記センサデータそれぞれから、前記第1の距離情報と前記第2の距離情報を生成する
(4)に記載の情報処理方法。
(7)
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの前記処理結果のスコアに基づいて、前記自己位置情報を出力し、
前記スコアは、前記処理結果の信頼度を表す
(1)から(6)のいずれかに記載の情報処理方法。
(8)
前記信頼度は、距離情報の共分散またはマッチング結果に基づいて算出される
(7)に記載の情報処理方法。
(9)
前記スコアが最も大きい前記処理結果を前記自己位置情報として出力する
(7)または(8)に記載の情報処理方法。
(10)
前記スコアに応じて統合した前記処理結果を前記自己位置情報として出力する
(7)または(8)に記載の情報処理方法。
(11)
環境マップとしての第1のマップを用いて前記第1の自己位置推定処理を実行するとともに、前記第1のマップとは異なる第2のマップを用いて前記第2の自己位置推定処理を実行し、
前記処理結果の前記スコアが閾値より小さい前記自己位置推定処理に用いられる前記環境マップを再作成または更新する
(7)から(10)のいずれかに記載の情報処理方法。
(12)
全ての前記処理結果の前記スコアが前記閾値より小さい場合、前記スコアが最も大きい前記処理結果を前記自己位置情報として出力する
(11)に記載の情報処理方法。
(13)
前記第1のマップと前記第2のマップの一方を構成するサブマップ間の位置関係に基づいて、前記第1のマップと前記第2のマップの他方を構成する前記サブマップ間の位置を補正する
(11)または(12)に記載の情報処理方法。
(14)
前記移動体が移動する環境に関する環境情報に基づいて、前記センサデータを分割する前記レイヤが設定される
(2)から(13)のいずれかに記載の情報処理方法。
(15)
前記環境情報は、前記環境の変わりやすさに応じてユーザにより入力された高さ情報である
(14)に記載の情報処理方法。
(16)
前記環境情報は、前記環境毎にあらかじめ決められた高さ情報である
(14)に記載の情報処理方法。
(17)
前記第1の距離情報および前記第2の距離情報とは異なる前記レイヤの第3の距離情報に基づいた第3の自己位置推定処理の前記処理結果に基づいて、前記センサデータを分割する前記レイヤを変更する
(2)から(16)のいずれかに記載の情報処理方法。
(18)
前記第3の自己位置推定処理の前記処理結果の信頼度が、前記第1の自己位置推定処理および前記第2の自己位置推定処理の少なくともいずれかの前記処理結果の前記信頼度より高い場合、前記センサデータを分割する前記レイヤを変更する
(17)に記載の情報処理方法。
(19)
移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成する距離情報生成部と、
前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行する自己位置推定部と、
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する自己位置情報出力部と
を備える情報処理装置。
(20)
コンピュータに、
移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成し、
前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行し、
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する
処理を実行させるためのプログラム。
(1)
移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成し、
前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行し、
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する
情報処理方法。
(2)
前記センサデータを複数のレイヤに分割した前記センサデータそれぞれから前記第1の距離情報と前記第2の距離情報を生成する
(1)に記載の情報処理方法。
(3)
前記移動体の移動面に対する高さ方向の前記レイヤに分割した前記センサデータそれぞれから前記第1の距離情報と前記第2の距離情報を生成する
(2)に記載の情報処理方法。
(4)
前記第1の距離情報と前記第2の距離情報はそれぞれ、前記移動面に対する所定の高さにおける被写体の2次元点群情報と、所定の高さ範囲の前記被写体の3次元点群情報のいずれかである
(3)に記載の情報処理方法。
(5)
単一の前記測距センサにより出力される前記センサデータから前記第1の距離情報と前記第2の距離情報を切り出す
(4)に記載の情報処理方法。
(6)
異なる高さ位置に搭載された前記測距センサにより出力される前記センサデータそれぞれから、前記第1の距離情報と前記第2の距離情報を生成する
(4)に記載の情報処理方法。
(7)
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの前記処理結果のスコアに基づいて、前記自己位置情報を出力し、
前記スコアは、前記処理結果の信頼度を表す
(1)から(6)のいずれかに記載の情報処理方法。
(8)
前記信頼度は、距離情報の共分散またはマッチング結果に基づいて算出される
(7)に記載の情報処理方法。
(9)
前記スコアが最も大きい前記処理結果を前記自己位置情報として出力する
(7)または(8)に記載の情報処理方法。
(10)
前記スコアに応じて統合した前記処理結果を前記自己位置情報として出力する
(7)または(8)に記載の情報処理方法。
(11)
環境マップとしての第1のマップを用いて前記第1の自己位置推定処理を実行するとともに、前記第1のマップとは異なる第2のマップを用いて前記第2の自己位置推定処理を実行し、
前記処理結果の前記スコアが閾値より小さい前記自己位置推定処理に用いられる前記環境マップを再作成または更新する
(7)から(10)のいずれかに記載の情報処理方法。
(12)
全ての前記処理結果の前記スコアが前記閾値より小さい場合、前記スコアが最も大きい前記処理結果を前記自己位置情報として出力する
(11)に記載の情報処理方法。
(13)
前記第1のマップと前記第2のマップの一方を構成するサブマップ間の位置関係に基づいて、前記第1のマップと前記第2のマップの他方を構成する前記サブマップ間の位置を補正する
(11)または(12)に記載の情報処理方法。
(14)
前記移動体が移動する環境に関する環境情報に基づいて、前記センサデータを分割する前記レイヤが設定される
(2)から(13)のいずれかに記載の情報処理方法。
(15)
前記環境情報は、前記環境の変わりやすさに応じてユーザにより入力された高さ情報である
(14)に記載の情報処理方法。
(16)
前記環境情報は、前記環境毎にあらかじめ決められた高さ情報である
(14)に記載の情報処理方法。
(17)
前記第1の距離情報および前記第2の距離情報とは異なる前記レイヤの第3の距離情報に基づいた第3の自己位置推定処理の前記処理結果に基づいて、前記センサデータを分割する前記レイヤを変更する
(2)から(16)のいずれかに記載の情報処理方法。
(18)
前記第3の自己位置推定処理の前記処理結果の信頼度が、前記第1の自己位置推定処理および前記第2の自己位置推定処理の少なくともいずれかの前記処理結果の前記信頼度より高い場合、前記センサデータを分割する前記レイヤを変更する
(17)に記載の情報処理方法。
(19)
移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成する距離情報生成部と、
前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行する自己位置推定部と、
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する自己位置情報出力部と
を備える情報処理装置。
(20)
コンピュータに、
移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成し、
前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行し、
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する
処理を実行させるためのプログラム。
1 移動体, 10 センサ, 20 駆動部, 30 通信部, 40 記憶部, 100 情報処理部, 111 測距センサ, 112 UI提示部, 120 センサデータ分割部, 130 マルチレイヤ自己位置推定部, 131 自己位置推定部, 132 スコア判定部, 133 マップ更新部, 134 環境マップ保持部, 140 自己位置統合部, 210 レイヤ探索用自己位置推定部, 220 スコア比較部
Claims (20)
- 移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成し、
前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行し、
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する
情報処理方法。 - 前記センサデータを複数のレイヤに分割した前記センサデータそれぞれから前記第1の距離情報と前記第2の距離情報を生成する
請求項1に記載の情報処理方法。 - 前記移動体の移動面に対する高さ方向の前記レイヤに分割した前記センサデータそれぞれから前記第1の距離情報と前記第2の距離情報を生成する
請求項2に記載の情報処理方法。 - 前記第1の距離情報と前記第2の距離情報はそれぞれ、前記移動面に対する所定の高さにおける被写体の2次元点群情報と、所定の高さ範囲の前記被写体の3次元点群情報のいずれかである
請求項3に記載の情報処理方法。 - 単一の前記測距センサにより出力される前記センサデータから前記第1の距離情報と前記第2の距離情報を切り出す
請求項4に記載の情報処理方法。 - 異なる高さ位置に搭載された前記測距センサにより出力される前記センサデータそれぞれから、前記第1の距離情報と前記第2の距離情報を生成する
請求項4に記載の情報処理方法。 - 前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの前記処理結果のスコアに基づいて、前記自己位置情報を出力し、
前記スコアは、前記処理結果の信頼度を表す
請求項1に記載の情報処理方法。 - 前記信頼度は、距離情報の共分散またはマッチング結果に基づいて算出される
請求項7に記載の情報処理方法。 - 前記スコアが最も大きい前記処理結果を前記自己位置情報として出力する
請求項7に記載の情報処理方法。 - 前記スコアに応じて統合した前記処理結果を前記自己位置情報として出力する
請求項7に記載の情報処理方法。 - 環境マップとしての第1のマップを用いて前記第1の自己位置推定処理を実行するとともに、前記第1のマップとは異なる第2のマップを用いて前記第2の自己位置推定処理を実行し、
前記処理結果の前記スコアが閾値より小さい前記自己位置推定処理に用いられる前記環境マップを再作成または更新する
請求項7に記載の情報処理方法。 - 全ての前記処理結果の前記スコアが前記閾値より小さい場合、前記スコアが最も大きい前記処理結果を前記自己位置情報として出力する
請求項11に記載の情報処理方法。 - 前記第1のマップと前記第2のマップの一方を構成するサブマップ間の位置関係に基づいて、前記第1のマップと前記第2のマップの他方を構成する前記サブマップ間の位置を補正する
請求項11に記載の情報処理方法。 - 前記移動体が移動する環境に関する環境情報に基づいて、前記センサデータを分割する前記レイヤが設定される
請求項2に記載の情報処理方法。 - 前記環境情報は、前記環境の変わりやすさに応じてユーザにより入力された高さ情報である
請求項14に記載の情報処理方法。 - 前記環境情報は、前記環境毎にあらかじめ決められた高さ情報である
請求項14に記載の情報処理方法。 - 前記第1の距離情報および前記第2の距離情報とは異なる前記レイヤの第3の距離情報に基づいた第3の自己位置推定処理の前記処理結果に基づいて、前記センサデータを分割する前記レイヤを変更する
請求項7に記載の情報処理方法。 - 前記第3の自己位置推定処理の前記処理結果の信頼度が、前記第1の自己位置推定処理および前記第2の自己位置推定処理の少なくともいずれかの前記処理結果の前記信頼度より高い場合、前記センサデータを分割する前記レイヤを変更する
請求項17に記載の情報処理方法。 - 移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成する距離情報生成部と、
前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行する自己位置推定部と、
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する自己位置情報出力部と
を備える情報処理装置。 - コンピュータに、
移動体に搭載された測距センサにより出力されるセンサデータから第1の距離情報と第2の距離情報を生成し、
前記移動体の自己位置推定処理として、前記第1の距離情報に基づいた第1の自己位置推定処理を実行するとともに、前記第2の距離情報に基づいた第2の自己位置推定処理を実行し、
前記第1の自己位置推定処理と前記第2の自己位置推定処理それぞれの処理結果に基づいて、前記移動体の自己位置を表す自己位置情報を出力する
処理を実行させるためのプログラム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024-054502 | 2024-03-28 | ||
| JP2024054502 | 2024-03-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025204792A1 true WO2025204792A1 (ja) | 2025-10-02 |
Family
ID=97219585
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2025/008708 Pending WO2025204792A1 (ja) | 2024-03-28 | 2025-03-10 | 情報処理方法、情報処理装置、およびプログラム |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025204792A1 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014056506A (ja) * | 2012-09-13 | 2014-03-27 | Toyota Central R&D Labs Inc | 障害物検出装置及びそれを備えた移動体 |
| JP2017102705A (ja) * | 2015-12-02 | 2017-06-08 | 株式会社リコー | 自律移動装置及び自律移動装置システム |
| JP2021043082A (ja) * | 2019-09-11 | 2021-03-18 | 株式会社東芝 | 位置推定装置、移動体制御システム、位置推定方法およびプログラム |
-
2025
- 2025-03-10 WO PCT/JP2025/008708 patent/WO2025204792A1/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014056506A (ja) * | 2012-09-13 | 2014-03-27 | Toyota Central R&D Labs Inc | 障害物検出装置及びそれを備えた移動体 |
| JP2017102705A (ja) * | 2015-12-02 | 2017-06-08 | 株式会社リコー | 自律移動装置及び自律移動装置システム |
| JP2021043082A (ja) * | 2019-09-11 | 2021-03-18 | 株式会社東芝 | 位置推定装置、移動体制御システム、位置推定方法およびプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8295547B1 (en) | Model-based feature tracking in 3-D and 2-D imagery | |
| US10549430B2 (en) | Mapping method, localization method, robot system, and robot | |
| CN109298629B (zh) | 在未绘制地图区域中引导移动平台的系统及方法 | |
| CN108290294B (zh) | 移动机器人及其控制方法 | |
| US11062475B2 (en) | Location estimating apparatus and method, learning apparatus and method, and computer program products | |
| US8897947B2 (en) | Autonomous mobile device | |
| US5363305A (en) | Navigation system for a mobile robot | |
| US9251417B1 (en) | Fast open doorway detection for autonomous robot exploration | |
| US20180112985A1 (en) | Vision-Inertial Navigation with Variable Contrast Tracking Residual | |
| CN114924287B (zh) | 地图构建方法、设备与介质 | |
| Hähnel et al. | Mobile robot mapping in populated environments | |
| WO2021135645A1 (zh) | 一种地图更新方法及装置 | |
| Scherer et al. | Using depth in visual simultaneous localisation and mapping | |
| CN112740274A (zh) | 在机器人设备上使用光流传感器进行vslam比例估计的系统和方法 | |
| Bostanci et al. | Sensor fusion of camera, GPS and IMU using fuzzy adaptive multiple motion models | |
| US11880209B2 (en) | Electronic apparatus and controlling method thereof | |
| KR20150144730A (ko) | ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
| CN116088503B (zh) | 动态障碍物检测方法和机器人 | |
| Ghani et al. | Improvement of the 2D SLAM system using Kinect sensor for indoor mapping | |
| Rico et al. | Open source robot localization for nonplanar environments | |
| WO2025204792A1 (ja) | 情報処理方法、情報処理装置、およびプログラム | |
| Martín et al. | Octree-based localization using RGB-D data for indoor robots | |
| Deng et al. | Improved closed-loop detection and Octomap algorithm based on RGB-D SLAM | |
| KR102836221B1 (ko) | 3차원 서브 그리드맵을 이용한 로봇의 자세 추정 방법 및 이를 이용한 로봇 | |
| WO2023189721A1 (ja) | 情報処理装置、情報処理方法および情報処理プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25775198 Country of ref document: EP Kind code of ref document: A1 |