(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024168091
(43)【公開日】2024-12-05
(54)【発明の名称】移動体
(51)【国際特許分類】
G05D 1/43 20240101AFI20241128BHJP
【FI】
G05D1/02 E
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023084499
(22)【出願日】2023-05-23
(71)【出願人】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】坂原 洋人
(72)【発明者】
【氏名】土方 優明
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301FF06
5H301FF16
5H301GG03
5H301GG09
5H301HH01
5H301LL01
5H301LL06
(57)【要約】
【課題】誘導線に沿って移動する移動体では、誘導線上に障害物が存在した場合に、移動を継続できなかった。
【解決手段】移動体1は、移動体1の前方の撮影画像を取得する画像取得部12と、撮影画像を上方から見た平面画像に変換する画像変換部13と、平面画像において、床面に設けられた視覚的に認識可能な誘導線を検出する検出部14と、移動体1の前方の障害物を検出する障害物検出部15と、移動機構16と、検出された誘導線と平行であり、誘導線とそれぞれ第1及び第2の距離だけ離れた2個の仮想ラインの一方に沿って移動体1が移動するように移動機構16を制御する移動制御部17とを備え、移動制御部17は、障害物が検出された場合に移動体1が移動する仮想ラインを変更する。このようにして、前方に障害物が存在する場合でも、その障害物を回避することができる。
【選択図】
図1A
【特許請求の範囲】
【請求項1】
床面に設けられた視覚的に認識可能な誘導線を用いて移動する移動体であって、
前記移動体の前方を撮影した撮影画像を取得する画像取得部と、
前記撮影画像を上方から見た平面画像に変換する画像変換部と、
前記平面画像において誘導線を検出する検出部と、
前記移動体を移動させる移動機構と、
前記検出部によって検出された誘導線と平行であり、当該誘導線とそれぞれ第1及び第2の距離だけ離れた2個の仮想ラインの一方に沿って前記移動体が移動するように前記移動機構を制御する移動制御部と、
前記移動体の前方の障害物を検出する障害物検出部と、を備え、
前記移動制御部は、前記障害物検出部によって障害物が検出された場合に、前記移動体が移動する仮想ラインを変更する、移動体。
【請求項2】
前記2個の仮想ラインは、第1及び第2の仮想ラインを含み、
前記移動制御部は、前記移動体が前記第1の仮想ラインに沿って移動している際に障害物が検出された場合に、前記移動体が前記第2の仮想ラインに沿って移動するように前記移動機構を制御し、当該障害物の回避後に、前記移動体が前記第1の仮想ラインに沿って移動するように前記移動機構を制御する、請求項1記載の移動体。
【請求項3】
前記移動制御部は、前記障害物検出部によって障害物が検出された場合にのみ、前記移動体が移動する仮想ラインを変更する、請求項1記載の移動体。
【請求項4】
前記障害物検出部は、前記2個の仮想ラインごとに、単位時間あたり、または単位距離あたりの障害物の検出頻度を取得し、
前記移動制御部は、移動の開始時に、前記障害物の検出頻度の低い仮想ラインに沿って前記移動体が移動するように前記移動機構を制御する、請求項3記載の移動体。
【請求項5】
前記検出部は、前記平面画像において検出した誘導線上に配置されたマーカをも検出し、
前記移動制御部は、前記マーカが検出された場合に、当該検出されたマーカと所定の位置関係となるように前記移動体が停止するように前記移動機構を制御する、請求項1から請求項4のいずれか記載の移動体。
【請求項6】
前記移動体の移動距離を取得する距離取得部をさらに備え、
前記移動制御部は、前記距離取得部によって取得された移動距離を用いて、前記誘導線に応じた移動距離が所定の値となった場合に、前記移動体が停止するように前記移動機構を制御する、請求項1から請求項4のいずれか記載の移動体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、床面に設けられた視覚的に認識可能な誘導線を用いて移動する移動体に関する。
【背景技術】
【0002】
従来、無人搬送車等において、SLAM(Simultaneous Localization and Mapping)を用いて自己位置を推定することが行われている(例えば、特許文献1参照)。レイアウトがあまり変わらない移動環境では、SLAMを用いることによって、自己位置を適切に推定しながら所望の移動を実現することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方、工場などのように、レイアウトが頻繁に変更される移動環境では、SLAMを用いた移動は困難になる。また、工場などの建物内では、GPS(Global Positioning System)を用いた移動制御も困難である。また、床面に設けられた誘導線に沿って移動体を移動させることも考えられるが、誘導線上に障害物が存在した場合に、移動を継続することができないという問題がある。
【0005】
本発明は、上記課題を解決するためになされたものであり、誘導線を用いて移動する際に、障害物を回避することができる移動体を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様による移動体は、床面に設けられた視覚的に認識可能な誘導線を用いて移動する移動体であって、移動体の前方を撮影した撮影画像を取得する画像取得部と、撮影画像を上方から見た平面画像に変換する画像変換部と、平面画像において誘導線を検出する検出部と、移動体を移動させる移動機構と、検出部によって検出された誘導線と平行であり、誘導線とそれぞれ第1及び第2の距離だけ離れた2個の仮想ラインの一方に沿って移動体が移動するように移動機構を制御する移動制御部と、移動体の前方の障害物を検出する障害物検出部と、を備え、移動制御部は、障害物検出部によって障害物が検出された場合に、移動体が移動する仮想ラインを変更する、ものである。
【発明の効果】
【0007】
本発明の一態様による移動体によれば、床面に設けられた視覚的に認識可能な誘導線に平行な第1及び第2の仮想ラインの一方に沿って移動している際に障害物を検知した場合には、移動する仮想ラインを切り替えることによって障害物を回避することができる。
【図面の簡単な説明】
【0008】
【
図1A】本発明の実施の形態による移動体の構成を示すブロック図
【
図1B】同実施の形態による移動体の他の構成を示すブロック図
【
図3A】同実施の形態における移動体の移動領域を示す平面図
【
図3B】同実施の形態における移動体の移動領域を示す平面図
【
図4A】同実施の形態におけるパラメータの一例を示す図
【
図4B】同実施の形態におけるパラメータの他の一例を示す図
【
図5】同実施の形態における撮影画像の一例を示す図
【
図6】同実施の形態における平面画像の一例を示す図
【
図7】同実施の形態における障害物の回避について説明するための図
【
図8】同実施の形態におけるマーカを用いた停止制御について説明するための図
【
図9】同実施の形態による移動体の動作を示すフローチャート
【発明を実施するための形態】
【0009】
以下、本発明による移動体について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による移動体は、床面に設けられた視覚的に認識可能な誘導線に平行な第1及び第2の仮想ラインの一方に沿って移動している際に障害物を検知した場合には、移動する仮想ラインを切り替えることによって障害物を回避するものである。
【0010】
図1Aは、本実施の形態による移動体1の構成を示すブロック図である。本実施の形態による移動体1は、床面に設けられた視覚的に認識可能な誘導線を用いて移動するものであり、記憶部11と、画像取得部12と、画像変換部13と、検出部14と、障害物検出部15と、移動機構16と、移動制御部17とを備える。移動体1の用途は特に限定されないが、移動体1は、例えば、搬送を行う移動体であってもよく、警備や清掃などのその他の用途の移動体であってもよい。
【0011】
移動体1の移動環境の床面には誘導線が設けられているものとする。移動環境の床面は、通常、水平であることが好適である。誘導線は、例えば、移動体1を誘導するために設けられたものであってもよく、他の用途、例えば、人の通路やフォークリフトの走行領域などを区画するための区画線等であってもよい。誘導線は、例えば、床面に貼り付けられたビニールテープなどのテープ状のものであってもよく、塗料を床面に塗布することによって設けられたものであってもよい。誘導線は、例えば、一定の幅の線であることが好適である。誘導線は、視覚的に認識可能なものである。すなわち、誘導線は、画像において検出できるものとする。誘導線は、視覚的に認識可能となるため、床面と異なる色であることが好適である。誘導線は、例えば、直線であってもよく、曲線であってもよい。本実施の形態では、誘導線が直線である場合について主に説明する。
【0012】
誘導線上には、マーカが配置されていてもよい。誘導線上にマーカが配置されているとは、例えば、マーカの少なくとも一部が誘導線上に存在することであってもよい。誘導線上に複数のマーカが配置されている場合に、その複数のマーカは、例えば、すべて同じマーカであってもよく、または、異なるマーカを含んでいてもよい。本実施の形態では、前者の場合について主に説明し、後者の場合について後述する。マーカは、あらかじめ決められた形状であることが好適である。後述する平面画像において、マーカを検出できるようにするためである。後述するように、ハフ変換によってマーカを検出する場合には、マーカは、例えば、円形状であってもよい。また、マーカは、例えば、向きを特定可能なものであってもよい。マーカは、例えば、矢印形状などのように、マーカの形状によって向きを特定可能であってもよく、複数の領域を有しており、その領域の特定の位置、例えば重心などを用いて向きを特定可能であってもよく、矢印などの向きを示す図形を含んでいてもよい。
【0013】
本実施の形態では、
図2で示されるマーカ3が用いられる場合について主に説明する。
図2で示されるマーカ3は、円形状であり、中心を通る直線によって、2個の半円の領域3a,3bに分かれているものとする。例えば、領域3aは青色であり、領域3bは白色であってもよい。また、例えば、円形状のマーカ3の中心を始点として、領域3aの重心を終点とするベクトルの向きが、マーカ3の向きであってもよい。
図3Aは、誘導線5上にマーカ3が配置されている工場内の状況の一例を示す平面図である。
図3Aにおいて、誘導線5は、工場における配置物7付近の人の通路と、フォークリフトの走行領域とを区画するための区画線であるとする。マーカと所定の位置関係にある仮想停止線の位置で移動体1が一時的に停止するため、移動体1を停止させたい位置の付近、例えば、移動体1の向きを変更する誘導線の分岐点の付近などにマーカが配置されてもよい。
【0014】
記憶部11では、誘導線と第1及び第2の仮想ラインとの距離を示す第1及び第2の距離L1,L2、マーカと仮想停止線との距離を示す第3の距離L3、並びに仮想停止線での停止後の進行角度θなどのパラメータの集合が記憶されている。このパラメータの集合は、例えば、
図4Aで示されるものであってもよい。なお、
図4Aで示されるパラメータの集合は、出発地からの移動の開始後、または停止線で停止した後の移動の再開後から、次の停止線で停止するまでの1回の移動に対応したパラメータの集合であってもよい。この場合には、パラメータの複数の集合が記憶部11で記憶されており、それらに応じて移動体1の移動が行われてもよい。これらのパラメータの詳細については後述する。
【0015】
記憶部11に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部11で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部11で記憶されるようになってもよく、または、入力デバイスを介して入力された情報が記憶部11で記憶されるようになってもよい。記憶部11は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。
【0016】
画像取得部12は、移動体1の前方を撮影した撮影画像を取得する。画像取得部12は、例えば、画像を撮影するカメラ等の光学機器であってもよく、カメラ等の光学機器によって撮影された画像を取得するものであってもよい。本実施の形態では、画像取得部12がカメラである場合について主に説明する。撮影画像は、例えば、カラーの画像であってもよく、白黒やグレースケールの画像であってもよい。誘導線及びマーカの少なくとも一方が白黒以外の色を有している場合には、撮影画像は、カラーの画像であることが好適である。画像取得部12は、撮影画像の取得を繰り返すことが好適である。画像取得部12は、例えば、定期的に、または不定期に撮影画像を繰り返して取得してもよい。また、画像取得部12は、例えば、動画を取得してもよい。この場合には、動画を構成する1つのフレームが撮影画像であると考えてもよい。
【0017】
撮影画像を撮影するためのカメラの光軸は、通常、移動体1の進行方向前方を向いていることが好適である。その光軸は、例えば、水平方向に延びていてもよく、または、俯角が正の値となるように床側に向いていてもよい。後者の場合であっても、進行方向の遠くの領域も撮影画像に含まれるようになっていることが好適である。遠くの位置のマーカも検出できるようにするためである。
図5は、移動体1が
図3Aで示される位置に存在する際に撮影された撮影画像の一例を示す図である。
図5で示されるように、撮影画像は、パースの付いた画像になる。
【0018】
画像変換部13は、画像取得部12によって取得された撮影画像を上方から見た平面画像に変換する。平面画像は、例えば、床面に垂直な方向、例えば、鉛直方向から見た画像であってもよい。画像変換部13は、例えば、撮影画像をホモグラフィ変換によって平面画像に変換してもよい。なお、撮影画像を平面画像に変換する方法は公知であり、その詳細な説明を省略する。
図6は、
図5で示される撮影画像を変換した平面画像の一例を示す図である。
図6で示されるように、平面画像は、パースの付いていない画像になる。画像変換部13は、例えば、繰り返して取得された撮影画像をそれぞれ平面画像に変換してもよい。
【0019】
検出部14は、画像変換部13によって取得された平面画像において誘導線を検出する。検出部14は、一例として、平面画像において、ハフ変換によって誘導線を検出してもよい。例えば、誘導線が直線である場合には、検出部14は、直線を検出するためのハフ変換を行ってもよい。なお、検出部14は、例えば、平面画像において細線化処理を行った後にハフ変換を行ってもよい。誘導線は、通常、幅を有している線であり、幅を有している線よりも、より細い線の方がハフ変換によって検出するのに好適だからである。細線化処理は、例えば、幅を有する線の線幅を狭めることによって細線化する画像処理であってもよく、エッジ検出であってもよい。前者の細線化処理としては、例えば、画像を二値化した後に細線化する田村や、Hilditch、Zhang-Suen等のアルゴリズムが知られている。後者のエッジ検出では、通常、誘導線の幅方向の両側のエッジが検出されることになるが、例えば、一方のエッジのみを残すようにエッジ検出を行ってもよい。一方のエッジのみを残すため、例えば、輝度値などの微分値を用いてエッジを検出する際に、微分値が正の閾値より大きい値であるピクセルのみをエッジとして検出し、微分値が負の閾値より小さい値であるピクセルをエッジとして検出しないようにしてもよい。
【0020】
また、撮影画像がカラーの画像である場合に、検出部14は、例えば、カラーの平面画像をグレースケールの画像に変換してから細線化処理や、誘導線の検出の処理を行ってもよい。グレースケールの画像に変換する際に、検出部14は、例えば、誘導線の色を基準色として、その基準色からの色の違いが大きくなるほど、基準色のピクセルの値との差がより大きくなるようにグレースケールに変換してもよい。例えば、8ビットのグレースケールに変換する際には、基準色のピクセルの値は0として、基準色からの色の違いが大きくなるほど、値がより255に近くなるようにグレースケールに変換してもよい。このようにすることで、変換後のグレースケールの平面画像において、より適切に誘導線を検出することができるようになる。
【0021】
また、検出部14は、平面画像において検出した誘導線上に配置されたマーカを検出してもよい。検出部14は、例えば、平面画像において、ハフ変換によってマーカを検出してもよく、テンプレートマッチングによってマーカを検出してもよい。なお、平面画像では、移動体1から遠くの領域になるほど解像度が低くなる。そのため、ハフ変換では、移動体1から遠い位置に存在するマーカを検出することが困難になり得るが、テンプレートマッチングの場合には、移動体1から遠い位置に存在するマーカもより確実に検出することができる。この観点から、テンプレートマッチングによってマーカの検出を行うことが好適である。また、マーカの大きさが決まっている場合には、マーカに相当する、あらかじめ決められた大きさのテンプレート画像を用いることによってマーカを検出することができる。また、マーカは、誘導線上に配置されているため、検出部14は、検出した誘導線を基準とした所定の範囲内のみにおいてテンプレートマッチングによるマーカの検出を行ってもよい。マーカが白黒以外の色を有している場合には、例えば、誘導線の検出が上記したグレースケールの画像を用いて行われたとしても、マーカの検出は、カラーの平面画像を用いて行われてもよい。マーカを検出するとは、例えば、平面画像におけるマーカの位置を特定することであってもよい。また、検出部14は、例えば、平面画像におけるマーカの位置に加えて、マーカの向きも特定してもよい。
【0022】
障害物検出部15は、移動体1の前方の障害物を検出する。移動体1が誘導線と平行な第1の仮想ラインに沿って移動している際には、障害物検出部15は、例えば、第1の仮想ラインに沿って移動する際に衝突する可能性のある障害物を検出してもよい。第1の仮想ラインに沿って移動する際に衝突する可能性のある障害物は、一例として、第1の仮想ライン上に存在する障害物であってもよい。また、移動体1が誘導線と平行な第2の仮想ラインに沿って移動している際には、障害物検出部15は、例えば、第2の仮想ラインに沿って移動する際に衝突する可能性のある障害物を検出してもよい。第2の仮想ラインに沿って移動する際に衝突する可能性のある障害物は、一例として、第2の仮想ライン上に存在する障害物であってもよい。
【0023】
障害物検出部15は、例えば、撮影画像や平面画像を用いて障害物を検出してもよく、測距センサなどの他のセンサによるセンシング結果を用いて障害物を検出してもよい。後者の場合には、障害物検出部15は、例えば、そのセンサも有していてもよい。測距センサは、例えば、レーザセンサや、超音波センサ、マイクロ波などを用いた測距センサ、ステレオカメラによって撮影されたステレオ画像を用いた測距センサなどであってもよい。レーザセンサは、一例として、レーザレンジセンサ(レーザレンジスキャナ)であってもよい。また、測距センサは、例えば、1つまたは複数の方向に関して、移動体1の周囲の物体までの距離を測定するセンサであってもよい。障害物検出部15は、例えば、撮影画像や平面画像、または、測距センサなどの他のセンサによるセンシング結果によって、移動体1の近くの所定の領域に物体が存在することが分かった場合に、その物体を障害物として検出してもよい。
【0024】
移動機構16は、移動体1を移動させる。本実施の形態では、移動機構16が、床面上において移動体1を走行させる機構である場合について主に説明する。移動機構16は、例えば、移動体1を全方向に移動できるものであってもよく、または、そうでなくてもよい。全方向に移動できるとは、任意の方向に移動できることである。移動機構16は、例えば、走行部(例えば、車輪など)と、その走行部を駆動する駆動手段(例えば、モータやエンジンなど)とを有していてもよい。なお、移動機構16が、移動体1を全方向に移動できるものである場合には、その走行部は、全方向移動車輪(例えば、オムニホイール、メカナムホイールなど)であってもよい。移動機構16としては、公知のものを用いることができるため、その詳細な説明を省略する。
【0025】
移動制御部17は、移動体1が2個の仮想ラインの一方に沿って移動するように移動機構16を制御する。本実施の形態では、2個の仮想ラインが第1及び第2の仮想ラインを含む場合について主に説明する。第1及び第2の仮想ラインは、検出部14によって検出された誘導線と平行であり、その誘導線とそれぞれ第1及び第2の距離だけ離れた仮想ラインである。仮想ラインは、移動体1の移動領域には存在しない、すなわち実環境において目視することができないラインである。
【0026】
平面画像における誘導線の検出結果によって、移動制御部17は、移動体1のローカル座標系における誘導線の位置を知ることができる。したがって、移動制御部17は、その誘導線の位置、及び記憶部11で記憶されているパラメータの集合を用いることによって、誘導線から第1の距離だけ離れた第1の仮想ラインと、誘導線から第2の距離だけ離れた第2の仮想ラインとのローカル座標系における位置を知ることができる。その結果、移動制御部17は、第1または第2の仮想ラインに沿った移動体1の移動を実現することができる。例えば、パラメータが
図4Aで示される場合には、
図7で示されるように、第1の仮想ライン6aは、誘導線5から第1の距離L1だけ離れたラインであり、第2の仮想ライン6bは、誘導線5から第2の距離L2だけ離れたラインであってもよい。一例として、距離L1,L2が正の値である場合には、仮想ラインは進行方向に対して右側に存在し、距離L1,L2が負の値である場合には、仮想ラインは進行方向に対して左側に存在してもよい。なお、後者の場合には、仮想ラインと第1及び第2の仮想ラインとの距離は、それぞれ距離L1,L2の絶対値に等しい距離であってもよい。また、第1及び第2の仮想ライン6a,6bの一方は、例えば、誘導線と重なっていてもよい。また、第1及び第2の仮想ライン6a,6bは、例えば、一方の仮想ライン上に障害物が存在する場合に、移動体1が他方の仮想ラインに沿って移動することによって、その障害物を回避できる程度に離れていることが好適である。一例として、第1及び第2の仮想ライン6a,6bは、移動体1の進行方向に対して垂直な方向の幅以上離れていてもよい。なお、
図7では、説明の便宜上、誘導線5を細い実線で示しているが、
図3で示されるように、誘導線5は通常、幅を有する線である。後述する
図8においても同様である。
【0027】
なお、第1の仮想ライン6aに沿った移動は、例えば、移動体1が第1の仮想ライン6a上を移動することであってもよい。また、第1の仮想ライン6a上の移動は、例えば、平面画像の左右方向の中央に第1の仮想ライン6aが存在する移動であってもよい。第2の仮想ライン6bに沿った移動も同様であってもよい。平面画像に複数の誘導線が含まれる場合には、移動制御部17は、移動体1の進行方向に延びる誘導線と平行な第1または第2の仮想ライン6a,6bに沿って移動するように移動制御を行ってもよい。
【0028】
移動制御部17は、障害物検出部15によって障害物が検出された場合に、移動体1が移動する仮想ラインを変更する。移動制御部17は、例えば、
図7で示されるように、移動体1が第1の仮想ライン6aに沿って移動している際に障害物8が検出された場合には、移動体1が第2の仮想ライン6bに沿って移動するように移動機構16を制御してもよい。この場合には、移動制御部17は、障害物検出部15によって第1の仮想ラインに沿った移動で障害となる障害物が検出されたときに、移動体1が移動する仮想ラインを第2の仮想ラインに設定し、障害物検出部15によって第1の仮想ラインに沿った移動で障害となる障害物が検出されていないときに、移動体1が移動する仮想ラインを第1の仮想ラインに設定してもよい。そして、移動制御部17は、設定している仮想ラインに沿った移動が行われるように移動制御を行ってもよい。第1の仮想ライン6aに沿った移動中に障害物8が検出された場合には、一例として、
図7の矢印A1で示されるように、移動する仮想ラインを変更してもよい。この仮想ラインの変更は、一例として、移動先の仮想ライン上の点であって、現在の移動体1の位置よりも所定の距離だけ前方に位置する点を目標位置として移動制御を行うことによって行われてもよい。なお、仮想ラインの変更は、仮想ラインに垂直な方向に移動することによって行われてもよい。また、第2の仮想ライン6bに沿った移動中に、第1の仮想ライン6aに沿った移動で障害となる障害物8が検出されなくなった後、すなわち障害物8の回避後には、移動制御部17は、移動体1が第1の仮想ライン6aに沿って移動するように移動機構16を制御してもよい。この場合には、一例として、
図7の矢印A2で示されるように、移動する仮想ラインを変更してもよい。なお、この仮想ラインの変更についても、仮想ラインに垂直な方向に移動することによって行われてもよい。この場合には、移動体1は、優先的に第1の仮想ライン6aに沿った移動を行い、障害物を回避しなければならないときにのみ、第2の仮想ライン6bに沿った移動を行うことになる。
【0029】
一方、移動制御部17は、例えば、障害物検出部15によって障害物が検出された場合にのみ、移動体1が移動する仮想ラインを変更するようにしてもよい。この場合には、移動体1が第1の仮想ライン6aに沿って移動している際に障害物が検出されたときには、移動制御部17は、移動する仮想ラインを変更して第2の仮想ライン6bに沿って移動するように移動制御を行い、その後、新たな障害物が検出されるまでは、第2の仮想ライン6bに沿った移動を継続するようにしてもよい。また、移動体1が第2の仮想ライン6bに沿って移動している際に障害物が検出されたときには、移動制御部17は、移動する仮想ラインを変更して第1の仮想ライン6aに沿って移動するように移動制御を行い、その後、新たな障害物が検出されるまでは、第1の仮想ライン6aに沿った移動を継続するようにしてもよい。
【0030】
なお、障害物検出部15によって、第1の仮想ラインに沿った移動で障害となる障害物と、第2の仮想ラインに沿った移動で障害となる障害物との両方が検出された場合には、仮想ラインの変更によって障害物を回避することができないため、移動制御部17は、例えば、移動体1を停止させ、障害物によって移動できない旨などを移動体1の管理者等に通知するようにしてもよい。
【0031】
また、移動制御部17は、検出部14によってマーカが検出された場合に、その検出されたマーカと所定の位置関係となるように移動体1が停止するように移動機構16を制御してもよい。この場合には、一例として、マーカと所定の位置関係にある仮想停止線で移動体1が停止するように移動機構16が制御されてもよい。例えば、パラメータが
図4Aで示される場合には、
図8で示されるように、仮想停止線9は、マーカ3の中心から距離L3だけ離れたラインであり、誘導線に直交する方向に延びるラインであってもよい。一例として、距離L3が正の値である場合には、仮想停止線9はマーカ3に対して進行方向の前方側に存在し、距離L3が負の値である場合には、仮想停止線9はマーカ3に対して進行方向の手前側、すなわち後方側に存在してもよい。なお、後者の場合には、マーカ3と仮想停止線9との距離は、距離L3の絶対値に等しい距離であってもよい。この仮想停止線での停止は、一例として、
図8の破線で示される移動体1のように、移動体1の前端が仮想停止線9上となるように停止することであってもよい。
【0032】
また、この仮想停止線での停止は、例えば、一時停止であってもよく、長期にわたる停止、例えば、目的地に到達したときの停止であってもよい。また、一例として、マーカ3の向きが移動体1の進行方向と一致している場合には、移動体1はマーカ3に応じて停止し、そうでない場合には、移動体1はマーカ3に応じて停止しなくてもよい。この場合には、マーカの向きも特定されることが好適である。なお、移動体1が
図8で示されるようにマーカ3の位置を超えて停止する場合には、移動体1が停止する時点においてマーカ3が平面画像に含まれないことになる。そのため、例えば、移動制御部17は、例えば、平面画像において検出されたマーカ3に応じて移動体1のローカル座標系における仮想停止線9の位置を特定し、その特定した仮想停止線9のローカル座標系における位置を移動体1の移動に応じて更新し、仮想停止線9の位置があらかじめ決められた位置となった場合に移動体1が停止するように移動機構16を制御してもよい。例えば、移動体1における撮影画像を撮影するカメラの取付位置と、そのカメラの画角とが分かっている場合に、移動制御部17は、検出されたマーカ3の平面画像における位置を用いることによって、移動体1のローカル座標系におけるマーカ3の位置を特定することができる。したがって、移動制御部17は、そのローカル座標系におけるマーカ3の位置を用いて、ローカル座標系における仮想停止線9の位置を特定することができる。移動制御部17は、例えば、仮想停止線9の位置の更新を、移動指示に応じた移動方向や移動距離を用いて行ってもよく、移動機構16のエンコーダ等によって取得された車輪の回転量などに応じた移動方向や移動距離を用いて行ってもよい。
【0033】
また、記憶部11では、
図4Aで示されるパラメータの集合と同様のパラメータの集合が、移動体1が移動する誘導線ごとに記憶されていてもよい。そして、移動制御部17は、ある誘導線に応じた移動を開始する際に、その誘導線に対応するパラメータの集合に含まれる第1及び第2の距離L1,L2を記憶部11から読み出して、検出された誘導線から第1または第2の距離L1,L2だけ離れた第1または第2の仮想ラインに沿って移動体1が移動するように移動制御を行ってもよい。また、平面画像においてマーカが検出された場合には、移動制御部17は、パラメータの集合に含まれる第3の距離L3を記憶部11から読み出して、検出されたマーカから距離L3だけ離れた仮想停止線で移動体1が停止するように移動制御を行ってもよい。また、その停止後に、移動制御部17は、パラメータの集合に含まれる停止後の進行角度θを記憶部11から読み出し、ローカル座標系において、その進行角度θだけ進行方向を回転させた後に次の誘導線に応じた移動を開始してもよい。なお、次の誘導線に応じた移動では、記憶部11で記憶されている次の誘導線に対応するパラメータの集合を用いた移動制御が行われてもよい。したがって、記憶部11で記憶されている最後のパラメータの集合に応じた移動が終了した際に、移動体1は、目的地に到達したと考えてもよい。記憶部11で記憶されているパラメータの複数の集合は、例えば、移動体1の移動を教示する情報であると考えてもよい。なお、移動体1が任意の方向に移動できる場合には、移動制御部17は、例えば、検出されたマーカに応じた停止後に、進行方向を回転させることなく、進行角度θの方向の次の誘導線に応じた移動を開始してもよい。また、パラメータの集合には、
図4Aで示される以外のパラメータも含まれていてもよい。例えば、パラメータの集合に、移動体1が仮想停止線で停止した際の停止時間を示すパラメータが含まれており、移動制御部17は、その停止時間を示すパラメータの時間だけ停止するように移動制御を行ってもよい。
【0034】
次に、移動体1の動作について
図9のフローチャートを用いて説明する。
(ステップS101)画像取得部12は、撮影画像を取得するかどうか判断する。そして、撮影画像を取得する場合には、ステップS102に進み、そうでない場合には、撮影画像を取得すると判断するまで、ステップS101の処理を繰り返す。画像取得部12は、例えば、撮影画像を取得すると定期的に判断してもよい。
【0035】
(ステップS102)画像取得部12は、撮影画像を取得する。画像取得部12は、例えば、画像を撮影することによって撮影画像を取得してもよく、撮影された画像を受け取ることによって撮影画像を取得してもよい。撮影画像は、図示しない記録媒体等で記憶されてもよい。
【0036】
(ステップS103)画像変換部13は、撮影画像を平面画像に変換する。なお、画像変換部13は、取得されたすべての撮影画像を平面画像に変換してもよく、または、一部の撮影画像を平面画像に変換してもよい。撮影画像が高頻度に取得される場合には、必ずしもすべての撮影画像を平面画像に変換しなくてもよいからである。平面画像は、図示しない記録媒体等で記憶されてもよい。
【0037】
(ステップS104)検出部14は、平面画像に細線化処理を行う。この細線化処理は、平面画像を上記したようにグレースケールの画像に変換した後に行ってもよい。
【0038】
(ステップS105)検出部14は、細線化処理後の平面画像において誘導線を検出する。
【0039】
(ステップS106)障害物検出部15は、第1の仮想ラインに沿った移動において障害となる障害物を検出したかどうか判断する。そして、障害物を検出した場合には、ステップS107に進み、そうでない場合には、ステップS108に進む。
【0040】
(ステップS107)移動制御部17は、移動体1が移動する仮想ラインを第2の仮想ラインに設定する。なお、この設定がすでに行われている場合には、再度の設定は行われなくてもよい。
【0041】
(ステップS108)移動制御部17は、移動体1が移動する仮想ラインを第1の仮想ラインに設定する。なお、この設定がすでに行われている場合には、再度の設定は行われなくてもよい。
【0042】
(ステップS109)移動制御部17は、仮想停止線の設定が存在するかどうか判断する。そして、仮想停止線の設定が存在する場合には、ステップS113に進み、そうでない場合には、ステップS110に進む。
【0043】
(ステップS110)検出部15は、細線化処理を行っていない平面画像において、ステップS105において検出した誘導線上のマーカを検出する。
【0044】
(ステップS111)移動制御部17は、ステップS110においてマーカが検出されたかどうか判断する。そして、マーカが検出された場合には、ステップS112に進み、そうでない場合には、ステップS113に進む。
【0045】
(ステップS112)移動制御部17は、マーカと所定の位置関係となる仮想停止線を設定する。この設定は、例えば、移動体1のローカル座標系における仮想停止線の設定であってもよい。
【0046】
(ステップS113)移動制御部17は、移動体1が仮想ラインに沿って移動するように移動機構16を制御する。例えば、移動体1が移動する仮想ラインを第1の仮想ラインに設定している場合には、移動制御部17は、移動体1が第1の仮想ラインに沿って移動するように移動制御を行ってもよい。この場合には、例えば、移動体1が現時点において第1の仮想ライン上に存在しないときには、移動制御部17は、移動体1が第1の仮想ラインに移動するように移動制御を行ってもよい。また、例えば、移動体1が移動する仮想ラインを第2の仮想ラインに設定している場合には、移動制御部17は、移動体1が第2の仮想ラインに沿って移動するように移動制御を行ってもよい。この場合には、例えば、移動体1が現時点において第2の仮想ライン上に存在しないときには、移動制御部17は、移動体1が第2の仮想ラインに移動するように移動制御を行ってもよい。また、例えば、仮想停止線を設定している場合には、移動制御部17は、その仮想停止線の位置で移動体1が停止するように制御してもよい。なお、移動制御部17は、例えば、移動体1の移動に応じて、移動体1のローカル座標系における仮想停止線の位置を更新してもよい。また、移動制御部17は、例えば、移動体1を仮想停止線で停止させた後には、停止後の進行角度の向きへの移動を開始するように移動制御を行ってもよい。そして、ステップS101に戻る。なお、このステップS113の移動制御が繰り返して行われることにより、移動体1は、所望の移動を行うことができるようになる。
【0047】
なお、
図9のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、
図9のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0048】
次に、本実施の形態による移動体1の動作について、具体例を用いて説明する。この具体例では、
図4Aで示される1回の移動に応じたパラメータの集合、及びそれに続く移動に応じたパラメータの複数の集合が記憶部11で記憶されているものとする。また、移動体1は、
図3Aで示される工場において、誘導線5に応じて移動するものとする。また、移動制御部17は、記憶部11において記憶されている、出発地から目的地までの各誘導線に対応するパラメータの集合を順次、読み出して移動制御を行うものとする。
【0049】
移動体1が移動を開始する際に、まず、画像取得部12は、撮影画像を取得し、その取得した撮影画像を画像変換部13に渡す(ステップS101,S102)。その撮影画像は、例えば、
図5で示されるものであるとする。撮影画像を受け取ると、画像変換部13は、その撮影画像を上方から見た平面画像に変換して検出部14と障害物検出部15とに渡す(ステップS103)。その平面画像は、例えば、
図6で示されるものである。
【0050】
平面画像を受け取ると、検出部14は、平面画像について細線化処理を行い、その細線化処理を行った平面画像において、誘導線を検出し、その誘導線の検出結果を障害物検出部15と移動制御部17とに渡す(ステップS104,S105)。
図6では、進行方向に延びる誘導線5が2本存在するが、平面画像の左右方向において、より真ん中に近い位置に存在する左側の誘導線5の検出結果が障害物検出部15等に渡されてもよい。誘導線の検出結果を受け取ると、障害物検出部15は、現在移動中の誘導線に応じたパラメータの集合に含まれる第1の距離L1を記憶部11から読み出し、その第1の距離L1を用いて、検出された誘導線と第1の距離L1だけ離れた第1の仮想ラインを特定し、画像変換部13から受け取った平面画像を用いて、その第1の仮想ライン上に障害物が存在するかどうかを判断する(ステップS106)。この場合には、障害物は存在しなかったとする。すると、移動制御部17は、移動体1が移動する仮想ラインを第1の仮想ラインに設定する(ステップS108)。
【0051】
また、移動制御部17は、移動体1のローカル座標系において仮想停止線を設定していないため、検出部14に、マーカを検出する旨の指示を渡す(ステップS109)。その指示を受け取ると、検出部14は、画像変換部13から受け取った平面画像において、検出した誘導線上に存在するマーカを検出する(ステップS110)。より具体的には、検出部14は、平面画像におけるマーカの位置を特定し、その特定結果を移動制御部17に渡す。
図6で示される平面画像の場合には、誘導線5上に存在するマーカ3の位置が移動制御部17に渡されることになる。
【0052】
その後、移動制御部17は、マーカが検出されたかどうか判断する(ステップS111)。移動制御部17は、例えば、平面画像における検出されたマーカの位置を検出部14から受け取った場合に、マーカが検出されたと判断し、マーカの位置を受け取っていない場合に、マーカが検出されなかったと判断してもよい。
図6で示される平面画像の場合には、マーカ3が検出されるため、移動制御部17は、現在移動中の誘導線に応じたパラメータの集合に含まれる第3の距離L3を記憶部11から読み出し、その第3の距離L3を用いてマーカと所定の位置関係にある仮想停止線をローカル座標系において設定する(ステップS112)。なお、この仮想停止線のローカル座標系における位置は、移動体1の移動に応じて適宜、更新されるものとする。
【0053】
また、移動制御部17は、あらかじめ受け取っていた誘導線の検出結果を用いて、移動体1が誘導線と平行な仮想ラインに沿って移動するように移動機構16を制御する。なお、ここでは、移動体1が移動する仮想ラインを第1の仮想ラインに設定しているため、移動制御部17は、現在移動中の誘導線に応じたパラメータの集合に含まれる第1の距離L1を記憶部11から読み出し、その第1の距離L1を用いて、検出された誘導線と第1の距離L1だけ離れた第1の仮想ラインを特定し、その第1の仮想ラインに沿って移動するように移動機構16を制御する(ステップS113)。また、移動体1が仮想停止線に到達した場合には、移動制御部17は、移動体1を停止させる移動制御を行う。また、その停止後には、移動制御部17は、現在移動中の誘導線に応じたパラメータの集合に含まれる停止後の進行角度θを記憶部11から読み出し、その角度の向きへの移動を開始するように移動制御を行ってもよい。その新たな移動制御は、その停止位置まで用いていたパラメータの集合の次のパラメータ集合、すなわち新たな誘導線に応じたパラメータの集合を用いて行われてもよい。また、第1の仮想ラインに沿った移動中に障害物が検出された場合には(ステップS106)、第2の仮想ラインに沿って移動するための設定が行われ(ステップS107)、移動体1が第2の仮想ラインに沿って移動するように移動制御が行われてもよい(ステップS113)。このような移動制御が、撮影画像の取得ごとに繰り返して行われることによって、移動体1は、記憶部11で記憶されているパラメータの複数の集合に応じて目的地まで移動することになる。
【0054】
以上のように、本実施の形態による移動体1によれば、誘導線を用いた移動を行うことができるため、必ずしも自己位置を取得するための構成を備えていなくてもよいことになる。また、誘導線を用いて移動する際にも、検出された障害物を、移動する仮想ラインを切り替えることによって回避することができる。このように、仮想ラインを用いた障害物の回避を行うことによって、障害物を回避する際の移動体1の移動範囲を制限することもでき、障害物を回避する際に移動体1が想定外の動作をしないようにすることもできる。また、本実施の形態による移動体1は、誘導線に平行な仮想ラインの位置をパラメータによって設定することができるため、移動体1が必ずしも誘導線上を移動しなくてもよいことになり、例えば、工場などにおいて配置物の近くに設けられている区画線などを誘導線として用いる場合であっても、配置物から少し離れた位置を移動体1が移動するようにすることもできる。また、第1及び第2の距離を、誘導線ごとに変更することもできる。例えば、配置物の近くに設けられている誘導線については、第1及び第2の距離を大きい値とし、配置物から離れて設けられている誘導線については、第1及び第2の距離を小さい値とすることもできる。
【0055】
また、移動体1が第1の仮想ラインに沿って移動中に障害物が検出されたときに、移動体1が第2の仮想ラインに沿って移動するように移動制御が行われ、障害物の回避後には、移動体1が再び第1の仮想ラインに沿って移動するように移動制御を行うことによって、移動体1が優先的に第1の仮想ラインに沿って移動するようにすることもできる。また、障害物が検出された場合にのみ、移動体1が移動する仮想ラインを変更するようにすることによって、仮想ラインの変更回数を低減することができ、効率的な移動を実現することができる。
【0056】
また、平面画像においてマーカが検出された場合に、その検出されたマーカと所定の位置関係となるように移動体1が停止するように移動制御が行われることによって、マーカを用いて移動体1を停止させることができるようになる。したがって、誘導線上にマーカを配置することによって、移動体1を所望の位置で停止させることができるようになる。
【0057】
なお、本実施の形態では、誘導線上に配置される複数のマーカがすべて同じである場合について主に説明したが、そうでなくてもよい。異なる種類のマーカが誘導線上に配置されてもよい。異なる種類のマーカは、例えば、色や形状、模様等によって、それぞれ識別可能になっていてもよい。この場合には、例えば、マーカの種類ごとに停止時間が決まっていてもよく、マーカの種類ごとに、第3の距離が決まっていてもよい。マーカの種類ごとに停止時間が決まっている場合には、移動制御部17は、平面画像において検出されたマーカに応じた停止を行う際に、そのマーカの種類に応じた停止時間だけ停止するように移動制御を行ってもよい。また、マーカの種類ごとに第3の距離が決まっている場合には、移動制御部17は、平面画像において検出されたマーカに応じた停止を行う際に、そのマーカの種類に応じた第3の距離に応じて仮想停止線の位置を特定してもよい。この場合には、記憶部11で記憶されているパラメータの集合に第3の距離が含まれていなくてもよい。
【0058】
また、本実施の形態において、移動制御部17が、障害物が検出されたときにのみ、移動体1が移動する仮想ラインを変更するように移動制御を行う場合には、障害物検出部15は、2個の仮想ラインごとに、単位時間あたり、または単位距離あたりの障害物の検出頻度を取得してもよい。単位時間は、例えば、1分や10分などであってもよい。また、単位距離は、例えば、10メートルや100メートルなどであってもよい。障害物検出部15は、例えば、第1の仮想ラインに沿った移動中の障害物の検出頻度、及び第2の仮想ラインに沿った移動中の障害物の検出頻度を取得してもよい。そして、移動制御部17は、移動の開始時に、障害物の検出頻度の低い仮想ラインに沿って移動体1が移動するように移動機構16を制御してもよい。例えば、第2の仮想ラインの方が障害物の検出頻度が低い場合には、移動制御部17は、移動を開始する際に、まず、移動体1が第2の仮想ラインに沿って移動するように移動制御を行ってもよい。このようにすることで、仮想ラインに沿った移動中に障害物が検出される回数を低減することができ、結果として、仮想ラインを変更する回数を低減することができるため、より効率的な移動を実現することができるようになる。この検出頻度の取得や、検出頻度を用いた移動制御は、例えば、誘導線ごと、すなわちパラメータの集合ごとに行われてもよい。障害物検出部15は、例えば、誘導線ごとに、仮想ラインごとの移動距離、及び仮想ラインごとの移動時間の少なくとも一方、並びに仮想ラインごとの障害物の検出回数を記録し、それらを用いて単位時間あたり、または単位距離あたりの障害物の検出頻度を算出してもよい。また、例えば、移動制御部17は、検出されたマーカに応じた一時停止後の誘導線に応じた移動を開始する際に、その誘導線に対応する障害物の検出頻度を用いて、第1及び第2の仮想ラインの一方に沿った移動を行うように移動制御を行ってもよい。
【0059】
また、検出されたマーカに応じて移動体1が停止する場合であっても、仮に、マーカの検出が適切に行われなかったときには、移動が必要以上に継続される可能性もある。したがって、安全性を向上させるため、1回の移動での上限の距離を設定できるようにしてもよい。この場合には、移動制御部17は、その設定された上限の距離を超えた連続した移動を行わないようにしてもよい。このようにすることで、仮にマーカの見落としがあったとしても、移動体1は、少なくともその設定された距離だけ進んだ位置において停止することになる。
【0060】
また、本実施の形態では、検出されたマーカに応じて停止の制御が行われる場合について主に説明したが、そうでなくてもよい。この場合には、誘導線上にマーカが配置されていなくてもよい。誘導線上にマーカが配置されていない場合には、移動体1は、
図1Bで示されるように、距離取得部18をさらに備えてもよい。距離取得部18は、移動体1の移動距離を取得する。距離取得部18は、例えば、移動機構16のエンコーダ等によって取得された車輪の回転量などに応じた移動距離を取得してもよい。そして、移動制御部17は、距離取得部18によって取得された移動距離を用いて、誘導線に応じた移動距離、すなわち仮想ラインに沿った移動距離が所定の値となった場合に、移動体1が停止するように移動機構を制御してもよい。この場合には、例えば、
図3Bで示されるように、誘導線5上にマーカが配置されていなくてもよい。また、
図3Bにおける誘導線5aに応じた移動における移動距離である第4の距離L4が、
図4Bで示されるように、誘導線5aに応じた移動時に用いられるパラメータの集合に含まれていてもよい。この場合には、例えば、移動体1が誘導線5aに応じた移動を行う際に、移動距離が第4の距離L4となった時点で停止することになる。なお、
図3Bで示されるように、第4の距離L4は、例えば、誘導線5aの長手方向の距離であってもよい。この場合には、例えば、移動体1が
図3Bの誘導線5aの下端から上端に向かって移動する際に、誘導線5aの上端の位置において移動体1が停止することになる。また、この場合には、距離取得部18は、例えば、誘導線の長手方向の移動距離を取得してもよい。このようにすることで、誘導線に応じた移動中に仮想ラインの変更があっても、仮想ラインの変更がなくても、取得される移動距離が同じになるようにすることができる。この場合にも、
図4Bは、1回の移動に対応したパラメータの集合であり、同様のパラメータの集合が誘導線ごとに記憶部11で記憶されていてもよい。なお、
図4Bにおいて、第4の距離以外のパラメータは、
図4Aのパラメータの集合と同様であり、その説明を省略する。また、移動制御部17は、例えば、誘導線の分岐点において移動体1が停止するように移動制御を行ってもよい。この場合には、例えば、誘導線の分岐点の間の移動で用いられるパラメータの集合が、移動体1の移動の順に記憶部11で記憶されていてもよい。
【0061】
また、本実施の形態では、誘導線が直線である場合について主に説明したが、誘導線は曲線であってもよい。曲線の誘導線は、例えば、曲率が一定である曲線の誘導線であってもよい。この場合にも、検出部14は、例えば、ハフ変換によって曲率が一定である曲線の誘導線を検出することができる。
【0062】
また、ハフ変換を用いて誘導線を検出する場合には、そのハフ変換の結果がぶれることもあり得る。そのようなことを回避するために、結果を安定化させるための処理を行ってもよい。ハフ変換の結果を安定化させるための処理は、例えば、カルマンフィルタ等を用いたフィルタリングであってもよく、外れ値を除外したり、外れ値の影響を小さくしたりするための重み付け加算等を行うことであってもよい。
【0063】
また、パラメータの集合における第1の距離や第2の距離は、例えば、そのパラメータの集合に対応する移動が行われるごとに、所定の範囲内においてランダムに決定されてもよい。このようにすることで、移動体1は、同じ誘導線に応じた移動を行う場合であっても、移動ごとにランダムな仮想ラインに沿って移動することになる。移動体1が毎回同じルートを移動する場合には、床面に轍ができることがあるが、このようなランダムな移動を行うことによって、そのような轍の形成を低減することができる。
【0064】
また、平面画像において複数の誘導線が含まれている場合には、移動体1が現在、移動に用いている誘導線以外の誘導線も検出されることによって、移動体1がある誘導線に応じて移動している際に、誤って異なる誘導線に応じて移動するようになる可能性もある。そのような不適切な移動を回避するため、検出物14は、現在の移動で用いている誘導線の付近においてのみ、誘導線の検出を行うようにしてもよい。
【0065】
また、移動体1が、全方向移動台車のように、複数の方向に移動可能である場合には、例えば、画像取得部12は、複数の移動方向ごとに移動方向の前方の撮影画像を取得できてもよい。この場合には、例えば、移動体1において、複数の方向ごとに撮影画像を撮影するためのカメラが設けられていてもよい。そして、画像取得部12は、現在の移動方向に応じた移動方向の前方の撮影画像を取得してもよい。
【0066】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0067】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0068】
また、以上の実施の形態は、本発明を具体的に実施するための例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲及び均等の意味の範囲内での変更が含まれることが意図される。
【符号の説明】
【0069】
1 移動体、3 マーカ、5、5a 誘導線、6a 第1の仮想ライン、6b 第2の仮想ライン、8 障害物、11 記憶部、12 画像取得部、13 画像変換部、14 検出部、15 障害物検出部、16 移動機構、17 移動制御部、18 距離取得部