以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
図1は、本実施形態にかかる移動ロボット100の外観斜視図である。移動ロボット100は、大きく分けて台車部110と本体部120によって構成される。
台車部110は、円筒形状の筐体内に、それぞれが走行面に接地する2つの駆動輪111と1つのキャスター112とを支持している。2つの駆動輪111は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪111は、不図示のモータによって独立して回転駆動される。キャスター112は、従動輪であり、台車部110から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車部110の移動方向に倣うように追従する。
移動ロボット100は、例えば、2つの駆動輪111が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば台車部110の2つの駆動輪111の中央を通る鉛直軸周りに旋回する。すなわち、移動ロボット100は、2つの駆動輪111の回転方向、回転速度がそれぞれ制御されることにより、任意の方向へ並進、任意の姿勢に旋回することができる。なお、より滑らかに並進移動するために、本体部120に対して台車部110が相対的に回転できる構造にしても良いし、メカナムホイールなどの全方向駆動輪を採用しても良い。
本体部120は、主に、アーム121とハンド122によって構成される把持部、および表示パネル123を備える。アーム121とハンド122は、不図示のモータを介して駆動され、様々な物体を制御された姿勢で把持する。図は、例えば容器である搬送物900を把持している様子を示す。表示パネル123は、例えば液晶パネルであり、キャラクターの顔を表示したり、移動ロボット100に関する情報を提示したりする。表示パネル123は、表示面にタッチパネルを有し、ユーザからの指示入力を受け付けることができる。また、本体部120には、コントロールユニット190が設けられている。コントロールユニット190は、後述の制御部とメモリ等を含む。
図示するように、移動ロボット100が移動する対象空間を、駆動輪111が接地する床面をxy平面、高さ方向をz軸で表す。搬送物900を含めた移動ロボット100を取り囲む占有空間を点線で示す占有空間OCで表すと、そのxy平面への投影外形PJは、網線で示すような多角形となる。なお、占有空間OCは、より複雑な形状でも定義できるが、演算を簡略化する観点から、直方体、三角柱、円筒体などのプリミティブの集合体で表現することが好ましい。図示する例では、占有空間OCを直方体の集合体で表現している。本実施形態においては、移動ロボット100が移動して占有空間OCと障害物とが干渉する場合を衝突と判断する。
図2は、移動ロボット100の制御ブロック図である。制御部200は、例えばCPUであり、本体部120のコントロールユニット190に格納されている。駆動輪ユニット210は、駆動輪111を駆動するための駆動回路やモータを含み、台車部110に設けられている。制御部200は、駆動輪ユニット210へ駆動信号を送ることにより、駆動輪111の回転制御を実行する。
アームユニット220は、把持部を駆動するための駆動回路やモータを含み、本体部120に設けられている。制御部200は、アームユニット220へ駆動信号を送ることにより、把持制御を実行する。
センサユニット230は、移動中に障害物を検出したり、搬送物900を把持した把持部全体の姿勢を監視したりする各種センサを含み、台車部110および本体部120に分散して配置されている。制御部200は、センサユニット230に制御信号を送ることにより、各種センサを駆動してその出力を取得する。
メモリ240は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ240は、移動ロボット100を制御するための制御プログラムの他にも、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。メモリ240は、移動ロボット100が自律走行する環境を表現する環境地図を格納した環境地図DB241を含む。
通信IF250は、制御部200の制御に従って外部機器や他の自律移動ロボットと各種情報や制御信号を送受信するための通信インタフェースである。通信IF250は、例えば無線LANユニットである。本実施形態においては、外部機器で予め作成された環境地図を受信する機能も担う。ユーザIF260は、表示パネル123や、例えば合成音声を発話するスピーカなどであり、制御部200の制御に従ってユーザに情報を提供したり、ユーザの指示を受け付けたりするためのユーザインタフェースである。
制御部200は、制御に関わる様々な演算を実行する機能演算部としての役割も担う。計画部201は、環境地図を用いて、出発地点から目的地点までの移動経路と、その移動経路上での旋回角とを確定する。地図修正部202は、予め取得して環境地図DB241に格納してある環境地図を、搬送物900を把持する移動ロボット100の投影外形PJに合わせて修正する。それぞれの具体的な演算内容については、順に詳述する。
図3は、移動ロボット100の旋回を説明する図である。移動ロボット100は、台車部110の略重心と一致する制御中心(X0,Y0)を通る旋回軸周りに旋回できる。移動ロボット100のローカル座標系として、制御中心からキャスター112方向をX軸プラス方向と定めると、移動ロボット100の旋回角θは、対象空間の座標系であるx軸プラス方向と、X軸プラス方向の成す角で表すことができる。
図3(a)は、旋回角θ=0°であるときの投影外形PJを表す。同様に、図3(b)は、旋回角θ=45°であるときの投影外形PJを表し、図3(c)は、旋回角θ=90°であるときの投影外形PJを表す。例えばy軸方向に離間して存在する2つの障害物間を、移動ロボット100がx軸方向に移動して通過することを考えると、図示するように投影外形PJが把持部方向に突出している場合は、旋回角がθ=0°であれば通過できても、旋回角がθ=90°であれば通過できないという状況が生じ得る。
そこで、本実施形態においては、環境地図として与えられる障害物外形に対して、移動ロボット100の旋回角ごとに進入禁止領域を定める。図4は、移動ロボット100の進入禁止領域を定める概念を説明する図である。
図4(a)は、旋回角がθ=0°の場合に、障害物の外形に沿って投影外形PJを掃引する様子を示す。具体的には、環境地図上に表された障害物外形OB(ここでは図示するようにL字形状とする)にθ=0°の投影外形PJの少なくとも一点が接触するように、固定された障害物外形OBに対して投影外形PJをスライドさせていく。すると、図示するように、制御中心(X0,Y0)は、矢印で示す10角形の軌跡を描く。
図4(b)は、旋回角がθ=0°の場合における、進入禁止領域NAを示す図である。進入禁止領域NAは、移動ロボット100がその旋回角であるときに、制御中心(X0,Y0)が進入できない領域を表す。すなわち、図4(a)において矢印で示す掃引軌跡の内側の領域として定められる。図示するように、進入禁止領域NAは、投影外形PJと旋回角θ=0°に依拠して障害物外形OBが拡張された領域である。具体的には、障害物外形OBに対する旋回角θ=0°の投影外形PJのミンコフスキー差である。
図5は、図4と同様に、旋回角がθ=45°であるときの移動ロボット100の進入禁止領域を定める概念を説明する図である。図5(a)は、旋回角がθ=45°の場合に、障害物の外形に沿って投影外形PJを掃引する様子を示す。具体的には、環境地図上に表された障害物外形OBにθ=45°の投影外形PJの少なくとも一点が接触するように、固定された障害物外形OBに対して投影外形PJをスライドさせていく。すると、図示するように、制御中心(X0,Y0)は、矢印で示す16角形の軌跡を描く。
図5(b)は、旋回角がθ=45°の場合における、進入禁止領域NAを示す図である。進入禁止領域NAは、図5(a)において矢印で示す掃引軌跡の内側の領域として定められる。図示するように、進入禁止領域NAは、投影外形PJと旋回角θ=45°に依拠して障害物外形OBが拡張された領域である。具体的には、障害物外形OBに対する旋回角θ=45°の投影外形PJのミンコフスキー差であるが、その形状は、旋回角θ=0°の場合の形状と異なる。
図6は、環境地図の各空間層の作成手順を説明する図である。具体的には、旋回角θごとに生成した進入禁止領域NAを地図情報に具現化する手順を示す。図6(a)は、対象空間TAを格子状のグリッドGDに区分し、対応する位置と大きさに従って描かれている障害物外形OBを旋回角θ=0°の条件で拡張した進入禁止領域NAを定義した一例を示している。グリッドGDの大きさは、許容できる計算量等の条件によって予め定められている。また、それぞれのグリッドGDの座標(xn,yn)は、対象空間の座標系に従って表されている。
図6(b)は、θ=0°の空間層ALを示す。空間層ALは、各旋回角における環境地図を表す地図レイヤである。空間層ALは、区分されたグリッドGDのそれぞれが移動ロボット100の制御中心(X0,Y0)の進入を許可するか禁止するかを表す。具体的には、それぞれのグリッドGDにおいて、一部でも進入禁止領域NAを包含する場合に、当該グリッドGDを禁止グリッドに分類する。進入禁止領域NAを全く含まない場合には、許可グリッドに分類する。禁止グリッドを「1」、許可グリッドを「0」で表せば、図6(a)の対象空間TAは、図6(b)に示すように各グリッドGDに「1」か「0」が関連付けられた空間層ALとして表現される。
旋回角ごとに空間層ALが作成されると、これを旋回角順に積層して環境地図を完成させる。図7は、環境地図の三次元構造を説明する図である。空間層ALは、図6(b)に示すように、各グリッドGDに「1」か「0」を関連付けたものであるが、図7では、概念的な理解のために、図6(a)のようにグリッドGDに進入禁止領域NAを重ねて表している。以降のいくつかの図においても空間層ALをこのように表現する。
旋回角θのステップ角度は、許容される演算量等との兼ね合いから決定されるが、ここではステップ角度を5°としている。すなわち、旋回角θが0°から355°まで、72層分の空間層ALを作成し積層している。なお、旋回角θ=360°=0°であるので、旋回角θ=0°の空間層ALと、θ=355°の空間層ALとは、互いに隣接して積層されているものと捉える。
このように表現された環境地図においては、出発地点Sは、出発地点の座標と出発地点における初期姿勢である旋回角の三次元座標(xs,ys,θs)で表され、目的地点Gは、目的地点の座標と目的地点における目標姿勢である旋回角の三次元座標(xg,yg,θg)で表される。例えば、出発地点での旋回角θが0°であれば、図示するように、θ=0°の空間層AL上に出発地点グリッドGDsが定められ、目的地点での旋回角θが45°であれば、同じく図示するように、θ=45°の空間層AL上に目的地点グリッドGDgが定められる。指定された座標および旋回角に一致するグリッドGDが存在しなければ、最も近いグリッドGDが選択される。
本実施形態においては、計画部201が、出発地点グリッドGDsから、三次元構造において上下左右に隣接するグリッドGDを伝って目的地点グリッドGDgに到達する軌跡を選択することにより、移動経路と経路上における旋回角とを確定する。以下にその手順を説明する。
図8は、移動経路の確定までの手順を説明する図である。計画部201は、まず移動経路を確定する。移動経路を確定させるために、はじめに旋回角を写像して出発地点の座標S(xs,ys)と目的地点の座標G(xg,yg)に着目する。このとき、図8の矢印で示すように、最短の移動経路は、座標Sから座標Gへ結ぶ直線である。このベクトルを直進ベクトルとする。
この直進ベクトルに沿うグリッドGDを選択して繋いでいくと、太枠で囲んだグリッドGDで示す軌跡を作ることができる。この軌跡を採用できるのであれば、移動経路として確定することができるが、実際には途中に禁止グリッドが存在して、旋回角を変更しても通過できない場合がある。そこで、この軌跡を第1の仮移動経路とし、この第1の仮移動経路において、旋回角が不連続にならないで出発地点グリッドGDsから目的地点グリッドGDgまで到達することができるかを確認する。
少なくともいずれかの旋回角を取れば目的地点グリッドGDgまで到達できることが確認できれば、この第1の仮移動経路を移動ロボット100が移動する移動経路として確定する。第1の仮移動経路において目的地点グリッドGDgまで到達できなければ、直進ベクトルに近い次の軌跡を第2の仮移動経路に設定し、同様に目的地点グリッドGDgまで到達できるかを確認する。少なくともいずれかの旋回角を取れば目的地点グリッドGDgまで到達できることが確認されるまで仮移動経路を繰り返し設定し、確認された仮移動経路を移動ロボット100が移動する移動経路として確定する。この手順をさらに詳述する。
図9は、仮移動経路と旋回角ごとの空間層ALとの関係を示す図である。図において太枠で囲んだグリッドGDで示す軌跡は、m番目(mは2以上の整数)に設定された仮移動経路を表す。すなわち、m−1番目までに設定された仮移動経路においては、いずれの旋回角をとっても出発地点グリッドGDsから目的地点グリッドGDgまで到達できなかったことを意味する。
計画部201は、m番目の仮移動経路を設定すると、環境地図の三次元構造において空間層ALに直交する、この仮移動経路に沿ったグリッドGDの集合体を仮経路層として定める。空間層に直交する方向はθ軸であるので、空間層のある一つのグリッドGDに着目すると、空間層に直交するグリッドGDの集合体とは、当該グリッドGDと同一座標のグリッドGDであって旋回角θが互いに異なるグリッドGDの集合体である。概念的には、θ軸に沿った一本のグリッド柱として表される。
したがって、仮移動経路に沿ってグリッド柱を接続したものが仮経路層となる。図10は、図9の仮移動経路に沿った仮経路層を説明する図である。矢印は仮移動経路を表し、仮経路層を構成するグリッド柱は、P1からPnまで互いに隣接するn本であるとする。出発地点グリッドGDsは1本目のグリッド柱のいずれかのグリッドGDに含まれ(図の例ではθ=0°のグリッドGD)、目的地点グリッドGDgはn本目のグリッド柱のいずれかのグリッドGDに含まれる(図の例ではθ=45°のグリッドGD)。
計画部201は、このように定めた仮経路層に対して、少なくともいずれかの旋回角を取れば出発地点グリッドGDsから目的地点グリッドGDgまで到達することができるかを確認する。具体的には、仮移動経路に沿ったP1からPnまでを伸展したP軸を設定し、Pθ平面上にグリッドGDを配列して旋回角の変化の連続性を確認する。
図11は、旋回角の変化の連続性を確認する手順を説明する図である。図7から図10の空間層ALにおける旋回角θのステップ角度は5°としたが、図11では、説明を単純化すべくステップ角度を40°としている。また、P軸におけるグリッドGDの個数をn=9とする。
図11(a)は、環境地図から切り出された仮経路層の様子を示す。出発地点グリッドGDsはθ=160°のグリッドGD、目的地点グリッドGDgはθ=80°のグリッドGDに指定されている。また、網掛けされたグリッドGDは、「1」が与えられた禁止グリッドであり、そうでないグリッドGDは、「0」が与えられた許可グリッドである。
図11(b)は、旋回角の変化の連続性を確認する手法を説明する図である。計画部201は、まず最初に出発地点グリッドGDsに記号「C」を与える。そして、出発地点グリッドGDsに隣接する許可グリッドに同じく「C」を与える。さらに、「C」が与えられた許可グリッドと互いに隣接する許可グリッドにも「C」を与える。ここで、「互いに隣接するグリッドGD」は、同じP列のθ=0°のグリッドGDとθ=320°のグリッドGDのペアも含む。
局所経路を延長するたびに、これを「C」を与える許可グリッドが尽きるまで繰り返す。その結果、局所経路を延長した先のグリッドGDに「C」が与えられていれば、計画部201は、旋回角の変化の連続性が保証されたと判断する。換言すれば、出発地点グリッドGDsからあるグリッドGDまで、旋回角の変化が不連続となることなく禁止グリッドを避けて少なくとも一つの探索枝を伸ばすことができたと判断する。図11(b)に示すように、この例においては目的地点グリッドGDgに「C」が与えられたので、この経路上の旋回角の変化の連続性が保証されている。計画部201は、この仮移動経路を、少なくともいずれかの旋回角を取れば出発地点グリッドGDsから目的地点グリッドGDgまで到達できると確認したものとして、移動ロボット100が移動する移動経路として確定する。
図12も、旋回角の変化の連続性を確認する手順を説明する図であり、図11の例とは別の例を示す、図12も、図11と同様に、旋回角θのステップ角度を40°とし、P軸におけるグリッドGDの個数をn=9とする。
図12(a)は、環境地図から切り出された経路層の様子を示す。出発地点グリッドGDsはθ=160°のグリッドGD、目的地点グリッドGDgはθ=80°のグリッドGDに指定されている。また、網掛けされたグリッドGDは、「1」が与えられた禁止グリッドであり、そうでないグリッドGDは、「0」が与えられた許可グリッドである。図12(a)の禁止グリッドのパターンは、図11(a)のそれとは異なっている。
図12(b)は、図11(b)と同様に、旋回角の変化の連続性を確認する手法を説明する図である。計画部201は、まず最初に出発地点グリッドGDsに記号「C」を与える。そして、出発地点グリッドGDsに隣接する許可グリッドに同じく「C」を与える。さらに、「C」が与えられた許可グリッドに隣接する許可グリッドにも「C」を与える。
これを「C」を与える許可グリッドが尽きるまで繰り返しても、図12(b)の例では、目的地点グリッドGDgに「C」が与えられない。具体的には、P8列のθ=0°および320°の2つのグリッドGDとP7列のθ=40°から280°までの7つのグリッドGDとが、出発地点グリッドGDs側の領域と目的地点グリッドGDg側の領域とを隔てる壁となっている。すなわち、両者の間には旋回角が不連続にならずに接続できる軌跡が存在しない。
仮移動経路の設定は、様々な手法を採用することができる。上記の例では、直進ベクトルに近いことを判断基準として、近いものから先に仮移動経路に設定する手法を採用した。しかし、できる限り直進する経路が優先されるなど、他の要素も取り入れて判断基準を策定しても良い。
また、上記の例では、旋回角の変化の連続性が保証された仮移動経路が一つ見つかると、その仮移動経路を確定した移動経路としたが、旋回角の変化の連続性が保証された仮移動経路を複数見つけておき、その中から好ましい仮移動経路を選択して確定した移動経路としても良い。その場合は、それぞれの仮移動経路に対して算出される経路コストが最小となる仮移動経路を選択すると良い。具体的には、xy平面で隣接するグリッド間を移動するコストを予め定めておき、目的地点に到達するまでに積算される当該コストの合計が最小となる仮移動経路を選択する。予め定められるグリッド間の移動に対するコストは、例えば当該グリッド間の距離に比例するように定められる。もちろん、障害物に近ければコストを大きくする等の調整を加えても良い。
次に、移動経路が確定された後の、移動中における旋回角を確定する手順を説明する。図13は、移動中における旋回角を確定する手順を説明する図である。上述のように、一つの移動経路が確定されたら、計画部201は、その経路層であるPθ平面内で、出発地点グリッドGDsから目的地点グリッドGDgまでを接続するグリッドGDの軌跡をすべて生成する。図13(a)から(d)の各図は、図11の例における出発地点グリッドGDsから目的地点グリッドGDgまでを接続する複数のグリッド軌跡のうちの4つを示すものである。
図13(a)のグリッド軌跡は、θ=80°からθ=280°の範囲でのみ旋回しながら目的地点グリッドGDgまで到達できる。図13(b)のグリッド軌跡は、出発地点で初期姿勢であるθ=160°から一旦θ=320°まで旋回させ、P5列まで同じ姿勢で進む。図13(c)のグリッド軌跡は、直進と旋回を繰り返して、姿勢を初期姿勢からθ=360°(=0°)を超えて目標姿勢まで旋回する。図13(d)のグリッド軌跡は、図13(b)と同様に出発地点で初期姿勢であるθ=160°から一旦θ=320°まで旋回させた後にP5列まで直進するが、その後θ=0°まで旋回させてから目的地点グリッドGDgへ向かう。
どのグリッド軌跡を選択するかは、様々な手法を採用することができる。ここでは、経路層において旋回角の変化に対して加算される旋回角コストが最小となるグリッド軌跡を選択することにより移動中における旋回角を確定する。旋回角コストは、経路層で隣接するグリッド間を移動するときに積算される予め定められたコストであり、例えば旋回角の大きさに比例するように設定される。設定するコストに対して、障害物に近ければ大きくしたり、一度に大きく旋回する場合には細かく旋回する場合の和よりも小さくしたり、例えば移動ロボット100のハードウェア上の制約から特定の旋回角に対して大きくしたりするなどの調整を加えても良い。
このように、移動ロボット100が旋回し得る旋回角ごとのグリッド地図を順に積層させた三次元構造の環境地図を利用すれば、旋回角の変化を平面方向(xy平面)への移動と同様に扱えるので、既存の経路探索アルゴリズムを旋回角方向(Pθ平面)にも適用できる。すなわち、旋回角の変化を平面方向への移動と同様に扱うことができるので、移動中の旋回角を速やかに確定させることができる。
以上説明したように、本実施形態における移動ロボット100は、まず移動中に旋回角が不連続にならないことを確認しつつ移動経路を確定し、その後に移動中における最適な旋回角を確定させる2段階の判断を行う。このように2段階の判断を行うことで、従前のような移動経路と旋回角を並列的かつ網羅的に探索するよりも大幅に演算量を削減できる。したがって、移動計画をいち早く立案することができるので、移動ロボット100の臨機応変な自律移動を実現することができる。
計画部201は、採用された手法による予め定められた条件に基づいて一つのグリッド軌跡が選択されたら、当該グリッド軌跡による旋回角を移動中における旋回角として確定する。移動ロボット100は、このように計画された移動経路とその移動経路中の各区間での旋回角に従って、目的地点へ向かって自律移動を実行する。
次に、移動ロボット100の自律移動における処理手順について説明する。図14は、移動ロボット100の自律移動における処理手順を示すフロー図である。フローは、移動ロボット100が起動され、タスクの入力待ちの状態から開始される。
制御部200は、ステップS101で、ユーザIF250または通信IF250を介して、目的地点までの移動を伴うタスクを受け付ける。目的地点は、例えば表示パネル123に表示された地図に対してユーザが指示する座標に応じて確定される。
制御部200は、続くステップS102で、ハンド122が把持する搬送物900を含めた移動ロボット100の投影外形PJを演算する。例えば、センサユニット230から撮影画像を取得して画像解析したり、アーム121の姿勢を取得して本体部120からの突出量を算出したりして投影外形PJを確定する。
制御部200は、環境地図DB241から、あるいは通信IF250を介して外部機器から、これから自律移動する対象空間の環境地図を取得する。続いて制御部200の地図修正部202は、ステップS104で、取得した環境地図に対し、ステップS102で演算した投影外形PJに基づいて修正を行う。具体的には、対象空間の障害物外形OBが記述されている環境地図に対して、図4および図5を用いて説明したように、旋回角に対応する投影外形PJを掃引して進入禁止領域NAを演算する。そして、図6および図7を用いて説明したような禁止グリッドと許可グリッドを定めた三次元構造の環境地図を生成する。
環境地図が完成したら、ステップS105へ進み、計画部201が、出発地点グリッドGDsと目的地点グリッドGDgに応じた移動経路演算を実行する。具体的には図8から図10を用いて説明したように、旋回角の変化が不連続となることのない仮移動経路を見つけ出す。そして、ステップS106で、計画部201は、仮移動経路を見つけることができたか否かを判断する。仮移動経路が一つも見つからなければステップS113へ進み、制御部200は、目的地点へは移動不可能である旨を表示パネル123に表示するなどのエラー処理を実行して一連の処理を終了する。仮移動経路が見つかったらステップS107へ進む。
計画部201は、ステップS107で、仮移動経路が複数見つかったか否かを判断する。見つかった仮移動経路が一つであれば、そのまま当該仮移動経路を移動ロボット100が移動する移動経路として確定する。複数の仮移動経路が見つかったのであれば、ステップS108へ進んで、予め定められた条件に従って一つを選び移動ロボット100が移動する移動経路として確定する。具体的には、上述のように例えば、それぞれの仮移動経路に対して算出される経路コストが最小となる仮移動経路を選べば良い。
計画部201は、移動経路が確定したら、ステップS109へ進み、その移動経路の移動中における旋回角を確定させる移動姿勢演算を実行する。具体的にはまず、図13を用いて説明したように、経路層であるPθ平面内で、出発地点グリッドGDsから目的地点グリッドGDgまでを接続するグリッド軌跡の候補を見つけ出す。
そして、ステップS110で、計画部201は、グリッド軌跡の候補が複数見つかったか否かを判断する。見つかったグリッド軌跡が一つであれば、そのまま当該グリッド軌跡を移動中における旋回角として確定する。複数のグリッド軌跡が見つかったのであれば、ステップS111へ進んで、予め定められた条件に従って一つを選び移動中における旋回角として確定する。具体的には、上述のように例えば、経路層において旋回角の変化に対して加算される旋回角コストが最小となるグリッド軌跡を選べば良い。
このように移動中における旋回角が確定できたら、目的地点までの移動計画が整ったものと判断し、ステップS112へ進み、与えられたタスクの実行に移行する。タスクの実行が完了したら一連の処理を終了する。
以上のフローにおいては、環境地図を修正するステップS104を実行したが、例えば搬送物900を搬送していない場合には、移動ロボット100自身の投影外形PJに基づいて予め作成された、三次元構造の環境地図をステップS103で取得しても良い。また、特定の搬送物900を搬送することが予定されているのであれば、当該搬送物900を把持した状態の投影外形PJに基づいて作成された、三次元構造の環境地図をステップS103で取得しても良い。これらの場合には、環境地図を修正するステップS104を実行する必要が無い。
以上説明した実施形態においては、移動ロボット100自身が、出発地点から目的地点まで自律移動する移動経路と、移動経路の移動中における移動ロボットの姿勢である旋回角とを計画したが、移動計画を実行する実体は、移動ロボット100とは別に設けられても良い。例えば、ネットワークを介して移動ロボット100と接続されるサーバが、移動計画装置として機能しても良い。この場合、投影外形PJ等の情報を移動ロボット100から取得し、予め保持する環境地図を修正することにより、移動ロボット100用の環境地図を得るように構成すると良い。そして、出発地点から目的地点まで自律移動する移動経路と、移動経路の移動中における移動ロボットの姿勢である旋回角とを確定したら、移動ロボット100へ送信すれば良い。
移動ロボット100自身が移動計画装置を備えるか、例えば外部のサーバを移動計画装置として機能させるかは、移動ロボット100の利用目的や、対象空間の状況に合わせて選択すれば良い。移動ロボット100自身が移動計画装置を備えれば、例えば通信環境が良好でない環境においても、自律移動を確実に実行することができる。
以上説明した本実施形態では、対象空間を格子状のグリッドに区分し、各旋回角で空間層を作成して積層した三次元構造の環境地図を利用したが、環境地図の構造はこれに限らない。計画部201が、まず移動中に旋回角が不連続にならないことを確認しつつ移動経路を確定し、その後に移動中における最適な旋回角を確定させる2段階の判断が行える態様であれば、様々な環境地図を採用することができる。