(57)【特許請求の範囲】
【請求項１】
所与の目標軌道に沿って走行するように制御される走行ロボットにおいて，
位置と方位を決定する位置決定装置，
一つの航法で走行できる区間であるパスごとに目標軌道を設定するために，パスの始端および終端である旨，ならびにそのパスにおける航法の入力を案内する画面を表示するとともに，それらの入力を受付ける入力装置，ならびに
パスごとに，始端および終端である旨が入力されたことに応じて上記位置決定装置から始端および終端の位置と方位を取得し，取得した位置と方位，および入力された航法をパスごとに記述して経路情報ファイルを作成する経路情報作成手段を備え，
上記入力装置は，さらに，目標軌道に沿う走行の位置ずれ補正を行うための，目標軌道に沿って存在し走行のガイドとなるサインパターンに関する情報の入力の案内と入力の受付けを行うものであり，
上記経路情報作成手段は，パスに関連して入力されたサインパターンに関する情報を記述するものである，
走行ロボット。
【請求項２】
上記入力装置は，ランドマークに関する情報の入力の案内と入力の受付けを行うものであり，
上記経路情報作成手段は，パスに関連して入力されたランドマークに関する情報を記述するものである，
請求項１に記載の走行ロボット。
【請求項３】
上記経路情報ファイルにパスごとに記述された始端および終端の位置と方位，ならびに航法を読取る手段，
読取った始端および終端の位置と方位，ならびに航法にしたがってパスの目標軌道を作成する手段，ならびに
走行ロボットが作成された目標軌道に沿って走行するようにロボット走行用アクチュエータを制御する手段，
をさらに備えた請求項１または２に記載の走行ロボット。
【請求項４】
所与の目標軌道に沿って走行するように制御されるロボットのティーチング方法であって，
一つの航法で走行できる区間であるパスごとに目標軌道を設定するために，パスの始端および終端である旨，そのパスにおける航法の入力の案内，ならびに目標軌道に沿う走行の位置ずれ補正を行うための，目標軌道に沿って存在し走行のガイドとなるサインパターンに関する情報の入力の案内のための画面を表示装置に表示し，
パスの始端または終端が入力されたことに応じて，そのときの位置および方位を取得し，
取得した位置および方位と，入力された航法およびサインパターンに関する情報が入力されたときにはその情報とをパスに関連して記述し，経路情報ファイルを作成する，
走行ロボットのティーチング方法。
【請求項５】
請求項４に記載のティーチング方法により作成された上記経路情報ファイルにパスごとに記述された始端および終端の位置と方位，ならびに航法を読取り，
読取った始端および終端の位置と方位，ならびに航法にしたがってパスの目標軌道を作成し，
走行ロボットが作成された目標軌道に沿って走行するようにロボット走行用アクチュエータを制御する，
走行ロボットの制御方法。
【請求項６】
請求項４に記載のティーチング方法において使用する入力案内装置であって，
走行ロボットのティーチングのための入力案内画面を表示する表示装置と，
上記表示装置の表示画面上で情報を選択または入力するための操作装置とを備え，
上記表示装置は，少なくとも一つの航法で走行できる区間であるパスの設定，サインパターンの設定またはランドマーク設定の選択を案内する画面，パスの設定においてそのパスにおける航法を含むパスに関する情報の入力を案内する画面，サインパターンの設定においてサインパターンに関する情報の入力を案内する画面，およびランドマーク設定においてランドマークに関する情報の入力を案内する画面を表示するものである，
走行ロボットのティーチングのための入力案内装置。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は走行ロボット，たとえば建設現場で自走する建設用ロボット，農薬の散布，その他の作業のために用いられる農業用ロボット，危険性のある場所に人間の代わりに進入して所定の作業を行うセキュリティ・ロボット，視覚障害者や高年齢者などを目的地まで誘導する歩行ガイドロボット（盲導犬ロボット），その他の自走するロボットに関し，さらにこの走行ロボットに走行経路をティーチングするための方法，ティーチングされた経路情報にしたがってロボットを動作させる制御方法，および走行ロボットのティーチングのための入力案内装置に関する。
【０００２】
【背景技術】
この種のロボットの走行を誘導するさまざまな方法がある。その一つは，ロボットの誘導のための特別の設備を設けるものである。たとえば，赤外線発信装置，磁気誘導装置，微弱電波発信機等を設置し，ロボットに走行制御のための情報を光または電波を通して伝える。この方法では，高価な設備が必要であるとともに，人間がマニアルで誘導するか，またはあらかじめ誘導プログラムを作成しておかなければならない。
【０００３】
他の方法として，磁気方位計，ＧＰＳ等のロボットの現在の位置と方位を計測する機器をロボットに搭載しておくものがある。この方法においても，ロボットの制御データを外部から与えるか，またはあらかじめティーチングしておく必要がある。
【０００４】
【発明の開示】
この発明は，特に後者のロボット誘導方法において，ティーチングをきわめて容易に行なえるようにすることを目的とする。
【０００５】
この発明はまた，ティーチングが容易であることによって，経路情報のデータ量を少なくし，最小限の情報でロボットの走行制御を行うことを目的とする。
【０００６】
この発明は，走行ロボットが自走すべき経路に沿って，走行ロボットを少なくとも１回人間が動かして，走行ロボットに経路情報をティーチングすることを前提としている。ロボットの走行経路は複数のパスに分割される。パスは一つの航法で走行できる区間であると定義される。航法はロボット制御の単位となるパターン（またはモード）である。たとえば，航法には，直線走行，左円弧走行，右円弧走行，左壁沿走行，右壁沿走行，スピンターン，停止などがある。パスは，少なくとも，始端，終端および航法によって定義される。パス情報に中に，サインパターンに関する情報（左壁沿走行，右壁沿走行を含む直線走行には必要な情報である），およびランドマークに関する情報を含ませることができる。このようなパス情報を，出発地点から目的地点まで，走行制御の順序に配列したものが経路情報（経路情報ファイル）である。
【０００７】
この発明による走行ロボットは，位置と方位を決定する位置決定装置，パスの始端および終端である旨，ならびに航法の入力を案内する画面を表示するとともに，それらの入力を受付ける入力装置，ならびにパスごとに，始端および終端である旨が入力されたことに応じて上記位置決定装置から始端および終端の位置と方位を取得し，取得した位置と方位，および入力された航法をパスごとに記述して経路情報ファイルを作成する経路情報作成手段を備えているものである。
【０００８】
この発明による走行ロボットのティーチング方法は，パスの始端および終端である旨，ならびに航法の入力を案内する画面を表示装置に表示し，パスの始端または終端が入力されたことに応じて，そのときの位置および方位を取得し，取得した位置および方位と，入力された航法とをパスに関連して記述し，経路情報ファイルを作成するものである。位置と方位は位置決定装置から取得することが好ましい。
【０００９】
この発明によると，走行ロボットをその自走させるべき経路に沿って人間が動かしながら，パスを定め，パスごとに，少なくとも，始端および終端である旨，および航法を入力すれば，経路情報のティーチングが行なえる。しかも，これらの入力すべき項目は表示画面上で案内されるので，オペレータは間違いなくかつ容易にティーチングが行なえる。
【００１０】
経路情報は，最小限，パスごとの始端および終端の位置と方位に関する情報，ならびに航法で足り，必要に応じて，サインパターンに関する情報，ランドマークに関する情報が加わる程度であるから，データ量が少なくてすむ。
【００１１】
上記において走行ロボットの位置に関する情報（位置情報または位置データ）はＤＧＰＳ等から得られる地図上の位置座標（絶対座標）でもよいし，特定の地点（たとえば自宅）を原点とする相対位置座標，または特定の地点からの距離（長さ）でもよい。方位に関する情報（方位情報または方位データ）は地図上の方位（東西南北等，または特定の方向（たとえば北）を０度とする時計廻り（または反時計廻り）の角度）であることが好ましいが，場合によっては，特定の固定物と走行ロボットの中心とを結ぶ線と走行ロボットの特定の方向（たとえば前後方向にのびる中心線）とのなす角（相対方位）を採用することもできる。したがって，位置決定装置は位置と方位を計測する計測装置（ＧＰＳ，走行距離メータ等を含む）でも，手動で入力される位置データと方位データを受付ける装置（テンキー等を含む）でも，これらの組合せでもよい。始端と終端を示す入力は，たとえば端点ボタンで共用することもできる。この場合には，始端か終端かはロボット側で判断する（始端と終端は交互に入力される）。
【００１２】
上記のようにして作成された経路情報ファイルに基づいて，走行ロボットの走行制御は次のように達成される。走行ロボットの走行制御装置は，上記経路情報ファイルにパスごとに記述された始端および終端の位置と方位，ならびに航法を読取る手段，読取った始端および終端の位置と方位，ならびに航法にしたがってパスの目標軌道を作成する手段，ならびに走行ロボットが作成された目標軌道に沿って走行するようにロボット走行用アクチュエータを制御する手段を備える。
【００１３】
走行ロボットの制御方法は，上記経路情報ファイルにパスごとに記述された始端および終端の位置と方位，ならびに航法を読取り，読取った始端および終端の位置と方位，ならびに航法にしたがってパスの目標軌道を作成し，走行ロボットが作成された目標軌道に沿って走行するようにロボット走行用アクチュエータを制御するものである。
【００１４】
目標軌道に沿ってロボットを走行させる制御そのものは既に知られているが，その概要は次のようなものである。すなわち，走行ロボットの現在位置，現在方位，移動方向および移動速度を測定し，測定したこれらの情報に基づいて所定時間後または所定距離前方の走行ロボットの位置を推定し，推定した位置と目標軌道との偏差がなくなるようにロボットの走行を制御するものである。
【００１５】
サインパターンに関する情報には，サインパターンを特定する情報，およびサインパターンと走行ロボットとの間の距離に関する情報が含まれる。これらの情報により，ロボットをサインパターンに沿って走行制御することができる。
【００１６】
サインパターンが壁のように比較的高いものの場合には，走行ロボットとサインパターンとの間の距離を超音波センサで測定することができる。
【００１７】
サインパターンが，縁石，白線のように，ほぼ地面（路面）と同じレベルにあるものの場合には，サインパターンの識別と距離の測定を，ビデオカメラから得られる画像データの画像処理に基づいて得ることができる。ビデオカメラは地面（路面）に向けて走行ロボットに設置される。ビデオカメラの位置，向き，ズーム等を特定の値に固定し，ビデオカメラから出力される画像データの画像処理を行う。たとえば，背景から区別できる帯状のもの（あるしきい値以上の幅をもつもの）（たとえば，点字ブロック，色テープ）や，背景から区別できる線状のもの（あるしきい値以下の幅のもの）（たとえば縁石エッジ）を画像上において識別する。識別した結果を表わす画像がモニタ表示装置上に表示される。オペレータは表示されたサインパターンを指定する。装置は指定されたサインパターンに関するパラメータ（サインパターンの特徴量，サインパターンまでの距離など）を記憶する。走行制御は，サインパターンとの距離（画像処理により得られる）が常に一定になるように行なわれる。
【００１８】
ランドマークはいくつかの目的で利用される。たとえば，
(1) ロボットの位置決めまたは位置の補正（たとえば路面上のマーク）
(2) 経路状態の判定（進むか，停止するかの判断に用いる）（たとえば，交通信号，エレベータのドアなど）
(3) 経路（パスまたはルート）が正しいかどうかの確認（たとえば看板など）
【００１９】
ランドマークに関する情報は，ランドマークの特徴量（色，形，大きさ），観測点の位置および方位，ランドマークまでの距離，ランドマークに対する方位（相対方位）等を含む。これらの情報のうち，特徴量，距離，相対方位はビデオカメラから得られる画像データの画像処理により得ることができる。ランドマークを含む画像がモニタ表示装置上に表示され，オペレータが画面上でランドマークを指定する。装置はそのときの上記のランドマークの位置，方位等に関する情報を位置決定装置および画像処理装置から得て，経路情報ファイルに記述する。これらの情報は，ロボットの走行制御において，ロボットが観測点に至ったときに，上記の(1) 〜(3) のいずれかの目的のために用いられる。
【００２０】
この発明による走行ロボットのティーチングのための入力案内装置は，走行ロボットのティーチングのための入力案内画面を表示する表示装置と，上記表示装置の表示画面上で情報を選択または入力するための操作装置とを備えている。上記表示装置は，少なくともパス設定またはランドマーク設定の選択を案内する画面，パス設定においてパスに関する情報の入力を案内する画面，およびランドマーク設定においてランドマークに関する情報の入力を案内する画面を表示する。これらの各種案内画面は一画面（一画像）で共用してもよいし，操作（処理）ごとに切換わる複数の画面（画像）で実現することもできる。
【００２１】
パスに関する情報（パス属性）には，パス名称，パス端点（パス始点，パス終点，方位），航法，道路情報，サインパターンに関する情報，メッセージ等があるが，このうちで，パス端点および航法は重要である。パス端点である旨が入力されると，位置決定装置から位置および方位を取得する形態が好ましい。
【００２２】
ランドマークに関する情報には，ランドマーク名称，ランドマークカテゴリー，位置，ビデオカメラの状態，モジュールの指定等があるが，このうちでランドマーク名称，ランドマークカテゴリーおよび位置は重要であり，その次にビデオカメラの状態が重要である。位置については，ランドマーク検出位置であることが入力されるとその位置データと方位を位置決定装置から取得する態様が好ましい。
【００２３】
この入力案内装置による案内表示にしたがってオペレータは走行ロボットの自動走行に必要な情報を容易にかつ間違いなく入力することができるようになる。
【００２４】
【実施例】
以下，この発明を視覚障害者や高齢者などを目的地まで誘導する歩行ガイドロボットに適用した実施例について詳述する。
【００２５】
１．用語の定義
この明細書で用いられる用語の定義は次の通りである。
【００２６】
経路：ロボットが出発点から目的地に至る道筋。
【００２７】
航法：ロボットの走行モードで，直線走行，左円弧走行，右円弧走行，左壁沿走行，右壁沿走行，スピンターン，停止を含む。
【００２８】
サインパターン（以下ＳＰと略する）：ロボットが経路を走行するとき，ガイドとなる物で，経路に沿って長く伸びた構造物，例えば点字ブロック，縁石，白線，塀など。
【００２９】
ランドマーク（以下ＬＭと略する）：経路上，または経路の側に存在する標識となりうる物。その役割により三つに分類される。その一はロボットが現在位置を知るために用いる，または位置合せもしくは位置の修正の基準となるマークで，横断歩道やエレベータの前の床面にあるマークなどである。その二は，正しい経路かどうか知るためのマークで，看板や表札などである。その三は，経路の状態を知るためのマークで，交通信号，エレベータのドアなどである。ロボットがＬＭを観測する経路上の地点をＬＭ観測点という。
【００３０】
パス：同一航法で走行できる経路の区間で，始端，終端，航法，ＳＰ，ＬＭで定義する。一つのパスにＳＰ，ＬＭはなくても良い。ＬＭは一つのパスに複数あっても良い。パスの始端または終端にＬＭ観測点を置くと現在位置を正確に知ることが出来る。左／右円弧走行のパスはおおよそ円弧になるようにオペレータがパス始端と終端を決める。
【００３１】
経路情報：出発点から目的地に至る経路を構成するパスに関する情報の系列をいう。
【００３２】
ティーチング：オペレータが手動でロボットを操作して経路上を走行させ経路情報を得る処理をいう。オペレータはロボットの操作法とティーチングの訓練を受けた健常者であることが好ましい。
【００３３】
誘導：ロボットが出発点から目的地まで経路情報に基づき走行する処理をいう。
【００３４】
位置推測：ロボットの現在位置を推測する方法で次のように行う。図３に示すように目標軌道（パスが目標軌道となる）の始端を座標（Ｘ，Ｙ）の原点とし，目標軌道上にＹ軸（円弧走行の場合には直線ではなく円弧になる）を設定して説明する。ロボットは左右に車輪を有し，これらが独立に駆動される方式とし，シャフトエンコーダを用いて左右車輪の角速度ωL，ωRをサンプリング周期τで計測するとする。時刻ｔi におけるロボットの位置（Ｘi，Ｙi）と方位Ｄiri は次の式で求める。
Ｖi＝Ｒ（ωL＋ωR）／２                          式(1)
Ｄiri＝Ｄiri-1＋τＲ（ωL−ωR）／Ｔ             式(2)
Ｘi＝Ｘi-1＋Ｖiτsin（（Ｄiri＋Ｄiri-1）／２）   式(3)
Ｙi＝Ｙi-1＋Ｖiτcos（（Ｄiri＋Ｄiri-1）／２）   式(4)
ただし，（Ｘi-1，Ｙi-1）とＤiri-1は時刻ｔi-1における位置と方位であり，Ｒは車輪の半径，Ｔは左右の車輪の間隔（トレンド）である。ロボットの位置（Ｘi，Ｙi）はトレンドの中点の位置で，方位Ｄiriと速度Ｖiはそれぞれ中点の方位と速度である。
【００３５】
前方注視距離：図４においてロボットが位置（Ｘi，Ｙi），方位Ｄiri でそのまま走行すると距離Ｌメートル先で目標とするパスの位置偏差Ｅは次の式のようになる。Ｌを前方注視距離という。
Ｅ＝Ｘi＋Ｌtan（Ｄiri）≒Ｘi＋ＬＤiri              式(5)
【００３６】
推測航法：前方注視距離Ｌにおける位置偏差Ｅを解消するように操舵する方法をいう。
【００３７】
操舵する方法：Ｅの値がプラスのとき左旋回する。左車輪，右車輪の角速度ωL，ωRが
【数１】
0003770383.tif 000002
【数２】
0003770383.tif 000003
【数３】
0003770383.tif 000004
になるように夫々のモータ（左右の車輪を駆動するモータ）に電流を流す。ただし，Ｖはロボットの速度で，ＫP ，ＫD ，ＫI はＰＩＤ制御の比例係数でロボットの質量と慣性モーメント，モータ駆動回路の特性に依存し，実験的に決める。
【００３８】
位置ズレ：位置推測で求めた時刻ｔi におけるロボットの位置（Ｘi，Ｙi）は路面の傾斜や車輪の空すべりなどにより誤差が生ずる。位置推測による位置（Ｘi，Ｙi）と真の位置（ＸiR，ＹiR）との差を位置ズレという。
【００３９】
上述した位置推測，前方注視距離の算出，推測航法による操舵，位置ズレの算出についての処理は，走行制御システム30（図２参照）が実行する。
【００４０】
ＳＰによる位置ズレの補正：ティーチング時に目標軌道に沿って存在するＳＰとロボットの距離Ｄを経路情報に記録しておき，誘導時にＳＰとロボットの距離を画像処理で計測し位置ズレを補正する。図５に示すように位置推測によるロボットの位置と方位を（ＸiP，ＹiP）とＤiriPとする。トレッドの中点ｏを原点とし，ロボットの正面方向をｙ軸とし，ｘ軸をｙ軸に直交し右方向に伸びるようにとる。座標系ｏｘｙをロボット座標系と呼ぶ。画像処理により求めたロボット座標系におけるＳＰの距離をｘSPとし方位をｄirSPとする。補正後の位置（ＸiC，ＹiC）と方位ＤiriCを次のようにする。
ＸiC＝Ｄ−ｘSP
ＹiC＝ＹiP
ＤiriC＝ｄirSP
【００４１】
ＬＭによる位置ズレの補正：位置ズレを補正するために路面上にあるＬＭを用いる。図６に示すようにティーチング時のＬＭ観測点を（ＸLMT，ＹLMT），方位をＤirT とし，画像処理で検出したＬＭの基準点位置とＬＭの方位をロボット座標系で（ｘT，ｙT）とｄirT とする。ロボット座標系によるＬＭの位置，方位の表現をＬＭ相対位置，相対方位という。誘導時に推測航法で求めたＬＭ観測点で停止し，画像処理でＬＭを検出する。基準点の位置と方位をロボット座標系で（ｘE ，ｙE ）とｄirE とする。誘導時のＬＭ観測点の位置（ＸLME，ＹLME）と方位ＤirE は次のように求まる。これをＬＭによる位置補正という。
ＸLME＝ＸLMT＋ｘT−ｘEcos（ＤirE）−ｙEsin（ＤirE）    式(9)
ＸLME＝ＹLMT＋ｙT＋ｘEsin（ＤirE）−ｙEcos（ＤirE）    式(10)
ＤirE＝ｄirE−ｄirT                                    式(11)
【００４２】
上記のＳＰによる位置ズレの補正およびＬＭによる位置ズレの補正は誘導システム10（図２参照）が行う。
【００４３】
２．経路情報のＸＭＬ表現
ティーチングにおいて入力された経路情報はＸＭＬ（Extensible Markup Language）で表現する。
【００４４】
タグ：データの種類を示す名札で英数字で書きデータの最初と最後を＜タグ＞と＜／タグ＞で囲む。
【００４５】
作成日時＜Cdate ＞：ティーチングで経路情報を作成した日時で，ＳＰやＬＭが季節，時間帯に影響されるので日時は必要である。また，何度かティーチングしたとき，古いデータかどうかを誘導時に知るために必要である。
【００４６】
天候＜Wether＞：晴れ，曇り，雨の３値をとる。経路情報は天候にも影響される。
【００４７】
パス始端＜Point1＞とパス終端＜Point2＞：（Ｘ，Ｙ，Ｄir）の３次元ベクトルで表す。＜Ｘ＞と＜Ｙ＞はロボットの位置を表し，Ｙ軸は北方向に，Ｘ軸は東方向にとる。＜Ｄir＞はロボットの方位で地磁気センサー（図２符号31）で北を０度として時計廻りに測る。ＸＭＬ記述例では単位はcmと度である。
【００４８】
航法＜Navigation＞：オペレータが通路環境を見て直線走行，右円弧走行，左円弧走行，左壁沿走行，右壁沿走行等の航法の種類を指定するために必要である。ゆるやかに曲がる経路は幾つかのパスに分割し，それぞれのパスを直線走行する。円弧走行は曲がり始める点と曲がり終わる点をパス始端とパス終端としてオペレータが指定する。左壁沿走行と右壁沿走行は超音波距離センサーで壁または縁石までの距離を計測してそれに沿って走行する航法である。
【００４９】
舗装＜Pavement＞，道路規制＜Regulation＞，道路種類＜RoadKind＞，道路状態＜RoadStatus＞：ロボットの誘導には必要ないが，障害者が聴覚で確認するために必要である。
【００５０】
通路幅＜Width ＞：ロボットが障害物を回避するとき，どの位の空き空間があるかを知るために必要である。
【００５１】
ＳＰ情報＜ＳＰinformation ＞：以下のデータからなるＳＰを定義する。
ＳＰの種類＜ＳＰcategory＞：点字ブロック，色テープ，エッジの３種類がある。点字ブロックと色テープは画面上で通路の方向に長く伸びる帯状領域として検出できるものを意味し，エッジは画面上で通路の方向に伸びる単数または複数のエッジを表す。ＳＰの種類はこの他に増やしても良い。
ＳＰの色＜ＳＰcolor ＞：点字ブロックや色テープをＳＰにするときはその色が必要である。
ＳＰモジュール＜ＳＰmodule＞とＳＰバージョン＜ＳＰversion ＞：ＳＰを検出するサブルーチンのモジュールは頻繁に改良される。そこでモジュールの名称とバージョンが必要である。
カメラパラメータ＜Camera＞：ＳＰやＬＭをビデオカメラの画面に映すために必要なパラメータで，パン＜Pan ＞，チルト角＜Tilt＞，ズーム＜Zoom＞が必要である。
ＳＰ距離＜ＳＰdeviation ＞：パスからＳＰまでの距離。
ＳＰパラメータ＜ＳＰparameter ＞：ＳＰ検出モジュールが用いるパラメータでティーチングに経路情報に記録しておき誘導時に予測値として用いる。例えば，画面上のＳＰ探索範囲，微分画像の2値化閾値等である。
【００５２】
ＬＭ情報＜ＬＭinformation ＞：以下のデータからなるＬＭを定義する。ＬＭは一つのパスの間に幾つあっても良い。
ＬＭの種類＜ＬＭcategory＞：ＬＭの種類は横断歩道，路上マーク，看板，交通信号，エレベータであるが増やしても良い。
ＬＭ観測点＜ＬＭpoint ＞：パス上のどの地点でＬＭを観測すれば良いかを示す地点とそのときのロボットの方位で表す。
基準点＜BaseCorner＞：ＬＭで位置決めをするときＬＭの何処を基準にするかを決める点である。基準点を含むＬＭの一辺をＬＭの方位という。例えば横断歩道マークをＬＭとするとき，基準点は一番手前の矩形の左下隅または右下隅で，ＬＭの方位は矩形の下辺の方位である。
位置＜Location＞：ＬＭが経路の前方にあるか経路の左右側にあるか示す識別子である。
色＜ＬＭcolor＞，形＜ＬＭshape＞，大きさ＜ＬＭsize＞：ＬＭが看板のときその大まかな特徴を知るために必要である。
ＬＭ相対位置＜ DevＬＭPoint ＞：ＬＭ観測点から見た基準点の位置と方位で，ロボット座標系で表す。ティーチング時にロボットが画像処理で検出して経路情報に記述する。
ＬＭ探索範囲＜SearchArea＞：画面上でＬＭが何処にあるかを示す。ティーチング時にロボットが画像処理してＬＭを検出してその存在範囲を経路情報に記録する。＜SareaLeft＞，＜SareaRight＞，＜SareaTop＞，＜SareaBottom＞で探索範囲の左辺，右辺，上辺，下辺を示す。
２値化閾値＜Nichika ＞：微分画像等の２値化に用いる閾値である。
ＬＭパラメータ＜ＬＭparameter ＞：ＬＭ検出モジュールが用いるパラメータでＬＭモジュールに依存し増やしても良い。
【００５３】
図20に示す経路に関して作成されたＸＭＬ記述例が図21から図29に示されている。
【００５４】
３．ロボットの構成
図１に歩行ガイドロボットの構成を示す。これは誘導時の様子を示すものである。
【００５５】
障害者はマイク41Ａを通して音声で現在位置と目的地をロボットに入力する。障害者はロボットの後部に取り付けたハンドル46につかまって歩く。ハンドル46にはメニュー選択押しボタン44がある。障害者が押しボタン44を操作するとメニューがスピーカ40またはイヤホーン41Ｂを通して音声で出力され，それを選択することによって障害者はロボットに指令を出す。音声出力はロボットが安全な誘導に必要な情報を障害者に伝えるためにも用いられる。ロボットが停止や左折右折など動作を変えるときには，ハンドル46の左右に取り付けたバイブレータ45が振動し障害者に知らせる。
【００５６】
ロボットにはビデオカメラ21が取り付けられており，画像処理により経路のガイドとなるＳＰやＬＭを検出する。また複数のビデオカメラからなるステレオカメラ23取り付けられており，前方の車や歩行者などの位置や速度，樹木やごみ箱などの位置を検出する。車体３には，前部の１つの従動車輪と，後部の左右の２つの駆動車輪とが設けられている。左右の駆動車輪は２個のエンコーダ・ブレーキ付きモータ33により別個独立に駆動され，車輪の回転で現在位置と方位を計測する。車体３の前部にはバンパー接触センサー32があり，障害物に接触したときロボットは停止する。車体の前部には左右２個の超音波距離センサー34が取り付けてあり，ステレオカメラ23が見落とした障害物を検出する。車体の両側には夫々上下に計４個の超音波距離センサー34が取り付けてあり，上のセンサーで壁を，下のセンサーで縁石をそれぞれ検出し壁沿走行を実現する。
【００５７】
ロボットの構成においてティーチング時に誘導時と異なる点は，障害者の変わりにオペレータが操作し，ヘッドマウントディスプレイ（ＨＭＤ）15（後に詳述する）をオペレータが装着しキーボードを使うことである。
【００５８】
図２は歩行ガイドロボットの電気的構成を示すブロック図である。歩行ガイドロボットは誘導部１，画像処理部２，車体部３，ヒューマンインタフェース部４からなる。各部における個々のモジュール，システムは次の通りである。
【００５９】
音声合成認識モジュール14：単語の音声パターンを予め登録しておき，マイクから入力した音声を登録した音声パターンと照合し，合致した単語のテキストを出力する音声認識部と，テキストを合成音声で出力する音声合成部からなるモジュール。
【００６０】
地図データベース17：経路の分岐点をノード，ノードとノードを結ぶ弧をアークとし，アークに対応するパスをリンクしたデータベース。
【００６１】
ルート探索モジュール16：出発点と目的地を入力して，地図データベースの出発点に対応するノードからアークを辿り，目的地に対応するノードに至る最適な経路を見つけその経路情報を出力するモジュール。
【００６２】
シミュレータ11：経路情報を入力し，経路情報のデータの中から右折，左折，パスの長さ，大きな交差点の名前，メッセージ等のデータを抽出し，一定時間間隔または押しボタンを押す度に，経路に沿って順次にテキストで出力するモジュール。
【００６３】
経路情報ファイル12：ティーチング時に誘導システムが作成したＸＭＬで記述したパスのデータを記録しておくファイル。
【００６４】
データベース編集システム13：ティーチングが終了後，経路情報ファイルを入力とし，それに含まれるパスを既存のデータベースの対応するアークにリンクし，対応するアークがない場合は新たにノードとアークを生成し，そのアークにリンクするシステム。
【００６５】
ＳＰ，ＬＭ検出モジュール20：ＳＰまたはＬＭのモジュール名とバージョンで指定するモジュールである。ティーチング時には入力はなく，ＳＰ検出モジュールの場合は，ビデオカメラ21から得られる画像データの画像処理により検出したＳＰの距離と検出に用いたパラメータを出力し，ＬＭ検出モジュールの場合は検出したＬＭの相対位置方位と検出に用いたパラメータを出力する。誘導時にはＳＰ情報またはＬＭ情報を入力とし，ビデオカメラ21から得られる画像データの画像処理によりＳＰ距離またはＬＭ相対位置を出力する。
【００６６】
障害物検出システム22：ステレオカメラ23の画像とロボットの移動速度を入力とし，ステレオ画像処理により，障害物の大きさ，位置，移動速度からなる障害物情報を出力するシステム。
【００６７】
走行制御システム30：入力としてパスの始端と終端の位置，方位，航法を受け取り，車体の走行を制御し，位置推測をして一定周期でロボットの現在位置，方位を出力するシステム。符号31は磁気方位計，32はバンパー接触センサー，33はエンコーダ・ブレーキ付モータ（左右２個），34は超音波距離センサー（計６個）である。
【００６８】
誘導システム10：▲１▼ティーチング時には入力としてメニュー選択押しボタンのON／OFF 情報，ＳＰ距離情報とＳＰパラメータ，ＬＭ相対位置とＬＭパラメータ，現在位置方位を受け取り，ヘッドマウントディスプレイ（ＨＭＤ）15にメニューを，経路情報ファイルにパスとＳＰ情報，ＬＭ情報を出力するシステム。
▲２▼誘導時には入力として経路情報，ＳＰ距離情報，ＬＭ相対位置，現在位置方位，障害物情報を入力とし，経路情報に基づくパスと障害物回避のためのパスの始端と終端の位置方位と航法を走行制御システムに出力するシステム。
【００６９】
ヒューマンインタフェース部４において，符号40はスピーカ，41Ａはマイク，41Ｂはイヤホーン，42は走行／停止スイッチ，43はタッチセンサー，44はメニュー選択押しボタン（計４個），45はバイブレータ，46はハンドルである。
【００７０】
４．ティーチング操作
オペレータはロボットを出発点に進行方向に向けて置き電源をオンにする。ロボットは図11のフローチャートのＳＴ10でヘッドマウントディスプレイ（ＨＭＤ）15の画面に図７に示すトップメニューを表示する。オペレータがＳＴ11でキーを操作してメニューの“ティーチング処理”のアイコンを選択すると，ＳＴ12のティーチング処理を開始し，図12のＳＴ20で経路情報ファイルにタグ＜TeachingData＞を記録し，ＨＭＤ画面は図８のティーチングメニューの画面に変わる（ＳＴ21）。図中地の色が灰色のボックスはその処理で選択できるアイコンを示す。メニューは階層構造をしており左側ほどレベルが高い。
【００７１】
オペレータがロボットをパスの始端に置き，Ｆ10の“パス端点登録”を選択すると（ＳＴ22），ロボットはティーチングメニューの画面にＦ11〜Ｆ17のアイコンを表示し，タグ＜Path＞を経路情報ファイルに記録し（ＳＴ23），ＳＴ24のパス属性入力処理を行う（図13参照）。パスにＳＰが存在するときオペレータは“ＳＰ入力”を選択する（ＳＴ25）。ロボットはＳＴ26のＳＰ入力処理でＳＰの属性を入力し（図14参照），経路情報ファイルに記録する。
【００７２】
オペレータはロボットを手動でパスに沿って動かす。パスの端点あるいは途中にＬＭが存在するとき，オペレータはＦ10の“ＬＭ観測点登録”を選択する（ＳＴ27）。ロボットはＳＴ28のＬＭ入力処理でＬＭの属性を入力し（図15〜17参照），経路情報ファイルに記録する。
【００７３】
パスの終端に来たときオペレータはＦ10の“パス端点登録”を選択すると（ＳＴ29），ロボットはＳＴ30の処理でパス終端の位置，方位をタグ＜Point2＞の＜Ｘ＞，＜Ｙ＞，＜Ｄir＞の後に記述し，パスの終了を示す＜／Path＞を付けて経路情報ファイルに記録する。
【００７４】
ティーチングが終了したときオペレータはＦ10の“ティーチング終了”を選択すると（ＳＴ31），ロボットは＜／PathData＞を経路情報ファイルに記録する。ロボットは図７のトップメニューを表示し，ＳＴ10の処理に戻る。新しいパスが始まる場合はＦ10のパス属性入力を選択する。
【００７５】
図13のＳＴ40から始まるフローチャートはＳＴ24のパス属性入力処理の詳細を示す。ロボットはＳＴ40でその日の日付をタグ＜Cdate ＞の後に書き経路情報ファイルに記録する（ＳＴ40）。そしてロボットは走行制御装置が示す現在位置のＸ座標値をタグ＜Point1＞の＜Ｘ＞後に，Ｙ座標値を＜Ｙ＞の後に，方位を＜Ｄir＞の後にそれぞれ書き経路情報ファイルに記録する。
【００７６】
オペレータはＦ11の“パスの名前”を選択しパスの名称を入力し，“道路幅”を選択し道路の幅をcm単位でキー入力し，“メッセージ”を選択しそのパスに関する注意事項をキー入力すると，ＳＴ41の処理でそれらの入力データをタグ＜PathName＞，＜Width＞，＜Message＞の後に書き経路情報に記述する。メッセージは誘導時にロボットがパスの始端に来たときに音声に変換して障害者に伝えるものである。ただし，パスの名前とメッセージは省略して良い。
【００７７】
オペレータはＦ11の“航法”を選択し，次にＦ13の“直線走行”，“左円弧走行”，“右円弧走行”，“左壁沿い走行”，“右壁沿い走行”，“スピンターン”，“停止”の中から一つを選ぶと，ＳＴ42の処理でその識別子をタグ＜Navigation＞の後に書き，経路情報ファイルに記録する。
【００７８】
Ｆ11の“規制”を選択し，次にＦ14の“一方通行”かまたは“往復通行”を選ぶと，その識別子をタグ＜Regulation＞の後に書き，経路情報ファイルに記録する。Ｆ11の“道路種別”を選択し，Ｆ15の“屋内通路”，“屋外通路”，“歩道”，“道路”，“横断歩道”の中から一つを選ぶと，ＳＴ42の処理でその識別子を＜RoadKind＞の後に書き，経路情報ファイルに記録する。Ｆ11の“道路状態”を選択し，Ｆ16の“上り坂”か，“下り坂”または“平坦”を選ぶと，ＳＴ42の処理でその識別子をタグ＜RoadStatus＞の後に書き，経路情報ファイルに記述する。Ｆ11の“舗装”を選択し，Ｆ17の“アスファルト”，“ブロック”または“リノリウム”を選ぶと，ＳＴ42の処理でその識別子をタグ＜Pavement＞の後に書き，経路情報に記述する。規制，道路種別，道路状態，舗装は省略して良い。最後に＜／Path＞を経路情報ファイルに記録する。
【００７９】
パスにＳＰがあるときは，Ｆ10の“ＳＰ入力”を選択すると画面のメニューは図９に変わる。図14のＳＴ50から始まるフローチャートはＳＴ26のＳＰ入力処理の詳細を示す。ＳＴ50の処理でＳＰ属性の開始を表すタグ＜ＳＰinformation ＞を経路情報ファイルに記録する。Ｆ21の“天候”を選択し，Ｆ22の“晴”，“曇”，“雨”から一つを選択すると，ＳＴ51の処理で天候の識別子をタグ＜Wether＞の後に記述し経路情報ファイルに記録する。
【００８０】
Ｆ21の“ＳＰカテゴリ”を選択しＦ23のＳＰの種類を選ぶと，ＳＴ51の処理でその識別子を＜ＳＰcategory＞に書き，ＳＴ52の処理で対応するＳＰ検出モジュール識別子とそのバージョンを＜ＳＰmodule＞と＜ＳＰversion ＞に設定する。図９のＦ23の例では種類は“点字ブロック”と“色テープ”と“エッジ”になっているが（ＳＴ53），追加して良い。“点字ブロック”を選択したときはＦ24の色が“黄色”か，舗装の色と“同色”かを選ぶ。“色テープ”はサインパターンが帯状で，色で舗装と区別できるときに選ぶ。その色をＦ36の“白”，“青”，“赤”，“黄”，“茶”から一または複数を選ぶ。“点字ブロック”の場合も“色テープ”の場合もＳＴ54の処理で色の識別子をタグ＜ＳＰparameter＞の＜Color＞の後に記述し経路情報ファイルに記録する。“エッジ”はサインパターンが縁石やタイルのとき選択する。
【００８１】
ＳＴ55の処理でビデオカメラ21の画像を図９のメニュー画面の一画に映す。オペレータが“広角”，“標準”，“望遠”を選ぶとビデオカメラ21のズーミングが３段階に変わり，ロボットはズーミングの識別子を＜Camera＞の＜Zoom＞の後に書く。左向き三角形または右向き三角形を選択すると，ビデオカメラ21は左または右方向に回転し，処理ＳＴ55は左右回転角を＜Pan ＞の後に書く。下向き三角形または上向き三角形を選択すると，ビデオカメラ21は上または下方向に回転し，処理ＳＴ55は上下回転角を＜Tilt＞の後に書く。一回の選択で回転する角度のステップは広角のときは大きく，望遠のときは小さくする。ズーミングと上下左右の回転は何度か繰り返してサインパターンが画面に入るようにする。ビデオカメラにリモートコントローラが付いており，上下，左右回転とズーミングが遠隔操作できるときには，それを用いてもよい。
【００８２】
ＳＴ56でＦ10の“実行”を選ぶと，ＳＴ57の処理でＳＰ検出モジュールを呼出しＳＰ入力で与えられたパラメータで画像処理を実行する。ＳＴ58の処理で検出したＳＰの第１候補を画像上にマークする。その候補が正しければＦ10の“登録”を選択する（ＳＴ62）。誤りのときは“次候補”を選択すると（ＳＴ60），ＳＴ61の処理でＳＰ検出モジュールは２番目の候補をマークする。この操作を候補がなくなるまで繰り返す。候補がどれも正しくなければＦ10の“取消し”を選択すると（ＳＴ59），ロボットは＜ＳＰinformation ＞と＜／ＳＰinformation ＞の間の記述を全部取消す。Ｆ10の“登録”を選択すると（ＳＴ62），ロボットはＳＰとの間の距離をタグ＜ＳＰdistance＞の後に書き（ＳＴ63），当該候補検出に関するパラメータ，例えば何番目のエッジをＳＰにするか，をタグ＜ＳＰparameter ＞に書き経路情報ファイルに記録する（ＳＴ64）。
【００８３】
オペレータは手動操作でロボットを経路に沿って走行させ，図９の画面をみながらＳＰ検出がうまくいっているかを確認する。
【００８４】
オペレータがＦ10の“ＬＭ観測点登録”を選択すると，誘導システム10は図12，ＳＴ28のＬＭ入力処理に入る。
【００８５】
ＬＭ入力処理に入ると図15のＳＴ70の処理で＜ＬＭinformation ＞を経路情報ファイルに記録する。ＨＭＤの画面は図10に示すように変わる。そしてＳＴ71の処理で現在位置のＸ座標値をタグ＜ＬＭpoint ＞の＜Ｘ＞後に，Ｙ座標値を＜Ｙ＞の後に，方位を＜Ｄir＞の後に書き経路情報ファイルに記録する。
【００８６】
オペレータは次にＦ10の“ＬＭ入力”を選択し，次にＦ30の“ＬＭカテゴリ”を選択し，Ｆ31の“横断歩道”，“看板”，“交通信号”，“エレベータ”の中から一つを選択すると，誘導システムはＳＴ72の処理で＜ＬＭcategory＞の後にその識別子を書き，経路情報ファイルに記録する。ＳＴ73の処理でオペレータはＦ10の“ＬＭ名称”を選択しＬＭの名前をキー入力すると，誘導システム10はＬＭの名前をテキスト型で＜Name＞の後に記述する。Ｆ10の“メッセージ”を選択し，その地点に来たとき発声するメッセージをキー入力すると，誘導システムは＜Message ＞の後にテキスト型で書き経路情報ファイルに記録する。メッセージは省略しても良い。
【００８７】
誘導システムはＳＴ73の処理で＜ＬＭcategory＞の識別子に対応するＬＭ検出モジュールの識別子とそのバージョンを，＜ＬＭmodule＞と＜ＬＭversion ＞の後に書き，経路情報ファイルに記録する。
【００８８】
オペレータは“横断歩道”を選択した場合，Ｆ32の“位置”を選択し，横断歩道がパスの前方にある場合はＦ33の“前方”を，パスの側方にある場合は“側方”を選択すると，誘導システムはＳＴ74の処理で，その識別子をタグ＜ＬＭparameter ＞の＜Location＞の後に書き，経路情報ファイルに記録する。オペレータはＦ32の“基準”を選択し，基準点が横断歩道マークの右下の場合はＦ34の“右下”を選択し，左下の場合は“左下”を選択すると，誘導システムはその識別子を＜BaseCorner＞の後に書き，経路情報ファイルに記録する。
【００８９】
オペレータが“看板”を選択した場合，Ｆ35の“色”を選択し，看板の色に応じてＦ36の“黄”，“白”，“青”，“赤”，“茶”の中の一つまたは複数を選択すると，誘導システムはＳＴ75で，その識別子を＜ＬＭparameter＞の＜Color＞の後に書き経路情報ファイルに記録する。Ｆ35の“形”を選択し，看板が縦に長い長方形の場合はＦ37の“縦長”を，横に長い長方形の場合は“横長”を，正方形の場合は“正方”を選択すると，誘導システムはその識別子を＜Shape ＞の後に書き，経路情報ファイルに記録する。Ｆ35の“大きさ”を選択し，Ｆ38の“大”，“中”，“小”の中から一つを選択すると，誘導システムはその識別子を＜Size＞の後に書き，経路情報ファイルに記録する。
【００９０】
ＳＴ76の処理でビデオカメラの画像を図７のメニュー画面の一画に映す。オペレータが“広角”，“標準”，“望遠”を選ぶとビデオカメラのズーミングが３段階に変わり，ロボットはズーミングの識別子を＜Camera＞の＜Zoom＞の後に書く。左向き三角形または右向き三角形を選択すると，ビデオカメラは左または右方向に回転し，処理ＳＴ76は左右回転角を＜Pan ＞の後に書く。上向き三角形または下向き三角形を選択すると，ビデオカメラは上または下方向に回転し，処理ＳＴ76は上下回転角を＜Tilt＞の後に書く。一回の選択で回転する角度のステップは広角のときは大きく，望遠のときは小さくする。ズーミングと上下左右の回転を何度か繰り返してサインパターンがビデオカメラ21の画面に入るようにする。
【００９１】
Ｆ10の“実行”を選ぶと（ＳＴ77），ＳＴ78の処理でＬＭ検出モジュールを呼出しＬＭ入力で与えられたパラメータで画像処理を実行する。ＳＴ79の処理で検出したＬＭの第１候補をＨＭＤの画像上にマークする。その候補が正しければＦ10の“登録”を選択する（ＳＴ83）。誤りのときは“次候補”を選択すると（ＳＴ81），ＳＴ82の処理でＬＭ検出モジュールは２番目の候補をマークする。この操作を候補がなくなるまで繰り返す。候補がどれも正しくなければＦ10の“取消し”を選択すると（ＳＴ80），ロボットは＜ＬＭparameter ＞の記述を全部取消す。
【００９２】
Ｆ10の“登録”を選択すると（ＳＴ83），誘導システムはＳＴ84の処理でカメラパラメータ＜Camera＞を経路情報に記録し，タグ＜DevＬＭPoint＞に続いてＬＭ相対位置のｘ値を＜Ｘ＞の後に書き，ｙ値を＜Ｙ＞の後に書き，相対方位を＜Ｄir＞の後に書き，経路情報ファイルに記録する（これらのデータｘ，ｙ，Ｄirは画像処理により得られる）（ＳＴ84）。誘導システムは＜SearchArea＞の次にビデオ画面の探索範囲の左辺の座標値を＜SAreaLeft ＞の後に書き，右辺の座標値を＜SAreaRight＞の後に書き，上辺の座標値を＜SAreaTop＞の後に書き，下辺の座標値を＜SAreaBottom ＞の後に書き経路情報ファイルに記録する。誘導システムはＬＭ検出モジュールが用いたその他のパラメータ，例えば画像２値化の閾値をタグを付けて経路情報ファイルに記録する。最後に＜／ＬＭparameter ＞を経路情報に記録する（ＳＴ85）。
【００９３】
誘導システムはＳＴ85の処理で経路情報に＜／ＬＭinformation ＞を記録し，ＬＭ入力処理を終了しＳＴ29（図12）の処理に進む。
【００９４】
なお，図８，図９，図10の入力画面はそれぞれが一つの画面として表示されているが，これらの画面に表示される情報を複数にそれぞれ分割し，分割した情報ごとに一つの画面を構成するように表示してもよいし，一つの情報の入力ごとに，その詳細項目を表わすウインドウを表示してもよい。これらの画面はタッチパネル式で画面上の項目を指で触れて入力することもできるし，ポインタ（カーソルとマウスなど）により項目を指定してもよい。具体例については後述する。
【００９５】
５．誘導処理
誘導処理を図２のブロック図と図17〜19のフローチャートを用いて説明する。
【００９６】
誘導システム10は，図17のＵ１の処理で，障害者から出発点と目的地の地名，走行速度をマイク41を通して音声で受取る。音声合成認識モジュール14はそれらをテキストデータに変換する。
【００９７】
誘導システムはＵ２の処理でテキストデータ型の出発点と目的地をルート探索モジュール16に入力する。ルート探索モジュールは地図データベース17の地図ネットワークを探索し出発点から目的地までのルートを経路情報ファイルに出力する。
【００９８】
誘導システムはＵ３の処理で経路情報ファイルを読み，＜PathData＞があれば誘導処理を開始し，＜／PathData ＞があれば誘導処理を終了する。
【００９９】
誘導システムはＵ４の処理で＜Path＞が来るまで経路情報ファイルを読飛ばす。
【０１００】
誘導システムはＵ５の処理で経路情報ファイルからパスの始端の位置方位＜Point1＞と航法＜Navigation＞のデータを読み取り，誘導パスの始端の位置方位と航法に設定する。
【０１０１】
誘導システムはＵ６の処理で経路情報ファイルの終端の位置方位＜Point2＞を先読みし，誘導パスの終端に設定する。
【０１０２】
誘導システムはＵ７の処理で経路情報ファイルの次のパスを先読みし，始端の位置方位と航法を得る。次のパスの航法が左／右円弧走行，スピンターンもしくは停止の場合，または次のパスも直線走行であるが現在のパス終端と次のパス始端の方位が異なる場合，現在のパスの終端の一定距離（３ｍ）手前にバイブレータ作動点を設定する。左に曲がるときは左のバイブレータを，右に曲がるときは右のバイブレータを作動するようにフラグを立てる。
【０１０３】
誘導システムはＵ８の処理で走行制御システム30に航法と誘導パス，走行速度からなる走行指令を送り起動する。
【０１０４】
誘導システムはＵ９の処理で経路情報ファイルの＜Path＞に＜Message ＞があればそのテキストデータを音声合成認識モジュール14に送り，スピーカまたはイヤホーン41Ｂを通して音声で障害者に伝える。
【０１０５】
Ｕ８の走行制御システム30の処理詳細は図19に示されている。誘導システム10からＭ１の処理で走行指令を受けとり，航法により分岐する。
【０１０６】
航法が直線走行または左／右壁沿走行の場合は，走行制御システム30はＭ２のステップで誘導パスの始端の位置から終端の位置までを目標軌道として設定しＭ３へ進む。
【０１０７】
航法が左／右円弧走行の場合は，走行制御システム30はＭ10の処理を次のように行う。誘導パスの始端ＰAと終端ＰBからロボットの方位に垂直な直線を引き，その交点を中心点ＰCとし，ＰCからＰAまでの距離ＲAとＰCからＰBまでの距離ＲBの平均値Ｒを求める。指定速度の１／２でＰCを中心としＰAを始端，ＰDを終端とする半径ＲC の円弧を目標軌道として設定しＭ３へ進む。ただしＰDは点ＰCを中心とし半径ＲC の円が直線ＰCＰBと交わる点である。
【０１０８】
航法が停止の場合，現在位置方位を誘導パスの終端にしＭ4へ進む。
【０１０９】
航法がスピンターンの場合，現在位置の方位を 180度加えて誘導パスの終端としＭ13で左右車輪のモータ33を互いに逆方向に回転させ，Ｍ４へ進む。
【０１１０】
Ｍ３の処理で目標軌道をＹ軸とする推測航法制御をおこなう。また，誘導システム10から位置方位修正指令がきたとき現在の位置方位を修正する。左／右壁沿走行の場合は，経路情報ファイルで指定された左（または右）の上（または下）の超音波距離センサー34で壁（または縁石）の距離を計測し，その移動平均値を求め一定周期（ 100〜3000msec）で横方向の位置ズレを補正する。次にＭ４へ進む。
【０１１１】
Ｍ４の処理で走行制御システムは位置推測で求めた現在位置と方位を誘導システム10に送る。
【０１１２】
Ｍ５の処理で誘導システムから一時停止指令がきたか，または，バンパー接触センサーがオンかを判断し，ＹesならばＭ６へ進みＮo ならばＭ９へ進む。ただし，オペレータが走行／停止スイッチ42を押すと誘導システムは一時停止指令を出す。
【０１１３】
Ｍ６でモータを停止させ，Ｍ７で誘導システムから停止解除指令が来たかを判断し，ＹesならばＭ８でモータを再起動し，Ｎo ならばＭ７へ戻り停止解除指令を待つ。ただし，オペレータが走行／停止スイッチ42を押すと誘導システムは停止解除指令を出す。
【０１１４】
Ｍ９で現在位置方位が誘導パスの終端に来たかを判断し，Ｙesならば誘導パスによる走行制御を終了し（走行終了フラグを誘導システムへ渡す），Ｎo ならばＭ３へ戻る。Ｍ３〜Ｍ９の処理は短い周期（たとえば50〜100msec ）で繰返し実行される。
【０１１５】
図18において誘導システムはＵ10の処理で経路情報ファイルにＳＰ情報＜ＳＰinformation ＞がある場合，＜ＳＰmodule＞に記録されたＳＰ検出モジュール20に経路情報ファイルのパラメータ＜ＳＰparameter ＞を与えて起動する（Ｕ11）。
【０１１６】
誘導システムはＵ12の処理で走行制御システム30から一定周期（50から100msec ）で現在の位置方位を受け取る。
【０１１７】
Ｕ13の処理において障害物検出システム22が障害物を検出した場合，誘導システムは障害物の種類とその動きに応じて停止したり，回避したりする指令を走行制御システムに送る。
【０１１８】
誘導システムはＵ14の処理で経路情報ファイルにＳＰ情報がある場合，ＳＰ検出モジュールからＳＰ距離を受け取り，ＳＰ距離の移動平均をとり一定周期（100〜3000msec ）でＳＰによる位置ズレの補正を行い，走行制御システムに位置方位修正指令を送る（Ｕ15）。ＳＰによる位置ズレの補正の詳細は先に説明した通りである。
【０１１９】
誘導システムはＵ16の処理で経路情報ファイルにＬＭ情報＜ＬＭinformation ＞がない場合Ｕ21へ進む。ある場合は経路情報ファイルの＜ＬＭinformation ＞の＜Message ＞のデータを合成音声で発声し，走行制御システムに一時停止指令を出す（Ｕ17）。
【０１２０】
誘導システムはＵ18の処理で現在の位置がＬＭ観測点に到達したとき，経路情報ファイルの＜ＬＭmodule＞に記録されたＬＭ検出モジュール20にＬＭ名前＜Name＞，ビデオカメラ21の＜Camera＞のパン・チルト・ズームの値とパラメータ＜ＬＭparameter ＞を与えて起動する。ＬＭ観測点に達しない場合，Ｕ19へ進む。
【０１２１】
横断歩道検出処理の場合，横断歩道検出モジュールは＜Camera＞に記録されている方向にビデオカメラを向け横断歩道の画像を取込み，画像処理で横断歩道マークを検出し，一番手前の横断歩道マークの基準点＜BaseCorner＞の相対位置と方位から，ＬＭによる位置ズレの補正を行い，位置方位修正指令を走行制御システムに送り，検出処理を終了する。ＬＭによる位置ズレ補正の詳細は先に説明した通りである。
【０１２２】
看板検出処理の場合，看板検出モジュールは＜Camera＞に記録された方向にビデオカメラを向け看板の画像を取込み，＜ＬＭparameter ＞に記録された色，形，大きさにより看板検出を行う。看板検出に成功したとき“ＬＭ名前があります”，失敗したときは“ＬＭ名前がみつかりません”と合成音声で発声し，検出処理を終了する。
【０１２３】
交通信号／エレベータ検出処理の場合，交通信号／エレベータ検出モジュールは，＜Camera＞に記録された方向にビデオカメラを向け交通信号またはエレベータのドアを検出し，信号が赤から青になったとき，またはエレベータのドアが開いたとき，青信号通知を誘導システムに送り検出処理を終了する。
【０１２４】
オペレータはＬＭ検出モジュールの処理が成功したら周囲の状況を聴覚で確認してハンドルのスタートストップボタン42を押す（Ｕ19）。誘導システムはＵ20の処理で走行制御システムに走行再開を指令する。
【０１２５】
現在位置がバイブレータ作動点に到達したら（Ｕ21），誘導システムはＵ22の処理でハンドルの左右につけたバイブレータ45をフラグに基づいて振動させる。
【０１２６】
誘導システムは走行制御システムからパス終了フラグを受取ったら（Ｕ23），Ｕ３へ戻り，そうでないならＵ12へ戻る。
【０１２７】
６．具体例
図20に示す経路のＸＭＬ記述を図21〜29に示す。位置（500，500）にある出発点（出発点は位置（０，０）としてもよいし，ある原点（０，０）を基準にするときには原点以外の位置座標をとる）に方位０度でロボットを置き，左にある壁から 100cmのところを壁に沿って（ 500，2100）まで走行する。これをパス１とする。パス２は（500，2100）を始端，（800，2300）を終端とする右回り円弧走行区間である。パス３は（ 800，2300）を始端，（1800，2300）を終端とする直線区間で，縁石のエッジをＳＰにし走行する。（1800，2300）をＬＭ観測点にして前方の横断歩道を検出し，左下隅を基準点にして位置ズレを補正する。次はパス４で，（1800，2300）を始端，（2200，2300）を終端にする直線区間を推測航法で走行する。パス４の終端は横断歩道の手前である。ロボットはここ（2200，2300）で停止し歩行者信号の観測を行う。
【０１２８】
７．ティーチングにおける入力画面の他の例
比較的画面の小さな表示装置（上述したヘッドマウントディスプレイ（ＨＭＤ）15）と，複数のボタンスイッチ（たとえば上，下，左，右のメニュー選択押しボタン44）と，テンキーパッドとを含む入力装置に適した入力画面の例について説明する。
【０１２９】
図30は図７に相当するトップメニュー画面である。誘導モードから設定モードまでの４つのブロックが上下に並んでおり，メニュー選択ボタン（のいずれか）を押す毎により，指示（選択）されている（図面ではグレーで示す）ブロックが順次移っていく。図示の例ではティーチングモードが選択されている。なお，設定モードは各モジュールの各種パラメータの設定を行うモードである。確定ボタン（図示略）を押せば，選択されているモードが確定する。
【０１３０】
ティーチングモードが選択され，確定すると，表示装置の案内画面は図31に示すものに変わる。ティーチングモードにおいて，経路情報ファイルに記述される最もレベルの高い情報はランドマークとパスであり，これらのうちのいずれかが選択可能である。
【０１３１】
上述したようにランドマークに関する情報（ランドマーク属性）には，ＬＭカテゴリ（横断歩道，看板，交通信号，エレベータなど），ＬＭ名称，モジュール・バージョン，位置（前方，側方など，および位置データ，方位データ），ビデオカメラの状態（広角，標準，望遠など）等があるので，ランドマーク設定が選択されると，これらの情報の入力案内画面が順次表示される。
【０１３２】
パスに関する情報（パス属性）には，パス名称，パス端点（パス始点，パス終点，方位），航法（道路規制を含む），道路情報（道路の種別，道路の状態，道路幅など），サインパターンに関する情報（サインパターンの種類，色等），メッセージ等があるので，パス設定が選択されると，これらの情報の入力案内画面が順次表示される。
【０１３３】
ランドマーク設定が選択されると，図32に示すような画面が表示されるので，オペレータはこの画面上で，メニュー選択押ボタンとテンキーを用いて必要な情報（ランドマーク属性）を入力する。たとえば，天候の変更のボックスを選択すると，押ボタンを押すごとに，晴，曇，雨などの文字が順次表示されるので，そのうちの一つを選択することができる。
【０１３４】
パス設定が選択されると，図33，図34または図35に示すような，位置情報入力画面，道路状態設定画面，航法選択画面が順次（各画面における項目入力終了ごとに）表示される。上述したように始点位置，終点位置および方位はＧＰＳ，駆動車輪の回転等により自動的に設定される。航法については（図35），上述したように，直線走行，右円弧走行，左円弧走行，右壁沿走行，左壁沿走行の文字が押ボタンを押すごとにブロック内に現われるので，そのうちのいずれか一つを選択することができる。ランドマークの設定およびパスの設定が終るごとに図31の画面に戻る。ティーチングが終了したときに，終了ボタンを押す。図36はオペレータが歩行ガイドロボットを走行させているときに現われる画面である。
【図面の簡単な説明】
【図１】走行ガイドロボットの構成を示す概念図である。
【図２】走行ガイドロボットの電気的構成を示すブロック図である。
【図３】位置推測のアルゴリズムを説明する図である。
【図４】推測航法のアルゴリズムを説明する図である。
【図５】ＳＰによる位置ズレ修正のアルゴリズムを説明する図である。
【図６】ＬＭによる位置ズレ補正のアルゴリズムを説明する図である。
【図７】トップメニュー画面を示す。
【図８】パス入力メニュー画面を示す。
【図９】サインパターン入力メニュー画面を示す。
【図１０】ランドマーク入力メニュー画面を示す。
【図１１】トップメニューの処理を示すフローチャートである。
【図１２】ティーチング処理の全体を示すフローチャートである。
【図１３】パス属性入力処理を示すフローチャートである。
【図１４】ＳＰ入力処理を示すフローチャートである。
【図１５】ＬＭ入力処理を示すフローチャートである。
【図１６】ＬＭ入力処理を示すフローチャートである。
【図１７】誘導処理の全体を示すフローチャートである。
【図１８】誘導処理の全体を示すフローチャートである。
【図１９】走行制御処理を示すフローチャートである。
【図２０】走行ガイドロボットの走行経路の一例を示す。
【図２１】ＸＭＬで記述された経路情報の一例を示す。
【図２２】ＸＭＬで記述された経路情報の一例を示す。
【図２３】ＸＭＬで記述された経路情報の一例を示す。
【図２４】ＸＭＬで記述された経路情報の一例を示す。
【図２５】ＸＭＬで記述された経路情報の一例を示す。
【図２６】ＸＭＬで記述された経路情報の一例を示す。
【図２７】ＸＭＬで記述された経路情報の一例を示す。
【図２８】ＸＭＬで記述された経路情報の一例を示す。
【図２９】ＸＭＬで記述された経路情報の一例を示す。
【図３０】ティーチングモードにおける入力案内画面の他の例を示すもので，トップメニュー画面である。
【図３１】ティーチングモード画面である。
【図３２】ランドマーク設定画面である。
【図３３】位置情報入力画面である。
【図３４】道路状態設定画面である。
【図３５】航法選択画面である。
【図３６】ティーチングデータ測定中画面である。
【符号の説明】
１  誘導部
２  画像処理部
３  車体部
10  誘導システム
11  シュミレータ
12  経路情報ファイル
13  データベース編集システム
14  音声合成認識モジュール
15  ＨＭＤ（ヘッドマウントディスプレイ）
16  ルート探索システム
17  地図データベース
18  キーボード
20  ＳＰ，ＬＭ検出モジュール
21  ビデオカメラ
22  障害物検出システム
23  ステレオカメラ
30  走行制御システム
31  磁気方位計
32  バンパー接触センサー
33  エンコーダ・ブレーキ付きモータ
34  超音波距離センサー
【図１】
0003770383.tif 000005
【図２】
0003770383.tif 000006
【図３】
0003770383.tif 000007
【図４】
0003770383.tif 000008
【図５】
0003770383.tif 000009
【図６】
0003770383.tif 000010
【図７】
0003770383.tif 000011
【図８】
0003770383.tif 000012
【図９】
0003770383.tif 000013
【図１０】
0003770383.tif 000014
【図１１】
0003770383.tif 000015
【図１２】
0003770383.tif 000016
【図１３】
0003770383.tif 000017
【図１４】
0003770383.tif 000018
【図１５】
0003770383.tif 000019
【図１６】
0003770383.tif 000020
【図１７】
0003770383.tif 000021
【図１８】
0003770383.tif 000022
【図１９】
0003770383.tif 000023
【図２０】
0003770383.tif 000024
【図２１】
0003770383.tif 000025
【図２２】
0003770383.tif 000026
【図２３】
0003770383.tif 000027
【図２４】
0003770383.tif 000028
【図２５】
0003770383.tif 000029
【図２６】
0003770383.tif 000030
【図２７】
0003770383.tif 000031
【図２８】
0003770383.tif 000032
【図２９】
0003770383.tif 000033
【図３０】
0003770383.tif 000034
【図３１】
0003770383.tif 000035
【図３２】
0003770383.tif 000036
【図３３】
0003770383.tif 000037
【図３４】
0003770383.tif 000038
【図３５】
0003770383.tif 000039
【図３６】
0003770383.tif 000040