JP2021099384A - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP2021099384A
JP2021099384A JP2019229710A JP2019229710A JP2021099384A JP 2021099384 A JP2021099384 A JP 2021099384A JP 2019229710 A JP2019229710 A JP 2019229710A JP 2019229710 A JP2019229710 A JP 2019229710A JP 2021099384 A JP2021099384 A JP 2021099384A
Authority
JP
Japan
Prior art keywords
map
information
update
moving body
difference
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
Application number
JP2019229710A
Other languages
Japanese (ja)
Other versions
JP2021099384A5 (en
Inventor
誠 冨岡
Makoto Tomioka
誠 冨岡
藤木 真和
Masakazu Fujiki
真和 藤木
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2019229710A priority Critical patent/JP2021099384A/en
Priority to US17/118,040 priority patent/US11713977B2/en
Priority to CN202011477217.3A priority patent/CN113012219A/en
Publication of JP2021099384A publication Critical patent/JP2021099384A/en
Publication of JP2021099384A5 publication Critical patent/JP2021099384A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Instructional Devices (AREA)
  • Navigation (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)

Abstract

To prevent sudden change in a position and a posture of an object that performs position estimation by using map information when the map information is updated.SOLUTION: An information processing apparatus has: first estimation means that estimates a first position of a movable body that is estimated from a feature of feature points registered in map information and a feature of the feature points acquired from sensor information measured while the movable body travels in an environment; second estimation means that estimates a second position of the movable body on the basis of information indicating the difference between positions of the feature points included in the map information and positions of the feature points acquired from the sensor information; control means that, when the difference between the first position and the second position is larger than a threshold, moves the movable body on the basis of a path that is determined on the basis of feature points newly acquired from the sensor information; and update means that updates the map information to a map created with the feature points newly acquired from the sensor information.SELECTED DRAWING: Figure 1

Description

本発明は、画像から地図情報を更新する技術に関する。 The present invention relates to a technique for updating map information from an image.

これまで、移動体を自立走行させる場合、移動体に搭載したセンサを用いて、センサの位置姿勢を算出するための地図を作成し、作成した地図を参照しセンサの位置姿勢を算出し、移動体を制御する技術があった。このとき、地図を高精度化するために複数時刻のセンサ値に基づいて地図を更新すること、地図が作成されていない領域で位置姿勢を算出するために時系列のセンサ値に基づいて地図を随時追加(更新)することがなされていた。特許文献1では、移動体が自律的に移動をしながら、地図を自動生成、更新する方法が開示されている。 Until now, when a moving body is allowed to travel independently, a map for calculating the position and orientation of the sensor is created using the sensor mounted on the moving body, and the position and orientation of the sensor are calculated by referring to the created map to move. There was a technique to control the body. At this time, the map is updated based on the sensor values at multiple times in order to improve the accuracy of the map, and the map is updated based on the time-series sensor values in order to calculate the position and orientation in the area where the map is not created. It was added (updated) at any time. Patent Document 1 discloses a method of automatically generating and updating a map while a moving body moves autonomously.

特許第5444952号Patent No. 5444952

しかし、特許文献1の技術では、例えば、新しい特徴点の位置についての情報が入る度に地図を更新すると、更新された地図によってセンサや移動体の位置姿勢の推定結果が変化する。特に、移動体の位置姿勢推定において元の推定結果と更新された推定結果の変化が大きい時、それに伴って移動体の移動速度や方向が急激に変化する可能性がある。 However, in the technique of Patent Document 1, for example, if the map is updated every time information about the position of a new feature point is input, the estimation result of the position and orientation of the sensor or the moving body changes depending on the updated map. In particular, when there is a large change between the original estimation result and the updated estimation result in the position / orientation estimation of the moving body, the moving speed and direction of the moving body may change rapidly accordingly.

本発明は、上記の課題に鑑みてなされたものであり、地図情報を更新した場合に、地図情報を使って位置推定する物体の自己位置姿勢の推定結果が急激に変化することを抑制することを目的とする。 The present invention has been made in view of the above problems, and suppresses a sudden change in the estimation result of the self-position posture of an object whose position is estimated using the map information when the map information is updated. With the goal.

上記の目的を達成する本発明に係る情報処理装置は、移動体が移動する環境にある特徴点の位置を示す地図情報に基づいて該移動体の位置を推定する情報処理装置であって、
前記地図情報に登録された特徴点の特徴と前記環境を前記移動体が移動中に計測したセンサ情報から取得された該特徴点の特徴とから推定される前記移動体の第1の位置を推定する第1推定手段と、
前記地図情報に含まれる特徴点の位置と前記センサ情報から取得された該特徴点の位置との差を示す情報に基づいて前記移動体の第2の位置を推定する第2推定手段と、
前記第1の位置と前記第2の位置との差が閾値より大きい場合には、前記センサ情報から新しく取得された特徴点に基づいて決定した経路に基づいて前記移動体を移動させる制御手段と、
前記地図情報を前記センサ情報から新しく取得された特徴点で生成される地図に更新する更新手段と、を有することを特徴とする。
The information processing device according to the present invention that achieves the above object is an information processing device that estimates the position of a moving body based on map information indicating the position of a feature point in an environment in which the moving body moves.
The first position of the moving body estimated from the features of the feature points registered in the map information and the features of the feature points acquired from the sensor information measured while the moving body is moving in the environment is estimated. First estimation means to do
A second estimation means for estimating the second position of the moving body based on the information indicating the difference between the position of the feature point included in the map information and the position of the feature point acquired from the sensor information.
When the difference between the first position and the second position is larger than the threshold value, the control means for moving the moving body based on the path determined based on the feature points newly acquired from the sensor information. ,
It is characterized by having an updating means for updating the map information to a map generated by newly acquired feature points from the sensor information.

本発明により、地図情報を更新した場合に、地図情報を使って位置推定する物体の自己位置姿勢の推定結果が急激に変化することを抑制できる。 According to the present invention, when the map information is updated, it is possible to suppress a sudden change in the estimation result of the self-position posture of the object whose position is estimated using the map information.

情報処理装置の機能構成例を示すブロック図Block diagram showing a functional configuration example of an information processing device 情報処理装置が実行する処理の流れを示すフローチャートFlowchart showing the flow of processing executed by the information processing device 情報処理装置のハードウェア構成例を示す図The figure which shows the hardware configuration example of an information processing apparatus GUIの一例を示す図Diagram showing an example of GUI 処理の詳細を示すフローチャートFlowchart showing processing details 処理の詳細を示すフローチャートFlowchart showing processing details 情報処理装置の機能構成例を示すブロック図Block diagram showing a functional configuration example of an information processing device 情報処理装置の機能構成例を示すブロック図Block diagram showing a functional configuration example of an information processing device 情報処理装置が実行する処理の流れを示すフローチャートFlowchart showing the flow of processing executed by the information processing device 地図の更新前後における移動体の位置推定結果の一例を示す図Figure showing an example of the position estimation result of the moving body before and after updating the map 地図の更新を行うタイミングの一例を示す図A diagram showing an example of the timing of updating the map

以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 Hereinafter, embodiments will be described with reference to the drawings. The configuration shown in the following embodiments is only an example, and the present invention is not limited to the illustrated configuration.

<実施形態1>
本実施形態では、情報処理システム100に本発明における情報処理装置100を適用した事例を説明する。情報処理システムとは、例えば、移動体と、センサ(計測装置)と、情報処理装置とから構成されるシステムである。移動体に搭載したセンサが計測したセンサ情報に基づきセンサの位置姿勢を算出し、算出した位置姿勢に基づいて移動体を目的地まで制御する制御値を算出し、制御装置11が制御値に基づき移動体を目的地まで制御する。システムの構成はこれに限らず、例えば、制御値を生成するサーバと、移動体を計測する外界センサと、サーバと通信可能な移動体とから構成されるシステムでもよい。
<Embodiment 1>
In the present embodiment, an example in which the information processing apparatus 100 of the present invention is applied to the information processing system 100 will be described. The information processing system is, for example, a system composed of a mobile body, a sensor (measuring device), and an information processing device. The position and orientation of the sensor are calculated based on the sensor information measured by the sensor mounted on the moving body, the control value for controlling the moving body to the destination is calculated based on the calculated position and orientation, and the control device 11 is based on the control value. Control the moving body to the destination. The configuration of the system is not limited to this, and may be, for example, a system composed of a server that generates a control value, an external sensor that measures a mobile body, and a mobile body that can communicate with the server.

本実施形態においては、センサ情報に基づき地図を作成・更新しつつ位置姿勢を算出する技術である、SLAM(Simultaneous Localization and Mapping)技術を、センサの位置姿勢の計測に用いる。SLAM技術においては、地図を作成・更新すると、位置姿勢推定に用いる地図要素が変化するため、地図更新前後で算出する移動体の位置姿勢の推定結果が変化する。この変化により移動体の速度や方位が急激に変化することがある。 In the present embodiment, the SLAM (Simultaneus Localization and Mapping) technology, which is a technology for calculating the position and orientation while creating and updating a map based on the sensor information, is used for measuring the position and orientation of the sensor. In SLAM technology, when a map is created / updated, the map elements used for position / orientation estimation change, so that the position / orientation estimation result of the moving body calculated before and after the map update changes. Due to this change, the speed and orientation of the moving body may change rapidly.

図10を参照して上記のような例を説明する。1つめの例としては、計測視点が増えたことによって特徴点の位置が更新された場合である。例えば、移動体(カメラ)が移動すると、同じ特徴点を複数の視点で計測する。これにより、モーションステレオによる奥行精度が向上するため、より正確な特徴点の三次元位置が算出できる。算出した特徴点の位置を更新値として地図を書き換えると、位置姿勢に利用する特徴点の位置が変化(白点の1000から黒点2000に変化)することになり、カメラの位置姿勢の推定結果が1010から2010に変化する。2つめの例としては、ループクローズ発見により特徴点の位置が更新された場合である。ループクローズとは、例えば、移動体が周回するような走行環境を1周してスタート地点に戻ってきた際に、最初に推定したスタート地点と、戻ってきたときのスタート地点の推定位置を一致させる処理である。なお、同一地点であるか否かの判定は、はじめにスタート地点で撮像した画像と、スタート地点と同じ地点かその近傍に戻ってきたときに撮像した画像とを比較して、所定の値より画像特徴の類似度が大きくなった場合に同一地点であると判定する。このとき、同一地点判定を行った場合も、同一地点で撮像した画像に含まれる特徴点の世界座標が一致するように地図(特徴点)の三次元位置を再計算するため、使っている特徴点の三次元位置が変わることになりカメラの位置姿勢の推定結果も変化する。ループクローズ処理が必要な状況や、位置姿勢推定に用いる特徴点の増減や特徴点の位置の変化が起こる状況は、特徴点の位置推定誤差が所定の閾値より大きいまたは誤差が蓄積する場合や、環境が変化する場合に起こりうる。1つめの誤差による影響は、センサの計測精度や、推定処理を行う装置のパフォーマンスによって大きく変わる。また、環境の変化は、例えば、走行環境におけるレイアウト変更、人または物体が移動することによる変動、そして照明条件の変化などがある。このような環境変化が起こると、予め用意してあった地図にあった特徴点が増減することや、初めに計測した特徴点が動いてしまうことがある。そのため、地図を更新しながら自己位置姿勢推定を行うことが望ましい。 An example as described above will be described with reference to FIG. The first example is the case where the position of the feature point is updated due to the increase in the number of measurement viewpoints. For example, when a moving body (camera) moves, the same feature point is measured from a plurality of viewpoints. As a result, the depth accuracy of the motion stereo is improved, so that a more accurate three-dimensional position of the feature point can be calculated. When the map is rewritten with the calculated position of the feature point as the update value, the position of the feature point used for the position and orientation changes (changes from 1000 white points to 2000 black points), and the estimation result of the position and orientation of the camera is obtained. It changes from 1010 to 2010. The second example is the case where the position of the feature point is updated by the discovery of the loop close. Loop closing means, for example, that the first estimated start point and the estimated position of the start point when the moving object returns to the starting point after making one round in a traveling environment are matched with each other. It is a process to make it. To determine whether or not they are at the same point, the image captured at the start point is compared with the image captured when the image is returned to or near the same point as the start point, and the image is determined from a predetermined value. When the similarity of features becomes large, it is judged that they are the same point. At this time, even if the same point is determined, the feature used is used to recalculate the three-dimensional position of the map (feature point) so that the world coordinates of the feature points included in the images captured at the same point match. The three-dimensional position of the point will change, and the estimation result of the position and orientation of the camera will also change. In situations where loop closing processing is required, or in situations where the number of feature points used for position / orientation estimation increases or decreases or the position of the feature points changes, the position estimation error of the feature points is larger than a predetermined threshold value or errors accumulate. It can happen when the environment changes. The effect of the first error varies greatly depending on the measurement accuracy of the sensor and the performance of the device that performs the estimation process. In addition, changes in the environment include, for example, layout changes in the driving environment, changes due to the movement of a person or an object, and changes in lighting conditions. When such an environmental change occurs, the feature points on the map prepared in advance may increase or decrease, or the feature points measured at the beginning may move. Therefore, it is desirable to estimate the self-position and attitude while updating the map.

本実施形態においては、算出するセンサ10の位置姿勢の、地図更新にともなう変化量が大きい領域、すなわち地図更新において要素を書き換える更新領域から所定の範囲に移動体が位置しているかどうかを判別する。例えば、座標が書き換わる特徴点を抽出して、それが囲む凸包領域を更新領域とする。そして、所定の範囲外に移動体が位置している場合に地図更新を実施する。地図の更新領域と移動体の位置との距離が離れているほうが、移動体の走行に地図の更新が影響しないからである。 In the present embodiment, it is determined whether or not the moving body is located in a predetermined range from the region where the calculated position / orientation of the sensor 10 changes greatly with the map update, that is, the update region where the elements are rewritten in the map update. .. For example, a feature point whose coordinates are rewritten is extracted, and the convex hull area surrounded by the feature point is used as an update area. Then, when the moving body is located outside the predetermined range, the map is updated. This is because the map update does not affect the running of the moving object when the distance between the map update area and the position of the moving object is large.

本実施形態における情報処理システム100は、図1に示すように、センサ10、情報処理装置1、制御装置11を有する。また、情報処理装置1は、更新情報入力部110、差分取得部120、更新方法決定部130から構成される。本実施形態の情報処理装置1は、さらにセンサ情報入力部12、位置姿勢推定部13、地図保持部14、更新情報生成部15、地図更新部16、制御値決定部17を有する。なお、センサ情報入力部12、位置姿勢推定部13、地図保持部14、更新情報生成部15、地図更新部16、制御値決定部17は情報処理装置の外部装置に含まれていても良い。 As shown in FIG. 1, the information processing system 100 in the present embodiment includes a sensor 10, an information processing device 1, and a control device 11. Further, the information processing device 1 is composed of an update information input unit 110, a difference acquisition unit 120, and an update method determination unit 130. The information processing device 1 of the present embodiment further includes a sensor information input unit 12, a position / orientation estimation unit 13, a map holding unit 14, an update information generation unit 15, a map update unit 16, and a control value determination unit 17. The sensor information input unit 12, the position / orientation estimation unit 13, the map holding unit 14, the update information generation unit 15, the map update unit 16, and the control value determination unit 17 may be included in an external device of the information processing device.

センサ10は、外界の情報をセンサ情報として取得するセンサ(計測装置)である。本実施形態においては、センサ10はステレオカメラであり、センサ情報としてステレオ画像を取得する。本実施形態におけるセンサ10は、移動体に搭載されたカメラであるため、移動体が走行する環境を撮像する。 The sensor 10 is a sensor (measuring device) that acquires information on the outside world as sensor information. In the present embodiment, the sensor 10 is a stereo camera and acquires a stereo image as sensor information. Since the sensor 10 in the present embodiment is a camera mounted on the moving body, it images the environment in which the moving body travels.

制御装置11は、制御値決定部17が算出した制御値に基づいて移動体を制御するための制御装置、すなわちアクチュエーターのことである。例えば、タイヤやステアリングを駆動するためのモーターや動力シリンダー、動力変換機のことである。本実施形態においては、制御装置11は作動二輪型のタイヤのモーターのことである。制御値と、具体的には左右2個のタイヤの回転数のことである。制御値を変化させることで、移動体の直進、旋回動作を実現する。 The control device 11 is a control device for controlling a moving body based on a control value calculated by a control value determining unit 17, that is, an actuator. For example, motors, power cylinders, and power converters for driving tires and steering. In the present embodiment, the control device 11 is a motor of an operating two-wheel type tire. It is a control value and specifically, the number of rotations of two tires on the left and right. By changing the control value, the moving body can move straight and turn.

センサ情報入力部12は、センサ10がセンサ(移動体)と周囲の環境との距離を計測した結果を、センサ情報として入力する。本実施形態では、センサ10が取得した画像をセンサ情報として入力して、位置姿勢推定部13に出力する。具体的には、移動体に搭載されたカメラによって移動体の周囲の環境を撮像した画像をセンサ情報とする。また、このセンサ情報から移動体(計測装置)と周囲の物体との相対的な距離を推定できるものとする。 The sensor information input unit 12 inputs the result of measuring the distance between the sensor (moving body) and the surrounding environment by the sensor 10 as sensor information. In the present embodiment, the image acquired by the sensor 10 is input as sensor information and output to the position / orientation estimation unit 13. Specifically, the sensor information is an image obtained by capturing the environment around the moving body with a camera mounted on the moving body. Further, it is assumed that the relative distance between the moving body (measuring device) and the surrounding object can be estimated from this sensor information.

位置姿勢推定部13は、センサ情報入力部12が入力したセンサ情報と、地図保持部14が保持する地図情報と用いて、センサ10の位置姿勢を算出する。算出した位置姿勢値を制御値決定部17に出力する。本実施形態における地図情報とは、現実空間における特定の物体を示す1つまたは複数のキーフレーム情報を含むキーフレーム群情報を保持する。地図情報を用いて、センサ情報で得た特徴点の特徴と、予め計測した特徴点の特徴とを比較し、地図座標系におけるセンサの位置姿勢を計測できる。位置姿勢推定では、SLAM技術で一般的に用いられているように、センサで計測したセンサ情報から抽出した指標の座標と、地図情報に登録した指標の座標とが一致するようにセンサ位置姿勢を算出する。 The position / orientation estimation unit 13 calculates the position / orientation of the sensor 10 by using the sensor information input by the sensor information input unit 12 and the map information held by the map holding unit 14. The calculated position / orientation value is output to the control value determination unit 17. The map information in the present embodiment holds keyframe group information including one or more keyframe information indicating a specific object in the real space. Using the map information, the features of the feature points obtained from the sensor information can be compared with the features of the feature points measured in advance, and the position and orientation of the sensor in the map coordinate system can be measured. In the position / orientation estimation, as is generally used in SLAM technology, the sensor position / orientation is set so that the coordinates of the index extracted from the sensor information measured by the sensor and the coordinates of the index registered in the map information match. calculate.

制御値決定部17は、位置姿勢推定部13が算出した位置姿勢を入力し、制御装置11を駆動する制御値を算出する。制御値とは、作動二輪タイヤの左右のタイヤそれぞれの回転数のことである。制御値決定部17は、不図示の入力手段により入力した移動体の目標地点における移動体の位置姿勢と、位置姿勢推定部17が算出した位置姿勢が一致するように、制御装置11を制御するための制御値を算出し、制御装置11に出力する。 The control value determination unit 17 inputs the position / attitude calculated by the position / attitude estimation unit 13 and calculates the control value for driving the control device 11. The control value is the rotation speed of each of the left and right tires of the operating two-wheeled tire. The control value determining unit 17 controls the control device 11 so that the position / posture of the moving body at the target point of the moving body input by the input means (not shown) and the position / posture calculated by the position / posture estimation unit 17 match. The control value for this is calculated and output to the control device 11.

地図保持部14は、位置姿勢推定部13がセンサ10の位置姿勢を算出するために用いる地図情報を保持する。地図保持部14は、地図情報を、更新情報生成部15に出力する。情報処理装置100の外部にあってもよい。ここで言う地図情報とは、環境の構造や空間を表現する環境の三次元モデルなどの三次元マップのことである。具体的には、三次元点群データ(もしくは三次元点群データと色情報との組み合わせ)、キーフレームデータの集合である。地図情報と、キーフレームについての詳細は後述する。 The map holding unit 14 holds the map information used by the position / orientation estimation unit 13 to calculate the position / orientation of the sensor 10. The map holding unit 14 outputs the map information to the update information generation unit 15. It may be outside the information processing device 100. The map information referred to here is a three-dimensional map such as a three-dimensional model of the environment that expresses the structure and space of the environment. Specifically, it is a set of three-dimensional point cloud data (or a combination of three-dimensional point cloud data and color information) and keyframe data. Details of map information and keyframes will be described later.

更新情報生成部15は、地図保持手段14が保持する地図情報に含まれる特徴点の位置と、センサ情報から新しく取得された特徴点の位置とに基づき、地図を更新するための更新情報を生成する。ここで、更新情報とは、地図情報に含まれる特徴点をセンサで計測したときに、地図情報における特徴点の位置とセンサ情報から取得された特徴点の位置との差分を示す情報であるとする。生成した地図の更新情報を、更新情報入力部110に出力する。地図情報を更新する方法は後述する。更新情報は、具体的には、以下のような情報を含む。1つめは、更新情報とは、所定の同一地点について、地図情報に含まれる既知の特徴点の位置と新たな特徴点の位置とに基づいて、マップ座標上で異なる位置を一致させるよう修正する情報である。同一地点は、2つの方法で算出したキーフレームBの座標が同一座標値(計算誤差もあるので近い値)になるかどうかで判定する。例えば、世界座標上の他のキーフレームから見た所定のキーフレームと、世界座標上の所定のキーフレームとを比較して、差が所定の範囲内であるとき同一地点であると判定する。2つめは、更新情報とは、複数視点で計測した画像上の特徴点位置から求めた新たな特徴点座標を含む情報である。3つめは、更新情報とは、複数視点で計測した画像上の特徴点の位置から求めた特徴点の新たな位置と計測したカメラの新たな位置とを含む(キーフレームの座標)情報である。つまり、更新情報とは、センサで環境における特徴点を計測した際の特徴点の位置と、地図情報における特徴点の位置とを対応づけて、整合するように地図情報を更新するための情報である。 The update information generation unit 15 generates update information for updating the map based on the positions of the feature points included in the map information held by the map holding means 14 and the positions of the feature points newly acquired from the sensor information. To do. Here, the update information is information indicating the difference between the position of the feature point in the map information and the position of the feature point acquired from the sensor information when the feature point included in the map information is measured by the sensor. To do. The updated information of the generated map is output to the update information input unit 110. The method of updating the map information will be described later. Specifically, the updated information includes the following information. First, the update information is modified so that different positions on the map coordinates are matched based on the positions of known feature points included in the map information and the positions of new feature points for the same predetermined point. Information. The same point is determined by whether or not the coordinates of the key frame B calculated by the two methods have the same coordinate value (a close value because there is a calculation error). For example, a predetermined keyframe viewed from another keyframe on the world coordinates is compared with a predetermined keyframe on the world coordinates, and when the difference is within a predetermined range, it is determined that the points are the same. Secondly, the updated information is information including new feature point coordinates obtained from the feature point positions on the image measured from a plurality of viewpoints. Thirdly, the update information is information including the new position of the feature point obtained from the position of the feature point on the image measured from a plurality of viewpoints and the new position of the measured camera (keyframe coordinates). .. In other words, the update information is information for updating the map information so that the position of the feature point when the feature point in the environment is measured by the sensor is associated with the position of the feature point in the map information and is consistent. is there.

更新情報入力部110は、更新情報生成部15が生成した、地図の更新情報を入力する。入力した更新情報を、差分取得部120に出力する。 The update information input unit 110 inputs the update information of the map generated by the update information generation unit 15. The input update information is output to the difference acquisition unit 120.

差分取得部120は、センサ情報と地図情報とから推定される移動体の第1の位置と、センサ情報から新しく取得された特徴点の位置に基づいて推定される移動体の第2の位置と、の差分を取得する。センサ情報は移動体の周囲の環境を計測した特徴点の3次元における位置を示す。地図情報は、既に計測された特徴点の3次元の位置についての情報を含む。更新情報入力部110が入力した更新情報および地図保持部14が保持する地図情報に基づいて、地図の更新に伴う位置姿勢推定部13が算出するセンサ10の位置姿勢への差分を算出する。差分とは、地図の更新前後での、位置姿勢推定部13が算出する移動体の位置姿勢の変化の大きさに相当する値のことである。差分取得手段120は、算出した差分を更新方法決定部130に出力する。詳細な処理については後述する。 The difference acquisition unit 120 has a first position of the moving body estimated from the sensor information and the map information, and a second position of the moving body estimated based on the position of the feature point newly acquired from the sensor information. Get the difference between. The sensor information indicates the three-dimensional position of the feature point that measures the environment around the moving body. The map information includes information about the three-dimensional positions of the feature points that have already been measured. Based on the update information input by the update information input unit 110 and the map information held by the map holding unit 14, the difference from the position and orientation of the sensor 10 calculated by the position and orientation estimation unit 13 accompanying the update of the map is calculated. The difference is a value corresponding to the magnitude of the change in the position / posture of the moving body calculated by the position / posture estimation unit 13 before and after the map is updated. The difference acquisition means 120 outputs the calculated difference to the update method determination unit 130. Detailed processing will be described later.

更新方法決定部130は、差分取得部120が算出した差分をもとに、地図情報の更新方法を決定する。本実施形態における更新方法とは、地図更新部16が、地図更新を実行するか否かを判定するために用いる0〜1に正規化した値のことである。算出した更新方法を地図更新部16に出力する。ここでは、値が大きい(1に近い)ほど、更新すると判断され、値が小さい(0に近い)ほど、更新を抑制する。 The update method determination unit 130 determines the update method of the map information based on the difference calculated by the difference acquisition unit 120. The update method in the present embodiment is a value normalized to 0 to 1 used by the map update unit 16 to determine whether or not to execute the map update. The calculated update method is output to the map update unit 16. Here, it is determined that the larger the value (closer to 1), the more the update is performed, and the smaller the value (closer to 0), the more the update is suppressed.

地図更新部16は、更新方法に基づき、地図保持部14が保持する地図情報を書き換える。更新情報から地図情報を更新する。更新方法に応じて、一度に更新してもよいし、複数回に分けて更新するようにしてもよい。また、取得された差分が小さい場合は、その段階では地図の更新を抑制する。 The map updating unit 16 rewrites the map information held by the map holding unit 14 based on the updating method. Update the map information from the update information. Depending on the update method, it may be updated at once, or it may be updated in a plurality of times. If the acquired difference is small, the map update is suppressed at that stage.

本実施形態における地図情報とは、1つまたは複数のキーフレーム情報を含むキーフレーム群情報を保持する。地図情報は、移動体を移動させる前に、センサを搭載した移動体を環境内で移動させることで生成する。例えば移動体をリモコンや手押しで操作しながら、移動体に搭載しているセンサによるセンサ情報を合成することでマップを生成する。あるいは、移動体が自律的に環境内を移動して、SLAM(Simultaneous Localization and Mapping)技術を使って生成する。SLAMとは、センサで周辺の環境を認識すると同時に、自分自身の位置や姿勢を精度よく推定する技術である。地図情報としてキーフレームデータを用いた場合は、まず、前フレームで推定した位置や姿勢に最も近いキーフレームを選択し、前フレームの位置や姿勢を用いてデプスマップに基づいて現フレームの各画素をキーフレームに射影する。次に、射影したフレームの画素値とキーフレームの画素値とをマッチングして輝度差が最小となるように位置姿勢を推定する。また、ループクローズした際など所定のタイミングでグラフ最適化法によりキーフレームの位置や姿勢を更新する。 The map information in the present embodiment holds keyframe group information including one or more keyframe information. Map information is generated by moving a moving body equipped with a sensor in the environment before moving the moving body. For example, a map is generated by synthesizing sensor information from a sensor mounted on a moving body while operating the moving body with a remote controller or a hand push. Alternatively, the moving body autonomously moves in the environment and is generated by using SLAM (Simultaneus Localization and Mapping) technology. SLAM is a technology that recognizes the surrounding environment with a sensor and at the same time estimates its own position and posture with high accuracy. When keyframe data is used as map information, first select the keyframe closest to the position and orientation estimated in the previous frame, and then use the position and orientation of the previous frame to use each pixel of the current frame based on the depth map. Is projected onto the keyframe. Next, the position and orientation are estimated so that the difference in brightness is minimized by matching the pixel value of the projected frame with the pixel value of the key frame. In addition, the position and orientation of the key frame are updated by the graph optimization method at a predetermined timing such as when the loop is closed.

キーフレームは、位置姿勢推定部13がセンサの位置姿勢を算出するための最小単位の地図要素のことであって、ある地点でカメラが撮影した画像情報から取得した後述するキーフレーム情報をその時のカメラ位置姿勢と合わせて保持する。位置姿勢推定では、カメラが撮影した画像とキーフレーム情報とに基づいて、キーフレームに対するカメラに位置姿勢を算出し、さらにキーフレームの位置姿勢を掛け合わせることでセンサの位置姿勢を算出する。 The key frame is a map element of the smallest unit for the position / orientation estimation unit 13 to calculate the position / orientation of the sensor, and the key frame information described later obtained from the image information taken by the camera at a certain point is obtained at that time. Hold it together with the camera position and orientation. In the position / orientation estimation, the position / orientation of the camera with respect to the keyframe is calculated based on the image captured by the camera and the keyframe information, and the position / orientation of the sensor is calculated by multiplying the position / orientation of the keyframe.

キーフレーム情報とは、キーフレームのデータ構造のことである。キーフレーム情報は、環境内においてある視点から見た奥行情報を量子化して色の濃淡で表現したデプスマップを一定間隔で取得し、画像から取得した色情報を組合せたものである。なお、キーフレームは、位置姿勢を推定するためのものであれば何でも良く、例えば画像中の特徴点における奥行き情報と画像情報(色情報)との組み合わせであっても良い。キーフレームを一意に識別するためのID、センサ10が撮像した画像情報、画像から検出した角といった特徴点情報、およびキーフレームの位置姿勢値すなわち画像を撮影した時点のセンサの位置姿勢を表す行列を保持する。特徴点情報は、画像中で検出した特徴点の二次元座標u、v(以降特徴点の二次元位置ないし特徴点の位置と表記する)、特徴量(画像周囲の小パッチを切り出した小画像)、空間中の三次元位置を示す三次元座標X、Y、Zを保持する。位置姿勢値は、現実空間中に規定された世界座標における撮像装置の位置を表す3パラメータと、撮像装置の姿勢を表す3パラメータとを合わせた6パラメータを4×4行列Mとして表記した行列値のことである。 Keyframe information is the data structure of keyframes. The keyframe information is a combination of color information acquired from an image by acquiring a depth map expressed by color shading by quantizing depth information viewed from a certain viewpoint in the environment at regular intervals. The key frame may be anything as long as it is for estimating the position and orientation, and may be a combination of depth information and image information (color information) at feature points in the image, for example. An ID for uniquely identifying a key frame, image information captured by the sensor 10, feature point information such as an angle detected from the image, and a matrix representing the position / orientation value of the key frame, that is, the position / orientation of the sensor at the time when the image was taken. To hold. The feature point information includes the two-dimensional coordinates u and v (hereinafter referred to as the two-dimensional position of the feature point or the position of the feature point) detected in the image, and the feature amount (a small image obtained by cutting out a small patch around the image). ), Holds three-dimensional coordinates X, Y, Z indicating a three-dimensional position in space. The position / orientation value is a matrix value in which 6 parameters, which are a combination of 3 parameters representing the position of the image pickup device in the world coordinates defined in the real space and 3 parameters representing the posture of the image pickup device, are expressed as a 4 × 4 matrix M. That is.

本実施形態における地図の更新情報とは、地図情報が保持するキーフレーム群情報の中の更新対象となるキーフレーム情報の更新値(キーフレーム更新情報)のことである。キーフレーム更新情報は、キーフレーム群に含まれる更新対象の各々のキーフレームを識別するためのID、更新対象のキーフレームの位置姿勢値の更新後の値、および更新対象のキーフレーム情報に含まれる特徴点の三次元位置の更新後の値を含む。また、複数のキーフレーム更新情報をまとめて、キーフレーム群更新情報と呼ぶ。キーフレーム群更新情報は、キーフレーム更新情報を含む。 The map update information in the present embodiment is the update value (keyframe update information) of the keyframe information to be updated in the keyframe group information held by the map information. The keyframe update information is included in the ID for identifying each keyframe to be updated included in the keyframe group, the updated value of the position / orientation value of the keyframe to be updated, and the keyframe information to be updated. Contains the updated value of the 3D position of the feature point. In addition, a plurality of keyframe update information is collectively referred to as keyframe group update information. The keyframe group update information includes keyframe update information.

図3は、情報処理装置1のハードウェア構成を示す図である。H11はCPUであり、システムバスH21に接続された各種デバイスの制御を行う。H12はROMであり、BIOSのプログラムやブートプログラムを記憶する。H13はRAMであり、CPUであるH11の主記憶装置として使用される。H14は外部メモリであり、情報処理装置1が処理するプログラムを格納する。入力部H15はキーボードやマウス、ボタン、スイッチであり、情報等の入力に係る処理を行う。表示部H16はH11からの指示に従って演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、LEDインジケーターなど、種類は問わない。H17は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、通信インターフェイスはイーサネット(登録商標)でもよく、USBやシリアル通信、無線通信等種類は問わない。本実施形態においては、移動体の目標位置の入力は通信インターフェイスH17を介して行うものとする。I/Oである。本実施形態においては更新情報入力部110が入力する更新情報を更新情報生成部15から入力する、更新方法決定部130が算出した更新方法を地図更新部16に出力する際にI/Oを介して行う。 FIG. 3 is a diagram showing a hardware configuration of the information processing device 1. The H11 is a CPU and controls various devices connected to the system bus H21. The H12 is a ROM and stores a BIOS program and a boot program. The H13 is a RAM and is used as a main storage device of the H11 which is a CPU. H14 is an external memory and stores a program processed by the information processing device 1. The input unit H15 is a keyboard, mouse, button, and switch, and performs processing related to input of information and the like. The display unit H16 outputs the calculation result to the display device according to the instruction from H11. The display device may be of any type, such as a liquid crystal display device, a projector, or an LED indicator. H17 is a communication interface for performing information communication via a network, and the communication interface may be Ethernet (registered trademark), and any type such as USB, serial communication, and wireless communication may be used. In the present embodiment, the input of the target position of the moving body is performed via the communication interface H17. I / O. In the present embodiment, the update information input by the update information input unit 110 is input from the update information generation unit 15, and the update method calculated by the update method determination unit 130 is output to the map update unit 16 via the I / O. To do.

次に、本実施形態における処理手順について説明する。図2は、本実施形態における情報処理装置1を含む情報処理システムの処理手順を示すフローチャートである。処理ステップは、初期化S11、センサ情報入力S12、位置姿勢推定S13、制御S14,地図更新判定S15、更新情報生成S15,地図更新S16、終了判定S17、更新情報入力S110、差分取得S120、更新方法決定S130を行う。 Next, the processing procedure in this embodiment will be described. FIG. 2 is a flowchart showing a processing procedure of an information processing system including the information processing device 1 in the present embodiment. The processing steps include initialization S11, sensor information input S12, position / orientation estimation S13, control S14, map update determination S15, update information generation S15, map update S16, end determination S17, update information input S110, difference acquisition S120, and update method. Decision S130 is performed.

S11では、情報処理装置1が、システムの初期化を行う。すなわち、外部メモリH14からプログラムや地図情報をRAM(H13)に読み込む。また、位置姿勢推定部13が位置を推定するために必要な次の値を取得する。センサ11(カメラ)の内部パラメータ(焦点距離fx(画像の水平方向)、fy(画像の垂直方向)、画像中心位置cx(画像の水平方向)、cy(画像の垂直方向)、レンズ歪みパラメータ)を取得する。また、制御装置のパラメータ(移動体大きさやタイヤの直径、モーターのトルク値等)等の各種パラメータを外部メモリH14からRAM(H13)に読み込む。また、センサ10や制御装置11を起動し、情報処理装置1を含む情報処理システムが動作・制御可能な状態とする。初期化完了後、センサ情報入力S12に移る。 In S11, the information processing device 1 initializes the system. That is, the program and map information are read from the external memory H14 into the RAM (H13). In addition, the position / orientation estimation unit 13 acquires the following values required for estimating the position. Internal parameters of sensor 11 (camera) (focal length fx (horizontal direction of image), fy (vertical direction of image), image center position cx (horizontal direction of image), cy (vertical direction of image), lens distortion parameter) To get. Further, various parameters such as control device parameters (moving body size, tire diameter, motor torque value, etc.) are read from the external memory H14 into the RAM (H13). Further, the sensor 10 and the control device 11 are activated so that the information processing system including the information processing device 1 can be operated and controlled. After the initialization is completed, the process proceeds to the sensor information input S12.

S12は、センサ情報入力部12が、計測装置(移動体)の周囲を計測したセンサ情報を入力する。ここでは、センサ10であるカメラが撮像した画像を入力する。入力した画像は、内部パラメータを用いてレンズ歪みの影響を除去した補正画像に変換する。補正画像を位置姿勢推定部13に出力する。以降、補正画像は単に画像と呼ぶ。次に、位置姿勢推定S13に移る。 In S12, the sensor information input unit 12 inputs sensor information measured around the measuring device (moving body). Here, the image captured by the camera, which is the sensor 10, is input. The input image is converted into a corrected image in which the influence of lens distortion is removed by using internal parameters. The corrected image is output to the position / orientation estimation unit 13. Hereinafter, the corrected image is simply referred to as an image. Next, the position / orientation estimation S13 is started.

S13では、位置姿勢推定部13が、計測装置の周囲を計測したセンサ情報から取得した特徴点の位置と、環境に存在する特徴点の位置を含む地図情報とに基づいて、移動体の位置及び姿勢(第1の位置姿勢)を推定する。すなわち、センサ情報入力部12が入力した画像および地図保持部14が保持する地図情報を用いて、センサ10の位置姿勢を算出する。センサ10の位置姿勢推定には、Raulらの方法を用いる。(Raul Mur−Artal et.al, ORB−SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics)。まず、センサ情報である画像から検出した特徴点を、キーフレーム情報に含まれる特徴点とマッチングする。次に、マッチングした特徴点の3次元座標、と検出した特徴点の画像上での二次元位置の対応関係から、PNP問題(Perspective−n−Pont Problem)を解きセンサの位置姿勢を算出する。算出した位置姿勢を、制御部17に出力し、S14に移る。 In S13, the position / orientation estimation unit 13 determines the position of the moving body and the position of the moving body based on the position of the feature point acquired from the sensor information measured around the measuring device and the map information including the position of the feature point existing in the environment. Estimate the posture (first position posture). That is, the position and orientation of the sensor 10 are calculated using the image input by the sensor information input unit 12 and the map information held by the map holding unit 14. The method of Raul et al. Is used for estimating the position and orientation of the sensor 10. (Raul Mur-Artal et. Al, ORB-SLAM: A Versaille and Accurate Monocular SLAM System. IEEE Transitions on Robotics). First, the feature points detected from the image, which is the sensor information, are matched with the feature points included in the keyframe information. Next, the position and orientation of the sensor are calculated by solving the PNP problem (Perspective-n-Pont Problem) from the correspondence between the three-dimensional coordinates of the matched feature points and the two-dimensional positions of the detected feature points on the image. The calculated position / orientation is output to the control unit 17 and moved to S14.

S14では、制御値決定部17が、移動体の位置姿勢に基づいて、予め設定された目標地点に移動体が近づくような制御値を決定する。すなわち、移動体の目標地点(または経路)の位置姿勢を示す地図情報と、位置姿勢推定部13が推定したセンサ10の位置姿勢と、に基づいて移動体を移動させる。制御値の算出には、移動体の位置姿勢と、地図情報における目標地点の位置姿勢との両者のユークリッド距離を小さくするような制御値の取りうる全てのバリエーションを制御値の候補として算出する。候補の中から最適な制御値を選択するDynamic Window Approach(DWA)を用いる。算出した制御値を、制御装置11に出力する。制御値を出力後、地図更新S15に移る。 In S14, the control value determining unit 17 determines a control value so that the moving body approaches a preset target point based on the position and orientation of the moving body. That is, the moving body is moved based on the map information indicating the position and orientation of the target point (or route) of the moving body and the position and orientation of the sensor 10 estimated by the position and orientation estimation unit 13. In the calculation of the control value, all possible variations of the control value that reduce the Euclidean distance between the position and orientation of the moving body and the position and orientation of the target point in the map information are calculated as candidates for the control value. A Dynamic Window Approach (DWA) is used to select the optimum control value from the candidates. The calculated control value is output to the control device 11. After outputting the control value, the process proceeds to map update S15.

S15では、更新情報生成部15が、更新情報を生成する。更新情報生成には、Raulらの方法に記載がある、ループ検出およびポーズグラフ最適化を用いる。(Raul Mur−Artal et.al, ORB−SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics。)まず、地図情報に含まれるキーフレーム群情報の中から、物理的に同一地点に位置しているのに、異なる位置姿勢として算出されている2つのキーフレーム情報を選択するループ検出を行う。次に、ポーズグラフ最適化により、それら2つのキーフレーム情報が保持する位置姿勢が整合するように周囲のキーフレーム情報の位置姿勢値の更新値、および特徴点の三次元座標の更新値を算出する。更に具体的に手順を説明する。まず、キーフレームAとキーフレームBの特徴点をマッチングする。マッチングしたキーフレームAの特徴点の3D座標とキーフレームBの画像上の特徴点の2D座標を使って3D−2Dの位置姿勢算出を行う。(これにより、キーフレームAから見たキーフレームBの座標がわかる)。算出したA→Bの位置姿勢を使ってキーフレームAの特徴点の3D座標→キーフレームBへの2D投影処理を行って、所定の場所に投影されるかチェックする。キーフレームAから見たキーフレームBの座標と、キーフレームBが保持する座標とが一致するように全体最適化を行う。このようにして算出した複数のキーフレーム更新情報を、キーフレーム群更新情報すなわち更新情報として、更新情報入力部110に入力し、更新情報入力S110に移る。 In S15, the update information generation unit 15 generates update information. For update information generation, loop detection and pose graph optimization described in Raul et al.'S method are used. (Raul Mur-Artal et. Al, ORB-SLAM: A Versaille and Accurate Monocular SLAM System. IEEE Transitions on Robotics.) First, from the keyframe group information included in the map information, from the keyframe group information included in the map information, physically However, loop detection is performed to select two keyframe information calculated as different positions and orientations. Next, by optimizing the pose graph, the update value of the position / orientation value of the surrounding keyframe information and the update value of the three-dimensional coordinates of the feature points are calculated so that the position / orientation held by the two keyframe information matches. To do. The procedure will be described in more detail. First, the feature points of the key frame A and the key frame B are matched. The 3D-2D position and orientation are calculated using the 3D coordinates of the feature points of the matched key frame A and the 2D coordinates of the feature points on the image of the key frame B. (This gives the coordinates of keyframe B as seen from keyframe A). Using the calculated position and orientation of A → B, the 3D coordinates of the feature point of the key frame A → the 2D projection process onto the key frame B is performed to check whether the projection is performed at a predetermined position. The overall optimization is performed so that the coordinates of the key frame B seen from the key frame A and the coordinates held by the key frame B match. The plurality of keyframe update information calculated in this way is input to the update information input unit 110 as keyframe group update information, that is, update information, and the process proceeds to the update information input S110.

S110は、更新情報入力部120が、更新情報生成部15が生成した更新情報を、差分取得部120に入力し、S120に移る。 In S110, the update information input unit 120 inputs the update information generated by the update information generation unit 15 into the difference acquisition unit 120, and moves to S120.

S120は、差分取得部120が、元の地図情報におけるセンサの位置と、更新情報におけるセンサの位置と、の変化と、更新情報とを用いて、位置姿勢推定部13が推定する位置姿勢の地図更新前後の変化の大きさを示す差分を取得する。まず、更新対象のキーフレームとセンサとの距離を算出する。具体的には、キーフレーム群更新情報中の各キーフレーム更新情報に含まれる更新対象のキーフレームの位置の更新値とセンサの位置とに基づいて、更新対象の各キーフレームの座標とセンサの座標との三次元のユークリッド距離を取得する。次に、更新対象のキーフレームごとに算出したユークリッド距離の最小値を求める。本実施形態においては、最小ユークリッド距離の逆数を差分値として利用する。すなわち、距離が大きい(位置姿勢計測に影響のない)程、地図を更新しやすくする。位置姿勢計測に算出した差分値を更新方法決定部130に出力し、S130に移る。 In S120, the difference acquisition unit 120 uses the change of the sensor position in the original map information and the sensor position in the update information and the update information to estimate the position / orientation map of the position / attitude estimation unit 13. Acquire the difference indicating the magnitude of the change before and after the update. First, the distance between the keyframe to be updated and the sensor is calculated. Specifically, based on the update value of the position of the key frame to be updated and the position of the sensor included in each key frame update information in the key frame group update information, the coordinates of each key frame to be updated and the sensor Get the three-dimensional Euclidean distance to the coordinates. Next, the minimum value of the Euclidean distance calculated for each keyframe to be updated is obtained. In this embodiment, the reciprocal of the minimum Euclidean distance is used as the difference value. That is, the larger the distance (there is no effect on the position / orientation measurement), the easier it is to update the map. The difference value calculated for the position / orientation measurement is output to the update method determination unit 130, and the process proceeds to S130.

S130は、更新方法決定部130が、差分取得部120が算出した差分に基づき、地図更新手段16が地図を実行するかどうかの判定に用いる更新方法を決定する。更新方法のひとつとして、更新しやすさを示す値を0〜1に正規化した実数とし、差分の値が小さいほど0に、差分の値が大きいほど1近づくように構成する。本実施形態においては、正規化には、S120において差分取得部120が算出した差分値に−1をかけた値を底とする指数関数を用いる。このようにして決定した更新しやすさを示す値に基づいて、更新しやすさを示す値が所定の閾値以上であれば、更新する方法を決定する。更新する場合の更新方法を地図更新部16に出力し、S17に移る。更新しやすさを示す値または更新情報に応じて、更新方法を変えるように設定しておいても良い。更新しやすさを示す値が閾値未満であれば地図を更新せず、更新しないことを示す情報を地図更新部に入力する。 In S130, the update method determination unit 130 determines the update method used by the update method determination unit 130 to determine whether or not the map update means 16 executes the map based on the difference calculated by the difference acquisition unit 120. As one of the update methods, the value indicating the ease of update is a real number normalized to 0 to 1, and the smaller the difference value, the closer to 0, and the larger the difference value, the closer to 1. In the present embodiment, an exponential function whose base is the value obtained by multiplying the difference value calculated by the difference acquisition unit 120 in S120 by -1 is used for normalization. Based on the value indicating the ease of updating determined in this way, if the value indicating the ease of updating is equal to or greater than a predetermined threshold value, the method of updating is determined. The update method at the time of updating is output to the map updating unit 16 and the process proceeds to S17. The update method may be set to be changed according to the value indicating the ease of updating or the update information. If the value indicating the ease of updating is less than the threshold value, the map is not updated, and information indicating that the map is not updated is input to the map updating unit.

S16では、S130において更新方法決定部130が決定した更新方法に基づいて、地図更新部16が、更新方法に基づいて、地図保持部14が保持する地図情報を更新するか否か判定し、地図を更新する。本実施形態においては、地図の更新情報に基づいて地図保持部14が保持する地図情報を書き換え、S17に移る。更新しやすさを示す値が閾値未満の場合は、その段階では地図更新を抑制し、次にS17に移る。その場合は、例えば、所定時間後に更新することや、更新方法に基づいて段階的に複数回に分けて地図を更新する。例えば、地図更新領域とセンサが遠い時には地図更新を行い、地図更新領域とセンサが近い時には地図更新をやめることになる。 In S16, the map updating unit 16 determines whether or not to update the map information held by the map holding unit 14 based on the updating method determined by the updating method determining unit 130 in S130, and maps. To update. In the present embodiment, the map information held by the map holding unit 14 is rewritten based on the updated information of the map, and the process proceeds to S17. If the value indicating the ease of updating is less than the threshold value, the map update is suppressed at that stage, and then the process proceeds to S17. In that case, for example, the map is updated after a predetermined time, or the map is updated stepwise in a plurality of times based on the update method. For example, when the map update area and the sensor are far from each other, the map is updated, and when the map update area and the sensor are close to each other, the map update is stopped.

S17では、システムを終了するか否かの判断を行う。マウスやキーボードなど入力部H15を介して利用者からシステムを終了するコマンドが入力されている場合にはシステムを終了し、そうでなければS12に戻り位置姿勢推定および地図更新処理を継続する。 In S17, it is determined whether or not to terminate the system. If a command to terminate the system is input from the user via the input unit H15 such as a mouse or keyboard, the system is terminated, otherwise the system returns to S12 and the position / orientation estimation and map update processing are continued.

<効果>
実施形態1では、更新領域からセンサ、すなわち移動体が離れたときに地図更新を許容することで、更新における位置計測値の変化量を小さくすることができる。これにより、移動体の急激な速度変化や方向変化が少なくなる。
<Effect>
In the first embodiment, the amount of change in the position measurement value in the update can be reduced by allowing the map update when the sensor, that is, the moving body is separated from the update area. As a result, sudden changes in speed and direction of the moving body are reduced.

<変形例1>
本実施形態においては、差分取得部120が算出する差分とは、更新対象の個々のキーフレームとセンサとの距離に基づいて算出していた。しかしながら、実施形態は上記に限るものではない。キーフレーム更新情報に基づいて算出し、かつ前述の位置姿勢算部13が算出するセンサ10の、地図更新に伴う位置姿勢の変化量が小さくなるような差分の値を算出するものであればよい。例えば、差分として、更新対象の個々のキーフレームとセンサとの姿勢の差を用いてもよい。姿勢の差とは、キーフレーム群更新情報中の各キーフレーム更新情報に含まれる更新対象のキーフレームの姿勢の更新値と、位置姿勢推定部13が算出したセンサの姿勢値の角度差である。具体的には、移動体が周回していたルートを逆走するときや、往復して戻ってくるときに、進行方向に応じて地図の更新を切り替えることができる。また、前述の更新対象のキーフレーム群に外接する凸包空間を算出し、凸包空間の表面とセンサとの距離に基づいて差分として算出してもよい。さらに言えば、差分取得部120が、凸包空間内に前記センサが位置するかの二値の値を算出するようにしてもよい。すなわち、凸包内にセンサが位置していれば差分1、凸包にセンサが位置していなければ差分0として差分を決定する。
<Modification example 1>
In the present embodiment, the difference calculated by the difference acquisition unit 120 is calculated based on the distance between each key frame to be updated and the sensor. However, the embodiment is not limited to the above. It suffices as long as it calculates the difference value of the sensor 10 calculated based on the key frame update information and calculated by the position / orientation calculation unit 13 so that the amount of change in the position / orientation due to the map update becomes small. .. For example, as the difference, the difference in posture between the individual keyframes to be updated and the sensor may be used. The posture difference is an angle difference between the posture update value of the key frame to be updated included in each key frame update information in the key frame group update information and the posture value of the sensor calculated by the position / posture estimation unit 13. .. Specifically, the map can be updated according to the direction of travel when the moving body runs backward on the route it was orbiting, or when it reciprocates and returns. Further, the convex hull space circumscribing the key frame group to be updated may be calculated and calculated as a difference based on the distance between the surface of the convex hull space and the sensor. Furthermore, the difference acquisition unit 120 may calculate a binary value of whether or not the sensor is located in the convex hull space. That is, if the sensor is located in the convex hull, the difference is 1 and if the sensor is not located in the convex hull, the difference is 0.

本実施形態においては、センサと周囲の物体との距離の逆数を差分として算出していた。距離が増大するほど、差分の値が減少するような設定方法であれば距離の逆数に限らず何でもよい。すなわち、センサと周囲の物体との距離から差分を算出するには、逆余接関数としてもよいし、底を距離値の負値とした指数関数を用いてもよいし、シグモイド関数に距離値を代入し、−1をかけ、1を足した関数を用いてもよい。 In this embodiment, the reciprocal of the distance between the sensor and the surrounding object is calculated as the difference. The setting method is not limited to the reciprocal of the distance, as long as the setting method decreases the difference value as the distance increases. That is, in order to calculate the difference from the distance between the sensor and the surrounding object, an inverse cotangent function may be used, an exponential function with the base as the negative value of the distance value may be used, or the distance value may be used as the sigmoid function. May be used by substituting, multiplying by -1, and adding 1.

また、キーフレーム群更新情報の中の個々のキーフレーム更新情報に含まれる特徴点の三次元座標とセンサ10との距離に基づいて差分を算出してもよい。このような構成とする場合には、キーフレーム群更新情報に含まれる特徴点情報の中でセンサ10とユークリッド距離が最小となる特徴点情報を求める。この時、距離最小となる特徴点との距離値の逆数を、差分の値として算出する。距離最小となる特徴点に限らず、更新範囲からの距離を測れるものであればよい。すなわち、特徴点のうちセンサとの距離が小さいものから所定数選び出し、それら特徴点とセンサとの距離の平均値や中央値を用いてもよい。また、センサとの所定距離以下の特徴点数を差分の値として算出してもよい。 Further, the difference may be calculated based on the distance between the three-dimensional coordinates of the feature points included in the individual keyframe update information in the keyframe group update information and the sensor 10. In such a configuration, the feature point information that minimizes the distance between the sensor 10 and the Euclidean distance is obtained from the feature point information included in the key frame group update information. At this time, the reciprocal of the distance value from the feature point that minimizes the distance is calculated as the difference value. It is not limited to the feature point that minimizes the distance, as long as it can measure the distance from the update range. That is, a predetermined number of feature points may be selected from those having a small distance to the sensor, and the average value or the median value of the distance between the feature points and the sensor may be used. Further, the number of feature points equal to or less than a predetermined distance from the sensor may be calculated as a difference value.

更新情報が含む範囲の広さ、すなわちキーフレーム群が含まれる領域の広さに基づいて差分を算出することもできる。すなわち、更新領域が広いほど大きな差分を算出する。具体的には、前述の更新対象のキーフレーム群の凸包の体積を算出し、体積値の逆数を差分の値として算出する。また、差分の値は、凸包空間の表面積の逆数の値でもよい。凸包空間に外接や内接する楕円の体積や長軸の長さの逆数を用いてもよい。凸包はキーフレーム群が含まれるよう算出したが、更新情報に含まれる特徴点を含む凸法でもよい。 The difference can also be calculated based on the size of the range included in the update information, that is, the size of the area including the keyframe group. That is, the wider the update area, the larger the difference is calculated. Specifically, the volume of the convex hull of the keyframe group to be updated described above is calculated, and the reciprocal of the volume value is calculated as the difference value. Further, the difference value may be the reciprocal value of the surface area of the convex hull space. The reciprocal of the volume of the ellipse circumscribing or inscribed in the convex hull space and the length of the major axis may be used. The convex hull is calculated so as to include the key frame group, but the convex method including the feature points included in the update information may be used.

更新方法とは、地図更新のタイミングを変えることがわかるものであれば本実施形態に示した方法に限らない。例えば、更新対象のキーフレームごとに差分を算出し、更新対象のキーフレームごとに更新方法を算出する構成としてもよい。このような構成とすると、キーフレームごとに、更新をコントロールすることになり、差分が小さいキーフレームは早く更新し、差分が大きなキーフレームは更新しない。このようにすることで、地図は着々と更新しつつ、算出する位置姿勢の急激な変動を抑えることができる。 The update method is not limited to the method shown in the present embodiment as long as it can be seen that the timing of map update is changed. For example, the difference may be calculated for each keyframe to be updated, and the update method may be calculated for each keyframe to be updated. With such a configuration, the update is controlled for each key frame, the key frame with a small difference is updated quickly, and the key frame with a large difference is not updated. By doing so, it is possible to suppress sudden fluctuations in the calculated position and orientation while steadily updating the map.

地図更新部16は、更新前後の移動体の推定位置の差分が大きいほど時間をかけて徐々に、キーフレームや特徴点の位置姿勢が更新後の値となるように更新することもできる。具体的には、キーフレーム群更新情報に含まれる更新対象のキーフレームの位置姿勢と、地図保持部14が保持する当該キーフレームの位置姿勢を重み付き和で合成した合成位置姿勢を用いて地図保持部が保持するキーフレームを更新する。図11のように、地図の更新方法(ここでは特徴点の更新前後での位置の変化)が大きい場合には、地図を更新する量を所定の閾値に抑え、複数回に分けて徐々に特徴点位置を補正することで、急激にカメラ位置が変化することを防ぐ。特に地図の更新方法が大きいほど、補正回数を増やすことで、より緩やかにカメラの位置の変化を起こすことができる。キーフレーム群を含むキーフレームの位置姿勢にかかる重みを、位置姿勢を計測するたびに増大させる。このとき、増大割合は更新方法が大きいほど小さな値となるようにする。このようにすることで、位置姿勢推定への影響が大きな時ほどゆっくり地図を更新することで、更新における位置計測値の変化量が減少し、移動体の急激な速度変化や方向変化が少なくなる。 The map update unit 16 can be updated so that the position and orientation of the keyframes and feature points gradually become the updated values over time as the difference between the estimated positions of the moving objects before and after the update is large. Specifically, the map uses the position / orientation of the keyframe to be updated included in the keyframe group update information and the composite position / orientation obtained by synthesizing the position / orientation of the keyframe held by the map holding unit 14 by a weighted sum. Update the keyframes held by the holding part. As shown in FIG. 11, when the map update method (here, the change in position before and after the feature point update) is large, the amount of map update is suppressed to a predetermined threshold value, and the feature is gradually divided into a plurality of times. By correcting the point position, it is possible to prevent the camera position from changing suddenly. In particular, the larger the map update method, the more gradual the camera position can be changed by increasing the number of corrections. The weight applied to the position / orientation of the keyframe including the keyframe group is increased each time the position / orientation is measured. At this time, the increase rate is set to a smaller value as the update method is larger. By doing so, when the influence on the position / orientation estimation is large, the map is updated slowly, so that the amount of change in the position measurement value in the update is reduced, and the sudden speed change and direction change of the moving body are reduced. ..

本実施形態においては、地図の更新情報とは、地図の構成要素の値の更新、すなわちキーフレームの位置姿勢や特徴点の三次元位置の更新のことであった。本実施形態における地図の更新方法は、地図の切り替え時すなわち地図情報に含まれる一部のキーフレーム群を、不図示の保持手段が保持する新たなキーフレーム群に置き換える場合に用いることもできる。このような構成の場合には、差分取得部120は、新たなキーフレーム群情報をキーフレーム群更新情報として差分を算出する。このようにすることで、地図の切り替え時にも算出する位置計測値の変化量が減少し、移動体の急激な速度変化や方向変化が少なくなる。 In the present embodiment, the map update information is the update of the values of the components of the map, that is, the update of the position / orientation of the key frame and the three-dimensional position of the feature point. The map updating method in the present embodiment can also be used when the map is switched, that is, when a part of the keyframe group included in the map information is replaced with a new keyframe group held by the holding means (not shown). In the case of such a configuration, the difference acquisition unit 120 calculates the difference using the new key frame group information as the key frame group update information. By doing so, the amount of change in the position measurement value calculated even when the map is switched is reduced, and the sudden speed change and direction change of the moving body are reduced.

さらに言えば、地図の切り替えに限らず、不図示の保持手段が持つグローバルな地図を、保持手段14に一部ローカルな地図としてロードするときにも適用できる。このようにすると、例えば、別の移動体が作成した地図をロードして、自身の地図を更新(保持手段14が保持する地図に追加)する場合、移動体の速度や方位が急激に変化することが少なくなる。同様に、例えば、クラウドサーバー上にある地図の一部をローカルマップとしてロードして位置姿勢を推定する際に、地図をロード(保持手段14が保持する地図に追加)した時の移動体の速度や方位が急激に変化することが少なくなる。 Furthermore, it can be applied not only to switching the map but also when loading a global map of the holding means (not shown) as a partially local map to the holding means 14. In this way, for example, when a map created by another moving body is loaded and its own map is updated (added to the map held by the holding means 14), the speed and orientation of the moving body change abruptly. Less often. Similarly, for example, when loading a part of the map on the cloud server as a local map and estimating the position and orientation, the speed of the moving object when the map is loaded (added to the map held by the holding means 14). And the orientation is less likely to change suddenly.

本実施形態においては、地図情報とはキーフレーム群のことであった。しかしながら地図情報はこれに限らず、センサの位置姿勢を算出するために用いる指標であればなんでもよい。例えば、位置姿勢推定に物体を指標として位置計測する、すなわちカメラで撮影した物体の三次元座標に基づいて位置姿勢を算出する構成とした場合には、物体とその三次元座標が地図情報となる。このような構成とした場合には、物体の位置姿勢の更新値を本実施形態におけるキーフレーム更新情報として扱うことで、本実施形態の方法で差分を算出することができる。 In this embodiment, the map information is a group of keyframes. However, the map information is not limited to this, and any index used for calculating the position and orientation of the sensor may be used. For example, when the position is measured using an object as an index for position / orientation estimation, that is, the position / orientation is calculated based on the three-dimensional coordinates of the object photographed by the camera, the object and its three-dimensional coordinates become map information. .. In such a configuration, the difference can be calculated by the method of the present embodiment by treating the updated value of the position and orientation of the object as the key frame update information in the present embodiment.

また、地図情報はキーフレームを保持しない構成、すなわち特徴点のみ保持する構成としてもよい。このような場合にも、特徴点の三次元位置の更新値を本実施形態におけるキーフレーム更新情報として用いることで、本実施形態における差分を算出することができる。 Further, the map information may have a configuration in which keyframes are not retained, that is, a configuration in which only feature points are retained. Even in such a case, the difference in the present embodiment can be calculated by using the updated value of the three-dimensional position of the feature point as the key frame update information in the present embodiment.

また、センサとしてLiDARを用いる場合には、LiDARが計測したスキャン点群や、Occupancy Grid Map(通行可能領域と通行付加領域すなわち壁等の領域とを格子にプロットしたデータ構造である地図)を用いることもできる。このようなLiDARを用いる構成の場合には、各グリッドを本実施形態で説明した特徴点とみなせば、本発明を適用できる。具体的には、各グリッドからの距離値に基づいて本実施形態で用いた方法で差分を算出する。この方法に限らず、更新対象のグリッドを更新領域とみなせば、更新領域からのセンサの距離を求めることができる。また、センサが位置しているグリッドが更新対象か否かにより、更新領域内にセンサが位置しているか否かを判定することもできる。このような構成として、LiDARを用いる場合にも本発明を適用できる。 When LiDAR is used as a sensor, a scan point cloud measured by LiDAR or an Occupancy Grid Map (a map having a data structure in which a passable area and a passable area, that is, an area such as a wall are plotted on a grid) are used. You can also do it. In the case of such a configuration using LiDAR, the present invention can be applied if each grid is regarded as a feature point described in the present embodiment. Specifically, the difference is calculated by the method used in this embodiment based on the distance value from each grid. Not limited to this method, if the grid to be updated is regarded as an update area, the distance of the sensor from the update area can be obtained. It is also possible to determine whether or not the sensor is located in the update area depending on whether or not the grid on which the sensor is located is the update target. The present invention can also be applied when LiDAR is used as such a configuration.

本実施形態においては、更新情報とは、キーフレーム群更新情報が含むキーフレーム更新情報であり、更新対象のキーフレームの更新後の値や特徴点の更新後の値であった。更新情報はこれに限らず、地図を更新することができる情報であればよい。すなわち、地図保持手段110が保持する地図の要素の修正値(差分量)でもよい。 In the present embodiment, the update information is the keyframe update information included in the keyframe group update information, and is the value after the update of the keyframe to be updated or the value after the update of the feature point. The update information is not limited to this, and any information that can update the map may be used. That is, it may be a modified value (difference amount) of a map element held by the map holding means 110.

また、本実施形態では、更新情報はキーフレーム更新情報として保持する構成を説明したが、地図保持手段110が保持する地図の要素を書き換えるための更新値を保持する構成であればキーフレーム更新情報として保持する構成に限らない。すなわち、キーフレームを識別するためのIDと更新後の位置姿勢や特徴点の三次元位置のみの値を保持する構成とすることもできる。また、変形例で説明したOccupancy Grid Mapを地図情報として用いる場合には、セルの座標と書き換え値を更新情報として保持する構成としてもよい。 Further, in the present embodiment, the configuration in which the update information is held as the keyframe update information has been described, but the keyframe update information is provided as long as the configuration holds the update value for rewriting the map element held by the map holding means 110. It is not limited to the configuration to be held as. That is, it is also possible to have a configuration in which the ID for identifying the key frame and the value of only the three-dimensional position of the updated position / orientation and the feature point are held. Further, when the Occupancy Grid Map described in the modified example is used as the map information, the cell coordinates and the rewritten value may be retained as the update information.

本実施形態においては、更新情報生成には、ループを検出し、ポーズグラフ最適化により、更新対象のキーフレームの位置姿勢の更新値と特徴点の三次元位置の更新値を求めていた。一方、更新情報の生成は、上記の方法に限らない。例えば、ポーズグラフ最適化の代わりに、Raulらの方法に記載があるバンドル調整を用いることもできる。(Raul Mur−Artal et.al, ORB−SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics。)IMU(inertial measurement unit)や、移動体のタイヤの回転量の積分値から求めたオドメトリの計測値との整合性を取るためのカルマンフィルタにより算出した位置姿勢に基づきキーフレームの位置姿勢の更新値を求めてもよい。 In the present embodiment, in order to generate the update information, a loop is detected and the update value of the position and orientation of the key frame to be updated and the update value of the three-dimensional position of the feature point are obtained by optimizing the pose graph. On the other hand, the generation of update information is not limited to the above method. For example, instead of pose graph optimization, bundle adjustment described in Raul et al.'S method can also be used. (Raul Mur-Artal et. Al, ORB-SLAM: A Versaille and Accurate Monocular SLAM System. IEEE Transitions on Robotics.) IMU (Inertial Measurement Unit) The updated value of the position / orientation of the key frame may be obtained based on the position / orientation calculated by the Kalman filter for obtaining consistency with the measured value.

さらには、地図の追加すなわち地図情報が保持するキーフレーム群情報に新たなキーフレーム情報を追加する場合にも、本発明を適用することができる。このような場合には、追加する新たなキーフレーム情報をキーフレーム更新情報として用いることで、本実施形態の方法を適用できる。 Furthermore, the present invention can also be applied when adding a map, that is, adding new keyframe information to the keyframe group information held by the map information. In such a case, the method of the present embodiment can be applied by using the new keyframe information to be added as the keyframe update information.

本実施形態では、センサ10はカメラのことであった。カメラとしてはモノクロカメラ、カラーカメラ、ステレオカメラ、奥行カメラなど、位置姿勢計測に用いることができる画像を取得できるカメラであればなんでもよい。カメラに応じて、センサ情報はモノクロ画像、RGB画像、デプスマップなど位置姿勢推定ができるものであれば何でもよい。 In this embodiment, the sensor 10 is a camera. The camera may be a monochrome camera, a color camera, a stereo camera, a depth camera, or any other camera that can acquire an image that can be used for position / orientation measurement. Depending on the camera, the sensor information may be any monochrome image, RGB image, depth map, or any other information that can estimate the position and orientation.

また、センサ10はLiDARを始めとする、位置計測に用いることができるセンサ情報を取得できるものであればなんでもよい。例えば、2D LiDARでも、3D LiDARでもよい。センサの種類に応じて、センサ情報は二次元の点群でもよいし三次元の点群でも位置姿勢推定ができるものであれば何でもよい。 Further, the sensor 10 may be any sensor 10 as long as it can acquire sensor information that can be used for position measurement, such as LiDAR. For example, it may be 2D LiDAR or 3D LiDAR. Depending on the type of sensor, the sensor information may be a two-dimensional point cloud or a three-dimensional point cloud as long as the position and orientation can be estimated.

センサ10は上記に限らず、地図情報とセンサ10が計測したセンサ値に基づいて位置姿勢を算出することができるセンサであればなんでもよい。 The sensor 10 is not limited to the above, and any sensor that can calculate the position and orientation based on the map information and the sensor value measured by the sensor 10 may be used.

対象とする制御装置11は、タイヤに限らず、ステアリングや、移動体がドローンであればプロペラの回転量など、移動体の速度・加速度・角度・角速度、角加速度を変化させるものであればなんでもよい。 The target control device 11 is not limited to tires, but can be anything that changes the speed, acceleration, angle, angular velocity, and angular acceleration of a moving body, such as steering and the amount of rotation of a propeller if the moving body is a drone. Good.

本情報処理装置は、更新した地図を用いて位置姿勢を算出するすべての構成に適用できる。例えば、移動体は、AGV/AMR、無人搬送車、自動運転車、ドローン、自律移動ロボットであっても良く、本実施形態で説明した移動制御をそれらに適用しても良い。また、陸上を歩行・走行する移動体以外でも、空中を飛行して移動するものや、水上を移動するもの、水中を潜水して移動する移動体に適用しても良い。 This information processing device can be applied to all configurations for calculating the position and orientation using the updated map. For example, the moving body may be an AGV / AMR, an automatic guided vehicle, an autonomous vehicle, a drone, or an autonomous mobile robot, and the movement control described in the present embodiment may be applied to them. In addition to the moving body that walks and runs on land, it may be applied to a moving body that flies in the air, moves on the water, and moves by diving in the water.

実施形態においては、情報処理装置1は、情報処理システムに搭載する構成として説明した。しかしながら、地図の更新方法を算出することができる構成であれば、情報処理装置1はどこに配置してもよい。例えば、情報処理システムとは分離して、クラウドサーバーに配置してもよいし、別の情報処理システム上に配置することもできる。動作タイミングも任意である。本実施形態においては処理ステップも逐次処理を説明したが、特定の処理として例えばS15からS16をS12からS14と別のスレッドとして並列して動作させるような構成としてもよい。 In the embodiment, the information processing device 1 has been described as a configuration mounted on the information processing system. However, the information processing device 1 may be arranged anywhere as long as the map update method can be calculated. For example, it may be placed on a cloud server separately from the information processing system, or it may be placed on another information processing system. The operation timing is also arbitrary. In the present embodiment, the processing step also describes the sequential processing, but as a specific processing, for example, S15 to S16 may be configured to operate in parallel with S12 to S14 as separate threads.

本実施形態においては、画像が入力される毎に地図更新判定を行う構成について説明した。しかしながら、画像が入力される毎に地図更新判定を行う構成に限らず、所定のタイミングで地図更新判定を行う構成としてもよい。 In the present embodiment, a configuration in which a map update determination is performed each time an image is input has been described. However, the configuration is not limited to the configuration in which the map update determination is performed each time an image is input, and the map update determination may be performed at a predetermined timing.

すなわち、更新情報生成ステップS15はキーフレームを追加するごとにステップS110以降を実行する構成としてもよい。さらには、新たに追加したキーフレームと地図保持部14が保持するキーフレームとをマッチングしループ検出したときのみステップS110以降を実行する構成としてもよい。このようにすると、地図を更新しうるときのみにステップS110以降を実行することになり、処理負荷を低減し、地図更新判定をすることができる。 That is, the update information generation step S15 may be configured to execute step S110 and subsequent steps each time a key frame is added. Further, the steps S110 and subsequent steps may be executed only when the newly added keyframe and the keyframe held by the map holding unit 14 are matched and a loop is detected. In this way, step S110 and subsequent steps are executed only when the map can be updated, the processing load can be reduced, and the map update determination can be made.

<変形例2>
情報処理装置1に、不図示の提示部を含む構成としてもよい。例えば、提示部に赤、黄色、緑の三色灯を用いるのであれば、地図更新をしていないときに緑色、地図更新中は黄色となるように提示し、利用者に地図更新中であることを可視化することができる。表示の色は利用者に地図更新中であることを可視化できれば任意である。地図更新ステータスに関する情報を利用者に提示できるものであれば、LEDランプでも、液晶ディスプレイでもなんでもよい。提示装置はスピーカーでもよく、地図更新ステータスに応じて特定のアラーム音や特定のメロディーが流れるように構成としてもよい。
<Modification 2>
The information processing device 1 may include a presentation unit (not shown). For example, if a red, yellow, and green three-color lamp is used for the presentation unit, it is presented so that it is green when the map is not updated and yellow when the map is being updated, and the map is being updated to the user. It can be visualized. The color of the display is arbitrary as long as the user can visualize that the map is being updated. An LED lamp or a liquid crystal display may be used as long as it can present information on the map update status to the user. The presenting device may be a speaker, and may be configured to play a specific alarm sound or a specific melody according to the map update status.

提示部に、地図更新に関わる情報として、差分や更新方法、更新範囲を提示してもよい。図4は、提示部にディスプレイを用い、地図情報と差分、更新範囲を提示するGUI100の事例である。 Differences, update methods, and update ranges may be presented to the presentation unit as information related to map update. FIG. 4 is an example of the GUI 100 in which a display is used as a presentation unit to present map information, differences, and an update range.

G110は地図情報と差分を提示する提示領域である。G111は、地図更新を行う範囲、および差分の値を示す指標である。本変形例においては、差分が大きいほど濃い色となるように地図更新領域を提示する。G112は移動体の移動ルートである。G113は移動体の現在位置である。 G110 is a presentation area that presents map information and differences. G111 is an index indicating the range for updating the map and the value of the difference. In this modification, the map update area is presented so that the larger the difference, the darker the color. G112 is a movement route of a moving body. G113 is the current position of the moving body.

G120は、地図更新のパラメータを利用者が調節するためのGUIである。G121はマウスカーソルであり、G122に示した閾値調整バーを上下に移動させ、差分がどの程度であれば地図更新を許容するのか決めることができる。G123は、差分の大小を表す指標である。 The G120 is a GUI for the user to adjust the parameters for updating the map. G121 is a mouse cursor, and the threshold adjustment bar shown in G122 can be moved up and down to determine how much the difference is to allow map update. G123 is an index showing the magnitude of the difference.

このようにして、利用者により容易に地図更新が行われる領域を提示し、地図更新を許容する閾値を調節することができる。このようにすることで、利用者に地図更新による差分を直感的に理解することができる。 In this way, it is possible to present the area where the map update is easily performed by the user and adjust the threshold value for allowing the map update. By doing so, the user can intuitively understand the difference due to the map update.

なお、提示部にディスプレイを用いる構成について説明したが、提示装置はスピーカーでもよい。移動体が通過している領域の差分に応じてアラーム音の大小や高低、メロディーの種別を変えるよう構成することもできる。 Although the configuration in which the display is used for the presentation unit has been described, the presentation device may be a speaker. It can also be configured to change the loudness, pitch, and melody type of the alarm sound according to the difference in the area through which the moving body passes.

<実施形態2>
実施形態1では、差分取得手段120が、更新領域との距離を用いて差分取得を行っていた。実施形態2では、更新要素の変化量に基づき、差分を算出する。本実施形態においては、変化量とはキーフレーム群更新情報に含まれる更新対象のキーフレームの更新に伴う位置の変化の大小のことである。キーフレームの位置の変化が大きいほど、算出するセンサの位置姿勢の変化量が大きくなるため、キーフレームの位置の変化量が大きいほど大きな差分を算出する構成について述べる。
<Embodiment 2>
In the first embodiment, the difference acquisition means 120 acquires the difference using the distance from the update area. In the second embodiment, the difference is calculated based on the amount of change of the update element. In the present embodiment, the amount of change is the magnitude of the change in position due to the update of the keyframe to be updated included in the keyframe group update information. The larger the change in the position of the key frame, the larger the amount of change in the position and orientation of the sensor to be calculated. Therefore, the larger the change in the position of the key frame, the larger the difference is calculated.

実施形態2における装置の構成は、実施形態1で説明した情報処理装置1の構成を示す図1に加え、差分取得部120が、地図保持部14の地図情報を入力する点が異なる。ハードウェア構成は実施形態1と同様に図3のような構成を用いる。 The configuration of the device in the second embodiment is different from FIG. 1 showing the configuration of the information processing device 1 described in the first embodiment, in that the difference acquisition unit 120 inputs the map information of the map holding unit 14. As the hardware configuration, the configuration as shown in FIG. 3 is used as in the first embodiment.

実施形態2における処理手順は、実施形態1で説明した情報処理装置1の処理手順を示す図2と同一であるため、説明を省略する。実施形態1とは、差分の算出S120の処理の詳細が異なる。 Since the processing procedure in the second embodiment is the same as that shown in FIG. 2 showing the processing procedure of the information processing apparatus 1 described in the first embodiment, the description thereof will be omitted. The details of the processing of the difference calculation S120 are different from those of the first embodiment.

更新方法決定S130は、キーフレーム群更新情報に含まれるキーフレーム更新情報が含む、更新対象のキーフレームの位置の変化量を算出する。本実施形態における位置の変化の大小とは、更新前のキーフレームの座標と、更新後のキーフレームの座標とのユークリッド距離のことである。キーフレーム群更新情報に含まれる各々の更新対象のキーフレームに対して算出した距離値の最大値を差分として更新方法決定部130に出力し、S17に移る。 The update method determination S130 calculates the amount of change in the position of the key frame to be updated included in the key frame update information included in the key frame group update information. The magnitude of the change in position in the present embodiment is the Euclidean distance between the coordinates of the keyframe before the update and the coordinates of the keyframe after the update. The maximum value of the distance value calculated for each update target key frame included in the key frame group update information is output as a difference to the update method determination unit 130, and the process proceeds to S17.

<効果>
実施形態2では、更新要素の変化量に基づいて、地図の更新方法を算出する。すなわち、地図更新要素の変化が所定値以下であれば更新し、更新方法が所定値以上であれば更新しない。このような構成にすることで、更新における位置計測値の変化量が所定以上にならないようにする。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。
<Effect>
In the second embodiment, the map update method is calculated based on the amount of change in the update element. That is, if the change of the map update element is not more than a predetermined value, it is updated, and if the update method is more than a predetermined value, it is not updated. With such a configuration, the amount of change in the position measurement value during the update is prevented from exceeding a predetermined value. By doing so, the sudden speed change and direction change of the moving body are reduced.

<変形例>
実施形態2では、差分とは、地図更新前後のキーフレームの座標のユークリッド距離に基づいて算出していた。しかしながら、地図の更新要素の変化量を基に算出するものであればなんでもよい。すなわち、キーフレームの姿勢の変化量でもよい。また、特徴点の三次元位置の変化量でもよい。さらには、変化量とは地図の構成要素の位置や姿勢の幾何学的な変化に限らず、位置姿勢計測に用いる地図要素の変化量であればなんでもよい。具体的には、特徴点が平滑化画像の局所領域内の勾配方向のヒストグラムを特徴量とするSIFTやORBのよう特徴量を保持しているときには、特徴量の更新量であってもよい。特徴量の更新とは、複数のキーフレーム情報に含まれる特徴点情報のうち、三次元座標と特徴量が類似しており同一とみなした特徴点の特徴量の、平均化や代表値への置き換え処理のことである。特徴量の更新量は、例えばORBやSIFTの更新前後の特徴量ベクトルのノルムやコサイン類似度の値によって求める。Descriptorに限らず、特徴点の小領域のパッチを複数視点で平滑化して更新する場合は、パッチの更新前後の輝度の変化の合計や平均、最大値等の値を用いてもよい。
<Modification example>
In the second embodiment, the difference is calculated based on the Euclidean distance of the coordinates of the keyframes before and after the map update. However, anything can be used as long as it is calculated based on the amount of change in the map update element. That is, it may be the amount of change in the posture of the key frame. Further, the amount of change in the three-dimensional position of the feature point may be used. Furthermore, the amount of change is not limited to the geometrical change in the position and orientation of the components of the map, and may be any amount of change in the map element used for position / orientation measurement. Specifically, when the feature point holds the feature amount such as SIFT or ORB having a histogram in the gradient direction in the local region of the smoothed image as the feature amount, the feature amount may be updated. Feature update is the averaging and representative value of feature points that are considered to be the same as the three-dimensional coordinates among the feature point information included in a plurality of keyframe information. It is a replacement process. The update amount of the feature amount is obtained by, for example, the norm and the cosine similarity value of the feature amount vector before and after the update of ORB and SIFT. Not limited to the Descriptor, when a patch in a small area of a feature point is smoothed and updated from a plurality of viewpoints, values such as the total, average, and maximum value of changes in brightness before and after the patch update may be used.

また、位置姿勢推定装置16が、センサの位置姿勢推定に用いている地図指標のうち、変化のある指標の割合を変化量としてもよい。例えば、位置姿勢推定に用いている特徴点のうち、地図更新の前後で三次元位置が所定の距離以上移動する特徴点の割合を変化量とする。また、位置の変化だけでなく、地図要素の増減を変化量として用いてもよい。すなわち、位置姿勢推定に用いている特徴点数の増減でもよい。さらに言えば、参照しているキーフレームの増減数や、それらの割合を用いてもよい。 Further, the ratio of the changing index among the map indexes used by the position / orientation estimation device 16 for the position / orientation estimation of the sensor may be used as the amount of change. For example, among the feature points used for position / orientation estimation, the ratio of the feature points whose three-dimensional position moves by a predetermined distance or more before and after the map update is defined as the amount of change. Moreover, not only the change of the position but also the increase / decrease of the map element may be used as the amount of change. That is, the number of feature points used for position / orientation estimation may be increased or decreased. Furthermore, the number of increase / decrease of the referenced keyframe or the ratio thereof may be used.

センサ10にLiDARを用いる場合は、Occupancy Grid Mapの特定の格子要素が、地図更新によりどの格子へ移動するか算出し、更新前後の二つの格子のユークリッド値を差分として用いることもできる。さらに言えば、Occupancy Grid Mapの、地図更新に伴う各格子の値の変化量を差分値として用いてもよい。ここでいう各格子の値とは、Occupancy Grid Mapにおける、物体が存在しているか、していないかを表す0〜1の確率値のことである。すなわち、差分とは、特定の格子の確率値の地図更新前後での変化値を用いてもよい。 When LiDAR is used for the sensor 10, it is possible to calculate to which grid a specific grid element of Occupancy Grid Map moves by updating the map, and use the Euclidean values of the two grids before and after the update as the difference. Furthermore, the amount of change in the value of each grid due to map update of Occupancy Grid Map may be used as the difference value. The value of each grid referred to here is a probability value of 0 to 1 indicating whether or not an object exists in the Occupancy Grid Map. That is, as the difference, the change value of the probability value of a specific grid before and after the map update may be used.

<実施形態3>
実施形態2では、更新に伴う地図の要素の変化量を基に差分を算出していた。実施形態3では、地図の要素ではなく、位置姿勢推定部13が地図更新前後で算出するセンサ10の位置姿勢の変化量に基づいて、差分を算出する。すなわち、地図更新に伴って、算出される位置姿勢の変化量が大きくなるほど、増大するように差分を算出する方法について述べる。
<Embodiment 3>
In the second embodiment, the difference is calculated based on the amount of change in the elements of the map due to the update. In the third embodiment, the difference is calculated based on the amount of change in the position / orientation of the sensor 10 calculated by the position / orientation estimation unit 13 before and after updating the map, instead of the elements of the map. That is, a method of calculating the difference so that the amount of change in the calculated position / posture increases with the map update will be described.

実施形態3における装置の構成、および処理ステップは、実施形態1で説明した情報処理装置1の構成を示す図1と同一であるため省略する。また、ハードウェア構成は実施形態1と同様に図3のような構成を用いる。実施形態と異なるのは、差分取得手段120が差分を算出する処理ステップである。 The configuration of the apparatus and the processing step in the third embodiment are the same as those in FIG. 1, which shows the configuration of the information processing apparatus 1 described in the first embodiment, and thus are omitted. Further, as the hardware configuration, the configuration as shown in FIG. 3 is used as in the first embodiment. What is different from the embodiment is a processing step in which the difference acquisition means 120 calculates the difference.

実施形態3における処理全体の手順は、実施形態1で説明した情報処理装置1の処理手順を示す図2と同一であるため、説明を省略する。実施形態1とは、差分取得S120において、差分取得部120が、地図更新後に位置姿勢推定部13が算出するセンサ10の位置姿勢を推定する点が異なる。 Since the procedure of the entire process in the third embodiment is the same as that shown in FIG. 2 showing the process procedure of the information processing apparatus 1 described in the first embodiment, the description thereof will be omitted. The difference from the first embodiment is that in the difference acquisition S120, the difference acquisition unit 120 estimates the position / orientation of the sensor 10 calculated by the position / orientation estimation unit 13 after updating the map.

図5は、本実施形態3における差分取得部120の処理S120の詳細を示した図である。S1210では、差分取得部120が、センサ10の周辺の地図要素を選択する。本実施形態においては、位置姿勢推定部13が算出した位置姿勢に基づき、地図保持手段110が保持するキーフレームの中から、センサ10と所定以内の距離にあるキーフレーム情報を所定数選択し、S1320に移る。選択したキーフレーム情報のことを、本実施形態においては近傍キーフレーム情報と呼ぶ。 FIG. 5 is a diagram showing details of the process S120 of the difference acquisition unit 120 in the third embodiment. In S1210, the difference acquisition unit 120 selects a map element around the sensor 10. In the present embodiment, a predetermined number of keyframe information within a predetermined distance from the sensor 10 is selected from the keyframes held by the map holding means 110 based on the position / orientation calculated by the position / orientation estimation unit 13. Move to S1320. The selected keyframe information is referred to as neighborhood keyframe information in the present embodiment.

S1220では、差分取得部120が、更新情報入力部110が入力したキーフレーム群更新情報のキーフレーム更新情報の中から、近傍キーフレーム情報の各キーフレーム情報に含まれるIDと一致するキーフレーム情報を選択する。次にS1220に移る。なお、選択したキーフレーム更新情報を近傍キーフレーム更新情報と呼ぶ。 In S1220, the difference acquisition unit 120 matches the ID included in each keyframe information of the neighborhood keyframe information from the keyframe update information of the keyframe group update information input by the update information input unit 110. Select. Next, move on to S1220. The selected keyframe update information is called neighborhood keyframe update information.

S1230では、差分取得手段130が、S1220で取得した近傍キーフレーム更新情報と、センサ10が入力した画像とを用いて、センサ10すなわちカメラの地図更新後の位置姿勢(以降、更新位置姿勢と呼ぶ)を算出する。更新位置姿勢はS13で説明した方法で算出するが、地図情報のかわりに、更新情報を用いる点が異なる。更新位置姿勢を算出したら、S1240に移る。 In S1230, the difference acquisition means 130 uses the neighborhood keyframe update information acquired in S1220 and the image input by the sensor 10 to position and orient the sensor 10, that is, the camera after updating the map (hereinafter referred to as the updated position and orientation). ) Is calculated. The update position / orientation is calculated by the method described in S13, except that the update information is used instead of the map information. After calculating the update position posture, the process proceeds to S1240.

S1240では、差分取得手段130が、S1230で算出した更新位置姿勢と、位置算出部13が算出したセンサの位置姿勢との距離を算出する。ここでいう位置姿勢の距離とは、S1230で算出したセンサ10の座標と、位置姿勢推定部13が算出したセンサ10の座標のユークリッド距離のことである。このようにして算出したユークリッド距離の逆数を差分として、S130に移る。 In S1240, the difference acquisition means 130 calculates the distance between the updated position / orientation calculated in S1230 and the position / orientation of the sensor calculated by the position calculation unit 13. The position / posture distance referred to here is the Euclidean distance between the coordinates of the sensor 10 calculated in S1230 and the coordinates of the sensor 10 calculated by the position / posture estimation unit 13. The reciprocal of the Euclidean distance calculated in this way is used as the difference, and the process proceeds to S130.

<効果>
実施形態3では、地図の更新要素を用いてセンサの位置姿勢を算出し、更新前後のセンサの位置姿勢の変化量が増大する程、増加する差分を算出する。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。
<Effect>
In the third embodiment, the position and orientation of the sensor are calculated using the update element of the map, and the difference that increases as the amount of change in the position and orientation of the sensor before and after the update increases is calculated. By doing so, the sudden speed change and direction change of the moving body are reduced.

<変形例>
本実施形態においては、更新情報を用いて地図更新後のセンサの位置姿勢を算出していた。地図更新前後でのセンサの位置姿勢の変化量を推定することができる方法であれば、上記方法に限らない。例えば、センサ周囲の近傍キーフレーム情報を用いるのではなく、位置姿勢推定部13がセンサ10の位置姿勢を算出した際に用いた地図要素を用いてもよい。すなわち、位置姿勢推定部13が算出した特徴点を識別しておく。更新情報に含まれる識別した特徴点と一致する特徴点情報の更新値に基づいて、差分取得部120が更新位置姿勢推定してもよい。
<Modification example>
In the present embodiment, the position and orientation of the sensor after updating the map are calculated using the updated information. The method is not limited to the above method as long as it can estimate the amount of change in the position and orientation of the sensor before and after updating the map. For example, instead of using the neighborhood keyframe information around the sensor, the map element used when the position / orientation estimation unit 13 calculates the position / orientation of the sensor 10 may be used. That is, the feature points calculated by the position / orientation estimation unit 13 are identified. The difference acquisition unit 120 may estimate the update position / orientation based on the update value of the feature point information that matches the identified feature point included in the update information.

本実施形態においては、更新情報を用いてセンサの位置姿勢を算出していた。位置姿勢推定をせず、周囲の地図要素の変化量からセンサの位置姿勢の変化量を推定することもできる。具体的には、特徴点の更新前と更新後の座標の距離が最小となるよう剛体変換を求め、これをセンサの位置姿勢の変化量とみなす。また、キーフレームの更新前と更新後の座標の距離が最小となる剛体変換を求めてもよい。 In this embodiment, the position and orientation of the sensor are calculated using the updated information. It is also possible to estimate the amount of change in the position and orientation of the sensor from the amount of change in the surrounding map elements without estimating the position and orientation. Specifically, the rigid body transformation is obtained so that the distance between the coordinates before and after the update of the feature points is minimized, and this is regarded as the amount of change in the position and orientation of the sensor. Further, the rigid body transformation that minimizes the distance between the coordinates before and after the update of the keyframe may be obtained.

差分の算出に、更新前後の算出するセンサの座標の距離の逆数を用いていたが、距離が増大するほど、差分の値が減少するような設定方法であれば何でもよい。逆余接関数としてもよいし、底を距離値の負値とした指数関数を用いてもよいし、シグモイド関数に距離値を代入し、−1をかけ、1を足した関数を用いてもよい。 The reciprocal of the distance of the sensor coordinates calculated before and after the update was used to calculate the difference, but any setting method can be used as long as the difference value decreases as the distance increases. It may be an inverse conjunctive function, an exponential function with the base as the negative value of the distance value may be used, or a function of substituting the distance value into the sigmoid function, multiplying by -1, and adding 1 may be used. Good.

<実施形態4>
実施形態3においては、地図更新前後での算出するセンサの位置姿勢の変化量に基づき差分を算出していた。実施形態4では、地図更新前後で算出する移動体の制御値の変化量に基づいて差分を算出する。具体的には、地図更新によって移動体の方位が大きく変わる場合には大きな影響があると算出する方法について述べる。
<Embodiment 4>
In the third embodiment, the difference is calculated based on the amount of change in the position and orientation of the sensor calculated before and after the map update. In the fourth embodiment, the difference is calculated based on the amount of change in the control value of the moving body calculated before and after the map update. Specifically, a method of calculating that there is a large effect when the orientation of a moving object changes significantly due to map update will be described.

実施形態4における装置の構成、および処理ステップの図は、実施形態1で説明した情報処理装置1の構成を示す図1と同一であるため省略する。実施形態1と異なるのは、差分取得部120が差分を算出する処理ステップである。 The configuration of the apparatus and the diagram of the processing steps in the fourth embodiment are the same as those of FIG. 1 showing the configuration of the information processing apparatus 1 described in the first embodiment, and thus are omitted. The difference from the first embodiment is a processing step in which the difference acquisition unit 120 calculates the difference.

実施形態4における処理全体の手順は、実施形態1で説明した情報処理装置1の処理手順を示す図2と同一であるため、説明を省略する。実施形態1と異なり、差分取得S120において、差分取得手段120が、地図更新後に位置姿勢推定部13が算出するセンサの位置姿勢を推定するだけでなく、さらに、地図更新後に制御値決定部17が算出する制御値を推定する。また、地図更新前後の制御値の変化量を算出する。 Since the procedure of the entire process in the fourth embodiment is the same as that shown in FIG. 2 showing the process procedure of the information processing apparatus 1 described in the first embodiment, the description thereof will be omitted. Unlike the first embodiment, in the difference acquisition S120, the difference acquisition means 120 not only estimates the position / orientation of the sensor calculated by the position / orientation estimation unit 13 after updating the map, but also the control value determination unit 17 after updating the map. Estimate the control value to be calculated. In addition, the amount of change in the control value before and after updating the map is calculated.

図6は、本実施形態4における差分取得手段120の処理の詳細を示した図である。S1210からS1230は実施形態3で説明した処理手順と同一である。実施形態3と異なるのは、S1230で更新後に算出するセンサの位置姿勢に基づいて、さらにS1310で、地図更新後の制御値、および地図更新前後の制御値の変化量を算出する点である。本実施形態においては、制御値とは作動二輪タイヤの左右のタイヤそれぞれの回転数のことであり、制御値の変化量とは、地図更新前後の各タイヤの回転数の差分のことである。 FIG. 6 is a diagram showing details of processing of the difference acquisition means 120 in the fourth embodiment. S1210 to S1230 are the same as the processing procedure described in the third embodiment. The difference from the third embodiment is that the control value after the map update and the change amount of the control value before and after the map update are calculated in S1310 based on the position and orientation of the sensor calculated after the update in S1230. In the present embodiment, the control value is the rotation speed of each of the left and right tires of the operating two-wheeled tire, and the change amount of the control value is the difference in the rotation speed of each tire before and after updating the map.

S1310では、地図更新前後の制御値の変化量を算出する。差分取得手段130がS1330で算出した、地図更新後のセンサの位置姿勢に基づき、まず制御値の算出を行う。制御値の算出には、地図更新後のセンサの座標と、移動体の目標位置とのユークリッド距離を小さくするDWA法で算出する。なお、本実施形態においては、不図示の入力手段により、差分取得手段に移動体の目標位置が入力されている。次に算出した地図更新後の制御値と、制御値決定部17が算出した制御値をとの差分を算出する。本実施形態においては、制御値とは作動二輪タイヤの回転数である。作動二輪タイヤの地図更新前後の回転数の差の平均値を、差分として算出する。 In S1310, the amount of change in the control value before and after the map update is calculated. First, the control value is calculated based on the position and orientation of the sensor after the map is updated, which is calculated by the difference acquisition means 130 in S1330. The control value is calculated by the DWA method that reduces the Euclidean distance between the coordinates of the sensor after updating the map and the target position of the moving object. In the present embodiment, the target position of the moving body is input to the difference acquisition means by an input means (not shown). Next, the difference between the calculated control value after updating the map and the control value calculated by the control value determination unit 17 is calculated. In the present embodiment, the control value is the number of revolutions of the operating two-wheeled tire. The average value of the difference in the number of revolutions before and after updating the map of the operating two-wheeled tire is calculated as the difference.

<効果>
実施形態4では、地図更新前後で算出する移動体の制御値の変化量が増大する程、増大する差分を算出する。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。
<Effect>
In the fourth embodiment, the difference is calculated as the amount of change in the control value of the moving body calculated before and after the map update increases. By doing so, the sudden speed change and direction change of the moving body are reduced.

<変形例>
実施形態4では、差分として、作動二輪タイヤの地図更新前後の回転数の平均値としていたが、地図更新前後の制御値の差を小さくするものであればなんでもよい。本実施形態のように作動二輪タイヤを用いているのであれば、地図更新前後の回転数の差が大きい方の値を差分としてもよい。小さい方の値を差分としてもよい。所定の重みをかけた重み付きの回転数の差を差分としてもよい。また、本実施形態においては、制御部が作動二輪タイヤの場合について説明したが、地図更新に伴う制御値の差が増大する程増大する差分として算出できるものであれば、制御部の形態によらない。
<Modification example>
In the fourth embodiment, the difference is the average value of the rotation speeds of the operating two-wheeled tires before and after the map update, but any one that reduces the difference between the control values before and after the map update may be used. If an operating two-wheeled tire is used as in the present embodiment, the value on which the difference in the number of revolutions before and after updating the map is larger may be used as the difference. The smaller value may be used as the difference. The difference in the weighted rotation speed multiplied by a predetermined weight may be used as the difference. Further, in the present embodiment, the case where the control unit is an operating two-wheel tire has been described, but if it can be calculated as a difference that increases as the difference in control values due to map update increases, it depends on the mode of the control unit. Absent.

実施形態4では、制御値の算出にDWAを用いていた。DWAに限らず、地図更新前後で比較できる制御値を算出できる方法であればどのような方法を用いてもよい。ある一時刻ではなく、将来の複数の時刻における制御値のバリエーションを算出し、複数時刻の位置姿勢(予測軌跡)を算出し、予測軌跡を辿るような制御値を選択する手法であるGraph Search Approachを使用してもよい。また、現在位置から二次元空間の中から障害物のない一定領域をランダムにサンプリングする。その地点をノードとして更に周囲の空間をランダムにサンプリングすることを繰り返して生成した予測軌跡を選択するRandomized Approachなど、任意の手法を用いることができる。 In the fourth embodiment, DWA is used for calculating the control value. Not limited to DWA, any method may be used as long as it can calculate a control value that can be compared before and after updating the map. Graph Search Approach is a method of calculating variations of control values at multiple times in the future, calculating position / orientation (predicted locus) at multiple times, and selecting control values that follow the predicted locus instead of one time. May be used. In addition, a certain area without obstacles is randomly sampled from the current position in the two-dimensional space. Any method can be used, such as Randomized Approach, which selects a predicted locus generated by repeatedly sampling the surrounding space at that point as a node.

また、実施形態4では直接制御値を算出して比較していたが、制御値を算出せずとも、制御値を算出するための要素の変化量を差分としてもよい。具体的には、相対目標位置の変化量のことである。ここでいう相対目標位置の変化量とは、地図更新前のセンサ10の位置姿勢に対する目標位置の座標と、地図更新前のセンサ10の位置姿勢に対する目標位置の座標の、ユークリッド距離である。算出したユークリッド距離を、差分値として用いる。ユークリッド距離に限らず、地図更新前後のセンサ10からみた目標位置の方位差や、二つの目標位置の差分ベクトルのノルムなど、任意である。 Further, in the fourth embodiment, the control values are directly calculated and compared, but the amount of change of the element for calculating the control value may be used as the difference without calculating the control value. Specifically, it is the amount of change in the relative target position. The amount of change in the relative target position referred to here is the Euclidean distance between the coordinates of the target position with respect to the position and orientation of the sensor 10 before updating the map and the coordinates of the target position with respect to the position and orientation of the sensor 10 before updating the map. The calculated Euclidean distance is used as the difference value. Not limited to the Euclidean distance, the directional difference of the target position seen from the sensor 10 before and after the map update, the norm of the difference vector between the two target positions, and the like are arbitrary.

<実施形態5>
実施形態1から4では、地図更新に伴うセンサの位置姿勢や移動体の制御値の変化等の、情報処理システムの内部状態を基に差分を算出していた。実施形態5では、移動体の周囲の状況に応じて差分を算出する。本実施形態においては、移動体の周囲の状況とは、周囲の物体の配置のことである。移動体が物体に近ければ地図更新を行わず、物体から離れた場合に地図更新を行うような構成を実現する方法について説明する。
<Embodiment 5>
In the first to fourth embodiments, the difference is calculated based on the internal state of the information processing system, such as the change in the position and orientation of the sensor and the control value of the moving body due to the map update. In the fifth embodiment, the difference is calculated according to the situation around the moving body. In the present embodiment, the situation around the moving body is the arrangement of surrounding objects. A method of realizing a configuration in which the map is not updated when the moving body is close to the object and the map is updated when the moving body is away from the object will be described.

実施形態5における装置の構成、および処理ステップの図は、実施形態1で説明した情報処理装置1の構成を示す図2と同一であるため省略する。実施形態1と異なるのは、差分取得手段130が差分を算出する処理ステップの処理内容である。ハードウェア構成は実施形態1と同様に図3のような構成を用いる。 The configuration of the apparatus and the diagram of the processing steps in the fifth embodiment are the same as those of FIG. 2 showing the configuration of the information processing apparatus 1 described in the first embodiment, and thus are omitted. The difference from the first embodiment is the processing content of the processing step in which the difference acquisition means 130 calculates the difference. As the hardware configuration, the configuration as shown in FIG. 3 is used as in the first embodiment.

実施形態5における処理全体の手順は、実施形態1で説明した情報処理装置1の処理手順を示す図4と同一であるため、説明を省略する。実施形態1と異なるのは、差分取得S130において、差分取得手段130が、移動体の周囲の状況として、特徴点とセンサとの距離値に基づいて差分を算出する点である。 Since the procedure of the entire process in the fifth embodiment is the same as that shown in FIG. 4 showing the process procedure of the information processing apparatus 1 described in the first embodiment, the description thereof will be omitted. The difference from the first embodiment is that in the difference acquisition S130, the difference acquisition means 130 calculates the difference based on the distance value between the feature point and the sensor as the situation around the moving body.

S130において、差分取得部120が、地図保持部14が保持する地図情報に含まれるすべてのキーフレーム情報に含まれる各特徴点の三次元位置と、位置姿勢推定部130が算出した位置とのユークリッド距離を算出する。算出した個々のユークリッド距離のうち、最小値の逆数を差分として算出する。 In S130, the difference acquisition unit 120 Euclidean the three-dimensional position of each feature point included in all the keyframe information included in the map information held by the map holding unit 14 and the position calculated by the position / orientation estimation unit 130. Calculate the distance. Of the calculated individual Euclidean distances, the reciprocal of the minimum value is calculated as the difference.

<効果>
実施形態5においては、周囲の状況すなわち周囲の物体との距離に応じて差分を算出する。つまり、周囲の物体との距離が近いほど、差分の値を大きくする。このようにすることで、移動体と周囲の物体との距離が近いほど、急激な速度変化や方向変化が少なくなる。
<Effect>
In the fifth embodiment, the difference is calculated according to the surrounding situation, that is, the distance from the surrounding object. That is, the closer the distance to the surrounding object, the larger the difference value. By doing so, the closer the moving body is to the surrounding object, the less the sudden speed change and direction change.

<変形例1>
本実施形態においては、周囲の状態とは周囲の物体の配置のことであり、差分とはセンサと特徴点の距離に基づいて算出していた。しかしながら、センサと周囲の物体との距離を測れる方法であればなんでもよい。
<Modification example 1>
In the present embodiment, the surrounding state is the arrangement of surrounding objects, and the difference is calculated based on the distance between the sensor and the feature point. However, any method that can measure the distance between the sensor and surrounding objects will do.

例えば、センサ15が奥行値を取得できるデプスカメラやステレオカメラ等の構成である場合は、それらのカメラから取得できる奥行値を周囲の物体との距離として用いてもよい。 For example, when the sensor 15 has a configuration such as a depth camera or a stereo camera capable of acquiring a depth value, the depth value that can be acquired from those cameras may be used as a distance to a surrounding object.

また、画像を入力してデプスマップ(画像の各画素に奥行値を格納したデータ構造)を推測するように学習したCNN(Convolutional Neural Network)を用いて取得した奥行値を周囲の物体との距離として用いてもよい。 In addition, the depth value acquired using CNN (Convolutional Neural Network) learned to infer the depth map (data structure in which the depth value is stored in each pixel of the image) by inputting the image is the distance to the surrounding objects. May be used as.

センサ15がLiDARの場合は、周囲の計測点との距離を周囲の物体との距離として用いてよい。 When the sensor 15 is LiDAR, the distance to the surrounding measurement point may be used as the distance to the surrounding object.

赤外線センサや超音波センサ等の距離センサを移動体が保持する構成とすれば、それらの計測値を周囲の物体との距離として用いてもよい。 If a moving body holds a distance sensor such as an infrared sensor or an ultrasonic sensor, those measured values may be used as the distance to a surrounding object.

移動体に距離センサを搭載せずとも、監視カメラや近接センサなど移動体以外の物体に搭載したセンサを用いて移動体と周囲の物体との距離を計測してもよい。不図示の保持手段に移動体の周囲のレイアウト図を保持していれば、位置姿勢推定部13が算出したセンサの位置姿勢とレイアウト図から周囲の物体との距離を算出してもよい。 Even if the moving body is not equipped with a distance sensor, the distance between the moving body and surrounding objects may be measured by using a sensor mounted on an object other than the moving body such as a surveillance camera or a proximity sensor. As long as the layout diagram around the moving body is held by the holding means (not shown), the distance to the surrounding object may be calculated from the position / orientation of the sensor calculated by the position / orientation estimation unit 13 and the layout diagram.

本実施形態においては、センサと周囲の物体との距離を差分取得に用いていた。移動体はある空間中に体積を持っているため、移動体の形状モデルを保持しておき、移動体の表面から物体への最短距離を本実施形態の距離値として用いてもよい。このようにすることで、より正確に周囲の物体と移動体との距離を正確に測ることができ、より正確に差分を算出することができるため、より安全に、安定して移動体を運用することができる。 In this embodiment, the distance between the sensor and the surrounding object is used for difference acquisition. Since the moving body has a volume in a certain space, the shape model of the moving body may be held, and the shortest distance from the surface of the moving body to the object may be used as the distance value of the present embodiment. By doing so, the distance between the surrounding object and the moving body can be measured more accurately, and the difference can be calculated more accurately, so that the moving body can be operated more safely and stably. can do.

差分の算出に、センサと周囲の各特徴点との距離の最小距離の逆数を用いていたが、距離が増大するほど、差分の値が減少するような設定方法であれば何でもよい。逆余接関数としてもよいし、底を距離値の負値とした指数関数を用いてもよいし、シグモイド関数に距離値を代入し、−1をかけ、1を足した関数を用いてもよい。また、差分の算出に、センサと周囲の各特徴点との距離の最小距離を用いていたが、センサから所定の距離内にある特徴点との距離の平均値や中央値でもよい。 The reciprocal of the minimum distance between the sensor and each of the surrounding feature points was used to calculate the difference, but any setting method can be used as long as the difference value decreases as the distance increases. It may be an inverse conjunctive function, an exponential function with the base as the negative value of the distance value may be used, or a function of substituting the distance value into the sigmoid function, multiplying by -1, and adding 1 may be used. Good. Further, although the minimum distance between the sensor and each surrounding feature point is used for calculating the difference, the average value or the median value of the distance between the sensor and the feature points within a predetermined distance may be used.

<変形例2>
本実施形態においては、物体との距離に応じて差分を算出していたが、周囲の状況として、物体の属性を用いてもよい。センサ15としてカメラを用いている場合は、カメラの映像から事前に物体の種別を判定するように学習したCNNを用いて物体を検出し、物体の種別や個数に応じて、差分を算出することもできる。例えば、人や他の移動体が付近にいれば差分を増大させてもよい。差分を増大させることによって、地図更新に伴って移動体が急激に向きや速度を変えるリスクを抑制する。人や他の移動体が多いほど差分を増大させてもよい。さらには、ドアや階段の近くでは差分を増大させてもよい。壊れやすい物体を認識して差分を増大させてもよい。周囲の物体の重量が増大する程差分を増大させてもよいし、アプリケーションによっては逆に重量が低下する程増大する差分を算出してもよい。また、周囲の物体の移動速度が大きいほど差分を増大させてもよい。なお、周囲の物体の移動速度がわかる方法であれば、計測方法は任意である。時系列画像から周囲の移動物体の位置の変化を計測してもよいし、周囲の移動物体が他の移動体であれば不図示の移動体管理システムから他の移動体の移動速度を受信してもよい。
<Modification 2>
In the present embodiment, the difference is calculated according to the distance to the object, but the attribute of the object may be used as the surrounding situation. When a camera is used as the sensor 15, an object is detected using a CNN learned in advance to determine the type of the object from the image of the camera, and the difference is calculated according to the type and the number of the objects. You can also. For example, the difference may be increased if a person or other moving object is nearby. By increasing the difference, the risk of the moving object suddenly changing its direction or speed as the map is updated is suppressed. The difference may be increased as the number of people and other moving objects increases. Furthermore, the difference may be increased near doors and stairs. You may recognize fragile objects and increase the difference. The difference may be increased as the weight of the surrounding object increases, or conversely, the difference may be calculated as the weight decreases depending on the application. Further, the difference may be increased as the moving speed of surrounding objects is increased. The measurement method is arbitrary as long as the moving speed of surrounding objects can be known. The change in the position of the surrounding moving object may be measured from the time-series image, or if the surrounding moving object is another moving object, the moving speed of the other moving object is received from the moving object management system (not shown). You may.

このようにすることで、人や他の移動体、ドアや階段、高価な物体などが付近に存在するとき、周囲の物体の移動物体の速度が大きい時に、地図更新に伴う移動体の急激な速度や方位の変化が起きにくくなり、より安全に、安定して移動体を運用できる。 By doing so, when there are people or other moving objects, doors, stairs, expensive objects, etc. in the vicinity, or when the speed of moving objects of surrounding objects is high, the moving objects suddenly accompany the map update. Changes in speed and orientation are less likely to occur, and moving objects can be operated more safely and stably.

<変形例3>
周囲の状況として、移動体の速度や方位が急激に変化させたくない地点で差分が増大するように、地点情報を用いて差分を算出する構成としてもよい。具体的には、例えば、曲がり角や交差点では差分を増大させてよい。また、地図や運行ルートに例えばドアや自動機といった特定物体が登録されていれば差分を増大させてもよい。また、狭いルートであれば差分を増大させるよう構成してもよい。さらに言えば、運行ルートに基づき、他の移動体が付近を運行しうるルートを走行中であれば差分を増大させてもよい。
<Modification example 3>
As the surrounding situation, the difference may be calculated using the point information so that the difference increases at the point where the speed or direction of the moving body is not to be changed suddenly. Specifically, for example, the difference may be increased at a corner or an intersection. Further, if a specific object such as a door or an automatic machine is registered in the map or the operation route, the difference may be increased. Further, if the route is narrow, the difference may be increased. Furthermore, based on the operation route, the difference may be increased as long as the other moving body is traveling on a route that can operate in the vicinity.

そのような地点情報は、地図保持手段が保持する地図やルート情報から当該領域を検出すればよいし、通信I/F(H17)を介して不図示の移動体管理システムから入力する構成としてもよい。 Such point information may be detected in the area from the map or route information held by the map holding means, or may be input from a mobile object management system (not shown) via a communication I / F (H17). Good.

また、事前に人が不図示の入力手段によって設定した、侵入検知領域や、地図更新禁止区域といった特定の設定領域に、センサ10が位置していれば差分を増大させる構成としてもよい。 Further, if the sensor 10 is located in a specific setting area such as an intrusion detection area or a map update prohibited area, which is set in advance by a person by an input means (not shown), the difference may be increased.

<実施形態6>
実施形態5では、移動体の周囲の物体情報すなわち物体との距離に基づいて差分を算出していた。実施形態6では、移動体の状況に基づいて差分を算出する。本実施形態における移動体の状況とは、移動体の質量のことである。移動体の質量が増大する程、移動体の急激な速度や方位変化に伴う運動エネルギーが増す。このような場合に、移動体の質量が大きいほど、大きな差分を算出する構成について説明する。
<Embodiment 6>
In the fifth embodiment, the difference is calculated based on the object information around the moving body, that is, the distance to the object. In the sixth embodiment, the difference is calculated based on the situation of the moving body. The state of the moving body in the present embodiment is the mass of the moving body. As the mass of the moving body increases, the kinetic energy associated with the sudden speed and orientation change of the moving body increases. In such a case, a configuration for calculating a larger difference as the mass of the moving body is larger will be described.

実施形態6における装置の構成、および処理ステップの図は、実施形態1で説明した情報処理装置1の構成を示す図1と同一であるため省略する。実施形態と異なるのは、差分取得手段120が差分を算出する処理ステップである。ハードウェア構成は実施形態1と同様に図3のような構成を用いる。 The configuration of the apparatus and the diagram of the processing steps in the sixth embodiment are the same as those of FIG. 1 showing the configuration of the information processing apparatus 1 described in the first embodiment, and thus are omitted. What is different from the embodiment is a processing step in which the difference acquisition means 120 calculates the difference. As the hardware configuration, the configuration as shown in FIG. 3 is used as in the first embodiment.

実施形態6における処理全体の手順は、実施形態1で説明した情報処理装置1の処理手順を示す図2と同一であるため、説明を省略する。実施形態1とは、差分取得S120において、差分取得手段120が、移動体の状態に基づいて差分を算出する点である。 Since the procedure of the entire process in the sixth embodiment is the same as that shown in FIG. 2 showing the process procedure of the information processing apparatus 1 described in the first embodiment, the description thereof will be omitted. In the first embodiment, in the difference acquisition S120, the difference acquisition means 120 calculates the difference based on the state of the moving body.

S120において、差分取得手段120が、不図示の保持手段に保持した移動体の質量情報を取得する。本実施形態においては、移動体の質量を差分値として用いる。 In S120, the difference acquisition means 120 acquires the mass information of the moving body held by the holding means (not shown). In this embodiment, the mass of the moving body is used as the difference value.

<効果>
実施形態6においては、移動体の状態、すなわち移動体の質量が増大する程、差分を増大させる。このようにすることで、より質量が大きな移動体程、地図更新に伴う移動体の急激な速度変化や方向変化が少なくなる。
<Effect>
In the sixth embodiment, the difference is increased as the state of the moving body, that is, the mass of the moving body is increased. By doing so, the heavier the mass of the moving body, the less the sudden speed change and direction change of the moving body due to the map update.

<変形例1>
本実施形態においては、移動体の状況として、移動体の質量に基づいて差分を算出していた。しかしながら、移動体の運動エネルギーや位置エネルギーが増大する程大きな差分を算出する方法であればよい。
<Modification example 1>
In the present embodiment, as the situation of the moving body, the difference is calculated based on the mass of the moving body. However, any method may be used to calculate the difference as the kinetic energy and potential energy of the moving body increase.

移動体が物体を運搬する場合には、運搬物を含めて移動体の質量としてよい。なお、運搬物の質量の入力方法は問わず、通信I/F(H17)を介して不図示の移動体管理システムから取得してもよいし、不図示のGUIから利用者が入力してもよいし、移動体に搭載した不図示の重量計量装置の計測値をI/Oから入力する構成にしてもよい。 When the moving body carries an object, the mass of the moving body may be the mass including the transported object. Regardless of the method of inputting the mass of the transported object, it may be acquired from a mobile object management system (not shown) via a communication I / F (H17), or may be input by a user from a GUI (not shown). Alternatively, the measurement value of the weight measuring device (not shown) mounted on the moving body may be input from the I / O.

すなわち、移動体の移動速度や角速度が大きいほど大きな差分を算出することもできる。また、移動体がドローンといった空中を浮遊する場合には、高度が増大する程大きな差分を算出することもできる。 That is, the larger the moving speed and the angular velocity of the moving body, the larger the difference can be calculated. In addition, when a moving object floats in the air such as a drone, it is possible to calculate a larger difference as the altitude increases.

移動体の状況は、移動体のタスクの優先度や重要度に従って決める構成としてよい。例えば、移動体の状況として、移動中、停止中、荷物運搬中、充電中、荷物積み込み中といった移動体の運行情報を用いてもよい。運行情報に基づく差分値はあらかじめ利用者が不図示の入力手段を用いて入力しておく。こうすることで、例えば、荷物を運搬中には地図更新をしない、停止中や充電中など、位置計測を利用していない場合に地図更新をするように、移動体の運行状態に応じて地図を更新することができるようになる。 The situation of the moving body may be determined according to the priority and importance of the task of the moving body. For example, as the status of the moving body, the operation information of the moving body such as moving, stopping, carrying luggage, charging, and loading luggage may be used. The difference value based on the operation information is input by the user in advance using an input means (not shown). By doing this, for example, the map is not updated while the luggage is being transported, and the map is updated when the position measurement is not used, such as when the vehicle is stopped or charging. Will be able to update.

移動体の状況として、移動体の属性に基づいて差分を算出してもよい。例えば、移動体の剛性が高いほど、高い差分を算出してもよい。また、移動体の制動距離が長い移動体程、高い差分を算出するように構成してもよい。障害物センサの検知距離設定パラメータが小さいほど、高い差分を算出してもよい。移動体自体の価格を移動体の属性として用いてもよい。 As the situation of the moving body, the difference may be calculated based on the attribute of the moving body. For example, the higher the rigidity of the moving body, the higher the difference may be calculated. Further, the moving body having a longer braking distance may be configured to calculate a higher difference. The smaller the detection distance setting parameter of the obstacle sensor, the higher the difference may be calculated. The price of the mobile itself may be used as an attribute of the mobile.

また、移動体の状況として、搭載している運搬物の属性を基に差分を算出してもよい。例えば、運搬物の価格を差分取得手段120が、不図示の移動体管理システムから取得し、価格が増大する程、高い差分を算出することもできる。また、運搬物の剛性度合が高い程、重量が増大する程、高い差分を算出するようにしてもよい。また、運搬物の数が増大する程高い差分を算出してもよいし、運搬物が安定して積み上げられていなければ高い差分を算出するように構成してもよい。安定して積み上げられるとは例えば荷物の傾きが小さいということであり、不図示のカメラで荷物を撮影し、荷物の傾きを計測して判別する。このように、運搬物の属性に応じて、地図更新に伴う移動体の急激な速度や方位変化を少なくすることができる。 Further, as the situation of the moving body, the difference may be calculated based on the attributes of the loaded cargo. For example, the difference acquisition means 120 can acquire the price of the transported object from a mobile object management system (not shown), and the higher the price, the higher the difference can be calculated. Further, the higher the rigidity of the transported object and the heavier the weight, the higher the difference may be calculated. Further, a higher difference may be calculated as the number of transported items increases, or a higher difference may be calculated if the transported items are not stably stacked. Stable stacking means, for example, that the inclination of the luggage is small, and the luggage is photographed with a camera (not shown) and the inclination of the luggage is measured for determination. In this way, it is possible to reduce the sudden speed and orientation changes of the moving object due to the map update, depending on the attributes of the transported object.

<変形例2>
さらに、実施形態1から6で説明した差分を組み合わせ、差分取得手段12が合成差分を算出してもよい。合成差分は、地図更新前後に算出するセンサの位置姿勢や移動体すなわち移動体の制御値の変化が増大する程、合成差分が増大するような方式であれば、組み合わせ方は任意である。また、実施形態5や6で述べたように、移動体の状態や周囲の物体の属性に基づき、地図更新に伴う移動体の急激な速度や方位変化を少なくすることができる方法であればよい。すなわち、実施形態1から6で説明した方法で算出した各種差分の重み付き和でもよいし、重み付き積であってもよい。さらには、特定の実施形態の方法のみ組み合わせて合成差分を算出してもよい。また、更新方法決定手段14が、合成差分を用いて更新方法を決定してもよい。このようにすることで、実施形態1から6で説明した各種条件を満たすよう、地図更新を行うことができるようになり、より安全に、安定して移動体すなわち移動体を運行することができる。
<Modification 2>
Further, the difference acquisition means 12 may calculate the combined difference by combining the differences described in the first to sixth embodiments. The combination method is arbitrary as long as the composite difference is a method in which the composite difference increases as the change in the position / orientation of the sensor calculated before and after the map update and the control value of the moving body, that is, the moving body increases. Further, as described in the fifth and sixth embodiments, any method may be used as long as it can reduce the sudden speed and orientation change of the moving body due to the map update based on the state of the moving body and the attributes of surrounding objects. .. That is, it may be a weighted sum of various differences calculated by the methods described in the first to sixth embodiments, or it may be a weighted product. Furthermore, the synthetic difference may be calculated by combining only the methods of a specific embodiment. Further, the update method determining means 14 may determine the update method using the composite difference. By doing so, the map can be updated so as to satisfy the various conditions described in the first to sixth embodiments, and the moving body, that is, the moving body can be operated more safely and stably. ..

<実施形態7>
実施形態1から6では、本発明を移動体に適用した事例について説明した。本発明は移動体に搭載するに限らず、センサと地図情報を基に位置姿勢推定し、地図を更新しうるすべての構成に対して適用できる。本実施形態は、その応用事例の一つとして、本発明の処理装置をMR(Mixed Reality)やAR(Augmented Reality)、VR(Virtual Reality)を実現するデバイスに搭載する。デバイスは、例えば、HMD(Head mounted Display)やスマートフォン、タブレットといったデバイスである。それらのデバイスに搭載し、CGの提示位置の算出に用いる情報処理装置に用いる構成について説明する。
<Embodiment 7>
In the first to sixth embodiments, examples of applying the present invention to a mobile body have been described. The present invention is not limited to being mounted on a moving body, and can be applied to all configurations in which position and orientation are estimated based on sensors and map information and the map can be updated. In this embodiment, as one of its application examples, the processing apparatus of the present invention is mounted on a device that realizes MR (Mixed Reality), AR (Augmented Reality), and VR (Virtual Reality). The device is, for example, a device such as an HMD (Head Mounted Display), a smartphone, or a tablet. The configuration used for the information processing device mounted on these devices and used for calculating the presentation position of CG will be described.

図7は、本実施形態における情報処理装置1をMRシステムに適用した場合のハードウェア構成例を示す図である。センサ10、表示装置20、センサ情報入力部12、位置姿勢推定部13、地図保持部14、更新情報生成部15、地図更新部16、表示情報生成部21から構成される。さらに情報処理装置1は更新情報入力部110、差分取得部120、更新方法決定部130からなる。 FIG. 7 is a diagram showing an example of hardware configuration when the information processing device 1 in this embodiment is applied to an MR system. It is composed of a sensor 10, a display device 20, a sensor information input unit 12, a position / orientation estimation unit 13, a map holding unit 14, an update information generation unit 15, a map update unit 16, and a display information generation unit 21. Further, the information processing device 1 includes an update information input unit 110, a difference acquisition unit 120, and an update method determination unit 130.

センサ10、センサ情報入力部12、位置姿勢推定部13、地図保持部14、更新情報生成部15、地図更新部16、更新情報入力部110、差分取得部120、更新方法決定部130は、実施形態1で説明した構成と同等であるため説明を省略する。実施形態1と異なるのは表示装置20、画像構成部21が追加されている点である。 The sensor 10, the sensor information input unit 12, the position / orientation estimation unit 13, the map holding unit 14, the update information generation unit 15, the map update unit 16, the update information input unit 110, the difference acquisition unit 120, and the update method determination unit 130 are implemented. Since it is the same as the configuration described in the first embodiment, the description thereof will be omitted. The difference from the first embodiment is that the display device 20 and the image component 21 are added.

表示情報生成部21は、位置姿勢推定部13が入力した位置姿勢と不図示の保持部が保持するカメラの内部・外部パラメータを用いて仮想物体のCG画像をレンダリングし、センサ情報入力部12が入力した入力画像上にCGを重畳した合成画像を生成する。また、合成画像を表示部13に出力する。 The display information generation unit 21 renders a CG image of a virtual object using the position / orientation input by the position / orientation estimation unit 13 and the internal / external parameters of the camera held by the holding unit (not shown), and the sensor information input unit 12 renders the CG image. A composite image in which CG is superimposed on the input input image is generated. Further, the composite image is output to the display unit 13.

表示装置20は、モバイル端末のディスプレイであり、表示情報生成部21が生成した合成画像を表示する。 The display device 20 is a display of a mobile terminal, and displays a composite image generated by the display information generation unit 21.

実施形態7における処理手順は、実施形態1で説明した情報処理装置1の処理手順を示す図2と同一であるため、説明を省略する。実施形態1とは、制御値決定S14の代わりに、表示情報生成ステップを行う。 Since the processing procedure in the seventh embodiment is the same as that shown in FIG. 2 showing the processing procedure of the information processing apparatus 1 described in the first embodiment, the description thereof will be omitted. In the first embodiment, the display information generation step is performed instead of the control value determination S14.

表示情報生成ステップでは、表示情報生成部21が、位置姿勢推定部13がS13で導出したセンサ10の位置姿勢を用いて、仮想物体のCG像をレンダリングし、入力画像に重畳合成した合成画像を生成して、表示装置20に入力し、提示する。 In the display information generation step, the display information generation unit 21 renders the CG image of the virtual object using the position / orientation of the sensor 10 derived by the position / orientation estimation unit 13 in S13, and superimposes and synthesizes the composite image on the input image. It is generated, input to the display device 20, and presented.

<効果>
実施形態7では、地図更新前後で算出する位置姿勢の変化量が小さくなるように地図更新を行うことで、利用者がMR,AR,VRを利用している空間近辺での地図更新による位置姿勢の急激な変化が小さくなる。これにより、CGずれやCG飛びを小さく、利用者が気づきにくく提示することができ、利用者のMR,AR,VR体験を向上させることができる。
<Effect>
In the seventh embodiment, the map is updated so that the amount of change in the position and orientation calculated before and after the map is updated is small, so that the position and orientation by updating the map in the vicinity of the space where the user is using MR, AR, and VR. The sudden change of is small. As a result, CG deviation and CG skipping are small, and the user can present the presentation without being noticed, and the MR, AR, and VR experience of the user can be improved.

本実施形態においては実施形態1で説明した方法で差分を算出する方右方を説明したが、本実施形態における差分は、地図更新による位置姿勢の急激な変化が小さくなる方法であれば実施形態1から6で説明した任意の方法で算出することができる。実施形態2のように更新要素の変化量を用いてもよい。実施形態3のように地図更新前後で算出するセンサの位置姿勢の変化量に基づいて算出してもよい。本実施形態においては実施形態4のような制御値は算出しないが、目標位置をCGの提示位置と読み替え、CGの位置が変化しないように差分を算出することができる。また、実施形態5のように周囲の物体との距離に応じて差分を算出してもよい。実施形態6のように、MRシステムの状態、すなわちMRシステムの移動速度や、運行状態としてCG提示中か否か、MRシステムの重量に基づいて差分を算出してもよい。 In the present embodiment, the right side of calculating the difference by the method described in the first embodiment has been described, but the difference in the present embodiment is the embodiment as long as the sudden change in the position and orientation due to the map update is small. It can be calculated by any method described in 1 to 6. The amount of change of the update element may be used as in the second embodiment. It may be calculated based on the amount of change in the position and orientation of the sensor calculated before and after updating the map as in the third embodiment. In the present embodiment, the control value as in the fourth embodiment is not calculated, but the target position can be read as the CG presentation position, and the difference can be calculated so that the CG position does not change. Further, as in the fifth embodiment, the difference may be calculated according to the distance to the surrounding object. As in the sixth embodiment, the difference may be calculated based on the state of the MR system, that is, the moving speed of the MR system, whether or not CG is being presented as the operating state, and the weight of the MR system.

さらには、CGコンテンツの種別や大きさといった属性を基に差分を算出してもよい。すなわち、使用者がよりCGのブレに気が付きやすいような属性を差分として算出する。例えば、CGの大きさが増大する程、高い差分を算出してもよい。コントラストが高い程、高い差分を算出してもよい。CGが視野の中心にある程、高い差分を算出してもよい。さらに言えば、不図示のアイトラッキング装置を搭載する構成として、眼球運動が小さいほど、差分の値を増大させてもよい。このような構成とすることで、地図更新に伴う利用者の知覚するCGブレが減少し、より使用者が快適にMR,AR,VRを体験できる。 Furthermore, the difference may be calculated based on attributes such as the type and size of the CG content. That is, the attribute that makes it easier for the user to notice the CG blur is calculated as the difference. For example, as the size of CG increases, a higher difference may be calculated. The higher the contrast, the higher the difference may be calculated. The higher the CG is in the center of the field of view, the higher the difference may be calculated. Furthermore, as a configuration in which an eye tracking device (not shown) is mounted, the value of the difference may be increased as the eye movement is smaller. With such a configuration, the CG blur perceived by the user due to the map update is reduced, and the user can experience MR, AR, and VR more comfortably.

<実施形態8>
実施形態1から7では、地図更新に伴う、算出するセンサの位置姿勢や移動体の制御値への差分に基づいて、地図更新方法を決定していた。実施形態7では、地図更新に伴って移動体の速度や方位が急激に変化しないよう、あらかじめ移動体を制御する方法について説明する。ハードウェア構成は実施形態1と同様に図3のような構成を用いる。ここで、図3のようなハードウェアを移動体が搭載してもよい。移動体は周囲をセンサで計測した結果を用いて自身の制御や地図更新を行う。また、移動体自体にハードウェアを搭載せず、工場全体の制御を行う上位システムや移動体の制御を行う中位システムにおいて図3のようなハードウェア構成例を実施してもよい。その場合は、通信I/Fによってそれぞれの移動体とシステムとがセンサ情報や地図情報をやり取りしながら地図情報を更新する。
<Embodiment 8>
In the first to seventh embodiments, the map update method is determined based on the calculated position / orientation of the sensor and the difference to the control value of the moving body due to the map update. In the seventh embodiment, a method of controlling the moving body in advance so that the speed and the direction of the moving body do not suddenly change with the map update will be described. As the hardware configuration, the configuration as shown in FIG. 3 is used as in the first embodiment. Here, the mobile body may be equipped with the hardware as shown in FIG. The moving body controls itself and updates the map using the result of measuring the surroundings with a sensor. Further, the hardware configuration example as shown in FIG. 3 may be implemented in a higher-level system that controls the entire factory or a middle-level system that controls the mobile body without mounting the hardware on the mobile body itself. In that case, the map information is updated while each moving body and the system exchange sensor information and map information by communication I / F.

図8は、本実施形態における情報処理装置20の機能構成例を示す図である。本実施形態における情報処理システムは、センサ10、制御装置11、センサ情報入力部12、位置姿勢推定部13、地図保持部14、更新情報入力手段15、地図更新部16を有する。および、情報処理装置2である、更新情報入力部110、更新位置姿勢推定部210、制御値決定部220から構成されている。このうち、センサ10、制御装置11、センサ情報入力部12、位置姿勢推定部13、地図保持部14、更新情報入力手段15、地図更新部16、更新情報入力部110については、実施形態1と同一であるため説明を省略する。 FIG. 8 is a diagram showing a functional configuration example of the information processing device 20 according to the present embodiment. The information processing system in the present embodiment includes a sensor 10, a control device 11, a sensor information input unit 12, a position / orientation estimation unit 13, a map holding unit 14, an update information input means 15, and a map update unit 16. The information processing device 2 is composed of an update information input unit 110, an update position / orientation estimation unit 210, and a control value determination unit 220. Of these, the sensor 10, the control device 11, the sensor information input unit 12, the position / orientation estimation unit 13, the map holding unit 14, the update information input means 15, the map update unit 16, and the update information input unit 110 are the same as those in the first embodiment. Since they are the same, the description thereof will be omitted.

実施形態1と異なるのは、差分取得手段12が取り除かれ、更新位置姿勢推定部210、制御値決定部220が新たに情報処理装置2に追加された点である。 The difference from the first embodiment is that the difference acquisition means 12 is removed, and the update position / orientation estimation unit 210 and the control value determination unit 220 are newly added to the information processing device 2.

更新位置姿勢推定部210は、更新情報入力部110が入力した更新情報に基づいて、位置姿勢推定部13が算出する地図更新後のセンサの位置姿勢を予測する。すなわち、更新位置姿勢推定部210は、取得された新たな特徴点に基づいて推定される移動体の予測位置姿勢(第2の位置姿勢)、を推定する。算出した予測位置姿勢を、制御値決定部220に出力する。 The update position / orientation estimation unit 210 predicts the position / orientation of the sensor after the map update calculated by the position / attitude estimation unit 13 based on the update information input by the update information input unit 110. That is, the updated position / posture estimation unit 210 estimates the predicted position / posture (second position / posture) of the moving body estimated based on the acquired new feature points. The calculated predicted position / orientation is output to the control value determination unit 220.

制御値決定部220は、位置姿勢推定部13が算出した位置姿勢を、更新位置姿勢推定部210が算出した予測位置姿勢に基づき、それらの位置の差が小さくなるように制御値を算出する。算出した制御値を、制御装置11に出力する。 The control value determination unit 220 calculates the position / orientation calculated by the position / attitude estimation unit 13 based on the predicted position / attitude calculated by the update position / attitude estimation unit 210 so that the difference between the positions becomes small. The calculated control value is output to the control device 11.

図9は、本実施形態における情報処理装置2の処理手順を示すフローチャートである。処理ステップは、初期化S11、センサ情報入力S12、位置姿勢推定S13、地図更新判定S15、更新情報生成S15,地図更新S16、終了判定S17、更新情報入力S110、更新位置姿勢推定S210、制御値決定S220から構成されている。 FIG. 9 is a flowchart showing a processing procedure of the information processing apparatus 2 according to the present embodiment. The processing steps include initialization S11, sensor information input S12, position / orientation estimation S13, map update determination S15, update information generation S15, map update S16, end determination S17, update information input S110, update position / attitude estimation S210, and control value determination. It is composed of S220.

初期化S11、センサ情報入力S12、位置姿勢推定S13、地図更新判定S15、更新情報生成S15,地図更新S16、終了判定S17、更新情報入力S110については実施形態1と同一であるため説明は省略する。 The initialization S11, the sensor information input S12, the position / orientation estimation S13, the map update determination S15, the update information generation S15, the map update S16, the end determination S17, and the update information input S110 are the same as those in the first embodiment, and thus the description thereof will be omitted. ..

更新位置姿勢推定S210では、更新位置姿勢推定部210が、更新情報入力部110が入力した更新情報に基づき、地図更新後に位置姿勢推定部13が算出する位置姿勢を予測位置姿勢として推定する。具体的には、更新情報に含まれるキーフレーム更新情報中の各キーフレーム更新情報が保持する特徴点情報の中から、センサから所定の距離以内にある特徴点を選択し、地図更新前後の当該特徴点の移動量から剛体変換を求める。剛体変換とは、ある三次元座標を別の三次元座標に一意に変換する変換行列のことであり、本実施形態では4行4列の行列である。このような構成における剛体変換は、特徴点の更新前と更新後の位置との距離が最小となるよう求める。これをセンサの位置姿勢の変化量として算出し、地図更新前のセンサ位置姿勢に掛け合わせることで予測位置姿勢を求める。 In the update position / attitude estimation S210, the update position / attitude estimation unit 210 estimates the position / orientation calculated by the position / attitude estimation unit 13 after updating the map as the predicted position / attitude based on the update information input by the update information input unit 110. Specifically, from the feature point information held by each keyframe update information in the keyframe update information included in the update information, a feature point within a predetermined distance from the sensor is selected, and the relevant feature points before and after the map update are selected. The rigid transformation is obtained from the amount of movement of the feature points. Rigid transformation is a transformation matrix that uniquely transforms one three-dimensional coordinate into another three-dimensional coordinate, and is a 4-by-4 matrix in the present embodiment. The rigid transformation in such a configuration seeks to minimize the distance between the pre-update and post-update positions of the feature points. This is calculated as the amount of change in the position and orientation of the sensor, and the predicted position and orientation is obtained by multiplying this by the sensor position and orientation before updating the map.

制御値決定S220では、更新位置姿勢推定部210が推定した予測位置姿勢となるように、移動体を制御する制御値を算出する。具体的には、予測位置姿勢を目標として、位置姿勢推定部13が算出したセンサ10の位置姿勢とのユークリッド距離を小さくするような制御値を算出する。本実施形態では、制御値の算出にはDWA法を用いる。 In the control value determination S220, the control value for controlling the moving body is calculated so that the predicted position / posture estimated by the update position / posture estimation unit 210 is obtained. Specifically, a control value that reduces the Euclidean distance from the position / orientation of the sensor 10 calculated by the position / attitude estimation unit 13 is calculated with the predicted position / orientation as the target. In this embodiment, the DWA method is used to calculate the control value.

<効果>
実施形態8では、地図の更新に伴う要素の変化に基づき、地図更新後に算出するセンサの位置姿勢をあらかじめ予測し、予測位置姿勢になるように移動体をあらかじめ移動させる制御値を算出する。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。
<Effect>
In the eighth embodiment, the position and orientation of the sensor calculated after updating the map is predicted in advance based on the change of the elements accompanying the update of the map, and the control value for moving the moving body in advance so as to be the predicted position and orientation is calculated. By doing so, the sudden speed change and direction change of the moving body are reduced.

<変形例>
実施形態8では、入力した位置姿勢の周囲の地図の要素の更新量に基づいて、地図更新後のセンサの位置姿勢を予測していた。地図更新後のセンサの位置姿勢を算出する方法として、地図要素の更新値とセンサ情報を用いて、位置姿勢を算出してもよい。具体的には、更新位置姿勢推定部210が、画像と更新情報に含まれるキーフレーム群更新情報を用いて、位置姿勢推定部13が位置姿勢を算出するのと同様の方法で、地図更新後のセンサの位置姿勢を算出することもできる。
<Modification example>
In the eighth embodiment, the position and orientation of the sensor after the map update is predicted based on the update amount of the map elements around the input position and orientation. As a method of calculating the position / orientation of the sensor after updating the map, the position / orientation may be calculated by using the updated value of the map element and the sensor information. Specifically, after the map is updated, the update position / orientation estimation unit 210 uses the keyframe group update information included in the image and the update information to calculate the position / orientation in the same manner as the position / attitude estimation unit 13. It is also possible to calculate the position and orientation of the sensor.

実施形態8では、更新位置姿勢推定部210が推定した予測位置姿勢となるように、制御値を算出した。算出する制御値は、移動体の速度や方位が急激に変化することを低減することができればこの方法に限らない。例えば、移動体の急激な移動方向の変化を防ぐように、あらかじめ姿勢のみ、予測姿勢と一致するような制御値を算出してもよい。移動体の進行方向へ位置姿勢を予測した場合には減速、逆に進行方向逆への位置姿勢変化が予測される場合には加速するような制御値を算出しておいてもよい。 In the eighth embodiment, the control value is calculated so as to be the predicted position / orientation estimated by the update position / attitude estimation unit 210. The control value to be calculated is not limited to this method as long as it can reduce the sudden change in the speed and orientation of the moving body. For example, in order to prevent a sudden change in the moving direction of the moving body, only the posture may be calculated in advance so as to match the predicted posture. A control value may be calculated such that deceleration occurs when the position and orientation of the moving body are predicted in the traveling direction, and conversely, acceleration is performed when the position and orientation change in the opposite direction of travel is predicted.

実施形態8では、地図更新後のセンサの予測位置姿勢になるような制御値を算出した。一方、センサの予測位置に替えて、地図更新に伴う制御値の予測値を算出し、地図更新前の制御値と予測制御値との差が小さくなるような制御値を算出しておいてもよい。具体的には、地図更新後のセンサの予測位置姿勢に基づいて算出した制御値と、現在の制御値の重み付き平均により、算出する。このようにすることで、急激な制御値の変化を減らすことができる。 In the eighth embodiment, the control value is calculated so as to be the predicted position / orientation of the sensor after the map is updated. On the other hand, instead of the predicted position of the sensor, the predicted value of the control value associated with the map update may be calculated, and the control value such that the difference between the control value before the map update and the predicted control value becomes small may be calculated. Good. Specifically, it is calculated from the control value calculated based on the predicted position / orientation of the sensor after updating the map and the weighted average of the current control values. By doing so, it is possible to reduce a sudden change in the control value.

実施形態8では、地図更新後の位置姿勢となるような制御値を算出した。さらに、地図更新部16が移動体から制御の進み具合を受信する構成として、地図更新後の位置姿勢となるまで地図更新の実行を待つ構成にしてもよい。このように、移動体の制御が完了し、地図更新による位置姿勢の変化の影響が小さくなってから地図を更新することで、より安全に、安定して移動体を運用することができる。 In the eighth embodiment, the control value is calculated so as to be the position and posture after the map is updated. Further, the map update unit 16 may be configured to receive the progress of control from the moving body, and may wait for the execution of the map update until the position and orientation after the map update is reached. In this way, the moving body can be operated more safely and stably by updating the map after the control of the moving body is completed and the influence of the change in the position and orientation due to the updating of the map is reduced.

<実施形態9>
実施形態8では、移動体が地図更新後の位置姿勢となるような制御値を算出した。また、実施形態1から6で説明した差分に基づいて制御値を算出することもできる。本実施形態においては、実施形態1で説明した差分を用いて、地図更新に伴う差分が所定より大きな範囲から移動体が離脱するような制御値を算出する構成を説明する。
<Embodiment 9>
In the eighth embodiment, the control value is calculated so that the moving body becomes the position and posture after updating the map. Further, the control value can be calculated based on the difference described in the first to sixth embodiments. In the present embodiment, a configuration will be described in which the control value for calculating the control value such that the moving body is separated from the range in which the difference due to the map update is larger than the predetermined range is calculated by using the difference described in the first embodiment.

本実施形態における情報処理装置の構成は、実施形態8と同一であるため説明を省略する。ハードウェア構成は実施形態1と同様に図3のような構成を用いる。実施形態8と異なるのは、実施形態8に示した更新位置姿勢推定部210が実施形態1で説明した差分取得部120にかわり、差分取得部120が算出した差分を制御値決定部220が入力する。差分が小さくなる地点へ移動するような制御値を算出する点である。また、差分取得部が、不図示の保持手段が保持する移動経路情報を受信する。移動経路情報とは、目的地に向かうまでの座標のリストのことである。 Since the configuration of the information processing apparatus in this embodiment is the same as that in the eighth embodiment, the description thereof will be omitted. As the hardware configuration, the configuration as shown in FIG. 3 is used as in the first embodiment. The difference from the eighth embodiment is that the update position / orientation estimation unit 210 shown in the eighth embodiment replaces the difference acquisition unit 120 described in the first embodiment, and the control value determination unit 220 inputs the difference calculated by the difference acquisition unit 120. To do. It is a point to calculate a control value that moves to a point where the difference becomes small. Further, the difference acquisition unit receives the movement route information held by the holding means (not shown). The movement route information is a list of coordinates to reach the destination.

本実施形態における処理ステップは、実施形態8で説明した処理ステップの図8と同一であるため説明を省略する。実施形態8と異なるのは、更新位置姿勢推定ステップ210が、実施形態1で説明した差分取得S120にかわっている点、および制御値決定S220の処理内容である。 Since the processing steps in the present embodiment are the same as those in FIG. 8 of the processing steps described in the eighth embodiment, the description thereof will be omitted. The difference from the eighth embodiment is that the update position / orientation estimation step 210 is replaced with the difference acquisition S120 described in the first embodiment, and the processing content of the control value determination S220.

本実施形態における制御値決定S220では、制御値決定部220が、差分取得S120において差分取得手段120が算出した差分が所定の値より大きな地図領域外を目標位置として移動体の制御値を算出する。地図領域外の目標位置は、現在のセンサの位置姿勢から移動体の移動経路情報を順に辿り、初めて地図領域外となった点とする。当該目標位置へ移動するための制御値を、DWA法で算出する。 In the control value determination S220 in the present embodiment, the control value determination unit 220 calculates the control value of the moving body with the outside of the map area where the difference calculated by the difference acquisition means 120 in the difference acquisition S120 is larger than the predetermined value as the target position. .. The target position outside the map area is defined as the point outside the map area for the first time by tracing the movement route information of the moving body in order from the current position and orientation of the sensor. The control value for moving to the target position is calculated by the DWA method.

<効果>
実施形態9では、差分に基づいて算出した地図更新に伴うセンサの位置姿勢や移動体の制御値の変化が大きい領域外に移動体が移動するように制御する。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。
<Effect>
In the ninth embodiment, the moving body is controlled to move out of the region where the change in the position / orientation of the sensor and the control value of the moving body due to the map update calculated based on the difference is large. By doing so, the sudden speed change and direction change of the moving body are reduced.

<変形例>
実施形態9における、差分取得S130は、実施形態1から6で述べた差分の算出方法のどの方法を用いてもよい。
<Modification example>
As the difference acquisition S130 in the ninth embodiment, any method of the difference calculation method described in the first to sixth embodiments may be used.

制御値決定部は、差分が低下するような制御値を算出すればどのような方法を用いてもよい。具体的には、例えば更新範囲から距離が離れるような制御値や、地図の構成要素の変化量が少ない地点に移動するような制御値、移動体と周囲の物体との距離が増大する地点へ移動する制御値である。 The control value determining unit may use any method as long as it calculates a control value that reduces the difference. Specifically, for example, to a control value that moves away from the update range, a control value that moves to a point where the amount of change in the components of the map is small, or a point where the distance between the moving object and the surrounding object increases. It is a control value to move.

差分が低下する地点を目標位置の探索方法も任意である。移動体の地図領域を格子状に区切り、各格子で差分を算出し、差分が最も低い格子を目標位置として算出してもよい。こうすることで、あまり遠くへの移動をせずに地図更新を行う。また、移動体の進行予定の移動ルート上をランダムに選択し、所定より低い差分となる地点が選ばれるまで目標地点を選びなおしてもよい。こうすることで、移動体のルートを変えずに、所定の目標地点に到達したときに地図更新する。 The method of searching for the target position at the point where the difference decreases is also arbitrary. The map area of the moving body may be divided into grids, the difference may be calculated for each grid, and the grid with the lowest difference may be calculated as the target position. By doing this, the map is updated without moving too far. Alternatively, the target point may be reselected by randomly selecting a moving route on the moving route of the moving body and selecting a point having a difference lower than a predetermined value. By doing so, the map is updated when the predetermined target point is reached without changing the route of the moving object.

実施形態9では、差分が所定より小さな地点へ移動体を移動する制御値を算出していた。しかしながら、地図更新に伴って移動体の速度や方位が急激に変化しない制御値を算出する方法であれば、上記方法に限らない。例えば、差分が所定の値より大きな地点に移動体が位置している場合には、移動体の制御値の変化量の最大値を所定以下になるように制御値を算出してもよいし、あらかじめ移動体の速度や角速度を所定の値以下になるような制御値を算出してもよい。一時停止するような制御値を算出してもよい。また、周囲の物体との距離が増大するように制御値を算出してもよい。 In the ninth embodiment, the control value for moving the moving body to a point where the difference is smaller than a predetermined value is calculated. However, the method is not limited to the above method as long as it is a method of calculating a control value in which the speed and direction of the moving body do not change suddenly with the map update. For example, when the moving body is located at a point where the difference is larger than the predetermined value, the control value may be calculated so that the maximum value of the change amount of the control value of the moving body is equal to or less than the predetermined value. A control value may be calculated in advance so that the speed or angular velocity of the moving body is equal to or less than a predetermined value. A control value for pausing may be calculated. Further, the control value may be calculated so that the distance to the surrounding object increases.

実施形態9では、差分が所定より小さな地点へ移動体を移動させる制御値を算出していた。一方、位置姿勢推定に用いる地図要素が所定の変化量より小さくなる地点を差分から求め、その地点へ移動するように制御値を算出してもよい。 In the ninth embodiment, the control value for moving the moving body to a point where the difference is smaller than a predetermined value is calculated. On the other hand, a point where the map element used for position / orientation estimation is smaller than a predetermined amount of change may be obtained from the difference, and the control value may be calculated so as to move to that point.

そのような地点の算出方法も任意である。例えば、地図上の任意の地点におけるセンサで計測できる範囲を算出し、その範囲にある地図更新に伴う移動量が所定の値より大きな特徴点割合が所定より少ない地点を算出してよい。地図更新に伴う移動量が所定の値より大きなキーフレームの割合が所定より少ない地点を算出してよい。 The method of calculating such a point is also arbitrary. For example, a range that can be measured by a sensor at an arbitrary point on the map may be calculated, and a point in which the movement amount associated with map update in that range is larger than a predetermined value and the ratio of feature points is less than a predetermined value may be calculated. A point where the proportion of keyframes in which the amount of movement due to map update is larger than the predetermined value is less than the predetermined value may be calculated.

<効果のまとめ>
実施形態1では、更新領域からセンサ、すなわち移動体が離れたときに地図更新を許容することで、更新における位置計測値の変化量を小さくすることができる。これにより、移動体の急激な速度変化や方向変化が少なくなる。
<Summary of effects>
In the first embodiment, the amount of change in the position measurement value in the update can be reduced by allowing the map update when the sensor, that is, the moving body is separated from the update area. As a result, sudden changes in speed and direction of the moving body are reduced.

実施形態2では、更新要素の変化量に基づいて、地図の更新方法を算出する。すなわち、地図更新要素の変化が所定値以下であれば更新し、更新方法が所定値以上であれば更新しない。このような構成にすることで、更新における位置計測値の変化量が所定以上にならないようにする。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。 In the second embodiment, the map update method is calculated based on the amount of change in the update element. That is, if the change of the map update element is equal to or less than the predetermined value, the map is updated, and if the update method is greater than or equal to the predetermined value, the update is not performed. With such a configuration, the amount of change in the position measurement value during the update is prevented from exceeding a predetermined value. By doing so, the sudden speed change and direction change of the moving body are reduced.

実施形態3では、地図の更新要素を用いてセンサの位置姿勢を算出し、更新前後のセンサの位置姿勢の変化量が増大する程、増加する差分を算出する。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。 In the third embodiment, the position and orientation of the sensor are calculated using the update element of the map, and the difference that increases as the amount of change in the position and orientation of the sensor before and after the update increases is calculated. By doing so, the sudden speed change and direction change of the moving body are reduced.

実施形態4では、地図更新前後で算出する移動体の制御値の変化量が増大する程、増大する差分を算出する。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。 In the fourth embodiment, the difference is calculated as the amount of change in the control value of the moving body calculated before and after the map update increases. By doing so, the sudden speed change and direction change of the moving body are reduced.

実施形態5においては、周囲の状況すなわち周囲の物体との距離に応じて差分を算出する。つまり、周囲の物体との距離が近いほど、差分の値を大きくする。このようにすることで、移動体と周囲の物体との距離が近いほど、急激な速度変化や方向変化が少なくなる。 In the fifth embodiment, the difference is calculated according to the surrounding situation, that is, the distance from the surrounding object. That is, the closer the distance to the surrounding object, the larger the difference value. By doing so, the closer the moving body is to the surrounding object, the less the sudden speed change and direction change.

実施形態6においては、移動体の状態、すなわち移動体の質量が増大する程、差分を増大させる。このようにすることで、より質量が大きな移動体程、地図更新に伴う移動体の急激な速度変化や方向変化が少なくなる。 In the sixth embodiment, the difference is increased as the state of the moving body, that is, the mass of the moving body is increased. By doing so, the heavier the mass of the moving body, the less the sudden speed change and direction change of the moving body due to the map update.

実施形態7では、地図更新前後で算出する位置姿勢の変化量が小さくなるように地図更新を行うことで、利用者がMR,AR,VRを利用している空間近辺での地図更新による位置姿勢の急激な変化が小さくなる。これにより、CGずれやCG飛びを小さく、利用者が気づきにくく提示することができ、利用者のMR,AR,VR体験を向上させることができる。 In the seventh embodiment, the map is updated so that the amount of change in the position and orientation calculated before and after the map is updated is small, so that the position and orientation by updating the map in the vicinity of the space where the user is using MR, AR, and VR. The sudden change of is small. As a result, CG deviation and CG skipping are small, and the user can present the presentation without being noticed, and the MR, AR, and VR experience of the user can be improved.

実施形態8では、地図の更新に伴う要素の変化に基づき、地図更新後に算出するセンサの位置姿勢をあらかじめ予測し、予測位置姿勢になるように移動体をあらかじめ移動させる制御値を算出する。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。 In the eighth embodiment, the position and orientation of the sensor calculated after updating the map is predicted in advance based on the change of the elements accompanying the update of the map, and the control value for moving the moving body in advance so as to be the predicted position and orientation is calculated. By doing so, the sudden speed change and direction change of the moving body are reduced.

実施形態9では、差分に基づいて算出した地図更新に伴うセンサの位置姿勢や移動体の制御値の変化が大きい領域外に移動体が移動するように制御する。このようにすることで、移動体の急激な速度変化や方向変化が少なくなる。 In the ninth embodiment, the moving body is controlled to move out of the region where the change in the position / orientation of the sensor and the control value of the moving body due to the map update calculated based on the difference is large. By doing so, the sudden speed change and direction change of the moving body are reduced.

<定義のまとめ>
更新情報入力部は、地図要素の更新情報を入力するものであれば何でもよい。例えば、地図要素がキーフレームや特徴点であれば、キーフレームの位置姿勢や特徴点の三次元座標の更新値を入力してよい。なお、キーフレームとは、センサの位置姿勢を算出するための最小単位の地図要素のことである。特徴点とは、位置姿勢推定のために必要な指標のことである。地図要素がOccupancy Grid Map(通行可能領域と通行付加領域すなわち壁等の領域とを格子にプロットしたデータ構造である地図)であれば、各格子に保持する値の更新値を入力してもよい。
<Summary of definitions>
The update information input unit may be anything as long as it inputs the update information of the map element. For example, if the map element is a keyframe or a feature point, the position / orientation of the keyframe or the updated value of the three-dimensional coordinates of the feature point may be input. The key frame is a map element of the smallest unit for calculating the position and orientation of the sensor. The feature point is an index necessary for estimating the position and orientation. If the map element is an Occupancy Grid Map (a map that is a data structure in which a passable area and a passable area, that is, an area such as a wall are plotted on a grid), an updated value of a value held in each grid may be input. ..

差分取得部は、地図更新に伴うセンサの位置姿勢の変化量が増大する程大きくなるような値を算出するものであれば何でもよい。 The difference acquisition unit may be any one that calculates a value that increases as the amount of change in the position and orientation of the sensor increases with map update.

例えば、地図の更新領域に基づいて算出してよい。すなわち、地図の更新領域の広くなる程、更新領域とセンサとの距離が近くなる程大きな値を算出してよい。更新領域にセンサが位置していれば、していないときより大きな差分値となるように算出してもよい。 For example, it may be calculated based on the update area of the map. That is, the larger the update area of the map and the closer the distance between the update area and the sensor, the larger the value may be calculated. If the sensor is located in the update area, the difference value may be calculated to be larger than when the sensor is not located.

地図の更新要素の変化量に基づいて算出してもよい。すなわち、地図更新に伴う地図の要素の移動量、センサの位置姿勢を算出するために用いる地図要素のうち地図更新に伴う地図の要素の変化量が所定より大きな地図要素の割合でもよい。 It may be calculated based on the amount of change in the map update element. That is, the ratio of the map elements in which the amount of movement of the map elements due to the map update and the amount of change in the map elements due to the map update among the map elements used for calculating the position and orientation of the sensor may be larger than a predetermined ratio.

地図更新前後に算出するセンサの位置姿勢の変化量が大きくなるほど差分値を増大させるようにする。 The difference value is increased as the amount of change in the position and orientation of the sensor calculated before and after the map update increases.

移動体を制御するための制御値の地図更新に伴う変化量が大きいほど、大きな差分を算出するようにしてもよい。 The larger the amount of change in the control value for controlling the moving object due to the map update, the larger the difference may be calculated.

前記センサの周囲の状況に基づいて差分を算出してもよい。すなわち、周囲の物体との距離が近いほど大きな差分を算出してもよい。特定の周囲の状況として例えば周囲物体の種別、大きさ、数、移動速度、重量、価格が増大する程、差分が増大するように算出してもよい。 The difference may be calculated based on the surrounding conditions of the sensor. That is, the closer the distance to the surrounding object, the larger the difference may be calculated. As a specific surrounding situation, for example, it may be calculated that the difference increases as the type, size, number, moving speed, weight, and price of surrounding objects increase.

前記センサを搭載する移動体の状況に基づいて差分を算出してもよい。すなわち、移動体やそれが搭載する物体の重量が大きいほど高い差分を算出してよい。搭載した物体の積み上げ方の安定性が低いほど、高い差分を算出してもよい。 The difference may be calculated based on the situation of the moving body on which the sensor is mounted. That is, the heavier the weight of the moving body or the object on which it is mounted, the higher the difference may be calculated. The lower the stability of how the mounted objects are stacked, the higher the difference may be calculated.

更新方法決定部は、差分が大きくなる程、地図更新をしないような値を算出するものであれば何でもよい。例えば、更新方法の値として0〜1に正規化した実数とし、差分の値が小さいほど更新方法が0に、差分の値が大きいほど更新方法が1近づくように構成してよい。この時、差分の値の正規化方法は任意である。すなわち、差分値の逆余接関数としてもよいし、差分値の負値を底とした指数関数を用いてもよい。シグモイド関数に差分値を代入し、−1をかけ、1を足した関数を用いてもよい。 The update method determination unit may be anything as long as it calculates a value that does not update the map as the difference increases. For example, the value of the update method may be a real number normalized to 0 to 1, and the update method may be configured so that the smaller the difference value is, the closer the update method is to 0, and the larger the difference value is, the closer the update method is. At this time, the normalization method of the difference value is arbitrary. That is, it may be an inverse cotangent function of the difference value, or an exponential function with the negative value of the difference value as the base may be used. A function obtained by substituting a difference value into a sigmoid function, multiplying it by -1, and adding 1 may be used.

制御値決定部は、地図更新に伴うセンサの位置姿勢の変化または地図更新に伴う制御値の変化が減少するような方法であれば、算出方法は何でもよい。例えば、地図更新後の位置姿勢となるように移動体を制御する制御値を算出してもよいし、地図更新後に算出する制御値に近づくように制御値を算出してもよい。また、差分取得部が算出した差分が減少するように、制御値を算出してもよい。 The control value determining unit may be calculated by any method as long as the change in the position and orientation of the sensor due to the map update or the change in the control value due to the map update is reduced. For example, the control value for controlling the moving body may be calculated so as to be the position and orientation after updating the map, or the control value may be calculated so as to approach the control value calculated after updating the map. Further, the control value may be calculated so that the difference calculated by the difference acquisition unit is reduced.

なお、上述した各処理部のうち、位置姿勢推定部13、更新情報生成部15等 については、その代わりとして、機械学習された学習済みモデルを代わりに用いて処理しても良い。その場合には、例えば、その処理部への入力データと出力データとの組合せを学習データとして複数個準備し、それらから機械学習によって知識を獲得し、獲得した知識に基づいて入力データに対する出力データを結果として出力する学習済みモデルを生成する。学習済みモデルは、例えばニューラルネットワークモデルで構成可能である。そして、その学習済みモデルは、前記処理部と同等の処理をするためのプログラムとして、CPUあるいはGPUなどと協働で動作することにより、前記処理部の処理を行う。なお、上記学習済みモデルは、必要に応じて一定の処理後に更新しても良い。 Of the above-mentioned processing units, the position / orientation estimation unit 13, the update information generation unit 15, and the like may be processed by using a machine-learned trained model instead. In that case, for example, a plurality of combinations of input data and output data to the processing unit are prepared as training data, knowledge is acquired from them by machine learning, and output data for the input data is obtained based on the acquired knowledge. Generates a trained model that outputs as a result. The trained model can be constructed by, for example, a neural network model. Then, the trained model performs the processing of the processing unit by operating in collaboration with the CPU, GPU, or the like as a program for performing the same processing as the processing unit. The trained model may be updated after a certain process if necessary.

本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

1 情報処理装置
10 センサ
11 制御装置
12 センサ情報入力部
13 位置姿勢推定部
14 地図保持部
15 更新情報生成部
16 地図更新部
17 制御値決定部
110 更新情報入力部
120 差分取得部
130 更新方法決定部
1 Information processing device 10 Sensor 11 Control device 12 Sensor information input unit 13 Position / orientation estimation unit 14 Map holding unit 15 Update information generation unit 16 Map update unit 17 Control value determination unit 110 Update information input unit 120 Difference acquisition unit 130 Update method determination Department

Claims (15)

移動体が移動する環境にある特徴点の位置を示す地図情報に基づいて該移動体の位置を推定する情報処理装置であって、
前記地図情報に登録された特徴点の特徴と前記環境を前記移動体が移動中に計測したセンサ情報から取得された該特徴点の特徴とから推定される前記移動体の第1の位置を推定する第1推定手段と、
前記地図情報に含まれる特徴点の位置と前記センサ情報から取得された該特徴点の位置との差を示す情報に基づいて前記移動体の第2の位置を推定する第2推定手段と、
前記第1の位置と前記第2の位置との差が閾値より大きい場合には、前記センサ情報から新しく取得された特徴点に基づいて決定した経路に基づいて前記移動体を移動させる制御手段と、
前記地図情報を前記センサ情報から新しく取得された特徴点で生成される地図に更新する更新手段と、を有することを特徴とする情報処理装置。
An information processing device that estimates the position of a moving object based on map information indicating the position of a feature point in the environment in which the moving object moves.
The first position of the moving body estimated from the features of the feature points registered in the map information and the features of the feature points acquired from the sensor information measured while the moving body is moving in the environment is estimated. First estimation means to do
A second estimation means for estimating the second position of the moving body based on the information indicating the difference between the position of the feature point included in the map information and the position of the feature point acquired from the sensor information.
When the difference between the first position and the second position is larger than the threshold value, the control means for moving the moving body based on the path determined based on the feature points newly acquired from the sensor information. ,
An information processing apparatus comprising: an update means for updating the map information to a map generated at feature points newly acquired from the sensor information.
前記制御手段は、前記第1及び第2の位置との変化の大きさが閾値より小さい場合は、前記更新手段によって更新された前記地図情報に基づいて前記移動体を移動させることを特徴とする請求項1に記載の情報処理装置。 The control means is characterized in that when the magnitude of the change from the first and second positions is smaller than the threshold value, the moving body is moved based on the map information updated by the updating means. The information processing device according to claim 1. 前記制御手段は、前記第1及び第2の位置との変化の大きさが閾値より大きい場合は、前記移動体を減速または停止させることを特徴とする請求項1に記載の情報処理装置。 The information processing device according to claim 1, wherein the control means decelerates or stops the moving body when the magnitude of change from the first and second positions is larger than a threshold value. 前記制御手段は、前記第1及び第2の位置との変化の大きさが閾値より大きい場合、前記第1及び第2の位置の変化の大きさが閾値より小さくなるような位置に移動させることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 When the magnitude of the change from the first and second positions is larger than the threshold value, the control means moves the control means to a position where the magnitude of the change from the first and second positions is smaller than the threshold value. The information processing apparatus according to any one of claims 1 to 3. 前記制御手段は、前記第1及び第2の位置との変化の大きさが閾値より大きい場合、前記移動体の速度、加速度、角速度、各加速度の少なくとも何れか一つを減少させることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 The control means is characterized in that when the magnitude of change from the first and second positions is larger than the threshold value, at least one of the speed, acceleration, angular velocity, and each acceleration of the moving body is reduced. The information processing apparatus according to any one of claims 1 to 4. 前記推定手段は、前記センサ情報に含まれる特徴点の位置と、前記地図情報に登録された特徴点との位置とを一致させることで、前記移動体の前記第1の位置を推定することを特徴とする請求項1に記載の情報処理装置。 The estimation means estimates the first position of the moving body by matching the position of the feature point included in the sensor information with the position of the feature point registered in the map information. The information processing apparatus according to claim 1. 移動体が移動する環境にある特徴点の位置を示す地図情報に基づいて該移動体の位置を推定する情報処理装置であって、
移動体が走行する環境で既に計測された特徴点を含む地図情報に含まれる特徴点の位置から推定される前記移動体の第1の姿勢と、前記地図情報に含まれない新たな特徴点の位置に基づいて推定される前記移動体の第2の姿勢と、を推定する推定手段と、
前記第1および第2の姿勢に基づいて、前記制御値が所定の閾値を満たすような前記制御値を決定する決定手段と、を有する情報処理装置。
An information processing device that estimates the position of a moving object based on map information indicating the position of a feature point in the environment in which the moving object moves.
The first posture of the moving body estimated from the position of the feature points included in the map information including the feature points already measured in the environment in which the moving body travels, and the new feature points not included in the map information. An estimation means for estimating the second posture of the moving body estimated based on the position, and
An information processing device having a determination means for determining the control value such that the control value satisfies a predetermined threshold value based on the first and second postures.
前記決定手段は、前記第2の姿勢を、前記第1の姿勢に近づくように前記制御値を決定することを特徴とする請求項7に記載の情報処理装置。 The information processing apparatus according to claim 7, wherein the determination means determines the control value so that the second posture approaches the first posture. 前記決定手段は、前記第2の姿勢に基づいた制御値を、前記第1の姿勢に基づいた制御値に近づくように前記制御値を決定することを特徴とする請求項7に記載の情報処理装置。 The information processing according to claim 7, wherein the determination means determines the control value so that the control value based on the second posture approaches the control value based on the first posture. apparatus. 前記決定手段は、前記第2の姿勢に基づいて、前記移動体の位置、姿勢、速度、角速度、加速度、角加速度の少なくともどれか一つの変化量が減少するように前記制御値を決定することを特徴とする請求項7に記載の情報処理装置。 The determination means determines the control value based on the second posture so that the amount of change in at least one of the position, posture, velocity, angular velocity, acceleration, and angular acceleration of the moving body is reduced. The information processing apparatus according to claim 7. 前記第1の姿勢は、前記移動体に搭載されたセンサによって計測された位置姿勢に基づいて推定された姿勢であることを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。 The information processing according to any one of claims 1 to 10, wherein the first posture is a posture estimated based on a position posture measured by a sensor mounted on the moving body. apparatus. 前記地図情報を保持する地図保持手段と、
前記地図情報に含まれない新たな特徴点の位置に基づいて、前記地図情報の更新情報を生成する生成手段と、
前記更新情報に基づいて地図を更新する更新手段と、を更に有することを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
A map holding means for holding the map information and
A generation means for generating update information of the map information based on the positions of new feature points not included in the map information, and
The information processing apparatus according to any one of claims 1 to 11, further comprising an update means for updating a map based on the update information.
前記決定された制御値に基づいて、前記移動体を前記目標地点に移動させる制御手段を更に有することを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 12, further comprising a control means for moving the moving body to the target point based on the determined control value. コンピュータを、請求項1乃至13のいずれか1項に記載の情報処理装置が有する各手段として機能させるためのプログラム。 A program for causing a computer to function as each means included in the information processing apparatus according to any one of claims 1 to 13. 移動体が移動する環境にある特徴点の位置を示す地図情報に基づいて該移動体の位置を推定する情報処理方法であって、
前記地図情報に登録された特徴点の特徴と前記環境を前記移動体が移動中に計測したセンサ情報から取得された該特徴点の特徴とから推定される前記移動体の第1の位置を推定する第1推定工程と、
前記地図情報に含まれる特徴点の位置と前記センサ情報から取得された該特徴点の位置との差を示す情報に基づいて前記移動体の第2の位置を推定する第2推定工程と、
前記第1の位置と前記第2の位置との差が閾値より大きい場合には、前記センサ情報から新しく取得された特徴点に基づいて決定した経路に基づいて前記移動体を移動させる制御工程と、
前記地図情報を前記センサ情報から新しく取得された特徴点で生成される地図に更新する更新工程と、を有することを特徴とする情報処理方法。
An information processing method that estimates the position of a moving object based on map information indicating the position of a feature point in the environment in which the moving object moves.
The first position of the moving body estimated from the features of the feature points registered in the map information and the features of the feature points acquired from the sensor information measured while the moving body is moving in the environment is estimated. The first estimation process to be performed and
A second estimation step of estimating the second position of the moving body based on the information indicating the difference between the position of the feature point included in the map information and the position of the feature point acquired from the sensor information.
When the difference between the first position and the second position is larger than the threshold value, the control step of moving the moving body based on the path determined based on the feature points newly acquired from the sensor information. ,
An information processing method comprising an update step of updating the map information to a map generated at feature points newly acquired from the sensor information.
JP2019229710A 2019-12-19 2019-12-19 Information processing apparatus, information processing method, and program Pending JP2021099384A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019229710A JP2021099384A (en) 2019-12-19 2019-12-19 Information processing apparatus, information processing method, and program
US17/118,040 US11713977B2 (en) 2019-12-19 2020-12-10 Information processing apparatus, information processing method, and medium
CN202011477217.3A CN113012219A (en) 2019-12-19 2020-12-15 Information processing apparatus, information processing method, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019229710A JP2021099384A (en) 2019-12-19 2019-12-19 Information processing apparatus, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2021099384A true JP2021099384A (en) 2021-07-01
JP2021099384A5 JP2021099384A5 (en) 2022-12-22

Family

ID=76541132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019229710A Pending JP2021099384A (en) 2019-12-19 2019-12-19 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP2021099384A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023032292A1 (en) * 2021-09-02 2023-03-09 ソニーグループ株式会社 Information processing method, information processing program, and information processing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023032292A1 (en) * 2021-09-02 2023-03-09 ソニーグループ株式会社 Information processing method, information processing program, and information processing device

Similar Documents

Publication Publication Date Title
JP7383870B2 (en) Devices, methods, systems and computer programs
US20230043931A1 (en) Multi-Task Multi-Sensor Fusion for Three-Dimensional Object Detection
US10665115B2 (en) Controlling unmanned aerial vehicles to avoid obstacle collision
US11713977B2 (en) Information processing apparatus, information processing method, and medium
CN108496127B (en) Efficient three-dimensional reconstruction focused on an object
WO2019138834A1 (en) Information processing device, information processing method, program, and system
US10837788B1 (en) Techniques for identifying vehicles and persons
US10809081B1 (en) User interface and augmented reality for identifying vehicles and persons
US11393123B2 (en) Information processing device, control method therefor, non-transitory computer-readable storage medium, and driving control system
US11508158B2 (en) Electronic device and method for vehicle driving assistance
JP7133927B2 (en) Information processing device and its control method and program
KR20190016333A (en) Electronic apparatus and operating method for the same
US11748998B1 (en) Three-dimensional object estimation using two-dimensional annotations
Spitzer et al. Fast and agile vision-based flight with teleoperation and collision avoidance on a multirotor
JP2021531524A (en) User pose estimation method and device using 3D virtual space model
KR20210112672A (en) Processor for detecting objects, and objects detecting method
JP2021099384A (en) Information processing apparatus, information processing method, and program
JP2021099383A (en) Information processing apparatus, information processing method, and program
US20230080638A1 (en) Systems and methods for self-supervised learning of camera intrinsic parameters from a sequence of images
US11846514B1 (en) User interface and augmented reality for representing vehicles and persons
US11645364B2 (en) Systems and methods for object detection using stereovision information
WO2023130465A1 (en) Aerial vehicle, image processing method and apparatus, and movable platform
EP4156101A2 (en) Heterogeneous multi-threaded visual odometry in autonomous vehicle navigation
Steininger et al. Mapping the surroundings as a requirement for autonomous driving
EP4155681A1 (en) Visual localization against a prior map

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240419