(57)【要約】【課題】移動体及び／又は操縦者が空間内をより安全に移動すること。【解決手段】ロボット１００は、ヒト７０による指示に基づいて空間を移動する。ロボット１００は、ロボット１００の周囲にある構造物までの距離を測定する距離測定部３と、距離測定部３による測定結果に基づいて、ロボット１００と構造物間の自由空間を示す地図情報を生成するローカルマップ生成部４と、ロボット１００に対するヒト７０の移動指示に基づいて、地図情報により定まる空間の全部又は一部を分割して形成される複数の単位空間からロボット１００及び／又はヒト７０が進入する単位空間を特定する単位領域特定部５と、単位領域特定部５によって特定された単位空間内にロボット１００及び／又はヒト７０の移動に必要な空間があるか否かを判定する移動空間判定部６と、を備える【選択図】図３
2009252027.tif 000002
【特許請求の範囲】
【請求項１】
操縦者による指示に基づいて空間を移動する移動体であって、
当該移動体の周囲にある構造物までの距離を測定する距離測定部と、
前記距離測定部による測定結果に基づいて、当該移動体と前記構造物間の自由空間を示す地図情報を生成する地図情報生成部と、
前記移動体に対する前記操縦者の移動指示に基づいて、前記地図情報により定まる空間の全部又は一部を分割して形成される複数の単位空間から前記移動体及び／又は前記操縦者が進入する前記単位空間を特定する単位空間特定部と、
前記単位空間特定部によって特定された前記単位空間内に前記移動体及び／又は前記操縦者の移動に必要な空間があるか否かを判定する移動空間判定部と、
を備える移動体。
【請求項２】
前記移動空間判定部による判定結果に応じて前記移動体の移動を制御する移動制御部を更に備えることを特徴とする請求項１に記載の移動体。
【請求項３】
前記移動制御部は、前記移動空間判定部が前記移動体及び／又は前記操縦者が移動するために必要な空間がないと判定するとき、前記操縦者による前記移動指示とは異なる指示内容及び／又は指示条件で前記移動体を制御し、前記移動体及び／又は前記操縦者が前記構造物に衝突することを回避させることを特徴とする請求項２に記載の移動体。
【請求項４】
前記単位空間特定部は、前記移動体に対する前記操縦者の前記移動指示を検出する移動指示検出部を備えることを特徴とする請求項１乃至３のいずれか一項に記載の移動体。
【請求項５】
前記単位空間特定部は、前記地図情報により定まる空間の全部又は一部を複数の前記単位空間に分割するための条件を設定する条件設定部を備えることを特徴とする請求項１乃至４のいずれか一項に記載の移動体。
【請求項６】
複数の前記距離測定部を備え、
複数の前記距離測定部は、少なくとも当該移動体の前方又は後方に取り付けられていることを特徴とする請求項１乃至５のいずれか一項に記載の移動体。
【請求項７】
操縦者による指示に基づいて空間を移動する移動体に組み込まれる安全装置であって、
前記移動体の周囲にある構造物までの距離を測定する距離測定部による測定結果に基づいて、前記移動体と前記構造物間の自由空間を示す地図情報を生成する地図情報生成部と、
前記移動体に対する前記操縦者の移動指示に基づいて、前記地図情報により定まる空間の全部又は一部を分割して形成される複数の単位空間から前記移動体及び／又は前記操縦者が進入する前記単位空間を特定する単位空間特定部と、
前記単位空間特定部によって特定された前記単位空間内に前記移動体及び／又は前記操縦者の移動に必要な空間があるか否かを判定する移動空間判定部と、
を備える安全装置。
【請求項８】
前記移動空間判定部による判定結果に応じて前記移動体の移動を制御する移動制御部を更に備えることを特徴とする請求項７に記載の安全装置。
【請求項９】
前記移動制御部は、前記移動空間判定部が前記移動体及び／又は前記操縦者が移動するために必要な空間がないと判定するとき、前記操縦者による前記移動指示とは異なる指示内容及び／又は指示条件で前記移動体を制御し、前記移動体及び／又は前記操縦者が前記構造物に衝突することを回避させることを特徴とする請求項８に記載の安全装置。
【請求項１０】
前記単位空間特定部は、前記移動体に対する前記操縦者の前記移動指示を検出する移動指示検出部を備えることを特徴とする請求項７乃至９のいずれか一項に記載の安全装置。
【請求項１１】
前記単位空間特定部は、前記地図情報により定まる空間の全部又は一部を複数の前記単位空間に分割するための条件を設定する条件設定部を備えることを特徴とする請求項７乃至１０のいずれか一項に記載の安全装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体及びこれに組み込まれる安全装置に関する。
【背景技術】
【０００２】
近年、様々な用途で活用が見込まれるロボットが注目されている。例えば、楽器演奏等のアミューズメントを提供するパートナーロボット、被介護者に介護を提供するパートナーロボット、及び生産ラインの生産を手助けするロボットが注目されている。
【０００３】
高性能なロボットを実現するに際して、ヒトとの対話に応じた所望の動作を実現したり、ロボットが空間を移動したりすることが要求される。
【０００４】
空間を移動することが要求される場合、空間内を安全に移動することが要求される。ヒトが搭乗した状態でロボットを操縦する場合、空間内を安全に移動することが特に強く要求される。ヒトによるロボットの操縦にも誤りが生じる可能性があるからである。
【０００５】
特許文献１には、車椅子の周囲における障害物を回避する障害物回避手段が開示されている。特許文献２及び３には、走行方向に障害物を検出したとき、障害物が存在する方向以外の方向への走行を許可し、障害物が存在する方向への走行を禁止する制御手段を有する安全停止制御ユニットが開示されている。なお、特許文献４及び５には車椅子に関する技術が開示されている。
【特許文献１】特開２０００−２１０３４０号公報
【特許文献２】特開２００６−３３４０８２号公報
【特許文献３】特開２００３−３３４２１８号公報
【特許文献４】特開２００１−１６１７５６号公報
【特許文献５】実用新案登録第３１２８０８６号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、近年、ロボットの動作態様は多様化している。例えば、その場に居ながら回転することが可能なロボットも開発されている。また、ロボットの動作態様の多様化に加えて、ロボットの操縦態様も多様化している。例えば、ロボットへの搭乗者がロボットを操縦する場合がある。また、ロボットへの搭乗者に同伴する同伴する同伴者がロボットを操縦する場合がある。このようにロボットの動作態様及び操縦態様の多様化に伴って、空間内をロボットがより安全に移動することが従来よりも強く求められている。
【０００７】
図１１を参照して上述の点について補足的に説明する。なお、ここでは、操縦者５０２は、ロボット５０１の右側面に固定されたコントローラーを操作して、ロボット５０１を操縦するものとする。
【０００８】
図１１（ａ）に示す場合、ロボット５０１は、その場に居ながら左に回転する。このとき、ロボット５０１の回転に伴って移動する操縦者５０２が壁５０３に衝突してしまう可能性がある。これは、ロボット５０１の回転軸と操縦者５０２の回転軸とは互いに異なる場合があり、操縦者５０２によるロボット５０１の操縦に誤りが生じやすいためである。
【０００９】
図１１（ｂ）に示す場合、ロボット５０１は、その場に居ながら右に回転する。このとき、ロボット５０１の後部が壁５０３に衝突してしまう可能性がある。これは、ロボット５０１によって壁５０３が死角となり、操縦者５０２によるロボット５０１の操縦に誤りが生じやすいためである。
【００１０】
このように移動体及び／又は操縦者が空間内を安全に移動することが強く要求されている。
【００１１】
本発明は、かかる課題を解決するためになされたものであり、移動体及び／又は操縦者が空間内をより安全に移動することを実現することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る移動体は、操縦者による指示に基づいて空間を移動する移動体であって、当該移動体の周囲にある構造物までの距離を測定する距離測定部と、前記距離測定部による測定結果に基づいて、当該移動体と前記構造物間の自由空間を示す地図情報を生成する地図情報生成部と、前記移動体に対する前記操縦者の移動指示に基づいて、前記地図情報により定まる空間の全部又は一部を分割して形成される複数の単位空間から前記移動体及び／又は前記操縦者が進入する前記単位空間を特定する単位空間特定部と、前記単位空間特定部によって特定された前記単位空間内に前記移動体及び／又は前記操縦者の移動に必要な空間があるか否かを判定する移動空間判定部と、を備える。
【００１３】
地図情報により定まる空間の全部又は一部を分割して形成される複数の単位空間から移動体及び／又は操縦者が侵入する単位空間を特定し、この特定した単位空間に移動体及び／又は操縦者の移動に必要な空間があるか否かを判定する。これによって、移動体及び／又は操縦者が空間内をより安全に移動することができる。
【００１４】
前記移動空間判定部による判定結果に応じて前記移動体の移動を制御する移動制御部を更に備える、と良い。
【００１５】
前記移動制御部は、前記移動空間判定部が前記移動体及び／又は前記操縦者が移動するために必要な空間がないと判定するとき、前記操縦者による前記移動指示とは異なる指示内容及び／又は指示条件で前記移動体を制御し、前記移動体及び／又は前記操縦者が前記構造物に衝突することを回避させる、と良い。
【００１６】
前記単位空間特定部は、前記移動体に対する前記操縦者の前記移動指示を検出する移動指示検出部を備える、と良い。
【００１７】
前記単位空間特定部は、前記地図情報により定まる空間の全部又は一部を複数の前記単位空間に分割するための条件を設定する条件設定部を備える、と良い。
【００１８】
複数の前記距離測定部を備え、複数の前記距離測定部は、少なくとも当該移動体の前方又は後方に取り付けられている、と良い。
【００１９】
本発明に係る安全装置は、操縦者による指示に基づいて空間を移動する移動体に取り付けられる安全装置であって、前記移動体の周囲にある構造物までの距離を測定する距離測定部による測定結果に基づいて、前記移動体と前記構造物間の自由空間を示す地図情報を生成する地図情報生成部と、前記移動体に対する前記操縦者の移動指示に基づいて、前記地図情報により定まる空間の全部又は一部を分割して形成される複数の単位空間から前記移動体及び／又は前記操縦者が進入する前記単位空間を特定する単位空間特定部と、前記単位空間特定部によって特定された前記単位空間内に前記移動体及び／又は前記操縦者の移動に必要な空間があるか否かを判定する移動空間判定部と、を備える。
【発明の効果】
【００２０】
本発明によれば、移動体及び／又は操縦者が空間内をより安全に移動することができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照しつつ、本発明の実施の形態について説明する。なお、各実施の形態は、説明の便宜上、簡略化されている。図面は簡略的なものであるから、図面の記載を根拠として本発明の技術的範囲を狭く解釈してはならない。図面は、もっぱら技術的事項の説明のためのものであり、図面に示された要素の正確な大きさ等は反映していない。同一の要素には、同一の符号を付し、重複する説明は省略するものとする。
【００２２】
［第１の実施形態］
以下、図１乃至図８を参照して、本発明の第１の実施形態について説明する。図１及び２は、ロボットの構成を説明するための説明図である。図３は、ロボットの概略的な構成を示すブロック図である。図４は、ローカルマップを説明するための説明図である。図５は、ローカルマップの区画を説明するための説明図である。図６は、ロボットの動作を説明するためのフローチャートである。図７は、走行時のロボットの動作を説明するためのフローチャートである。図８は、停止時のロボットの動作を説明するためのフローチャートである。図９及び図１０は、バリエーションを説明するための説明図である。
【００２３】
図１及び図２を参照してロボット１００の構成について説明する。
【００２４】
図１に示すように、ロボット１００は、椅子部５２、操縦部５３、ベース部５４、一対の車輪５５を有する。なお、ロボット１００内には、各種のセンサ、信号処理回路、電源、駆動源、リンク機構、及びコンピュータ等が内蔵されているものとする。
【００２５】
椅子部５２は、操縦部５３での操縦に応じて、ベース部５４に対して回転する。なお、椅子部５２は、回転軸（Ｙ軸に沿って延在する軸）の一端に取り付けられており、駆動源（例えば、電気モーター等）からリンク機構を介して伝達される駆動力に応じて左又は右に回転する。
【００２６】
車輪５５は、操縦部５３での操縦に応じて、前方又は後方に回転する。なお、車輪５５は共通の回転軸（Ｘ軸に沿って延在する軸）の一端及び他端に取り付けられており、駆動源からリンク機構を介して伝達される駆動力に応じて前方又は後方に回転する。
【００２７】
なお、ここでは、ロボット１００は、ロボット１００に搭乗したヒト６０ではなく、ロボット１００の横に居るヒト７０によって操縦されるものとする。ヒト７０は、ロボット１００に取り付けられた操縦部５３でロボット１００を操縦する。
【００２８】
図２に示すように、ロボット１００の背面には、２つの距離測定装置３が取り付けられている。距離測定装置３ａは、ロボット１００の前方に存在する構造物（障害物等）までの距離を光学的に測定する。距離測定装置３ｂは、ロボット１００の後方に存在する構造物（障害物等）までの距離を光学的に測定する。距離測定装置３は、ＴＯＦ(Time Of Flight)方式に基づいて、周囲に在る構造物までの距離を光学的に測定する。
【００２９】
図３を参照して、ロボット１００の具体的な構成について説明する。図３に示すように、ロボット（移動体）１００は、操縦部１、駆動機構２、距離測定部３、ローカルマップ生成部（地図情報生成部）４、単位領域特定部（単位空間特定部）５、移動空間判定部６、移動制御部７、及びタイミングコントローラ８を有する。
【００３０】
操縦部１は、操舵部１５及び駆動部１６を有する。距離測定部３は、信号生成部２０、ＬＤ(Laser-Diode)ドライバ２１、ＬＤ２２、ＰＤ(Photo-Diode)２３、Ａ/Ｄ(Analog/Digital)変換部２４、及び距離算出部２５を有する。単位領域特定部５は、動作状態検出部３０、操縦状態検出部（移動指示検出部）３１、区画条件設定部３２、及び領域特定実行部３３を有する。
【００３１】
ロボット１００には、安全装置が組み込まれている。従って、ロボット１００は、空間内を従来よりも安全に移動することができる。具体的には、図１１のようなケースが未然に防止される。なお、安全装置は、ローカルマップ生成部４、単位領域特定部５、及び移動空間判定部６によって形成される。以下、具体的に説明する。
【００３２】
操縦部１は、図１に示した操縦部５３に対応する。ヒト６０又はヒト７０によって操作される。
【００３３】
駆動機構２は、ロボット１００の内部に収納された駆動源、リンク機構、及びこれらの制御系に対応する。駆動機構２は、操縦部１から出力された操縦指示に基づいて動作する。
【００３４】
操縦部１と駆動機構２の関係について具体的に説明する。
【００３５】
駆動部１６の操作によって車輪５５は前方又は後方に回転する。具体的には、駆動部１６の回転子を前方に回転させると、駆動部１６から駆動機構２には車輪５５を前方向に回転させるための指示信号が伝達される。
【００３６】
車輪５５が回転していない状態のとき、操舵部１５の操作によって椅子部５２はベース部５４に対して左又は右方向に回転する。具体的には、車輪５５が回転していない状態で操舵部１５の回転子を左方向に回転させると、椅子部５２を左に回転させるための指示信号が操舵部１５に生成される。
【００３７】
車輪５５が回転している状態のとき、操舵部１５の操作によってロボット１００は左又は右方向に旋回する。具体的には、車輪５５が回転している状態で操舵部１５の回転子を左方向に回転させると、ロボット１００を左に旋回させるための指示信号が操舵部１５に生成される。
【００３８】
なお、後述の説明から明らかなように、本実施形態においては、操縦部１で生成された指示信号が駆動機構２に伝達される前、ロボット１００は、ロボット１００又はヒト７０が進入する予定の空間にそれらの移動に要する十分な空間があるのかどうかを判定する。そして、ロボット１００は、この判定結果に応じて衝突を回避するための制御（指示信号の無効、停止信号の生成、回転速度の減速等）を実行する。これによって、ロボット１００は、空間内を従来よりも安全に移動することができる。具体的には、図１１のようなケースが未然に防止される。なお、衝突を回避するための制御の具体的な内容は任意である。警告音等でヒト７０に衝突の危険を報知しても良い。
【００３９】
距離測定部３は、図２に示した距離測定装置３に対応する。距離測定部３は、ＴＯＦ(Time Of Flight)方式に基づいて、周囲に在る構造物までの距離を光学的に測定する。距離測定部３は、タイミングコントローラ８からの制御信号に応じて動作する。
【００４０】
距離測定部３の概略的な動作について簡単に説明する。
【００４１】
タイミングコントローラ８からの制御信号に応じて、信号生成部３はパルス信号を出力する。ＬＤドライバ２１は、信号生成部３から出力されたパルス信号に応じてＬＤ２２を駆動する。ＬＤ２２は、ＬＤドライバ２１によって間欠的に駆動されて光信号ＯＰＳを出射する。
【００４２】
ＬＤ２２から出射された光信号は、前方にある障害物により反射され、時間的な遅延を経て、ＰＤ２３により受光される。ＰＤ２３から出力された光電流は電圧に変換された後、Ａ/Ｄ変換部２４によってアナログ信号からデジタル信号に変換される。Ａ/Ｄ変換部２４から出力されたデジタル信号は、距離算出部２５によって受信される。
【００４３】
距離算出部２５は、ＬＤ２２から光信号ＯＰＳが出射された時点とＰＤ２３によって光信号が受信された時点間の時間間隔を計測する。そして、距離算出部２５は、光速と算出した時間間隔に基づいて、前方にある障害物までの距離を算出する。このようにして距離測定部３は、前方にある構造物までの距離を光学的に測定する。
【００４４】
なお、距離測定部３の具体的な構成及び動作は任意である。ここでは、距離算出部２５は、タイミングコントローラ８から信号生成部２０に制御信号が伝達された時点を検出することで、ＬＤ２２から光信号ＯＰＳが出射される時点を推定する。また、距離算出部２５は、Ａ/Ｄ変換部２４から出力されるデジタル信号を受信した時点を検出することで、ＰＤ２３に光信号ＯＰＳが受光された時点を推定する。
【００４５】
また、距離測定部３は、図２に模式的に示すように、ロボット１００の前方及び後方の広い範囲に亘って、前方にある構造物までの距離を測定する。距離測定部３は、ＬＤ２２及びＰＤ２３を一組とするユニットを複数有していれば、所定の範囲にわたって前方に存在する構造物までの距離を一度に測定することができる。
【００４６】
ローカルマップ生成部４は、距離測定部３から出力される距離データに基づいてローカルマップを生成する。ローカルマップ生成部４は、タイミングコントローラ８からの制御信号に応じてローカルマップを生成する。
【００４７】
ローカルマップ生成部４は、距離測定部３から出射される光信号の投光角（０〜１８０度）に各投光角で取得した距離データを対応付けさせる。これによって図４に示すようなローカルマップが生成される。ローカルマップは、ロボット１００と構造物間の自由空間を示す地図情報である。
【００４８】
図４を参照してローカルマップの生成について説明する。
【００４９】
距離測定部３ａは、軸線Ｆ１よりも前方の領域に存在する構造物までの距離を測定する。ここでは、距離測定部３ａ内の送受信ユニット（ＬＤ２２、ＰＤ２３）を回転させることによって、投光角０〜１８０度の範囲で前方に位置する構造物までの距離を順次算出する。距離測定部３ｂの動作は、距離測定部３ａの動作と略等しい。距離測定部３により算出された距離データは、ローカルマップ生成部４に入力される。
【００５０】
ローカルマップ生成部４は、距離データを投光角に対応づけて、ロボット１００とその周囲にある構造物間の自由空間を明らかにする。これによってローカルマップ（地図情報）が生成される。なお、ローカルマップは、ロボット１００の現在地を基準として、ロボット１００からロボット１００の周囲にある構造物までの間隔をＸＹ座標系（平面空間）に書き込むことによって生成される。但し、ローカルマップの具体的なデータ構造は任意である。
【００５１】
例えば、ローカルマップ生成部４は、距離測定部３ａ（ロボット１００）から前方２０度を見たとき、その前方に位置する構造物までの間隔を平面空間Ａｒｅａ内にプロットする。このような仕組みによって、図４に模式的に示すように、平面空間Ａｒｅａ内に複数の信号点ＳＰが形成される。信号点ＳＰの配置位置は、ＸＹ座標によって特定される。信号点ＳＰの配置位置によって、ロボット１００とその周囲にある構造物の間の間隔（自由空間）が明らかになる。換言すると、信号点ＳＰの配置位置によって、ロボット１００の周囲にある構造物の配置位置が明らかになる。
【００５２】
単位領域特定部５は、ローカルマップを分割して形成される領域のうち、ヒト７０による移動指示によって特定されるロボット１００又はヒト７０が次に進入する領域を特定する。単位領域特定部５の具体的な機能は後述の説明から明らかになる。
【００５３】
動作状態検出部３０は、駆動機構２に対する操縦部１（駆動部１６）の指示状態に基づいて、ロボット１００が前方又は後方に移動しているか否かを検出する。
【００５４】
操縦状態検出部３１は、駆動機構２に対する操縦部１（操舵部１５）の指示状態に基づいて、次に予定されているロボット１００の動作（回転又は旋回）を検出する。操舵部１５に入力された指示信号は直接的に駆動機構２に接続されない。
【００５５】
区画条件設定部３２は、ローカルマップを区画するための条件を設定する。区画条件設定部３２によって設定された条件によって、図４に示すローカルマップは図５のように領域（単位領域）Ａ〜Ｈに区画される。なお、ローカルマップの区画の具体的な態様は任意である。ここでは、距離測定部３の配置位置に応じて、ロボット１００の前方に４つの領域を設定し、その後方に４つの領域を設定する。
【００５６】
区画条件設定部３２は、図５に示す設定値によって各領域を設定する。領域Ａ、Ｄ、Ｅ、Ｈは、横α、縦βによって設定される。領域Ｂ及びＦは、横Ｗｒ/２+ｄ/２、縦βによって設定される。領域Ｃ及びＧは、横Ｗｈ/２+ｄ/２、縦βによって設定される。但し、Ｗｒは、ロボット１００の横幅である。Ｗｈは、操縦者の肩幅である。ｄは、ロボット１００とヒト７０の間隔である。α及びβは、ロボット１００の安全移動を確保するためのマージンとして予め設定された値である。
【００５７】
領域特定実行部３３は、区画条件設定部３２によって設定された条件に従ってローカルマップを領域Ａ〜Ｈに区画し、操舵部１５によって生成される移動指示に基づいて所定の領域を特定する。なお、領域特定実行部３３の具体的な機能は後述の説明から明らかになる。
【００５８】
移動空間判定部６は、領域特定実行部３３によって特定された領域（単位空間）にロボット１００及びヒト７０が移動するために十分な空間があるのか否かを判定する。ここでは、移動空間判定部６は、領域特定実行部３３によって特定された領域内に構造物の存在を示す信号点があるか否かに基づいて、領域特定実行部３３によって特定された領域内にロボット１００又はヒト７０が移動するために十分な空間があるのか否かを判定する。移動空間判定部６の具体的な機能は後述の説明から明らかになる。
【００５９】
移動制御部７は、移動空間判定部６による判定結果に応じて操縦部１を制御する。なお、移動制御部７の具体的な機能は後述の説明から明らかになる。
【００６０】
ここで、ロボット１００内の機能ブロックの接続関係について説明する。
【００６１】
信号生成部２０の出力は、ＬＤドライバ２１の入力に接続される。ＬＤドライバ２１の出力はＬＤ２２の入力に接続される。ＰＤ２３の出力は、Ａ/Ｄ変換部２４の入力に接続される。Ａ/Ｄ変換部２４の出力は距離算出部２５の入力に接続される。距離算出部２５の出力は、ローカルマップ生成部４の入力に接続される。ローカルマップ生成部４の出力は、動作状態検出部３０の入力に接続される。動作状態検出部３０の出力は、操縦状態検出部３１の入力に接続される。操縦状態検出部３１の出力は、領域特定実行部３３の入力に接続される。区画条件設定部３２の出力は、領域特定実行部３３の入力に接続される。領域特定実行部３３の出力は、移動空間判定部６の入力に接続される。移動空間判定部６の出力は、移動制御部７の入力に接続される。移動制御部７の出力は、操縦部１に接続される。操縦部１の出力は動作状態検出部３０及び操縦状態検出部３１の入力に接続される。操縦部１の出力は、駆動機構２に接続される。
【００６２】
なお、ローカルマップ生成部４で生成されたデータ（ローカルマップ）は、動作状態検出部３０及び操縦状態検出部３１を介して領域特定実行部３３に接続される。領域特定実行部３３は、区画条件設定部３２により設定された条件に従ってローカルマップを区画する。領域特定実行部３３には、動作状態検出部３０及び操縦状態検出部３１の検出結果が接続される。領域特定実行部３３は、動作状態検出部３０及び操縦状態検出部３１の検出結果に基づいて、区画条件に従って区分されたローカルマップ内の領域を特定する。
【００６３】
なお、ブロック図の構成は任意である。従って、ローカルマップ生成部４で生成されたローカルマップを直接的に領域特定実行部３３に接続させても良い。領域特定実行部３３は、区画条件設定部３２に設定された条件に従ってローカルマップを区画し、動作状態検出部３０及び操縦状態検出部３１の検出結果に基づいて所定の領域を特定する。
【００６４】
図６〜８を参照して、ロボット１００の機能について説明する。
【００６５】
まず、ロボット１００が起動状態にする（スタート）。
【００６６】
次に、距離を測定する（Ｓ１）。具体的には、タイミングコントローラ８は、ロボット１００の前方及び後方に配置された各距離測定部３ａ、３ｂに制御信号を出力する。各距離測定部３ａ、３ｂは、タイミングコントローラ８からの制御信号に応じて、所定範囲に亘って光信号を投光し、反射光の受光に基づいて前方に位置する構造物までの距離を順次算出する。距離測定部３ａ、３ｂは、算出した距離データをローカルマップ生成部４に転送する。
【００６７】
次に、ローカルマップを作成する（Ｓ２）。具体的には、タイミングコントローラ８は、ローカルマップ生成部４に制御信号を出力する。ローカルマップ生成部４は、タイミングコントローラ８からの制御信号に応じてローカルマップを生成する。具体的には、ローカルマップ生成部４は、距離データを投光角に対応づけて、ロボット１００の周囲にある構造物までの間隔（自由空間）を明らかにする。具体的には、ローカルマップ生成部４は、ＸＹ座標によって規定される平面空間Ａｒｅａ内に、ロボット１００の前方にある構造物までの間隔をプロットする。これによって、図４に模式的に示すように、ロボット１００から見た周囲の構造物の配置位置が明らかになる。
【００６８】
次に、ロボット１００が走行状態であるのか判断する（Ｓ３）。具体的には、動作状態検出部３０は、駆動部１６の指示状態に基づいて、ロボット１００が走行していること又はロボット１００が停止していることを検出する。なお、動作状態検出部３０は、駆動機構２の動作状態に基づいて、ロボット１００の走行状態を検出しても良い。
【００６９】
ロボット１００が走行状態の場合、ロボット１００は、走行時の制御を実行する（Ｓ１０）。ロボット１００が停止状態の場合、ロボット１００は、停止状態の制御を実行する（Ｓ１１）。
【００７０】
上述の走行時の制御について図７を参照して説明する。なお、区画されたローカルマップ（図５）を参照して説明を展開する。また、ロボット１００は、前方に移動することに限定して説明する。
【００７１】
まず、操舵部１５の操作に応じて、操縦状態が検出される（Ｓ１１）。具体的には、操舵部１５で生成された操作指示は、操縦状態検出部３１に接続される。これによって、操縦状態検出部３１は、操縦状態を検出する。なお、本実施形態では、ロボットのより安全な移動を実現させるために、操舵部１５で生成された操作指示信号は、直接的に駆動機構２に接続されない。
【００７２】
次に、左旋回を指示する信号であるのか判断する（Ｓ１２）。具体的には、操縦状態検出部３１は、操舵部１５で生成された信号が左旋回を指示する信号であるのか否かを検出する。
【００７３】
操舵部１５で生成された信号が左旋回を指示する信号の場合、領域Ａに障害物があるのかどうかを判断する（Ｓ１３）。
【００７４】
まず、領域特定実行部３３は、操縦状態検出部３１の検出結果（操舵部１５で生成された信号が左旋回を指示する信号であること）に応じて、ロボット１００が左旋回するときにロボット１００が実際に進入する領域を特定する。ロボット１００が前進しながら左旋回すると、ロボット１００は領域Ａに進入する。従って、領域特定実行部３３は、操縦状態検出部３１の検出結果に応じて領域Ａを特定する。
【００７５】
次に、移動空間判定部６は、領域特定実行部３３によって特定された領域Ａに障害物があるのか否かを判定する。移動空間判定部６は、区画されたローカルマップの領域Ａに構造物の存在を示す信号点があるか否かを判定する。このようにして、領域Ａに障害物があるのかどうかが判断される。
【００７６】
領域Ａに障害物がない場合には、左旋回の指令をする（Ｓ１４）。具体的には、移動制御部７は、移動空間判定部６の判定結果（障害物が領域Ａに存在しない）に基づいて、当初操舵部１５に入力された指示信号を有効にする。これによって、操舵部１５から駆動機構２に指示信号が接続される。そして、駆動機構２は、操舵部１５からの指示信号に基づいて左旋回する。そして、ロボット１００は、前方に進みながら左旋回し、ローカルマップの領域Ａに進入する。
【００７７】
領域Ａに障害物がある場合には、衝突回避を指令する（Ｓ１５）。具体的には、移動制御部７は、移動空間判定部６の判定結果（障害物が領域Ａに存在する）に基づいて、当初操舵部１５に入力された指示信号を無効にする。これによって、ロボット１００が領域Ａ内にある構造物に衝突することが抑制される。
【００７８】
上述のステップＳ１２で左旋回の指令ではなかった場合、右旋回の指令であるのかを判断する（Ｓ１６）。具体的には、操縦状態検出部３１は、操舵部１５で生成された信号が右旋回を指示する信号であるのか判断する。
【００７９】
操舵部１５で生成された信号が右旋回を指示する信号ではない場合、領域Ｂ、Ｃに障害物があるのかどうかを判断する（Ｓ１３）。
【００８０】
まず、領域特定実行部３３は、操縦状態検出部３１の検出結果（操舵部１５で旋回を指示する信号が生成されていないこと）に応じて、ロボット１００が直進するときにロボット１００が実際に進入する領域を特定する。ロボット１００が前進すると、ロボット１００は、ローカルマップの領域Ｂに進入する。また、ロボット１００が前進すると、ロボット１００を操作するヒト７０は、ローカルマップの領域Ｃに進入する。従って、領域特定実行部３３は、操縦状態検出部３１の検出結果に応じて領域Ｂ、Ｃを特定する。
【００８１】
次に、移動空間判定部６は、領域特定実行部３３によって特定された領域Ｂ、Ｃに障害物があるのか否かを判定する。移動空間判定部６は、区画されたローカルマップの領域Ｂ、Ｃに構造物の存在を示す信号点があるか否かを判定する。このようにして、領域Ｂ、Ｃに障害物があるのかどうかが判断される。
【００８２】
領域Ｂ、Ｃに障害物がない場合、旋回の指令をしない（Ｓ１８）。具体的には、移動制御部７は、移動空間判定部６の判定結果（領域Ｂ、Ｃに障害物がない）に基づいて、操縦部１に対して旋回の指令をしない。なお、この場合、操舵部１５には旋回の指令がそもそも入力されていない。ロボット１００は、そのまま前進し、障害物がない領域Ｂ、Ｃに進入する。
【００８３】
領域Ｂ、Ｃに障害物がある場合、衝突回避の指令をする（Ｓ１５）。具体的には、移動制御部７は、移動空間判定部６の判定結果（障害物が領域Ｂ、Ｃに存在する）に基づいて、ロボット１００が前進に進行することを停止させるための停止信号を生成する。この停止信号によって、駆動部１６は駆動機構２に対して前進の停止を指示する。これによって、ロボット１００が前方に進行することが停止される。結果的に、ロボット１００が、ローカルマップの領域Ｂに進入し、領域Ｂ内にある構造物に衝突することが抑制される。また、同時に、ヒト７０が領域Ｃに進入し、領域Ｃ内にある構造物に衝突することが抑制される。
【００８４】
上述のステップＳ１６で右旋回を指示する信号が検出された場合、領域Ｄに障害物があるのかどうかを判断する（Ｓ１９）。
【００８５】
まず、領域特定実行部３３は、操縦状態検出部３１の検出結果（操舵部１５で右旋回を指示する信号が生成されていること）に応じて、ロボット１００が右旋回するときにロボット１００を操縦するヒト７０が実際に進入する領域を特定する。ロボット１００が右旋回すると、ヒト７０は、ローカルマップの領域Ｄに進入する。従って、領域特定実行部３３は、操縦状態検出部３１の検出結果に応じて領域Ｄを特定する。
【００８６】
次に、移動空間判定部６は、領域特定実行部３３によって特定された領域Ｄに障害物があるのか否かを判定する。移動空間判定部６は、区画されたローカルマップの領域Ｄに構造物の存在を示す信号点があるか否かを判定する。このようにして、領域Ｄに障害物があるのかどうかが判断される。
【００８７】
領域Ｄに障害物がある場合には、衝突回避の指令をする（Ｓ１５）。具体的には、移動制御部７は、移動空間判定部６の判定結果（障害物が領域Ｄに存在する）に基づいて、当初操舵部１５に入力された指示信号を無効にする。これによって、ロボット１００を操縦するヒト７０が、ローカルマップの領域Ｄに進入し、領域Ｄ内にある構造物に衝突することが抑制される。
【００８８】
領域Ｄに障害物がない場合、領域Ｅに障害物があるのかどうかを判断する（Ｓ２０）。
【００８９】
まず、領域特定実行部３３は、操縦状態検出部３１の検出結果（操舵部１５で右旋回を指示する信号が生成されていること）に応じて、ロボット１００が右旋回するときにロボット１００が実際に進入する領域を特定する。ロボット１００が右旋回すると、ロボット１００の後端部分は、ローカルマップの領域Ｅに進入する。従って、領域特定実行部３３は、操縦状態検出部３１の検出結果に応じて領域Ｅを特定する。
【００９０】
次に、移動空間判定部６は、領域特定実行部３３によって特定された領域Ｅに障害物があるのか否かを判定する。移動空間判定部６は、区画されたローカルマップの領域Ｅに構造物の存在を示す信号点があるか否かを判定する。このようにして、領域Ｅに障害物があるのかどうかが判断される。
【００９１】
領域Ｅに障害物がある場合には、衝突回避の指令をする（Ｓ１５）。具体的には、移動制御部７は、移動空間判定部６の判定結果（障害物が領域Ｅに存在する）に基づいて、当初操舵部１５に入力された指示信号を有効な状態としつつ、指示条件である旋回速度を遅くする。これによって、ロボット１００の後端部分が、ローカルマップの領域Ｅに進入し、領域Ｅ内にある構造物に衝突することが抑制される。ロボット１００は、前進しながら右に旋回するため、右に旋回速度が遅ければ、障害物からうまく逃げながらロボット１００は前方に進行することができる。
【００９２】
領域Ｅに障害物がない場合、右旋回の指令をする（Ｓ２１）。具体的には、移動制御部７は、移動空間判定部６の判定結果（障害物が領域Ｅに存在しない）に基づいて、当初操舵部１５に入力された指示信号を有効にする。これによって、操舵部１５から駆動機構２に指示信号が接続される。そして、駆動機構２は、操舵部１５からの指示信号に基づいて右旋回する。そして、ロボット１００は、前方に進みながら右旋回し、ローカルマップの領域Ｅに進入する。
【００９３】
次に、図８を参照して、上述の停止時の制御について説明する。なお、区画されたローカルマップ（図５）を参照して説明を展開する。
【００９４】
まず、操舵部１５の操作に応じて、操縦状態が検出される（Ｓ３１）。具体的には、操舵部１５で生成された操作指示は、操縦状態検出部３１に接続される。これによって、操縦状態検出部３１は、操縦状態を検出する。
【００９５】
次に、左回転を指示する信号であるのか判断する（Ｓ３２）。具体的には、操縦状態検出部３１は、操舵部１５で生成された信号が左回転を指示する信号であるのか否かを検出する。
【００９６】
操舵部１５で生成された信号が左回転を指示する信号の場合、領域Ｃに移動空間があるのかどうかを判断する（Ｓ３３）。
【００９７】
まず、領域特定実行部３３は、操縦状態検出部３１の検出結果（操舵部１５で生成された信号が左旋回を指示する信号であること）に応じて、ロボット１００が左旋回するときにロボット１００の旋回に応じてヒト７０が実際に進入する領域を特定する。ロボット１００がその場に居ながら左回転すると、ヒト７０は領域Ｃに進入する。従って、領域特定実行部３３は、操縦状態検出部３１の検出結果に応じて領域Ｃを特定する。
【００９８】
次に、移動空間判定部６は、領域特定実行部３３によって特定された領域Ｃにヒト７０が移動するのに必要な移動空間があるのか否かを判定する。移動空間判定部６は、区画されたローカルマップの領域Ｃに構造物の存在を示す信号点があるか否かを判定する。領域Ｃに障害物がある場合には、移動空間判定部６は、ヒト７０が移動するのに必要な移動空間がないと判定する。
【００９９】
領域Ｃに移動空間がない場合、衝突回避を指令する（Ｓ３４）。具体的には、移動制御部７は、移動空間判定部６の判定結果（障害物が領域Ｃに存在する）に基づいて、当初操舵部１５に入力された指示信号を無効にする。これによって、ロボット１００の左回転に伴ってヒト７０がローカルマップの領域Ｃに進入し、領域Ｃ内にある構造物に衝突することが抑制される。
【０１００】
領域Ｃに移動空間がある場合、領域Ａに移動空間があるのかどうかを判断する（Ｓ３５）。
【０１０１】
まず、領域特定実行部３３は、操縦状態検出部３１の検出結果（操舵部１５で生成された信号が左回転を指示する信号であること）に応じて、ロボット１００が左回転するときにロボット１００が実際に進入する領域を特定する。ロボット１００がその場に居ながら左回転すると、ロボット１００はローカルマップの領域Ａに進入する。従って、領域特定実行部３３は、操縦状態検出部３１の検出結果に応じて領域Ａを特定する。
【０１０２】
次に、移動空間判定部６は、領域特定実行部３３によって特定された領域Ａにロボット１００が移動するのに必要な移動空間があるのか否かを判定する。移動空間判定部６は、区画されたローカルマップの領域Ａに構造物の存在を示す信号点があるか否かを判定する。領域Ａに障害物がある場合には、移動空間判定部６は、ロボット１００が移動するのに必要な移動空間がないと判定する。
【０１０３】
領域Ａに移動空間がない場合、衝突回避を指令する（Ｓ３４）。具体的には、移動制御部７は、移動空間判定部６の判定結果（領域Ａに移動空間が存在しない）に基づいて、当初操舵部１５に入力された指示信号を無効にする。これによって、ロボット１００の左回転に伴ってロボット１００がローカルマップの領域Ａに進入し、領域Ａ内にある構造物に衝突することが抑制される。
【０１０４】
領域Ａに移動空間がある場合、左旋回の指令をする（Ｓ３６）。具体的には、移動制御部７は、移動空間判定部６の判定結果（領域Ａに移動空間が存在する）に基づいて、当初操舵部１５に入力された指示信号を有効にする。これによって、操舵部１５から駆動機構２に指示信号が接続される。そして、ロボット１００は、その場に居ながら左回転し、ローカルマップの領域Ａに進入する。また、ロボット１００の左旋回に伴って、ヒト７０はローカルマップの領域Ｃに進入する。
【０１０５】
上述のステップＳ３２で左回転の指令ではなかった場合、右回転の指令であるのかを判断する（Ｓ３７）。具体的には、操縦状態検出部３１は、操舵部１５で生成された信号が右回転を指示する信号であるのか判断する。
【０１０６】
操舵部１５で生成された信号が右回転を指示する信号ではない場合、回転の指令をしない（Ｓ３９）。なお、この場合、操舵部１５には回転の指令がそもそも入力されていない。
【０１０７】
操舵部１５で生成された信号が右回転を指示する信号である場合、領域Ｇに移動空間があるのかどうかを判断する（Ｓ４０）。
【０１０８】
まず、領域特定実行部３３は、操縦状態検出部３１の検出結果（操舵部１５で右回転を指示する信号が生成されていること）に応じて、ロボット１００が右回転するときにロボット１００を操縦するヒト７０が実際に進入する領域を特定する。ロボット１００が右回転すると、ヒト７０は、ローカルマップの領域Ｇに進入する。従って、領域特定実行部３３は、操縦状態検出部３１の検出結果に応じて領域Ｇを特定する。
【０１０９】
次に、移動空間判定部６は、領域特定実行部３３によって特定された領域Ｇに移動空間があるのか否かを判定する。移動空間判定部６は、区画されたローカルマップの領域Ｇに構造物の存在を示す信号点があるか否かを判定する。このようにして、領域Ｇに移動空間があるのかどうかが判断される。
【０１１０】
領域Ｇに移動空間がない場合には、衝突回避の指令をする（Ｓ３４）。具体的には、移動制御部７は、移動空間判定部６の判定結果（障害物が領域Ｇに存在する）に基づいて、当初操舵部１５に入力された指示信号を無効にする。これによって、ロボット１００を操縦するヒト７０が、ローカルマップの領域Ｇに進入し、領域Ｇ内にある構造物に衝突することが抑制される。
【０１１１】
領域Ｇに障害物がない場合、領域Ｅに障害物があるのかどうかを判断する（Ｓ４１）。
【０１１２】
まず、領域特定実行部３３は、操縦状態検出部３１の検出結果（操舵部１５で右回転を指示する信号が生成されていること）に応じて、ロボット１００が右回転するときにロボット１００が実際に進入する領域を特定する。ロボット１００が右回転すると、ロボット１００の後端部分は、ローカルマップの領域Ｅに進入する。従って、領域特定実行部３３は、操縦状態検出部３１の検出結果に応じて領域Ｅを特定する。
【０１１３】
次に、移動空間判定部６は、領域特定実行部３３によって特定された領域Ｅに障害物があるのか否かを判定する。移動空間判定部６は、区画されたローカルマップの領域Ｅに構造物の存在を示す信号点があるか否かを判定する。このようにして、領域Ｅに障害物があるのかどうかが判断される。
【０１１４】
領域Ｅに障害物がある場合には、衝突回避の指令をする（Ｓ３４）。具体的には、移動制御部７は、移動空間判定部６の判定結果（領域Ｅに移動空間が存在しない）に基づいて、当初操舵部１５に入力された指示信号を無効にする。これによって、ロボット１００の後端部分が、ローカルマップの領域Ｅに進入し、領域Ｅ内にある構造物に衝突することが抑制される。
【０１１５】
領域Ｅに障害物がない場合には、右旋回の指令をする（Ｓ４２）。具体的には、移動制御部７は、移動空間判定部６の判定結果（領域Ｅに移動空間が存在する）に基づいて、当初操舵部１５に入力された指示信号を有効にする。これによって、操舵部１５から駆動機構２に指示信号が接続される。そして、ロボット１００は、その場に居ながら右回転し、ローカルマップの領域Ｅに進入する。
【０１１６】
上述の説明から明らかなように、本実施形態では、次の手順によって、ロボット１００及びヒト７０が安全に空間を移動することを確保する。
【０１１７】
まず、ロボットの周囲にある構造物までの間隔をローカルマップに書き込み、ロボットと構造物間の自由空間を明らかにする。次に、ローカルマップの区画により形成された領域内のうち、ロボット又は操縦者が次に侵入する領域を特定する。次に、特定した領域内に障害物又は十分な移動空間が存在するか否かを判断する。そして、この判断結果に基づいて、ロボット１００又はヒト７０が障害物に衝突することを回避する制御を実行する。このような手法によれば、ロボット１００に加えて、ヒト７０も安全に移動させることが可能になる。
【０１１８】
なお、上述の実施形態では、衝突回避の命令として、操舵部に入力された指示を無効にすること、ロボットの前方への移動を停止させること、及び旋回速度を遅くすることを例示している。しかしながら、衝突回避の具体的な動作態様は任意である。警告音によって注意を喚起させることで衝突の危険性を報知させても良い。衝突を回避するために、常に、操舵部に入力された指示を無効にしても良い。衝突を回避するために、常に、駆動部１６を制御して、ロボット１００の前方又は後方への進行を停止させても良い。
【０１１９】
図９及び図１０を参照して、補足的に、本実施形態のバリエーションについて説明する。図９に模式的に示すように、ロボット１００は、荷物２００を移動させるためのものであっても良い。図１０に模式的に示すように、ロボット１００は、ヒト型のロボットであっても良い。
【０１２０】
本発明は上述の実施の形態に限定されるものではない。ロボット１００内の機能ブロック（ローカルマップ生成部４、単位領域特定部５、移動空間判定部６、移動制御部７、及びタイミングコントローラ８）は、ハードディスク等の記憶装置に格納されたプログラムがＣＰＵ等の演算実行部によって実行されることによって具現化される。これらの機能ブロックをワイヤードロジックで半導体集積回路としてチップ化させても良い。単位空間特定部によって特定された単位空間内に移動体及び／又は操縦者の移動に必要な空間があるか否かを判定する具体的な手法は任意である。ローカルマップを区分する具体的な条件は任意である。この条件は、ロボットに対する距離測定装置の配置位置にも依存する。また、言うまでもなく、構造物は壁等に限らない。
【図面の簡単な説明】
【０１２１】
【図１】本発明の第１の実施形態にかかるロボットの構成を説明するための説明図である。
【図２】本発明の第１の実施形態にかかるロボットの構成を説明するための説明図である。
【図３】本発明の第１の実施形態にかかるロボットの概略的な構成を示すブロック図である。
【図４】本発明の第１の実施形態にかかるローカルマップを説明するための説明図である。
【図５】本発明の第１の実施形態にかかるローカルマップの区画を説明するための説明図である。
【図６】本発明の第１の実施形態にかかるロボットの動作を説明するためのフローチャートである。
【図７】本発明の第１の実施形態にかかる走行時のロボットの動作を説明するためのフローチャートである。
【図８】本発明の第１の実施形態にかかる停止時のロボットの動作を説明するためのフローチャートである。
【図９】本発明の第１の実施形態にかかるバリエーションを説明するための説明図である。
【図１０】本発明の第１の実施形態にかかるバリエーションを説明するための説明図である。
【図１１】問題点を説明するための参考図である（先行技術として自認するものではない）。
【符号の説明】
【０１２２】
１００    ロボット
１    操縦部
２    駆動機構
３    距離測定部
４    ローカルマップ生成部
５    単位領域特定部
６    移動空間判定部
７    移動制御部
８    タイミングコントローラ
１５    操舵部
１６    駆動部
２０    信号生成部
２１    ＬＤドライバ
２２    ＬＤ
２３    ＰＤ
２４    Ａ/Ｄ変換部
２５    距離算出部
３０    動作状態検出部
３１    操縦状態検出部
３２    区画条件設定部
３３    領域特定実行部
５１    車輪
５２    椅子部
５３    操縦部
５４    ベース部
６０、７０    ヒト
ＳＰ    信号点
【図１】
2009252027.tif 000003
【図２】
2009252027.tif 000004
【図３】
2009252027.tif 000005
【図４】
2009252027.tif 000006
【図５】
2009252027.tif 000007
【図６】
2009252027.tif 000008
【図７】
2009252027.tif 000009
【図８】
2009252027.tif 000010
【図９】
2009252027.tif 000011
【図１０】
2009252027.tif 000012
【図１１】
2009252027.tif 000013