(57)【特許請求の範囲】
【請求項１】
可動する把持部と、環境地図を記憶した記憶部と、を有する移動ロボットであり、前記環境地図上を、前記搬送物を把持しない状態の前記移動ロボットの射影に外接する基準円を掃引することにより、前記環境地図上の目標地点までの経路を探索するステップを備え、前記把持部により搬送物を把持して前記目標地点までの移動経路を計画する移動経路計画方法であって、
前記搬送物を把持した場合に前記把持部または前記搬送物が前記基準円からはみ出すか否かを判定し、はみ出す場合には、はみ出した前記把持部または前記搬送物を含む前記移動ロボットの射影に外接する判定円を作成するステップと、
前記判定円を前記経路に沿って掃引した場合に、前記判定円が障害物に接触する接触地点の有無を判定し、前記接触地点を同定するステップと、
前記接触地点が存在した場合に、前記把持部の姿勢および前記移動ロボットの姿勢の少なくともいずれかを変化させることにより前記障害物を回避する回避動作を策定するステップと
を含む移動経路計画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボットの移動経路計画方法に関する。
【背景技術】
【０００２】
目標地点まで自律的に移動する移動ロボットが知られている。移動ロボットは、環境地図を用いて目標地点までの経路を決定し、その経路に沿って移動する。例えば、特許文献１は、移動経路において障害物と衝突する可能性を評価する技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２９１５４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
移動ロボットが搬送物を把持して目標地点まで移動しようとする場合に、搬送物も含めた外形形状を厳密に認識した上で障害物と接触しない移動経路を決定する手法は、膨大な演算を要し、円滑な移動を妨げる原因となっている。一方で、搬送物を把持した状態の移動ロボットの射影に外接する円を環境地図上で掃引して、障害物と接触しない移動経路を決定する手法は、演算量は少ないものの、障害物が多い環境下ではそもそも移動経路を見つけられないことがあった。
【０００５】
本発明は、このような問題を解決するためになされたものであり、演算量を抑制しつつ、障害物と接触しない移動経路を探索して、自律移動のための移動経路を計画する技術を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の一態様における移動経路計画方法は、可動する把持部と、環境地図を記憶した記憶部と、を有する移動ロボットであり、環境地図上を、搬送物を把持しない状態の移動ロボットの射影に外接する基準円を掃引することにより、環境地図上の目標地点までの経路を探索するステップを備え、把持部により搬送物を把持して目標地点までの移動経路を計画する移動経路計画方法であって、搬送物を把持した場合に把持部または搬送物が基準円からはみ出すか否かを判定し、はみ出す場合には、はみ出した把持部または搬送物を含む移動ロボットの射影に外接する判定円を作成するステップと、判定円を経路に沿って掃引した場合に、判定円が障害物に接触する接触地点の有無を判定し、接触地点を同定するステップと、接触地点が存在した場合に、把持部の姿勢および移動ロボットの姿勢の少なくともいずれかを変化させることにより障害物を回避する回避動作を策定するステップとを含む。
この構成により基準円または判定円で移動経路を確定できるのであれば、経路探索のための演算量も少なく、円滑な自律移動を実現できる。この場合は、移動中の姿勢変化も考慮しなくて良いので、走行制御も容易である。一方、判定円の掃引によっても移動経路を確定できない場合は、経路上の接触地点を同定し、搬送物を把持しつつ姿勢を変化させることで障害物との接触を回避するので、狭い幅の経路も通過させることができる。また、接触地点における姿勢変化は、移動ロボットの外形の実際的形状を用いて演算するので演算量は増大するが、実際的形状を用いて移動経路の全体を演算するよりは演算量が少なくすることができる。
【発明の効果】
【０００７】
本発明により、移動ロボットは、障害物の多い環境下であっても、障害物と接触しない移動経路を短時間で探索し、円滑に自律移動することができる。  
【図面の簡単な説明】
【０００８】
【図１】本実施形態にかかる移動ロボットの外観斜視図である。
【図２】移動ロボットの制御ブロック図である。
【図３】搬送物を把持しない場合における基準円を説明する図である。
【図４】搬送物を把持した場合の基準円との関係を説明する図である。
【図５】搬送物を把持した場合における判定円を説明する図である。
【図６】保持する環境地図の例を示す図である。
【図７】基準円に対する経路探索を説明する図である。
【図８】判定円に対する経路探索を説明する図である。
【図９】判定円に対する経路を生成できない環境を説明する図である。
【図１０】姿勢変化を伴う移動経路の探索を説明する図である。
【図１１】姿勢変化により障害物を回避する動作を説明する図である。
【図１２】姿勢変化後の接触判定を説明する図である。
【図１３】移動ロボットの処理手順を示すフロー図である。
【発明を実施するための形態】
【０００９】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【００１０】
図１は、本実施形態にかかる移動ロボット１００の外観斜視図である。移動ロボット１００は、大きく分けて台車部１１０と把持部１２０によって構成される。
【００１１】
台車部１１０は、主に、ベース１１１と、ベース１１１に取り付けられた２つの駆動輪１１２と１つのキャスター１１３とから構成される。２つの駆動輪１１２は、ベース１１１の対向する側方のそれぞれに、回転軸芯が一致するように配設されている。それぞれの駆動輪１１２は、不図示のモータによって独立して回転駆動される。キャスター１１３は、従動輪であり、ベース１１１から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車部１１０の移動方向に倣うように追従する。移動ロボット１００は、例えば、２つの駆動輪１１２が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば重心を通る鉛直軸周りに旋回する。すなわち、移動ロボット１００は、２つの駆動輪１１２の回転方向、回転速度がそれぞれ制御されることにより、前進、後進、旋回することができる。
【００１２】
台車部１１０は、障害物検知や周辺環境認識のための各種センサが設けられている。カメラ１１４は、そのセンサ類の一つであり、ベース１１１の四隅に配置されている。カメラ１１４は、例えばＣＭＯＳイメージセンサを含み、撮影した画像信号を後述の制御部へ送信する。隣接する２つのカメラ１１４が同一の被写体を捉えれば視差画像を取得でき、当該被写体までの距離を算出することもできる。
【００１３】
把持部１２０は、主に、複数のアーム１２１、１２２、１２３と、ハンド１２４とから構成される。アーム１２１は、鉛直軸周りに回転自在に、一端がベース１１１に軸支されている。アーム１２２は、水平軸周りに回転自在に、一端がアーム１２１の他端に軸支されている。アーム１２３は、アーム１２２の他端で放射方向に回転自在に、一端がアーム１２２の他端に軸支されている。ハンド１２４は、アーム１２３の伸延方向と平行な中心軸周りに回転自在に、アーム１２３の他端に軸支されている。また、ハンド１２４は、搬送物を把持できるように、把持機構を備える。アーム１２１、１２２、１２３とハンド１２４は、不図示のモータを介して駆動され、所定の姿勢をとったり、搬送物を把持したりする。
【００１４】
図２は、移動ロボット１００の制御ブロック図である。制御部２００は、例えばＣＰＵであり、台車部１１０に設けられている。駆動輪ユニット２１０は、駆動輪１１２を駆動するための駆動回路やモータを含み、台車部１１０に設けられている。制御部２００は、駆動輪ユニット２１０へ駆動信号を送ることにより、駆動輪１１２の回転制御を実行する。
【００１５】
アームユニット２２０は、アーム１２１、１２２、１２３およびハンド１２４を駆動するための駆動回路やモータを含み、把持部１２０に設けられている。制御部２００は、アームユニット２２０へ駆動信号を送ることにより、把持部１２０の姿勢制御や把持制御を実行する。
【００１６】
センサユニット２３０は、周辺環境を探索したり把持部１２０の姿勢を監視したりする各種センサを含み、台車部１１０および把持部１２０に分散して配置されている。制御部２００は、センサユニット２３０に制御信号を送ることにより、各種センサを駆動してその出力を取得する。カメラ１１４は、センサユニット２３０に含まれ、制御信号に従って撮影動作を実行する。
【００１７】
メモリ２４０は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ２４０は、移動ロボット１００を制御するための制御プログラムの他にも、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。メモリ２４０は、移動ロボット１００が自律走行する環境を表現する環境地図を格納した環境地図ＤＢ２４１を含む。
【００１８】
制御部２００は、駆動輪ユニット２１０、アームユニット２２０、センサユニット２３０およびメモリ２４０との間で情報を送受信することにより、制御に関わる様々な演算を実行する機能演算部としての役割も担う。接触判定部２０１は、環境地図ＤＢ２４１から読み込んだ環境地図を用いて、移動ロボット１００が自律走行した場合に障害物と接触するかを判定する。経路計画部２０２は、環境地図ＤＢ２４１から読み込んだ環境地図を用いて、移動ロボット１００が自律走行するための経路を計画する。搬送物認識部２０３は、ハンド１２４が把持した搬送物をカメラ１１４で撮影し、その画像データを用いて搬送物の大きさや位置を認識する。姿勢計画部２０４は、移動経路の特定の箇所において、台車部１１０の向きや把持部１２０の姿勢をどのように変化させて走行させるかを計画する。それぞれの具体的な演算内容については、順に詳述する。
【００１９】
図３は、搬送物を把持しない場合における基準円５０１を説明する図である。基準円５０１は、図で網状に示した領域を取り囲む円である。具体的には、基準円５０１は、搬送物を把持しない状態の移動ロボット１００の射影（鉛直方向から走行面に投射した影）に外接する円である。把持部１２０が射影の一部を形成する場合は、把持部１２０は、射影の全体ができる限り小さくなるような姿勢を取る。このように定義される基準円５０１の直径をＲ０と定める。Ｒ０は、移動ロボット１００の構造によって定まる定数であるので、その値は予めメモリ２４０に記憶されている。
【００２０】
図４は、搬送物３０１を把持した場合の基準円５０１との関係を説明する図である。移動ロボット１００が搬送する対象である搬送物３０１が比較的小さな場合は、把持部１２０の姿勢を工夫することにより、搬送物３０１を把持した状態でも、その射影は基準円５０１に収まる。このように、搬送物３０１を把持した状態の移動ロボット１００の射影が基準円５０１に収まるのであれば、経路計画部２０２は、幅Ｒ０を基準に移動経路を探索できる。
【００２１】
搬送物３０１を把持した状態の移動ロボット１００の射影が基準円５０１に収まるか否かは、搬送物認識部２０３が搬送物の大きさや位置を認識した上で制御部２００が判断する。搬送物認識部２０３が、ある把持状態の搬送物３０１について、その先端が基準円５０１によって形成される仮想的な円筒の内部に存在すると認識すれば、基準円５０１に収まると判断する。仮想的な円筒からはみ出ると認識した場合であっても、把持部１２０の姿勢を変化させて搬送物３０１の把持状態を変えれば円筒の内部に存在させることができるかを演算する。具体的には、搬送物３０１を円筒の内部の様々な位置に様々な姿勢で仮想的に配置し、その位置および姿勢の搬送物３０１を把持する把持部１２０の姿勢に解が存在するか逆運動学を用いて演算する。解が存在すれば、制御部２００は、把持部１２０をその解に従った姿勢に変更する。
【００２２】
図５は、搬送物３０３を把持した場合における判定円５０２を説明する図である。搬送する対象物である搬送物３０３が比較的大きい場合は、把持部１２０の姿勢を工夫しても、搬送物３０３を把持した状態の射影は基準円５０１に収まらなくなる。この場合は、搬送物３０３を把持した状態における、搬送物３０３を含む移動ロボット１００の射影に外接する判定円５０２を定義する。このとき、把持部１２０は、射影の全体ができる限り小さくなるような姿勢を取ることが好ましい。例えば、制御部２００は、把持部１２０の姿勢を様々に変化させ、搬送物認識部２０３により搬送物３０３の先端位置を認識することにより、射影の全体ができる限り小さくなるような姿勢を見つけ出す。このように定義される判定円５０２の直径をＲ１と定める。Ｒ１は、搬送物認識部２０３の処理を経て決定される値である。経路計画部２０２は、幅Ｒ１を基準に移動経路を探索する。
【００２３】
次に、移動経路の探索について説明する。図６は、保持する環境地図の一例を示す図である。図示する環境地図６０１は、環境地図ＤＢ２４１に格納された環境地図の一つである。環境地図６０１は、実環境を所定の縮尺で平面に投影するように生成された地図であり、具体的には主に固定物の大きさや位置が把握できるように記述されている。図の例は、略正方形の部屋を表し、その周囲は壁６２１で囲まれている。入り口付近には解放された扉６２２が存在し、部屋の中央には机６２４が配置されている。また、机６２４を挟むように、ソファー６２５とテレビ台６２６が配置されている。このような環境において、制御部２００は、入り口付近の始動地点６１１と、自律走行によって到達すべき目標地点６１２を定める。
【００２４】
図７は、基準円５０１に対する経路探索を説明する図である。図４を用いて説明したように、搬送物を把持しても射影が基準円５０１に収まると判断された場合には、経路計画部２０２は、幅Ｒ０を以て始動地点６１１から目標地点６１２まで移動経路を確立できるかを探索する。具体的には、環境地図６０１上で、始動地点６１１から目標地点６１２まで、直径Ｒ０の円を掃引することができるかを試みる。環境地図６０１の環境では、経路計画部２０２は、図７（ａ）に示すように、右側と奥側の２つの壁に沿う第１経路６３１と、図７（ｂ）に示すように、机６２４とテレビ台６２６の間を通過して左側の壁に沿う第２経路６３２との２つの移動経路を見出すことができる。このように複数の移動経路を見出すことができた場合には、経路計画部２０２は、予め定められた評価基準に沿って一つを選択し、移動ロボット１００の移動経路として決定する。評価基準は、経路と障害物との距離が遠いか、目標地点６１２までの走行距離が短いか、などが採用され得る。
【００２５】
図８は、判定円５０２に対する経路探索を説明する図である。図５を用いて説明したように、搬送物を把持した場合の射影が基準円５０１には収まらず、基準円５０１より大きな判定円５０２であれば収まると判断された場合には、経路計画部２０２は、幅Ｒ１を以て始動地点６１１から目標地点６１２まで移動経路を確立できるかを探索する。具体的には、環境地図６０１上で、始動地点６１１から目標地点６１２まで、直径Ｒ１の円を掃引することができるかを試みる。環境地図６０１の環境では、経路計画部２０２は、図示すように、右側と奥側の２つの壁に沿う第１経路６４１の移動経路を見出すことができる。経路計画部２０２は、第１経路６４１を移動ロボット１００の移動経路として決定する。なお、複数の移動経路を見出すことができた場合は、図７の例と同様に、予め定められた評価基準に沿って一つを選択すれば良い。
【００２６】
図９は、判定円５０２に対する経路を生成できない環境を説明する図である。図９で示す環境は、机６２４の側方に壁６２１から張り出す柱６２７が存在する点で図６の例と異なる。机６２４と柱６２７との間の距離はＲ’であり、Ｒ１より小さく、更にはＲ０よりも小さい。この環境を示す環境地図６０２においては、始動地点６１１から目標地点６１２まで、直径Ｒ１の円を掃引することができない。すなわち、図８における第１経路６４１を確立できない。このような環境において、搬送物を把持した場合の射影が基準円５０１には収まらず、基準円５０１より大きな判定円５０２であれば収まると判断された移動ロボット１００が、始動地点６１１から目標地点６１２まで走行する場合について説明する。
【００２７】
図１０は、姿勢変化を伴う移動経路の探索を説明する図である。図示される環境は、図９の環境と同じであり、環境地図６０２で表されている。環境地図６０２においては、基準円５０１で掃引された図７（ｂ）で示した第２経路６３２であれば、始動地点６１１から目標地点６１２までの経路を確立することができる。しかし、第２経路６３２の幅はＲ０であるので、この経路に沿って直径がＲ１である判定円５０２を掃引すると、いずれかの地点において障害物と接触することになる。接触判定部２０１は、判定円５０２を第２経路６３２に沿って掃引した場合に、判定円５０２が障害物に接触する接触地点を同定する。図の例においては、判定円５０２は、地点ＰＳで机６２４と接触する。したがって、接触判定部２０１は、最初の接触地点として地点ＰＳを同定する。
【００２８】
また、接触判定部２０１は、判定円５０２を第２経路６３２に沿って掃引した場合に、判定円５０２が障害物と接触しなくなる離脱地点を同定する。図の例においては、判定円５０２は、地点ＰＥまで机６２４と接触する。したがって、接触判定部２０１は、離脱地点として地点ＰＥを同定する。すると、接触判定部２０１は、接触地点ＰＳと離脱地点ＰＥに挟まれた区間Ｄ１を、接触区間と同定できる。接触区間が同定されると、まず、接触区間以外の区間において、搬送物３０３を把持した移動ロボット１００が障害物に接触することなく走行できることが保証される。
【００２９】
姿勢計画部２０４は、接触判定部２０１から接触区間Ｄ１の情報を引き継ぎ、移動ロボット１００が、この区間を、台車部１１０の向きや把持部１２０の姿勢を変化させれば通過できるか否かを演算する。なお、以下の説明においては、台車部１１０の向きや把持部１２０の姿勢を変化させることを、単に姿勢変化という場合がある。
【００３０】
図１１は、姿勢変化により障害物を回避する動作を説明する図である。図１１（ａ）に示すように、搬送物３０４が進行方向に直交する向きに突き出ているために基準円５０１に収まらない状況である場合、移動ロボット１００がそのまま直進すると、搬送物３０４は机６２４に接触する。姿勢計画部２０４は、この状況を把握し、姿勢変化により机６２４との接触を回避できないかを演算する。上述のように、姿勢計画部２０４は、障害物を回避する姿勢変化として、台車部１１０の向きの変化、把持部１２０の姿勢の変化を検討する。図１１（ａ）の状況においては、台車部１１０の向きを変化させると、走行方向と台車部１１０の向きが一致しなくなるので、走行制御の観点から不利である。そこで、姿勢計画部２０４は、台車部１１０の向きを変化させるより、把持部１２０の姿勢を変化させることを優先する。
【００３１】
図１１（ａ）の状況において、姿勢計画部２０４は、搬送物３０４が机６２４と接触しない把持部１２０の姿勢変化を見つけ出す。その解の一つが、図１１（ｂ）への姿勢変化である。図１１（ｂ）で示すように、搬送物３０４が進行方向の後方に位置するように把持部１２０の姿勢を変化させれば、移動ロボット１００が接触地点ＰＳから微小区間進んでも机６２４と接触しないことが演算により導ける。ここで、移動ロボット１００を微小区間進めた場合に障害物と接触するか否かの接触判定は、図１２で示す包摂外形５１０を移動させたときに、環境地図６０２に記述された障害物と重なり合うかを、幾何学的に判定する。
【００３２】
図１２は、姿勢変化後の接触判定を説明する図である。図示する包摂外形５１０は、直径Ｒ０の基準円５０１に、直径Ｒ０から突出する部分の射影の輪郭を加えたものである。すなわち、突出する部分を実際の幾何形状で表現することにより、障害物との相対位置を厳密に判定できるようにしている。
【００３３】
姿勢計画部２０４は、接触区間Ｄ１を微小区間ごとに区切って、その区間ごとに包摂外形５１０が障害物と接触しないかを判定する。ある区間で接触すると判定した場合は、その微小区間の開始地点で再度姿勢変化を行えばその障害物を回避できるかを試みる。この演算を繰り返し、姿勢変化を伴えば接触区間Ｄ１を通過できるか否かを判定する。
【００３４】
そして、通過できると判定したら、いずれの地点でどのような姿勢変化を実行させるかを確定させ、これを台車の走行制御に伴う、障害物を回避する回避動作として策定する。接触区間においてこのような回避動作が策定できれば、制御部２００は、姿勢変化を行わない接触区間以外の区間の走行計画と合わせて、移動ロボット１００を目標地点６１２に到達させることができると判断できる。なお、上記の例では、始動地点６１１から目標地点６１２までの経路上に一つの接触区間Ｄ１が存在する例を示したが、２つ以上の接触区間が存在しても良い。その場合は、それぞれの区間ごとに回避動作を策定できるかを試みる。
【００３５】
また、上記の例では、接触区間の例として直線区間を紹介したが、接触区間は、もちろん右折箇所、左折箇所、曲線区間などを含んでも良い。進行方向が変化する場合は、把持部１２０の姿勢を変化させるよりも、台車部１１０の向きを変化させることにより障害物との接触を避けやすい場合もあり得る。姿勢計画部２０４は、走行制御を考慮して回避動作を策定しても良い。
【００３６】
次に、移動ロボット１００の移動計画の生成から実行に至る処理について説明する。図１３は、移動ロボット１００の処理手順を示すフロー図である。フローは、移動ロボット１００が、始動地点に停止している状態から開始する。
【００３７】
経路計画部２０２は、ステップＳ１０１において、環境地図ＤＢ２４１から環境地図を読み込み、メモリ２４０から基準円の径Ｒ０を読み込んで、幅Ｒ０を基準として目標地点に到達する移動経路を確立できるかを探索する。移動経路が確立できないと判断したら、そもそも搬送物を把持していないとしても目標地点に到達できないので、ステップＳ１０２へ進み、到達不能である旨の告知を行う。到達不能告知は、例えば、音声で告知したり、ユーザが所持する端末に画像を表示したりする。移動ロボット１００は、到達不能告知を行ったら、移動を開始することなく一連の処理を終了させる。
【００３８】
ステップＳ１０１で移動経路を確立できると判断したら、ステップＳ１０３へ進み、制御部２００は、アームユニット２２０を介して、搬送物を把持する。そして、搬送物認識部２０３は、センサユニット２３０を介して、搬送物の大きさや位置といった外形認識を実行する。
【００３９】
ステップＳ１０４へ進み、制御部２００は、把持部１２０が搬送物を把持した状態で、その射影が基準円の半径Ｒ０内に収まるか否かを判断する。収まると判断した場合は、ステップＳ１０５へ進み、幅Ｒ０による移動経路を決定する。なお、上述のように、幅Ｒ０の移動経路が複数見出された場合は、評価基準に従って一つの経路が決定される。移動経路が決定されたら、ステップＳ１０６へ進み、その経路に沿って移動し、目標地点に到達したら一連の処理を終了する。
【００４０】
ステップＳ１０４で半径Ｒ０内に収まらないと判断した場合は、ステップＳ１０７で、搬送物認識部２０３は、把持部１２０の姿勢を変化させつつ判定円とその直径Ｒ１を決定する。なお、この処理は、ステップＳ１０３の段階で纏めて行っても良い。
【００４１】
ステップＳ１０８へ進み、経路計画部２０２は、環境地図を参照し、幅Ｒ１を基準として目標地点に到達する移動経路を確立できるかを探索する。移動経路を確立できたら、ステップＳ１０９へ進み、幅Ｒ１による移動経路を決定する。なお、幅Ｒ１の移動経路が複数見出された場合は、評価基準に従って一つの経路が決定される。移動経路が決定されたら、ステップＳ１０６へ進み、その経路に沿って移動し、目標地点に到達したら一連の処理を終了する。
【００４２】
ステップＳ１０８において、幅Ｒ１を基準とした移動経路を確立できなかったら、ステップＳ１１０へ進み、接触判定部２０１は、経路計画部２０２がステップＳ１０１で探索した幅Ｒ０を基準とした移動経路の一つを検証対象として選択する。一つしか存在しない場合は、その移動経路を検証対象とする。そして、ステップＳ１１１において、図１０を用いて説明したように、直径Ｒ１の判定円を検証対象となる移動経路に沿って掃引させて障害物との接触地点および接触区間を同定する。接触判定部２０１は、ステップＳ１１２へ進み、接触地点、および接触区間を微小区間ごとに区切った各々の地点に対して、姿勢変化によって障害物との衝突を回避できるかを試みる。回避できないと判定したら、ステップＳ１１３へ進み、接触判定部２０１は、経路計画部２０２がステップＳ１０１で探索した幅Ｒ０を基準とした移動経路の全てを検証したかを確認する。まだ全てを検証していない場合は、ステップＳ１１０へ戻り、ステップＳ１１０からＳ１１２を繰り返す。一方、全てを検証し終わった場合は、ステップＳ１０２へ進み、上記の通り到達不能である旨の告知を行って、一連の処理を終了する。
【００４３】
ステップＳ１１２で障害物との接触を回避できると判定したら、ステップＳ１１４へ進み、いずれの地点でどのような姿勢変化を実行させるかを確定させ、障害物を回避する回避動作として策定する。そして、ステップＳ１１５へ進み、制御部２００は、接触区間では策定した回避動作に従って姿勢変化を実行しつつ、移動経路に沿って移動し、目標地点に到達したら一連の処理を終了する。
【００４４】
以上説明したように、移動ロボット１００が自律移動して搬送物を目標地点まで運ぶ場合に、移動ロボット１００の射影から形成される基準円または判定円で移動経路を確定できるのであれば、経路探索のための演算量も少なく、円滑な自律移動を実現できる。この場合は、移動中の姿勢変化も考慮しなくて良いので、走行制御も容易である。一方、判定円の掃引によっても移動経路を確定できない場合は、経路上の接触地点を同定し、搬送物を把持しつつ姿勢を変化させることで障害物との接触を回避するので、狭い幅の経路も通過させることができる。すなわち、円の掃引では移動経路を探索できない場合でも、目標地点までの経路を確保することができる。また、接触地点における姿勢変化は、移動ロボット１００の外形の実際的形状を用いて演算するので演算量は増大するが、実際的形状を用いて移動経路の全体を演算するよりは演算量が少なくなる。演算量を少なくできると、特に連続的に目標地点を設定して長い距離を移動するような場合に、演算のための移動停止を抑制できたり、移動速度を向上できたりする。
【００４５】
以上説明した実施形態において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現し得る。便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００４６】
１００  移動ロボット、１１０  台車部、１１１  ベース、１１２  駆動輪、１１３  キャスター、１１４  カメラ、１２０  把持部、１２１、１２２、１２３  アーム、１２４  ハンド、２００  制御部、２０１  接触判定部、２０２  経路計画部、２０３  搬送物認識部、２０４  姿勢計画部、２１０  駆動輪ユニット、２２０  アームユニット、２３０  センサユニット、２４０  メモリ、２４１  環境地図ＤＢ、３０１  搬送物、３０３  搬送物、５０１  基準円、５０２  判定円、５１０  包摂外形、６０１、６０２  環境地図、６１１  始動地点、６１２  目標地点、６２１  壁、６２２  扉、６２３  床面、６２４  机、６２５  ソファー、６２６  テレビ台、６２７  柱、６３１  第１経路、６３２  第２経路、６４１  第１経路
【図１】
0006693291.tif 000002
【図２】
0006693291.tif 000003
【図３】
0006693291.tif 000004
【図４】
0006693291.tif 000005
【図５】
0006693291.tif 000006
【図６】
0006693291.tif 000007
【図７】
0006693291.tif 000008
【図８】
0006693291.tif 000009
【図９】
0006693291.tif 000010
【図１０】
0006693291.tif 000011
【図１１】
0006693291.tif 000012
【図１２】
0006693291.tif 000013
【図１３】
0006693291.tif 000014