(57)【要約】【課題】パスとランドマークの系列からなる経路情報に基づいて出発点から目的地点まで移動する歩行ロボットが、経路上にある障害物や道路工事中の箇所に遭遇したとき、走行できなくなる。そこで、経路情報に基づく走行を中断し、走行をやり直してから元の経路に戻る方法が課題である。【解決手段】走行をやり直す方法を定型経路情報で表し、ティーチングで作成する。定型経路情報とは、経路情報を構成するパスやランドマークの種類や順序は決まっているが、パスの始端・終端の位置方位などの値は、実行時のセンサーのデータや通路幅などによって決まる形式の経路情報を言う。【効果】走行ロボットの車体やセンサー、コンピュータなどは常に改良されて行く。改良の度にソフトウエアを修正する労力と現場でテストするのは大変である。本発明は、定型経路情報をティーチングにより改良するだけで良いので、労力と手間が大幅に少なくなる。【選択図】図３
2012187698.tif 000002
【特許請求の範囲】
【請求項１】
走行ロボットの経路情報をパスおよびランドマークを要素とする系列で表し、パスを始端と終端を結ぶ軌道、および前進、後退、スピンターン、目印の後を追尾走行、停止からなる航法、および軌道からの横方向ズレを補正するためのサインパターンの情報、および軌道の縦方向の位置ずれを補正するための終端サインパターの情報、および走行速度、および通路の幅などで表し、オペレータがティーチング、すなわち走行ロボットを経路に沿って動かして経路情報を作成する走行ロボット。
【請求項２】
出発地点から目的地点に至る経路情報に基づく走行中に、障害物に行く手を阻まれたり、入り口やフェンスなどに接触しそうになったりしたときに、障害物検出システムが伝える情報により最適なやり直し走行を自動的にもしくは利用者が選択し、または道路の工事中の箇所に来たときに、工事従事者の案内に従う追尾走行からなるやり直し走行を選択し、目的地点にいたる経路情報に基づく走行を中断し、やり直し走行を挿入し、問題がなくなったら中断した経路情報に基づく走行に戻る請求項１に記載する走行ロボット。
【請求項３】
やり直し走行の経路情報を定型経路情報、すなわち構成する要素の種類と順序は決まっているが、パスの始端や終端などの位置方位の値は決まっておらず、実行時に決まる経路情報、で記述し、ティーチングで定型経路情報を作成する請求項２に記載する走行ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】この発明は人が生活する、あるいは作業する場所で動く走行ロボット、たとえば建設現場で自走する建設用ロボット、農薬の散布、その他の作業のため用いられる農業用ロボット、視覚障害者や高齢者などを目的地まで誘導する歩行ガイドロボット（盲導犬ロボット）、その他の自走するロボットに関し、ロボットが経路情報に基づく走行に失敗したとき、あるいは障害物や道路工事などで経路情報に基づく走行が出来なくなった時に走行をやり直すことに関する。
【背景技術】
【０００２】従来の走行ロボットは、出発点から目的地までロボットが走行する経路情報を二次元座標上の始端と終端を結ぶパスの系列で表したり（たとえば特許文献１）、または点系列で表したり（例えば特許文献２および３）している。そしてその経路情報のパスの系列または点の系列を、ロボットがその経路に沿って移動して経路のデータを取得している。この方法では障害物に遭遇したり、道路工事中の箇所に来たとき、ティーチングで得た経路情報に基づく走行は出来なくなる。
【先行技術文献】
【０００３】
【特許文献１】特許第３７７０８３号（特開２００２−２０７５１６）「走行ロボット、そのティーチング方法および制御方法
【特許文献２】特開平９−１９８１３３号公報
【特許文献３】特開２０００−１３２２２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】歩行ロボットが経路上にある障害物に遭遇したり、道路工事中の箇所に遭遇したとき、走行を中断しなければならない。そこで、経路に沿う走行を中断し、走行をやり直してから元の経路に戻る方法が課題である。【０００５】また、歩行ロボットが経路情報に基づき、屋外の凹凸のある路面や屋内のリノリウムの床面などを走行するとき、車輪の空転やスリップにより位置制御の誤差が生じ、車輪が縁石やフェンスをこすったり、壁や柱と接触したりして、走行ができなくなることがある。このような場合に、経路に沿う走行を中断し、走行をやり直す方法が課題である。【０００６】やり直す方法は通路の幅や傾斜、交差点の形状などの走行環境と障害物の大きさなどの違いで様々なバリエーションが存在する。そのバリエーションをロボットのシステム上でどのように表現するかが課題である。【０００７】やり直す方法をロボットで実現したき、現場にロボットを持っていき実際に走行して、問題点があれば改良しなければならない。この試行錯誤を簡単に行う方法が課題である。
【課題を解決するための手段】
【０００８】走行ロボットのやり直し走行は、通路の幅や障害物の大きさなどにより何通りかの方法で表わすことが出来る。本発明は走行ロボットがフェンスや入り口の壁などに近寄りすぎたとき、あるいは障害物に遭遇したとき、障害物検出システムが検出したフェンスや障害物の位置情報と、経路情報に記載した情報に基づき、あらかじめ作成したやり直し走行の中からシステムが選択して利用者に示し、利用者にそれを実行するか否かを問い、利用者がやり直しのボタンを押すと、目的地に至る経路の走行を中断してやり直し走行を実行し、終了したら元の経路に戻る方法である。【０００９】また本発明は、走行ロボットが工事中などの箇所に来きたとき経路情報に基づく走行を中断し、作業員などの誘導により工事中の箇所を回りこんで走行し、元の経路情報に基づく走行に戻るところの、やり直し走行の方法である。【００１０】やり直し走行はパス、ランドマーク、アナウンス情報を要素とする経路情報で記述する。やり直し走行の経路は、たとえば障害物回避ならば障害物の位置や大きさ、道路の幅などによりその時その時で変わる。道路工事箇所を回避する走行なども同様である。そこで、センサーのデータや道幅などの走行環境のデータによって調節される経路情報の定型パターンが必要である。ここで定型パターンとは、経路情報を構成する要素の種類と順序は決まっているが、要素の位置方位などのパラメータの値は実行時のセンサーのデータによって決まる経路情報を云う。以下定型経路情報という。【００１１】定型経路情報をティーチングで作成することにより、作成からテストまでの手間と時間を減らすことができる。これによりやり直し走行を簡単に改良できる。
【発明の効果】
【００１２】走行ロボットの車体やセンサー、コンピュータなどの進歩は著しく、常に改良されて行く。そのたびにソフトウエアを改良する労力と現場でテストする手間は大変である。それに比べると、本発明の方法はソフトウエアを変えずに、定型経路情報をティーチングにより変えて、テストして不具合があればティーチングをやり直すことにより改良ができるので、労力と手間が大幅に少なくなる。また、定型経路情報のライブラリを作ることにより、日常的に単独歩行をする視覚障害者や歩行訓練士のノウハウを蓄積することができる。【００１３】ロボットが斜めに傾斜した通路を走行したり、障害物を回避しようとすると。ｃｍ単位の走行精度が要求される。凸凹道や斜めに傾斜した通路で走行精度を上げるためには、車体のバネやダンパーを工夫しセンサーが安定するように機構を改良しなければならならず、コストが上昇する。やり直し走行の機能がロボットにあれば、センサーで異常を検出したとき、あるいは利用者が異常に気づいた時に、やり直し走行を実行すれば良いので大幅な機構の改良をしなくても良くなり、コストを抑えることが出来る。
【図面の簡単な説明】
【００１４】
【図１】走行ロボットの構成を示す概念図である。
【図２】障害物検出システムの検出領域の図である。
【図３】障害物を回避するやり直し走行のパスの図である。
【図４】ＸＭＬで記述した経路情報の一例を示す。
【図５】ＸＭＬで記述した経路情報の一例を示す。
【図６】ＸＭＬで記述した経路情報の一例を示す。
【図７】ＸＭＬで記述した定型経路情報の一例を示す。
【図８】ＸＭＬで記述した定型経路情報の一例を示す。
【図９】ティーチングのトップ画面である。
【図１０】ティーチングのルート要素選択画面である。
【図１１】ティーチングのパス設定画面である。
【図１２】ティーチング走行の画面である。
【図１３】ティーチングのＬＭ設定画面である。
【図１４】ティーチングのＬＭ確定画面である。
【図１５】ティーチングのアナウンス設定画面である。
【図１６】ティーチングおよび誘導処理の全体を示すフローチャートである。
【図１７】要素実行サブルーチンの処理を示すフローチャートである。
【図１８】パス実行サブルーチンの処理を示すフローチャートである。
【図１９】ＳＰ・終端ＳＰサブルーチンの処理を示すフローチャートである。
【図２０】障害物検出サブルーチンの処理を示すフローチャートである。
【図２１】フィードバック制御サブルーチンの処理を示すフローチャートである。
【図２２】ＬＭ認識サブルーチンの処理を示すフローチャートである。
【図２３】定型経路情報名の一覧表の一例である。
【図２４】横方向位置ずれ算出を説明する図である。
【図２５】雛形モジュール設定画面の図である。
【図２６】雛形モジュール確定画面の図である。
【発明を実施するための形態】
【００１５】１．実施例の概要
この発明は、走行ロボットの誘導方法において、誘導を続けられない問題が生じたときに経路情報に基づく走行を一時中断し、やり直し走行、すなわち別に用意した経路情報に基づく走行に切替え、その走行が終了したら元の経路情報に基づく走行に戻る方法の発明である。
【００１６】本発明は、経路情報のティーチングが容易であることによって、いろいろな環境や条件に応じたやり直し走行の経路情報を、最小限の作業量とデータ量で実現することを目的とする。
【００１７】この発明による走行ロボットは、図１に示すように、左右の車輪からなる駆動装置、サインパターン（以下ＳＰと略す）とランドマーク（以下ＬＭと略す）を認識するビデオカメラ、障害物検出システム、障害物と接触したことを検出するバンパーセンサ、目的地または経路を走行ロボットに入力する操作ボックス、およびこれらの装置を制御して目的地まで誘導するコンピュータ、利用者がつかまって歩くためのハンドル、バッテリー等からなる。
【００１８】操作ボックスには電源スイッチ、スタートボタン、メニュー選択ボタン、やり直しボタン、ジョイスッテックがある。スタートボタンは利用者がボタンを押す度にロボットはスタートとストップを繰り返す。メニュー選択ボタンは“前”、“次”“決定”の３つのボタンで構成し。メニューまたはリストを選択する。やり直しボタンは、やり直し走行をするとき押すボタンである。
【００１９】障害物検出システムは図２に示すように、走行ロボットがこれから通過する前方の領域を徐行領域と最徐行領域、停止領域に分ける。徐行領域はそこに障害物があるとき障害物の種類を発声して徐行する領域である。最徐行領域はそこに障害物があるとき障害物の種類を発声して最徐行する領域である。停止領域はそこに障害物があるときは“どいてください”と発話してロボットが停止する領域である。停止してから利用者がボタンを押すと障害物を回避する走行をスタートする。徐行領域の幅は、ロボットの横幅に走行の左右横ぶれを加えた値とする。奥行きは、ロボットが徐行速度で走行したとき、停止命令を受け取って停止するまでの距離を考慮して決める。ただし、左右にスピンターン（その場回転）する場合は図２と異なり、徐行および最徐行領域を左方または右方にとる。
【００２０】左側および右側に回避する空間があるかどうかを示すために、徐行および最徐行領域の左または右側に、左（右）側小回り回避領域、左（右）側中回り回避領域、左（右）側大回り回避領域を設ける。小回り回避領域は、中回り回避領域と大回り回避領域を含み、中回り回避領域は大回り回避領域を含む。
【００２１】このコンピュータのアプリケーションは、誘導およびティーチングシステム、オペレータ入力システム、経路データベースシステムからなる。オペレータ入力システムと経路データベースシステムは、図１に示すように別々のコンピュータにインストールし、走行ロボットの誘導およびティーチングシステムとＬＡＮケーブルでつないで実行しても良い。
【００２２】ティーチングは訓練を受けたオペレータが行う。オペレータは走行ロボットを操作しつつ、オペレータ入力システムの画面の指示に従い、必要なパラメータを入力し、経路情報を作成する。ティーチングを終了した時点でそれを経路データベースに登録する。経路データベースシステムは、経路情報を修正したり、別々の時点で作成した複数の経路をつないで一つ経路情報にしたりするシステムである。誘導システムは、利用者が経路データベースにある経路情報を選んで、その経路情報に基づき出発点から目的地まで誘導するシステムである。
【００２３】走行ロボットは、オペレータが自走すべき経路に沿って少なくとも１回動かして、走行ロボットに経路情報をティーチングすることを前提にしている。ロボットの走行経路は複数のパスと複数のＬＭ、複数のアナウンス情報に分割する。パスは一つの航法で走行する区間と定義する。航法はロボット制御の単位となるモードである。たとえば、航法には前進走行、後退走行、追尾走行、スピンターン、停止などがある。カーブした経路は折れ線で近似し、複数の前進走行のパスで表す。
【００２４】パスは始端と終端で定義する。パス情報の中にＳＰに関する情報、終端ＳＰに関する情報、走行速度、パスが通る通路の幅、およびやり直し走行可否を含ませることができる。ただし後退走行、スピンターンおよび停止は、ＳＰと終端ＳＰを含ませることは出来ない。
【００２５】ＳＰは、ビデオカメラやセンサーが検出する視覚的または音響的特徴で２種類ある。一つは、ロボットがそれに沿って走行する特徴で、たとえば点字ブロック、縁石、白線などである。走行ロボットはこのＳＰに沿って一定間隔を置いて走行することにより、位置ずれを補正する。もう一つはパスの終わりを示す特徴で終端ＳＰと言い、誘導する人が持つマークや左または右側の回避空間（障害物回避が終わってできた空間）などである。
【００２６】ＳＰに関する情報とは、ＳＰを検出する画像処理モジュールと検出パラメータ、パスとＳＰの間隔、およびビデオカメラのパン角チルト角ズームなどである。ＳＰの画像処理モジュールは、たとえば、黄色点字ブロック検出、濃淡点字ブロック検出（色彩を利用しない検出）、道路境界エッジ検出、横断歩道検出、追尾走行用ＱＲコード検出などがある。終端ＳＰの画像処理モジュールは、たとえば黄色警告点字ブロック検出、濃淡警告点字ブロック検出、白色停止線検出、左側回避空間検出、右側回避空間検出、追尾走行終了用ＱＲコード検出などがある。ただし左（右）回避空間は左（右）小回り回避領域の別名である。ＳＰ検出および終端ＳＰ検出モジュールは、各モジュール毎に検出パラメータの雛形を作成し、ティーチングの際には雛形モジュール名を指定する。
【００２７】アナウンス情報は、それが記述された地点にロボットが到着した時に発話する音声案内に関する情報である。
【００２８】ＬＭは、現在位置の確認、ドアの開閉の判定、歩行者信号の判定などに用いる。現在位置の確認にはＬＭとして例えばＱＲコードを用いる。ＱＲコードを出発点や目的地の建物の玄関や出入り口に貼っておき、ロボットが画像処理でそれの位置を検出することにより現在位置を確認する。ＱＲコードは用紙の中央に印刷し左右または上下にＱＲコード探索用の黒い細長の矩形を印刷しラミネートする。ドアの開閉の判定とは、ＱＲコードをドアに貼っておき、それを画像処理で検出できるか否かでドアの開閉を判定することである。歩行者信号の判定とは、画像処理で歩行者信号の色を検出し、青信号か赤信号か、逆光などで信号が検出できない等を判定することである。
【００２９】ＬＭに関する情報は、ＬＭを探索するときの画像処理モジュール、およびビデオカメラのパン角とチルド角、およびズーミングのパラメータ、ＱＲコードが認識できた時に発話するメッセージ、認識出来なかったときに再試行する回数などである。
【００３０】やり直し走行とは、走行ロボットが経路情報に基づいて走行中に、何らかの原因で走行に失敗し経路情報に基づく走行が出来なくなった時に、走行を中断し新たな経路を走行し、その原因がなくなったら、元の経路情報に基づく走行に戻るところの走行をいう。
【００３１】やり直し走行は、ロボットが自動的に行う障害物回避等の走行と、利用者が決めるやり直し走行、例えば道路工事中などで案内する人を追う追尾走行と、店先の商品陳列台やフェンスなどを避けるために、左または右に寄る走行である。
【００３２】やり直し走行は定型経路情報で表現する。定型経路情報とは、経路情報の形式の一つで、経路情報を構成する要素の種類と順序は決まっているが、要素の位置方位などのパラメータの値は実行時に決まる形式を云う。
【００３３】定型経路情報は、ティーチングでその出発点の位置方位を（０，０，０）として作成する。誘導時のロボットの走行軌跡はパスに沿って位置も方位もふらつくので、走行を中断した地点に定型経路情報の出発点が来るようするのではなく、次のようにする。誘導時に始端（Ｘ０，Ｙ０）と終端（Ｘ１，Ｙ１）を結ぶパスを走行して（Ｘｃ，Ｙｃ）に来たとき走行を中断したとする。パスの始端から終端に向かう線分の角度をＤｉｒｐとし、中断点（Ｘｃ，Ｙｃ）から経路情報のパスに下ろした垂線の足を（Ｘ２，Ｙ２）とする。定型経路情報のすべての点の位置方位（ｘｔ，ｙｔ，Ｄｉｒｔ）は、実行時には点（Ｘ２，Ｙ２）に平行移動してＤｉｒｐだけ回転する座標変換を施す。定型経路情報の位置方位（ｘｔ，ｙｔ，Ｄｉｒｔ）から経路情報の座標上の点（Ｘ，Ｙ，Ｄｉｒ）への座標変換は式（１）から式（６）で表される。
2012187698.tif 000003
【００３４】障害物回避におけるやり直し走行は次のように行う。走行ロボットは進路の前方に障害物を検出すると、障害物名、例えば街路樹のようなもの、車のようなものなど、と発話して減速し、更に近づくと音声を大きくして更に減速し、直前まで近づくと一時停止する。障害物検出システムはパスの左側または右側に障害物を回避する空間があるかどうかを検出する。回避する空間がある場合は、走行ロボットは利用者に音声で、障害物回避を実行するか、障害物がどいてくれるまで待つかを尋ねる。ただし、通路幅が狭く回避する空間がない場合は、障害物がどいてくれるまで一時停止を続行する。
【００３５】障害物を回避するやり直し走行は、障害物の手前の横方向移動と障害物を通り越す縦方向移動からなる。横方向移動の程度により大きく回りこむか小さく回りこむかが決まる。図３は障害物回避の定型経路情報の一例である。横方向移動を後退走行パスと前進走行パスの繰り返しで表している。縦方向移動は、左側回避空間検出を終端ＳＰとする前進走行パスで表している。そのパスの終端で元のパスに戻る。定型経路情報を誘導時に実行する場合は、パスの始端、終端、繰り返しの回数などは固定されておらず、障害物検出システムなどの検出データにより決まる。
【００３６】２．経路情報のＸＭＬ表現
ティーチングにおいて入力した経路情報はＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｋｅｕｐ  Ｌａｎｇｕａｓｇｅ）で表現する。
【００３７】タグ：データの種類を示す名札である。英数字で記述しデータの最初と最後を＜／タグ＞と＜タグ／＞で囲む。データは日本語（英数字、仮名、漢字）でも良い。
【００３８】経路情報＜ＰａｔｈＤａｔａ＞：経路情報は、頭部＜Ｈｅａｄｅｒ＞と本体＜Ｂｏｄｙ＞からなる。＜Ｈｅａｄｅｒ＞は、経路名＜ＰａｔｈＮａｍｅ＞と作成日時＜Ｃｄａｔｅ＞からなり、本体は、パス＜Ｐａｔｈ＞、ランドマーク＜ＬＭ＞、アナウンス＜Ａｎｎｏｕｎｃｅ＞の３つの要素の系列からなる。
【００３９】作成日時＜Ｃｄａｔｅ＞：ティーチングで経路情報を作成した日時で、ＳＰやＬＭが季節、時間帯に影響されるので日時が必要である。また、何度かティーチングしたとき、古いデータかどうかをメンテナンス時に知るために必要である。
【００４０】パス＜Ｐａｔｈ＞：パスは、航法＜Ｎａｖｉｇａｔｉｏｎ＞、始端＜Ｐｏｉｎｔ１＞、終端＜Ｐｏｉｎｔ２＞、走行速度＜Ｖｅｌｏｃｉｔｙ＞、通路幅左＜ＬｅｆｔＷｉｄｔｈ＞、通路幅右＜ＲｉｇｈｔＷｉｄｔｈ＞、ＳＰ情報＜ＳＰＩｎｆｏ１＞、終端ＳＰ情報＜ＳＰＩｎｆｏ２＞、やり直し走行可否＜ＲｅｔｒｙＥｎａｂｌｅ＞からなる。
【００４１】始端＜Ｐｏｉｎｔ１＞および終端＜Ｐｏｉｎｔ２＞：＜Ｘ＞，＜Ｙ＞，＜Ｄｉｒ＞の３次元ベクトルで表す。＜Ｘ＞と＜Ｙ＞はロボットの位置を表し、＜Ｄｉｒ＞はロボットの方位を表す。経路の出発点の位置方位を（０，０，０）とする。ただし、Ｙ軸は北方向に、Ｘ方向は東方向にとり、方位を時計回りに測り、位置を緯度経度で表しても良い。
【００４２】通路幅右＜ＬｅｆｔＷｉｄｔｈ＞および通路幅左＜ＲｉｇｈｔＷｉｄｔｈ＞：パスの左側および右側の通路の幅である。片方または両方を省略しても良い。省略すると障害物回避をするに必要な通路の幅がないことを意味する。
【００４３】ＳＰ情報＜ＳＰＩｎｆｏ１＞および終端ＳＰ情報＜ＳＰＩｎｆｏ２＞：検出モジュール名＜Ｍｏｄｕｌｅ＞、パン＜Ｐａｎ＞、チルト＜Ｔｉｌｔ＞、ズーム＜Ｚｏｏｍ＞、検出パラメータのリスト＜Ｐａｒａ＞からなる。パンとチルトはビデオカメラの水平回転角と垂直回転角で、ズームはレンズのズーミングファクターである。パラメータのリストは当該ＳＰを検出する画像処理ソフトのパラメータである。これらの値はティーチングに先立ち実験で定めて雛形を作っておく。ビデオカメラの高さや種類を変えたときは、モジュールはそのままで雛形のパラメータを変えれば良い。
【００４４】やり直し走行可否＜ＲｅｔｅｒｙＥｎａｂｌｅ＞：やり直し走行を許すか否かを可、否で表す。
【００４５】ＬＭ情報＜ＬＭ＞：ＬＭ情報は、モジュール名＜ｍｏｄｕｌｅ＞、観測位置方位＜Ｐｏｉｎｔ＞、相対位置方位＜ＤｅｖＰｏｉｎｔ＞、パン＜Ｐａｎ＞、チルト＜Ｔｉｌｔ＞、ズーム＜Ｚｏｏｍ＞、＜Ｆｏｕｎｄ＞メッセージ、＜ＮｏｔＦｏｕｎｄ＞メッセージ、試行回数＜Ｔｒｙ＞、検出パラメータのリスト＜Ｐａｒａ＞からなる。＜Ｐｏｉｎｔ＞はロボットがＬＭを観測する地点の位置方位で、＜ＤｅｖＰｏｉｎｔ＞は観測点を原点とした時のＬＭの相対位置方位である。＜ＤｅｖＰｏｉｎｔ＞は＜ＤｅｖＸ＞，＜ＤｅｖＹ＞，＜ＤｅｖＤｉｒ＞の３次元ベクトルで表す。ＱＲコードの情報等は＜Ｐａｒａ＞のリストの中に入れる。＜Ｍｅｓｓａｇｅ＞はＬＭが認識できた時発話する。＜Ｔｒｙ＞はＬＭが認識でできない時に再試行する回数である。
【００４６】アナウンス＜Ａｎｎｏｕｎｃｅ＞：メッセージラベル名＜Ｍｅｓｓａｇｅ＞と待ち時間＜Ｗａｉｔ＞からなる。待ち時間は秒分などの時間表示と利用者がボタンを押すまでの条件表示がある。＜Ｍｅｓｓａｇｅ＞は予め登録した音声データの識別子である。
【００４７】ＸＭＬで記述した経路情報の例を図４から図６に示す。経路名はサンプル１で、点字ブロックある歩道で左側と右側の通路幅がそれぞれ１５０ｃｍと５０ｃｍであるパスは点字ブロックの真上に設定する。誘導点字ブロックをＳＰにしてを２０ｍほど時速４ｋｍで警告点字ブロッが検出されるまで直線走行する。このパスの走行中はやり直し走行が可能である。次に前方３ｍで３０度方向にあるＱＲコード“５番”の認識認を行い、ＱＲコードが認識できたら、“ＱＲコード５番が見つかりました”と発話して認識を終了する。認識できないときはその旨発話して再試行を２回まで繰返す。それでも成功しない場合は、ロボットはそこで停止し、やり直しボタンを押して、例えば「救援を待つ」を選択する。ＱＲコードが認識できたら、次に９０度右に角速度２ｋｍ／ｈで旋回し“山梨大学正門です”と発話して３０秒停止して走行を終了する。
【００４８】ＸＭＬで記述した右回り障害物回避の定型経路情報￥右回り障害物中回避を図７から図８に示す。最初は後退走行のパスで、始端は（０，０，０）で終端は（２０，−１００，−１１．５）である。すなわち１ｍ後退し右に２０ｃｍずれる。２番目は前進走行のパスで、始端の位置方位は最初のパスの終端のそれで、終端は（４０，０，１１．５）であり、右に４０ｃｍずれて中断した位置に戻る。この２番目のパスはやり直し走行可能である。３番目のパスは２番目のパスの終端位置を始端（４０，０，１１．５）にして、終端（４０，３００，０）の方向に左側回避空間が検出されるまで、すなわち左側の障害物がなくなるまで走行し、やり直し定型行動を終える。
【００４９】誘導時にパスの走行を中断し、このやり直し定型行動を実行すると、中断した地点から右に４０ｃｍずれて、障害物なくなる地点まで前進し止まる。そのときのロボットの方位は中断したときの方位である。それから中断した元のパスの走行を開始する。ただし、中断したパスの始端から終端までの走行を実行するわけではない。ロボットは左側に空間がある地点まで前進して右に４０ｃｍずれた地点にいるとしてパスの走行を開始するので４０ｃｍのずれは徐々に解消されて元のパスに乗る。終端ＳＰが左側回避空間および右側回避空間の場合はパスの終端はそれが検出された地点の位置である。
【００５０】誘導時に２番目の前進走行のパスを実行中に障害物を検出した場合、すなわち障害物を回避しきれない場合は、やり直し走行が可であるから、再度やり直し走行を実行する、その結果、更に右に４０ｃｍずれる。２０ｃｍ右にずれる定型経路情報と１０ｃｍ右にずれるそれを用意すれば。やり直し定型行動を繰返すことにより小刻みに右にずれて回避することができる。
【００５１】３．ティーチング
ティーチングはデスプレィ画面を通して、走行ロボットとオペレータが会話形式で行う。ディスプレイ画面の例を図９から図１５に示す。ティーチングシステムを起動すると、図９に示すトップ画面を表示してロボットの名称と経路名の入力欄を表示する。入力欄には文字を入力する。ただし、５種類のやり直し走行の定型経路情報名は、出発点から目的地にいたる経路名と区別するため、頭文字は特殊記号、たとえば￥記号とする。入力を受理すると作成日を表示し、「次」もアイコンをクリックすると経路要素選択画面が表示される。
【００５２】図１０に示す要素選択画面は、パス、ランドマーク、アナウンス、終了の５つのメニューを表示する。
【００５３】パスのニューを選択すると、図１１に示すパス設定画面が表示される。この画面は、走行速度、通路幅左、通路幅右、航法、ＳＰ検出雛形、終端ＳＰ検出雛形、やり直し走行可否の７つのアイコンを表示する。各アイコンをクリックすると、数値入力欄またはリスト選択欄を表示する。▽印をクリックするとリストが次々表示される。走行速度は時速キロメートル（ｋｍ／ｈ）の単位で入力する。航法は、前進走行、後退走行、左スピンターン、右スピンターン、追尾走行、停止があり、リストの中から選択する。ＳＰ検出は、ＳＰ検出雛形のリストの中から選択する。終端ＳＰは、終端ＳＰ検出雛形のリストの中から選択する。やり直し走行可否は、交差点を渡る経路などやり直し走行を禁止したいパスでは否とし、通常のパスでは可とする。ロボットをパスの方向に向けて「次」をクリックするとティーチング走行画面を表示する。
【００５４】ロボットは図１２に示すティーチング走行画面を表示し走行を開始する。この画面はパスの始端の座標と方位（Ｘ０，Ｙ０、Ｄｉｒ０）を表示する。そしてＳＰ検出画面と終端ＳＰ検出画面、および現在位置と方位（Ｘ、Ｙ、Ｄｉｒ）の値を時事刻々表示する。ただし、ＳＰがないパスの場合はＳＰ検出画面を表示しない。ロボットがＳＰ検出に成功したらＳＰ認識確定のアイコンをクリックし、終端ＳＰ検出に成功したら終端ＳＰ認識確定のアイコンをクリックする。ロボットは終端ＳＰの位置まで走行して停止し、パスの終端の位置方位と検出に用いたパラメータを経路バッファに記憶する。「次」をクリックすると経路要素選択画面に戻る。
【００５５】後退走行の場合は、オペレータはジョイステックを後ろ向きに走るように操作し、スピンターンの場合は、右または左にその場回転するようにジョイステックを操作する。終端にきたとき、または所望の角度の回転に達したとき、スタートボタンを押してパスの終端に来たことをロボットに知らせる。ロボットはパスの情報を経路バッファに記録する。
【００５６】経路要素選択画面でランドマークのメニューを選択すると、図１３のＬＭ設定画面が表示される。ＬＭ検出は、位置確認、ドアの開閉判定、歩行者信号判定の３つのモジュールの中から選ぶ。オペレータはいずれの場合も走行ロボットをＬＭの観測点に置く。
【００５７】ＬＭ設定画面には、ビデオカメラ制御とＬＭ認識の画面が表示される。前者はビデオカメラのパン、チルト、ズーム角を制御する画面で、アイコンのＲｉｇｈｔ／Ｌｅｆｔをクリックするとパン角が、Ｕｐ／Ｄｏｗｎをクリックするとチルト角が、Ｚｏｏｍ／Ｔｅｌｅをクリックすると広角／望遠の制御がなされる。
【００５８】オペレータは、撮像画面にＬＭが認識しうる大きさで映るようにビデオカメラを制御し、その状態になったら決定のアイコンをクリックする。走行ロボットは、ＬＭの認識に成功すると、図１４に示すＬＭ確定画面が表示される。この画面は、現在位置方位、そのときのパン角、チルト角、ズーム量、ロボットからＬＭまでに相対位置方位を表示する。この値と認識したＱＲコードなどをＬＭ情報として経路バッファに記録する。再試行回数は認識できないときにＬＭ認識を繰り返す回数である。
【００５９】経路要素選択画面でアナウンスを選択すると、図１５のアナウンス設定画面が表示される。その画面にはメッセージラベル名と待ち時間のアイコンが表示される。メッセージラベル名はパスの始端で発話する音声データの名前である。音声データは経路毎にティーチングの前または後で作成し音声データライブラリーに名前を付けて記録して置く。待ち時間は停止なし、スタートボタン押下待ち、指定時間停止（３０秒、１分、５分など）のリストの中から選択する。以上の入力が終了すると、アナウンス情報は経路バッファに記録される。
【００６０】やり直し走行のティーチングは、障害物を回避する幅がある通路で行う。障害物を回避するのに十分な長さ、たとえば１０ｍの経路を設定する。経路の上に障害物を置く。障害物は自動車や段ボール箱なでセンサーが検出できるものなら何でも良い。走行ロボットを経路の方向を向けて障害物を検出して一時停止する位置に置く。
【００６１】右回りで回避する定型経路情報を図３に示す。その経路情報名は￥右中回り障害物回避である。次のようにして生成する。走行ロボットを手動で右斜め方向に後退するパスを作る。次に右斜め方向に前進するパスを作る。次に終端ＳＰが左側回避空間の前進走行パスを作り、障害物の左側に沿って障害物が検出されなくなるまで移動させ、その地点をパスの終端とし、￥右中回り障害物回避の定型経路情報を終了する。実行時には定型経路情報を終了すると中断したパスに戻る。そしてフィードバック制御により大きく離れた地点から自動的に経路に戻ることが出来る。ただし通路幅は元の経路情報のパスの通路幅の値が用いるので定型経路情報で用いるすべて航法のパスの通路幅は記述する必要がない。
【００６２】定型経路情報でやり直し走行を実行しても障害物がまだ前方にある場合は再度やり直し走行の定型経路情報を呼び出し、後退と直進を繰り返し障害物が前方にない地点まで移動し、左側回避空間が検出される地点まで前進走行する。左回りで障害物を回避する定型経路情報も同様な方法でティーチングする。
【００６３】４．誘導
誘導は、経路情報をティーチングした走行ロボットを利用するモードである。利用者が走行ロボットの電源を投入すると、走行ロボットは音声で利用者にどの経路を行くか、または、目的地はどこかと発話する。利用者はメニュー選択ボタンの操作で経路または目的地を選択する。走行ロボットは音声でブレーキおよびクラッチを走行モードにしたらスタートボタンを押すように発話する。
【００６４】利用者がスタートボタンを押すと、走行ロボットは選択された経路または目的地の経路情報を読み出し、最初のパスまたはＬＭから順に走行またはＬＭ認識を実行する。パスの実行において、ＳＰが登録されている場合は、走行ロボットはビデオカメラをティーチングされた方向に向けてＳＰの検出を行う。ＳＰが縁石のような場合は、登録された距離だけ右または左に間隔を置いて経路がある。ＳＰが点字ブロックの場合はＳＰとの距離はゼロで経路は点字ブロックの真中にある。走行ロボットはビデオカメラで検出したＳＰの距離が登録した距離に一致するようにフィードバック制御する。パスの終端の近くに来るとＳＰ検出を中止し終端ＳＰ検出を行いその地点まで走行を続け、そこに到達したら次のパスまたはＬＭ検出に移る。経路情報の最後のパスの目的地に到達すると、その旨発話し誘導を終了する。
【００６５】経路を走行中にパスの前方の徐行領域に障害物が入ると、ロボットは例えば２／３に減速し障害物の名前を発話する、最徐行領域に障害物が入ると例えば１／３に減速し障害物の名前を発話する。停止領域に入ると“どいて下さい”と発話する。
【００６６】走行ロボットは利用者に障害物を回り込んで進むか、障害物がどいてくれるのを待つかをやり直しボタンで選択するように発話する。障害物を回り込んで進むを選択すると、障害物回避の定型経路情報を実行し、障害物を通りすぎたら元の経路に戻る。
【００６７】経路情報にＬＭが登録してある場合は、走行ロボットがその地点に来るとビデオカメラでＬＭを探索し、ＬＭ認識を行い、認識結果を音声で伝える。利用者はＯＫならばスタートボタンを押すと次のパスを実行する。ＬＭが認識できない場合は、やり直しボタンを押すと、ＬＭ認識を行う前のパスの終端にいる状態に戻り、利用者が選んだやり直し定型行動を実行する。
【００６８】ＬＭが歩行者信号の場合は、歩行者信号が赤のとき、赤である旨発話する、そして赤から青に変わったことを検出すると、スタートボタンを押すように発話する。利用者はスタートボタンを押すと走行ロボットは横断歩道を対岸まで走行するパスを実行する。
【００６９】ティーチングのアナウンに記載された地点に来ると音声で登録された音声データを発話する。
【００７０】５．実施例
以下、この発明を視覚障害者を目的地まで誘導する歩行ロボットに適用した実施例についてフローチャートを使って説明する。
【００７１】４．１用語の説明
誘導フラグ（図１６）：誘導処理中はオンになるフラグ（ソフトウエア上のスイッチ）である。ティーチング処理と誘導処理はシステムの一部をソフトウエアの誘導フラグで分岐して異なる処理をする。その箇所は、経路情報の入力の処理と出力処理をするところである。ティーチングの場合は、実行しようとするパスとランドマークをオペレータがそのつど入力するのに対し、誘導ではティーチング処理で登録した経路情報をデータベースから読み出して用いる。入力した経路情報をティーチングでは最後にデータベースに登録するのに対し、誘導では登録はしない。
【００７２】割り込みフラグ（図１８、図２０）：障害物検出システムが障害物を検出して停止したとき、または利用者がやり直しボタンを押しロボットが停止したときオンになるフラグである。フラグのオンとオフは障害物検出サブルーチンの中で行う。
【００７３】中断フラグ（図１６、図１８、図２２）：割込みフラグがオンになり、やり直し走行の条件を満たして、定型経路情報名が確定したときにオンになるフラグである。フラグのオンとオフはパス実行サブルーチンおよびＬＭ認識サブルーチインの中で行う。
【００７４】やり直しフラグ（図１６）：中断フラグがオンになりやり直し走行の処理に入ったときオンになるフラグである。やり直し走行中に新たなやり直し走行を行うときにこのフラグはすでにオンになっている。やり直しフラグのオンとオフは図１６のフローチャート内で行う。
【００７５】徐行領域フラグ、最徐行領域フラグ、停止領域フラグ（図２、図２０）：障害物検出システムがその領域に障害物があるとオンにするフラグである。徐行領域および最徐行領域、停止領域はそれぞれ、そこに障害物があるときロボットが徐行、最徐行、停止する領域である。
【００７６】左側小回り避避領域フラグ、左側中回り回避領域フラグ、左側大回り回避領域フラグ、右側小回り回避領域フラグ、右側中回り回避領域フラグ、右側大回り回避領域フラグ（図２、図２０）：障害物検出システムがその領域に障害物がないときオンのフラグである。左（右）側小回り回避領域は徐行・最徐行領域の左（右）側に接する領域で、そこに障害物がなければそこを走行することができる領域である。左（右）側中回り回避領域は徐行・最徐行領域より少し離れた、たとえば２０ｃｍ離れた領域で、そこに障害物がなければそこをロボットが走行することができる領域である。左（右）側大回り回避領域は徐行・最徐行領域よりさらに離れた、たとえば４０ｃｍ、離れた領域で、そこに障害物がなければそこをロボットが走行することができる領域である。小回り回避領域は中回り回避領域と大回り回避領域を含み、中回り回避領域は大回り回避領域を含む。
【００７７】現在位置方位（図１８、図２１）：ロボットが内界センサー（車輪のエンコーダやジャイロスコープなど）で算出した現地点の位置（Ｘ，Ｙ）とロボットの車体が向いている方位（Ｄｉｒ）をいう。
【００７８】相対方位（図１８、図１９、図２１、図２４）：相対方位は、ロボットの車体が向いている方位Ｄｉｒとパスの軌道の方位Ｄｉｒ０との差を言う。
【００７９】ＳＰ間隔差（図１８、図１９、図２１、図２４）：始端から終端に引いた軌道とＳＰの間隔はティーチング時に登録してある。ＳＰ検出モジュールで検出した間隔の値と登録した間隔の値の差を言う。図２４ではＤｘで表す。
【００８０】ＳＰ相対方位（図１９）：ＳＰ方位とＤｉｒｓｐとロボットの車体の向いている方位との差、Ｄｉｒｓｐ−Ｄｉｒである。
【００８１】前方注視距離（図２１、図２４）：走行ロボットはパスの軌道から横方向ずれをその場で解消するのではなく、前方の一定距離はなれた地点で解消するように制御している。この距離を言う。図２４ではＬで表す。
【００８２】横方向位置ずれ（図２１、図２４）：ＳＰ間隔差に前方注視距離において相対方位による位置ずれを加えた値を言う。図２４ではＤｘ＋Ｌｔａｎ（Ｄｉｒ−Ｄｉｒ０）で表す。
【００８３】終端距離（図１８〜図２０）：現在位置からパス終端までの距離をいう。
【００８４】縦方向位置ずれ（図１８）：終端ＳＰ検出モジュールが計測した終端距離と、内界センサーが算出した現在位置からパス終端までの距離との差を言う。
【００８５】終端ＳＰ距離閾値（［図１９］）：終端ＳＰまでの距離がこの値、例えば５ｃｍ。を下回ったらパスの終端に到達したと判定する閾値を言う。
【００８６】４．２  サブルーチンの説明
図１６から図２２の不ｒ−チャートの中で、サブルーチンまたはシステムの枠は二重線で表し、その名前には下線を付ける。
オペレータ入力サブルーチン（図１６）：ティーチングモード（誘導フラグがオフ）で用いる。オペレータは画面に表示された指示に従い経路情報を入力する。ティーチングを開始した時点では、図９に示す画面の指示に従い経路名を入力すると、それに作成日が付加されて経路バッファに記録される。次からは図９から図１５に示した画面の指示に従い、オペレータは要素の主要なデータを入力する。
【００８７】要素実行サブルーチン（図１６、図１７）：要素を入力しその要素（パス、ランドマーク、アナウンス）を実行する。要素を実行して得られたデータをそれに付加して経路バッファーに追加記録し出力する。誘導時には障害物がどいてくれない時または利用者がやり直しボタンを押した時に一時停止して、中断フラグをオンにして所要のやり直し定型経路情報名を出力する。
【００８８】経路データベース検索サブルーチン（図１６）：誘導モード（誘導フラグがオン）で用いる。経路名または定型経路情報名を入力とし、経路データベースを検索して該当する経路情報または定型経路情報を出力する。
【００８９】パス実行サブルーチン（図１７、図１８）：入力したパスの始端から終端まで走行する。ただし、パスの実行中に障害物に遭遇した場合や、利用者がやり直しボタンを押した場合には、中断フラグをオンにして、定型経路情報名を出力する。
【００９０】ＬＭ認識サブルーチン（図１７、図２２）：入力のＬＭ認識モジュールが歩行者信号判定の場合はビデオカメラを制御して歩行者認識サブルーチンを実行する。このサブルーチンは、画像処理で歩行者信号を認識し状態コード（青信号、赤信号、認識不能）を出力する。本発明では、歩行者信号が赤から青に変わった時点で渡って良いとする戦略をとる。理由は、視覚障害者が聴覚で車の移動方向が変わったことを確認するためと、青信号の点灯時間を最大限利用するためである。フローチャートでは、誘導時に於いて歩行者信号が青で赤信号カウントが１以上のとき、すなわち信号が赤から青に変わったとき、青信号と発話してＬＭ認識サブルーチンの処理を終える。歩行者信号が赤信号の時は、赤信号と発話して赤信号カウントが試行回数に達するまで歩行者信号認識を繰り返す。試行回数まで繰り返しても赤信号のままの場合、および歩行信号の赤も青も認識不能のときは、認識不能と発話する。その後に利用者がやり直しボタンを押すと中断フラグがオンになり、定型経路情報名サブルーチンで最適なやり直し走行を選択して、中断フラグと定型経路情報名を出力して処理を終える。
【００９１】ＬＭ認識モジュールが現在位置確認とドア開閉判定の場合は、ＱＲコード認識サブルーチンを実行する。このサブルーチンはビデオカメラを制御して、画像処理でコード語の認識をする。認識できた時はコード語を発話して要素を経路バッファに追加記録して処理を終える。誘導時に於いて認識出来ない時は、再試行回数だけ認識処理を繰り返し、それでも認識できないときは認識不能と発話する。その後の処理は歩行者信号判定の場合と同じである。
【００９２】音声発話サブルーチン（図１７）：入力のメッセージを発話して、待ち時間を経過してからサブルーチンを抜け出す。アナウンス情報を経路バッファに追加記録し出力する。
【００９３】ＳＰ・終端ＳＰ検出サブルーチン（図１８）：雛形ＳＰ検出モジュールと雛形終端ＳＰ検出モジュールを入力とし、ＳＰ間隔差と相対方位、終端距離を出力する。ＳＰ間隔差は、検出したＳＰの間隔との雛型ＳＰ検出モジュールに記載されたＳＰ間隔の差である。ＳＰ相対方位は、追尾走行の時にのみ利用する。それは検出した終端ＳＰ、すなわちＱＲコードの（ロボットから見た）方向である。
【００９４】障害物検出サブルーチン（図１８、図２０）：このサブルーチンの機能は３つある。一番目はロボットの走行速度の減速である。障害物システムは障害物があれば、それが徐行領域、最徐行領域、停止領域の中のどの領域にあるかを検出し、その結果で走行速度を徐行、最徐行、停止に設定する。二番目は、障害物回避を行うやり直し定型行動を選択することである。障害物が徐行領域にあるとき、左右どちら側に回避すれば良いか、回避する場合は小回りで回避するのか大回りで回避するのかなどを定型経路情報名選択サブルーチンで選ぶ。また、利用者がやり直しボタンを押したときは走行速度をゼロに設定し同様に定型経路情報名選択サブルーチンで選ぶ。また、障害物検出システムは終端ＳＰが左（または右）側回避空間検出のときは左（または右）側小回り回避領域に障害物がないとき現在位置方位をパスの終端にする。三番目は障害物検出システムのデータから障害物の種類を推定し発話することである。障害物の種類は、例えば検出した障害物候補の３次元データの幅と高さから推定する。障害物検出サブルーチンの入力は航法で、出力は割込みフラグと、定型経路情報名、走行速度である。
【００９５】フィードバック制御サブルーチン（図１８、図２１、図２４）：Ｆ０４の位置ずれ算出サブルーチンは推測航法で現在位置方位（Ｘ，Ｙ，Ｄｉｒ）を算出する。そして前方注視距離、例えば２ｍ先で、相対方位（Ｄｉｒ−Ｄｉｒ０）で進んだらどれだけ目標軌道からずれるかを算出し、横位置ずれとする。ただし、Ｄｉｒ０は始端から終端へ引いた軌道の方位である。Ｆ０５の車体制御サブルーチンは横位置ずれを偏差にしてロボットの左右車輪を制御する。追尾走行の場合は画像処理で検出したＳＰ、すなわち追尾走行用ＱＲコード、の方位を相対方位とし、ＳＰ間隔差はゼロとする。このことにより前方注視距離にＱＲコードコードがあるとしてフィードバック制御を行う。
【００９６】定型経路情報名選択サブルーチン（図２０、図２２、図２３）：（左／右側（小／中／大）回り回避領域フラグおよびやり直しボタンを入力として対応する定型経路情報名を出力するサブルーチンである。ただし、やり直しボタンがオンのときは、どのやり直し定型行動をしたいかを図２３に示す定型経路情報名のリストの中から利用者に選択させる。
【００９７】４．３  フローチャートの説明
ティーチングの処理を図１６のフローチャートを用いて説明する。ティーチングを行う晴眼者、例えば歩行訓練士をオペレータという。オペレータは、経路をどのようなパスとランドマークに分解するかをデザインしておき、走行ロボットを出発点に最初のパスの方向を向けて置く。
【００９８】ティーチングは図１６のＡ０１から始まる。Ａ０２で誘導フラグをオフにし、Ａ０３でオペレータは経路名を入力する。Ａ０４の誘導フラグで分岐してオペレータはＡ０５のオペレータ入力システムから要素名とその要素の情報を入力する。オペレータ入力システムは、図９から図１５に示すＰＣ画面の指示に従い要素のデータを入力するシステムである。Ａ０７の要素実行サブルーチンに進む。このサブルーチンで詳細は図１７に示す。サブルーチンの入力は要素で、出力は経路バッファと中断フラグとやり定型経路情報名である。経路バッファにはティ−チングで得た要素のデータを獲得した順に記録する。ティーチング時には中断フラグは常にオフである。Ａ０８で分岐しＡ０４に戻る。このループは、経路の終わりに来てオペレータが要素を空にするまで繰返す。Ａ０９を経て１０で経路バッファを経路データベースに登録し、Ａ１１でティーチング処理を終了する。
【００９９】誘導の処理について説明する。図１６のＡ１３で開始する。Ａ１４で誘導フラグをオンにする。Ａ１５で利用者に経路名を選択するように発話する、Ａ１６で経路データベースを検索し経路名に対応する経路情報を取り出す。Ａ０４の誘導フラグはオンであるからＡ１７で経路情報から要素を取り出す。Ａ０６で要素があれば要素実行サブルーチンに進みその要素を実行する。通常の走行では出力の中断フラグはオフであるからＡ０４に戻る。経路情報の最後まで進むと、Ａ０６で要素がなくなり、Ａ０９を経てＡ１２の判定に進み、やり直し走行ではないので、Ａ１８で目的地に到達した旨発話してＡ１９で誘導処置は終了する。
【０１００】誘導処理でＡ０７の要素実行サブルーチンで要素を実行している最中に、中断フラグがオンになると、Ａ０８を経てＡ２０へ進む。やり直しフラグはオフならばＡ２１に進み、このフラグをオンにする。Ａ２２で中断したパス情報とその経路情報を中断バッファに退避してＡ２３に進む。ただし中断した要素がＬＭの場合は、直前のパス情報を経路バッファに退避する。
【０１０１】Ａ２３は経路情報検索サブルーチンである。このサブルーチンは入力のやり直し定型経路情報名で経路データベースを探索し定型経路情報を出力する。Ａ２４で、中断した地点からパスに下ろした垂線の足の地点に、定型経路情報の出発点が来るように並行移動する。そして定型経路情報の全体を中断したパスの方向に回転する。次にＡ０４に進み、Ａ１７から定型経路情報に基づく誘導を行う。この定型経路情報の最後まで進むとＡ０６でＮｏに分岐し、Ａ０９を経てＡ１２に進みやり直しフラグはオンであるからＡ２５でやり直しフラグをオフにする。そして中断した経路情報とパスを中断バッファから戻して、元の経路情報による走行を続ける。
【０１０２】やり直し行動を実行中はやり直しフラグはオンである。この場合にＡ０７の要素実行サブルーチンが中断フラグをオンにしてやり直し定型経路情報名を出力した時、Ａ２０を経てＡ２３に進む。すなわち、やり直し走行中に新たなやり直し走行を実行しても、それが終わって戻る時のパスは最初に中断した時のパスになる。
【０１０３】図１７の要素実行サブルーチンは要素の種類によって３つのサブルーチンに分かれる。要素がパスならばＢ０３のパス実行サブルーチンを実行する。このサブルーチンは、パス情報に基づいて始端から終端までの軌道の走行を行い終了する。ただし、走行中に障害物に遭遇したりしてやり直しボタンが押されたときは、中断フラグをオンにして走行を中断し、定型経路情報名を出力して終了する。要素がＬＭならばＢ０４のＬＭ認識サブルーチンを実行する。このサブルーチンはＬＭを認識し、認識できた時は認識結果を発話して終了する。認識できない時は再試行回数だけ認識を繰り返す。それでも認識できない時は、利用者がやり直しボタンを押して定型経路情報名を選択し、中断フラグをオンにして終了する。要素がアナウンスならば、音声発話サブルーチンを実行し、メッセージを発話して、待ち時間を経過したら終了する。いずれのサブルーチンでもその実行により得た要素の情報を経路バッファに追加記録する。
【０１０４】図１８のパス実行サブルーチンは、最初にＣ０２の航法で３つの処理グループに分かれる。第１グループは前進走行、バック走行、追尾走行からなる。第２グループは左スピンターンと右スピンターンからなり、第３グループは停止からなる。
【０１０５】第１グループはＣ０３でパスの始端と終端を結ぶ目標軌道を作成する。Ｃ０４で中断フラグをオフにし、Ｃ０５のＳＰ・終端ＳＰ検出サブルーチンに進む。このサブルーチンはＳＰ検出モジュールと終端ＳＰ検出モジュールを起動する。ＳＰ検出モジュールは、当該ＳＰを認識し、ＳＰとパスとの間隔を検出する。その間隔とティーチングで登録したそれとの差をＳＰ間隔差として算出する。一方終端ＳＰ検出モジュールはその終端ＳＰのまでの距離を検出し、その距離を終端距離とする。このサブルーチンはＳＰ検出モジュールと終端ＳＰ検出モジュールを入力とし、ＳＰ間隔差と終端距離を出力しＣ０６の障害物検出サブルーチンに進む。
【０１０６】Ｃ０６の障害物検出サブルーチンは、障害物検出システムが障害物を検出すると、その位置により走行速度を徐行速度、最徐行速度、停止（走行速度＝０）に設定する。障害物がなくても利用者がやり直しボタンを押すと停止する。やり直しボタンを押すと割込みフラグがオンになり定型経路情報名を出力しサブルーチンを終了する。
【０１０７】Ｃ０７で割込みフラグがオンのとき、定型経路情報の有無を調べ、有れば次に回避する道路幅が有るか否かを調べて、利用者が再度やり直しボタンを押したら中断フラグをオンにし、定型経路情報名を出力しパス実行サブルーチンを終了する。やり直しボタンを再度押さなければＣ０６の障害物検出サブルーチンに戻り、障害物が退いてくれるまで障害物検出を繰返す。また定型経路情報名が無い時および道路幅が狭いときは、障害物回避が出来ない旨発話し同様にＣ０６の障害物検出サブルーチンに戻る。
【０１０８】割込みフラグがオフの時にはＣ０８のフィードバック制御サブルーチンを実行する。走行速度がゼロの時は何もしないで終了する。パスの始端と終端を結ぶ軌道を目標値として、前方注視距離における横方向位置ずれを偏差にして走行速度でフィードバック制御をする。そしてＣ０９で終端までの距離が終端閾値より大きいときはＣ０５にもどり、小さくなったらＣ１０で現在位置の縦方向位置ずれを補正し、Ｃ２０で要素を経路バッファに追加記録しパス実行サブルーチンを終了する。
【０１０９】航法が左または右スピンターンの場合はＣ１７で左右の車輪は互いに逆方向に指定された角度だけその場回転し、サブルーチンを終了する。回転中に障害物を検出するとＣ１８の障害物検出サブルーチンで割込みフラグがオンになりＣ１３のやり直しボタン押下の判定に進みパス実行サブルーチンを終了する。
【０１１０】航法が停止の場合は走行を停止しスタートボタンが押されるとパス実行サブルーチンを終了し、次の要素の実行に移る。
【０１１１】図１９のＳＰ・終端ＳＰサブルーチンは終端距離が終端ＳＰ閾値より短ければこのサブルーチンを終了する。そうでなければＳＰモジュールを起動し、ＳＰが検出できない時はＤ０９に進む。検出できたときはＤ０５に進む。航法が追尾走行の場合は、ＳＰは追尾走行用ＱＲコードであり、Ｄ０７でそのＳＰ相対方位を検出しその値を相対方位する。追尾走行でない場合は、Ｄ０８で相対方位とＳＰ間隔差を算出する。そしてＤ０９に進む。
【０１１２】Ｄ０９で終端ＳＰモジュールを起動する。追尾走行の終端ＳＰは追尾走行終了用ＱＲコードである。ＱＲコードが追尾走行用から終了用に変わった地点で終端距離をゼロにしパスの終端とする。航法が追尾走行でないときは終端ＳＰまでの距離を終端距離とし、終端ＳＰが検出できないときは、終端距離を現地点からパス終端までの距離とし、サブルーチンを終了する。
【０１１３】図２０の障害物検出サブルーチンは、Ｅ０２で割込みフラグをオフにする。そして障害物検出システムから障害物データを受取る。ロボットの進行方向の領域を徐行領域と、最徐行領域、停止領域に分け、その領域に障害物があればその領域フラグをオンにする。この徐行・停止領域の左側および右側に小回り回避領域と中回り回避領域、大回り回避領域を設ける。それぞれの回避領域に障害物がなければ、その回避領域フラグをオンにする。
【０１１４】やり直し定型経路情報では障害物を回避して元の経路に戻る際に、前進走行のパスを用い、その終端ＳＰを左または右側回避空間検出とする。左まらは右側小回り回避領域フラグがオンのとき、終端距離をゼロにする。すなわち、障害物を回避するパスの終端に到達したとする。
【０１１５】ロボットが前進して障害物が停止領域にまで来ると、障害物に前方の視野が遮られ、障害物の左右どちら側に回避空間があるのか分からなくなる。そこで障害物が徐行領域に入った地点で、大回りに回避するか小回りに回避するか、その定型経路情報名をＥ１５の定型経路情報名選択サブルーチンで選んでおく。ただし実際に割込みフラグをオンにするのは、停止領域フラグがオンになった地点Ｅ０８である。また、障害物の有無にかかわらず、利用者がやり直しボタンを押すと走行速度をゼロにしてＥ１５で定型経路情報名を選択する。Ｅ０７からＥ１１で徐行、最徐行、停止領域フラグがオンのとき、それぞれの走行速度を設定し障害物名を発話あるいは警告音を鳴らし、サブルーチンを終了する。
【０１１６】図２１のフィードバック制御サブルーチンは、追尾走行のときはＳＰ間隔差をゼロにする。Ｆ０４の位置ずれ算出サブルーチンで前方注視距離における横方向位置ずれを算出する。次にＦ０５の車体制御で速度制御と横方向位置ずれを偏差にし、パス軌道を目標値にしたフィードバック制御を行う。
【０１１７】４．４  雛形モジュールの説明
ＳＰと終端ＳＰ検出モジュールはシステム開発者が作成する。例えば、図２５に示す画面で２つのモジュール名を入力し、パラメータとしてＳＰとパスの間隔を入力する。間隔はＳＰがパスの右にあるか左にあるかを値の正負で識別する。次をクリックすると図２６に示す画面が表示される。ロボットはテスト走行距離を走行し、ＳＰと終端ＳＰ検出モジュールを起動する。ビデオカメラ制御のアイコンでビデオカメラを操作すると画面が出る。検出に成功した時は「決定」のアイコンをクリックすると、そのときのパン・チルト・ズーム角とＰａｒａ１からＰａｒａ３の検出閾値が雛形モジュールの値として記録される。検出に失敗したときは、ビデオカメラ制御と検出閾値を変えて「戻る」をクリックして検出に成功するまで繰り返す。
【０１１８】図４の＜ＳＰＩｎｆｏ１＞から図５の＜／ＳＰＩｎｆｏ２＞までの行は図２５、図２６で入力した誘導点字ブロック検出と警告点字ブロックの雛形のＸＭＬ表現である。
【図１】
2012187698.tif 000004
【図２】
2012187698.tif 000005
【図３】
2012187698.tif 000006
【図４】
2012187698.tif 000007
【図５】
2012187698.tif 000008
【図６】
2012187698.tif 000009
【図７】
2012187698.tif 000010
【図８】
2012187698.tif 000011
【図９】
2012187698.tif 000012
【図１０】
2012187698.tif 000013
【図１１】
2012187698.tif 000014
【図１２】
2012187698.tif 000015
【図１３】
2012187698.tif 000016
【図１４】
2012187698.tif 000017
【図１５】
2012187698.tif 000018
【図１６】
2012187698.tif 000019
【図１７】
2012187698.tif 000020
【図１８】
2012187698.tif 000021
【図１９】
2012187698.tif 000022
【図２０】
2012187698.tif 000023
【図２１】
2012187698.tif 000024
【図２２】
2012187698.tif 000025
【図２３】
2012187698.tif 000026
【図２４】
2012187698.tif 000027
【図２５】
2012187698.tif 000028
【図２６】
2012187698.tif 000029