JP7341652B2 - Information processing device, information processing method, program, and system - Google Patents
Information processing device, information processing method, program, and system Download PDFInfo
- Publication number
- JP7341652B2 JP7341652B2 JP2018207192A JP2018207192A JP7341652B2 JP 7341652 B2 JP7341652 B2 JP 7341652B2 JP 2018207192 A JP2018207192 A JP 2018207192A JP 2018207192 A JP2018207192 A JP 2018207192A JP 7341652 B2 JP7341652 B2 JP 7341652B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- orientation
- depth
- agv
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 87
- 238000003672 processing method Methods 0.000 title claims 2
- 238000003384 imaging method Methods 0.000 claims description 216
- 238000000034 method Methods 0.000 claims description 133
- 230000033001 locomotion Effects 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 20
- 238000005259 measurement Methods 0.000 claims description 19
- 230000003287 optical effect Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 description 117
- 230000000007 visual effect Effects 0.000 description 73
- 238000012545 processing Methods 0.000 description 38
- 238000007726 management method Methods 0.000 description 36
- 238000013459 approach Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 21
- 230000001276 controlling effect Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 238000001514 detection method Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000011218 segmentation Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000003466 welding Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 210000003625 skull Anatomy 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/08—Measuring arrangements characterised by the use of optical techniques for measuring diameters
- G01B11/10—Measuring arrangements characterised by the use of optical techniques for measuring diameters of objects while moving
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/245—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures using a plurality of fixed, simultaneously operating transducers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/26—Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/04—Interpretation of pictures
- G01C11/06—Interpretation of pictures by comparison of two or more pictures of the same area
- G01C11/12—Interpretation of pictures by comparison of two or more pictures of the same area the pictures being supported in the same relative position as when they were taken
- G01C11/14—Interpretation of pictures by comparison of two or more pictures of the same area the pictures being supported in the same relative position as when they were taken with optical projection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
Landscapes
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Traffic Control Systems (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
本発明は、移動体の移動制御を行う技術に関する。 The present invention relates to a technique for controlling the movement of a moving body.
例えば、搬送車(AGV(Automated Guided Vehicle))、自律移動ロボット(AMR(Autonomous Mobile Robot))といった移動体がある。それらを、例えば、工場や物流倉庫といった環境内で走行させる場合、移動体の移動制御を安定して行うため、特許文献1のように床にテープを貼り、テープを移動体に搭載したセンサで検知しながら走行させていた。 For example, there are moving objects such as guided vehicles (AGVs) and autonomous mobile robots (AMRs). For example, when running them in an environment such as a factory or distribution warehouse, in order to stably control the movement of the moving object, tape is pasted on the floor and a sensor mounted on the moving object is used as in Patent Document 1. The vehicle was running while being detected.
しかし、特許文献1の技術では、移動体を走行させる環境内で、物のレイアウト変更を行って動線が変わる度に、テープを貼り直す必要があったため、手間がかかっていた。そのような手間を減らし、安定して移動体を走行させることが求められている。 However, in the technique of Patent Document 1, it was necessary to reapply the tape every time the layout of objects was changed and the flow line changed in the environment in which the moving object was traveling, which was time-consuming. There is a need to reduce such labor and make the moving object travel stably.
本発明は、上記の課題に鑑みてなされたものであり、移動体の移動制御を、安定して行う情報処理装置を提供することを目的とする。また、その方法、及びプログラムを提供することを目的とする。 The present invention has been made in view of the above-mentioned problems, and an object of the present invention is to provide an information processing device that stably performs movement control of a moving body. It also aims to provide methods and programs for this purpose.
本発明に係る情報処理装置は以下の構成を備える。 The information processing device according to the present invention has the following configuration.
移動体に搭載された、撮像素子上の各々の受光部が2以上の受光素子によって構成される撮像手段が取得した奥行情報の入力を受け付ける入力手段と、
マップ情報を保持する保持手段と、
前記撮像手段によって取得された前記奥行情報の信頼度に基づいて補正された前記奥行情報と前記マップ情報とに基づいて前記撮像手段の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢に基づいて前記移動体の移動を制御する制御値を得る制御手段。
an input means for accepting input of depth information acquired by an imaging means mounted on the moving object, each light receiving section on the image sensor being constituted by two or more light receiving elements;
a holding means for holding map information;
acquisition means for acquiring the position and orientation of the imaging means based on the map information and the depth information corrected based on the reliability of the depth information acquired by the imaging means ;
A control means for obtaining a control value for controlling movement of the mobile body based on the position and orientation acquired by the acquisition means.
本発明によれば、移動体の移動制御を安定して行うことが出来る。 According to the present invention, it is possible to stably control the movement of a moving body.
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 Embodiments will be described below with reference to the drawings. Note that the configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.
[実施形態1]
本実施形態では、搬送車(AGV(Automated Guided Vehicle))または、自律移動ロボット(AMR(Autonomous Mobile Robot))等と称する移動体の移動制御について説明する。以下、移動体としてAGVを例に説明するが、移動体はAMRであっても良い。
[Embodiment 1]
In this embodiment, movement control of a moving body called a guided vehicle (AGV (Automated Guided Vehicle)) or an autonomous mobile robot (AMR (Autonomous Mobile Robot)) will be described. Hereinafter, an explanation will be given using an AGV as an example of a mobile body, but the mobile body may also be an AMR.
図1に、本実施形態におけるシステム構成図を示す。本実施形態における情報処理システム1は、複数の移動体12(12-1、12-2、・・・)、工程管理システム14、移動体管理システム13から構成される。情報処理システム1は、物流システムや生産システムなどである。
FIG. 1 shows a system configuration diagram in this embodiment. The information processing system 1 in this embodiment includes a plurality of moving bodies 12 (12-1, 12-2, . . . ), a
複数の移動体12(12-1、12-2、・・・)は、工程管理システムで決められた工程のスケジュールに合わせて物体を搬送する搬送車(AGV(Automated Guided Vehicle))である。移動体は環境内で複数台が移動(走行)している。 The plurality of moving bodies 12 (12-1, 12-2, . . . ) are transport vehicles (AGVs (Automated Guided Vehicles)) that transport objects according to a process schedule determined by a process management system. A plurality of moving objects are moving (running) in the environment.
工程管理システム14は、情報処理システムが実行する工程を管理する。例えば、工場や物流倉庫内の工程を管理するMES(Manufacturing Execution System)である。移動体管理システム3と通信を行っている。
The
移動体管理システム13は、移動体を管理するシステムである。工程管理システム12と通信を行っている。また、移動体とも通信(例えば、Wi-Fi通信)を行い、運行情報を双方向に送受信している。
The mobile
図2は、本実施形態における情報処理装置10を備える移動体12のハードウェア構成例を示す図である。情報処理装置10は、入力部1110、算出部1120、保持部1130、制御部1140から構成されている。入力部1110は、移動体12に搭載された撮像部110と接続されている。制御部1140は、アクチュエータ120と接続されている。また、これらに加え、不図示の通信装置が移動体管理システム3と情報を双方向に通信を行っており、情報処理装置10の各種手段に入出力している。但し、図2は、機器構成の一例である。
FIG. 2 is a diagram showing an example of the hardware configuration of the
図3は、撮像部110が備える撮像素子D150を説明するための図である。本実施形態において、撮像部110は、内部に撮像素子D150を備えている。図3(a)に示すように、撮像素子D150にはその内部に受光部D151が格子状に多数配置されている。図3(a)には、4つの受光部を示している。各々の受光部D151には、その上面にマイクロレンズD153が設けられ、効率的に集光できるようになっている。従来の撮像素子は1つの受光部D151に対して1つの受光素子を備えているが、本実施形態における撮像部110が備える撮像素子D150では、各々の受光部D151は内部に複数の受光素子D152を備えている。
FIG. 3 is a diagram for explaining the image sensor D150 included in the
図3(b)は、1つの受光部D151に着目し、側面から見た様子を示すものである。図3(b)に示すように、1つの受光部D151の内部に2つの受光素子D152aおよび152bが備えられている。個々の受光素子D152a、D152bは互いに独立しており、受光素子D152aに蓄積された電荷が受光素子D152bに移動することはなく、また逆に受光素子D152bに蓄積された電荷が受光素子D152aに移動することはない。そのため、図3(b)において、受光素子D152aはマイクロレンズD153の右側から入射する光束を受光することになる。また逆に、受光素子D152bはマイクロレンズD153の左側から入射する光束を受光することになる。 FIG. 3B shows a side view of one light receiving portion D151. As shown in FIG. 3(b), two light receiving elements D152a and 152b are provided inside one light receiving section D151. The individual light-receiving elements D152a and D152b are independent from each other, and the charge accumulated in the light-receiving element D152a does not move to the light-receiving element D152b, and conversely, the charge accumulated in the light-receiving element D152b moves to the light-receiving element D152a. There's nothing to do. Therefore, in FIG. 3(b), the light-receiving element D152a receives the light beam incident from the right side of the microlens D153. Conversely, the light receiving element D152b receives the light beam incident from the left side of the microlens D153.
撮像部110は、受光素子D152aに蓄積されている電荷のみを選択して画像D154aを生成することができる。また同時に、撮像部110は、受光素子D152bに蓄積されている電荷のみを選択して画像D154bを生成することができる。画像D154aはマイクロレンズ153の右側からの光束、画像D154bはマイクロレンズD153の左側の光束のみを選択して生成されるため、図4に示すように、画像D154aと画像D154bは、互いに異なる撮影視点から撮影された画像となる。
The
また、撮像部110が各受光部D151から、受光素子D152a、D152bの両方に蓄積されている電荷を用いて画像を形成する。従来の撮像素子を用いた場合と同じようにある視点から撮影した画像である画像D154e(不図示)が得られることになる。撮像部110は、以上説明した原理によって、撮影視点の異なる画像D154a、D154bと、従来の画像154eを同時に撮像することができる。
Further, the
なお、各受光部D151は、より多くの受光素子D152を備えてもよく、任意の数の受光素子D152を設定することができる。例えば、図4(c)は、受光部D151の内部に4つの受光素子D152a~D152dを設けた例を示している。 Note that each light receiving section D151 may include more light receiving elements D152, and an arbitrary number of light receiving elements D152 can be set. For example, FIG. 4(c) shows an example in which four light receiving elements D152a to D152d are provided inside the light receiving section D151.
撮像部110は、一対の画像D154a、D154bから、対応点探索を行って視差画像D154f(不図示)を算出し、さらにその視差画像に基づいてステレオ法で対象の三次元形状を算出することができる。対応点探索やステレオ法は公知の技術であり、様々な方法を適用可能である。対応点探索には、画像の各画素の周囲の数画素をテンプレートとして類似するテンプレートを探索するテンプレートマッチング法や、画像の輝度情報の勾配からエッジやコーナーの特徴点を抽出し、特徴点の特徴が類似する点を探索する手法などを使う。ステレオ法では、2つの画像の座標系の関係を導出し、射影変換行列を導出し、三次元形状を算出する。撮像部110は画像D154eに加えて、画像D154a、画像D154b、視差画像D154f、ステレオ法によって求めたデプスマップD154dや三次元点群D154cを出力する機能を有している。
The
なお、ここで言うデプスマップとは、画像154cを構成する各画素に対して、計測対象までの距離(奥行き)と相関のある値を保持する画像を指す。通常、計測対象までの距離と相関のある値は、通常の画像として構成可能な整数値であり、焦点距離から決定される所定の係数を乗ずることで、対象までの物理的な距離(例えばミリメートル)に変換することができる。この焦点距離は、先述のように撮像部110の固有情報に含まれる。
Note that the depth map referred to here refers to an image that holds a value that is correlated with the distance (depth) to the measurement target for each pixel that constitutes the image 154c. Usually, the value that correlates with the distance to the measurement target is an integer value that can be constructed as a normal image, and by multiplying it by a predetermined coefficient determined from the focal length, the value that correlates with the distance to the measurement target (for example, millimeter ) can be converted to This focal length is included in the unique information of the
また、三次元点群D154について説明する。上記のようにデプスマップD154dから変換された計測対象までの物理的な距離に対して、別途設定される三次元空間中の直交座標系における原点(撮像部の光学中心)からの各軸(X,Y,Z)の値として設定される座標の集合である。 Also, the three-dimensional point group D154 will be explained. Each axis (X , Y, Z) is a set of coordinates set as values.
撮像部110は、単一の撮像素子D150によって視点の異なる一対の画像D154a、D154bを取得することができるため、2つ以上の撮像部を必要とする従来のステレオ法と異なり、より小型な構成によって三次元計測を実現することが可能となる。
The
撮像部D110は、さらに光学系の焦点距離を制御するオートフォーカス機構および画角を制御するズーム機構を備える。オートフォーカス機構は有効あるいは無効を切り替え可能であり、設定した焦点距離を固定することができる。撮像部D110は、焦点および画角を制御するために設けられた光学系制御モータの回転角あるいは移動量といった駆動量によって規定される制御値を読み取り、不図示のルックアップテーブルを参照して焦点距離を算出し、出力することができる。また撮像部D110は、装着されたレンズから、焦点距離範囲、口径、ディストーションの係数、光学中心などのレンズの固有情報を読み取ることができる。読み取った固有情報を、後述する視差画像D154f及びデプスマップD154dのレンズ歪みの補正や、三次元点群D154cの算出に用いる。 The imaging unit D110 further includes an autofocus mechanism that controls the focal length of the optical system and a zoom mechanism that controls the angle of view. The autofocus mechanism can be enabled or disabled, and the set focal length can be fixed. The imaging unit D110 reads a control value defined by a drive amount such as a rotation angle or a movement amount of an optical system control motor provided for controlling the focus and angle of view, and determines the focus by referring to a lookup table (not shown). Distance can be calculated and output. The imaging unit D110 can also read lens-specific information such as focal length range, aperture, distortion coefficient, and optical center from the attached lens. The read unique information is used to correct lens distortion of a parallax image D154f and a depth map D154d, which will be described later, and to calculate a three-dimensional point group D154c.
撮像部110は、画像D154a~D154bおよび視差画像D154f、デプスマップD154dのレンズ歪みを補正する機能、主点位置の画像座標(以下、画像中心と表記する)および画像D154aと画像D154bの基線長を出力する機能を有している。また、生成された画像154a~154c、焦点距離、画像中心などの光学系データ、視差画像D154f、基線長、デプスマップD154d、三次元点群D154cなどの三次元計測データを出力する機能を有している。本実施形態においては、これらのデータを総称して画像情報(以下、「視覚情報」とも記載する。)と呼ぶ。撮像部110は、撮像部110が内部に備える記憶領域(不図示)に設定されたパラメータあるいは撮像部110外部から与えられる命令に応じて、画像情報の全部あるいは一部を選択的に出力する。
The
本実施形態における移動制御とは、移動体が備えるアクチュエータであるモータ、および車輪の向きを変更するステアリングを制御することである。これらを制御することで、移動体を所定の目的地まで移動させる。また、制御値とは移動体を制御するための指令値のことである。 Movement control in this embodiment means controlling a motor that is an actuator included in a moving body and a steering wheel that changes the direction of the wheels. By controlling these, the moving body is moved to a predetermined destination. Further, the control value is a command value for controlling the moving body.
本実施形態における撮像部の位置姿勢とは、現実空間中に規定された任意の世界座標系における撮像部110の位置を表す3パラメータ、及び撮像部110の姿勢を表す3パラメータを合わせた6パラメータのことである。なお、AGVなどの移動体の設計段階で移動体の重心位置に対する撮像装置の取り付け位置を計測しておき、前述の取り付け位置姿勢を表す行列を外部メモリH14に記憶しておく。撮像部の位置姿勢に対して前述の取り付け位置姿勢を表す行列を掛け合わせることでAGVの重心位置を算出することができる。このため、本実施形態においては撮像部の位置姿勢を以て、AGVの位置姿勢と同義として扱うこととする。また、撮像部110の光軸をZ軸、画像の水平方向をX軸、垂直方向をY軸とする撮像部上に規定される三次元の座標系を撮像部座標系と呼ぶ。
The position and orientation of the imaging unit in this embodiment is 6 parameters, including 3 parameters representing the position of the
入力部1110は、撮像部110が取得する画像情報(視覚情報)として、シーンの画像の各画素に対して奥行き値を格納したデプスマップを時系列(例えば毎秒60フレーム)に入力し、算出部1120に出力する。奥行き値とは、撮像部110とシーン内の物体との距離である。
The
算出部1120は、入力部1110が入力したデプスマップ、保持部1130が保持する位置姿勢算出の指標となるマップ情報を用いて撮像部の位置姿勢を算出し、取得する。なお、マップ情報については後述する。算出部1120はさらに、算出した位置姿勢を制御部1140に出力する。尚、算出部では、位置姿勢を出力するために必要な情報を入力部から取得して、保持部1130で保持しているマップ情報と比較するだけでも良い。
The
保持部1130は、マップ情報としてポイントクラウドを保持する。ポイントクラウドとはシーンの三次元点群データのことである。本実施形態では、ポイントクラウドは任意の世界座標系における三次元座標(X,Y,Z)の三値を格納したデータリストとして保持部1130が保持しているものとする。三次元点群データは、三次元位置情報を示している。また、これらに加え、AGVの目的地である三次元座標と姿勢を表す目的位置姿勢を保持する。目標位置姿勢は1つでも複数あってもよいが、ここでは簡単のため目標位置姿勢が1地点である例を説明する。また、保持部1130はマップ情報を必要に応じて算出部1120に出力する。さらに、目標位置姿勢を制御部1140に出力する。
The
制御部1140は、算出部1120が算出した撮像部110の位置姿勢、保持部1130が保持するマップ情報、および不図示の通信装置が入力した運行情報をもとにAGVを制御する制御値を算出する。算出した制御値をアクチュエータ120へ出力する。
The
図6は、情報処理装置1のハードウェア構成を示す図である。H11はCPUであり、システムバスH21に接続された各種デバイスの制御を行う。H12はROMであり、BIOSのプログラムやブートプログラムを記憶する。H13はRAMであり、CPUであるH11の主記憶装置として使用される。H14は外部メモリであり、情報処理装置1が処理するプログラムを格納する。入力部H15はキーボードやマウス、ロボットコントローラーであり、情報等の入力に係る処理を行う。表示部H16はH11からの指示に従って情報処理装置1の演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、LEDインジケーターなど、種類は問わない。また、情報処理装置が備える表示部H16が表示装置としての役割であってもよい。H17は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、通信インターフェイスはイーサネット(登録商標)でもよく、USBやシリアル通信、無線通信等種類は問わない。なお、前述した移動体管理システム13とは通信インターフェイスH17を介して情報のやり取りを行う。H18はI/Oであり、撮像装置H19から画像情報(視覚情報)を入力する。なお、撮像装置H19とは前述した撮像部110のことである。H20は前述したアクチュエータ120のことである。
FIG. 6 is a diagram showing the hardware configuration of the information processing device 1. As shown in FIG. H11 is a CPU that controls various devices connected to the system bus H21. H12 is a ROM that stores BIOS programs and boot programs. H13 is a RAM, which is used as the main storage device of H11, which is the CPU. H14 is an external memory that stores programs processed by the information processing device 1. The input unit H15 is a keyboard, a mouse, or a robot controller, and performs processing related to inputting information and the like. The display unit H16 outputs the calculation results of the information processing device 1 to the display device according to instructions from H11. Note that the display device may be of any type, such as a liquid crystal display device, a projector, or an LED indicator. Further, the display unit H16 included in the information processing device may serve as a display device. H17 is a communication interface that performs information communication via a network, and the communication interface may be Ethernet (registered trademark), and any type such as USB, serial communication, wireless communication, etc. may be used. Note that information is exchanged with the mobile
次に、本実施形態における処理手順について説明する。図5は、本実施形態における情報処理装置10の処理手順を示すフローチャートである。以下、フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。処理ステップは、初期化S110、視覚情報取得S120、視覚情報入力S130、位置姿勢算出S140、制御値算出S150、AGVの制御S160、システム終了判定S170から構成されている。
Next, the processing procedure in this embodiment will be explained. FIG. 5 is a flowchart showing the processing procedure of the
ステップS110では、システムの初期化を行う。すなわち、外部メモリH14からプログラムを読み込み、情報処理装置10を動作可能な状態にする。また、情報処理装置10に接続された各機器のパラメータ(撮像部110の内部パラメータや焦点距離)や、撮像部110の初期位置姿勢を前時刻位置姿勢としてRAMであるH13に読み込む。また、AGVの各デバイスを起動し、動作・制御可能な状態とする。これらに加え、通信I/F(H17)を通して移動体管理システムから運行情報を受信し、AGVが向かうべき目的地の三次元座標を受信し、保持部1130に保持する。
In step S110, the system is initialized. That is, the program is read from the external memory H14 and the
ステップS120では、撮像部110が視覚情報を取得し、入力部1110に入力する。本実施形態において視覚情報とはデプスマップのことであり、前述の方法で撮像部110がデプスマップを取得してあるものとする。つまり、デプスマップとは図4におけるD154dのことである。
In step S120, the
ステップS130では、入力部1110が、撮像部110が取得したデプスマップを取得する。なお、本実施形態においては、デプスマップは各画素の奥行き値を格納した二次元配列リストのことである。
In step S130, the
ステップS140では、算出部1120が、入力部1110が入力したデプスマップと、保持部1130が保持するマップ情報とを用いて撮像部110の位置姿勢を算出する。具体的には、まずデプスマップから撮像座標系に規定された三次元点群を算出する。画像座標(ut,vt)と撮像部110の内部パラメータ(fx、fy、cx、cy)、デプスマップの画素の奥行き値Dを用いて三次元点群(Xt,Yt,Zt)を数式1により算出する。
In step S140, the
次に、撮像部110の前時刻位置姿勢を用いて三次元点群を前時刻位置姿勢座標系に座標変換する。つまり三次元点群に前時刻位置姿勢の行列を掛け合わせる。算出した三次元点群と保持部1130が保持するマップ情報のポイントクラウドの各三次元点の最近傍の点同士の距離の和が小さくなるように位置姿勢を算出する。具体的には、ICP(Iterative Closest Point)アルゴリズムを用いて前時刻位置姿勢に対する撮像部110の位置姿勢を算出する。最後に、世界座標系に変換して、世界座標系における位置姿勢を制御部1140に出力する。なお、算出した位置姿勢はRAMであるH13に前時刻位置姿勢として上書きして保持する。
Next, the three-dimensional point group is coordinate-transformed into the previous time position and orientation coordinate system using the previous time position and orientation of the
ステップS150では、制御部1140が、AGVを制御するための制御値を算出する。具体的には、保持部1130が保持する目的地座標と算出部1120が算出した撮像部110の位置姿勢とのユークリッド距離が小さくなるように制御値を算出する。制御部1140が算出した制御値をアクチュエータ120に出力する。
In step S150,
ステップS160では、アクチュエータ120が、制御部1140が算出した制御値を用いてAGVを制御する。
In step S160, the
ステップS170では、システムを終了するか否か判定する。具体的には、保持部1130が保持する目的地座標と算出部1120が算出した撮像部110の位置姿勢とのユークリッド距離が所定の閾値以下であれば、目的地に到着したとして終了する。そうでなければステップS120に戻り処理を続ける。
In step S170, it is determined whether or not to terminate the system. Specifically, if the Euclidean distance between the destination coordinates held by the
実施形態1では、撮像素子上の各々の受光部が2以上の受光素子によって構成されることを特徴とする撮像部が取得したデプスマップから求める三次元点と、マップ情報であるポイントクラウドの各三次元点とを用いる。それらの三次元点の距離が最小となるように撮像部の位置姿勢を算出する。算出した撮像部の位置姿勢と、AGVの目的地との距離が最小化するように自動的にAGVを制御することで、安定して、かつ手間を減らしてAGVを運用することが出来る。 In the first embodiment, each light-receiving section on the image sensor is composed of two or more light-receiving elements, and each of the three-dimensional points obtained from the depth map acquired by the imaging section and the point cloud that is map information are A three-dimensional point is used. The position and orientation of the imaging unit is calculated so that the distance between these three-dimensional points is minimized. By automatically controlling the AGV so that the distance between the calculated position and orientation of the imaging unit and the destination of the AGV is minimized, the AGV can be operated stably and with less effort.
<変形例>
実施形態1では、撮像部110がデプスマップD154dを算出し、本情報処理装置における入力部1110がデプスマップを入力していた。変形例として、撮像部110の位置姿勢を算出できれば、入力部1110が入力するのは撮像部110が算出したデプスマップに限らない。具体的には、撮像部110が内部で撮像部110座標系におけるポイントクラウドを算出していれば、入力部1110が、撮像部110が算出したポイントクラウドを入力することができる。このとき、算出部1120は、入力部1110が入力したポイントクラウドを用いて位置姿勢算出を行うことができる。なお、撮像部110が算出するポイントクラウドとは、図4における三次元点群D154のことである。また、入力部1110が、撮像部110が取得した一対の画像D154a、D154b、および撮像部110が保持する焦点距離を入力し、算出部1120が対応点探索およびステレオ法によってデプスマップを求めてもよい。また、それらに加えて入力部1110が、撮像部110が取得したRGB画像やグレー画像である画像を合わせて視覚情報として入力してもよい。つまり、撮像部110が行うデプスマップ算出を、かわりに算出部1120が行うこともできる。
<Modified example>
In the first embodiment, the
撮像部110は、さらに光学系の焦点距離を制御するフォーカス制御機構を備えることができ、このフォーカス制御を本情報処理装置が制御してもよい。例えば、本情報処理装置の制御部1140がフォーカスを調整する制御値(フォーカス値)を算出してもよい。例えば、移動体が移動し視覚画像の見えが変わった時に、デプスマップの平均値や中央値の奥行きに合わせて撮像部110のフォーカスを調整する制御値を算出する。また、本情報処理装置がフォーカスを調整するのではなく、撮像部110内部に構成されたオートフォーカス機構が調節することもできる。フォーカスを調整することでよりピントの合った視覚情報を取得できるため高精度に位置姿勢を算出することができる。なお、撮像部110はフォーカス制御機能が無い構成(フォーカス固定)であってもよい。この場合には撮像部110はフォーカス制御機構を搭載しなくて済むため小型化できる。
The
撮像部110は、さらに光学系のズームを制御するズーム制御機構を備えることができ、このズーム制御を本情報処理装置が行ってもよい。具体的には、移動体が高速に移動する場合には、制御部1140がズームを広角にして広い視野の視覚情報合を取得するようにズーム値を調整する制御値(調整値)を算出する。また、移動体を高精度に制御したく、撮像部110の位置姿勢を高精度に算出したい場合には、ズームを狭角にして狭い視野の視覚情報合を高解像度で取得するようにズーム値を調整する制御値(調整値)を算出する。このように必要に応じてズーム値を変えることで、安定して、高精度に撮像部110の位置姿勢を算出することができる。このため、安定して、高精度に移動体を制御することができる。
The
本実施形態においては、撮像部110はピンホールカメラモデルに当てはまる光学系を想定して説明したが、撮像部110の位置姿勢、移動体の制御を行うための視覚情報を取得することのできる光学系であればどのような光学装置(レンズ)を用いてもよい。具体的には全天周レンズや魚眼レンズでもよいし双曲面ミラーでもよい。マクロレンズを用いてもよい。例えば、全天周レンズや魚眼レンズを用いると広大な視野の奥行き値を取得でき、位置姿勢推定のロバスト性が向上する。マクロレンズを用いると詳細な位置姿勢を算出することができる。このように、使用するシーンに合わせてユーザがレンズを自由に変更(交換など)することができ、安定して、高精度に撮像部110の位置姿勢を算出することができる。また、安定して、高精度に移動体を制御することができる。
In the present embodiment, the
このようにズーム値や焦点距離を変える構成とする場合には、撮像部110が、焦点および画角を制御するために設けられた光学系制御モータの回転角あるいは移動量によって規定される制御値を読み取る。そして、不図示のルックアップテーブルを参照して焦点距離を算出する。また、レンズを変えた場合には撮像部110は、レンズに付与した電子接点を通してレンズに記録された焦点距離値を読み取る。また、不図示のUIを用いて人が撮像部110に焦点距離を入力することもできる。このようにして取得した焦点距離値を用いて撮像部110はデプスマップを算出する。そして、本情報処理装置の入力部110は撮像部110から視覚情報と合わせて焦点距離値を入力する。算出部1120は、入力部1110が入力したデプスマップ、および焦点距離値を用いて位置姿勢を算出する。また、撮像部110は算出した焦点距離を用いて撮像部110座標系におけるポイントクラウドを算出することができる。この時には本情報処理装置の入力部110は撮像部110が算出したポイントクラウドを入力し、算出部1120は入力部110が入力したポイントクラウドを用いて位置姿勢を算出する。
When the zoom value and focal length are changed in this way, the
本実施形態におけるマップ情報とは、ポイントクラウドのことであった。しかしながら、撮像部110の位置姿勢を算出するための指標となる情報であれば何でもよい。具体的には、ポイントクラウドの各点にさらに色情報である三値を付与した色情報付きポイントクラウドであってもよい。また、デプスマップと位置姿勢を関連付けてキーフレームとし、キーフレームを複数保持する構成としてよい。このときには、キーフレームのデプスマップと撮像部110が取得したデプスマップとの距離を最小化するように位置姿勢を算出する。さらに、また、入力部1110が画像を入力する構成であれば、算出部1120が入力画像をキーフレームに関連付けて保持しておいてもよい。また、さらにAGVが通行可能な領域と壁などの通行不可の場所を関連付けた2Dマップを保持する構成としておいてもよい。なお、2Dマップの利用法については後述する。
The map information in this embodiment is a point cloud. However, any information may be used as long as it is an index for calculating the position and orientation of the
本実施形態において位置姿勢算出はICPアルゴリズムを用いた例を説明したが、位置姿勢を算出することができればどのような方法を使ってもよい。つまり、本実施形態で説明したポイントクラウドの代わりに、算出部1120がそれらからメッシュモデルを算出し、各面の距離が最小化するように位置姿勢を算出する方法を用いてもよい。また、デプスマップおよびポイントクラウドから不連続点となる三次元エッジを算出し、それら三次元エッジ同士の距離が最小化するように位置姿勢を算出する方法を用いてもよい。また、入力部1110が画像を入力する構成であれば、算出部1120が入力画像を更に用いて位置姿勢を算出することもできる。
In this embodiment, an example in which the ICP algorithm is used to calculate the position and orientation has been described, but any method may be used as long as the position and orientation can be calculated. That is, instead of using the point cloud described in this embodiment, a method may be used in which the
また、AGVがジャイロやIMUなどの慣性センサ、タイヤの回転量を取得するエンコーダといったセンサを備えていれば、入力部1110が、入力センサのセンサ値を入力する。算出部1120が、センサ値を併用して撮像部110の位置姿勢を算出することもできる。具体的にはKalman Filterや、Visual Inertial SLAMとして関連技術が公知であり、これらを援用できる。このように、撮像部110の視覚情報とセンサ情報を併用することで高精度にロバストに位置姿勢を算出することができる。また、ジャイロやIMUなどの慣性センサを撮像部110が撮像する視覚情報のブレの低減に用いることができる。具体的には、鉛直方向の移動や回転を検知した場合にはAGVの振動とみなし、これをキャンセルするように視覚情報を画像変形する。このようにすることで、AGVの走行時の揺れの影響を受けずに高精度に位置姿勢を算出することができる。
Furthermore, if the AGV is equipped with a sensor such as an inertial sensor such as a gyro or an IMU, or an encoder that obtains the amount of rotation of a tire, the
実施形態1では、単に目標位置姿勢と算出部1120が算出した位置姿勢との距離が小さくなるように、制御部1140が制御値を算出していた。その他、制御部1140は目的地に到達するための制御値を算出するものであればどのような制御値を算出しても用いてもよい。具体的には、入力幾何情報であるデプスマップの奥行き値が所定の距離未満になった場合には、制御部1140が例えば右に旋回するような制御値を算出する。また、保持部1130が保持するマップ情報でポイントクラウドが存在する部分は通行不可、存在しない空間は通行可として、算出部1120が動的計画法によってルートを生成し、制御部1140がこのルートに従って制御値を算出することもできる。このようにすることで壁に沿った行動を行うことができ壁との衝突を回避しつつ目的地まで移動することができる。また、算出部1120が、あらかじめマップ情報であるポイントクラウドを地面である平面に射影して2Dマップを作成しておく。ポイントクラウドが射影された地点は壁や障害物など通行できない地点であり、射影されていない地点は空間中に何もなく通行が可能な地点である。この情報を基に、動的計画法により目的地までのルートを生成することができる。また、算出部1120が、目的地に近くなるほど小さくなるような値を格納したコストマップを算出し、制御部1140がこれを入力として制御値を出力するように学習したニューラルネットワークである深層強化学習器を用いて制御値を算出してもよい。このように壁などの障害物を回避しつつ移動する制御値を算出することで、安定して、安全にAGVを運用することができる。
In the first embodiment, the
保持部1130がマップ情報を保持しない構成としてもよい。具体的には、撮像部110が時刻tとその1時刻前のt’’に取得した視覚情報をもとに算出部1120が時刻t’’に対する時刻tの位置姿勢を算出する。このように算出部1120が毎時刻算出する位置姿勢変化量の行列を掛け合わせることで、マップ情報が無くとも撮像部110の位置姿勢を算出することができる。このような構成とすることで計算資源の小さい計算機においても位置姿勢を算出し、移動体の制御を行うことができる。
A configuration may also be adopted in which the
実施形態1では、保持部1130が、事前に作成したマップ情報を保持していた。しかしながら、撮像部110が取得した視覚情報と、算出部1120が算出した位置姿勢をもとにマップ情報を作成しつつ位置姿勢推定を行うSLAM(Simultaneous Localization and Mapping)の構成としてもよい。SLAMの方法は数多く提案されておりそれらを援用できる。例えば、複数時刻に撮像部110が取得したポイントクラウドを時系列統合するPoint-Based Fusionアルゴリズムを用いることができる意。また、計測した奥行きの物体と空間との境界をボクセルデータとして時系列的に統合するKinect Fusionアルゴリズムを用いることができる。この他にも、画像から検出した特徴点の奥行きにデプスセンサの奥行き値としてトラッキングしつつ、マップを生成するRGB-D SLAMアルゴリズム等が公知であり、これらを援用できる。また、本実施形態において、マップは同一の時間帯に生成されるものに限定されない。例えば、時間帯を変えてマップを複数生成し、それらを合成してもよい。
In the first embodiment, the
本実施形態において、マップ情報は、移動体11に搭載している撮像部110で取得したデータから生成することに限らない。例えば、環境のCAD図面や地図画像をそのまま、あるいはデータフォーマット変換したものを保持部1130が保持して置いてもよい。また、CAD図面や地図画像によるマップを初期マップとして保持部1130が保持しておき、前述のSLAM技術で更新しても良い。マップの更新時刻を保持しておき、所定の時間が過ぎた地点のマップを更新するようにAGVを制御する制御値を制御部1140が算出してもよい。マップの更新は、上書きで更新しても良いし、初期マップを保持しておき差分を更新情報として記憶しても良い。また、その際、マップをレイヤーで管理して、表示部H16で確認したり、初期マップに戻したりすることも出来る。ディスプレイ画面を見ながら操作を行うことで利便性が向上する。
In this embodiment, the map information is not limited to being generated from data acquired by the
実施形態1では、移動体管理システム13が設定した目的地座標を基に移動体が動作していた。一方、本情報処理装置が算出した位置姿勢や制御値を移動体管理システムに通信I/F(H17)を通して送信することもできる。撮像部110が取得した視覚情報を基に算出した位置姿勢や制御値を移動体管理システム13や工程管理システム14が参照することで、より効率よく工程の管理、移動体の管理を行うことができる。また、常時オンラインで移動管理システムから目的地座標を取得するのであれば、保持部1130は目的地座標を保持しないで通信I/Fを介して随時受信する構成とすることもできる。
In the first embodiment, the mobile body operates based on the destination coordinates set by the mobile
実施形態1では、情報処理システム1として、工程管理システム14が工場の全体工程を管理し、管理状況に応じて移動体管理システム13が移動体の運行情報を管理し、運行情報に従って移動体12が移動する構成だった。しかしながら、移動体が、撮像部110が取得する視覚情報を基に移動する構成であればよい。例えば、あらかじめ所定の二地点を保持部1130に保持しておき、それらの間を行き来するような構成とすれば工程管理システムや移動体管理システムが無くてもよい。
In the first embodiment, as the information processing system 1, the
本実施形態において、移動体12は搬送車(AGV)に限定されるものではない。例えば、移動体12は自動運転車、自律移動ロボットであっても良く、本実施形態で説明した移動制御をそれらに適用しても良い。
In this embodiment, the moving
特に、前述の情報処理装置を自動車に搭載すれば、自動運転を実現する自動車としても用いることができる。制御部1140が算出した制御値を用いて自動車を移動させる。この場合には、自動車に搭載されるカーナビゲーションシステムからI/O(H18)を通して目的地座標やマップ情報を取得することができる。
In particular, if the above-mentioned information processing device is installed in a car, it can also be used as a car that realizes automatic driving. The control value calculated by the
また、移動体を制御するために用いるのではなく、撮像部110が取得した視覚情報を基に位置姿勢を算出する装置として構成してもよい。具体的には、複合現実感システムにおける現実空間と仮想物体との位置合わせ、すなわち、仮想物体の描画に利用するための現実空間における撮像部110の位置及び姿勢の計測に本実施形態の方法を適用することもできる。ここでは一例として、スマートフォンやタブレットに代表されるモバイル端末のディスプレイに、撮像部110が撮像した画像D154aに3DCGモデルを位置合わせし合成して提示する例を説明する。このような用途を実現するために、入力部1120は、撮像装置1110が取得したデプスマップD152cに加え、画像D154aを入力する。また、保持手段1130は仮想物体の3DCGモデルと、マップ座標系において3DCGモデルを設置する三次元位置を更に保持する。算出手段1120は、実施形態1で説明したように算出した撮像装置1110の位置姿勢を用いて、画像D154aに、3DCGモデルを合成する。このようにすることで、複合現実感を体験するユーザはモバイル端末を把持し、モバイル端末のディスプレイを通じて本情報処理装置が算出した位置姿勢を基に仮想物体が重畳された現実空間を安定して観察することができる。
Further, instead of being used to control a moving object, the device may be configured as a device that calculates the position and orientation based on visual information acquired by the
[実施形態2]
実施形態1では、撮像部が取得したデプスマップを用いて撮像部の位置姿勢を算出していた。DAF(Dual Pixel Auto Focus)による撮像部は、特に撮像部から特定の距離範囲を高精度に計測することができる。そこで、実施形態2では、撮像部からの距離が特定の範囲外であってもモーションステレオによって奥行き値を算出することで、撮像部が取得したデプスマップをさらに高精度化し、位置姿勢を安定して、高精度に算出する。
[Embodiment 2]
In the first embodiment, the position and orientation of the imaging unit is calculated using the depth map acquired by the imaging unit. An imaging unit using DAF (Dual Pixel Auto Focus) can particularly measure a specific distance range from the imaging unit with high precision. Therefore, in Embodiment 2, by calculating the depth value using motion stereo even when the distance from the imaging unit is outside a specific range, the depth map acquired by the imaging unit is further improved in accuracy and the position and orientation are stabilized. and calculate with high accuracy.
実施形態2における装置の構成は、実施形態1で説明した情報処理装置10の構成を示す図2と同一であるため省略する。入力部1110が、視覚情報を保持部1130に入力し、保持部1130が視覚情報を保持することが、実施形態1と異なる。また、および算出部1120が、保持部1130が保持する視覚情報も用いてデプスマップを補正し、位置姿勢を算出する点が、実施形態1と異なる。また、保持部1130はあらかじめ撮像部110の特性情報として、撮像部110が取得するデプスマップの奥行き値の信頼度を関連付けたリストを保持しているものとする。奥行き値の信頼度とは、事前に撮像部110と平面パネルとのを所定の距離だけ離して撮影したときの実距離と計測距離との誤差の逆数を0から1の値にクリッピングした値のことである。あらかじめさまざまな距離に対して信頼度を算出してあるものとする。ただし、計測ができなかった点は信頼度を0としておく。なお、本実施形態においては撮像部110が取得し、入力部1110が入力する視覚情報とは、画像およびデプスマップであるものとする。
The configuration of the device in the second embodiment is the same as that shown in FIG. 2 showing the configuration of the
実施形態2における処理全体の手順は、実施形態1で説明した情報処理装置10の処理手順を示す図4と同一であるため、説明を省略する。実施形態1とは、位置姿勢算出ステップS140前にデプスマップの補正ステップが追加される点が異なる。図7は、デプスマップ補正ステップにおける処理手順の詳細を示すフローチャートである。
The overall processing procedure in the second embodiment is the same as that shown in FIG. 4 showing the processing procedure of the
ステップS2110では、算出部1120が、保持部1130から撮像部110の特性情報を読み込む。
In step S2110, the
ステップS2120では、算出部1120が、保持部1130が保持する、撮像部110が視覚画像を取得した時刻t以前の任意の時刻t’に取得した視覚情報である画像とデプスマップ入力画像とを用いてモーションステレオによって奥行き値を算出する。時刻t以前の任意の時刻t‘に取得した視覚情報である画像を、以降、過去画像とも記載する。時刻t以前の任意の時刻t‘に取得したデプスマップを、以降、過去デプスマップとも記載する。モーションステレオ法は公知の技術であり、様々な方法を適用可能である。なお、二枚の画像からのモーションステレオでは奥行き値のスケールの曖昧性が残るが、これについては過去デプスマップとモーションステレオによって算出した奥行き値との比率を基に算出することができる。
In step S2120, the
ステップS2130では、算出部1120が、ステップS2110で読み込んだ特性情報である奥行き値に関連づいた信頼度とステップS2120でモーションステレオにより算出した奥行き値を用いて重み付き和によりデプスマップを更新する。具体的には、デプスマップの各奥行き値d付近の信頼度の値を重みαとすると、モーションステレオで算出した奥行き値mとを数式2の重み付き和で補正する。
In step S2130, the
dnew=αd+(1-α)m・・・(数式2)
算出したdnewを用いてデプスマップを更新する。デプスマップの全ての画素の更新を終えたら、デプスマップ補正ステップを終了し、実施形態1で説明したステップS150以降の処理を続ける。
d new =αd+(1-α)m...(Formula 2)
The depth map is updated using the calculated d new . When all pixels of the depth map have been updated, the depth map correction step is ended, and the processing from step S150 described in the first embodiment is continued.
以上のように、実施形態2では、撮像部110が奥行き値を高精度に取得できる場合には撮像部110の取得した奥行き値の重みを大きく、そうでない場合にはモーションステレオによって算出した奥行き値の重みを大きくする。これによって撮像部110の計測精度が低下してもそれをモーションステレオにより補正して、高精度にデプスマップを算出することができる。
As described above, in the second embodiment, when the
<変形例>
本実施形態においては、デプスマップの補正における信頼度を、撮像部110が算出するデプスマップの奥行き値の計測誤差から算出し、重みαとしていた。しかしながら、撮像部110が取得したデプスマップとモーションステレオによって算出した奥行き値とを統合し、デプスマップを高精度化するような重みの値を算出する方法であればよい。例えば、デプスマップの奥行きの逆数に所定の係数βを積算した値を重みとする方法でもよい。また、入力画像の勾配を算出し、勾配方向と撮像部110における素子の配置方向との内積を重みとしてもよい。他にも、撮像部110における二つの画像D154aとD154bの基線長や視差画像D154fの基線長を撮像部110からさらに入力部1110が入力し、これと、モーションステレオにおける基線長の比を重みとして用いることもできる。また、本実施形態で説明したように各画素に重みを算出するのではなく、特定の画素のみ統合する方式や、一部の画素または全画素に同一の重みを適応して重み付き和を算出してもよい。また、ある過去1時刻だけでなく、複数時刻の画像、デプスマップを用いてモーションステレオを行ってもよい。
<Modified example>
In this embodiment, the reliability in depth map correction is calculated from the measurement error of the depth value of the depth map calculated by the
さらに、より精度よくロバストに位置姿勢を算出できるように視覚情報が得られるように、AGVを制御することもできる。例えば、モーションステレオの基線長が大きくなるようにAGVを動かすように制御部1140が制御値を算出する。具体的には、遠方の所定の点を撮像部110でとらえたまま蛇行走行するような制御値がその一例である。これにより、モーションステレオ時の基線長が長くなるためより遠方の奥行き値を精度よく算出できる。また、撮像部110がより広い視野の視覚情報を得るように制御部1140が制御値を算出することもできる。具体的には、撮像部110の光学中心を中心とした見回し動作をするような制御値を算出することである。これにより、より視野の広い視覚情報を取得できるため、最適化における発散や誤差を減らして位置姿勢を算出することができる。
Furthermore, the AGV can also be controlled so that visual information can be obtained to more accurately and robustly calculate the position and orientation. For example, the
入力部1110が、通信I/Fを通して他のAGVから画像および位置姿勢を受信し、受信した画像および位置姿勢と、撮像部110が取得した画像とを用いてモーションステレオして奥行き値を算出することもできる。また、受信するのは視覚情報であればなんでもよく、他のAGVの撮像部が取得したデプスマップや視差画像、三次元点群であってもよい。
The
[実施形態3]
実施形態1、2では、撮像部110が取得したシーンを撮影した視覚情報を基に位置姿勢や制御値を算出していた。しかしながら、テクスチャのない壁や柱においては奥行き精度が低下することがある。そこで実施形態3では、シーンに対して所定のパターン光を投影し、それらパターン光を撮像部110が取得することで、奥行き精度を向上させる。
[Embodiment 3]
In the first and second embodiments, the position and orientation and control values were calculated based on visual information obtained by photographing a scene acquired by the
本実施形態における情報処理装置30の構成を図8に示す。実施形態1で説明した情報処理装置10における制御部1140がさらに、投影装置310の制御値を算出し、出力する点が異なる。なお、本実施形態における投影装置とは、プロジェクタであり、撮像部110の光軸と投影装置の光軸とが一致するように取り付けられているものとする。また、投影装置310が投影するパターンとは、投影および非投影の領域がランダムに存在するように生成されたランダムパターンのことである。なお、本実施形態においては視覚情報とは、撮像部110が取得する画像D154eおよびデプスマップD154dであり、入力部1110が撮像部110より入力する。
FIG. 8 shows the configuration of the
本実施形態における処理手順の図は、実施形態1で説明した情報処理装置10の処理手順を説明する図5と同一であるため説明を省略する。ステップS150において、算出部1120が、入力視覚情報がテクスチャに乏しいか否かを表すテクスチャ度合の値を算出し、制御部1140がテクスチャ度合の値を基にパターン投影のON/OFFの制御値を算出する点が実施形態1と異なる。
The diagram of the processing procedure in this embodiment is the same as FIG. 5 illustrating the processing procedure of the
ステップS150における、制御部1140が算出するパターン投影の制御値の算出手順の詳細を説明する。まず、算出部1120が、入力画像にソーベルフィルタを畳み込み、さらにそれらの絶対値を算出して勾配画像を算出する。ソーベルフィルタは、画像の1次微分を算出するためのフィルタの一種でありさまざまな文献で公知である。算出した勾配画像のうち所定の勾配値閾値以上の画素の割合をテクスチャ度合とする。次に、制御部1140が、テクスチャ度合の値が所定の閾値以上であれば投影装置をONに、所定の閾値未満であれば投影装置をOFFにするように制御値を算出する。
Details of the procedure for calculating the pattern projection control value calculated by the
以上のように、実施形態3では、シーンがテクスチャに乏しい場合には、ランダムなパターン光を投影する。これにより、シーンにランダムな模様が付加されるため、シーンがテクスチャに乏しい場合であっても撮像部がより精度よくデプスマップが取得できる。このため、精度よく位置姿勢を算出することができるようになる。 As described above, in the third embodiment, when the scene lacks texture, random pattern light is projected. As a result, a random pattern is added to the scene, so even if the scene lacks texture, the imaging unit can acquire a depth map with higher accuracy. Therefore, the position and orientation can be calculated with high accuracy.
<変形例>
本実施形態においては、パターン光とはランダムパターンのことであった。しかしながら、テクスチャに乏しい領域にテクスチャを付与するようなパターンであれば何でもよい。例えば、ランダムドットパターンや縞パターン(制限はや格子パターンなど)を投影してもよい。なお、縞パターンでは,変調波長内と波長外の距離を判別できないという曖昧性があるが、周波数を変えて複数時刻で取得した入力画像から奥行き値を求めるグレーコード方式を用いることで曖昧性を排除することができる。
<Modified example>
In this embodiment, the patterned light is a random pattern. However, any pattern may be used as long as it provides texture to an area lacking texture. For example, a random dot pattern or a striped pattern (limited to a lattice pattern, etc.) may be projected. Note that the striped pattern has an ambiguity in that it is not possible to distinguish between distances within the modulation wavelength and outside the wavelength, but this ambiguity can be resolved by using the Gray code method that calculates depth values from input images acquired at multiple times by changing the frequency. can be excluded.
本実施形態では、制御部1140が投影のON/OFFの制御値を出力し、統制装置310が投影の有無を切り替えていた。しかし、投影装置310がパターン光を投影できる構成であればこれに限らない。例えば、初期化ステップS110において電源が投入されることで投影装置310が投影を開始するように構成してもよい。また、シーンの任意の部分を投影装置310が投影するように構成してもよい。具体的には、勾配画像の勾配値が所定の閾値未満の領域にのみ投影装置310が投影するように、制御部1140が投影装置310の投影パターンを切り替えることもできる。実施形態5で述べる物体検出において人の目を検出し、人の目を避けてパターンを投影するよう制御値を算出することもできる。さらには、パターンのON、OFFだけでなく明度を変えてもよい。つまり、制御部1140が、デプスマップの奥行き値が大きい領域はより明るく投影装置310が投影するように制御値を算出することもできるし、入力画像の暗い部分はより明るく投影するように制御値を算出することもできる。また、算出部1120が位置姿勢を算出する際の繰り返し計算における誤差の残差が所定の閾値以上であればパターンを変更するような構成とすることもできる。
In this embodiment, the
本実施形態では、テクスチャ度合値はソーベルフィルタによる勾配画像を用いていた。他にも、プレフィットフィルタやSCHARRフィルタ、エッジ検出を行うキャニーフィルタといったフィルタによって算出した勾配画像やエッジ画像を用いてテクスチャ度合値を算出することもできる。また、画像にDFT(discrete Fourier transform:離散フーリエ変換)をかけた高周波成分をテクスチャ度合値とすることもできる。また、画像中の角といった特徴点を算出し、特徴点の個数をテクスチャ度合として用いてもよい。 In this embodiment, the texture degree value uses a gradient image obtained by a Sobel filter. In addition, the texture degree value can also be calculated using a gradient image or an edge image calculated by a filter such as a prefit filter, a SCHARR filter, or a Canny filter that performs edge detection. Furthermore, a high frequency component obtained by applying DFT (discrete Fourier transform) to an image can also be used as a texture degree value. Alternatively, feature points such as corners in the image may be calculated, and the number of feature points may be used as the texture degree.
[実施形態4]
実施形態1、2では、撮像部が取得したシーンを撮影した視覚情報を基に位置姿勢や制御値を算出していた。実施形態3では、パターン光を投影してテクスチャの乏しいシーンに対する精度向上について述べた。実施形態4では、さらに他の三次元センサが計測したシーンの位置を表す三次元情報を合わせて用いる方法について述べる。
[Embodiment 4]
In the first and second embodiments, the position and orientation and control values were calculated based on visual information obtained by photographing a scene acquired by the imaging unit. In the third embodiment, a description has been given of improving accuracy for scenes with poor texture by projecting patterned light. In the fourth embodiment, a method will be described in which three-dimensional information representing the position of the scene measured by another three-dimensional sensor is also used.
本実施形態における情報処理装置40の構成を図9に示す。実施形態1で説明した情報処理装置10における入力部1110がさらに、三次元計測装置410からの三次元情報を入力する点で実施形態1と異なる。なお、本実施形態における三次元計測装置410とは3DLiDAR(light detection and ranging)であり、レーザパルスの往復時間により距離を測定する装置である。三次元装置が取得する計測値を入力部1110がポイントクラウドとして、入力部1110が入力する。また、保持部はあらかじめ撮像部110の特性情報として、撮像部110が取得するデプスマップの奥行き値の信頼度を関連付けたリスト、および三次元計測装置410の奥行き値の信頼度を関連付けたリストを保持しているものとする。これらの信頼度は実施形態2で説明した方法で撮像部110、および三次元計測装置410ともに事前に算出されているものとする。
FIG. 9 shows the configuration of the
実施形態4における処理全体の手順は、実施形態1で説明した情報処理装置10の処理手順を示す図4と同一であるため、説明を省略する。実施形態1とは、位置姿勢算出ステップS140の前にデプスマップの補正ステップが追加される点が異なる。図10は、デプスマップ補正ステップにおける処理手順の詳細を示すフローチャートである。
The overall processing procedure in the fourth embodiment is the same as that shown in FIG. 4 showing the processing procedure of the
ステップS4110では、算出部1120が、保持部1130から撮像部110、および三次元計測装置410の特性情報を読み込む。
In step S4110, the
ステップS4120では、算出部1120が、ステップS4110で読み込んだ特性情報である奥行き値に関連づいた信頼度を用いて撮像部110が算出したデプスマップと三次元計測装置410が計測したポイントクラウドとを統合する。具体的には、数式2における値mを三次元計測装置410が計測した奥行き値と置き換えることでデプスマップを更新することができる。なお、重みαは、デプスマップの信頼度をγD、同じ地点を指すポイントクラウドの信頼度をγLとすると、数式3によって算出する。
In step S4120, the
算出した重みを用いて数2によりデプスマップを更新する。デプスマップの全ての画素の更新を終えたら、デプスマップ補正ステップを終了し、実施形態1で説明したステップ150以降の処理を続ける。 The depth map is updated using Equation 2 using the calculated weights. When all pixels of the depth map have been updated, the depth map correction step is ended, and the processing from step 150 described in the first embodiment is continued.
以上のように、実施形態4では、撮像部が奥行き値を高精度に取得できる場合には撮像部の取得した奥行き値の重みを大きく、三次元計測装置が奥行き値を高精度に取得できる場合には三次元計測装置が取得した奥行き値の重みを大きくする。これによって撮像部、および三次元計測装置のより良い精度で計測できる奥行き値を用いてデプスマップを算出することができ、高精度に位置姿勢を算出することができる。 As described above, in the fourth embodiment, when the imaging section can acquire depth values with high accuracy, the weight of the depth values acquired by the imaging section is increased, and when the three-dimensional measuring device can acquire depth values with high accuracy, the weight is increased. In this case, the weight of the depth value acquired by the three-dimensional measuring device is increased. As a result, the depth map can be calculated using the depth value that can be measured with better accuracy by the imaging unit and the three-dimensional measuring device, and the position and orientation can be calculated with high accuracy.
<変形例>
本実施形態においては、三次元計測装置410として3DLiDARを用いる方法について説明した。三次元計測装置410はこれに限るものでなく、撮像部110が取得した視覚情報を高精度化できる三次元情報が計測できるものであればよい。例えば、TOF(Time Of Flight)距離計測カメラであってもよいし、2台のカメラを備えたステレオカメラであってもよい。また、DAFによる撮像部110と別の単眼カメラを、撮像部110の光軸と一致させて配置したステレオ構成としてもよい。信頼度の特性が異なる撮像部110をさらに搭載し、これを三次元計測装置410とみなして同様にデプスマップを更新する構成でもよい。
<Modified example>
In this embodiment, a method using 3DLiDAR as the three-
[実施形態5]
実施形態1、2では、撮像部110が取得したシーンを撮影した視覚情報を基に位置姿勢や制御値を算出していた。実施形態3では、シーンに対して所定のパターン光を投影した。実施形態4では、さらに三次元計測装置が計測した三次元形状を合わせて用いていた。実施形態5では、視覚情報から物体を検出し、これを用いて移動体の制御を行う。特に本実施形態においては、AGVは荷物を搭載して運んでおり、目的地に到着すると棚やベルトコンベアに対して所定の位置に厳密に停止しなければならない場合について述べる。本実施形態では、撮像部110が撮像した棚やベルトコンベアといった物体の位置姿勢を算出することで厳密な位置姿勢を算出し、AGVを制御する方法について述べる。なお、本実施形態においては特に断りが無い限り物体の特徴情報とは物体の位置姿勢のことである。
[Embodiment 5]
In the first and second embodiments, the position and orientation and control values were calculated based on visual information obtained by photographing a scene acquired by the
実施形態5における装置の構成は、実施形態1で説明した情報処理装置10の構成を示す図2と同一であるため省略する。なお、算出部1120が、さらに視覚情報から物体検出を行い、制御部1140が、検出した物体が視覚情報中の所定の位置に写るように移動体を制御する。さらに、保持部1130が物体検出のための物体モデルを保持しているとともに、AGVが目的に到着した際に物体に対してどの位置姿勢でいるべきかという物体に対する目標位置姿勢を保持している。以上の点が実施形態1と異なる。
The configuration of the device in the fifth embodiment is the same as that shown in FIG. 2 showing the configuration of the
物体モデルとは、物体の形状を表すCADモデルと、物体の三次元特徴点としてある法線を持った二点の三次元点群の相対位置を特徴量とするPPF(Point Pair Feature)特徴情報を格納したリストのことである。 An object model is a CAD model that represents the shape of an object, and PPF (Point Pair Feature) feature information whose features are the relative positions of a group of two three-dimensional points with a certain normal as three-dimensional feature points of the object. It is a list that stores .
実施形態5における処理全体の手順は、実施形態1で説明した情報処理装置10の処理手順を示す図5と同一であるため、説明を省略する。ただし、実施形態1とは、位置姿勢算出ステップS140後に物体検出ステップが追加される点が異なる。図11は、物体検出ステップの詳細を説明したフローチャートである。
The overall processing procedure in Embodiment 5 is the same as that shown in FIG. 5 showing the processing procedure of the
ステップS5110では、算出部1120が、保持部1130が保持する物体モデルを読み込む。
In step S5110,
ステップS5120では、算出部1120が、デプスマップから物体モデルに当てはまる物体が視覚情報中のどこに写っているか検出する。具体的には、まずデプスマップからPPF特徴を算出する。そして、デプスマップから検出したPPFと物体モデルのPPFとをマッチングすることで、撮像部110に対する物***置姿勢の初期値を算出する。
In step S5120, the
ステップS1530では、算出部1120が算出した、撮像部110に対する物体の位置姿勢を初期位置としてさらにICPアルゴリズムにより精密に撮像部110に対する物体の位置姿勢を算出する。合わせて、保持部1130が保持する、物体に対する目標位置姿勢との残差を算出する。算出手段1120が、算出した残差を制御部1140に入力し、物体検出ステップを終了する。
In step S1530, the position and orientation of the object relative to the
図5におけるステップS150においては、制御部1140が、算出部1120が算出した物体の位置姿勢の残差が小さくなる方向にAGVが移動するようにアクチュエータ120の制御値を算出する。
In step S150 in FIG. 5, the
実施形態5では、撮像素子上の各々の受光部が2以上の受光素子によって構成されることを特徴とする撮像部が取得したデプスマップに写る物体を検出し、モデルフィッティングにより物体の位置姿勢を算出する。そして、事前に与えられた対象物に対する位置姿勢と、検出した物体の位置姿勢との差が小さくなるようにAGVを制御する。すなわち、AGVを対象物に対して厳密に位置合わせするよう制御する。このように、事前に形状が既知の物体に対する位置姿勢を算出することで、高精度に位置姿勢を算出でき、高精度にAGVを制御することができる。 In the fifth embodiment, each light-receiving part on the image sensor is configured with two or more light-receiving elements. An object reflected in a depth map acquired by the imaging part is detected, and the position and orientation of the object is determined by model fitting. calculate. Then, the AGV is controlled so that the difference between the position and orientation of the object given in advance and the position and orientation of the detected object becomes small. That is, the AGV is controlled to be precisely aligned with the object. In this way, by calculating the position and orientation of an object whose shape is known in advance, the position and orientation can be calculated with high precision, and the AGV can be controlled with high precision.
<変形例>
本実施形態では、物体の検出にPPF特徴を用いていた。しかしながら、物体を検出することができる方法なら何でもよい。例えば、特徴量として三次元点の法線と周囲に位置する三次元点の法線との内積のヒストグラムを特徴量とするSHOT特徴を用いてもよい。また、ある三次元点の法線ベクトルを軸とする円柱面に周囲の三次元点を投影したSpin Imageを用いた特徴を用いてもよい。また、特徴量を用いずに物体を検出する方法として機械学習による学習モデルを用いることもできる。具体的には、デプスマップを入力すると物体領域が1、非物体領域が0を返すように学習したニューラルネットワークを学習モデルとして用いることができる。また、デプスマップから物体の6自由度を出力できるよう学習した学習モデルであれば、ステップS5110からS5130をまとめて物体の位置姿勢を算出してもよい。
<Modified example>
In this embodiment, PPF features were used to detect objects. However, any method that can detect objects may be used. For example, a SHOT feature whose feature quantity is a histogram of the inner product of the normal of a three-dimensional point and the normals of surrounding three-dimensional points may be used. Alternatively, a feature using a spin image in which surrounding three-dimensional points are projected onto a cylindrical surface whose axis is the normal vector of a certain three-dimensional point may be used. Furthermore, a learning model based on machine learning can also be used as a method for detecting objects without using feature amounts. Specifically, a neural network trained to return 1 for object regions and 0 for non-object regions when a depth map is input can be used as a learning model. Further, if the learning model is trained to output six degrees of freedom of the object from the depth map, the position and orientation of the object may be calculated by combining steps S5110 to S5130.
本実施形態では、物体の例として棚やベルトコンベアとしていた。しかしながらAGVを停止させたときに撮像部110が観測でき、相対位置姿勢(相対位置、相対姿勢)が一意に定まる物体であればなんでもよい。例えば、位置姿勢の指標として工場の天井に張り付けた三次元のマーカ(具体的には、3Dプリンタで印刷した任意の凹凸を持つ任意形形状の物体)でもよい。また、AGVが充電式で充電ステーションに停止する場合には充電ステーションの形状の3DCADモデルでもよい。また、CADモデルでなくとも、目標位置姿勢であらかじめ停止した際のデプスマップを物体モデルとして用いてもよい。このとき、AGV運用時には保持したデプスマップと入力部1110が入力したデプスマップとの間の位置姿勢誤差が小さくなるようにAGVを制御すればよい。このようにするとCADモデルの作成の手間なく物体モデルを生成できる。
In this embodiment, examples of objects include shelves and belt conveyors. However, any object may be used as long as it can be observed by the
本実施形態では、AGVの厳密な位置決めのため、位置姿勢算出のために、物体を検出しモデルフィッティングする方法を例示した。しかしながら、厳密な位置姿勢算出の目的のためだけではなく、衝突回避やほかのAGVの位置姿勢検出に用いてもよい。具体的には、物体モデルとしてAGVの形状のCADモデルを保持しておき、算出部1120が物体検出によって他のAGVを見つけたとする。このとき、他のAGVの座標を避けるように制御部1140が制御値を算出することにも使うことができる。そして、他のAGVに衝突することを避ける。また、他のAGVを検出した時にはアラートを提示し、他のAGVに自身の進行ルートを空けるよう指令を出してもよい。他のAGVが止まっていれば、バッテリー切れで停止しているとみなしてそれらに近接するように制御値を算出し、連結して充電ステーションへ移動するよう制御部1140が制御値を算出してもよい。また、工場において通路に配線がなされている時には、算出部1120が配線を検出し、制御部1140がそれらを踏まないように迂回するように制御値を算出してもよい。地面に凹凸がある場合には凹凸を避けるように制御値を算出してもよい。また、物体モデルごとに進入禁止や、推奨ルートといったラベルを関連付けておけば、当該物体をシーン中に配置することで容易にAGVの通行可否を設定することができる。
In the present embodiment, a method of detecting an object and performing model fitting in order to accurately position the AGV and calculate the position and orientation has been exemplified. However, it may be used not only for the purpose of exact position and orientation calculation, but also for collision avoidance and other AGV position and orientation detection. Specifically, suppose that a CAD model of the shape of an AGV is held as an object model, and
本実施形態においては、物体モデルとはCADモデルであった。しかしながら物体の位置姿勢を算出できればモデルは何でもよい。例えば、対象物を複数視点で撮影したステレオ画像からStructure From Motionアルゴリズムによって三次元復元して生成したメッシュモデルであってもよい。また、RGB-Dセンサで複数視点から撮影したデプスマップを統合して作成したポリゴンモデルであってもよい。また、前述のような物体を検出するように学習したニューラルネットワークモデルとして例えばCNN(Convolutional Neural Network)を用いてもよい。 In this embodiment, the object model was a CAD model. However, any model may be used as long as the position and orientation of the object can be calculated. For example, it may be a mesh model generated by three-dimensionally restoring stereo images of the object taken from multiple viewpoints using a Structure From Motion algorithm. Alternatively, it may be a polygon model created by integrating depth maps taken from multiple viewpoints using an RGB-D sensor. Further, for example, a CNN (Convolutional Neural Network) may be used as a neural network model trained to detect objects as described above.
AGVが運搬する物体を撮像部110が撮像し、算出部1110が認識し、搭載した物体種に応じて制御部1140が制御値を算出することもできる。具体的には、搭載した物体が壊れ物であればAGVが低速で移動するように制御値を算出する。また、あらかじめ物体毎に目的位置姿勢を関連付けたリストを保持部1130に保持していれば、搭載した物体と関連づいた目的位置にAGVを移動させるように制御値を算出してもよい。
It is also possible for the
また、撮像部110が、移動体から所定の距離範囲内で、物体を検知したら、運搬するべき物体が落下していると判断してアラートを表示することもできる。また、AGVに不図示のロボットアームを搭載していれば、ロボットアームで当該物体を取得するようにロボットアームの制御値を制御部1140が算出してもよい。
Further, if the
[実施形態6]
実施形態1~4では、撮像部110が取得した視覚情報を基に高精度に安定して位置姿勢を算出し、移動体の制御値を算出する方法について述べた。実施形態5では、視覚情報から物体を検出し、これを用いて移動体の制御を行う方法について述べた。実施形態6では実施形態1~5の追加機能として、入力視覚情報を領域分割した結果を用いてAGVの制御やマップ情報の生成を高精度に安定して行う方法について述べる。特に、本実施形態においてはマップ情報の生成時に適応する方法を例示する。マップ情報には、時間が経過しても位置姿勢が変わらない静止物体を登録し、これらを用いて位置姿勢を算出する方がシーンの変化に対するロバスト性が向上する。そこで、視覚情報を意味的領域分割し、各画素が何の物体種であるかを判別する。そして、あらかじめ物体種毎に算出した静止物体らしさ情報を用いて階層的なマップ情報を生成する方法、およびそれらを用いた位置姿勢推定方法について述べる。なお、本実施形態においては、特に断りが無い限り物体の特徴情報とは物体の種類のことである。
[Embodiment 6]
In the first to fourth embodiments, a method has been described in which the position and orientation of the moving body are calculated stably with high accuracy based on the visual information acquired by the
実施形態6における装置の構成は、実施形態1で説明した情報処理装置10の構成を示す図2と同一であるため省略する。なお、算出部1120が、さらに視覚情報を意味的領域分割し、それらを用いて階層的にマップ情報を生成する。本実施形態における階層的マップ情報とは、(1)工場のレイアウトCADモデル、(2)静止物体マップ、(3)什器マップ、(4)動く物体マップの4レイヤーで構成されるポイントクラウドである。なお、保持部1130は外部メモリH14に(1)工場のレイアウトCADモデルを保持しておく。また、階層的に作成したマップ情報を用いて位置姿勢を算出する。位置姿勢算出方法については後述する。なお、本実施形態においては撮像部110が取得し、入力部1110が入力する視覚情報とは、画像およびデプスマップであるものとする。また、保持部1130は、画像を入力すると、各画素が該当する物体か否かを表すマスク画像を物体種ごとに出力するように学習された学習モデルであるCNNを合わせて保持する。その学習モデルとともに、各物体種が各階層(2)~(4)どれに当てはまるかのルックアップテーブルを保持しており、物体種を指定するとどの階層の物体種であるかが判明する。
The configuration of the device in the sixth embodiment is the same as that shown in FIG. 2 showing the configuration of the
実施形態6における処理全体の手順の図は、実施形態1で説明した情報処理装置10の処理手順を示す図4と同一であるため説明を省略する。算出部1120が位置姿勢を算出する際に、保持部1130が保持するマップ情報のレイヤーを考慮して位置姿勢を算出する点が実施形態1と異なる。また、実施形態1とは、位置姿勢算出ステップS140後に領域分割・マップ生成ステップが追加される点が異なる。これらの処理の詳細は後述する。
The diagram of the overall processing procedure in the sixth embodiment is the same as FIG. 4 showing the processing procedure of the
ステップS140では、算出部1120が、保持部1130が保持するマップ情報のレイヤーごとに、位置姿勢算出の寄与度となる重みをポイントクラウドに付与して位置姿勢を算出する。具体的には、本実施形態における例のように(1)~(4)のレイヤーを保持する場合には、より動きにくいマップ情報である(1)から(4)にかけて順次重みを小さくする。
In step S140, the
図12は、領域分割・マップ生成ステップの詳細を説明したフローチャートである。この領域分割・マップ生成ステップは図5における位置姿勢算出ステップS140直後に追加され、実行される。 FIG. 12 is a flowchart illustrating details of the area division/map generation step. This area division/map generation step is added and executed immediately after the position/orientation calculation step S140 in FIG. 5.
ステップS6110では、算出部1120が入力画像を意味的領域分割する。意味的領域分割は多数の手法が提案されており、これらを援用できる。ただし、画像を意味的領域分割する方法であれば、上記方法に限るものではない。これらの方法を用いて、物体種ごとに各画素に当該物体か否かを割り当てたマスク画像を得る。
In step S6110, the
ステップS6120では、デプスマップを領域分割する。具体的には、まずデプスマップの各画素に対して法線を算出し、周囲の法線との内積が所定の値以下となる法線のエッジを検出する。そして法線のエッジを境界としてそれぞれの領域に異なるラベルを割り振ることでデプスマップを領域分割し、領域分割画像を得る。 In step S6120, the depth map is divided into regions. Specifically, a normal line is first calculated for each pixel of the depth map, and an edge of the normal line whose inner product with surrounding normal lines is less than or equal to a predetermined value is detected. Then, the depth map is divided into regions by assigning different labels to each region using the edges of the normal lines as boundaries, and a region-divided image is obtained.
ステップS6130では、算出部1120が、入力画像を意味的領域分割したマスク画像と、デプスマップを領域分割した領域分割画像を基にポイントクラウドの意味的領域分割を行う。具体的には、各デプスマップの領域SDjと各マスクの物体領域SMjの包含関係の割合Ni,jを数式4により算出する。なお、iは物体種、jはデプスマップの領域分割のラベルである。
In step S6130, the
次に、Ni,jが所定の閾値以上であるデプスマップの領域SDjに物体種iを割り当てる。ただし、物体種が割り当てられていない画素は背景ラベルを割り当てておく。以上により、デプスマップの各画素に物体種iを割り当てる。 Next, the object type i is assigned to the region S Dj of the depth map where N i,j is equal to or greater than a predetermined threshold. However, pixels to which no object type is assigned are assigned a background label. As described above, object type i is assigned to each pixel of the depth map.
ステップS6140では、算出部1120が、ステップS6130でデプスマップに割り当てられた物体種ラベルを基に階層的にマップ情報を生成する。具体的には、デプスマップの物体種ラベルごとにルックアップテーブルを参照し、保持部1130が保持するマップ情報の各レイヤーにデプスマップから求まる三次元点群を保存する。保存が完了したら、領域分割・マップ生成ステップを終了する。
In step S6140, the
以上のように、実施形態6では、デプスマップを意味的領域分割することで、位置姿勢算出に適切な動かない物体と、位置姿勢算出に不適な、動く物体とを分けてマップ情報に登録することができる。また、分割したマップ情報を用いて、より動く物体程小さくなるように重みを割り当てる。そして、割り当てた重みに従って位置姿勢を算出する。このようすることで、より安定してロバストに位置姿勢を算出することができる。 As described above, in the sixth embodiment, by semantically dividing the depth map into regions, stationary objects that are suitable for position and orientation calculations and moving objects that are unsuitable for position and orientation calculation are registered separately in map information. be able to. Furthermore, using the divided map information, weights are assigned so that the more moving the object, the smaller the weight. Then, the position and orientation are calculated according to the assigned weights. By doing so, the position and orientation can be calculated more stably and robustly.
<変形例>
本実施形態では(1)~(4)のレイヤーを用いていた。しかしながら、物体の移動具合に応じて複数レイヤーを持つ構成であればよく、(1)~(4)の任意の個数のレイヤーのみ保持部1130が保持する構成であってよい。また、これら以外にも特定の物体(AGVレイヤー、人レイヤー)や、柱レイヤー、ランドマーク(3Dマーカや充電ステーション)レイヤーを保持する構成としてもよい。
<Modified example>
In this embodiment, layers (1) to (4) were used. However, it is only necessary to have a plurality of layers depending on the movement of the object, and the
本実施形態においては、意味的領域分割したデプスマップを用いてマップ情報生成、および位置姿勢を算出した。一方、意味的領域分割したデプスマップを用いて、制御部1140が制御値を算出してもよい。具体的には、意味的領域分割したときに人やほかのAGVが検出された場合には、それらを避けるように制御部1140が制御値を算出することができる。このようにすることで、安全にAGVを運用できる。また、人や他のAGVの後ろをついていくような制御値を制御部1140が算出してもよい。このようにすることで、マップ情報が無くともAGVが動作することができるようになる。さらに、算出部1120が、意味的領域分割結果を基に人のジェスチャーを認識し、制御部1140が制御値を算出してもよい。具体的には、例えば人の腕や指、頭、胴体、足などのパーツごとに画像の領域をラベリングし、それらの相互位置関係を基にジェスチャーを認識する。人の手招きジェスチャーを認識したら人の近くに移動するように制御値を算出する、人の指差しジェスチャーを認識したら指差した方向に移動するよう制御値を算出する。このように、人のジェスチャーを認識することで、ユーザが直接コントローラなどを用いてAGVをコントロールせずとも移動させることができるようになるため、手間なくAGVを運用できる。
In this embodiment, map information is generated and the position and orientation are calculated using a depth map that has been segmented into semantic regions. On the other hand, the
本実施形態の方法で検出した物体種に応じて制御部1140が制御値を算出してもよい。具体的には、物体種が人であれば止まる、物体種がほかのAGVであれば避ける、というように制御する。これにより、衝突を避けなければならない人にぶつからないように安全に、人でないものは避けて効率よくAGVを運用できるようになる。
The
本実施形態では、AGVが受動的に物体をセグメンテーションしていた。しかしながら、動く物体を排除するようにAGVが人に指示を出してもよい。具体的には、マップ情報を生成中に、算出部1120が人を検出した場合には、制御部1140が不図示のスピーカを用いて人を移動させる音声を出力する制御値を算出する。このようにすることで、動く物体を除外してマップ情報を生成することができる。
In this embodiment, the AGV passively segmented the object. However, the AGV may instruct a person to remove moving objects. Specifically, when the
本実施形態においては、意味的領域分割を行い、物体種を特定していた。しかしながら物体種を特定せずとも算出部1120がマップ情報や位置姿勢の算出や、制御部1140が制御値を算出する構成としてもよい。つまり、図12のS6110,S6120、を取り除いた構成とすることもできる。具体的には、例えばデプスマップを地面からの高さによって領域分割する。このとき、AGVの高さ以上の高さである画素は無視して制御値を算出する。つまり、AGVが衝突しない高さのポイントクラウドはルート生成に用いない。このようにすることで、処理する点群数が減少し高速に制御値を算出することができるようになる。また、平面度合を基に領域分割ってもよい。こうすると、位置姿勢算出の寄与度が高い三次元エッジを優先して位置姿勢算出に用いる(位置姿勢で曖昧性が残る平面を処理から除外する)ことができるようになり、算出時間の減少とロバスト性の向上につながる。
In this embodiment, semantic region segmentation is performed to identify the object type. However, the
本実施形態では、マップ情報で動く物体ほど重みを小さくして位置姿勢算出の寄与度を低下させていた。一方、マップ情報はレイヤー構造をもっていなくても、デプスマップの意味的領域分割結果を基にデプスマップの各画素に重みを算出し、この重みを用いて位置姿勢を算出することもできる。入力部1110がデプスマップを入力したら、次に算出部1120がデプスマップをS6110からS6130の処理手順で意味的領域分割する。そして各画素の物体種ラベルを基にルックアップテーブルを参照して重みを決める。その後、ステップS140により重みを考慮して位置姿勢を算出する。以上のように、マップをレイヤー構造とせずとも、位置姿勢算出における動く物体の影響を低下させることができる。こうするとマップの容量を小さくすることができる。
In the present embodiment, the weight of an object that moves according to the map information is decreased to reduce its contribution to position and orientation calculation. On the other hand, even if the map information does not have a layer structure, it is also possible to calculate a weight for each pixel of the depth map based on the result of semantic region division of the depth map, and use this weight to calculate the position and orientation. When the
本実施形態における撮像部110は、撮像素子上の各々の受光部が2以上の受光素子によって構成されることを特徴とする撮像部に限らず、TOFカメラや3DLiDARなど、三次元の奥行き情報を取得できるものであれば何でもよい。
The
本実施形態では保持部1130がマップ情報をレイヤーごとに保持している。これらは表示部H16で確認したり、初期マップに戻したりすることも出来る。ディスプレイ画面を見ながらレイヤーを確認することで、動く物体がマップに登録されている場合には再度AGVにマップを生成する指示を出すことで、手軽に、安定してAGVを運用することができる。
In this embodiment, the
本実施形態では、1台のAGVがマップ情報を作成することを想定していたが、複数のAGVが協調してマップ情報を生成することもできる。具体的には各AGVの作成したマップ情報の同一の地点を指すポイントクラウドが同じ位置となるようにICPアルゴリズムで位置合わせする。また、個別に作成したマップ情報を統合するときに、マップ作成時刻を参照して、より新しいマップ情報を残すように統合してもよい。また、しばらくマップ情報が更新されていない領域のマップを生成するように制御部1140が作業を行っていないAGVを移動させてもよい。このように、複数のAGVで強調してマップを生成することで、マップ情報の生成に係る時間が短くなり、手軽にAGVを運用することができる。
In this embodiment, it is assumed that one AGV creates map information, but it is also possible for a plurality of AGVs to cooperate and create map information. Specifically, alignment is performed using the ICP algorithm so that point clouds pointing to the same point in map information created by each AGV are at the same position. Further, when integrating individually created map information, the map creation time may be referred to and the information may be integrated so as to leave more recent map information. Further, the
制御部1140が算出する制御値の算出は、マップ情報を用いて、目的位置姿勢に近づくように算出する方法であれば本実施形態で説明した方法に限らない。具体的には、ルート生成のための学習モデルを用いて制御値を決定することができる。例えば、強化学習の学習モデルであるDQN(Deep Q-Network)を援用できる。特に、あらかじめ目標位置姿勢に近づくと報酬を高く、目標位置姿勢から離れると報酬を低く、障害物に接近すると報酬を低くするように強化学習の学習モデルを学習しておくことで実現できる。
The control value calculated by the
実施形態1から6においては、マップ情報を用いて位置姿勢の算出、制御値算出を行う方法について述べた。しかしながら、マップ情報の利用目的はこれに限らない。具体的には、作成したマップ情報を用いて、AGVの運搬シミュレーションを行い、効率良く運搬できるよう工程管理システムが工程を生成してもよい。同様に移動体管理システムが、マップ情報を基にAGVの運行タイミングや混雑を回避するようなルートを生成してもよい。 In the first to sixth embodiments, the method of calculating the position and orientation and the control value using map information has been described. However, the purpose of using map information is not limited to this. Specifically, the created map information may be used to perform an AGV transportation simulation, and the process management system may generate a process for efficient transportation. Similarly, the mobile object management system may generate AGV operation timings and routes that avoid congestion based on map information.
作成したマップで配送シミュレーションとともに前述の学習モデルの学習を行ってもよい。このとき、シミュレーション上で障害物の設置、人や他のAGVとの衝突といった状況を再現し学習しておくことで、現実に同様の状況が生じても制御部1140が学習モデルを用いて安定して制御値を算出することができる。また、A3C(Asynchronous Advantage Actor-Critic)などの方式により並列に学習することで、短時間で効率よく学習モデルが制御方法を学習するように構成することもできる。
The above-described learning model may be trained using the created map in addition to the delivery simulation. At this time, by reproducing and learning situations such as the installation of obstacles and collisions with people or other AGVs in the simulation, the
[実施形態7]
実施形態1から6に共通して適用できるUIについて説明する。撮像部が取得した視覚情報や、算出部が算出した位置姿勢、物体の検出結果、マップ情報などをユーザが確認することを説明する。また、AGVは自動制御で動くためユーザの入力により制御することを説明する。ユーザがAGVの状況を確認できるよう、AGVを制御することもできるように、表示装置として例えばディスプレイにGUIを表示し、マウスやタッチパネルといった入力装置によりユーザからの操作を入力する。なお、本実施形態において、ディスプレイはAGVに搭載されているものとしているが、このような構成に限るものではない。つまり、通信I/F(H17)を介して、ユーザの持つモバイル端末のディスプレイを表示装置として用いる、移動体管理システムに接続された液晶ディスプレイを表示装置として用いる、といったこともできる。AGVに搭載されている表示装置を用いる場合でも、AGVに搭載されていない表示装置を用いる場合でも、表示情報は、情報処理装置で生成することができる。また、AGVに搭載されていない表示装置を用いる場合には、表示装置に付随する計算機が、情報処理装置から表示情報の生成に必要な情報を取得し表示情報を生成してもよい。
[Embodiment 7]
A UI that can be commonly applied to Embodiments 1 to 6 will be described. It will be explained that the user confirms visual information acquired by the imaging unit, position and orientation calculated by the calculation unit, object detection results, map information, and the like. Furthermore, since the AGV operates under automatic control, it will be explained that it is controlled by user input. In order to enable the user to check the status of the AGV and also to control the AGV, a GUI is displayed on a display as a display device, and operations from the user are input using an input device such as a mouse or a touch panel. Note that in this embodiment, it is assumed that the display is mounted on the AGV, but the configuration is not limited to this. That is, it is also possible to use the display of a mobile terminal held by the user as a display device, or to use a liquid crystal display connected to a mobile object management system as a display device via the communication I/F (H17). Display information can be generated by an information processing device regardless of whether a display device installed in the AGV or a display device not installed in the AGV is used. Furthermore, when using a display device that is not mounted on the AGV, a computer attached to the display device may obtain information necessary for generating display information from the information processing device and generate the display information.
実施形態7における装置の構成は、実施形態1で説明した情報処理装置10の構成を示す図2と同一であるため省略する。算出部1120が、撮像部110が取得した視覚情報、算出部1120が算出した位置姿勢や検出した物体、制御部1140が算出した制御値に基づいて表示情報を生成し、AGVに搭載したタッチパネルディスプレイ等に提示する点が実施形態1と異なる。なお、表示情報の詳細については後述する。また、本実施形態においては、保持部1130は、2Dのマップ情報、3Dのマップ情報を保持しているものとする。
The configuration of the device in the seventh embodiment is the same as that shown in FIG. 2 showing the configuration of the
図13に、本実施形態における表示装置が提示する表示情報の一例であるGUI100を示す。 FIG. 13 shows a GUI 100 that is an example of display information presented by the display device in this embodiment.
G110は2Dのマップ情報を提示するためのウィンドウである。G120は3Dのマップ情報を提示するためのウィンドウである。G130は撮像部110が取得した画像D154eを提示するためのウィンドウである。G140は撮像部110が取得したデプスマップD154dを提示するためのウィンドウである。また、G150は、算出部1120が実施形態1で説明したように算出した位置姿勢や実施形態5、6で説明したように検出した物体、実施形態1で説明したように制御部1140が算出した制御値に基づいて表示情報を提示するためのウィンドウである。
G110 is a window for presenting 2D map information. G120 is a window for presenting 3D map information. G130 is a window for presenting the image D154e acquired by the
G110は、保持部1130が保持している2Dマップの提示例を示している。G111は、撮像部110を搭載したAGVである。算出部1120が、撮像部の位置姿勢(AGVの位置姿勢)に基づき2Dマップ上に合成する。G112は、算出部1120が実施例5や6の方法で検出した物体の位置姿勢に基づき、衝突の可能性がある場合に吹き出しとしてアラートを提示した例である。G113は、制御部1140が算出した制御値に基づき、AGVの進行予定ルートを矢印として提示した例である。図13においては、AGVはG114に提示した目的地に向かっている。このように、2DマップとAGVの位置、物体の検出結果、ルートを提示することでユーザが容易にAGVの運行状況を把握することができる。なお、G111~G114は色や線の太さ、形状を変えることでユーザがより容易に運行状況を把握できるようにしてよい。
G110 shows an example of presentation of the 2D map held by the
G120は、保持部1130が保持する3Dマップの提示例を示している。G121は、実施形態6で説明したように、算出部1120がデプスマップを意味的領域分割した結果を用いて保持部1130が保持する3Dマップを更新した結果を可視化した例である。具体的には工場のCADデータから得られた動かない物体は濃く、他のAGVや人など動く物体ほど薄く提示した。なお、濃さに限らず、レイヤーごとに色を変更して提示してよい。また、GUI122には、算出部1120が検出した物体のラベルを提示した。このように、3Dマップを提示することで、2Dマップと比較しさらに高さ方向を考慮してユーザは運行状況を把握することができる。また、AGVが走行している間に見つけた物体種であれば、現場に行かずとも探すことができる。
G120 shows an example of presentation of the 3D map held by the
G130は、撮像部110が取得した画像の提示例を示している。G131、G132は、実施形態6で説明したように、算出部1120が検出した物体である他のAGVや人の外周にバンディングボックスを点線で重畳した。ただし実践や二重線でもよいし、色を変えて提示することで強調してもよい。このように撮像部110が取得した画像に物体の検出結果を重畳することで、算出部1120が検出した物体を手間なくユーザが確認することができる。
G130 shows a presentation example of an image acquired by the
G140は、撮像部110が取得したデプスマップの提示例を示している。G141は、実施形態5で説明した、保持部1130が保持する物体のCADモデルを、算出部1120が算出した物体の位置姿勢を用いてワイヤーフレームとして重畳した例である。G142は、AGVのCADモデルをワイヤーフレームとして重畳した例である。G143は、三次元のマーカのCADモデルを重畳した例である。このように、デプスマップ上に検出して位置姿勢を算出した物体を提示することで、ユーザは検出した物体を容易に把握することができる。また、検出した物体の位置姿勢を用いてAGVの制御を行う場合には、デプスマップとCGとの位置ずれからAGVの位置姿勢の算出ずれを把握することができる。なお、ワイヤーフレームをさらにG130に重畳してもよい。こうすると、実写の画像とモデルとのずれをユーザは比較すればよく、より手軽に直感的にAGVの位置姿勢算出精度や物体の検出精度を確認することができるようになる。
G140 shows a presentation example of the depth map acquired by the
G150は、AGVを人手で操作するためのGUIや、算出部1120や制御部1140が算出した値、AGVの運行情報の提示例を示している。G151は緊急停止ボタンであり、ユーザはこのボタンに指で触れることでAGVの移動を停止させることができる。G152はマウスカーソルであり、不図示のマウスやコントローラ、タッチパネルを通したユーザのタッチ動作に従ってカーソルを移動させることができ、ボタンを押下することでGUI内のボタンやラジオボタンを操作することができる。G153はAGVのコントローラを提示した例である。ユーザはコントローラの内部の円を上下左右に移動させることで、それらの入力に応じたAGVの前後左右の動作を行うことができる。G154はAGVの内部状態を提示した例である。AGVが自動走行しており、秒速0.5m/sで動作している状態を例として図示した。また、AGVが走行を開始してからの時間、目的地までにかかる残りの時間、予定に対する到着予想時刻の差といった運行情報も合わせて提示した。G156はAGVの動作や表示情報の設定を行うためのGUIである。マップ情報を生成するか否か、検出した物体を提示するか否かといった操作をユーザが行うことができる。G157はAGVの運行情報を提示した例である。算出部1120が算出した位置姿勢や、移動体管理システム13から受信した目的地座標、AGVが運搬している物品名を提示した例である。このように、運行情報を提示する、ユーザからの入力に係るGUIを提示することで、より直感的にAGVを運用できるようになる。
G150 indicates a GUI for manually operating the AGV, values calculated by the
実施形態7における情報処理装置の処理手順は実施形態1で説明した情報処理装置10の処理手順を説明した図5のステップS160の後に、算出部1120が表示情報を生成する、表示情報生成ステップ(不図示)が新たに追加される点で異なる。表示情報生成ステップでは、撮像部110が撮像した視覚情報、算出部1120が算出した位置姿勢、検出した物体、制御部1140が算出した制御値を基に、表示情報をレンダリングし、表示装置に出力する。
The processing procedure of the information processing apparatus in the seventh embodiment includes a display information generation step (where the
実施形態7では、撮像部が取得した視覚情報や、算出部が算出した位置姿勢、検出した物体、制御部が算出した制御値を基に、算出部が表示情報を生成し、ディスプレイに提示する。これによりユーザが容易に本情報処理装置の状態を確認することができる。また、AGVの制御値や各種パラメータ、表示モード等をユーザが入力する。これにより手軽にAGVの各種設定を変更したり移動させたりすることができる。このように、GUIを提示することで手軽にAGVを運用することができるようになる。 In the seventh embodiment, the calculation unit generates display information based on the visual information acquired by the imaging unit, the position and orientation calculated by the calculation unit, the detected object, and the control value calculated by the control unit, and presents it on the display. . This allows the user to easily check the status of the information processing apparatus. Further, the user inputs control values, various parameters, display mode, etc. of the AGV. This allows various settings of the AGV to be easily changed or moved. In this way, by presenting the GUI, it becomes possible to easily operate the AGV.
表示装置は、ディスプレイに限らない。AGVにプロジェクタを搭載すれば、プロジェクタを用いて表示情報を提示することもできる。また、移動体管理13システムに表示装置を接続してあれば、通信I/F(H17)経由で表示情報を移動体管理システム13に送信し提示してもよい。また、表示情報の生成に必要な情報のみ送信して、移動体管理システム13内部の計算機で表示情報を生成することもできる。このようにすることで、ユーザはAGVに搭載した表示装置を確認せずとも、AGVの運行状況や操作を手軽に行うことができるようになる。
The display device is not limited to a display. If the AGV is equipped with a projector, display information can also be presented using the projector. Further, if a display device is connected to the mobile
本実施形態における表示情報は、本情報処理が扱う情報を提示するものであれば何でもよい。本実施形態で説明した表示情報の他にも、位置姿勢算出時の残差や物体検出時の認識尤度値を表示することもできる。さらには、位置姿勢算出に係った時間やフレームレート、AGVのバッテリーの残量情報なども表示してもよい。このように、本情報処理装置が扱う情報を提示することで、ユーザが本情報処理装置の内部状態を確認することができるようになる。 The display information in this embodiment may be any information as long as it presents information handled by this information processing. In addition to the display information described in this embodiment, it is also possible to display the residual error when calculating the position and orientation and the recognition likelihood value when detecting an object. Furthermore, the time and frame rate involved in calculating the position and orientation, information on the remaining battery power of the AGV, etc. may also be displayed. In this way, by presenting the information handled by the information processing device, the user can confirm the internal state of the information processing device.
本実施形態で説明したGUIは一例であって、AGVの運行状況を把握する、AGVに対して操作(入力)を行うことができるようなGUIであればどんなGUIを用いてもよい。例えば色を変える、線の太さや実線・破線・二重線を切り替える、拡大縮小する、必要のない情報を隠す、というように表示情報を変更することもできる。また、物体モデルはワイヤーフレームではなく輪郭を表示してもよいし、透過したポリゴンモデルを重畳してもよい。このように表示情報の可視化方法を変えることで、ユーザがより直感的に表示情報を理解することができるようになる。 The GUI described in this embodiment is an example, and any GUI may be used as long as it is a GUI that can grasp the operation status of the AGV and perform operations (inputs) on the AGV. For example, you can change the displayed information by changing the color, switching line thickness, solid, broken, or double lines, scaling, or hiding unnecessary information. Furthermore, the object model may be displayed as an outline instead of a wire frame, or a transparent polygon model may be superimposed. By changing the method of visualizing the displayed information in this way, the user can more intuitively understand the displayed information.
本実施形態で説明したGUIをインターネット経由で不図示のサーバに接続することもできる。このような構成とすると、例えばAGVに不具合が生じた場合に、AGVメーカの担当者が、現場に行かずともサーバを経由して表示情報を取得して、AGVの状態を確認することができる。 The GUI described in this embodiment can also be connected to a server (not shown) via the Internet. With such a configuration, if a problem occurs with the AGV, for example, a person in charge of the AGV manufacturer can obtain display information via the server and check the status of the AGV without going to the site. .
入力装置はタッチパネルを例で挙げたが、ユーザの入力を受け付ける入力装置であればなんでもよい。キーボードでもよいし、マウスでもよく、ジェスチャー(例えば撮像部110が取得する視覚情報から認識する)でもよい。さらにはネットワーク経由で移動体管理システムが入力装置となってもよい。また、スマートフォンやタブレット端末を通信I/F(H17)を経由して接続すれば、それらを表示装置/入力装置として用いることもできる。
Although a touch panel is used as an example of the input device, any input device that accepts user input may be used. It may be a keyboard, a mouse, or a gesture (recognized from visual information acquired by the
本実施形態において入力装置が入力するのは、本実施形態で説明したものに限らず、本情報処理装置のパラメータを変えるものであれば何でもよい。例えば、移動体の制御値の上限(速度の上限)を変えるようなユーザの入力を受け付けてもよいし、G110上でユーザがクリックした目的地点を入力してもよい。さらには、物体検出で用いるモデルと用いないモデルのユーザの選択を入力してもよい。検出できなかった物体をG130上でユーザが囲うように入力し、学習モデルの不図示の学習装置が撮像部110の視覚情報に合わせて当該物体を検出できるように学習するように構成してもよい。
In this embodiment, what the input device inputs is not limited to what has been described in this embodiment, but may be anything that changes the parameters of the information processing device. For example, a user input such as changing the upper limit of the control value (upper limit of speed) of the moving body may be accepted, or a destination point clicked by the user on G110 may be input. Furthermore, a user's selection of a model to be used and a model not to be used in object detection may be input. The configuration may also be configured such that the user inputs a box around an object that cannot be detected on the G130, and the learning device (not shown) of the learning model learns to detect the object in accordance with the visual information of the
[実施形態8]
実施形態6では、撮像部110が取得した視覚情報を意味的領域分割し、各画素が何の物体種であるかを判別しマップを生成する方法、およびそれらマップや判別した物体種に応じてAGVを制御する方法について述べた。実施形態8ではさらに、同一物体種でも状況によって異なる意味情報を認識し、それら認識結果を基にAGVを制御する方法について述べる。
[Embodiment 8]
In the sixth embodiment, a method is described in which the visual information acquired by the
本実施形態8では、撮像部110が取得した視覚情報から、工場における積み重ねておかれた製品などの、物体の積み重なり度合を意味情報として認識する。つまり、撮像部110の視界に入る物体の意味情報を認識する。そして、物体の積み重なり度合に応じてAGVを制御する方法について述べる。つまり、積み重なっているような物体をより安全に避けるようにAGVを制御する。なお、本実施形態における物体の積み重なり度合とは、物体の積み重ね個数、または高さのことである。
In the eighth embodiment, the degree of stacking of objects, such as products stacked in a factory, is recognized as semantic information from the visual information acquired by the
AGVの制御値算出には空間が物体によって占有されているかどうかを表す占有マップを用いるものとする。なお、本実施形態においては占有マップとして、シーンを格子状に区切り、各格子に障害物が存在する確率を保持した二次元の占有格子マップを用いる。本実施形態においては、占有マップは、AGVの接近拒絶度を表す値(0に近い程通行が許容され、1に近い程通行が拒絶される0から1の連続変数)を保持することとした。AGVは占有マップの接近拒絶値が所定の値以上の領域(本実施形態においては格子)を通らないように、目的地まで制御する。目的地とは、工程管理システム12から取得した運行情報に含まれる、AGVの目的地である二次元座標のことである。
It is assumed that an occupancy map indicating whether a space is occupied by an object is used to calculate the control value of the AGV. Note that in this embodiment, a two-dimensional occupancy grid map is used as the occupancy map, which divides the scene into grids and holds the probability that an obstacle exists in each grid. In this embodiment, the occupancy map holds a value representing the degree of approach rejection of the AGV (a continuous variable from 0 to 1, in which passage is allowed as it is closer to 0, and passage is refused as it is closer to 1). . The AGV is controlled to the destination so that it does not pass through an area (in this embodiment, a grid) where the access rejection value of the occupancy map exceeds a predetermined value. The destination refers to the two-dimensional coordinates of the destination of the AGV included in the operation information acquired from the
本実施形態における情報処理システムは、実施形態1の図1で説明したシステム構成と同一であるため説明を省略する。 The information processing system in this embodiment is the same as the system configuration described in FIG. 1 of Embodiment 1, so a description thereof will be omitted.
図14は、本実施形態8における情報処理装置80を備える移動体12のモジュール構成を示す図である。情報処理装置80は、入力部1110、位置姿勢算出部8110、意味情報認識部8120、制御部8130から構成されている。入力部1110は、移動体12に搭載された撮像部110と接続されている。制御部8130は、アクチュエータ120と接続されている。また、これらに加え、不図示の通信装置が移動体管理システム3と情報を双方向に通信を行っており、情報処理装置80の各種手段に入出力している。
FIG. 14 is a diagram showing a module configuration of a
本実施形態における撮像部110、アクチュエータ120、入力部1110は実施形態1と同様であるため詳細の説明は省略する。
The
以下に、位置姿勢算出部8110、意味情報認識部8120、制御部8130を順に説明する。
Below, the position/
位置姿勢算出部8110は、入力部1110が入力したデプスマップを基に撮像部110の位置姿勢を算出する。また、算出した位置姿勢を基にシーンの三次元マップを作成する。算出した位置姿勢、および三次元マップを意味情報認識部8120、および制御部8130に入力する。
The position and
意味情報認識部8120は、入力部1110が入力したデプスマップ、および位置姿勢算出部8110が算出した位置姿勢および三次元マップを基に、意味情報として積み重なっている物体の個数および高さの値を推定する。推定した個数および高さの値を制御部8130に入力する。
The semantic information recognition unit 8120 calculates the values of the number and height of stacked objects as semantic information based on the depth map input by the
制御部8130は、位置姿勢算出部8110が算出した位置姿勢、および三次元マップを入力する。また、意味情報認識部8120が推定した意味情報としての積み重なっている物体の個数および高さの値を入力する。制御部8130は、入力された値を基に、シーン中の物体への接近拒絶値を算出し、物体から所定の接近拒絶値以上の占有格子のセルを通るようにAGVを制御する制御値を算出する。制御部8130は、算出した制御値をアクチュエータ120に出力する。
The
次に、本実施形態における処理手順について説明する。図15は、本実施形態における情報処理装置80の処理手順を示すフローチャートである。処理ステップは、初期化S110、視覚情報取得S120、視覚情報入力S130、位置姿勢算出S810、意味情報推定S820、制御値算出S830、制御S160、システム終了判定S170からなる。なお、初期化S110、視覚情報取得S120、視覚情報入力S130、制御S160、システム終了判定S170は実施形態1の図5と同一であるため説明を省略する。以下に、位置姿勢算出S810、意味情報推定S820、制御値算出S830のステップを順に説明する。
Next, the processing procedure in this embodiment will be explained. FIG. 15 is a flowchart showing the processing procedure of the
ステップS810では、位置姿勢算出部8110が、撮像装置110の位置姿勢を算出するとともに、三次元のマップを作成する。これは、位置姿勢をもとにマップを作成しつつ位置姿勢推定を行うSLAM(Simultaneous Localization and Mapping)アルゴリズムにより実現する。具体的には、複数時刻に撮像部110が取得したデプスマップの奥行きの差が最小となるようにICPアルゴリズムで位置姿勢を算出する。また、算出した位置姿勢を基にデプスマップを時系列的に統合するPoint-Based Fusionアルゴリズムを用いて三次元のマップを作成する。
In step S810, the position and
ステップS820では、意味情報認識部8120が、デプスマップおよび三次元マップを領域分割し、領域ごとに物体の重なり数(n)と高さ(h)を算出する。具体的な処理手順を以下に順に説明する。 In step S820, the semantic information recognition unit 8120 divides the depth map and the three-dimensional map into regions, and calculates the number of overlapping objects (n) and height (h) for each region. The specific processing procedure will be explained in order below.
まず、デプスマップの各ピクセルとその周囲のピクセルの奥行き値に基づいて法線方向を算出する。次に、周囲の画素の法線方向との内積値が所定の値より大きければ同じ物体領域として一意の領域識別ラベルを割り当てる。このようにして、デプスマップを領域分割する。そして、領域分割したデプスマップの各画素が指す三次元マップの各ポイントクラウドにも領域識別ラベルを伝搬させることで三次元マップの領域分割を行う。 First, the normal direction is calculated based on the depth values of each pixel in the depth map and its surrounding pixels. Next, if the inner product value with the normal direction of surrounding pixels is larger than a predetermined value, a unique region identification label is assigned as the same object region. In this way, the depth map is divided into regions. Then, the three-dimensional map is divided into regions by propagating the region identification label to each point cloud of the three-dimensional map pointed to by each pixel of the divided depth map.
次に、三次元マップをX-Z方向(AGVの移動平面)に等間隔に分割したバウンディングボックスを作成する。分割した各バウンディングボックスを地面から順に鉛直方向(Y軸方向)に走査し、バウンディングボックスに含まれる各ポイントクラウドのラベル数を数える。また、ポイントクラウドの地面(X-Z平面)からの高さの最大値を算出する。算出した領域数n、最大の高さhをポイントクラウドごとに三次元マップに保持しておく。 Next, bounding boxes are created by dividing the three-dimensional map at equal intervals in the XZ direction (the movement plane of the AGV). Each divided bounding box is sequentially scanned from the ground in the vertical direction (Y-axis direction), and the number of labels of each point cloud included in the bounding box is counted. Also, calculate the maximum height of the point cloud from the ground (XZ plane). The calculated number of areas n and maximum height h are stored in a three-dimensional map for each point cloud.
ステップS830では、制御部S160が、三次元マップを基に占有マップを作成する。また、物体の重なり数(n)と高さ(h)から占有マップの接近拒絶度の値を更新する。そして、更新した占有マップを基にAGVを制御する。 In step S830, the control unit S160 creates an occupancy map based on the three-dimensional map. Furthermore, the approach rejection value of the occupancy map is updated based on the number of overlapping objects (n) and height (h). Then, the AGV is controlled based on the updated occupancy map.
具体的には、まず、ステップS810で作成した三次元マップをAGVの移動平面にあたる床面であるX-Z平面に射影し、2Dの占有マップを得る。次に、三次元マップの各ポイントクラウドをX-Z平面に射影した点と各占有マップとの距離、ポイントクラウドの物体の重なり数(n)と高さ(h)の値を用いて、占有マップの各格子の値である接近拒絶値を更新する。i番目のポイントクラウドPiをX-Z平面に射影した座標X-Zをpiとする。また、占有のj番目のセルQjの座標をqjとする。占有の値はh,Nが大きい程大きく、距離が離れるほど小さくなる関数として、例えば次のように求める。ただし、dijはpiとqiのユークリッド距離である。 Specifically, first, the three-dimensional map created in step S810 is projected onto the XZ plane, which is the floor surface corresponding to the movement plane of the AGV, to obtain a 2D occupancy map. Next, using the distance between each point cloud of the three-dimensional map projected onto the XZ plane and each occupancy map, the number of overlapping objects (n) and the height (h) of the point cloud, Update the access rejection value, which is the value of each grid in the map. Let p i be the coordinates XZ of the i-th point cloud P i projected onto the XZ plane. Further, the coordinates of the j-th occupied cell Qj are assumed to be qj . The value of occupancy is determined as a function that increases as h and N increase and decreases as the distance increases, for example, as follows. However, d ij is the Euclidean distance between p i and q i .
以上のように定めた、占有マップと目標位置姿勢・現在位置姿勢の情報から、AGVと目標地点の位置姿勢を最小にしつつも、占有マップの接近拒絶度の値が高い格子を避けるようにAGVの進行ルート(移動経路)を決め、制御値を算出する。制御部8130が算出した制御値をアクチュエータ130に出力する。
Based on the information on the occupancy map, target position/orientation, and current position/orientation determined as above, the AGV is designed to minimize the position/orientation of the AGV and the target point while avoiding grids with high approach rejection values on the occupancy map. Determine the travel route (travel route) and calculate the control value. The control value calculated by the
実施形態8では、意味情報としてAGVの周囲の物体の積み重ね数および高さを推定し、それらの値が大きくなる程、AGVがそれら物体から距離をおいて走行するように制御する。これにより、例えばAGVが物流倉庫のようにたくさんの物品が積まれた棚やパレットがある場合に、AGVがそれら物体からさらに距離をおいて走行することができるようになり、より安全にAGVを運行できるようになる。 In the eighth embodiment, the number and height of stacked objects around the AGV are estimated as semantic information, and the larger these values are, the further the AGV is controlled to travel from the objects. As a result, for example, when an AGV is in a distribution warehouse where there are shelves or pallets loaded with many items, the AGV can move further away from those objects, making the AGV safer. It will be possible to operate.
<変形例8-1>
本実施形態における撮像部110は、TOFカメラやステレオカメラなど、画像とデプスマップを取得できるものであれば何でもよい。さらには、画像のみを取得するRGBカメラや、モノクロカメラのような単眼カメラを用いてもよい。単眼カメラを用いる場合には位置及び姿勢の算出、占有マップの生成処理に奥行きが必要となるが、カメラの動きから奥行き値を算出することで本実施形態を実現する。なお、以降の実施形態において説明する撮像部110についても本実施形態と同様に構成する。
<Modification 8-1>
The
<変形例8-2>
占有マップの接近拒絶度の値は物体の高さが高く、積み重なり数が大きい程大きく、距離が離れるほど小さくなる関数であれば本実施形態において説明した方法に限らない。例えば、物体の高さや積み重なり数に比例する関数としてもよいし、距離に反比例する関数としてもよい。物体の高さ、または積み重なり数のどちらか一方のみ考慮する関数でもよい。距離、物体の高さや積み重なり数に応じた占有の値を格納したリストを参照して定めてもよい。なお、このリストはあらかじめ外部メモリ(H14)に記憶しておいてもよいし、移動体管理システム13が保持しており、必要に応じて情報処理装置に通信I/F(H17)を介して情報処理装置80にダウンロードしてもよい。
<Modification 8-2>
The approach rejection value of the occupancy map is not limited to the method described in this embodiment, as long as it is a function that increases as the height of the object is high and the number of stacks increases, and decreases as the distance increases. For example, it may be a function proportional to the height of objects or the number of stacked objects, or it may be a function inversely proportional to distance. It may be a function that only takes into account either the height of the object or the number of stacks. It may be determined by referring to a list that stores occupancy values according to distance, height of objects, and number of stacked objects. Note that this list may be stored in advance in the external memory (H14), or held by the mobile
占有マップは本実施形態で説明したような占有マップでなくとも、空間中の物体の有無を判別できるような構成であれば何でもよい。例えば所定の半径のポイントクラウドとして表してもよいし、何らかの関数で近似してもよい。二次元の占有マップに限らず三次元の占有マップを用いてもよく、例えば3Dのボクセル空間(X,Y,Z)で保持しても、TSDF(Truncated Signed Distance Function)である符号付距離場として保持してもよい。 The occupancy map does not have to be the occupancy map described in this embodiment, but may have any configuration as long as it can determine the presence or absence of an object in the space. For example, it may be expressed as a point cloud with a predetermined radius, or it may be approximated by some function. Not only a two-dimensional occupancy map but also a three-dimensional occupancy map may be used. For example, even if it is maintained in a 3D voxel space (X, Y, Z), a signed distance field that is a TSDF (Truncated Signed Distance Function) may be used. It may be held as
本実施形態においては、物体の高さや積み重なり数に応じて接近拒絶度を変えた線マップを用いて制御値を算出していたが、対象の意味情報を基に制御値を変化させるものであればこれに限らない。例えば、物体の高さや積み重なり数に応じた制御方法を記したリストを参照して制御値を決めてもよい。制御方法を記したリストとは、具体的には物体数と積み重なり数が所定の値であり条件を満たせば左に旋回する、減速するなどといった動作を規定したリストのことである。他にも所定の高さや積み重なり数の物体が見つかった時、それらが視野に写らないように回転するような制御値を算出するなど、事前に決めたルールベースでAGVを制御してもよい。また、高さや積み重なり数が大きくなる程速度を低下させるような制御値を算出するなど、計測値を変数とした関数に当てはめてAGVを制御してもよい。 In this embodiment, the control value is calculated using a line map in which the degree of approach rejection is changed according to the height of the object and the number of stacked objects, but the control value may be changed based on the semantic information of the object. It is not limited to this. For example, the control value may be determined by referring to a list that describes control methods depending on the height of objects and the number of stacked objects. Specifically, the list describing the control method is a list that specifies actions such as turning to the left or decelerating when the number of objects and the number of stacks are predetermined values and conditions are met. Alternatively, the AGV may be controlled based on predetermined rules, such as calculating a control value to rotate the object so that it does not appear in the field of view when objects of a predetermined height or number of stacks are found. Furthermore, the AGV may be controlled by applying a measurement value to a function as a variable, such as by calculating a control value that reduces the speed as the height or number of stacks increases.
<変形例8-3>
本実施形態においては、撮像部110はAGVに搭載されていた例を示したが、AGVの進行方向を撮影できればAGVに搭載されている必要は無い。具体的には、天井に取り付けられた監視カメラを撮像装置110として用いてもよい。このときには、撮像装置110がAGVを撮影し、例えばICPアルゴリズムにより撮像装置110に対する位置姿勢を求めることができる。また、AGV上部にマーカを貼っておき、撮像装置110がマーカを検出することで位置姿勢を求めることもできる。また、撮像装置110がAGVの進行ルート上の物体を検出してもよい。撮像装置110は1台であっても複数台であってもよい。
<Modification 8-3>
In this embodiment, an example was shown in which the
位置姿勢算出部8110や意味情報認識部8120、制御部8130もAGVに搭載されている必要は無い。例えば、制御部8130が移動体管理システム13に搭載されている構成がある。この場合、通信I/F(H17)を介し制御部8130が必要な情報を送受信するようにすることで実現できる。このようにすることで移動体であるAGV上に大きな計算機を乗せる必要が無くなり、AGVの重量が軽くて済むため、効率良くAGVを運用することができる。
It is not necessary that the position/
<変形例8-4>
本実施形態においては、意味情報とは物体の積み重なり度合のことであった。しかしながら、AGVが安全に、効率よく運行するための制御値を算出することのできる意味情報であれば、意味情報認識部8120はどのような意味情報を認識してもよい。また、その意味情報を用いて、制御部8130が制御値を算出してもよい。
<Modification 8-4>
In this embodiment, the semantic information refers to the degree of stacking of objects. However, the semantic information recognition unit 8120 may recognize any semantic information as long as it is semantic information that allows the calculation of control values for the safe and efficient operation of the AGV. Further, the
例えば、構造物の位置を意味情報として認識してもよい。具体的には、工場にある構造物である「ドア」の開き度合を意味情報として用いることもできる。ドアが閉まっている時と比べ、ドアが開いているまたは開きかけている場合にはAGVを低速に走行させる。また、物がクレーンでつるされていることを認識し、物の下部に潜り込まないように制御する。このようにすることで、より安全にAGVを運用する。 For example, the position of a structure may be recognized as semantic information. Specifically, the degree of opening of a "door," which is a structure in a factory, can be used as semantic information. The AGV is made to run at a lower speed when the door is open or about to open compared to when the door is closed. It also recognizes when an object is being suspended by a crane and controls the device to prevent it from getting under the object. By doing so, the AGV can be operated more safely.
本実施形態では積み重ね度合を認識したが、積み重ねに限らず近接して並んでいることを認識してもよい。例えば、複数の台車を認識し、それらの距離が所定の値より小さければ所定の距離以上離れて運行するような制御値を算出する。 In this embodiment, the degree of stacking is recognized, but the recognition is not limited to stacking, but may also be recognizing that they are lined up closely. For example, a plurality of trolleys are recognized, and if the distance between them is smaller than a predetermined value, a control value is calculated such that the trolleys are operated at a distance greater than or equal to a predetermined distance.
また、他のAGVとその上方に位置する荷物を認識してAGVの上に荷物が乗っていることを認識してもよい。他のAGVが荷物を搭載していれば自分(AGV)が避け、そうでなければ自分(AGV)は直進し、他のAGVに自分(AGV)を避ける制御値を移動体管理システム13経由で送信してもよい。他のAGVに荷物が搭載されている場合にはさらに、荷物の大きさを認識し、大きさに応じて制御方法を決めてもよい。このように荷物を搭載してかどうかや荷物の大きさを判別することで、荷物を搭載していないAGVやより小さな荷物を搭載しているAGVが回避動作をすることで移動にかかるエネルギーや時間を小さくし効率的にAGVを運行できる。さらには、他のAGVに搭載された物体の種別を認識し、種別に応じた物体の価値や壊れやすさを認識することで、価値が高いものや壊れやすいものを搭載していれば自分(AGV)が避けるような制御値を算出してもよい。荷物の種別を認識することで、荷物への損害を小さく、安全にAGVを運用することができる
入力画像に写る物体の外形を意味情報として用いることもできる。具体的には、検出した物体がとがっている場合にはそのような物体から距離をおいて走行するようにすることでAGVに傷を負わすことなく安全に運用できる。また、壁のように平らな物体であれば、一定距離を運行するようにすることで、AGVのふらつきを抑え、安定して効率よく運行できる。
Alternatively, it may be possible to recognize other AGVs and the cargo located above them, and to recognize that the cargo is on top of the AGV. If the other AGV is loaded with cargo, the user (AGV) will avoid it, otherwise the user (AGV) will go straight, and the other AGV will be given control values to avoid the user (AGV) via the mobile
意味情報として、物体自体の危険度や壊れやすさを認識してもよい。例えば、段ボールに印字された「危険」という文字や髑髏マークを認識したら、そのような段ボールからは所定の距離以上離れて移動するようAGVを制御する。このようにすることで、物体の危険性や壊れやすさをもとにより安全にAGVを運用することができる。また、工場の自動機の稼働状況を示す積層灯の点灯状況を認識し、自動機が稼働中であれば所定の距離以上近づかないような制御値を算出する。このようにすると、自動機の安全センサにAGVが検出されてしまい自動機を止めるようなことがなくなり、効率的にAGVを運用することができる。 As semantic information, the degree of danger or fragility of the object itself may be recognized. For example, if the word "danger" or a skull mark printed on a cardboard is recognized, the AGV is controlled to move away from such cardboard by a predetermined distance or more. By doing so, the AGV can be operated more safely based on the danger and fragility of the object. It also recognizes the lighting status of stacked lights that indicate the operating status of automatic machines in the factory, and calculates control values that prevent the robot from getting closer than a predetermined distance if the automatic machines are in operation. In this way, the automatic machine will not be stopped due to the AGV being detected by the safety sensor of the automatic machine, and the AGV can be operated efficiently.
<変形例8-5>
本実施形態においては、意味情報を基にAGVを減速する方法を述べた。しかしながら、制御方法は上記の方法に限らず、AGVを効率的に、安全に運用できる方法であればよい。例えば、加減速のパラメータを変えるようにしてもよい。つまり意味情報に応じた減速においても緩やかに減速をするのか、急に減速するのかといった緻密な制御ができるようになる。回避のパラメータを変更してもよく、物体の近くを回避するのか、大きく回避するのか、ルートを変更して回避するのか、止まるのかといった制御を切り替えるように構成してもよい。また、AGVの制御値算出の頻度を増減する。頻度を増加させることでより緻密な制御ができるようになり、逆に低下させることにより緩徐に制御ができるようになる。このように意味情報を基に制御方法を変更することでより効率よく、安全にAGVを運用する。
<Modification 8-5>
In this embodiment, a method for decelerating an AGV based on semantic information has been described. However, the control method is not limited to the above method, and any method that allows the AGV to be operated efficiently and safely may be used. For example, acceleration/deceleration parameters may be changed. In other words, even when decelerating according to semantic information, it becomes possible to precisely control whether to decelerate gradually or suddenly. The avoidance parameters may be changed, and the control may be switched such as whether to avoid near the object, avoid it largely, change the route to avoid it, or stop. Also, the frequency of AGV control value calculation is increased or decreased. Increasing the frequency allows for more precise control; conversely, decreasing the frequency allows for slower control. By changing the control method based on semantic information in this way, the AGV can be operated more efficiently and safely.
[実施形態9]
実施形態8では、AGVの周りに存在する物体の積み重ね度合や形状、構造物の状態といった、ある一時刻の周囲の静的な意味情報を基にAGVを制御していた。実施形態9では、それらの時間的変化を踏まえてAGVを制御する。本実施形態における意味情報とは、画像に写る物体の移動量のことを指す。なお、本実施形態においては、画像に写る物体の移動量に加え、物体の種別も合わせて認識し、その結果をもとにAGVの制御値を算出する方法について述べる。具体的には、周囲の物体の種別として他の移動体であるAGVとそれらに積まれた荷物、および他のAGVの移動量を認識し、それら認識結果に基づいて自身(AGV)または他のAGVの制御値を算出する。
[Embodiment 9]
In the eighth embodiment, the AGV is controlled based on static semantic information surrounding the AGV at a certain time, such as the stacking degree and shape of objects existing around the AGV, and the state of structures. In the ninth embodiment, the AGV is controlled based on these temporal changes. The semantic information in this embodiment refers to the amount of movement of an object in an image. In this embodiment, a method will be described in which the type of the object is recognized in addition to the amount of movement of the object in the image, and the AGV control value is calculated based on the result. Specifically, it recognizes the types of surrounding objects, such as other moving objects such as AGVs and the cargo loaded on them, as well as the amount of movement of other AGVs, and based on these recognition results, it Calculate the AGV control value.
本実施形態における情報処理装置の構成は、実施形態8で説明した情報処理装置80の図14と同一であるので説明を省略する。実施形態8と異なるのは、意味情報認識部8120が推定し制御部8130に入力する意味情報が、検出した物体種としてAGVとそれに積まれた荷物、そして他のAGVの移動量である点である。
The configuration of the information processing apparatus in this embodiment is the same as that of the
本実施形態における処理手順の図は、実施形態8で説明した情報処理装置80の処理手順を説明する図15と同一であるため説明を省略する。実施形態8と異なるのは、意味情報推定ステップS820、および制御値算出S830の処理内容である。
The diagram of the processing procedure in this embodiment is the same as FIG. 15 illustrating the processing procedure of the
意味情報推定ステップS820では、意味情報認識部8120が、デプスマップを領域分割し、さらに領域毎に物体の種別を推定する。このとき、合わせて推定した物体の位置およびサイズを推定する。次に、検出した物体のうち(他の)AGVの位置とその(他の)AGVの過去の位置とを比較し、(他の)AGVの移動量を算出する。本実施形態においては、他のAGVの移動量とは、自分(AGV)に対する相対位置姿勢の変化量のことである。 In the semantic information estimation step S820, the semantic information recognition unit 8120 divides the depth map into regions and further estimates the type of object for each region. At this time, the position and size of the estimated object are also estimated. Next, the position of the (other) AGV among the detected objects is compared with the past position of the (other) AGV, and the amount of movement of the (other) AGV is calculated. In this embodiment, the amount of movement of another AGV is the amount of change in the relative position and orientation with respect to itself (the AGV).
まず、実施形態6で説明したように、画像、およびデプスマップを基に、デプスマップを領域分割し、領域毎の物体種を特定する。 First, as described in the sixth embodiment, the depth map is divided into regions based on the image and the depth map, and the object type for each region is identified.
次にAGVと認識された領域を抽出し、他の領域との相対位置関係を算出する。このとき、AGVとの距離が所定の閾値より小さく、かつAGVと認識された領域より鉛直(Y軸)方向にある領域をAGVに搭載された荷物領域であると判定する。さらに、AGVのサイズ、および搭載された荷物領域の大きさを取得する。なお、サイズとは荷物領域を囲むバウンディングボックスの長辺の長さとする。 Next, the area recognized as an AGV is extracted, and the relative positional relationship with other areas is calculated. At this time, an area where the distance to the AGV is smaller than a predetermined threshold and is located in the vertical (Y-axis) direction from the area recognized as the AGV is determined to be the cargo area loaded on the AGV. Furthermore, the size of the AGV and the size of the loaded cargo area are obtained. Note that the size is defined as the length of the long side of the bounding box surrounding the baggage area.
そして、時刻t-1と時刻tにAGVと認識された領域をそれぞれ抽出し、それらの相対位置関係を、ICPアルゴリズムを用いて算出する。なお、算出した相対位置関係とは、自分(AGV)に対する他のAGVの相対位置姿勢の変化量のことである。これを以降で他のAGVの移動量と呼ぶ。 Then, regions recognized as AGVs at time t-1 and time t are respectively extracted, and their relative positional relationships are calculated using the ICP algorithm. Note that the calculated relative positional relationship is the amount of change in the relative position and orientation of another AGV with respect to the AGV itself (AGV). This will hereinafter be referred to as the amount of movement of other AGVs.
制御値算出S830は、ステップS820において意味情報認識部8120が算出した他のAGVの移動量、および他のAGVとそれに搭載された荷物のサイズを基に、制御部8130が自分(AGV)の行動を決定する。
In control value calculation S830, the
まず、他のAGVの移動量より、他のAGVが自分(AGV)に近づいているか遠ざかっているのか判定する。他のAGVが遠ざかっている場合には制御値は変更しない。一方近づいている場合には、さらに荷物のサイズを基づいて新たな制御値を算出する。具体的には、あらかじめ不図示の入力手段によりRAM(H13)に格納しておいた自分(AGV)のサイズと、他のAGVとその荷物のサイズとを比較し、自分(AGV)の方が小さければ自分(AGV)が他のAGVを回避するルート計画を行う。一方、自分(AGV)の方が大きければ、自分(AGV)の速度を減速しつつ通信インターフェイスH17を介し、移動体管理システム13に検出した他のAGVに回避動作を行わせる信号を送る。
First, based on the amount of movement of the other AGV, it is determined whether the other AGV is approaching or moving away from itself (AGV). If other AGVs are moving away, the control value is not changed. On the other hand, if the cargo is approaching, a new control value is calculated based on the size of the cargo. Specifically, the size of one's own (AGV) stored in the RAM (H13) in advance using an input means (not shown) is compared with the size of other AGVs and their luggage, and the size of one's own (AGV) is determined to be larger. If it is smaller, you (AGV) plan a route to avoid other AGVs. On the other hand, if the own (AGV) is larger, the mobile
以上のように、実施形態9においては意味情報としてAGVの周囲の物体の種別を判定し、かつ他のAGVであればさらに移動量と搭載した荷物の大きさを推定した結果をもとに制御値を算出する。このとき、他のAGVやその荷物が自分(AGV)より大きければ自分が回避し、逆に小さければ相手を回避させるような制御を行う。このようにすることで、サイズが小さく、搭載している荷物が小さいAGVがルートを譲るような制御ができるようになり、時間およびエネルギー効率よくAGVを運用することができる。 As described above, in Embodiment 9, the type of objects around the AGV is determined as semantic information, and in the case of other AGVs, the control is performed based on the results of estimating the amount of movement and the size of the loaded baggage. Calculate the value. At this time, if the other AGV or its cargo is larger than itself (AGV), it will avoid it, and if it is smaller, it will avoid the other AGV. By doing so, it becomes possible to perform control such that an AGV that is small in size and carries a small amount of luggage yields the route, and it is possible to operate the AGV in a time- and energy-efficient manner.
<変形例9-1>
本実施形態においては、他の移動体としてAGVを検出していた。しかしながら、AGVに限らず、少なくとも位置や姿勢が変化し、それに応じてAGVの制御を変えることができればどのような物体を検出してもよい。具体的には、移動体としてフォークリフトや移動ロボットを検出してもよい。また、装置の一部の位置や姿勢が変化量を意味情報として認識し、それに応じてAGVの制御を変えてもよい。例えば、自動機やアームロボットのアーム、ベルトコンベアといった機器の可動部の移動量が例えば所定の動作速度より大きければ、よりAGVがそれらから所定の距離を離れて制御するようにしてもよい。
<Modification 9-1>
In this embodiment, an AGV was detected as another moving object. However, the present invention is not limited to AGVs, and any object may be detected as long as the position or orientation changes and the control of the AGV can be changed accordingly. Specifically, a forklift or a mobile robot may be detected as the moving object. Alternatively, the amount of change in the position or orientation of a part of the device may be recognized as semantic information, and the control of the AGV may be changed accordingly. For example, if the amount of movement of a movable part of a device such as an automatic machine, an arm of an arm robot, or a belt conveyor is greater than a predetermined operating speed, the AGV may be controlled at a predetermined distance from them.
<変形例9-2>
本実施形態においては、自分と他のAGVとどちらかが回避するような制御値を算出していたが、対象物の動きに応じて制御値を変えるような制御方法であればよい。具体的には、移動量の大小に応じて実施形態8で説明した占有マップの接近拒絶度の値を動的に更新し、これを用いてAGVの制御値を算出してもよい。
<Modification 9-2>
In this embodiment, the control value is calculated so that either the user or another AGV avoids the vehicle, but any control method that changes the control value depending on the movement of the object may be used. Specifically, the approach rejection degree value of the occupancy map described in the eighth embodiment may be dynamically updated depending on the magnitude of the movement amount, and this may be used to calculate the control value of the AGV.
また、他のAGVの移動量が自分(AGV)と同じ方向であれば他のAGVに追従して移動するような制御値を算出してもよい。十字路に差し掛かった時に先に横方向から来たAGVがあれば、通過し終えるまで待つという制御値を算出してもよし、自分が先行して十字路を進行する場合には移動体管理システム13を通じて他のAGVを待機させるような制御値を算出してもよい。さらに、他のAGVが例えば進行方向に対し左右に振動していることを観測した場合や、他のAGVに搭載された荷物が他のAGVに対し振動する動きが観測された場合には、一定距離以上近づかないようなルートを通るような制御値を算出してもよい。
Furthermore, if the movement amount of the other AGV is in the same direction as the self (AGV), a control value may be calculated that causes the AGV to follow the other AGV. When you approach a crossroads, if there is an AGV that came from the side first, you can calculate a control value that waits until it finishes passing, or if you want to advance through the crossroads in advance, you can use the mobile
物体の動きからさらに作業工程を意味情報として認識してもよい。例えば、ロボットが他のAGVに荷物を積む動作をしていることを認識してもよい。このとき、自分(AGV)は別のルートを探索するような制御値を算出してもよい。また、例えば物流倉庫において出荷用パレットに荷物が載せられる動作を認識し、移動体(フォークリフト)が当該パレットに接近するように制御してもよい。このように、対象の動きを意味情報として認識し、それらに合わせて移動体であるAGVやフォークリフトを制御することでより効率よく運用する。 The work process may be further recognized as semantic information from the movement of the object. For example, the robot may recognize that it is loading cargo onto another AGV. At this time, the AGV may calculate a control value to search for another route. Furthermore, for example, the operation of loading cargo onto a shipping pallet in a distribution warehouse may be recognized, and a moving object (a forklift) may be controlled to approach the pallet. In this way, the movement of an object is recognized as semantic information, and moving objects such as AGVs and forklifts are controlled accordingly, allowing for more efficient operation.
[実施形態10]
実施形態10ではさらに、人の作業や役割を認識した結果を基により安全にAGVを運行する方法について説明する。本実施形態においては、意味情報として人と人が保持する物体種をもとに人の作業種別を推定し、作業種別に応じてAGVの制御を行う。具体例を挙げると、人と人が押すハンドリフトを検出し作業種別として運搬作業を認識してAGVを回避させる制御や、人と人が持つ溶接機を検出し作業種別として溶接作業を認識しAGVのルートを変更するといった制御を実現する。なお、本実施形態においては、人と人が持つ物体に対応してAGVの制御を決める接近拒絶度のパラメータが、事前に人手によって与えられているものとする。パラメータとは具体的には、例えば、人が大きな荷物を持っている場合に0.4、人が台車を押していれば0.6、人が溶接機を持っていれば0.9といった値のことである。本実施形態においては、これらパラメータが保持されたパラメータリストを移動体管理システム13が保持している。必要に応じて情報処理装置に通信I/F(H17)を介して移動体管理システム13から情報処理装置80にダウンロードし、外部メモリ(H14)に保持して参照できるものとする。
[Embodiment 10]
本実施形態における情報処理装置の構成は、実施形態8で説明した情報処理装置80の図14と同一であるので説明を省略する。実施形態8と異なるのは、意味情報認識部8120が推定し制御部8130に入力する意味情報が異なる。
The configuration of the information processing apparatus in this embodiment is the same as that of the
本実施形態における処理手順の図は、実施形態8で説明した情報処理装置80の処理手順を説明する図15と同一であるため説明を省略する。実施形態8と異なるのは、意味情報推定ステップS820、および制御値算出S830の処理内容である。
The diagram of the processing procedure in this embodiment is the same as FIG. 15 illustrating the processing procedure of the
意味情報推定ステップS820では、意味情報認識部8120が、入力画像から人、および人が保持する物体種を認識する。そして、あらかじめ外部メモリH14に保持しておいた人と人が保持する物体に応じたAGVの制御ルールを記録したパラメータリストに基づいてAGVを制御する。 In the semantic information estimation step S820, the semantic information recognition unit 8120 recognizes the person and the object type held by the person from the input image. Then, the AGV is controlled based on a parameter list that is stored in advance in the external memory H14 and records control rules for the AGV according to the person and the object held by the person.
まず、視覚情報から人の手の部位を検出する。人の手の部位の検出には、人の各部位とそれらの接続関係を認識し、人の骨格を推定する方法を援用する。そして、人の手の位置にあたる画像座標を取得する。 First, the part of a person's hand is detected from visual information. To detect parts of a person's hand, a method that recognizes each part of the person and their connection relationships and estimates the human skeleton is used. Then, the image coordinates corresponding to the position of the person's hand are obtained.
次に、人が保持する物体種を検出する。物体の検出には実施形態6で述べた、画像を物体種ごとに領域分割するよう学習したニューラルネットワークを用いる。分割した領域のうち、人の手の位置の画像座標と所定の距離以内にある領域を人の保持する物体領域として認識し、当該領域に割り当てられた物体種を取得する。なお、ここでいう物体種とは、前述のリストが保持する物体IDと一意に対応付けられるものである。 Next, the type of object held by the person is detected. Object detection uses a neural network that has learned to divide an image into regions for each object type, as described in the sixth embodiment. Among the divided regions, a region within a predetermined distance from the image coordinates of the position of the person's hand is recognized as an object region held by the person, and the object type assigned to the region is acquired. Note that the object type referred to here is one that is uniquely associated with the object ID held in the above-mentioned list.
最後に、得られた物体IDと前述の制御パラメータリストを参照し、接近拒絶度のパラメータを取得する。取得したパラメータは意味情報認識部8120が制御部8130に入力する。
Finally, the obtained object ID and the above-mentioned control parameter list are referred to to obtain the parameter of the degree of approach rejection. The acquired parameters are input by the semantic information recognition unit 8120 to the
制御値算出ステップS830では、ステップS820において意味情報認識部8120が算出した物体の接近拒絶度のパラメータを基に、制御部8130が自分(AGV)の行動を決定する。なお、実施形態8で説明した占有マップの接近拒絶度の値を以下のように更新することで、制御値を算出する。なお、これは接近拒絶度の値が大きい程大きく、距離が離れるほど小さくなるような関数である。
In the control value calculation step S830, the
なお、Scorejがj番目の格子の値である。siが、ステップS820において検出したi番目の物体の接近拒絶度を表すパラメータである。以上のように定めた占有マップを用い、実施形態8で説明したようにAGVの進行ルートを決める。 Note that Score j is the value of the j-th lattice. s i is a parameter representing the degree of approach rejection of the i-th object detected in step S820. Using the occupancy map determined as above, the travel route of the AGV is determined as described in the eighth embodiment.
さらにAGVの速度の最大値vmaxを進行中の占有マップの接近拒絶度の値を基に次ように制限するように制御値を算出する。 Further, a control value is calculated so as to limit the maximum value v max of the AGV speed as follows based on the approach rejection value of the ongoing occupancy map.
αは占有マップの接近拒絶度の値と速度との調整パラメータであり、βは現在AGVが通行中の占有マップの接近拒絶度の値である。vmaxは、占有マップの接近拒絶度の値が大きくなる(1に近づく)程0に近づくような値として算出される。このようにして制御部8130が算出した制御値をアクチュエータ130に出力する。
α is an adjustment parameter between the approach rejection value of the occupancy map and the speed, and β is the approach rejection value of the occupancy map currently being passed by the AGV. v max is calculated as a value that approaches 0 as the approach rejection degree value of the occupancy map increases (closes to 1). The control value calculated by the
実施形態10では、人と人が保持する物体の組み合わせから人の作業の種別を求め、接近拒絶度を表すパラメータを決める。そして接近拒絶度が大きい程、人から遠ざかるように低速に動作するような制御値を算出する。これにより、人の作業に応じて適切な距離をおいてAGVを制御する。このようにして、AGVをより安全に制御することができる。 In the tenth embodiment, the type of work of the person is determined from the combination of the person and the object held by the person, and a parameter representing the degree of approach rejection is determined. Then, as the degree of approach rejection increases, a control value is calculated such that the robot operates at a slower speed so as to move further away from the person. This allows the AGV to be controlled at an appropriate distance depending on the person's work. In this way, the AGV can be controlled more safely.
<変形例>
実施形態10では、人と人が保持する物体の組み合わせを意味情報として認識していたが、人に付随する状態を認識してより安全にAGVを制御する方法であれば上記方法に限らない。
<Modified example>
In
意味情報として、人の服装を認識してもよい。例えば、工場において、作業着を着ているのが作業者、スーツを着ているのが見学者であることを認識するとする。この認識結果を用いてAGVの動きに慣れている作業者と比較し、特にAGVの動きに慣れていないような見学者の付近を通るときにはよりゆっくりと進行するようにしてより安全にAGVを制御する。 As semantic information, a person's clothing may be recognized. For example, assume that in a factory, it is recognized that the people wearing work clothes are workers and the people wearing suits are visitors. Using this recognition result, we can control the AGV more safely by making it move more slowly, especially when passing near visitors who are not accustomed to the movement of the AGV, compared to workers who are accustomed to the movement of the AGV. do.
意味情報として、人の年齢を認識してもよい。例えば、病院において院内配送を行うAGVにおいて、子供や年配の人を認識した時には、ゆっくりと所定の距離をおいて通過することでより、より安全にAGVを運用することができるようになる。 A person's age may be recognized as semantic information. For example, when an AGV that performs intra-hospital delivery in a hospital recognizes a child or elderly person, the AGV can be operated more safely by passing the person slowly at a predetermined distance.
意味情報として、人の動きを認識してもよい。例えば、ホテルでの荷物運びをするAGVにおいて、千鳥足で歩くように、人が前後左右に繰り返し移動していることを認識した場合には所定の距離をおいて通過する制御値を算出し、より安全にAGVを運用することができる。 The movement of a person may be recognized as semantic information. For example, when an AGV that carries luggage at a hotel recognizes that a person is repeatedly moving back and forth and left and right, as if walking in a staggered manner, it calculates a control value for passing at a predetermined distance, and AGV can be operated safely.
人の動きから作業を認識してもよい。具体的には、工場において作業者がAGVに荷物を積み込もうとする動作を検出したら、ゆっくりと作業者に近づき荷物の積み込みが終わるまで停止するような制御値を算出してもよい。こうすることで作業者がAGVの停止位置まで移動してから荷物を積み込む必要が無く、効率良く作業を行うことができる。 Work may also be recognized from people's movements. Specifically, if a worker attempts to load cargo onto an AGV in a factory, a control value may be calculated that causes the AGV to slowly approach the worker and stop until the worker finishes loading the cargo. This eliminates the need for the worker to move to the AGV's stopping position and then load the cargo, allowing the worker to work efficiently.
人の人数を意味情報として認識してもよい。具体的には、AGVの進行ルート上に所定の数より多数の人を認識した場合には、ルートを変更する。このようにすることで、たとえ人の間を縫って進行した場合に万が一人と接触することを避け、より安全にAGVを運用することができる。 The number of people may be recognized as semantic information. Specifically, if more people than a predetermined number are recognized on the route of the AGV, the route is changed. By doing this, even if the AGV passes between people, it can avoid contact with anyone and operate the AGV more safely.
[実施形態11]
実施形態8から10に共通して適用できるUIについて説明する。撮像部110が取得した視覚情報や、位置姿勢算出部8110が算出した位置姿勢、マップ情報、制御値を提示するUIに加え、さらに実施形態8から10で説明した意味情報や占有マップに割り当てた値といった情報表示する。
[Embodiment 11]
A UI that can be commonly applied to embodiments 8 to 10 will be described. In addition to the UI that presents the visual information acquired by the
実施形態11における装置の構成は、実施形態8で説明した情報処理装置80の構成を示す図2と同一であるため省略する。なお、表示のための機器の構成に関しては実施形態7で説明した構成と同一であるため省略する。
The configuration of the device in
図13に、本実施形態における表示装置が提示する表示情報の一例であるGUI200を示す。G210は撮像部110が取得した視覚情報および意味情報認識部8120が認識した意味情報を提示するためのウィンドウである。G220は実施形態8で述べたAGVのナビゲーションのための接近拒絶度を提示するためのウィンドウである。またG230は2Dの占有マップを提示するためのウィンドウである。また、G240は、AGVを人手で操作するためのGUIや、位置姿勢算出部8110や意味情報認識部8120、制御部8130が算出した値、AGVの運行情報を提示するためのウィンドウである。
FIG. 13 shows a GUI 200 that is an example of display information presented by the display device in this embodiment. G210 is a window for presenting the visual information acquired by the
G210は、意味情報認識部8120が検出した意味情報として、複数の物体とそれらの相対距離、および接近拒絶度の値の提示例を示している。G211は、検出した物体のバウンディングボックスである。本実施形態においては、他のAGVとその荷物を検出しそれらを囲むバウンディングボックスを点線で表示している。なお、複数の物体を統合してバウンディングボックスを提示しているが、検出した物体それぞれにバウンディングボックスを描いてもよい。また、バウンディングボックスは検出した物体の位置がわかれば何でもよく点線で描いても実線で描いてもよし、半透明のマスクを重畳して提示してもよい。G212は検出した意味情報を提示するポップアップである。検出した複数の物体種とそれらの距離、および接近拒絶度の値を提示している。このように、認識した意味情報を視覚情報に重畳して提示することで、ユーザが直感的に視覚情報と意味情報を関連付けて把握することができる。 G210 shows an example of presentation of a plurality of objects, their relative distances, and approach rejection values as semantic information detected by the semantic information recognition unit 8120. G211 is the bounding box of the detected object. In this embodiment, other AGVs and their luggage are detected and bounding boxes surrounding them are displayed with dotted lines. Note that although a bounding box is presented by integrating a plurality of objects, a bounding box may be drawn for each detected object. Further, the bounding box may be of any type as long as the position of the detected object is known, and may be drawn as a dotted line or a solid line, or may be presented by superimposing a semi-transparent mask. G212 is a pop-up that presents detected semantic information. It presents multiple detected object types, their distances, and approach rejection values. In this way, by presenting the recognized semantic information in a superimposed manner on the visual information, the user can intuitively associate and understand the visual information and the semantic information.
G220は、撮像部110が取得した視覚情報に、制御部8130が算出したAGVの接近拒絶度を重畳した例である。G221は、接近拒絶度が高い程濃い色を重畳している。このように接近拒絶度を視覚情報に重畳して提示することで、ユーザは直感的に視覚情報と接近拒絶度の値を関連付けて把握することができる。なお、G221は色や濃度、形状を変えることでより容易にユーザが接近拒絶度を把握できるようにしてもよい。
G220 is an example in which the degree of approach rejection of the AGV calculated by the
G230は、制御部8130が算出した占有マップと意味情報認識部8120が認識した意味情報を提示例である。G231は占有マップの接近拒絶度の値が大きい程濃く、小さい程薄くなるように占有マップの接近拒絶度の値を可視化している。G232はさらに、意味情報認識部8120が認識した意味情報として、構造物の位置を提示している。本実施形態では、工場の扉が開いていることを認識した結果を提示している例を示した。G233はさらに、意味情報認識部8130が認識した意味情報として、周囲の物体の移動量を提示している。本実施形態では物体の移動方向と速度を提示した。このようにして、占有マップとその値、意味情報の認識結果を提示することで、ユーザは容易にそれらを関連付けてAGVの内部状態を把握することができる。また、このように占有マップを提示することで、ユーザが制御部8130のAGVのルート生成過程を容易に把握することができるようになる。
G230 is an example of presenting the occupancy map calculated by the
G240は、AGVを人手で操作するためのGUIや、位置姿勢算出部8110や意味情報認識部8120、制御部8130が算出した値、AGVの運行情報の提示例を示している。G241は意味情報認識部8120が認識する意味情報や、認識結果を表示するか否かといった設定をするためのGUIであり、例えば項目のオンオフを切り替えるラジオボタンである。G242は、制御部8130が算出する接近拒絶距離や制御値を算出するパラメータを調整するためのGUIであり、例えばスライドバーや数字入力フォームがこれにあたる。
G240 shows a GUI for manually operating the AGV, values calculated by the position/
<変形例>
本実施形態で説明したGUIは一例であって、意味情報認識部8120が算出した意味情報、制御部8130が算出した占有マップの接近拒絶度の値などを提示し、AGVの内部状態を把握するようにするGUIであればどのような可視化方法を用いてもよい。例えば色を変える、線の太さや実線・破線・二重線を切り替える、拡大縮小する、必要のない情報を隠す、というように表示情報を変更することもできる。このように表示情報の可視化方法を変えることで、ユーザがより直感的に表示情報を理解することができるようにする。
<Modified example>
The GUI described in this embodiment is an example, and presents the semantic information calculated by the semantic information recognition unit 8120, the approach rejection value of the occupancy map calculated by the
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention provides a system or device with a program that implements one or more of the functions of the embodiments described above via a network or a storage medium, and one or more processors in the computer of the system or device reads and executes the program. This can also be achieved by processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
Claims (23)
前記第1の方法とは異なる第2の方法によって取得された第2の奥行値との入力を受け付ける第2の入力手段と、
マップ情報を保持する保持手段と、
前記第1の奥行値の大きさに応じて決定された信頼度および前記第2の奥行値に基づいて補正された奥行情報と、前記マップ情報と、に基づいて前記撮像手段の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢に基づいて前記移動体の移動を制御する制御値を得る制御手段と、
を備えることを特徴とする情報処理装置。 An image capturing means mounted on a moving object, wherein each light receiving section on an image sensor is configured to acquire a parallax image by a first method based on a parallax image estimated by the image capturing means configured of two or more light receiving elements. a first input means for receiving an input of a first depth value;
a second input means that receives an input of a second depth value obtained by a second method different from the first method ;
a holding means for holding map information;
obtaining the position and orientation of the imaging means based on the reliability determined according to the magnitude of the first depth value and the depth information corrected based on the second depth value , and the map information; an acquisition means to
a control means for obtaining a control value for controlling movement of the mobile body based on the position and orientation acquired by the acquisition means;
An information processing device comprising:
を特徴とする請求項1記載の情報処理装置。 The depth information is information captured by the imaging means , and is a depth map generated by the imaging means by selectively configuring the light receiving element;
The information processing device according to claim 1, characterized in that:
前記取得手段は、前記撮像手段によって取得された前記奥行値ごとの前記第1の奥行値の計測精度に基づいて補正された前記奥行情報と、前記マップ情報とに基づいて前記撮像手段の位置姿勢を取得すること、
を特徴とする請求項1に記載の情報処理装置。 The reliability is the measurement accuracy of the first depth value for each depth value ,
The acquisition means determines the position and orientation of the imaging means based on the depth information corrected based on the measurement accuracy of the first depth value for each depth value acquired by the imaging means and the map information. to obtain,
The information processing device according to claim 1, characterized in that:
を特徴とする請求項4に記載の情報処理装置。 The acquisition means measures the measurement accuracy of the first depth value for each depth value , the depth information, and a second time before the first time at which the imaging means acquires the first depth value . correcting the depth information based on the depth value obtained in , and obtaining the position and orientation of the imaging means based on the corrected depth information and the map information;
The information processing device according to claim 4, characterized by:
ことを特徴とする請求項1乃至5何れか1項に記載の情報処理装置。 The control means further calculates a control value for controlling a projection device for projecting the patterned light.
The information processing device according to any one of claims 1 to 5.
前記取得手段がさらに、前記奥行情報と、前記三次元情報とを基に前記奥行情報を補正し、補正した奥行情報と前記マップ情報とに基づいて前記撮像手段の位置姿勢を取得すること、
を特徴とする請求項1乃至6何れか1項に記載の情報処理装置。 The input means further receives input of three-dimensional information measured by a three-dimensional measuring device that acquires three-dimensional information representing a three-dimensional position in space,
The acquisition means further corrects the depth information based on the depth information and the three-dimensional information, and acquires the position and orientation of the imaging means based on the corrected depth information and the map information;
The information processing device according to any one of claims 1 to 6, characterized in that:
前記制御手段は、前記物体の位置姿勢情報を基に前記移動体を制御する制御値を算出すること、
を特徴とする請求項1乃至7何れか1項に記載の情報処理装置。 The acquisition means further acquires position and orientation information of the object from either or both of the depth information and the map information,
The control means calculates a control value for controlling the moving object based on position and orientation information of the object;
The information processing device according to any one of claims 1 to 7, characterized by:
を特徴とする請求項8記載の情報処理装置。 The control means further calculates a control value for controlling the moving object so that the predetermined object is located at a predetermined point in the depth information based on the position and orientation information of the object;
The information processing device according to claim 8, characterized in that:
を特徴とする請求項8記載の情報処理装置。 The control means further calculates a control value for controlling the moving body to avoid a collision with a predetermined object based on the position and orientation information of the object;
The information processing device according to claim 8, characterized in that:
前記保持手段が、前記補正された前記マップ情報を保持すること
を特徴とする請求項1乃至10何れか1項に記載の情報処理装置。 The acquisition means further generates and corrects the map information based on the depth information,
11. The information processing apparatus according to claim 1, wherein the holding means holds the corrected map information.
を特徴とする請求項1乃至11何れか1項に記載の情報処理装置。 The acquisition means further divides the depth information into regions;
The information processing device according to any one of claims 1 to 11, characterized in that:
を特徴とする請求項12記載の情報処理装置。 The acquisition means further divides the depth information into regions by semantic region division;
13. The information processing apparatus according to claim 12.
を特徴とする請求項12乃至14何れか1項に記載の情報処理装置。 The control means further calculates a control value for controlling the moving body based on the result of the area division;
The information processing device according to any one of claims 12 to 14.
を特徴とする請求項1乃至15何れか1項記載の情報処理装置。 The control means further calculates an adjustment value for adjusting a parameter of the imaging means based on at least one of the depth information, the map information, the acquired position and orientation, and the control value;
The information processing device according to any one of claims 1 to 15, characterized in that:
を特徴とする請求項16記載の情報処理装置。 The adjustment value is a focus value of the imaging means,
The information processing device according to claim 16, characterized in that:
を特徴とする請求項16記載の情報処理装置。 The adjustment value is a zoom value of the imaging means;
The information processing device according to claim 16, characterized in that:
前記入力手段はさらに、前記交換した光学装置のパラメータを取得すること、
を特徴とする請求項1乃至18の何れか1項に記載の情報処理装置。 The imaging means can have an exchangeable optical device,
The input means further obtains parameters of the replaced optical device;
The information processing device according to any one of claims 1 to 18, characterized by:
をさらに備えることを特徴とする請求項1乃至19の何れか1項に記載の情報処理装置。 20. Any one of claims 1 to 19, further comprising display information generation means for generating display information based on at least one of the depth information, the map information, the position and orientation, and the control value. The information processing device described in .
前記第1の方法とは異なる第2の方法によって取得された第2の奥行値の入力を受け付ける第2の入力工程と、
マップ情報を保持手段に保持する工程と、
前記第1の奥行値の大きさに応じて決定された信頼度および前記第2の奥行値に基づいて補正された奥行情報と、前記マップ情報と、に基づいて前記撮像手段の位置姿勢を取得する取得工程と、
前記取得工程が取得した位置姿勢を基に移動体の移動を制御する制御値を算出する制御工程と、
を備えることを特徴とする情報処理方法。 An imaging means mounted on a moving object, wherein each light-receiving section on the imager is configured by two or more light-receiving elements, and the parallax image is acquired by the first method based on the estimated parallax image by the imaging means. a first input step of accepting input of a first depth value;
a second input step of receiving an input of a second depth value obtained by a second method different from the first method ;
a step of retaining map information in a retaining means;
obtaining the position and orientation of the imaging means based on the reliability determined according to the magnitude of the first depth value and the depth information corrected based on the second depth value , and the map information; an acquisition process to
a control step of calculating a control value for controlling the movement of the mobile body based on the position and orientation acquired in the acquisition step;
An information processing method comprising:
前記撮像手段によって推定された視差画像に基づいて、第1の方法によって取得された第1の奥行値の入力を受け付ける第1の入力手段と、
前記第1の方法とは異なる第2の方法によって取得された第2の奥行値との入力を受け付ける第2の入力手段と、
マップ情報を保持する保持手段と、
前記第1の奥行値の大きさに応じて決定された信頼度および前記第2の奥行値に基づいて補正された奥行情報と、前記マップ情報と、に基づいて前記撮像手段の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢に基づいて前記移動体の移動を制御する制御値を得る制御手段と、
を特徴とする情報処理システム。 An imaging means mounted on a moving body, wherein each light receiving section on the image sensor is constituted by two or more light receiving elements;
a first input means that receives an input of a first depth value obtained by a first method based on the parallax image estimated by the imaging means ;
a second input means that receives an input of a second depth value obtained by a second method different from the first method ;
a holding means for holding map information;
obtaining the position and orientation of the imaging means based on the reliability determined according to the magnitude of the first depth value and the depth information corrected based on the second depth value , and the map information; an acquisition means to
a control means for obtaining a control value for controlling movement of the mobile body based on the position and orientation acquired by the acquisition means;
An information processing system characterized by:
前記撮像手段によって推定された視差画像に基づいて、第1の方法によって取得された第1の奥行値の入力を受け付ける第1の入力手段と、
前記第1の方法とは異なる第2の方法によって取得された第2の奥行値との入力を受け付ける第2の入力手段と、
マップ情報を保持する保持手段と、
前記第1の奥行値の大きさに応じて決定された信頼度および前記第2の奥行値に基づいて補正された奥行情報と、前記マップ情報と、に基づいて前記撮像手段の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢に基づいて前記移動体の移動を制御する制御値を得る制御手段と、
前記制御値で前記移動体の移動を制御するアクチュエータと、を備えること、
を特徴とする移動体。 An imaging means mounted on a moving body, wherein each light receiving section on the image sensor is constituted by two or more light receiving elements;
a first input means that receives an input of a first depth value obtained by a first method based on the parallax image estimated by the imaging means ;
a second input means that receives an input of a second depth value obtained by a second method different from the first method ;
a holding means for holding map information;
obtaining the position and orientation of the imaging means based on the reliability determined according to the magnitude of the first depth value and the depth information corrected based on the second depth value , and the map information; an acquisition means to
a control means for obtaining a control value for controlling movement of the mobile body based on the position and orientation acquired by the acquisition means;
an actuator that controls movement of the moving body using the control value;
A mobile object characterized by
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018003817 | 2018-01-12 | ||
JP2018003817 | 2018-01-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019125345A JP2019125345A (en) | 2019-07-25 |
JP7341652B2 true JP7341652B2 (en) | 2023-09-11 |
Family
ID=67218687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018207192A Active JP7341652B2 (en) | 2018-01-12 | 2018-11-02 | Information processing device, information processing method, program, and system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7341652B2 (en) |
WO (1) | WO2019138834A1 (en) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021024665A1 (en) * | 2019-08-08 | 2021-02-11 | ソニー株式会社 | Information processing system, information processing device, and information processing method |
JP7221183B2 (en) * | 2019-09-20 | 2023-02-13 | 株式会社日立製作所 | Machine learning method, forklift control method, and machine learning device |
JP7221839B2 (en) * | 2019-10-08 | 2023-02-14 | 国立大学法人静岡大学 | Autonomous Mobile Robot and Control Program for Autonomous Mobile Robot |
CN114556252A (en) * | 2019-10-10 | 2022-05-27 | 索尼集团公司 | Information processing apparatus, information processing method, and program |
CN110826604A (en) * | 2019-10-24 | 2020-02-21 | 西南交通大学 | Material sorting method based on deep learning |
CN110926425A (en) * | 2019-11-01 | 2020-03-27 | 宁波大学 | Navigation logistics transportation system of 3D structured light camera and control method thereof |
SG10201913873QA (en) * | 2019-12-30 | 2021-07-29 | Singpilot Pte Ltd | Sequential Mapping And Localization (SMAL) For Navigation |
US20210217194A1 (en) * | 2020-01-13 | 2021-07-15 | Samsung Electronics Co., Ltd. | Method and apparatus with object information estimation and virtual object generation |
JPWO2021145244A1 (en) * | 2020-01-16 | 2021-07-22 | ||
JP7429143B2 (en) | 2020-03-30 | 2024-02-07 | 本田技研工業株式会社 | Mobile object control device, mobile object control method, and program |
JP6849256B1 (en) * | 2020-05-08 | 2021-03-24 | シンメトリー・ディメンションズ・インク | 3D model construction system and 3D model construction method |
JP7497642B2 (en) | 2020-07-30 | 2024-06-11 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and program |
GB2598758B (en) * | 2020-09-10 | 2023-03-29 | Toshiba Kk | Task performing agent systems and methods |
WO2022113771A1 (en) * | 2020-11-26 | 2022-06-02 | ソニーグループ株式会社 | Autonomous moving body, information processing device, information processing method, and program |
US20240118707A1 (en) * | 2020-12-15 | 2024-04-11 | Nec Corporation | Information processing apparatus, moving body control system, control method, and non-transitory computer-readable medium |
JP7473016B2 (en) | 2020-12-25 | 2024-04-23 | 日本電気株式会社 | System, information processing device, method, and program |
JP2022175900A (en) * | 2021-05-14 | 2022-11-25 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
JPWO2022254609A1 (en) * | 2021-06-02 | 2022-12-08 | ||
JP7447060B2 (en) * | 2021-07-29 | 2024-03-11 | キヤノン株式会社 | Information processing device, information processing method, autonomous robot device, and computer program |
US20230082486A1 (en) * | 2021-09-13 | 2023-03-16 | Southwest Research Institute | Obstacle Detection and Avoidance System for Autonomous Aircraft and Other Autonomous Vehicles |
DE102022108769A1 (en) * | 2022-04-11 | 2023-10-12 | Still Gesellschaft Mit Beschränkter Haftung | Environment monitoring system and industrial truck with an environment monitoring system |
JP2024007754A (en) * | 2022-07-06 | 2024-01-19 | キヤノン株式会社 | Information processing system, information processing device, terminal device and control method of information processing system |
WO2024057800A1 (en) * | 2022-09-12 | 2024-03-21 | 株式会社島津製作所 | Method for controlling mobile object, transport device, and work system |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010122904A (en) | 2008-11-19 | 2010-06-03 | Hitachi Ltd | Autonomous mobile robot |
JP2011137697A (en) | 2009-12-28 | 2011-07-14 | Canon Inc | Illumination apparatus, and measuring system using the illumination system |
JP2011237215A (en) | 2010-05-07 | 2011-11-24 | Nikon Corp | Depth map output device |
JP2016045825A (en) | 2014-08-26 | 2016-04-04 | 三菱重工業株式会社 | Image display system |
JP2016170060A (en) | 2015-03-13 | 2016-09-23 | 三菱電機株式会社 | Facility information display system, mobile terminal, server and facility information display method |
JP2016192028A (en) | 2015-03-31 | 2016-11-10 | 株式会社デンソー | Automatic travel control device and automatic travel control system |
JP2017122993A (en) | 2016-01-05 | 2017-07-13 | キヤノン株式会社 | Image processor, image processing method and program |
JP2017156162A (en) | 2016-02-29 | 2017-09-07 | キヤノン株式会社 | Information processing device, information processing method, and program |
JP2017161491A (en) | 2015-07-29 | 2017-09-14 | ヤマハ発動機株式会社 | Abnormal image detection device, image processing system including abnormal image detection device, and vehicle mounted with image processing system |
JP2017215525A (en) | 2016-06-01 | 2017-12-07 | キヤノン株式会社 | Imaging device and method for controlling the same, program, and storage medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017103619A (en) * | 2015-12-02 | 2017-06-08 | ソニー株式会社 | Control apparatus, control method and program |
JP6755679B2 (en) * | 2016-03-04 | 2020-09-16 | キヤノン株式会社 | Imaging device |
-
2018
- 2018-11-02 JP JP2018207192A patent/JP7341652B2/en active Active
- 2018-12-20 WO PCT/JP2018/047022 patent/WO2019138834A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010122904A (en) | 2008-11-19 | 2010-06-03 | Hitachi Ltd | Autonomous mobile robot |
JP2011137697A (en) | 2009-12-28 | 2011-07-14 | Canon Inc | Illumination apparatus, and measuring system using the illumination system |
JP2011237215A (en) | 2010-05-07 | 2011-11-24 | Nikon Corp | Depth map output device |
JP2016045825A (en) | 2014-08-26 | 2016-04-04 | 三菱重工業株式会社 | Image display system |
JP2016170060A (en) | 2015-03-13 | 2016-09-23 | 三菱電機株式会社 | Facility information display system, mobile terminal, server and facility information display method |
JP2016192028A (en) | 2015-03-31 | 2016-11-10 | 株式会社デンソー | Automatic travel control device and automatic travel control system |
JP2017161491A (en) | 2015-07-29 | 2017-09-14 | ヤマハ発動機株式会社 | Abnormal image detection device, image processing system including abnormal image detection device, and vehicle mounted with image processing system |
JP2017122993A (en) | 2016-01-05 | 2017-07-13 | キヤノン株式会社 | Image processor, image processing method and program |
JP2017156162A (en) | 2016-02-29 | 2017-09-07 | キヤノン株式会社 | Information processing device, information processing method, and program |
JP2017215525A (en) | 2016-06-01 | 2017-12-07 | キヤノン株式会社 | Imaging device and method for controlling the same, program, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP2019125345A (en) | 2019-07-25 |
WO2019138834A1 (en) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7341652B2 (en) | Information processing device, information processing method, program, and system | |
US11830618B2 (en) | Interfacing with a mobile telepresence robot | |
US11861892B2 (en) | Object tracking by an unmanned aerial vehicle using visual sensors | |
US11704812B2 (en) | Methods and system for multi-target tracking | |
US20240062663A1 (en) | User Interaction With An Autonomous Unmanned Aerial Vehicle | |
US11468983B2 (en) | Time-dependent navigation of telepresence robots | |
US11989029B2 (en) | Information processing apparatus, information processing method, information processing system, and storage medium | |
JP7479799B2 (en) | Information processing device, information processing method, program, and system | |
KR102597216B1 (en) | Guidance robot for airport and method thereof | |
Chatterjee et al. | Vision based autonomous robot navigation: algorithms and implementations | |
Bipin et al. | Autonomous navigation of generic monocular quadcopter in natural environment | |
Kenk et al. | Human-aware Robot Navigation in Logistics Warehouses. | |
Dinaux et al. | FAITH: Fast iterative half-plane focus of expansion estimation using optic flow | |
EP4024155B1 (en) | Method, system and computer program product of control of unmanned aerial vehicles | |
WO2023127337A1 (en) | Information processing device, information processing method, and program | |
US12001216B2 (en) | Carpet detection method, movement control method, and mobile machine using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220913 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230421 |
|
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: 20230801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230830 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7341652 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |