以下、本発明による経路教示装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による経路教示装置は、移動体に対応する移動体図形を地図上に表示することによって、移動体の経路の教示を行うものである。
図1は、本実施の形態による経路教示装置1の構成を示すブロック図である。本実施の形態による経路教示装置1は、移動体に対応する移動体図形を地図上に表示することによって、移動体の経路の教示を行うものであり、例えば、パソコンや、携帯型の情報端末(例えば、スマートフォンやタブレット端末、ノートパソコン等)などの汎用装置であってもよく、経路の教示を行う専用の装置であってもよい。本実施の形態による経路教示装置1は、地図記憶部11と、外形情報記憶部12と、表示部13と、受付部14と、蓄積部15と、記憶部16と、出力部17とを備える。
地図記憶部11には、移動体の移動領域の地図が記憶される。移動体の正確な教示を実現できるようにするため、この地図は、実空間の状況を正確に縮小した地図であることが好適である。例えば、通路などの幅も、正確に示されていることが好適である。また、この地図上の各点と、実空間上の各点との対応が分かるようになっていることが好適である。地図上において移動体図形を用いて教示された位置を、実空間上の教示位置に変換できるようにするためである。この地図は、例えば、ラスタデータ(ビットマップデータ)であってもよく、ベクタデータであってもよい。また、地図がラスタデータである場合には、複数の縮尺に対応した地図が地図記憶部11で記憶されてもよい。例えば、同じ地域について、縮尺の大きい地図、縮尺の中ぐらいの地図、縮尺の小さい地図が地図記憶部11で記憶されてもよい。また、縮尺も、地図に対応付けられて地図記憶部11で記憶されていてもよい。また、地図は、タイル状に分割されたものであり、それらを適宜組み合わせることによって、様々な領域の地図を表示できるようになっていてもよい。また、その地図は、経路探索を行うことができるものであってもよい。また、その地図は、実空間を撮影した撮影画像(例えば、航空写真や工場内を上方から撮影した撮影画像等)であってもよい。また、その地図において、北などの特定の方位がどちらであるのかが設定されていてもよい。また、その地図には、障害物の図形である障害物図形が含まれていてもよい。障害物とは、その位置を移動体が通過できないものであってもよい。障害物は、例えば、壁であってもよく、床面や地面に置かれた物であってもよく、移動の障害となるその他のものであってもよい。なお、その地図は、2次元のオンライン地図や電子地図等として公知であり、その詳細な説明を省略する。
移動体は、例えば、走行する走行体であってもよく、または、飛行する飛行体であってもよい。また、移動体は、例えば、台車であってもよく、ロボットであってもよい。ロボットは、例えば、エンターテインメントロボットであってもよく、監視ロボットであってもよく、搬送ロボットであってもよく、清掃ロボットであってもよく、その他のロボットであってもよい。移動体の移動領域は、例えば、移動体が監視を行う領域や、移動体が搬送を行う領域、移動体が掃除を行う領域などであってもよい。また、飛行体は、例えば、回転翼機であってもよく、飛行機であってもよく、飛行船であってもよく、その他の飛行体であってもよい。任意の位置に移動可能であるという観点からは、飛行体は、回転翼機であることが好適である。回転翼機は、例えば、ヘリコプターであってもよく、3個以上の回転翼(ロータ)を有するマルチコプターであってもよい。マルチコプターは、例えば、4個の回転翼を有するクワッドロータであってもよく、その他の個数の回転翼を有するものであってもよい。走行体である移動体は、例えば、走行部(例えば、車輪や無限軌道など)と、その走行部を駆動する駆動手段(例えば、モータやエンジンなど)とを有していてもよい。また、飛行体である移動体は、例えば、回転翼と、その回転翼を駆動する駆動手段とを有していてもよく、プロペラと、そのプロペラを駆動する駆動手段とを有していてもよい。本実施の形態では、移動体が搬送台車である場合について主に説明する。
地図記憶部11に地図が記憶される過程は問わない。例えば、記録媒体を介して地図が地図記憶部11で記憶されるようになってもよく、通信回線等を介して送信された地図が地図記憶部11で記憶されるようになってもよい。地図記憶部11での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。地図記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
外形情報記憶部12には、移動体の外形に関する情報である外形情報が記憶される。外形情報は、移動体の図形である移動体図形を、より正確に地図上に表示するために用いられる情報であり、移動体の形状に関する情報を含んでいてもよく、移動体の大きさに関する情報を含んでいてもよく、移動体のその他の外形に関する情報を含んでいてもよい。移動体の形状は、例えば、矩形、正方形、三角形、円形、楕円形、台形、五角形、六角形などであってもよい。移動体の形状に関する情報は、移動体の形状の種類を識別する情報であってもよく、移動体の形状の図形データであってもよく、移動体の形状を示す座標値等であってもよい。移動体の大きさに関する情報は、移動体の実空間上または地図上での大きさを示す情報である。移動体の大きさに関する情報は、例えば、矩形の縦横の長さや、正方形の一辺の長さ、三角形の各辺の長さ、円形の直径、楕円形の長辺と短辺の長さ、台形の下底の長さ、上底の長さ、下底から上底までの高さ、正五角形の一辺の長さ、正六角形の一辺の長さなどであってもよい。一の外形情報に含まれる形状に関する情報と、大きさに関する情報とは、それぞれ対応するものである。例えば、外形情報に、形状「矩形」と、その矩形の長辺及び短辺の長さを示す情報とが含まれていてもよい。なお、移動体の形状が1個である場合、例えば、移動体の形状が矩形のみである場合には、外形情報に大きさに関する情報のみが含まれていてもよい。本実施の形態では、外形情報に移動体の形状及び大きさを示す情報が含まれる場合について主に説明する。また、後述する教示指示が受け付けられた場合に、その時点に地図上に表示されている移動体図形におけるどの部位の位置を教示位置にするのかを示す情報、すなわち移動体図形における教示位置に対応する部位を示す情報が外形情報に含まれていてもよい。なお、その情報が外形情報に含まれていない場合には、移動体図形の中心や重心などを、その部位として用いてもよい。また、外形情報記憶部12には、2以上の移動体にそれぞれ対応する2以上の外形情報が記憶されてもよい。
外形情報記憶部12に外形情報が記憶される過程は問わない。例えば、記録媒体を介して外形情報が外形情報記憶部12で記憶されるようになってもよく、通信回線等を介して送信された外形情報が外形情報記憶部12で記憶されるようになってもよく、または、入力デバイスを介して入力された外形情報が外形情報記憶部12で記憶されるようになってもよい。外形情報記憶部12での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。外形情報記憶部12は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
表示部13は、地図記憶部11で記憶されている地図を表示する。また、表示部13は、外形情報記憶部12で記憶されている外形情報を用いて移動体図形を地図上に表示する。移動体図形は、移動体の外形情報に応じた図形であり、地図上における移動体の位置を示す図形である。移動体図形は、実空間における移動体の位置を、地図上において、より正確に示すものであることが好適である。上述のように、外形情報を用いて移動体図形を地図上に表示することによって、実空間における移動体の外縁の位置が、地図上でも分かるようにすることができる。外形情報に移動体の形状に関する情報が含まれる場合には、移動体図形は、その形状の図形である。また、外形情報に移動体の大きさに関する情報が含まれる場合には、移動体図形は、その大きさに応じた図形である。具体的には、外形情報に含まれる大きさに関する情報が、実空間でのサイズを示す情報である場合には、表示部13は、表示中の地図の縮尺を考慮して、その実空間でのサイズを地図上でのサイズに変換し、その地図上のサイズで移動体図形を表示する。一方、外形情報に含まれる大きさに関する情報が、地図上でのサイズを示す情報である場合には、表示部13は、そのサイズで移動体図形を表示する。外形情報記憶部12において2以上の外形情報が記憶されている場合には、表示部13は、受付部14で選択の受け付けられた外形情報に対応する移動体図形を表示してもよい。その選択が行われる場合には、表示部13は、選択対象の外形情報に関する表示を行ってもよい。なお、受付部14によって受け付けられた地図の拡大や縮小の指示や地図の移動の指示、地図の回転の指示に応じて、表示部13は、地図を拡大または縮小して表示してもよく、表示対象の地図の領域を変更してもよく、地図を回転して表示してもよい。その際に、移動体図形の大きさ等も地図にあわせて変更してもよい。また、受付部14によって受け付けられた変更指示に応じて、移動体図形の表示を変更してもよい。その変更指示は、例えば、移動体図形の位置の変更の指示であってもよく、移動体図形の方向の変更の指示であってもよく、その両方であってもよい。変更指示が移動体図形の位置の変更の指示を含む場合には、表示部13は、その変更指示に応じて、移動体図形の表示の位置を変更する。また、変更指示が移動体図形の方向の変更の指示を含む場合には、表示部13は、その変更指示に応じて、移動体図形の表示の方向を変更する。また、変更指示が移動体図形の位置及び方向の変更の指示を含む場合には、表示部13は、その変更指示に応じて、移動体図形の表示の位置及び方向を変更する。すなわち、表示部13は、変更指示に応じて、移動体図形の表示の位置及び方向の少なくとも一方を変更する。なお、表示部13は、表示している移動体図形の位置や方向を図示しない記録媒体で保持していてもよい。
なお、表示部13は、それらの表示を行う表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)を含んでもよく、または含まなくてもよい。また、表示対象の表示は、別の装置においてなされてもよい。その場合には、表示部13は、装置の外部に対して表示対象の情報を送信するものであってもよい。また、表示部13は、ハードウェアによって実現されてもよく、または表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
受付部14は、教示情報の蓄積を指示する教示指示を受け付ける。教示情報については後述する。また、受付部14は、移動体図形の表示の変更を指示する変更指示を受け付ける。その変更指示は、前述のように、移動体図形の表示の位置の変更を指示するものであってもよく、移動体図形の表示の方向の変更を指示するものであってもよく、移動体図形の表示の位置及び方向の変更を指示するものであってもよい。すなわち、変更指示は、移動体図形の表示の位置及び方向の少なくとも一方の変更を指示するものであってもよい。また、受付部14は、地図の表示の変更に関する指示を受け付けてもよい。その指示は、例えば、地図の拡大表示の指示であってもよく、地図の縮小表示の指示であってもよく、地図の表示領域の変更の指示であってもよく、地図の表示方向の変更の指示であってもよい。また、受付部14は、その他の情報や指示の受け付けを行ってもよい。例えば、受付部14は、外形情報記憶部12で記憶されている2以上の外形情報から、移動体図形の表示で用いる外形情報の選択を受け付けてもよい。なお、その外形情報の選択は、外形情報に対応する移動体の選択であると考えることもできる。また、受付部14は、経路の教示の一連の操作が終了した旨を受け付けてもよい。
受付部14は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部14は、受け付けを行うためのデバイス(例えば、入力デバイスや通信デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部14は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
蓄積部15は、受付部14によって教示指示が受け付けられた際に、教示情報を記憶部16に蓄積する。その教示情報は、移動体図形の表示の位置に対応する実空間の位置を含む情報である。以下、その実空間の位置を教示位置と呼ぶこともある。また、移動体図形の方向も変更される場合には、教示情報は、移動体図形の表示の位置及び方向に対応する実空間の位置及び方向を含む情報であってもよい。以下、その実空間の方向を教示方向と呼ぶこともある。教示位置は、例えば、緯度・経度によって示されてもよく、その他の座標値によって示されてもよい。また、移動体図形の表示の位置は、厳密には、移動体図形のあらかじめ決められた特定の部位の表示の位置であってもよい。特定の部位とは、上述した教示位置に対応する部位のことである。また、実空間の方向は、例えば、北を0度として、時計回りに測定された方位角によって示されてもよく、その他の方向を示す情報によって示されてもよい。また、移動体図形の表示の方向は、厳密には、移動体図形のあらかじめ決められた特定の方向(向き)の表示の方向であってもよい。その移動体図形の特定の方向は、実空間における移動体の特定の方向に対応付けられているものとする。
記憶部16には、教示位置を含む教示情報が記憶される。その教示情報には、教示方向も含まれていてもよい。その教示情報に含まれる教示位置は、経路を構成するものであるため、通常、2以上の教示情報が記憶部16で記憶されることになる。一方、目的地のみを教示すればよい場合などには、その目的地に対応する教示情報のみが記憶部16で記憶されてもよい。本実施の形態では、記憶部16に2以上の教示情報が記憶される場合について主に説明する。記憶部16での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部16は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
出力部17は、蓄積部15によって蓄積された教示情報に応じた経路情報を出力する。教示情報に応じた経路情報とは、教示情報を含む経路情報であってもよく、または、教示情報に含まれる教示位置を補間して生成された経路を含む経路情報であってもよい。ここでは、教示情報が経路情報に含まれる場合について主に説明し、教示情報を用いて生成された経路が経路情報に含まれる場合については、図8Bを用いて後述する。また、出力部17から出力された経路情報は、1個の移動体によって用いられてもよく、2個以上の移動体によって用いられてもよい。なお、出力された経路情報は、その経路情報に対応する教示情報の教示時に用いられた移動体図形に対応する移動体によって用いられることが好適である。したがって、例えば、経路情報は、外形情報を識別する情報に対応付けられて出力されてもよい。その外形情報を識別する情報は、移動体の種類を識別する情報であると考えることもできる。経路情報に含まれる教示情報に応じた経路の生成は、例えば、移動体において行われてもよく、その他の装置において行われてもよい。
ここで、この出力は、例えば、所定の機器への通信回線を介した送信でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力部17は、出力を行うデバイス(例えば、通信デバイスなど)を含んでもよく、または含まなくてもよい。また、出力部17は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、地図記憶部11と、外形情報記憶部12と、記憶部16とのうち、任意の2以上の記憶部は、同一の記録媒体によって実現されてもよく、または、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、地図を記憶している領域が地図記憶部11となり、外形情報を記憶している領域が外形情報記憶部12となる。
次に、経路教示装置1の動作について図2のフローチャートを用いて説明する。このフローチャートでは、外形情報記憶部12において、2以上の外形情報が記憶されており、教示情報に教示位置と教示方向とが含まれる場合について説明する。
(ステップS101)受付部14は、外形情報の選択を受け付けたかどうか判断する。そして、外形情報の選択を受け付けた場合には、ステップS102に進み、そうでない場合には、外形情報の選択を受け付けるまで、ステップS101の処理を繰り返す。なお、外形情報の選択は、上述のように、移動体の選択であると考えることができる。また、外形情報の選択を受け付ける前に、2以上の外形情報が外形情報記憶部12から読み出されて表示部13によって表示されてもよい。
(ステップS102)表示部13は、地図記憶部11から地図を読み出し、その地図上に、ステップS101で選択された外形情報に応じた移動体図形を表示する。移動体図形の表示の位置は、例えば、あらかじめ決められたデフォルトの位置であってもよい。
(ステップS103)受付部14は、地図の拡大または縮小の指示を受け付けたかどうか判断する。そして、地図の拡大または縮小の指示を受け付けた場合には、ステップS104に進み、そうでない場合には、ステップS105に進む。
(ステップS104)表示部13は、ステップS103で受け付けられた指示に応じて、地図を拡大表示または縮小表示する。その際に、移動体図形も同様に、拡大表示または縮小表示されることになる。そして、ステップS103に戻る。
(ステップS105)受付部14は、移動体図形の表示の位置及び方向の少なくとも一方に関する変更指示を受け付けたかどうか判断する。そして、その変更指示を受け付けた場合には、ステップS106に進み、そうでない場合には、ステップS107に進む。
(ステップS106)表示部13は、ステップS105で受け付けられた変更指示に応じて、移動体図形の表示の位置や方向を変更する。そして、ステップS103に戻る。
(ステップS107)受付部14は、教示指示を受け付けたかどうか判断する。そして、教示指示を受け付けた場合には、ステップS108に進み、そうでない場合には、ステップS109に進む。
(ステップS108)蓄積部15は、その時点の移動体図形の表示の位置及び方向に対応する実空間の位置及び方向を含む教示情報を記憶部16に蓄積する。そして、ステップS103に戻る。
(ステップS109)受付部14は、教示の操作を終了する旨の入力を受け付けたかどうか判断する。そして、教示の操作を終了する旨の入力を受け付けた場合には、ステップS110に進み、そうでない場合には、ステップS103に戻る。
(ステップS110)出力部17は、教示情報を含む経路情報を出力する。その経路情報は、ステップS101で選択された外形情報を識別する情報に対応付けられて出力されてもよい。そして、ステップS101に戻る。なお、出力部17が出力した経路情報は、直接的に、または間接的に移動体に渡され、移動体の移動に用いられることになる。
なお、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図2のフローチャートに、地図の表示領域の変更の指示や、地図の表示方向の変更の指示を受け付ける処理や、その受け付けられた指示に応じて、地図の表示が変更される処理等が含まれてもよい。また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による経路教示装置1の動作について、具体例を用いて説明する。この具体例は、経路教示装置1がタブレット端末であるものとする。また、この具体例では、図3で示される外形情報が外形情報記憶部12で記憶されているものとする。図3で示される外形情報は、IDと、大きさと、形状とを有する情報である。IDは、外形情報を識別する情報である。大きさは、形状に対応するサイズを示す情報である。その大きさによって、例えば、形状が矩形である移動体の幅と長さや、形状が円形である移動体の直径が示されることになる。この具体例では、その大きさが実空間上での大きさであるものとする。
まず、経路教示装置1であるタブレット端末の操作者が、タッチパネルを操作することによって、経路教示を行うためのアプリケーションを立ち上げたとする。すると、表示部13は、外形情報記憶部12から図3で示される複数の外形情報を読み出し、その外形情報に含まれる形状の図形を、その外形情報に含まれる大きさに応じて表示すると共に、その大きさの値も図4で示されるようにタッチパネルに表示する。図4の表示において、操作者が上方の矩形の移動体をタップすることによって選択したとする。すると、その選択が受付部14で受け付けられ、1個目の外形情報の選択が受け付けられた旨が表示部13に渡される(ステップS101)。選択結果を受け取ると、表示部13は、地図記憶部11から地図を読み出してタッチパネルに表示すると共に、外形情報記憶部12から1番目の外形情報、すなわちID「D001」の外形情報を読み出し、その外形情報に応じた移動体図形を、あらかじめ決められたデフォルトの位置に表示する(ステップS102)。その移動体図形は、外形情報の大きさが、表示中の地図の縮尺を用いて変換された地図上のサイズで表示されることになる。図5Aは、その表示結果を示す図である。図5Aで示されるように、移動体図形20は、地図25の左上に表示されている。地図25における網掛けは、障害物図形30を示している。したがって、図5Aでは、移動体図形20と、障害物図形30とが重なっていることになる。また、図5Aにおいて、移動体図形20上の矢印は、移動体図形のあらかじめ決められた特定の向きを示すものである。なお、移動体図形20上の矢印の向きと、移動体の特定の向きとが対応しているものとする。この具体例では、矢印の向きが移動体の進行方向であるものとする。
図5Aの表示において、操作者がタッチパネルにおける地図25の左上の領域をピンチアウトしたとする。すると、地図25の左上の領域を拡大する旨の指示が受付部14で受け付けられ、表示部13に渡される(ステップS103)。そして、その指示に応じて、表示部13は、図5Bで示されるように、地図25を拡大表示する(ステップS104)。次に、操作者がタッチパネルにおける移動体図形20の位置を右下に向かって2本指ドラッグしたとする。すると、移動体図形20の右下方向への移動に関する変更指示が受付部14で受け付けられ、表示部13に渡される(ステップS105)。そして、その指示に応じて、表示部13は、図5Cで示されるように、移動体図形20の表示位置を変更する(ステップS106)。また、操作者がタッチパネルにおける移動体図形20の位置において、2本指をひねるように回転させたとする。すると、移動体図形20の回転に関する変更指示が受付部14で受け付けられ、表示部13に渡される(ステップS105)。そして、その指示に応じて、表示部13は、図5Dで示されるように、移動体図形20の方向を変更する(ステップS106)。
その後、操作者が教示ボタン31をタップしたとする。すると、教示指示が受付部14で受け付けられ、蓄積部15に渡される(ステップS107)。教示指示を受け付けると、蓄積部15は、図5Dで示される、その時点の移動体図形20の表示位置(厳密には、その移動体図形20の中心の位置であるとする)に応じた実空間上の位置である教示位置(X101,Y101)及び、移動体図形20の矢印の方向に応じた実空間上の方向である教示方向θ1を表示部13から取得し、記憶部16に蓄積する(ステップS108)。その結果、記憶部16で記憶されている教示情報は、図6Aで示されるようになる。その後、操作者が移動体図形20の移動や回転と、教示指示の入力とを繰り返すことによって、複数の教示情報が蓄積され、記憶部16で記憶されている教示情報が図6Bで示されるようになったとする。そして、操作者が終了ボタン32をタップすると、教示の操作を終了する旨が受付部14で受け付けられ、出力部17に渡される(ステップS109)。操作の終了の旨を受け付けると、出力部17は、記憶部16で記憶されている複数の教示情報を含む経路情報を、経路情報を管理しているサーバに送信する(ステップS110)。その送信の後、送信された教示情報は、記憶部16から削除されてもよく、または、そうでなくてもよい。このようにして、地図25や移動体図形20を用いたオフライン教示が行われることになる。また、その出力された経路情報に含まれる教示位置が補間され、その補間された経路を用いた移動体の移動が行われることになる。例えば、その経路が、図7の地図25で示される破線の矢印21に応じたものである場合には、移動体は、その矢印21に沿って自律的に移動してもよい。
なお、この具体例では、変更指示等が受け付けられる前に、移動体図形20がデフォルトの位置に表示される場合について説明したが、そうでなくてもよい。例えば、操作者がタッチパネルをタップすることによって移動体図形20の表示位置を入力し、表示部13は、その入力された表示位置に移動体図形20を表示するようにしてもよい。
また、この具体例では、マルチタッチスクリーン操作によって地図の拡大や縮小、移動体図形の移動や回転を行う場合について説明したが、そうでなくてもよい。ボタンをタップしたり押下したりすることによって、それらの操作や指示の入力が行われてもよい。
また、外形情報に含まれる大きさに関する情報は、実際の移動体に合うものであってもよく、または、実際の移動体の標準的な大きさを示すものであってもよい。後者の場合には、例えば、移動体の大、中、小に対応する外形情報がそれぞれ外形情報記憶部12で記憶されており、操作者は、実際の移動体に近い外形情報を用いて、教示の操作を行うようにしてもよい。具体的には、実際の移動体が92×55cmである場合に、100×60cmの大きさの外形情報に対応した移動体図形を用いて教示の操作が行われてもよい。
以上のように、本実施の形態による経路教示装置1によれば、地図上において移動体図形を移動させたり回転させたりすることによって教示を行うため、移動体を用いないで経路の教示が可能となる。そのため、移動体の稼働率を下げることなく、経路の教示を行うことができるようになる。また、大きさや形状を含む外形情報に応じた移動体図形が表示されることにより、移動体の位置を直感的な操作で精度よく教示することができる。移動体の寸法に応じた移動体図形が表示されることにより、例えば、移動体が壁にピッタリ沿いながら移動する経路を教示する際に、移動体が壁にぶつかるかどうかを確認しながら教示することができるようになる。また、移動体の形状が表示されることにより、移動体の向きを教示しやすくなる。
なお、本実施の形態では、移動体が搬送台車である場合について主に説明したため、教示位置や教示方向は、2次元平面上の位置や方向であったが、移動体が飛行体である場合には、3次元空間上での位置や方向を教示するようにしてもよい。その場合に、高度は、例えば、操作者が手動で入力したものであってもよい。また、高さ方向(鉛直方向)の位置は、例えば、海抜高度で教示されてもよく、地面からの高さで教示されてもよい。前者の場合には、飛行体である移動体は、気圧計などを用いて移動体の海抜高度を取得し、高さ方向の位置の制御を行ってもよい。また、高さ方向の位置が地面からの高さで教示される場合には、飛行体である移動体は、距離計などを用いて地面からの高さを取得し、高さ方向の位置の制御を行ってもよい。
また、本実施の形態による経路教示装置1において、ある教示位置から次の教示位置までの補間の種類を操作者が設定できるようにしてもよい。例えば、教示指示を入力する際に、教示位置の間の補間を、直線補間とするのか、円弧補間とするのか、曲線(ベジェやスプラインなど)補間とするのかなどを選択できるようにしてもよい。そのように補間の種類が指定されている場合には、経路教示装置1や移動体等において教示位置の補間を行う際に、その指定された種類に応じた補間を行うものとする。なお、それらの補間についてはすでに公知であり、その詳細な説明を省略する。
また、本実施の形態による経路教示装置1において、ある教示位置から次の教示位置までの移動スピードや、ある教示時点における停止時間を操作者が設定できるようにしてもよい。例えば、操作者は、路面の状態が粗い場所や人間が通りうる場所については、移動体のスピードを低く設定し、移動体が高速で移動しても問題が生じない場所については、移動体のスピードを高く設定してもよい。
また、上述の具体例では、移動体図形と障害物図形とが重なっているときに、両図形が重ならないようにするため、操作者が移動体図形の位置や方向を変更する場合について説明したが、そうでなくてもよい。自動的に両者が重ならないようにしてもよい。その場合には、図8Aで示されるように、経路教示装置1は、変更部51をさらに備えてもよい。変更部51は、移動体図形と障害物図形とが重なる場合に、両図形が重ならないように、移動体図形の表示の位置及び方向の少なくとも一方を変更する。結果として両図形が重ならないようになるのであれば、その変更の方法は問わないが、例えば、次のようにして変更を行ってもよい。変更部51は、まず、移動体図形の方向を変更することにより、両図形が重ならないようになるかどうか判断する。その判断は、例えば、移動体図形をあらかじめ決められた角度だけ回転させ、その回転後に両図形が重なるかどうか判断することを繰り返すことによって行ってもよい。そして、両図形が重ならなくなる方向がある場合には、変更部51は、その方向になるように移動体図形の方向を変更すればよいことになる。一方、その時点の移動体図形の位置において移動体図形の方向を変更しただけでは両図形の重なり状況を解消できない場合には、変更部51は、移動体図形の位置を変更してもよい。例えば、角度の変更と同様に、あらかじめ決められた量だけ位置を順番に変更し、その変更後の移動体図形が障害物図形と重ならない場合に、その移動体図形の位置を変更後の位置としてもよい。または、そのようにして両図形の重ならない複数の移動体図形の位置を特定し、その特定した移動体図形の位置のうち、移動前の移動体図形の位置に最も近い位置を、変更後の位置としてもよい。そのように、移動体図形の位置を変更する場合に、変更部51は、位置と共に方向も変更してもよく、または、そうでなくてもよい。また、変更部51は、ランダムに移動体図形の表示の位置及び方向の少なくとも一方を変更し、障害物図形と重ならない変更後の移動体図形を、変更後の移動体図形としてもよい。その場合に、変更部51は、障害物図形と重ならない変更後の移動体図形の候補を複数特定し、その特定した変更後の移動体図形の候補から、変更前の移動体図形の位置に最も近い候補を選択し、その選択した候補を、最終的な変更後の移動体図形としてもよい。変更先の位置や方向を見つけるため、変更部51は、地図や外形情報を用いてもよい。また、変更部51による移動体図形の位置や方向の変更は、例えば、表示部13で保持されている移動体図形の位置や方向を変更することによって行われてもよく、または、表示部13に、保持している移動体図形の位置や方向を変更する旨の指示を渡すことによって行われてもよい。移動体図形の方向を変更する場合に、変更部51は、あらかじめ決められた単位(例えば、90°や45°など)で方向を変更してもよい。また、変更部51は、2個の図形が重なっているかどうかを判断する公知の方法を用いて、移動体図形と障害物図形とが重なっているかどうかを判断してもよい。なお、表示部13は、変更部51によって表示の位置及び方向の少なくとも一方を変更された移動体図形を表示するものとする。このようにして、変更部51によって移動体図形と障害物図形とが重ならないように移動体図形の位置や方向を自動的に変更することにより、ユーザが手作業で移動体図形を移動させたり回転させたりする必要がなくなるというメリットがある。また、変更部51による移動体図形の位置や方向の変更は、例えば、自動的な変更を行う旨の操作者からの指示に応じて行われてもよく、または、両図形が重なっている場合に自動的に行われてもよい。前者の場合には、例えば、図5Bで示されるように、地図25上に移動体図形20が表示されている状況で自動的な変更を行う旨の指示が入力されると(例えば、重なり解消ボタンがタップされると)、変更部51は、図9で示されるように、移動体図形20の位置を変更することによって重なりを解消してもよい。
また、本実施の形態では、経路教示装置1が教示情報を含む経路情報を出力する場合について主に説明したが、上述のように、教示情報に含まれる教示位置を補間して生成された経路を含む経路情報が出力されてもよい。その場合には、図8Bで示されるように、経路教示装置1は、経路生成部52をさらに備えてもよい。経路生成部52は、記憶部16で記憶されている教示情報に含まれる教示位置を用いて、教示位置に応じた経路を生成してもよい。その経路の生成は、例えば、教示位置を補間することによって行われてもよい。経路生成部52は、その生成した経路を記憶部16に蓄積する。そして、その経路を含む経路情報は、出力部17によって出力されることになる。なお、教示情報に教示方向が含まれている場合には、経路生成部52によって生成された経路と、教示方向とを含む経路情報が出力されてもよい。その教示方向は、生成された経路に対応付けられていることが好適である。具体的には、生成された経路の各区間に、教示方向が対応付けられていてもよい。
また、上述の具体例では、複数の教示位置を教示する場合について説明したが、そうでなくてもよい。例えば、現在の移動体の実空間上の位置や方向を、図示しない位置受付部が受け付けて蓄積部15に渡し、蓄積部15がその位置や方向を記憶部16に蓄積してもよい。その後、上記具体例と同様にして、操作者が、移動体図形の表示位置等を変更することによって、移動体の目的地に対応する教示情報が記憶部16に蓄積されてもよい。そして、現在の移動体の位置や方向から、教示された目的地の教示情報に含まれる教示位置や教示方向までの経路が経路生成部52によって生成され、その経路や教示方向を含む経路情報が出力部17によって出力されてもよい。なお、その場合に、移動体の位置のみが教示され、経路を示す経路情報が出力されてもよい。そのような出発地から目的地までの経路を生成する方法として、例えば、ラプラスポテンシャル法を用いた方法や、A*アルゴリズムを用いた方法、RRT(Rapidly-exploring Random Tree)を用いた方法などを用いてもよい。
また、移動体がセンサを用いて現在位置を取得する場合、例えば、周囲の複数方向の障害物までの距離を測定するレーザーレンジセンサ(レーザーレンジスキャナ)や、周囲の画像を撮影するイメージセンサ(撮像素子)を用いて現在位置を取得する場合には、経路教示装置1は、それに応じた経路情報を出力するようにしてもよい。その場合に、図8Cで示されるように、経路教示装置1は、シミュレーション部53をさらに備えてもよい。シミュレーション部53は、蓄積部15によって蓄積された教示情報に応じた経路と、地図とを用いて、移動体がその経路に応じて移動する際に、移動体に装着されているセンサによって取得される値をシミュレーションによって取得するものである。その経路は、例えば、シミュレーション部53が教示情報を用いて生成してもよく、または、経路生成部52によって生成されたものであってもよい。後者の場合には、図8Cで示される経路教示装置1も、経路生成部52を備えていることが好適である。例えば、センサがレーザーレンジセンサであり、経路が図7で示される場合には、シミュレーション部53は、経路上の複数地点において、移動体図形20から障害物図形30までの複数方向に関する距離を計算し、その結果をセンサの取得する値として記憶部16に蓄積してもよい。その経路上の複数地点は、例えば、経路上の一定の間隔ごとの地点であってもよく、または、そうでなくてもよい。また、この場合には、出力部17は、シミュレーション部53によって取得されたセンサの値を含む経路情報を出力することになる。また、シミュレーション部53によるシミュレーションを行う場合には、地図に含まれる障害物図形に、高さの情報が含まれていてもよい。そして、シミュレーション部53は、その高さの情報を用いて、障害物を含む領域に関する仮想3次元空間を生成し、それを用いて、例えば、レーザーレンジセンサの値や、イメージセンサの値(撮影画像)を取得してもよい。その場合に、シミュレーション部53は、センサの高さの情報、すなわち、地面や床面からのセンサの高さを示す情報を用いてもよい。なお、撮影画像の取得は、例えば、その仮想3次元空間における移動体の位置を視点とするレンダリングによって行ってもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、経路教示装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。