走行ロボットのやり直し走行、そのティーチング方法および制御方法
【課題】パスとランドマークの系列からなる経路情報に基づいて出発点から目的地点まで移動する歩行ロボットが、経路上にある障害物や道路工事中の箇所に遭遇したとき、走行できなくなる。そこで、経路情報に基づく走行を中断し、走行をやり直してから元の経路に戻る方法が課題である。
【解決手段】走行をやり直す方法を定型経路情報で表し、ティーチングで作成する。定型経路情報とは、経路情報を構成するパスやランドマークの種類や順序は決まっているが、パスの始端・終端の位置方位などの値は、実行時のセンサーのデータや通路幅などによって決まる形式の経路情報を言う。
【効果】走行ロボットの車体やセンサー、コンピュータなどは常に改良されて行く。改良の度にソフトウエアを修正する労力と現場でテストするのは大変である。本発明は、定型経路情報をティーチングにより改良するだけで良いので、労力と手間が大幅に少なくなる。
【解決手段】走行をやり直す方法を定型経路情報で表し、ティーチングで作成する。定型経路情報とは、経路情報を構成するパスやランドマークの種類や順序は決まっているが、パスの始端・終端の位置方位などの値は、実行時のセンサーのデータや通路幅などによって決まる形式の経路情報を言う。
【効果】走行ロボットの車体やセンサー、コンピュータなどは常に改良されて行く。改良の度にソフトウエアを修正する労力と現場でテストするのは大変である。本発明は、定型経路情報をティーチングにより改良するだけで良いので、労力と手間が大幅に少なくなる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は人が生活する、あるいは作業する場所で動く走行ロボット、たとえば建設現場で自走する建設用ロボット、農薬の散布、その他の作業のため用いられる農業用ロボット、視覚障害者や高齢者などを目的地まで誘導する歩行ガイドロボット(盲導犬ロボット)、その他の自走するロボットに関し、ロボットが経路情報に基づく走行に失敗したとき、あるいは障害物や道路工事などで経路情報に基づく走行が出来なくなった時に走行をやり直すことに関する。
【背景技術】
【0002】
従来の走行ロボットは、出発点から目的地までロボットが走行する経路情報を二次元座標上の始端と終端を結ぶパスの系列で表したり(たとえば特許文献1)、または点系列で表したり(例えば特許文献2および3)している。そしてその経路情報のパスの系列または点の系列を、ロボットがその経路に沿って移動して経路のデータを取得している。この方法では障害物に遭遇したり、道路工事中の箇所に来たとき、ティーチングで得た経路情報に基づく走行は出来なくなる。
【先行技術文献】
【0003】
【特許文献1】特許第377083号(特開2002−207516)「走行ロボット、そのティーチング方法および制御方法
【特許文献2】特開平9−198133号公報
【特許文献3】特開2000−132229号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
歩行ロボットが経路上にある障害物に遭遇したり、道路工事中の箇所に遭遇したとき、走行を中断しなければならない。そこで、経路に沿う走行を中断し、走行をやり直してから元の経路に戻る方法が課題である。
【0005】
また、歩行ロボットが経路情報に基づき、屋外の凹凸のある路面や屋内のリノリウムの床面などを走行するとき、車輪の空転やスリップにより位置制御の誤差が生じ、車輪が縁石やフェンスをこすったり、壁や柱と接触したりして、走行ができなくなることがある。このような場合に、経路に沿う走行を中断し、走行をやり直す方法が課題である。
【0006】
やり直す方法は通路の幅や傾斜、交差点の形状などの走行環境と障害物の大きさなどの違いで様々なバリエーションが存在する。そのバリエーションをロボットのシステム上でどのように表現するかが課題である。
【0007】
やり直す方法をロボットで実現したき、現場にロボットを持っていき実際に走行して、問題点があれば改良しなければならない。この試行錯誤を簡単に行う方法が課題である。
【課題を解決するための手段】
【0008】
走行ロボットのやり直し走行は、通路の幅や障害物の大きさなどにより何通りかの方法で表わすことが出来る。本発明は走行ロボットがフェンスや入り口の壁などに近寄りすぎたとき、あるいは障害物に遭遇したとき、障害物検出システムが検出したフェンスや障害物の位置情報と、経路情報に記載した情報に基づき、あらかじめ作成したやり直し走行の中からシステムが選択して利用者に示し、利用者にそれを実行するか否かを問い、利用者がやり直しのボタンを押すと、目的地に至る経路の走行を中断してやり直し走行を実行し、終了したら元の経路に戻る方法である。
【0009】
また本発明は、走行ロボットが工事中などの箇所に来きたとき経路情報に基づく走行を中断し、作業員などの誘導により工事中の箇所を回りこんで走行し、元の経路情報に基づく走行に戻るところの、やり直し走行の方法である。
【0010】
やり直し走行はパス、ランドマーク、アナウンス情報を要素とする経路情報で記述する。やり直し走行の経路は、たとえば障害物回避ならば障害物の位置や大きさ、道路の幅などによりその時その時で変わる。道路工事箇所を回避する走行なども同様である。そこで、センサーのデータや道幅などの走行環境のデータによって調節される経路情報の定型パターンが必要である。ここで定型パターンとは、経路情報を構成する要素の種類と順序は決まっているが、要素の位置方位などのパラメータの値は実行時のセンサーのデータによって決まる経路情報を云う。以下定型経路情報という。
【0011】
定型経路情報をティーチングで作成することにより、作成からテストまでの手間と時間を減らすことができる。これによりやり直し走行を簡単に改良できる。
【発明の効果】
【0012】
走行ロボットの車体やセンサー、コンピュータなどの進歩は著しく、常に改良されて行く。そのたびにソフトウエアを改良する労力と現場でテストする手間は大変である。それに比べると、本発明の方法はソフトウエアを変えずに、定型経路情報をティーチングにより変えて、テストして不具合があればティーチングをやり直すことにより改良ができるので、労力と手間が大幅に少なくなる。また、定型経路情報のライブラリを作ることにより、日常的に単独歩行をする視覚障害者や歩行訓練士のノウハウを蓄積することができる。
【0013】
ロボットが斜めに傾斜した通路を走行したり、障害物を回避しようとすると。cm単位の走行精度が要求される。凸凹道や斜めに傾斜した通路で走行精度を上げるためには、車体のバネやダンパーを工夫しセンサーが安定するように機構を改良しなければならならず、コストが上昇する。やり直し走行の機能がロボットにあれば、センサーで異常を検出したとき、あるいは利用者が異常に気づいた時に、やり直し走行を実行すれば良いので大幅な機構の改良をしなくても良くなり、コストを抑えることが出来る。
【図面の簡単な説明】
【0014】
【図1】走行ロボットの構成を示す概念図である。
【図2】障害物検出システムの検出領域の図である。
【図3】障害物を回避するやり直し走行のパスの図である。
【図4】XMLで記述した経路情報の一例を示す。
【図5】XMLで記述した経路情報の一例を示す。
【図6】XMLで記述した経路情報の一例を示す。
【図7】XMLで記述した定型経路情報の一例を示す。
【図8】XMLで記述した定型経路情報の一例を示す。
【図9】ティーチングのトップ画面である。
【図10】ティーチングのルート要素選択画面である。
【図11】ティーチングのパス設定画面である。
【図12】ティーチング走行の画面である。
【図13】ティーチングのLM設定画面である。
【図14】ティーチングのLM確定画面である。
【図15】ティーチングのアナウンス設定画面である。
【図16】ティーチングおよび誘導処理の全体を示すフローチャートである。
【図17】要素実行サブルーチンの処理を示すフローチャートである。
【図18】パス実行サブルーチンの処理を示すフローチャートである。
【図19】SP・終端SPサブルーチンの処理を示すフローチャートである。
【図20】障害物検出サブルーチンの処理を示すフローチャートである。
【図21】フィードバック制御サブルーチンの処理を示すフローチャートである。
【図22】LM認識サブルーチンの処理を示すフローチャートである。
【図23】定型経路情報名の一覧表の一例である。
【図24】横方向位置ずれ算出を説明する図である。
【図25】雛形モジュール設定画面の図である。
【図26】雛形モジュール確定画面の図である。
【発明を実施するための形態】
【0015】
1.実施例の概要
この発明は、走行ロボットの誘導方法において、誘導を続けられない問題が生じたときに経路情報に基づく走行を一時中断し、やり直し走行、すなわち別に用意した経路情報に基づく走行に切替え、その走行が終了したら元の経路情報に基づく走行に戻る方法の発明である。
【0016】
本発明は、経路情報のティーチングが容易であることによって、いろいろな環境や条件に応じたやり直し走行の経路情報を、最小限の作業量とデータ量で実現することを目的とする。
【0017】
この発明による走行ロボットは、図1に示すように、左右の車輪からなる駆動装置、サインパターン(以下SPと略す)とランドマーク(以下LMと略す)を認識するビデオカメラ、障害物検出システム、障害物と接触したことを検出するバンパーセンサ、目的地または経路を走行ロボットに入力する操作ボックス、およびこれらの装置を制御して目的地まで誘導するコンピュータ、利用者がつかまって歩くためのハンドル、バッテリー等からなる。
【0018】
操作ボックスには電源スイッチ、スタートボタン、メニュー選択ボタン、やり直しボタン、ジョイスッテックがある。スタートボタンは利用者がボタンを押す度にロボットはスタートとストップを繰り返す。メニュー選択ボタンは“前”、“次”“決定”の3つのボタンで構成し。メニューまたはリストを選択する。やり直しボタンは、やり直し走行をするとき押すボタンである。
【0019】
障害物検出システムは図2に示すように、走行ロボットがこれから通過する前方の領域を徐行領域と最徐行領域、停止領域に分ける。徐行領域はそこに障害物があるとき障害物の種類を発声して徐行する領域である。最徐行領域はそこに障害物があるとき障害物の種類を発声して最徐行する領域である。停止領域はそこに障害物があるときは“どいてください”と発話してロボットが停止する領域である。停止してから利用者がボタンを押すと障害物を回避する走行をスタートする。徐行領域の幅は、ロボットの横幅に走行の左右横ぶれを加えた値とする。奥行きは、ロボットが徐行速度で走行したとき、停止命令を受け取って停止するまでの距離を考慮して決める。ただし、左右にスピンターン(その場回転)する場合は図2と異なり、徐行および最徐行領域を左方または右方にとる。
【0020】
左側および右側に回避する空間があるかどうかを示すために、徐行および最徐行領域の左または右側に、左(右)側小回り回避領域、左(右)側中回り回避領域、左(右)側大回り回避領域を設ける。小回り回避領域は、中回り回避領域と大回り回避領域を含み、中回り回避領域は大回り回避領域を含む。
【0021】
このコンピュータのアプリケーションは、誘導およびティーチングシステム、オペレータ入力システム、経路データベースシステムからなる。オペレータ入力システムと経路データベースシステムは、図1に示すように別々のコンピュータにインストールし、走行ロボットの誘導およびティーチングシステムとLANケーブルでつないで実行しても良い。
【0022】
ティーチングは訓練を受けたオペレータが行う。オペレータは走行ロボットを操作しつつ、オペレータ入力システムの画面の指示に従い、必要なパラメータを入力し、経路情報を作成する。ティーチングを終了した時点でそれを経路データベースに登録する。経路データベースシステムは、経路情報を修正したり、別々の時点で作成した複数の経路をつないで一つ経路情報にしたりするシステムである。誘導システムは、利用者が経路データベースにある経路情報を選んで、その経路情報に基づき出発点から目的地まで誘導するシステムである。
【0023】
走行ロボットは、オペレータが自走すべき経路に沿って少なくとも1回動かして、走行ロボットに経路情報をティーチングすることを前提にしている。ロボットの走行経路は複数のパスと複数のLM、複数のアナウンス情報に分割する。パスは一つの航法で走行する区間と定義する。航法はロボット制御の単位となるモードである。たとえば、航法には前進走行、後退走行、追尾走行、スピンターン、停止などがある。カーブした経路は折れ線で近似し、複数の前進走行のパスで表す。
【0024】
パスは始端と終端で定義する。パス情報の中にSPに関する情報、終端SPに関する情報、走行速度、パスが通る通路の幅、およびやり直し走行可否を含ませることができる。ただし後退走行、スピンターンおよび停止は、SPと終端SPを含ませることは出来ない。
【0025】
SPは、ビデオカメラやセンサーが検出する視覚的または音響的特徴で2種類ある。一つは、ロボットがそれに沿って走行する特徴で、たとえば点字ブロック、縁石、白線などである。走行ロボットはこのSPに沿って一定間隔を置いて走行することにより、位置ずれを補正する。もう一つはパスの終わりを示す特徴で終端SPと言い、誘導する人が持つマークや左または右側の回避空間(障害物回避が終わってできた空間)などである。
【0026】
SPに関する情報とは、SPを検出する画像処理モジュールと検出パラメータ、パスとSPの間隔、およびビデオカメラのパン角チルト角ズームなどである。SPの画像処理モジュールは、たとえば、黄色点字ブロック検出、濃淡点字ブロック検出(色彩を利用しない検出)、道路境界エッジ検出、横断歩道検出、追尾走行用QRコード検出などがある。終端SPの画像処理モジュールは、たとえば黄色警告点字ブロック検出、濃淡警告点字ブロック検出、白色停止線検出、左側回避空間検出、右側回避空間検出、追尾走行終了用QRコード検出などがある。ただし左(右)回避空間は左(右)小回り回避領域の別名である。SP検出および終端SP検出モジュールは、各モジュール毎に検出パラメータの雛形を作成し、ティーチングの際には雛形モジュール名を指定する。
【0027】
アナウンス情報は、それが記述された地点にロボットが到着した時に発話する音声案内に関する情報である。
【0028】
LMは、現在位置の確認、ドアの開閉の判定、歩行者信号の判定などに用いる。現在位置の確認にはLMとして例えばQRコードを用いる。QRコードを出発点や目的地の建物の玄関や出入り口に貼っておき、ロボットが画像処理でそれの位置を検出することにより現在位置を確認する。QRコードは用紙の中央に印刷し左右または上下にQRコード探索用の黒い細長の矩形を印刷しラミネートする。ドアの開閉の判定とは、QRコードをドアに貼っておき、それを画像処理で検出できるか否かでドアの開閉を判定することである。歩行者信号の判定とは、画像処理で歩行者信号の色を検出し、青信号か赤信号か、逆光などで信号が検出できない等を判定することである。
【0029】
LMに関する情報は、LMを探索するときの画像処理モジュール、およびビデオカメラのパン角とチルド角、およびズーミングのパラメータ、QRコードが認識できた時に発話するメッセージ、認識出来なかったときに再試行する回数などである。
【0030】
やり直し走行とは、走行ロボットが経路情報に基づいて走行中に、何らかの原因で走行に失敗し経路情報に基づく走行が出来なくなった時に、走行を中断し新たな経路を走行し、その原因がなくなったら、元の経路情報に基づく走行に戻るところの走行をいう。
【0031】
やり直し走行は、ロボットが自動的に行う障害物回避等の走行と、利用者が決めるやり直し走行、例えば道路工事中などで案内する人を追う追尾走行と、店先の商品陳列台やフェンスなどを避けるために、左または右に寄る走行である。
【0032】
やり直し走行は定型経路情報で表現する。定型経路情報とは、経路情報の形式の一つで、経路情報を構成する要素の種類と順序は決まっているが、要素の位置方位などのパラメータの値は実行時に決まる形式を云う。
【0033】
定型経路情報は、ティーチングでその出発点の位置方位を(0,0,0)として作成する。誘導時のロボットの走行軌跡はパスに沿って位置も方位もふらつくので、走行を中断した地点に定型経路情報の出発点が来るようするのではなく、次のようにする。誘導時に始端(X0,Y0)と終端(X1,Y1)を結ぶパスを走行して(Xc,Yc)に来たとき走行を中断したとする。パスの始端から終端に向かう線分の角度をDirpとし、中断点(Xc,Yc)から経路情報のパスに下ろした垂線の足を(X2,Y2)とする。定型経路情報のすべての点の位置方位(xt,yt,Dirt)は、実行時には点(X2,Y2)に平行移動してDirpだけ回転する座標変換を施す。定型経路情報の位置方位(xt,yt,Dirt)から経路情報の座標上の点(X,Y,Dir)への座標変換は式(1)から式(6)で表される。
【0034】
障害物回避におけるやり直し走行は次のように行う。走行ロボットは進路の前方に障害物を検出すると、障害物名、例えば街路樹のようなもの、車のようなものなど、と発話して減速し、更に近づくと音声を大きくして更に減速し、直前まで近づくと一時停止する。障害物検出システムはパスの左側または右側に障害物を回避する空間があるかどうかを検出する。回避する空間がある場合は、走行ロボットは利用者に音声で、障害物回避を実行するか、障害物がどいてくれるまで待つかを尋ねる。ただし、通路幅が狭く回避する空間がない場合は、障害物がどいてくれるまで一時停止を続行する。
【0035】
障害物を回避するやり直し走行は、障害物の手前の横方向移動と障害物を通り越す縦方向移動からなる。横方向移動の程度により大きく回りこむか小さく回りこむかが決まる。図3は障害物回避の定型経路情報の一例である。横方向移動を後退走行パスと前進走行パスの繰り返しで表している。縦方向移動は、左側回避空間検出を終端SPとする前進走行パスで表している。そのパスの終端で元のパスに戻る。定型経路情報を誘導時に実行する場合は、パスの始端、終端、繰り返しの回数などは固定されておらず、障害物検出システムなどの検出データにより決まる。
【0036】
2.経路情報のXML表現
ティーチングにおいて入力した経路情報はXML(Extensible Makeup Languasge)で表現する。
【0037】
タグ:データの種類を示す名札である。英数字で記述しデータの最初と最後を</タグ>と<タグ/>で囲む。データは日本語(英数字、仮名、漢字)でも良い。
【0038】
経路情報<PathData>:経路情報は、頭部<Header>と本体<Body>からなる。<Header>は、経路名<PathName>と作成日時<Cdate>からなり、本体は、パス<Path>、ランドマーク<LM>、アナウンス<Announce>の3つの要素の系列からなる。
【0039】
作成日時<Cdate>:ティーチングで経路情報を作成した日時で、SPやLMが季節、時間帯に影響されるので日時が必要である。また、何度かティーチングしたとき、古いデータかどうかをメンテナンス時に知るために必要である。
【0040】
パス<Path>:パスは、航法<Navigation>、始端<Point1>、終端<Point2>、走行速度<Velocity>、通路幅左<LeftWidth>、通路幅右<RightWidth>、SP情報<SPInfo1>、終端SP情報<SPInfo2>、やり直し走行可否<RetryEnable>からなる。
【0041】
始端<Point1>および終端<Point2>:<X>,<Y>,<Dir>の3次元ベクトルで表す。<X>と<Y>はロボットの位置を表し、<Dir>はロボットの方位を表す。経路の出発点の位置方位を(0,0,0)とする。ただし、Y軸は北方向に、X方向は東方向にとり、方位を時計回りに測り、位置を緯度経度で表しても良い。
【0042】
通路幅右<LeftWidth>および通路幅左<RightWidth>:パスの左側および右側の通路の幅である。片方または両方を省略しても良い。省略すると障害物回避をするに必要な通路の幅がないことを意味する。
【0043】
SP情報<SPInfo1>および終端SP情報<SPInfo2>:検出モジュール名<Module>、パン<Pan>、チルト<Tilt>、ズーム<Zoom>、検出パラメータのリスト<Para>からなる。パンとチルトはビデオカメラの水平回転角と垂直回転角で、ズームはレンズのズーミングファクターである。パラメータのリストは当該SPを検出する画像処理ソフトのパラメータである。これらの値はティーチングに先立ち実験で定めて雛形を作っておく。ビデオカメラの高さや種類を変えたときは、モジュールはそのままで雛形のパラメータを変えれば良い。
【0044】
やり直し走行可否<ReteryEnable>:やり直し走行を許すか否かを可、否で表す。
【0045】
LM情報<LM>:LM情報は、モジュール名<module>、観測位置方位<Point>、相対位置方位<DevPoint>、パン<Pan>、チルト<Tilt>、ズーム<Zoom>、<Found>メッセージ、<NotFound>メッセージ、試行回数<Try>、検出パラメータのリスト<Para>からなる。<Point>はロボットがLMを観測する地点の位置方位で、<DevPoint>は観測点を原点とした時のLMの相対位置方位である。<DevPoint>は<DevX>,<DevY>,<DevDir>の3次元ベクトルで表す。QRコードの情報等は<Para>のリストの中に入れる。<Message>はLMが認識できた時発話する。<Try>はLMが認識でできない時に再試行する回数である。
【0046】
アナウンス<Announce>:メッセージラベル名<Message>と待ち時間<Wait>からなる。待ち時間は秒分などの時間表示と利用者がボタンを押すまでの条件表示がある。<Message>は予め登録した音声データの識別子である。
【0047】
XMLで記述した経路情報の例を図4から図6に示す。経路名はサンプル1で、点字ブロックある歩道で左側と右側の通路幅がそれぞれ150cmと50cmであるパスは点字ブロックの真上に設定する。誘導点字ブロックをSPにしてを20mほど時速4kmで警告点字ブロッが検出されるまで直線走行する。このパスの走行中はやり直し走行が可能である。次に前方3mで30度方向にあるQRコード“5番”の認識認を行い、QRコードが認識できたら、“QRコード5番が見つかりました”と発話して認識を終了する。認識できないときはその旨発話して再試行を2回まで繰返す。それでも成功しない場合は、ロボットはそこで停止し、やり直しボタンを押して、例えば「救援を待つ」を選択する。QRコードが認識できたら、次に90度右に角速度2km/hで旋回し“山梨大学正門です”と発話して30秒停止して走行を終了する。
【0048】
XMLで記述した右回り障害物回避の定型経路情報¥右回り障害物中回避を図7から図8に示す。最初は後退走行のパスで、始端は(0,0,0)で終端は(20,−100,−11.5)である。すなわち1m後退し右に20cmずれる。2番目は前進走行のパスで、始端の位置方位は最初のパスの終端のそれで、終端は(40,0,11.5)であり、右に40cmずれて中断した位置に戻る。この2番目のパスはやり直し走行可能である。3番目のパスは2番目のパスの終端位置を始端(40,0,11.5)にして、終端(40,300,0)の方向に左側回避空間が検出されるまで、すなわち左側の障害物がなくなるまで走行し、やり直し定型行動を終える。
【0049】
誘導時にパスの走行を中断し、このやり直し定型行動を実行すると、中断した地点から右に40cmずれて、障害物なくなる地点まで前進し止まる。そのときのロボットの方位は中断したときの方位である。それから中断した元のパスの走行を開始する。ただし、中断したパスの始端から終端までの走行を実行するわけではない。ロボットは左側に空間がある地点まで前進して右に40cmずれた地点にいるとしてパスの走行を開始するので40cmのずれは徐々に解消されて元のパスに乗る。終端SPが左側回避空間および右側回避空間の場合はパスの終端はそれが検出された地点の位置である。
【0050】
誘導時に2番目の前進走行のパスを実行中に障害物を検出した場合、すなわち障害物を回避しきれない場合は、やり直し走行が可であるから、再度やり直し走行を実行する、その結果、更に右に40cmずれる。20cm右にずれる定型経路情報と10cm右にずれるそれを用意すれば。やり直し定型行動を繰返すことにより小刻みに右にずれて回避することができる。
【0051】
3.ティーチング
ティーチングはデスプレィ画面を通して、走行ロボットとオペレータが会話形式で行う。ディスプレイ画面の例を図9から図15に示す。ティーチングシステムを起動すると、図9に示すトップ画面を表示してロボットの名称と経路名の入力欄を表示する。入力欄には文字を入力する。ただし、5種類のやり直し走行の定型経路情報名は、出発点から目的地にいたる経路名と区別するため、頭文字は特殊記号、たとえば¥記号とする。入力を受理すると作成日を表示し、「次」もアイコンをクリックすると経路要素選択画面が表示される。
【0052】
図10に示す要素選択画面は、パス、ランドマーク、アナウンス、終了の5つのメニューを表示する。
【0053】
パスのニューを選択すると、図11に示すパス設定画面が表示される。この画面は、走行速度、通路幅左、通路幅右、航法、SP検出雛形、終端SP検出雛形、やり直し走行可否の7つのアイコンを表示する。各アイコンをクリックすると、数値入力欄またはリスト選択欄を表示する。▽印をクリックするとリストが次々表示される。走行速度は時速キロメートル(km/h)の単位で入力する。航法は、前進走行、後退走行、左スピンターン、右スピンターン、追尾走行、停止があり、リストの中から選択する。SP検出は、SP検出雛形のリストの中から選択する。終端SPは、終端SP検出雛形のリストの中から選択する。やり直し走行可否は、交差点を渡る経路などやり直し走行を禁止したいパスでは否とし、通常のパスでは可とする。ロボットをパスの方向に向けて「次」をクリックするとティーチング走行画面を表示する。
【0054】
ロボットは図12に示すティーチング走行画面を表示し走行を開始する。この画面はパスの始端の座標と方位(X0,Y0、Dir0)を表示する。そしてSP検出画面と終端SP検出画面、および現在位置と方位(X、Y、Dir)の値を時事刻々表示する。ただし、SPがないパスの場合はSP検出画面を表示しない。ロボットがSP検出に成功したらSP認識確定のアイコンをクリックし、終端SP検出に成功したら終端SP認識確定のアイコンをクリックする。ロボットは終端SPの位置まで走行して停止し、パスの終端の位置方位と検出に用いたパラメータを経路バッファに記憶する。「次」をクリックすると経路要素選択画面に戻る。
【0055】
後退走行の場合は、オペレータはジョイステックを後ろ向きに走るように操作し、スピンターンの場合は、右または左にその場回転するようにジョイステックを操作する。終端にきたとき、または所望の角度の回転に達したとき、スタートボタンを押してパスの終端に来たことをロボットに知らせる。ロボットはパスの情報を経路バッファに記録する。
【0056】
経路要素選択画面でランドマークのメニューを選択すると、図13のLM設定画面が表示される。LM検出は、位置確認、ドアの開閉判定、歩行者信号判定の3つのモジュールの中から選ぶ。オペレータはいずれの場合も走行ロボットをLMの観測点に置く。
【0057】
LM設定画面には、ビデオカメラ制御とLM認識の画面が表示される。前者はビデオカメラのパン、チルト、ズーム角を制御する画面で、アイコンのRight/Leftをクリックするとパン角が、Up/Downをクリックするとチルト角が、Zoom/Teleをクリックすると広角/望遠の制御がなされる。
【0058】
オペレータは、撮像画面にLMが認識しうる大きさで映るようにビデオカメラを制御し、その状態になったら決定のアイコンをクリックする。走行ロボットは、LMの認識に成功すると、図14に示すLM確定画面が表示される。この画面は、現在位置方位、そのときのパン角、チルト角、ズーム量、ロボットからLMまでに相対位置方位を表示する。この値と認識したQRコードなどをLM情報として経路バッファに記録する。再試行回数は認識できないときにLM認識を繰り返す回数である。
【0059】
経路要素選択画面でアナウンスを選択すると、図15のアナウンス設定画面が表示される。その画面にはメッセージラベル名と待ち時間のアイコンが表示される。メッセージラベル名はパスの始端で発話する音声データの名前である。音声データは経路毎にティーチングの前または後で作成し音声データライブラリーに名前を付けて記録して置く。待ち時間は停止なし、スタートボタン押下待ち、指定時間停止(30秒、1分、5分など)のリストの中から選択する。以上の入力が終了すると、アナウンス情報は経路バッファに記録される。
【0060】
やり直し走行のティーチングは、障害物を回避する幅がある通路で行う。障害物を回避するのに十分な長さ、たとえば10mの経路を設定する。経路の上に障害物を置く。障害物は自動車や段ボール箱なでセンサーが検出できるものなら何でも良い。走行ロボットを経路の方向を向けて障害物を検出して一時停止する位置に置く。
【0061】
右回りで回避する定型経路情報を図3に示す。その経路情報名は¥右中回り障害物回避である。次のようにして生成する。走行ロボットを手動で右斜め方向に後退するパスを作る。次に右斜め方向に前進するパスを作る。次に終端SPが左側回避空間の前進走行パスを作り、障害物の左側に沿って障害物が検出されなくなるまで移動させ、その地点をパスの終端とし、¥右中回り障害物回避の定型経路情報を終了する。実行時には定型経路情報を終了すると中断したパスに戻る。そしてフィードバック制御により大きく離れた地点から自動的に経路に戻ることが出来る。ただし通路幅は元の経路情報のパスの通路幅の値が用いるので定型経路情報で用いるすべて航法のパスの通路幅は記述する必要がない。
【0062】
定型経路情報でやり直し走行を実行しても障害物がまだ前方にある場合は再度やり直し走行の定型経路情報を呼び出し、後退と直進を繰り返し障害物が前方にない地点まで移動し、左側回避空間が検出される地点まで前進走行する。左回りで障害物を回避する定型経路情報も同様な方法でティーチングする。
【0063】
4.誘導
誘導は、経路情報をティーチングした走行ロボットを利用するモードである。利用者が走行ロボットの電源を投入すると、走行ロボットは音声で利用者にどの経路を行くか、または、目的地はどこかと発話する。利用者はメニュー選択ボタンの操作で経路または目的地を選択する。走行ロボットは音声でブレーキおよびクラッチを走行モードにしたらスタートボタンを押すように発話する。
【0064】
利用者がスタートボタンを押すと、走行ロボットは選択された経路または目的地の経路情報を読み出し、最初のパスまたはLMから順に走行またはLM認識を実行する。パスの実行において、SPが登録されている場合は、走行ロボットはビデオカメラをティーチングされた方向に向けてSPの検出を行う。SPが縁石のような場合は、登録された距離だけ右または左に間隔を置いて経路がある。SPが点字ブロックの場合はSPとの距離はゼロで経路は点字ブロックの真中にある。走行ロボットはビデオカメラで検出したSPの距離が登録した距離に一致するようにフィードバック制御する。パスの終端の近くに来るとSP検出を中止し終端SP検出を行いその地点まで走行を続け、そこに到達したら次のパスまたはLM検出に移る。経路情報の最後のパスの目的地に到達すると、その旨発話し誘導を終了する。
【0065】
経路を走行中にパスの前方の徐行領域に障害物が入ると、ロボットは例えば2/3に減速し障害物の名前を発話する、最徐行領域に障害物が入ると例えば1/3に減速し障害物の名前を発話する。停止領域に入ると“どいて下さい”と発話する。
【0066】
走行ロボットは利用者に障害物を回り込んで進むか、障害物がどいてくれるのを待つかをやり直しボタンで選択するように発話する。障害物を回り込んで進むを選択すると、障害物回避の定型経路情報を実行し、障害物を通りすぎたら元の経路に戻る。
【0067】
経路情報にLMが登録してある場合は、走行ロボットがその地点に来るとビデオカメラでLMを探索し、LM認識を行い、認識結果を音声で伝える。利用者はOKならばスタートボタンを押すと次のパスを実行する。LMが認識できない場合は、やり直しボタンを押すと、LM認識を行う前のパスの終端にいる状態に戻り、利用者が選んだやり直し定型行動を実行する。
【0068】
LMが歩行者信号の場合は、歩行者信号が赤のとき、赤である旨発話する、そして赤から青に変わったことを検出すると、スタートボタンを押すように発話する。利用者はスタートボタンを押すと走行ロボットは横断歩道を対岸まで走行するパスを実行する。
【0069】
ティーチングのアナウンに記載された地点に来ると音声で登録された音声データを発話する。
【0070】
5.実施例
以下、この発明を視覚障害者を目的地まで誘導する歩行ロボットに適用した実施例についてフローチャートを使って説明する。
【0071】
4.1用語の説明
誘導フラグ(図16):誘導処理中はオンになるフラグ(ソフトウエア上のスイッチ)である。ティーチング処理と誘導処理はシステムの一部をソフトウエアの誘導フラグで分岐して異なる処理をする。その箇所は、経路情報の入力の処理と出力処理をするところである。ティーチングの場合は、実行しようとするパスとランドマークをオペレータがそのつど入力するのに対し、誘導ではティーチング処理で登録した経路情報をデータベースから読み出して用いる。入力した経路情報をティーチングでは最後にデータベースに登録するのに対し、誘導では登録はしない。
【0072】
割り込みフラグ(図18、図20):障害物検出システムが障害物を検出して停止したとき、または利用者がやり直しボタンを押しロボットが停止したときオンになるフラグである。フラグのオンとオフは障害物検出サブルーチンの中で行う。
【0073】
中断フラグ(図16、図18、図22):割込みフラグがオンになり、やり直し走行の条件を満たして、定型経路情報名が確定したときにオンになるフラグである。フラグのオンとオフはパス実行サブルーチンおよびLM認識サブルーチインの中で行う。
【0074】
やり直しフラグ(図16):中断フラグがオンになりやり直し走行の処理に入ったときオンになるフラグである。やり直し走行中に新たなやり直し走行を行うときにこのフラグはすでにオンになっている。やり直しフラグのオンとオフは図16のフローチャート内で行う。
【0075】
徐行領域フラグ、最徐行領域フラグ、停止領域フラグ(図2、図20):障害物検出システムがその領域に障害物があるとオンにするフラグである。徐行領域および最徐行領域、停止領域はそれぞれ、そこに障害物があるときロボットが徐行、最徐行、停止する領域である。
【0076】
左側小回り避避領域フラグ、左側中回り回避領域フラグ、左側大回り回避領域フラグ、右側小回り回避領域フラグ、右側中回り回避領域フラグ、右側大回り回避領域フラグ(図2、図20):障害物検出システムがその領域に障害物がないときオンのフラグである。左(右)側小回り回避領域は徐行・最徐行領域の左(右)側に接する領域で、そこに障害物がなければそこを走行することができる領域である。左(右)側中回り回避領域は徐行・最徐行領域より少し離れた、たとえば20cm離れた領域で、そこに障害物がなければそこをロボットが走行することができる領域である。左(右)側大回り回避領域は徐行・最徐行領域よりさらに離れた、たとえば40cm、離れた領域で、そこに障害物がなければそこをロボットが走行することができる領域である。小回り回避領域は中回り回避領域と大回り回避領域を含み、中回り回避領域は大回り回避領域を含む。
【0077】
現在位置方位(図18、図21):ロボットが内界センサー(車輪のエンコーダやジャイロスコープなど)で算出した現地点の位置(X,Y)とロボットの車体が向いている方位(Dir)をいう。
【0078】
相対方位(図18、図19、図21、図24):相対方位は、ロボットの車体が向いている方位Dirとパスの軌道の方位Dir0との差を言う。
【0079】
SP間隔差(図18、図19、図21、図24):始端から終端に引いた軌道とSPの間隔はティーチング時に登録してある。SP検出モジュールで検出した間隔の値と登録した間隔の値の差を言う。図24ではDxで表す。
【0080】
SP相対方位(図19):SP方位とDirspとロボットの車体の向いている方位との差、Dirsp−Dirである。
【0081】
前方注視距離(図21、図24):走行ロボットはパスの軌道から横方向ずれをその場で解消するのではなく、前方の一定距離はなれた地点で解消するように制御している。この距離を言う。図24ではLで表す。
【0082】
横方向位置ずれ(図21、図24):SP間隔差に前方注視距離において相対方位による位置ずれを加えた値を言う。図24ではDx+Ltan(Dir−Dir0)で表す。
【0083】
終端距離(図18〜図20):現在位置からパス終端までの距離をいう。
【0084】
縦方向位置ずれ(図18):終端SP検出モジュールが計測した終端距離と、内界センサーが算出した現在位置からパス終端までの距離との差を言う。
【0085】
終端SP距離閾値([図19]):終端SPまでの距離がこの値、例えば5cm。を下回ったらパスの終端に到達したと判定する閾値を言う。
【0086】
4.2 サブルーチンの説明
図16から図22の不r−チャートの中で、サブルーチンまたはシステムの枠は二重線で表し、その名前には下線を付ける。
オペレータ入力サブルーチン(図16):ティーチングモード(誘導フラグがオフ)で用いる。オペレータは画面に表示された指示に従い経路情報を入力する。ティーチングを開始した時点では、図9に示す画面の指示に従い経路名を入力すると、それに作成日が付加されて経路バッファに記録される。次からは図9から図15に示した画面の指示に従い、オペレータは要素の主要なデータを入力する。
【0087】
要素実行サブルーチン(図16、図17):要素を入力しその要素(パス、ランドマーク、アナウンス)を実行する。要素を実行して得られたデータをそれに付加して経路バッファーに追加記録し出力する。誘導時には障害物がどいてくれない時または利用者がやり直しボタンを押した時に一時停止して、中断フラグをオンにして所要のやり直し定型経路情報名を出力する。
【0088】
経路データベース検索サブルーチン(図16):誘導モード(誘導フラグがオン)で用いる。経路名または定型経路情報名を入力とし、経路データベースを検索して該当する経路情報または定型経路情報を出力する。
【0089】
パス実行サブルーチン(図17、図18):入力したパスの始端から終端まで走行する。ただし、パスの実行中に障害物に遭遇した場合や、利用者がやり直しボタンを押した場合には、中断フラグをオンにして、定型経路情報名を出力する。
【0090】
LM認識サブルーチン(図17、図22):入力のLM認識モジュールが歩行者信号判定の場合はビデオカメラを制御して歩行者認識サブルーチンを実行する。このサブルーチンは、画像処理で歩行者信号を認識し状態コード(青信号、赤信号、認識不能)を出力する。本発明では、歩行者信号が赤から青に変わった時点で渡って良いとする戦略をとる。理由は、視覚障害者が聴覚で車の移動方向が変わったことを確認するためと、青信号の点灯時間を最大限利用するためである。フローチャートでは、誘導時に於いて歩行者信号が青で赤信号カウントが1以上のとき、すなわち信号が赤から青に変わったとき、青信号と発話してLM認識サブルーチンの処理を終える。歩行者信号が赤信号の時は、赤信号と発話して赤信号カウントが試行回数に達するまで歩行者信号認識を繰り返す。試行回数まで繰り返しても赤信号のままの場合、および歩行信号の赤も青も認識不能のときは、認識不能と発話する。その後に利用者がやり直しボタンを押すと中断フラグがオンになり、定型経路情報名サブルーチンで最適なやり直し走行を選択して、中断フラグと定型経路情報名を出力して処理を終える。
【0091】
LM認識モジュールが現在位置確認とドア開閉判定の場合は、QRコード認識サブルーチンを実行する。このサブルーチンはビデオカメラを制御して、画像処理でコード語の認識をする。認識できた時はコード語を発話して要素を経路バッファに追加記録して処理を終える。誘導時に於いて認識出来ない時は、再試行回数だけ認識処理を繰り返し、それでも認識できないときは認識不能と発話する。その後の処理は歩行者信号判定の場合と同じである。
【0092】
音声発話サブルーチン(図17):入力のメッセージを発話して、待ち時間を経過してからサブルーチンを抜け出す。アナウンス情報を経路バッファに追加記録し出力する。
【0093】
SP・終端SP検出サブルーチン(図18):雛形SP検出モジュールと雛形終端SP検出モジュールを入力とし、SP間隔差と相対方位、終端距離を出力する。SP間隔差は、検出したSPの間隔との雛型SP検出モジュールに記載されたSP間隔の差である。SP相対方位は、追尾走行の時にのみ利用する。それは検出した終端SP、すなわちQRコードの(ロボットから見た)方向である。
【0094】
障害物検出サブルーチン(図18、図20):このサブルーチンの機能は3つある。一番目はロボットの走行速度の減速である。障害物システムは障害物があれば、それが徐行領域、最徐行領域、停止領域の中のどの領域にあるかを検出し、その結果で走行速度を徐行、最徐行、停止に設定する。二番目は、障害物回避を行うやり直し定型行動を選択することである。障害物が徐行領域にあるとき、左右どちら側に回避すれば良いか、回避する場合は小回りで回避するのか大回りで回避するのかなどを定型経路情報名選択サブルーチンで選ぶ。また、利用者がやり直しボタンを押したときは走行速度をゼロに設定し同様に定型経路情報名選択サブルーチンで選ぶ。また、障害物検出システムは終端SPが左(または右)側回避空間検出のときは左(または右)側小回り回避領域に障害物がないとき現在位置方位をパスの終端にする。三番目は障害物検出システムのデータから障害物の種類を推定し発話することである。障害物の種類は、例えば検出した障害物候補の3次元データの幅と高さから推定する。障害物検出サブルーチンの入力は航法で、出力は割込みフラグと、定型経路情報名、走行速度である。
【0095】
フィードバック制御サブルーチン(図18、図21、図24):F04の位置ずれ算出サブルーチンは推測航法で現在位置方位(X,Y,Dir)を算出する。そして前方注視距離、例えば2m先で、相対方位(Dir−Dir0)で進んだらどれだけ目標軌道からずれるかを算出し、横位置ずれとする。ただし、Dir0は始端から終端へ引いた軌道の方位である。F05の車体制御サブルーチンは横位置ずれを偏差にしてロボットの左右車輪を制御する。追尾走行の場合は画像処理で検出したSP、すなわち追尾走行用QRコード、の方位を相対方位とし、SP間隔差はゼロとする。このことにより前方注視距離にQRコードコードがあるとしてフィードバック制御を行う。
【0096】
定型経路情報名選択サブルーチン(図20、図22、図23):(左/右側(小/中/大)回り回避領域フラグおよびやり直しボタンを入力として対応する定型経路情報名を出力するサブルーチンである。ただし、やり直しボタンがオンのときは、どのやり直し定型行動をしたいかを図23に示す定型経路情報名のリストの中から利用者に選択させる。
【0097】
4.3 フローチャートの説明
ティーチングの処理を図16のフローチャートを用いて説明する。ティーチングを行う晴眼者、例えば歩行訓練士をオペレータという。オペレータは、経路をどのようなパスとランドマークに分解するかをデザインしておき、走行ロボットを出発点に最初のパスの方向を向けて置く。
【0098】
ティーチングは図16のA01から始まる。A02で誘導フラグをオフにし、A03でオペレータは経路名を入力する。A04の誘導フラグで分岐してオペレータはA05のオペレータ入力システムから要素名とその要素の情報を入力する。オペレータ入力システムは、図9から図15に示すPC画面の指示に従い要素のデータを入力するシステムである。A07の要素実行サブルーチンに進む。このサブルーチンで詳細は図17に示す。サブルーチンの入力は要素で、出力は経路バッファと中断フラグとやり定型経路情報名である。経路バッファにはティ−チングで得た要素のデータを獲得した順に記録する。ティーチング時には中断フラグは常にオフである。A08で分岐しA04に戻る。このループは、経路の終わりに来てオペレータが要素を空にするまで繰返す。A09を経て10で経路バッファを経路データベースに登録し、A11でティーチング処理を終了する。
【0099】
誘導の処理について説明する。図16のA13で開始する。A14で誘導フラグをオンにする。A15で利用者に経路名を選択するように発話する、A16で経路データベースを検索し経路名に対応する経路情報を取り出す。A04の誘導フラグはオンであるからA17で経路情報から要素を取り出す。A06で要素があれば要素実行サブルーチンに進みその要素を実行する。通常の走行では出力の中断フラグはオフであるからA04に戻る。経路情報の最後まで進むと、A06で要素がなくなり、A09を経てA12の判定に進み、やり直し走行ではないので、A18で目的地に到達した旨発話してA19で誘導処置は終了する。
【0100】
誘導処理でA07の要素実行サブルーチンで要素を実行している最中に、中断フラグがオンになると、A08を経てA20へ進む。やり直しフラグはオフならばA21に進み、このフラグをオンにする。A22で中断したパス情報とその経路情報を中断バッファに退避してA23に進む。ただし中断した要素がLMの場合は、直前のパス情報を経路バッファに退避する。
【0101】
A23は経路情報検索サブルーチンである。このサブルーチンは入力のやり直し定型経路情報名で経路データベースを探索し定型経路情報を出力する。A24で、中断した地点からパスに下ろした垂線の足の地点に、定型経路情報の出発点が来るように並行移動する。そして定型経路情報の全体を中断したパスの方向に回転する。次にA04に進み、A17から定型経路情報に基づく誘導を行う。この定型経路情報の最後まで進むとA06でNoに分岐し、A09を経てA12に進みやり直しフラグはオンであるからA25でやり直しフラグをオフにする。そして中断した経路情報とパスを中断バッファから戻して、元の経路情報による走行を続ける。
【0102】
やり直し行動を実行中はやり直しフラグはオンである。この場合にA07の要素実行サブルーチンが中断フラグをオンにしてやり直し定型経路情報名を出力した時、A20を経てA23に進む。すなわち、やり直し走行中に新たなやり直し走行を実行しても、それが終わって戻る時のパスは最初に中断した時のパスになる。
【0103】
図17の要素実行サブルーチンは要素の種類によって3つのサブルーチンに分かれる。要素がパスならばB03のパス実行サブルーチンを実行する。このサブルーチンは、パス情報に基づいて始端から終端までの軌道の走行を行い終了する。ただし、走行中に障害物に遭遇したりしてやり直しボタンが押されたときは、中断フラグをオンにして走行を中断し、定型経路情報名を出力して終了する。要素がLMならばB04のLM認識サブルーチンを実行する。このサブルーチンはLMを認識し、認識できた時は認識結果を発話して終了する。認識できない時は再試行回数だけ認識を繰り返す。それでも認識できない時は、利用者がやり直しボタンを押して定型経路情報名を選択し、中断フラグをオンにして終了する。要素がアナウンスならば、音声発話サブルーチンを実行し、メッセージを発話して、待ち時間を経過したら終了する。いずれのサブルーチンでもその実行により得た要素の情報を経路バッファに追加記録する。
【0104】
図18のパス実行サブルーチンは、最初にC02の航法で3つの処理グループに分かれる。第1グループは前進走行、バック走行、追尾走行からなる。第2グループは左スピンターンと右スピンターンからなり、第3グループは停止からなる。
【0105】
第1グループはC03でパスの始端と終端を結ぶ目標軌道を作成する。C04で中断フラグをオフにし、C05のSP・終端SP検出サブルーチンに進む。このサブルーチンはSP検出モジュールと終端SP検出モジュールを起動する。SP検出モジュールは、当該SPを認識し、SPとパスとの間隔を検出する。その間隔とティーチングで登録したそれとの差をSP間隔差として算出する。一方終端SP検出モジュールはその終端SPのまでの距離を検出し、その距離を終端距離とする。このサブルーチンはSP検出モジュールと終端SP検出モジュールを入力とし、SP間隔差と終端距離を出力しC06の障害物検出サブルーチンに進む。
【0106】
C06の障害物検出サブルーチンは、障害物検出システムが障害物を検出すると、その位置により走行速度を徐行速度、最徐行速度、停止(走行速度=0)に設定する。障害物がなくても利用者がやり直しボタンを押すと停止する。やり直しボタンを押すと割込みフラグがオンになり定型経路情報名を出力しサブルーチンを終了する。
【0107】
C07で割込みフラグがオンのとき、定型経路情報の有無を調べ、有れば次に回避する道路幅が有るか否かを調べて、利用者が再度やり直しボタンを押したら中断フラグをオンにし、定型経路情報名を出力しパス実行サブルーチンを終了する。やり直しボタンを再度押さなければC06の障害物検出サブルーチンに戻り、障害物が退いてくれるまで障害物検出を繰返す。また定型経路情報名が無い時および道路幅が狭いときは、障害物回避が出来ない旨発話し同様にC06の障害物検出サブルーチンに戻る。
【0108】
割込みフラグがオフの時にはC08のフィードバック制御サブルーチンを実行する。走行速度がゼロの時は何もしないで終了する。パスの始端と終端を結ぶ軌道を目標値として、前方注視距離における横方向位置ずれを偏差にして走行速度でフィードバック制御をする。そしてC09で終端までの距離が終端閾値より大きいときはC05にもどり、小さくなったらC10で現在位置の縦方向位置ずれを補正し、C20で要素を経路バッファに追加記録しパス実行サブルーチンを終了する。
【0109】
航法が左または右スピンターンの場合はC17で左右の車輪は互いに逆方向に指定された角度だけその場回転し、サブルーチンを終了する。回転中に障害物を検出するとC18の障害物検出サブルーチンで割込みフラグがオンになりC13のやり直しボタン押下の判定に進みパス実行サブルーチンを終了する。
【0110】
航法が停止の場合は走行を停止しスタートボタンが押されるとパス実行サブルーチンを終了し、次の要素の実行に移る。
【0111】
図19のSP・終端SPサブルーチンは終端距離が終端SP閾値より短ければこのサブルーチンを終了する。そうでなければSPモジュールを起動し、SPが検出できない時はD09に進む。検出できたときはD05に進む。航法が追尾走行の場合は、SPは追尾走行用QRコードであり、D07でそのSP相対方位を検出しその値を相対方位する。追尾走行でない場合は、D08で相対方位とSP間隔差を算出する。そしてD09に進む。
【0112】
D09で終端SPモジュールを起動する。追尾走行の終端SPは追尾走行終了用QRコードである。QRコードが追尾走行用から終了用に変わった地点で終端距離をゼロにしパスの終端とする。航法が追尾走行でないときは終端SPまでの距離を終端距離とし、終端SPが検出できないときは、終端距離を現地点からパス終端までの距離とし、サブルーチンを終了する。
【0113】
図20の障害物検出サブルーチンは、E02で割込みフラグをオフにする。そして障害物検出システムから障害物データを受取る。ロボットの進行方向の領域を徐行領域と、最徐行領域、停止領域に分け、その領域に障害物があればその領域フラグをオンにする。この徐行・停止領域の左側および右側に小回り回避領域と中回り回避領域、大回り回避領域を設ける。それぞれの回避領域に障害物がなければ、その回避領域フラグをオンにする。
【0114】
やり直し定型経路情報では障害物を回避して元の経路に戻る際に、前進走行のパスを用い、その終端SPを左または右側回避空間検出とする。左まらは右側小回り回避領域フラグがオンのとき、終端距離をゼロにする。すなわち、障害物を回避するパスの終端に到達したとする。
【0115】
ロボットが前進して障害物が停止領域にまで来ると、障害物に前方の視野が遮られ、障害物の左右どちら側に回避空間があるのか分からなくなる。そこで障害物が徐行領域に入った地点で、大回りに回避するか小回りに回避するか、その定型経路情報名をE15の定型経路情報名選択サブルーチンで選んでおく。ただし実際に割込みフラグをオンにするのは、停止領域フラグがオンになった地点E08である。また、障害物の有無にかかわらず、利用者がやり直しボタンを押すと走行速度をゼロにしてE15で定型経路情報名を選択する。E07からE11で徐行、最徐行、停止領域フラグがオンのとき、それぞれの走行速度を設定し障害物名を発話あるいは警告音を鳴らし、サブルーチンを終了する。
【0116】
図21のフィードバック制御サブルーチンは、追尾走行のときはSP間隔差をゼロにする。F04の位置ずれ算出サブルーチンで前方注視距離における横方向位置ずれを算出する。次にF05の車体制御で速度制御と横方向位置ずれを偏差にし、パス軌道を目標値にしたフィードバック制御を行う。
【0117】
4.4 雛形モジュールの説明
SPと終端SP検出モジュールはシステム開発者が作成する。例えば、図25に示す画面で2つのモジュール名を入力し、パラメータとしてSPとパスの間隔を入力する。間隔はSPがパスの右にあるか左にあるかを値の正負で識別する。次をクリックすると図26に示す画面が表示される。ロボットはテスト走行距離を走行し、SPと終端SP検出モジュールを起動する。ビデオカメラ制御のアイコンでビデオカメラを操作すると画面が出る。検出に成功した時は「決定」のアイコンをクリックすると、そのときのパン・チルト・ズーム角とPara1からPara3の検出閾値が雛形モジュールの値として記録される。検出に失敗したときは、ビデオカメラ制御と検出閾値を変えて「戻る」をクリックして検出に成功するまで繰り返す。
【0118】
図4の<SPInfo1>から図5の</SPInfo2>までの行は図25、図26で入力した誘導点字ブロック検出と警告点字ブロックの雛形のXML表現である。
【技術分野】
【0001】
この発明は人が生活する、あるいは作業する場所で動く走行ロボット、たとえば建設現場で自走する建設用ロボット、農薬の散布、その他の作業のため用いられる農業用ロボット、視覚障害者や高齢者などを目的地まで誘導する歩行ガイドロボット(盲導犬ロボット)、その他の自走するロボットに関し、ロボットが経路情報に基づく走行に失敗したとき、あるいは障害物や道路工事などで経路情報に基づく走行が出来なくなった時に走行をやり直すことに関する。
【背景技術】
【0002】
従来の走行ロボットは、出発点から目的地までロボットが走行する経路情報を二次元座標上の始端と終端を結ぶパスの系列で表したり(たとえば特許文献1)、または点系列で表したり(例えば特許文献2および3)している。そしてその経路情報のパスの系列または点の系列を、ロボットがその経路に沿って移動して経路のデータを取得している。この方法では障害物に遭遇したり、道路工事中の箇所に来たとき、ティーチングで得た経路情報に基づく走行は出来なくなる。
【先行技術文献】
【0003】
【特許文献1】特許第377083号(特開2002−207516)「走行ロボット、そのティーチング方法および制御方法
【特許文献2】特開平9−198133号公報
【特許文献3】特開2000−132229号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
歩行ロボットが経路上にある障害物に遭遇したり、道路工事中の箇所に遭遇したとき、走行を中断しなければならない。そこで、経路に沿う走行を中断し、走行をやり直してから元の経路に戻る方法が課題である。
【0005】
また、歩行ロボットが経路情報に基づき、屋外の凹凸のある路面や屋内のリノリウムの床面などを走行するとき、車輪の空転やスリップにより位置制御の誤差が生じ、車輪が縁石やフェンスをこすったり、壁や柱と接触したりして、走行ができなくなることがある。このような場合に、経路に沿う走行を中断し、走行をやり直す方法が課題である。
【0006】
やり直す方法は通路の幅や傾斜、交差点の形状などの走行環境と障害物の大きさなどの違いで様々なバリエーションが存在する。そのバリエーションをロボットのシステム上でどのように表現するかが課題である。
【0007】
やり直す方法をロボットで実現したき、現場にロボットを持っていき実際に走行して、問題点があれば改良しなければならない。この試行錯誤を簡単に行う方法が課題である。
【課題を解決するための手段】
【0008】
走行ロボットのやり直し走行は、通路の幅や障害物の大きさなどにより何通りかの方法で表わすことが出来る。本発明は走行ロボットがフェンスや入り口の壁などに近寄りすぎたとき、あるいは障害物に遭遇したとき、障害物検出システムが検出したフェンスや障害物の位置情報と、経路情報に記載した情報に基づき、あらかじめ作成したやり直し走行の中からシステムが選択して利用者に示し、利用者にそれを実行するか否かを問い、利用者がやり直しのボタンを押すと、目的地に至る経路の走行を中断してやり直し走行を実行し、終了したら元の経路に戻る方法である。
【0009】
また本発明は、走行ロボットが工事中などの箇所に来きたとき経路情報に基づく走行を中断し、作業員などの誘導により工事中の箇所を回りこんで走行し、元の経路情報に基づく走行に戻るところの、やり直し走行の方法である。
【0010】
やり直し走行はパス、ランドマーク、アナウンス情報を要素とする経路情報で記述する。やり直し走行の経路は、たとえば障害物回避ならば障害物の位置や大きさ、道路の幅などによりその時その時で変わる。道路工事箇所を回避する走行なども同様である。そこで、センサーのデータや道幅などの走行環境のデータによって調節される経路情報の定型パターンが必要である。ここで定型パターンとは、経路情報を構成する要素の種類と順序は決まっているが、要素の位置方位などのパラメータの値は実行時のセンサーのデータによって決まる経路情報を云う。以下定型経路情報という。
【0011】
定型経路情報をティーチングで作成することにより、作成からテストまでの手間と時間を減らすことができる。これによりやり直し走行を簡単に改良できる。
【発明の効果】
【0012】
走行ロボットの車体やセンサー、コンピュータなどの進歩は著しく、常に改良されて行く。そのたびにソフトウエアを改良する労力と現場でテストする手間は大変である。それに比べると、本発明の方法はソフトウエアを変えずに、定型経路情報をティーチングにより変えて、テストして不具合があればティーチングをやり直すことにより改良ができるので、労力と手間が大幅に少なくなる。また、定型経路情報のライブラリを作ることにより、日常的に単独歩行をする視覚障害者や歩行訓練士のノウハウを蓄積することができる。
【0013】
ロボットが斜めに傾斜した通路を走行したり、障害物を回避しようとすると。cm単位の走行精度が要求される。凸凹道や斜めに傾斜した通路で走行精度を上げるためには、車体のバネやダンパーを工夫しセンサーが安定するように機構を改良しなければならならず、コストが上昇する。やり直し走行の機能がロボットにあれば、センサーで異常を検出したとき、あるいは利用者が異常に気づいた時に、やり直し走行を実行すれば良いので大幅な機構の改良をしなくても良くなり、コストを抑えることが出来る。
【図面の簡単な説明】
【0014】
【図1】走行ロボットの構成を示す概念図である。
【図2】障害物検出システムの検出領域の図である。
【図3】障害物を回避するやり直し走行のパスの図である。
【図4】XMLで記述した経路情報の一例を示す。
【図5】XMLで記述した経路情報の一例を示す。
【図6】XMLで記述した経路情報の一例を示す。
【図7】XMLで記述した定型経路情報の一例を示す。
【図8】XMLで記述した定型経路情報の一例を示す。
【図9】ティーチングのトップ画面である。
【図10】ティーチングのルート要素選択画面である。
【図11】ティーチングのパス設定画面である。
【図12】ティーチング走行の画面である。
【図13】ティーチングのLM設定画面である。
【図14】ティーチングのLM確定画面である。
【図15】ティーチングのアナウンス設定画面である。
【図16】ティーチングおよび誘導処理の全体を示すフローチャートである。
【図17】要素実行サブルーチンの処理を示すフローチャートである。
【図18】パス実行サブルーチンの処理を示すフローチャートである。
【図19】SP・終端SPサブルーチンの処理を示すフローチャートである。
【図20】障害物検出サブルーチンの処理を示すフローチャートである。
【図21】フィードバック制御サブルーチンの処理を示すフローチャートである。
【図22】LM認識サブルーチンの処理を示すフローチャートである。
【図23】定型経路情報名の一覧表の一例である。
【図24】横方向位置ずれ算出を説明する図である。
【図25】雛形モジュール設定画面の図である。
【図26】雛形モジュール確定画面の図である。
【発明を実施するための形態】
【0015】
1.実施例の概要
この発明は、走行ロボットの誘導方法において、誘導を続けられない問題が生じたときに経路情報に基づく走行を一時中断し、やり直し走行、すなわち別に用意した経路情報に基づく走行に切替え、その走行が終了したら元の経路情報に基づく走行に戻る方法の発明である。
【0016】
本発明は、経路情報のティーチングが容易であることによって、いろいろな環境や条件に応じたやり直し走行の経路情報を、最小限の作業量とデータ量で実現することを目的とする。
【0017】
この発明による走行ロボットは、図1に示すように、左右の車輪からなる駆動装置、サインパターン(以下SPと略す)とランドマーク(以下LMと略す)を認識するビデオカメラ、障害物検出システム、障害物と接触したことを検出するバンパーセンサ、目的地または経路を走行ロボットに入力する操作ボックス、およびこれらの装置を制御して目的地まで誘導するコンピュータ、利用者がつかまって歩くためのハンドル、バッテリー等からなる。
【0018】
操作ボックスには電源スイッチ、スタートボタン、メニュー選択ボタン、やり直しボタン、ジョイスッテックがある。スタートボタンは利用者がボタンを押す度にロボットはスタートとストップを繰り返す。メニュー選択ボタンは“前”、“次”“決定”の3つのボタンで構成し。メニューまたはリストを選択する。やり直しボタンは、やり直し走行をするとき押すボタンである。
【0019】
障害物検出システムは図2に示すように、走行ロボットがこれから通過する前方の領域を徐行領域と最徐行領域、停止領域に分ける。徐行領域はそこに障害物があるとき障害物の種類を発声して徐行する領域である。最徐行領域はそこに障害物があるとき障害物の種類を発声して最徐行する領域である。停止領域はそこに障害物があるときは“どいてください”と発話してロボットが停止する領域である。停止してから利用者がボタンを押すと障害物を回避する走行をスタートする。徐行領域の幅は、ロボットの横幅に走行の左右横ぶれを加えた値とする。奥行きは、ロボットが徐行速度で走行したとき、停止命令を受け取って停止するまでの距離を考慮して決める。ただし、左右にスピンターン(その場回転)する場合は図2と異なり、徐行および最徐行領域を左方または右方にとる。
【0020】
左側および右側に回避する空間があるかどうかを示すために、徐行および最徐行領域の左または右側に、左(右)側小回り回避領域、左(右)側中回り回避領域、左(右)側大回り回避領域を設ける。小回り回避領域は、中回り回避領域と大回り回避領域を含み、中回り回避領域は大回り回避領域を含む。
【0021】
このコンピュータのアプリケーションは、誘導およびティーチングシステム、オペレータ入力システム、経路データベースシステムからなる。オペレータ入力システムと経路データベースシステムは、図1に示すように別々のコンピュータにインストールし、走行ロボットの誘導およびティーチングシステムとLANケーブルでつないで実行しても良い。
【0022】
ティーチングは訓練を受けたオペレータが行う。オペレータは走行ロボットを操作しつつ、オペレータ入力システムの画面の指示に従い、必要なパラメータを入力し、経路情報を作成する。ティーチングを終了した時点でそれを経路データベースに登録する。経路データベースシステムは、経路情報を修正したり、別々の時点で作成した複数の経路をつないで一つ経路情報にしたりするシステムである。誘導システムは、利用者が経路データベースにある経路情報を選んで、その経路情報に基づき出発点から目的地まで誘導するシステムである。
【0023】
走行ロボットは、オペレータが自走すべき経路に沿って少なくとも1回動かして、走行ロボットに経路情報をティーチングすることを前提にしている。ロボットの走行経路は複数のパスと複数のLM、複数のアナウンス情報に分割する。パスは一つの航法で走行する区間と定義する。航法はロボット制御の単位となるモードである。たとえば、航法には前進走行、後退走行、追尾走行、スピンターン、停止などがある。カーブした経路は折れ線で近似し、複数の前進走行のパスで表す。
【0024】
パスは始端と終端で定義する。パス情報の中にSPに関する情報、終端SPに関する情報、走行速度、パスが通る通路の幅、およびやり直し走行可否を含ませることができる。ただし後退走行、スピンターンおよび停止は、SPと終端SPを含ませることは出来ない。
【0025】
SPは、ビデオカメラやセンサーが検出する視覚的または音響的特徴で2種類ある。一つは、ロボットがそれに沿って走行する特徴で、たとえば点字ブロック、縁石、白線などである。走行ロボットはこのSPに沿って一定間隔を置いて走行することにより、位置ずれを補正する。もう一つはパスの終わりを示す特徴で終端SPと言い、誘導する人が持つマークや左または右側の回避空間(障害物回避が終わってできた空間)などである。
【0026】
SPに関する情報とは、SPを検出する画像処理モジュールと検出パラメータ、パスとSPの間隔、およびビデオカメラのパン角チルト角ズームなどである。SPの画像処理モジュールは、たとえば、黄色点字ブロック検出、濃淡点字ブロック検出(色彩を利用しない検出)、道路境界エッジ検出、横断歩道検出、追尾走行用QRコード検出などがある。終端SPの画像処理モジュールは、たとえば黄色警告点字ブロック検出、濃淡警告点字ブロック検出、白色停止線検出、左側回避空間検出、右側回避空間検出、追尾走行終了用QRコード検出などがある。ただし左(右)回避空間は左(右)小回り回避領域の別名である。SP検出および終端SP検出モジュールは、各モジュール毎に検出パラメータの雛形を作成し、ティーチングの際には雛形モジュール名を指定する。
【0027】
アナウンス情報は、それが記述された地点にロボットが到着した時に発話する音声案内に関する情報である。
【0028】
LMは、現在位置の確認、ドアの開閉の判定、歩行者信号の判定などに用いる。現在位置の確認にはLMとして例えばQRコードを用いる。QRコードを出発点や目的地の建物の玄関や出入り口に貼っておき、ロボットが画像処理でそれの位置を検出することにより現在位置を確認する。QRコードは用紙の中央に印刷し左右または上下にQRコード探索用の黒い細長の矩形を印刷しラミネートする。ドアの開閉の判定とは、QRコードをドアに貼っておき、それを画像処理で検出できるか否かでドアの開閉を判定することである。歩行者信号の判定とは、画像処理で歩行者信号の色を検出し、青信号か赤信号か、逆光などで信号が検出できない等を判定することである。
【0029】
LMに関する情報は、LMを探索するときの画像処理モジュール、およびビデオカメラのパン角とチルド角、およびズーミングのパラメータ、QRコードが認識できた時に発話するメッセージ、認識出来なかったときに再試行する回数などである。
【0030】
やり直し走行とは、走行ロボットが経路情報に基づいて走行中に、何らかの原因で走行に失敗し経路情報に基づく走行が出来なくなった時に、走行を中断し新たな経路を走行し、その原因がなくなったら、元の経路情報に基づく走行に戻るところの走行をいう。
【0031】
やり直し走行は、ロボットが自動的に行う障害物回避等の走行と、利用者が決めるやり直し走行、例えば道路工事中などで案内する人を追う追尾走行と、店先の商品陳列台やフェンスなどを避けるために、左または右に寄る走行である。
【0032】
やり直し走行は定型経路情報で表現する。定型経路情報とは、経路情報の形式の一つで、経路情報を構成する要素の種類と順序は決まっているが、要素の位置方位などのパラメータの値は実行時に決まる形式を云う。
【0033】
定型経路情報は、ティーチングでその出発点の位置方位を(0,0,0)として作成する。誘導時のロボットの走行軌跡はパスに沿って位置も方位もふらつくので、走行を中断した地点に定型経路情報の出発点が来るようするのではなく、次のようにする。誘導時に始端(X0,Y0)と終端(X1,Y1)を結ぶパスを走行して(Xc,Yc)に来たとき走行を中断したとする。パスの始端から終端に向かう線分の角度をDirpとし、中断点(Xc,Yc)から経路情報のパスに下ろした垂線の足を(X2,Y2)とする。定型経路情報のすべての点の位置方位(xt,yt,Dirt)は、実行時には点(X2,Y2)に平行移動してDirpだけ回転する座標変換を施す。定型経路情報の位置方位(xt,yt,Dirt)から経路情報の座標上の点(X,Y,Dir)への座標変換は式(1)から式(6)で表される。
【0034】
障害物回避におけるやり直し走行は次のように行う。走行ロボットは進路の前方に障害物を検出すると、障害物名、例えば街路樹のようなもの、車のようなものなど、と発話して減速し、更に近づくと音声を大きくして更に減速し、直前まで近づくと一時停止する。障害物検出システムはパスの左側または右側に障害物を回避する空間があるかどうかを検出する。回避する空間がある場合は、走行ロボットは利用者に音声で、障害物回避を実行するか、障害物がどいてくれるまで待つかを尋ねる。ただし、通路幅が狭く回避する空間がない場合は、障害物がどいてくれるまで一時停止を続行する。
【0035】
障害物を回避するやり直し走行は、障害物の手前の横方向移動と障害物を通り越す縦方向移動からなる。横方向移動の程度により大きく回りこむか小さく回りこむかが決まる。図3は障害物回避の定型経路情報の一例である。横方向移動を後退走行パスと前進走行パスの繰り返しで表している。縦方向移動は、左側回避空間検出を終端SPとする前進走行パスで表している。そのパスの終端で元のパスに戻る。定型経路情報を誘導時に実行する場合は、パスの始端、終端、繰り返しの回数などは固定されておらず、障害物検出システムなどの検出データにより決まる。
【0036】
2.経路情報のXML表現
ティーチングにおいて入力した経路情報はXML(Extensible Makeup Languasge)で表現する。
【0037】
タグ:データの種類を示す名札である。英数字で記述しデータの最初と最後を</タグ>と<タグ/>で囲む。データは日本語(英数字、仮名、漢字)でも良い。
【0038】
経路情報<PathData>:経路情報は、頭部<Header>と本体<Body>からなる。<Header>は、経路名<PathName>と作成日時<Cdate>からなり、本体は、パス<Path>、ランドマーク<LM>、アナウンス<Announce>の3つの要素の系列からなる。
【0039】
作成日時<Cdate>:ティーチングで経路情報を作成した日時で、SPやLMが季節、時間帯に影響されるので日時が必要である。また、何度かティーチングしたとき、古いデータかどうかをメンテナンス時に知るために必要である。
【0040】
パス<Path>:パスは、航法<Navigation>、始端<Point1>、終端<Point2>、走行速度<Velocity>、通路幅左<LeftWidth>、通路幅右<RightWidth>、SP情報<SPInfo1>、終端SP情報<SPInfo2>、やり直し走行可否<RetryEnable>からなる。
【0041】
始端<Point1>および終端<Point2>:<X>,<Y>,<Dir>の3次元ベクトルで表す。<X>と<Y>はロボットの位置を表し、<Dir>はロボットの方位を表す。経路の出発点の位置方位を(0,0,0)とする。ただし、Y軸は北方向に、X方向は東方向にとり、方位を時計回りに測り、位置を緯度経度で表しても良い。
【0042】
通路幅右<LeftWidth>および通路幅左<RightWidth>:パスの左側および右側の通路の幅である。片方または両方を省略しても良い。省略すると障害物回避をするに必要な通路の幅がないことを意味する。
【0043】
SP情報<SPInfo1>および終端SP情報<SPInfo2>:検出モジュール名<Module>、パン<Pan>、チルト<Tilt>、ズーム<Zoom>、検出パラメータのリスト<Para>からなる。パンとチルトはビデオカメラの水平回転角と垂直回転角で、ズームはレンズのズーミングファクターである。パラメータのリストは当該SPを検出する画像処理ソフトのパラメータである。これらの値はティーチングに先立ち実験で定めて雛形を作っておく。ビデオカメラの高さや種類を変えたときは、モジュールはそのままで雛形のパラメータを変えれば良い。
【0044】
やり直し走行可否<ReteryEnable>:やり直し走行を許すか否かを可、否で表す。
【0045】
LM情報<LM>:LM情報は、モジュール名<module>、観測位置方位<Point>、相対位置方位<DevPoint>、パン<Pan>、チルト<Tilt>、ズーム<Zoom>、<Found>メッセージ、<NotFound>メッセージ、試行回数<Try>、検出パラメータのリスト<Para>からなる。<Point>はロボットがLMを観測する地点の位置方位で、<DevPoint>は観測点を原点とした時のLMの相対位置方位である。<DevPoint>は<DevX>,<DevY>,<DevDir>の3次元ベクトルで表す。QRコードの情報等は<Para>のリストの中に入れる。<Message>はLMが認識できた時発話する。<Try>はLMが認識でできない時に再試行する回数である。
【0046】
アナウンス<Announce>:メッセージラベル名<Message>と待ち時間<Wait>からなる。待ち時間は秒分などの時間表示と利用者がボタンを押すまでの条件表示がある。<Message>は予め登録した音声データの識別子である。
【0047】
XMLで記述した経路情報の例を図4から図6に示す。経路名はサンプル1で、点字ブロックある歩道で左側と右側の通路幅がそれぞれ150cmと50cmであるパスは点字ブロックの真上に設定する。誘導点字ブロックをSPにしてを20mほど時速4kmで警告点字ブロッが検出されるまで直線走行する。このパスの走行中はやり直し走行が可能である。次に前方3mで30度方向にあるQRコード“5番”の認識認を行い、QRコードが認識できたら、“QRコード5番が見つかりました”と発話して認識を終了する。認識できないときはその旨発話して再試行を2回まで繰返す。それでも成功しない場合は、ロボットはそこで停止し、やり直しボタンを押して、例えば「救援を待つ」を選択する。QRコードが認識できたら、次に90度右に角速度2km/hで旋回し“山梨大学正門です”と発話して30秒停止して走行を終了する。
【0048】
XMLで記述した右回り障害物回避の定型経路情報¥右回り障害物中回避を図7から図8に示す。最初は後退走行のパスで、始端は(0,0,0)で終端は(20,−100,−11.5)である。すなわち1m後退し右に20cmずれる。2番目は前進走行のパスで、始端の位置方位は最初のパスの終端のそれで、終端は(40,0,11.5)であり、右に40cmずれて中断した位置に戻る。この2番目のパスはやり直し走行可能である。3番目のパスは2番目のパスの終端位置を始端(40,0,11.5)にして、終端(40,300,0)の方向に左側回避空間が検出されるまで、すなわち左側の障害物がなくなるまで走行し、やり直し定型行動を終える。
【0049】
誘導時にパスの走行を中断し、このやり直し定型行動を実行すると、中断した地点から右に40cmずれて、障害物なくなる地点まで前進し止まる。そのときのロボットの方位は中断したときの方位である。それから中断した元のパスの走行を開始する。ただし、中断したパスの始端から終端までの走行を実行するわけではない。ロボットは左側に空間がある地点まで前進して右に40cmずれた地点にいるとしてパスの走行を開始するので40cmのずれは徐々に解消されて元のパスに乗る。終端SPが左側回避空間および右側回避空間の場合はパスの終端はそれが検出された地点の位置である。
【0050】
誘導時に2番目の前進走行のパスを実行中に障害物を検出した場合、すなわち障害物を回避しきれない場合は、やり直し走行が可であるから、再度やり直し走行を実行する、その結果、更に右に40cmずれる。20cm右にずれる定型経路情報と10cm右にずれるそれを用意すれば。やり直し定型行動を繰返すことにより小刻みに右にずれて回避することができる。
【0051】
3.ティーチング
ティーチングはデスプレィ画面を通して、走行ロボットとオペレータが会話形式で行う。ディスプレイ画面の例を図9から図15に示す。ティーチングシステムを起動すると、図9に示すトップ画面を表示してロボットの名称と経路名の入力欄を表示する。入力欄には文字を入力する。ただし、5種類のやり直し走行の定型経路情報名は、出発点から目的地にいたる経路名と区別するため、頭文字は特殊記号、たとえば¥記号とする。入力を受理すると作成日を表示し、「次」もアイコンをクリックすると経路要素選択画面が表示される。
【0052】
図10に示す要素選択画面は、パス、ランドマーク、アナウンス、終了の5つのメニューを表示する。
【0053】
パスのニューを選択すると、図11に示すパス設定画面が表示される。この画面は、走行速度、通路幅左、通路幅右、航法、SP検出雛形、終端SP検出雛形、やり直し走行可否の7つのアイコンを表示する。各アイコンをクリックすると、数値入力欄またはリスト選択欄を表示する。▽印をクリックするとリストが次々表示される。走行速度は時速キロメートル(km/h)の単位で入力する。航法は、前進走行、後退走行、左スピンターン、右スピンターン、追尾走行、停止があり、リストの中から選択する。SP検出は、SP検出雛形のリストの中から選択する。終端SPは、終端SP検出雛形のリストの中から選択する。やり直し走行可否は、交差点を渡る経路などやり直し走行を禁止したいパスでは否とし、通常のパスでは可とする。ロボットをパスの方向に向けて「次」をクリックするとティーチング走行画面を表示する。
【0054】
ロボットは図12に示すティーチング走行画面を表示し走行を開始する。この画面はパスの始端の座標と方位(X0,Y0、Dir0)を表示する。そしてSP検出画面と終端SP検出画面、および現在位置と方位(X、Y、Dir)の値を時事刻々表示する。ただし、SPがないパスの場合はSP検出画面を表示しない。ロボットがSP検出に成功したらSP認識確定のアイコンをクリックし、終端SP検出に成功したら終端SP認識確定のアイコンをクリックする。ロボットは終端SPの位置まで走行して停止し、パスの終端の位置方位と検出に用いたパラメータを経路バッファに記憶する。「次」をクリックすると経路要素選択画面に戻る。
【0055】
後退走行の場合は、オペレータはジョイステックを後ろ向きに走るように操作し、スピンターンの場合は、右または左にその場回転するようにジョイステックを操作する。終端にきたとき、または所望の角度の回転に達したとき、スタートボタンを押してパスの終端に来たことをロボットに知らせる。ロボットはパスの情報を経路バッファに記録する。
【0056】
経路要素選択画面でランドマークのメニューを選択すると、図13のLM設定画面が表示される。LM検出は、位置確認、ドアの開閉判定、歩行者信号判定の3つのモジュールの中から選ぶ。オペレータはいずれの場合も走行ロボットをLMの観測点に置く。
【0057】
LM設定画面には、ビデオカメラ制御とLM認識の画面が表示される。前者はビデオカメラのパン、チルト、ズーム角を制御する画面で、アイコンのRight/Leftをクリックするとパン角が、Up/Downをクリックするとチルト角が、Zoom/Teleをクリックすると広角/望遠の制御がなされる。
【0058】
オペレータは、撮像画面にLMが認識しうる大きさで映るようにビデオカメラを制御し、その状態になったら決定のアイコンをクリックする。走行ロボットは、LMの認識に成功すると、図14に示すLM確定画面が表示される。この画面は、現在位置方位、そのときのパン角、チルト角、ズーム量、ロボットからLMまでに相対位置方位を表示する。この値と認識したQRコードなどをLM情報として経路バッファに記録する。再試行回数は認識できないときにLM認識を繰り返す回数である。
【0059】
経路要素選択画面でアナウンスを選択すると、図15のアナウンス設定画面が表示される。その画面にはメッセージラベル名と待ち時間のアイコンが表示される。メッセージラベル名はパスの始端で発話する音声データの名前である。音声データは経路毎にティーチングの前または後で作成し音声データライブラリーに名前を付けて記録して置く。待ち時間は停止なし、スタートボタン押下待ち、指定時間停止(30秒、1分、5分など)のリストの中から選択する。以上の入力が終了すると、アナウンス情報は経路バッファに記録される。
【0060】
やり直し走行のティーチングは、障害物を回避する幅がある通路で行う。障害物を回避するのに十分な長さ、たとえば10mの経路を設定する。経路の上に障害物を置く。障害物は自動車や段ボール箱なでセンサーが検出できるものなら何でも良い。走行ロボットを経路の方向を向けて障害物を検出して一時停止する位置に置く。
【0061】
右回りで回避する定型経路情報を図3に示す。その経路情報名は¥右中回り障害物回避である。次のようにして生成する。走行ロボットを手動で右斜め方向に後退するパスを作る。次に右斜め方向に前進するパスを作る。次に終端SPが左側回避空間の前進走行パスを作り、障害物の左側に沿って障害物が検出されなくなるまで移動させ、その地点をパスの終端とし、¥右中回り障害物回避の定型経路情報を終了する。実行時には定型経路情報を終了すると中断したパスに戻る。そしてフィードバック制御により大きく離れた地点から自動的に経路に戻ることが出来る。ただし通路幅は元の経路情報のパスの通路幅の値が用いるので定型経路情報で用いるすべて航法のパスの通路幅は記述する必要がない。
【0062】
定型経路情報でやり直し走行を実行しても障害物がまだ前方にある場合は再度やり直し走行の定型経路情報を呼び出し、後退と直進を繰り返し障害物が前方にない地点まで移動し、左側回避空間が検出される地点まで前進走行する。左回りで障害物を回避する定型経路情報も同様な方法でティーチングする。
【0063】
4.誘導
誘導は、経路情報をティーチングした走行ロボットを利用するモードである。利用者が走行ロボットの電源を投入すると、走行ロボットは音声で利用者にどの経路を行くか、または、目的地はどこかと発話する。利用者はメニュー選択ボタンの操作で経路または目的地を選択する。走行ロボットは音声でブレーキおよびクラッチを走行モードにしたらスタートボタンを押すように発話する。
【0064】
利用者がスタートボタンを押すと、走行ロボットは選択された経路または目的地の経路情報を読み出し、最初のパスまたはLMから順に走行またはLM認識を実行する。パスの実行において、SPが登録されている場合は、走行ロボットはビデオカメラをティーチングされた方向に向けてSPの検出を行う。SPが縁石のような場合は、登録された距離だけ右または左に間隔を置いて経路がある。SPが点字ブロックの場合はSPとの距離はゼロで経路は点字ブロックの真中にある。走行ロボットはビデオカメラで検出したSPの距離が登録した距離に一致するようにフィードバック制御する。パスの終端の近くに来るとSP検出を中止し終端SP検出を行いその地点まで走行を続け、そこに到達したら次のパスまたはLM検出に移る。経路情報の最後のパスの目的地に到達すると、その旨発話し誘導を終了する。
【0065】
経路を走行中にパスの前方の徐行領域に障害物が入ると、ロボットは例えば2/3に減速し障害物の名前を発話する、最徐行領域に障害物が入ると例えば1/3に減速し障害物の名前を発話する。停止領域に入ると“どいて下さい”と発話する。
【0066】
走行ロボットは利用者に障害物を回り込んで進むか、障害物がどいてくれるのを待つかをやり直しボタンで選択するように発話する。障害物を回り込んで進むを選択すると、障害物回避の定型経路情報を実行し、障害物を通りすぎたら元の経路に戻る。
【0067】
経路情報にLMが登録してある場合は、走行ロボットがその地点に来るとビデオカメラでLMを探索し、LM認識を行い、認識結果を音声で伝える。利用者はOKならばスタートボタンを押すと次のパスを実行する。LMが認識できない場合は、やり直しボタンを押すと、LM認識を行う前のパスの終端にいる状態に戻り、利用者が選んだやり直し定型行動を実行する。
【0068】
LMが歩行者信号の場合は、歩行者信号が赤のとき、赤である旨発話する、そして赤から青に変わったことを検出すると、スタートボタンを押すように発話する。利用者はスタートボタンを押すと走行ロボットは横断歩道を対岸まで走行するパスを実行する。
【0069】
ティーチングのアナウンに記載された地点に来ると音声で登録された音声データを発話する。
【0070】
5.実施例
以下、この発明を視覚障害者を目的地まで誘導する歩行ロボットに適用した実施例についてフローチャートを使って説明する。
【0071】
4.1用語の説明
誘導フラグ(図16):誘導処理中はオンになるフラグ(ソフトウエア上のスイッチ)である。ティーチング処理と誘導処理はシステムの一部をソフトウエアの誘導フラグで分岐して異なる処理をする。その箇所は、経路情報の入力の処理と出力処理をするところである。ティーチングの場合は、実行しようとするパスとランドマークをオペレータがそのつど入力するのに対し、誘導ではティーチング処理で登録した経路情報をデータベースから読み出して用いる。入力した経路情報をティーチングでは最後にデータベースに登録するのに対し、誘導では登録はしない。
【0072】
割り込みフラグ(図18、図20):障害物検出システムが障害物を検出して停止したとき、または利用者がやり直しボタンを押しロボットが停止したときオンになるフラグである。フラグのオンとオフは障害物検出サブルーチンの中で行う。
【0073】
中断フラグ(図16、図18、図22):割込みフラグがオンになり、やり直し走行の条件を満たして、定型経路情報名が確定したときにオンになるフラグである。フラグのオンとオフはパス実行サブルーチンおよびLM認識サブルーチインの中で行う。
【0074】
やり直しフラグ(図16):中断フラグがオンになりやり直し走行の処理に入ったときオンになるフラグである。やり直し走行中に新たなやり直し走行を行うときにこのフラグはすでにオンになっている。やり直しフラグのオンとオフは図16のフローチャート内で行う。
【0075】
徐行領域フラグ、最徐行領域フラグ、停止領域フラグ(図2、図20):障害物検出システムがその領域に障害物があるとオンにするフラグである。徐行領域および最徐行領域、停止領域はそれぞれ、そこに障害物があるときロボットが徐行、最徐行、停止する領域である。
【0076】
左側小回り避避領域フラグ、左側中回り回避領域フラグ、左側大回り回避領域フラグ、右側小回り回避領域フラグ、右側中回り回避領域フラグ、右側大回り回避領域フラグ(図2、図20):障害物検出システムがその領域に障害物がないときオンのフラグである。左(右)側小回り回避領域は徐行・最徐行領域の左(右)側に接する領域で、そこに障害物がなければそこを走行することができる領域である。左(右)側中回り回避領域は徐行・最徐行領域より少し離れた、たとえば20cm離れた領域で、そこに障害物がなければそこをロボットが走行することができる領域である。左(右)側大回り回避領域は徐行・最徐行領域よりさらに離れた、たとえば40cm、離れた領域で、そこに障害物がなければそこをロボットが走行することができる領域である。小回り回避領域は中回り回避領域と大回り回避領域を含み、中回り回避領域は大回り回避領域を含む。
【0077】
現在位置方位(図18、図21):ロボットが内界センサー(車輪のエンコーダやジャイロスコープなど)で算出した現地点の位置(X,Y)とロボットの車体が向いている方位(Dir)をいう。
【0078】
相対方位(図18、図19、図21、図24):相対方位は、ロボットの車体が向いている方位Dirとパスの軌道の方位Dir0との差を言う。
【0079】
SP間隔差(図18、図19、図21、図24):始端から終端に引いた軌道とSPの間隔はティーチング時に登録してある。SP検出モジュールで検出した間隔の値と登録した間隔の値の差を言う。図24ではDxで表す。
【0080】
SP相対方位(図19):SP方位とDirspとロボットの車体の向いている方位との差、Dirsp−Dirである。
【0081】
前方注視距離(図21、図24):走行ロボットはパスの軌道から横方向ずれをその場で解消するのではなく、前方の一定距離はなれた地点で解消するように制御している。この距離を言う。図24ではLで表す。
【0082】
横方向位置ずれ(図21、図24):SP間隔差に前方注視距離において相対方位による位置ずれを加えた値を言う。図24ではDx+Ltan(Dir−Dir0)で表す。
【0083】
終端距離(図18〜図20):現在位置からパス終端までの距離をいう。
【0084】
縦方向位置ずれ(図18):終端SP検出モジュールが計測した終端距離と、内界センサーが算出した現在位置からパス終端までの距離との差を言う。
【0085】
終端SP距離閾値([図19]):終端SPまでの距離がこの値、例えば5cm。を下回ったらパスの終端に到達したと判定する閾値を言う。
【0086】
4.2 サブルーチンの説明
図16から図22の不r−チャートの中で、サブルーチンまたはシステムの枠は二重線で表し、その名前には下線を付ける。
オペレータ入力サブルーチン(図16):ティーチングモード(誘導フラグがオフ)で用いる。オペレータは画面に表示された指示に従い経路情報を入力する。ティーチングを開始した時点では、図9に示す画面の指示に従い経路名を入力すると、それに作成日が付加されて経路バッファに記録される。次からは図9から図15に示した画面の指示に従い、オペレータは要素の主要なデータを入力する。
【0087】
要素実行サブルーチン(図16、図17):要素を入力しその要素(パス、ランドマーク、アナウンス)を実行する。要素を実行して得られたデータをそれに付加して経路バッファーに追加記録し出力する。誘導時には障害物がどいてくれない時または利用者がやり直しボタンを押した時に一時停止して、中断フラグをオンにして所要のやり直し定型経路情報名を出力する。
【0088】
経路データベース検索サブルーチン(図16):誘導モード(誘導フラグがオン)で用いる。経路名または定型経路情報名を入力とし、経路データベースを検索して該当する経路情報または定型経路情報を出力する。
【0089】
パス実行サブルーチン(図17、図18):入力したパスの始端から終端まで走行する。ただし、パスの実行中に障害物に遭遇した場合や、利用者がやり直しボタンを押した場合には、中断フラグをオンにして、定型経路情報名を出力する。
【0090】
LM認識サブルーチン(図17、図22):入力のLM認識モジュールが歩行者信号判定の場合はビデオカメラを制御して歩行者認識サブルーチンを実行する。このサブルーチンは、画像処理で歩行者信号を認識し状態コード(青信号、赤信号、認識不能)を出力する。本発明では、歩行者信号が赤から青に変わった時点で渡って良いとする戦略をとる。理由は、視覚障害者が聴覚で車の移動方向が変わったことを確認するためと、青信号の点灯時間を最大限利用するためである。フローチャートでは、誘導時に於いて歩行者信号が青で赤信号カウントが1以上のとき、すなわち信号が赤から青に変わったとき、青信号と発話してLM認識サブルーチンの処理を終える。歩行者信号が赤信号の時は、赤信号と発話して赤信号カウントが試行回数に達するまで歩行者信号認識を繰り返す。試行回数まで繰り返しても赤信号のままの場合、および歩行信号の赤も青も認識不能のときは、認識不能と発話する。その後に利用者がやり直しボタンを押すと中断フラグがオンになり、定型経路情報名サブルーチンで最適なやり直し走行を選択して、中断フラグと定型経路情報名を出力して処理を終える。
【0091】
LM認識モジュールが現在位置確認とドア開閉判定の場合は、QRコード認識サブルーチンを実行する。このサブルーチンはビデオカメラを制御して、画像処理でコード語の認識をする。認識できた時はコード語を発話して要素を経路バッファに追加記録して処理を終える。誘導時に於いて認識出来ない時は、再試行回数だけ認識処理を繰り返し、それでも認識できないときは認識不能と発話する。その後の処理は歩行者信号判定の場合と同じである。
【0092】
音声発話サブルーチン(図17):入力のメッセージを発話して、待ち時間を経過してからサブルーチンを抜け出す。アナウンス情報を経路バッファに追加記録し出力する。
【0093】
SP・終端SP検出サブルーチン(図18):雛形SP検出モジュールと雛形終端SP検出モジュールを入力とし、SP間隔差と相対方位、終端距離を出力する。SP間隔差は、検出したSPの間隔との雛型SP検出モジュールに記載されたSP間隔の差である。SP相対方位は、追尾走行の時にのみ利用する。それは検出した終端SP、すなわちQRコードの(ロボットから見た)方向である。
【0094】
障害物検出サブルーチン(図18、図20):このサブルーチンの機能は3つある。一番目はロボットの走行速度の減速である。障害物システムは障害物があれば、それが徐行領域、最徐行領域、停止領域の中のどの領域にあるかを検出し、その結果で走行速度を徐行、最徐行、停止に設定する。二番目は、障害物回避を行うやり直し定型行動を選択することである。障害物が徐行領域にあるとき、左右どちら側に回避すれば良いか、回避する場合は小回りで回避するのか大回りで回避するのかなどを定型経路情報名選択サブルーチンで選ぶ。また、利用者がやり直しボタンを押したときは走行速度をゼロに設定し同様に定型経路情報名選択サブルーチンで選ぶ。また、障害物検出システムは終端SPが左(または右)側回避空間検出のときは左(または右)側小回り回避領域に障害物がないとき現在位置方位をパスの終端にする。三番目は障害物検出システムのデータから障害物の種類を推定し発話することである。障害物の種類は、例えば検出した障害物候補の3次元データの幅と高さから推定する。障害物検出サブルーチンの入力は航法で、出力は割込みフラグと、定型経路情報名、走行速度である。
【0095】
フィードバック制御サブルーチン(図18、図21、図24):F04の位置ずれ算出サブルーチンは推測航法で現在位置方位(X,Y,Dir)を算出する。そして前方注視距離、例えば2m先で、相対方位(Dir−Dir0)で進んだらどれだけ目標軌道からずれるかを算出し、横位置ずれとする。ただし、Dir0は始端から終端へ引いた軌道の方位である。F05の車体制御サブルーチンは横位置ずれを偏差にしてロボットの左右車輪を制御する。追尾走行の場合は画像処理で検出したSP、すなわち追尾走行用QRコード、の方位を相対方位とし、SP間隔差はゼロとする。このことにより前方注視距離にQRコードコードがあるとしてフィードバック制御を行う。
【0096】
定型経路情報名選択サブルーチン(図20、図22、図23):(左/右側(小/中/大)回り回避領域フラグおよびやり直しボタンを入力として対応する定型経路情報名を出力するサブルーチンである。ただし、やり直しボタンがオンのときは、どのやり直し定型行動をしたいかを図23に示す定型経路情報名のリストの中から利用者に選択させる。
【0097】
4.3 フローチャートの説明
ティーチングの処理を図16のフローチャートを用いて説明する。ティーチングを行う晴眼者、例えば歩行訓練士をオペレータという。オペレータは、経路をどのようなパスとランドマークに分解するかをデザインしておき、走行ロボットを出発点に最初のパスの方向を向けて置く。
【0098】
ティーチングは図16のA01から始まる。A02で誘導フラグをオフにし、A03でオペレータは経路名を入力する。A04の誘導フラグで分岐してオペレータはA05のオペレータ入力システムから要素名とその要素の情報を入力する。オペレータ入力システムは、図9から図15に示すPC画面の指示に従い要素のデータを入力するシステムである。A07の要素実行サブルーチンに進む。このサブルーチンで詳細は図17に示す。サブルーチンの入力は要素で、出力は経路バッファと中断フラグとやり定型経路情報名である。経路バッファにはティ−チングで得た要素のデータを獲得した順に記録する。ティーチング時には中断フラグは常にオフである。A08で分岐しA04に戻る。このループは、経路の終わりに来てオペレータが要素を空にするまで繰返す。A09を経て10で経路バッファを経路データベースに登録し、A11でティーチング処理を終了する。
【0099】
誘導の処理について説明する。図16のA13で開始する。A14で誘導フラグをオンにする。A15で利用者に経路名を選択するように発話する、A16で経路データベースを検索し経路名に対応する経路情報を取り出す。A04の誘導フラグはオンであるからA17で経路情報から要素を取り出す。A06で要素があれば要素実行サブルーチンに進みその要素を実行する。通常の走行では出力の中断フラグはオフであるからA04に戻る。経路情報の最後まで進むと、A06で要素がなくなり、A09を経てA12の判定に進み、やり直し走行ではないので、A18で目的地に到達した旨発話してA19で誘導処置は終了する。
【0100】
誘導処理でA07の要素実行サブルーチンで要素を実行している最中に、中断フラグがオンになると、A08を経てA20へ進む。やり直しフラグはオフならばA21に進み、このフラグをオンにする。A22で中断したパス情報とその経路情報を中断バッファに退避してA23に進む。ただし中断した要素がLMの場合は、直前のパス情報を経路バッファに退避する。
【0101】
A23は経路情報検索サブルーチンである。このサブルーチンは入力のやり直し定型経路情報名で経路データベースを探索し定型経路情報を出力する。A24で、中断した地点からパスに下ろした垂線の足の地点に、定型経路情報の出発点が来るように並行移動する。そして定型経路情報の全体を中断したパスの方向に回転する。次にA04に進み、A17から定型経路情報に基づく誘導を行う。この定型経路情報の最後まで進むとA06でNoに分岐し、A09を経てA12に進みやり直しフラグはオンであるからA25でやり直しフラグをオフにする。そして中断した経路情報とパスを中断バッファから戻して、元の経路情報による走行を続ける。
【0102】
やり直し行動を実行中はやり直しフラグはオンである。この場合にA07の要素実行サブルーチンが中断フラグをオンにしてやり直し定型経路情報名を出力した時、A20を経てA23に進む。すなわち、やり直し走行中に新たなやり直し走行を実行しても、それが終わって戻る時のパスは最初に中断した時のパスになる。
【0103】
図17の要素実行サブルーチンは要素の種類によって3つのサブルーチンに分かれる。要素がパスならばB03のパス実行サブルーチンを実行する。このサブルーチンは、パス情報に基づいて始端から終端までの軌道の走行を行い終了する。ただし、走行中に障害物に遭遇したりしてやり直しボタンが押されたときは、中断フラグをオンにして走行を中断し、定型経路情報名を出力して終了する。要素がLMならばB04のLM認識サブルーチンを実行する。このサブルーチンはLMを認識し、認識できた時は認識結果を発話して終了する。認識できない時は再試行回数だけ認識を繰り返す。それでも認識できない時は、利用者がやり直しボタンを押して定型経路情報名を選択し、中断フラグをオンにして終了する。要素がアナウンスならば、音声発話サブルーチンを実行し、メッセージを発話して、待ち時間を経過したら終了する。いずれのサブルーチンでもその実行により得た要素の情報を経路バッファに追加記録する。
【0104】
図18のパス実行サブルーチンは、最初にC02の航法で3つの処理グループに分かれる。第1グループは前進走行、バック走行、追尾走行からなる。第2グループは左スピンターンと右スピンターンからなり、第3グループは停止からなる。
【0105】
第1グループはC03でパスの始端と終端を結ぶ目標軌道を作成する。C04で中断フラグをオフにし、C05のSP・終端SP検出サブルーチンに進む。このサブルーチンはSP検出モジュールと終端SP検出モジュールを起動する。SP検出モジュールは、当該SPを認識し、SPとパスとの間隔を検出する。その間隔とティーチングで登録したそれとの差をSP間隔差として算出する。一方終端SP検出モジュールはその終端SPのまでの距離を検出し、その距離を終端距離とする。このサブルーチンはSP検出モジュールと終端SP検出モジュールを入力とし、SP間隔差と終端距離を出力しC06の障害物検出サブルーチンに進む。
【0106】
C06の障害物検出サブルーチンは、障害物検出システムが障害物を検出すると、その位置により走行速度を徐行速度、最徐行速度、停止(走行速度=0)に設定する。障害物がなくても利用者がやり直しボタンを押すと停止する。やり直しボタンを押すと割込みフラグがオンになり定型経路情報名を出力しサブルーチンを終了する。
【0107】
C07で割込みフラグがオンのとき、定型経路情報の有無を調べ、有れば次に回避する道路幅が有るか否かを調べて、利用者が再度やり直しボタンを押したら中断フラグをオンにし、定型経路情報名を出力しパス実行サブルーチンを終了する。やり直しボタンを再度押さなければC06の障害物検出サブルーチンに戻り、障害物が退いてくれるまで障害物検出を繰返す。また定型経路情報名が無い時および道路幅が狭いときは、障害物回避が出来ない旨発話し同様にC06の障害物検出サブルーチンに戻る。
【0108】
割込みフラグがオフの時にはC08のフィードバック制御サブルーチンを実行する。走行速度がゼロの時は何もしないで終了する。パスの始端と終端を結ぶ軌道を目標値として、前方注視距離における横方向位置ずれを偏差にして走行速度でフィードバック制御をする。そしてC09で終端までの距離が終端閾値より大きいときはC05にもどり、小さくなったらC10で現在位置の縦方向位置ずれを補正し、C20で要素を経路バッファに追加記録しパス実行サブルーチンを終了する。
【0109】
航法が左または右スピンターンの場合はC17で左右の車輪は互いに逆方向に指定された角度だけその場回転し、サブルーチンを終了する。回転中に障害物を検出するとC18の障害物検出サブルーチンで割込みフラグがオンになりC13のやり直しボタン押下の判定に進みパス実行サブルーチンを終了する。
【0110】
航法が停止の場合は走行を停止しスタートボタンが押されるとパス実行サブルーチンを終了し、次の要素の実行に移る。
【0111】
図19のSP・終端SPサブルーチンは終端距離が終端SP閾値より短ければこのサブルーチンを終了する。そうでなければSPモジュールを起動し、SPが検出できない時はD09に進む。検出できたときはD05に進む。航法が追尾走行の場合は、SPは追尾走行用QRコードであり、D07でそのSP相対方位を検出しその値を相対方位する。追尾走行でない場合は、D08で相対方位とSP間隔差を算出する。そしてD09に進む。
【0112】
D09で終端SPモジュールを起動する。追尾走行の終端SPは追尾走行終了用QRコードである。QRコードが追尾走行用から終了用に変わった地点で終端距離をゼロにしパスの終端とする。航法が追尾走行でないときは終端SPまでの距離を終端距離とし、終端SPが検出できないときは、終端距離を現地点からパス終端までの距離とし、サブルーチンを終了する。
【0113】
図20の障害物検出サブルーチンは、E02で割込みフラグをオフにする。そして障害物検出システムから障害物データを受取る。ロボットの進行方向の領域を徐行領域と、最徐行領域、停止領域に分け、その領域に障害物があればその領域フラグをオンにする。この徐行・停止領域の左側および右側に小回り回避領域と中回り回避領域、大回り回避領域を設ける。それぞれの回避領域に障害物がなければ、その回避領域フラグをオンにする。
【0114】
やり直し定型経路情報では障害物を回避して元の経路に戻る際に、前進走行のパスを用い、その終端SPを左または右側回避空間検出とする。左まらは右側小回り回避領域フラグがオンのとき、終端距離をゼロにする。すなわち、障害物を回避するパスの終端に到達したとする。
【0115】
ロボットが前進して障害物が停止領域にまで来ると、障害物に前方の視野が遮られ、障害物の左右どちら側に回避空間があるのか分からなくなる。そこで障害物が徐行領域に入った地点で、大回りに回避するか小回りに回避するか、その定型経路情報名をE15の定型経路情報名選択サブルーチンで選んでおく。ただし実際に割込みフラグをオンにするのは、停止領域フラグがオンになった地点E08である。また、障害物の有無にかかわらず、利用者がやり直しボタンを押すと走行速度をゼロにしてE15で定型経路情報名を選択する。E07からE11で徐行、最徐行、停止領域フラグがオンのとき、それぞれの走行速度を設定し障害物名を発話あるいは警告音を鳴らし、サブルーチンを終了する。
【0116】
図21のフィードバック制御サブルーチンは、追尾走行のときはSP間隔差をゼロにする。F04の位置ずれ算出サブルーチンで前方注視距離における横方向位置ずれを算出する。次にF05の車体制御で速度制御と横方向位置ずれを偏差にし、パス軌道を目標値にしたフィードバック制御を行う。
【0117】
4.4 雛形モジュールの説明
SPと終端SP検出モジュールはシステム開発者が作成する。例えば、図25に示す画面で2つのモジュール名を入力し、パラメータとしてSPとパスの間隔を入力する。間隔はSPがパスの右にあるか左にあるかを値の正負で識別する。次をクリックすると図26に示す画面が表示される。ロボットはテスト走行距離を走行し、SPと終端SP検出モジュールを起動する。ビデオカメラ制御のアイコンでビデオカメラを操作すると画面が出る。検出に成功した時は「決定」のアイコンをクリックすると、そのときのパン・チルト・ズーム角とPara1からPara3の検出閾値が雛形モジュールの値として記録される。検出に失敗したときは、ビデオカメラ制御と検出閾値を変えて「戻る」をクリックして検出に成功するまで繰り返す。
【0118】
図4の<SPInfo1>から図5の</SPInfo2>までの行は図25、図26で入力した誘導点字ブロック検出と警告点字ブロックの雛形のXML表現である。
【特許請求の範囲】
【請求項1】
走行ロボットの経路情報をパスおよびランドマークを要素とする系列で表し、パスを始端と終端を結ぶ軌道、および前進、後退、スピンターン、目印の後を追尾走行、停止からなる航法、および軌道からの横方向ズレを補正するためのサインパターンの情報、および軌道の縦方向の位置ずれを補正するための終端サインパターの情報、および走行速度、および通路の幅などで表し、オペレータがティーチング、すなわち走行ロボットを経路に沿って動かして経路情報を作成する走行ロボット。
【請求項2】
出発地点から目的地点に至る経路情報に基づく走行中に、障害物に行く手を阻まれたり、入り口やフェンスなどに接触しそうになったりしたときに、障害物検出システムが伝える情報により最適なやり直し走行を自動的にもしくは利用者が選択し、または道路の工事中の箇所に来たときに、工事従事者の案内に従う追尾走行からなるやり直し走行を選択し、目的地点にいたる経路情報に基づく走行を中断し、やり直し走行を挿入し、問題がなくなったら中断した経路情報に基づく走行に戻る請求項1に記載する走行ロボット。
【請求項3】
やり直し走行の経路情報を定型経路情報、すなわち構成する要素の種類と順序は決まっているが、パスの始端や終端などの位置方位の値は決まっておらず、実行時に決まる経路情報、で記述し、ティーチングで定型経路情報を作成する請求項2に記載する走行ロボット。
【請求項1】
走行ロボットの経路情報をパスおよびランドマークを要素とする系列で表し、パスを始端と終端を結ぶ軌道、および前進、後退、スピンターン、目印の後を追尾走行、停止からなる航法、および軌道からの横方向ズレを補正するためのサインパターンの情報、および軌道の縦方向の位置ずれを補正するための終端サインパターの情報、および走行速度、および通路の幅などで表し、オペレータがティーチング、すなわち走行ロボットを経路に沿って動かして経路情報を作成する走行ロボット。
【請求項2】
出発地点から目的地点に至る経路情報に基づく走行中に、障害物に行く手を阻まれたり、入り口やフェンスなどに接触しそうになったりしたときに、障害物検出システムが伝える情報により最適なやり直し走行を自動的にもしくは利用者が選択し、または道路の工事中の箇所に来たときに、工事従事者の案内に従う追尾走行からなるやり直し走行を選択し、目的地点にいたる経路情報に基づく走行を中断し、やり直し走行を挿入し、問題がなくなったら中断した経路情報に基づく走行に戻る請求項1に記載する走行ロボット。
【請求項3】
やり直し走行の経路情報を定型経路情報、すなわち構成する要素の種類と順序は決まっているが、パスの始端や終端などの位置方位の値は決まっておらず、実行時に決まる経路情報、で記述し、ティーチングで定型経路情報を作成する請求項2に記載する走行ロボット。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2012−187698(P2012−187698A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願番号】特願2011−66675(P2011−66675)
【出願日】平成23年3月8日(2011.3.8)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(505439152)ロッタ有限会社 (2)
【Fターム(参考)】
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願日】平成23年3月8日(2011.3.8)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(505439152)ロッタ有限会社 (2)
【Fターム(参考)】
[ Back to top ]