JP7482808B2 - MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM - Google Patents

MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM Download PDF

Info

Publication number
JP7482808B2
JP7482808B2 JP2021017822A JP2021017822A JP7482808B2 JP 7482808 B2 JP7482808 B2 JP 7482808B2 JP 2021017822 A JP2021017822 A JP 2021017822A JP 2021017822 A JP2021017822 A JP 2021017822A JP 7482808 B2 JP7482808 B2 JP 7482808B2
Authority
JP
Japan
Prior art keywords
target
point cloud
detection
sensor
measurement points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021017822A
Other languages
Japanese (ja)
Other versions
JP2022120729A (en
Inventor
克将 北島
健司 ▲高▼尾
瑞穂 竹内
喜一 杉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Logisnext Co Ltd
Original Assignee
Mitsubishi Logisnext Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Logisnext Co Ltd filed Critical Mitsubishi Logisnext Co Ltd
Priority to JP2021017822A priority Critical patent/JP7482808B2/en
Publication of JP2022120729A publication Critical patent/JP2022120729A/en
Application granted granted Critical
Publication of JP7482808B2 publication Critical patent/JP7482808B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Forklifts And Lifting Vehicles (AREA)

Description

本開示は、移動体の制御方法、移動体及びプログラムに関する。 This disclosure relates to a method for controlling a moving object, a moving object, and a program.

周囲を検出するセンサを備えて自動で移動する移動体が知られている。このような移動体としては、例えば、荷物が搭載されたパレットを搬送する自動フォークリフトがある。特許文献1には、測域センサで計測される距離データに基づいて、パレットの前面の中心位置及び方向を特定して、パレットの荷取り作業を行う旨が記載されている。 Automatically moving mobile objects equipped with sensors that detect the surroundings are known. One such mobile object is an automated forklift that transports pallets loaded with cargo. Patent Document 1 describes how the center position and direction of the front of the pallet are identified based on distance data measured by a range sensor, and the cargo is removed from the pallet.

特開2017-178567号公報JP 2017-178567 A

このような移動体においては、パレットなどの対象物の検出精度を向上させることが求められている。 In such mobile objects, there is a demand for improved detection accuracy for objects such as pallets.

本開示は、上述した課題を解決するものであり、対象物の検出精度の低下を抑制可能な移動体の制御方法、移動体及びプログラムを提供することを目的とする。 The present disclosure aims to solve the above-mentioned problems and provide a method for controlling a moving object, a moving object, and a program that can suppress a decrease in the accuracy of detecting an object.

上述した課題を解決し、目的を達成するために、本開示に係る移動体の制御方法は、自動で移動する移動体の制御方法であって、前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得するステップと、前記センサの第1の検出に対応する点群である第1点群に基づき、前記点群の近似線を検出するステップと、前記近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記目標物への入射角を算出するステップと、前記入射角に基づき、前記第2点群のうちから、前記目標物の位置及び姿勢を特定するための点群を選択するステップと、前記第2点群のうちから選択された点群に基づいて、前記目標物の位置及び姿勢を特定するステップと、を含む。 In order to solve the above-mentioned problems and achieve the object, the control method of a moving body according to the present disclosure is a control method of a moving body that moves automatically, and includes the steps of: detecting a target object multiple times by irradiating a sensor provided on the moving body with light, and acquiring the results of the multiple detections by the sensor as a point cloud; detecting an approximation line of the point cloud based on a first point cloud that is a point cloud corresponding to the first detection of the sensor; calculating an angle of incidence of light from the sensor to the target object in the second detection based on the approximation line, a second point cloud that is a point cloud corresponding to the second detection of the sensor, and the position of the moving body when the second detection is performed; selecting a point cloud from the second point cloud based on the angle of incidence to identify the position and orientation of the target object; and identifying the position and orientation of the target object based on the point cloud selected from the second point cloud.

上述した課題を解決し、目的を達成するために、本開示に係る移動体は、自動で移動する移動体であって、前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得する検出制御部と、前記点群に基づき特定された前記目標物の位置及び姿勢の情報を取得する目標物情報取得部と、を含み、前記目標物の位置及び姿勢は、前記センサの第1の検出に対応する点群である第1点群に基づき検出された前記点群の近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記目標物への入射角が算出され、前記入射角に基づき、前記第2点群のうちから前記目標物の位置及び姿勢を特定するための点群が選択されることで、前記第2点群のうちから選択された点群に基づいて、特定される。 In order to solve the above-mentioned problems and achieve the object, the moving body according to the present disclosure is an automatically moving moving body, and includes a detection control unit that detects a target multiple times by irradiating a sensor provided on the moving body with light, and acquires the results of the multiple detections of the sensor as a point cloud, and a target information acquisition unit that acquires information on the position and attitude of the target identified based on the point cloud, and the position and attitude of the target are identified based on the point cloud by calculating an incident angle of light from the sensor to the target in the second detection based on an approximation line of the point cloud detected based on a first point cloud that is a point cloud corresponding to a first detection of the sensor, a second point cloud that is a point cloud corresponding to a second detection of the sensor, and the position of the moving body when the second detection is performed, and a point cloud for identifying the position and attitude of the target is selected from the second point cloud based on the incident angle, and the position and attitude of the target are identified based on the point cloud selected from the second point cloud.

上述した課題を解決し、目的を達成するために、本開示に係るプログラムは、自動で移動する移動体の制御方法をコンピュータに実行させるプログラムであって、前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得するステップと、前記センサの第1の検出に対応する点群である第1点群に基づき、前記点群の近似線を検出するステップと、前記近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記目標物への入射角を算出するステップと、前記入射角に基づき、前記第2点群のうちから前記目標物の位置及び姿勢を特定するための点群を選択するステップと、前記第2点群のうちから選択された点群に基づいて、前記目標物の位置及び姿勢を特定するステップと、を、コンピュータに実行させる。 In order to solve the above-mentioned problems and achieve the object, the program according to the present disclosure is a program for causing a computer to execute a method for controlling an automatically moving object, and causes the computer to execute the following steps: detecting a target object multiple times by irradiating a sensor provided on the moving object with light, and acquiring the results of the multiple detections by the sensor as a point cloud; detecting an approximation line of the point cloud based on a first point cloud that is a point cloud corresponding to the first detection of the sensor; calculating an angle of incidence of light from the sensor to the target object in the second detection based on the approximation line, a second point cloud that is a point cloud corresponding to the second detection of the sensor, and the position of the moving object when the second detection is performed; selecting a point cloud from the second point cloud based on the angle of incidence to identify the position and orientation of the target object; and identifying the position and orientation of the target object based on the point cloud selected from the second point cloud.

本開示によれば、対象物の検出精度の低下を抑制することができる。 According to the present disclosure, it is possible to suppress a decrease in the detection accuracy of the target object.

図1は、第1実施形態に係る移動制御システムの模式図である。FIG. 1 is a schematic diagram of a mobility control system according to the first embodiment. 図2は、移動体の構成の模式図である。FIG. 2 is a schematic diagram of the configuration of a moving body. 図3は、管理システムの模式的なブロック図である。FIG. 3 is a schematic block diagram of the management system. 図4は、情報処理装置の模式的なブロック図である。FIG. 4 is a schematic block diagram of an information processing device. 図5は、移動体の制御装置の模式的なブロック図である。FIG. 5 is a schematic block diagram of a control device for a moving object. 図6は、目標物の検出を説明する模式図である。FIG. 6 is a schematic diagram for explaining detection of a target object. 図7は、点群の選択を説明するための模式図である。FIG. 7 is a schematic diagram for explaining the selection of a group of points. 図8は、点群の抽出を説明するための模式図である。FIG. 8 is a schematic diagram for explaining extraction of a point cloud. 図9は、直線候補の具体例を示す模式図である。FIG. 9 is a schematic diagram showing a specific example of a line candidate. 図10は、スコアの一例を示すグラフである。FIG. 10 is a graph showing an example of the scores. 図11は、直線の検出の一例を説明する模式図である。FIG. 11 is a schematic diagram illustrating an example of detection of a straight line. 図12は、点群の重畳の具体例を説明するための模式図である。FIG. 12 is a schematic diagram for explaining a specific example of superimposition of point clouds. 図13は、近似線の一例を示す模式図である。FIG. 13 is a schematic diagram showing an example of an approximation line. 図14は、近似線に射影された計測点の一例を示す模式図である。FIG. 14 is a schematic diagram showing an example of measurement points projected onto an approximation line. 図15は、計測点のヒストグラムの一例を示す模式図である。FIG. 15 is a schematic diagram showing an example of a histogram of measurement points. 図16は、目標物の位置の特定方法の一例を説明する模式図である。FIG. 16 is a schematic diagram illustrating an example of a method for identifying the position of a target object. 図17は、第2パスに沿った移動の一例を示す模式図である。FIG. 17 is a schematic diagram showing an example of movement along the second path. 図18は、目標物の位置及び姿勢検出の処理フローを説明するフローチャートである。FIG. 18 is a flowchart illustrating a process flow for detecting the position and orientation of a target object. 図19は、第1変形例における目標物の位置の特定方法の例を説明する模式図である。FIG. 19 is a schematic diagram illustrating an example of a method for identifying the position of a target object in the first modified example. 図20は、第2変形例における目標物の位置の特定方法の例を説明する模式図である。FIG. 20 is a schematic diagram illustrating an example of a method for identifying the position of a target object in the second modified example.

以下に添付図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。 The following describes in detail a preferred embodiment of the present invention with reference to the attached drawings. Note that the present invention is not limited to this embodiment, and when there are multiple embodiments, the present invention also includes a configuration in which each embodiment is combined.

(第1実施形態)
(移動制御システムの全体構成)
図1は、第1実施形態に係る移動制御システムの模式図である。図1に示すように、第1実施形態に係る移動制御システム1は、移動体10、管理システム12、及び情報処理装置14を含む。移動制御システム1は、設備Wに所属する移動体10の移動を制御するシステムである。設備Wは、例えば倉庫など、物流管理される設備である。移動制御システム1においては、移動体10によって設備Wの領域AR内に配置された目標物Pをピックアップして搬送させる。領域ARは、例えば設備Wの床面であり、目標物Pが設置されたり移動体10が移動したりする領域である。目標物Pは、本実施形態では、パレット上に荷物が積載された搬送対象物である。目標物Pは、複数の柱PAと、柱PA同士の間に形成される開口PBとが、前面Paに形成されている。前面Paとは、移動体10がアプローチしてくる側の面を指す。移動体10は、開口PBに後述するフォーク24を挿入することで、目標物Pを保持する。ただし、目標物Pは、パレット上に荷物が積載されたものに限られず任意の形態であってよく、例えばパレットを有さず荷物のみであってもよい。以下、領域ARに沿った一方向を、方向Xとし、領域Aに沿った方向であって方向Xに交差する方向を、方向Yとする。本実施形態では、方向Yは、方向Xに直交する方向である。方向X、方向Yは、水平方向といってもよい。また、方向X、方向Yに直交する方向を、すなわち鉛直方向を、方向Zとする。
First Embodiment
(Overall configuration of the mobility control system)
FIG. 1 is a schematic diagram of a movement control system according to a first embodiment. As shown in FIG. 1, the movement control system 1 according to the first embodiment includes a moving body 10, a management system 12, and an information processing device 14. The movement control system 1 is a system that controls the movement of a moving body 10 belonging to a facility W. The facility W is a facility that is managed by logistics, such as a warehouse. In the movement control system 1, a target object P arranged in an area AR of the facility W is picked up and transported by the moving body 10. The area AR is, for example, the floor surface of the facility W, and is an area in which the target object P is installed and the moving body 10 moves. In this embodiment, the target object P is a transport target object in which luggage is loaded on a pallet. The target object P has a front surface Pa formed with a plurality of pillars PA and an opening PB formed between the pillars PA. The front surface Pa refers to the surface on the side from which the moving body 10 approaches. The moving body 10 holds the target object P by inserting a fork 24, which will be described later, into the opening PB. However, the target P is not limited to a pallet with luggage loaded on it, and may be in any form, for example, it may be luggage only without a pallet. Hereinafter, one direction along the area AR is referred to as direction X, and a direction along the area A that intersects with direction X is referred to as direction Y. In this embodiment, direction Y is a direction perpendicular to direction X. Directions X and Y may also be referred to as horizontal directions. Moreover, a direction perpendicular to directions X and Y, i.e., the vertical direction, is referred to as direction Z.

設備W内の領域ARには、複数の設置領域AR0が設けられている。設置領域AR0は、目標物Pが設置される領域である。設置領域AR0は、目標物Pを設置すべき領域として、予め設定される。設置領域AR0は、例えば白線などで区分されており、設置領域AR0の位置(座標)、形状、及び大きさは、予め設定されている。設置領域AR0内においては、目標物Pは、前面Paが方向X側を向くように配置されている。図1の例では、目標物Pは、方向Zから見て前面Paに直交する軸PXが方向Xと沿うように、すなわち目標物Pの向きが設置領域AR0に対してずれないように、設置領域AR内に配置されている。ただし、目標物Pは、軸PXが方向Xと沿っていることに限られず、軸PXが方向Xから傾斜して、すなわち設置領域ARに対して向きがずれて設置されていてもよい。例えば、目標物Pは、軸PXと方向Xとの傾斜角度が、45度以下となるように、設置領域AR0に配置されることが好ましい。 A plurality of installation areas AR0 are provided in the area AR in the equipment W. The installation area AR0 is an area in which the target object P is to be installed. The installation area AR0 is set in advance as an area in which the target object P should be installed. The installation area AR0 is divided, for example, by a white line, and the position (coordinates), shape, and size of the installation area AR0 are set in advance. In the installation area AR0, the target object P is arranged so that the front surface Pa faces the direction X side. In the example of FIG. 1, the target object P is arranged in the installation area AR so that the axis PX perpendicular to the front surface Pa when viewed from the direction Z is along the direction X, that is, so that the orientation of the target object P does not deviate from the installation area AR0. However, the axis PX of the target object P is not limited to being along the direction X, and the axis PX may be installed at an angle from the direction X, that is, so that the orientation of the axis PX is deviated from the installation area AR. For example, it is preferable that the target object P is arranged in the installation area AR0 so that the inclination angle between the axis PX and the direction X is 45 degrees or less.

なお、本実施形態では、設置領域AR0は、設備Wの床である領域ARに設けられているが、それに限られず、例えば目標物Pを設備Wに搬入した車両の荷台内に設けられてもよい。また、本実施形態では、設置領域AR0は、目標物P毎に区画されており、設置領域AR0には目標物Pが1つ配置されるが、それに限られない。例えば、設置領域AR0は、フリースペースとして、複数の目標物Pが設置されるように設定されていてもよい。また、図1の例では設置領域AR0は矩形であるが、形状及び大きさは任意であってよい。また、領域ARに設けられる設置領域AR0の数も任意であってよい。 In this embodiment, the installation area AR0 is provided in the area AR, which is the floor of the facility W, but is not limited thereto. For example, the installation area AR0 may be provided in the loading platform of a vehicle that has brought the target object P into the facility W. In this embodiment, the installation area AR0 is divided into sections for each target object P, and one target object P is placed in the installation area AR0, but is not limited thereto. For example, the installation area AR0 may be set as a free space in which multiple targets P can be placed. In the example of FIG. 1, the installation area AR0 is rectangular, but the shape and size may be arbitrary. The number of installation areas AR0 provided in the area AR may also be arbitrary.

移動体10は、自動で移動可能な装置である。本実施形態では、移動体10は、フォークリフトであり、さらにいえば、いわゆるAGF(Automated Guided Forklift)である。図1に例示するように、移動体10は、設備Wにおける領域AR上を移動する。移動体10は、第1パスR1(広域パス)に従って、第1位置A1から第2位置A2まで移動しつつ、後述するセンサ26によって、目標物Pを複数回検出する。移動体10は、センサ26による複数回の検出結果から点群を取得し、点群に基づき目標物Pの位置及び姿勢を特定する。移動体10は、第2位置A2に到達したら、目標物Pの位置及び姿勢に基づいて設定された第2パスR2(アプローチパス)に従って、第2位置A2から目標位置A3まで移動して、目標物Pをピックアップする。なお、ここでの目標物Pの位置とは、方向X及び方向Yの二次元座標系COにおける目標物Pの座標を指し、目標物Pの姿勢とは、方向X及び方向Yに直交する方向から見た場合の目標物Pの向き(回転角度)を指す。また、目標位置A3は、目標物Pに対して所定の位置及び姿勢となる位置及び姿勢である。本実施形態では、目標位置A3は、移動体10が目標物Pをピックアップ可能な位置及び姿勢といえる。例えば、目標位置A3は、移動体10が横方向に移動することなく、直進することで、後述の移動体10のフォーク24を、目標物Pの開口PBに挿入することができる移動体10の位置及び姿勢であってよい。この場合、移動体10は、目標位置A3から直進して目標物Pをピックアップして、目標物Pを他の場所に搬送する。なお、目標物Pの位置及び姿勢の具体的な特定方法や、第1パスR1、第2パスR2に従った移動の詳細については、後述する。また、図1に示す第1パスR1や第2パスR2は一例である。 The moving body 10 is a device that can move automatically. In this embodiment, the moving body 10 is a forklift, or more specifically, a so-called AGF (Automated Guided Forklift). As illustrated in FIG. 1, the moving body 10 moves on an area AR in the facility W. The moving body 10 detects the target P multiple times by a sensor 26 described later while moving from a first position A1 to a second position A2 according to a first path R1 (wide area path). The moving body 10 acquires a point cloud from multiple detection results by the sensor 26, and identifies the position and posture of the target P based on the point cloud. When the moving body 10 reaches the second position A2, it moves from the second position A2 to the target position A3 according to a second path R2 (approach path) set based on the position and posture of the target P, and picks up the target P. The position of the target P here refers to the coordinates of the target P in a two-dimensional coordinate system CO in the direction X and the direction Y, and the attitude of the target P refers to the orientation (rotation angle) of the target P when viewed from a direction perpendicular to the direction X and the direction Y. The target position A3 is a position and attitude that is a predetermined position and attitude with respect to the target P. In this embodiment, the target position A3 can be said to be a position and attitude at which the moving body 10 can pick up the target P. For example, the target position A3 may be a position and attitude of the moving body 10 at which the fork 24 of the moving body 10 described later can be inserted into the opening PB of the target P by moving straight without moving laterally. In this case, the moving body 10 moves straight from the target position A3 to pick up the target P and transport the target P to another location. A specific method for identifying the position and attitude of the target P and details of the movement according to the first pass R1 and the second pass R2 will be described later. The first pass R1 and the second pass R2 shown in FIG. 1 are examples.

(移動体)
図2は、移動体の構成の模式図である。図2に示すように、移動体10は、車体20と、マスト22と、フォーク24と、センサ26と、制御装置28とを備えている。車体20は、車輪20Aを備えている。マスト22は、車体20の前後方向における一方の端部に設けられている。マスト22は、前後方向に直交する上下方向(ここでは方向Z)に沿って延在する。フォーク24は、マスト22に方向Zに移動可能に取付けられている。フォーク24は、マスト22に対して、車体20の横方向(上下方向及び前後方向に交差する方向)にも移動可能であってよい。フォーク24は、一対のツメ24A、24Bを有している。ツメ24A、24Bは、マスト22から車体20の前方向に向けて延在している。ツメ24Aとツメ24Bとは、マスト22の横方向に、互いに離れて配置されている。以下、前後方向のうち、移動体10においてフォーク24が設けられている側の方向を、前方向とし、フォーク24が設けられていない側の方向を、後方向とする。
(Mobile)
FIG. 2 is a schematic diagram of the configuration of the moving body. As shown in FIG. 2, the moving body 10 includes a vehicle body 20, a mast 22, a fork 24, a sensor 26, and a control device 28. The vehicle body 20 includes a wheel 20A. The mast 22 is provided at one end of the vehicle body 20 in the front-rear direction. The mast 22 extends along a vertical direction (here, direction Z) perpendicular to the front-rear direction. The fork 24 is attached to the mast 22 so as to be movable in the direction Z. The fork 24 may also be movable in the lateral direction of the vehicle body 20 (a direction intersecting the vertical direction and the front-rear direction) relative to the mast 22. The fork 24 has a pair of claws 24A, 24B. The claws 24A, 24B extend from the mast 22 toward the front of the vehicle body 20. The claws 24A and 24B are arranged apart from each other in the lateral direction of the mast 22. Hereinafter, of the front-rear direction, the direction on the side of the movable body 10 on which the fork 24 is provided is referred to as the front direction, and the direction on the side on which the fork 24 is not provided is referred to as the rear direction.

センサ26は、車体20の周辺に存在する対象物の位置及び姿勢の少なくとも1つを検出する。センサ26は、移動体10に対する対象物の位置と、移動体10に対する対象物の姿勢とを検出するともいえる。本実施形態では、センサ26は、マスト22と、車体20の四隅とに、すなわち車体20の前方向側の左右の端部と後方向側の左右の端部とに、設けられている。ただし、センサ26の設けられる位置はこれに限られず、任意の位置に設けられてもよいし、設けられる数も任意であってよい。例えば、移動体10に設けられる安全センサを、センサ26として流用してもよい。安全センサを流用することで、新たにセンサを設ける必要がなくなる。 The sensor 26 detects at least one of the position and the attitude of an object present around the vehicle body 20. It can also be said that the sensor 26 detects the position of the object relative to the moving body 10 and the attitude of the object relative to the moving body 10. In this embodiment, the sensor 26 is provided on the mast 22 and on the four corners of the vehicle body 20, i.e., on the left and right ends on the forward side and the left and right ends on the rear side of the vehicle body 20. However, the position at which the sensor 26 is provided is not limited to this, and the sensor 26 may be provided at any position, and the number of sensors provided may also be arbitrary. For example, a safety sensor provided on the moving body 10 may be used as the sensor 26. By reusing the safety sensor, there is no need to provide a new sensor.

センサ26は、周囲の対象物からの反射光を検出(受光)することで、対象物の位置及び姿勢を検出する。さらに言えば、センサ26は、光を照射するセンサであり、より詳しくは光としてレーザ光を照射する。センサ26は、照射したレーザ光の反射光を検出することで、対象物の位置及び姿勢を検出する。センサ26は、一方向に走査しつつレーザ光を照射し、照射したレーザ光の反射光から、対象物の位置及び姿勢を検出する。すなわち、センサ26は、いわゆる2D-LiDAR(Light Detection And Ranging)であるともいえる。本実施形態では、センサ26は、水平方向に、すなわち方向Zに直交する方向に、レーザ光を走査する。ただし、センサ26は、以上のものに限られず任意の方法で対象物を検出するセンサであってよく、例えば、複数の方向に走査されるいわゆる3D-LiDARであってもよい。 The sensor 26 detects the position and orientation of the object by detecting (receiving) reflected light from the surrounding object. More specifically, the sensor 26 is a sensor that irradiates light, more specifically, it irradiates laser light as light. The sensor 26 detects the position and orientation of the object by detecting the reflected light of the irradiated laser light. The sensor 26 irradiates laser light while scanning in one direction, and detects the position and orientation of the object from the reflected light of the irradiated laser light. In other words, the sensor 26 can be said to be a so-called 2D-LiDAR (Light Detection and Ranging). In this embodiment, the sensor 26 scans the laser light in the horizontal direction, that is, in a direction perpendicular to the direction Z. However, the sensor 26 is not limited to the above and may be a sensor that detects the object by any method, for example, a so-called 3D-LiDAR that scans in multiple directions.

制御装置28は、移動体10の移動を制御する。制御装置28については後述する。 The control device 28 controls the movement of the moving body 10. The control device 28 will be described later.

(管理システム)
図3は、管理システムの模式的なブロック図である。管理システム12は、設備Wにおける物流を管理するシステムである。管理システム12は、本実施形態ではWMS(Warehouse Management System)であるが、WMSに限られず任意のシステムであってよく、例えば、その他の生産管理系システムのようなバックエンドシステムでも構わない。管理システム12が設けられる位置は任意であり、設備W内に設けられてもよいし、設備Wから離れた位置に設けられて、離れた位置から設備Wを管理するものであってもよい。管理システム12は、コンピュータであり、図3に示すように、通信部30と記憶部32と制御部34とを含む。
(Management System)
FIG. 3 is a schematic block diagram of the management system. The management system 12 is a system that manages logistics in the facility W. In this embodiment, the management system 12 is a WMS (warehouse management system), but is not limited to a WMS and may be any system, for example, a back-end system such as other production management systems. The location where the management system 12 is installed is arbitrary, and the system may be installed within the facility W, or may be installed at a location away from the facility W to manage the facility W from the remote location. The management system 12 is a computer, and includes a communication unit 30, a storage unit 32, and a control unit 34 as shown in FIG. 3.

制御部34は、演算装置、すなわちCPU(Central Processing Unit)である。制御部34は、作業決定部36を含む。制御部34は、記憶部32からプログラム(ソフトウェア)を読み出して実行することで、作業決定部36を実現して、その処理を実行する。なお、制御部34は、1つのCPUによって処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、作業決定部36を、ハードウェア回路で実現してもよい。また、記憶部32が保存する制御部34用のプログラムは、管理システム12が読み取り可能な記録媒体に記憶されていてもよい。 The control unit 34 is a calculation device, i.e., a CPU (Central Processing Unit). The control unit 34 includes a work determination unit 36. The control unit 34 realizes the work determination unit 36 and executes the processing by reading and executing a program (software) from the memory unit 32. Note that the control unit 34 may execute the processing by one CPU, or may be provided with multiple CPUs and execute the processing by the multiple CPUs. The work determination unit 36 may also be realized by a hardware circuit. Furthermore, the program for the control unit 34 saved in the memory unit 32 may be stored in a recording medium that can be read by the management system 12.

作業決定部36は、搬送する対象となる目標物Pを決定する。具体的には、作業決定部36は、例えば入力された作業計画に基づき、搬送する対象となる目標物Pの情報を示す作業内容を決定する。作業内容は、搬送する対象となる目標物Pを特定する情報であるともいえる。本実施形態の例では、作業内容は、どの設備にあるどの目標物Pを、いつまでに、どこに搬送するかを、作業内容として決定する。すなわち、作業決定部36は、対象となる目標物Pが保管されている設備と、対象となる目標物Pと、目標物Pの搬送先と、目標物Pの搬送時期とを、を示す情報である。作業決定部36は、決定した作業内容を、通信部30を介して、情報処理装置14に送信する。 The work determination unit 36 determines the target object P to be transported. Specifically, the work determination unit 36 determines the work content indicating the information of the target object P to be transported, for example, based on an input work plan. The work content can also be said to be information that specifies the target object P to be transported. In the example of this embodiment, the work content determines which target object P in which facility is to be transported, by when, and to where. In other words, the work determination unit 36 determines the information indicating the facility in which the target object P is stored, the target object P, the destination of the target object P, and the transport time of the target object P. The work determination unit 36 transmits the determined work content to the information processing device 14 via the communication unit 30.

(情報処理装置)
図4は、情報処理装置の模式的なブロック図である。情報処理装置14は、設備Wに設けられ、少なくとも、移動体10の移動に関する情報などを移動体10と送受信する装置、いわゆる地上システムである。情報処理装置14は、コンピュータであり、図4に示すように、通信部40と記憶部42と制御部44とを含む。通信部40は、制御部44に用いられて、管理システム12や移動体10などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部40による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部42は、制御部44の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
(Information processing device)
FIG. 4 is a schematic block diagram of an information processing device. The information processing device 14 is provided in the facility W, and is a device that transmits and receives at least information related to the movement of the mobile body 10 to and from the mobile body 10, that is, a so-called ground system. The information processing device 14 is a computer, and includes a communication unit 40, a storage unit 42, and a control unit 44, as shown in FIG. 4. The communication unit 40 is a module used by the control unit 44 to communicate with external devices such as the management system 12 and the mobile body 10, and may include, for example, an antenna. In this embodiment, the communication method by the communication unit 40 is wireless communication, but the communication method may be arbitrary. The storage unit 42 is a memory that stores various information such as the calculation contents and programs of the control unit 44, and includes, for example, at least one of a RAM, a main storage device such as a ROM, and an external storage device such as an HDD.

制御部44は、演算装置、すなわちCPUである。制御部44は、作業内容取得部50と、移動体選定部52と、第1パス取得部54とを含む。制御部44は、記憶部42からプログラム(ソフトウェア)を読み出して実行することで、作業内容取得部50と移動体選定部52と第1パス取得部54とを実現して、それらの処理を実行する。なお、制御部44は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、作業内容取得部50と移動体選定部52と第1パス取得部54との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部42が保存する制御部44用のプログラムは、情報処理装置14が読み取り可能な記録媒体に記憶されていてもよい。 The control unit 44 is a calculation device, that is, a CPU. The control unit 44 includes a work content acquisition unit 50, a moving object selection unit 52, and a first path acquisition unit 54. The control unit 44 realizes the work content acquisition unit 50, the moving object selection unit 52, and the first path acquisition unit 54 by reading and executing a program (software) from the storage unit 42, and executes the processes. The control unit 44 may execute these processes using one CPU, or may be provided with multiple CPUs and execute the processes using the multiple CPUs. In addition, at least a part of the work content acquisition unit 50, the moving object selection unit 52, and the first path acquisition unit 54 may be realized by a hardware circuit. In addition, the program for the control unit 44 stored in the storage unit 42 may be stored in a recording medium that can be read by the information processing device 14.

(作業内容取得部及び移動体選定部)
作業内容取得部50は、管理システム12が決定した作業内容の情報、すなわち搬送対象となる目標物Pの情報を取得する。作業内容取得部50は、作業内容における目標物Pの情報から、目標物Pが設置されている設置領域AR0を特定する。例えば、記憶部42には、目標物Pと、その目標物Pが設置されている設置領域AR0とが、関連付けて記憶されており、作業内容取得部50は、記憶部42からその情報を読み出すことで、設置領域AR0を特定する。移動体選定部52は、対象となる移動体10を選定する。移動体選定部52は、例えば、設備Wに所属する複数の移動体から、対象となる移動体10を選定する。移動体選定部52は、任意の方法で対象となる移動体10を選定してよいが、例えば、作業内容取得部50が特定した設置領域AR0に基づき、その設置領域AR0にある目標物Pの搬送に適した移動体10を、対象となる移動体10として選定してよい。
(Work content acquisition unit and moving object selection unit)
The work content acquisition unit 50 acquires information on the work content determined by the management system 12, that is, information on the target object P to be transported. The work content acquisition unit 50 identifies the installation area AR0 in which the target object P is installed from the information on the target object P in the work content. For example, the storage unit 42 stores the target object P and the installation area AR0 in which the target object P is installed in association with each other, and the work content acquisition unit 50 identifies the installation area AR0 by reading out the information from the storage unit 42. The moving body selection unit 52 selects the target moving body 10. For example, the moving body selection unit 52 selects the target moving body 10 from a plurality of moving bodies belonging to the facility W. The moving body selection unit 52 may select the target moving body 10 by any method, but may select, for example, a moving body 10 suitable for transporting the target object P in the installation area AR0 based on the installation area AR0 identified by the work content acquisition unit 50 as the target moving body 10.

(第1パス取得部)
第1パス取得部54は、作業内容取得部50が特定した設置領域AR0までの第1パスR1の情報を、取得する。第1パスR1は、例えば設置領域AR0毎に、予め設定されている。第1パス取得部54は、例えば記憶部42から、作業内容取得部50が特定した設置領域AR0に対して設定された第1パスR1を、取得する。以下、第1パスR1について具体的に説明する。
(First path acquisition unit)
The first path acquisition unit 54 acquires information on the first path R1 to the installation area AR0 identified by the work content acquisition unit 50. The first path R1 is set in advance for each installation area AR0, for example. The first path acquisition unit 54 acquires the first path R1 set for the installation area AR0 identified by the work content acquisition unit 50, for example, from the storage unit 42. The first path R1 will be specifically described below.

図1に示すように、第1パスR1は、移動体10が向かう設置領域AR0(目標物P)よりも方向X側で、方向Yに沿って設置領域AR0(目標物P)を横切る軌道となっている。より詳しくは、第1パスR1は、検出軌道R1aと、検出軌道R1aに接続されるアプローチ軌道R1bとを含む。 As shown in FIG. 1, the first path R1 is a trajectory that crosses the installation area AR0 (target P) along the direction Y on the direction X side of the installation area AR0 (target P) toward which the moving body 10 is heading. More specifically, the first path R1 includes a detection trajectory R1a and an approach trajectory R1b that is connected to the detection trajectory R1a.

図1に示すように、検出軌道R1aは、設置領域AR0(目標物P)よりも方向X側で、方向Yに沿って設置領域AR0(目標物P)を横切る軌道である。検出軌道R1aは、設置領域AR0までの方向Xにおける距離が、所定距離の範囲内となるように設定されることが好ましい。ここでの所定距離は、検出軌道R1aを移動中の移動体10のセンサ26によって、設置領域AR0内の目標物Pの位置及び姿勢が検出可能な距離である。より詳しくは、本実施形態においては、検出軌道R1aは、第1位置A1から第2位置A2までの軌道である。第1位置A1は、設置領域AR0よりも方向X側であり、かつ、設置領域AR0よりも方向Yと反対方向側の位置として設定されている。第2位置A2は、設置領域AR0よりも方向X側であり、かつ、設置領域AR0よりも方向Y側の位置として設定されている。本実施形態においては、第1位置A1と第2位置A2は、設置領域AR0までの方向Xにおける距離が、所定距離の範囲内となるように設定されており、第1位置A1と第2位置A2との方向Xにおける位置(X座標)は、一致している。検出軌道R1aは、第1位置A1から第2位置A2までの、方向Yに沿った直線軌道として設定される。ただし、第1位置A1と第2位置A2との、方向Xにおける位置(X座標)は、一致していなくてもよい。また、検出軌道R1aは、直線軌道であることに限られず、第1位置A1から第2位置A2までで任意の軌跡を描く軌道であってよい。 1, the detection trajectory R1a is a trajectory that crosses the installation area AR0 (target P) along the direction Y on the direction X side of the installation area AR0 (target P). It is preferable that the detection trajectory R1a is set so that the distance in the direction X to the installation area AR0 is within a range of a predetermined distance. The predetermined distance here is a distance at which the position and posture of the target P in the installation area AR0 can be detected by the sensor 26 of the moving body 10 moving along the detection trajectory R1a. More specifically, in this embodiment, the detection trajectory R1a is a trajectory from the first position A1 to the second position A2. The first position A1 is set as a position on the direction X side of the installation area AR0 and on the opposite side of the direction Y from the installation area AR0. The second position A2 is set as a position on the direction X side of the installation area AR0 and on the direction Y side of the installation area AR0. In this embodiment, the first position A1 and the second position A2 are set so that the distance in the direction X to the installation area AR0 is within a predetermined distance range, and the positions in the direction X (X coordinates) of the first position A1 and the second position A2 are the same. The detection trajectory R1a is set as a straight trajectory along the direction Y from the first position A1 to the second position A2. However, the positions in the direction X (X coordinates) of the first position A1 and the second position A2 do not have to be the same. In addition, the detection trajectory R1a is not limited to being a straight trajectory, and may be a trajectory that draws an arbitrary locus from the first position A1 to the second position A2.

図1に示すように、アプローチ軌道R1bは、第2位置A2から設置領域AR0に向かう軌道である。より詳しくは、アプローチ軌道R1bは、第2位置A2から、設定位置A3zまでの軌道である。設定位置A3zは、設置領域AR0内における目標物Pの位置及び姿勢が所定の状態を満たす(目標物Pが設置領域AR0に対してずれ無く理想的に配置されている)と仮定した場合に、目標物Pに対して所定の位置及び姿勢となる位置及び姿勢である。すなわち、設定位置A3zは、目標物Pの位置及び姿勢が所定の状態を満たすと仮定した場合に、移動体10が目標物Pをピックアップ可能な位置及び姿勢であり、目標物Pの位置及び姿勢が所定の状態を満たす場合の目標位置A3であるともいえる。図1の例では、アプローチ軌道R1bは、第2位置A2から、第2位置A2よりも方向Yと反対側の中間位置ASB0までの直線軌道と、中間位置ASB0から設定位置A3zまでの曲線軌道と、を含む。第2位置A2から中間位置ASB0までの直線軌道は、検出軌道R1aに重なることが好ましい。 As shown in FIG. 1, the approach trajectory R1b is a trajectory from the second position A2 toward the installation area AR0. More specifically, the approach trajectory R1b is a trajectory from the second position A2 to the set position A3z. The set position A3z is a position and attitude that is a predetermined position and attitude for the target P, assuming that the position and attitude of the target P in the installation area AR0 satisfy a predetermined state (the target P is ideally placed without deviation in the installation area AR0). In other words, the set position A3z is a position and attitude at which the moving body 10 can pick up the target P, assuming that the position and attitude of the target P satisfy a predetermined state, and can also be said to be the target position A3 when the position and attitude of the target P satisfy a predetermined state. In the example of FIG. 1, the approach trajectory R1b includes a straight trajectory from the second position A2 to the intermediate position ASB0 on the opposite side of the second position A2 in the direction Y, and a curved trajectory from the intermediate position ASB0 to the set position A3z. It is preferable that the straight line trajectory from the second position A2 to the intermediate position ASB0 overlaps with the detection trajectory R1a.

なお、図示は省略するが、第1パスR1は、移動体10の移動開始位置から第1位置A1までの軌道も含んでよい。 Although not shown in the figure, the first path R1 may also include the trajectory from the movement start position of the moving body 10 to the first position A1.

ただし、第1パスR1は、以上のような軌道であることに限られない。例えば、第1パスR1は、アプローチ軌道R1bを含まないものであってよい。すなわち、第1パスR1は、少なくとも、第1位置A1から第2位置A2までの検出軌道R1aを含むものであってよい。さらにいえば、第1パスR1は、検出軌道R1aのような設置領域AR0(目標物P)を横切る軌道を含むことにも限られず、例えば、設置領域AR0(目標物P)の前面に向けて直線的に近づいていく軌道などであってもよい。またさらにいえば、第1パスR1は、移動体10が後方向に直進して設置領域AR0(目標物P)を横切り第2位置A2で切り返すことに限られず、移動体10が前方向に直進して旋回することで設置領域AR0(目標物P)の前面に向けて近づいていく軌道などであってもよい。 However, the first path R1 is not limited to the above-mentioned trajectory. For example, the first path R1 may not include the approach trajectory R1b. That is, the first path R1 may include at least the detection trajectory R1a from the first position A1 to the second position A2. Furthermore, the first path R1 is not limited to including a trajectory that crosses the installation area AR0 (target P) like the detection trajectory R1a, and may be, for example, a trajectory that approaches the front of the installation area AR0 (target P) in a straight line. Furthermore, the first path R1 is not limited to the moving body 10 moving straight backward, crossing the installation area AR0 (target P) and turning back at the second position A2, but may be a trajectory in which the moving body 10 moves straight forward and turns to approach the front of the installation area AR0 (target P).

第1パスR1は、設備Wの地図情報に基づき予め設定される。設備Wの地図情報は、設備Wに設置されている障害物(柱など)や移動体10が走行可能な通路などの位置情報を含んだ情報であり、領域AR内で移動体10が移動可能な領域を示す情報といえる。また、第1パスR1は、設備Wの地図情報に加えて、移動体10の車両仕様の情報にも基づき、設定されてよい。車両仕様の情報とは、例えば、移動体10の大きさや最小旋回半径など、移動体10が移動可能な経路に影響を及ぼす仕様である。車両仕様の情報にも基づき第1パスR1が設定されている場合、第1パスR1は、移動体毎に設定されてよい。なお、第1パスR1は、人によって、地図情報や車両仕様の情報などに基づき設定されてもよいし、情報処理装置14などの装置によって、地図情報や車両仕様の情報などに基づき、自動的に設定されてもよい。自動的に第1パスR1を設定する場合、例えば通過して欲しいポイント(Waypoint)を指定してもよく、この場合、通過して欲しいポイントを通過しつつ、最短、かつ障害物(壁などの固定物)を避けた第1パスR1の設定が可能となる。 The first path R1 is set in advance based on the map information of the facility W. The map information of the facility W includes position information of obstacles (such as pillars) installed in the facility W and paths through which the mobile body 10 can travel, and can be said to be information indicating the area in which the mobile body 10 can move within the area AR. The first path R1 may be set based on the vehicle specification information of the mobile body 10 in addition to the map information of the facility W. The vehicle specification information is, for example, specifications that affect the route through which the mobile body 10 can move, such as the size and minimum turning radius of the mobile body 10. When the first path R1 is set based on the vehicle specification information as well, the first path R1 may be set for each mobile body. The first path R1 may be set by a person based on map information, vehicle specification information, etc., or may be automatically set by a device such as the information processing device 14 based on map information, vehicle specification information, etc. When automatically setting the first path R1, for example, a point (waypoint) that you want to pass through can be specified. In this case, it is possible to set the first path R1 that passes through the desired point, is the shortest, and avoids obstacles (fixed objects such as walls).

なお、第1パス取得部54は、予め設定された第1パスR1を読み出すことなく、演算によって第1パスR1を設定してもよい。この場合、第1パス取得部54は、対象となる移動体10の位置情報と、設置領域AR0の位置情報と、設備Wの地図情報とに基づき、移動体10の現在位置から、第1位置A1、第2位置A2を経由して、移動先である設定位置A3zまでの経路を、第1パスR1として生成してよい。 The first path acquisition unit 54 may set the first path R1 by calculation, without reading out the preset first path R1. In this case, the first path acquisition unit 54 may generate, as the first path R1, a route from the current position of the mobile body 10 to the destination setting position A3z, via the first position A1 and the second position A2, based on the position information of the target mobile body 10, the position information of the installation area AR0, and the map information of the equipment W.

情報処理装置14は、取得した第1パスR1の情報を、通信部40を介して、対象となる移動体10に送信する。第1パスR1は、設置領域AR0に向かう経路であるため、移動体10の移動に関する情報であるといえる。 The information processing device 14 transmits the acquired information of the first path R1 to the target moving body 10 via the communication unit 40. Since the first path R1 is a route toward the installation area AR0, it can be said to be information regarding the movement of the moving body 10.

(移動体の制御装置)
次に、移動体10の制御装置28について説明する。図5は、移動体の制御装置の模式的なブロック図である。制御装置28は、移動体10を制御する。制御装置28は、移動体10のセンサ26による複数回の検出結果に基づいて設定された第2パスR2に沿って、移動体10を目標位置A3まで移動させて、移動体10に目標物Pをピックアップさせる。制御装置28は、コンピュータであり、図5に示すように、通信部60と記憶部62と制御部64とを含む。通信部60は、制御部64に用いられて、情報処理装置14などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部40による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部62は、制御部64の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
(Control device for mobile object)
Next, the control device 28 of the moving body 10 will be described. FIG. 5 is a schematic block diagram of the control device of the moving body. The control device 28 controls the moving body 10. The control device 28 moves the moving body 10 to the target position A3 along the second path R2 set based on the detection results of the sensor 26 of the moving body 10 multiple times, and causes the moving body 10 to pick up the target P. The control device 28 is a computer, and includes a communication unit 60, a storage unit 62, and a control unit 64 as shown in FIG. 5. The communication unit 60 is a module used by the control unit 64 to communicate with an external device such as the information processing device 14, and may include, for example, an antenna. The communication method by the communication unit 40 is wireless communication in this embodiment, but the communication method may be arbitrary. The storage unit 62 is a memory that stores various information such as the calculation contents and programs of the control unit 64, and includes, for example, at least one of a RAM, a main storage device such as a ROM, and an external storage device such as an HDD.

制御部64は、演算装置、すなわちCPUである。制御部64は、第1パス情報取得部70と、移動制御部72と、検出制御部74と、点群重畳部76と、目標物情報取得部78と、第2パス情報取得部80とを含む。制御部64は、記憶部62からプログラム(ソフトウェア)を読み出して実行することで、第1パス情報取得部70と移動制御部72と検出制御部74と点群重畳部76と目標物情報取得部78と第2パス情報取得部80とを実現して、それらの処理を実行する。なお、制御部64は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、第1パス情報取得部70と移動制御部72と検出制御部74と点群重畳部76と目標物情報取得部78と第2パス情報取得部80との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部62が保存する制御部64用のプログラムは、制御装置28が読み取り可能な記録媒体に記憶されていてもよい。 The control unit 64 is a calculation device, that is, a CPU. The control unit 64 includes a first path information acquisition unit 70, a movement control unit 72, a detection control unit 74, a point cloud superimposition unit 76, a target information acquisition unit 78, and a second path information acquisition unit 80. The control unit 64 reads out and executes a program (software) from the storage unit 62 to realize the first path information acquisition unit 70, the movement control unit 72, the detection control unit 74, the point cloud superimposition unit 76, the target information acquisition unit 78, and the second path information acquisition unit 80, and executes the processes. The control unit 64 may execute these processes by one CPU, or may be provided with multiple CPUs and execute the processes by the multiple CPUs. In addition, at least a part of the first path information acquisition unit 70, the movement control unit 72, the detection control unit 74, the point cloud superimposition unit 76, the target information acquisition unit 78, and the second path information acquisition unit 80 may be realized by a hardware circuit. In addition, the program for the control unit 64 stored in the memory unit 62 may be stored in a recording medium that can be read by the control device 28.

(第1パス情報取得部)
第1パス情報取得部70は、第1パスR1の情報を取得する。第1パス情報取得部70は、その移動体10が作業対象として選定された際に、情報処理装置14から第1パスR1の情報を取得してもよいし、予め記憶部62に記憶された第1パスR1の情報を読み出してもよい。
(First path information acquisition unit)
The first path information acquisition unit 70 acquires information on the first path R1. When the moving body 10 is selected as a work target, the first path information acquisition unit 70 may acquire the information on the first path R1 from the information processing device 14, or may read out the information on the first path R1 stored in advance in the storage unit 62.

(移動制御部)
移動制御部72は、移動体10の駆動部やステアリングなどの移動機構を制御して、移動体10の移動を制御する。移動制御部72は、第1パス情報取得部70が取得した第1パスR1や、後段の第2パス情報取得部80が取得した第2パスR2に従って、移動体10を移動させる。移動制御部72は、移動体10の位置情報を逐次把握することで、第1パスR1や第2パスR2を通るように、移動体10を移動させる。移動体10の位置情報の取得方法は任意であるが、例えば本実施形態では、設備Wに図示しない検出体が設けられており、移動制御部72は、検出体の検出に基づき移動体10の位置及び姿勢の情報を取得する。具体的には、移動体10は、検出体に向けてレーザ光を照射し、検出体によるレーザ光の反射光を受光して、設備Wにおける自身の位置及び姿勢を検出する。ここでの移動体10の位置とは、設備Wの領域Aにおける方向X及び方向Yの二次元座標であり、以下においても、位置とは、別途説明が無い限り、領域Aにおける二次元座標を指す。また、移動体10の姿勢とは、方向X及び方向Yに直交する方向Zから見た場合の移動体10の向き(回転角度)である。また、移動体10の位置及び姿勢の情報の取得方法は、検出体を用いることに限られず、例えば、SLAM(Slmultaneous Localization and Mapping)などの自己位置推定技術を用いてもよい。
(Movement control unit)
The movement control unit 72 controls the movement of the moving body 10 by controlling the movement mechanism such as the drive unit and steering of the moving body 10. The movement control unit 72 moves the moving body 10 according to the first path R1 acquired by the first path information acquisition unit 70 and the second path R2 acquired by the second path information acquisition unit 80 at the subsequent stage. The movement control unit 72 moves the moving body 10 so as to pass through the first path R1 and the second path R2 by sequentially grasping the position information of the moving body 10. The method of acquiring the position information of the moving body 10 is arbitrary, but for example, in this embodiment, a detection body (not shown) is provided in the facility W, and the movement control unit 72 acquires information on the position and attitude of the moving body 10 based on the detection of the detection body. Specifically, the moving body 10 irradiates a laser beam toward the detection body and receives the reflected light of the laser beam by the detection body to detect its own position and attitude in the facility W. The position of the moving body 10 here refers to two-dimensional coordinates in the direction X and direction Y in the area A of the facility W, and hereinafter, unless otherwise specified, the position refers to the two-dimensional coordinates in the area A. Furthermore, the attitude of the moving body 10 refers to the orientation (rotation angle) of the moving body 10 when viewed from the direction Z perpendicular to the direction X and direction Y. Furthermore, the method of acquiring information on the position and attitude of the moving body 10 is not limited to using a detection object, and for example, a self-location estimation technology such as SLAM (Slmutaneous Localization and Mapping) may be used.

(検出制御部)
検出制御部74は、センサ26に目標物Pの前面Paを複数回検出させて、センサ26の複数回の検出結果を点群として取得する。また、検出制御部74は、センサ26から照射される光の目標物Pへの入射角を算出し、入射角に基づき、取得した点群のうちから、目標物Pの位置及び姿勢を特定するための点群を選択する。検出制御部74の具体的な処理内容は後述する。
(Detection control unit)
The detection control unit 74 causes the sensor 26 to detect the front surface Pa of the target P multiple times, and acquires the multiple detection results of the sensor 26 as a point cloud. The detection control unit 74 also calculates the angle of incidence of the light irradiated from the sensor 26 to the target P, and selects a point cloud for identifying the position and orientation of the target P from among the acquired point clouds based on the angle of incidence. Specific processing contents of the detection control unit 74 will be described later.

(点群重畳部)
点群重畳部76は、検出制御部74が取得した、センサ26の複数の検出結果に対応する点群を同一座標系で重畳する。点群重畳部76の具体的な処理は後述する。
(Point cloud superposition part)
The point cloud superimposing unit 76 superimposes, in the same coordinate system, point clouds corresponding to the multiple detection results of the sensor 26 acquired by the detection control unit 74. Specific processing by the point cloud superimposing unit 76 will be described later.

(目標物位置情報取得部)
目標物情報取得部78は、検出制御部74が選択した点群の位置に基づいて特定された、目標物Pの位置及び姿勢の特定結果を取得する。さらに言えば、本実施形態の目標物情報取得部78は、重畳された点群の位置に基づいて特定された、目標物Pの位置及び姿勢の特定結果を取得する。目標物情報取得部78の具体的な処理は後述する。
(Target position information acquisition unit)
The target information acquisition unit 78 acquires the result of identifying the position and orientation of the target P, which is identified based on the position of the point cloud selected by the detection control unit 74. More specifically, the target information acquisition unit 78 of this embodiment acquires the result of identifying the position and orientation of the target P, which is identified based on the position of the superimposed point cloud. Specific processing by the target information acquisition unit 78 will be described later.

(第2パス情報取得部)
第2パス情報取得部80は、目標物の位置及び姿勢に基づいて設定された、目標位置A3までの第2パスR2の情報を取得する。第2パス情報取得部80の具体的な処理は後述する。
(Second path information acquisition unit)
The second path information acquisition unit 80 acquires information on a second path R2 to a target position A3, which is set based on the position and orientation of the target. Specific processing by the second path information acquisition unit 80 will be described later.

(制御装置の処理)
次に、移動体10が目標物Pに向かう際の制御装置28の処理について説明する。
(Control device processing)
Next, the process of the control device 28 when the moving body 10 moves toward the target P will be described.

(第1パスに沿った移動)
制御装置28の移動制御部72は、第1パス情報取得部70が取得した第1パスR1に従って、移動体10を移動させる。移動制御部72は、現在の移動体10の位置から、第1位置A1を経由して第2位置A2まで、第1パスR1を通るように、移動体10を移動させる。
(Movement along the first path)
The movement control unit 72 of the control device 28 moves the moving object 10 according to the first path R1 acquired by the first path information acquisition unit 70. The movement control unit 72 moves the moving object 10 from the current position of the moving object 10 to the second position A2 via the first position A1, so as to pass through the first path R1.

(点群の取得)
図6は、目標物の検出を説明する模式図である。検出制御部74は、図6に示すように、移動体10が、第1パスR1に沿って第1位置A1から第2位置A2までの間を移動中に、すなわち検出軌道R1aを移動中に、センサ26に、目標物Pの前面Paを複数回検出させる。検出制御部74は、センサ26に、位置が既知である設置領域AR0に向けて検出を行わせることで、目標物Pの前面Paを検出させる。具体的には、検出制御部74は、センサ26に、目標物Pが設置された設置領域ARに向けて、レーザ光LTを照射させる。レーザ光LTは目標物Pの前面Paで反射され、センサ26は、目標物Pの前面Paからの反射光を受光する。検出制御部74は、センサ26が受光した反射光の検出結果に基づき、計測点Mの集合である点群M0を取得する。計測点Mとは、レーザ光LTが反射された位置(座標)を示す点であり、点群M0とは、レーザ光LTが反射された位置を示す点の集合を指す。本実施形態では、検出制御部74は、反射光の検出結果と移動体10の位置に基づき、反射光が反射された箇所の、方向X及び方向Yの二次元座標系COにおける位置(座標)を、計測点Mとして算出する。ただし、検出制御部74は、二次元座標系COにおける位置を計測点Mとすることに限られず、センサ26や移動体10を基準とした座標系における位置を、計測点Mとしてもよい。
(Point cloud acquisition)
6 is a schematic diagram for explaining detection of a target. As shown in FIG. 6, while the moving body 10 is moving between the first position A1 and the second position A2 along the first path R1, that is, while moving along the detection track R1a, the detection control unit 74 causes the sensor 26 to detect the front surface Pa of the target P multiple times. The detection control unit 74 causes the sensor 26 to detect the front surface Pa of the target P by performing detection toward the installation area AR0 whose position is known. Specifically, the detection control unit 74 causes the sensor 26 to irradiate the laser light LT toward the installation area AR in which the target P is installed. The laser light LT is reflected by the front surface Pa of the target P, and the sensor 26 receives the reflected light from the front surface Pa of the target P. The detection control unit 74 acquires a point cloud M0, which is a set of measurement points M, based on the detection result of the reflected light received by the sensor 26. The measurement point M is a point indicating the position (coordinate) at which the laser light LT is reflected, and the point group M0 refers to a collection of points indicating the positions at which the laser light LT is reflected. In this embodiment, the detection control unit 74 calculates the position (coordinate) of the location at which the reflected light is reflected in a two-dimensional coordinate system CO in the direction X and the direction Y as the measurement point M based on the detection result of the reflected light and the position of the moving body 10. However, the detection control unit 74 is not limited to determining the position in the two-dimensional coordinate system CO as the measurement point M, and may determine the position in a coordinate system based on the sensor 26 or the moving body 10 as the measurement point M.

(点群の選択)
図7は、点群の選択を説明するための模式図である。検出制御部74は、検出の際にセンサ26から照射された光の目標物Pへの入射角θを推定し、推定した入射角θに基づいて、その検出により取得した点群M0に含まれる計測点Mのうちから、目標物Pの位置及び姿勢の特定に用いるための計測点Mを、選択する。以下、入射角θに基づいて計測点Mを選択する処理の例を具体的に説明する。
(Selection of points)
7 is a schematic diagram for explaining the selection of the point cloud. The detection control unit 74 estimates the incident angle θ of the light irradiated from the sensor 26 to the target P during detection, and selects the measurement points M to be used for identifying the position and orientation of the target P from among the measurement points M included in the point cloud M0 acquired by the detection based on the estimated incident angle θ. An example of the process of selecting the measurement points M based on the incident angle θ will be specifically explained below.

(近似線Kの算出)
検出制御部74は、入射角θを算出するために、今回の検出(スキャン)とは別の検出(スキャン)により取得された計測点Mについての、近似線Kを算出する。言い換えれば、今回選択する計測点Mに対応する検出を第2の検出とすると、検出制御部74は、第2の検出とは別の検出である第1の検出で取得された計測点Mに基づき、第1の検出で取得された計測点Mについての近似線Kを算出するといえる。第1の検出で取得された計測点Mは目標物Pの前面Paに対応するため、近似線Kは、目標物Pの前面Paの向きに対応するといえる。本実施形態においては、検出制御部74は、各計測点Mに対して最小二乗法によって直線フィッティングを行うことで、近似線Kを算出する。ただし、近似線Kの算出方法は、最小二乗法に限られず、任意の方法を用いてよい。また、検出制御部74は、第1の検出で取得された計測点Mの一部を用いて近似線Kを算出してもよいし、全てを用いて近似線Kを算出してもよい。また、本実施形態では、目標物Pの前面Paが平面状であるため、近似線Kを直線として算出するが、近似線は直線であることに限られない。例えば前面Paが曲面であることが既知である場合などには、それに合わせて、近似線Kを曲線として算出してもよい。
(Calculation of Approximation Line K)
In order to calculate the incident angle θ, the detection control unit 74 calculates an approximation line K for the measurement point M acquired by a detection (scan) other than the current detection (scan). In other words, if the detection corresponding to the measurement point M selected this time is the second detection, the detection control unit 74 calculates the approximation line K for the measurement point M acquired by the first detection based on the measurement point M acquired by the first detection, which is a detection other than the second detection. Since the measurement point M acquired by the first detection corresponds to the front surface Pa of the target P, the approximation line K corresponds to the orientation of the front surface Pa of the target P. In this embodiment, the detection control unit 74 calculates the approximation line K by performing straight line fitting for each measurement point M by the least squares method. However, the calculation method of the approximation line K is not limited to the least squares method, and any method may be used. In addition, the detection control unit 74 may calculate the approximation line K using some of the measurement points M acquired by the first detection, or may calculate the approximation line K using all of the measurement points M acquired by the first detection. In this embodiment, since the front surface Pa of the target P is flat, the approximation line K is calculated as a straight line, but the approximation line is not limited to being a straight line. For example, if it is known that the front surface Pa is a curved surface, the approximation line K may be calculated as a curved line accordingly.

本実施形態では、今回計測点Mを選択するよりも前に、複数回の検出によって取得された計測点Mがある場合には、検出制御部74は、それらの複数回の検出によって取得された計測点Mの近似線を、近似線Kとして算出する。言い換えれば、今回選択する計測点Mに対応する検出を第3の検出とし、今回計測点Mを検出するよりも前に取得された計測点Mに対応する検出を、第1の検出及び第2の検出とすると、検出制御部74は、第1の検出及び第2の検出で取得された計測点Mに基づき、第1の検出及び第2の検出で取得された計測点Mの近似線Kを算出する。すなわち、検出制御部74は、センサ26による検出数が増えるごとに、直近の検出により取得された計測点Mを加えて近似線Kを算出しなおすことで、近似線Kを更新する。なお、検出制御部74は、今回よりも前の複数回の検出で取得された計測点Mの一部を用いて近似線Kを算出してもよいし、全てを用いて近似線Kを算出してもよい。 In this embodiment, if there is a measurement point M obtained by multiple detections before the current measurement point M is selected, the detection control unit 74 calculates the approximation line K of the measurement points M obtained by the multiple detections. In other words, if the detection corresponding to the measurement point M selected this time is the third detection, and the detection corresponding to the measurement point M obtained before the current measurement point M is detected is the first detection and the second detection, the detection control unit 74 calculates the approximation line K of the measurement points M obtained by the first detection and the second detection based on the measurement points M obtained by the first detection and the second detection. That is, each time the number of detections by the sensor 26 increases, the detection control unit 74 updates the approximation line K by adding the measurement point M obtained by the most recent detection. Note that the detection control unit 74 may calculate the approximation line K using some of the measurement points M obtained by the multiple detections prior to this time, or may calculate the approximation line K using all of them.

より詳しくは、本実施形態では、検出制御部74は、後述する点群重畳部76によって重畳された計測点Mに基づき、点群重畳部76によって重畳された計測点Mの近似線Kを検出する。詳しくは後述するが、点群重畳部76によって重畳された計測点Mは、目標物Pの前面Paを高精度に検出するために取捨選択された計測点Mであるため、点群重畳部76によって重畳された計測点Mを用いることで、近似線Kを目標物Pの前面Paにより適切に対応させることができる。ただし、検出制御部74は、近似線Kの算出に、点群重畳部76によって重畳された計測点Mを用いることに限られず、今回の検出とは別の検出により取得された任意の計測点Mを用いてよい。 More specifically, in this embodiment, the detection control unit 74 detects an approximation line K of the measurement points M superimposed by the point cloud superimposition unit 76 based on the measurement points M superimposed by the point cloud superimposition unit 76 described later. As will be described in detail later, the measurement points M superimposed by the point cloud superimposition unit 76 are measurement points M selected to detect the front surface Pa of the target P with high accuracy, so by using the measurement points M superimposed by the point cloud superimposition unit 76, the approximation line K can be made to correspond more appropriately to the front surface Pa of the target P. However, the detection control unit 74 is not limited to using the measurement points M superimposed by the point cloud superimposition unit 76 to calculate the approximation line K, and may use any measurement points M obtained by a detection other than the current detection.

検出制御部74は、入射角θを算出するために、今回の検出を行った際の移動体10の位置AR1の情報と、今回の検出により取得された計測点Mの位置の情報とを取得する。より詳しくは、位置AR1は、今回の検出を行った際の、検出を行ったセンサ26の二次元座標系COにおける位置である。上述のように、移動体10の位置は移動制御部72によって検出されており、かつ、移動体10の座標系におけるセンサ26の位置は、例えば設計情報などから取得できる。従って、検出制御部74は、移動体10の位置に基づき、今回の検出を行ったセンサ26の位置AR1の情報を取得できる。なお、位置AR1は、今回の検出を行ったセンサ26の位置であることに限られず、例えば、今回の検出を行った際の移動体10の任意の基準位置であってよい。 In order to calculate the incident angle θ, the detection control unit 74 acquires information on the position AR1 of the moving body 10 when the current detection was performed and information on the position of the measurement point M acquired by the current detection. More specifically, the position AR1 is the position in the two-dimensional coordinate system CO of the sensor 26 that performed the current detection when the current detection was performed. As described above, the position of the moving body 10 is detected by the movement control unit 72, and the position of the sensor 26 in the coordinate system of the moving body 10 can be acquired, for example, from design information. Therefore, the detection control unit 74 can acquire information on the position AR1 of the sensor 26 that performed the current detection based on the position of the moving body 10. Note that the position AR1 is not limited to the position of the sensor 26 that performed the current detection, and may be, for example, any reference position of the moving body 10 when the current detection was performed.

(入射角の算出)
検出制御部74は、近似線Kと、位置AR1と、今回の検出により取得された計測点Mとの位置関係に基づき、入射角θを算出する。検出制御部74は、近似線Kと位置AR1と計測点Mとの位置関係に基づき、位置AR1から計測点Mに向かう方向をレーザ光LTの進行方向とし、近似線Kを目標物Pの前面Paと仮定することで、入射角θを算出する。具体的には、図7の例に示すように、検出制御部74は、近似線Kに直交する垂線K1(近似線Kの法線)と、位置AR1と計測点Mとを結ぶ直線K2とのなす角度を、入射角θとして算出する。検出制御部74は、今回の検出により取得された計測点M毎に、入射角θを算出する。ただし、入射角θの算出方法はこれに限られない。例えば、近似線Kと直線K2とのなす角度を、入射角θとして算出してもよい。
(Calculation of the angle of incidence)
The detection control unit 74 calculates the incident angle θ based on the positional relationship between the approximation line K, the position AR1, and the measurement point M acquired by the current detection. The detection control unit 74 calculates the incident angle θ based on the positional relationship between the approximation line K, the position AR1, and the measurement point M by assuming that the direction from the position AR1 toward the measurement point M is the traveling direction of the laser light LT and that the approximation line K is the front surface Pa of the target P. Specifically, as shown in the example of FIG. 7, the detection control unit 74 calculates the angle between a perpendicular line K1 (normal line of the approximation line K) perpendicular to the approximation line K and a straight line K2 connecting the position AR1 and the measurement point M as the incident angle θ. The detection control unit 74 calculates the incident angle θ for each measurement point M acquired by the current detection. However, the calculation method of the incident angle θ is not limited to this. For example, the angle between the approximation line K and the straight line K2 may be calculated as the incident angle θ.

(入射角に基づく点群の選択)
検出制御部74は、入射角θに基づき、今回の検出により取得された各計測点Mのうちから、目標物の位置及び姿勢を特定するための計測点Mを選択する。検出制御部74は、選択した計測点Mの情報を、記憶部62に含まれるバッファ(一時記憶領域)に保存する。検出制御部74は、今回の検出により取得された計測点Mのうちで、入射角θが所定範囲内となる計測点Mを、目標物の位置及び姿勢を特定するための計測点Mとして選択する。一方、検出制御部74は、入射角θが所定範囲の範囲外となる計測点Mについては、目標物の位置及び姿勢を特定するための計測点Mとして選択せず、目標物の位置及び姿勢を特定するための計測点Mからは除外する。
(Selection of points based on incidence angle)
The detection control unit 74 selects a measurement point M for identifying the position and orientation of the target from among the measurement points M acquired by the current detection based on the incident angle θ. The detection control unit 74 saves information on the selected measurement point M in a buffer (temporary storage area) included in the storage unit 62. The detection control unit 74 selects, from among the measurement points M acquired by the current detection, a measurement point M for which the incident angle θ is within a predetermined range as a measurement point M for identifying the position and orientation of the target. On the other hand, the detection control unit 74 does not select a measurement point M for which the incident angle θ is outside the predetermined range as a measurement point M for identifying the position and orientation of the target, and excludes it from the measurement points M for identifying the position and orientation of the target.

所定範囲は、任意に設定されてよいが、本実施形態では、入射角θがその所定範囲内であれば計測点Mの検出精度が担保されるものとして、予め設定される。この場合、所定範囲は、センサ26の性能や目標物Pの特性(例えば目標物Pの形状、大きさ、材質及び色彩の少なくとも1つ)に応じて異なる場合がある。そのため、今回使用するセンサ26と同じ種類のセンサに、今回の検出対象となる目標物Pと同じ種類であり位置及び姿勢が既知の目標物を検出させておき、その検出結果に基づいて、所定範囲を設定してもよい。また、所定範囲は、センサ26と目標物Pとの間の距離にも応じて変化する場合がある。この場合、今回使用するセンサ26と同じ種類のセンサに、今回の検出対象となる目標物Pと同じ種類であり位置及び姿勢が既知の目標物を、目標物とセンサとの距離を変えながら検出させておき、その検出結果に基づき、目標物とセンサとの距離毎に、所定範囲を設定してよい。そして、検出制御部74は、今回の検出における目標物Pとセンサ26との距離に対応する所定範囲を読み出して、計測点Mの選択に用いてよい。以上をまとめると、所定範囲は、例えば、センサ26の性能と、目標物Pの特性と、センサ26と目標物Pとの間の距離との、少なくとも1つに応じて設定されてよい。また、本実施形態では、所定範囲は、例えば所定の下限値と上限値との間の範囲であるが、それに限られず、例えば下限値だけを設定して上限値を設定しなくてもよい。光を照射することで目標物Pを検出するタイプのセンサは、入射角θが小さいと、例えば目標物Pでのレーザ光LTの反射光の強度が高くなり過ぎるなどの理由により、検出精度の低下が顕著となる場合がある。それに対し、このように下限値を設定することで、検出精度が低い計測点Mを除外して、検出精度の低下を適切に抑制できる。また、入射角θが大きいと、例えばレーザ光LTが目標物Pでうまく反射されないなどの理由により、検出精度が低下する場合がある。従って、所定範囲に上限値も設定することがより好ましい。 The predetermined range may be set arbitrarily, but in this embodiment, it is set in advance so that the detection accuracy of the measurement point M is guaranteed if the incident angle θ is within the predetermined range. In this case, the predetermined range may differ depending on the performance of the sensor 26 and the characteristics of the target P (for example, at least one of the shape, size, material, and color of the target P). Therefore, a sensor of the same type as the sensor 26 used this time may be made to detect a target of the same type as the target P to be detected this time and whose position and orientation are known, and the predetermined range may be set based on the detection result. The predetermined range may also change depending on the distance between the sensor 26 and the target P. In this case, a sensor of the same type as the sensor 26 used this time may be made to detect a target of the same type as the target P to be detected this time and whose position and orientation are known while changing the distance between the target and the sensor, and the predetermined range may be set for each distance between the target and the sensor based on the detection result. Then, the detection control unit 74 may read out the predetermined range corresponding to the distance between the target P and the sensor 26 in the current detection and use it to select the measurement point M. To summarize the above, the predetermined range may be set according to at least one of the performance of the sensor 26, the characteristics of the target P, and the distance between the sensor 26 and the target P. In the present embodiment, the predetermined range is, for example, a range between a predetermined lower limit value and an upper limit value, but is not limited thereto. For example, only the lower limit value may be set without setting the upper limit value. In a type of sensor that detects the target P by irradiating light, if the incident angle θ is small, for example, the intensity of the reflected light of the laser light LT on the target P becomes too high, and the detection accuracy may be significantly reduced. In contrast, by setting the lower limit value in this manner, the measurement point M with low detection accuracy can be excluded, and the decrease in detection accuracy can be appropriately suppressed. In addition, if the incident angle θ is large, for example, the detection accuracy may decrease due to the laser light LT not being well reflected by the target P. Therefore, it is more preferable to also set an upper limit value in the predetermined range.

なお、本実施形態では、移動体10が移動する毎に検出を行わせるため、目標物Pに対する移動体10の位置が検出毎に変化し、目標物Pの同じ位置に対する入射角θも、検出毎に変化する。そのため、入射角θが所定範囲の範囲外となって選択から除外される計測点Mの位置が、目標物Pの前面Paにおいて集中することなく、目標物Pの前面Paの全体の計測点Mを選択することが可能となる。そのため、検出精度の低下をより適切に抑制できる。 In this embodiment, since detection is performed each time the moving body 10 moves, the position of the moving body 10 relative to the target P changes with each detection, and the incident angle θ with respect to the same position of the target P also changes with each detection. Therefore, the positions of the measurement points M that are excluded from selection because the incident angle θ falls outside the predetermined range are not concentrated on the front surface Pa of the target P, and it is possible to select the measurement points M of the entire front surface Pa of the target P. This makes it possible to more appropriately suppress a decrease in detection accuracy.

なお、計測点Mの選択に用いる近似線Kは、今回の検出以外の検出によって取得された計測点Mに基づき算出される。従って、今回の検出以外の検出によって取得された計測点Mが無い場合には、すなわち本実施形態では点群重畳部76によって重畳された計測点Mが無い場合には、計測点Mの選択を行わなくてよい。 The approximation line K used to select the measurement points M is calculated based on the measurement points M obtained by detection other than the current detection. Therefore, if there are no measurement points M obtained by detection other than the current detection, that is, if there are no measurement points M superimposed by the point cloud superimposition unit 76 in this embodiment, it is not necessary to select the measurement points M.

(点群の抽出)
図8は、点群の抽出を説明するための模式図である。検出制御部74は、選択した計測点Mのうちから、後述する点群重畳部76によって重畳される計測点Mを、言い換えれば目標物Pの位置及び姿勢の特定に用いる計測点Mを、抽出する。すなわち、検出制御部74は、センサ26による今回の検出で取得した点群M0に含まれる計測点Mを、今回の入射角θに基づいて選択した後、選択した計測点Mをさらに取捨選択して、目標物Pの位置及び姿勢の特定に用いる計測点Mを抽出する。検出制御部74は、抽出した計測点Mの情報を、記憶部62に含まれるバッファに保存する。本実施形態では、検出制御部74は、入射角θに基づいて選択された計測点Mに基づき、目標物Pの前面Paに対応する直線L(直線Lの位置及び姿勢)を算出し、直線Lと計測点Mとの位置関係に基づいて、抽出する計測点Mを選定する。以下、計測点Mを抽出する処理の例を具体的に説明する。
(Point Cloud Extraction)
FIG. 8 is a schematic diagram for explaining the extraction of the point cloud. The detection control unit 74 extracts the measurement points M to be superimposed by the point cloud superimposition unit 76 described later from the selected measurement points M, in other words, the measurement points M to be used to specify the position and orientation of the target P. That is, the detection control unit 74 selects the measurement points M included in the point cloud M0 acquired by the current detection by the sensor 26 based on the current incident angle θ, and then further selects the selected measurement points M to extract the measurement points M to be used to specify the position and orientation of the target P. The detection control unit 74 stores information on the extracted measurement points M in a buffer included in the storage unit 62. In this embodiment, the detection control unit 74 calculates a straight line L (position and orientation of the straight line L) corresponding to the front surface Pa of the target P based on the measurement points M selected based on the incident angle θ, and selects the measurement points M to be extracted based on the positional relationship between the straight line L and the measurement points M. Below, an example of the process of extracting the measurement points M will be specifically described.

(直線候補の取得)
図8に示すように、検出制御部74は、設置領域AR0の位置に基づき、検知対象領域ROIaを設定する。検知対象領域ROIaは、いわゆるROI(Regions Of Interest)である。検出制御部74は、設置領域AR0の位置に基づき、目標物Pの前面Paを含むと推定される領域を特定し、その領域を検知対象領域ROIaとする。検出制御部74は、例えば、設置領域AR0より幅が大きい検知対象領域ROIaを設定し、入射角θに基づいて選択された点群M0に含まれる計測点Mのうちから、検知対象領域ROIa内の計測点Mを抽出する。検出制御部74は、目標物Pの前面Paに対応する直線L0を検出するために、一以上の直線候補を取得する。検出制御部74は、一以上の直線候補のそれぞれについて、直線候補から規定距離以上の手前側の計測点Mについては他の計測点Mよりも選択における優先度が低い定数のスコアを付与する。検出制御部74は、検知対象領域ROIa内の計測点Mについてスコアを積算したスコア積算値に基づいて、一以上の直線候補の中から、目標物Pの前面Paに対応する直線L0を選択する。
(Getting line candidates)
As shown in FIG. 8, the detection control unit 74 sets the detection target region ROIa based on the position of the installation region AR0. The detection target region ROIa is a so-called ROI (Regions of Interest). The detection control unit 74 specifies a region that is estimated to include the front surface Pa of the target P based on the position of the installation region AR0, and sets the region as the detection target region ROIa. For example, the detection control unit 74 sets the detection target region ROIa having a width larger than the installation region AR0, and extracts the measurement points M in the detection target region ROIa from among the measurement points M included in the point cloud M0 selected based on the incident angle θ. The detection control unit 74 acquires one or more straight line candidates in order to detect the straight line L0 corresponding to the front surface Pa of the target P. The detection control unit 74 assigns a constant score to each of the one or more straight line candidates, which has a lower priority in selection than the other measurement points M, to the measurement points M that are closer to the front surface Pa than the straight line candidate by a specified distance or more. The detection control unit 74 selects a straight line L0 corresponding to the front surface Pa of the target P from among one or more straight line candidates, based on an integrated score value obtained by integrating the scores for the measurement points M in the detection target region ROIa.

図9は、直線候補の具体例を示す模式図である。例えば、図9に示すように、検出制御部74は、検知対象領域ROIaより幅が狭い検知対象領域ROIbをさらに設定し、検知対象領域ROIbの中の点群M0から選択した2つの計測点Mを結ぶ直線を、直線候補として取得してもよい。図9では、検出制御部74が、検知対象領域ROIbの中の点群M0に基づいて4つの直線候補L1、L2、L3、L4を取得する例を示している。検知対象領域ROIbは、隣接する荷物などが入り込まない程度の幅に設定されることが好ましい。検知対象領域ROIbは、設置領域AR0より幅が大きくてもよいし、小さくてもよい。 Figure 9 is a schematic diagram showing a specific example of a line candidate. For example, as shown in Figure 9, the detection control unit 74 may further set a detection target area ROIb narrower than the detection target area ROIa, and acquire a line connecting two measurement points M selected from the point cloud M0 in the detection target area ROIb as a line candidate. Figure 9 shows an example in which the detection control unit 74 acquires four line candidates L1, L2, L3, and L4 based on the point cloud M0 in the detection target area ROIb. It is preferable that the detection target area ROIb is set to a width that does not allow adjacent luggage or the like to get in. The detection target area ROIb may be wider or narrower than the installation area AR0.

ここで、直線候補の取得方法について具体例を説明する。検出制御部74は、検知対象領域内の点群M0からRANSACアルゴリズムにより選択した2つの計測点Mを結ぶ直線を、直線候補として取得するように構成されてもよい。この場合の検知対象領域は、検知対象領域ROIbであるが、検知対象領域ROIaであってもよいし、検知対象領域ROIa、ROIbとは異なる領域であってもよい。RANSAC(RANdom SAmple Consensus)は、ランダムに2つの点を選択して評価値を算出する手法である。なお、本開示に係る直線候補の取得手法には、RANSACを用いた手法に限られず、PROSAC(PROgressive SAmple Consensus)等の他のアルゴリズムが使用されてもよい。 Here, a specific example of a method for acquiring line candidates will be described. The detection control unit 74 may be configured to acquire, as a line candidate, a line connecting two measurement points M selected from the point group M0 in the detection target area using the RANSAC algorithm. The detection target area in this case is the detection target area ROIb, but it may be the detection target area ROIa, or may be an area different from the detection target areas ROIa and ROIb. RANSAC (RANdom SAmple Consensus) is a method for randomly selecting two points and calculating an evaluation value. Note that the method for acquiring line candidates according to the present disclosure is not limited to the method using RANSAC, and other algorithms such as PROSAC (PROgressive SAmple Consensus) may be used.

検出制御部74は、検知対象領域の幅方向中央の右側及び左側のそれぞれの点群M0から1つずつ選択した2つの計測点Mを結ぶ直線を、直線候補として取得するように構成されてもよい。この場合、組み合わせの数が有限となるため、すべての2点の組み合わせについて直線候補としてもよい。 The detection control unit 74 may be configured to acquire, as a line candidate, a straight line connecting two measurement points M selected from the point clouds M0 on the right and left sides of the center in the width direction of the detection target area. In this case, since the number of combinations is finite, all combinations of two points may be regarded as line candidates.

(直線L0の検出)
検出制御部74は、一以上の直線候補のそれぞれについてスコア積算値を算出し、スコア積算値に基づいて、目標物Pの前面Paに対応する直線L0を検出する。検出制御部74は、スコア積算値が示す優先度が高い直線候補に対して、検知対象領域ROIb外かつ検知対象領域ROIa内の点群M0を含めて、それを直線L0として選択(すなわち検出)し、この様な点群M0についても後続の処理の対象としてもよい。以降では、一例として、検出制御部74が、スコア積算値に基づいて、図9に示す直線候補L1を直線L0として選択するものとする。
(Detection of line L0)
The detection control unit 74 calculates a score accumulation value for each of one or more line candidates, and detects a line L0 corresponding to the front surface Pa of the target P based on the score accumulation value. The detection control unit 74 selects (i.e. detects) a line candidate having a high priority indicated by the score accumulation value as the line L0, including a point group M0 outside the detection target region ROIb and within the detection target region ROIa, and may also subject such a point group M0 to subsequent processing. In the following, as an example, it is assumed that the detection control unit 74 selects the line candidate L1 shown in FIG. 9 as the line L0 based on the score accumulation value.

ここで、スコア積算値について説明する。例えば、スコア積算値の高い直線候補を優先的に線分検出に使用する直線として選択する場合には、「優先度が低い定数のスコア」は、スコア積算値を小さくするような値のスコアを意味する。一方、例えば、スコア積算値の低い直線候補を優先的に選択する場合には、「優先度が低い定数のスコア」は、スコア積算値を大きくするような値のスコアを意味する。 Here, we will explain the score accumulation value. For example, when a straight line candidate with a high score accumulation value is to be preferentially selected as the straight line to be used for line detection, the "constant score with low priority" means a score value that reduces the score accumulation value. On the other hand, when a straight line candidate with a low score accumulation value is to be preferentially selected, the "constant score with low priority" means a score value that increases the score accumulation value.

検出制御部74は、スコア積算値の算出において、点群M0を構成する各計測点Mと直線候補との垂直距離を利用する。具体的には、検出制御部74は、直線候補から規定距離未満の計測点Mについては、直線候補から規定距離以上の手前側(検出時の移動体10の位置に近い側)の計測点Mよりも優先度が高く、かつ直線候補に近いほど優先度が高いスコアを付与する。例えば、検出制御部74は、規定距離以上の手前側の計測点Mはマイナスの定数のスコアを付与するのに対し、規定距離未満の計測点Mはプラスのスコアを付与する。プラスのスコアの値は、直線候補からの距離に依存する変数である。 When calculating the score accumulation value, the detection control unit 74 uses the vertical distance between each measurement point M constituting the point cloud M0 and the straight line candidate. Specifically, the detection control unit 74 assigns a higher priority to measurement points M that are less than a specified distance from the straight line candidate than measurement points M that are more than a specified distance in front of the straight line candidate (closer to the position of the mobile body 10 at the time of detection), and the closer they are to the straight line candidate, the higher the priority. For example, the detection control unit 74 assigns a negative constant score to measurement points M that are more than a specified distance in front, and assigns a positive score to measurement points M that are less than the specified distance. The value of the positive score is a variable that depends on the distance from the straight line candidate.

図10は、スコアの一例を示すグラフである。このグラフの横軸は、Y方向(深度)に対応し、計測点Mと直線候補との距離を示し、横軸方向の右に行くほど奥側(検出時の移動体10の位置から遠い側)であることを意味する。深度がゼロの位置は直線候補の位置である。縦軸は付与するスコアの値を示している。図10に示す例では、直線候補から規定距離以上の手前側の計測点Mにはマイナスの定数のスコアが付与される。このように、直線候補から規定距離以上の手前側の計測点Mには、直線候補と計測点Mとの距離によらず一定のペナルティを課している。直線候補から規定距離未満の計測点Mには、直線候補に近いほど大きいプラスのスコアが付与される。 Figure 10 is a graph showing an example of a score. The horizontal axis of this graph corresponds to the Y direction (depth) and indicates the distance between the measurement point M and the line candidate, with the further to the right along the horizontal axis indicating the deeper side (the side farther from the position of the moving body 10 at the time of detection). A position with a depth of zero is the position of the line candidate. The vertical axis indicates the value of the score to be assigned. In the example shown in Figure 10, a negative constant score is assigned to measurement points M that are a specified distance or more in front of the line candidate. In this way, a fixed penalty is imposed on measurement points M that are a specified distance or more in front of the line candidate, regardless of the distance between the line candidate and the measurement point M. A positive score that is larger is assigned to measurement points M that are less than the specified distance from the line candidate, the closer they are to the line candidate.

検出制御部74は、スコア積算値の算出において、直線候補から規定距離以上の奥側の計測点Mについては、スコア積算値の積算対象から除外する。「スコア積算値の積算対象から除外する」とは、それらの計測点Mをスコア積算値の積算対象から実質的に除外することを意味し、それらの計測点Mにゼロのスコアを付与することであってもよいし、それらの計測点Mにスコアを付与しないことであってもよい。図10に示す例では、直線候補から規定距離以上の奥側の計測点Mにゼロのスコアが付与される。この様なスコア積算値の算出方法を採用すると、図9に示す例では、直線候補L1が直線L0線として選択される。なお、検出制御部74は、スコア積算値が示す優先度が高い複数の直線を検出してもよい。 When calculating the score accumulation value, the detection control unit 74 excludes the measurement points M that are a specified distance or more behind the straight line candidate from the score accumulation value. "Excluding from the score accumulation value" means that the measurement points M are essentially excluded from the score accumulation value, and may be assigned a score of zero or may not be assigned a score to the measurement points M. In the example shown in FIG. 10, a score of zero is assigned to the measurement points M that are a specified distance or more behind the straight line candidate. When such a score accumulation value calculation method is adopted, in the example shown in FIG. 9, the straight line candidate L1 is selected as the straight line L0 line. The detection control unit 74 may detect multiple straight lines with high priorities indicated by the score accumulation value.

(直線Lの検出)
検出制御部74は、目標物Pの幅方向における両端点の位置を特定し、直線L0を両端点で区切った線分を、直線Lとして検出する。具体的には、検出制御部74は、直線L0から一以上の線分を抽出し、抽出した一以上の線分の中から設計情報から定まる目標物Pの両端の長さに対応する両端長さを有する一つの線分又は二以上の線分の組み合わせを探索する。「対応する長さ」とは、許容誤差の範囲内の長さを意味する。目標物Pの設計情報は、目標物Pの寸法(例えば、両端の長さ、開口PBの位置及び間隔等)を示す情報であり、例えば、制御装置28の記憶部62から読み出される。検出制御部74は、見つかった線分又は二以上の線分の組み合わせを、直線Lとする。
(Detection of line L)
The detection control unit 74 identifies the positions of both ends of the target P in the width direction, and detects the line segment that divides the straight line L0 at both ends as the straight line L. Specifically, the detection control unit 74 extracts one or more line segments from the straight line L0, and searches for one line segment or a combination of two or more line segments having both end lengths corresponding to the both end lengths of the target P determined from the design information from among the extracted one or more line segments. The "corresponding length" means a length within the range of the allowable error. The design information of the target P is information indicating the dimensions of the target P (e.g., the length of both ends, the position and interval of the opening PB, etc.), and is read out from, for example, the storage unit 62 of the control device 28. The detection control unit 74 regards the found line segment or combination of two or more line segments as the straight line L.

図11は、直線の検出の一例を説明する模式図である。図11に示すように、例えば、検出制御部74は、選択した直線L0から3つの線分(丸で囲まれた計測点M)を抽出し、目標物Pの両端の長さに対応する両端長さWDを有する一つの線分又は二以上の線分の組み合わせを探索する。図11に示す例では、探索の結果、3つの線分の組み合わせの両端長さが検出されており、直線L0に沿った、両端長さWDの線分が、直線Lとして検出されるといえる。 Figure 11 is a schematic diagram illustrating an example of line detection. As shown in Figure 11, for example, the detection control unit 74 extracts three line segments (measurement points M surrounded by circles) from the selected line L0, and searches for one line segment or a combination of two or more line segments having a double-end length WD that corresponds to the length of both ends of the target P. In the example shown in Figure 11, the double-end lengths of the combination of three line segments are detected as a result of the search, and it can be said that the line segment with double-end length WD along the line L0 is detected as the line L.

(直線Lに基づく点群の抽出)
検出制御部74は、以上のようにして検出した直線Lと計測点Mとの位置関係に基づき、入射角θに基づいて選択された計測点Mのうちから、点群重畳部76によって重畳される計測点Mを抽出する。例えば、検出制御部74は、直線Lに対して所定の距離範囲内にある計測点Mを、点群重畳部76によって重畳される計測点Mとして抽出してよい。このように直線Lと計測点Mとの位置関係に基づき計測点Mを抽出することで、目標物Pの前面Paに対応しない計測点Mを除去し、目標物Pの前面Paに対応する計測点Mを適切に抽出して、目標物Pの位置及び姿勢の検出精度を向上させることができる。また、検出制御部74は、目標物Pの設計情報などから取得された目標物Pの前面Paにおける柱PAや開口PBの相対位置に基づき、開口PBの位置にある推定される計測点Mを除外して、柱PAの位置にあると推定される計測点Mを抽出してもよい。
(Extraction of points based on straight line L)
The detection control unit 74 extracts the measurement points M to be superimposed by the point cloud superimposition unit 76 from among the measurement points M selected based on the incident angle θ based on the positional relationship between the straight line L and the measurement points M detected as described above. For example, the detection control unit 74 may extract the measurement points M within a predetermined distance range from the straight line L as the measurement points M to be superimposed by the point cloud superimposition unit 76. By extracting the measurement points M based on the positional relationship between the straight line L and the measurement points M in this way, the measurement points M that do not correspond to the front surface Pa of the target P can be removed, and the measurement points M that correspond to the front surface Pa of the target P can be appropriately extracted, thereby improving the detection accuracy of the position and orientation of the target P. In addition, the detection control unit 74 may extract the measurement points M estimated to be at the position of the pillar PA, excluding the measurement points M estimated to be at the position of the opening PB, based on the relative positions of the pillar PA and the opening PB on the front surface Pa of the target P acquired from the design information of the target P, etc.

なお、以上の説明では、検出制御部74は、センサ26による1回の検出により取得した点群M0を用いて直線Lを検出していたが、それに限られず、センサ26による複数回の検出により取得した点群M0を用いて直線Lを検出してもよい。すなわち、検出制御部74は、少なくとも1回の検出によって取得された点群M0に基づき、直線Lを検出してもよい。また、直線Lの検出方法は、以上の方法に限られず。任意の方法を用いてもよい。 In the above description, the detection control unit 74 detects the straight line L using the point cloud M0 acquired by one detection by the sensor 26, but this is not limited thereto, and the straight line L may be detected using the point cloud M0 acquired by multiple detections by the sensor 26. In other words, the detection control unit 74 may detect the straight line L based on the point cloud M0 acquired by at least one detection. Furthermore, the method of detecting the straight line L is not limited to the above method. Any method may be used.

また、計測点Mを抽出する方法は、上記のように直線Lを用いることに限られず、検出制御部74は、任意の方法で計測点Mを抽出してもよい。さらに言えば、計測点Mを抽出する処理自体も必須ではなく、入射角θに基づいて選択された計測点Mの全てを、点群重畳部76によって重畳される計測点Mとしてもよい。 The method of extracting the measurement points M is not limited to using the straight line L as described above, and the detection control unit 74 may extract the measurement points M by any method. Furthermore, the process of extracting the measurement points M itself is not essential, and all of the measurement points M selected based on the incident angle θ may be the measurement points M superimposed by the point cloud superimposition unit 76.

(複数回の検出)
検出制御部74は、移動体10が第1パスR1(検出軌道R1a)を移動中に、センサ26に、目標物Pの前面Paの検出を、複数回行わせる。言い換えれば、検出制御部74は、移動体10が第1パスR1(検出軌道R1a)を移動中に、センサ26に、目標物Pの前面Paへのレーザ光LTのスキャンを、複数回行わせる。検出制御部74は、センサ26による複数回の検出結果を、点群M0として取得する。検出制御部74は、センサ26の検出結果毎に(センサ26が検出する度に)、以上で説明した、計測点Mを取得、選択、及び抽出する処理を、実行する。
(Multiple detections)
The detection control unit 74 causes the sensor 26 to detect the front surface Pa of the target P multiple times while the moving body 10 is moving on the first path R1 (detection trajectory R1a). In other words, the detection control unit 74 causes the sensor 26 to scan the front surface Pa of the target P with the laser light LT multiple times while the moving body 10 is moving on the first path R1 (detection trajectory R1a). The detection control unit 74 acquires the multiple detection results by the sensor 26 as a point cloud M0. For each detection result of the sensor 26 (each time the sensor 26 detects), the detection control unit 74 executes the above-described process of acquiring, selecting, and extracting the measurement point M.

このように、本実施形態では、第1パスR1を移動中に、センサ26に複数回の検出を行わせるものである。すなわち、検出制御部74は、第1パスR1上での移動体10の位置毎にセンサ26に検出を行わせるため、各検出結果が取得された際の移動体10の位置は、互いに異なる。ただし、センサ26に検出させるタイミングは、第1パスR1を移動中であることに限られない。例えば、移動体10を停止させた状態でセンサ26に検出を行わせてもよい。また、検出制御部74は、1つのセンサ26に複数回の検出を行わせることに限られず、複数のセンサ26に同じ目標物Pを検出させることで、センサ26の複数回の検出結果を取得して点群M0としてもよい。 In this manner, in this embodiment, the sensor 26 performs detection multiple times while moving on the first path R1. That is, the detection control unit 74 causes the sensor 26 to perform detection for each position of the moving body 10 on the first path R1, so the positions of the moving body 10 when each detection result is obtained are different from each other. However, the timing at which the sensor 26 is caused to perform detection is not limited to when the moving body 10 is moving on the first path R1. For example, the sensor 26 may perform detection when the moving body 10 is stopped. Furthermore, the detection control unit 74 is not limited to causing one sensor 26 to perform detection multiple times, and may cause multiple sensors 26 to detect the same target P, thereby obtaining multiple detection results of the sensor 26 and forming the point cloud M0.

(点群の重畳)
図12は、点群の重畳の具体例を説明するための模式図である。図12に示すように、点群重畳部76は、検出制御部74によって抽出された計測点M(点群M0)を、同一の座標系で重畳する。言い換えれば、点群重畳部76は、センサ26による複数回の検出結果に対応する計測点Mのうちで、検出制御部74によって抽出された計測点Mの、同一の座標系における位置(座標)の情報を取得する。本実施形態における同一の座標系とは、方向X及び方向Yの二次元座標系COであり、設備Wにおける座標系であるともいえる。すなわち、点群重畳部76は、検出制御部74によって抽出されたそれぞれの計測点Mを、二次元座標系COで重畳する(二次元座標系CO上でプロットする)。なお、計測点Mが二次元座標系COでの位置として算出される場合には、それぞれの計測点Mの座標系が共通するため、点群重畳部76は、それぞれの計測点Mに対して座標系の変換処理を行うことなく、それぞれの計測点Mの二次元座標系COでの位置の情報を取得できる。ただし例えば、それぞれの計測点Mが、移動体10を基準とした座標系など、同一の座標系における位置として算出されていない場合には、点群重畳部76は、計測点Mが検出された際の移動体10の二次元座標系COでの位置に基づき、それぞれの計測点Mの座標変換を行って、二次元座標系COでの計測点Mの位置を算出する。なお、それぞれの計測点Mを重畳する座標系は、二次元座標系COに限られず、例えば三次元座標系などであってもよい。
(Point cloud superposition)
FIG. 12 is a schematic diagram for explaining a specific example of superimposition of point clouds. As shown in FIG. 12, the point cloud superimposition unit 76 superimposes the measurement points M (point cloud M0) extracted by the detection control unit 74 in the same coordinate system. In other words, the point cloud superimposition unit 76 acquires information on the positions (coordinates) in the same coordinate system of the measurement points M extracted by the detection control unit 74 among the measurement points M corresponding to the multiple detection results by the sensor 26. The same coordinate system in this embodiment is a two-dimensional coordinate system CO in the direction X and the direction Y, and can also be said to be a coordinate system in the equipment W. That is, the point cloud superimposition unit 76 superimposes each measurement point M extracted by the detection control unit 74 in the two-dimensional coordinate system CO (plots on the two-dimensional coordinate system CO). Note that when the measurement points M are calculated as positions in the two-dimensional coordinate system CO, the coordinate systems of the respective measurement points M are common, so that the point cloud superimposition unit 76 can acquire information on the positions of the respective measurement points M in the two-dimensional coordinate system CO without performing a coordinate system conversion process for each measurement point M. However, for example, when each measurement point M is not calculated as a position in the same coordinate system, such as a coordinate system based on the moving body 10, the point cloud superimposition unit 76 performs coordinate conversion of each measurement point M based on the position in the two-dimensional coordinate system CO of the moving body 10 when the measurement point M is detected, and calculates the position of the measurement point M in the two-dimensional coordinate system CO. Note that the coordinate system on which each measurement point M is superimposed is not limited to the two-dimensional coordinate system CO, and may be, for example, a three-dimensional coordinate system.

(目標物の位置及び姿勢の特定)
目標物情報取得部78は、点群重畳部76によって二次元座標系COで重畳された各計測点M(点群M0)の位置に基づき、目標物Pの位置及び姿勢を特定する。以下、重畳された計測点Mに基づく目標物Pの位置及び姿勢の特定方法の具体例を説明する。
(Determining the target position and attitude)
The target information acquisition unit 78 specifies the position and orientation of the target P based on the positions of the measurement points M (point cloud M0) superimposed on the two-dimensional coordinate system CO by the point cloud superimposition unit 76. A specific example of a method for specifying the position and orientation of the target P based on the superimposed measurement points M will be described below.

(近似線の算出)
図13は、近似線の一例を示す模式図である。本実施形態では、目標物情報取得部78は、重畳された各計測点Mの近似線N(二次元座標系COでの近似線Nの位置及び姿勢)を算出し、近似線Nに基づき、目標物Pの位置及び姿勢を特定する。図13に示すように、近似線Nは、重畳された各計測点Mの近似線であり、センサ26による複数の検出結果に対応する各計測点Mの近似線であるといえる。本実施形態においては、目標物情報取得部78は、重畳された各計測点Mに対して最小二乗法によって直線フィッティングを行うことで、近似線Nを算出する。ただし、近似線Nの算出方法は、最小二乗法に限られず、任意の方法を用いてよい。例えば、センサ26による最初の検出で取得された点群M0に基づき算出した直線Lを近似線Nとしてもよいし、重畳された各計測点Mを用いて、RANSACを用いて直線を複数生成し、それぞれの直線の傾き分布から、前面Paに近い直線を、近似線Nとしてよい。なお、RANSACを用いた直線の生成方法は、上述の直線候補の生成方法と同様としてよい。また、本実施形態では、目標物Pの前面Paが平面状であるため、近似線Nを直線として算出するが、近似線は直線であることに限られない。例えば前面Paが曲面であることが既知である場合などには、それに合わせて、近似線Nを曲線として算出してもよい。
(Calculation of the approximation line)
FIG. 13 is a schematic diagram showing an example of an approximation line. In this embodiment, the target information acquisition unit 78 calculates an approximation line N (the position and orientation of the approximation line N in the two-dimensional coordinate system CO) of each superimposed measurement point M, and specifies the position and orientation of the target P based on the approximation line N. As shown in FIG. 13, the approximation line N is an approximation line of each superimposed measurement point M, and can be said to be an approximation line of each measurement point M corresponding to a plurality of detection results by the sensor 26. In this embodiment, the target information acquisition unit 78 calculates the approximation line N by performing straight line fitting to each superimposed measurement point M by the least squares method. However, the calculation method of the approximation line N is not limited to the least squares method, and any method may be used. For example, the straight line L calculated based on the point group M0 acquired by the first detection by the sensor 26 may be used as the approximation line N, or multiple straight lines may be generated using RANSAC using each superimposed measurement point M, and a straight line close to the front surface Pa may be used as the approximation line N from the gradient distribution of each straight line. The method of generating a straight line using RANSAC may be the same as the method of generating a straight line candidate described above. In this embodiment, the front surface Pa of the target P is flat, so the approximation line N is calculated as a straight line, but the approximation line is not limited to being a straight line. For example, when it is known that the front surface Pa is a curved surface, the approximation line N may be calculated as a curved line accordingly.

(計測点の射影)
図14は、近似線に射影された計測点の一例を示す模式図である。目標物情報取得部78は、重畳された各計測点M(点群M0)を、近似線N上に射影することで、図14の例に示すように、二次元座標系COの計測点Mを近似線Nの座標系の計測点MAに変換する。言い換えれば、計測点MAは、二次元座標系COにおける計測点Mが、射影変換によって近似線Nの座標系となったものといえる。なお、近似線Nの座標系は、一次元の座標であり、近似線Nの座標系における計測点MAは、近似線Nに沿った方向における計測点の位置を指す。例えば、目標物情報取得部78は、近似線Nに対して計測点Mから垂線を引いて、垂線と近似線Nとの交点を、計測点MAとしてよい。
(Projection of measurement points)
14 is a schematic diagram showing an example of measurement points projected onto an approximation line. The target information acquisition unit 78 converts the measurement point M in the two-dimensional coordinate system CO into a measurement point MA in the coordinate system of the approximation line N as shown in the example of FIG. 14 by projecting each of the superimposed measurement points M (point group M0) onto the approximation line N. In other words, the measurement point MA can be said to be the measurement point M in the two-dimensional coordinate system CO that has been transformed into the coordinate system of the approximation line N by projective transformation. Note that the coordinate system of the approximation line N is a one-dimensional coordinate, and the measurement point MA in the coordinate system of the approximation line N indicates the position of the measurement point in the direction along the approximation line N. For example, the target information acquisition unit 78 may draw a perpendicular line from the measurement point M to the approximation line N, and the intersection of the perpendicular line and the approximation line N may be the measurement point MA.

本実施形態では、目標物情報取得部78は、近似線Nに基づき、目標物Pの姿勢を特定し、近似線Nの座標系における計測点MA(点群)の位置に基づき、目標物Pの位置を特定する。より詳しくは、目標物情報取得部78は、それぞれの計測点MAの位置に基づき位置毎の計測点MAの数を算出して、位置毎の計測点MAの数に基づいて計測点MAをクラスタリングすることで、目標物Pの位置を特定する。以下、この処理の具体例について説明する。 In this embodiment, the target information acquisition unit 78 identifies the orientation of the target P based on the approximation line N, and identifies the position of the target P based on the positions of the measurement points MA (point cloud) in the coordinate system of the approximation line N. More specifically, the target information acquisition unit 78 calculates the number of measurement points MA for each position based on the position of each measurement point MA, and clusters the measurement points MA based on the number of measurement points MA for each position to identify the position of the target P. A specific example of this process is described below.

(位置毎の計測点の数の算出)
図15は、計測点のヒストグラムの一例を示す模式図である。目標物情報取得部78は、近似線Nの座標系の計測点MAに基づき、近似線Nの座標系における位置毎の計測点MAの数を算出する。例えば、目標物情報取得部78は、近似線Nの座標系を複数の単位範囲に区分して、それぞれの計測点MAを、いずれかの単位範囲に割り当てる。すなわち、目標物情報取得部78は、近似線Nの座標系における計測点MAの位置を範囲に含む単位範囲に、その計測点MAを割り当てる。目標物情報取得部78は、計測点MAを単位範囲に割り当てる処理を計測点MA毎に実行して、単位範囲毎の計測点MAの数を算出する。図14は、単位範囲毎の計測点MAの数の一例を示すヒストグラムである。目標物情報取得部78は、図15に示すような、近似線Nの座標系における単位範囲毎の計測点MAの数を示すヒストグラムを生成してもよい。
(Calculation of the number of measurement points per position)
FIG. 15 is a schematic diagram showing an example of a histogram of measurement points. Based on the measurement points MA in the coordinate system of the approximation line N, the target information acquisition unit 78 calculates the number of measurement points MA for each position in the coordinate system of the approximation line N. For example, the target information acquisition unit 78 divides the coordinate system of the approximation line N into a plurality of unit ranges and assigns each measurement point MA to one of the unit ranges. That is, the target information acquisition unit 78 assigns the measurement point MA to a unit range that includes the position of the measurement point MA in the coordinate system of the approximation line N. The target information acquisition unit 78 executes a process of assigning the measurement point MA to a unit range for each measurement point MA, and calculates the number of measurement points MA for each unit range. FIG. 14 is a histogram showing an example of the number of measurement points MA for each unit range. The target information acquisition unit 78 may generate a histogram showing the number of measurement points MA for each unit range in the coordinate system of the approximation line N, as shown in FIG. 15.

(計測点のクラスタリング)
目標物情報取得部78は、近似線Nの座標系における位置毎の計測点MAの数に基づき、近似線Nの座標系の計測点MAを、目標物Pの柱PAの個数分にクラスタリング(分類)することで、柱PAの個数分のクラスタ(計測点MAの集合)を生成する。すなわち、目標物情報取得部78は、近似線Nの座標系における位置毎の計測点MAの数に基づき、計測点MAが目標物Pのどの柱PAの位置を示す計測点であるかを特定する。具体的には、目標物情報取得部78は、計測点MAの数が所定数以上となる単位範囲を含む範囲RAを、前面Paの柱PAの個数分、抽出する。そして、目標物情報取得部78は、同じ範囲RAに含まれる計測点MAを、同じクラスタとする。さらにいえば、ここでの範囲RAは、その範囲RAに含まれている単位範囲の全てにおいて計測点MAの数が所定数以上となる、近似線Nの座標系における範囲(区間)を指すことが好ましい。この場合、範囲RA同士は重ならないものとする。また、ここでの所定数は、任意に設定してよいが、例えば単位範囲毎の計測点MAの数の最大値に基づき決定してよく、例えば最大値の1/3を所定数として設定してよい。
(Clustering of measurement points)
Based on the number of measurement points MA for each position in the coordinate system of the approximation line N, the target information acquisition unit 78 clusters (classifies) the measurement points MA in the coordinate system of the approximation line N into the number of pillars PA of the target P, thereby generating clusters (a set of measurement points MA) for the number of pillars PA. That is, based on the number of measurement points MA for each position in the coordinate system of the approximation line N, the target information acquisition unit 78 specifies which measurement point MA indicates the position of which pillar PA of the target P. Specifically, the target information acquisition unit 78 extracts ranges RA including unit ranges in which the number of measurement points MA is equal to or greater than a predetermined number, the number of ranges being equal to the number of pillars PA on the front surface Pa. Then, the target information acquisition unit 78 classifies the measurement points MA included in the same range RA into the same cluster. Furthermore, the range RA here preferably refers to a range (section) in the coordinate system of the approximation line N in which the number of measurement points MA is equal to or greater than a predetermined number in all unit ranges included in the range RA. In this case, the ranges RA do not overlap with each other. The predetermined number here may be set arbitrarily, but may be determined based on the maximum number of measurement points MA per unit range, for example, and may be set to, for example, 1/3 of the maximum value as the predetermined number.

本実施形態の例では、目標物Pは、図12に示すように、前面Paの柱PAとして、幅方向(図12の例ではY方向)における中央の柱PA1と、幅方向において柱PA1の一方側にある柱PA2と、柱PA1の他方側にある柱PA3との3つを有している。そのため、本実施形態の例では、目標物情報取得部78は、図15に示すように、計測点MAの数が所定数以上となる範囲RAとして、範囲RA1、RA2、RA3の3つを抽出する。そして、目標物情報取得部78は、近似線Nの座標系において中央に位置する範囲RA1に含まれる計測点MAを、柱PA1に対応する計測点としてクラスタリングし、範囲RA1の一方側にある範囲RA2に含まれる計測点MAを、柱PA2に対応する計測点としてクラスタリングし、範囲RA1の他方側にある範囲RA3に含まれる計測点MAを、柱PA3に対応する計測点としてクラスタリングする。ただし、柱PAの数は3つに限られず任意であり、クラスタの数は、柱PAの数に応じて決まる。また、計測点MAをクラスタリングする方法は上記に限られず、任意の方法で行ってもよい。 In the example of this embodiment, as shown in FIG. 12, the target P has three pillars PA on the front surface Pa: a central pillar PA1 in the width direction (Y direction in the example of FIG. 12), a pillar PA2 on one side of the pillar PA1 in the width direction, and a pillar PA3 on the other side of the pillar PA1. Therefore, in the example of this embodiment, the target information acquisition unit 78 extracts three ranges RA1, RA2, and RA3 as ranges RA in which the number of measurement points MA is a predetermined number or more, as shown in FIG. 15. Then, the target information acquisition unit 78 clusters the measurement points MA included in the range RA1 located in the center in the coordinate system of the approximation line N as measurement points corresponding to the pillar PA1, clusters the measurement points MA included in the range RA2 on one side of the range RA1 as measurement points corresponding to the pillar PA2, and clusters the measurement points MA included in the range RA3 on the other side of the range RA1 as measurement points corresponding to the pillar PA3. However, the number of pillars PA is not limited to three and is arbitrary, and the number of clusters is determined according to the number of pillars PA. Furthermore, the method for clustering the measurement points MA is not limited to the above, and any method may be used.

(目標物の位置及び姿勢の特定)
図16は、目標物の位置の特定方法の一例を説明する模式図である。上述のように、目標物情報取得部78は、近似線Nに基づき、二次元座標系COにおける目標物Pの姿勢を特定する。例えば、目標物情報取得部78は、二次元座標系COにおける近似線Nの傾きを、目標物Pの姿勢とする。また、目標物情報取得部78は、クラスタリングされた計測点MAの位置に基づいて、二次元座標系COにおける目標物Pの位置を特定する。具体的には、目標物情報取得部78は、クラスタリングされた計測点MAの位置に基づいて、目標物Pの位置として、目標物Pの前面Paの両端点の位置を算出する。そして、目標物情報取得部78は、算出した両端点で近似線Nを区切った線分を、目標物Pの前面Paの位置及び姿勢として特定する。なお、前面Paの両端点とは、前面Paの幅方向における一方側の端点と他方側の端点とを指す。
(Determining the target position and attitude)
FIG. 16 is a schematic diagram for explaining an example of a method for identifying the position of a target object. As described above, the target information acquisition unit 78 identifies the orientation of the target object P in the two-dimensional coordinate system CO based on the approximation line N. For example, the target information acquisition unit 78 determines the inclination of the approximation line N in the two-dimensional coordinate system CO as the orientation of the target object P. The target information acquisition unit 78 also identifies the position of the target object P in the two-dimensional coordinate system CO based on the positions of the clustered measurement points MA. Specifically, the target information acquisition unit 78 calculates the positions of both end points of the front surface Pa of the target object P as the position of the target object P based on the positions of the clustered measurement points MA. Then, the target information acquisition unit 78 identifies the line segment dividing the approximation line N at the calculated both end points as the position and orientation of the front surface Pa of the target object P. Note that both end points of the front surface Pa refer to the end points on one side and the other side in the width direction of the front surface Pa.

本実施形態では、目標物情報取得部78は、クラスタ毎に基準位置Cを算出する。そして、目標物情報取得部78は、クラスタ毎の基準位置C同士の距離に基づいて、算出した基準位置Cを目標物Pの位置の特定に用いてよいかを判断する。クラスタは柱PA毎に分類されるため、基準位置Cは、それぞれの柱PAの位置に対応する位置といえる。目標物情報取得部78は、基準位置C同士の間の距離が所定の距離範囲内であるかを判断し、所定の距離範囲内である場合には、その基準位置Cを目標物Pの位置の特定に用いると判断する。この場合、目標物情報取得部78は、算出した基準位置Cに基づき、目標物Pの位置を特定する。例えば、目標物情報取得部78は、算出した基準位置Cのうちの少なくとも1つを用いて、目標物Pの前面Paの幅方向における中央位置を算出し、中央位置に基づき目標物Pの前面Paの両端点の位置を算出してよい。一方、基準位置C同士の間の距離が、所定の距離範囲の範囲外である場合には、すなわち、所定の距離範囲よりも短い距離である場合、又は所定の距離範囲よりも長い距離である場合には、その基準位置Cを目標物Pの位置の特定に用いないと判断する。この場合は、算出した基準位置Cを用いて目標物Pの位置の特定を行わず、例えば、センサ26による検出処理を再度行わせて、目標物Pの位置及び姿勢の特定処理をやり直す。なお、所定の距離範囲は、任意に設定されてよいが、例えば設計値における柱PAの中央位置同士の間の距離に、所定のマージンを持たせた数値範囲であってよい。 In this embodiment, the target information acquisition unit 78 calculates a reference position C for each cluster. Then, the target information acquisition unit 78 determines whether the calculated reference position C can be used to identify the position of the target P based on the distance between the reference positions C for each cluster. Since the clusters are classified by pillar PA, the reference position C can be said to be a position corresponding to the position of each pillar PA. The target information acquisition unit 78 determines whether the distance between the reference positions C is within a predetermined distance range, and if it is within the predetermined distance range, determines that the reference position C is used to identify the position of the target P. In this case, the target information acquisition unit 78 identifies the position of the target P based on the calculated reference position C. For example, the target information acquisition unit 78 may use at least one of the calculated reference positions C to calculate the center position in the width direction of the front surface Pa of the target P, and calculate the positions of both end points of the front surface Pa of the target P based on the center position. On the other hand, if the distance between the reference positions C is outside the predetermined distance range, that is, if the distance is shorter than the predetermined distance range, or if the distance is longer than the predetermined distance range, it is determined that the reference position C is not used to identify the position of the target P. In this case, the calculated reference position C is not used to identify the position of the target P, and, for example, the detection process by the sensor 26 is performed again to redo the process of identifying the position and orientation of the target P. The predetermined distance range may be set arbitrarily, but may be, for example, a numerical range that includes a predetermined margin on the distance between the center positions of the pillars PA in the design value.

本実施形態の例では、目標物情報取得部78は、基準位置Cとして、それぞれのクラスタの計測点MAの重心の位置を算出する。目標物情報取得部78は、重心同士の間の距離が所定の距離範囲内であるかを判断し、所定の距離範囲内である場合には、その重心の位置を目標物Pの基準位置Cの特定に用いると判断する。そして、目標物情報取得部78は、算出した重心の位置に基づき、目標物Pの位置を特定する。図16の例では、柱PA1に対応するクラスタM0A1に含まれる計測点MAの重心が基準位置C1であり、柱PA2に対応するクラスタM0A2に含まれる計測点MAの重心が基準位置C2であり、柱PA3に対応するクラスタM0A3に含まれる計測点MAの重心が基準位置C3である。この場合、目標物情報取得部78は、基準位置C1と基準位置C2との距離と、基準位置C1と基準位置C3との距離とが、所定の距離範囲の範囲内であるかを判定する。目標物情報取得部78は、基準位置C1と基準位置C2との距離と、基準位置C1と基準位置C3との距離とが、所定の距離範囲の範囲内である場合には、基準位置C1を目標物Pの前面Paの中央位置として、目標物Pの位置を算出する。一方、基準位置C1と基準位置C2との距離と、基準位置C1と基準位置C3との距離との少なくとも一方が、所定の距離範囲の範囲外である場合には、算出した基準位置C1を用いて目標物Pの位置の特定を行わず、例えば、センサ26による検出処理を再度行わせて、目標物Pの位置及び姿勢の特定処理をやり直す。 In the example of this embodiment, the target information acquisition unit 78 calculates the position of the center of gravity of the measurement points MA of each cluster as the reference position C. The target information acquisition unit 78 judges whether the distance between the centers of gravity is within a predetermined distance range, and if it is within the predetermined distance range, judges that the position of the center of gravity is used to identify the reference position C of the target P. Then, the target information acquisition unit 78 identifies the position of the target P based on the calculated position of the center of gravity. In the example of FIG. 16, the center of gravity of the measurement points MA included in the cluster M0A1 corresponding to the pillar PA1 is the reference position C1, the center of gravity of the measurement points MA included in the cluster M0A2 corresponding to the pillar PA2 is the reference position C2, and the center of gravity of the measurement points MA included in the cluster M0A3 corresponding to the pillar PA3 is the reference position C3. In this case, the target information acquisition unit 78 judges whether the distance between the reference position C1 and the reference position C2 and the distance between the reference position C1 and the reference position C3 are within a predetermined distance range. If the distance between the reference position C1 and the reference position C2 and the distance between the reference position C1 and the reference position C3 are within a predetermined distance range, the target information acquisition unit 78 calculates the position of the target P by setting the reference position C1 as the center position of the front surface Pa of the target P. On the other hand, if at least one of the distance between the reference position C1 and the reference position C2 and the distance between the reference position C1 and the reference position C3 is outside the predetermined distance range, the calculated reference position C1 is not used to identify the position of the target P, and the target information acquisition unit 78 redoes the process of identifying the position and orientation of the target P, for example, by causing the sensor 26 to perform the detection process again.

なお、計測点MAは近似線Nの座標系における位置であるため、基準位置Cも近似線Nの座標系における位置として算出される。従って、目標物情報取得部78は、近似線Nの座標系における基準位置Cを、X方向及びY方向の二次元座標系COに変換して、目標物Pの中央位置としてよい。ただし、目標物情報取得部78は、それぞれのクラスタの計測点MAに対応する二次元座標系COにおける計測点Mを抽出し、抽出したクラスタ毎の計測点Mに基づき、二次元座標系COにおける目標物Pの基準位置Cを算出してもよい。この場合、目標物Pの基準位置Cが二次元座標系CO上の座標として算出されるため、その後の座標変換が不要となる。 Note that since the measurement point MA is a position in the coordinate system of the approximation line N, the reference position C is also calculated as a position in the coordinate system of the approximation line N. Therefore, the target information acquisition unit 78 may convert the reference position C in the coordinate system of the approximation line N into a two-dimensional coordinate system CO in the X and Y directions to determine the central position of the target P. However, the target information acquisition unit 78 may also extract measurement points M in the two-dimensional coordinate system CO corresponding to the measurement points MA of each cluster, and calculate the reference position C of the target P in the two-dimensional coordinate system CO based on the extracted measurement points M for each cluster. In this case, since the reference position C of the target P is calculated as a coordinate on the two-dimensional coordinate system CO, subsequent coordinate conversion is not necessary.

目標物情報取得部78は、以上のようにして、目標物Pの位置及び姿勢を特定する。ただし、目標物情報取得部78による目標物Pの位置及び姿勢の特定方法は以上の説明に限られず、目標物情報取得部78は、二次元座標系COで重畳された計測点M(点群M0)の位置に基づいて、任意の方法で、目標物Pの位置及び姿勢を特定してよい。 The target information acquisition unit 78 identifies the position and orientation of the target P in the manner described above. However, the method by which the target information acquisition unit 78 identifies the position and orientation of the target P is not limited to the above description, and the target information acquisition unit 78 may identify the position and orientation of the target P in any manner based on the positions of the measurement points M (point cloud M0) superimposed on the two-dimensional coordinate system CO.

(第2パスの設定)
図17は、第2パスに沿った移動の一例を示す模式図である。第2パス情報取得部80は、目標物情報取得部78が特定した目標物Pの位置及び姿勢から、目標位置A3を設定する。例えば、第2パス情報取得部80は、目標物Pの位置及び姿勢から、目標物Pをピックアップ可能な(直進することでフォーク24を目標物Pの開口PBに挿入することができる)位置及び姿勢を算出して、目標位置A3として設定する。一例として、開口PBの入口から、目標物Pの開口PBの軸方向に1000mm平行移動した箇所を、目標位置A3としてもよい。そして、第2パス情報取得部80は、図17に示すように、開始位置である第2位置A2から、設定した目標位置A3までの軌道を、第2パスR2として設定する。第2パス情報取得部80は、目標位置A3の情報に基づいて任意の方法で第2パスR2を設定してよいが、例えば、モデル予測制御(MPC:Model Predictive Control)によって、第2パスR2を算出してもよい。
(Second pass setting)
FIG. 17 is a schematic diagram showing an example of movement along the second path. The second path information acquisition unit 80 sets the target position A3 from the position and posture of the target P identified by the target information acquisition unit 78. For example, the second path information acquisition unit 80 calculates the position and posture at which the target P can be picked up (the fork 24 can be inserted into the opening PB of the target P by moving straight) from the position and posture of the target P, and sets it as the target position A3. As an example, a position moved 1000 mm in parallel from the entrance of the opening PB in the axial direction of the opening PB of the target P may be set as the target position A3. Then, as shown in FIG. 17, the second path information acquisition unit 80 sets the trajectory from the second position A2, which is the start position, to the set target position A3 as the second path R2. The second path information acquisition unit 80 may set the second path R2 by any method based on the information of the target position A3, but may also calculate the second path R2 by model predictive control (MPC), for example.

(第2パスに沿った移動)
移動制御部72は、第2位置A2から目標位置A3まで、第2パスR2を通るように、移動体10を移動させる。移動体10が目標位置A3に到着したら、移動制御部72は、目標位置A3から移動体10を直進させて、フォーク24を目標物Pの開口PBに挿入させて、目標物Pをピックアップさせる。移動制御部72は、目標物Pをピックアップした移動体10を、設定された搬送先まで搬送させる。
(Movement along the second path)
The movement control unit 72 moves the moving body 10 from the second position A2 to the target position A3, passing through the second path R2. When the moving body 10 arrives at the target position A3, the movement control unit 72 moves the moving body 10 straight from the target position A3 and inserts the fork 24 into the opening PB of the target object P to pick up the target object P. The movement control unit 72 transports the moving body 10, which has picked up the target object P, to a set destination.

このように、移動制御部72は、第2位置A2から目標位置A3まで、第2パスR2に沿って移動体10を移動させるが、それに限られず、例えば、第2パスR2に沿った移動と直接フィードバック制御による移動とを切り替えて、移動体10を目標位置A3まで移動させてもよい。直接フィードバックによる制御としては、例えば「尾里淳,丸典明 著「線形ビジュアルサーボによる全方向移動ロボットの位置と姿勢の制御」、日本機械学会論文集(C編)、第77巻、第774号、p.215-224、2011年2月25日」に記載されているような、ビジュアルサーボ方式による制御が挙げられる。また例えば、移動制御部72は、移動体10が第2パスR2に沿って目標位置A3に到着したら、直接フィードバックによる制御に切り替えて、目標物Pをピックアップするよう、移動体10を移動させてもよい。 In this way, the movement control unit 72 moves the moving body 10 along the second path R2 from the second position A2 to the target position A3, but is not limited thereto. For example, the moving body 10 may be moved to the target position A3 by switching between movement along the second path R2 and movement by direct feedback control. An example of control by direct feedback is control by visual servoing, as described in "Ozato Jun, Maru Noriaki, "Position and Posture Control of Omnidirectional Mobile Robot by Linear Visual Servoing," Transactions of the Japan Society of Mechanical Engineers (C), Vol. 77, No. 774, pp. 215-224, February 25, 2011." Also, for example, when the moving body 10 arrives at the target position A3 along the second path R2, the movement control unit 72 may switch to control by direct feedback and move the moving body 10 to pick up the target object P.

(目標物の位置及び姿勢検出の処理フロー)
次に、以上説明した目標物Pの位置及び姿勢検出についての、処理フローを説明する。図18は、目標物の位置及び姿勢検出の処理フローを説明するフローチャートである。制御装置28の検出制御部74は、移動体10が第1パスR1に沿って第1位置A1から第2位置A2までの間を移動中に、センサ26に目標物Pを複数回検出させる。すなわち本実施形態では、第1パスR1に沿って移動させつつ、センサ26に目標物Pを検出させる。図18に示すように、検出制御部74は、センサ26による検出結果から、点群M0(計測点M)を取得する(ステップS10)。そして、検出制御部74は、今回の検出以外の検出によって取得済みの計測点Mがあるかを、すなわち本実施形態では点群重畳部76によって重畳された計測点Mがあるかを、判断する(ステップS12)。重畳された計測点Mがある場合には(ステップS12;Yes)、検出制御部74は、重畳された計測点Mの近似線Kを算出し(ステップS14)、計測点M毎に入射角θを算出し(ステップS16)、入射角θに基づき、今回の検出で取得した計測点Mのうちから、計測点Mを選択する(ステップS18)。
(Processing flow for detecting the position and attitude of a target object)
Next, a process flow for detecting the position and attitude of the target P described above will be described. FIG. 18 is a flowchart for explaining a process flow for detecting the position and attitude of the target. The detection control unit 74 of the control device 28 causes the sensor 26 to detect the target P multiple times while the moving body 10 moves along the first path R1 from the first position A1 to the second position A2. That is, in this embodiment, the sensor 26 detects the target P while moving along the first path R1. As shown in FIG. 18, the detection control unit 74 acquires a point cloud M0 (measurement points M) from the detection result by the sensor 26 (step S10). Then, the detection control unit 74 determines whether there are any measurement points M that have been acquired by detection other than the current detection, that is, whether there are any measurement points M superimposed by the point cloud superimposition unit 76 in this embodiment (step S12). If there are superimposed measurement points M (step S12; Yes), the detection control unit 74 calculates an approximation line K of the superimposed measurement points M (step S14), calculates the incidence angle θ for each measurement point M (step S16), and selects a measurement point M from the measurement points M obtained in this detection based on the incidence angle θ (step S18).

そして、検出制御部74は、選択した点群M0に基づいて、目標物Pの前面Paに対応する直線Lを算出する(ステップS20)。本実施形態では、検出制御部74は、計測点Mから直線候補を検出し、スコア積算値に基づいて直線L0を算出する。そして、検出制御部74は、目標物Pの幅方向における両端点の位置を特定し、直線L0を両端点で区切った線分を、直線Lとして検出する。なお、両端点の特定ができなかった場合には、計測点Mの抽出及び重畳を行うことなく、後述のステップS18に移動してよい。直線Lを検出したら、検出制御部74は、直線Lに基づき、取得した計測点Mのうちから、一部の計測点Mを抽出する(ステップS22)。本実施形態では、検出制御部74は、計測点Mと直線Lとの位置関係に基づき、計測点Mを抽出する。なお、重畳された計測点Mが無い場合には(ステップS12;No)、すなわち今回の検出以外の検出によって取得済みの計測点Mが無い場合には、計測点Mの選択を行うことなくステップS20に進み、今回の検出で取得された計測点Mを用いて、直線Lを算出して計測点Mを抽出する処理を行う。 Then, the detection control unit 74 calculates a straight line L corresponding to the front surface Pa of the target P based on the selected point group M0 (step S20). In this embodiment, the detection control unit 74 detects straight line candidates from the measurement points M and calculates the straight line L0 based on the score accumulation value. Then, the detection control unit 74 identifies the positions of both end points in the width direction of the target P and detects the line segment dividing the straight line L0 at both end points as the straight line L. If both end points cannot be identified, the process may proceed to step S18 described later without extracting and superimposing the measurement points M. After detecting the straight line L, the detection control unit 74 extracts some of the measurement points M from the acquired measurement points M based on the straight line L (step S22). In this embodiment, the detection control unit 74 extracts the measurement points M based on the positional relationship between the measurement points M and the straight line L. If there are no superimposed measurement points M (step S12; No), i.e., if there are no measurement points M obtained by detection other than the current detection, the process proceeds to step S20 without selecting a measurement point M, and the measurement points M obtained in the current detection are used to calculate a straight line L and extract the measurement points M.

制御装置28の点群重畳部76は、検出制御部74によって抽出された計測点Mを、同一の座標系(ここでは二次元座標系CO)で重畳する(ステップS24)。なお、ステップS24においては、センサ26が前回検出してから今回検出するまでの移動体10の移動距離が、所定距離以上である場合に、計測点Mを重畳し、所定距離未満である場合には、計測点Mを重畳することなく、後述のステップS26に進んでもよい。移動距離は任意の方法で取得してよいが、例えば、センサ26が前回検出を行った際の移動体10の位置と、今回検出した際の移動体10の位置とから、センサ26が前回検出してから今回検出するまでの移動距離を算出することで、取得されてよい。 The point cloud superimposition unit 76 of the control device 28 superimposes the measurement points M extracted by the detection control unit 74 in the same coordinate system (here, the two-dimensional coordinate system CO) (step S24). In step S24, if the movement distance of the moving body 10 from the previous detection by the sensor 26 to the current detection is equal to or greater than a predetermined distance, the measurement points M are superimposed, and if the movement distance is less than the predetermined distance, the process may proceed to step S26 described below without superimposing the measurement points M. The movement distance may be obtained by any method, but may be obtained, for example, by calculating the movement distance from the previous detection by the sensor 26 to the current detection from the position of the moving body 10 when the sensor 26 performed the previous detection and the position of the moving body 10 when the sensor 26 performed the current detection.

点群重畳部76は、同一の座標系で重畳された計測点Mの数が十分であるかを判定し(ステップS26)、十分であると判定しない場合には(ステップS26;No)、すなわち計測点Mの数が十分ではないと判定した場合には、ステップS10に戻り、センサ26による他の検出結果(他のスキャンによる検出結果)による点群M0を取得させることで、点群M0の取得を繰り返す。このように計測点Mの数が十分となるまでセンサ26の検出を繰り返させることで、点群重畳部76は、センサ26の複数の検出結果に対応する十分な数の計測点Mを、同一の座標系で重畳することができる。なお、計測点Mの数が十分であるかの判定は、任意の方法で行ってよい。例えば、点群重畳部76は、計測点Mの数が閾値以上であるかを判定基準としてよい。この場合例えば、点群重畳部76は、重畳された計測点Mの数が閾値以上である場合には、計測点Mの数が十分であると判定し、閾値未満である場合には、計測点Mの数が十分でないと判定する。この場合の閾値は任意の数に設定されていてよいが、例えば1回の検出(スキャン)で抽出される一般的な計測点Mの数より多い数として、設定されることが好ましい。また例えば、点群重畳部76は、センサ26による検出の回数(スキャンの回数)を判定基準としてよい。この場合例えば、点群重畳部76は、センサ26による検出の回数が所定回数以上である場合には、計測点Mの数が十分であると判定し、所定回数未満である場合には、計測点Mの数が十分でないと判定する。ここでの所定回数は、例えば、2回以上の任意の回数として設定されてよい。 The point cloud superimposition unit 76 determines whether the number of measurement points M superimposed in the same coordinate system is sufficient (step S26), and if it is not determined that the number is sufficient (step S26; No), that is, if it is determined that the number of measurement points M is not sufficient, the process returns to step S10, and the point cloud M0 is acquired by another detection result (detection result by another scan) by the sensor 26, thereby repeating the acquisition of the point cloud M0. By repeating the detection of the sensor 26 in this way until the number of measurement points M becomes sufficient, the point cloud superimposition unit 76 can superimpose a sufficient number of measurement points M corresponding to the multiple detection results of the sensor 26 in the same coordinate system. Note that the determination of whether the number of measurement points M is sufficient may be performed by any method. For example, the point cloud superimposition unit 76 may use as a determination criterion whether the number of measurement points M is equal to or greater than a threshold. In this case, for example, if the number of superimposed measurement points M is equal to or greater than a threshold, the point cloud superimposition unit 76 determines that the number of measurement points M is sufficient, and if the number is less than the threshold, determines that the number of measurement points M is not sufficient. In this case, the threshold value may be set to any number, but is preferably set to a number greater than the number of typical measurement points M extracted in one detection (scan). Also, for example, the point cloud superimposition unit 76 may use the number of detections (number of scans) by the sensor 26 as a judgment criterion. In this case, for example, if the number of detections by the sensor 26 is equal to or greater than a predetermined number, the point cloud superimposition unit 76 judges that the number of measurement points M is sufficient, and if the number is less than the predetermined number, it judges that the number of measurement points M is insufficient. The predetermined number here may be set to any number greater than or equal to two, for example.

なお、本実施形態では、センサ26が1回検出する度に、計測点Mを取得、選択、抽出、及び重畳する処理を行って、ステップS26で十分な数の計測点Mが重畳されたかを判断するが、それに限られない。例えば、センサ26が任意の複数回検出してから、計測点Mを取得、選択、抽出、及び重畳する処理を行って、ステップS26で十分な数の計測点Mが重畳されたかを判断してもよい。 In this embodiment, each time the sensor 26 detects once, the process of acquiring, selecting, extracting, and superimposing the measurement points M is performed, and in step S26, it is determined whether a sufficient number of measurement points M have been superimposed, but this is not limited to the above. For example, the process of acquiring, selecting, extracting, and superimposing the measurement points M may be performed after the sensor 26 detects any number of times, and in step S26, it may be determined whether a sufficient number of measurement points M have been superimposed.

計測点Mの数が十分であると判定された場合(ステップS26;Yes)、制御装置28の目標物情報取得部78は、点群重畳部76によって重畳された各計測点M(点群M0)の位置に基づき、重畳された計測点Mの近似線Nを算出する(ステップS28)。目標物情報取得部78は、点群重畳部76によって重畳された各計測点Mを、近似線Nの座標系に変換して(ステップS30)、近似線Nの座標系の計測点MAを取得する。そして、目標物情報取得部78は、計測点MAをクラスタリングして、基準位置Cを算出する(ステップS32)。本実施形態では、目標物情報取得部78は、計測点MAをクラスタ毎に分類して、クラスタ毎に基準位置Cを算出する。そして、目標物情報取得部78は、基準位置C同士の距離が所定の距離範囲内であるかを判断して(ステップS34)、所定の距離範囲内にない場合には(ステップS34;No)、ステップS10に戻る。また、クラスタリングが実行できない場合にも(例えば柱PAの個数分のクラスタに分類することができない場合にも)、ステップS10に戻ってよい。 If it is determined that the number of measurement points M is sufficient (step S26; Yes), the target information acquisition unit 78 of the control device 28 calculates an approximation line N of the superimposed measurement points M based on the positions of each measurement point M (point cloud M0) superimposed by the point cloud superimposition unit 76 (step S28). The target information acquisition unit 78 converts each measurement point M superimposed by the point cloud superimposition unit 76 into the coordinate system of the approximation line N (step S30) and acquires the measurement points MA in the coordinate system of the approximation line N. Then, the target information acquisition unit 78 clusters the measurement points MA and calculates the reference position C (step S32). In this embodiment, the target information acquisition unit 78 classifies the measurement points MA by cluster and calculates the reference position C for each cluster. Then, the target information acquisition unit 78 determines whether the distance between the reference positions C is within a predetermined distance range (step S34), and if it is not within the predetermined distance range (step S34; No), returns to step S10. Also, if clustering cannot be performed (for example, if classification into clusters equal to the number of pillars PA is not possible), you may return to step S10.

基準位置C同士の距離が所定の距離範囲内である場合には(ステップS34;Yes)、目標物情報取得部78は、近似線Nと基準位置Cとに基づき、目標物Pの位置及び姿勢を特定する(ステップS36)。本実施形態では、目標物情報取得部78は、近似線Nに基づいて目標物Pの姿勢を特定し、基準位置Cに基づき、目標物Pの位置を特定する。具体的には、本実施形態の例では、目標物情報取得部78は、計測点MAのクラスタのそれぞれの重心を基準位置Cとして特定して、重心同士の距離を算出する。そして、重心同士の距離が所定の距離範囲内である場合には、目標物Pの基準位置Cと近似線Nとから、目標物Pの前面Paの両端点の位置を算出し、算出した両端点で近似線Nを区切った線分を、目標物Pの前面Paとして特定する。 If the distance between the reference positions C is within a predetermined distance range (step S34; Yes), the target information acquisition unit 78 identifies the position and orientation of the target P based on the approximation line N and the reference position C (step S36). In this embodiment, the target information acquisition unit 78 identifies the orientation of the target P based on the approximation line N, and identifies the position of the target P based on the reference position C. Specifically, in this embodiment, the target information acquisition unit 78 identifies the center of gravity of each cluster of measurement points MA as the reference position C and calculates the distance between the centers of gravity. Then, if the distance between the centers of gravity is within a predetermined distance range, the target information acquisition unit 78 calculates the positions of both end points of the front surface Pa of the target P from the reference position C of the target P and the approximation line N, and identifies the line segment dividing the approximation line N by the calculated end points as the front surface Pa of the target P.

ステップS36での目標物Pの位置及び姿勢の特定ができたら、制御装置28は、目標物Pの位置及び姿勢に基づいて第2パスR2を生成して、第2パスR2に沿って移動体10を移動させて、目標物Pの前面Paにアプローチさせる。 Once the position and orientation of the target P have been identified in step S36, the control device 28 generates a second path R2 based on the position and orientation of the target P, and moves the mobile body 10 along the second path R2 to approach the front surface Pa of the target P.

(効果)
以上説明したように、本実施形態に係る移動体10において、検出制御部74は、今回の検出以外の検出で取得された計測点Mに基づき近似線Kを算出し、近似線Kと移動体10の位置AR1と計測点Mの位置とに基づき、今回の検出におけるレーザ光LTの入射角θを算出する。そして、検出制御部74は、入射角θに基づき、目標物Pの位置及び姿勢の特定に用いる計測点Mを選択する。そのため、本実施形態によると、検出精度が低い計測点Mを除外して、検出精度が高い計測点Mを用いて、目標物Pの位置及び姿勢を特定することが可能となる。従って、本実施形態によると、目標物Pの検出精度の低下を好適に抑制できる。特に、光を照射して目標物Pを検出するタイプのセンサ26は、目標物Pへの光の入射角に応じて、検出精度が変化することが顕著である。それに対し、本実施形態のように、入射角θを推定して、それに基づき使用する計測点Mを選択することで、検出精度の低下を好適に抑制できる。
(effect)
As described above, in the moving body 10 according to this embodiment, the detection control unit 74 calculates the approximation line K based on the measurement points M acquired in detections other than the current detection, and calculates the incidence angle θ of the laser light LT in the current detection based on the approximation line K, the position AR1 of the moving body 10, and the position of the measurement points M. Then, the detection control unit 74 selects the measurement points M used to identify the position and orientation of the target P based on the incidence angle θ. Therefore, according to this embodiment, it is possible to exclude the measurement points M with low detection accuracy and use the measurement points M with high detection accuracy to identify the position and orientation of the target P. Therefore, according to this embodiment, the decrease in the detection accuracy of the target P can be suitably suppressed. In particular, it is remarkable that the detection accuracy of the sensor 26 that detects the target P by irradiating light changes depending on the incidence angle of the light to the target P. On the other hand, as in this embodiment, the incidence angle θ is estimated and the measurement points M to be used are selected based on the estimated incidence angle, thereby suitably suppressing the decrease in the detection accuracy.

なお、本実施形態では、移動体10の制御装置28が、近似線Kを算出し、入射角θを算出し、入射角θに基づいて計測点Mを選択し、選択した計測点Mに基づいて目標物Pの位置及び姿勢を特定していた。ただし、以上で説明した制御装置28が行う処理は、移動体10が実施することに限られず、例えば情報処理装置14などの他の装置がこれらの処理の少なくとも一部を実行して、移動体10は、その結果を取得するものであってもよい。すなわち例えば、移動体10の検出制御部74は、近似線Kの情報を取得するものであってよく、自身で近似線Kを算出してもよいし、算出された近似線Kの情報を外部の装置から取得してもよい。また例えば、移動体10の検出制御部74は、入射角θの情報を取得するものであってよく、自身で入射角θを算出してもよいし、入射角θの算出結果を外部の装置から取得してもよい。検出制御部74が外部の装置から入射角θの算出結果を取得する場合には、移動体10は、近似線Kを用いて演算する必要はないため、近似線Kの情報を取得する必要はないといえる。また例えば、移動体10の検出制御部74は、入射角θに基づき選択された計測点Mの情報を取得するものであってよく、自身で入射角θに基づき計測点Mを選択してもよいし、選択された計測点Mの情報を外部の装置から取得してもよい。検出制御部74が外部の装置から選択された計測点Mの情報を取得する場合には、移動体10は、入射角θに基づき計測点Mを選択する必要はないため、入射角θの情報を取得する必要はないといえる。また例えば、移動体10の目標物情報取得部78は、目標物Pの位置及び姿勢の情報を取得するものであってよく、自身で目標物Pの位置及び姿勢を特定してもよいし、外部の装置から目標物Pの位置及び姿勢の情報を取得してもよい。目標物情報取得部78が外部の装置から目標物Pの位置及び姿勢の情報を取得する場合には、移動体10は、選択された計測点Mの情報を用いて演算する必要はないため、選択された計測点Mの情報を取得する必要はないといえる。また例えば、移動体10の第2パス情報取得部80は、第2パスR2の情報を取得するものであってよく、自身で目標物Pの位置及び姿勢に基づき第2パスR2を設定してもよいし、外部の装置から第2パスR2の情報を取得してもよい。第2パス情報取得部80が外部の装置から第2パスR2の情報を取得する場合には、移動体10は、目標物Pの位置及び姿勢を用いて演算する必要はないため、重畳された点群M0の情報や、目標物Pの位置及び姿勢の情報を取得する必要はないといえる。 In this embodiment, the control device 28 of the moving body 10 calculates the approximation line K, calculates the incident angle θ, selects the measurement point M based on the incident angle θ, and identifies the position and attitude of the target P based on the selected measurement point M. However, the processing performed by the control device 28 described above is not limited to being performed by the moving body 10, and other devices such as the information processing device 14 may execute at least a part of these processes, and the moving body 10 may acquire the results. That is, for example, the detection control unit 74 of the moving body 10 may acquire information on the approximation line K, may calculate the approximation line K by itself, or may acquire information on the calculated approximation line K from an external device. Also, for example, the detection control unit 74 of the moving body 10 may acquire information on the incident angle θ, may calculate the incident angle θ by itself, or may acquire the calculation result of the incident angle θ from an external device. When the detection control unit 74 acquires the calculation result of the incident angle θ from an external device, the moving body 10 does not need to perform calculations using the approximation line K, so it can be said that it is not necessary to acquire information on the approximation line K. Also, for example, the detection control unit 74 of the moving body 10 may acquire information on the measurement points M selected based on the incident angle θ, may select the measurement points M based on the incident angle θ by itself, or may acquire information on the selected measurement points M from an external device. When the detection control unit 74 acquires information on the selected measurement points M from an external device, the moving body 10 does not need to select the measurement points M based on the incident angle θ, so it can be said that it is not necessary to acquire information on the incident angle θ. Also, for example, the target information acquisition unit 78 of the moving body 10 may acquire information on the position and attitude of the target P, may specify the position and attitude of the target P by itself, or may acquire information on the position and attitude of the target P from an external device. When the target information acquisition unit 78 acquires information on the position and attitude of the target P from an external device, the moving body 10 does not need to perform calculations using information on the selected measurement points M, so it can be said that it is not necessary to acquire information on the selected measurement points M. Also, for example, the second path information acquisition unit 80 of the moving body 10 may acquire information on the second path R2, may set the second path R2 on its own based on the position and orientation of the target P, or may acquire information on the second path R2 from an external device. When the second path information acquisition unit 80 acquires information on the second path R2 from an external device, the moving body 10 does not need to perform calculations using the position and orientation of the target P, so it can be said that there is no need to acquire information on the superimposed point group M0 or information on the position and orientation of the target P.

(変形例)
第1実施形態においては、目標物Pの位置の特定に用いる基準位置Cとして、クラスタ毎の計測点MAの重心を用いたが、重心を基準位置Cとして用いることに限られない。以下、第1実施形態の変形例について説明する。以降の変形例において、第1実施形態と共通する箇所は、説明を省略する。
(Modification)
In the first embodiment, the center of gravity of the measurement points MA for each cluster is used as the reference position C used to identify the position of the target P, but the present invention is not limited to using the center of gravity as the reference position C. Modifications of the first embodiment will be described below. In the following modifications, descriptions of points common to the first embodiment will be omitted.

(第1変形例)
図19は、第1変形例における目標物の位置の特定方法の例を説明する模式図である。第1変形例においては、目標物情報取得部78は、所定区間SEと、検知区間RAとを設定する。所定区間SEとは、近似線の座標系において予め設定された所定の範囲となる区間であり、言い換えれば、近似線に沿って所定の長さとなる区間である。所定区間SEの長さは任意に設定してよい。検知区間RAとは、近似線の座標系において、予め設定された所定の範囲であり、かつ予め設定された所定の位置(座標)となる区間である。検知区間RAは、柱PAが存在していると想定される位置であり、検知区間RAの位置は任意の方法で設定されてよい。また、検知区間RAの範囲(長さ)も、任意に設定されてよいが、例えば所定区間SEの範囲(長さ)よりも長く設定される。検知区間RAは、目標物Pの柱PAの個数分、すなわち計測点MAのクラスタの個数分、設定される。図19の例では、中央の柱PA1に対応する検知区間RA1と、一方側の柱PA2に対応する検知区間RA2と、他方側の柱PA3に対応する検知区間RA3とが設定された例を示している。なお、検知区間RAの位置や長さは、計測点MAのクラスタの位置に基づき、検知区間RAにクラスタが含まれるように、設定されてもよい。この場合例えば、検知区間RA1が、中央の柱PA1に対応するクラスタM0A1を含むように設定され、検知区間RA2が、一方側の柱PA2に対応するクラスタM0A2を含むように設定され、検知区間RA3が、他方側の柱PA3に対応するクラスタM0A1を含むように設定されてよい。
(First Modification)
FIG. 19 is a schematic diagram for explaining an example of a method for identifying the position of a target in the first modified example. In the first modified example, the target information acquisition unit 78 sets a predetermined section SE and a detection section RA. The predetermined section SE is a section that is a predetermined range set in advance in the coordinate system of the approximation line, in other words, a section that is a predetermined length along the approximation line. The length of the predetermined section SE may be set arbitrarily. The detection section RA is a section that is a predetermined range set in advance in the coordinate system of the approximation line and is a predetermined position (coordinate) set in advance. The detection section RA is a position where the pillar PA is assumed to exist, and the position of the detection section RA may be set in an arbitrary manner. In addition, the range (length) of the detection section RA may also be set arbitrarily, but is set, for example, longer than the range (length) of the predetermined section SE. The detection section RA is set to the number of pillars PA of the target P, that is, the number of clusters of the measurement points MA. In the example of Fig. 19, a detection section RA1 corresponding to the central pillar PA1, a detection section RA2 corresponding to the pillar PA2 on one side, and a detection section RA3 corresponding to the pillar PA3 on the other side are set. The position and length of the detection section RA may be set based on the position of the cluster of the measurement point MA so that the detection section RA includes the cluster. In this case, for example, the detection section RA1 may be set to include the cluster M0A1 corresponding to the central pillar PA1, the detection section RA2 may be set to include the cluster M0A2 corresponding to the pillar PA2 on one side, and the detection section RA3 may be set to include the cluster M0A1 corresponding to the pillar PA3 on the other side.

第1変形例の目標物情報取得部78は、図19の例に示すように、所定区間SEの位置を検知区間RAの範囲内で移動させながら、所定区間SEの範囲に含まれる計測点MAの数であるクラスタ計測点数を、所定区間SEの位置を移動させる毎に、算出する。すなわち、目標物情報取得部78は、クラスタ計測点数(所定区間SEの範囲に含まれる計測点MAの数)を、所定区間SEの位置毎に算出する。目標物情報取得部78は、例えば、所定区間SEの位置を、単位範囲(計測点MAの数をカウントした範囲)の長さずつ移動させて、単位範囲の長さだけ位置がずれたそれぞれの所定区間SEでのクラスタ計測点数を算出する。ただし、所定区間SEの位置を移動させる距離は単位範囲の長さであることに限られず、目標物情報取得部78は、所定区間SEの位置を所定長さずつ移動させて、所定長さだけ位置がずれたそれぞれの所定区間SEでのクラスタ計測点数を算出するといえる。 As shown in the example of FIG. 19, the target information acquisition unit 78 of the first modified example moves the position of the specified section SE within the range of the detection section RA, and calculates the number of cluster measurement points, which is the number of measurement points MA included in the range of the specified section SE, each time the position of the specified section SE is moved. That is, the target information acquisition unit 78 calculates the number of cluster measurement points (the number of measurement points MA included in the range of the specified section SE) for each position of the specified section SE. For example, the target information acquisition unit 78 moves the position of the specified section SE by the length of a unit range (the range in which the number of measurement points MA is counted) and calculates the number of cluster measurement points in each specified section SE whose position has shifted by the length of the unit range. However, the distance by which the position of the specified section SE is moved is not limited to the length of the unit range, and it can be said that the target information acquisition unit 78 moves the position of the specified section SE by the specified length and calculates the number of cluster measurement points in each specified section SE whose position has shifted by the specified length.

そして、第1変形例の目標物情報取得部78は、クラスタ計測点数に基づいて、基準位置Cを特定する。例えば、目標物情報取得部78は、検知区間RAの範囲内での位置毎の所定区間SEのうちで、クラスタ計測点数が最大となる所定区間SEの位置に基づき、基準位置Cを特定する。この場合例えば、目標物情報取得部78は、クラスタ計測点数が最大となる所定区間SEの基準となる位置(例えば中央位置)を、基準位置Cとしてよい。目標物情報取得部78は、検知区間RA毎に、すなわちクラスタ毎に、同様の方法で基準位置Cを特定する。従って、図19の例では、検知区間RA1においてクラスタ計測点数が最大となる所定区間SEの中央位置が、基準位置C1とされ、検知区間RA2においてクラスタ計測点数が最大となる所定区間SEの中央位置が、基準位置C2とされ、検知区間RA3においてクラスタ計測点数が最大となる所定区間SEの中央位置が、基準位置C3とされる。 The target information acquisition unit 78 of the first modified example specifies the reference position C based on the number of cluster measurement points. For example, the target information acquisition unit 78 specifies the reference position C based on the position of the specified section SE where the number of cluster measurement points is maximum among the specified sections SE for each position within the range of the detection section RA. In this case, for example, the target information acquisition unit 78 may set the reference position C to the position (e.g., the center position) of the specified section SE where the number of cluster measurement points is maximum. The target information acquisition unit 78 specifies the reference position C for each detection section RA, that is, for each cluster, in a similar manner. Therefore, in the example of FIG. 19, the center position of the specified section SE where the number of cluster measurement points is maximum in the detection section RA1 is set to the reference position C1, the center position of the specified section SE where the number of cluster measurement points is maximum in the detection section RA2 is set to the reference position C2, and the center position of the specified section SE where the number of cluster measurement points is maximum in the detection section RA3 is set to the reference position C3.

基準位置Cを特定したら、第1変形例においても、第1実施形態と同様の方法で目標物Pの位置を特定するため、以降の説明は省略する。 Once the reference position C is identified, the position of the target P is identified in the first modified example in a manner similar to that of the first embodiment, so further explanation is omitted.

第1変形例のように、所定区間SEの位置毎のクラスタ計測点数を算出し、クラスタ計測点数に基づきクラスタ毎に基準位置を設定することで、目標物Pの位置を高精度に算出できる。 As in the first modified example, by calculating the number of cluster measurement points for each position in the specified section SE and setting a reference position for each cluster based on the number of cluster measurement points, the position of the target P can be calculated with high accuracy.

(第2変形例)
図20は、第2変形例における目標物の位置の特定方法の例を説明する模式図である。第2変形例においては、目標物情報取得部78は、近似線の座標系での所定区間SEと、検知区間RAとを設定する。第2変形例においては、柱PA毎に、すなわちクラスタ毎に、所定区間SEを設定する点で、第1実施形態とは異なる。図20の例では、目標物情報取得部78は、所定区間SE1(第1区間)と、所定区間SE2(第2区間)と、所定区間SE3(第3区間)とを設定する。所定区間SE1、SE2、SE3は、近似線の座標系において、予め設定された所定の範囲となる区間であり、言い換えれば、近似線に沿って所定の長さとなる区間である。所定区間SEの長さは任意に設定してよい。ただし後述のように、クラスタ計測点数を算出する際には、所定区間SE1と所定区間SE2と所定区間SE3とは、互いの距離(すなわち相対位置)が固定されたまま、位置が移動される。すなわち例えば、所定区間SE1と所定区間SE2との距離をDIaとし、所定区間SE1と所定区間SE3との距離をDIbとすると、クラスタ計測点数を算出するために、所定区間SE1、SE2、SE3とを動かしたとしても、所定区間SE1と所定区間SE2との距離は距離DIaのまま固定され、所定区間SE1と所定区間SE3との距離は距離DIbのまま固定される。検知区間RAとは、近似線の座標系において、予め設定された所定の位置であり、かつ、予め設定された所定の範囲となる区間である。第2変形例においては、検知区間RAは、目標物Pの柱PAの個数分設定されることに限られず、1つ設定されていればよい。
(Second Modification)
FIG. 20 is a schematic diagram for explaining an example of a method for identifying the position of a target in the second modified example. In the second modified example, the target information acquisition unit 78 sets a predetermined section SE and a detection section RA in the coordinate system of the approximation line. The second modified example differs from the first embodiment in that the predetermined section SE is set for each pillar PA, that is, for each cluster. In the example of FIG. 20, the target information acquisition unit 78 sets a predetermined section SE1 (first section), a predetermined section SE2 (second section), and a predetermined section SE3 (third section). The predetermined sections SE1, SE2, and SE3 are sections that are predetermined ranges set in advance in the coordinate system of the approximation line, in other words, sections that have a predetermined length along the approximation line. The length of the predetermined section SE may be set arbitrarily. However, as described later, when calculating the cluster measurement points, the positions of the predetermined section SE1, the predetermined section SE2, and the predetermined section SE3 are moved while the distance (i.e., the relative positions) between them is fixed. That is, for example, if the distance between the predetermined section SE1 and the predetermined section SE2 is DIa, and the distance between the predetermined section SE1 and the predetermined section SE3 is DIb, even if the predetermined sections SE1, SE2, and SE3 are moved to calculate the cluster measurement points, the distance between the predetermined section SE1 and the predetermined section SE2 is fixed as the distance DIa, and the distance between the predetermined section SE1 and the predetermined section SE3 is fixed as the distance DIb. The detection section RA is a section that is a predetermined position and a predetermined range that is set in advance in the coordinate system of the approximation line. In the second modified example, the detection section RA is not limited to being set to the number of pillars PA of the target P, and it is sufficient that one detection section is set.

第2変形例の目標物情報取得部78は、図20の例に示すように、所定区間SE1、SE2、SE3同士の距離(相対位置)を固定しつつ、所定区間SE1、SE2、SE3の近似線Nの座標系における位置を検知区間RAの範囲内で移動させながら、所定区間SE1、SE2、SE3のクラスタ計測点数を、所定区間SE1、SE2、SE3の位置を移動させる毎に、算出する。すなわち、目標物情報取得部78は、クラスタ計測点数を、所定区間SE1、SE2、SE3の位置毎に算出する。目標物情報取得部78は、例えば、所定区間SE1、SE2、SE3の位置を、計測点MAの数を割り当てた単位範囲の長さずつ移動させて、単位範囲の長さだけ位置がずれたそれぞれの所定区間SE1、SE2、SE3でのクラスタ計測点数を算出する。ただし、所定区間SE1、SE2、SE3の位置を移動させる距離は単位範囲であることに限られず、目標物情報取得部78は、所定区間SE1、SE2、SE3の位置を所定長さずつ移動させて、所定長さだけ位置がずれたそれぞれの所定区間SE1、SE2、SE3でのクラスタ計測点数を算出するといえる。 20, the target information acquisition unit 78 of the second modified example fixes the distance (relative position) between the predetermined sections SE1, SE2, and SE3, and calculates the number of cluster measurement points for the predetermined sections SE1, SE2, and SE3 each time the position of the predetermined sections SE1, SE2, and SE3 is moved while moving the positions in the coordinate system of the approximation line N of the predetermined sections SE1, SE2, and SE3 within the range of the detection section RA. That is, the target information acquisition unit 78 calculates the number of cluster measurement points for each position of the predetermined sections SE1, SE2, and SE3. For example, the target information acquisition unit 78 moves the positions of the predetermined sections SE1, SE2, and SE3 by the length of the unit range to which the number of measurement points MA is assigned, and calculates the number of cluster measurement points in each of the predetermined sections SE1, SE2, and SE3 whose positions are shifted by the length of the unit range. However, the distance by which the positions of the specified sections SE1, SE2, and SE3 are moved is not limited to a unit range, and the target information acquisition unit 78 can be said to move the positions of the specified sections SE1, SE2, and SE3 by a specified length and calculate the cluster measurement points in each of the specified sections SE1, SE2, and SE3 whose positions are shifted by the specified length.

そして、第2変形例においては、目標物情報取得部78は、クラスタ計測点数に基づいて、基準位置Cを特定する。例えば、目標物情報取得部78は、検知区間RAの範囲内での位置毎の所定区間SE1、SE2、SE3のうちで、所定区間SE1、SE2、SE3でのクラスタ計測点数の合計値が最大となる所定区間SE1、SE2、SE3の位置に基づき、基準位置C1、C2、C3を特定する。例えば、目標物情報取得部78は、所定区間SE1、SE2、SE3でのクラスタ計測点数の合計値を、所定区間SE1、SE2、SE3の位置毎に算出し、クラスタ計測点数の合計値が最大となった際の所定区間SE1、SE2、SE3の基準となる位置(たとえは中央位置)を、基準位置C1、C2、C3として特定する。図20の例では、目標物情報取得部78は、クラスタ計測点数の合計値が最大となる所定区間SE1、SE2、SE3の中央位置を、それぞれ、基準位置C1、C2、C3としている。 In the second modified example, the target information acquisition unit 78 identifies the reference position C based on the cluster measurement points. For example, the target information acquisition unit 78 identifies the reference positions C1, C2, and C3 based on the positions of the predetermined sections SE1, SE2, and SE3 where the total value of the cluster measurement points in the predetermined sections SE1, SE2, and SE3 is maximum among the predetermined sections SE1, SE2, and SE3 for each position within the range of the detection section RA. For example, the target information acquisition unit 78 calculates the total value of the cluster measurement points in the predetermined sections SE1, SE2, and SE3 for each position of the predetermined sections SE1, SE2, and SE3, and identifies the reference positions (for example, central positions) of the predetermined sections SE1, SE2, and SE3 when the total value of the cluster measurement points is maximum as the reference positions C1, C2, and C3. In the example of FIG. 20, the target information acquisition unit 78 sets the center positions of the predetermined sections SE1, SE2, and SE3 where the total value of the cluster measurement points is the maximum as the reference positions C1, C2, and C3, respectively.

基準位置Cを特定したら、第2変形例においても、第1実施形態と同様の方法で目標物Pの位置を特定するため、以降の説明は省略する。 Once the reference position C is identified, the position of the target P is identified in the second modified example in a manner similar to that of the first embodiment, so further explanation is omitted.

第2変形例のように、所定区間SEの位置毎のクラスタ計測点数に基づき基準位置を設定することで、目標物Pの位置を高精度に算出できる。さらに、第2変形例においては、所定区間SE1、SE2、SE3の相対位置を固定しながら、クラスタ計測点数を算出するため、計測点MAを柱PA毎にクラスタリングする処理(計測点MAをクラスタ毎に区分する処理)が、不要となる。 As in the second modified example, by setting a reference position based on the number of cluster measurement points for each position in the specified section SE, the position of the target P can be calculated with high accuracy. Furthermore, in the second modified example, the number of cluster measurement points is calculated while fixing the relative positions of the specified sections SE1, SE2, and SE3, so the process of clustering the measurement points MA for each pillar PA (the process of dividing the measurement points MA into clusters) is not necessary.

(他の例)
なお、本実施形態では、移動体10が移動する毎に検出することで複数の検出結果を取得していたが、複数の検出結果を取得する方法はこれに限られない。例えば、検出制御部74は、移動体10が有する複数のセンサ26に、同じ目標物Pを検出させて、それぞれのセンサ26の測定結果を、複数の検出により取得された計測点M(点群M0)として取得させてもよい。それぞれのセンサ26の検出で取得された計測点Mは、第1実施形態で説明した方法と同様に、選択、抽出されて、点群重畳部76によって同一の座標系(ここでは二次元座標系CO)で重畳される。
(Other examples)
In this embodiment, the moving body 10 detects the same target P every time it moves, but the method of acquiring the multiple detection results is not limited to this. For example, the detection control unit 74 may cause the multiple sensors 26 of the moving body 10 to detect the same target P and acquire the measurement results of each sensor 26 as measurement points M (point cloud M0) acquired by multiple detections. The measurement points M acquired by the detection of each sensor 26 are selected and extracted in the same manner as described in the first embodiment, and are superimposed on the same coordinate system (here, the two-dimensional coordinate system CO) by the point cloud superimposition unit 76.

従ってこの場合、近似線Kの算出に用いる計測点M(今回の検出とは異なる検出で取得された計測点M)には、異なるセンサ26の検出によって取得された計測点Mも含まれることになる。すなわち、本例においては、検出制御部74は、今回の検出に用いたセンサ26とは異なるセンサ26の検出で取得された計測点Mを用いて、近似線Kを算出し、その近似線Kに基づいて、今回の検出における入射角θを算出し、計測点Mの選択を実行するといえる。 Therefore, in this case, the measurement points M used to calculate the approximation line K (measurement points M obtained by a detection different from the current detection) also include measurement points M obtained by detection of a different sensor 26. That is, in this example, the detection control unit 74 calculates the approximation line K using measurement points M obtained by detection of a sensor 26 different from the sensor 26 used in the current detection, calculates the incidence angle θ in the current detection based on the approximation line K, and selects the measurement points M.

このように、複数のセンサ26で検出を行わせて、他のセンサ26の検出結果を用いて近似線Kを算出することで、演算処理を迅速に実行することが可能となる。また、複数のセンサ26は位置が異なるため、目標物Pの同じ位置への入射角θは、センサ26毎に異なる。そのため、入射角θが所定範囲の範囲外となって選択から除外される計測点Mの位置が、目標物Pの前面Paにおいて集中することなく、目標物Pの前面Paの全体の計測点Mを選択することが可能となる。そのため、この場合でも、検出精度の低下をより適切に抑制できる。 In this way, by performing detection using multiple sensors 26 and calculating the approximation line K using the detection results of the other sensors 26, it is possible to perform calculation processing quickly. In addition, since the multiple sensors 26 are located at different positions, the incidence angle θ at the same position on the target P is different for each sensor 26. Therefore, it is possible to select the measurement points M on the entire front surface Pa of the target P without the positions of the measurement points M being excluded from selection because the incidence angle θ falls outside the predetermined range being concentrated on the front surface Pa of the target P. Therefore, even in this case, the decrease in detection accuracy can be more appropriately suppressed.

(本開示の効果)
以上説明したように、本開示における移動体10の制御方法は、自動で移動する移動体10の制御方法であって、移動体10に設けられたセンサ26に光を照射させることで目標物Pを複数回検出させて、センサ26の複数回の検出の結果を点群M0として取得するステップと、センサ26の第1の検出に対応する点群M0である第1点群に基づき、点群M0の近似線Kを検出するステップと、近似線Kと、センサ26の第2の検出に対応する点群M0である第2点群と、第2の検出を行った際の移動体10の位置AR1とに基づき、第2の検出におけるセンサ26からの光の目標物Pへの入射角θを算出するステップと、入射角θに基づき、第2点群のうちから、目標物Pの位置及び姿勢を特定するための点群M0を選択するステップと、第2点群のうちから選択された点群M0に基づいて、目標物Pの位置及び姿勢を特定するステップと、を含む。本制御方法によると、検出精度が低い計測点Mを除外して、検出精度が高い計測点Mを用いて、目標物Pの位置及び姿勢を特定することが可能となる。従って、本制御方法によると、目標物Pの検出精度の低下を好適に抑制できる。
(Effects of the present disclosure)
As described above, the control method for the moving body 10 in the present disclosure is a control method for the moving body 10 that moves automatically, and includes the steps of: detecting the target P multiple times by irradiating the sensor 26 provided on the moving body 10 with light, and acquiring the results of the multiple detections by the sensor 26 as a point cloud M0; detecting an approximation line K of the point cloud M0 based on the first point cloud, which is the point cloud M0 corresponding to the first detection of the sensor 26; calculating an incidence angle θ of light from the sensor 26 to the target P in the second detection based on the approximation line K, the second point cloud, which is the point cloud M0 corresponding to the second detection of the sensor 26, and the position AR1 of the moving body 10 when the second detection is performed; selecting a point cloud M0 for specifying the position and orientation of the target P from the second point cloud based on the incidence angle θ; and specifying the position and orientation of the target P based on the point cloud M0 selected from the second point cloud. According to this control method, it is possible to specify the position and orientation of the target P by excluding measurement points M with low detection accuracy and using measurement points M with high detection accuracy. Therefore, according to this control method, the decrease in the detection accuracy of the target P can be effectively suppressed.

本開示の制御方法は、目標物Pの位置及び姿勢に基づいて、目標物Pに対して所定の位置及び姿勢となる目標位置A3までのアプローチパス(第2パスR2)を設定するステップと、第2パスR2に沿って移動体10を移動させるステップと、をさらに含む。本開示の制御方法は、センサ26による複数の検出結果により取得された点群M0に基づき第2パスR2を設定するため、第2パスR2を高精度に生成することができ、目標物Pに対して適切にアプローチすることが可能となる。 The control method disclosed herein further includes the steps of setting an approach path (second path R2) to a target position A3 that is at a predetermined position and orientation relative to the target P based on the position and orientation of the target P, and moving the mobile body 10 along the second path R2. The control method disclosed herein sets the second path R2 based on a point cloud M0 acquired from multiple detection results by the sensor 26, so that the second path R2 can be generated with high accuracy, making it possible to appropriately approach the target P.

本開示の制御方法は、目標物Pが設置される設置領域AR0を横切る広域パス(第1パスR1)の情報を取得するステップと、第1パスR1に沿って移動体10を移動させるステップと、をさらに含む。点群M0を取得するステップにおいては、移動体10が第1パスR1に沿って移動中に、センサ26に目標物Pを複数回検出させる。本制御方法によると、目標物Pを横切って移動している最中に、センサ26に複数回検出させることで、目標物Pを適切に検出させて、目標物Pの検出精度の低下を更に好適に抑制できる。 The control method disclosed herein further includes a step of acquiring information on a wide area path (first path R1) that crosses the installation area AR0 in which the target P is installed, and a step of moving the moving body 10 along the first path R1. In the step of acquiring the point cloud M0, the sensor 26 is caused to detect the target P multiple times while the moving body 10 is moving along the first path R1. According to this control method, by causing the sensor 26 to detect the target P multiple times while moving across the target P, the target P can be appropriately detected, and a decrease in the detection accuracy of the target P can be further preferably suppressed.

入射角θを算出するステップにおいては、第2点群に含まれる計測点M毎に入射角θを算出し、点群M0を選択するステップにおいては、第2点群に含まれる計測点Mのうちで、入射角θが所定範囲内となる計測点Mを、選択する。光を照射して目標物Pを検出するタイプのセンサ26は、目標物Pへの光の入射角に応じて、検出精度が変化することが顕著であり、例えば入射角が小さい場合には検出精度が低下するなど、検出精度が低くなる角度帯がある。それに対し、本実施形態のように、入射角θが所定範囲内にある計測点Mを選択して用いることで、検出精度の低い計測点Mを除外して、目標物Pの検出精度の低下を更に好適に抑制できる。 In the step of calculating the incidence angle θ, the incidence angle θ is calculated for each measurement point M included in the second point cloud, and in the step of selecting the point cloud M0, measurement points M included in the second point cloud whose incidence angle θ is within a predetermined range are selected. The type of sensor 26 that detects the target P by irradiating light has a noticeable change in detection accuracy depending on the incidence angle of the light on the target P, and there is an angle band where the detection accuracy is low, for example, when the incidence angle is small. In contrast, by selecting and using measurement points M whose incidence angle θ is within a predetermined range as in the present embodiment, it is possible to exclude measurement points M with low detection accuracy and further preferably suppress the decrease in the detection accuracy of the target P.

入射角θを算出するステップにおいては、第2の検出を行った際の移動体10の位置AR1と計測点Mとを結ぶ直線K2と、近似線の法線(垂線K1)とのなす角度を、入射角θとして算出する。このように入射角θを算出することで、入射角θの算出精度が向上し、目標物Pの検出精度の低下を更に好適に抑制できる。 In the step of calculating the incident angle θ, the angle between the straight line K2 connecting the position AR1 of the moving body 10 and the measurement point M when the second detection is performed and the normal line (perpendicular line K1) of the approximation line is calculated as the incident angle θ. By calculating the incident angle θ in this manner, the calculation accuracy of the incident angle θ is improved, and the decrease in the detection accuracy of the target P can be further effectively suppressed.

第2点群のうちから点群M0が選択された後に、センサ26の第3の検出に対応する第3点群が取得された場合、近似線Kを検出するステップにおいては、第1点群と第2点群とに基づき、近似線Kを更新して検出する。また、入射角θを算出するステップにおいては、第3点群と、第3の検出を行った際の移動体10と、更新された近似線Kとの位置関係に基づき、第3の検出におけるセンサ26からの光の目標物Pへの入射角θを算出する。また、点群M0を選択するステップにおいては、第3の検出における入射角θに基づき、第3点群のうちから、目標物Pの位置及び姿勢を特定するための点群M0を選択し、目標物Pの位置及び姿勢を特定するステップにおいては、第2点群のうちから選択された点群M0と、第3の点群のうちから選択された点群M0とに基づいて、目標物Pの位置及び姿勢を特定する。このように、検出の度に近似線Kの算出に用いる点群M0を増やすことで、近似線Kによる目標物Pの前面Paの再現性を向上させ、目標物Pの検出精度の低下を更に好適に抑制できる。 After the point group M0 is selected from the second point group, if the third point group corresponding to the third detection of the sensor 26 is acquired, in the step of detecting the approximation line K, the approximation line K is updated and detected based on the first point group and the second point group. In addition, in the step of calculating the incidence angle θ, the incidence angle θ of the light from the sensor 26 to the target P in the third detection is calculated based on the positional relationship between the third point group, the moving body 10 at the time of the third detection, and the updated approximation line K. In addition, in the step of selecting the point group M0, the point group M0 for specifying the position and orientation of the target P is selected from the third point group based on the incidence angle θ in the third detection, and in the step of specifying the position and orientation of the target P, the position and orientation of the target P are specified based on the point group M0 selected from the second point group and the point group M0 selected from the third point group. In this way, by increasing the point group M0 used to calculate the approximation line K each time detection is performed, the reproducibility of the front surface Pa of the target P by the approximation line K is improved, and the deterioration of the detection accuracy of the target P can be further suppressed.

本開示の制御方法は、選択された点群M0に基づき、目標物Pの前面Paに対応する直線Lを算出するステップと、選択された点群M0と直線Lとの位置関係に基づき、選択された点群M0から、目標物Pの位置及び姿勢を特定するための点群M0を抽出するステップと、をさらに含む。目標物Pの位置及び姿勢を特定するステップにおいては、抽出された点群M0に基づき、目標物Pの位置及び姿勢を特定する。本制御方法では、入射角θに基づき使用する点群M0を選択し、さらに、選択した点群M0から算出された直線Lに基づき使用する点群M0を抽出することで、検出精度の低い点群M0をより好適に除外して、目標物Pの検出精度の低下を更に好適に抑制できる。 The control method disclosed herein further includes a step of calculating a straight line L corresponding to the front surface Pa of the target P based on the selected point cloud M0, and a step of extracting a point cloud M0 for identifying the position and orientation of the target P from the selected point cloud M0 based on the positional relationship between the selected point cloud M0 and the straight line L. In the step of identifying the position and orientation of the target P, the position and orientation of the target P are identified based on the extracted point cloud M0. In this control method, the point cloud M0 to be used is selected based on the incident angle θ, and further, the point cloud M0 to be used is extracted based on the straight line L calculated from the selected point cloud M0, thereby more preferably excluding the point cloud M0 with low detection accuracy and more preferably suppressing the decrease in the detection accuracy of the target P.

点群M0を抽出するステップにおいては、直線Lに対して所定の距離範囲内にある点群M0を、点群M0を抽出するステップとして抽出する。本制御方法によると、目標物Pの位置及び姿勢の特定に用いる点群M0をこのような方法で抽出することで、目標物Pの検出精度の低下を更に好適に抑制できる。 In the step of extracting the point cloud M0, the point cloud M0 that is within a predetermined distance range from the straight line L is extracted as the step of extracting the point cloud M0. According to this control method, by extracting the point cloud M0 used to identify the position and orientation of the target P in this manner, it is possible to more effectively suppress a decrease in the detection accuracy of the target P.

本開示の移動体10は、自動で移動するものであって、移動体10に設けられたセンサ26に光を照射させることで目標物Pを複数回検出させて、センサ26の複数回の検出の結果を点群M0として取得する検出制御部74と、点群M0に基づき特定された目標物Pの位置及び姿勢の情報を取得する目標物情報取得部78と、を含む。目標物Pの位置及び姿勢は、センサ26の第1の検出に対応する点群M0である第1点群に基づき検出された点群M0の近似線Kと、センサ26の第2の検出に対応する点群M0である第2点群と、第2の検出を行った際の移動体10の位置AR1とに基づき、第2の検出におけるセンサ26からの光の目標物Pへの入射角θが算出され、入射角θに基づき、第2点群のうちから目標物Pの位置及び姿勢を特定するための点群M0が選択されることで、第2点群のうちから選択された点群M0に基づいて、特定される。本移動体10によると、検出精度が高い計測点Mを用いて特定された目標物Pの位置及び姿勢の情報を取得することで、目標物Pの検出精度の低下を好適に抑制できる。 The moving body 10 of the present disclosure moves automatically, and includes a detection control unit 74 that detects the target P multiple times by irradiating the sensor 26 provided on the moving body 10 with light, and acquires the results of the multiple detections by the sensor 26 as a point cloud M0, and a target information acquisition unit 78 that acquires information on the position and attitude of the target P identified based on the point cloud M0. The position and attitude of the target P are identified based on the point cloud M0 selected from the second point cloud by calculating the incident angle θ of the light from the sensor 26 to the target P in the second detection based on the approximation line K of the point cloud M0 detected based on the first point cloud, which is the point cloud M0 corresponding to the first detection of the sensor 26, the second point cloud, which is the point cloud M0 corresponding to the second detection of the sensor 26, and the position AR1 of the moving body 10 when the second detection is performed. Based on the incident angle θ, the point cloud M0 for identifying the position and attitude of the target P is selected from the second point cloud. According to this moving body 10, by acquiring information on the position and orientation of the target P identified using the measurement point M with high detection accuracy, it is possible to effectively suppress a decrease in the detection accuracy of the target P.

本開示のプログラムは、自動で移動する移動体10の制御方法をコンピュータに実行させるプログラムであって、移動体10に設けられたセンサ26に光を照射させることで目標物Pを複数回検出させて、センサ26の複数回の検出の結果を点群M0として取得するステップと、センサ26の第1の検出に対応する点群M0である第1点群に基づき、点群M0の近似線Kを検出するステップと、近似線Kと、センサ26の第2の検出に対応する点群M0である第2点群と、第2の検出を行った際の移動体10の位置AR1とに基づき、第2の検出におけるセンサ26からの光の目標物Pへの入射角θを算出するステップと、入射角θに基づき、第2点群のうちから、目標物Pの位置及び姿勢を特定するための点群M0を選択するステップと、第2点群のうちから選択された点群M0に基づいて、目標物Pの位置及び姿勢を特定するステップと、を、コンピュータに実行させる。本プログラムによると、目標物Pの検出精度の低下を好適に抑制できる。 The program disclosed herein is a program for making a computer execute a method for controlling a moving body 10 that moves automatically, and causes the computer to execute the following steps: detecting a target P multiple times by irradiating light to a sensor 26 provided on the moving body 10, and acquiring the results of the multiple detections by the sensor 26 as a point cloud M0; detecting an approximation line K of the point cloud M0 based on a first point cloud, which is the point cloud M0 corresponding to the first detection of the sensor 26; calculating an incidence angle θ of light from the sensor 26 to the target P in the second detection based on the approximation line K, a second point cloud, which is the point cloud M0 corresponding to the second detection of the sensor 26, and the position AR1 of the moving body 10 when the second detection was performed; selecting a point cloud M0 for identifying the position and orientation of the target P from the second point cloud based on the incidence angle θ; and identifying the position and orientation of the target P based on the point cloud M0 selected from the second point cloud. This program makes it possible to suitably suppress a decrease in the detection accuracy of the target P.

以上、本発明の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。 Although the embodiment of the present invention has been described above, the embodiment is not limited to the contents of this embodiment. The above-mentioned components include those that a person skilled in the art can easily imagine, those that are substantially the same, and those that are within the so-called equivalent range. Furthermore, the above-mentioned components can be combined as appropriate. Furthermore, various omissions, substitutions, or modifications of the components can be made without departing from the spirit of the above-mentioned embodiment.

10 移動体
26 センサ
70 第1パス情報取得部
72 移動制御部
74 検出制御部
76 点群重畳部
78 目標物情報取得部
80 第2パス情報取得部
K 近似線
M、MA 計測点
M0 点群
N 近似線
P 目標物
θ 入射角
REFERENCE SIGNS LIST 10 Mobile object 26 Sensor 70 First path information acquisition unit 72 Movement control unit 74 Detection control unit 76 Point cloud superposition unit 78 Target information acquisition unit 80 Second path information acquisition unit K Approximation line M, MA Measurement point M0 Point cloud N Approximation line P Target θ Incident angle

Claims (10)

自動で移動する移動体の制御方法であって、
前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得するステップと、
前記センサの第1の検出に対応する点群である第1点群に基づき、前記点群の近似線を検出するステップと、
前記近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記近似線への入射角を算出するステップと、
前記入射角に基づき、前記第2点群のうちから、前記目標物の位置及び姿勢を特定するための点群を選択するステップと、
前記第2点群のうちから選択された点群に基づいて、前記目標物の位置及び姿勢を特定するステップと、
を含む、
移動体の制御方法。
A method for controlling an automatically moving object, comprising:
a step of detecting a target a plurality of times by irradiating a sensor provided on the moving object with light, and acquiring a result of the plurality of detections by the sensor as a point cloud;
detecting an approximation line of the first point cloud based on a first point cloud corresponding to a first detection of the sensor;
calculating an incident angle of light from the sensor in the second detection to the approximation line based on the approximation line, a second point cloud that is a point cloud corresponding to the second detection of the sensor, and a position of the moving object when the second detection is performed;
selecting a point cloud from the second point cloud based on the incident angle for identifying a position and orientation of the target object;
determining a position and orientation of the target based on a selected set of points from the second set of points;
including,
A method for controlling a moving object.
前記目標物の位置及び姿勢に基づいて、前記目標物に対して所定の位置及び姿勢となる目標位置までのアプローチパスを設定するステップと、
前記アプローチパスに沿って前記移動体を移動させるステップと、をさらに含む、請求項1に記載の移動体の制御方法。
setting an approach path to a target position that has a predetermined position and attitude with respect to the target based on the position and attitude of the target;
The method for controlling a moving body according to claim 1 , further comprising the step of: moving the moving body along the approach path.
目標物が設置される設置領域を横切る広域パスの情報を取得するステップと、
前記広域パスに沿って前記移動体を移動させるステップと、をさらに含み、
前記点群を取得するステップにおいては、前記移動体が前記広域パスに沿って移動中に、前記センサに前記目標物を複数回検出させる、請求項1又は請求項2に記載の移動体の制御方法。
acquiring information of a wide area path across an installation area in which a target is installed;
and moving the moving object along the wide area path;
3. The method for controlling a moving body according to claim 1, wherein in the step of acquiring the point cloud, the sensor is caused to detect the target object a plurality of times while the moving body is moving along the wide area path.
前記入射角を算出するステップにおいては、前記第2点群に含まれる計測点毎に、前記入射角を算出し、
前記点群を選択するステップにおいては、前記第2点群に含まれる計測点のうちで、前記入射角が所定範囲内となる計測点を、選択する、請求項1から請求項3のいずれか1項に記載の移動体の制御方法。
In the step of calculating the incidence angle, the incidence angle is calculated for each measurement point included in the second point group,
4. The method for controlling a moving body according to claim 1, wherein in the step of selecting the point cloud, measurement points included in the second point cloud are selected whose incidence angle is within a predetermined range.
前記入射角を算出するステップにおいては、前記第2の検出を行った際の前記移動体の位置と前記計測点とを結ぶ直線と、前記近似線の法線とのなす角度を、前記入射角として算出する、請求項4に記載の移動体の制御方法。 The method for controlling a moving body according to claim 4, wherein in the step of calculating the angle of incidence, the angle between a straight line connecting the position of the moving body and the measurement point when the second detection is performed and a normal line to the approximation line is calculated as the angle of incidence. 前記第2点群のうちから点群が選択された後に、前記センサの第3の検出に対応する第3点群が取得された場合、
前記近似線を検出するステップにおいては、前記第1点群と前記第2点群とに基づき、前記近似線を更新して検出し、
前記入射角を算出するステップにおいては、前記第3点群と、前記第3の検出を行った際の前記移動体と、更新された前記近似線との位置関係に基づき、前記第3の検出における前記センサからの光の前記目標物への入射角を算出し、
前記点群を選択するステップにおいては、前記入射角に基づき、前記第3点群のうちから、前記目標物の位置及び姿勢を特定するための点群を選択し、
前記目標物の位置及び姿勢を特定するステップにおいては、前記第2点群のうちから選択された点群と、前記第3点群のうちから選択された点群とに基づいて、前記目標物の位置及び姿勢を特定する、請求項1から請求項5のいずれか1項に記載の移動体の制御方法。
if a third cloud of points corresponding to a third detection of the sensor is obtained after a point cloud is selected from the second cloud of points;
In the step of detecting the approximation line, the approximation line is updated and detected based on the first point group and the second point group;
In the step of calculating the angle of incidence, an angle of incidence of light from the sensor to the target in the third detection is calculated based on a positional relationship between the third point group, the moving body at the time of the third detection, and the updated approximation line;
In the step of selecting the point cloud, a point cloud for identifying a position and an attitude of the target object is selected from the third point cloud based on the incident angle;
6. A method for controlling a moving body according to claim 1, wherein, in the step of specifying the position and attitude of the target object, the position and attitude of the target object are specified based on a point cloud selected from the second point cloud and a point cloud selected from the third point cloud.
選択された前記点群に基づき、前記目標物の前面に対応する直線を算出するステップと、
選択された前記点群と前記直線とに基づき、選択された前記点群から、目標物の位置及び姿勢を特定するための点群を抽出するステップと、をさらに含み、
前記目標物の位置及び姿勢を特定するステップにおいては、抽出された前記点群に基づき、前記目標物の位置及び姿勢を特定する、請求項1から請求項6のいずれか1項に記載の移動体の制御方法。
calculating a straight line corresponding to a front surface of the target object based on the selected points;
extracting a point cloud for identifying a position and an orientation of a target object from the selected point cloud based on the selected point cloud and the straight line;
7. The method for controlling a moving body according to claim 1, wherein in the step of specifying the position and orientation of the target object, the position and orientation of the target object are specified based on the extracted point cloud.
前記点群を抽出するステップにおいては、
前記直線に対して所定の距離範囲内にある前記点群を、抽出する、請求項7に記載の移動体の制御方法。
In the step of extracting the point cloud,
The method for controlling a moving body according to claim 7 , further comprising the step of extracting the group of points that are within a predetermined distance range from the straight line.
自動で移動する移動体であって、
前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得する検出制御部と、
前記点群に基づき特定された前記目標物の位置及び姿勢の情報を取得する目標物情報取得部と、を含み、
前記目標物の位置及び姿勢は、
前記センサの第1の検出に対応する点群である第1点群に基づき検出された前記点群の近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記近似線への入射角が算出され、
前記入射角に基づき、前記第2点群のうちから前記目標物の位置及び姿勢を特定するための点群が選択されることで、
前記第2点群のうちから選択された点群に基づいて、特定される、
移動体。
A moving object that moves automatically,
a detection control unit that detects a target object a plurality of times by irradiating a sensor provided on the moving object with light and acquires a result of the plurality of detections by the sensor as a point cloud;
a target information acquisition unit that acquires information on the position and attitude of the target identified based on the point cloud,
The position and orientation of the target are
an incident angle of light from the sensor in the second detection to the approximation line is calculated based on an approximation line of the first point cloud detected based on a first point cloud corresponding to a first detection of the sensor, a second point cloud corresponding to a second detection of the sensor, and a position of the moving body when the second detection is performed;
A point cloud for identifying the position and the attitude of the target is selected from the second point cloud based on the incident angle,
is determined based on a set of points selected from the second set of points.
Mobile body.
自動で移動する移動体の制御方法をコンピュータに実行させるプログラムであって、
前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得するステップと、
前記センサの第1の検出に対応する点群である第1点群に基づき、前記点群の近似線を検出するステップと、
前記近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記近似線への入射角を算出するステップと、
前記入射角に基づき、前記第2点群のうちから前記目標物の位置及び姿勢を特定するための点群を選択するステップと、
前記第2点群のうちから選択された点群に基づいて、前記目標物の位置及び姿勢を特定するステップと、
を、コンピュータに実行させる、
プログラム。
A program for causing a computer to execute a method for controlling an automatically moving object,
a step of detecting a target a plurality of times by irradiating a sensor provided on the moving object with light, and acquiring a result of the plurality of detections by the sensor as a point cloud;
detecting an approximation line of the first point cloud based on a first point cloud corresponding to a first detection of the sensor;
calculating an incident angle of light from the sensor in the second detection to the approximation line based on the approximation line, a second point cloud that is a point cloud corresponding to the second detection of the sensor, and a position of the moving object when the second detection is performed;
selecting a point cloud from the second point cloud based on the incident angle for identifying a position and an orientation of the target object;
determining a position and orientation of the target based on a selected set of points from the second set of points;
The computer executes the
program.
JP2021017822A 2021-02-05 2021-02-05 MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM Active JP7482808B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021017822A JP7482808B2 (en) 2021-02-05 2021-02-05 MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021017822A JP7482808B2 (en) 2021-02-05 2021-02-05 MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2022120729A JP2022120729A (en) 2022-08-18
JP7482808B2 true JP7482808B2 (en) 2024-05-14

Family

ID=82849219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021017822A Active JP7482808B2 (en) 2021-02-05 2021-02-05 MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP7482808B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016210586A (en) 2015-05-12 2016-12-15 株式会社豊田中央研究所 Fork lift
JP2017182502A (en) 2016-03-30 2017-10-05 株式会社豊田中央研究所 Movable body
JP2019504418A (en) 2016-01-14 2019-02-14 ドネクル Method and system for determining the position of a moving object
JP2020070121A (en) 2018-10-29 2020-05-07 パナソニックIpマネジメント株式会社 Transportation method, transportation system, program, and pallet
WO2020183658A1 (en) 2019-03-13 2020-09-17 学校法人 千葉工業大学 Information processing device and mobile robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016210586A (en) 2015-05-12 2016-12-15 株式会社豊田中央研究所 Fork lift
JP2019504418A (en) 2016-01-14 2019-02-14 ドネクル Method and system for determining the position of a moving object
JP2017182502A (en) 2016-03-30 2017-10-05 株式会社豊田中央研究所 Movable body
JP2020070121A (en) 2018-10-29 2020-05-07 パナソニックIpマネジメント株式会社 Transportation method, transportation system, program, and pallet
WO2020183658A1 (en) 2019-03-13 2020-09-17 学校法人 千葉工業大学 Information processing device and mobile robot

Also Published As

Publication number Publication date
JP2022120729A (en) 2022-08-18

Similar Documents

Publication Publication Date Title
US10838067B2 (en) Object detection system
KR102194426B1 (en) Apparatus and method for environment recognition of indoor moving robot in a elevator and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
EP2715286B1 (en) Deep lane navigation system for automatic guided vehicles
KR20200041355A (en) Simultaneous positioning and mapping navigation method, device and system combining markers
US20100070078A1 (en) Apparatus and method for building map
JP5800613B2 (en) Position / posture estimation system for moving objects
US20230419531A1 (en) Apparatus and method for measuring, inspecting or machining objects
Beinschob et al. Advances in 3d data acquisition, mapping and localization in modern large-scale warehouses
CN114859929A (en) AGV path planning method based on improved DWA algorithm in dynamic environment
JP2009176031A (en) Autonomous mobile body, autonomous mobile body control system and self-position estimation method for autonomous mobile body
Cherubini et al. Avoiding moving obstacles during visual navigation
JP7482808B2 (en) MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM
JP7179102B2 (en) Mobile object control method, mobile object and program
JP2018013860A (en) Autonomous movable object control device
WO2016009585A1 (en) Autonomous mobile object and method of controlling same
JP7325465B2 (en) Mobile object control method, mobile object and program
JP7482811B2 (en) MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM
JP7257431B2 (en) Mobile object control method, mobile object and program
CN115273066A (en) Shelf identification method and device, electronic equipment and machine-readable storage medium
Kolu et al. A mapping method tolerant to calibration and localization errors based on tilting 2D laser scanner
JP7300413B2 (en) Control device, moving body, movement control system, control method and program
WO2020189102A1 (en) Mobile robot, mobile robot control system, and mobile robot control method
CN108363391B (en) Robot and control method thereof
JP2022034861A (en) Forklift, location estimation method, and program
JP7187516B2 (en) Mobile object, mobile control system, mobile object control method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240222

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: 20240402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240430

R150 Certificate of patent or registration of utility model

Ref document number: 7482808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150