JP7389655B2 - 移動体の移動制御方法 - Google Patents

移動体の移動制御方法 Download PDF

Info

Publication number
JP7389655B2
JP7389655B2 JP2020006189A JP2020006189A JP7389655B2 JP 7389655 B2 JP7389655 B2 JP 7389655B2 JP 2020006189 A JP2020006189 A JP 2020006189A JP 2020006189 A JP2020006189 A JP 2020006189A JP 7389655 B2 JP7389655 B2 JP 7389655B2
Authority
JP
Japan
Prior art keywords
movement
moving
moving object
straight path
straight
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
JP2020006189A
Other languages
English (en)
Other versions
JP2021114096A (ja
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.)
Kumagai Gumi Co Ltd
Original Assignee
Kumagai Gumi 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 Kumagai Gumi Co Ltd filed Critical Kumagai Gumi Co Ltd
Priority to JP2020006189A priority Critical patent/JP7389655B2/ja
Publication of JP2021114096A publication Critical patent/JP2021114096A/ja
Application granted granted Critical
Publication of JP7389655B2 publication Critical patent/JP7389655B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、移動体に設定した移動予定情報に基づいて移動体を移動させる移動体の移動制御方法に関する。
本体に、障害物検知手段(センサ)、方向検知手段(センサ)、距離認識手段(センサ)、位置認識手段、緩衝手段(センサ)等を搭載し、これら各手段からの出力信号に基づいて移動体(自律走行装置)の走行を制御する移動体の移動制御方法が知られている(特許文献1参照)。
特開2009-265801号公報
移動体に、床面に対して何らかの処理を行う装置を搭載した特定処理機能搭載移動体がある。例えば、撮像手段(カメラ)を搭載して床面を撮影する撮像手段搭載移動体、掃除機を搭載して床面を掃除する掃除機付き移動体等である。
例えば、移動対象面上において、このような特定処理機能搭載移動体を始点から一方向に延長する直線経路の終点で折り返して次の直線経路を辿るように移動させる際、撮影画像を使用した検査処理や掃除機を使用した掃除処理等において不具合が生じないように、当該移動体が直線経路の終点まで移動した際の移動領域(既に移動体が移動した移動領域)における次の直線経路側の部分と当該移動体が次の直線経路の始点から次の直線経路の終点まで移動する際の移動領域(以後の移動体の移動領域)とが重なるように移動体を移動させる場合がある。
即ち、移動対象面上において移動予定情報に基づく直線経路の折り返しが繰り返される移動予定経路を辿って移動体を移動させる移動制御方法において、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体を移動させる際に、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが重なるようにする必要がある場合には、移動領域が重ならなかった場合、不具合が生じてしまうという課題があった。
尚、撮影画像を使用した検査処理の不具合としては、例えば、撮影画像の端部の部分が暗くなり、検査を正確に行うことができなくなる等の不具合、掃除機を使用した掃除処理において不具合としては、掃除されていない領域が生じてしまう等の不具合がある。
本発明は、上記課題に鑑み、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが重なるように移動体を制御する移動体の移動制御方法を提供することを目的とする。
本発明に係る移動体の移動制御方法は、移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、を備え、移動制御処理は、移動対象面上において移動予定情報に基づく直線経路の折り返しが繰り返される移動予定経路を辿って移動体を移動させる処理であり、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体を移動させる際に、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体の移動を制御した移動体の移動制御方法において、以下のような各移動制御処理を行うようにしたものである。
請求項1に係る移動制御処理は、移動体が一方の直線経路の終点に到達したと判定された際の移動体の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きい場合に、移動体を一方の直線経路の終点まで移動させた後に一方の直線経路の始点に向けて逆に移動させることによって、一方の直線経路を辿って逆に移動させた移動体の移動領域と一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする。
また、請求項2に係る移動制御処理は、移動体が一方の直線経路の終点に到達したと判定された際の移動体の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きい場合に、当該一方の直線経路の直後の直線経路である他方の直線経路の始点及び終点を一方の直線経路に近付けるように再設定した後、この再設定した他方の直線経路を辿って移動体を移動させることによって、一方の直線経路を辿って移動させた移動体の移動領域と他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする。
また、請求項3に係る移動制御処理は、移動体が一方の直線経路の終点に到達したと判定された際の移動体の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きくて、かつ、当該ずれが一方の直線経路の直後の直線経路側にずれたずれであった場合には、移動体を一方の直線経路の終点まで移動させた後に一方の直線経路の始点に向けて逆に移動させることによって、一方の直線経路を辿って逆に移動させた移動体の移動領域と当該一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする。
また、請求項4に係る移動制御処理は、移動体が一方の直線経路の終点に到達したと判定された際の移動体の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きくて、かつ、当該ずれが一方の直線経路の直前の直線経路側にずれるずれであった場合には、前記ずれ量が、オーバーラップ設定幅よりも大きく設定された所定値よりも大きいか否かを判定し、前記ずれ量が所定値以下の場合には、当該一方の直線経路の直後の直線経路である他方の直線経路の始点及び終点を一方の直線経路に近付けるように再設定した後、この再設定した他方の直線経路を辿って移動体を移動させることによって、一方の直線経路を辿って移動させた移動体の移動領域と他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにし、前記ずれ量が所定値よりも大きい場合には、移動体を一方の直線経路の終点まで移動させた後に一方の直線経路の始点に向けて逆に移動させることによって、一方の直線経路を辿って逆に移動させた移動体の移動領域と一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする。
また、請求項5に係る移動制御処理は、直線経路を辿って移動中の移動体の実際の移動情報と当該直線経路とのずれ量がオーバーラップ設定幅よりも大きくなった場合には、以後、当該直線経路を辿る移動体の実際の移動情報と当該直線経路とのずれ量がオーバーラップ設定幅よりも小さくなるように移動体の移動を制御することによって、一方の直線経路を辿って移動させた移動体の移動領域と一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする。
本発明に係る移動体の移動制御方法によれば、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが、予め設定されたオーバーラップ設定幅以上の幅で重なるようになるため、例えば検査処理や掃除処理等において、不具合の発生をなくすことができるようになる。
移動体の移動制御システムを示す図。 移動体を示す斜視図。 昇降装置の詳細を示す図であって、(a)は正面図、(b)は側面図。 昇降装置による移動体の移動方向変更動作手順を示す動作手順図。 移動予定情報設定処理を示すフローチャート。 移動予定情報設定画面を示す図。 移動予定情報設定処理により設定されるジグザグ経路を示す図。 移動制御処理の全体を示すフローチャート。 移動制御処理における通常走行処理を示すフローチャート。 移動体の移動制御処理における通常走行処理の概要を示す図。 移動制御処理における折返し処理を示すフローチャート。 移動体の移動制御処理における折返し処理の概要を示す図。 折返し処理におけるオーバーラップ確保処理の一例を説明する説明図。 折返し処理におけるオーバーラップ確保処理の一例を説明する説明図。 折返し処理におけるオーバーラップ確保処理の一例を説明する説明図。 移動制御処理におけるイレギュラー発生時処理を示すフローチャート。 回転中心算出方法を示す説明図。 角度算出方法を示す説明図。 ベクトルと点との距離を算出する方法を示す説明図。 直線経路(レーン)更新方法を示す説明図。 自己位置推定方法を示す説明図。 実施形態2に係る移動制御処理の要部を示すフローチャート。
実施形態1
図1に示すように、実施形態1に係る移動体の移動制御方法は、移動対象面としての例えば建物内の床面F上を移動させる移動体1に移動予定情報を設定する移動予定情報設定処理と、移動体1を移動予定情報に基づいて移動させるとともに、移動情報取得手段としての自動追尾型のトータルステーション(以下、TSと言う)2により取得された移動体1の実際の移動情報(移動体の逐次位置情報)と移動予定情報とを比較して移動体1の移動を制御する移動制御処理と、を備えた方法である。
尚、本明細書においては、前、後、上、下、左、右は、図1,図2に示した方向と定義して説明する。
移動予定情報設定処理においては、移動予定情報として、例えば、床面F上において複数の直線経路(以下、レーンと呼ぶ場合がある)L(L1,L2,L3…)の折返しが繰り返されるジグザグ経路Z(図7参照)を辿って移動体1を移動させるための移動予定情報を設定する。
尚、移動予定情報に基づいて予め設定されるジグザグ経路Zとは、例えば、図7に示すように、床面F上において、移動体1の移動開始地点(直線経路L1の始点)S1(S1x,S1y)から移動体1を前進させる一方方向に向けて終点G1(G1x,G1y)まで延長する最初の直線経路L1と、最初の直線経路L1の終点G1(G1x,G1y)から一方方向と直交する方向に向けて2番目の直線経路L2の開始地点(直線経路L2の始点)S2まで延長する直線間経路M1と、2番目の直線経路L2の開始地点S2から一方方向とは反対方向に向けて2番目の直線経路L2の終点G2まで延長する最初の直線経路L1と平行な直線経路L2と、2番目の直線経路L2の終点G2から反対方向と直交する方向に向けて3番目の直線経路L3の開始地点S3まで延長する直線間経路M1と平行な直線間経路M2とからなる1サイクルの折返し経路が複数サイクル繰り返されて構成される移動予定経路のことである。
換言すれば、ジグザグ経路Zとは、移動対象面としての床面F上において移動予定情報に基づく直線経路の折り返しが繰り返される移動予定経路のことである。
実施形態1の移動制御処理では、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体1を移動させる処理において、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体1の移動予定情報を修正して、移動体1の移動を制御する。
当該移動体の移動制御方法を実現する移動体制御システムは、図1に示すように、床面F上を移動可能に構成された移動体1と、移動体1を移動させる床面F上での移動予定情報を設定するための移動予定情報設定手段としての例えばパーソナルコンピュータ等のコンピュータ3と、移動体1の実際の移動情報を取得して移動体1に送信するTS2とを備える。
移動体1は、基体10と、基体10の下側に設けられた移動手段20と、基体10の表面側に設けられたTS2の視準となるプリズム等のターゲットT2と、基体10に設けられて移動体1の前側を昇降させる昇降装置40と、制御手段50と、床面Fを撮影するための撮像手段(カメラ)5とを備えている。
尚、撮像手段5は、基体10の下面(床面Fと対向する下面)側において、移動体1の左右幅間に亘って延長するように設けられており、移動体1が床面F上を移動した場合に、移動体1の下面の左右幅間に対向する床面Fを撮影できるように構成されている。
図2に示すように、移動手段20は、例えば、基体10の前側下部に設けられた左右の前側車輪21L,21Rと、基体10の後側下部に設けられた左右の後側車輪22L,22Rと、後側車輪22L,22Rの駆動源としてのモータ23L,23Rと、図外の駆動制御回路とを備える。
尚、モータ23L,23Rの各モータ軸には、それぞれ、後側車輪22L,22Rの回転量に基づいて移動体1の移動距離(移動量)を検出するための移動量検出手段としてのエンコーダ25L,25Rが取付けられている。
ターゲットT2は、TS2から発射される光を反射させる反射プリズム等で構成される。当該ターゲットT2は、例えば、図1,図2に示すように、基体10の上面の前側における左右間の中央位置に設置される。
昇降装置40は、例えば、図3に示すように、基体10の前側の内側に設けられた取付部41に取付けられたリニアアクチュエータ42と、リニアアクチュエータ42のロッド43の下端(先端)に連結された補強体44と、補強体44の下端(先端)に設けられた転動体45と、補強体44を上下方向にガイドするガイド部46とを備えて構成される。
即ち、基体10の前側に設けられて移動体1の前側を昇降可能に構成された昇降装置40は、リニアアクチュエータ42のロッド43とロッド43の下端(先端)に連結された補強体44とにより構成されて上下方向に伸縮する伸縮手段と、伸縮手段の下端(先端)に設けられた転動体45とを備える。
換言すれば、昇降装置40は、リニアアクチュエータ42のロッド43を伸縮させることにより、取付部41から転動体45までの長さが変更するように構成された伸縮手段と、当該伸縮手段の下端(先端)に設けられた転動体45とを備えた構成である。
ガイド部46は、例えば、補強体44が上下移動するための通路となるガイド壁47と、補強体44の外周面に設けられてガイド壁47を摺動するシール部材48とにより構成される。
当該ガイド部46は、伸縮手段を、後述する移動体1の回転中心線10Cと平行を維持しながら当該回転中心線10Cに沿った上下方向に移動させるためのガイドとして機能するものである。
制御手段50は、移動予定情報、TS2からの移動体1の実際の移動情報、エンコーダ25L,25Rからの情報に基づいて、後側車輪22L,22Rのモータ23L,23Rの駆動制御回路、及び、リニアアクチュエータ42のロッド43を伸縮させる図外の伸縮駆動源の駆動制御回路を制御することにより移動体1の移動を制御する移動制御プログラムと、当該移動制御プログラムによる情報処理を実現するコンピュータ等のハードウエア資源により構成される。
制御手段50は、移動体1の移動方向(進行方向)を変更する際、図4(a)に示すように、昇降装置40のリニアアクチュエータ42のロッド43を縮退状態から伸長させて転動体45を床面Fに押し付けるとともに基体10の前側を上方に移動させて移動体1の前側車輪21L,21Rを床面Fから浮かせた状態で、図4(b)に示すように、左右の後側車輪22L,22Rのモータ23L,23Rを制御して床面Fに接触している左右の後側車輪22L,22Rを互いに反対方向に回転させる。
この場合、移動体1を前進させる回転方向に一方の後側車輪を回転させるとともに、移動体1を後進させる回転方向に他方の後側車輪を回転させることによって、移動体1の回転中心線10Cを回転中心として、左右の後側車輪22L,22Rと転動体45とが床面F上を転動するので、床面F上において、移動体1が回転中心線10Cを回転中心として左方向又は右方向にスムーズに回転する。よって、移動体1の水平方向の向きがスムーズに変更されるようになる。尚、回転中心線10Cは、左右の後側車輪22L,22Rにおける各車輪の中心を結ぶ直線の中間位置と直交して上下方向に延長するとともにロッド43の中心軸と平行な線である。
即ち、この場合、図4(d)に示すように、左の後側車輪22Lの床面Fとの接触面の中心点22Cと、右の後側車輪22Rの床面Fとの接触面の中心点22Cと、転動体45の床面Fとの接触面の中心点45Cとが、移動体1の回転中心線10Cを回転中心とする1つの円弧10R上に位置するように構成されるので、移動体1は、回転中心線10Cを回転中心として左方向又は右方向にスムーズに回転する。
移動体1の水平方向の向きが変更された後、制御手段50は、図4(c)に示すように、昇降装置40のリニアアクチュエータ42のロッド43を伸長状態から縮退させることによって、基体10の前側を下方に移動させて移動体1の左右の前側車輪21L,21Rを床面Fに接触させることにより、移動体1の移動方向を変更できる。
以上により、移動体1の移動方向を変更でき、その後、変更された移動方向に移動体1を移動させることができる。
即ち、昇降装置40と、昇降装置40及び左右の後側車輪22L,22Rの回転方向を制御する制御手段50とによって、移動体1の移動方向変更手段が構成される。
以下、図5乃至図21に基づいて、移動体1の移動制御方法の具体例を説明する。
移動体1の移動制御方法は、まず、移動体1を移動させる床面F上での移動予定情報を設定する移動予定情報設定処理を行った後、移動予定情報設定処理で設定された移動予定情報を移動体1の制御手段50に読み込ませて、制御手段50は読み込んだ移動予定情報とTS2からの逐次送信されてくる移動体1の実際の移動情報とに基づいて移動体1の移動制御処理を行う。
図5に基づいて移動予定情報設定処理を説明する。
・ステップS1
移動予定情報設定手段としての例えばコンピュータ3の設定画面31(図6参照)にキーボード等の入力手段を用いて、図7に示すような、床面F上に移動予定経路としてのジグザグ経路Zを設定するために、移動体1の移動開始地点S1のXY座標値(S1x,S1y)と、最初の直線経路(レーン)L1の終点G1のXY座標値(G1x,G1y)と、隣り合う直線経路L,L間の距離wと、直線経路Lの数Nとを設定する。
尚、当該XY座標値は、床面F上の所定の位置に固定されたTS2の固定位置を基準としたTS2から見たXY座標値であり、移動体1の制御手段50は、床面F上の位置を、当該TS2から見たXY座標値に基づいて管理する。
即ち、床面F上において、予め定めた、移動体1の移動開始地点S1と、最初の直線経路L1の終点G1とに、図外のターゲットを設置し、当該移動開始地点S1のXY座標値(S1x,S1y)と当該最初の直線経路L1の終点G1のXY座標値(G1x,G1y)とを、床面F上の所定の位置に固定されたTS2を使用して取得し、このTS2により取得されたXY座標値を設定者が設定画面31を介して設定する。
そして、移動体1は、移動開始地点S1の真上にターゲットT2を位置させるとともに、前進方向(移動方向)が最初の直線経路L1の終点G1に向かう方向となるように床面F上に設置された後、移動制御されることになる。
・ステップS2
設定画面31のスキャン開始ボタン32をクリックする。
・ステップS3
コンピュータ3が設定された移動予定情報をファイルにしてコンピュータ3の記憶装置に書き込む
・ステップS4
コンピュータ3が移動体1の制御手段50に移動予定情報を送信して制御手段50の記憶装置に読み込ませた後、コンピュータ3から移動体1の制御手段50に移動制御プログラムの実行コマンドを送信する。
移動体1の制御手段50は、移動予定情報設定手段としてのコンピュータ3によって設定された移動予定情報、TS2からの移動体1の実際の移動情報、エンコーダ25L,25Rからの移動量情報に基づいて、移動体1の移動を制御する図8に示すような移動制御処理を行う。
移動制御処理においては、通常走行処理A、折返し処理B、イレギュラー発生時処理Cを行う。
図9,図10を参照し、通常走行処理A(ステップS10~ステップS15)について説明する。
・ステップS10
制御手段50は、移動予定情報設定処理により設定された移動予定情報を記憶装置のファイルから読み込み、移動制御プログラムに基づいて、移動体1の移動制御処理を開始する。
・ステップS11
制御手段50が、移動体1の最新の位置情報PnのXY座標値(Pnx,Pny)をTS2から取得して、移動体1の位置情報を更新する。
即ち、制御手段50は、TS2から送信されてくる移動体1の最新の位置情報Pnを、例えば、100ms毎に受信して、移動体1の位置情報更新処理を行う。
・ステップS12(イレギュラー発生時処理Cに移行するか否かの判定)
移動体1の位置情報更新でエラーが発生したか否かを判定する。即ち、制御手段50が、TS2から移動体1の最新の位置情報Pnを取得できたか否かを判定する。移動体1の位置情報更新でエラーが発生したと判定した場合(ステップS12でYesの場合)、イレギュラー発生時処理Cに移行する。
・ステップS13
位置情報更新でエラーが発生していないと判定された場合(ステップS12でNoの場合)、即ち、制御手段50が、TS2から移動体1の最新の位置情報Pnを取得できた場合、制御手段50は、移動制御プログラムに基づいて、移動体1の軌跡ベクトルT、直線経路ベクトルC、ゴール判定用ベクトルJを計算する。
即ち、制御手段50は、図10に示すように、今回の直線経路(レーン)Lの開始地点Snから今回の直線経路Lの終点Gn(Gnx,Gny)までの有向線分であるベクトル、即ち、直線経路ベクトルCを計算するとともに、移動体1の最新位置(現在のターゲット(T2の)座標)Pnを取得する毎に、移動体1の1フェーズ前のターゲット(T2の)座標Pn-1(Pn-1x,Pn-1y)から移動体1の最新位置Pnまでの有向線分であるベクトル、即ち、軌跡ベクトルTを計算し、さらに、移動体1の最新位置Pnから今回の直線経路Lの終点Gnまでの有向線分であるベクトル、即ち、ゴール判定用ベクトルJを計算する。
・ステップS14
制御手段50は、移動制御プログラムに基づいて、移動体1の回転中心座標Pr、ゴール判定角θg、直線経路Lからのずれ量E(移動予定情報と移動情報との位置ずれ量)、必要旋回角θrを計算する。
即ち、移動体1の回転中心座標Pr(Prx,Pry)は、図17に示すように、位置座標Pn(Pnx,Pny)と、位置座標Pn-1(Pn-1x,Pn-1y)と、式(3),(4)で示される軌跡ベクトルTとを用いて、式(1),(2)に基づいて求める。
また、ゴール判定角θg、及び、必要旋回角θrは、図18に示すように、2本のベクトルa,bがなす角度を求める方法により求められる。
即ち、直線経路ベクトルCとゴール判定用ベクトルJとがなす角度であるゴール判定角θgを、図18の式(1)に基づいて求める。
また、移動体1の回転中心座標Prから今回の直線経路の終点Gnまでの有向線分であるベクトル、即ち、必要旋回角度判定用ベクトルMと軌跡ベクトルTとがなす角度である必要旋回角θrを、図18の式(1)に基づいて求める。
直線経路Lからのずれ量Eは、図19に示すように、式(2)で示される直線経路ベクトルCと、点Pn(Pnx,Pny)とを用いて、式(1)に基づいて求める。即ち、式(1)のd=Eである。但し、式(1)のa,b,cは、式(3)に示されるとおりである。
・ステップS15(折返し処理Bに移行するか否かの判定処理(到達判定処理))
移動体1が今回の直線経路Lの終点Gnにゴールしたか否かを判定する。即ち、今回の直線経路Lに沿った移動体1の移動制御処理が終了したか否かを判定する。
つまり、制御手段50は、移動制御プログラムに基づいて、ゴール判定角θg>90°であれば、移動体1が今回の直線経路Lの終点Gnにゴールしたと判定し、ゴール判定角θg≦90°であれば、移動体1が終点Gnに未だゴールしていないと判定する。移動体1が終点Gnにゴールしたと判定した場合(ステップS15でYesの場合)、折返し処理Bに移行する。
尚、実施形態1においては、直線経路Lからのずれ量Eは、少なくとも、後述するように、移動体1が終点Gnにゴールしたと判定された時点、即ち、移動体1の位置情報更新により、ゴール判定角θg>90°となった時点での、移動体1の最新の位置情報PnのXY座標値(Pnx,Pny)と直線経路の終点Gn(Gnx,Gny)との位置ずれ量を求めればよい。
即ち、実施形態1では、移動体1の位置情報が更新される毎の移動体1と直線経路Lとのずれ量Eは、求めてもよいし、求めなくてもよいが、移動体1が終点Gnにゴールしたと判定された時点での直線経路Lからのずれ量E(移動体1の位置情報Pnと直線経路の終点Gnとの位置ずれ量)は必ず求める。
図11乃至図15を参照し、折返し処理B(ステップS30~ステップS54)について説明する。
・ステップS30
ステップS15でYesの場合、即ち、移動体1が終点Gnにゴールしたと判定された場合(今回の直線経路Lに沿った移動体1の移動制御処理が終了したと判定された場合)、設定された本数Nの直線経路Lに沿った移動体1の移動制御処理が全て終了したか否かを判定する。
ステップS30でNoの場合、即ち、移動制御処理が全て終了していないと判定された場合、次の直線経路Lの沿った移動体1の移動制御処理に移行するための折返し処理Bを行う。
・ステップS31
移動体1がn番目の直線経路Lに沿って移動し、移動体1の位置情報更新により、ゴール判定角θg>90°となった時点での移動体1の最新の位置情報PnのXY座標値(Pnx,Pny)と当該n番目の直線経路Lの終点Gn(Gnx,Gny)との位置ずれ量(図11では、「直線経路終点でのずれ量」と表記した)を求める。即ち、n番目の直線経路(任意の直線経路L)の終点でのずれ量を求める。
・ステップS32
制御手段50は、判定式=「撮影幅-直線経路間距離<直線経路の終点でのずれ量」に基づいて、オーバーラップ良否判定を行う。
尚、「撮影幅-直線経路間距離」は、オーバーラップ設定幅である。
図13(a)に示すように、例えば撮影幅k=1.2m、直線経路間距離w=1m、オーバーラップ設定幅m=0.2mである。
つまり、制御手段50は、ステップS32での判定がYesである場合は、n番目の直線経路Lの終点でのずれ量がオーバーラップ設定幅よりも大きく、オーバーラップ不良領域が生じているとして、以後、オーバーラップ領域確保処理に移行する。
また、制御手段50は、ステップS32での判定がNoである場合は、n番目の直線経路の終点でのずれ量がオーバーラップ設定幅よりも小さく、オーバーラップ領域が正常に確保されているとして、以後、通常折返し処理(ステップS40,41,42,44,45,46)に移行する。
・ステップS33
n番目の直線経路Lの終点において、移動体1が、最後の直線経路側寄り(図13(b)の右側寄り)にずれたのか否かを判定する。
制御手段50は、ステップS33での判定がYesの場合、即ち、移動体1が、最後の直線経路側寄りにずれたと判定された場合は、n番目の直線経路Lに沿って移動体1を逆走させてオーバーラップ領域を確保する逆走処理(ステップS50~ステップS54)に移行する。
即ち、一連のステップS31~S33、ステップS50~S54からなる移動制御処理では、移動体1がn番目の直線経路L(一方の直線経路)の終点に到達したと判定された際の移動体1の実際の移動情報と当該n番目の直線経路Lの終点とのずれ量がオーバーラップ設定幅よりも大きくて、かつ、当該ずれがn番目の直線経路Lの直後のn+1番目の直線経路L側(最後の直線経路側)にずれるずれであった場合には、移動体1をn番目の直線経路の終点まで移動させた後にn番目の直線経路Lの始点に向けて逆に移動させる、つまり、逆走させることによって、n番目の直線経路Lを辿って逆走させた移動体1の移動領域とn番目の直線経路Lの直前の直線経路であるn-1番目の直線経路L(他方の直線経路)又は直後の直線経路であるn+1番目の直線経路L(他方の直線経路)を辿って移動させた移動体1の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体1の移動を制御するようにした。
つまり、この場合は、前記ずれの量が、オーバーラップ設定幅よりも大きい場合には、移動体1が終点に到達したと判定された直線経路Lを逆方向に移動させる逆走処理を行うことで、移動体1に再び直線経路Lを辿る移動処理を行わせる。
即ち、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体1を移動させる移動制御処理において、直線経路Lを辿る移動体1の移動処理をやり直すことで、一方の直線経路を辿って移動させた移動体の移動領域と当該一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体1の移動を制御するようにした。
次に、制御手段50は、ステップS33での判定がNoの場合は、移動体1が最初の直線経路側寄り(図14(b)の左側寄り)にずれたとして、ステップS34に移行する。
・ステップS34
制御手段50は、判定式=「撮影幅(k)÷2<直線経路の終点でのずれ量」に基づいて、上述した逆走処理(ステップS50~ステップS54)を行うか否かを判定する。
即ち、ステップS34の判定においてYesの場合、即ち、n番目の直線経路Lの終点でのずれ量が、オーバーラップ設定幅よりも大きく設定された所定値である、撮影幅÷2(=例えば0.6m)よりも大きい場合は、上述した逆走処理を行う。
また、ステップS34の判定においてNoの場合、即ち、n番目の直線経路Lの終点でのずれ量が、撮影幅(k)÷2以下の場合は、次のn+1番目の直線経路Lを設定し直す直線経路再設定処理(ステップS42,S43)を行い、再設定した直線経路に沿って移動体1を順送させる。尚、当該「順走」とは、移動予定情報に基づいて予め設定される移動予定経路としての直線経路Lの予定進行方向に向けて移動体1を移動させることを言う。
即ち、一連のステップS31~S34、ステップS40~S46、ステップS50~S54からなる移動制御処理は、以下のとおりである。
互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体1を移動させる処理において、まず、一連のステップS31~S34においては、移動体1が一方の直線経路の終点に到達したと判定された際の移動体1の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きくて、かつ、当該ずれが一方の直線経路の直前の直線経路側(最初の直線経路側)にずれるずれである場合には、前記ずれ量が、オーバーラップ設定幅よりも大きく設定された所定値よりも大きいか否かを判定した。
また、一連のステップS34,ステップS40~S46においては、前記ずれ量が所定値としての「撮影幅÷2」以下の場合には、当該一方の直線経路の直後の直線経路である他方の直線経路の始点及び終点を一方の直線経路に近付けるように再設定した後、この再設定した他方の直線経路を辿って移動体を移動(順走)させることによって、一方の直線経路を辿って移動させた移動体の移動領域と他方の直線経路を辿って移動させた移動体の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体1の移動を制御した。
つまり、この場合は、前記ずれ量が、オーバーラップ設定幅よりも大きくて、かつ、所定値としての「撮影幅÷2」以下の場合には、移動体1が終点に到達したと判定された直線経路Lの次の直線経路Lの始点と終点とを再設定することで、直線経路L(一方の直線経路)を辿って移動させた移動体の移動領域と次の直線経路L(他方の直線経路)を辿って移動させた移動体の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体1の移動を制御した。
そして、一連のステップS34,ステップS50~S54においては、前記ずれ量が所定値としての「撮影幅÷2」よりも大きい場合には、移動体1を一方の直線経路の終点まで移動させた後に一方の直線経路の始点に向けて逆走させることによって、一方の直線経路を辿って逆に移動させた移動体の移動領域と一方の直線経路の直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体1の移動を制御する。
つまり、この場合は、前記ずれ量が、所定値としての「撮影幅÷2」よりも大きい場合には、逆走処理を行うことで、移動体1に再び直線経路Lを辿る移動処理を行わせる。即ち、一方の直線経路を辿る移動体1の移動処理をやり直すことで、一方の直線経路を辿って移動させた移動体の移動領域と当該一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体1の移動を制御するようにした。
尚、逆走処理を行う場合と直線経路再設定処理を行う場合とを分ける所定値を「撮影幅(k)÷2」とし、かつ、最初の直線経路側にずれたずれ量が、所定値である「撮影幅(k)÷2」以下の場合に、逆走処理を行なわずに直線経路再設定処理を行なうようにした理由は、以下のとおりである。
例えば、図13において、移動体1が一方の直線経路の始点Sn-1から終点Gn-1に向けて移動した場合に、当該一方の直線経路の終点でのずれが最初の直線経路側(図13の左側)にずれていて当該ずれ量が「撮影幅(k)÷2」よりも大きかった場合において、直線経路再設定処理を行なって、一方の直線経路の直後の他方の直線経路の始点Snを、一方の直線経路の終点Gn-1よりも最後の直線経路側(図13の右側)に設定すると、オーバーラップを確保できなくなる。そこで、最初の直線経路側にずれたずれ量が、所定値としての「撮影幅(k)÷2」よりも大きい場合には、一方の直線経路を辿る移動体1の移動処理をやり直す逆走処理を行なうようにしている。
一方、最初の直線経路側にずれたずれ量が、所定値としての「撮影幅(k)÷2」以下の場合は、後述するように、直線経路再設定処理にて設定される基準値rw=移動距離w-ずれ量a(図14(b)参照)であるので、例えば、図14(b)のように、一方の直線経路の直後の他方の直線経路の始点Sna+1を、一方の直線経路の終点Gnよりも最後の直線経路側に設定することで、オーバーラップを確保できるようになる。この場合、一方の直線経路の直後の他方の直線経路の始点を、一方の直線経路の終点よりも最後の直線経路側に設定できて、かつ、オーバーラップを確保できるようになるので、移動処理のやり直しである逆走処理を行う場合に比べて、所定の範囲を移動体1に移動させるのに要する時間を短くできるようになり、移動体1を効率的にかつオーバーラップを確保できるように移動させることができるようになる。
制御手段50による移動体1の順走処理(ステップS40~ステップS46)について説明する。
・ステップS40
n+1番目の直線経路Lの移動開始地点を向くように移動体1を旋回させる。
・ステップS41
n+1番目の直線経路Lの移動開始地点までの移動距離を計算する。
・ステップS42
移動距離>基準値(例えば1m)か否かを判定する。
・ステップS43
ステップS42の判定においてYesの場合、即ち、計算した移動距離が基準値よりも大きい場合には、ステップS41で計算した移動距離を基準値に設定する。即ち、計算した移動距離の代わりに、基準値を移動距離とする。これにより、n+1番目の直線経路L(次の直線経路)の始点及び終点が再設定されるので、n+1番目の直線経路Lが再設定されることになる。
・ステップS44
移動距離分だけ移動体1を前進させる。
・ステップS45
n+1番目の直線経路Lの終点を向くように移動体1を旋回させる。
・ステップS46
n+1番目の直線経路Lに沿って移動体1を順走させる。
移動体1の逆走処理(ステップS50~ステップS54)について説明する。
・ステップS50
n番目の直線経路Lの終点を向くように移動体1を旋回させる。
・ステップS51
n番目の直線経路Lの終点までの移動距離を計算する。
・ステップS52
移動距離分だけ移動体1を前進させる。
・ステップS53
n番目の直線経路Lの移動開始点を向くように移動体1を旋回させる。
・ステップS54
n番目の直線経路Lに沿って移動体1を逆走させる。
図11に示す折返し処理Bのフローにおいて、ステップS32でNoで、かつ、ステップS42でNoの場合には、図12に示すような、通常折返し処理を行う。
通常折返し処理では、移動体1の移動に伴ってゴール判定角θg>90°となった時点(移動体1が図12における終点Gn-1にゴールしたと判定された時点)から、移動体1の全長の2倍の距離だけ離れた方向変換点Pnr(Pnrx,Pnry)まで移動体1をそのまま前進させ、かつ、TS2から移動体1の位置情報を最新の位置情報Pnrに更新するとともに、軌跡ベクトルTを再計算する。尚、移動体1の全長の2倍の距離だけそのまま移動させる理由は、前の直線経路の終点Gn-1と次の直線経路Lの開始地点Snとのラインを揃えるためである。
そして、次の直線経路Lまでの距離EX、旋回補正角θcを計算する。
次の直線経路Lまでの距離EXは、図19に示すように、式(2)で示される次の直線経路ベクトルCと、点P(=点Pnr)とを用いて、式(1)に基づいて求める。即ち、式(1)のd=EXである。
旋回補正角θc、即ち、前の直線経路ベクトルCと軌跡ベクトルTとがなす角度である旋回補正角θcは、図18の式(1)に基づいて求める。
そして、図20に示すように、前の直線経路(レーン)の開始地点Sn-1(Sn-1x,Sn-1y)、前の直線経路の終点Gn-1(Gn-1x,Gn-1y)、直線経路間の距離wを用いて、次の直線経路の開始地点Sn(Snx,Sny)、次の直線経路の終点Gn(Gnx,Gny)を求める。
次の直線経路の開始地点Sn(Snx,Sny)、次の直線経路の終点Gn(Gnx,Gny)は、図20の式(1)又は式(2)に基づいて求める。尚、図20に示すように、各直線経路は、基準となるXY座標のX軸からθだけ傾いているとする。そして、次の直線経路が前回の直線経路の進行方向に向かって右側にある場合は、次の直線経路の開始地点Sn(Snx,Sny)、次の直線経路の終点Gn(Gnx,Gny)は、図20の式(1)に基づいて求める。また、次の直線経路が前回の直線経路の進行方向に向かって左側にある場合は、次の直線経路の開始地点Sn(Snx,Sny)、次の直線経路の終点Gn(Gnx,Gny)は、図20の式(2)に基づいて求める。
以下、図13乃至図15を参照し、オーバーラップ領域確保処理について具体的に説明する。
図13(a)は、移動予定情報に基づいて設定された直線経路Lと、移動体1が実際に移動した直線経路、即ち、移動体1の位置情報Pnの軌跡(以下、「実直線経路」という)Rとが一致し、実際のオーバーラップ領域Qの幅が、オーバーラップ設定幅mと一致した状態、つまり、移動体1の望ましい理想の移動パターンを示している。
即ち、図13(a)は、移動体1が基準地点(移動開始地点Sn-1)から折返し地点(終点Gn-1)まで移動した際に撮像手段5で撮影された撮影範囲Aの復路予定経路側の部分と移動体1が当該折返し地点(終点Gn-1)から次の折返し地点(終点Gn)まで移動する際に撮像手段5で撮影された撮影範囲Aの往路移動経路側の部分との重なり部分(即ち、オーバーラップ領域Q)が予定通りに確保された例を示している。
撮影範囲Aは、例えば図13乃至図15において、縦長の長方形で囲まれた領域である。
図13(b)は、オーバーラップ不良領域FAが生じる場合を示している。
即ち、床面F上において移動体1をn番目の直線経路Lの移動開始地点(基準地点)Snから一方向に延長するn番目の直線経路L(一方の直線経路)の終点Gnを目指して移動させた結果、移動体1が実直線経路R1のように移動してしまって、当該実直線経路R1の終点Gnaが、直線経路Lの終点Gnよりも、最後の直線経路側寄り(図13(b)の右側寄り(一方の直線経路の直後の直線経路側))にずれた場合(ステップS33でYesの場合))を示している。
この場合、オーバーラップ不良領域FAが生じるため、上述した逆走処理(ステップS50~ステップS54)が実行される。
当該逆走処理は、図13(b)の実線矢印r1に示すように、終点Gnaに到達した移動体1を全長の2倍の距離だけそのまま移動させた後、n番目の直線経路Lの終点Gnに向くように旋回させる。そして、当該旋回した位置からn番目の直線経路Lの終点Gnまでの移動距離jを計算し、移動距離j分だけ前進させる。そして、移動体1が終点Gnまで到達した後、n番目の直線経路Lの移動開始地点Snに向くように移動体1を旋回させ、その後、移動体1をn番目の直線経路L上で移動させてn番目の直線経路Lの移動開始地点Snまで逆走させる(ステップS50~S54参照)。この場合、移動距離j>オーバーラップ不良領域最大幅nとなるので、当該移動体1の逆走処理により、オーバーラップ不良領域FAを無くすことができ、オーバーラップ領域Qを確保できるようになる。
図14(a)では、床面F上において移動体1をn番目の直線経路Lの移動開始地点(基準地点)Snから一方向に延長するn番目の直線経路L(一方の直線経路)の終点Gnを目指して移動させた結果、移動体1が実直線経路R2のように移動してしまって、当該実直線経路R2の終点Gnaが、n番目の直線経路Lの終点Gnよりも、最初の直線経路側寄り(図14(a)の左側寄り(一方の直線経路の直前の直線経路側))にずれ量aだけずれた場合(ステップS33でNoの場合))を示している。
この場合、オーバーラップ不良領域FAが生じるため、上述した順走処理(ステップS40~ステップS46)、つまり、直線経路再設定処理(ステップS42,S43)が実行される。
当該直線経路再設定処理は、以下のとおりである。
まず、終点Gnaに到達した移動体1を全長の2倍の距離だけそのまま移動させた後、n+1番目の直線経路Lの移動開始地点Sn+1に向くように移動体1を旋回させる(ステップS40)。そして、図14(b)に示すように、当該旋回した位置からn+1番目の直線経路Lの移動開始地点Sn+1までの移動距離wを計算し(ステップS41)、この計算した移動距離wが基準値rwよりも大きい場合には(ステップS42でYesの場合)、計算した移動距離wを基準値rwに設定する(ステップS41)。即ち、計算した移動距離wを基準値rwに置き換える
そして、基準値rwに置き換えられた移動距離rw分だけ移動体1を前進させてn+1番目の直線経路Lの再設定した始点Sna+1まで到達させた後、n+1番目の直線経路Lの再設定した終点Gn+1側を向くように移動体1を旋回させ、その後、矢印R3に示すように、移動体1を再設定したn+1番目の直線経路Lに沿って順走させる。
この場合、移動距離w-基準値rw=ずれ量a>オーバーラップ不良領域最大幅nとなるので、当該直線経路再設定処理を含む順走処理により、オーバーラップ不良領域FAを無くすことができ、オーバーラップ領域Qを確保できるようになる。
即ち、基準値rw=移動距離w-ずれ量aである。
図14(a)に示す実直線経路R2が生じた後、再び、図15(a)に示す実直線経路R4が生じた場合、即ち、最初の直線経路側寄りにずれる実直線経路が2回以上生じた場合、図14(a)の経路ずれ量aが蓄積されて、図15(a)に示すような、蓄積経路ずれ量anとなり、この蓄積経路ずれ量anが、図15(b)に示すような基準値k1以上になってしまった場合、図15(b)に示すように、例えば、移動体1をn番目の実直線経路R上で移動させた後、移動体1を本来のn番目の直線経路L上で逆走させる。
即ち、移動体1が終点Gnaに到達した後、終点Gnaに到達した移動体1を全長の2倍の距離だけそのまま移動させる。その後、図15(b)に示すように、移動体1をn番目の直線経路Lの終点Gnに向くように旋回させて、実線矢印r4に示すように、基準値k1分だけ前進させ、n番目の直線経路Lの終点Gnまで到達させる。その後、n番目の直線経路Lの移動開始地点Snに向くように移動体1を90°旋回させた後、実線矢印r5に示すように、移動体1をn番目の直線経路L上で移動させてn番目の直線経路Lの移動開始地点Snまで逆走させる。
尚、基準値k1は、例えば撮影幅の半分、即ち、撮影幅k=1.2mであれば基準値k1は0.6mに設定される。
このようにすることで、直線経路Lと実直線経路Rとのずれが大きくなった場合に、直線経路Lと実直線経路Rとのずれを無くすことができるようになり、直線経路Lに対応した移動制御に復帰させることができるようになる。即ち、直線経路再設定処理に基づく経路ずれ量の蓄積をリセットできるようになる。
図16を参照し、イレギュラー発生時処理C(ステップS60~ステップS65)について説明する。
・ステップS60
ステップS12でYesの場合、即ち、位置情報更新でエラーが発生したと判定された場合、位置情報が得られているときの軌跡ベクトルTとエンコーダ25L,25Rからの検出値とを用いて移動体1の自己位置を推定する。
即ち、図21に示すように、自己位置を見失う直前の位置座標Pn-1(Pn-1x,Pn-1y)と、位置座標Pn-1より1フェーズ前の位置座標Pn-2(Pn-2x,Pn-2y)とで、軌跡ベクトルTを定義し、直前の位置座標Pn-1を通過してから自己位置を見失うまでに増加したエンコーダ25L,25Rの値を用いて、前進した距離Dを推定し、移動体1の推定自己位置Pc(Pcx,Pcy)を,式(1),(2)に基づいて計算する。
・ステップS61
現在、移動体1が、直線経路Lの終点(ゴール)付近のいると推測されるか否かを判定する。
・ステップS62
現在、移動体1が、終点付近のいると推測されなかった場合、一定距離前進させる。
・ステップS63
現在、移動体1が、終点付近のいると推測された場合、停止して待つ。
・ステップS64
連続エラー回数が所定値(例えば10回)を超えたか、又は、連続エラー中に進んだ距離が所定値(例えば1m)を超えたか否かを判定する。連続エラー回数が所定値を超えたか、又は、連続エラー中に進んだ距離が所定値を超えた場合、終了する。また、連続エラー回数が所定値を超えておらず、かつ、連続エラー中に進んだ距離が所定値を超えていない場合は、ステップS11に戻る。
実施形態1によれば、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体1を移動させる移動制御処理において、移動体1が一方の直線経路の終点に到達したと判定された際の移動体1の実際の移動情報と当該一方の直線経路の終点とのずれ量に基づいて、上述した逆走処理や直線経路再設定処理を行うことによって、一方の直線経路を辿って移動させた移動体の移動領域と当該一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるようになるため、検査処理において、不具合の発生をなくすことができるようになる。
また、移動体1は、制御手段50が、昇降装置40の伸縮手段を伸長させて転動体45を床面Fに押し付けるとともに前側車輪21L,21Rを床面Fから浮かせた状態で、床面Fに接触している後側車輪22L,22Rを互いに反対方向に回転させることによって、水平方向の向きを変更するように構成されているので、移動方向を変更する際、水平方向の向きをスムーズに変更できる。
即ち、基体10を床面Fから浮かせて転動体45を床面Fに接触させた状態で、左右の後側車輪22L,22Rを互いに反対方向に回転させることにより、回転中心線10Cを中心とした床面F上の1つの円弧10R上を、左右の後側車輪22L,22R及び転動体45が転動することになるので、移動体1が回転中心線10Cを回転中心として右回り又は左回りにスムーズに回転し、移動体1の水平方向の向きをスムーズに変更できるようになる。
当該移動体1によれば、移動体1の重量が重い場合でも、移動体1の水平方向の向きをスムーズに変更できるようになるので、当該構成は、重量が重い移動体に好適である。
また、昇降装置40の伸縮手段を、移動体1の回転中心線10Cと平行を維持しながら当該回転中心線10Cに沿った上下方向に移動させるためのガイド部46を備えたので、昇降装置40の伸縮手段が正確に上下方向に移動して、回転中心線10Cを正確に形成できるようになるので、移動体1の水平方向の向きをスムーズに変更できるようになる。
実施形態2
終点到達判定時のずれ量がオーバーラップ設定幅よりも大きいと判定した場合に、逆走処理を行うことによって、オーバーラップを確保してもよい。
即ち、移動体1が一方の直線経路の終点に到達したと判定された際の移動体1の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きい場合に、移動体1を一方の直線経路の終点まで移動させた後に一方の直線経路の始点に向けて逆に移動させることによって、一方の直線経路を辿って逆に移動させた移動体1の移動領域と一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体1の移動領域とが重なるようにした移動制御処理を行うようにしてもよい。
例えば、図14(a)にように、移動体1が実直線経路R2のように移動してしまって、当該実直線経路R2の終点Gnaが、n番目の直線経路Lの終点Gnよりも、最初の直線経路側寄りにずれた場合において、移動体1をn番目の直線経路Lの終点Gnに移動させて逆走処理を行わせるようにしてもよい。
即ち、終点到達判定時のずれ量がオーバーラップ設定幅よりも大きいと判定した場合に、逆走処理だけを行うことによって、オーバーラップを確保するようにしてもよい。
実施形態3
終点到達判定時のずれ量がオーバーラップ設定幅よりも大きいと判定した場合に、直線経路再設定処理を行うことによって、オーバーラップを確保してもよい。
即ち、移動体1が一方の直線経路の終点に到達したと判定された際の移動体1の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きい場合に、当該一方の直線経路の直後の直線経路である他方の直線経路の始点及び終点を一方の直線経路に近付けるように再設定した後、この再設定した他方の直線経路を辿って移動体1を移動させることによって、一方の直線経路を辿って移動させた移動体1の移動領域と他方の直線経路を辿って移動させた移動体1の移動領域とが重なるようにした移動制御処理を行うようにしてもよい。
例えば、図13(b)のように、移動体1が実直線経路R1のように移動してしまって、当該実直線経路R1の終点Gnaが、n番目の直線経路Lの終点Gnよりも、最後の直線経路側寄りにずれた場合においては、n+1番目の直線経路の始点を、終点Gnaよりも最後の直線経路側に再設定してしまうと、オーバーラップを確保できなくなる。そこで、このような場合には、終点Gnaと終点Gnとの間における終点Gn側の位置に、n+1番目の直線経路の始点を再設定するとともに、当該n+1番目の直線経路の再設定された始点に対応した終点を再設定する直線経路再設定処理を行うようにしてもよい。
即ち、終点到達判定時のずれ量がオーバーラップ設定幅よりも大きいと判定した場合に、直線経路再設定処理だけを行うことによって、オーバーラップを確保するようにしてもよい。
実施形態4
実施形態1乃至実施形態3で説明した移動制御処理においては、移動体1が一方の直線経路の終点に到達したと判定された際の移動体1の実際の移動情報と当該一方の直線経路の終点とのずれ量に基づいて、上述した逆走処理や直線経路再設定処理を行うことによって、一方の直線経路を辿って移動させた移動体1の移動領域と当該一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体1の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるようにしたが、移動体1が一方の直線経路を移動している際において、一方の直線経路を辿る移動体1の実際の移動情報と一方の直線経路とのずれ量を逐次監視することによって、一方の直線経路を辿って移動させた移動体1の移動領域と当該一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体1の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるようしてもよい。
即ち、実施形態2に係る移動制御処理においては、直線経路を辿って移動中の移動体1の実際の移動情報と当該直線経路とのずれ量がオーバーラップ設定幅よりも大きくなった場合には、以後、当該直線経路を辿る移動体1の実際の移動情報と当該直線経路とのずれ量がオーバーラップ設定幅よりも小さくなるように移動体1の移動を制御することによって、一方の直線経路を辿って移動させた移動体1の移動領域と一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体1の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体1の移動を制御するようにした。
即ち、実施形態2では、移動体1の位置情報が更新される毎に、移動体1と直線経路Lとのずれ量Eを求める。
以下、図22に基づいて、実施形態2に係る移動体1の移動制御方法における制御手段50による移動制御処理(ステップS100~ステップS106(オーバーラップ領域確保処理))について具体的に説明する。
・ステップS100
直線経路Lを辿って移動中に逐次更新される移動体1の実際の移動情報と当該直線経路Lとのずれ量Eの値がオーバーラップ設定幅よりも大きいか否かを判定する。
・ステップS101
ステップS100において、ずれ量Eがオーバーラップ設定幅よりも大きいと判定された場合(ステップS100においてYesの場合)、移動体1の軌跡ベクトルTが当該直線経路Lから離れる方向に向いているか否かを判定する。
ステップS101において、移動体1の軌跡ベクトルTが当該直線経路Lから離れる方向に向いていると判定された場合(ステップS101においてYesの場合)、移動体1を当該直線経路Lの終点に向ける処理(ステップS102~ステップS104)を行う。
・ステップS102
昇降装置を駆動させて移動体1の前輪を浮かす。
・ステップS103
移動体1の向きを当該直線経路Lの終点に向けるために移動体1を必要な必要旋回角θrだけ旋回させる。
・ステップS104
昇降装置を格納する。
以上により、移動体1の向きが当該直線経路Lの終点に向く。
・ステップS105
移動体の回転中心と撮像手段5のレンズ中心との間の距離だけ移動体を後退させる。これにより、オーバーラップ設定幅を超えた部分の領域を撮像できるので、オーバーラップ領域を確実に確保できるようになる。
・ステップS106
移動体1を前進させる。
その後、ステップS15において、移動体1が終点に到達したか否かを判定し、到達したと判定したならば、図11に示した通常折返し処理(ステップS40,41,42,44,45,46)に移行し、その後、移動体1を次の直線経路Lに沿って移動させる処理を開始して、ステップS11に戻る。
実施形態2に係る移動体1の移動制御方法によれば、直線経路を辿って移動中の移動体1の実際の移動情報と当該直線経路とのずれの量がオーバーラップ設定幅よりも大きくなった場合には、以後、当該直線経路を辿る移動体の実際の移動情報と当該直線経路とのずれ量がオーバーラップ設定幅よりも小さくなるように移動体1の移動を制御するので、一方の直線経路を辿って移動させた移動体1の移動領域と一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体1の移動領域とが、予め設定されたオーバーラップ設定幅以上の幅で重なるようになり、検査処理において、不具合の発生をなくすことができるようになる。
尚、転動体45としては、例えば、図4(d)に示すように、移動体1の回転中心線10Cを回転中心とする1つの円弧10R上を転動可能なように構成された車輪、又は、球輪等の転動体を用いればよい。
尚、各実施形態では、後側車輪を駆動輪とした構成の移動体を例示したが、前側車輪を駆動輪とした構成の移動体を用いても良い。この場合、制御手段は、昇降装置のロッドを伸長させて転動体を床面に押し付けるとともに移動体の後側車輪を床面から浮かせた状態となるように移動体を設定して、床面に接触している前側車輪の左右の車輪を互いに反対方向に回転させることにより、移動体の向きを変更するように構成すればよい。
即ち、この場合、移動体は、昇降装置が、基体の後側に設けられて移動体の後側を昇降可能に構成され、左の前側車輪の移動対象面との接触面の中心点と、右の前側車輪の移動対象面との接触面の中心点と、転動体の移動対象面との接触面の中心点とが、移動体の水平方向の向きを変更する際の移動体の回転中心線を中心とする1つの円弧上に位置するように構成される。
また、移動体1として、撮像手段(カメラ)5を搭載して床面を撮影する撮像手段搭載移動体を例示したが、移動体は、例えば掃除機を搭載して床面を掃除する掃除機搭載移動体等の特定処理機能搭載移動体、又は、特定処理機能を搭載しない移動体であってもよい。
掃除機搭載移動体に本発明の移動制御方法を適用すれば、掃除処理において、不具合の発生をなくすことができるようになる。
また、各実施形態では、移動対象面として、建物内の床面を移動させる例を示したが、移動対象面は、建物外の道路や空き地等の面であってもよい。
また、各実施形態では、移動体の実際の移動情報を取得して移動体に送信する移動情報取得手段として、TS(トータルステーション)を用いた例を示したが、移動情報取得手段として、TS以外の手段、例えば、GPSを用いても構わない。
即ち、この場合、GPSによる移動対象面上のXY座標値で定められた移動予定情報によって移動予定経路を設定し、GPSにより取得される移動対象面上を移動中の移動体の移動対象面上のXY座標値と移動予定経路のXY座標値とを比較して移動体の移動を制御することにより、移動予定経路を精度良く辿るように移動体を移動させることができるようになる。
1 移動体、2 トータルステーション(移動情報取得手段)、E,a ずれ量、
L 直線経路、m オーバーラップ設定幅、
Sn-1,Sn,Sn+1,Sna+1 始点、
Gn-1,Gn,Gn+1,Gna+1 終点。

Claims (5)

  1. 移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、を備え、
    移動制御処理は、移動対象面上において移動予定情報に基づく直線経路の折り返しが繰り返される移動予定経路を辿って移動体を移動させる処理であり、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体を移動させる際に、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体の移動を制御した移動体の移動制御方法において、
    移動制御処理は、移動体が一方の直線経路の終点に到達したと判定された際の移動体の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きい場合に、移動体を一方の直線経路の終点まで移動させた後に一方の直線経路の始点に向けて逆に移動させることによって、一方の直線経路を辿って逆に移動させた移動体の移動領域と一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする移動体の移動制御方法。
  2. 移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、を備え、
    移動制御処理は、移動対象面上において移動予定情報に基づく直線経路の折り返しが繰り返される移動予定経路を辿って移動体を移動させる処理であり、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体を移動させる際に、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体の移動を制御した移動体の移動制御方法において、
    移動制御処理は、移動体が一方の直線経路の終点に到達したと判定された際の移動体の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きい場合に、当該一方の直線経路の直後の直線経路である他方の直線経路の始点及び終点を一方の直線経路に近付けるように再設定した後、この再設定した他方の直線経路を辿って移動体を移動させることによって、一方の直線経路を辿って移動させた移動体の移動領域と他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする移動体の移動制御方法。
  3. 移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、を備え、
    移動制御処理は、移動対象面上において移動予定情報に基づく直線経路の折り返しが繰り返される移動予定経路を辿って移動体を移動させる処理であり、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体を移動させる際に、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体の移動を制御した移動体の移動制御方法において、
    移動制御処理は、移動体が一方の直線経路の終点に到達したと判定された際の移動体の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きくて、かつ、当該ずれが一方の直線経路の直後の直線経路側にずれたずれであった場合には、移動体を一方の直線経路の終点まで移動させた後に一方の直線経路の始点に向けて逆に移動させることによって、一方の直線経路を辿って逆に移動させた移動体の移動領域と当該一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする移動体の移動制御方法。
  4. 移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、を備え、
    移動制御処理は、移動対象面上において移動予定情報に基づく直線経路の折り返しが繰り返される移動予定経路を辿って移動体を移動させる処理であり、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体を移動させる際に、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体の移動を制御した移動体の移動制御方法において、
    移動制御処理は、移動体が一方の直線経路の終点に到達したと判定された際の移動体の実際の移動情報と当該一方の直線経路の終点とのずれ量がオーバーラップ設定幅よりも大きくて、かつ、当該ずれが一方の直線経路の直前の直線経路側にずれるずれであった場合には、前記ずれ量が、オーバーラップ設定幅よりも大きく設定された所定値よりも大きいか否かを判定し、
    前記ずれ量が所定値以下の場合には、当該一方の直線経路の直後の直線経路である他方の直線経路の始点及び終点を一方の直線経路に近付けるように再設定した後、この再設定した他方の直線経路を辿って移動体を移動させることによって、一方の直線経路を辿って移動させた移動体の移動領域と他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにし、
    前記ずれ量が所定値よりも大きい場合には、移動体を一方の直線経路の終点まで移動させた後に一方の直線経路の始点に向けて逆に移動させることによって、一方の直線経路を辿って逆に移動させた移動体の移動領域と一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする移動体の移動制御方法。
  5. 移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、を備え、
    移動制御処理は、移動対象面上において移動予定情報に基づく直線経路の折り返しが繰り返される移動予定経路を辿って移動体を移動させる処理であり、互いに隣り合う一方の直線経路及び他方の直線経路を辿って移動体を移動させる際に、一方の直線経路を辿って移動させる移動体の移動領域における他方の直線経路側の部分と他方の直線経路を辿って移動させる移動体の移動領域における一方の直線経路側の部分とが、予め設定されたオーバーラップ設定幅以上の幅で重なるように、移動体の移動を制御した移動体の移動制御方法において、
    移動制御処理は、直線経路を辿って移動中の移動体の実際の移動情報と当該直線経路とのずれ量がオーバーラップ設定幅よりも大きくなった場合には、以後、当該直線経路を辿る移動体の実際の移動情報と当該直線経路とのずれ量がオーバーラップ設定幅よりも小さくなるように移動体の移動を制御することによって、一方の直線経路を辿って移動させた移動体の移動領域と一方の直線経路の直前又は直後の直線経路である他方の直線経路を辿って移動させた移動体の移動領域とが重なるようにしたことを特徴とする移動体の移動制御方法。
JP2020006189A 2020-01-17 2020-01-17 移動体の移動制御方法 Active JP7389655B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020006189A JP7389655B2 (ja) 2020-01-17 2020-01-17 移動体の移動制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020006189A JP7389655B2 (ja) 2020-01-17 2020-01-17 移動体の移動制御方法

Publications (2)

Publication Number Publication Date
JP2021114096A JP2021114096A (ja) 2021-08-05
JP7389655B2 true JP7389655B2 (ja) 2023-11-30

Family

ID=77076990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020006189A Active JP7389655B2 (ja) 2020-01-17 2020-01-17 移動体の移動制御方法

Country Status (1)

Country Link
JP (1) JP7389655B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113985885B (zh) * 2021-11-02 2024-01-19 珠海格力电器股份有限公司 设备作业控制方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222226A (ja) 2004-02-04 2005-08-18 Funai Electric Co Ltd 自律走行ロボットクリーナー
JP2017091396A (ja) 2015-11-16 2017-05-25 シャープ株式会社 自走式電子機器および自走式電子機器の走行方法
JP2019101871A (ja) 2017-12-05 2019-06-24 東芝ライフスタイル株式会社 電気掃除機

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3583588B2 (ja) * 1997-08-22 2004-11-04 コニカミノルタホールディングス株式会社 移動体の制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222226A (ja) 2004-02-04 2005-08-18 Funai Electric Co Ltd 自律走行ロボットクリーナー
JP2017091396A (ja) 2015-11-16 2017-05-25 シャープ株式会社 自走式電子機器および自走式電子機器の走行方法
JP2019101871A (ja) 2017-12-05 2019-06-24 東芝ライフスタイル株式会社 電気掃除機

Also Published As

Publication number Publication date
JP2021114096A (ja) 2021-08-05

Similar Documents

Publication Publication Date Title
US7515991B2 (en) Self-propelled cleaning device and method of operation thereof
EP4059407B1 (en) Cleaning control method based on dense obstacles
CN103099586B (zh) 一种沿边导航向中扩展的清洁机器人的清洁方法
JP7389655B2 (ja) 移動体の移動制御方法
US7987543B2 (en) Working method and cleaning device to clean a swimming pool
JP2006260161A (ja) 自走式作業ロボット
US6490504B2 (en) Feeding robot and control method therefor
JP6960022B2 (ja) 旅客搭乗橋
CN112147995B (zh) 机器人的运动控制方法及装置、机器人、存储介质
JP7324800B2 (ja) 旅客搭乗橋の走行制御方法
JP7434627B2 (ja) 移動体の移動制御方法
JP6728098B2 (ja) ボーディングブリッジ
US10742874B2 (en) Imaging plan generation device, imaging plan generation method, and program
JP4957920B2 (ja) 移動体の教示方法及び移動体の制御装置並びに移動体システム
KR100557682B1 (ko) 주행 바닥면 영상정보를 이용한 이동로봇의 주행제어방법
JP5024560B2 (ja) 移動体
JPS63158619A (ja) 無人搬送車
WO2023007770A1 (ja) 航空機の乗降部を検出するための検出システム
JP7232943B1 (ja) 溶接システム、溶接方法及びプログラム
JP4983783B2 (ja) 移動体及び移動体システム
JP2010167055A (ja) 自走式掃除機
JP7273560B2 (ja) 移動体
JP7461737B2 (ja) 移動体、および、そのナビゲーションシステム
JP7126963B2 (ja) ステレオカメラの調整システム
CN117647975A (zh) 行走式光伏板清扫机器人的移动控制方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230927

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231117

R150 Certificate of patent or registration of utility model

Ref document number: 7389655

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150