説明

ロボットシステム

【課題】 環境内において、ロボットが通行してよい領域、通行を許さない領域を容易に設定するロボットシステムの構築を課題とする。
【解決手段】
レーザ距離センサを搭載したロボットを用い、通行可能な範囲の境、例えば壁面などに沿ってロボットを移動させる。この移動の際、距離センサによるセンサデータを記録しておき、これを環境の幾何形状を表す地図とマッチングすることで、環境中をロボットが移動したときの軌跡を求める。この軌跡の各点において、センサによる走査を行った場合に、レーザが地図上の障害物と交わる位置を求め、障害物との交わりが軌跡の内側にある場合は進入禁止領域、そうでない場合は通行可能領域と設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットシステムに関し、特に、通行可能領域と進入禁止領域を設定する技術に関する。
【背景技術】
【0002】
ロボットが環境内を効率的に移動するためには、環境内の障害物などの位置を表す地図を保持し、その地図上での自身の位置・姿勢を求める必要がある。
これを実現する方法として、2次元平面をレーザで走査することで環境の幾何形状の計測が可能な距離センサをロボットに搭載し、走査面の高さでの環境の地図を作成して自律移動に用いることが一般的となっている。ただし、この地図は、ある高さでの地図であるため、例えば机などは、地図に反映されているのは脚の位置だけであり、地図からは机の天板部分とロボットの干渉の有無が判断できない、つまりは、通行可能な領域・通行不能な領域が地図上のどこであるかが判断できないことが起こりうる。 これに対応する方法としては、非特許文献1のように、環境中にある、机や設備のモデルを準備して、別途距離センサで作成しておいた地図に追加することで、ロボットが直接認識できない物体形状を地図に反映させ、物体がない領域を通行可能領域とする方法が挙げられる。環境中にある物体の幾何形状が予めわかっている場合に用いられる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Takashi Tsubouchi, Akichika Tanaka, Atsushi Ishioka, Masahiro Tomono, Shin'ichi, ``A SLAM Based Teleoperation and Interface System for Indoor Environment Reconnaissance in Rescue Activities," 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.1096-1102, 2004.
【発明の概要】
【発明が解決しようとする課題】
【0004】
ロボットが移動する環境中の物体1つ1つの幾何形状の情報がない場合においても、ロボットが通行可能な領域、あるいは通行不能な領域を容易に設定できるロボットシステムの構築を課題とする。
【課題を解決するための手段】
【0005】
レーザ距離センサを搭載したロボットを用い、通行可能な範囲の境、例えば壁面などに沿ってロボットを移動させる。この移動の際、距離センサによるセンサデータを記録しておき、これを環境の幾何形状を表す地図とマッチングすることで、環境中をロボットが移動したときの軌跡を求める。この軌跡の各点において、センサによる走査を行った場合に、レーザが地図上の障害物と交わる位置を求め、障害物との交わりが軌跡の内側にある場合は進入禁止領域、そうでない場合は通行可能領域と設定する。
【0006】
本発明の一態様においては、以下の構成を備える。即ち、環境中の障害物までの距離が計測可能な距離センサ部と距離センサデータと地図とを用いて位置・姿勢の推定を行う位置姿勢推定部と、与えられた経路に従って車体制御を行う経路追従制御部と、経路追従制御部の指令に従って動作する移動機構部と、操作者からの指示を受け取るためのリモコン入力取得部からなるロボットであって、位置推定部によって求められたロボット移動時の推定位置・姿勢データをもとに移動した経路の履歴を求める経路履歴生成部と、経路履歴による閉領域と環境地図を用い、閉領域内の障害物の有無を確認することで、閉領域が通行可能領域か進入禁止領域かを判定する通行可能領域・進入禁止領域生成部と、求められた各通行可能領域と進入禁止領域を統合して、地図全体での通行可能領域と進入禁止領域とを地図として求める通行可能領域・進入禁止領域統合部を備える。
【発明の効果】
【0007】
環境内にある設備などについて、通行可能領域・進入禁止領域の設定の時間や労力を削減する効果がある。
【図面の簡単な説明】
【0008】
【図1】通行可能領域と進入禁止領域の設定機能の構成を示す図である。
【図2】ロボットの構成を示す図である。
【図3】ロボット内の全体の処理の流れを示す図である。
【図4】通行可能領域と進入禁止領域の設定処理の流れを示す図である。
【図5】環境とロボットの経路の例を示す図である。
【図6】通行可能領域と進入禁止領域の判定例を示す図である。
【図7】設定された通行可能領域と進入禁止領域を示す図である。
【図8】位置推定の異常を検出して警告する処理の流れを示す図である。
【発明を実施するための形態】
【0009】
以下、図面を用いて本発明の実施形態を説明する。
【実施例1】
【0010】
本実施例で想定するシステムの基本的な構成について述べる。通行可能領域・進入禁止領域を設定するロボットシステムの構成は図1のようになる。ロボットは、距離センサ部0001、位置姿勢推定部0002、移動機構制御部0003、移動機構部0004、リモコン入力取得部0005、経路履歴クロージング部0006、通行可能領域・進入禁止領域生成部0007、通行可能領域・進入禁止領域統合部0008、地図データ0009、推定位置・姿勢データ0010、そして生成した通行可能領域・進入禁止領域を保存するデータ領域0011から構成される。この図1においては、すべての機能をロボットに搭載しているが、機能の一部を遠隔の端末など移した構成としてもよい。この図1の一例として図2のロボットを想定し、以下ではこのロボットの構成に沿った説明を行う。 まず、図2のロボット2001の構成について述べる。ロボット2001は、通信線2002、プロセッサ2003、メモリ2004、リモコン2005、レーザ距離センサ2006、移動機構2007、記憶装置2008から構成される。本実施例では、移動機構として、車輪による、全方向移動が可能な移動機構を想定しているが、環境内を移動する効果が得られるのであれば、他の車輪移動機構、船舶、航空機、飛行船、無限軌道を備える車両、脚を備えるロボットなどの移動機構であってもよい。また、本実施例では、環境の幾何形状を計測するセンサとして、水平方向にレーザを走査しながら、照射したレーザ光が障害物から反射して返ってくるまでの時間の計測によってセンサから障害物までの距離を算出することで、2次元水平面における物体の幾何形状を計測するレーザ距離センサを想定する。しかし、この他のセンサとして、例えば、水平方向以外も走査することで物体の3次元の幾何形状を計測するレーザ距離センサ、物体をカメラで撮影した際の画像特徴量を複数野カメラで三角測量することで物体の3次元の幾何形状を計測するステレオカメラなど、幾何形状が計測可能であればそのセンサの方式は問わない。
【0011】
ロボット2001の記憶装置2008には、プログラムとして、OS2009、全体制御プログラム2010、レーザ距離センサ2006を用いて幾何形状データを取得するレーザ距離センサデータ取得プログラム2011、ユーザによるロボットの操縦のための入力と通行可能領域・進入禁止領域の教示開始・終了の入力を取得するリモコン入力取得プログラム2012、地図データ2018とレーザ距離センサ2006から得られる幾何形状データのマッチングによってロボットの位置と姿勢を求める位置姿勢推定プログラム2013、得られたリモコン入力に従って車体の制御を行うための移動機構制御プログラム2014、教示時に記録された経路の履歴から閉じた領域を生成する経路履歴クロージングプログラム2015、経路の履歴によって閉じられた領域について通行可能か進入禁止かを判定する通行可能領域・進入禁止領域生成プログラム2016、得られた通行可能領域と進入禁止領域を統合して最終的に有効な通行可能領域・進入禁止領域を求める通行可能領域・進入禁止領域統合プログラム2017が格納されている。 また、データとして、ロボットが自律移動する環境内の障害物の幾何形状を記録した地図データ2018、位置姿勢推定プログラム2013で推定した位置・姿勢を記録した推定位置・姿勢データ2019、推定位置・姿勢データをスプライン等で補間することで得られる経路履歴データ2020、ロボットと環境の干渉の有無の確認などに用いるロボットの形状データ2021が格納されている。
【0012】
なお、図2では、プロセッサが、記憶装置のプログラムをメモリにロードし、プログラムを実行することで所定の処理を実現することを想定しているが、これと同等の働きをするのであれば、FPGA(Field Programmable Grid Array)やCPLD(Complex Programmable Logic Device)などのプログラマブルなハードウェアで実現してもよい。また、プログラムやデータは、CD-ROM等の記憶媒体から移してもよいし、ネットワーク経由で他の装置からダウンロードしてもよい。また、以上のハードウェアやソフトウェアは、実施形態に応じて、取捨選択してもよい。以上のハードウェア、ソフトウェアは以下で説明するロボットシステムの処理動作の動作主体として働くものとする。
【0013】
加えて、ロボットの構成要素については、各要素が有線の通信線にて接続されていることを想定しているが、通信が可能であれば無線であってもよい。また、通信が可能であれば、構成要素のうち、特定の要素のみが物理的に遠隔にあってもよい。 以上のロボット2001の運用例として、図5のように、5002で表される斜線部分に設備や家具、あるいは壁面やドアが配置された環境で、水平に180度の範囲を走査するレーザ距離センサ5004を備えるロボット5003を、5006の矢印で表される各経路に沿って、ユーザがリモコン操縦によってロボットを走らせた際に得られるロボットの推定位置・姿勢より通行可能領域・進入禁止領域を設定する例を想定して処理の流れを説明する。なお、ここでは、ユーザが、図5の各矢印で表される経路毎に、経路の始点にて、リモコンの教示開始ボタンを押し、終点で教示終了ボタンを押すことで、教示のためのロボットの移動中の位置・姿勢が、レーザ距離センサ2006より得られる幾何形状データと地図データ2018とのマッチングによって求められ、2019に記録されているものとする。 通行可能領域・進入禁止領域を求めるための全体の処理の流れを図3に示す。まず、地図データ2018、ロボットの推定位置・姿勢データ2019、ロボットの形状データ2021が読み込まれる。(3001)。また、このとき、ロボットの位置・姿勢データ2019に含まれる座標データは、線分で補間され、経路履歴データ2020として記録される。 続いて、この経路履歴毎にクロージング処理を行う(3002)。ここでのクロージング処理とは、各経路履歴毎に、始点と終点をつなぐ処理である。ロボットの形状データ2021をもとに、始点と終点の距離がロボットのサイズよりも小さいと判明した場合は、ロボットの通過が想定されない1つの領域とみなして、始点と終点とをつなぎ、閉じた領域とする。 経路履歴の始点と終点がロボットのサイズより大きい場合は、クロージングが行われず、閉じてない経路履歴が残ることとなる。このような閉じてない経路履歴がある場合は(3003)、閉じられてない経路履歴を地図上で強調するようにディスプレイ2022に表示し、ユーザに警告する(3011)。ユーザは警告に従い、キーボードやマウスなどの入力機器2023を用い、経路履歴が閉じていない部分について、閉じてよいならば、始点や終点位置を移動させて、距離がロボットサイズ以下となるようにして、クロージングを行う。 また、閉じられた経路履歴について、経路履歴同士で交わる部分があると判定された場合においても(3004)、ユーザへの警告を出す(3011)。この場合も先と同様に警告に従い、交差している部分について、交差をなくすように、入力機器2023を用いて修正する。
【0014】
続いて、各経路履歴毎に通行可能領域・進入禁止領域の判定を行う(3005)。この判定処理の詳細を図4に示す。また、判定処理の例を図6に示す。処理3005の処理開始後、まず、経路履歴に沿ってロボットを走らせながらセンサで計測を行った場合に得られるセンサデータのシミュレーションを行う(4001)。ここでのシミュレーションとは、経路履歴上の各位置・姿勢でセンサによる計測を行うことを想定して、センサより照射されるレーザを模した線分を、センサの計測角度範囲分だけ、センサの光学中心から地図の端までを伸ばしていき、このとき各方向に伸ばされる線分が地図上の障害物と交わる箇所、各経路履歴と交わる箇所を記録することであるとする。
【0015】
続いて、各経路履歴において、内側の判定を行う(4002)。これは、ある経路履歴について処理4001で得られる線分が、当該経路履歴と交差する回数を用いて判定を行う。ロボット位置も交点とみなして交差回数に含めるとしたときに、ロボット位置から地図の端まで伸ばした線分が経路履歴と交差する回数が奇数回か偶数回かを判定し、偶数回ならば、レーザをなす線分のうち、交わる回数が奇数番目から偶数番目となるまでの範囲を経路履歴の内側と判定し、また交差回数が奇数回ならば、レーザをなす線分のうち、交わる回数が偶数番目から奇数番目となるまでの範囲を経路履歴の内側と判定する。例えば、経路履歴6011についてシミュレーション4001を行った際、センサの位置・姿勢6007でセンサによる一回の走査に含まれるデータとして、線分6005と線分6009が得られたとする。線分6005と経路履歴6011は、点6005と点6004で交差回数2回となる。交差回数が偶数のため、線分の始点6006から交点6004までが内側と判定される。同様に、線分6009と経路履歴6011は、交差回数3回で点6008と6010とで交わる。交差回数が奇数のため、線分の始点6006から交点6008までが外側、6008から6010までが内側と判定される。同様の処理を経路履歴上の各位置姿勢において、センサの計測範囲分、経路履歴一周分行う。
【0016】
続いて、経路履歴の内側にある他の経路履歴の検出を行う(4004)。これは、ある経路履歴について処理4001で得られる線分が、他の経路履歴と交差する回数を用いて判定を行う。交差する回数が奇数回か偶数回かを判定し、奇数回ならば、レーザをなす線分のうち、交わる回数が偶数番目から奇数番目となるまでの範囲を他の経路履歴の内側と判定し、また交差回数が偶数回ならば、レーザをなす線分のうち、交わる回数が奇数番目から偶数番目となるまでの範囲を他の経路履歴の内側と判定する。ここまでで、各経路履歴毎に他の経路履歴を除く内側の領域が求められる。
【0017】
次に、ここまでで求められた経路履歴の内側の領域が、通行可能領域か進入禁止領域かを判定する処理を行う(4003)。この処理は、ある経路履歴について処理4001で得られる線分のうち、他の経路履歴に含まれない範囲の線分と地図上の障害物と交点を検出する。この交点が1つでもあれば、処理4004に進み、経路履歴の内側の領域かつ他の経路履歴を除く範囲が進入禁止領域と設定され(4004)、そうでなければ同領域は通行可能領域として設定される(4005)。例えば、経路履歴6013におけるセンサシミュレーション時に得られる線分6003が得られたとすると、この線分が経路履歴の内側となるのは、点6013から6014までの範囲となる。この範囲の線分は点6001にて地図上の障害物と交わっていることが検出され、経路履歴6013の内側は進入禁止領域として設定される。ここまでで、経路履歴内の他の経路履歴による領域を除く領域が通行可能領域か、進入禁止領域なのかが求められる。 続いて、図6で表される地図全体が一旦進入禁止領域として設定され(3006)、また、経路履歴による領域のうち、通行可能領域と判定された領域と進入禁止領域と判定された領域とが地図上に上書きされる形で順にそれぞれ設定される(3007、3008)。以上により、図6で表された地図の通行可能領域は図7の斜線部、進入禁止領域は図7で斜線部以外の領域のように求められる。 なお、本実施例においては、経路履歴の内側を求めるための前処理として、仮想的なセンサより発した線分と地図上との障害物の交点を求め、これを用いて内側を求めているが、地図上を一方向に走査していく線分と障害物との交点を求め、これを用いて同様の方法により内側を判定してもよい。
【実施例2】
【0018】
実施例1では、ロボットを環境内で走行させ、運用する前の準備として、通行可能領域・進入禁止領域を設定する方法について述べた。以下では、得られた通行可能領域を用い、ロボット運用時における位置推定の異常を検出し、ユーザに警告するシステムの構成について述べる。
【0019】
プログラムが開始されると、まず、通行可能領域内でのセンサデータシミュレーションが行われる(8001)。ここでのセンサデータシミュレーションとは、地図上のある位置・姿勢でセンサによる計測を行うと仮定して、レーザを模した線分を、センサの計測角度範囲・計測距離範囲分だけ、センサの光学中心から伸ばしていき、線分と地図上の障害物がはじめに交わる位置を求める処理である。この処理を、ロボットが取りうる位置・姿勢のすべてについて行う。
【0020】
続いて、予想マッチング割合の算出を行う(8002)。ここでの予想マッチング割合とは、処理8001で求めた、障害物と線分との交点の数が全線分数に占める割合であり、ロボットがある位置姿勢で計測を行いってセンサデータと地図とのマッチングにもとづく位置姿勢推定を行った場合に地図と重なるセンサデータの数がセンサデータ全体の数に占める割合に相当する。この処理を、ロボットが取りうる位置・姿勢毎に求め、テーブルに記録する。
【0021】
次に、ロボットを目的地に自律移動させるための準備として、経路計画を行う(8003)。
【0022】
続いて、ロボットは、レーザ距離センサを用いて環境の計測を行う(8004)。
【0023】
得られたレーザ距離センサによるセンサデータと予め準備しておいた環境の地図とのマッチングによるロボットの位置推定が行われる(8005)。マッチング手法としては、SSD(Sum of Squared Difference)やICP(Iterative Closest Point)など、手法を問わないが、ここではICPの利用を想定し、マッチングにより地図上でのロボットの位置姿勢が求められるものとする。この位置姿勢を合せて推定位置と呼ぶものとする。
【0024】
次に、得られた推定位置に合せて、センサデータを地図上に配置し、地図に重なるセンサデータの数が、センサデータ数全体に占める割合を実マッチング割合として算出する(8006)。
【0025】
次に、テーブルより、推定位置に最も距離が短く、角度の差が小さい位置姿勢のときの予想マッチング割合を参照し(8007)、実マッチング割合との差の絶対値が、予め定義した許容値より大きいかどうかの判定を行う(8008)。
【0026】
処理8008による判定により、差の絶対値が許容値より大きい場合は、環境変化など、なんらかの異常が生じたとみなし、ユーザに警告を出し(8012)、ロボットを停車させる(8011)。
【0027】
一方、差の絶対値が許容値より小さい場合は、処理を進め、推定位置と目的地との比較により、目的地に到着したと判定された場合(8010)は停車させ(8011)、到着していない場合は目的地に向かう経路に追従するように移動機構を制御する(8009)。
【符号の説明】
【0028】
0001…距離センサ部、0002…位置推定部、0003…移動機構制御部、0004…移動機構部、0005…リモコン入力取得部、0006…経路履歴クロージング部、0007…通行可能領域・進入禁止領域生成部、0008…通行可能領域・進入禁止領域統合部、0009…地図データ、0010…推定位置・姿勢データ、0011…通行可能領域・進入禁止領域データ

【特許請求の範囲】
【請求項1】
環境中の障害物までの距離が計測可能な距離センサ部と距離センサデータと地図とを用いて位置・姿勢の推定を行う位置姿勢推定部と、与えられた経路に従って車体制御を行う経路追従制御部と、経路追従制御部の指令に従って動作する移動機構部と、操作者からの指示を受け取るためのリモコン入力取得部からなるロボットシステムであって、
位置推定部によって求められたロボット移動時の推定位置・姿勢データをもとに移動した経路の履歴を求める経路履歴生成部と、経路履歴による閉領域と環境地図を用い、閉領域内の障害物の有無を確認することで、閉領域が通行可能領域か進入禁止領域かを判定する通行可能領域・進入禁止領域生成部と、求められた各通行可能領域と進入禁止領域を統合して、地図全体での通行可能領域と進入禁止領域とを地図として求める通行可能領域・進入禁止領域統合部を備えることを特徴とするロボットシステム。
【請求項2】
請求項1のロボットシステムであって、経路履歴が閉じているかどうかの判定を、経路履歴の始点と終点間の距離とロボットのサイズを比較によって行い、距離がロボットのサイズより短い場合は閉領域と設定することを特徴とするロボットシステム。
【請求項3】
請求項1のロボットシステムであって、通行可能領域内でロボットが取りうる位置姿勢で位置推定を行ったときに得られるマッチング割合を予めシミュレーションで求めておき、ロボットを実際の環境で走らせた際に得られるマッチング割合と比較し、それらの差が大きい場合は、環境変化などの異常があったものとして、ユーザに警告することを特徴とするロボットシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−198173(P2011−198173A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−65426(P2010−65426)
【出願日】平成22年3月23日(2010.3.23)
【出願人】(502129933)株式会社日立産機システム (1,140)
【Fターム(参考)】