(57)【要約】【課題】少ない演算量で目的地点までの移動経路と経路上における旋回角とを確定する、自律移動ロボットのための移動計画技術を提供する。【解決手段】移動計画装置は、出発地点から目的地点まで移動ロボットが自律移動する移動経路と、移動経路の経路上における移動ロボットの姿勢である旋回角とを計画する移動計画装置であって、移動ロボットが取り得る旋回角ごとに進入禁止領域が表された環境地図を取得する取得部と、環境地図に基づいて、出発地点から目的地点まで、旋回角の変化が不連続となることなく進入禁止領域を避けて少なくとも一つの探索枝を伸ばすことができる移動経路を探索し、目的地点に到達した移動経路に対して、予め定められた条件に基づいて経路上における旋回角を確定する計画部とを備える。【選択図】図９
2019020760.tif 000002
【特許請求の範囲】
【請求項１】
出発地点から目的地点まで移動ロボットが自律移動する移動経路と、前記移動経路の経路上における前記移動ロボットの姿勢である旋回角とを計画する移動計画装置であって、
前記移動ロボットが取り得る前記旋回角ごとに進入禁止領域が表された環境地図を取得する取得部と、
前記環境地図に基づいて、前記出発地点から前記目的地点まで、前記旋回角の変化が不連続となることなく前記進入禁止領域を避けて少なくとも一つの探索枝を伸ばすことができる前記移動経路を探索し、前記目的地点に到達した前記移動経路に対して、予め定められた条件に基づいて経路上における前記旋回角を確定する計画部と
を備える移動計画装置。
【請求項２】
前記環境地図は、前記移動ロボットが自律移動する対象空間を格子状のグリッドに区分した空間層を前記旋回角ごとに設けて前記旋回角順に積層した三次元構造を有し、それぞれのグリッドは、対応付けられた前記旋回角において前記移動ロボットの進入が許可される許可グリッドと進入が禁止される禁止グリッドのいずれかに分類されている請求項１に記載の移動計画装置。
【請求項３】
前記グリッドは、対応付けられた前記旋回角における前記移動ロボットの外形と前記対象空間に存在する障害物とのミンコフスキー差を含む場合に、前記禁止グリッドに分類される請求項２に記載の移動計画装置。
【請求項４】
前記計画部は、前記三次元構造において、前記出発地点を含む前記グリッドから互いに隣接する前記許可グリッドを連続的に繋いで前記目的地点を含む前記グリッドまで到達させることにより、前記旋回角の変化の連続性を保証する請求項２または３に記載の移動計画装置。
【請求項５】
前記計画部は、前記移動経路を確定する段階で複数の経路を発見した場合には、それぞれの経路に対して算出される経路コストが最小となる経路を選択して前記移動経路とする請求項２から４のいずれか１項に記載の移動計画装置。
【請求項６】
前記計画部は、前記三次元構造において前記空間層に直交する、確定した前記移動経路に沿った前記グリッドの集合体である経路層を定め、前記経路層において前記旋回角の変化に対して加算される旋回角コストが最小となるグリッド軌跡を選択することにより経路上における前記旋回角を確定する請求項２から５のいずれか１項に記載の移動計画装置。
【請求項７】
請求項１から６のいずれか１項に記載の移動計画装置を備える移動ロボット。
【請求項８】
出発地点から目的地点まで移動ロボットが自律移動する移動経路と、前記移動経路の経路上における前記移動ロボットの姿勢である旋回角とを計画する移動計画プログラムであって、
前記移動ロボットが取り得る前記旋回角ごとに進入禁止領域が表された環境地図を取得する取得ステップと、
前記環境地図に基づいて、前記出発地点から前記目的地点まで、前記旋回角の変化が不連続となることなく前記進入禁止領域を避けて少なくとも一つの探索枝を伸ばすことができる前記移動経路を探索する移動経路探索ステップと、
探索された前記移動経路に対して、予め定められた条件に基づいて経路上における前記旋回角を確定する旋回角確定ステップと
をコンピュータに実行させる移動計画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動計画装置、移動ロボット、および移動計画プログラムに関する。
【背景技術】
【０００２】
目標地点まで自律的に移動する移動ロボットが知られている。移動ロボットは、環境地図を用いて目標地点までの経路を決定し、その経路に沿って移動する。例えば、特許文献１は、移動経路において障害物と衝突する可能性を評価する技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２９１５４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
移動ロボットの外形形状が例えば円筒や立方体のような単純な形状に近似できるものではなかったり、移動ロボットの外形は単純であっても搬送物を突出させて把持していたりする場合には、全体の外形形状を正確に認識した上で、移動経路と経路上のロボットの向きである旋回角とを計画する必要がある。しかし、全体の外形形状を厳密に認識した上で障害物と接触しない移動経路と旋回角を決定する従前の手法は、膨大な演算を要し、円滑な移動を妨げる原因となっている。
【０００５】
本発明は、このような問題を解決するためになされたものであり、少ない演算量で目的地点までの移動経路と経路上の旋回角とを確定する、自律移動ロボットのための移動計画技術を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の第１の態様における移動計画装置は、出発地点から目的地点まで移動ロボットが自律移動する移動経路と、移動経路の経路上における移動ロボットの姿勢である旋回角とを計画する移動計画装置であって、移動ロボットが取り得る旋回角ごとに進入禁止領域が表された環境地図を取得する取得部と、環境地図に基づいて、出発地点から目的地点まで、旋回角の変化が不連続となることなく進入禁止領域を避けて少なくとも一つの探索枝を伸ばすことができる移動経路を探索し、目的地点に到達した移動経路に対して、予め定められた条件に基づいて経路上における旋回角を確定する計画部とを備える。
【０００７】
このように、まず移動中に旋回角が不連続にならないことを確認しつつ移動経路を確定し、その後に移動中における最適な旋回角を確定させる２段階の判断を行うことにより、移動経路と旋回角を並列的かつ網羅的に探索するよりも大幅に演算量を削減できる。したがって、移動計画をいち早く立案することができるので、移動ロボットの臨機応変な自律移動を実現することができる。
【０００８】
また、上記の移動計画装置における環境地図は、移動ロボットが自律移動する対象空間を格子状のグリッドに区分した空間層を旋回角ごとに設けて旋回角順に積層した三次元構造を有し、それぞれのグリッドは、対応付けられた旋回角において移動ロボットの進入が許可される許可グリッドと進入が禁止される禁止グリッドのいずれかに分類されるように構成されていても良い。このように、移動ロボットが旋回し得る旋回角ごとのグリッド地図を順に積層させた三次元構造の環境地図を利用すれば、ある旋回角での移動を平面方向の移動と同様に扱えるので、既存の経路探索アルゴリズムを旋回角方向にも適用できる。すなわち、旋回角の変化を平面方向への移動と同様に扱うことができるので、移動中の旋回角を速やかに確定させることができる。
【０００９】
このとき、グリッドは、対応付けられた旋回角における移動ロボットの外形と対象空間に存在する障害物とのミンコフスキー差を含む場合に、禁止グリッドに分類されると良い。ミンコフスキー差を利用することにより、移動ロボットの旋回角に対する進入禁止グリッドを容易に定めることができる。
【００１０】
また、上記の計画部は、三次元構造において、出発地点を含むグリッドから互いに隣接する許可グリッドを連続的に繋いで目的地点を含むグリッドまで到達させることにより、旋回角の変化の連続性を保証するようにしても良い。このようにグリッドを利用すれば、旋回角の変化の連続性を容易に判断することができる。
【００１１】
また、上記計画部は、移動経路を確定する段階で複数の経路を発見した場合には、それぞれの経路に対して算出される経路コストが最小となる経路を選択して移動経路としても良い。移動ロボットの構造的な制約や対象空間の環境要因等により、それぞれのグリッド間によって移動の容易さが異なる場合がある。その容易さに対してコストを関連付ければ、発見した複数の経路の経路コストを算出できる。算出した経路コストに基づいて移動経路を確定させれば、より移動効率の高い経路を選択することができる。
【００１２】
同様に、三次元構造において空間層に直交する、確定した移動経路に沿ったグリッドの集合体である経路層を定め、当該経路層において旋回角の変化に対して加算される旋回角コストが最小となるグリッド軌跡を選択することにより移動中における旋回角を確定しても良い。このように、旋回角の変化に対してもコストを関連付ければ、経路の選択と同様に、より旋回効率の高い旋回角を選択することができる。
【００１３】
上記の移動計画装置は、実体としての移動ロボットとは物理的に離れた場所に設置されたサーバであっても良いが、移動ロボット自身が備えるように構成されても良い。移動ロボット自身が移動計画装置の実体を備えるのであれば、例えば通信環境が良好でない環境においても、自律移動を確実に実行することができる。
【００１４】
本発明の更に別の態様における移動計画プログラムは、出発地点から目的地点まで移動ロボットが自律移動する移動経路と、移動経路の経路上における移動ロボットの姿勢である旋回角とを計画する移動計画プログラムであって、移動ロボットが取り得る旋回角ごとに進入禁止領域が表された環境地図を取得する取得ステップと、環境地図に基づいて、出発地点から目的地点まで、旋回角の変化が不連続となることなく進入禁止領域を避けて少なくとも一つの探索枝を伸ばすことができる移動経路を探索する移動経路探索ステップと、探索された移動経路に対して、予め定められた条件に基づいて経路上における旋回角を確定する旋回角確定ステップとをコンピュータに実行させる。
【００１５】
このように、まず移動中に旋回角が不連続にならないことを確認しつつ移動経路を確定し、その後に経路上における最適な旋回角を確定させる２段階の判断を行うことにより、移動経路と旋回角を並列的かつ網羅的に探索するよりも大幅に演算量を削減できる。したがって、移動計画をいち早く立案することができるので、移動ロボットの臨機応変な自律移動を実現することができる。
【発明の効果】
【００１６】
本発明により、少ない演算量で目的地点までの移動経路と移動中における旋回角とを確定する、自律移動ロボットのための移動計画技術を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態にかかる移動ロボットの外観斜視図である。
【図２】移動ロボットの制御ブロック図である。
【図３】移動ロボットの旋回を説明する図である。
【図４】移動ロボットの進入禁止領域を定める概念を説明する図である。
【図５】移動ロボットの進入禁止領域を定める概念を説明する図である。
【図６】環境地図の各空間層の作成手順を説明する図である。
【図７】環境地図の三次元構造を説明する図である。
【図８】移動経路の確定までの手順を説明する図である。
【図９】仮移動経路と旋回角ごとの空間層との関係を示す図である。
【図１０】仮経路層を説明する図である。
【図１１】旋回角の変化の連続性を確認する手順を説明する図である。
【図１２】旋回角の変化の連続性を確認する手順を説明する図である。
【図１３】移動中における旋回角を確定する手順を説明する図である。
【図１４】移動ロボットの処理手順を示すフロー図である。
【発明を実施するための形態】
【００１８】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【００１９】
図１は、本実施形態にかかる移動ロボット１００の外観斜視図である。移動ロボット１００は、大きく分けて台車部１１０と本体部１２０によって構成される。
【００２０】
台車部１１０は、円筒形状の筐体内に、それぞれが走行面に接地する２つの駆動輪１１１と１つのキャスター１１２とを支持している。２つの駆動輪１１１は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪１１１は、不図示のモータによって独立して回転駆動される。キャスター１１２は、従動輪であり、台車部１１０から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車部１１０の移動方向に倣うように追従する。
【００２１】
移動ロボット１００は、例えば、２つの駆動輪１１１が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば台車部１１０の２つの駆動輪１１１の中央を通る鉛直軸周りに旋回する。すなわち、移動ロボット１００は、２つの駆動輪１１１の回転方向、回転速度がそれぞれ制御されることにより、任意の方向へ並進、任意の姿勢に旋回することができる。なお、より滑らかに並進移動するために、本体部１２０に対して台車部１１０が相対的に回転できる構造にしても良いし、メカナムホイールなどの全方向駆動輪を採用しても良い。
【００２２】
本体部１２０は、主に、アーム１２１とハンド１２２によって構成される把持部、および表示パネル１２３を備える。アーム１２１とハンド１２２は、不図示のモータを介して駆動され、様々な物体を制御された姿勢で把持する。図は、例えば容器である搬送物９００を把持している様子を示す。表示パネル１２３は、例えば液晶パネルであり、キャラクターの顔を表示したり、移動ロボット１００に関する情報を提示したりする。表示パネル１２３は、表示面にタッチパネルを有し、ユーザからの指示入力を受け付けることができる。また、本体部１２０には、コントロールユニット１９０が設けられている。コントロールユニット１９０は、後述の制御部とメモリ等を含む。
【００２３】
図示するように、移動ロボット１００が移動する対象空間を、駆動輪１１１が接地する床面をｘｙ平面、高さ方向をｚ軸で表す。搬送物９００を含めた移動ロボット１００を取り囲む占有空間を点線で示す占有空間ＯＣで表すと、そのｘｙ平面への投影外形ＰＪは、網線で示すような多角形となる。なお、占有空間ＯＣは、より複雑な形状でも定義できるが、演算を簡略化する観点から、直方体、三角柱、円筒体などのプリミティブの集合体で表現することが好ましい。図示する例では、占有空間ＯＣを直方体の集合体で表現している。本実施形態においては、移動ロボット１００が移動して占有空間ＯＣと障害物とが干渉する場合を衝突と判断する。
【００２４】
図２は、移動ロボット１００の制御ブロック図である。制御部２００は、例えばＣＰＵであり、本体部１２０のコントロールユニット１９０に格納されている。駆動輪ユニット２１０は、駆動輪１１１を駆動するための駆動回路やモータを含み、台車部１１０に設けられている。制御部２００は、駆動輪ユニット２１０へ駆動信号を送ることにより、駆動輪１１１の回転制御を実行する。
【００２５】
アームユニット２２０は、把持部を駆動するための駆動回路やモータを含み、本体部１２０に設けられている。制御部２００は、アームユニット２２０へ駆動信号を送ることにより、把持制御を実行する。
【００２６】
センサユニット２３０は、移動中に障害物を検出したり、搬送物９００を把持した把持部全体の姿勢を監視したりする各種センサを含み、台車部１１０および本体部１２０に分散して配置されている。制御部２００は、センサユニット２３０に制御信号を送ることにより、各種センサを駆動してその出力を取得する。
【００２７】
メモリ２４０は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ２４０は、移動ロボット１００を制御するための制御プログラムの他にも、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。メモリ２４０は、移動ロボット１００が自律走行する環境を表現する環境地図を格納した環境地図ＤＢ２４１を含む。
【００２８】
通信ＩＦ２５０は、制御部２００の制御に従って外部機器や他の自律移動ロボットと各種情報や制御信号を送受信するための通信インタフェースである。通信ＩＦ２５０は、例えば無線ＬＡＮユニットである。本実施形態においては、外部機器で予め作成された環境地図を受信する機能も担う。ユーザＩＦ２６０は、表示パネル１２３や、例えば合成音声を発話するスピーカなどであり、制御部２００の制御に従ってユーザに情報を提供したり、ユーザの指示を受け付けたりするためのユーザインタフェースである。
【００２９】
制御部２００は、制御に関わる様々な演算を実行する機能演算部としての役割も担う。計画部２０１は、環境地図を用いて、出発地点から目的地点までの移動経路と、その移動経路上での旋回角とを確定する。地図修正部２０２は、予め取得して環境地図ＤＢ２４１に格納してある環境地図を、搬送物９００を把持する移動ロボット１００の投影外形ＰＪに合わせて修正する。それぞれの具体的な演算内容については、順に詳述する。
【００３０】
図３は、移動ロボット１００の旋回を説明する図である。移動ロボット１００は、台車部１１０の略重心と一致する制御中心（Ｘ０，Ｙ０）を通る旋回軸周りに旋回できる。移動ロボット１００のローカル座標系として、制御中心からキャスター１１２方向をＸ軸プラス方向と定めると、移動ロボット１００の旋回角θは、対象空間の座標系であるｘ軸プラス方向と、Ｘ軸プラス方向の成す角で表すことができる。
【００３１】
図３（ａ）は、旋回角θ＝０°であるときの投影外形ＰＪを表す。同様に、図３（ｂ）は、旋回角θ＝４５°であるときの投影外形ＰＪを表し、図３（ｃ）は、旋回角θ＝９０°であるときの投影外形ＰＪを表す。例えばｙ軸方向に離間して存在する２つの障害物間を、移動ロボット１００がｘ軸方向に移動して通過することを考えると、図示するように投影外形ＰＪが把持部方向に突出している場合は、旋回角がθ＝０°であれば通過できても、旋回角がθ＝９０°であれば通過できないという状況が生じ得る。
【００３２】
そこで、本実施形態においては、環境地図として与えられる障害物外形に対して、移動ロボット１００の旋回角ごとに進入禁止領域を定める。図４は、移動ロボット１００の進入禁止領域を定める概念を説明する図である。
【００３３】
図４（ａ）は、旋回角がθ＝０°の場合に、障害物の外形に沿って投影外形ＰＪを掃引する様子を示す。具体的には、環境地図上に表された障害物外形ＯＢ（ここでは図示するようにＬ字形状とする）にθ＝０°の投影外形ＰＪの少なくとも一点が接触するように、固定された障害物外形ＯＢに対して投影外形ＰＪをスライドさせていく。すると、図示するように、制御中心（Ｘ０，Ｙ０）は、矢印で示す１０角形の軌跡を描く。
【００３４】
図４（ｂ）は、旋回角がθ＝０°の場合における、進入禁止領域ＮＡを示す図である。進入禁止領域ＮＡは、移動ロボット１００がその旋回角であるときに、制御中心（Ｘ０，Ｙ０）が進入できない領域を表す。すなわち、図４（ａ）において矢印で示す掃引軌跡の内側の領域として定められる。図示するように、進入禁止領域ＮＡは、投影外形ＰＪと旋回角θ＝０°に依拠して障害物外形ＯＢが拡張された領域である。具体的には、障害物外形ＯＢに対する旋回角θ＝０°の投影外形ＰＪのミンコフスキー差である。
【００３５】
図５は、図４と同様に、旋回角がθ＝４５°であるときの移動ロボット１００の進入禁止領域を定める概念を説明する図である。図５（ａ）は、旋回角がθ＝４５°の場合に、障害物の外形に沿って投影外形ＰＪを掃引する様子を示す。具体的には、環境地図上に表された障害物外形ＯＢにθ＝４５°の投影外形ＰＪの少なくとも一点が接触するように、固定された障害物外形ＯＢに対して投影外形ＰＪをスライドさせていく。すると、図示するように、制御中心（Ｘ０，Ｙ０）は、矢印で示す１６角形の軌跡を描く。
【００３６】
図５（ｂ）は、旋回角がθ＝４５°の場合における、進入禁止領域ＮＡを示す図である。進入禁止領域ＮＡは、図５（ａ）において矢印で示す掃引軌跡の内側の領域として定められる。図示するように、進入禁止領域ＮＡは、投影外形ＰＪと旋回角θ＝４５°に依拠して障害物外形ＯＢが拡張された領域である。具体的には、障害物外形ＯＢに対する旋回角θ＝４５°の投影外形ＰＪのミンコフスキー差であるが、その形状は、旋回角θ＝０°の場合の形状と異なる。
【００３７】
図６は、環境地図の各空間層の作成手順を説明する図である。具体的には、旋回角θごとに生成した進入禁止領域ＮＡを地図情報に具現化する手順を示す。図６（ａ）は、対象空間ＴＡを格子状のグリッドＧＤに区分し、対応する位置と大きさに従って描かれている障害物外形ＯＢを旋回角θ＝０°の条件で拡張した進入禁止領域ＮＡを定義した一例を示している。グリッドＧＤの大きさは、許容できる計算量等の条件によって予め定められている。また、それぞれのグリッドＧＤの座標（ｘｎ，ｙｎ）は、対象空間の座標系に従って表されている。
【００３８】
図６（ｂ）は、θ＝０°の空間層ＡＬを示す。空間層ＡＬは、各旋回角における環境地図を表す地図レイヤである。空間層ＡＬは、区分されたグリッドＧＤのそれぞれが移動ロボット１００の制御中心（Ｘ０，Ｙ０）の進入を許可するか禁止するかを表す。具体的には、それぞれのグリッドＧＤにおいて、一部でも進入禁止領域ＮＡを包含する場合に、当該グリッドＧＤを禁止グリッドに分類する。進入禁止領域ＮＡを全く含まない場合には、許可グリッドに分類する。禁止グリッドを「１」、許可グリッドを「０」で表せば、図６（ａ）の対象空間ＴＡは、図６（ｂ）に示すように各グリッドＧＤに「１」か「０」が関連付けられた空間層ＡＬとして表現される。
【００３９】
旋回角ごとに空間層ＡＬが作成されると、これを旋回角順に積層して環境地図を完成させる。図７は、環境地図の三次元構造を説明する図である。空間層ＡＬは、図６（ｂ）に示すように、各グリッドＧＤに「１」か「０」を関連付けたものであるが、図７では、概念的な理解のために、図６（ａ）のようにグリッドＧＤに進入禁止領域ＮＡを重ねて表している。以降のいくつかの図においても空間層ＡＬをこのように表現する。
【００４０】
旋回角θのステップ角度は、許容される演算量等との兼ね合いから決定されるが、ここではステップ角度を５°としている。すなわち、旋回角θが０°から３５５°まで、７２層分の空間層ＡＬを作成し積層している。なお、旋回角θ＝３６０°＝０°であるので、旋回角θ＝０°の空間層ＡＬと、θ＝３５５°の空間層ＡＬとは、互いに隣接して積層されているものと捉える。
【００４１】
このように表現された環境地図においては、出発地点Ｓは、出発地点の座標と出発地点における初期姿勢である旋回角の三次元座標（ｘｓ，ｙｓ，θｓ）で表され、目的地点Ｇは、目的地点の座標と目的地点における目標姿勢である旋回角の三次元座標（ｘｇ，ｙｇ，θｇ）で表される。例えば、出発地点での旋回角θが０°であれば、図示するように、θ＝０°の空間層ＡＬ上に出発地点グリッドＧＤｓが定められ、目的地点での旋回角θが４５°であれば、同じく図示するように、θ＝４５°の空間層ＡＬ上に目的地点グリッドＧＤｇが定められる。指定された座標および旋回角に一致するグリッドＧＤが存在しなければ、最も近いグリッドＧＤが選択される。
【００４２】
本実施形態においては、計画部２０１が、出発地点グリッドＧＤｓから、三次元構造において上下左右に隣接するグリッドＧＤを伝って目的地点グリッドＧＤｇに到達する軌跡を選択することにより、移動経路と経路上における旋回角とを確定する。以下にその手順を説明する。
【００４３】
図８は、移動経路の確定までの手順を説明する図である。計画部２０１は、まず移動経路を確定する。移動経路を確定させるために、はじめに旋回角を写像して出発地点の座標Ｓ（ｘｓ，ｙｓ）と目的地点の座標Ｇ（ｘｇ，ｙｇ）に着目する。このとき、図８の矢印で示すように、最短の移動経路は、座標Ｓから座標Ｇへ結ぶ直線である。このベクトルを直進ベクトルとする。
【００４４】
この直進ベクトルに沿うグリッドＧＤを選択して繋いでいくと、太枠で囲んだグリッドＧＤで示す軌跡を作ることができる。この軌跡を採用できるのであれば、移動経路として確定することができるが、実際には途中に禁止グリッドが存在して、旋回角を変更しても通過できない場合がある。そこで、この軌跡を第１の仮移動経路とし、この第１の仮移動経路において、旋回角が不連続にならないで出発地点グリッドＧＤｓから目的地点グリッドＧＤｇまで到達することができるかを確認する。
【００４５】
少なくともいずれかの旋回角を取れば目的地点グリッドＧＤｇまで到達できることが確認できれば、この第１の仮移動経路を移動ロボット１００が移動する移動経路として確定する。第１の仮移動経路において目的地点グリッドＧＤｇまで到達できなければ、直進ベクトルに近い次の軌跡を第２の仮移動経路に設定し、同様に目的地点グリッドＧＤｇまで到達できるかを確認する。少なくともいずれかの旋回角を取れば目的地点グリッドＧＤｇまで到達できることが確認されるまで仮移動経路を繰り返し設定し、確認された仮移動経路を移動ロボット１００が移動する移動経路として確定する。この手順をさらに詳述する。
【００４６】
図９は、仮移動経路と旋回角ごとの空間層ＡＬとの関係を示す図である。図において太枠で囲んだグリッドＧＤで示す軌跡は、ｍ番目（ｍは２以上の整数）に設定された仮移動経路を表す。すなわち、ｍ−１番目までに設定された仮移動経路においては、いずれの旋回角をとっても出発地点グリッドＧＤｓから目的地点グリッドＧＤｇまで到達できなかったことを意味する。
【００４７】
計画部２０１は、ｍ番目の仮移動経路を設定すると、環境地図の三次元構造において空間層ＡＬに直交する、この仮移動経路に沿ったグリッドＧＤの集合体を仮経路層として定める。空間層に直交する方向はθ軸であるので、空間層のある一つのグリッドＧＤに着目すると、空間層に直交するグリッドＧＤの集合体とは、当該グリッドＧＤと同一座標のグリッドＧＤであって旋回角θが互いに異なるグリッドＧＤの集合体である。概念的には、θ軸に沿った一本のグリッド柱として表される。
【００４８】
したがって、仮移動経路に沿ってグリッド柱を接続したものが仮経路層となる。図１０は、図９の仮移動経路に沿った仮経路層を説明する図である。矢印は仮移動経路を表し、仮経路層を構成するグリッド柱は、Ｐ１からＰｎまで互いに隣接するｎ本であるとする。出発地点グリッドＧＤｓは１本目のグリッド柱のいずれかのグリッドＧＤに含まれ（図の例ではθ＝０°のグリッドＧＤ）、目的地点グリッドＧＤｇはｎ本目のグリッド柱のいずれかのグリッドＧＤに含まれる（図の例ではθ＝４５°のグリッドＧＤ）。
【００４９】
計画部２０１は、このように定めた仮経路層に対して、少なくともいずれかの旋回角を取れば出発地点グリッドＧＤｓから目的地点グリッドＧＤｇまで到達することができるかを確認する。具体的には、仮移動経路に沿ったＰ１からＰｎまでを伸展したＰ軸を設定し、Ｐθ平面上にグリッドＧＤを配列して旋回角の変化の連続性を確認する。
【００５０】
図１１は、旋回角の変化の連続性を確認する手順を説明する図である。図７から図１０の空間層ＡＬにおける旋回角θのステップ角度は５°としたが、図１１では、説明を単純化すべくステップ角度を４０°としている。また、Ｐ軸におけるグリッドＧＤの個数をｎ＝９とする。
【００５１】
図１１（ａ）は、環境地図から切り出された仮経路層の様子を示す。出発地点グリッドＧＤｓはθ＝１６０°のグリッドＧＤ、目的地点グリッドＧＤｇはθ＝８０°のグリッドＧＤに指定されている。また、網掛けされたグリッドＧＤは、「１」が与えられた禁止グリッドであり、そうでないグリッドＧＤは、「０」が与えられた許可グリッドである。
【００５２】
図１１（ｂ）は、旋回角の変化の連続性を確認する手法を説明する図である。計画部２０１は、まず最初に出発地点グリッドＧＤｓに記号「Ｃ」を与える。そして、出発地点グリッドＧＤｓに隣接する許可グリッドに同じく「Ｃ」を与える。さらに、「Ｃ」が与えられた許可グリッドと互いに隣接する許可グリッドにも「Ｃ」を与える。ここで、「互いに隣接するグリッドＧＤ」は、同じＰ列のθ＝０°のグリッドＧＤとθ＝３２０°のグリッドＧＤのペアも含む。
【００５３】
局所経路を延長するたびに、これを「Ｃ」を与える許可グリッドが尽きるまで繰り返す。その結果、局所経路を延長した先のグリッドＧＤに「Ｃ」が与えられていれば、計画部２０１は、旋回角の変化の連続性が保証されたと判断する。換言すれば、出発地点グリッドＧＤｓからあるグリッドＧＤまで、旋回角の変化が不連続となることなく禁止グリッドを避けて少なくとも一つの探索枝を伸ばすことができたと判断する。図１１（ｂ）に示すように、この例においては目的地点グリッドＧＤｇに「Ｃ」が与えられたので、この経路上の旋回角の変化の連続性が保証されている。計画部２０１は、この仮移動経路を、少なくともいずれかの旋回角を取れば出発地点グリッドＧＤｓから目的地点グリッドＧＤｇまで到達できると確認したものとして、移動ロボット１００が移動する移動経路として確定する。
【００５４】
図１２も、旋回角の変化の連続性を確認する手順を説明する図であり、図１１の例とは別の例を示す、図１２も、図１１と同様に、旋回角θのステップ角度を４０°とし、Ｐ軸におけるグリッドＧＤの個数をｎ＝９とする。
【００５５】
図１２（ａ）は、環境地図から切り出された経路層の様子を示す。出発地点グリッドＧＤｓはθ＝１６０°のグリッドＧＤ、目的地点グリッドＧＤｇはθ＝８０°のグリッドＧＤに指定されている。また、網掛けされたグリッドＧＤは、「１」が与えられた禁止グリッドであり、そうでないグリッドＧＤは、「０」が与えられた許可グリッドである。図１２（ａ）の禁止グリッドのパターンは、図１１（ａ）のそれとは異なっている。
【００５６】
図１２（ｂ）は、図１１（ｂ）と同様に、旋回角の変化の連続性を確認する手法を説明する図である。計画部２０１は、まず最初に出発地点グリッドＧＤｓに記号「Ｃ」を与える。そして、出発地点グリッドＧＤｓに隣接する許可グリッドに同じく「Ｃ」を与える。さらに、「Ｃ」が与えられた許可グリッドに隣接する許可グリッドにも「Ｃ」を与える。
【００５７】
これを「Ｃ」を与える許可グリッドが尽きるまで繰り返しても、図１２（ｂ）の例では、目的地点グリッドＧＤｇに「Ｃ」が与えられない。具体的には、Ｐ８列のθ＝０°および３２０°の２つのグリッドＧＤとＰ７列のθ＝４０°から２８０°までの７つのグリッドＧＤとが、出発地点グリッドＧＤｓ側の領域と目的地点グリッドＧＤｇ側の領域とを隔てる壁となっている。すなわち、両者の間には旋回角が不連続にならずに接続できる軌跡が存在しない。
【００５８】
仮移動経路の設定は、様々な手法を採用することができる。上記の例では、直進ベクトルに近いことを判断基準として、近いものから先に仮移動経路に設定する手法を採用した。しかし、できる限り直進する経路が優先されるなど、他の要素も取り入れて判断基準を策定しても良い。
【００５９】
また、上記の例では、旋回角の変化の連続性が保証された仮移動経路が一つ見つかると、その仮移動経路を確定した移動経路としたが、旋回角の変化の連続性が保証された仮移動経路を複数見つけておき、その中から好ましい仮移動経路を選択して確定した移動経路としても良い。その場合は、それぞれの仮移動経路に対して算出される経路コストが最小となる仮移動経路を選択すると良い。具体的には、ｘｙ平面で隣接するグリッド間を移動するコストを予め定めておき、目的地点に到達するまでに積算される当該コストの合計が最小となる仮移動経路を選択する。予め定められるグリッド間の移動に対するコストは、例えば当該グリッド間の距離に比例するように定められる。もちろん、障害物に近ければコストを大きくする等の調整を加えても良い。
【００６０】
次に、移動経路が確定された後の、移動中における旋回角を確定する手順を説明する。図１３は、移動中における旋回角を確定する手順を説明する図である。上述のように、一つの移動経路が確定されたら、計画部２０１は、その経路層であるＰθ平面内で、出発地点グリッドＧＤｓから目的地点グリッドＧＤｇまでを接続するグリッドＧＤの軌跡をすべて生成する。図１３（ａ）から（ｄ）の各図は、図１１の例における出発地点グリッドＧＤｓから目的地点グリッドＧＤｇまでを接続する複数のグリッド軌跡のうちの４つを示すものである。
【００６１】
図１３（ａ）のグリッド軌跡は、θ＝８０°からθ＝２８０°の範囲でのみ旋回しながら目的地点グリッドＧＤｇまで到達できる。図１３（ｂ）のグリッド軌跡は、出発地点で初期姿勢であるθ＝１６０°から一旦θ＝３２０°まで旋回させ、Ｐ５列まで同じ姿勢で進む。図１３（ｃ）のグリッド軌跡は、直進と旋回を繰り返して、姿勢を初期姿勢からθ＝３６０°（＝０°）を超えて目標姿勢まで旋回する。図１３（ｄ）のグリッド軌跡は、図１３（ｂ）と同様に出発地点で初期姿勢であるθ＝１６０°から一旦θ＝３２０°まで旋回させた後にＰ５列まで直進するが、その後θ＝０°まで旋回させてから目的地点グリッドＧＤｇへ向かう。
【００６２】
どのグリッド軌跡を選択するかは、様々な手法を採用することができる。ここでは、経路層において旋回角の変化に対して加算される旋回角コストが最小となるグリッド軌跡を選択することにより移動中における旋回角を確定する。旋回角コストは、経路層で隣接するグリッド間を移動するときに積算される予め定められたコストであり、例えば旋回角の大きさに比例するように設定される。設定するコストに対して、障害物に近ければ大きくしたり、一度に大きく旋回する場合には細かく旋回する場合の和よりも小さくしたり、例えば移動ロボット１００のハードウェア上の制約から特定の旋回角に対して大きくしたりするなどの調整を加えても良い。
【００６３】
このように、移動ロボット１００が旋回し得る旋回角ごとのグリッド地図を順に積層させた三次元構造の環境地図を利用すれば、旋回角の変化を平面方向（ｘｙ平面）への移動と同様に扱えるので、既存の経路探索アルゴリズムを旋回角方向（Ｐθ平面）にも適用できる。すなわち、旋回角の変化を平面方向への移動と同様に扱うことができるので、移動中の旋回角を速やかに確定させることができる。
【００６４】
以上説明したように、本実施形態における移動ロボット１００は、まず移動中に旋回角が不連続にならないことを確認しつつ移動経路を確定し、その後に移動中における最適な旋回角を確定させる２段階の判断を行う。このように２段階の判断を行うことで、従前のような移動経路と旋回角を並列的かつ網羅的に探索するよりも大幅に演算量を削減できる。したがって、移動計画をいち早く立案することができるので、移動ロボット１００の臨機応変な自律移動を実現することができる。
【００６５】
計画部２０１は、採用された手法による予め定められた条件に基づいて一つのグリッド軌跡が選択されたら、当該グリッド軌跡による旋回角を移動中における旋回角として確定する。移動ロボット１００は、このように計画された移動経路とその移動経路中の各区間での旋回角に従って、目的地点へ向かって自律移動を実行する。
【００６６】
次に、移動ロボット１００の自律移動における処理手順について説明する。図１４は、移動ロボット１００の自律移動における処理手順を示すフロー図である。フローは、移動ロボット１００が起動され、タスクの入力待ちの状態から開始される。
【００６７】
制御部２００は、ステップＳ１０１で、ユーザＩＦ２５０または通信ＩＦ２５０を介して、目的地点までの移動を伴うタスクを受け付ける。目的地点は、例えば表示パネル１２３に表示された地図に対してユーザが指示する座標に応じて確定される。
【００６８】
制御部２００は、続くステップＳ１０２で、ハンド１２２が把持する搬送物９００を含めた移動ロボット１００の投影外形ＰＪを演算する。例えば、センサユニット２３０から撮影画像を取得して画像解析したり、アーム１２１の姿勢を取得して本体部１２０からの突出量を算出したりして投影外形ＰＪを確定する。
【００６９】
制御部２００は、環境地図ＤＢ２４１から、あるいは通信ＩＦ２５０を介して外部機器から、これから自律移動する対象空間の環境地図を取得する。続いて制御部２００の地図修正部２０２は、ステップＳ１０４で、取得した環境地図に対し、ステップＳ１０２で演算した投影外形ＰＪに基づいて修正を行う。具体的には、対象空間の障害物外形ＯＢが記述されている環境地図に対して、図４および図５を用いて説明したように、旋回角に対応する投影外形ＰＪを掃引して進入禁止領域ＮＡを演算する。そして、図６および図７を用いて説明したような禁止グリッドと許可グリッドを定めた三次元構造の環境地図を生成する。
【００７０】
環境地図が完成したら、ステップＳ１０５へ進み、計画部２０１が、出発地点グリッドＧＤｓと目的地点グリッドＧＤｇに応じた移動経路演算を実行する。具体的には図８から図１０を用いて説明したように、旋回角の変化が不連続となることのない仮移動経路を見つけ出す。そして、ステップＳ１０６で、計画部２０１は、仮移動経路を見つけることができたか否かを判断する。仮移動経路が一つも見つからなければステップＳ１１３へ進み、制御部２００は、目的地点へは移動不可能である旨を表示パネル１２３に表示するなどのエラー処理を実行して一連の処理を終了する。仮移動経路が見つかったらステップＳ１０７へ進む。
【００７１】
計画部２０１は、ステップＳ１０７で、仮移動経路が複数見つかったか否かを判断する。見つかった仮移動経路が一つであれば、そのまま当該仮移動経路を移動ロボット１００が移動する移動経路として確定する。複数の仮移動経路が見つかったのであれば、ステップＳ１０８へ進んで、予め定められた条件に従って一つを選び移動ロボット１００が移動する移動経路として確定する。具体的には、上述のように例えば、それぞれの仮移動経路に対して算出される経路コストが最小となる仮移動経路を選べば良い。
【００７２】
計画部２０１は、移動経路が確定したら、ステップＳ１０９へ進み、その移動経路の移動中における旋回角を確定させる移動姿勢演算を実行する。具体的にはまず、図１３を用いて説明したように、経路層であるＰθ平面内で、出発地点グリッドＧＤｓから目的地点グリッドＧＤｇまでを接続するグリッド軌跡の候補を見つけ出す。
【００７３】
そして、ステップＳ１１０で、計画部２０１は、グリッド軌跡の候補が複数見つかったか否かを判断する。見つかったグリッド軌跡が一つであれば、そのまま当該グリッド軌跡を移動中における旋回角として確定する。複数のグリッド軌跡が見つかったのであれば、ステップＳ１１１へ進んで、予め定められた条件に従って一つを選び移動中における旋回角として確定する。具体的には、上述のように例えば、経路層において旋回角の変化に対して加算される旋回角コストが最小となるグリッド軌跡を選べば良い。
【００７４】
このように移動中における旋回角が確定できたら、目的地点までの移動計画が整ったものと判断し、ステップＳ１１２へ進み、与えられたタスクの実行に移行する。タスクの実行が完了したら一連の処理を終了する。
【００７５】
以上のフローにおいては、環境地図を修正するステップＳ１０４を実行したが、例えば搬送物９００を搬送していない場合には、移動ロボット１００自身の投影外形ＰＪに基づいて予め作成された、三次元構造の環境地図をステップＳ１０３で取得しても良い。また、特定の搬送物９００を搬送することが予定されているのであれば、当該搬送物９００を把持した状態の投影外形ＰＪに基づいて作成された、三次元構造の環境地図をステップＳ１０３で取得しても良い。これらの場合には、環境地図を修正するステップＳ１０４を実行する必要が無い。
【００７６】
以上説明した実施形態においては、移動ロボット１００自身が、出発地点から目的地点まで自律移動する移動経路と、移動経路の移動中における移動ロボットの姿勢である旋回角とを計画したが、移動計画を実行する実体は、移動ロボット１００とは別に設けられても良い。例えば、ネットワークを介して移動ロボット１００と接続されるサーバが、移動計画装置として機能しても良い。この場合、投影外形ＰＪ等の情報を移動ロボット１００から取得し、予め保持する環境地図を修正することにより、移動ロボット１００用の環境地図を得るように構成すると良い。そして、出発地点から目的地点まで自律移動する移動経路と、移動経路の移動中における移動ロボットの姿勢である旋回角とを確定したら、移動ロボット１００へ送信すれば良い。
【００７７】
移動ロボット１００自身が移動計画装置を備えるか、例えば外部のサーバを移動計画装置として機能させるかは、移動ロボット１００の利用目的や、対象空間の状況に合わせて選択すれば良い。移動ロボット１００自身が移動計画装置を備えれば、例えば通信環境が良好でない環境においても、自律移動を確実に実行することができる。
【００７８】
以上説明した本実施形態では、対象空間を格子状のグリッドに区分し、各旋回角で空間層を作成して積層した三次元構造の環境地図を利用したが、環境地図の構造はこれに限らない。計画部２０１が、まず移動中に旋回角が不連続にならないことを確認しつつ移動経路を確定し、その後に移動中における最適な旋回角を確定させる２段階の判断が行える態様であれば、様々な環境地図を採用することができる。
【符号の説明】
【００７９】
１００  移動ロボット、１１０  台車部、１１１  駆動輪、１１２  キャスター、１２０  本体部、１２１  アーム、１２２  ハンド、１２３  表示パネル、１９０  コントロールユニット、２００  制御部、２０１  計画部、２０２  地図修正部、２１０  駆動輪ユニット、２２０  アームユニット、２３０  センサユニット、２４０  メモリ、２４１  環境地図ＤＢ、２５０  通信ＩＦ、２６０  ユーザＩＦ、９００  搬送物
【図１】
2019020760.tif 000003
【図２】
2019020760.tif 000004
【図３】
2019020760.tif 000005
【図４】
2019020760.tif 000006
【図５】
2019020760.tif 000007
【図６】
2019020760.tif 000008
【図７】
2019020760.tif 000009
【図８】
2019020760.tif 000010
【図９】
2019020760.tif 000011
【図１０】
2019020760.tif 000012
【図１１】
2019020760.tif 000013
【図１２】
2019020760.tif 000014
【図１３】
2019020760.tif 000015
【図１４】
2019020760.tif 000016