JP4235858B2 - Robot apparatus and obstacle map generation method for robot apparatus - Google Patents

Robot apparatus and obstacle map generation method for robot apparatus Download PDF

Info

Publication number
JP4235858B2
JP4235858B2 JP12721699A JP12721699A JP4235858B2 JP 4235858 B2 JP4235858 B2 JP 4235858B2 JP 12721699 A JP12721699 A JP 12721699A JP 12721699 A JP12721699 A JP 12721699A JP 4235858 B2 JP4235858 B2 JP 4235858B2
Authority
JP
Japan
Prior art keywords
obstacle
image
wall
edge
floor surface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP12721699A
Other languages
Japanese (ja)
Other versions
JP2000317868A (en
Inventor
浩太郎 佐部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP12721699A priority Critical patent/JP4235858B2/en
Publication of JP2000317868A publication Critical patent/JP2000317868A/en
Application granted granted Critical
Publication of JP4235858B2 publication Critical patent/JP4235858B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)
  • Image Processing (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Toys (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はロボット装置及びロボット装置の行動決定方法に関し、例えば4足動物のように動作するペットロボットに適用して好適なものである。
【0002】
【従来の技術】
従来、ユーザからの指令によって決まった動作を行うロボットが提案及び開発されている。このようなロボットにおいては、自分の周囲に壁などの障害物が存在する場合、その障害物に接触又は衝突すると、破損や故障の原因になることから、当該障害物に衝突するような事態が生じることを回避することが望ましい。そこでロボットにおいては、自分の周囲に存在する障害物を検出する方法として種々の方法が考えられている。
【0003】
障害物を検出する方法としては、例えば超音波センサでなる距離センサをロボットが移動する移動平面に対して平行になるように当該ロボットの側面のあらゆる方向に取り付け、移動平面に存在する障害物の位置を検出する方法がある。
【0004】
しかしながら、距離センサを用いて障害物を検出する方法は、多数のセンサをロボットに取り付ける必要があることから、当該ロボットの重量が重くなってしまって軽量化を図ることが困難になる。
【0005】
また障害物を検出する方法としては、ビデオカメラをロボットの頭部に取り付け、当該ビデオカメラによって撮像された画像を基に障害物を検出する方法も考えられる。一般にビデオカメラは超音波センサに比べて広い範囲で周囲の状況を認識し得ることから、1台のビデオカメラで多くの障害物を検出することができ、これにより多数の超音波センサをロボットに取り付ける場合のように当該ロボットの重量が重くなることを回避することができる。またロボットでは、ビデオカメラを障害物を検出する方法以外の目的でも用いることから、新たに超音波センサを取り付ける場合に比べて効率的である。
【0006】
従って障害物検出方法としては、ビデオカメラをロボットに搭載し、当該ビデオカメラによって撮像された画像を基に障害物を検出する方法が提案されており、具体的な方法は特開昭63-71604号公報、特開平02-212906 号公報、特開平07-280518 号公報及び特開昭60-90697号公報に開示されている。
【0007】
このうち特開昭63-71604号公報に開示されている手法は、ビデオカメラによって撮像された画像のうち灰色の領域を道路と見なし、当該灰色の領域以外の領域を障害物とみなすことにより障害物を検出する手法である。特開平02-212906 号公報に開示されている手法は、予め地図を用意しておき、当該地図に基づいてロボットの移動経路などを計画する手法である。
【0008】
特開平07-280518 号公報に開示されている手法は、焦点距離を変化させ得る焦点可変レンズ付きのビデオカメラを用いることにより床と壁のなどの境界を強調したエッジ画像を生成し、当該生成したエッジ画像を基に障害物を検出する手法である。この手法では、ビデオカメラの焦点距離を変化させて画像の濃淡が最も明確に現れた領域をエッジとみなし、当該エッジの位置とそのときの焦点距離とからエッジの位置を求めることによりエッジ画像を生成している。
【0009】
また特開昭60-90697号公報に開示されている手法は、ビデオカメラから連続して入力される画像の各画素の濃淡変化に基づいて各画素の距離を算出し、当該各画素のうち予め設定された空間以外に位置する画素を検出してこれを障害物とみなす手法である。
【0010】
【発明が解決しようとする課題】
ところで多数の関節を有するロボットは、移動する際にその姿勢が複雑に遷移し、当該ロボットの動作に連動してビデオカメラの位置も動くことから、ビデオカメラを移動平面に対して平行に位置させることを維持し得ず、この場合、障害物の位置を正確に検出できない問題があった。
【0011】
因みに、特開昭63-71604号公報に開示されてる手法は、撮像された画像のうち特定の色の領域をロボットが移動し得る領域と見なしていることから、例えば室内のような様々な色が施された領域が存在する場合には障害物を検出することができず、特開平02-212906 号公報や特開平07-280518 号公報に開示されているような手法は、予め地図など周囲の状況を認識させておく必要があるため、用途が限定されてしまうことになる。
【0012】
本発明は以上の点を考慮してなされたもので、自律的に障害物を回避しながら行動するロボット装置及びロボット装置の行動決定方法を提案しようとするものである。
【0013】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、周囲の障害物を撮像する撮像手段と、撮像手段の近傍に設けられ、当該障害物までの距離を測定する距離測定手段と、撮像手段によって床面及び障害物としての壁面を含んだ視野範囲の領域を撮像した画像を記憶する画像記憶手段と、画像に対し所定の演算処理を施すことにより当該画像に表示される床面と壁面との境界であるエッジ線強調した画像である水平エッジ画像を生成するエッジ画像生成手段と、水平エッジ画像を複数の縦方向に引かれた短冊ラインで分割することによって得られる当該複数の短冊ラインとエッジ線とが交差する複数のエッジ点を結んだ位置を、画像で表示された画像座標系における床面から壁面に変わる位置とし、当該壁面を壁面障害物として認識する壁面障害物認識手段と、画像座標系における壁面障害物の存在位置を表す複数のエッジ点の座標値に対し、所定の計算式を用いることによって当該複数のエッジ点の座標値を、床面を基準とした床面基準座標系におけるエッジ点床面基準座標値に座標変換するエッジ壁面障害物座標変換手段と、距離測定手段によって測定される壁面までの距離情報に基づいて得られた位置を当該距離測定手段の測定に対応した距離センサ座標系における壁面障害物の存在位置として検出し、当該壁面障害物の存在位置を表す座標値に対し所定の計算式を用いることによって当該壁面障害物の存在位置を表す座標値を床面基準座標系における壁面障害物の存在位置を表す距離床面基準座標値に座標変換する距離壁面障害物座標変換手段と、床面基準座標系に座標変換された壁面障害物の存在位置を表すエッジ点床面基準座標値と壁面障害物の存在位置を表す距離床面基準座標値とを重ね合わせることによってエッジ点によって壁面障害物を表すエッジ点床面基準座標値及び距離情報によって壁面障害物を表す距離床面基準座標値を1つの床面基準座標系重畳して表示する障害物座標値マップを生成する障害物座標値マップ生成手段とを設けるようにした。
【0014】
この結果、撮像手段によって撮像された障害物の位置を正確に検出することができる。
【0015】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【0016】
(1)ペットロボットの構成
図1において、1は全体として動物の外観形状を有するペットロボットを示し、頭に相当する頭部2と、胴体に相当する本体部3と、足に相当する足部4A〜4Dと、尻尾に相当する尻尾部5とを連結することによって構成され、本体部3に対して頭部2、足部4A〜4D及び尻尾部5を動かすことによって実際の4足動物のように動作させるようになされている。
【0017】
頭部2には、目に相当し、画像を撮像する撮像手段としてのCCD(Charge Coupled Device )カメラ10と、耳に相当し、音声を集音するマイク11と、口に相当し、音声を発するスピーカ12とがそれぞれ所定位置に取り付けられている。また頭部2には、ユーザの手などが接触されたことを検出するためのタッチセンサ14と、ペットロボット1の進行方向に対して前方に位置する障害物までの距離を検出する距離検出手段としての距離センサ15とが取り付けられている。
【0018】
本体部3には、腹に相当する位置にバッテリ16が取り付けられるとと共に、その内部にペットロボット1全体の動作を制御するための電子回路(図示せず)等が収納されている。
【0019】
足部4A〜4Dの関節部分、足部4A〜4Dと本体部3を連結する関節部分、本体部3と頭部2を連結する関節部分、本体部3と尻尾部5を連結する関節部分などは、それぞれのアクチュエータ171 〜17N によって連結されており、本体部3内部に収納される電子回路の制御に基づいて駆動するようになされている。このようにペットロボット1は、各アクチュエータ171 〜17N を駆動させることにより、頭部2を上下左右に振らせたり、尻尾部5を振らせたり、足部4A〜4Dを動かして歩かせたり走らせたりして、実際の4足動物のような動作を行わせる。またペットロボット1は、CCDカメラ10及び距離センサ15を支持する支持手段を構成し、当該CCDカメラ10の撮像方向及び距離センサ15の測定方向を任意に変化させ得るようになされている。
【0020】
(2)ペットロボットの回路構成
ここでペットロボット1の回路構成を図2に示す。CPU(Central Processing Unit )20は、ペットロボット1全体の動作を制御するためのものであり、フラッシュROM(Read Only Memory)21に格納されている制御プログラムをバスB1を介して必要に応じて読み出すと共に、PC(Personal Computer )カードスロット(図示せず)に挿入されたメモリカード22に格納されている制御プログラムをPCカードインターフェイス23及びバスB1を順次介して読み出し、これら読み出した制御プログラムをDRAM(Dynamic Random Access Memory)24に転送して記憶するようになされている。CPU20は、このDRAM24に転送された制御プログラムを読み出して実行することによりペットロボット1の各回路を制御している。
【0021】
信号処理回路30は、CPU20の制御に基づいて各種信号処理を行うためのものであり、図3に示すように、CPU20(図2)に接続するためのホストインターフェイス31と、フラッシュROM21(図2)に接続するためのROMインターフェイス32と、DRAM24(図2)に接続するためのDRAMインターフェイス33とを有し、バスB1を介してCPU20、フラッシュROM21及びDRAM24に接続されている。
【0022】
信号処理回路30は、アービトレーション(バス使用権の調停作業)を行うためのバスアービタ34を有し、当該バスアービタ34は、バスB2を介してホストインターフェイス31、ROMインターフェイス32及びDRAMインターフェイス33に接続されている。
【0023】
また図2において、ペットロボット1には、各関節部分を駆動するアクチュエータ171 〜17N における駆動量を検出するためのポテンショメータ401 〜40N がそれぞれ設けられ、アクチュエータ171 〜17N 、ポテンショメータ401 〜40N 、タッチセンサ14、距離センサ15、マイク11及びスピーカ12がそれぞれハブ411 〜41X を介して信号処理回路30のシリアルバスホストコントローラ45(図3)にツリー接続されている。図3に示すように、シリアルバスホストコントローラ45は、バスB3を介してバスアービタ34に接続され、各ポテンショメータ401 〜40N によって検出された角度情報、タッチセンサ14によって検出された接触情報、距離センサ15によって検出された障害物の距離情報をバスB3、バスアービタ34、バスB2、DRAMインターフェイス33及びバスB1(図2)を順次介してDRAM24(図2)に転送して記憶するようになされている。
【0024】
FBK/CDT(Filter Bank/Color Detection )46は、CCDカメラ10(図2)に接続されるためのものであり、当該CCDカメラ10によって撮像された画像データの色認識を行いながら複数の解像度に分けて取り込み、当該取り込んだ画像データをバスアービタ34及びDRAMインターフェイス33を順次介してDRAM24(図2)に転送して記憶する。
【0025】
IPE(Inner Product Engine)47は、2次元ディジタルフィルタでなり、DRAM24(図2)からDRAMインターフェイス33及びバスアービタ34を順次介して画像データが供給されると、当該画像データから床と壁や壁と壁の境界を強調したエッジ画像を生成し、当該生成したエッジ画像をバスアービタ34及びDRAMインターフェイス33を順次介してDRAM24(図2)に戻して記憶する。
【0026】
DMA(Direct Memory Access)コントローラ48は、データの転送を司るためのものであり、例えばFBK/CDT46のバッファ(図示せず)から画像データを読み出してDRAM24(図2)に転送したり、DRAM24(図2)から画像データを読み出してIPE47に転送し、当該IPE47による演算結果であるエッジ画像をDRAM24(図2)に転送するようになされている。
【0027】
DSP(Digital Signal Processor)49は、マイク11(図2)からハブ41X 〜41X-2 、シリアルバスホストコントローラ45及びバスB3を順次介して例えばユーザの指令を示す音声信号が入力されると、当該音声信号に対して所定のデータ処理を施し、その処理結果でなる音声情報をバスアービタ34及びDRAMインターフェイス33を順次介してDRAM24(図2)に転送して記憶する。
【0028】
シリアルバス50は、パーソナルコンピュータ(PC)などのリモートコンピュータ(図示せず)に接続するためのインターフェイスであり、バスB3を介してバスアービタ34に接続されている。同様にバスB3を介してバスアービタ34に接続されるペリフェラルインターフェイス51は、リモートコンピュータに接続するためのシリアルポート52及びパラレルポート53に接続されると共に、バッテリ16(図2)に接続するためのバッテリマネージャ51に接続されている。バッテリマネージャ51は、バッテリ16から通知されるベッテリ残量情報をペリフェラルインターフェイス51、バスアービタ34及びDRAMインターフェイス33を順次介してDRAM24に転送して記憶する。タイマー55は、ペットロボット1内部の時計としての役割を果たすものであり、バスB3を介してバスアービタ34に接続されている。
【0029】
CPU20は、DRAM24に展開されている各種情報に基づいて自律的に次の動作を決定し、当該決定した動作に応じた駆動信号を生成する。そしてCPU20は、この駆動信号を信号処理回路30内部のホストインターフェイス31、バスアービタ34及びシリアルバスホストコントローラ45並びにハブ411 〜41N を順次介してアクチュエータ171 〜17N に送出することにより、当該各アクチュエータ171 〜17N を駆動して当該ペットロボット1を自律的に動作させる。
【0030】
その際CPU20は、DRAM24に展開されているエッジ画像や距離情報に基づいて自分の周囲に存在する障害物を検出することにより、障害物の分布でなる障害物マップを得る。CPU20は、この障害物マップに基づいて自律的に行動を決定し、当該決定した行動に応じた駆動信号を生成する。そしてCPU20は、この駆動信号を信号処理回路30及びハブ411 〜41N を順次介してアクチュエータ171 〜17N に送出して当該各アクチュエータ171 〜17N を駆動することにより、自分の周囲に存在する障害物を回避しながら自律的に行動するようになされている。
【0031】
なおCPU20は、DRAM24に展開されている各種情報に基づいて音声情報を生成し、当該音声情報をホストインターフェイス31及びバスアービタ34を順次介してDSP49に送出し、当該DSP49において音声信号に変換した後、当該音声信号をシリアルバスホストコントローラ45、ハブ41X を順次介してスピーカ12から出力する。
【0032】
(3)行動決定方法
ここでペットロボット1の行動決定方法について図4に示すフローチャートを用いて説明する。ここではペットロボット1が例えば図5に示すような壁60〜63に挟まれた通路に沿って床面64を移動する場合について説明する。この場合、ステップSP1から入ったステップSP2において、ペットロボット1は、CCDカメラ10の視野範囲に含まれる領域を当該CCDカメラ10によって撮像し、その結果得た図6に示すような画像データを入力画像として信号処理回路30を介してDRAM24に記憶する。
【0033】
信号処理回路30は、DRAM24から入力画像を読み出し、当該入力画像から3×3画素でなる検索画像を1画素分ずつ移動させながら順次切り出し、当該切り出した各検索画像と、フィルタ係数を示す次式
【0034】
【数1】

Figure 0004235858
【0035】
でなる参照画像との積和演算をそれぞれ並列的に施すことにより、床面と壁や壁と壁の境界すなわち水平エッジを強調した図7に示すようなエッジ画像を生成し、当該エッジ画像をDRAM24に記憶する。このようにエッジ画像の生成は、信号処理回路30によって行われ、CPU20を用いることはないため、CPU20は他の演算処理に従事することができる。
【0036】
ステップSP3において、CPU20は、エッジ画像を縦方向に沿って短冊状の領域R1〜R8に分割することにより図に示すような短冊画像を生成する。そしてCPU20は、短冊状の各領域R1〜R8それぞれに対してエッジ画像の下部から各ライン毎に走査し、最初に境界(以下、これをエッジと呼ぶ)を検出した位置を求める。
【0037】
ところでペットロボット1が床64に置かれている場合にはその足元が床面64に位置することから、エッジ画像の下部付近の領域は床面64であることが想定される。従って、エッジ画像の下部から走査した場合に最初に検出されるエッジは、床面64の領域が終了することを意味して障害物と認識される。
【0038】
このようにCPU20は、信号処理回路30と共に障害物検出手段を構成し、領域R1中の複数のラインそれぞれに対して走査することによりエッジの位置をそれぞれ検出し、当該検出された各ライン毎のエッジ位置のうち縦方向のレベルが中間のものを領域R1の障害物の位置(x1 、y1 )とする。以下、同様にしてCPU20は、各領域R2〜R8の障害物の位置(x2 、y2 )〜(x8 、y8 )をそれぞれ検出し、当該検出した各位置(xi 、yi )を画像座標系における障害物の位置とする。
【0039】
続くステップSP4において、CPU20は、位置変換手段として動作し、画像座標系における障害物の位置(xi 、yi )を、ペットロボット1が置かれている床面64を基準とした床面基準座標系における位置(xb 、yb 、zb )に座標変換する。以下、この座標変換について具体的に説明する。まずCPU20は、図10に示すようなピンホール・カメラモデル70において、エッジ画像の画像中心を原点とする画像座標系における障害物の位置を(xi 、yi )とする一方、CCDカメラ10の焦点位置を原点とするカメラ座標系における障害物の位置を(xc 、yc 、zc )とすると共に焦点距離をfとすると、画像座標系における障害物の位置(xi 、yi )とカメラ座標系における障害物の位置(xc 、yc 、zc )との関係は、次式
【0040】
【数2】
Figure 0004235858
【0041】
のように表される。
【0042】
画像座標系は、奥行き方向の位置情報が欠落しているため、画像座標系における障害物の位置(xi 、yi )からカメラ座標系における障害物の位置(xc 、yc 、zc )への変換は実行できない。従ってCPU20は、上述の(2)式を、zc を未知数として(xc 、yc )について解くことにより、次式
【0043】
【数3】
Figure 0004235858
【0044】
を得る。
【0045】
次いでCPU20は、図11に示すような座標系において、床面基準座標系における位置をロボット中心座標系における位置に変換するための4×4行列の同次変換行列をB、ロボット中心座標系から頭部2をチルト(上下)方向に駆動する第1関節における座標系に変換するための同次変換行列をT1 、第1関節における座標系から頭部2をパン(左右)方向に駆動する第2関節における座標系に変換するための同次変換行列をT2 、第2関節における座標系から頭部2をロール(回転)方向に駆動する第3関節における座標系に変換するための同次変換行列をT3 、第3関節における座標系の位置をカメラ座標系における位置に変換するための同次変換行列をT4 として、カメラ座標系における障害物の位置Xc を、次式
【0046】
【数4】
Figure 0004235858
【0047】
によって床面座標系における位置Xb に変換する。ここでc11〜c33は同次変換行列Tの回転量を示し、tx 、ty 、tz は同次変換行列Tの並行移動量を示し、c11′〜c33′及びc11″〜c33″は床面基準座標系及びカメラ座標系の回転量を示し、xb 、yb 、zb 及びxc 、yc 、zc は床面基準座標系及びカメラ座標系の平行移動量を示す。
【0048】
そしてCPU20は、上述の(4)式を展開することによりxb 、yb 、zb の計算式を求め、障害物が床面64上に存在するという拘束条件zb =0を用いることにより、次式
【0049】
【数5】
Figure 0004235858
【0050】
を得る。CPU20は、この(5)式に上述の(3)式を代入した後、拘束条件zb =0からzc を算出し、当該算出したzc を(5)式の第1式及び第2式に代入することにより、画像座標系における障害物の位置(xi 、yi )を床面基準座標系における位置(xb 、yb 、0)に座標変換する変換式である次式
【0051】
【数6】
Figure 0004235858
【0052】
を生成する。かくしてCPU20は、この(6)式を用いてエッジ画像中の各領域に存在する障害物の位置を床面基準座標系における位置(xb 、yb 、0)に座標変換する。
【0053】
ステップSP5において、CPU20は、図12に示す座標系において、画像座標系における障害物の位置(xi 、yi )を床面基準座標系における位置(xb 、yb 、0)に座標変換する場合と同様にして、距離センサ座標系における障害物の位置Xd (0、0、xd )を床面基準座標系における位置(xe 、ye 、0)に座標変換する。すなわちCPU20は、距離センサ15の検出結果である距離情報xd を距離センサ座標系における障害物の位置Xd (0、0、xd )とし、当該位置Xd (0、0、xd )を上述の同次変換行列B、T1 、T2 、T3 及び第3関節における座標系の位置を距離センサ座標系における位置に変換するための同次変換行列T5 を用いて床面基準座標系における位置(xe 、ye 、0)に座標変換する。
【0054】
ステップSP6において、CPU20は、障害物分布生成手段として動作し、CCDカメラ10によって撮像された入力画像に基づいて算出された床面基準座標系における障害物の位置(xb 、yb )と、距離センサ15によって検出された距離情報に基づいて算出された床面基準座標系における障害物の位置(xe 、ye )とを重ねて表示することにより、図13に示すような障害物の分布でなる障害物マップ80を生成し、当該生成した障害物マップ80をDRAM24に記憶する。図中丸印はCCDカメラ10によって検出された障害物を示し、図中二重丸印は距離センサ15によって検出された障害物を示す。
【0055】
ところでCCDカメラ10によって撮像された入力画像にノイズが含まれていると、信号処理回路30はエッジ画像を正しく生成し得ない場合がある。この場合、ペットロボット1は、距離センサ15を併用して障害物を検出しており、障害物の検出における信頼性を向上させることができる。因みに、CPU20は、ペットロボット1の周囲の所定範囲を安全圏81として選定して表示するようになされており、安全圏81に障害物等が侵入した場合、移動速度を所定の速度に制限するなどして警戒行動モードに入る。
【0056】
ステップSP7において、CPU20は、さらに障害物の位置を検出する必要があるか否か判断し、その結果、さらに障害物の位置を検出する必要があると判断した場合にはステップSP2に戻って動作を繰り返すことにより広い範囲の障害物マップを生成し、周囲に存在する障害物を十分検出することはできたと判断した場合にはステップSP8に移行する。
【0057】
そしてステップSP8において、CPU20は、行動決定手段として動作し、生成した障害物マップに基づいてペットロボット1から最も近くに位置する障害物を避けながら最も遠くに位置する障害物に向かって進むという行動計画を立てて、当該行動計画に応じて各アクチュエータ171 〜17N を駆動する。これによりペットロボット1は、自分の周囲に存在する障害物を回避しながら自律的に行動又は移動することができる。そしてステップSP9に移って処理を終了する。
【0058】
(4)動作及び効果
以上の構成において、信号処理回路30は、CCDカメラ10によって撮像された入力画像から所定の周波数成分の画像信号を抽出するようなフィルタ演算を施すことにより、ペットロボット1が移動する移動面と当該移動面上に存在する障害物との境界を強調したエッジ画像を生成する。
【0059】
CPU20は、このエッジ画像上に存在する最下部の境界の位置から障害物の位置を特定し、当該最下部の境界の位置を画像座標系における障害物の位置と見なす。そしてCPU20は、アクチュエータ171 〜17N が駆動することに応じて変化したCCDカメラ10の撮像方向に基づいて、画像座標系における障害物の位置を、ペットロボット1が移動する移動面を基準とした基準座標系における位置に座標変換する。このように複数の関節を有し、動作する毎に複雑に姿勢遷移するペットロボット1であっても、周囲の環境にかかわらずに障害物の位置を正確に検出することができる。
【0060】
同様にしてCPU20は、アクチュエータ171 〜17N が駆動することに応じて変化した距離センサ15の測定方向に基づいて、、距離センサ座標系における障害物の位置を基準座標系における位置に座標変換する。次いでCPU20は、CCDカメラ10によって検出された障害物の基準座標系における位置と、距離センサ15によって検出された障害物の基準座標系における位置とを基に、障害物の分布でなる障害物マップを生成する。CPU20は、この生成した障害物マップに基づいて自律的に次の動作を決定し、自分の周囲に存在する障害物を回避しながら自律的に行動及び移動する。これによりユーザはペットロボット1の行動を常に監視する必要がなくなる。
【0061】
以上の構成によれば、撮像された入力画像からペットロボット1が移動する移動面と当該移動面上に存在する障害物との境界を検出してこれを障害物の位置と見なし、CCDカメラ10の撮像方向に基づいてこの障害物の位置を移動面上の位置に変換することにより、自分の周囲に存在する障害物の位置を正確に検出することができ、かくして当該検出した障害物の位置に基づいて次の動作を決定すれば、確実に障害物を回避しながら自律的に行動することができる。
【0062】
また、CCDカメラ10は距離センサ15に比べて広い範囲で周囲の状況を認識し得ることから、1台のCCDカメラ10で多くの障害物を検出することができ、ペットロボット1の構成を簡易にし得る。
【0063】
また、CCDカメラ10から供給される入力画像を基に検出された画像座標系における障害物の位置を、床面基準座標系における位置に座標変換して障害物マップに表示することにより、距離センサ15によって検出された障害物の位置も座標変換を施せば、障害物マップに表示することができ、従って障害物の位置に対する信頼性を向上することができる。
【0064】
(5)他の実施の形態
なお上述の実施の形態においては、CCDカメラ10及び距離センサ15を用いて障害物を検出した場合について述べたが、本発明はこれに限らず、CCDカメラ10だけで障害物を検出するようにしても良い。
【0065】
また上述の実施の形態においては、本発明をペットロボット1に適用した場合について述べたが、例えばゲームや展示等のエンタテインメント分野で用いられるロボット又は搬送用ロボット、工事用ロボット等の産業ロボットのように、他の種々のロボット装置に本発明を適用し得る。
【0066】
【発明の効果】
上述のように本発明によれば、周囲の障害物を撮像する撮像手段と、撮像手段の近傍に設けられ、当該障害物までの距離を測定する距離測定手段と、撮像手段によって床面及び障害物としての壁面を含んだ視野範囲の領域を撮像した画像を記憶する画像記憶手段と、画像に対し所定の演算処理を施すことにより当該画像に表示される床面と壁面との境界であるエッジ線強調した画像である水平エッジ画像を生成するエッジ画像生成手段と、水平エッジ画像を複数の縦方向に引かれた短冊ラインで分割することによって得られる当該複数の短冊ラインとエッジ線とが交差する複数のエッジ点を結んだ位置を、画像で表示された画像座標系における床面から壁面に変わる位置とし、当該壁面を壁面障害物として認識する壁面障害物認識手段と、画像座標系における壁面障害物の存在位置を表す複数のエッジ点の座標値に対し、所定の計算式を用いることによって当該複数のエッジ点の座標値を、床面を基準とした床面基準座標系におけるエッジ点床面基準座標値に座標変換するエッジ壁面障害物座標変換手段と、距離測定手段によって測定される壁面までの距離情報に基づいて得られた位置を当該距離測定手段の測定に対応した距離センサ座標系における壁面障害物の存在位置として検出し、当該壁面障害物の存在位置を表す座標値に対し所定の計算式を用いることによって当該壁面障害物の存在位置を表す座標値を床面基準座標系における壁面障害物の存在位置を表す距離床面基準座標値に座標変換する距離壁面障害物座標変換手段と、床面基準座標系に座標変換された壁面障害物の存在位置を表すエッジ点床面基準座標値と壁面障害物の存在位置を表す距離床面基準座標値とを重ね合わせることによってエッジ点によって壁面障害物を表すエッジ点床面基準座標値及び距離情報によって壁面障害物を表す距離床面基準座標値を1つの床面基準座標系重畳して表示する障害物座標値マップを生成する障害物座標値マップ生成手段とを具えるようにしたことにより、カメラ画像によるエッジ点床面基準座標値と距離センサによる距離床面基準座標値を併用した障害物座標値マップに従って障害物を検出することができるので、カメラ画像によるエッジ点床面基準座標値にノイズによるエッジ画像に誤差が生じても距離センサによる距離床面基準座標値による障害物検出によって障害物の位置を正確に検出することができ、かくして障害物の位置を検出する信頼性が向上し得るロボット装置を実現できる。
【図面の簡単な説明】
【図1】本発明によるペットロボットの一実施の形態を示す略線図である。
【図2】ペットロボットの回路構成を示すブロック図である。
【図3】信号処理回路の構成を示すブロック図である。
【図4】ロボット装置の行動決定方法を示すフローチャートである。
【図5】ペットロボットの周囲の環境を示す略線図である。
【図6】入力画像を示す略線図である。
【図7】エッジ画像を示す略線図である。
【図8】短冊画像を示す略線図である。
【図9】各短冊の代表点を示す略線図である。
【図10】ピンホール・カメラモデルを示す略線図である。
【図11】座標変換の原理を示す略線図である。
【図12】座標変換の原理を示す略線図である。
【図13】障害物マップを示す略線図である。
【符号の説明】
1……ペットロボット、2……頭部、3……本体部、4……足部、5……尻尾部、10……CCDカメラ、11……マイク、12……スピーカ、15……距離センサ、16……バッテリ、17……アクチュエータ、20……CPU、21……フラッシュROM、22……メモリカード、24……DRAM、30……信号処理回路、34……バスアービタ、40……ポテンショメータ、41……ハブ、45……シリアルバスホストコントローラ、46……FBK/CDT、47……IPE、48……DMAコントローラ。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a robot apparatus and a behavior determination method of the robot apparatus, and is suitable for application to a pet robot that operates like a quadruped animal, for example.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, robots that perform actions determined by commands from users have been proposed and developed. In such robots, if there is an obstacle such as a wall around you, it may cause damage or failure if it touches or collides with the obstacle. It is desirable to avoid what happens. Therefore, in the robot, various methods are considered as a method for detecting an obstacle existing around the robot.
[0003]
As a method for detecting an obstacle, for example, a distance sensor composed of an ultrasonic sensor is attached in any direction on the side of the robot so as to be parallel to the moving plane on which the robot moves, and the obstacle existing on the moving plane is detected. There is a method for detecting the position.
[0004]
However, in the method of detecting an obstacle using a distance sensor, since it is necessary to attach a large number of sensors to the robot, the weight of the robot becomes heavy and it is difficult to reduce the weight.
[0005]
Further, as a method for detecting an obstacle, a method in which a video camera is attached to the head of the robot and an obstacle is detected based on an image captured by the video camera can be considered. In general, a video camera can recognize surrounding conditions in a wider range than an ultrasonic sensor, so a single video camera can detect many obstacles. It is possible to avoid an increase in the weight of the robot as in the case of attachment. Also, since the robot uses the video camera for purposes other than the method of detecting an obstacle, it is more efficient than a case where a new ultrasonic sensor is attached.
[0006]
Therefore, as an obstacle detection method, there has been proposed a method in which a video camera is mounted on a robot and an obstacle is detected based on an image captured by the video camera. A specific method is disclosed in JP-A-63-71604. No. 2, JP-A No. 02-212906, JP-A No. 07-280518 and JP-A No. 60-90697.
[0007]
Among them, the technique disclosed in Japanese Patent Laid-Open No. 63-71604 is based on the assumption that a gray area of an image captured by a video camera is regarded as a road and an area other than the gray area is regarded as an obstacle. This is a technique for detecting objects. The method disclosed in Japanese Patent Laid-Open No. 02-212906 is a method of preparing a map in advance and planning a movement path of the robot based on the map.
[0008]
The method disclosed in Japanese Patent Application Laid-Open No. 07-280518 generates an edge image that emphasizes a boundary such as a floor and a wall by using a video camera with a variable focus lens that can change a focal length. This is a technique for detecting an obstacle based on the edge image. In this method, by changing the focal length of the video camera, the area where the contrast of the image appears most clearly is regarded as the edge, and the edge image is obtained by obtaining the edge position from the position of the edge and the focal length at that time. Is generated.
[0009]
Further, the method disclosed in Japanese Patent Application Laid-Open No. Sho 60-90697 calculates the distance of each pixel based on the change in shading of each pixel of an image continuously input from a video camera, This is a method of detecting a pixel located outside the set space and considering it as an obstacle.
[0010]
[Problems to be solved by the invention]
By the way, the posture of a robot having a large number of joints changes in a complicated manner when moving, and the position of the video camera moves in conjunction with the movement of the robot, so that the video camera is positioned parallel to the moving plane. In this case, there is a problem that the position of the obstacle cannot be accurately detected.
[0011]
Incidentally, since the method disclosed in Japanese Patent Laid-Open No. 63-71604 considers a specific color area in the captured image as an area where the robot can move, various colors such as indoors can be used. Obstacles cannot be detected when there is a region where the mark is applied, and the method disclosed in Japanese Patent Laid-Open No. 02-212906 and Japanese Patent Laid-Open No. 07-280518 is not limited to a map or the like in advance. Because it is necessary to recognize this situation, the application is limited.
[0012]
The present invention has been made in consideration of the above points, and an object of the present invention is to propose a robot apparatus that autonomously avoids an obstacle and a behavior determination method of the robot apparatus.
[0013]
[Means for Solving the Problems]
  In order to solve such a problem, in the present invention, an imaging means for imaging surrounding obstaclesAnd a distance measuring means provided in the vicinity of the imaging means for measuring the distance to the obstacle,By imaging meansThe field of view range including the floor and the wall as an obstacle was imaged.Image storage means for storing images, and by performing predetermined arithmetic processing on the imagesConcernedEdge line that is the boundary between the floor and the wall surface displayed in the imageTheEmphasisIs the imageEdge image generating means for generating a horizontal edge image, and a plurality of edge points where the plurality of strip lines and edge lines obtained by dividing the horizontal edge image by a plurality of strip lines drawn in the vertical direction intersect. The tied position in the image coordinate system displayed in the imageWall obstacle recognition that recognizes the wall as a wall obstacle, with the position changing from the floor to the wallMeans in the image coordinate systemWallBy using a predetermined calculation formula for the coordinate values of a plurality of edge points representing the position of the obstacle, the coordinate values of the plurality of edge points are converted into the edge point floor in the floor surface reference coordinate system based on the floor surface. Convert coordinates to surface reference coordinate valuesEdge wallObstacle coordinate transformation means and distanceMeasuring meansMeasured byWallThe position obtained based on the distance information untilMeasuring meansIn the distance sensor coordinate system corresponding to the measurement ofWallDetects the location of the obstacle andWallBy using a predetermined calculation formula for the coordinate value representing the position of the obstacleWallThe coordinate value indicating the position of the obstacle is displayed in the floor reference coordinate system.WallIndicates the location of the obstacledistanceCoordinate conversion to the floor reference coordinate valueDistance wallCoordinate transformation to obstacle coordinate transformation means and floor reference coordinate systemWallIndicates the location of the obstacleEdge pointThe floor reference coordinate value andWallIndicates the location of the obstacledistanceBy superimposing the floor reference coordinate valueWall by edge pointRepresents an obstacleEdge pointFloor surface reference coordinate value andWall surface by distance informationRepresents an obstacledistanceThe floor reference coordinate valueOne floor reference coordinate systemInSuperimposedObstacle coordinate value map generating means for generating an obstacle coordinate value map to be displayedAnd provideI did it.
[0014]
  As a result,It is possible to accurately detect the position of the obstacle imaged by the imaging means.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0016]
(1) Configuration of pet robot
In FIG. 1, reference numeral 1 denotes a pet robot having the appearance of an animal as a whole, a head 2 corresponding to a head, a main body 3 corresponding to a torso, feet 4A to 4D corresponding to feet, and a tail. It is configured by connecting the corresponding tail part 5 and is made to operate like an actual quadruped animal by moving the head 2, the foot parts 4 </ b> A to 4 </ b> D and the tail part 5 with respect to the main body part 3. ing.
[0017]
The head 2 is equivalent to the eyes and is a CCD (Charge Coupled Device) camera 10 as an imaging means for capturing an image, the microphone 11 corresponding to the ear and collecting the sound, and the mouth and corresponding to the mouth. The speaker 12 which emits is each attached to the predetermined position. The head 2 has a touch sensor 14 for detecting that the user's hand or the like has been touched, and a distance detection means for detecting the distance to the obstacle located in front of the traveling direction of the pet robot 1. A distance sensor 15 is attached.
[0018]
A battery 16 is attached to the main body 3 at a position corresponding to the belly, and an electronic circuit (not shown) for controlling the operation of the entire pet robot 1 is housed therein.
[0019]
Joint portions of the foot portions 4A to 4D, joint portions that connect the foot portions 4A to 4D and the main body portion 3, joint portions that connect the main body portion 3 and the head portion 2, joint portions that connect the main body portion 3 and the tail portion 5, etc. The respective actuators 171~ 17NAnd are driven based on control of an electronic circuit housed in the main body 3. In this way, the pet robot 1 includes the actuators 17.1~ 17NBy driving the head, the head 2 is swung up and down, left and right, the tail 5 is swung, and the feet 4A to 4D are moved to walk and run, thereby moving like a real quadruped animal. To do. The pet robot 1 constitutes support means for supporting the CCD camera 10 and the distance sensor 15 so that the imaging direction of the CCD camera 10 and the measurement direction of the distance sensor 15 can be arbitrarily changed.
[0020]
(2) Pet robot circuit configuration
Here, the circuit configuration of the pet robot 1 is shown in FIG. A CPU (Central Processing Unit) 20 controls the overall operation of the pet robot 1, and reads a control program stored in a flash ROM (Read Only Memory) 21 as necessary via the bus B1. At the same time, a control program stored in a memory card 22 inserted in a PC (Personal Computer) card slot (not shown) is read sequentially through the PC card interface 23 and the bus B1, and the read control program is read out by DRAM ( Dynamic Random Access Memory) 24 is transferred and stored. The CPU 20 controls each circuit of the pet robot 1 by reading and executing the control program transferred to the DRAM 24.
[0021]
The signal processing circuit 30 is for performing various signal processing based on the control of the CPU 20, and as shown in FIG. 3, a host interface 31 for connection to the CPU 20 (FIG. 2) and a flash ROM 21 (FIG. 2). ) And a DRAM interface 33 for connection to the DRAM 24 (FIG. 2), and are connected to the CPU 20, the flash ROM 21 and the DRAM 24 via the bus B1.
[0022]
The signal processing circuit 30 has a bus arbiter 34 for performing arbitration (bus arbitration work). The bus arbiter 34 is connected to the host interface 31, the ROM interface 32, and the DRAM interface 33 via the bus B2. Yes.
[0023]
In FIG. 2, the pet robot 1 includes an actuator 17 that drives each joint portion.1~ 17NPotentiometer 40 for detecting the driving amount in1~ 40NAre provided, and the actuator 171~ 17NPotentiometer 401~ 40N, Touch sensor 14, distance sensor 15, microphone 11 and speaker 12 are each hub 41.1~ 41XAre connected to the serial bus host controller 45 (FIG. 3) of the signal processing circuit 30 through a tree. As shown in FIG. 3, the serial bus host controller 45 is connected to the bus arbiter 34 via the bus B3, and each potentiometer 401~ 40NThe angle information detected by the touch sensor 14, the contact information detected by the touch sensor 14, and the distance information of the obstacle detected by the distance sensor 15 are sent to the bus B3, bus arbiter 34, bus B2, DRAM interface 33 and bus B1 (FIG. 2). The data is transferred to and stored in the DRAM 24 (FIG. 2) sequentially.
[0024]
An FBK / CDT (Filter Bank / Color Detection) 46 is for being connected to the CCD camera 10 (FIG. 2), and performs color recognition of image data picked up by the CCD camera 10 to achieve a plurality of resolutions. The captured image data is transferred separately and transferred to and stored in the DRAM 24 (FIG. 2) via the bus arbiter 34 and the DRAM interface 33 sequentially.
[0025]
An IPE (Inner Product Engine) 47 is a two-dimensional digital filter. When image data is sequentially supplied from the DRAM 24 (FIG. 2) via the DRAM interface 33 and the bus arbiter 34, the floor, walls, and walls are extracted from the image data. An edge image in which the boundary of the wall is emphasized is generated, and the generated edge image is returned to the DRAM 24 (FIG. 2) via the bus arbiter 34 and the DRAM interface 33 and stored.
[0026]
A DMA (Direct Memory Access) controller 48 controls data transfer. For example, image data is read from a buffer (not shown) of the FBK / CDT 46 and transferred to the DRAM 24 (FIG. 2), or the DRAM 24 ( The image data is read from FIG. 2) and transferred to the IPE 47, and the edge image as the calculation result by the IPE 47 is transferred to the DRAM 24 (FIG. 2).
[0027]
A DSP (Digital Signal Processor) 49 is connected to the hub 41 from the microphone 11 (FIG. 2).X~ 41X-2When an audio signal indicating a user command, for example, is sequentially input via the serial bus host controller 45 and the bus B3, predetermined data processing is performed on the audio signal, and audio information obtained as a result of the processing is transmitted to the bus arbiter 34. The data is then transferred to the DRAM 24 (FIG. 2) via the DRAM interface 33 and stored.
[0028]
The serial bus 50 is an interface for connecting to a remote computer (not shown) such as a personal computer (PC), and is connected to the bus arbiter 34 via the bus B3. Similarly, a peripheral interface 51 connected to the bus arbiter 34 via the bus B3 is connected to a serial port 52 and a parallel port 53 for connecting to a remote computer, and a battery for connecting to the battery 16 (FIG. 2). It is connected to the manager 51. The battery manager 51 transfers the battery remaining amount information notified from the battery 16 to the DRAM 24 via the peripheral interface 51, the bus arbiter 34, and the DRAM interface 33 in order and stores them. The timer 55 serves as a clock inside the pet robot 1, and is connected to the bus arbiter 34 via the bus B3.
[0029]
The CPU 20 autonomously determines the next operation based on various information developed in the DRAM 24, and generates a drive signal corresponding to the determined operation. The CPU 20 uses this drive signal as a host interface 31, a bus arbiter 34, a serial bus host controller 45, and a hub 41 inside the signal processing circuit 30.1~ 41NThrough the actuator 17 in sequence1~ 17NTo each actuator 17.1~ 17NTo drive the pet robot 1 autonomously.
[0030]
At that time, the CPU 20 detects an obstacle existing around itself based on the edge image and the distance information developed in the DRAM 24, thereby obtaining an obstacle map including the obstacle distribution. CPU20 determines an action autonomously based on this obstacle map, and produces | generates the drive signal according to the determined action. The CPU 20 uses this drive signal as a signal processing circuit 30 and a hub 41.1~ 41NThrough the actuator 17 in sequence1~ 17NTo each actuator 171~ 17NBy driving, it is designed to act autonomously while avoiding obstacles that exist around it.
[0031]
The CPU 20 generates audio information based on various information developed in the DRAM 24, sends the audio information to the DSP 49 sequentially via the host interface 31 and the bus arbiter 34, and converts the audio information into an audio signal in the DSP 49. The audio signal is sent to the serial bus host controller 45 and the hub 41.XAre sequentially output from the speaker 12.
[0032]
(3) Action decision method
Here, a behavior determination method of the pet robot 1 will be described with reference to a flowchart shown in FIG. Here, a case where the pet robot 1 moves on the floor surface 64 along a path sandwiched between walls 60 to 63 as shown in FIG. 5 will be described. In this case, in step SP2 entered from step SP1, the pet robot 1 images an area included in the visual field range of the CCD camera 10 with the CCD camera 10 and inputs the resulting image data as shown in FIG. The image is stored in the DRAM 24 via the signal processing circuit 30.
[0033]
The signal processing circuit 30 reads out the input image from the DRAM 24, sequentially cuts out the search image composed of 3 × 3 pixels from the input image by moving one pixel at a time, and represents each cut-out search image and a filter coefficient as follows:
[0034]
[Expression 1]
Figure 0004235858
[0035]
7 is generated in parallel with each other to generate an edge image as shown in FIG. 7 in which a floor and a wall, a boundary between walls and a wall, that is, a horizontal edge is emphasized, and the edge image is Store in the DRAM 24. As described above, the generation of the edge image is performed by the signal processing circuit 30 and the CPU 20 is not used. Therefore, the CPU 20 can be engaged in other arithmetic processing.
[0036]
  In step SP3, the CPU 20 divides the edge image into strip-shaped regions R1 to R8 along the vertical direction.8A strip image as shown in FIG. Then, the CPU 20 scans each of the strip-shaped regions R1 to R8 for each line from the lower part of the edge image, and obtains a position where a boundary (hereinafter referred to as an edge) is first detected.
[0037]
By the way, when the pet robot 1 is placed on the floor 64, its foot is located on the floor surface 64, and therefore it is assumed that the area near the lower part of the edge image is the floor surface 64. Therefore, the edge detected first when scanning from the lower part of the edge image is recognized as an obstacle meaning that the region of the floor surface 64 ends.
[0038]
In this way, the CPU 20 constitutes obstacle detection means together with the signal processing circuit 30, detects the position of the edge by scanning each of the plurality of lines in the region R1, and detects each detected line. Among the edge positions, the intermediate level in the vertical direction is the position of the obstacle (x1, Y1). In the same manner, the CPU 20 thereafter performs the position of the obstacle (x2, Y2) To (x8, Y8), And each detected position (xi, Yi) Is the position of the obstacle in the image coordinate system.
[0039]
In subsequent step SP4, the CPU 20 operates as a position conversion means, and the position of the obstacle (xi, Yi) In the floor reference coordinate system with respect to the floor 64 on which the pet robot 1 is placed (xb, Yb, Zb). Hereinafter, this coordinate conversion will be specifically described. First, in the pinhole camera model 70 as shown in FIG. 10, the CPU 20 determines the position of the obstacle in the image coordinate system with the image center of the edge image as the origin (xi, YiOn the other hand, the position of the obstacle in the camera coordinate system with the focal point of the CCD camera 10 as the origin is represented by (xc, Yc, Zc) And the focal length f, the position of the obstacle in the image coordinate system (xi, Yi) And the position of the obstacle in the camera coordinate system (xc, Yc, Zc) With the following formula
[0040]
[Expression 2]
Figure 0004235858
[0041]
It is expressed as
[0042]
Since the image coordinate system lacks position information in the depth direction, the position of the obstacle (xi, Yi) To the position of the obstacle in the camera coordinate system (xc, Yc, ZcConversion to) cannot be performed. Therefore, the CPU 20 changes the above expression (2) to zcAs an unknown (xc, Yc)
[0043]
[Equation 3]
Figure 0004235858
[0044]
Get.
[0045]
Next, in the coordinate system as shown in FIG. 11, the CPU 20 obtains a 4 × 4 homogeneous transformation matrix B for converting the position in the floor reference coordinate system into the position in the robot center coordinate system from B, the robot center coordinate system. A homogeneous transformation matrix for transforming the head 2 into the coordinate system in the first joint that drives the head 2 in the tilt (up and down) direction is represented by T1, A homogeneous transformation matrix for converting the coordinate system in the first joint to the coordinate system in the second joint that drives the head 2 in the pan (left and right) direction is represented by T2A homogeneous transformation matrix for converting the coordinate system in the second joint to the coordinate system in the third joint that drives the head 2 in the roll (rotation) direction is represented by TThree, A homogeneous transformation matrix for converting the position of the coordinate system in the third joint to the position in the camera coordinate system is TFourThe position X of the obstacle in the camera coordinate systemcThe following formula
[0046]
[Expression 4]
Figure 0004235858
[0047]
To position X in the floor coordinate systembConvert to Where c11~ C33Indicates the amount of rotation of the homogeneous transformation matrix T, and tx, Ty, TzIndicates the amount of parallel movement of the homogeneous transformation matrix T, and c11′ To c33′ And c11″ To c33"" Indicates the rotation amount of the floor reference coordinate system and the camera coordinate system, and xb, Yb, ZbAnd xc, Yc, ZcIndicates the amount of translation of the floor reference coordinate system and the camera coordinate system.
[0048]
Then, the CPU 20 expands the above equation (4) to obtain xb, Yb, ZbConstraint condition z that an obstacle exists on the floor surface 64bBy using = 0, the following formula
[0049]
[Equation 5]
Figure 0004235858
[0050]
Get. After substituting the above equation (3) into this equation (5), the CPU 20b= 0 to zcAnd the calculated zcIs substituted into the first and second formulas of the formula (5), the position of the obstacle (xi, Yi) In the floor reference coordinate system (xb, Yb, 0)
[0051]
[Formula 6]
Figure 0004235858
[0052]
Is generated. Thus, the CPU 20 uses this equation (6) to determine the position of the obstacle present in each region in the edge image in the position (xb, Yb, 0).
[0053]
In step SP5, the CPU 20 in the coordinate system shown in FIG.i, Yi) In the floor reference coordinate system (xb, Yb, 0), the position X of the obstacle in the distance sensor coordinate systemd(0, 0, xd) In the floor reference coordinate system (xe, Ye, 0). That is, the CPU 20 detects the distance information x that is the detection result of the distance sensor 15.dThe position X of the obstacle in the distance sensor coordinate systemd(0, 0, xd) And the position Xd(0, 0, xd) To the above-mentioned homogeneous transformation matrix B, T1, T2, TThreeAnd a homogeneous transformation matrix T for converting the position of the coordinate system in the third joint to the position in the distance sensor coordinate systemFiveUsing the position in the floor reference coordinate system (xe, Ye, 0).
[0054]
In step SP6, the CPU 20 operates as an obstacle distribution generation unit, and the position of the obstacle (x in the floor reference coordinate system calculated based on the input image captured by the CCD camera 10)b, Yb) And the position of the obstacle (x in the floor reference coordinate system calculated based on the distance information detected by the distance sensor 15e, Ye) Are displayed in an overlapping manner, an obstacle map 80 having an obstacle distribution as shown in FIG. 13 is generated, and the generated obstacle map 80 is stored in the DRAM 24. Circles in the figure indicate obstacles detected by the CCD camera 10, and double circles in the figure indicate obstacles detected by the distance sensor 15.
[0055]
By the way, if the input image picked up by the CCD camera 10 contains noise, the signal processing circuit 30 may not be able to correctly generate the edge image. In this case, the pet robot 1 detects an obstacle using the distance sensor 15 in combination, and can improve the reliability in detecting the obstacle. Incidentally, the CPU 20 is configured to select and display a predetermined range around the pet robot 1 as the safety zone 81. When an obstacle or the like enters the safety zone 81, the CPU 20 limits the moving speed to a predetermined speed. Etc. to enter the warning action mode.
[0056]
In step SP7, the CPU 20 determines whether or not it is necessary to further detect the position of the obstacle. As a result, if it is determined that it is necessary to detect the position of the obstacle, the CPU 20 returns to step SP2 and operates. By repeating the above, an obstacle map in a wide range is generated, and if it is determined that the obstacles present in the surroundings can be sufficiently detected, the process proceeds to step SP8.
[0057]
In step SP8, the CPU 20 operates as an action determination unit, and moves toward the obstacle located farthest away from the pet robot 1 while avoiding the obstacle located nearest from the pet robot 1 based on the generated obstacle map. A plan is made, and each actuator 17 according to the action plan.1~ 17NDrive. Thereby, the pet robot 1 can behave or move autonomously while avoiding obstacles existing around the pet robot 1. Then, the process proceeds to step SP9 and the process ends.
[0058]
(4) Operation and effect
In the above configuration, the signal processing circuit 30 performs a filter operation such as extracting an image signal having a predetermined frequency component from the input image captured by the CCD camera 10, thereby moving the pet robot 1 on the moving surface and the moving surface. An edge image is generated in which a boundary with an obstacle existing on the moving surface is emphasized.
[0059]
The CPU 20 identifies the position of the obstacle from the position of the lowermost boundary existing on the edge image, and regards the position of the lowermost boundary as the position of the obstacle in the image coordinate system. The CPU 20 then sends the actuator 171~ 17NThe position of the obstacle in the image coordinate system is coordinate-converted to a position in the reference coordinate system based on the moving plane on which the pet robot 1 moves, based on the imaging direction of the CCD camera 10 that has changed according to the driving of the camera. . In this way, even the pet robot 1 having a plurality of joints and changing its posture in a complicated manner every time it moves can accurately detect the position of an obstacle regardless of the surrounding environment.
[0060]
Similarly, the CPU 20 controls the actuator 17.1~ 17NBased on the measurement direction of the distance sensor 15 changed according to driving, the position of the obstacle in the distance sensor coordinate system is coordinate-converted to the position in the reference coordinate system. Next, the CPU 20 has an obstacle map formed by the obstacle distribution based on the position of the obstacle detected by the CCD camera 10 in the reference coordinate system and the position of the obstacle detected by the distance sensor 15 in the reference coordinate system. Is generated. The CPU 20 autonomously determines the next action based on the generated obstacle map, and autonomously acts and moves while avoiding obstacles existing around the CPU 20. This eliminates the need for the user to constantly monitor the behavior of the pet robot 1.
[0061]
According to the above configuration, the boundary between the moving surface on which the pet robot 1 moves and the obstacle present on the moving surface is detected from the captured input image, and this is regarded as the position of the obstacle. By converting the position of the obstacle to a position on the moving surface based on the imaging direction of the object, it is possible to accurately detect the position of the obstacle present around the user, and thus the position of the detected obstacle. If the next action is determined based on the above, it is possible to act autonomously while reliably avoiding obstacles.
[0062]
In addition, since the CCD camera 10 can recognize surrounding conditions in a wider range than the distance sensor 15, a single CCD camera 10 can detect many obstacles, and the configuration of the pet robot 1 is simplified. Can be.
[0063]
Further, the position of the obstacle in the image coordinate system detected on the basis of the input image supplied from the CCD camera 10 is converted into a position in the floor surface reference coordinate system and displayed on the obstacle map, thereby displaying the distance sensor. If the position of the obstacle detected by 15 is also subjected to coordinate transformation, it can be displayed on the obstacle map, and thus the reliability of the position of the obstacle can be improved.
[0064]
(5) Other embodiments
In the above-described embodiment, the case where an obstacle is detected using the CCD camera 10 and the distance sensor 15 is described. However, the present invention is not limited to this, and the obstacle is detected only by the CCD camera 10. May be.
[0065]
In the above-described embodiment, the case where the present invention is applied to the pet robot 1 has been described. However, for example, a robot used in the entertainment field such as a game or an exhibition, or an industrial robot such as a transfer robot or a construction robot. In addition, the present invention can be applied to other various robot apparatuses.
[0066]
【The invention's effect】
  As described above, according to the present invention, the imaging means for imaging surrounding obstaclesAnd a distance measuring means provided in the vicinity of the imaging means for measuring the distance to the obstacle,By imaging meansThe field of view range including the floor and the wall as an obstacle was imaged.Image storage means for storing images, and by performing predetermined arithmetic processing on the imagesConcernedEdge line that is the boundary between the floor and the wall surface displayed in the imageTheEmphasisIs the imageEdge image generating means for generating a horizontal edge image, and a plurality of edge points where the plurality of strip lines and edge lines obtained by dividing the horizontal edge image by a plurality of strip lines drawn in the vertical direction intersect. The tied position in the image coordinate system displayed in the imageWall obstacle recognition that recognizes the wall as a wall obstacle, with the position changing from the floor to the wallMeans in the image coordinate systemWallBy using a predetermined calculation formula for the coordinate values of a plurality of edge points representing the position of the obstacle, the coordinate values of the plurality of edge points are converted into the edge point floor in the floor surface reference coordinate system based on the floor surface. Convert coordinates to surface reference coordinate valuesEdge wallObstacle coordinate transformation means and distanceMeasuring meansMeasured byWallThe position obtained based on the distance information untilMeasuring meansIn the distance sensor coordinate system corresponding to the measurement ofWallDetects the location of the obstacle andWallBy using a predetermined calculation formula for the coordinate value representing the position of the obstacleWallThe coordinate value indicating the position of the obstacle is displayed in the floor reference coordinate system.WallIndicates the location of the obstacledistanceCoordinate conversion to the floor reference coordinate valueDistance wallCoordinate transformation to obstacle coordinate transformation means and floor reference coordinate systemWallIndicates the location of the obstacleEdge pointThe floor reference coordinate value andWallIndicates the location of the obstacledistanceBy superimposing the floor reference coordinate valueWall by edge pointRepresents an obstacleEdge pointFloor surface reference coordinate value andWall surface by distance informationRepresents an obstacledistanceThe floor reference coordinate valueOne floor reference coordinate systemInSuperimposedObstacle coordinate value map generating means for generating an obstacle coordinate value map to be displayedWithBy doing so,Combined edge point floor surface reference coordinate value from camera image and distance floor surface reference coordinate value from distance sensorBecause obstacles can be detected according to the obstacle coordinate value map,Even if an error occurs in the edge point floor surface coordinate value by the camera image due to noise, the obstacle sensor detects the obstacle by the distance floor surface coordinate value by the distance sensor.It is possible to realize a robot apparatus that can accurately detect the position of an obstacle and thus improve the reliability of detecting the position of the obstacle.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing an embodiment of a pet robot according to the present invention.
FIG. 2 is a block diagram showing a circuit configuration of the pet robot.
FIG. 3 is a block diagram illustrating a configuration of a signal processing circuit.
FIG. 4 is a flowchart showing a behavior determination method of the robot apparatus.
FIG. 5 is a schematic diagram showing an environment around a pet robot.
FIG. 6 is a schematic diagram illustrating an input image.
FIG. 7 is a schematic diagram illustrating an edge image.
FIG. 8 is a schematic diagram showing a strip image.
FIG. 9 is a schematic diagram showing representative points of each strip.
FIG. 10 is a schematic diagram showing a pinhole camera model.
FIG. 11 is a schematic diagram illustrating the principle of coordinate transformation.
FIG. 12 is a schematic diagram illustrating the principle of coordinate transformation.
FIG. 13 is a schematic diagram showing an obstacle map.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Pet robot, 2 ... Head, 3 ... Main part, 4 ... Foot, 5 ... Tail, 10 ... CCD camera, 11 ... Microphone, 12 ... Speaker, 15 ... Distance Sensor, 16 ... Battery, 17 ... Actuator, 20 ... CPU, 21 ... Flash ROM, 22 ... Memory card, 24 ... DRAM, 30 ... Signal processing circuit, 34 ... Bus arbiter, 40 ... Potentiometer , 41... Hub, 45... Serial bus host controller, 46... FBK / CDT, 47... IPE, 48.

Claims (3)

周囲の障害物を撮像する撮像手段と、
上記撮像手段の近傍に設けられ、上記障害物までの距離を測定する距離測定手段と、
上記撮像手段によって床面及び上記障害物としての壁面を含んだ視野範囲の領域を撮像した画像を記憶する画像記憶手段と、
上記画像に対し所定の演算処理を施すことにより当該画像に表示される上記床面と上記壁面との境界であるエッジ線強調した当該画像である水平エッジ画像を生成するエッジ画像生成手段と、
上記水平エッジ画像を複数の縦方向に引かれた短冊ラインで分割することによって得られる当該複数の上記短冊ラインと上記エッジ線とが交差する複数のエッジ点を結んだ位置を、上記画像で表示された画像座標系における上記床面から上記壁面に変わる位置とし、当該壁面を壁面障害物として認識する壁面障害物認識手段と、
上記画像座標系における上記壁面障害物の存在位置を表す上記複数のエッジ点の座標値に対し、所定の計算式を用いることによって当該複数のエッジ点の座標値を、上記床面を基準とした床面基準座標系における上記エッジ点床面基準座標値に座標変換するエッジ壁面障害物座標変換手段と、
上記距離測定手段によって測定される上記壁面までの距離情報に基づいて得られた位置を当該距離測定手段の測定に対応した距離測定座標系における上記壁面障害物の上記存在位置として検出し、当該壁面障害物の上記存在位置を表す座標値に対し上記所定の計算式を用いることによって当該壁面障害物の上記存在位置を表す座標値を上記床面基準座標系における上記壁面障害物の上記存在位置を表す距離床面基準座標値に座標変換する距離壁面障害物座標変換手段と、
上記床面基準座標系に座標変換された上記壁面障害物の上記存在位置を表す上記エッジ点床面基準座標値と上記壁面障害物の上記存在位置を表す上記距離床面基準座標値とを重ね合わせることによって上記エッジ点によって上記壁面障害物を表す上記エッジ点床面基準座標値及び上記距離情報によって上記壁面障害物を表す上記距離床面基準座標値を1つの上記床面基準座標系重畳して表示する障害物座標値マップを生成する障害物座標値マップ生成手段と
を具えるロボット装置。
Imaging means for imaging surrounding obstacles ;
A distance measuring means provided in the vicinity of the imaging means for measuring the distance to the obstacle;
Image storage means for storing an image obtained by imaging an area of the visual field range including the floor surface and the wall surface as the obstacle by the imaging means;
An edge image generating means for generating a horizontal edge image is the image that emphasizes the edge line is a boundary between the floor surface and the wall surface that appears in the image by performing predetermined arithmetic processing on the image,
The position connecting the plurality of edge points to which the plurality of the strip line and the edge line intersect obtained by dividing the horizontal edge image with a plurality of longitudinally-drawn strip line, displayed by the image Wall obstacle recognition means for recognizing the wall surface as a wall obstacle, with the position changing from the floor surface to the wall surface in the image coordinate system
With respect to the coordinate values of the plurality of edge points representing the positions of the wall obstacles in the image coordinate system, the coordinate values of the plurality of edge points are referenced to the floor surface by using a predetermined calculation formula. Edge wall obstacle coordinate conversion means for converting the above-mentioned edge point floor surface reference coordinate value in the floor surface reference coordinate system,
Detecting the position obtained based on the distance information to the wall surface measured by the distance measuring means as the location of the wall obstruction in the distance measurement coordinate system corresponding to the measurement of the distance measuring means, the wall By using the predetermined calculation formula for the coordinate value representing the position of the obstacle, the coordinate value representing the position of the wall obstacle is represented as the position of the wall obstacle in the floor reference coordinate system. Distance wall surface obstacle coordinate conversion means for converting the coordinate to the distance floor surface reference coordinate value to represent,
The edge point floor surface reference coordinate value representing the presence position of the wall surface obstacle coordinate-converted to the floor surface reference coordinate system and the distance floor surface reference coordinate value representing the position of the wall surface obstacle are overlapped. The edge point floor surface reference coordinate value representing the wall surface obstacle by the edge point and the distance floor surface reference coordinate value representing the wall surface obstacle by the distance information are superimposed on one floor surface reference coordinate system . Carlo bot device comprises a obstacle coordinate value map generation means for generating an obstacle coordinates map to to display.
上記障害物座標値マップに基づいて検出された上記障害物を避けながら移動する移動手段と
を具える請求項1に記載のロボット装置。
The robot apparatus according to claim 1, further comprising a moving unit that moves while avoiding the obstacle detected based on the obstacle coordinate value map.
周囲の障害物を撮像する撮像ステップと、
上記撮像手段の近傍に設けられ、上記障害物までの距離を測定する距離測定ステップと、
画像記憶手段に上記撮像ステップによって床面及び上記障害物としての壁面を含んだ視野範囲の領域を撮像された画像を記憶する画像記憶ステップと、
上記画像に対し所定の演算処理を施すことにより当該画像に表示される上記床面と上記壁面との境界であるエッジ線強調した当該画像である水平エッジ画像を生成するエッジ画像生成ステップと、
上記水平エッジ画像を複数の縦方向に引かれた短冊ラインで分割することによって得られる当該複数の上記短冊ラインと上記エッジ線とが交差する複数のエッジ点を結んだ位置を、上記画像で表示された画像座標系における上記床面から上記壁面に変わる位置とし、当該壁面を壁面障害物として認識する壁面障害物認識ステップと、
上記画像座標系における上記壁面障害物の存在位置を表す上記複数のエッジ点の座標値に対し、所定の計算式を用いることによって当該複数のエッジ点の座標値を、上記床面を基準とした床面基準座標系における上記エッジ点床面基準座標値に座標変換するエッジ壁 障害物座標変換ステップと、
上記距離測定ステップによって測定される上記壁面までの距離情報に基づいて得られた位置を当該距離測定手段の測定に対応した距離測定座標系における上記壁面障害物の上記存在位置として検出し、当該壁面障害物の上記存在位置を表す座標値に対し上記所定の計算式を用いることによって当該壁面障害物の上記存在位置を表す座標値を上記床面基準座標系における上記壁面障害物の上記存在位置を表す距離床面基準座標値に座標変換する距離壁面障害物座標変換ステップと、
上記床面基準座標系に座標変換された上記壁面障害物の上記存在位置を表す上記エッジ点床面基準座標値と上記壁面障害物の上記存在位置を表す上記距離床面基準座標値とを重ね合わせることによって上記エッジ点によって上記壁面障害物を表す上記エッジ点床面基準座標値及び上記距離情報によって上記壁面障害物を表す上記距離床面基準座標値を1つの上記床面基準座標系重畳して表示する障害物座標値マップを生成する障害物座標値マップ生成ステップと
を具えるロボット装置の障害物マップ生成方法。
An imaging step for imaging surrounding obstacles ;
A distance measuring step provided in the vicinity of the imaging means and measuring the distance to the obstacle;
An image storage step of storing an image obtained by imaging an area of the visual field range including the floor surface and the wall surface as the obstacle by the imaging step in the image storage means ;
An edge image generating step of generating a horizontal edge image is the image that emphasizes the edge line is a boundary between the floor surface and the wall surface that appears in the image by performing predetermined arithmetic processing on the image,
The position connecting the plurality of edge points to which the plurality of the strip line and the edge line intersect obtained by dividing the horizontal edge image with a plurality of longitudinally-drawn strip line, displayed by the image A wall obstacle recognition step for recognizing the wall surface as a wall obstacle in a position that changes from the floor surface to the wall surface in the image coordinate system
With respect to the coordinate values of the plurality of edge points representing the positions of the wall obstacles in the image coordinate system, the coordinate values of the plurality of edge points are referenced to the floor surface by using a predetermined calculation formula. an edge wall surface obstacle coordinate conversion step of coordinate transformation on the edge points floor reference coordinates in the floor surface the reference coordinate system,
Detecting the position obtained based on the distance information to the wall surface measured by the distance measuring step as the location of the wall obstruction in the distance measurement coordinate system corresponding to the measurement of the distance measuring means, the wall By using the predetermined calculation formula for the coordinate value representing the position of the obstacle, the coordinate value representing the position of the wall obstacle is represented as the position of the wall obstacle in the floor reference coordinate system. A distance wall obstacle coordinate conversion step for converting the distance to the floor floor reference coordinate value to represent,
The edge point floor surface reference coordinate value representing the presence position of the wall surface obstacle coordinate-converted to the floor surface reference coordinate system and the distance floor surface reference coordinate value representing the position of the wall surface obstacle are overlapped. The edge point floor surface reference coordinate value representing the wall surface obstacle by the edge point and the distance floor surface reference coordinate value representing the wall surface obstacle by the distance information are superimposed on one floor surface reference coordinate system . obstacle map generating method of Carlo bots device comprises a obstacle coordinates map generation step of generating an obstacle coordinates map to be displayed in.
JP12721699A 1999-05-07 1999-05-07 Robot apparatus and obstacle map generation method for robot apparatus Expired - Fee Related JP4235858B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12721699A JP4235858B2 (en) 1999-05-07 1999-05-07 Robot apparatus and obstacle map generation method for robot apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12721699A JP4235858B2 (en) 1999-05-07 1999-05-07 Robot apparatus and obstacle map generation method for robot apparatus

Publications (2)

Publication Number Publication Date
JP2000317868A JP2000317868A (en) 2000-11-21
JP4235858B2 true JP4235858B2 (en) 2009-03-11

Family

ID=14954612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12721699A Expired - Fee Related JP4235858B2 (en) 1999-05-07 1999-05-07 Robot apparatus and obstacle map generation method for robot apparatus

Country Status (1)

Country Link
JP (1) JP4235858B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342759A (en) 2001-01-30 2002-11-29 Nec Corp System and method for providing information and its program
JP4779226B2 (en) * 2001-04-25 2011-09-28 ソニー株式会社 ROBOT DEVICE, IMAGE STORAGE METHOD, IMAGE STORAGE DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM
JP3758628B2 (en) * 2002-09-25 2006-03-22 松下電工株式会社 Autonomous mobile device
JP4100239B2 (en) * 2003-04-22 2008-06-11 松下電工株式会社 Obstacle detection device and autonomous mobile robot using the same device, obstacle detection method, and obstacle detection program
JP4227037B2 (en) * 2004-02-25 2009-02-18 株式会社国際電気通信基礎技術研究所 Imaging system and calibration method
JP4844453B2 (en) * 2007-04-09 2011-12-28 株式会社デンソーウェーブ Robot teaching apparatus and teaching method
CN110378854B (en) * 2019-07-17 2021-10-26 上海商汤智能科技有限公司 Robot image enhancement method and device
CN114489078A (en) * 2022-01-27 2022-05-13 珠海一微半导体股份有限公司 Mobile robot obstacle avoidance method based on phase detection, chip and robot

Also Published As

Publication number Publication date
JP2000317868A (en) 2000-11-21

Similar Documents

Publication Publication Date Title
CN108780586B (en) Image processing method, display device and inspection system
JP6900575B2 (en) How and system to generate detailed datasets of the environment through gameplay
JP7025532B2 (en) Collision detection, estimation, and avoidance
JP2022062716A (en) Cleaner control method and control system
JP2003285288A (en) Charging system, charge control method, robot, charger, and charge control program and recording medium
JP2006011880A (en) Environmental map creation method and device, and mobile robot device
JPH10334270A (en) Operation recognition device and recorded medium recording operation recognition program
JP4235858B2 (en) Robot apparatus and obstacle map generation method for robot apparatus
JP6020439B2 (en) Image processing apparatus, imaging apparatus, and image processing program
CN109164802A (en) A kind of robot maze traveling method, device and robot
Grewal et al. Autonomous wheelchair navigation in unmapped indoor environments
CN112230652A (en) Walking robot, method of controlling movement of walking robot, and computer storage medium
JP2015219868A (en) Information processor, information processing method and program
KR20210099780A (en) Electronic apparatus and control method thereof
JP2009288917A (en) Information processor, information processing method and program
JP6142307B2 (en) Attention target estimation system, robot and control program
JP6769859B2 (en) Image processing device and image processing method
JP7342664B2 (en) Robots, control methods, and programs
AU2020317303B2 (en) Information processing device, data generation method, and program
KR20220120908A (en) Moving robot and control method of moving robot
JP7223865B2 (en) Information processing device, information processing method and program
CN115552487A (en) Human body lying posture detection method and mobile machine using same
JP4618470B2 (en) Image processing apparatus and method, robot apparatus and control method therefor
CN111971149A (en) Recording medium, information processing apparatus, and information processing method
JP2002326176A (en) Robot device, method and device for image storage, control program, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees