IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社熊谷組の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023054122
(43)【公開日】2023-04-13
(54)【発明の名称】移動体の移動制御方法
(51)【国際特許分類】
   G05D 1/02 20200101AFI20230406BHJP
【FI】
G05D1/02 H
【審査請求】有
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2023023985
(22)【出願日】2023-02-20
(62)【分割の表示】P 2019049786の分割
【原出願日】2019-03-18
(71)【出願人】
【識別番号】000001317
【氏名又は名称】株式会社熊谷組
(74)【代理人】
【識別番号】100141243
【弁理士】
【氏名又は名称】宮園 靖夫
(72)【発明者】
【氏名】近藤 祐輔
(72)【発明者】
【氏名】渡辺 英彦
(72)【発明者】
【氏名】元地 敏哉
(72)【発明者】
【氏名】久保 隆司
(72)【発明者】
【氏名】千村 大
(72)【発明者】
【氏名】冨樫 淳輝
(72)【発明者】
【氏名】加藤 貴之
(57)【要約】
【課題】予め定めた移動予定経路に沿って移動体を精度よく移動させることができる移動体の移動制御方法を提供する。
【解決手段】本発明に係る移動体の移動制御方法は、移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、を備え、移動予定情報設定処理では、移動対象面上において直線経路の折り返しが繰り返されるジグザグ経路を辿って移動体を移動させるための移動予定情報を設定する移動体の移動制御方法であって、移動予定情報設定処理では、移動対象面上のジグザグ経路を設定するために、移動体の移動開始地点のXY座標値と、最初の直線経路の終点のXY座標値と、直線経路の数と、隣り合う直線経路間の距離とを設定することを特徴とする。
【選択図】図22
【特許請求の範囲】
【請求項1】
移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、
移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、
を備え、
移動予定情報設定処理では、移動対象面上において直線経路の折り返しが繰り返されるジグザグ経路を辿って移動体を移動させるための移動予定情報を設定する移動体の移動制御方法であって、
移動予定情報設定処理では、移動対象面上のジグザグ経路を設定するために、移動体の移動開始地点のXY座標値と、最初の直線経路の終点のXY座標値と、直線経路の数と、隣り合う直線経路間の距離とを設定することを特徴とする移動体の移動制御方法。
【請求項2】
移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、
移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、
を備え、
移動予定情報設定処理では、移動対象面上において直線経路の折り返しが繰り返されるジグザグ経路を辿って移動体を移動させるための移動予定情報を設定する移動体の移動制御方法であって、
移動予定情報設定処理では、移動対象面上のジグザグ経路を設定するために、移動体の移動開始地点のXY座標値と、最初の直線経路の終点のXY座標値と、移動対象面のXY座標上における移動開始地点の対角地点として測定される対角測定点のXY座標値と、隣り合う直線経路間の距離の初期値とを設定することにより、ジグザグ経路における複数の直線経路が並ぶ方向の幅と直線経路間の距離の初期値とに基づいて直線経路の数の最適値を算出して設定することを特徴とする移動体の移動制御方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体に設定した移動予定情報に基づいて移動体を移動させる移動体の移動制御方法に関する。
【背景技術】
【0002】
本体に、障害物検知手段(センサ)、方向検知手段(センサ)、距離認識手段(センサ)、位置認識手段、緩衝手段(センサ)等を搭載し、これら各手段からの出力信号に基づいて移動体(自律走行装置)の走行を制御する移動体の移動制御方法が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009-265801号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した移動体の移動制御方法によれば、移動体に、多数のセンサと、当該多数のセンサからの情報に基づく制御プログラムとを搭載することにより、障害物との距離を保ちながら移動体を移動させることができるが、予め定めた移動予定経路に沿って移動体を移動させることはできないという課題があった。
本発明は、予め定めた移動予定経路に沿って移動体を精度よく移動させることができる移動体の移動制御方法を提供するものである。
【課題を解決するための手段】
【0005】
本発明に係る移動体の移動制御方法は、移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、を備え、移動予定情報設定処理では、移動対象面上において直線経路の折り返しが繰り返されるジグザグ経路を辿って移動体を移動させるための移動予定情報を設定する移動体の移動制御方法であって、移動予定情報設定処理では、移動対象面上のジグザグ経路を設定するために、移動体の移動開始地点のXY座標値と、最初の直線経路の終点のXY座標値と、直線経路の数と、隣り合う直線経路間の距離とを設定することを特徴とする。
また、本発明に係る移動体の移動制御方法は、移動対象面上を移動させる移動体の移動予定情報を設定する移動予定情報設定処理と、移動体を移動予定情報に基づいて移動させるとともに、移動情報取得手段により取得された移動体の実際の移動情報と移動予定情報とを比較して移動体の移動を制御する移動制御処理と、を備え、移動予定情報設定処理では、移動対象面上において直線経路の折り返しが繰り返されるジグザグ経路を辿って移動体を移動させるための移動予定情報を設定する移動体の移動制御方法であって、移動予定情報設定処理では、移動対象面上のジグザグ経路を設定するために、移動体の移動開始地点のXY座標値と、最初の直線経路の終点のXY座標値と、移動対象面のXY座標上における移動開始地点の対角地点として測定される対角測定点のXY座標値と、隣り合う直線経路間の距離の初期値とを設定することにより、ジグザグ経路における複数の直線経路が並ぶ方向の幅と直線経路間の距離の初期値とに基づいて直線経路の数の最適値を算出して設定することを特徴とする。
以上の移動体の移動制御方法によれば、移動予定情報に基づいて予め定めたジグザグ経路に沿って移動体を精度よく移動させることができるようになるとともに、移動体を移動させる予定のジグザグ経路を容易に設定できるようになる。
【図面の簡単な説明】
【0006】
図1】移動体の移動制御システムを示す図。
図2】移動体を示す斜視図。
図3】昇降装置の詳細を示す図であって、(a)は正面図、(b)は側面図。
図4】昇降装置による移動体の移動方向変更動作手順を示す動作手順図。
図5】移動予定情報設定処理を示すフローチャート。
図6】移動予定情報設定画面を示す図。
図7】移動予定情報設定処理により設定されるジグザグ経路を示す図。
図8】移動制御処理の全体を示すフローチャート。
図9】移動制御処理における通常走行処理を示すフローチャート。
図10】移動体の移動制御処理における通常走行処理及び移動方向修正処理の概要を示す図。
図11】移動体の移動制御処理における折返し処理の概要を示す図。
図12】移動制御処理における移動方向修正処理を示すフローチャート。
図13】移動制御処理におけるイレギュラー発生時処理を示すフローチャート。
図14】移動制御処理における折返し処理を示すフローチャート。
図15】回転中心算出方法を示す説明図。
図16】角度算出方法を示す説明図。
図17】ベクトルと点との距離を算出する方法を示す説明図。
図18】直線経路(レーン)更新方法を示す説明図。
図19】自己位置推定方法を示す説明図。
図20】外積による正負判断を示す説明図。
図21】移動予定情報設定処理を示すフローチャート。
図22】移動予定情報設定画面を示す図。
図23】移動予定情報設定処理により設定されるジグザグ経路を示す図。
【発明を実施するための形態】
【0007】
実施形態1
図1に示すように、実施形態1に係る移動体の移動制御方法は、移動対象面としての例えば建物内の床面F上を移動させる移動体1に移動予定情報を設定する移動予定情報設定処理と、移動体1を移動予定情報に基づいて移動させるとともに、移動情報取得手段としての自動追尾型のトータルステーション(以下、TSと言う)2により取得された移動体1の実際の移動情報(移動体の逐次位置情報)と移動予定情報とを比較して移動体1の移動を制御する移動制御処理と、を備えた方法である。
尚、本明細書においては、前、後、上、下、左、右は、図1図2に示した方向と定義して説明する。
【0008】
移動予定情報設定処理においては、移動予定情報として、例えば、床面F上において複数の直線経路(レーン)L(L1,L2,L3…)の折返しが繰り返されるジグザグ経路Z(図7参照)を辿って移動体1を移動させるための移動予定情報を設定する。
【0009】
尚、移動予定情報に基づいて予め設定されるジグザグ経路Wとは、例えば、床面F上における移動体1の移動開始地点S1(S1x,S1y)から移動体1を前進させる方向に沿って終点G1(G1x,G1y)まで延長する最初の直線経路L1と、最初の直線経路L1のG1(G1x,G1y)から移動体1を前進させる方向と直交する方向に沿って2番目の直線経路L2の開始地点S2まで延長する直線間経路M1と、2番目の直線経路L2の開始地点S2から移動体1を前進させる方向に沿って2番目の直線経路L2の終点G2まで延長する直線経路L2と、2番目の直線経路L2の終点G2から移動体1を前進させる方向と直交する方向に沿って3番目の直線経路L3の開始地点S3まで延長する直線間経路M2とからなる1サイクルの折返し経路が複数サイクル繰り返されて構成される移動予定経路のことである。
【0010】
当該移動体の移動制御方法を実現する移動体制御システムは、図1に示すように、床面F上を移動可能に構成された移動体1と、移動体1を移動させる床面F上での移動予定情報を設定するための移動予定情報設定手段としての例えばパーソナルコンピュータ等のコンピュータ3と、移動体1の実際の移動情報を取得して移動体1に送信するTS2とを備える。
【0011】
移動体1は、基体10と、基体10の下側に設けられた移動手段20と、基体10の表面側に設けられたTS2の視準となるプリズム等のターゲットT2と、基体10に設けられて移動体1の前側を昇降させる昇降装置40と、制御手段50とを備えている。
【0012】
図2に示すように、移動手段20は、例えば、基体10の前側下部に設けられた左右の前側車輪21L,21Rと、基体10の後側下部に設けられた左右の後側車輪22L,22Rと、後側車輪22L,22Rの駆動源としてのモータ23L,23Rと、図外の駆動制御回路とを備える。
【0013】
尚、モータ23L,23Rの各モータ軸には、それぞれ、後側車輪22L,22Rの回転量に基づいて移動体1の移動距離(移動量)を検出するための移動量検出手段としてのエンコーダ25L,25Rが取付けられている。
【0014】
ターゲットT2は、TS2から発射される光を反射させる反射プリズム等で構成される。当該ターゲットT2は、例えば、図1図2に示すように、基体10の上面の前側における左右間の中央位置に設置される。
【0015】
昇降装置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に沿った上下方向に移動させるためのガイドとして機能するものである。
【0016】
制御手段50は、移動予定情報、TS2からの移動体1の実際の移動情報、エンコーダ25L,25Rからの情報に基づいて、後側車輪22L,22Rのモータ23L,23Rの駆動制御回路、及び、リニアアクチュエータ42のロッド43を伸縮させる図外の伸縮駆動源の駆動制御回路を制御することにより移動体1の移動を制御する移動制御プログラムと、当該移動制御プログラムによる情報処理を実現するコンピュータ等のハードウエア資源により構成される。
【0017】
制御手段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の移動方向変更手段が構成される。
【0018】
以下、図5乃至図19に基づいて、移動体1の移動制御方法の具体例を説明する。
移動体1の移動制御方法は、まず、移動体1を移動させる床面F上での移動予定情報を設定する移動予定情報設定処理を行った後、移動予定情報設定処理で設定された移動予定情報を移動体1の制御手段50に読み込ませて、制御手段50は読み込んだ移動予定情報とTS2からの逐次送信されてくる移動体1の実際の移動情報とに基づいて移動体1の移動制御処理を行う。
【0019】
図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に移動制御プログラムの実行コマンドを送信する。
【0020】
移動体1の制御手段50は、移動予定情報設定手段としてのコンピュータ3によって設定された移動予定情報、TS2からの移動体1の実際の移動情報、エンコーダ25L,25Rからの移動量情報に基づいて、移動体1の移動を制御する図8に示すような移動制御処理を行う。
移動制御処理においては、通常走行処理A、移動方向修正処理B、折返し処理C、イレギュラー発生時処理Dを行う。
【0021】
図9図10を参照し、通常走行処理A(ステップS10~ステップS18)について説明する。
・ステップS10
制御手段50は、移動予定情報設定処理により設定された移動予定情報を記憶装置のファイルから読み込み、移動制御プログラムに基づいて、移動体1の移動制御処理を開始する。
・ステップS11
制御手段50が、移動体1の最新の位置情報PnのXY座標値(Pnx,Pny)をTS2から取得して、移動体1の位置情報を更新する。
即ち、制御手段50は、TS2から送信されてくる移動体1の最新の位置情報Pnを、例えば、100ms毎に受信して、移動体1の位置情報更新処理を行う。
・ステップS12(イレギュラー発生時処理Dに移行するか否かの判定)
移動体1の位置情報更新でエラーが発生したか否かを判定する。即ち、制御手段50が、TS2から移動体1の最新の位置情報Pnを取得できたか否かを判定する。移動体1の位置情報更新でエラーが発生したと判定した場合(ステップS12でYesの場合)、イレギュラー発生時処理Dに移行する。
・ステップ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)は、図15に示すように、位置座標Pn(Pnx,Pny)と、位置座標Pn-1(Pn-1x,Pn-1y)と、式(3),(4)で示される軌跡ベクトルTとを用いて、式(1),(2)に基づいて求める。
また、ゴール判定角θg、及び、必要旋回角θrは、図16に示すように、2本のベクトルa,bがなす角度を求める方法により求まられる。
即ち、直線経路ベクトルCとゴール判定用ベクトルJとがなす角度であるゴール判定角θgを、図16の式(1)に基づいて求める。
また、移動体1の回転中心座標Prから今回の直線経路の終点Gnまでの有向線分であるベクトル、即ち、必要旋回角度判定用ベクトルMと軌跡ベクトルTとがなす角度である必要旋回角θrを、図16の式(1)に基づいて求める。
直線経路Lからのずれ距離Eは、図17に示すように、式(2)で示される直線経路ベクトルCと、点Pn(Pnx,Pny)とを用いて、式(1)に基づいて求める。即ち、式(1)のd=Eである。但し、式(1)のa,b,cは、式(3)に示されるとおりである。
・ステップS15(折返し処理Cに移行するか否かの判定)
移動体1が今回の直線経路Lの終点Gnにゴールしたか否かを判定する。即ち、今回の直線経路Lに沿った移動体1の移動制御処理が終了したか否かを判定する。
つまり、制御手段50は、移動制御プログラムに基づいて、ゴール判定角θg>90°であれば、移動体1が今回の直線経路Lの終点Gnにゴールしたと判定し、ゴール判定角θg≦90°であれば、移動体1が終点Gnに未だゴールしていないと判定する。移動体1が終点Gnにゴールしたと判定した場合(ステップS15でYesの場合)、折返し処理Cに移行する。
・ステップS16(移動方向修正処理Bに移行するか否かの判定)
移動体1が終点Gnに未だゴールしていないと判定された場合(ステップS15でNoの場合)、移動体1の直線経路Lからのずれ距離Eが所定値(例えば移動体1の左右幅寸法)以上で、かつ、移動体1の移動方向の向きが今回の直線経路ベクトルCから離れる方向に向いているか否かを判定する。そして、ずれ距離Eが所定値以上で、かつ、移動体1の移動方向の向きが今回の直線経路ベクトルCから離れる方向に向いていると判定された場合(ステップS16でYesの場合)、移動方向修正処理Bに移行する。
【0022】
通常走行処理Aにおける移動体1の直進制御処理について説明する。
・ステップS17
ずれ距離Eが所定値よりも小さく、かつ、移動体1の移動方向の向きが直線経路ベクトルCから離れる方向に向いていないと判定された場合(ステップS16でNoの場合)、ゴール判定用ベクトルJの大きさに基づいて、左右の後側車輪22L,22Rを駆動するモータ23L,23Rへの駆動信号を調整する。例えば、ゴール判定用ベクトルJの大きさが1m以上であれば、モータ23L,23Rの出力を最大とし、ゴール判定用ベクトルJの大きさが1m未満でかつ0.5m以上であれば、モータ23L,23Rの出力を70%とし、ゴール判定用ベクトルJの大きさが0.5m未満であれば、モータ23L,23Rの出力を50%とするよう調整する。
・ステップS18
左右の後側車輪22L,22Rのエンコーダ25L,25Rの値の差が0になるように左右のモータ23L,23Rへの駆動信号を制御しつつ、移動体1を一定距離だけ前進させる。即ち、直進性を保ちながら、移動体1を一定距離だけ前進させる。
尚、上述したステップ17では、移動体1と直線経路Lの終点Gnとの距離が所定値になる毎に移動体1の移動速度を段階的に減速させる段階的減速制御を行う例を示したが、移動体1と直線経路Lの終点Gnとの距離が短くなるに従って移動体1の移動速度を徐々に減速させる連続的減速制御を行うようにしてもよい。また、移動体1と直線経路Lの終点Gnとの距離が所定値以下になった場合に所定の速度に減速する1回だけの減速制御を行うようにしてもよい。即ち、移動体1が直線経路Lの終点Gnに近づいた場合に移動体1の移動速度を1回以上減速する制御を行えばよい。
【0023】
図12図10を参照し、移動方向修正処理B(ステップS20~ステップS22)について説明する。
・ステップS20
ステップS16でYesの場合、即ち、今回の直線経路Lからのずれ距離E(移動予定情報と移動情報との位置ずれ量)が所定値(例えば移動体1の左右幅寸法)以上で、かつ、移動体1の向きが今回の直線経路ベクトルCから離れる方向に向いていると判定された場合、昇降装置40のロッド43を伸長させて転動体45で床面Fを押圧することによって移動体1の左右の前側車輪21L,21Rを床面Fから浮かす。
・ステップS21
左右の後側車輪22L,22Rを互いに逆方向に回転させて移動体1の方向を軌跡ベクトルTの方向から必要旋回角θrだけ回転させることで、移動体1の移動方向を修正する(図10参照)。
・ステップS22
昇降装置40のロッド43を縮退させて転動体45を床面Fから浮かして、移動体1の左右の前側車輪21L,21Rを床面Fに接触(接面)させた後、移動体1を前進させる。
【0024】
図14図11を参照し、折返し処理C(ステップS30~ステップS50)について説明する。
・ステップS30
ステップS15でYesの場合、即ち、移動体1が終点Gnにゴールしたと判定された場合(今回の直線経路Lに沿った移動体1の移動制御処理が終了したと判定された場合)、設定された本数Nの直線経路Lに沿った移動体1の移動制御処理が全て終了したか否かを判定する。
ステップS30でNoの場合、即ち、移動制御処理が全て終了していないと判定された場合、次の直線経路Lの沿った移動体1の移動制御処理に移行するための折返し処理Cを行う。
・ステップS31
移動体1をジグザグ経路Zに沿って移動させるに当たって、隣り合う折返し地点(前の直線経路の終点Gn-1と次の直線経路Lの開始地点Snとのラインを揃えるため、移動体1が終点Gnにゴールしたと判定された時点から、移動体1の全長の2倍の距離だけ離れた方向変換点Pnr(Pnrx,Pnry)まで移動体1をそのまま前進させる。
・ステップS32
ステップS31での前進により移動体1の位置が変化しているため、TS2から移動体1の位置情報を最新の位置情報Pnrに更新する。
・ステップS33
位置情報更新の際にエラーが発生したか否かを判定する。
・ステップS34
位置情報更新でエラーが発生していない場合(ステップS33でNoの場合)、軌跡ベクトルTを再計算する。
・ステップS35
図11に示すように、次の直線経路Lまでの距離EX、旋回補正角θcを計算する。
次の直線経路Lまでの距離EXは、図17に示すように、式(2)で示される次の直線経路ベクトルCと、点P(=点Pnr)とを用いて、式(1)に基づいて求める。即ち、式(1)のd=EXである。
旋回補正角θc、即ち、前の直線経路ベクトルCと軌跡ベクトルTとがなす角度である旋回補正角θcは、図16の式(1)に基づいて求める。
・ステップS36
図18に示すように、前の直線経路(レーン)の開始地点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)は、図18の式(1)又は式(2)に基づいて求める。尚、図18に示すように、各直線経路は、基準となるXY座標のX軸からθだけ傾いているとする。そして、次の直線経路が前回の直線経路の進行方向に向かって右側にある場合は、次の直線経路の開始地点Sn(Snx,Sny)、次の直線経路の終点Gn(Gnx,Gny)は、図18の式(1)に基づいて求める。また、次の直線経路が前回の直線経路の進行方向に向かって左側にある場合は、次の直線経路の開始地点Sn(Snx,Sny)、次の直線経路の終点Gn(Gnx,Gny)は、図18の式(2)に基づいて求める。
・ステップS37
昇降装置40のロッド43を伸長させて転動体45で床面Fを押圧することによって、移動体1の左右の前側車輪21L,21Rを床面Fから浮かす。
【0025】
・ステップS38
巡回パターンと直近の直線経路(レーン)の番号の組み合わせによる条件分岐
・条件1:右巡回パターン、かつ、直近の直線経路の番号が奇数の場合、もしくは、左巡回パターン、かつ、直近の直線経路の番号が偶数の場合。
・条件2:右巡回パターン、かつ、直近の直線経路の番号が偶数の場合、もしくは、左巡回パターン、かつ、直近の直線経路の番号が奇数の場合。
尚、右巡回パターンとは、1番目(最初)の直線経路から見て以降の直線経路が1番目の直線経路の右側に設定されるジグザグ経路Zに沿って移動体1を移動させるパターンを言い、左巡回パターンとは、1番目(最初)の直線経路から見て以降の直線経路が1番目の直線経路の左側に設定されるジグザグ経路Zに沿って移動体1を移動させるパターンを言う。
この左右の巡回パターンは、図6の設定画面上に設けられている図外の巡回パターン決定ボタンをクリックすることにより決定でき、コンピュータ3は、決定された巡回パターンを移動予定情報として移動体1の制御手段50に送信する。
【0026】
ステップS38での判定で条件1の場合には、移動体1を時計回りに旋回させる処理を行う。
・ステップS39
移動体1を、時計回りに、旋回補正角θc+90°だけ旋回させることにより、移動体1の軌道を修正する。
・ステップS40
昇降装置40のロッド43を縮退させて転動体45を床面Fから浮かして、移動体1の左右の前側車輪21L,21Rを床面Fに接触させる。
・ステップS41
次の直線経路Lまでの距離EX分だけ、移動体1を前進させる。
・ステップS42
昇降装置40のロッド43を縮退させて転動体45を床面Fから浮かす。
・ステップS43
移動体1を、時計回りに、90°だけ旋回させることにより、移動体1の軌道を修正する。
・ステップS44
昇降装置40のロッド43を縮退させて転動体45を床面Fから浮かして、移動体1の左右の前側車輪21L,21Rを床面Fに接触させ、移動体1を次の直線経路Lに沿って移動させる。
【0027】
ステップS38での判定で条件2の場合には、移動体1を反時計回りに旋回させる処理を行う。
・ステップS45
移動体1を、反時計回りに、旋回補正角θc+90°だけ旋回させることにより、移動体1の軌道を修正する。
・ステップS46
昇降装置40のロッド43を縮退させて転動体45を床面Fから浮かして、移動体1の左右の前側車輪21L,21Rを床面Fに接触させる。
・ステップS47
次の直線経路Lまでの距離EX分だけ、移動体1を前進させる。
・ステップS48
昇降装置40のロッド43を縮退させて転動体45を床面Fから浮かす。
・ステップS49
移動体1を、反時計回りに、90°だけ旋回させることにより、移動体1の軌道を修正する。
・ステップS50
昇降装置40のロッド43を縮退させて転動体45を床面Fから浮かして、移動体1の左右の前側車輪21L,21Rを床面Fに接触させ、移動体1を次の直線経路Lに沿って移動させる。
【0028】
図13を参照し、イレギュラー発生時処理D(ステップS60~ステップS65)について説明する。
・ステップS60
ステップS12でYesの場合、即ち、位置情報更新でエラーが発生したと判定された場合、位置情報が得られているときの軌跡ベクトルTとエンコーダ25L,25Rからの検出値とを用いて移動体1の自己位置を推定する。
即ち、図19に示すように、自己位置を見失う直前の位置座標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に戻る。
・ステップS65
ステップS33で、エラー発生と判断された後に、連続エラー回数が所定値(例えば10回)を超えたか否かを判定する。連続エラー回数が所定値を超えている場合、終了する。連続エラー回数が所定値を超えていない場合は、ステップS32に戻る。
【0029】
実施形態1によれば、TS2により測定した床面F上のXY座標値で定められた移動予定情報によって設定された移動予定経路としてのジグザグ経路Z、即ち、移動体1の移動開始地点S1のXY座標値(S1x,S1y)と、最初の直線経路Lの終点G1のXY座標値(G1x,G1y)と、隣り合う直線経路L,L間の距離Wと、直線経路Lの数Nとによって設定されたジグザグ経路Zを辿るように移動体1を移動させることができるとともに、TS2により取得される床面F上を移動中の移動体1の床面F上のXY座標値とジグザグ経路ZのXY座標値とを比較して移動体1の移動を制御することにより、移動予定情報に基づいて予め定めたジグザグ経路Zに沿って移動体1を精度良くを移動させることができるようになる。
【0030】
また、移動体1が直線経路Lの終点に到達したと判定された場合に、移動体1に搭載された移動方向変更手段により、移動体1の進行方向を反転させる折返し処理Cを行うので、ジグザグ経路Zに沿って移動体1を精度よく移動させることができる。
【0031】
また、移動制御処理では、移動体1が直線経路Lの終点Gnに近づいた場合に移動体1の移動速度を1回以上減速する制御を行うようにしたので、ジグザグ経路Zに沿って移動体1を移動させる場合の移動体1の折返し処理Cの精度を向上させることが可能となる。
【0032】
また、移動制御処理では、TS2から移動体1の移動情報を得られなかった場合に、移動体1に搭載された移動量検出手段としてのエンコーダから得られる移動量情報に基づいて移動体1の位置を推定するようにしているので、TS2から移動体1の移動情報を得られなかった場合でも、移動予定情報に基づいて予め定めたジグザグ経路Zに沿って移動体1を精度よく移動させることができる。
【0033】
また、移動予定情報設定処理では、床面F上のジグザグ経路Zを設定するために、移動体1の移動開始地点S1のXY座標値と、最初の直線経路L1の終点G1のXY座標値と、直線経路Lの数と、隣り合う直線経路L,L間の距離wとを設定するだけで、移動体1を移動させる予定のジグザグ経路Zを容易に設定できるようになる。
【0034】
また、移動体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の水平方向の向きをスムーズに変更できるようになる。
【0035】
尚、転動体45としては、例えば、図4(d)に示すように、移動体1の回転中心線10Cを回転中心とする1つの円弧10R上を転動可能なように構成された車輪、又は、球輪等の転動体を用いればよい。
【0036】
実施形態2
図21乃至図23、及び、図20に基づいて、実施形態2に係る移動体の移動制御方法における移動予定情報設定処理について説明する。
実施形態2に係る移動予定情報設定処理は、図23に示すように、床面F上の移動予定経路としてのジグザグ経路Zを設定するために、移動体1の移動開始地点S1のXY座標値(S1x,S1y)と、最初の直線経路L1の終点G1のXY座標値(G1x,G1y)と、床面FのXY座標上における移動開始地点S1の対角地点として測定される対角測定点RdのXY座標値(Rdx,Rdy)とを、床面F上の所定の位置に固定されたTS2を用いて取得し、取得したこれらXY座標値と、隣り合う直線経路(レーン)L,L間の距離wの初期値w’とを、設定者が設定画面31を介して設定することにより、移動予定情報設定手段としての例えばコンピュータ3が、移動予定情報設定プログラムに基づいて、最適な直線経路Lの数Nを算出するとともに、巡回パターンを決める処理を行う。
【0037】
・移動予定情報設定処理
・ステップS100
コンピュータ3の設定画面31(図22参照)にキーボード等の入力手段を用いて、図23に示すような、床面F上のジグザグ経路Zを設定するために、移動体1の移動開始地点S1(S1x,S1y)と、最初の直線経路L1の終点G1(G1x,G1y)と、対角測定点Rd(Rdx,Rdy)と、隣り合う直線経路間の距離wの初期値w’とを設定する。
即ち、床面F上において、移動体1の移動開始地点Sと、最初の直線経路L1の終点Gと、対角測定点Rdとに、ターゲットを設置し、移動開始地点S(S1x,S1y)と、最初の直線経路L1の終点G1(G1x,G1y)と、対角測定点Rd(Rdx,Rdy)とを、床面F上の所定の位置に固定されたTS2を用いて取得し、取得した各XY座標値と、隣り合う直線経路間の距離wの初期値w’とを、設定者が設定画面31を介して設定する。
・ステップS101
設定画面31の自動計算ボタン33(図22参照)をクリックする。
・ステップS102
コンピュータ3は、移動予定情報設定プログラムに基づいて、対角測定点Rdのズレtを補正するためのθを計算する。即ち、図23に示すように、終点G1から対角測定点Rdまでの有向線分であるベクトルと、終点G1から対角設定点Rまでのベクトルとを計算し、これらベクトル間の角度θを、図16の式(1)に基づいて求める。
・ステップS103
θが、入力データミス、又は、対角測定点の設置ミスが疑われるほどに大きいか否かを判定する。
・ステップS104
ステップS103において、θが、入力データミス、又は、対角測定点Rdの設定ミスが疑われるほどに大きくないと判定された場合は、当該ステップS104中の計算式に基づいて、エリア幅Lwを計算する。尚、エリア幅Lwは、図23に示すように、ジグザグ経路Zにおける複数の直線経路L,L…が並ぶ方向の幅である。
・ステップS105
ステップS103において、θが、入力データミス、又は、対角測定点Rdの設置ミス(測定点ミス)が疑われるほどに大きいと判定された場合は、パラメータ異常であることを発報して終了する。
・ステップS106
ステップS104で計算したエリア幅Lwと直線経路間の距離wの初期値w’とを用いて、当該ステップS105中の計算式に基づいて、ブロック数の初期値であるブロック数B’を計算する(余りrも計算する)。尚、ブロック数とは、図23に示すように、エリア幅Lw内に形成される、隣り合う直線経路L,Lと直線間経路Mとで囲まれた矩形領域bの数のことをいう。
・ステップS107
余りが0か否かを判定する。
・ステップS108
ステップS107において、余りが0ならば、初期値w’を直線経路(レーン)間の距離wに決定する(w=w’)。
・ステップS109
ブロック数B’に+1して、直線経路(レーン)数Nを確定(N=B’+1)。つまり、最適な直線経路Lの数Nが決まる。
・ステップS110
ステップS107において、余りが0でないならば、ブロック数B’に+1して、ブロック数Bとする(B=B’+1)。
・ステップS1101
直線経路(レーン)間の距離wの再計算(w=Lw/B)。尚、当該再計算において余りが出た場合は、例えば有効数字4桁で切り捨てる。
・ステップS1102
ブロック数Bに+1して、直線経路(レーン)数Nを確定(N=B+1)。つまり、最適な直線経路Lの数Nが決まる。
尚、図23から明らかなように、直線経路(レーン)数Nは、必ずブロック数+1となる。
・ステップS111
次に、移動体1の移動開始地点S1から終点G1までの有向線分であるベクトルと、移動開始地点S1から対角設定点Rまでの有向線分であるベクトルとを計算し、これらベクトルの外積を求める。
・ステップS112
ステップS111で計算した外積のZ軸成分(垂直成分)が、正か負かを判定する。
・ステップS113
ステップS111で計算した外積のZ軸成分が、図20の式(1)に示すように、正であれば、左巡回パターンのジグザグ経路Zに決定される。
・ステップS114
ステップS111で計算した外積のZ軸成分が、図20の式(2)に示すように、負であれば、右巡回パターンのジグザグ経路Zに決定される。
・ステップS115
ステップS111で計算した外積のZ軸成分が、図20の式(3)に示すように、0であれば、パラメータ異常であることを発報して終了する。
・ステップS116
決定されたそれぞれの値を移動予定情報として設定する。
・ステップS117
設定画面31のスキャン開始ボタン32(図22参照)をクリックする。
・ステップS118
コンピュータ3が設定された移動予定情報をファイルにしてコンピュータ3の記憶装置に書き込む。
・ステップS119
コンピュータ3が移動体1の制御手段50に移動予定情報を送信して制御手段50の記憶装置に読み込ませた後、コンピュータ3から移動体1の制御手段50に移動制御プログラムの実行コマンドを送信する。
【0038】
実施形態2に係る移動予定情報設定処理によれば、移動開始地点S(S1x,S1y)と、最初の直線経路L1の終点G1(G1x,G1y)と、対角測定点Rd(Rdx,Rdy)と、隣り合う直線経路間の距離wの初期値w’とを移動予定情報として設定することにより、移動予定情報設定プログラムが、エリア幅Lwを計算した後、当該エリア幅Lwと初期値w’とに基づいて、最適な直線経路Lの数を算出するとともに、巡回パターンを決める処理も行うようにしたので、移動予定情報設定処理がより容易となる。
尚、ステップS111~ステップS115で計算して求められる巡回パターンは、実施形態1で説明した図6の設定画面上に設けられている図外の巡回パターン決定ボタンをクリックすることによっても決定できるが、実施形態2によれば、当該巡回パターン決定ボタンをクリックし忘れた場合、あるいは、当該巡回パターン決定ボタンを設けない場合であっても、ステップS111~ステップS115の移動予定情報設定処理により巡回パターンが自動的に決定されるので、移動予定情報設定処理に係る作業手間を削減できるようになる。
【0039】
尚、各実施形態では、後側車輪を駆動輪とした構成の移動体を例示したが、前側車輪を駆動輪とした構成の移動体を用いても良い。この場合、制御手段は、昇降装置のロッドを伸長させて転動体を床面に押し付けるとともに移動体の後側車輪を床面から浮かせた状態となるように移動体を設定して、床面に接触している前側車輪の左右の車輪を互いに反対方向に回転させることにより、移動体の向きを変更するように構成すればよい。
即ち、この場合、移動体は、昇降装置が、基体の後側に設けられて移動体の後側を昇降可能に構成され、左の前側車輪の移動対象面との接触面の中心点と、右の前側車輪の移動対象面との接触面の中心点と、転動体の移動対象面との接触面の中心点とが、移動体の水平方向の向きを変更する際の移動体の回転中心線を中心とする1つの円弧上に位置するように構成される。
【0040】
また、各実施形態では、移動予定経路としてジグザグ経路Zを設定したが、移動予定経路は、TSにより測定した床面上のXY座標値で定められた移動予定情報によって設定される経路であれば、どのような経路であっても構わない。
【0041】
また、各実施形態では、移動対象面として、建物内の床面を移動させる例を示したが、移動対象面は、建物外の道路や空き地等の面であってもよい。
【0042】
また、各実施形態では、移動体の実際の移動情報を取得して移動体に送信する移動情報取得手段として、TS(トータルステーション)を用いた例を示したが、移動情報取得手段として、TS以外の手段、例えば、GPSを用いても構わない。
即ち、この場合、GPSによる移動対象面上のXY座標値で定められた移動予定情報によって移動予定経路を設定し、GPSにより取得される移動対象面上を移動中の移動体の移動対象面上のXY座標値と移動予定経路のXY座標値とを比較して移動体の移動を制御することにより、移動予定経路を精度良く辿るように移動体を移動させることができるようになる。
【符号の説明】
【0043】
1 移動体、2 トータルステーション(移動情報取得手段)、
3 コンピュータ(移動予定情報設定手段)、10 基体、20 移動手段、
21L,21R 左右の前側車輪、22L,22R 左右の後側車輪、
23L,23R モータ、25L,25R エンコーダ(移動量検出手段)、
40 昇降装置、43 ロッド、45 転動体、50 制御手段、
F 床面(移動対象面)、L 直線経路(レーン)、Z ジグザグ経路(移動予定経路)。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23