JP2010507169A - 移動ロボットによる地図作成方法 - Google Patents

移動ロボットによる地図作成方法 Download PDF

Info

Publication number
JP2010507169A
JP2010507169A JP2009533286A JP2009533286A JP2010507169A JP 2010507169 A JP2010507169 A JP 2010507169A JP 2009533286 A JP2009533286 A JP 2009533286A JP 2009533286 A JP2009533286 A JP 2009533286A JP 2010507169 A JP2010507169 A JP 2010507169A
Authority
JP
Japan
Prior art keywords
robot
vertex
human
motion
graph
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.)
Granted
Application number
JP2009533286A
Other languages
English (en)
Other versions
JP5148619B2 (ja
Inventor
ユタカ・ジェイ・カナヤマ
Original Assignee
ユタカ・ジェイ・カナヤマ
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 ユタカ・ジェイ・カナヤマ filed Critical ユタカ・ジェイ・カナヤマ
Publication of JP2010507169A publication Critical patent/JP2010507169A/ja
Application granted granted Critical
Publication of JP5148619B2 publication Critical patent/JP5148619B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40446Graph based
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40506Self motion topology knowledge, configuration mapping
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40508Fuzzy identification of motion plans executed by operator

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

【課題】移動ロボットが作業を実行するための作業領域の幾何学的関係を記述した地図を作成すること。
【解決手段】人間がその領域を表現するグラフを定義するステップ201と、人間がそのグラフ中の辺に沿ってロボットを誘導した後、人間とロボットのチームが頂点で停止するステップ203と、その頂点が新しい場合には頂点記録を生成するステップ205と、その頂点が既に生成されたものである場合にはロボットと頂点との位置・方向を補正するステップ206と、新しい辺が完成した場合には辺記録を生成するステップ208と、最後に、ロボットによって生成された頂点記録の集合と辺記録の集合を含む地図を出力するステップ210とを含む、人間とロボットとがチームを構成することによりその領域の地図を生成する方法200。ロボットが人間を追跡するステップ203は、人間の動作を検出したセンサから2自由度の運動コマンド得る副ステップと、その運動コマンドを基にして2自由度の運動をロボットが実行する副ステップを含む。
【選択図】図8

Description

本発明は、移動ロボットが与えられた作業領域の地図を作成する課題に関する。
移動ロボットは次第に人々の日常生活に入り込んできた。エンターテインメント・ロボット、床掃除ロボット、警備ロボットなどの商業ロボットが手に入るようになっている。人間型ロボット(ヒューマノイド)は日本の研究所で安定した走行を見せている(例えばWO/2006/062948は、二足歩行ロボットに関する技術を開示している)。これらの自律ロボットにその環境を理解させようという努力が鋭意積み重ねられてきた。
文献WO/2006/046053、WO/2006/046049およびWO/2006/046044は、専用のハードウェアを用いて、決められた床の領域を清掃する方法を述べている。しかし、これらは、ロボットがどのような方法でその環境を認識するかについては言及していない。
別の文献WO/2005/092632は、予め決められた間隔で床上に貼られた2次元バーコードを用いて、移動ロボットを運行する方法を開示している。しかし、余分なハードウェアを床に貼るのは、ユーザにとって、費用が嵩み、かつ時間が掛かる。
別の文献WO/2005/098476は、ロボットに搭載された発光装置とその反射光を検出するセンサを用いて、ロボットの位置を推定する方法を開示している。しかし、この方法でどの程度の位置精度が得られるかは不明である上、この方法の応用可能性については限界がある。
また別の文献WO/99/59042およびWO/2000/043186は、作業領域の境界にマーカーを貼り、それを検出することにより、移動ロボットがその領域をカバーすることを可能にしている。しかし、マーカーを貼るという作業は高価で面倒であるから、応用面が限られる。
更に別の文献、WO/2005/081074、WO/2005/006098およびWO/1999/028800は、移動ロボットがベース・ステーションにドッキングする方法を開示している。この方法はロボットがベース・ステーションの周辺の幾何学的関係を理解する助けにはなるが、作業領域全体の幾何学的関係を理解することは期待できない。
更に別の文献WO/2001/038945は、複数台の移動ロボットを用いて、周囲の地図を生成する方法を開示している。しかし、ただ一台のロボットによってそれが可能ならば、はるかに有用である。
また別の文献US/6009359は、未知の屋内環境内の詳細な幾何3次元モデルを生成することによって地図を生成する方法を述べている。しかし、移動ロボットのオドメトリ(後述)誤差をどのようにして回避するのか、については述べられていない。
更に別の文献US/6965209は、持ち運び可能な境界信号発生器を用いて、ロボットを特定の空間内に閉じ込める方法を開示している。しかし、そのようなハードウェア機器を用いない方法のほうが明らかに望ましい。
文献WO/88/004081およびUS/4821192は、ノード地図を用いたロボット運行法について述べている。このノード地図は人間があらかじめ設計して、ロボットにデータとして与える。このノード地図の使用によってどのような利点が得られるかについては述べられていない。
従来、ロボット工学の研究分野においては、未知の作業領域の地図作成を目的として、Simultaneous Localization And Mapping(SLAM)法が研究されてきた。この方法は、自立型の自律ロボットが未知の領域の地図を自力で生成するものと期待されている。
文献WO/2004/059900は、イメージセンサを用いたSLAM法を開示している。別の文献WO/2001/078951は、完全に未知の、予測できない、かつ部分的に動的で大規模な環境にいて、準最適な経路を発見するための方法を開示している。さらに別の文献US/7015831は、視覚センサとSLAM法を用いて地図を生成し、更新する方法を述べている。
しかし、SLAM法には以下のような限界がある
(1)ロボットのオドメトリ機能が劣るために、生成される地図の精度に限界がある。
「オドメトリ」とは、移動ロボットがサンプリングサイクルごとの微小移動量を累積することにより、それ自身の座標系((x,y),θ)の推定値を求める機能である。
(2)ロボットは、オドメトリの誤差の累積ために、複雑な作業領域では自己位置の同定が困難になり、そのために、複雑な領域の自律的地図作成は非常に困難になる。
(3)更に、この方法は地図作成における基本的問題に対する配慮をまったく欠いている。即ちロボットが、与えられた環境の中で、複数個の作業領域を取り扱わなければならない場合があるが、人間からの指示なしに、ロボットが自律的に異なる作業領域を知ることは決してできない。
移動ロボットが、曲率を制御することによって直線または円を追跡するアルゴリズムが文献US/6134486において開示された。このアルゴリズムは、v≠0である場合、つまり曲率が定義されている場合に有効である。しかし、本発明においては、この条件(v≠0)は保障されていない。従って、本発明にこの先発明の手法を採用することはできない。
手動で駆動されるロボットの運動を記録するアルゴリズムが文献US/6314341において開示されている。この先行文献においては、モーターの電源をオフにした状態で、人間の物理的な力によってロボットの運動が生成される。この運動生成手法は、ロボットが重いために人間がそれを手で動かすことが不可能であるときには、有効でない。
WO/2006/062948 WO/2006/046053 WO/2006/046049 WO/2006/046044 WO/2005/092632 WO/2005/098476 WO/99/59042 WO/2000/043186 WO/2005/081074 WO/2005/006098 WO/1999/028800 WO/2001/038945 US/6009359 US/6965209 WO/88/004081 US/4821192 WO/2004/059900 WO/2001/078951 US/7015831 US/6134486 US/6314341
本発明が解決しようとする課題は、移動ロボットが作業領域Aの地図をいかにして生成するか、というものである。この課題は更に次の3つの副課題に分割できる
(副課題1)ロボットがいかにしてAの境界線を知るのか?
(副課題2)ロボットがいかにしてA内部の幾何学的特徴を知るのか?
(副課題3)ロボットがいかにしてAの地図を生成するのか?
解決方法を述べる前に、(1)2自由度運動および2自由度運動コマンド、と(2)グラフおよび地図、についての定義を導入する。
2自由度運動および2自由度運動コマンドの定義
図1に示すように、世界直角座標系2が定義された平面上に、剛体移動ロボット1が置かれているとする。このロボットには「本体方向」θ3が本体上に定義されている。「ロボット座標系」(X,Y)4はロボット本体上に貼り付けられ、そのX軸の方向はその本体方向と定義されている。さらにロボット座標系は世界座標系においてはF=(x,y),θ)と定義される。ここで、xとyは(X,Y)の原点の世界座標系におけるX座標とY座標、θ3は、(X,Y)のX方向の世界座標系における方向と等しい。一方、ロボットの各時点における運動は
Figure 2010507169
と表される。図1に示されているように、ここで、v7は「平行移動速度」、μ8はロボット座標系(X,Y)でみた「平行移動方向」、ω=dθ/dt9は「回転速度」である。
このロボット本体の平行移動はvとμによって表される。この運動は3つの変数を持つので、ロボットの「3自由度運動」と呼ばれる。この平行移動方向μ8は−π/2<μ≦π/2と規準化されるものとする。もしv<0であれば、ロボットはμ+πの方向に、速度|v|で移動しているものと考える。多脚ロボットは通常この3自由度の運動能力を持っている。車輪型ロボットがこの3自由度の運動能力を持っている場合には、「全方向移動車」と呼ばれる。
仮にあるロボットの平行移動方向がつねにそのロボットの身体の方向と等しくなるように制限された場合、つまりμ=0なる制限を受けた場合、式(1)であらわされる運動は
Figure 2010507169
となる。この運動は2変数vおよびωしか含まないから、「2自由度の運動」と呼ばれる。自動車、自転車、三輪車、速度差制御車などの、通常の車両はこの制限された、2自由度の運動しかできない。これらの車両は側方向には運動できない。曖昧さを惹き起こさない限り、2自由度の運動をM=(v,ω)と表すことにする。
発明において作業領域の地図を作成するのに、人間(ロボットが追跡する対象)がロボットを誘導して領域内を案内する。そのミッションのためには(仮にそのロボットが3自由度の運動能力をもっている場合でも)3自由度でなく2自由度の運動を使うほうが望ましい。その理由は以下の通りである。
(1)ロボットの身体の方向が、グラフの辺の方向と一致しているので、ロボットの左右、側方に装着されたセンサは側方の物体を真っ直ぐにセンスすることになる。ロボットのこの姿勢が側方物体の幾何学的特徴を抽出するのに最も望ましい。
(2)ロボットの前面が常に対象に向いているので、対象を検出するセンサの個数を最小にできる。
(3)対象追跡のセッションにおいて、ロボットが対象の検出に成功すると、ロボットは対象の方を向く。人間はそれを見て、ロボットが正常に機能していることが確認できる。
(4)対象検出センサの出力が2変数だけで十分なので、そのシステムが簡単になる。
移動ロボットが3自由度の運動能力を持っていたとしても、本発明の、人間教示による地図作成の目的のためには、その3自由度を発揮することの利益はない。したがって、本発明はすべての移動ロボットに適用可能である。
ロボットが対象を追跡するためには、センサは対象の動作を検出して、ロボットが適当な追跡運動を実行するための情報を返さねばならない。運動の自由度が2個しかないので、センサは「2自由度の運動コマンド」Cを返すだけでよい
Figure 2010507169
ここで、cは平行移動速度vを制御するための変数であり、cωは回転速度ωを制御するための変数である(図2)。後述するように、2自由度の運動コマンドCは任意のセンサの機能2031と運動機能2032の間の標準インターフェイスとなるように特に定義されている。
グラフと地図の定義
グラフを活用して作業領域を表現している点が、本発明のもう一つの特徴である。グラフGは、「頂点」の集合Vと「辺」の集合Eの組(V,E)である。頂点には作業領域内の世界座標系で表された点(x,y)が関連している。辺は相異なる頂点、PとQの組(P,Q)である。これらの2頂点をこの辺の「端点」と呼ぶ。(P,Q)が辺ならば、(Q,P)も辺である。もしk=0,…,n−1について、(P,Pk+1)が辺であれば、頂点の系列H=(P,P,…,P)(n−1)は「経路」と呼ばれる。経路HにおいてP=Pかつn≧2であれば、Hは「サイクル」と呼ばれる。あるサイクルにおいて、その系列内の全ての頂点が、最後のものを除いて相異なるときは、そのサイクルは「単純サイクル」と呼ばれる。
サイクルH中の辺は有限の領域を囲む。その領域をHの「閉領域」と呼ぶ。一つのグラフ中の2つの単純サイクルは、もしそれらの閉領域に共通部分が存在しないとき、それらは互いに「独立」である、といわれる。ある辺について、2個の独立なサイクルが存在して、その辺がその両者に属するときは、その辺は「内部辺」と呼ばれる。そうでないときは、「境界辺」と呼ばれる。ある頂点Pにおいて、境界辺Eが存在して、PがEの端点であるとき、Pは「境界頂点」と呼ばれる。境界頂点でない頂点は「内部頂点」と呼ばれる。
一つのグラフ中の全ての境界辺はサイクル、「境界サイクル」Hを構成する。任意のグラフGにおいて、二個以上の境界サイクルが存在する。与えられたグラフGにおいてすべての頂点と辺をカバーする経路は複数個ある。後述のロボットへの教示において、どの経路を用いるかは、教示する人間に完全に任されている。しかしながら、G中の境界サイクルを最初にカバーすることが一般に望ましい。その境界サイクルでカバーされなかった頂点と辺は、後でカバーすればよい。その場合、境界頂点の位置は他の頂点の位置決めをするためのランドマークとして働く。
本発明は、ある作業領域Aが与えられたとき、人間がまず次のグラフGを定義することを提唱する。
Figure 2010507169
このグラフGはAの中に埋め込まれており、Vは頂点の集合、Eは辺の集合である。このグラフGは領域Aの幾何学的特徴を適切に反映するものでなければならない。地図生成プロセスの最終出力は次の地図ファイルZである
Figure 2010507169
ここでRはVに属する頂点の記録の集合、RはEに属する辺の記録の集合である。これらの2集合は地図生成のプロセスにおいて、段階的に生成される。この地図データは、グラフ構造を基礎にしているので、コンパクトであり、かつ整理された構造となっている。
頂点記録のデータ構造
頂点記録は、頂点番号、アンカー、頂点座標系、名前(ストリング)を含んでいる。この記録は一般に、vertex(n,anchor,p,name)の形式をとる。これを簡単にvertex(n)と表すことがある。各頂点に付けられた固有の頂点番号n(=0,1,2,…)はその頂点が生成された順序を表している。第n番目の頂点をvertex(n)と表すことがある。ある頂点の「アンカー」は、その頂点がvertex(m)に依存して位置決めされたときには、mに等しい。ある頂点が新たに生成されたときは、そのアンカーは∞と定義されるが、それは、その位置が他の頂点の位置情報に依存してはいないことを意味する。唯一の例外はvertex(0)であって、そのアンカーは0と定義される。アンカーの値が∞である頂点を「アンカーレス」と呼ぶ。そうでない頂点を「アンカー付き」と呼ぶ。地図生成セッションが進行するにつれて、頂点記録中の位置とアンカーはローカリゼーション・タスク206(図8)によって修正される。地図生成セッションの最後には、すべての頂点のアンカーは0となる。すべての頂点の名前は人間によって与えられる。全ての頂点の名前の集合は人間とロボットによって共有される記号的知識であって、これによって、人間とロボットの間で知的で能率の良いコミュニケーションが可能となる。
辺記録のデータ構造
辺記録は、辺番号、2端点の頂点番号、辺の距離、左右両側の物体の幾何学的特徴を含む。ここで言う距離は、2端点間のユークリッド距離である。
作業領域とそのグラフの例
作業領域の例3つと、それらのグラフの例を挙げる。
図3に示した作業領域A110は掃除すべき領域である。この作業領域は一部分だけが壁で区切られている。この作業領域Aは、そこに埋め込まれたグラフG111によって記述するのが適当である(図4)。このグラフはG=(V,E)=({A,B,C,D,E},{(A,B),(B,C),(C,D),(D,E),(E,A)})として定義できる。このグラフには、内部辺は存在しない。たとえば、H1b=(A,B,C,D,E,A)はG111における境界サイクルである。時計回りの、あるいは、右手法で描いた境界サイクルは(A,E,D,C,B,A)であり、これも、後述の地図教示法のために有効に働く。実際の場面では、各頂点に、A,B,Cなどでなく、内容を意味するような名前をつけることができる。
図5に示す環境の中には、2つの作業領域AおよびAが示されている。A130は到達可能な部分全てを含む作業領域である。他方、A120はAの左半分の領域で、点線で区切られている。移動ロボットは、人間側の要求次第で、全領域Aあるいは、部分領域Aを認識することが期待されている。
図6が示すように、作業領域A120はグラフG121によって記述できる
=(V,E)=({A,B,C,D,E,F,G},{(A,B),(B,C),(C,D),(D,E),(E,F),(F,G),(G,A),(D,G)})。
グラフG121には、(A,B,C,D,G,A)122および(G,D,E,F,G)123なる、独立なサイクルがある。これらは辺(D,G)124を共有しているので、この辺はGにおける内部辺となる。内部辺は他には存在しない。すべての境界辺を使って、H2b=(A,B,C,D,E,F,G,A)なる境界サイクルを作ることができる。この中に、内部辺(D,G)は含まれていない。
図7に示すように、作業領域A130はグラフG131によって記述できる
=(V,E)=({A,B,C,D,E,F,G,H,I,J,K,L,M},{(A,B),(A,L),(B,C),(C,D),(C,G),(D,E),(D,F),(G,H),(G,M),(H,I),(I,J),(J,K),(J,M),(K,L),(L,M)})。グラフG131には(A,B,C,G,M,L,A)132,(G,H,I,J,M,G)133,(J,K,L,M,J)134なる、3つの互いに独立なサイクルが存在する。辺(G,M),(J,M),(L,M)は、それぞれ上記のうち2個のサイクルによって共有されているので、内部辺である。グラフG131における境界サイクルの一例はH3b=(A,B,C,D,E,D,F,D,C,G,H,I,J,K,L,A)である。このサイクルは上記の内部辺を含んでいない。
解決方法の特長
与えられた作業領域Aを記述するために、その領域に埋め込まれ、その領域を記述するグラフGに基づいて人間がロボットを案内し、ロボットが当該人間を対象として追跡する点が第一の特長である。すべての地図生成過程はこのGに基づいて行われる。ロボットにとっては、作業領域の幾何学的関係を自ら理解することは極めて難しい。そこを人間が助ける。グラフの複雑さには上限がないから、この方法はどんなに複雑な作業領域をも取り扱える。
同一の環境において、人間がロボットに2つ以上の作業領域を定義する必要性が生ずるかもしれないが、本発明を用いるとこれが可能になる。例えば、一つのオフィス内に、掃除ロボットのために2つのことなる作業領域を、「weekday」および「weekend」と呼ぶことができる。地図中の(作業領域中の)全ての名前の集合は、人間とロボットに共有される知識であり、それが、両者間の知的で能率の良いインターフェイスとなる。これも、本発明の主たる利点の一つである。
ロボットによる地図作成方法200
発明のトップ・レベル・アルゴリズムは図8のフローチャート200に示されている。
タスク201:
与えられた作業領域Aを記述するグラフGが定義されこれが出発点である。グラフG中の全ての頂点と辺はその作業領域の内部になければならない。このグラフGは2次元の広がりをもつ領域Aを最も良く代表するように選ばなければならない。
一般に、頂点を、T字路、十字路、曲り角、行き止り点、境界点、などに割り当てるのがよい。というのは、これらの点は幾何学的に重要な意味をもつからである。任意の2頂点について、将来作業を行う段階で移動ロボットが両者を結ぶ線分に沿って移動する必要がある、と判断した場合には、両者間に辺を定義する。
タスク202:
この初期状態において、移動ロボットはグラフG中のhomeと仮に呼ばれる初期頂点に置かれる。この地図生成プロセス全体の初期化として、このhomeの頂点記録vertex(0,0,p,name)が、少なくとも、頂点番号0、アンカー0、この頂点の座標系p、与えられた名前nameと共に生成される。
タスク203:
対象が一つの辺に沿って前進し、その間ロボットがその対象を追跡するが、次の頂点に達すると停止する。どの経路を選ぶかについては、対象に任されている。生成された地図の精度はこの経路の選択に依存する。対象とロボットのチームによるこのタスク実行は、この辺の端点の一つ(頂点)に達すると終わる。このタスク203は後に更に詳しく述べる。
タスク204:
対象とロボットのチームが立ち止まった頂点は2種類のいずれかに属する。そのチームがその頂点を始めて訪れた場合か、あるいは、その頂点に以前訪れており、今回重ねて訪れた場合である。いずれであるか知るによって、ロボットはグラフの構造を知ることになる。
この頂点が新しい場合は、人間はm=−1を伝えることによってその事実を明示するこれは正当な頂点番号ではないから、この頂点が新しい、という意味に使える。もし、このチームがこの頂点に既に訪れたことがあり、頂点記録vertex(m)としてすでに生成されている場合には、人間がその事実を、その頂点番号自体m(≧0)を伝えることにより、ロボットに教える。
タスク205:
この頂点は新しいものであり、この場合頂点記録が生成される。ロボットは人間から、その名前を教えてもらう。それにより、ロボットは頂点記録vertex(n,∞,p,name)を生成するここで、nは頂点番号であり、アンカーは∞であり、現在のロボットの位置と方向はpであり、人間から授けられた名前はnameである。
タスク206:
ロボットが既に存在するvertex(m)に再び戻ってきたとき、制御がここに来る。あらたな頂点記録は生成されない。その代わりに、ロボットと頂点のために位置・方角補正が実行される。この詳細については後述する。
タスク207:
この場合、現頂点は新たなものではないが、この最後の辺は新しいものである場合がある。この判断を下すのに十分な情報をロボットは持っている。最後の辺が新しい場合には、この後、タスク208に制御を移して、辺記録を生成する。
タスク208:
ロボットは辺記録を生成する。最も重要な情報は、その2端点の頂点番号であり、これがグラフGの連結関係を定義する。左右側方の幾何学的特徴も貴重である。
タスク209:
グラフG中の全ての辺をカバーしたかどうかを、人間がロボットに教える。人間だけがこのことを知っている。
タスク210:
最後のタスクとして、ロボットはGの地図Z(G)を出力する。この地図は頂点記録の集合Rと辺記録の集合Rとを含んでいる。前者はタスク202および205で生成され、タスク206で修正されている後者はタスク208で生成されたものである。この地図Z=(R,R)には固有の名前がつけられた上で出力される。この地図は後にその名前で呼び出される。
タスク206:ロボットとvertex(m)に関する位置・方向の補正(ローカリゼーション)
ロボットは、以前生成されたvertex(m)に達したところである。人間が教示した頂点の同定により、ロボットは曖昧さなく、Gの結合関係を理解することになる。さらに、ロボットは自己位置・方角を補正し、アンカーを修正する。まず、「オドメトリ誤差補正量」eが(頂点ローカリゼーションの準備として)計算され、次に、ロボット位置が補正される
Figure 2010507169
ここで(x,y)はロボットの現位置であり、(x,y)は頂点記録vertex(m)に記録された頂点位置である。
Figure 2010507169
この意味は次のとおりである。前回の頂点位置(x,y)はその時点でのロボットの位置なのであるから、その後のオドメトリ誤差を含まない。従って、この旧位置が現ロボット位置(x,y)よりも「より正確である」という判断を下すのである。
さて、頂点に対するローカリゼーションについて述べる。対象―ロボットチームが実行した経路のHの最後の部分を考える
Figure 2010507169
このチームはvertex(n)を生成しようとしていたが、実際のとこはそれが、vertex(m)に等しいことが判明し、新しい頂点は生成されなかったのである。この系列をvertex(n−1)から逆に辿り、vertex(m)自身とアンカーつきの頂点のいずれが先に現れるかを調べる。
(場合I:vertex(m)自身が先に来る)この場合この経路は
Figure 2010507169
となる。ここでn≧m+2であり、最初と最後の頂点を除いて、全ての頂点はアンカーレスである。この経路Hはサイクルである。
(場合II:アンカー付きの頂点が最初に来る場合)この場合はさらに2つのサブケースに分かれる。
最初のサブケースは式(8)におけるvertex(n−1)が実際アンカー付きである場合である。このサブケースにおいては、H中にアンカーレス頂点が存在しないので、以下の頂点ローカリゼーションは必要がない。
第二のサブケースは経路が
Figure 2010507169
のようになる場合である。ここでvertex(i)はアンカー付きで、k≧0であり、その間の全ての頂点はアンカーレスである。
両サブケースにおけるローカリゼーション・アルゴリズムは殆ど同一なので、最初のサブケースについて述べる式(9)のサイクルH中の辺の個数uは
Figure 2010507169
である。このuと、式(6)のオドメトリ誤差補正量eを用いると、このサイクル中の各頂点のための補正量は次のように評価できる
Figure 2010507169
これらの値は(9)式のH中の各頂点の位置に加算され、補正される。ここで、0=(0,0)である。このようにして、Hを辿っている間に累積されたオドメトリ誤差はこのサイクル中の各頂点に等しく分配される。H中の全ての頂点のアンカーとして、min(m,anchor(vertex(m)))なる値が代入されるが、vertex(m)のアンカー自体は変わらない。
これまでのところ、サイクルHの中に「内部サイクル」は存在しないと仮定してきた。ここで、図9に示すように、H140中に内部サイクルH141が存在する場合を考える。内部サイクル141はvertex(h)142から始まっている。この内部サイクルHI141は、より大きなサイクルH140が閉じる前に閉じている。従って、H141のためのローカリゼーション・タスク206が実行されており、H141中の頂点のアンカーはvertex(h)自身を除いてhのアンカーの値と等しくセットされている。より大きなサイクルH40に対するローカリゼーションはこの内部サイクルの頂点たちを除いて実行される。その後、式(12)中のvertex(h)に対する補正値はH41中の各頂点に対して、一様に重畳される。さらに、内部サイクル中の各頂点のアンカーはvertex(h)のアンカーと等しくセットされる。このタスク206は、このようにして、入れ子になったサイクルに対し、帰納的に適用される。
このローカリゼーション・アルゴリズムの有効性と安定性は本発明の最重要な特長の一つである。人間はこのローカリゼーションにおいて、極めて重要な役割を果たしているそうでなければ、このレベルの成果は決して得られない。ロボットによる地図生成アルゴリズム200とローカリゼーション・アルゴリズム206が前出の例題のグラフに対して、どのように働くかを示す。
図4に示したグラフG111においてチームが境界サイクルを辿ると、そのサイクルに対して、ローカリゼーション・タスク206が実行される。全て頂点の位置はホームの位置を基準として決められるので、そのアンカーはすべて0となる。内部辺は存在せず、全ての辺はカバーされた。
図6に示されたグラフG121において境界サイクルがカバーされると、ローカリゼーション・タスク206が実行される。その後で、内部辺(G,D)124が辿られて、辺記録が生成される。しかしながら、アンカーレスの頂点は存在しないので、ローカリゼーションは実行されない。
図7に示されたグラフG131においては、まず境界サイクルが辿られる。この境界サイクルにはいくつかの内部サイクルが含まれている。(D,E,D),(D,F,D),(D,E,D,F,D)、および(C,D,E,D,F,D,C)である。ローカリゼーション206はこれらの内部サイクルと境界サイクルにたいして帰納的に実行される。これらのサイクルは入れ子構造になっていることに注意したい。その後で内部辺がカバーされる。内部経路(J,M,G)が選ばれたと仮定しよう(この内部経路は直線状なので、側方物体の特徴抽出に有利である)。すると、この経路実行の最後で、タスク206が実行されて、その結果、頂点Mがローカライズされ、そのアンカーは0となる。最後に、残った内部辺(M,L)がカバーされてその辺記録が作られる。
対象が辺に沿ってロボットを導くタスク203:
このタスクのフローチャートが図10に示されている。
タスク2030:
ロボットは対象が前進し始めるまで待つ。
タスク2031:
図2に示されたように、ロボットは対象の動作をセンスして、2次元運動コマンドCを検出する。このタスク2031については以下に詳しく述べる。
タスク2032:
運動コマンドCを用いて、ロボットはその2自由度運動を図2に示されたように実行する。このタスク2032については以下に詳しく述べる。
タスク2033:
この辺を辿っている間に、ロボットは左右の側方物体の幾何学的特徴を抽出する。このタスク2033については以下に詳しく述べる。
タスク2034:
ロボットは次のタイマー割り込みを待ち、それが来るとこのタスクを離れる。
タスク2035:
対象がまだ動いている場合には、ロボットは前記の4タスクを再び繰り返すそうでなければ、タスク203を完了する。
運動コマンドの検出タスク2031:
対象が辺を辿っている間、ロボットはその対象を追跡している。対象を追跡するためには、ロボットは対象の行動をセンサシステムによって検出する。このタスク2031は、標準インターフェイスとして、図2に示されるように、サンプリング時間毎に、2次元運動コマンドC=(c,cω)を出力する。典型的な4つのセンシング方法についてここで述べるタスク20310:対象位置検出法、タスク20311:力・トルク検出法、タスク20312:力検出法、および、タスク20313、ジョイスティック法である。
スク20310:対象位置検出法
本法においては、移動ロボットは対象の位置を検出する。これは非接触検出法である。図11A、図11B、図11Cに示されるように、対象10がロボット1の前面に立っているとする。いずれの方法においても、センサシステムは、ロボット座標系4における対象の位置(x,y)を検出する。
図11Aにおいては、複数個の超音波側距器20が移動ロボット1の前面の周囲に取り付けられている。このセンサシステムが、測距データを解析することにより、対象の位置を検出する。図11Bにおいては、レーザ測距器21がロボット1の前面に取り付けられており、対象の位置を検出する。
図11Cにおいては、対象の位置は複数個のセンサの協調によって検出される,SおよびSは超音波送受システム22である。SとSはロボットの左前方と右前方の角にそれぞれ装着されており、第3のシステムSは対象10が持っている。対象の位置(x,y)は次の3ステップによって求められる
(1)SとSは時刻Tに同時に超音波を送信する。
(2)SがSまたはSから最初の超音波を受信したときに、Sはただちに超音波を送信し返す。
(3)Sはその返信の受信時刻Tを記録する。Sはその返信の受信時刻Tを記録する。ロボット1はロボット座標系でのオンボードセンサシステムの位置と超音波の速度を知っている。従って、三角測量法をもちいると、ロボットはその位置(x,y)を計算できる。
上の3方法のいずれを用いても、位置ロボット座標系における対象の位置(x,y)が求まる。この直角座標はつぎの標準的な変換法により、極座標(d,ρ)に変換できる
Figure 2010507169
ここで、dはロボット座標系の原点4から対象までの距離であり、ρはロボット座標系4内での、対象への方向ある。この極座標はさらに2次元運動コマンドCに変換される
Figure 2010507169
ここでDは「中立距離」であり、gおよびgは定数の変換係数である。ロボットが追跡しているとき、もし対象が停止すると、ロボットはこの中立距離Dを保って、いずれ停止する(タスク2032がこの停止機能を、そのタスクの一部として実行する)。かくして、これらのセンサが、対象が前面にいる情況で使われるかぎり、2次元運動コマンドCが検出される。
タスク20310の続き:
人間がロボットを導くのに、ロボット前方以外に立ちたい場合がある。つぎの2例においては、人間は自分をロボット1の左側に立っている(右側の場合も同様のアルゴリズムで扱える)。レーザ・レンジ・ファインダー21は、図12Aに示すように、対象の「実際の位置」(x,y)11を検出する。図12Bにおいて、S,SおよびSは、それぞれ図11Cで紹介された超音波送受システム22である。SおよびSはロボット1の左前方と左後方にそれぞれ装着されており、三番目のシステムSは対象10が持っている。図11Cに示された超音波システムに採用されたものと同様な方法によって、対象の実際の位置(x,y)11が得られる。
この、対象が左側にいる場合においては、もし対象の実際の位置(x,y)が(X,Y)に等しければ、ロボットが動かない、つまりM=(v,ω)=(0,0)となるような(X,Y)が存在する。この位置を「中立位置」と呼ぶ(この場合にはY>0である)。これらの定数を用いて、対象の実際の位置(x,y)を対象の「仮想位置」(x,y)に変換する
Figure 2010507169
この値(x,y)にたいして、式(13)、(14)を再び適用して、2自由度の運動コマンドCを次のタスク2032のために求めることができる。
スク20311力・トルク検出
本法においては、人間は力・トルク・センサを通して移動ロボットに接触し、そのセンサは対象がロボットに加えた力とトルクを検出する。その人間はロボットに力とトルクを加えるけれども、人間が力任せにロボットを引いたり、押したり、回転するという意味ではない。ロボットは微小な力とトルクを情報として検出し、その情報が運動制御アルゴリズムに伝えられて重い本体を動かすことになる。
力がロボット本体の方向に加えられれば、ロボットの平行移動速度vを増大させるように働く。それとは反対方向に加えられれば、ロボットを後退させるように働く。水平面内の、垂直軸まわりの反時計回りのトルクは、ロボット1を左に回すように働く。時計回りのトルクは右に回すように働く。
このコンセプトを実現するために、“センサユニット”を導入する。図13Aに図示されたように、センサユニット30は3つの部分が直列に左から右に組み立てられた装置である(a)移動ロボットに装着された左端の部分31、(b)力・トルクセンサ32および(c)人間が保持するグリッパ33である。部品(b)32は2変数を出力する(1)このセンサユニットに加えられた力とロボット本体の方向3の向きをもつユニットベクターとの内積fおよび(2)垂直軸まわりのトルク成分qである。フルの6軸の力・トルク・センサを使用しても良いが、これらの2成分だけが、運動コマンドを得る目的には必要十分である。これらのセンサユニットにおいて、図には明示されていないが、力fの方向はロボットの本体方向3と等しくなければならない。
図14Aはセンサユニット30がロボット1の先端の取り付けられた実施例を表している。人間はグリッパ33を保持して、ロボット1を誘導する。図14Bは、センサユニットをロボットの左側に装着し、対象とロボットのチームが横並びで歩くもう一つの実施例である。
もう一つの形式のセンサユニット34を図13Bに示す。前例違うのはセンサユニットの(a)の部分だけである。この部分がグリッパ35になっており、腕を有するロボットがこれを保持する。両者がグリッパを掴むことによって、人間がその意図を力とトルクによって伝えることができる。
図13Cに示す3番目のセンサユニット36は、(a)部分のグリッパ37が2個あることが異なっており、ロボットは二本の腕でこれを保持する。人間はロボットの前に立ち、グリッパ33を保持し、ロボットを誘導する。
どのセンサユニットにおいても、力とトルクの組(f,q)が得られるこの組は次式によって2次元運動コマンドに変換される
Figure 2010507169
ここで、gおよびgは正の変換定数である。この2次元運動コマンドCがタスク2031の出力となる。
スク20312力検出
図15に示されるように、ロボット1上に力センサ41が装着されており、その位置はロボット座標系4において(a,0)(a>0)とする。弾性のある紐40の一端が、この力センサ41に結び付けられており、他端は人間が保持し、引っ張ることにより、ロボットを誘導する。つまり、人間の意図はこの紐40を通して伝えられる。ロボットが前進して欲しければ、人間はこの紐を引く止まって欲しければ、引く。ロボットが左か右に回転してほしければ、紐をその方向に引く。
ロボットに加えられた力の水平成分42は、力センサ41によって2つの直角成分に分解されるロボット座標系4におけるX方向成分f43とY方向成分f44である。この2つの力成分が次式によって、2次元運動コマンドに変換される
Figure 2010507169
ここで、gとgは正の変換定数である。この2次元運動コマンドCがタスク2031の出力となる。
スク20313ジョイスティック
人間が、ロボットと結合されてはいないジョイスティックを通して、移動ロボットと通信する。ジョイスティックの変位出力のX成分xとY成分yがロボットに通信路を通して伝達され、次式によって2次元運動コマンドに変換される
Figure 2010507169
ここで、gとgは正の変換定数である。かくして、タスク20313は2次元運動コマンドを次のタス2032へ送る。
タスク2032:運動コマンドの実行
このタスクの目的は、図2に示されたタスク2031の出力である、標準化された2次元運動コマンドC=(c,cω)が与えられたときに、その運動を実現することである。このタスク2032は2つのサブタスクから成っているタスク20320はcを用いて平行移動速度vを制御するタスクであり、タスク20321はcωを用いて回転速度ωを制御するタスクである
スク20320平行移動速度制
平行移動速度vのための、典型的なフィードバック制御アルゴリズムは次のとおりである
Figure 2010507169
Figure 2010507169
ここで、αは加速度、dtはサンプリング時間間隔、A,A,Aは正のフィードバックゲインである。記号「=」はこの2式については代入を意味する。すなわち、平行移動速度は2回の積分で得られる。この積分計算によって、ロボットの平行移動速度制御は極めて滑らかなものとなる。
この規則によって、c>0(位置検出法ではd>D、力検出法ではf>0)ならば、ロボットはいずれ前進する。この状態では、人間はロボットを「pull」すると言われる。一方、c<0ならば、ロボットはいずれ後退する。この状態では、人間はロボットを“push”する、と言われる。
人間がロボットを「pull」しているときに、停止すると、ロボットは減速し、いずれ停止する。しかし、センサの出力には揺らぎがあり、また制御には遅れがあるので、ロボットの停止動作はきれいにはいかない。その上、式(19)と(20)で表される入力cの速度vに対する効果は正負の方向に対して対称的であるから、真に停止する前に、ロボットは振動気味に振舞う。
しかし、この対称的な速度制御の振る舞いが望ましくない場合がある。本発明が必要としている、人間がグラフの辺に沿ってロボットを誘導するタスクは、その場合の一つである。ロボットが後退することは不要であり、益がない。人間がやりたいのは、ロボットを「pull」するか、停止させることである。この要請を実現するための簡単な方法は、式(20)を次で置き換えることである
Figure 2010507169
これにより、ロボットは決して後退しない。この規則の下では、cが負になると、ロボットはいずれ停止し、そこで安定する。
同様にして、決して前進しないような動作が望ましい場合がある。この要請を実現する簡単な方法は式(20)を次式で置き換えることである。
Figure 2010507169
これで、タスク20320の説明を終える。
スク20321回転速度制
ωを用いた、回転速度ωのための典型的なフィードバック制御アルゴリズムは次のとおりである
Figure 2010507169
Figure 2010507169


ここで、ξはωの時間微分(回転加速度)、dtはサンプリング時間間隔、そしてB、B、Bは正のフィードバックゲインである。最後2式においては、記号(=)は代入の操作を意味する。ωを得るためのこの2回の積分によって、回転速度の制御は極めて滑らかになる。もし、cω>0であれば(位置検出法においてロボットが対象を左側に検出したか、トルク検出法において時計周りのトルクを検出したとき)、回転速度ωジはいずれ正となり、ロボットは左回転し始めるもしcω<0であれば、回転速度ωはいずれ負となり、ロボットは右回転をし始める。いずれの場合でも、ロボット本体の方向は対象の方向と等しくなる。
これで、タスク20321の説明を終わり、かつ、2自由度運動制御アルゴリズム2032の説明も終わる。
タスク2033:辺に沿った側方の物体の特徴の抽出
グラフの辺に沿って対象を追跡している間、ロボットは、その側方センサを用いて左右にある物体の幾何学的特徴を抽出することができる。辺のトラバースを終えたとき、この幾何学的情報を、生成する辺記録に蓄える。側方にある典型的な物体は壁とか家具である。
典型的な側方物体特徴抽出法はソナーと最小二乗当て嵌めアルゴリズムを使うものである。図16において、ロボット1に、水平面内、左方に向いたソナー20が、距離dを返している。ソナーの反射を生成したと思われる物体上の2次元の点、ターゲット、の推定値をつぎのようにして求めることができる。Fをロボット座標系4とし、S20をロボット座標系4におけるソナー座標系とする。座標変換G=((d,0),0)はSと「ターゲット座標系」T23の間の関係を表す。3つの座標系(座標変換)、F,SおよびGを合成することによって、ターゲット座標系23を次のように求めることができる
Figure 2010507169
ここで、記号(#)は2次元座標変換の合成を意味する。この座標系Tから位置を抜き出すことによって、「ターゲット位置」Tが得られる。
ロボットが動くとソナーは周囲の物体表面を走査することになり、ターゲット位置(T)の系列が得られる。この点列に対して、最小二乗当て嵌めアルゴリズムを適用することにより、線分を得ることができる。この抽象的かつ簡潔なデータは辺記録にぴったりと収まり、後に、ロボットを運行し、位置と方角の補正をするのに使える。
人間が誘導した運動の記録
運動再生のために、あるいは他の目的のために、対象によって生成された運動を「運動ファイル」として出力することができる。これは「運動記録」の系列である。第n番目の運動記録は(a)平行移動速度vおよび(b)回転速度ωを含む。ここで、nの変域が[0,N−1]であると仮定する。ここで、Nは正整数である。運動ファイルはハードウェアとは独立であることに注意して欲しいある移動ロボットの上で生成された運動ファイルを使って、異なるハードウェアを持つ、他のロボットの上で、その運動を再生することができる。
人間が誘導した運動の再生
運動ファイルがあれば、元の2自由度の運動を、ファイル内の平行移動速度vと回転速度ωを使って、正方向あるいは逆方向に再生することができる
(0)正方向の運動再生:この再生セッションにおいては、運動M=(v,ω)をn=0からN−1まで実行する。再生された平行運動の向きは記録されたときの平行移動の向きと等しい。
(1)逆方向の運動再生:
この再生セッションにおいては、運動M=(−v,−ω)をn=N−1から0まで実行する。再生された並行運動の向きは、記録されたときの平行移動の向きとは逆になる。
2自由度運動M=(v,ω)の実現方法を、速度差制御方式の車輪アーキテクチャを用いた移動ロボットを例に用いて、図17に例示した。この移動ロボットは左駆動輪60と右駆動輪61を有する(キャスターは本図中には示されていない)。その左車輪速度vと右車輪速度vはM=(v,ω)から次のように計算できる
Figure 2010507169
Figure 2010507169
ここで、Dは車輪間隔の半分の距離である。これらの車輪速度が実現できれば、元の2次元運動M=(v,ω)が再生される。
この発明の効果は次の通りである:
(1)作業領域の形状がどんなに複雑であっても、人間がグラフを使ってその領域を難なく表現することができる。これはロボットには難しい。
(2)人間がグラフ中のすべての辺と頂点をトラバースして、グラフ構造をロボットに実地で教えるので、ロボットがその構造を誤認する可能性がない。
(3)その際に、ロボットが領域の幾何学的特徴をセンサで抽出するので、最高度の精度を持つ地図が生成できる。
(4)ロボットにとって難しいことをすべて人間がやり、ロボットにとって容易に実行できることだけロボットに任せる。
(5)作業領域の要所々々の地点(すなわち、各頂点)の名前を人間がつけて、ロボットに教え、後に人間・ロボット間で知的で能率の良い会話をするのに使える。
(6)作成された地図はグラフ構造を取っているので、作業領域内での最適経路計画問題をダイクストラのアルゴリズムを用いて、極めて能率よく解くことができる。さらに、その解を使ってロボットを運行することができる。
(7)地図に作業領域の幾何学的特徴が記録されているので、その特徴を用いて、ロボット運行時に、ロボット自身の位置と方向の誤差を実時間で修正することができる。
(8)一度完成した地図の上に、さらに頂点と辺を付加することができる。この操作は何回でもできる。
(9)地図作成時と運行時に用いるロボットは同じものであっても、違うものであってもよい。地図はロボットのハードウェアにたいして、ほぼ独立である。ただし、両セッションで同じものを使うと、ローカリゼーションの結果がより良い。
(10)地図のデータ量が小さいので、それをセーブし、取り扱うのが容易である。
(11)グラフを利用した地図のデータ構造はロボット工学におけるスタンダードとなる。
(12)同じ環境下において、作業領域が異なる2つの作業をロボットにさせたいことがある。その場合、別の名前をつけた2つの異なる地図を作ることが可能である。ロボットは作業毎に、対応した地図を効果的に使うことができる。
(13)このロボットによる地図作成方法は、一般のロボットユーザにとっても容易に実行可能なので、ロボットを販売した後で、ロボット開発者が、ユーザのために地図を作成してまわる必要がない。
(14)必要とあらば、毎日新しい地図をロボットのために作成するこさえもできる。
(15)この地図生成法は、車輪型ロボットにも、人間型ロボットにも適用できる。
(16)わずか2個の変数を出力するセンサを使うと、人間がロボットと交わって、2自由度の運動をさせることができる。この機能は、車輪型ロボット、人間型ロボット、いずれにも適用できる。
(17)床や環境に、空間理解を助けるためのマークなどを貼る必要が無い。
(18)地図を一回作るための費用は殆ど無視できる。
(19)一度作った地図を保存しておいて、後に、いつでも使うことができる。
移動ロボットが平行移動速度v、平行移動方向μ、および回転速度ωの3自由度を持つことを示す平面図である。 対象のアクションを検出して2自由度の運動コマンドC=(c,cω)を得るタスク2031と、そのコマンドに基づいて2自由度の運動(v,ω)を実行するタスク2032を示す概念図である。 より大きな作業領域から切り出した小さな掃除領域Aを例示する図である。 図3の作業領域Aを表現するグラフGを示す。 移動ロボットのための作業領域例2つを示す。Aは全領域であり、小さな領域A2は点線で区切られた、半分の領域である。 図5に示された作業領域Aを代表するグラフGを示す。 図5に示された作業領域Aを代表するグラフGを示す。 ロボットによる地図作成アルゴリズム200の流れ図である。 内部サイクルH41を有するサイクルH40を含むグラフを示す。 人間がロボットを辺に沿って誘導するアルゴリズム203の流れ図である。 対象の位置(x,y)を検出するための、複数個のソナーからなるシステムが前面に装着された移動ロボットの平面図である。 対象の位置(x,y)を検出するための、レーザ・レンジ・ファインダが前面に装着された移動ロボットの平面図である。 対象の位置(x,y)を検出するための、センサシステムSおよびSを装着した移動ロボットの平面図である。対象は第3のセンサシステムSを保持している。 対象の位置(x,y)を検出するための、レーザ・レンジ・ファインダ21が左側面に装着された移動ロボットの平面図である。 対象の位置(x,y)を検出するための、センサシステムSおよびSが左側面に装着された移動ロボットの平面図である。 力・トルク・センサユニットの構成図である。 別の形式の力・トルク・センサユニットの構成図である。 更に別の形式の力―トルク・センサユニットの構成図である。 力・トルク・センサユニットを前面に装着したロボットの平面図である。 力・トルク・センサユニットを左側面に装着したロボットの平面図である。 力センサを装着したロボットと、それを紐で制御している対象の位置関係を表す平面図である。 側方ターゲットを検出するソナーが装着された移動ロボットの平面図である。 速度差制御形式の移動ロボットの平面図である。
発明を実施する最良の形態は、図11Aに示した、ソナーを前面に配置した2自由度の車輪型ロボット上に実施したものである。このように配置すると、対象を追跡するためと、側方の物体の幾何学的特徴を抽出するためと、両方の目的のために、これら7個のソナーが効果的に働く。この種のプロトタイプロボット上で本発明のアルゴリズムを実施した結果、次の結果が得られた(1)ソナーは安価である、(2)ソナーデータの帯域幅はかなり狭いが、それでも、動いているロボットが、これも動いている対象の位置をソナーは動的に認識することができた、(3)対象とロボットからなるチームが作業領域の精確な地図を作成することができた、(4)この教示による地図作成が、7歳の子供にも可能であった。
上記の、最良の形態において、ソナーの代わりに、レーザー・レンジ・ファインダーを用いたロボットにたいして、本発明を実施することができる。
上記2つの実施例において、車輪型でなく、人間型のロボットにたいして、本発明を適用することができる。
自動車の運動制御に請求項1に定義した発明を応用すれば、通常とは全く違った方法で車を動かすことができる。自動車の前端に2軸の力センサ(図15)を付け、人がその車に乗らずに、その車の前に立ち、その力センサに軽く触れることによって、その運動を制御することができる。X方向(自動車本体の進行方向)の力成分で、車のvを制御し、Y方向の力成分で、ωを制御する。そうすると(1)車の傍に立った人が、車を平行駐車させることができ、(2)同じく、車の外に立ったひとが、非常に狭い車庫に車を納めることができる。その
人にとっては、広い視野が得られるので、正確な制御ができるし、その制御方法は直感的で、誰にも理解しやすい。また、(3)そうやって人間が動かした車の運動を、後に請求項7に定義した発明によって、再生し、引き戻すことができる。
本発明は、個別の移動ロボットに、その作業領域を理解させる知能を授ける。従って、本発明は様々な移動ロボット製品に適用できる。例えば(1)エンターテインメント・ロボット、(2)教育ロボット、(3)研究用の移動ロボットプラットフォーム、(4)真空掃除ロボット、床清掃ロボット、警備ロボット、知的車椅子、ほかのサービス・ロボット、(5)知的ショッピング・カートと知的ゴルフカート、(6)搬送ロボットと物体操作ロボットなどに適用できる。
1 移動ロボット
2 世界座標系
3 ロボット本体の方向
4 ロボット座標系
5 ロボットのX座標
6 ロボットのY座標
7 ロボットの平行移動速度
8 ロボットの平行移動方向
9 ロボットの回転速度
10 ロボットの前方に位置する人間
11 ロボットの側方に位置する人間
20 ソナー
21 レーザ・レンジ・ファインダ
22 センサシステム
23 ソナーが捕らえたターゲット
30 力・トルク・センサユニットの一例
31 力・トルク・センサユニットの一端
32 力・トルク・センサ
33 力・トルク・センサユニットの一端にある握り部分
34 力・トルク・センサユニットの一例
35 力・トルク・センサユニットの他端にある握り部分
36 力・トルク・センサユニットの一例
37 力・トルク・センサユニットの他端にある2個の握り部分
40 弾性のある紐
41 2軸力センサ
42 紐の張力
43 力のX成分
44 力のY成分
60 左動輪
61 右動輪
110 掃除領域A
111 グラフG
120 作業領域A
121 グラフG
122 サイクル(A,B,C,D,G,A)
123 サイクル(G,D,E,F,G)
124 内部辺(D,G)
130 作業領域A
131 グラフG
132 サイクル(A,B,C,G,M,L,A)
133 サイクル(G,H,I,J,M,G)
134 サイクル(J,K,L,M,J)
140 サイクル
141 内部サイクル
142 内部サイクルの基点
200 ロボットによる地図生成アルゴリズム
201 作業領域Aを代表するグラフの、人間による定義ステップ
202 初期化ステップ
203 人間が辺に沿ってロボットを誘導し、頂点で停止するステップ
2030 対象が進み始めるのを待つステップ
2031 運動コマンドを検出するステップ
2032 運動コマンドを実行するステップ
2033 側方の物体の特徴を抽出するステップ
2034 次のサンプリング時刻を待つステップ
2035 対象が停止したかどうかを判断するステップ
204 この頂点が新しいものか、古いものかを人間が教えるステップ
205 人間が教えた名前を含む頂点記録をロボットが生成するステップ
206 ロボットと頂点をローカライズするステップ
207 辺が新しいものかどうかをロボットが判断するステップ
208 辺記録をロボットが生成するステップ
209 すべての辺をカバーしたかどうかを人間が教えるステップ
210 地図を出力するステップ

Claims (7)

  1. 人間の動作を検出したセンサから2変数の運動コマンドを得るステップと、ロボットの平行移動方向をロボット本体の方向に等しく保ちながらその運動コマンドに基づいて平行移動速度と回転速度を制御して運動を実行するステップからなる、ある作業領域内でロボットが人間を追跡する方法。
  2. 請求項1において、更に平行移動速度を非負に制限した方法。
  3. 請求項1において、更に平行移動速度を非正に制限した方法。
  4. ある作業領域が与えられたとき、その領域内に埋め込まれたグラフを人間が定義するステップと、ロボットが請求項2に記載された方法により人間を追跡しながらそのグラフ中の辺を辿るステップと、そのグラフ中の辺を辿っている間にロボットが両側にある物体の幾何学的特徴を抽出するステップと、辺を辿る動作が終わったときにそのグラフ中の頂点で停止するステップと、人間とロボットのチームが頂点で停止したときにその頂点の番号を人間がロボットに伝えるステップと、そのチームが停止した頂点が新しいときには、頂点番号とアンカーと人間が与えた名前と頂点位置とを含む頂点記録をロボットが生成するステップと、そのチームが停止した頂点が既に存在しているときには、ロボットがロボットと頂点の位置方角の誤差を修正するステップと、そのチームが新たな辺を辿り終えたときには、頂点番号対と辺長と両側の物体の幾何学的特徴とを含む辺記録をロボットが生成するステップと、以上のセッションの最後に、生成された頂点記録の集合と生成された辺記録の集合とを含む情報をこの作業領域の地図としてロボットが出力するステップとから成る、人間とロボットのチームが一つの作業領域の地図を作成する方法。
  5. 請求項1に記載された方法において、更に各運動制御サイクルにおいて平行移動速度と回転速度とを含む運動記録を生成するステップと、その人間追跡動作の最後に、生成された運動記録の集合を出力するステップとを加えた方法。
  6. 請求項5に記載された方法において、更にその運動記録の集合を用いてその人間追跡運動を再生するステップを加えた方法。
  7. 請求項5に記載された方法において、更にその運動記録の集合を用いて、その人間追跡運動を逆の向きに再生するステップを加えた方法。
JP2009533286A 2006-10-18 2006-10-18 移動ロボットによる地図作成方法 Expired - Fee Related JP5148619B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2006/040844 WO2008048260A1 (en) 2006-10-18 2006-10-18 Human-guided mapping method for mobile robot

Publications (2)

Publication Number Publication Date
JP2010507169A true JP2010507169A (ja) 2010-03-04
JP5148619B2 JP5148619B2 (ja) 2013-02-20

Family

ID=39314303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009533286A Expired - Fee Related JP5148619B2 (ja) 2006-10-18 2006-10-18 移動ロボットによる地図作成方法

Country Status (3)

Country Link
US (1) US8068935B2 (ja)
JP (1) JP5148619B2 (ja)
WO (1) WO2008048260A1 (ja)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531718A (ja) * 2012-08-17 2015-11-05 パースペクティヴ・ロボティクス・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 位置決め及び相互動作用紐集合体を備えたフライングカメラ
JP2017501472A (ja) * 2013-12-19 2017-01-12 アクチエボラゲット エレクトロルックス 周縁記録機能を備えるロボット掃除機
US9939529B2 (en) 2012-08-27 2018-04-10 Aktiebolaget Electrolux Robot positioning system
US9946263B2 (en) 2013-12-19 2018-04-17 Aktiebolaget Electrolux Prioritizing cleaning areas
US10045675B2 (en) 2013-12-19 2018-08-14 Aktiebolaget Electrolux Robotic vacuum cleaner with side brush moving in spiral pattern
US10149589B2 (en) 2013-12-19 2018-12-11 Aktiebolaget Electrolux Sensing climb of obstacle of a robotic cleaning device
US10209080B2 (en) 2013-12-19 2019-02-19 Aktiebolaget Electrolux Robotic cleaning device
US10219665B2 (en) 2013-04-15 2019-03-05 Aktiebolaget Electrolux Robotic vacuum cleaner with protruding sidebrush
US10231591B2 (en) 2013-12-20 2019-03-19 Aktiebolaget Electrolux Dust container
US10433697B2 (en) 2013-12-19 2019-10-08 Aktiebolaget Electrolux Adaptive speed control of rotating side brush
US10448794B2 (en) 2013-04-15 2019-10-22 Aktiebolaget Electrolux Robotic vacuum cleaner
US10499778B2 (en) 2014-09-08 2019-12-10 Aktiebolaget Electrolux Robotic vacuum cleaner
US10518416B2 (en) 2014-07-10 2019-12-31 Aktiebolaget Electrolux Method for detecting a measurement error in a robotic cleaning device
US10534367B2 (en) 2014-12-16 2020-01-14 Aktiebolaget Electrolux Experience-based roadmap for a robotic cleaning device
US10617271B2 (en) 2013-12-19 2020-04-14 Aktiebolaget Electrolux Robotic cleaning device and method for landmark recognition
US10678251B2 (en) 2014-12-16 2020-06-09 Aktiebolaget Electrolux Cleaning method for a robotic cleaning device
US10729297B2 (en) 2014-09-08 2020-08-04 Aktiebolaget Electrolux Robotic vacuum cleaner
US10874274B2 (en) 2015-09-03 2020-12-29 Aktiebolaget Electrolux System of robotic cleaning devices
US10874271B2 (en) 2014-12-12 2020-12-29 Aktiebolaget Electrolux Side brush and robotic cleaner
US10877484B2 (en) 2014-12-10 2020-12-29 Aktiebolaget Electrolux Using laser sensor for floor type detection
US11122953B2 (en) 2016-05-11 2021-09-21 Aktiebolaget Electrolux Robotic cleaning device
US11169533B2 (en) 2016-03-15 2021-11-09 Aktiebolaget Electrolux Robotic cleaning device and a method at the robotic cleaning device of performing cliff detection
WO2022130886A1 (ja) * 2020-12-17 2022-06-23 株式会社日立産機システム 移動体の位置検出装置及び位置検出方法
US11474533B2 (en) 2017-06-02 2022-10-18 Aktiebolaget Electrolux Method of detecting a difference in level of a surface in front of a robotic cleaning device
US11921517B2 (en) 2017-09-26 2024-03-05 Aktiebolaget Electrolux Controlling movement of a robotic cleaning device

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI388956B (zh) * 2009-05-20 2013-03-11 Univ Nat Taiwan Science Tech 行動機器人與其目標物處理路徑的規劃方法
US8706297B2 (en) 2009-06-18 2014-04-22 Michael Todd Letsky Method for establishing a desired area of confinement for an autonomous robot and autonomous robot implementing a control system for executing the same
JP5398489B2 (ja) * 2009-11-20 2014-01-29 村田機械株式会社 自律移動体とその制御方法
TW201305761A (zh) * 2011-07-21 2013-02-01 Ememe Robot Co Ltd 自走機器人及其定位方法
US20140303869A1 (en) * 2012-01-12 2014-10-09 Yutaka Kanayama Sensor-based vehicle control methods
JP6003942B2 (ja) * 2014-04-24 2016-10-05 トヨタ自動車株式会社 動作制限装置及び動作制限方法
CN107405034B (zh) 2015-04-17 2022-09-13 伊莱克斯公司 机器人清洁设备以及控制所述机器人清洁设备的方法
DE102015006014A1 (de) * 2015-05-13 2016-11-17 Universität Bielefeld Bodenbearbeitungsgerät und Verfahren zu dessen Navigation sowie Schwarm von Bodenbearbeitungsgeräten und Verfahren zu deren gemeinsamer Navigation
US10217231B2 (en) * 2016-05-31 2019-02-26 Microsoft Technology Licensing, Llc Systems and methods for utilizing anchor graphs in mixed reality environments
US20200125105A1 (en) * 2017-04-11 2020-04-23 Amicro Semiconductor Co., Ltd. Method for Creating Grid Map of Intelligent Robot
US20200182634A1 (en) * 2018-12-05 2020-06-11 Uxr Llc Providing path directions relating to a shopping cart
US10957066B2 (en) 2019-03-19 2021-03-23 General Electric Company Systems and methods for locating humans using dynamic field robotic-sensor network of human robot team

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146491A (ja) * 2004-11-18 2006-06-08 Matsushita Electric Ind Co Ltd 移動ロボットおよびその追従方法
JP2006185438A (ja) * 2004-12-03 2006-07-13 Matsushita Electric Ind Co Ltd ロボット制御装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3003287A1 (de) 1979-02-05 1980-08-14 Volvo Ab Selbststeuerndes fahrzeug
DE3240251A1 (de) * 1982-10-30 1984-05-03 Deutsche Forschungs- und Versuchsanstalt für Luft- und Raumfahrt e.V., 5000 Köln Verfahren zum programmieren von bewegungen und erforderlichenfalls von bearbeitungskraeften bzw. -momenten eines roboters oder manipulators und einrichtung zu dessen durchfuehrung
US4821192A (en) 1986-05-16 1989-04-11 Denning Mobile Robotics, Inc. Node map system and method for vehicle
JPH0324606A (ja) 1989-06-22 1991-02-01 Yutaka Kanayama 移動ロボットの経路指定方法
JP3241564B2 (ja) 1995-05-10 2001-12-25 富士通株式会社 通常車輪型全方向移動ロボットの運動制御のための制御装置および方法
US6009359A (en) 1996-09-18 1999-12-28 National Research Council Of Canada Mobile system for indoor 3-D mapping and creating virtual environments
US6134486A (en) 1998-04-20 2000-10-17 The United States Of America As Represented By The Secretary Of The Navy Robot and method of control for an autonomous vehicle to track a path consisting of directed straight lines and circles with positional feedback and continuous curvature
US6347261B1 (en) * 1999-08-04 2002-02-12 Yamaha Hatsudoki Kabushiki Kaisha User-machine interface system for enhanced interaction
US6314341B1 (en) * 1999-11-26 2001-11-06 Yutaka John Kanayama Method of recording trajectory data and sensor data for a manually-driven vehicle
US6285920B1 (en) * 2000-02-18 2001-09-04 Fanuc Robotics North America Method of robot teaching with motion constraints
JP3719585B2 (ja) * 2000-03-08 2005-11-24 独立行政法人理化学研究所 移動ロボットの移動制御方法
EP1327503B1 (en) * 2000-10-11 2017-12-06 Sony Corporation Robot control system and robot control method
TW499349B (en) * 2000-11-17 2002-08-21 Sony Corp Legged mobile robot, leg structure of legged mobile robot, and mobile leg unit for legged mobile robot
US6690134B1 (en) 2001-01-24 2004-02-10 Irobot Corporation Method and system for robot localization and confinement
US7145478B2 (en) * 2002-12-17 2006-12-05 Evolution Robotics, Inc. Systems and methods for controlling a density of visual landmarks in a visual simultaneous localization and mapping system
US7756322B2 (en) * 2003-08-18 2010-07-13 Honda Motor Co., Ltd. Picture taking mobile robot
GB2424723B (en) * 2003-11-13 2007-09-19 Japan Science & Tech Agency Method for driving robot
SE526119C2 (sv) * 2003-11-24 2005-07-05 Abb Research Ltd Metod och system för programmering av en industrirobot
JP4086024B2 (ja) * 2004-09-14 2008-05-14 ソニー株式会社 ロボット装置及びその行動制御方法
US20100222925A1 (en) * 2004-12-03 2010-09-02 Takashi Anezaki Robot control apparatus
KR100790860B1 (ko) * 2004-12-14 2008-01-03 삼성전자주식회사 사람 추적 장치 및 방법, 그 방법을 수행하기 위한프로그램이 저장된 기록매체와 그 장치를 포함하는 이동형전자기기
DE102005061211B4 (de) * 2004-12-22 2023-04-06 Abb Schweiz Ag Verfahren zum Erzeugen einer Mensch-Maschine-Benutzer-Oberfläche
US8019713B2 (en) * 2005-07-08 2011-09-13 Honda Motor Co., Ltd. Commonsense reasoning about task instructions
US20070233318A1 (en) * 2006-03-29 2007-10-04 Tianmo Lei Follow Robot

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146491A (ja) * 2004-11-18 2006-06-08 Matsushita Electric Ind Co Ltd 移動ロボットおよびその追従方法
JP2006185438A (ja) * 2004-12-03 2006-07-13 Matsushita Electric Ind Co Ltd ロボット制御装置

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531718A (ja) * 2012-08-17 2015-11-05 パースペクティヴ・ロボティクス・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 位置決め及び相互動作用紐集合体を備えたフライングカメラ
US9939529B2 (en) 2012-08-27 2018-04-10 Aktiebolaget Electrolux Robot positioning system
US10219665B2 (en) 2013-04-15 2019-03-05 Aktiebolaget Electrolux Robotic vacuum cleaner with protruding sidebrush
US10448794B2 (en) 2013-04-15 2019-10-22 Aktiebolaget Electrolux Robotic vacuum cleaner
US9946263B2 (en) 2013-12-19 2018-04-17 Aktiebolaget Electrolux Prioritizing cleaning areas
JP2017501472A (ja) * 2013-12-19 2017-01-12 アクチエボラゲット エレクトロルックス 周縁記録機能を備えるロボット掃除機
US10149589B2 (en) 2013-12-19 2018-12-11 Aktiebolaget Electrolux Sensing climb of obstacle of a robotic cleaning device
US10209080B2 (en) 2013-12-19 2019-02-19 Aktiebolaget Electrolux Robotic cleaning device
US10617271B2 (en) 2013-12-19 2020-04-14 Aktiebolaget Electrolux Robotic cleaning device and method for landmark recognition
US10045675B2 (en) 2013-12-19 2018-08-14 Aktiebolaget Electrolux Robotic vacuum cleaner with side brush moving in spiral pattern
US10433697B2 (en) 2013-12-19 2019-10-08 Aktiebolaget Electrolux Adaptive speed control of rotating side brush
US9811089B2 (en) 2013-12-19 2017-11-07 Aktiebolaget Electrolux Robotic cleaning device with perimeter recording function
US10231591B2 (en) 2013-12-20 2019-03-19 Aktiebolaget Electrolux Dust container
US10518416B2 (en) 2014-07-10 2019-12-31 Aktiebolaget Electrolux Method for detecting a measurement error in a robotic cleaning device
US10499778B2 (en) 2014-09-08 2019-12-10 Aktiebolaget Electrolux Robotic vacuum cleaner
US10729297B2 (en) 2014-09-08 2020-08-04 Aktiebolaget Electrolux Robotic vacuum cleaner
US10877484B2 (en) 2014-12-10 2020-12-29 Aktiebolaget Electrolux Using laser sensor for floor type detection
US10874271B2 (en) 2014-12-12 2020-12-29 Aktiebolaget Electrolux Side brush and robotic cleaner
US10534367B2 (en) 2014-12-16 2020-01-14 Aktiebolaget Electrolux Experience-based roadmap for a robotic cleaning device
US10678251B2 (en) 2014-12-16 2020-06-09 Aktiebolaget Electrolux Cleaning method for a robotic cleaning device
US10874274B2 (en) 2015-09-03 2020-12-29 Aktiebolaget Electrolux System of robotic cleaning devices
US11712142B2 (en) 2015-09-03 2023-08-01 Aktiebolaget Electrolux System of robotic cleaning devices
US11169533B2 (en) 2016-03-15 2021-11-09 Aktiebolaget Electrolux Robotic cleaning device and a method at the robotic cleaning device of performing cliff detection
US11122953B2 (en) 2016-05-11 2021-09-21 Aktiebolaget Electrolux Robotic cleaning device
US11474533B2 (en) 2017-06-02 2022-10-18 Aktiebolaget Electrolux Method of detecting a difference in level of a surface in front of a robotic cleaning device
US11921517B2 (en) 2017-09-26 2024-03-05 Aktiebolaget Electrolux Controlling movement of a robotic cleaning device
WO2022130886A1 (ja) * 2020-12-17 2022-06-23 株式会社日立産機システム 移動体の位置検出装置及び位置検出方法
JP2022096155A (ja) * 2020-12-17 2022-06-29 株式会社日立産機システム 移動体の位置検出装置及び位置検出方法
JP7336430B2 (ja) 2020-12-17 2023-08-31 株式会社日立産機システム 移動体の位置検出装置及び位置検出方法

Also Published As

Publication number Publication date
WO2008048260A1 (en) 2008-04-24
JP5148619B2 (ja) 2013-02-20
US20090198375A1 (en) 2009-08-06
US8068935B2 (en) 2011-11-29

Similar Documents

Publication Publication Date Title
JP5148619B2 (ja) 移動ロボットによる地図作成方法
Patel et al. Sensor modality fusion with CNNs for UGV autonomous driving in indoor environments
Lingemann et al. High-speed laser localization for mobile robots
JP5410795B2 (ja) ロボット及びその地図作成方法
WO2010026710A1 (ja) 経路計画方法、経路計画装置、及び自律移動装置
Hanebeck et al. Roman: A mobile robotic assistant for indoor service applications
JP2003241836A (ja) 自走移動体の制御方法および装置
JPH09145392A (ja) 自律形移動ユニットのスリップを求める方法および走行経路計画方法
Do Quang et al. An approach to design navigation system for omnidirectional mobile robot based on ROS
Ceballos et al. Quantitative performance metrics for mobile robots navigation
Meng et al. Research on SLAM navigation of wheeled mobile robot based on ROS
CN114460939A (zh) 复杂环境下智能行走机器人自主导航改进方法
Pang et al. A Low-Cost 3D SLAM System Integration of Autonomous Exploration Based on Fast-ICP Enhanced LiDAR-Inertial Odometry
Básaca-Preciado et al. Intelligent transportation scheme for autonomous vehicle in smart campus
Ryu et al. Humanoid path planning from hri perspective: A scalable approach via waypoints with a time index
Al Arabi et al. 2D mapping and vertex finding method for path planning in autonomous obstacle avoidance robotic system
US20050223176A1 (en) Sensory ego-sphere: a mediating interface between sensors and cognition
Achmad et al. A ROS-based human-robot interaction for indoor exploration and mapping
Hu et al. Hybrid kinematic and dynamic simulation of running machines
Aamer et al. A Novel Algorithm for Autonomous Robot Navigation System Using Neural Network
Medina et al. Localization and mapping approximation for autonomous ground platforms, implementing SLAM algorithms
Makhal et al. Path planning through maze routing for a mobile robot with nonholonomic constraints
Sheu et al. Design and implementation of a navigation system for autonomous mobile robots
Čelan et al. Ultra wideband assisted localization of semi-autonomous floor scrubber
Meng et al. System integration: Application towards autonomous navigation in cluttered environments

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110414

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110714

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110722

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110815

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120330

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120629

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120706

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120727

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120803

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120829

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120928

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: 20121030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121128

R150 Certificate of patent or registration of utility model

Ref document number: 5148619

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees