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

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

Info

Publication number
JP2021026302A
JP2021026302A JP2019141358A JP2019141358A JP2021026302A JP 2021026302 A JP2021026302 A JP 2021026302A JP 2019141358 A JP2019141358 A JP 2019141358A JP 2019141358 A JP2019141358 A JP 2019141358A JP 2021026302 A JP2021026302 A JP 2021026302A
Authority
JP
Japan
Prior art keywords
moving body
information
freedom
posture
degrees
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.)
Granted
Application number
JP2019141358A
Other languages
Japanese (ja)
Other versions
JP7358108B2 (en
Inventor
小竹 大輔
Daisuke Kotake
大輔 小竹
誠 冨岡
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 JP2019141358A priority Critical patent/JP7358108B2/en
Publication of JP2021026302A publication Critical patent/JP2021026302A/en
Application granted granted Critical
Publication of JP7358108B2 publication Critical patent/JP7358108B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

To provide the present invention that realizes stable acquisition of a position and a posture according to the inclination of a movable body.SOLUTION: An information processing apparatus according to the present invention solving the above-mentioned problem is an information processing apparatus that prospects the position and posture of a movable body having an imaging apparatus mounted thereon, and has: six degree-of-freedom prospect means that prospects first information indicating the position and posture of the imaging apparatus in terms of the six degree-of-freedom; and determination means that, when the inclination the movable body relatively to a surface to be a reference is larger than a predetermined value, determines the position and posture of the movable body in terms of a three degree-of-freedom based on the first information, and when the inclination of the movable body relatively to the surface to be the reference is smaller than the predetermined value, determines the position and posture of the movable body in terms of the three degree-of-freedom based on second information indicating the position and posture in terms of the three degree-of-freedom of the movable body.SELECTED DRAWING: Figure 1

Description

本発明は、移動体の自己位置姿勢推定に関する。 The present invention relates to self-positioning and posture estimation of a moving body.

工場や物流倉庫で利用される無人搬送車(移動体(Automated Guided Vehicle))などの車輪ロボットは、床や道路などの平面上を走行することが一般的である。このような移動体や車輪ロボット(これらを総称して移動体と呼ぶ)の制御に必要な位置姿勢の計測には2Dのレーザスキャナ(2D LiDAR(Light Detection and Ranging))が利用されることが多い。2D LiDARは走行時に床面に平行となるように移動体上に設置され、移動体が走行する平面(床面)上の位置(2自由度)と姿勢(1自由度)の計3自由度の位置姿勢が計測される。また、3自由度の地図情報に移動体の目標位置を設定することによって、移動体を目標位置に向かって移動させることができる。 Wheel robots such as automatic guided vehicles (automated guided vehicles) used in factories and distribution warehouses generally travel on a flat surface such as a floor or a road. A 2D laser scanner (2D LiDAR (Light Detection and Ranking)) may be used to measure the position and orientation required to control such moving objects and wheel robots (collectively referred to as moving objects). There are many. The 2D LiDAR is installed on the moving body so as to be parallel to the floor surface during traveling, and the position (2 degrees of freedom) and the posture (1 degree of freedom) on the plane (floor surface) on which the moving body travels, a total of 3 degrees of freedom. Position and posture are measured. Further, by setting the target position of the moving body in the map information of three degrees of freedom, the moving body can be moved toward the target position.

特開2015−141580号公報Japanese Unexamined Patent Publication No. 2015-141580

特許文献1では、所定の面における移動体と環境に存在する物体との距離計測を行う距離センサによる計測結果を使って移動体の位置推定を行う。更に、環境内に設置されたランドマークを撮影可能なエリアに移動体がいる場合は、ステレオカメラで撮像した画像からランドマークを認識して移動体の位置推定も行う。しかしながら、特許文献1では、坂道等で移動体が傾く場合に、距離センサによる位置推定に移動体の傾きが考慮されないため、移動体の位置及び姿勢を間違って推定する可能性がある。本発明は上記課題に鑑みてなされたものであり、移動体の位置及び姿勢を安定的に得ることを目的とする。 In Patent Document 1, the position of a moving body is estimated using the measurement result of a distance sensor that measures the distance between the moving body on a predetermined surface and an object existing in the environment. Furthermore, if there is a moving object in the area where the landmarks installed in the environment can be photographed, the landmarks are recognized from the image captured by the stereo camera and the position of the moving object is estimated. However, in Patent Document 1, when the moving body is tilted on a slope or the like, the tilt of the moving body is not taken into consideration in the position estimation by the distance sensor, so that the position and posture of the moving body may be estimated incorrectly. The present invention has been made in view of the above problems, and an object of the present invention is to stably obtain the position and posture of a moving body.

上記課題を解決する本発明にかかる情報処理装置は、撮像装置を搭載した移動体の位置及び姿勢を推定する情報処理装置であって、前記撮像装置の6自由度の位置及び姿勢を示す第1情報を推定する6自由度推定手段と、前記移動体と基準となる面との成す傾きが所定の値より大きい場合は、前記第1情報に基づいて前記移動体の3自由度の位置及び姿勢を決定し、前記移動体と基準となる面との成す傾きが所定の値より小さい場合は、前記移動体の3自由度の位置及び姿勢を示す第2情報に基づいて前記移動体の3自由度の位置及び姿勢を決定する決定手段と、有することを特徴とする。 The information processing device according to the present invention that solves the above problems is an information processing device that estimates the position and posture of a moving body equipped with an image pickup device, and is the first that indicates the position and posture of the image pickup device with six degrees of freedom. When the inclination formed by the 6-DOF estimation means for estimating information and the moving body and the reference surface is larger than a predetermined value, the position and posture of the moving body with 3 degrees of freedom based on the first information. If the inclination formed by the moving body and the reference surface is smaller than a predetermined value, the moving body has three freedoms based on the second information indicating the position and posture of the moving body with three degrees of freedom. It is characterized by having a determination means for determining the position and posture of the degree.

本発明により、移動体の位置及び姿勢を安定的に取得できる。 According to the present invention, the position and posture of the moving body can be stably acquired.

移動体の傾きを説明する概念図Conceptual diagram explaining the inclination of a moving body 移動体の移動制御の様子を説明する図The figure explaining the state of the movement control of a moving body 情報処理装置のハードウェア構成例を示す図The figure which shows the hardware configuration example of an information processing apparatus 情報処理装置の機能構成例を示すブロック図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 explaining the processing executed by the information processing device 情報処理装置が実行する処理を説明するフローチャートFlowchart explaining the processing executed by the information processing device 情報処理装置の機能構成例を示すブロック図Block diagram showing a functional configuration example of an information processing device 情報処理装置が実行する処理を説明するフローチャートFlowchart explaining the processing executed by the information processing device 情報処理装置の機能構成例を示すブロック図Block diagram showing a functional configuration example of an information processing device 情報処理装置が実行する処理を説明するフローチャートFlowchart explaining the processing executed by the information processing device

以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 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>
本実施形態では、移動体の移動制御に本発明を適用した場合について説明する。工場や倉庫で荷物を運搬するロボット等の一般的な移動体は、画像センサや距離センサを用いて自己位置姿勢推定をしながら自動運転する。一般的な移動体は水平な面を走行することを想定されているが、走行環境に存在する坂道や段差、また自身に搭載された荷物によって、予め地図情報等で設定された基準となる水平面に対して移動体自身が傾いてしまうことがある。このような場合、平面を走査する2次元の距離センサの計測値から推定された自己位置姿勢推定の結果は、地図情報における絶対位置とズレて推定される可能性がある。
<Embodiment 1>
In the present embodiment, a case where the present invention is applied to the movement control of a moving body will be described. A general moving object such as a robot that transports luggage in a factory or a warehouse automatically operates while estimating its own position and orientation using an image sensor or a distance sensor. A general moving object is supposed to run on a horizontal surface, but it is a horizontal plane that is set in advance by map information etc. depending on the slopes and steps existing in the driving environment and the luggage loaded on itself. The moving body itself may tilt. In such a case, the result of self-position / orientation estimation estimated from the measured value of the two-dimensional distance sensor that scans the plane may be estimated to be different from the absolute position in the map information.

本実施形態では、移動体は、部分的に坂道が存在する平面(床面)を走行するものとし、移動体に搭載された画像センサ(カメラ)が撮影する画像情報をもとに推定される6自由度の位置姿勢をもとに移動体の走行距離の算出を行う。図1は、移動体1が基準となる面S1に対して角度Θだけ傾いている面S2を走行する状況を模した図である。このとき、移動体が点P1から特定の時間tに進んだ正しい走行距離を点P1と点P2を結んだD1であるとする。点P1と水平面上の点P2’を結んだ距離D2は3自由度の(2次元を走査する距離センサによる)位置姿勢計測結果に基づいて算出される走行距離である。3自由度の位置及び姿勢の推定においては、移動体1は基準となる面S1を走行するという前提で位置姿勢が推定されるためD1とD2は一致しない。D1とD2が一致しないと、例えば、AGVのバッテリー充電やメンテナンス、部品交換のタイミングを走行距離に基づいて管理する際に、最適なタイミングでメンテナンスを行えない。 In the present embodiment, the moving body is assumed to travel on a plane (floor surface) on which a slope partially exists, and is estimated based on image information taken by an image sensor (camera) mounted on the moving body. The mileage of the moving body is calculated based on the position and orientation of 6 degrees of freedom. FIG. 1 is a diagram simulating a situation in which the moving body 1 travels on a surface S2 that is tilted by an angle Θ with respect to a reference surface S1. At this time, it is assumed that the correct mileage in which the moving body has traveled from the point P1 to the specific time t is D1 connecting the points P1 and P2. The distance D2 connecting the point P1 and the point P2'on the horizontal plane is a mileage calculated based on the position / orientation measurement result (by a distance sensor that scans two dimensions) with three degrees of freedom. In estimating the position and posture with three degrees of freedom, D1 and D2 do not match because the position and posture are estimated on the assumption that the moving body 1 travels on the reference surface S1. If D1 and D2 do not match, for example, when managing the timing of battery charging, maintenance, and parts replacement of the AGV based on the mileage, maintenance cannot be performed at the optimum timing.

本実施形態では、D1とD2の差が大きくならないように、移動体が斜面を走行する場合は、6自由度の位置(X、Y、Z)及び姿勢(Roll、Pitch、Yaw)の計測結果を変換することによって移動体の移動制御に必要な3自由度の移動体の位置及び姿勢を推定する。これによって、移動体の位置及び姿勢を取得できる。 In the present embodiment, when the moving body travels on a slope so that the difference between D1 and D2 does not become large, the measurement results of the positions (X, Y, Z) and the postures (Roll, Pitch, Yaw) with 6 degrees of freedom. The position and orientation of the moving body with three degrees of freedom required for the movement control of the moving body are estimated by converting. As a result, the position and posture of the moving body can be acquired.

(構成説明)図2は、本実施形態における移動体の移動制御の様子を説明する図である。本実施形態においては、工場や倉庫内の物流を担うAGV(Automated Guided Vihecle)の移動制御を具体例として説明する。移動体は基本的に人間の操作を介することなく一定の指示を与えることで自己位置を自律的に移動可能な可動式のロボットであればよい。 (Explanation of Configuration) FIG. 2 is a diagram illustrating a state of movement control of a moving body in the present embodiment. In the present embodiment, the movement control of the AGV (Automated Guided Vehicle), which is responsible for the physical distribution in the factory or the warehouse, will be described as a specific example. Basically, the moving body may be a movable robot that can autonomously move its own position by giving a certain instruction without human operation.

移動体1に搭載された情報処理装置11は、例えばステレオカメラで移動体の周囲を撮像した画像に基づいて移動体の位置及び姿勢を推定し、その推定結果に基づいて移動体を移動制御する。情報処理装置11は、画像センサ12、距離センサ13、接触センサ14、アクチュエータ15、オドメーター17、記憶部18に接続されている。また移動体1は上位管理システム16との無線通信を行う。 The information processing device 11 mounted on the moving body 1 estimates the position and posture of the moving body based on an image obtained by capturing the surroundings of the moving body with a stereo camera, and controls the movement of the moving body based on the estimation result. .. The information processing device 11 is connected to an image sensor 12, a distance sensor 13, a contact sensor 14, an actuator 15, an odometer 17, and a storage unit 18. Further, the mobile body 1 performs wireless communication with the host management system 16.

図3は、情報処理装置のハードウェア構成例を示す図である。中央処理ユニット(CPU)101は、RAM103をワークメモリとして、ROM102や記憶装置104に格納されたOSやその他プログラムを読みだして実行し、システムバス109に接続された各構成を制御して、各種処理の演算や論理判断などを行う。CPU101が実行する処理には、実施形態の情報処理が含まれる。記憶装置104は、ハードディスクドライブや外部記憶装置などであり、実施形態の情報処理にかかるプログラムや各種データを記憶する。入力部105は、カメラなどの撮像装置、ユーザ指示を入力するためのボタン、キーボード、タッチパネルなどの入力デバイスである。なお、記憶装置104は例えばSATAなどのインタフェイスを介して、入力部105は例えばUSBなどのシリアルバスを介して、それぞれシステムバス109に接続されるが、それらの詳細は省略する。通信I/F106は無線通信で外部の機器と通信を行う。表示部107はディスプレイである。センサ108は画像センサや距離センサである。 FIG. 3 is a diagram showing a hardware configuration example of the information processing device. The central processing unit (CPU) 101 uses the RAM 103 as a work memory to read and execute the OS and other programs stored in the ROM 102 and the storage device 104, and controls each configuration connected to the system bus 109 to control various configurations. Performs processing operations and logical judgments. The process executed by the CPU 101 includes the information processing of the embodiment. The storage device 104 is a hard disk drive, an external storage device, or the like, and stores programs and various data related to information processing of the embodiment. The input unit 105 is an image pickup device such as a camera, an input device such as a button for inputting a user instruction, a keyboard, and a touch panel. The storage device 104 is connected to the system bus 109 via an interface such as SATA, and the input unit 105 is connected to the system bus 109 via a serial bus such as USB, but the details thereof will be omitted. The communication I / F 106 communicates with an external device by wireless communication. The display unit 107 is a display. The sensor 108 is an image sensor or a distance sensor.

画像センサ12は具体的にはカメラである。画像センサ12は、移動体の周囲を撮像する撮像装置である。画像センサによって移動体の周囲の環境を撮像し、撮像された計測結果を画像情報として画像情報入力部111に出力する。本実施形態における画像センサは、水平・垂直方向の画角を有するモノクロカメラ2個から構成されるステレオカメラであるとする。ステレオカメラは、光軸が水平面よりやや上方を向くように移動体に取り付ける。ステレオカメラを構成する2台のカメラの内部パラメータ(焦点距離、画像中心、歪みパラメータ)及びカメラ間の外部パラメータ(相対的な位置姿勢)は公知の方法により予め校正されているものとする。本実施形態では、カメラの光学中心を原点、光軸方向をZ軸、画像の水平方向をX軸、画像の垂直方向をY軸とする三次元の座標系をカメラ座標系と規定する。ステレオカメラのカメラ座標系は、左側カメラ(または右側カメラ)のカメラ座標系であるとする。画像センサ12の移動体における取付け位置は設計値により既知であるとする。なお、画像センサの代わりに6自由度の距離計測が可能な距離センサを用いてもよい。具体的には、3D−LiDAR等でもよい。 The image sensor 12 is specifically a camera. The image sensor 12 is an image pickup device that images the surroundings of a moving body. The environment around the moving body is imaged by the image sensor, and the captured measurement result is output to the image information input unit 111 as image information. It is assumed that the image sensor in the present embodiment is a stereo camera composed of two monochrome cameras having an angle of view in the horizontal and vertical directions. The stereo camera is attached to the moving body so that the optical axis faces slightly upward from the horizontal plane. It is assumed that the internal parameters (focal length, image center, distortion parameter) of the two cameras constituting the stereo camera and the external parameters (relative position / orientation) between the cameras are pre-calibrated by a known method. In the present embodiment, a three-dimensional coordinate system in which the optical center of the camera is the origin, the optical axis direction is the Z axis, the horizontal direction of the image is the X axis, and the vertical direction of the image is the Y axis is defined as the camera coordinate system. It is assumed that the camera coordinate system of the stereo camera is the camera coordinate system of the left camera (or the right camera). It is assumed that the mounting position of the image sensor 12 on the moving body is known by the design value. A distance sensor capable of measuring a distance with 6 degrees of freedom may be used instead of the image sensor. Specifically, 3D-LiDAR or the like may be used.

距離センサ13はセンサからのシーンの距離情報を計測する装置である。本実施形態における距離センサは2D LiDARである。2D LiDARは、レーザ光を平面上で走査させることによって距離情報を取得する距離センサである。距離センサ13は、レーザ光を走査させる平面が略水平面となるように移動体に取り付ける。距離センサ13の移動体における取付け位置は設計値により既知であるとする。計測された距離情報は情報処理装置11の距離情報入力部118に出力される。なお、距離センサの代わりに、画像センサで撮像された画像から、2次元の絶対位置を示すマーカを認識する構成でもよい。 The distance sensor 13 is a device that measures the distance information of the scene from the sensor. The distance sensor in this embodiment is 2D LiDAR. 2D LiDAR is a distance sensor that acquires distance information by scanning a laser beam on a plane. The distance sensor 13 is attached to the moving body so that the plane on which the laser beam is scanned is a substantially horizontal plane. It is assumed that the mounting position of the distance sensor 13 on the moving body is known by the design value. The measured distance information is output to the distance information input unit 118 of the information processing device 11. Instead of the distance sensor, a marker indicating a two-dimensional absolute position may be recognized from the image captured by the image sensor.

接触センサ14は安全センサである。接触センサが移動体と他の物体との接触を検知すると移動体は緊急停止するよう制御部115に情報を出力する。 The contact sensor 14 is a safety sensor. When the contact sensor detects the contact between the moving body and another object, the moving body outputs information to the control unit 115 so as to make an emergency stop.

アクチュエータ15は、情報処理装置11からの指示や障害物センサ、安全センサの出力をもとにモータを制御して移動体を移動または静止させる。 The actuator 15 controls the motor based on the instruction from the information processing device 11 and the output of the obstacle sensor and the safety sensor to move or stop the moving body.

上位管理システム16は、複数の移動体の運行管理を行うシステムである。上位管理システム16は、各移動体の情報処理装置11に目標位置姿勢を送信する。本実施形態では、移動体の目標位置姿勢は平面上における3自由度の位置姿勢であるとする。上位管理システム16と情報処理装置11の間の通信は、WifiやBlueTootth、5Gなどの無線通信により行う。 The upper management system 16 is a system that manages the operation of a plurality of mobile objects. The host management system 16 transmits the target position / orientation to the information processing device 11 of each mobile body. In the present embodiment, the target position / posture of the moving body is a position / posture with three degrees of freedom on a plane. Communication between the host management system 16 and the information processing device 11 is performed by wireless communication such as Wifi, BlueTouch, or 5G.

オドメーター17は、例えば、移動体の車輪の回転量から走行距離を計測する。 The odometer 17 measures the mileage from, for example, the amount of rotation of the wheels of the moving body.

記憶部18は、移動体が走行する環境についての地図情報を記憶する。他、移動体の走行距離や移動制御に必要な情報を保持する。なお、図4のように記憶部18は移動体上に搭載されている形以外でもよく、上位管理システム16の内部にあってもよい。 The storage unit 18 stores map information about the environment in which the moving body travels. In addition, it holds information necessary for the mileage of the moving body and movement control. As shown in FIG. 4, the storage unit 18 may be in a form other than that mounted on the moving body, or may be inside the upper management system 16.

(情報処理装置11の詳細)
図4に、本実施形態における情報処理装置の機能構成例を示す図を示す。情報処理装置11は、画像情報入力部111、6自由度推定部112、変換部113、制御部115、地図情報取得部116、平面情報取得部117、から構成される。情報処理装置11は、さらに距離情報入力部118、3自由度推定部119、決定部120、第2地図情報取得部121、計測部122から構成される。また、移動体1には、計測部122、制御部115、距離情報入力部118、3自由度推定部119、決定部120、第2地図情報取得部121を有する。情報処理装置11は、例えばPC、組み込みシステム、PLC(Programmable Logic Controller)である。
(Details of Information Processing Device 11)
FIG. 4 shows a diagram showing a functional configuration example of the information processing device according to the present embodiment. The information processing device 11 is composed of an image information input unit 111, a 6-DOF estimation unit 112, a conversion unit 113, a control unit 115, a map information acquisition unit 116, and a plane information acquisition unit 117. The information processing device 11 is further composed of a distance information input unit 118, a degree of freedom estimation unit 119, a determination unit 120, a second map information acquisition unit 121, and a measurement unit 122. Further, the moving body 1 includes a measuring unit 122, a control unit 115, a distance information input unit 118, a three-degree-of-freedom estimation unit 119, a determination unit 120, and a second map information acquisition unit 121. The information processing device 11 is, for example, a PC, an embedded system, or a PLC (Programmable Logical Controller).

画像情報入力部111は、画像センサ12から画像情報を入力し、入力された画像情報を6自由度推定部112に送る。本実施形態における画像センサ12はステレオカメラであるため、画像情報はステレオ画像(左右のカメラが撮影する2枚の画像)である。画像センサ12は、移動体が走行する工場や物流倉庫などの画像情報を撮像する。よって、本実施形態における画像情報とは、移動体に搭載された撮像装置によって移動体の走行する環境を撮像したステレオ画像を指す。 The image information input unit 111 inputs image information from the image sensor 12 and sends the input image information to the 6-DOF estimation unit 112. Since the image sensor 12 in this embodiment is a stereo camera, the image information is a stereo image (two images taken by the left and right cameras). The image sensor 12 captures image information of a factory or a distribution warehouse in which a moving body travels. Therefore, the image information in the present embodiment refers to a stereo image obtained by capturing the traveling environment of the moving body by an imaging device mounted on the moving body.

6自由度推定部112は、画像情報入力部111から入力された画像情報(ステレオ画像)をシーンの地図情報と照合することにより3次元空間中におけるカメラの6自由度の位置姿勢(位置3自由度、姿勢3自由度)を推定する。6自由度の位置姿勢は、前述の移動体が走行する環境を示す地図情報において規定される3次元の座標系(以下、世界座標系)を基準とした位置姿勢(第1情報)である。本実施形態では、Mur−Artalらの手法によりシーンの地図情報の生成及びカメラの6自由度の位置姿勢推定を行う。(R.Mur−Artal 他,“ORB−SLAM2:An Open−Source SLAM System for Monocular,Stereo,and RGB−D Cameras,2017.)。Mur−Artalらの手法は画像上で検出される特徴点を利用する手法である。シーンの地図情報として、移動体が走行する工場や物流倉庫といった移動体が走行するシーンにおける3次元点群の情報を保持する。具体的には、シーンにおける3次元点群の情報は特徴点の世界座標系における3次元座標のことである。本実施形態では、移動体を走行させながら撮影した映像をもとに、前述のMur−Artalらの手法によりあらかじめシーンの地図情報を生成しておく。シーンの地図情報は、記憶部18に保存されているものとする。Mur−Artalらの手法は、画像上の特徴点の位置と、推定する位置姿勢を用いて地図上の特徴点を画像上に投影した時の位置の差(再投影誤差)を最小化することによりカメラの位置姿勢を推定する。6自由度推定部は、撮像装置によって撮像された移動体の周囲を写した画像を入力し、移動体の3自由度の位置及び姿勢を出力する学習済みモデルに基づいて移動体の3自由度の位置及び姿勢を推定してもよい。 The 6-DOF estimation unit 112 collates the image information (stereo image) input from the image information input unit 111 with the map information of the scene, so that the position and orientation (position 3 degrees of freedom) of the camera in the three-dimensional space can be adjusted. Degree, posture 3 degrees of freedom) is estimated. The position / orientation with six degrees of freedom is a position / orientation (first information) based on a three-dimensional coordinate system (hereinafter, world coordinate system) defined in the map information indicating the environment in which the moving body travels. In this embodiment, the map information of the scene is generated and the position / orientation estimation of the camera with 6 degrees of freedom is performed by the method of Mur-Artal et al. (R. Mur-Artal et al., "ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras, 2017.). The method of Mur-Artal et al. This is a method to be used. As the map information of the scene, the information of the three-dimensional point group in the scene in which the moving object travels, such as a factory or a distribution warehouse in which the moving object travels, is held. Specifically, the three-dimensional point group in the scene is held. The information is the three-dimensional coordinates of the feature points in the world coordinate system. In the present embodiment, the map of the scene is previously obtained by the method of Mur-Artal et al., Based on the image taken while the moving body is running. Information is generated. It is assumed that the map information of the scene is stored in the storage unit 18. The method of Mur-Artal et al. Uses the position of the feature point on the image and the estimated position / orientation to map. The position and orientation of the camera are estimated by minimizing the difference in position (reprojection error) when the above feature points are projected onto the image. The 6-degree-of-freedom estimation unit is a moving object imaged by the image pickup device. An image of the surroundings may be input, and the position and orientation of the moving body with three degrees of freedom may be estimated based on the trained model that outputs the position and orientation of the moving body with three degrees of freedom.

変換部113は、6自由度推定部112が推定した6自由度のカメラの位置姿勢を、移動体の制御が可能なように3自由度の位置姿勢に変換する。すなわち、変換部113は、地図情報において規定される3次元の座標系(以下、世界座標系)を基準とした位置姿勢である第1情報を用いて、3自由度の位置及び姿勢を示す第3情報を出力する。移動体の傾きは、例えば、6自由度の位置及び姿勢の推定結果の高さ方向の値(Z)で判断してもよい。例えば、Z=0の場合は、移動体は基準となる面を走行していると考え、3自由度で計測する距離センサの計測結果を用いて移動体を制御する。一方で、Z>0(またはZ<0)の場合は、斜面を登っている(或いは下っている)と考えられるため、6自由度の位置及び姿勢を3自由度に変換した結果を用いて制御を行うようにする。前述の通り、3自由度の位置姿勢は移動体が走行する平面における位置姿勢である。3自由度のうち2自由度は平面上の2次元位置、残りの1自由度は平面の法線まわりの姿勢(平面上の向き)を表わす。移動体が走行する平面の推定方法については後述する。移動体が走行する平面の情報は平面情報取得部117に保存されているものとする。 The conversion unit 113 converts the position / orientation of the camera with 6 degrees of freedom estimated by the 6-DOF estimation unit 112 into the position / orientation with 3 degrees of freedom so that the moving body can be controlled. That is, the conversion unit 113 indicates the position and orientation of three degrees of freedom by using the first information which is the position and orientation based on the three-dimensional coordinate system (hereinafter, the world coordinate system) defined in the map information. 3 Output information. The inclination of the moving body may be determined, for example, by the value (Z) in the height direction of the estimation result of the position and the posture with six degrees of freedom. For example, when Z = 0, it is considered that the moving body is traveling on a reference surface, and the moving body is controlled by using the measurement result of the distance sensor measuring with three degrees of freedom. On the other hand, when Z> 0 (or Z <0), it is considered that the slope is climbing (or descending), so the result of converting the position and posture of 6 degrees of freedom into 3 degrees of freedom is used. Try to control. As described above, the position / orientation with three degrees of freedom is the position / orientation on the plane on which the moving body travels. Of the three degrees of freedom, two degrees of freedom represent the two-dimensional position on the plane, and the remaining one degree of freedom represents the posture (orientation on the plane) around the normal of the plane. The method of estimating the plane on which the moving body travels will be described later. It is assumed that the information on the plane on which the moving body travels is stored in the plane information acquisition unit 117.

制御部115は、決定部120が決定した移動体の位置及び姿勢に基づいて移動体を制御する。第2情報または変換部113が変換した3自由度の位置及び姿勢を示す第3情報をもとに移動体の制御を行う。具体的には、制御部115は、あらかじめ設定した移動体の目標位置姿勢(3自由度)と、変換部112が出力する3自由度の位置姿勢の差をもとに経路計算を行い、計算された経路に従うようにアクチュエータ15にモータの回転速度などの指示を送る。移動体の位置姿勢が目標位置姿勢と略一致した場合には移動体を停止し、上位管理システム16から次の目標位置姿勢が送られてくるのを待つ。なお、経路計算はA*アルゴリズムやRRT(Rapidly exploring random tree)といったアルゴリズムを用いてもよいし、Q学習やDQNなどの機械学習による方法を用いてもよい。 The control unit 115 controls the moving body based on the position and posture of the moving body determined by the determination unit 120. The moving body is controlled based on the second information or the third information indicating the position and posture of the three degrees of freedom converted by the conversion unit 113. Specifically, the control unit 115 calculates the route based on the difference between the preset target position / orientation (3 degrees of freedom) of the moving body and the position / orientation of the 3 degrees of freedom output by the conversion unit 112. An instruction such as a rotation speed of the motor is sent to the actuator 15 so as to follow the set path. When the position / orientation of the moving body substantially matches the target position / posture, the moving body is stopped and waits for the next target position / posture to be sent from the upper management system 16. The route calculation may use an algorithm such as an A * algorithm or an RRT (Rapidly exploring random stream), or a machine learning method such as Q-learning or DQN.

地図情報取得部116は、記憶部18より移動体が走行する環境の3自由度の地図情報を取得する。また、予め設定された移動体の3自由度の目標位置姿勢を取得する。 The map information acquisition unit 116 acquires map information of three degrees of freedom in the environment in which the moving body travels from the storage unit 18. In addition, the target position and posture of the three degrees of freedom of the moving body set in advance are acquired.

平面情報取得部117は、移動体を運用時と同じ基準となる平面上を走行させることにより平面推定用のデータの取得を行う。平面推定用のデータは、移動体が走行した時の複数(N点)の位置における位置姿勢データである。位置姿勢データは、6自由度位置姿勢推定によって推定される画像センサ112の6自由度位置姿勢である。基準面よりΘだけ傾いた傾斜面を走行する場合でも、3自由度の位置及び姿勢を正しく推定できるように、6自由度の位置及び姿勢を撮像装置によって撮像された画像を基に推定する。 The plane information acquisition unit 117 acquires data for plane estimation by running the moving body on a plane that serves as the same reference as during operation. The data for plane estimation is position / orientation data at a plurality of positions (N points) when the moving body travels. The position-posture data is the 6-DOF position-posture of the image sensor 112 estimated by the 6-DOF position-posture estimation. Even when traveling on an inclined surface inclined by Θ from the reference surface, the position and orientation of 6 degrees of freedom are estimated based on the image captured by the image pickup device so that the position and orientation of 3 degrees of freedom can be correctly estimated.

計測部122は、オドメーター17によって計測された移動体の車輪の回転量に基づいて、移動体の走行距離を計測する。計測部122の計測結果に基づいて、決定部120におけて移動体の位置姿勢を決定する。 The measuring unit 122 measures the mileage of the moving body based on the amount of rotation of the wheels of the moving body measured by the odometer 17. Based on the measurement result of the measuring unit 122, the position and orientation of the moving body are determined in the determining unit 120.

距離情報入力部118は、距離センサ13から移動体とその周囲にある物体との距離を計測した距離情報を入力し、入力された距離情報を3自由度推定部219に送る。前述したように、本実施形態における距離センサは2D LiDARである。2D LiDARは、レーザ光を走査させる平面が略水平面となるように移動体に取り付けられる。これにより距離センサ13は、距離センサ13が取り付けられた高さの水平面における距離情報を取得する。 The distance information input unit 118 inputs the distance information obtained by measuring the distance between the moving body and the object around it from the distance sensor 13, and sends the input distance information to the three-degree-of-freedom estimation unit 219. As described above, the distance sensor in this embodiment is 2D LiDAR. The 2D LiDAR is attached to the moving body so that the plane on which the laser beam is scanned is a substantially horizontal plane. As a result, the distance sensor 13 acquires the distance information in the horizontal plane at the height to which the distance sensor 13 is attached.

3自由度推定部119は、移動体が走行する環境を示す2次元の地図情報と、移動体が走行する環境における物体と該移動体との距離を計測した距離情報とに基づいて移動体に搭載された距離センサの3自由度の位置及び姿勢を示す第2情報を推定する。すなわち、距離情報入力部118から入力された距離情報をシーンの地図情報と照合することにより距離センサ13の位置姿勢を推定する。本実施形態では、3自由度推定部119は、距離センサ13の平面上における3自由度の位置姿勢(位置2自由度、姿勢1自由度)を推定する。移動体の移動制御に必要な2次元の地図情報は事前に生成され第2地図情報取得部121によって予め取得されているものとする。3自由度の位置姿勢は、前述の地図情報において規定される平面(2次元)の世界座標系(以下、2次元世界座標系)を基準とした位置姿勢である。距離情報に基づく地図情報の生成や位置姿勢の推定は、パーティクルフィルタを利用するGrisettiらの手法により行う。(G.Grisetti,他,“Improved Techniques for Grid Mapping with Rao−Blackwellized Particle Filters,”2007.)。距離センサの位置姿勢は、移動体に対する距離センサの既知の取付け位置をもとに3自由度推定部または決定部において移動体の位置姿勢に変換する。3自由度の位置姿勢の推定は、6自由度から3自由度に変換する処理が不要なため、6自由度の位置姿勢推定よりも処理負荷が小さいといったメリットがある。そのため、移動体が平面を走行する際は3自由度の位置姿勢を行い、なるべく省電力で移動体を制御できる。なお、ここでは距離情報から位置及び姿勢を推定する方法を述べるが3自由度の位置及び姿勢を推定できればどのような情報を用いても良い。例えば、地図における2次元座標を示すマーカを環境内に設置し、マーカを画像認識することで移動体の位置を特定する方法でも良い。 The three-degree-of-freedom estimation unit 119 attaches the moving body to the moving body based on the two-dimensional map information indicating the environment in which the moving body travels and the distance information obtained by measuring the distance between the object and the moving body in the environment in which the moving body travels. Estimate the second information indicating the position and orientation of the mounted distance sensor with three degrees of freedom. That is, the position and orientation of the distance sensor 13 are estimated by collating the distance information input from the distance information input unit 118 with the map information of the scene. In the present embodiment, the three-degree-of-freedom estimation unit 119 estimates the position and orientation (position two-degree-of-freedom, posture one-degree-of-freedom) of the distance sensor 13 on the plane. It is assumed that the two-dimensional map information necessary for the movement control of the moving body is generated in advance and acquired in advance by the second map information acquisition unit 121. The position / orientation with three degrees of freedom is a position / orientation based on the plane (two-dimensional) world coordinate system (hereinafter, two-dimensional world coordinate system) defined in the above-mentioned map information. Map information based on distance information and estimation of position and orientation are performed by the method of Grisette et al. Using a particle filter. (G. Grisette, et al., "Improved Technologies for Grid Mapping with Lao-Blackwellized Particle Filters," 2007.). The position / orientation of the distance sensor is converted into the position / orientation of the moving object in the three-degree-of-freedom estimation unit or the determination unit based on the known mounting position of the distance sensor with respect to the moving object. Estimating the position and orientation with three degrees of freedom has the advantage that the processing load is smaller than the estimation of position and orientation with six degrees of freedom because the process of converting from six degrees of freedom to three degrees of freedom is not required. Therefore, when the moving body travels on a flat surface, the moving body can be controlled with as little power as possible by performing a position and orientation with three degrees of freedom. Although the method of estimating the position and posture from the distance information is described here, any information may be used as long as the position and posture of three degrees of freedom can be estimated. For example, a method may be used in which a marker indicating two-dimensional coordinates on a map is installed in the environment and the position of the moving body is specified by recognizing the marker as an image.

決定部120は、移動体の傾きに応じて、第2情報および第3情報の少なくとも1つを選択的に用いることにより、移動体の位置及び姿勢を決定する。つまり、移動体と基準となる面との成す傾きが所定の値より大きい場合は、第1情報に基づいた第3の情報を移動体の3自由度の位置及び姿勢として決定する。決定部120は、移動体と基準となる面との成す傾きが所定の値より小さい、すなわちほぼ水平な面を走行する場合は、第2情報に基づいて移動体の3自由度の位置及び姿勢を決定する。移動体が傾いている場合、例えば斜面を走行する場合は、3自由度の距離の計測結果では重力方向の変位を計測できない。一方で、6自由度で位置姿勢計測が可能な第1情報を用いることで重力方向の変位を含んだ走行距離を推定できる。このように移動体の重力方向の傾きによって計測結果を使い分けることで、安定的に3自由度の位置姿勢推定結果を得ることが出来る。なお、移動体と基準となる面との成す傾きが所定の値より小さい場合は、第2情報に加えて第1情報に基づいて位置姿勢を決定してもよい。その場合は例えば第1情報と第2情報の結果から平均値や中央値を移動体の位置姿勢として決定する。 The determination unit 120 determines the position and orientation of the moving body by selectively using at least one of the second information and the third information according to the inclination of the moving body. That is, when the inclination formed by the moving body and the reference surface is larger than a predetermined value, the third information based on the first information is determined as the position and posture of the moving body having three degrees of freedom. When the inclination formed by the moving body and the reference surface is smaller than a predetermined value, that is, when traveling on a substantially horizontal surface, the determination unit 120 determines the position and posture of the moving body with three degrees of freedom based on the second information. To determine. When the moving body is tilted, for example, when traveling on a slope, the displacement in the direction of gravity cannot be measured from the measurement result of the distance of three degrees of freedom. On the other hand, the mileage including the displacement in the gravity direction can be estimated by using the first information that can measure the position and attitude with 6 degrees of freedom. By properly using the measurement results according to the inclination of the moving body in the direction of gravity in this way, it is possible to stably obtain the position / orientation estimation results with three degrees of freedom. If the inclination formed by the moving body and the reference surface is smaller than a predetermined value, the position / orientation may be determined based on the first information in addition to the second information. In that case, for example, the average value or the median value is determined as the position and orientation of the moving body from the results of the first information and the second information.

図6に本発明を移動体の移動制御に適用した場合の処理手順のフローチャートを示す。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。ただし、情報処理装置11はこのフローチャートで説明するすべてのステップを必ずしも行わなくても良い。 FIG. 6 shows a flowchart of a processing procedure when the present invention is applied to the movement control of a moving body. In the following description, the notation of the process (step) is omitted by adding S at the beginning of each process (step). However, the information processing device 11 does not necessarily have to perform all the steps described in this flowchart.

S1010では、平面情報取得部117が、事前準備として移動体が走行する平面の推定を行う。推定される平面を用いることで、6自由度推定部112によって推定される6自由度位置姿勢を平面上の3自由度位置姿勢に変換することが可能になる。移動体が走行する平面の推定は、移動体を平面上に走行させたときに推定される位置に平面当てはめを行うことにより推定する。移動体が走行する平面の推定方法の詳細については後述する。 In S1010, the plane information acquisition unit 117 estimates the plane on which the moving body travels as a preliminary preparation. By using the estimated plane, it is possible to convert the 6-DOF position / posture estimated by the 6-DOF position estimation unit 112 into a 3-DOF position / posture on the plane. The plane on which the moving body travels is estimated by fitting the plane to the position estimated when the moving body is run on the plane. The details of the method of estimating the plane on which the moving body travels will be described later.

S1020では、地図情報取得部116は、上位管理システム16から移動体の目標位置姿勢を取得する。本実施形態では、移動体の目標位置姿勢は平面上における3自由度の位置姿勢であるとする。 In S1020, the map information acquisition unit 116 acquires the target position / posture of the moving body from the upper management system 16. In the present embodiment, the target position / posture of the moving body is a position / posture with three degrees of freedom on a plane.

S1030では、6自由度推定部112は、撮像装置が少なくとも移動体の周囲を撮像した画像に基づいて、移動体の6自由度の位置及び姿勢を示す第1情報を推定する。具体的には、6自由度推定部112は、ステレオカメラによって撮影された画像情報をもとにカメラの6自由度の位置姿勢推定を行う。位置姿勢推定の際には地図情報取得部116によって予め取得された地図情報を利用する。カメラの6自由度の位置姿勢推定には、前述のMur−Artalらの手法を用いる。地図は生成済みであるため、地図情報は更新せずカメラの位置姿勢のみを画像情報から推定する。なお、SLAM技術を用いて地図情報を更新しながら位置姿勢を行っても良い。 In S1030, the 6-DOF estimation unit 112 estimates the first information indicating the position and orientation of the 6-DOF of the moving body based on the image captured by the imaging device at least around the moving body. Specifically, the 6-DOF estimation unit 112 estimates the position and orientation of the camera based on the image information captured by the stereo camera. When estimating the position and orientation, the map information acquired in advance by the map information acquisition unit 116 is used. The method of Mur-Artal et al. described above is used to estimate the position and orientation of the camera with 6 degrees of freedom. Since the map has already been generated, the map information is not updated and only the position and orientation of the camera are estimated from the image information. It should be noted that the position and orientation may be performed while updating the map information using SLAM technology.

S1035では、3自由度推定部119が、移動体が走行する環境における物体と該移動体との距離を計測した距離情報に基づいて移動体の3自由度の位置及び姿勢を示す第2情報を推定する。すなわち、AGVの3自由度の位置姿勢推定を行う。3自由度推定部119は、距離情報入力部117から入力された距離情報を第2地図情報取得部121に保存されているシーンの地図情報と照合することにより距離センサ13の位置姿勢を推定する。推定される距離センサの位置姿勢を(xL,yL,θL)とする。 In S1035, the three-degree-of-freedom estimation unit 119 provides second information indicating the position and orientation of the three-degree-of-freedom of the moving body based on the distance information obtained by measuring the distance between the object and the moving body in the environment in which the moving body travels. presume. That is, the position and orientation of the AGV with three degrees of freedom are estimated. The 3 degree of freedom estimation unit 119 estimates the position and orientation of the distance sensor 13 by collating the distance information input from the distance information input unit 117 with the map information of the scene stored in the second map information acquisition unit 121. .. Let the estimated position and orientation of the distance sensor be (xL, yL, θL).

S1040では、決定部120は、第1情報に基づいて、移動体と基準となる面とのなす傾きが所定の値より大きいか否かを判断する。この傾きは、例えば、移動体の位置のZ方向の大きさで判断する。他の値を基準にしてもよい。移動体と基準となる面とが成す傾きが所定の閾値以下である場合、S1045に進み、6自由度推定部112が推定した6自由度のカメラの位置姿勢を、該傾きに基づいて、移動体の制御が可能なように6自由度の位置姿勢を3自由度の位置姿勢に変換する。決定部120が、移動体と基準となる面とが成す傾きが所定の閾値以上であると判断した場合は、3自由度の位置姿勢S1050に進む。変換部113は、撮像装置の位置姿勢推定結果である第1情報に基づいて移動体の6自由度の位置及び姿勢を決定する。 In S1040, the determination unit 120 determines whether or not the inclination formed by the moving body and the reference surface is larger than a predetermined value based on the first information. This inclination is determined by, for example, the magnitude of the position of the moving body in the Z direction. Other values may be used as a reference. When the inclination formed by the moving body and the reference surface is equal to or less than a predetermined threshold, the process proceeds to S1045, and the position and orientation of the camera with 6 degrees of freedom estimated by the 6-DOF estimation unit 112 are moved based on the inclination. The position / orientation with 6 degrees of freedom is converted into the position / orientation with 3 degrees of freedom so that the body can be controlled. When the determination unit 120 determines that the inclination formed by the moving body and the reference surface is equal to or greater than a predetermined threshold value, the process proceeds to the position / posture S1050 with three degrees of freedom. The conversion unit 113 determines the position and orientation of the moving body with six degrees of freedom based on the first information which is the position and orientation estimation result of the image pickup apparatus.

S1050では、決定部120が、移動体の傾きに応じて第2情報および第3情報の少なくとも1つを選択的に用いることにより、移動体の位置及び姿勢を決定する。S1030で推定した位置姿勢と、S1035で推定した位置姿勢から、最終的に制御部15に出力する位置姿勢を決定する。または、変換部130が、S1030で推定された6自由度の位置姿勢を、S1010で推定された移動体が走行する平面パラメータの推定結果に基づいて変換することで、移動体の3自由度の位置姿勢を決定する。また前述の画像センサ12の移動体における取付け位置に基づいて、カメラの位置姿勢を移動体の位置姿勢に変換する。最終的に制御部115に出力する3自由度の位置姿勢を決定する。 In S1050, the determination unit 120 determines the position and posture of the moving body by selectively using at least one of the second information and the third information according to the inclination of the moving body. From the position / orientation estimated in S1030 and the position / orientation estimated in S1035, the position / orientation to be finally output to the control unit 15 is determined. Alternatively, the conversion unit 130 converts the position / orientation with 6 degrees of freedom estimated in S1030 based on the estimation result of the plane parameter on which the moving body travels estimated in S1010, so that the moving body has 3 degrees of freedom. Position Position Determine the posture. Further, the position and orientation of the camera are converted into the position and orientation of the moving body based on the mounting position of the image sensor 12 on the moving body. Finally, the position and orientation of the three degrees of freedom to be output to the control unit 115 are determined.

S1060では、制御部115が、S1050で取得した移動体の位置姿勢と、S1020で取得した移動体の目標位置姿勢を比較し、移動体が目標位置姿勢に到達したか判定する。本実施形態では、現在の位置と目標位置との差、現在の姿勢と目標姿勢との差のそれぞれに閾値(例えば1m)を設け、位置の差及び姿勢の差の双方が該当する閾値を下回った場合に目標位置に到達したと判定する。本実施形態では、現在の位置と目標位置との差、現在の姿勢と目標姿勢との差のそれぞれに閾値を設け、位置の差及び姿勢の差の双方が該当する閾値を下回った場合に目標位置に到達したと判定する。目標位置に到達した場合は、S1020に戻り、新たな目標位置姿勢を上位管理システムから受け取る。 In S1060, the control unit 115 compares the position / posture of the moving body acquired in S1050 with the target position / posture of the moving body acquired in S1020, and determines whether the moving body has reached the target position / posture. In the present embodiment, threshold values (for example, 1 m) are set for each of the difference between the current position and the target position and the difference between the current posture and the target posture, and both the difference in position and the difference in posture are below the corresponding threshold values. If so, it is determined that the target position has been reached. In the present embodiment, threshold values are set for each of the difference between the current position and the target position and the difference between the current posture and the target posture, and when both the difference in position and the difference in posture are below the corresponding threshold values, the target is set. It is determined that the position has been reached. When the target position is reached, the process returns to S1020 and a new target position / attitude is received from the upper management system.

S1070では、制御部115は、決定部120によって決定された移動体の3自由度の位置及び姿勢と、移動体が走行する環境を3自由度で表した地図情報とに基づいて、前移動体を地図情報において示される目標位置に移動させる。つまり、S1050で決定された移動体の3自由度の位置姿勢推定結果と、上位管理システム16から送信された移動体の目標位置姿勢との差をもとに経路計算を行う。計算された経路に従うように移動体のアクチュエータ15を制御する。 In S1070, the control unit 115 determines the position and orientation of the moving body with three degrees of freedom determined by the determining unit 120, and the front moving body based on the map information representing the environment in which the moving body travels with three degrees of freedom. To the target position indicated in the map information. That is, the route calculation is performed based on the difference between the position / posture estimation result of the moving body having three degrees of freedom determined in S1050 and the target position / posture of the moving body transmitted from the upper management system 16. The actuator 15 of the moving body is controlled so as to follow the calculated path.

S1080では、制御部115は、移動制御の終了判定を行う。上位管理システム16から終了命令が送られた場合には移動制御を終了する。さもなければS1030に戻り、移動制御を継続する。 In S1080, the control unit 115 determines the end of the movement control. When a termination command is sent from the higher management system 16, the movement control is terminated. Otherwise, it returns to S1030 and continues the movement control.

図7はS1010における移動体が走行する平面の推定方法の処理手順を示すフローチャートである。S1100では、平面情報取得部117が、移動体を運用時と同じ平面上を走行させることにより平面推定用のデータの取得を行う。平面推定用のデータは、移動体が走行した時の複数(N点)の位置における位置姿勢データである。位置姿勢データは、6自由度位置姿勢推定によって推定される画像センサ112の6自由度位置姿勢である。ここでi番目(1≦i≦N)の位置姿勢データにおけるカメラの6自由度位置姿勢を(Xvi,Yvi,Zvi,Wxvi,Wyvi,Wzvi)と表す。Xvi,Yvi,Zviは3次元空間におけるカメラの3次元位置、Wxvi,Wyvi,Wzviは3次元の姿勢を表わす。本実施形態では、3次元ベクトル(Wxvi,Wyvi,Wzvi)のノルムを回転角、方向を回転軸とする姿勢表現を用いる。また、Wxvi,Wyvi,Wzviで表される姿勢の3×3回転行列をRvi、3次元ベクトル(Xvi,Yvi,Zvi)tをtviと表す。平面推定用データを取得する際は、移動体の移動軌跡から平面パラメータを推定できるように、直線的な軌跡ではなく、例えば移動体の軌跡が閉曲線を描くように移動体を移動させる。なお、部分的な坂道や移動体の振動や床面の凹凸などによる平面からのずれは平面当てはめにより吸収できるものとする。 FIG. 7 is a flowchart showing a processing procedure of the method of estimating the plane on which the moving body travels in S1010. In S1100, the plane information acquisition unit 117 acquires data for plane estimation by running the moving body on the same plane as during operation. The data for plane estimation is position / orientation data at a plurality of positions (N points) when the moving body travels. The position-posture data is the 6-DOF position-posture of the image sensor 112 estimated by the 6-DOF position-posture estimation. Here, the 6-DOF position / orientation of the camera in the i-th (1 ≦ i ≦ N) position / orientation data is expressed as (Xvi, Yvi, Zvi, Wxvi, Wyvi, Wzvi). Xvi, Yvi, and Zvi represent the three-dimensional position of the camera in the three-dimensional space, and Wxvi, Wyvi, and Wzvi represent the three-dimensional posture. In this embodiment, a posture expression is used in which the norm of the three-dimensional vector (Wxvi, Wyvi, Wzvi) is the rotation angle and the direction is the rotation axis. Further, the 3 × 3 rotation matrix of the posture represented by Wxvi, Wyvi, and Wzvi is represented by Rvi, and the three-dimensional vector (Xvi, Yvi, Zvi) t is represented by tvi. When acquiring the plane estimation data, the moving body is moved so that the locus of the moving body draws a closed curve, for example, instead of a linear locus so that the plane parameters can be estimated from the moving locus of the moving body. It should be noted that the deviation from the plane due to the partial slope, the vibration of the moving body, the unevenness of the floor surface, etc. can be absorbed by the plane fitting.

S1110では、N個の3自由度の位置データ(Xvi,Yvi,Zvi)tに対して平面当てはめを行う。平面推定用データ取得の際に移動体が走行した平面のパラメータ(法線ベクトルnv=(nvx,nvy,nvz)t、通過位置cv=(cvx,cvy,cvz)t)を推定する。法線ベクトルnvは単位ベクトルであるとする。通過位置cvは(Xvi,Yvi,Zvi)tの重心を算出することにより求める。法線ベクトルnvは、N個の3次元ベクトル(Xvi−cvx,Yvi−cvy,Zvi−cvz)tの共分散行列を固有値分解し、最小固有値に対応する固有ベクトルとして求める。推定した平面パラメータは、平面情報取得部117に保存しておく。 In S1110, plane fitting is performed on N position data (Xvi, Yvi, Zvi) t having three degrees of freedom. The parameters (normal vector nv = (nvx, nvy, nvz) t, passing position cv = (cvx, cvy, cvz) t) of the plane on which the moving body traveled when acquiring the plane estimation data are estimated. It is assumed that the normal vector nv is a unit vector. The passing position cv is obtained by calculating the center of gravity of (Xvi, Yvi, Zvi) t. The normal vector nv is obtained by eigenvalue-decomposing a covariance matrix of N three-dimensional vectors (Xvi-cvx, Yvi-cvy, Zvi-cvz) t and obtaining it as an eigenvector corresponding to the minimum eigenvalue. The estimated plane parameters are stored in the plane information acquisition unit 117.

次にS1045における6自由度の位置姿勢を3自由度の位置姿勢への変換方法の処理手順について説明する。 Next, the processing procedure of the method of converting the position / posture of 6 degrees of freedom into the position / posture of 3 degrees of freedom in S1045 will be described.

S1000で推定された平面上に6自由度位置姿勢(Xv,Yv,Zv,Wxv,Wyv,Wzv)を射影し、3自由度の位置姿勢(xv,yv,θv)tに変換する(なお、Wxv,Wyv,Wzvで表される姿勢の3×3回転行列をRvとする)。具体的には、平面の通過位置cvを原点、平面の法線ベクトルnvをZ軸とする新しい3次元の座標系(以下、平面座標系)を定義し、3次元世界座標系における6自由度位置姿勢を平面座標系に変換する。定義から、3次元世界座標系において、平面座標系の原点(0,0,0)tがcvt、Z軸(0,0,1)tがnvとなる。このことから、平面座標系における3次元座標Xp(=(Xp,Yp,Zp)は次式のように3次元世界座標系における3次元座標Xv(=(Xv,Yv,Zv)に変換される。 The 6-DOF position / orientation (Xv, Yv, Zv, Wxv, Wyv, Wzv) is projected on the plane estimated in S1000 and converted into the 3-DOF position / orientation (xv, yv, θv) t (Note that). Rv is a 3 × 3 rotation matrix with postures represented by Wxv, Wyv, and Wzv). Specifically, a new three-dimensional coordinate system (hereinafter referred to as a plane coordinate system) with the plane passing position cv as the origin and the plane normal vector nv as the Z axis is defined, and six degrees of freedom in the three-dimensional world coordinate system. Convert the position / orientation to the plane coordinate system. From the definition, in the three-dimensional world coordinate system, the origin (0,0,0) t of the plane coordinate system is cvt, and the Z axis (0,0,1) t is nv. From this, the three-dimensional coordinate Xp (= (Xp, Yp, Zp) in the plane coordinate system is converted into the three-dimensional coordinate Xv (= (Xv, Yv, Zv) in the three-dimensional world coordinate system as shown in the following equation. ..

Xv=RpvXp+cv
ここで、RpvはZ軸(0,0,1)tを平面の法線ベクトルnvに変換する3×3回転行列である。Rpvは、回転軸を(0,0,1)tとnvの外積、回転角を(0,0,1)tとnvの内積の逆余弦(arccos)として計算する。よって、3次元世界座標系における3次元座標Xvは次式のように平面座標系における3次元座標Xpに変換される。
Xv = RpvXp + cv
Here, Rpv is a 3 × 3 rotation matrix that transforms the Z-axis (0,0,1) t into a plane normal vector nv. Rpv is calculated with the rotation axis as the outer product of (0,0,1) t and nv, and the rotation angle as the inverse cosine (arccos) of the inner product of (0,0,1) t and nv. Therefore, the three-dimensional coordinate Xv in the three-dimensional world coordinate system is converted into the three-dimensional coordinate Xp in the plane coordinate system as shown in the following equation.

Xp=Rpv−1(Xv−cv)
Xvとしてtvを入力したときのXpを算出する。3自由度の位置姿勢のうちxv,yvは、3次元座標XpのXp成分、Yp成分に該当する。θvは画像センサの光軸を平面に射影したベクトルの方向である。本実施形態ではステレオカメラの左側のカメラの光軸を画像センサの光軸とする。画像センサに規定されるカメラ座標系における画像センサの光軸を表わす3次元ベクトルをvcとすると、平面座標系における画像センサの光軸voは次式のように表わされる。
Xp = Rpv-1 (Xv-cv)
Calculate Xp when tv is input as Xv. Of the positions and orientations with three degrees of freedom, xv and yv correspond to the Xp component and the Yp component of the three-dimensional coordinates Xp. θv is the direction of the vector that projects the optical axis of the image sensor onto a plane. In the present embodiment, the optical axis of the camera on the left side of the stereo camera is the optical axis of the image sensor. Assuming that the three-dimensional vector representing the optical axis of the image sensor in the camera coordinate system defined by the image sensor is vc, the optical axis vo of the image sensor in the plane coordinate system is expressed by the following equation.

vo=Rpv−1Rvvc
前述したように、本実施形態ではステレオカメラの光軸が水平面よりやや上方を向くように無人搬送車に取り付けるため、光軸voを平面座標系のXY平面に射影してθvを算出する。平面座標系のXY平面上に射影された光軸vo’は、次式のように算出される。
vo = Rpv-1Rvvc
As described above, in the present embodiment, in order to attach the stereo camera to the automatic guided vehicle so that the optical axis of the stereo camera faces slightly upward from the horizontal plane, the optical axis vo is projected onto the XY plane of the plane coordinate system to calculate θv. The optical axis vo'projected on the XY plane of the plane coordinate system is calculated by the following equation.

vo’=vo−(vo・(0,0,1)t)vo
本実施形態では、平面座標系のX軸に対するvo’の角度をθvとする。
vo'= vo- (vo · (0,0,1) t) vo
In the present embodiment, the angle of vo'with respect to the X axis of the plane coordinate system is θv.

情報処理装置11の構成は図4で述べた例に限定しない。例えば、図5に示すような情報処理装置の機能構成例をでもよい。情報処理装置11は、画像情報入力部111、6自由度推定部112、変換部113、地図情報取得部116、平面情報取得部117、計測部122、決定部120を有する。移動体1は、距離情報入力部118、3自由度推定部119、制御部115、第2地図情報取得部221を有する。 The configuration of the information processing device 11 is not limited to the example described in FIG. For example, a functional configuration example of the information processing device as shown in FIG. 5 may be used. The information processing device 11 includes an image information input unit 111, a 6-DOF estimation unit 112, a conversion unit 113, a map information acquisition unit 116, a plane information acquisition unit 117, a measurement unit 122, and a determination unit 120. The moving body 1 has a distance information input unit 118, a degree of freedom estimation unit 119, a control unit 115, and a second map information acquisition unit 221.

S1040において、決定部120が、移動体に傾きが発生しているか否かを判断するが、毎回必ずしも判断しなくてもよい。例えば、移動体の傾きが頻繁に変わるような凸凹道を走行する際、水平になる度に6自由度から3自由度の推定に変更すると、かえって移動体の位置姿勢推定が不安定になる場合がある。頻繁に推定方法を変更することがないように、移動体に所定の値より大きい傾きが検出された場合は、決定部120は、移動体の傾きが解消されても所定時間(例えば、1分間)が経過するまでは6自由度の計測結果に基づいて、位置姿勢を決定する。つまり、決定部120は、移動体の傾きが所定の値より大きい状態から所定の値より小さくなった場合に、移動体の傾きが所定の値より小さくなった時点から一定時間後に3自由度の位置姿勢計測結果に基づいて移動体の位置姿勢を決定する。または、小さな段差を通過する際は移動体の傾きは一瞬で解消される。そのような場合は6自由度で位置姿勢計測をしなくてもそれほど誤差は発生しないため、6自由度の位置姿勢推定のみに切り替えることをせず、3自由度による位置姿勢推定を継続する。つまり、所定時間より長い時間だけ移動体の傾きが所定の値より大きい状態を保持した場合に、決定部120が6自由度の位置姿勢計測結果に基づいて、移動体の3自由度の位置姿勢を決定する。このように、位置姿勢推定の方法を切り替えた時間または移動体の傾きが保持された時間に応じて決定部120の処理を変更することで、より安定して移動体の位置姿勢を決定できる。 In S1040, the determination unit 120 determines whether or not the moving body is tilted, but it is not always necessary to determine. For example, when traveling on an uneven road where the inclination of the moving body changes frequently, if the estimation is changed from 6 degrees of freedom to 3 degrees of freedom each time it becomes horizontal, the position and orientation estimation of the moving body becomes unstable. There is. When a tilt larger than a predetermined value is detected in the moving body so that the estimation method is not changed frequently, the determination unit 120 determines the predetermined time (for example, 1 minute) even if the tilt of the moving body is eliminated. ) Elapses, the position and orientation are determined based on the measurement results of 6 degrees of freedom. That is, when the inclination of the moving body becomes smaller than the predetermined value from the state where the inclination of the moving body is larger than the predetermined value, the determination unit 120 has three degrees of freedom after a certain time from the time when the inclination of the moving body becomes smaller than the predetermined value. The position and orientation of the moving body are determined based on the position and orientation measurement results. Alternatively, when passing through a small step, the inclination of the moving body is eliminated in an instant. In such a case, since an error does not occur so much even if the position / orientation measurement is not performed with 6 degrees of freedom, the position / orientation estimation with 3 degrees of freedom is continued without switching to only the position / orientation estimation with 6 degrees of freedom. That is, when the tilt of the moving body is held larger than the predetermined value for a time longer than the predetermined time, the determination unit 120 is based on the position / posture measurement result of 6 degrees of freedom, and the position / posture of the moving body has 3 degrees of freedom. To determine. In this way, the position and orientation of the moving body can be determined more stably by changing the processing of the determination unit 120 according to the time when the method of estimating the position and orientation is switched or the time when the inclination of the moving body is held.

以上述べたように、本実施形態では、移動体の傾きが所定の値より大きい場合、画像情報によって推定される6自由度の位置姿勢を3自由度の位置姿勢に変換した情報を用いて移動体の位置姿勢を決定する。これによって、移動体が走行する床面上に坂道があっても安定的に位置姿勢を決定できる。 As described above, in the present embodiment, when the inclination of the moving body is larger than a predetermined value, the movement is performed using the information obtained by converting the position / posture of 6 degrees of freedom estimated from the image information into the position / posture of 3 degrees of freedom. Determine the position and posture of the body. As a result, the position and posture can be stably determined even if there is a slope on the floor on which the moving body travels.

<実施形態2>
前述の実施形態では、移動体の傾きが所定の値より大きい場合、画像情報によって推定される6自由度の位置姿勢を3自由度の位置姿勢に変換した情報を用いて移動体の位置姿勢を決定することを可能にした。実施形態2では、移動体は略平面(基準となる面)を走行するものとして、走行時に本来傾くはずのない移動体の傾きを検出する。移動体の傾きは、例えば移動体上の荷物が荷台にバランスよく搭載されていない場合に生じる。この場合、荷崩れが起こる可能性があるため、傾きを検出したらユーザに警告を通知する必要がある。
<Embodiment 2>
In the above-described embodiment, when the inclination of the moving body is larger than a predetermined value, the position / posture of the moving body is determined by using the information obtained by converting the position / posture of 6 degrees of freedom estimated from the image information into the position / posture of 3 degrees of freedom. Made it possible to decide. In the second embodiment, it is assumed that the moving body travels on a substantially flat surface (reference surface), and the inclination of the moving body that should not originally tilt during traveling is detected. Tilt of the moving body occurs, for example, when the luggage on the moving body is not loaded on the loading platform in a well-balanced manner. In this case, since the load may collapse, it is necessary to notify the user of a warning when the inclination is detected.

図8に、本実施形態における情報処理装置21の機能構成例のブロック図を示す。移動体2に搭載された情報処理装置21は、情報処理装置11と同様に画像センサ12、距離センサ13、接触センサ14、アクチュエータ15、オドメーター17、記憶部18を備え、さらに重力センサ29に接続されている。重力センサ29は、移動体の重力方向の傾きを検知し、3自由度の姿勢を計測する。 FIG. 8 shows a block diagram of a functional configuration example of the information processing device 21 according to the present embodiment. The information processing device 21 mounted on the moving body 2 includes an image sensor 12, a distance sensor 13, a contact sensor 14, an actuator 15, an odometer 17, and a storage unit 18 as in the information processing device 11, and is further connected to a gravity sensor 29. Has been done. The gravity sensor 29 detects the inclination of the moving body in the direction of gravity and measures the posture with three degrees of freedom.

情報処理装置21は、実施形態1の構成に加え、傾き検出部214、出力部221を有する。情報処理装置11と同様に情報処理装置21は、例えばPC、組み込みシステム、PLC(Programmable Logic Controller)である。 The information processing device 21 has a tilt detection unit 214 and an output unit 221 in addition to the configuration of the first embodiment. Similar to the information processing device 11, the information processing device 21 is, for example, a PC, an embedded system, or a PLC (Programmable Logical Controller).

傾き検出部214は、6自由度推定部212によって推定されるカメラの姿勢に基づいて走行する平面に対する移動体の傾きを検出する。あるいは、加速度センサやジャイロセンサ等の重力センサ29を用いて、移動体の重力方向の傾きを検出してもよい。 The tilt detection unit 214 detects the tilt of the moving body with respect to the traveling plane based on the posture of the camera estimated by the 6-DOF estimation unit 212. Alternatively, a gravity sensor 29 such as an acceleration sensor or a gyro sensor may be used to detect the inclination of the moving body in the gravity direction.

出力部221は、傾き検出部214が所定の値より大きい移動体の傾きを検出した場合にユーザに警告を発して通知する。出力部221は例えばスピーカーである。または、警告表示を行うディスプレイでもよい。移動体が傾いていることをユーザに知らせることで、移動体の移動制御が失敗する前に安全に対処することができる。 The output unit 221 issues a warning to the user when the inclination detection unit 214 detects an inclination of a moving body larger than a predetermined value. The output unit 221 is, for example, a speaker. Alternatively, a display that displays a warning may be used. By notifying the user that the moving body is tilted, it is possible to safely deal with the movement control of the moving body before it fails.

図9に本実施形態における移動体の移動制御に適用した場合の処理手順のフローチャートを示す。同一のステップ番号の処理は実施形態1または2の処理と同一であるので説明を省略する。 FIG. 9 shows a flowchart of the processing procedure when applied to the movement control of the moving body in the present embodiment. Since the processing of the same step number is the same as the processing of the first or second embodiment, the description thereof will be omitted.

S2040では、傾き検出部314において、走行する平面に対する移動体の傾きθを検出する。まず移動体の傾き角度を算出する。傾きのリファレンスを、S3010における平面推定用のデータ取得時のカメラ座標系における走行平面の法線ベクトルnrefとする。nref=(Rvi)−1nvである。nrefはN個のRviのうち1個のRviを決定して算出してもよいし、それぞれのRviからnrefを算出し、平均をとってもよい。6自由度推定部312によって推定される姿勢を表わす3×3回転行列がRvのとき、カメラ座標系における走行平面の法線ベクトルは、ncur=(Rv)−1nvでのように算出される。走行する平面に対する移動体の傾きθは、nrefとncurのなす角である。 In S2040, the inclination detection unit 314 detects the inclination θ of the moving body with respect to the traveling plane. First, the tilt angle of the moving body is calculated. The inclination reference is the normal vector nref of the traveling plane in the camera coordinate system at the time of data acquisition for plane estimation in S3010. nref = (Rvi) -1nv. The nref may be calculated by determining one Rvi out of N Rvi, or the nref may be calculated from each Rvi and averaged. When the 3 × 3 rotation matrix representing the posture estimated by the 6-DOF estimation unit 312 is Rv, the normal vector of the traveling plane in the camera coordinate system is calculated as ncur = (Rv) -1nv. The inclination θ of the moving body with respect to the traveling plane is the angle formed by nref and ncur.

S2045では、出力部321が、走行する平面に対する移動体の傾きθが所定の閾値以上であれば移動体が傾いていると判定し、ユーザに警告を通知する。ユーザへの警告は、例えば出力部321のスピーカーから警告音を発するなどして行う。 In S2045, the output unit 321 determines that the moving body is tilted if the inclination θ of the moving body with respect to the traveling plane is equal to or greater than a predetermined threshold value, and notifies the user of a warning. The warning to the user is given, for example, by emitting a warning sound from the speaker of the output unit 321.

<実施形態3>
本実施形態では、移動体の移動制御に本発明を適用した場合について説明する。本実施形態では、移動体は、部分的に坂道が存在する平面(床面)を走行するものとし、移動体に搭載された画像センサ(カメラ)が撮影する画像情報をもとに推定される6自由度の位置姿勢をもとに移動体の走行距離の算出を行う。6自由度の位置及び姿勢の計測結果を用いて移動体の位置及び姿勢を推定する。これによって、移動体の位置及び姿勢を安定的に取得できる。
<Embodiment 3>
In the present embodiment, a case where the present invention is applied to the movement control of a moving body will be described. In the present embodiment, the moving body is assumed to travel on a plane (floor surface) on which a slope partially exists, and is estimated based on image information taken by an image sensor (camera) mounted on the moving body. The mileage of the moving body is calculated based on the position and orientation of 6 degrees of freedom. The position and posture of the moving body are estimated using the measurement results of the position and posture of 6 degrees of freedom. As a result, the position and posture of the moving body can be stably acquired.

図10に示す移動体3に搭載された情報処理装置31は、移動体の周囲を撮像した画像に基づいて移動体の位置及び姿勢を推定し、その推定結果に基づいて移動体を移動制御する。情報処理装置31は、画像センサ32、距離センサ33、接触センサ34、アクチュエータ35、オドメーター37、記憶部38に接続されている。また移動体3は図1の上位管理システム16との無線通信を行う。 The information processing device 31 mounted on the moving body 3 shown in FIG. 10 estimates the position and posture of the moving body based on an image captured around the moving body, and controls the movement of the moving body based on the estimation result. .. The information processing device 31 is connected to an image sensor 32, a distance sensor 33, a contact sensor 34, an actuator 35, an odometer 37, and a storage unit 38. Further, the mobile body 3 performs wireless communication with the upper management system 16 of FIG.

画像センサ32はカメラである。画像センサ32は、移動体の周囲を撮像する撮像装置である。本実施形態における画像センサは、水平・垂直方向の画角を有するモノクロカメラ2個から構成されるステレオカメラであるとする。ステレオカメラは、光軸が水平面よりやや上方を向くように移動体に取り付ける。ステレオカメラを構成する2台のカメラの内部パラメータ(焦点距離、画像中心、歪みパラメータ)及びカメラ間の外部パラメータ(相対的な位置姿勢)は公知の方法により予め校正されているものとする。本実施形態では、カメラの光学中心を原点、光軸方向をZ軸、画像の水平方向をX軸、画像の垂直方向をY軸とする三次元の座標系をカメラ座標系と規定する。ステレオカメラのカメラ座標系は、左側カメラ(または右側カメラ)のカメラ座標系であるとする。画像センサ32の移動体における取付け位置は設計値により既知であるとする。 The image sensor 32 is a camera. The image sensor 32 is an image pickup device that images the surroundings of a moving body. It is assumed that the image sensor in the present embodiment is a stereo camera composed of two monochrome cameras having an angle of view in the horizontal and vertical directions. The stereo camera is attached to the moving body so that the optical axis faces slightly upward from the horizontal plane. It is assumed that the internal parameters (focal length, image center, distortion parameter) of the two cameras constituting the stereo camera and the external parameters (relative position / orientation) between the cameras are pre-calibrated by a known method. In the present embodiment, a three-dimensional coordinate system in which the optical center of the camera is the origin, the optical axis direction is the Z axis, the horizontal direction of the image is the X axis, and the vertical direction of the image is the Y axis is defined as the camera coordinate system. It is assumed that the camera coordinate system of the stereo camera is the camera coordinate system of the left camera (or the right camera). It is assumed that the mounting position of the image sensor 32 on the moving body is known by the design value.

距離センサ33はセンサからのシーンの距離情報を計測する装置である。本実施形態における距離センサは2D LiDARである。2D LiDARは、レーザ光を平面上で走査させることによって距離情報を取得する距離センサである。距離センサ33は、レーザ光を走査させる平面が略水平面となるように移動体に取り付ける。距離センサ33の移動体における取付け位置は設計値により既知であるとする。実施形態3では、距離センサ33を障害物センサとして利用する。 The distance sensor 33 is a device that measures the distance information of the scene from the sensor. The distance sensor in this embodiment is 2D LiDAR. 2D LiDAR is a distance sensor that acquires distance information by scanning a laser beam on a plane. The distance sensor 33 is attached to the moving body so that the plane on which the laser beam is scanned is a substantially horizontal plane. It is assumed that the mounting position of the distance sensor 33 on the moving body is known by the design value. In the third embodiment, the distance sensor 33 is used as an obstacle sensor.

接触センサ34は安全センサである。接触センサが移動体と他の物体との接触を検知すると移動体は緊急停止する。 The contact sensor 34 is a safety sensor. When the contact sensor detects the contact between the moving body and another object, the moving body makes an emergency stop.

アクチュエータ35は、情報処理装置31からの指示や障害物センサ、安全センサの出力をもとにモータを制御して移動体を移動または静止させる。 The actuator 35 controls the motor based on the instruction from the information processing device 31 and the output of the obstacle sensor and the safety sensor to move or stop the moving body.

上位管理システム16は、複数の移動体の運行管理を行うシステムである。上位管理システム16は、各移動体の情報処理装置31に目標位置姿勢を送信する。本実施形態では、移動体の目標位置姿勢は平面上における3自由度の位置姿勢であるとする。上位管理システム16と情報処理装置31の間の通信は、WifiやBlueTootth、5Gなどの無線通信により行う。 The upper management system 16 is a system that manages the operation of a plurality of mobile objects. The host management system 16 transmits the target position / orientation to the information processing device 31 of each mobile body. In the present embodiment, the target position / posture of the moving body is a position / posture with three degrees of freedom on a plane. Communication between the host management system 16 and the information processing device 31 is performed by wireless communication such as Wifi, BlueTouch, or 5G.

オドメーター37は、移動体の車輪の回転量から走行距離を計測する。 The odometer 37 measures the mileage from the amount of rotation of the wheels of the moving body.

記憶部38は、移動体が走行する環境についての地図情報を記憶する。他、移動体の走行距離や移動制御に必要な情報を保持する。なお、図10のように記憶部38は移動体上に搭載されている形以外でもよく、上位管理システム16の内部にあってもよい。 The storage unit 38 stores map information about the environment in which the moving body travels. In addition, it holds information necessary for the mileage of the moving body and movement control. Note that the storage unit 38 may be in a form other than that mounted on the moving body as shown in FIG. 10, and may be inside the upper management system 16.

(情報処理装置31の詳細)
図10に、本実施形態における情報処理装置の機能構成例を示す図を示す。情報処理装置31は、画像情報入力部311、6自由度推定部312、変換部313、走行距離算出部314、制御部315、地図情報取得部316、平面情報取得部317、から構成される。情報処理装置31は、例えばPC、組み込みシステム、PLC(Programmable Logic Controller)である。
(Details of Information Processing Device 31)
FIG. 10 shows a diagram showing a functional configuration example of the information processing apparatus according to the present embodiment. The information processing device 31 is composed of an image information input unit 311, a 6-DOF estimation unit 312, a conversion unit 313, a mileage calculation unit 314, a control unit 315, a map information acquisition unit 316, and a plane information acquisition unit 317. The information processing device 31 is, for example, a PC, an embedded system, or a PLC (Programmable Logical Controller).

画像情報入力部311は、画像センサ32から画像情報を入力し、入力された画像情報を6自由度推定部312に送る。本実施形態における画像センサ32はステレオカメラであるため、画像情報はステレオ画像(左右のカメラが撮影する2枚の画像)である。画像センサ32は、移動体が走行する工場や物流倉庫などの画像情報を撮像する。よって、本実施形態における画像情報とは、移動体に搭載された撮像装置によって移動体の走行する環境を撮像したステレオ画像を指す。 The image information input unit 311 inputs image information from the image sensor 32 and sends the input image information to the 6-DOF estimation unit 312. Since the image sensor 32 in this embodiment is a stereo camera, the image information is a stereo image (two images taken by the left and right cameras). The image sensor 32 captures image information of a factory or a distribution warehouse in which a moving body travels. Therefore, the image information in the present embodiment refers to a stereo image obtained by capturing the traveling environment of the moving body by an imaging device mounted on the moving body.

6自由度推定部312は、画像情報入力部311から入力された画像情報(ステレオ画像)をシーンの地図情報と照合することにより3次元空間中におけるカメラの6自由度の位置姿勢(位置3自由度、姿勢3自由度)を推定する。6自由度の位置姿勢は、前述のシーンの地図情報において規定される3次元の座標系(以下、世界座標系)を基準とした位置姿勢である。本実施形態では、Mur−Artalらの手法によりシーンの地図情報の生成及びカメラの6自由度の位置姿勢推定を行う。(R.Mur−Artal 他,“ORB−SLAM2:An Open−Source SLAM System for Monocular,Stereo,and RGB−D Cameras,”,2017.)。Mur−Artalらの手法は画像上で検出される特徴点を利用する手法である。シーンの地図情報は、移動体が走行する工場や物流倉庫といった移動体が走行するシーンにおける3次元点群の情報を保持する。具体的には、シーンにおける3次元点群の情報は特徴点の世界座標系における3次元座標のことである。本実施形態では、移動体を走行させながら撮影した映像をもとに、前述のMur−Artalらの手法によりあらかじめシーンの地図情報を生成しておく。シーンの地図情報は、記憶部38に保存されているものとする。Mur−Artalらの手法は、画像上の特徴点の位置と、推定する位置姿勢を用いて地図上の特徴点を画像上に投影した時の位置の差(再投影誤差)を最小化することによりカメラの位置姿勢を推定する。 The 6-DOF estimation unit 312 collates the image information (stereo image) input from the image information input unit 311 with the map information of the scene, so that the position and orientation of the camera in the 3D space (position 3 degrees of freedom) (position 3 freedom) Degree, posture 3 degrees of freedom) is estimated. The position / orientation with six degrees of freedom is a position / orientation based on the three-dimensional coordinate system (hereinafter referred to as the world coordinate system) defined in the map information of the scene described above. In this embodiment, the map information of the scene is generated and the position / orientation estimation of the camera with 6 degrees of freedom is performed by the method of Mur-Artal et al. (R. Mur-Artal et al., "ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras,", 2017.). The method of Mur-Artal et al. Is a method using feature points detected on an image. The map information of the scene holds the information of the three-dimensional point cloud in the scene in which the moving object travels, such as a factory or a distribution warehouse in which the moving object travels. Specifically, the information of the three-dimensional point cloud in the scene is the three-dimensional coordinates of the feature points in the world coordinate system. In the present embodiment, the map information of the scene is generated in advance by the method of Mur-Artal et al. described above based on the image taken while the moving body is running. It is assumed that the map information of the scene is stored in the storage unit 38. The method of Mur-Artal et al. Minimizes the difference (reprojection error) between the position of the feature point on the image and the position when the feature point on the map is projected on the image using the estimated position and orientation. Estimates the position and orientation of the camera.

変換部313は、6自由度推定部312が推定した6自由度のカメラの位置姿勢を、移動体の制御が可能なように移動体の3自由度の位置姿勢に変換する。なお、3自由度の位置姿勢も推定あるいは計測可能な移動体である場合は、移動体の傾きに応じて3自由度の位置姿勢推定結果と6自由度の位置姿勢変換結果を選択的に用いてもよい。移動体の傾きは、例えば、6自由度の位置及び姿勢の推定結果の高さ方向の値(Z)で判断してもよい。例えば、Z=0の場合は、移動体は基準となる面を走行していると考え、3自由度に次元を減らした位置及び姿勢に変換する。一方で、Z>0(またはZ<0)の場合は、斜面を登っている(或いは下っている)と考えられるため、6自由度の位置及び姿勢を用いて制御を行うようにする。前述の通り、3自由度の位置姿勢は移動体が走行する平面における位置姿勢である。3自由度のうち2自由度は平面上の2次元位置、残りの1自由度は平面の法線まわりの姿勢(平面上の向き)を表わす。移動体が走行する平面の推定方法については後述する。移動体が走行する平面の情報は平面情報取得部317に保存されているものとする。 The conversion unit 313 converts the position / orientation of the camera with 6 degrees of freedom estimated by the 6-DOF estimation unit 312 into the position / orientation of the moving body with 3 degrees of freedom so that the moving body can be controlled. If the position / posture of 3 degrees of freedom is also a moving body that can be estimated or measured, the position / posture estimation result of 3 degrees of freedom and the position / posture conversion result of 6 degrees of freedom are selectively used according to the inclination of the moving body. You may. The inclination of the moving body may be determined, for example, by the value (Z) in the height direction of the estimation result of the position and the posture with six degrees of freedom. For example, when Z = 0, it is considered that the moving body is traveling on a reference surface, and the moving body is converted into a position and a posture whose dimensions are reduced to three degrees of freedom. On the other hand, when Z> 0 (or Z <0), it is considered that the slope is climbing (or descending), so control is performed using the position and posture with 6 degrees of freedom. As described above, the position / orientation with three degrees of freedom is the position / orientation on the plane on which the moving body travels. Of the three degrees of freedom, two degrees of freedom represent the two-dimensional position on the plane, and the remaining one degree of freedom represents the posture (orientation on the plane) around the normal of the plane. The method of estimating the plane on which the moving body travels will be described later. It is assumed that the information on the plane on which the moving body travels is stored in the plane information acquisition unit 317.

走行距離算出部314は、6自由度推定部312が推定するカメラの位置と前回計測された位置との差を使って移動体の走行距離を算出する。 The mileage calculation unit 314 calculates the mileage of the moving body by using the difference between the position of the camera estimated by the 6-DOF estimation unit 312 and the position measured last time.

制御部315は、変換部313が変換した位置姿勢をもとに移動体の制御を行う。具体的には、制御部315は、あらかじめ設定した移動体の目標位置姿勢(3自由度)と、変換部312が出力する3自由度の位置姿勢の差をもとに経路計算を行い、計算された経路に従うようにアクチュエータ35にモータの回転速度などの指示を送る。移動体の位置姿勢が目標位置姿勢と略一致した場合には移動体を停止し、上位管理システム16から次の目標位置姿勢が送られてくるのを待つ。なお、経路計算はA*アルゴリズムやRRT(Rapidly exploring random tree)といったアルゴリズムを用いてもよいし、Q学習やDQNなどの機械学習による方法を用いてもよい。 The control unit 315 controls the moving body based on the position / orientation converted by the conversion unit 313. Specifically, the control unit 315 performs route calculation based on the difference between the preset target position / orientation (3 degrees of freedom) of the moving body and the position / orientation of the 3 degrees of freedom output by the conversion unit 312, and calculates the route. An instruction such as a rotation speed of the motor is sent to the actuator 35 so as to follow the set path. When the position / orientation of the moving body substantially matches the target position / posture, the moving body is stopped and waits for the next target position / posture to be sent from the upper management system 16. The route calculation may use an algorithm such as an A * algorithm or an RRT (Rapidly exploring random stream), or a machine learning method such as Q-learning or DQN.

地図情報取得部316は、記憶部38より移動体が走行する環境の3自由度の地図情報を取得する。また、予め設定された移動体の3自由度の目標位置姿勢を取得する。 The map information acquisition unit 316 acquires map information of three degrees of freedom in the environment in which the moving object travels from the storage unit 38. In addition, the target position and posture of the three degrees of freedom of the moving body set in advance are acquired.

平面情報取得部317は、移動体を運用時と同じ基準となる平面上を走行させることにより平面推定用のデータの取得を行う。平面推定用のデータは、移動体が走行した時の複数(N点)の位置における位置姿勢データである。位置姿勢データは、6自由度位置姿勢推定によって推定される画像センサ312の6自由度位置姿勢である。基準面よりΘだけ傾いた傾斜面を走行する場合でも、3自由度の位置及び姿勢を正しく推定できるように、6自由度の位置及び姿勢を撮像装置によって撮像された画像を基に推定する。 The plane information acquisition unit 317 acquires data for plane estimation by running the moving body on a plane that serves as the same reference as during operation. The data for plane estimation is position / orientation data at a plurality of positions (N points) when the moving body travels. The position-posture data is the 6-DOF position-posture of the image sensor 312 estimated by the 6-DOF position-posture estimation. Even when traveling on an inclined surface inclined by Θ from the reference surface, the position and orientation of 6 degrees of freedom are estimated based on the image captured by the image pickup device so that the position and orientation of 3 degrees of freedom can be correctly estimated.

図11に本発明を移動体の移動制御に適用した場合の処理手順のフローチャートを示す。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。ただし、情報処理装置31はこのフローチャートで説明するすべてのステップを必ずしも行わなくても良い。 FIG. 11 shows a flowchart of a processing procedure when the present invention is applied to the movement control of a moving body. In the following description, the notation of the process (step) is omitted by adding S at the beginning of each process (step). However, the information processing device 31 does not necessarily have to perform all the steps described in this flowchart.

S3010では、平面情報取得部317が、事前準備として移動体が走行する平面の推定を行う。推定される平面を用いることで、6自由度推定部312によって推定される6自由度位置姿勢を平面上の3自由度位置姿勢に変換することが可能になる。移動体が走行する平面の推定は、移動体を平面上に走行させたときに推定される位置に平面当てはめを行うことにより推定する。移動体が走行する平面の推定方法の詳細については後述する。 In S3010, the plane information acquisition unit 317 estimates the plane on which the moving body travels as a preliminary preparation. By using the estimated plane, it is possible to convert the 6-DOF position / posture estimated by the 6-DOF position estimation unit 312 into the 3-DOF position / posture on the plane. The plane on which the moving body travels is estimated by fitting the plane to the position estimated when the moving body is run on the plane. The details of the method of estimating the plane on which the moving body travels will be described later.

S3020では、地図情報取得部316は、上位管理システム16から移動体の目標位置姿勢を取得する。本実施形態では、移動体の目標位置姿勢は平面上における3自由度の位置姿勢であるとする。 In S3020, the map information acquisition unit 316 acquires the target position / posture of the moving body from the upper management system 16. In the present embodiment, the target position / posture of the moving body is a position / posture with three degrees of freedom on a plane.

S3030では、6自由度推定部312は、少なくとも移動体の周囲を撮像した画像に基づいて、撮像装置の6自由度の位置及び姿勢を示す第1情報を推定する。具体的には、6自由度推定部312は、ステレオカメラによって撮影された画像情報をもとにカメラの6自由度の位置姿勢推定を行う。位置姿勢推定の際には地図情報取得部316によって予め取得された地図情報を利用する。カメラの6自由度の位置姿勢推定には、前述のMur−Artalらの手法を用いる。地図は生成済みであるため、地図情報は更新せずカメラの位置姿勢のみを画像情報から推定する。 In S3030, the 6-DOF estimation unit 312 estimates the first information indicating the position and orientation of the 6-DOF of the image pickup device based on at least the image captured around the moving body. Specifically, the 6-DOF estimation unit 312 estimates the position and orientation of the camera based on the image information captured by the stereo camera. When estimating the position and orientation, the map information acquired in advance by the map information acquisition unit 316 is used. The method of Mur-Artal et al. described above is used to estimate the position and orientation of the camera with 6 degrees of freedom. Since the map has already been generated, the map information is not updated and only the position and orientation of the camera are estimated from the image information.

S3045では、変換部313が、S3030で推定された6自由度の位置姿勢を、S3010で推定された移動体が走行する平面パラメータの推定結果に基づいて変換することで、移動体の3自由度の位置姿勢を決定する。また前述の画像センサ32の移動体における取付け位置に基づいて、カメラの位置姿勢を移動体の位置姿勢に変換する。 In S3045, the conversion unit 313 converts the position / posture of 6 degrees of freedom estimated in S3030 based on the estimation result of the plane parameter on which the moving body travels estimated in S3010, so that the moving body has 3 degrees of freedom. Determine the position and posture of. Further, the position and orientation of the camera are converted into the position and orientation of the moving body based on the mounting position of the image sensor 32 on the moving body.

S3060では、S3045で変換した移動体の位置姿勢と、S3020で取得した移動体の目標位置姿勢を比較し、移動体が目標位置姿勢に到達したか判定する。本実施形態では、現在の位置と目標位置との差、現在の姿勢と目標姿勢との差のそれぞれに閾値を設け、位置の差及び姿勢の差の双方が該当する閾値を下回った場合に目標位置に到達したと判定する。本実施形態では、現在の位置と目標位置との差、現在の姿勢と目標姿勢との差のそれぞれに閾値を設け、位置の差及び姿勢の差の双方が該当する閾値を下回った場合に目標位置に到達したと判定する。目標位置に到達した場合は、S3020に戻り、新たな目標位置姿勢を上位管理システムから受け取る。 In S3060, the position / posture of the moving body converted in S3045 is compared with the target position / posture of the moving body acquired in S3020, and it is determined whether the moving body has reached the target position / posture. In the present embodiment, threshold values are set for each of the difference between the current position and the target position and the difference between the current posture and the target posture, and when both the difference in position and the difference in posture are below the corresponding threshold values, the target is set. It is determined that the position has been reached. In the present embodiment, threshold values are set for each of the difference between the current position and the target position and the difference between the current posture and the target posture, and when both the difference in position and the difference in posture are below the corresponding threshold values, the target is set. It is determined that the position has been reached. When the target position is reached, the process returns to S3020 and a new target position / attitude is received from the upper management system.

S3070では、制御部315は、S3045で変換された移動体の位置姿勢と上位管理システム16から送信された移動体の目標位置姿勢の差をもとに経路計算を行い、計算された経路に従うように移動体のアクチュエータ35を制御する。また、走行距離算出部314は、6自由度推定部313が推定するカメラの位置をもとに移動体の走行距離Dを算出する。具体的には、移動体の運行を始める際に走行距離Dをゼロに設定しておき、本ステップにおいて前回推定時の位置との今回推定された位置の差dをもとに、走行距離DをD←D+dのように更新する。 In S3070, the control unit 315 calculates the route based on the difference between the position / orientation of the moving body converted in S3045 and the target position / orientation of the moving body transmitted from the upper management system 16, and follows the calculated route. Controls the actuator 35 of the moving body. Further, the mileage calculation unit 314 calculates the mileage D of the moving body based on the position of the camera estimated by the 6-DOF estimation unit 313. Specifically, the mileage D is set to zero when the moving body starts to operate, and the mileage D is based on the difference d between the position at the time of the previous estimation and the position estimated this time in this step. Is updated as D ← D + d.

S3080では、制御部315は、移動制御の終了判定を行う。上位管理システム16から終了命令が送られた場合には移動制御を終了する。さもなければS3030に戻り、移動制御を継続する。 In S3080, the control unit 315 determines the end of the movement control. When a termination command is sent from the higher management system 16, the movement control is terminated. Otherwise, it returns to S3030 and continues the movement control.

図5はS3010における移動体が走行する平面の推定方法の処理手順を示すフローチャートである。S1100では、平面情報取得部317が、移動体を運用時と同じ平面上を走行させることにより平面推定用のデータの取得を行う。平面推定用のデータは、移動体が走行した時の複数(N点)の位置における位置姿勢データである。位置姿勢データは、6自由度位置姿勢推定によって推定される画像センサ32の6自由度位置姿勢である。ここでi番目(1≦i≦N)の位置姿勢データにおけるカメラの6自由度位置姿勢を(Xvi,Yvi,Zvi,Wxvi,Wyvi,Wzvi)と表す。Xvi,Yvi,Zviは3次元空間におけるカメラの3次元位置、Wxvi,Wyvi,Wzviは3次元の姿勢を表わす。本実施形態では、3次元ベクトル(Wxvi,Wyvi,Wzvi)のノルムを回転角、方向を回転軸とする姿勢表現を用いる。また、Wxvi,Wyvi,Wzviで表される姿勢の3×3回転行列をRvi、3次元ベクトル(Xvi,Yvi,Zvi)tをtviと表す。平面推定用データを取得する際は、移動体の移動軌跡から平面パラメータを推定できるように、直線的な軌跡ではなく、例えば移動体の軌跡が閉曲線を描くように移動体を移動させる。なお、部分的な坂道や移動体の振動や床面の凹凸などによる平面からのずれは平面当てはめにより吸収できるものとする。 FIG. 5 is a flowchart showing a processing procedure of the method of estimating the plane on which the moving body travels in S3010. In S1100, the plane information acquisition unit 317 acquires data for plane estimation by running the moving body on the same plane as during operation. The data for plane estimation is position / orientation data at a plurality of positions (N points) when the moving body travels. The position-posture data is the 6-DOF position-posture of the image sensor 32 estimated by the 6-DOF position-posture estimation. Here, the 6-DOF position / orientation of the camera in the i-th (1 ≦ i ≦ N) position / orientation data is expressed as (Xvi, Yvi, Zvi, Wxvi, Wyvi, Wzvi). Xvi, Yvi, and Zvi represent the three-dimensional position of the camera in the three-dimensional space, and Wxvi, Wyvi, and Wzvi represent the three-dimensional posture. In this embodiment, a posture expression is used in which the norm of the three-dimensional vector (Wxvi, Wyvi, Wzvi) is the rotation angle and the direction is the rotation axis. Further, the 3 × 3 rotation matrix of the posture represented by Wxvi, Wyvi, and Wzvi is represented by Rvi, and the three-dimensional vector (Xvi, Yvi, Zvi) t is represented by tvi. When acquiring the plane estimation data, the moving body is moved so that the locus of the moving body draws a closed curve, for example, instead of a linear locus so that the plane parameters can be estimated from the moving locus of the moving body. It should be noted that the deviation from the plane due to the partial slope, the vibration of the moving body, the unevenness of the floor surface, etc. can be absorbed by the plane fitting.

S1110では、N個の3自由度の位置データ(Xvi,Yvi,Zvi)tに対して平面当てはめを行う。平面推定用データ取得の際に移動体が走行した平面のパラメータ(法線ベクトルnv=(nvx,nvy,nvz)t、通過位置cv=(cvx,cvy,cvz)t)を推定する。法線ベクトルnvは単位ベクトルであるとする。通過位置cvは(Xvi,Yvi,Zvi)tの重心を算出することにより求める。法線ベクトルnvは、N個の3次元ベクトル(Xvi−cvx,Yvi−cvy,Zvi−cvz)tの共分散行列を固有値分解し、最小固有値に対応する固有ベクトルとして求める。推定した平面パラメータは、平面情報取得部317に保存しておく。 In S1110, plane fitting is performed on N position data (Xvi, Yvi, Zvi) t having three degrees of freedom. The parameters (normal vector nv = (nvx, nvy, nvz) t, passing position cv = (cvx, cvy, cvz) t) of the plane on which the moving body traveled when acquiring the plane estimation data are estimated. It is assumed that the normal vector nv is a unit vector. The passing position cv is obtained by calculating the center of gravity of (Xvi, Yvi, Zvi) t. The normal vector nv is obtained by eigenvalue-decomposing a covariance matrix of N three-dimensional vectors (Xvi-cvx, Yvi-cvy, Zvi-cvz) t and obtaining it as an eigenvector corresponding to the minimum eigenvalue. The estimated plane parameters are stored in the plane information acquisition unit 317.

次にS3045における6自由度の位置姿勢を3自由度の位置姿勢への変換方法の処理手順について説明する。 Next, the processing procedure of the method of converting the position / posture of 6 degrees of freedom into the position / posture of 3 degrees of freedom in S3045 will be described.

S3010で推定された平面上に6自由度位置姿勢(Xv,Yv,Zv,Wxv,Wyv,Wzv)を射影し、3自由度の位置姿勢(xv,yv,θv)tに変換する(なお、Wxv,Wyv,Wzvで表される姿勢の3×3回転行列をRvとする)。具体的には、平面の通過位置cvを原点、平面の法線ベクトルnvをZ軸とする新しい3次元の座標系(以下、平面座標系)を定義し、3次元世界座標系における6自由度位置姿勢を平面座標系に変換する。定義から、3次元世界座標系において、平面座標系の原点(0,0,0)tがcvt、Z軸(0,0,1)tがnvとなる。このことから、平面座標系における3次元座標Xp(=(Xp,Yp,Zp)は次式のように3次元世界座標系における3次元座標Xv(=(Xv,Yv,Zv)に変換される。 The 6-DOF position / orientation (Xv, Yv, Zv, Wxv, Wyv, Wzv) is projected on the plane estimated in S3010, and the position / orientation (xv, yv, θv) t with 3 degrees of freedom is converted (note that). Rv is a 3 × 3 rotation matrix with postures represented by Wxv, Wyv, and Wzv). Specifically, a new three-dimensional coordinate system (hereinafter referred to as a plane coordinate system) with the plane passing position cv as the origin and the plane normal vector nv as the Z axis is defined, and six degrees of freedom in the three-dimensional world coordinate system. Convert the position / orientation to the plane coordinate system. From the definition, in the three-dimensional world coordinate system, the origin (0,0,0) t of the plane coordinate system is cvt, and the Z axis (0,0,1) t is nv. From this, the three-dimensional coordinate Xp (= (Xp, Yp, Zp) in the plane coordinate system is converted into the three-dimensional coordinate Xv (= (Xv, Yv, Zv) in the three-dimensional world coordinate system as shown in the following equation. ..

Xv=RpvXp+cv
ここで、RpvはZ軸(0,0,1)tを平面の法線ベクトルnvに変換する3×3回転行列である。Rpvは、回転軸を(0,0,1)tとnvの外積、回転角を(0,0,1)tとnvの内積の逆余弦(arccos)として計算する。よって、3次元世界座標系における3次元座標Xvは次式のように平面座標系における3次元座標Xpに変換される。
Xv = RpvXp + cv
Here, Rpv is a 3 × 3 rotation matrix that transforms the Z-axis (0,0,1) t into a plane normal vector nv. Rpv is calculated with the rotation axis as the outer product of (0,0,1) t and nv, and the rotation angle as the inverse cosine (arccos) of the inner product of (0,0,1) t and nv. Therefore, the three-dimensional coordinate Xv in the three-dimensional world coordinate system is converted into the three-dimensional coordinate Xp in the plane coordinate system as shown in the following equation.

Xp=Rpv−1(Xv−cv)
Xvとしてtvを入力したときのXpを算出する。3自由度の位置姿勢のうちxv,yvは、3次元座標XpのXp成分、Yp成分に該当する。θvは画像センサの光軸を平面に射影したベクトルの方向である。本実施形態ではステレオカメラの左側のカメラの光軸を画像センサの光軸とする。画像センサに規定されるカメラ座標系における画像センサの光軸を表わす3次元ベクトルをvcとすると、平面座標系における画像センサの光軸voは次式のように表わされる。
Xp = Rpv-1 (Xv-cv)
Calculate Xp when tv is input as Xv. Of the positions and orientations with three degrees of freedom, xv and yv correspond to the Xp component and the Yp component of the three-dimensional coordinates Xp. θv is the direction of the vector that projects the optical axis of the image sensor onto a plane. In the present embodiment, the optical axis of the camera on the left side of the stereo camera is the optical axis of the image sensor. Assuming that the three-dimensional vector representing the optical axis of the image sensor in the camera coordinate system defined by the image sensor is vc, the optical axis vo of the image sensor in the plane coordinate system is expressed by the following equation.

vo=Rpv−1Rvvc
前述したように、本実施形態ではステレオカメラの光軸が水平面よりやや上方を向くように無人搬送車に取り付けるため、光軸voを平面座標系のXY平面に射影してθvを算出する。平面座標系のXY平面上に射影された光軸vo’は、次式のように算出される。
vo = Rpv-1Rvvc
As described above, in this embodiment, since the stereo camera is attached to the automatic guided vehicle so that the optical axis of the stereo camera faces slightly upward from the horizontal plane, the optical axis vo is projected onto the XY plane of the plane coordinate system to calculate θv. The optical axis vo'projected on the XY plane of the plane coordinate system is calculated by the following equation.

vo’=vo−(vo・(0,0,1)t)vo
本実施形態では、平面座標系のX軸に対するvo’の角度をθvとする。
vo'= vo- (vo · (0,0,1) t) vo
In the present embodiment, the angle of vo'with respect to the X axis of the plane coordinate system is θv.

以上述べたように、本実施形態では、画像情報によって推定される6自由度の位置姿勢をもとに移動体の走行距離を算出する。これによって、移動体が走行する床面上に坂道があっても安定的に走行距離の算出ができる。 As described above, in the present embodiment, the mileage of the moving body is calculated based on the position / posture with 6 degrees of freedom estimated from the image information. As a result, the mileage can be calculated stably even if there is a slope on the floor on which the moving body travels.

(変形例)
前述の実施形態では、画像センサとしてステレオカメラを利用していた。しかしながら画像センサはこれに限るものではなく、位置姿勢を推定するための画像情報が得られるカメラであればいかなるカメラであってもよい。例えば、単眼カメラであってもよいし、RGB画像と距離画像が取得できるRGBDカメラであってもよい。また、画像はモノクロである必要はなく、RGB画像などのカラー画像であってもよい。
(Modification example)
In the above-described embodiment, a stereo camera is used as an image sensor. However, the image sensor is not limited to this, and any camera may be used as long as it can obtain image information for estimating the position and orientation. For example, it may be a monocular camera or an RGBD camera capable of acquiring an RGB image and a distance image. Further, the image does not have to be monochrome, and may be a color image such as an RGB image.

本実施形態では、移動体として工場や倉庫の物流を行うAGVを想定したいたが、それ以外のロボットでもよい。例えば、部屋を清掃する掃除機ロボットにも適用可能である。 In the present embodiment, an AGV that distributes goods in factories and warehouses is assumed as a moving body, but other robots may be used. For example, it can be applied to a vacuum cleaner robot that cleans a room.

前述の実施形態では、入力部はカメラからの画像情報を入力していた。しかしながら、入力部を介して入力するのは画像情報に限るものではない。例えばカメラに据え付けられた慣性センサ(加速度センサ、角速度センサ)や姿勢センサからのセンサ計測値を入力してもよい。 In the above-described embodiment, the input unit inputs image information from the camera. However, inputting via the input unit is not limited to image information. For example, sensor measurement values from an inertial sensor (accelerometer, angular velocity sensor) or attitude sensor installed in the camera may be input.

前述の実施形態では、画像上で検出される特徴点の再投影誤差を最小化する方法を用いてカメラの位置姿勢を推定していた。しかしながらカメラの位置姿勢推定方法はこれに限るものではない。例えば、Engelらが開示している方法のように、輝度値の差を最小化する方法であってもよい。(J.Engel,他,“LSD−SLAM:Large−Scale Direct Monocular SLAM,”2014.)。また、画像だけでなく、加速度センサや角速度センサといった慣性センサとのハイブリッド手法であってもよい。さらには、ニューラルネットワーク(学習済みモデル)を使った位置姿勢推定方法であってもよい。撮像装置によって撮像された前記移動体の周囲を写した画像から移動体の3自由度の位置及び姿勢を出力する学習済みモデルを予め準備してもよい。学習済みモデルは画像に対して正しい距離の計測値を正解として学習させる。他には例えば、Tatenoらが開示している方法のように、CNN(Convolutional Neural Network)により推定した距離情報をもとに位置姿勢推定を行ってもよい。(K.Tateno,他,“CNN−SLAM:Real−time dense monocular SLAM with learned depth prediction,”,2017.)。 In the above-described embodiment, the position and orientation of the camera are estimated by using a method of minimizing the reprojection error of the feature points detected on the image. However, the method for estimating the position and orientation of the camera is not limited to this. For example, a method for minimizing the difference in luminance values may be used, as in the method disclosed by Angel et al. (J. Angel, et al., "LSD-SLAM: Large-Scale Direct Monocular SLAM," 2014.). Further, not only the image but also a hybrid method with an inertial sensor such as an acceleration sensor or an angular velocity sensor may be used. Further, it may be a position / orientation estimation method using a neural network (trained model). A learned model that outputs the position and posture of the moving body with three degrees of freedom from the image of the surroundings of the moving body captured by the imaging device may be prepared in advance. The trained model trains the image with the measured value of the correct distance as the correct answer. Alternatively, for example, as in the method disclosed by Tateno et al., The position / attitude may be estimated based on the distance information estimated by CNN (Convolutional Neural Network). (K. Tateno et al., "CNN-SLAM: Real-time sense monocular SLAM with learned depth prediction,", 2017.).

前述の実施形態では、移動体が走行する平面を走行軌跡に対する平面当てはめにより求めていた。しかしながら、移動体が走行する平面を求める方法はこれに限るものではない。例えば、シーン中に配置した2次元マーカを利用してもよい。(例えば、加藤、M.Billinghurst、浅野、橘、“マーカ追跡に基づく拡張現実感システムとそのキャリブレーション”,1999.に開示されている2次元マーカ)。具体的には、2次元マーカを移動体の走行する平面上に配置してマーカの座標系を平面と一致させ、同一地点におけるマーカに対するカメラの位置姿勢と6自由度推定部によるカメラの位置姿勢の関係からマーカの座標系を基準とした位置姿勢に変換してもよい。また2次元マーカを移動体の走行する平面に対して垂直に配置してもよい。さらには、平面が水平面である場合には、移動体に加速度センサを設置し、加速度センサによって計測される重力軸方向を平面の法線ベクトルとしてもよい。 In the above-described embodiment, the plane on which the moving body travels is obtained by fitting the plane to the traveling locus. However, the method for determining the plane on which the moving body travels is not limited to this. For example, a two-dimensional marker placed in the scene may be used. (For example, two-dimensional markers disclosed in Kato, M. Billinghurst, Asano, Tachibana, "Augmented Reality System Based on Marker Tracking and Its Calibration", 1999.). Specifically, a two-dimensional marker is placed on a plane on which the moving body travels to match the coordinate system of the marker with the plane, and the position and orientation of the camera with respect to the marker at the same point and the position and orientation of the camera by the 6-degree-of-freedom estimation unit The position and orientation may be converted based on the coordinate system of the marker from the relationship of. Further, the two-dimensional marker may be arranged perpendicular to the traveling plane of the moving body. Further, when the plane is a horizontal plane, an acceleration sensor may be installed on the moving body, and the direction of the gravity axis measured by the acceleration sensor may be used as the normal vector of the plane.

実施形態では、距離情報に基づく位置姿勢推定方法としてパーティクルフィルタを利用するGrisettiらの手法を利用していた。しかしながら距離情報に基づく位置姿勢推定方法はこれに限るものではなく、例えばカルマンフィルタを利用する手法であってもよい。またパーティクルフィルタやカルマンフィルタなどの時系列フィルタを使う必要は必ずしもなく、ICPアルゴリズムによってフレームごとに位置姿勢を推定してもよい。(Y.Chen,G.Medioni,“Object modelling by registration of multiple range images,”Image and Vision Computing,1992.)。 In the embodiment, the method of Grisette et al., Which uses a particle filter, is used as a method of estimating the position and orientation based on the distance information. However, the position / orientation estimation method based on the distance information is not limited to this, and may be, for example, a method using a Kalman filter. Further, it is not always necessary to use a time series filter such as a particle filter or a Kalman filter, and the position / orientation may be estimated for each frame by the ICP algorithm. (Y. Chen, G. Mediani, "Object modeling by reregistration of multiple range images," Image and Vision Computing, 1992.).

実施形態では、画像情報を使って推定した位置姿勢と距離情報を使って推定した位置姿勢から制御部15に出力する位置姿勢を決定する際、画像情報を使った位置姿勢推定の失敗したときに距離情報を使って推定した位置姿勢を決定していた。しかしながら、位置姿勢の決定方法はこれに限るものではない。例えば、距離情報を使った位置姿勢推定が失敗したら画像情報を使って推定した位置姿勢を決定してもよい。また、画像情報/距離情報を使って推定される位置姿勢を共通の尺度で評価し、その尺度に基づいて位置姿勢を決定してもよい。例えば、立野らの方法に開示されるように、誤差の確率分布がわかれば推定される位置姿勢の尤度を計算することができる。(立野,小竹,内山、“ビンピッキングのための距離・濃淡画像を最ゆうに統合する高精度高安定なモデルフィッティング手法”,電子情報通信学会論文誌,vol.J94−D,no.8,pp.1410−1422,2011.)。そこで、画像上の特徴点の検出誤差の分布や距離の計測誤差の分布を予め求めておき、画像情報/距離情報を使って推定されるそれぞれの位置姿勢の尤度を算出・比較することで位置姿勢を決定することも可能である。 In the embodiment, when the position / posture estimated by using the image information and the position / posture to be output to the control unit 15 are determined from the position / posture estimated by using the distance information, when the position / posture estimation using the image information fails. The estimated position and attitude were determined using the distance information. However, the method for determining the position and orientation is not limited to this. For example, if the position / orientation estimation using the distance information fails, the estimated position / orientation may be determined using the image information. Further, the position / orientation estimated using the image information / distance information may be evaluated by a common scale, and the position / orientation may be determined based on the scale. For example, as disclosed in the method of Tateno et al., The likelihood of the estimated position and orientation can be calculated if the probability distribution of the error is known. (Tateno, Kotake, Uchiyama, "High-precision and highly stable model fitting method that integrates distance and shading images for bin picking", IEICE Journal, vol.J94-D, no.8, pp. 1410-1422, 2011.). Therefore, by obtaining the distribution of the detection error of the feature points on the image and the distribution of the measurement error of the distance in advance, and calculating and comparing the likelihood of each position and orientation estimated using the image information / distance information. It is also possible to determine the position and orientation.

前述の実施形態では、6自由度の位置姿勢を用いて走行距離の算出や移動体の傾き検出を行っていた。しかしながら、6自由度の位置姿勢の利用方法はこれに限るものではない。例えば、移動体が略平面上を走行するという事前知識を用いて、カメラの位置姿勢推定の失敗を判定してもよい。例えば、推定されるカメラ位置が平面上になければカメラ位置姿勢推定に失敗していると判定してもよい。また、失敗判定の対象はカメラの位置姿勢推定に限るものではない。例えば、前述のMur−Artalらの手法は、カメラの位置姿勢推定とシーンの地図情報の生成を同時に行う手法である。そのため、推定されるカメラの位置姿勢を移動体が略平面上を走行するという事前知識を利用して、地図情報の生成の失敗判定を行ってもよい。 In the above-described embodiment, the mileage is calculated and the inclination of the moving body is detected by using the position / posture with 6 degrees of freedom. However, the method of using the position / posture with 6 degrees of freedom is not limited to this. For example, the failure of the camera position / orientation estimation may be determined by using the prior knowledge that the moving body travels on a substantially flat surface. For example, if the estimated camera position is not on a plane, it may be determined that the camera position / orientation estimation has failed. Further, the target of failure determination is not limited to the position and orientation estimation of the camera. For example, the above-mentioned method of Mur-Artal et al. Is a method of simultaneously estimating the position and orientation of a camera and generating map information of a scene. Therefore, the failure determination of the generation of map information may be performed by utilizing the prior knowledge that the moving body travels on a substantially plane based on the estimated position and orientation of the camera.

前述の実施形態では、画像情報を用いて6自由度の位置姿勢の推定を行っていた。しかしながら、6自由度の位置姿勢推定の際に利用するのは画像情報に限るものではなく、6自由度の位置姿勢を推定できる情報であれば他の情報であってもよい。例えば、デプスカメラや3D LiDARといった距離センサから得られる距離情報を用いて6自由度の位置姿勢の推定を行ってもよい。また、画像情報と距離情報を併用して6自由度の位置姿勢の推定を行ってもよい。さらには、加速度センサや角速度センサなどの慣性センサからの情報を併用してもよい。 In the above-described embodiment, the position / orientation with 6 degrees of freedom is estimated using the image information. However, the information used when estimating the position / orientation with 6 degrees of freedom is not limited to the image information, and other information may be used as long as the information can estimate the position / orientation with 6 degrees of freedom. For example, the position and orientation of 6 degrees of freedom may be estimated using the distance information obtained from a distance sensor such as a depth camera or 3D LiDAR. Further, the position and orientation with 6 degrees of freedom may be estimated by using the image information and the distance information together. Further, information from an inertial sensor such as an acceleration sensor or an angular velocity sensor may be used together.

本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。 The present invention is also realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiment is supplied to the system or device via a network for data communication or various storage media. Then, the computer (or CPU, MPU, etc.) of the system or device reads and executes the program. Further, the program may be recorded and provided on a computer-readable recording medium.

1 移動体
11 情報処理装置
12 画像センサ
13 距離センサ
14 接触センサ
15 アクチュエータ
17 オドメーター
111 入力部
112 6自由度推定部
113 変換部
115 制御部
116 地図情報取得部
117 平面情報取得部
1 Moving body 11 Information processing device 12 Image sensor 13 Distance sensor 14 Contact sensor 15 Actuator 17 Odometer 111 Input unit 112 6 Degree of freedom estimation unit 113 Conversion unit 115 Control unit 116 Map information acquisition unit 117 Plane information acquisition unit

Claims (18)

複数の位置及び姿勢を計測する機能を搭載した移動体の位置及び姿勢を決定する情報処理装置であって、
前記移動体の6自由度の位置及び姿勢を示す第1情報を取得する第1取得手段と、
前記移動体の3自由度の位置及び姿勢を示す第2情報を取得する第2取得手段と、
前記第1情報を用いて、3自由度の位置及び姿勢を示す第3情報を出力する出力手段と、 前記移動体の傾きに応じて前記第2情報および第3情報の少なくとも1つを選択的に用いることにより、前記移動体の位置及び姿勢を決定する決定手段と
を有することを特徴とする情報処理装置。
An information processing device that determines the position and orientation of a moving body equipped with a function to measure multiple positions and orientations.
The first acquisition means for acquiring the first information indicating the position and posture of the moving body with six degrees of freedom, and
A second acquisition means for acquiring the second information indicating the position and posture of the moving body having three degrees of freedom, and
Using the first information, an output means for outputting the third information indicating the position and posture of three degrees of freedom, and at least one of the second information and the third information are selectively selected according to the inclination of the moving body. An information processing apparatus characterized by having a determination means for determining a position and a posture of the moving body by using the information processing apparatus.
前記決定手段は、前記移動体の傾きが所定の値より小さい場合は前記第2情報を、前記移動体の傾きが所定の値より大きい場合は前記第3情報を、それぞれ用いて前記移動体の位置及び姿勢を決定することを特徴とする請求項1に記載の情報処理装置。 The determining means uses the second information when the inclination of the moving body is smaller than a predetermined value, and the third information when the inclination of the moving body is larger than a predetermined value, respectively, of the moving body. The information processing apparatus according to claim 1, wherein the position and the posture are determined. 前記第1取得手段は、少なくとも前記移動体の周囲を前記撮影装置が撮像した画像に基づいて、前記第1情報を取得することを特徴とする請求項1または2に記載の情報処理装置。 The information processing apparatus according to claim 1 or 2, wherein the first acquisition means acquires the first information based on an image captured by the photographing apparatus at least around the moving body. 前記第2取得手段は、前記移動体が走行する環境を示す2次元の地図情報と、前記移動体が走行する環境における物体と該移動体との距離を計測した距離情報とに基づいて、前記第2情報を取得することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 The second acquisition means is based on two-dimensional map information indicating an environment in which the moving body travels and distance information obtained by measuring the distance between an object and the moving body in the environment in which the moving body travels. The information processing apparatus according to any one of claims 1 to 3, wherein the second information is acquired. 前記決定手段によって決定された前記移動体の3自由度の位置及び姿勢と、前記移動体が走行する環境を表した地図情報とに基づいて、前記地図情報において示される目標位置に前記移動体を移動させる制御手段と、を更に有することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 Based on the position and posture of the moving body having three degrees of freedom determined by the determining means and the map information representing the environment in which the moving body travels, the moving body is moved to the target position indicated in the map information. The information processing apparatus according to any one of claims 1 to 4, further comprising a control means for moving. 前記移動体と基準となる面とがなす傾きを検出する検出手段を更に有し、
前記決定手段は、前記検出手段によって検出された傾きが前記所定の値より小さい場合は、前記第2情報に基づいて前記移動体の3自由度の位置及び姿勢を決定し、前記検出手段によって検出された傾きが前記所定の値より大きい場合、前記第3情報に基づいて前記移動体の3自由度の位置及び姿勢を決定することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
Further, it has a detecting means for detecting the inclination formed by the moving body and the reference surface.
When the inclination detected by the detecting means is smaller than the predetermined value, the determining means determines the position and posture of the moving body with three degrees of freedom based on the second information, and detects the position and the posture of the moving body by the detecting means. The invention according to any one of claims 1 to 5, wherein when the inclination is larger than the predetermined value, the position and the posture of the moving body having three degrees of freedom are determined based on the third information. Information processing equipment.
前記検出手段は、前記第1情報に基づいて、前記移動体の傾きを検出することを特徴とする請求項6に記載の情報処理装置。 The information processing device according to claim 6, wherein the detection means detects the inclination of the moving body based on the first information. 前記検出手段は、前記移動体に搭載された重力センサに基づいて、前記移動体の傾きを検出することを特徴とする請求項6に記載の情報処理装置。 The information processing device according to claim 6, wherein the detection means detects the inclination of the moving body based on a gravity sensor mounted on the moving body. 前記第1取得手段は、前記移動体に搭載された撮像装置によって撮像された前記移動体の周囲を写した画像を入力し、前記移動体の3自由度の位置及び姿勢を出力する学習済みモデルに基づいて前記移動体の3自由度の位置及び姿勢を取得することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。 The first acquisition means is a learned model that inputs an image of the surroundings of the moving body captured by an imaging device mounted on the moving body and outputs the position and posture of the moving body with three degrees of freedom. The information processing apparatus according to any one of claims 1 to 8, wherein the position and the posture of the moving body with three degrees of freedom are acquired based on the above. 前記第1情報に基づいて、前記移動体の傾きが検出された場合にユーザに通知を出力する出力手段を更に有することを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。 The information processing according to any one of claims 1 to 9, further comprising an output means for outputting a notification to the user when the inclination of the moving body is detected based on the first information. apparatus. 前記決定手段は、前記移動体と基準となる面との成す傾きが所定の値より小さい場合は、前記第2情報と第3情報とに基づいて前記移動体の3自由度の位置及び姿勢を決定することを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。 When the inclination formed by the moving body and the reference surface is smaller than a predetermined value, the determining means determines the position and orientation of the moving body with three degrees of freedom based on the second information and the third information. The information processing apparatus according to any one of claims 1 to 10, wherein the information processing apparatus is determined. 前記移動体の3自由度の位置及び姿勢は、2自由度の位置と1自由度の姿勢であることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 11, wherein the position and posture of the moving body having three degrees of freedom are a position of two degrees of freedom and a posture of one degree of freedom. 前記移動体の6自由度の位置及び姿勢は、3自由度の位置と3自由度の姿勢であることを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 12, wherein the position and posture of the moving body having 6 degrees of freedom are a position of 3 degrees of freedom and a posture of 3 degrees of freedom. 前記決定手段は、前記移動体の傾きが所定の値より大きい状態が所定の時間より長く継続した場合は、前記第3情報を用いて前記移動体の3自由度の位置及び姿勢を決定することを特徴とする請求項1乃至13のいずれか1項に記載の情報処理装置。 The determination means determines the position and posture of the moving body having three degrees of freedom by using the third information when the state in which the inclination of the moving body is larger than the predetermined value continues for a predetermined time. The information processing apparatus according to any one of claims 1 to 13. 前記決定手段は、前記移動体の傾きが所定の値より大きい状態から小さくなり、かつ該移動体の傾きが小さい状態が所定の時間より長く継続した場合は、前記第3情報から前記第2情報を用いた前記移動体の位置及び姿勢を決定するように変更することを特徴とする請求項1乃至14のいずれか1項に記載の情報処理装置。 When the inclination of the moving body is smaller than a predetermined value and the inclination of the moving body is smaller than a predetermined time for a longer period of time than a predetermined time, the determining means obtains the second information from the third information. The information processing apparatus according to any one of claims 1 to 14, wherein the position and orientation of the moving body are changed so as to determine the position and orientation of the moving body. 撮像装置を搭載した移動体の位置及び姿勢を推定する情報処理装置であって、
少なくとも前記移動体の周囲を撮像した画像に基づいて、前記撮像装置の6自由度の位置及び姿勢を示す第1情報を推定する6自由度推定手段と、
前記移動体と基準となる面との成す傾きが所定の値より大きい場合は、前記第1情報に基づいて前記移動体の3自由度の位置及び姿勢を決定し、前記移動体と基準となる面との成す傾きが所定の値より小さい場合は、前記移動体が走行する環境における物体と該移動体との距離を計測した距離情報に基づいて前記移動体の3自由度の位置及び姿勢を示す第2情報に基づいて前記移動体の3自由度の位置及び姿勢を決定する決定手段と、を有することを特徴とする情報処理装置。
An information processing device that estimates the position and orientation of a moving object equipped with an imaging device.
A six-DOF estimation means that estimates first information indicating the position and orientation of the six-DOF of the imaging device based on at least an image of the surroundings of the moving body.
When the inclination formed by the moving body and the reference surface is larger than a predetermined value, the position and posture of the moving body having three degrees of freedom are determined based on the first information, and the moving body and the reference surface are used as a reference. When the inclination formed by the surface is smaller than a predetermined value, the position and posture of the moving body with three degrees of freedom are determined based on the distance information obtained by measuring the distance between the object and the moving body in the environment in which the moving body travels. An information processing apparatus comprising: a determination means for determining a position and a posture of the moving body having three degrees of freedom based on the second information shown.
コンピュータを、請求項1乃至16のいずれか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 16. 撮像装置を搭載した移動体の位置及び姿勢を推定する情報処理方法であって、
前記撮像装置の6自由度の位置及び姿勢を示す第1情報を推定する6自由度推定ステップと、
前記移動体と基準となる面との成す傾きが所定の値より大きい場合は、前記第1情報に基づいて前記移動体の3自由度の位置及び姿勢を決定し、前記移動体と基準となる面との成す傾きが所定の値より小さい場合は、前記移動体の3自由度の位置及び姿勢を示す第2情報に基づいて前記移動体の3自由度の位置及び姿勢を決定する決定ステップと、有することを特徴とする情報処理方法。
It is an information processing method that estimates the position and orientation of a moving object equipped with an image pickup device.
A 6-DOF estimation step for estimating the first information indicating the position and orientation of the 6-DOF of the imaging device, and
When the inclination formed by the moving body and the reference surface is larger than a predetermined value, the position and posture of the moving body having three degrees of freedom are determined based on the first information, and the moving body and the reference surface are used as a reference. When the inclination formed by the surface is smaller than a predetermined value, the determination step of determining the position and orientation of the three degrees of freedom of the moving body based on the second information indicating the position and orientation of the three degrees of freedom of the moving body. , An information processing method characterized by having.
JP2019141358A 2019-07-31 2019-07-31 Information processing device, information processing method and program Active JP7358108B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019141358A JP7358108B2 (en) 2019-07-31 2019-07-31 Information processing device, information processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019141358A JP7358108B2 (en) 2019-07-31 2019-07-31 Information processing device, information processing method and program

Publications (2)

Publication Number Publication Date
JP2021026302A true JP2021026302A (en) 2021-02-22
JP7358108B2 JP7358108B2 (en) 2023-10-10

Family

ID=74664690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019141358A Active JP7358108B2 (en) 2019-07-31 2019-07-31 Information processing device, information processing method and program

Country Status (1)

Country Link
JP (1) JP7358108B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102542550B1 (en) * 2021-12-07 2023-06-13 주식회사 케이스랩 Apparatus and method for estimating pose of vehicle

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173628A (en) * 1991-12-25 1993-07-13 Ishikawajima Shibaura Mach Co Ltd Visual sense device for unmanned traveling vehicle
JP2017215199A (en) * 2016-05-31 2017-12-07 株式会社デンソー Position estimation device
JP2019125116A (en) * 2018-01-15 2019-07-25 キヤノン株式会社 Information processing device, information processing method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5173628B2 (en) 2008-06-30 2013-04-03 電気化学工業株式会社 Laminated sheet
BR112019001441B1 (en) 2016-07-26 2023-02-07 Nissan Motor Co., Ltd SELF-POSITION ESTIMATE METHOD AND SELF-POSITION ESTIMATE DEVICE
JP6614124B2 (en) 2016-12-21 2019-12-04 株式会社デンソー Emergency call device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173628A (en) * 1991-12-25 1993-07-13 Ishikawajima Shibaura Mach Co Ltd Visual sense device for unmanned traveling vehicle
JP2017215199A (en) * 2016-05-31 2017-12-07 株式会社デンソー Position estimation device
JP2019125116A (en) * 2018-01-15 2019-07-25 キヤノン株式会社 Information processing device, information processing method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102542550B1 (en) * 2021-12-07 2023-06-13 주식회사 케이스랩 Apparatus and method for estimating pose of vehicle

Also Published As

Publication number Publication date
JP7358108B2 (en) 2023-10-10

Similar Documents

Publication Publication Date Title
KR101776622B1 (en) Apparatus for recognizing location mobile robot using edge based refinement and method thereof
TWI827649B (en) Apparatuses, systems and methods for vslam scale estimation
US20180066934A1 (en) Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
Campbell et al. A robust visual odometry and precipice detection system using consumer-grade monocular vision
US7769491B2 (en) Obstacle avoiding apparatus, obstacle avoiding method, obstacle avoiding program, and mobile robot apparatus
JP3994950B2 (en) Environment recognition apparatus and method, path planning apparatus and method, and robot apparatus
WO2019138678A1 (en) Information processing device, control method for same, program, and vehicle driving assistance system
JP4929506B2 (en) Legged mobile robot
KR101784183B1 (en) APPARATUS FOR RECOGNIZING LOCATION MOBILE ROBOT USING KEY POINT BASED ON ADoG AND METHOD THEREOF
JP5736622B1 (en) Detection device and operation control of manipulator equipped with the device
WO2004106856A1 (en) Device and method of supporting stereo camera, device and method of detecting calibration, and stereo camera system
JP2003269937A (en) Obstruction recognition device, obstruction recognition method, obstruction recognition program and mobile robot device
JP2006221610A (en) Person tracking device and method, recording medium recording program for performing the method, and mobile electronic equipment equipped with the device
US11915523B2 (en) Engagement detection and attention estimation for human-robot interaction
JP2003271975A (en) Method of extracting plane, extractor therefor, program therefor, recording medium therefor, and robot system mounted with plane extractor
Yuwen et al. Gaze control for active visual SLAM via panoramic cost map
JP7358108B2 (en) Information processing device, information processing method and program
JP7273696B2 (en) Position estimation device and system
Poomarin et al. Automatic docking with obstacle avoidance of a differential wheel mobile robot
Yuan et al. Visual steering of UAV in unknown environments
US11865724B2 (en) Movement control method, mobile machine and non-transitory computer readable storage medium
KR20200063363A (en) System and method for autonomously traveling mobile robot
CN114911223A (en) Robot navigation method and device, robot and storage medium
Barajas et al. Visual servoing of uav using cuboid model with simultaneous tracking of multiple planar faces
Hu et al. Adaptive Visual Servo Control.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230516

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230927

R151 Written notification of patent or utility model registration

Ref document number: 7358108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151