JP7181800B2 - moving body - Google Patents
moving body Download PDFInfo
- Publication number
- JP7181800B2 JP7181800B2 JP2019011111A JP2019011111A JP7181800B2 JP 7181800 B2 JP7181800 B2 JP 7181800B2 JP 2019011111 A JP2019011111 A JP 2019011111A JP 2019011111 A JP2019011111 A JP 2019011111A JP 7181800 B2 JP7181800 B2 JP 7181800B2
- Authority
- JP
- Japan
- Prior art keywords
- marker
- orientation
- markers
- graph structure
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000003550 marker Substances 0.000 claims description 128
- 238000000547 structure data Methods 0.000 claims description 56
- 238000005457 optimization Methods 0.000 claims description 14
- 230000003287 optical effect Effects 0.000 claims description 11
- 238000012937 correction Methods 0.000 claims description 5
- 238000003384 imaging method Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 230000036544 posture Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 102100032919 Chromobox protein homolog 1 Human genes 0.000 description 4
- 101000797584 Homo sapiens Chromobox protein homolog 1 Proteins 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 210000000078 claw Anatomy 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 101000761698 Hydrophis hardwickii Short neurotoxin 1 Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007648 laser printing Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007650 screen-printing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Forklifts And Lifting Vehicles (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Image Analysis (AREA)
Description
本明細書に開示する技術は、対象物の位置および姿勢を認識する移動体に関する。 The technology disclosed in this specification relates to a moving object that recognizes the position and orientation of an object.
特許文献1には、マーカをパレットや荷台などの荷役対象物に貼り付け、カメラで撮像したマーカ画像に対してパターンマッチング処理を行うことで、マーカの位置や大きさを算出する技術が開示されている。これにより、フォークリフトに対する荷役対象物の相対的な位置や姿勢を検出している。
特許文献1の技術は、荷役対象物の奥行方向の3次元的な姿勢は算出できない。奥行方向の3次元的な姿勢の一例としては、荷役対象物のヨー方向(上下を軸とした回転方向)やピッチ方向(左右を軸とした回転方向)の回転姿勢が挙げられる。本明細書は、荷役対象物の三次元的な位置姿勢を高精度に推定することが可能な技術を開示する。
The technique of
本明細書に開示する移動体の一実施形態は、複数のマーカが予め定められた第1所定距離だけ離して配置されているマーカ群を備えた対象物の位置および姿勢を認識する移動体である。移動体は、マーカ群を撮像するための光学センサを備える。移動体は、移動体が移動した1つまたは複数の移動点の各々で光学センサを用いて対象物を撮像した画像に基づいて、1つまたは複数の移動点の各々においてマーカ群の位置および姿勢を推定するマーカ群位置姿勢推定部を備える。移動体は、複数のセンサノードと、マーカノードと、複数のセンサノードとマーカノードとの相対的位置関係を規定する複数のアークと、を備えるグラフ構造データを生成するグラフ構造データ生成部を備える。移動体は、生成したグラフ構造データを、複数のアークから算出される誤差関数の和が最小となるように最適化することで、マーカ群の位置および姿勢の推定値を補正する補正部を備える。複数のセンサノードは、1つまたは複数の移動点のそれぞれにおける光学センサの位置および姿勢を示すノードである。マーカノードは、マーカ群位置姿勢推定部で推定されたマーカ群の位置および姿勢を示すノードである。 One embodiment of the moving body disclosed in this specification is a moving body that recognizes the position and orientation of an object that includes a marker group in which a plurality of markers are arranged at a predetermined first predetermined distance. be. The moving body has an optical sensor for capturing an image of the marker group. The moving object detects the positions and orientations of the marker group at each of the one or more moving points based on the image of the object captured by the optical sensor at each of the one or more moving points. and a marker group position/orientation estimating unit for estimating . The moving body includes a graph structure data generator that generates graph structure data including a plurality of sensor nodes, a marker node, and a plurality of arcs that define relative positional relationships between the plurality of sensor nodes and the marker nodes. . The moving body includes a correction unit that corrects the estimated values of the position and orientation of the marker group by optimizing the generated graph structure data so that the sum of error functions calculated from a plurality of arcs is minimized. . A plurality of sensor nodes are nodes indicating the position and orientation of the optical sensor at each of one or more movement points. The marker node is a node indicating the position and orientation of the marker group estimated by the marker group position/orientation estimator.
上記の移動体では、1つまたは複数の移動点のそれぞれにおける光学センサの位置および姿勢を示す複数のセンサノードと、マーカ群位置姿勢推定部で推定されたマーカ群の位置および姿勢を示すマーカノードと、複数のセンサノードとマーカノードとの相対的位置関係を規定する複数のアークと、を備えたグラフ構造データを生成することができる。そしてグラフ構造データを最適化することで、マーカ群の位置および姿勢の推定値を補正することができる。1つまたは複数の移動点の各々において推定した、マーカ群の位置および姿勢の複数の推定結果を用いて、全体最適化することができる。よって、ある1つの移動点で推定したマーカ群の位置および姿勢の推定結果を用いる場合と比して、マーカ群の位置および姿勢をより正確に推定することが可能となる。 In the moving object described above, a plurality of sensor nodes indicating the position and orientation of the optical sensor at each of one or more movement points, and a marker node indicating the position and orientation of the marker group estimated by the marker group position and orientation estimator. and a plurality of arcs defining relative positional relationships between the plurality of sensor nodes and the marker nodes. By optimizing the graph structure data, the estimated values of the positions and orientations of the marker group can be corrected. Global optimization can be performed using multiple estimation results of the position and orientation of the marker group estimated at each of one or more movement points. Therefore, it is possible to more accurately estimate the position and orientation of the marker group compared to the case of using the estimation result of the position and orientation of the marker group estimated at one movement point.
移動体が時刻tiの移動点から時刻ti+1の移動点まで移動した場合に、時刻ti+1の移動点における移動体の位置および姿勢を算出する移動体位置姿勢算出部をさらに備えてもよい。マーカ群位置姿勢推定部は、時刻ti+1の移動点においてマーカ群の位置および姿勢を推定してもよい。グラフ構造データ生成部は、時刻ti+1の移動点におけるセンサノードおよびマーカノードと、時刻ti+1の移動点におけるセンサノードとマーカノードとの相対的位置関係を規定するアークと、を生成して、グラフ構造データに追加してもよい。効果の詳細は実施例で説明する。 A moving body position/orientation calculation unit may be further provided for calculating the position and orientation of the moving body at the moving point at time t i+1 when the moving body moves from the moving point at time t i to the moving point at time t i+1. . The marker group position/orientation estimation unit may estimate the position and orientation of the marker group at the movement point at time t i+1 . The graph structure data generation unit generates a sensor node and a marker node at the movement point at time t i+1 and an arc that defines the relative positional relationship between the sensor node and the marker node at the movement point at time t i+1 , It may be added to the graph structure data. Details of the effect will be described in Examples.
移動体は、対象物を保持可能な支持構造部を備えていてもよい。移動体は、補正部によって補正されたマーカ群の位置および姿勢に基づいて、支持構造部をアクセスするアクセス位置を推定するアクセス位置推定部をさらに備えていてもい。効果の詳細は実施例で説明する。 The mobile body may comprise a support structure capable of holding the object. The moving body may further include an access position estimation unit that estimates an access position for accessing the support structure based on the positions and orientations of the marker group corrected by the correction unit. Details of the effect will be described in Examples.
移動体は、補正部によって補正されたマーカ群の位置および姿勢に基づいて、移動体の現在位置から対象物までの軌道および速度パターンを生成する軌道生成部をさらに備えていてもよい。移動体は、生成した軌道および速度パターンに基づいて移動体を対象物まで移動させる移動制御部をさらに備えていてもよい。移動体は、アクセス位置推定部で推定したアクセス位置に基づいて、支持構造部をアクセス位置にアクセスさせるアクセス制御部をさらに備えていてもよい。効果の詳細は実施例で説明する。 The moving object may further include a trajectory generating unit that generates a trajectory and speed pattern from the current position of the moving object to the target based on the positions and orientations of the marker group corrected by the correcting unit. The moving body may further include a movement control section that moves the moving body to the object based on the generated trajectory and speed pattern. The mobile body may further comprise an access controller for causing the support structure to access the access position based on the access position estimated by the access position estimator. Details of the effect will be described in Examples.
支持構造部はフォークであってもよい。対象物はパレットであってもよい。光学センサは、フォークの動作と一体化して動作してもよい。効果の詳細は実施例で説明する。 The support structure may be a fork. The object may be a pallet. The optical sensor may operate integrally with the movement of the forks. Details of the effect will be described in Examples.
マーカ群は、水平方向に第1所定距離だけ離れた2つ以上のマーカを備えていてもよい。効果の詳細は実施例で説明する。 The group of markers may comprise two or more markers horizontally separated by a first predetermined distance. Details of the effect will be described in Examples.
マーカ群は、水平方向に第1所定距離だけ離れた2つ以上のマーカよりも上方または下方側に、さらに1つ以上のマーカを備えていてもよい。効果の詳細は実施例で説明する。 The marker group may further include one or more markers above or below the two or more markers horizontally separated by the first predetermined distance. Details of the effect will be described in Examples.
マーカ群位置姿勢推定部は、光学センサで撮像された画像内にマーカ群が複数存在する場合に、複数のマーカ群の各々の位置および姿勢を推定してもよい。グラフ構造データ生成部は、複数のマーカ群の各々の位置および姿勢を示す複数のマーカノードを生成してもよい。効果の詳細は実施例で説明する。 The marker group position/orientation estimating unit may estimate the position and orientation of each of the plurality of marker groups when there are a plurality of marker groups in the image captured by the optical sensor. The graph structure data generation unit may generate a plurality of marker nodes indicating respective positions and orientations of a plurality of marker groups. Details of the effect will be described in Examples.
(フォークリフト1の構成)
以下、図1および図2を参照して、本実施例のフォークリフト1について説明する。図1はフォークリフト1の概略斜視図であり、図2はブロック図である。フォークリフト1は、無人フォークリフトである。図1に示すように、フォークリフト1は、車体2、制御部10(図2に図示)、マスト20、フォーク22、バックレスト23、カメラ固定部24、カメラ30、を備えている。
(Configuration of forklift 1)
A
車体2は、その両側面のそれぞれに前輪28及び後輪29を備えている。前輪28は、駆動機構を介して駆動輪モータ(不図示)が接続されており、移動制御部17(図2に図示)によって回転駆動されるようになっている。後輪29は、操舵装置(不図示)に接続されており、移動制御部17によって車輪の向きが調整される。移動制御部17が駆動輪モータ及び操舵装置を制御することで、車体2は路面を走行すると共に、車体2の進行方向を変えることができる。
The
マスト20は、車体2の前面に取付けられている支柱であり、その軸線は上下方向に伸びている。フォーク22は、マスト20に上下方向に移動可能に取付けられている。フォーク22は、一対のツメ22a、22bを有している。ツメ22a、22bは、車体2の左右方向に互いに離間した位置に配置されており、マスト20側から車体2の前方に向かって伸びている。フォーク22は、荷役装置制御部18(図2に図示)により昇降される。フォーク22の上下方向の位置は、荷役装置制御部18の駆動量によって特定可能となっている。
The
バックレスト23は、フォーク22の上に載せた荷物がマスト20の後方に落下するのを防ぐ部材である。カメラ固定部24は、バックレスト23と一体化するようにカメラ30を固定する部材である。これにより、フォーク22がマスト20によって上下するときや、不図示のチルト機構によって前後に傾くときに、カメラ30も一体となって動く。よって、フォーク22を基準としたマーカ画像を取得することができる。
The
図2のブロック図を説明する。フォークリフト1は、制御部10、グラフ構造記憶部19、フォーク22、前輪28、後輪29、カメラ30、エンコーダ40、を備える。制御部10は、フォークリフト1を制御する装置である。制御部10は、例えば、CPU、ROM、RAM等を備えたコンピュータによって構成することができる。コンピュータがプログラムを実行することで、制御部10は、図2に示すマーカ群位置姿勢推定部11~荷役装置制御部18等として機能する。制御部10は、位置姿勢推定モジュールMOD1と、車両制御モジュールMOD2とを備える。位置姿勢推定モジュールMOD1は、後述する位置姿勢推定処理(図6)を実行する。車両制御モジュールMOD2は、後述する荷役処理(図7)を実行する。位置姿勢推定モジュールMOD1と車両制御モジュールMOD2とは、互いに独立しており並列に動作可能である。位置姿勢推定モジュールMOD1は、マーカ群位置姿勢推定部11、グラフ構造データ生成部13、グラフ最適化部14、アクセス位置推定部15を備えている。車両制御モジュールMOD2は、車体位置姿勢算出部12、軌道生成部16、移動制御部17、荷役装置制御部18を備えている。マーカ群位置姿勢推定部11~荷役装置制御部18の各々の動作内容の詳細は、後述する。グラフ構造記憶部19は、後述するグラフ構造データを記憶する部位である。エンコーダ40は、車輪の回転角を検出するセンサを備えた部位である。その他の部位については、図1で説明済みである。
The block diagram of FIG. 2 will be described. The
(パレットの構成)
図3に、本実施形態に係るパレット50の一例を示す。パレット50は、カゴパレットである。パレット50の正面下部には、フォーク22を挿入するための空間SPが配置されている。空間SP内には、パレット基準座標PCが予め設定されている。y方向(左右方向)におけるパレット基準座標PCの原点位置は、パレット50の正面中央である。z方向(上下方向)におけるパレット基準座標PCの原点位置は、フォーク22を差す高さである。パレット基準座標PCの原点位置は、設計者によって決定された位置であり、空間上の仮想的な位置である。
(Pallet composition)
FIG. 3 shows an example of the
パレット50の正面には、2つのマーカM1およびM2を備えたマーカ群MGが配置されている。本実施形態では、マーカM1およびM2は、AR(Augmented Reality)マーカである。すなわちマーカM1およびM2は、拡張現実システムにおいて、付加情報を表示する位置を指定するための標識となるマーカである。図3において、マーカ基準座標MC1およびMC2は、マーカM1およびM2の各々の位置および姿勢(向き)を示している。マーカM1およびM2は、予め定められた第1所定距離D1だけ互いに離れて、水平方向に配置されている。またマーカM1およびM2は、同一面内に配置されている。これにより、パレット基準座標PCの原点とマーカ基準座標MC1およびMC2の原点との相対位置が一意に決まる。具体的には、最初にマーカM1およびM2の配置位置や第1所定距離D1を決定する。そして、荷取り位置との距離を測定する、または、設計情報から距離を算出することで、マーカM1およびM2とパレット基準座標PCの原点との相対位置をデータファイルに登録する。よって、マーカM1およびM2の位置と、パレット基準座標PCとの関係を既定(拘束)することができる。換言すれば、マーカM1およびM2は、パレット基準座標PCとの位置関係が既定できる場所に設置しなければならない。
A marker group MG comprising two markers M1 and M2 is arranged in front of the
(パレットの自動荷役)
図4~図9を用いて、パレットの自動荷役の具体的な処理について説明する。本説明例では図4に示すように、時刻tiにおける位置P1から時刻ti+1における位置P2へ、軌道TR1を通って車体2が走行する場合の処理内容を説明する。図4において、車体基準座標VC1およびVC2は、時刻tiおよびti+1の各々における車体2の位置および姿勢(向き)を示している。車体基準座標VC1およびVC2の原点は、車体2の原点を示している。カメラ基準座標CC1およびCC2は、時刻tiおよびti+1の各々におけるカメラ30の位置および姿勢(向き)を示している。
(Automatic loading and unloading of pallets)
Specific processing of automatic handling of pallets will be described with reference to FIGS. 4 to 9. FIG. In this explanation example, as shown in FIG. 4, the contents of processing when the
(位置姿勢推定処理の内容)
図6の位置姿勢推定処理は、新たな荷役処理の開始でスタートする。具体的には、後述する荷役処理のS210で荷役処理を開始することが判断されることによってスタートする。S10において、画像データ受信処理が行われる。本説明例では、図4の時刻tiにおける位置P1において、カメラ30がパレット50を撮像する。そして制御部10は、カメラ30から画像データを受信する。
(Details of position and orientation estimation processing)
The position/orientation estimation process in FIG. 6 starts when a new cargo handling process starts. Specifically, it is started when it is determined in S210 of the cargo handling process to be described later that the cargo handling process is to be started. In S10, image data reception processing is performed. In this illustrative example, the
S20において、マーカ群位置姿勢推定部11は、受信した画像データに基づいてマーカM1およびM2の位置および姿勢を推定する。この推定処理は、公開されているソフトライブラリを用いることができるため、説明を省略する。図9に、マーカの位置および姿勢の推定結果の一例を示す。カメラ30による計測結果に基づく推定結果では、マーカの位置および姿勢には誤差が含まれる。例えば図9の推定結果では、マーカ基準座標MC1およびMC2が示すマーカM1およびM2の姿勢は、誤差を含むため、パレット50の正面に対して垂直になっていない状態である。すなわち図9の推定結果では、マーカM1およびM2のヨー角姿勢を正確に推定できていない。
In S20, the marker group position/
S30において、車体位置姿勢算出部12は、車体2の位置および姿勢を算出する。具体的には、エンコーダ40によって検出された前輪28の回転角に基づいて、車体2の移動方向及び移動量を求める。
In S<b>30 , the vehicle body position/
S35において、グラフ最適化部14は、グラフ最適化処理を実行するか否かを判断する。この判断は、例えば、グラフ最適化処理を前回実行した時点から車体2が0.5m以上進んだか否かによって行われてもよい。これにより、グラフ構造が必要以上に長大ならないように抑制することができる。否定判断される場合(S35:NO)にはS10へ戻り、肯定判断される場合(S35:YES)にはS40へ進む。
In S35, the
S40~S70において、グラフ構造データ生成処理が行われる。グラフ構造データは、制御部10にて中間情報として生成されるデータである。グラフ構造データは、マーカM1およびM2の位置および姿勢の推定の誤差を抑制するために用いられるデータである。
In S40 to S70, graph structure data generation processing is performed. The graph structure data is data generated as intermediate information by the
図5に示すグラフ構造データについて説明する。グラフ構造データは、車体ノードVN1およびVN2、センサノードSN1およびSN2、マーカノードMN1およびMN2を備える。車体ノードVN1およびVN2は、時刻tiおよびti+1の移動点の各々における車体2の位置および姿勢を示す情報である。センサノードSN1およびSN2は、時刻tiおよびti+1の移動点の各々におけるカメラ30の位置および姿勢を示す情報である。マーカノードMN1およびMN2は、時刻tiおよびti+1の移動点の各々において推定されたマーカM1およびM2の位置および姿勢を示す情報である。図5では説明の便宜上、マーカノードMN1およびMN2を円で示している。しかし実際は、図9で説明したように、マーカノードMN1およびMN2は、ヨー角姿勢などの姿勢情報も有している。
The graph structure data shown in FIG. 5 will be described. The graph structure data comprises vehicle body nodes VN1 and VN2, sensor nodes SN1 and SN2, and marker nodes MN1 and MN2. The vehicle body nodes VN1 and VN2 are information indicating the position and orientation of the
またグラフ構造データは、アークAC1およびAC2、アークAVC1およびAVC2、アークAVN12、アークAM、を備える。アークは、相対位置の制約条件である。アークAC1は、センサノードSN1とマーカノードMN1との相対的位置関係、および、センサノードSN1とマーカノードMN2との相対的位置関係を規定する情報である。同様に、アークAC2は、センサノードSN2とマーカノードMN1との相対的位置関係、および、センサノードSN2とマーカノードMN2との相対的位置関係を規定する情報である。アークAVC1およびAVC2は、車体ノードとセンサノードとの間の相対的位置関係を規定する情報である。アークAVN12は、車体ノードVN1とVN2との相対的位置関係を規定する情報である。アークAMは、マーカM1とM2との間の相対的位置関係を規定する情報である。 The graph structure data also comprises arcs AC1 and AC2, arcs AVC1 and AVC2, arc AVN12, and arc AM. Arcs are relative position constraints. Arc AC1 is information defining the relative positional relationship between sensor node SN1 and marker node MN1 and the relative positional relationship between sensor node SN1 and marker node MN2. Similarly, arc AC2 is information defining the relative positional relationship between sensor node SN2 and marker node MN1 and the relative positional relationship between sensor node SN2 and marker node MN2. Arcs AVC1 and AVC2 are information defining the relative positional relationship between the vehicle node and the sensor node. Arc AVN12 is information that defines the relative positional relationship between vehicle nodes VN1 and VN2. Arc AM is information that defines the relative positional relationship between markers M1 and M2.
各アークは、「ノード間の相対位置・姿勢の初期値」と「確からしさ」に関する事前知識を保持している。「確からしさ」は、情報行列で表すことができる。情報行列は、ノード間の相対位置および姿勢の誤差についての分散共分散行例の逆行列である。アークAVC1およびAVC2によって規定される車体ノードとセンサノードとの間の相対位置および姿勢は、フォークリフト1の設計事項であるため、既知である。同様に、アークAMによって規定されるマーカM1とM2との間の相対位置および姿勢は、図3で説明したように既知である。アークAVCおよびアークAMは既知であるため、グラフ構造記憶部19に予め保存しておき、グラフ構造生成時に読み出して利用することができる。
Each arc has prior knowledge about "initial values of relative positions and orientations between nodes" and "probability". "Probability" can be represented by an information matrix. The information matrix is the inverse of the variance-covariance matrix for the relative position and pose errors between nodes. The relative positions and attitudes between the vehicle node and the sensor node defined by the arcs AVC1 and AVC2 are a matter of design of the
グラフ構造データの生成処理の具体例を説明する。S40において、グラフ構造データ生成部13は、車体位置姿勢算出部12で得られた車体2の位置および姿勢を表す車体ノードを設定する。本説明例では、車体位置姿勢算出部12で時刻ti+1における車体基準座標VC2(図4)が求められる。そして、車体基準座標VC2に対応する車体ノードVN2(図5)が追加される。
A specific example of graph structure data generation processing will be described. In S<b>40 , the graph
S50において、グラフ構造データ生成部13は、カメラ30の位置および姿勢を表すセンサノードを設定する。センサノードの設定は、カメラ30と、車体2の後輪29の車軸との既知の位置関係に基づいて行うことができる。本説明例では、センサノードSN2(図5)が追加される。
S60において、グラフ構造データ生成部13は、S20で推定したマーカM1およびM2の位置および姿勢を表すマーカノードMN1およびMN2(図5)を設定する。
In S<b>50 , the graph
In S60, the graph
S70において、グラフ構造データ生成部13は、センサノードとマーカノード間、車体ノードとセンサノード間、車体ノード間、マーカM1とM2との間、にアークを追加する。本説明例では、アークAC2、アークAVC2、アークAVN12およびアークAMが追加される。S80において、グラフ構造データ生成部13は、ノードやアークが追加されたグラフ構造データをグラフ構造記憶部19に記憶する。
In S70, the graph
S100においてグラフ最適化部14は、グラフ構造記憶部19に記憶されているグラフ構造データを最適化する。最適化には、例えば、Graph-Based SLAM(Simultaneous Localization and Mapping)を用いることができる。Graph-Based SLAMは、カメラ位置やマーカ位置をノード(頂点)、それらの間の相対位置の制約条件をアーク(辺)とするグラフに対して、各制約の誤差総和を最小化するように最適化計算を行う手法である。過去から現在までの車体2の移動に伴う全データを利用して全体最適化を行うため、過去に遡ってマーカ位置を修正できるという特徴を有する。
In S<b>100 , the
Graph-Based SLAMを具体的に説明する。各ノードの相対位置制約からの誤差の総和を評価関数として、非線形最小二乗問題を解く。この評価関数は次式となる。
図8を用いて、マーカノードの位置及び姿勢を補正できる理由を説明する。図8では、時刻tiにおける位置P1、時刻ti+1における位置P2、時刻ti+2における位置P3の各々において、マーカM1およびM2の位置姿勢を推定(S20)した場合の例である。すなわち、多視点からの観測を行った例である。マーカを用いた位置姿勢の推定では、カメラ30からマーカを結んだ線上(奥行方向)に距離の誤差が生じる。例えば、カメラ30とマーカとの距離が4mの場合に、標準偏差20mmである。一方、横方向には誤差はほとんど生じない。すると、位置P1~P3の各々におけるマーカM1の位置姿勢の推定結果には、誤差の異方性を示す誤差楕円EE11~EE13が存在する。そこで、複数の異なる方向からの観測結果によるグラフ構造を作成し、最適化することで、誤差楕円EE11~EE13の交点IS1を解として求めることができる。また同様に、マーカM2においても誤差楕円EE21~EE23の交点IS2を解として求めることができる。よって、マーカの位置および姿勢の誤差を補正できる。そして後述するように、マーカM1およびM2の間には位置および姿勢に関する強い制約(高い確からしさ)が存在するため、奥行き方向の位置、および、マーカ基準座標MC1およびMC2のヨー角姿勢を正確に推定することが可能となる。
The reason why the position and orientation of the marker node can be corrected will be described with reference to FIG. FIG. 8 shows an example in which the positions and orientations of markers M1 and M2 are estimated (S20) at position P1 at time t i , position P2 at time t i+1 , and position P3 at time t i+2 . That is, this is an example of observation from multiple viewpoints. In estimating a position and orientation using a marker, a distance error occurs on a line connecting the
S110において、アクセス位置推定部15は、マーカノードの補正された位置および姿勢から、フォーク22を差し込むアクセス位置を推定する。具体的には、パレット基準座標PCの原点および座標姿勢を推定する。図3で説明したように、マーカM1およびM2とパレット基準座標PCとの相対位置関係は既知であるため、パレット基準座標PCの原点および座標姿勢は容易に算出できる。そしてアクセス位置推定部15は、推定したアクセス位置を、軌道生成部16および荷役装置制御部18へ出力する。
In S110, the access
S120において、位置姿勢推定処理を終了するか否かが判断される。具体的には、後述する荷役処理のS280でパレット50をすくう処理が完了しているか否かによって、S120で位置姿勢推定処理を終了するか否かが判断される。否定判断される場合(S120:NO)にはS10へ戻る。そしてグラフ最適化処理を実行することが再度判断されると(S35:YES)、時刻ti+2における車体ノードVN3およびセンサノードSN3がグラフ構造データに新たに追加される。また、センサノードSN3とマーカノードMN1およびMN2との間のアークAC3、車体ノードVN3とセンサノードSN3との間のアークAVC3、車体ノードVN2とVN3との間のアークAVN23、がグラフ構造データに新たに追加される。そして、S100でグラフ構造データが再度最適化され、S110でマーカノードの位置姿勢が再度補正される。一方、肯定判断される場合(S120:YES)には、位置姿勢推定処理を終了する。
In S120, it is determined whether or not to end the position/orientation estimation process. Specifically, it is determined in S120 whether or not to end the position/orientation estimation process depending on whether or not the process of scooping up the
(荷役処理の内容)
図7を用いて荷役処理を説明する。S210において車両制御モジュールMOD2は、荷役処理を開始するか否かを判断する。例えば、ユーザによる荷役開始操作の入力の有無に応じて判断してもよい。否定判断される場合(S210:NO)にはS210へ戻り待機し、肯定判断される場合(S210:YES)にはS220へ進む。
(Details of cargo handling)
The cargo handling process will be described with reference to FIG. In S210, the vehicle control module MOD2 determines whether or not to start the cargo handling process. For example, the determination may be made depending on whether or not the user has input a cargo handling start operation. If the determination is negative (S210: NO), the process returns to S210 and waits, and if the determination is positive (S210: YES), the process proceeds to S220.
S220において軌道生成部16は、目標位置を取得する。目標位置の取得は、前述した位置姿勢推定処理(図6)のS110でフォーク22のアクセス位置の1回目の推定が行われたことに応じて、実行することができる。目標位置は、フォーク22のアクセス位置より30cmほど手前に設定してもよい。S230において、軌道生成部16は、S110で算出されたパレット基準座標PCの原点および座標姿勢に基づいて、車体2の現在位置から対象物までの軌道および速度パターンを生成する。S240において移動制御部17は、生成した軌道および速度パターンに基づいて、目標位置に向けて車体2を移動させる。
In S220, the
S250において移動制御部17は、目標位置に到達したか否かを判断する。否定判断される場合(S250:NO)にはS240へ戻りさらに車体2を移動させ、肯定判断される場合(S250:YES)にはS260へ進む。ここで、荷役処理(図7)と並列動作している位置姿勢推定処理(図6)では、車体2が移動することに従って、グラフ構造の追加(S40~S70)、グラフ構造の最適化(S100)およびアクセス位置の推定(S110)が繰り返し実行される。すなわち、車体2の移動中に、フォーク22から見た目標位置が更新される。そして、随時更新された目標位置に向かって車体2を移動させることができる。よって、パレット50への近接動作を正確に行うことが可能となる。
In S250, the
S260において荷役装置制御部18は、不図示の荷役アクチュエータを介してフォーク22の位置を調整する。具体的には、リフト機構でフォーク22の高さを調整し、サイドシフト機構でフォーク22の横位置を調整する。S270において荷役装置制御部18は、算出されたパレット基準座標PCの原点および座標姿勢に基づいて、フォーク22をアクセス位置に差し込む。具体的には、パレット50の奥行を考慮して、車体2を直進させる。S280において、荷役装置制御部18は、パレット50をすくう。具体的には、チルト機構によってフォーク22を傾けるとともにマスト20によってフォーク22を上昇させる。
In S260, the cargo handling
S290において、荷降ろし動作および待機位置への復帰動作を行う。これらの動作は自動で行ってもよいし、オペレータが操作してもよい。これらの動作は従来技術で実現できるため、説明は省略する。 At S290, the unloading operation and the return operation to the standby position are performed. These operations may be performed automatically or may be operated by an operator. Since these operations can be realized by the conventional technology, description thereof is omitted.
(効果)
パレットや荷台などの対象物に貼り付けられたマーカを、正対したカメラで遠方から撮像して対象物の位置や姿勢を認識する技術では、一般的に、対象物の奥行方向の位置や、マーカの法線ベクトルによって推測されるヨー方向やピッチ方向の回転姿勢を正確に求めることが困難なため、フォークをパレットに差し込む際に意図しない衝突等が発生してしまう場合がある。本明細書の技術では、複数のセンサノードと、マーカノードと、複数のアークと、を備えるグラフ構造データを生成し、生成したグラフ構造データを最適化する。複数のセンサノードは、異なる時刻の複数の移動点のそれぞれにおけるカメラ30の位置および姿勢を示す情報である。マーカノードは、異なる時刻の複数の移動点のそれぞれで推定されたマーカM1およびM2の位置および姿勢を表す情報である。従って、異なる時刻の複数の移動点の各々において推定された、マーカM1およびM2の位置および姿勢の複数の推定結果を用いて、マーカM1およびM2の位置および姿勢の推定値を補正することができる。換言すると、マーカを用いて推定した対象物の奥行方向の情報と、複数の移動点の移動量の累積によって求めた車体2の位置(オドメトリ)の奥行方向の情報とを、グラフ構造を用いることで関連付けることができる。そして、対象物の奥行方向の情報の精度不足分を、オドメトリの奥行方向の情報を用いることで補完することができる。以上より、ある1つの移動点で推定したマーカM1およびM2の位置および姿勢の推定結果を用いる場合と比して、マーカM1およびM2の位置および姿勢をより正確に推定することが可能となる。
(effect)
In technology for recognizing the position and orientation of an object by photographing a marker attached to an object such as a pallet or loading platform from a distance with a facing camera, generally, the position of the object in the depth direction, Since it is difficult to accurately determine the rotational postures in the yaw and pitch directions estimated from the normal vectors of the markers, unintended collisions may occur when inserting the fork into the pallet. The technique herein generates graph structure data comprising a plurality of sensor nodes, marker nodes, and a plurality of arcs, and optimizes the generated graph structure data. A plurality of sensor nodes is information indicating the position and orientation of
本明細書の技術では、カメラ、車体、マーカの相対位置関係を、グラフ構造データを用いて表現している。そして、マーカM1とM2との間の相対的位置関係は、既知であり、高精度に位置決めされている。換言すると、マーカ間のアークAMの「確からしさ」は高い。よって、最適化によって修正する必要のあるアークを、センサノードとマーカ間のアークACに絞ることが可能となる。全てのアークの「確からしさ」が低い場合に比して、マーカM1およびM2の位置および姿勢をより正確に推定することが可能となる。 In the technology of this specification, the relative positional relationship among the camera, vehicle body, and marker is expressed using graph structure data. The relative positional relationship between the markers M1 and M2 is known and positioned with high accuracy. In other words, the "probability" of the arc AM between markers is high. Therefore, arcs that need to be corrected by optimization can be narrowed down to arcs AC between sensor nodes and markers. The positions and orientations of the markers M1 and M2 can be estimated more accurately than when the "likelihood" of all arcs is low.
車体2が時刻tiの移動点から時刻ti+1の移動点まで移動した場合に、グラフ構造データ生成部13は、時刻ti+1の移動点におけるセンサノードおよびマーカノードと、時刻ti+1の移動点におけるセンサノードとマーカノードとの相対的位置関係を規定するアークと、を生成する(S40~S70)。そして、生成した時刻ti+1の移動点におけるセンサノード、マーカノードおよびアークを、時刻tiまでの移動点について生成されたグラフ構造データに、新たに追加することができる(S80)。すなわち本実施例に係るフォークリフト1は、グラフ構造データを走行中に更新することが可能である。
When the
図3に示すように、マーカM1およびM2は、予め定められた第1所定距離D1だけ互いに離れて、水平方向に配置されている。すなわち、ヨー方向の回転軸(図3のz軸)に対して直交する方向に、マーカM1およびM2を配置している。これにより、パレット50の奥行方向の3次元的な姿勢である、ヨー方向の回転姿勢の推定精度を高くすることができる。換言すると、2つのマーカM1およびM2の各々のヨー方向の計測精度は低い。例えばマーカ正面から観測した場合の計測精度が、数度の角度の独立したばらつきを持つ場合がある。一方、位置(特に横方向や上下方向)の計測精度は、ヨー方向の計測精度に比して高い。そして図3で説明したように、二つのマーカ間の第1所定距離D1は正確に規定されている。また、マーカ基準座標MC1およびMC2の法線方向(図3のx軸負方向)は、二つのマーカを結んだ方向(図3のy軸方向)に対して直交するように正確に位置決めされている。この事前知識を元にグラフ構造の最適化を行うことにより、マーカのヨー角姿勢の推定精度を高めることができる。
As shown in FIG. 3, the markers M1 and M2 are horizontally arranged apart from each other by a predetermined first predetermined distance D1. That is, the markers M1 and M2 are arranged in a direction orthogonal to the rotation axis in the yaw direction (the z-axis in FIG. 3). As a result, the accuracy of estimating the rotational posture in the yaw direction, which is the three-dimensional posture of the
実施例2は、マーカ群を備えたパレットが複数存在する場合における、自動荷役の処理例である。パレットが複数存在する点以外は、実施例1と処理内容は共通する。以下に、実施例1と異なる点のみを説明する。例として、図10に示すように、パレット50に加えてパレット50aが配置されている場合について説明する。パレット50aは、マーカM1aおよびM2aを備えている。マーカM1aおよびM2aの内容や位置関係は、パレット50のマーカM1およびM2と同様である。また、図10の位置関係に基づいて、図11のグラフ構造データが生成される場合について説明する。
A second embodiment is an example of automatic cargo handling when there are a plurality of pallets with marker groups. The processing contents are the same as those of the first embodiment except that there are a plurality of pallets. Only points different from the first embodiment will be described below. As an example, as shown in FIG. 10, a case where a
図10の時刻tiにおける位置P1において、カメラ30によって、パレット50および50aが撮像される(図6のS10)。マーカ群位置姿勢推定部11は、マーカM1、M2、M1a、M2aの位置および姿勢を推定する(S20)。グラフ構造データ生成部13は、図11に示すように、マーカノードMN1およびMN2に加えて、マーカノードMN1aおよびMN2aを設定する(S60)。またアークAC1、アークAVC1、アークAVN12、アークAMに加えて、アークAC1aを設定する(S70)。以後の処理は、実施例1と同様であるため、説明を省略する。
以上より、図11に示すように、複数のパレットについてグラフ構造データを生成することができる。そして、複数のパレットについてのグラフ構造データを最適化(S100)することができる。複数のパレットの各々に配置されているマーカの位置および姿勢を、同時にまとめて補正することが可能となる。 From the above, as shown in FIG. 11, graph structure data can be generated for a plurality of palettes. Then, the graph structure data for multiple palettes can be optimized (S100). It is possible to collectively correct the positions and orientations of the markers placed on each of the plurality of pallets at the same time.
実施例3は、パレットに加えて、柱や壁など既知の固定物にもマーカを配置した、自動荷役の処理例である。固定物にもマーカが配置されている点以外は、実施例1と処理内容は共通する。以下に、実施例1と異なる点のみを説明する。例として、図12に示すように、パレット50に加えて柱PL1~PL4が配置されている場合について説明する。柱PL1~PL4は、マーカMP1~MP4を備えている。また、時刻tiにおける位置P11から時刻ti+3における位置P14へ、車体2が走行する場合の処理内容を説明する。また、図12の位置関係に基づいて、図13のグラフ構造データが生成される場合について説明する。図13では、柱PL1~PL4の各々に対応して、柱ノードPN1~PN4が配置されている。
Example 3 is an example of automatic cargo handling processing in which markers are placed on known fixed objects such as pillars and walls in addition to pallets. The contents of processing are the same as those of the first embodiment, except that markers are also placed on fixed objects. Only points different from the first embodiment will be described below. As an example, as shown in FIG. 12, a case where pillars PL1 to PL4 are arranged in addition to the
グラフ構造データ生成部13は、図13に示すように、柱ノードPN1~PN4の間にアークAP1~AP5を設定する。センサノードSN11と柱ノードPN1およびPN2との間に、アークAC11を設定する。センサノードSN12と柱ノードPN3との間に、アークAC12を設定する。センサノードSN13と柱ノードPN4との間に、アークAC13を設定する。センサノードSN14とマーカノードMN1およびMN2との間に、アークAC14を設定する。
The graph
以上より図13に示すように、柱PL1~PL4についてもグラフ構造データを生成することができる。そして、生成したグラフ構造データを最適化(S100)することができる。柱PL1~PL4は、その相対位置や姿勢は既知であるため、柱ノードPN1~PN4の間に設定されたアークAP1~AP5は、「確からしさ」が高い。「確からしさ」が高いアークAP1~AP5をグラフ構造データに含めることができるため、アークAP1~AP5を含まない場合に比して、グラフ構造データに含まれる誤差の総和を小さくすることができる。より正確にマーカノードMN1およびMN2の位置および姿勢を補正することが可能となる。 From the above, as shown in FIG. 13, graph structure data can also be generated for the pillars PL1 to PL4. Then, the generated graph structure data can be optimized (S100). Since the relative positions and postures of the pillars PL1 to PL4 are known, the arcs AP1 to AP5 set between the pillar nodes PN1 to PN4 have a high "probability". Since the arcs AP1 to AP5 with high "probability" can be included in the graph structure data, the total error included in the graph structure data can be reduced compared to the case where the arcs AP1 to AP5 are not included. It is possible to correct the positions and orientations of the marker nodes MN1 and MN2 more accurately.
以上、本明細書が開示する技術の実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。 Although the embodiments of the technology disclosed in this specification have been described in detail above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above.
(変形例)
本実施形態では、マーカの位置および姿勢を認識する移動体としてフォークリフトを説明したが、この形態に限られない。マーカの位置・姿勢情報を利用して移動可能な移動体であれば、本明細書の技術を適用可能である。移動体の他の例としては、移動ロボット、モバイルマニュピレータ、ドローンなどが挙げられる。
(Modification)
In the present embodiment, a forklift was described as a moving object that recognizes the position and orientation of the marker, but the present invention is not limited to this form. The technology of the present specification can be applied to any moving object that can move using the position/orientation information of the marker. Other examples of mobile objects include mobile robots, mobile manipulators, and drones.
車体(移動体)ノードを含まないグラフ構造データを用いてもよい。この場合、例えば図5のグラフ構造データの例では、車体ノードVN1およびVN2、アークAVC1およびAVC2、アークAVN12を省略することができる。例えば手持ちカメラのように、カメラの位置姿勢の情報がない場合においても、複数の異なる方向からの観測結果と誤差モデルに対してGraph-Based SLAMを適用することより、マーカ位置を高精度に推定することができる。この原理は、図8で説明済みである。これにより、車体2の移動前においてパレット誘導用の軌道および速度パターンを生成する段階(S230)で、軌道の精度を向上させる効果を得ることができる。なお、グラフ構造の最適化では、必ずしも観測時のカメラ位置の初期値は必要ない。カメラノードの位置は、グラフ構造の最適化の結果、求めることができる。
Graph structure data that does not include a vehicle body (moving body) node may be used. In this case, for example, in the graph structure data example of FIG. 5, the vehicle body nodes VN1 and VN2, the arcs AVC1 and AVC2, and the arc AVN12 can be omitted. For example, even if there is no information about the position and orientation of the camera, such as a hand-held camera, the marker position can be estimated with high accuracy by applying Graph-Based SLAM to the observation results from multiple different directions and the error model. can do. This principle has already been explained in FIG. As a result, it is possible to obtain the effect of improving the accuracy of the trajectory at the step of generating the trajectory and speed pattern for guiding the pallet before the
本実施例では、異なる時刻の複数の移動点における複数のセンサノードを備えるグラフ構造データを生成する場合を説明したが、この形態に限られない。例えば図9に示すように、1の時刻の1つの移動点における1つのセンサノードを備えるグラフ構造を用いても、マーカM1およびM2の位置および姿勢を推定することが可能である。 In this embodiment, the case of generating graph structure data including a plurality of sensor nodes at a plurality of movement points at different times has been described, but the present invention is not limited to this form. For example, as shown in FIG. 9, it is possible to estimate the positions and orientations of markers M1 and M2 using a graph structure with one sensor node at one moving point at one time.
図3において、複数のマーカが同一面内に水平方向に配置されている場合を説明したが、この形態に限られない。パレット基準座標PCの原点とマーカ基準座標の原点との相対位置が一意に決まる態様であれば、複数のマーカが異なる面内に配置されていてもよいし、複数のマーカが水平方向に配置されていなくてもよい。 In FIG. 3, the case where a plurality of markers are arranged in the same plane in the horizontal direction has been described, but the present invention is not limited to this form. As long as the relative position between the origin of the pallet reference coordinates PC and the origin of the marker reference coordinates is uniquely determined, the plurality of markers may be arranged in different planes, or the plurality of markers may be arranged in the horizontal direction. It doesn't have to be.
図3において、第1所定距離D1離れて水平方向に配置されているマーカM1およびM2に加えて、マーカM1およびM2よりも上方側(z軸正方向側)または下方側(z軸負方向側)に、さらに1つ以上のマーカを備えてもよい。これにより、ピッチ方向の回転軸(図3のy軸)に対して直交する方向に、追加のマーカを配置することができる。パレット50の奥行方向の3次元的な姿勢である、ピッチ方向の回転姿勢の推定精度を高くすることができる。
In FIG. 3, in addition to the markers M1 and M2 horizontally arranged at a distance of a first predetermined distance D1, ) may further comprise one or more markers. This allows additional markers to be placed in a direction orthogonal to the pitch direction axis of rotation (y-axis in FIG. 3). It is possible to increase the accuracy of estimating the rotation posture in the pitch direction, which is the three-dimensional posture of the
パレットに取り付けるマーカ数が2個である場合を説明したが、この形態に限られない。マーカ間にアークを配置できればよいため、マーカは複数枚であればよい。 Although the case where the number of markers attached to the pallet is two has been described, the present invention is not limited to this form. A plurality of markers is sufficient as long as arcs can be arranged between the markers.
図3では、パレット50の正面のみにマーカを配置する形態を説明したが、この形態に限られない。パレット50の正面に対して斜め方向からカメラ30がパレット50を撮像する場合に備えて、パレット50の側面にもマーカを配置してもよい。
Although FIG. 3 illustrates a mode in which markers are arranged only on the front surface of the
マーカをパレットに配置する方法は、マーカ間の相対位置が一意に決まるのであれば、様々であってよい。テープでの貼付、接着、ねじ式、磁石式、ピン止めなどの態様でもよい。レーザー印刷、ホットスタンプ印刷、スクリーン印刷などによって、パレットにマーカを直接印刷してもよい。透明なポケットにマーカが差し込まれているマーカ取り付け部を、パレットに固定する態様でもよい。 Various methods of arranging the markers on the palette may be used as long as the relative positions between the markers are uniquely determined. Applied with a tape, adhered, screwed, magnetized, or pinned may be used. Markers may be printed directly onto the pallet by laser printing, hot stamping, screen printing, or the like. A mode is also possible in which the marker mounting part, in which the marker is inserted in the transparent pocket, is fixed to the pallet.
本実施例ではマーカとしてARマーカを用いる態様を説明したが、この形態に限られない。マーカの位置および姿勢が求まるのであれば、どのようなマーカを用いてもよい。例えば、不可視マーカを用いてもよい。 In this embodiment, a mode using an AR marker as a marker has been described, but the present invention is not limited to this mode. Any marker can be used as long as the position and orientation of the marker can be determined. For example, invisible markers may be used.
カメラ30は単眼カメラに限らず、ステレオカメラや不可視マーカ用カメラでもよい。
The
カメラ30は、フォーク22と一体化していれば、その取り付け方は自由である。例えば図1において、ツメ22aと22bの間であって、フォーク22のバックレスト面より奥側(車体2側)に配置されていてもよい。
The
パレット50がカゴパレットである場合を説明したが、平パレットなど他の形状のパレットでもよい。
Although the case where the
本実施例では、S30において車体位置姿勢算出部12はエンコーダ40で車体2移動量を求めているが、この形態に限られない。2次元レーザセンサ等を使ったレーザーオドメトリを用いてもよい。
In this embodiment, the vehicle body position/
制御部10はフォークリフト1に搭載される形態に限られない。例えば、インターネットなどのネットワーク上に配置されたサーバであってもよい。
The
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。 The technical elements described in this specification or in the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims as of the filing. In addition, the techniques exemplified in this specification or drawings achieve multiple purposes at the same time, and achieving one of them has technical utility in itself.
カメラ30は、光学センサの一例である。グラフ最適化部14は、補正部の一例である。フォーク22は、支持構造部の一例である。
1:フォークリフト 11:マーカ群位置姿勢推定部 12:車体位置姿勢算出部 13:グラフ構造データ生成部 14:グラフ最適化部 15:アクセス位置推定部 16:軌道生成部 17:移動制御部 18:荷役装置制御部 19:グラフ構造記憶部 22:フォーク 30:カメラ 1: Forklift 11: Marker group position/posture estimation unit 12: Car body position/posture calculation unit 13: Graph structure data generation unit 14: Graph optimization unit 15: Access position estimation unit 16: Trajectory generation unit 17: Movement control unit 18: Cargo handling Device control unit 19: Graph structure storage unit 22: Fork 30: Camera
Claims (8)
前記マーカ群を撮像するための光学センサと、
前記移動体が移動した1つまたは複数の移動点の各々で前記光学センサを用いて前記対象物を撮像した画像に基づいて、前記1つまたは複数の移動点の各々において前記第1マーカおよび前記第2マーカの位置および姿勢を推定するマーカ群位置姿勢推定部と、
複数のセンサノードと、第1マーカノードと、第2マーカノードと、前記複数のセンサノードと前記第1マーカノードおよび前記第2マーカノードとの相対的位置関係の制約条件を規定する複数の第1アークと、前記第1マーカと前記第2マーカとの相対的位置関係の制約条件を規定する第2アークと、を備えるグラフ構造データを生成するグラフ構造データ生成部と、
生成した前記グラフ構造データを最適化することで、前記第1マーカおよび前記第2マーカの位置および姿勢の推定値を補正する補正部と、
を備え、
前記複数のセンサノードは、前記1つまたは複数の移動点のそれぞれにおける前記光学センサの位置および姿勢を示すノードであり、
前記第1マーカノードおよび前記第2マーカノードは、前記マーカ群位置姿勢推定部で推定された前記第1マーカおよび前記第2マーカの位置および姿勢を示すノードであり、
前記第2アークの制約条件は前記第1アークの制約条件よりも強く、
前記最適化では、前記第2アークよりも前記第1アークの方がより修正される、
移動体。 A moving body for recognizing the position and orientation of an object including a group of markers in which a first marker and a second marker are arranged apart from each other by a predetermined first predetermined distance,
an optical sensor for imaging the marker group;
At each of the one or more movement points, the first marker and the a marker group position/orientation estimation unit that estimates the position and orientation of the second marker ;
a plurality of sensor nodes; a first marker node ; a second marker node ; a graph structure data generation unit that generates graph structure data including one arc and a second arc that defines a constraint on the relative positional relationship between the first marker and the second marker;
a correction unit that corrects estimated values of the positions and orientations of the first marker and the second marker by optimizing the generated graph structure data;
with
the plurality of sensor nodes are nodes indicating the position and orientation of the optical sensor at each of the one or more movement points;
The first marker node and the second marker node are nodes indicating the positions and orientations of the first marker and the second marker estimated by the marker group position/orientation estimation unit,
the constraint on the second arc is stronger than the constraint on the first arc;
wherein the optimization modifies the first arc more than the second arc;
Mobile.
前記マーカ群位置姿勢推定部は、前記時刻ti+1の移動点において前記マーカ群の位置および姿勢を推定し、
前記グラフ構造データ生成部は、前記時刻ti+1の移動点におけるセンサノードおよびマーカノードと、前記時刻ti+1の移動点におけるセンサノードとマーカノードとの相対的位置関係を規定するアークと、を生成して、前記グラフ構造データに追加する、請求項1に記載の移動体。 a moving body position/orientation calculating unit that calculates the position and orientation of the moving body at the moving point at time t i+1 when the moving body moves from the moving point at time t i to the moving point at time t i+1; ,
The marker group position/orientation estimation unit estimates the position and orientation of the marker group at the movement point at the time t i+1 ,
The graph structure data generator generates a sensor node and a marker node at the movement point at time t i+1 and an arc that defines a relative positional relationship between the sensor node and the marker node at the movement point at time t i+1 . and added to the graph structure data.
前記移動体は、前記補正部によって補正された前記マーカ群の位置および姿勢に基づいて、前記支持構造部をアクセスするアクセス位置を推定するアクセス位置推定部をさらに備える、請求項1に記載の移動体。 The moving body includes a support structure capable of holding the object,
2. The movement according to claim 1, wherein the moving body further comprises an access position estimating unit that estimates an access position for accessing the support structure based on the positions and orientations of the marker group corrected by the correcting unit. body.
生成した前記軌道および速度パターンに基づいて前記移動体を前記対象物まで移動させる移動制御部と、
前記アクセス位置推定部で推定した前記アクセス位置に基づいて、前記支持構造部を前記アクセス位置にアクセスさせるアクセス制御部と、
をさらに備える、請求項3に記載の移動体。 a trajectory generation unit that generates a trajectory and a speed pattern from the current position of the moving body to the object based on the positions and orientations of the group of markers corrected by the correction unit;
a movement control unit that moves the moving object to the object based on the generated trajectory and speed pattern;
an access control unit that causes the support structure to access the access position based on the access position estimated by the access position estimation unit;
The moving object according to claim 3, further comprising:
前記対象物はパレットであり、
前記光学センサは、前記フォークの動作と一体化して動作する、請求項3または4に記載の移動体。 the support structure is a fork;
the object is a pallet,
5. The moving body according to claim 3, wherein said optical sensor operates in unison with the movement of said fork.
前記グラフ構造データ生成部は、前記複数のマーカ群の各々の位置および姿勢を示す複数の前記第1マーカノードおよび前記第2マーカノードを生成する、請求項1~7の何れか1項に記載の移動体。 The marker group position and orientation estimation unit estimates the position and orientation of each of the plurality of marker groups when there are a plurality of the marker groups in the image captured by the optical sensor,
8. The graph structure data generator according to any one of claims 1 to 7, wherein said graph structure data generator generates a plurality of said first marker nodes and said second marker nodes indicating respective positions and orientations of said plurality of marker groups. mobile.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019011111A JP7181800B2 (en) | 2019-01-25 | 2019-01-25 | moving body |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019011111A JP7181800B2 (en) | 2019-01-25 | 2019-01-25 | moving body |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020118586A JP2020118586A (en) | 2020-08-06 |
JP7181800B2 true JP7181800B2 (en) | 2022-12-01 |
Family
ID=71891993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019011111A Active JP7181800B2 (en) | 2019-01-25 | 2019-01-25 | moving body |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7181800B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7409264B2 (en) * | 2020-08-27 | 2024-01-09 | トヨタ自動車株式会社 | Transport systems, transport methods, and programs |
JP7351274B2 (en) * | 2020-08-28 | 2023-09-27 | 株式会社豊田自動織機 | cargo estimation device |
WO2022049743A1 (en) * | 2020-09-04 | 2022-03-10 | ヤマハ発動機株式会社 | Travel control method for autonomous carrier vehicle, autonomous carrier vehicle, and conveyance system |
JP2022054072A (en) * | 2020-09-25 | 2022-04-06 | コベルコ建機株式会社 | Position detection system |
JP7482811B2 (en) * | 2021-02-16 | 2024-05-14 | 三菱ロジスネクスト株式会社 | MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM |
JP7511518B2 (en) | 2021-04-07 | 2024-07-05 | 三菱ロジスネクスト株式会社 | MOBILE BODY CONTROL METHOD, MOBILE BODY, AND PROGRAM |
US20240248483A1 (en) | 2021-06-02 | 2024-07-25 | Tohoku University | Information processing device, moving body, information processing method, and program |
WO2024209687A1 (en) * | 2023-04-07 | 2024-10-10 | 三菱電機株式会社 | Automatic connection mechanism, autonomous traveling vehicle, and automatic connection method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018084995A (en) | 2016-11-24 | 2018-05-31 | 株式会社豊田中央研究所 | Route data generation device, moving body equipped with same, and route data generation method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06115897A (en) * | 1992-10-07 | 1994-04-26 | Toyota Autom Loom Works Ltd | Stacking method for post pallet for fork-lift |
JPH11278799A (en) * | 1998-03-24 | 1999-10-12 | Mitsubishi Electric Corp | Loading control device for unmanned fork lift, and loading control method for unmanned fork lift |
-
2019
- 2019-01-25 JP JP2019011111A patent/JP7181800B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018084995A (en) | 2016-11-24 | 2018-05-31 | 株式会社豊田中央研究所 | Route data generation device, moving body equipped with same, and route data generation method |
Also Published As
Publication number | Publication date |
---|---|
JP2020118586A (en) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7181800B2 (en) | moving body | |
KR102326097B1 (en) | Pallet detection using units of physical length | |
US9868212B1 (en) | Methods and apparatus for determining the pose of an object based on point cloud data | |
JP6697204B1 (en) | Robot system control method, non-transitory computer-readable recording medium, and robot system control device | |
US11667036B2 (en) | Workpiece picking device and workpiece picking method | |
WO2021046716A1 (en) | Method, system and device for detecting target object and storage medium | |
US10102629B1 (en) | Defining and/or applying a planar model for object detection and/or pose estimation | |
JP7252581B2 (en) | Article detection device, article detection method, and industrial vehicle | |
JP2017102529A (en) | Workpiece position posture calculator and handling system | |
CN110796118B (en) | Method for obtaining attitude adjustment parameters of transportation equipment, transportation equipment and storage medium | |
CN111664857A (en) | Self-position estimating device, self-position estimating method and recording medium | |
JP2006350897A (en) | Motion measurement device | |
CN115683017A (en) | Battery positioning method, device, equipment, storage medium and battery replacement station | |
JP7312089B2 (en) | Measuring device | |
JP7227849B2 (en) | Trajectory generator | |
JP7192706B2 (en) | Position and orientation estimation device | |
CN111256689A (en) | Robot positioning method, robot and storage medium | |
WO2023036212A1 (en) | Shelf locating method, shelf docking method and apparatus, device, and medium | |
JP2021081852A (en) | Movable body and system | |
JP7513203B2 (en) | Vehicle control device, control method, and program | |
CN112218745A (en) | Control device, control method, robot device, and program | |
CN116203578A (en) | Visual marker map pose acquisition method, robot positioning method and system | |
CN108508894A (en) | A kind of robot localization method based on two-dimensional laser | |
JP7223587B2 (en) | Object motion estimation method and object motion estimation device | |
JP7249168B2 (en) | Objects to be handled |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210607 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220622 |
|
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: 20221025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7181800 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |