JP2004362022A - 移動体 - Google Patents

移動体 Download PDF

Info

Publication number
JP2004362022A
JP2004362022A JP2003156324A JP2003156324A JP2004362022A JP 2004362022 A JP2004362022 A JP 2004362022A JP 2003156324 A JP2003156324 A JP 2003156324A JP 2003156324 A JP2003156324 A JP 2003156324A JP 2004362022 A JP2004362022 A JP 2004362022A
Authority
JP
Japan
Prior art keywords
time
robot
speed
moving
teaching point
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.)
Pending
Application number
JP2003156324A
Other languages
English (en)
Inventor
Hiroyuki Nishizawa
博之 西澤
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2003156324A priority Critical patent/JP2004362022A/ja
Publication of JP2004362022A publication Critical patent/JP2004362022A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】複数によって隊列を組んで移動するときに隊列を保ちながら移動でき、さらに移動中の速度変更が隊列を乱すことなく可能な移動体を提供すること。
【解決手段】移動体は、時刻とその時刻における移動体の位置を経時的に指定している軌道データが教示され、それを記憶する。移動体は軌道データが指定する時刻に軌道データが指定する位置にあるように移動する。速度変更指令を認識すると、記憶している軌道データの時刻データを修正し、修正された時刻にその教示点へいるように移動体は移動する。速度変更がなされても各移動体はそれぞれが指定された位置へ同一の時刻に移動するので、隊列が乱れることがない。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】本発明は、移動体の移動速度を制御する技術に関する。特に、複数の移動体が予め定められた位置関係を保ちながら移動速度を変化させるのに適した技術に関する。例えば、複数の無人搬送車群によって長尺物を搬送しながら搬送速度を変化させたり、隊列を組んで行進するロボット群が隊列を乱さないで行進速度を変化させさせたりするのに適した技術に関する。
【0002】
【従来の技術】ヒトが隊列を組んで行進するように、複数の移動体が予め定められた位置関係を保ちながら移動するためには、移動体の移動コースを指定するだけでは足らず、存在位置と存在時刻を対応付けた情報を必要とする。例えば、2台の移動体を横一列に並べたまま移動させるためには、移動コースを指定するだけで足りず、移動速度等を指定する必要がある。直線を移動する間は2台の移動体が同じ速度で移動し、コーナーを曲がる間は、外側の移動体が内側の移動体よりも速く移動するように教示しておかないと、横一列に並んだ状態を維持することができない。
本明細書では、移動コースのみが指定され、移動速度ないしは存在時刻に関するデータを有しないものを軌跡データという。これに対して、移動コースのみならず、移動速度ないしは存在時刻に関するデータを有するものを軌道データという。複数の移動体が予め定められた位置関係を保ちながら移動するためには、軌跡データを教示しておくだけでは足りず、軌道データを教示する必要がある。
【0003】
軌跡データは、移動コース状にある教示点位置を次々に指定することで記述することができる。この教示点位置に対応付けて移動速度を指定すると、軌道データが記述される。2台の移動体を横一列に並べたまま移動させるためには、直線上に存在する教示点に対しては同一移動速度を指定し、コーナー上に存在する教示点に対しては、コーナーの半径に比例する移動速度を指定することによって、横一列に並んだ状態を維持することが可能となる。
【0004】
複数の移動体が予め定められた位置関係を保ちながら移動している途中で、移動体群の速度を増速させたり減速させたりする必要が生じることがある。この場合、軌道データを修正し、増速ないし減速した軌道を記述する軌道データに修正する必要がある。
【0005】
【発明が解決しようとする課題】教示点位置に対応付けて移動速度を指定することで軌道データを記述することができるが、複数の移動体の位置関係を考慮しながら移動速度を含む軌道データを用意するのは困難である。
2台の移動体を横一列に並ベて移動させるには、円弧に沿って曲がる教示点群を記述するときに、教示点群で構成される円弧の半径を計算し、教示点に対応付けて記憶される移動速度のデータを計算しなければならず、煩雑である。
また、教示点位置に対応付けて移動速度を指定する形式の軌道データでは、複数の移動体の位置関係が一旦乱れると、それを修正することができない。どちらか一方の移動体が遅れると遅れたままに移動しつづけることになり、遅れを取り戻すことができない。
複数の移動体が予め定められた位置関係を保ちながら移動している途中で、増速ないし減速した軌道データに修正する場合、増減速に際して移動速度にずれが生じやすく、どちらか一方の移動体が遅れるようなことが頻発する。教示点位置に対応付けて移動速度を指定して軌道データを記述する形式では、実際上、複数の移動体を予め定められた位置関係を保ちながら移動させることができない。特に、移動途中で増速ないし減速した軌道データに修正する場合には、移動体の位置関係が乱れやすく、乱れた位置関係を矯正することができないために、予め定められた位置関係を保ちながら移動させることができなくなる。本発明は、上述の問題を鑑みてなされたものである。
【0006】
本発明の一つの目的は、移動体の移動を制御する軌道データが簡単に用意できるようにすることである。
本発明の他の目的は、移動体群の相対位置関係に乱れが生じても、予め定められている相対位置関係に矯正できるようにすることである。移動している途中で増速ないし減速すると、移動体群の相対位置関係に乱れが生じやすい。相対位置関係の乱れを矯正できなければ、相対位置関係を維持しながら移動途中で増速ないし減速することが困難となる。本発明では、予め定められている相対位置関係に矯正することができる技術を提供し、もって、相対位置関係を維持しながら移動途中で増速ないし減速することを可能とする。
【0007】
【課題を解決するための手段と作用と効果】本発明の移動体は、時刻と教示点位置を対応付けたデータを時間間隔をおいて経時的に記憶している軌道データ記憶手段と、外部から与えられる速度変更指令を認識する手段と、移動体が出発教示点から到着教示点に向けて移動している間に速度変更指令を認識したときに、軌道データ記憶手段に到着教示点に対応付けて記憶されている時刻を修正する時刻修正手段と、軌道データが指定する時刻に軌道データが指定する教示点に位置しているように移動体の移動速度を制御する制御手段を備えている。
軌道データ記憶手段は、移動体に内蔵されていてもよいが、移動体外に置かれていて移動体に軌道データを送信するものであってもよい。速度変更指令認識手段も同様であり、移動体に内蔵されていてもよいし、認識した速度変更指令を移動体に送信するものであってもよい。
軌道データは、時刻と教示点位置を対応付けたデータで構成されている。時間間隔をおいて、時刻と教示点位置を対応付けたデータが複数対用意されている。時刻は、通常、移動体の移動開始時刻からの経過時間で記述される。教示点位置は任意の座標系で記述することができるが、2次元平面内で移動する場合には、直交座標系で記述することが多い。時間間隔は一定でもよいし不規則でもよい。典型的には時間間隔が一定とされ、例えば、移動開始時刻から1分後の移動体の位置、2分後の位置、3分後の位置・・の集合で、軌道データが記述される。直線的に長時間移動する場合には、時間間隔を長くしてもよい。
時刻に対応付けられる位置のことを教示点という。先の場合、1分後の教示点位置、2分後の教示点位置、3分後の教示点位置・・の集合で、軌道データが記述される。
移動体は教示点を辿って移動する。教示点の間は、直線補完されたり、曲線補完されたりする。教示点の間を移動している状態は、出発教示点から到着教示点に向けて移動しているということができる。
【0008】
教示点に対応付けて移動速度を指定する形式によって軌道データを用意する場合には、予め定められている位置関係に実現することができる移動速度を計算しなければならないために煩雑であるのに対し、教示点に対応する時刻を指定して軌道データを記述する方式によると、予め定められている位置関係をそのまま指定することができ、簡単に軌道データを用意することができる。
上記の移動体では、出発教示点から到着教示点に向けて移動している間に速度変更指令を認識すると、到着教示点に対応付けて記憶されている時刻が修正される。増速指令が認識されれば、到着教示点に対応付けて記憶されている時刻が早められる。減速指令が認識されれば、到着教示点に対応付けて記憶されている時刻が遅らせられる。
移動体は、軌道データ記憶手段に記憶されている軌道データが指定する時刻に軌道データが指定する教示点に位置しているように制御されるので、到着教示点に対応付けて記憶されている時刻が早められれば、到着教示点に向かう移動速度を速め、到着教示点に対応付けて記憶されている時刻が遅らせられれば、到着教示点に向かう移動速度を減速する。
【0009】
この方式では、複数の移動体が同一時刻に位置している教示点位置は変更されない。対応する時刻が修正されるだけである。複数の移動体の相対的位置関係を記述するデータは保存され、相対的位置関係が維持される。各移動体は教示点に到着した時刻、または教示された時刻における自己の位置を軌道データと比較することによって、自身の移動が遅れているのか早すぎるのかを知ることができ、遅すぎれば速度を速くし早すぎれば速度を遅くする。それによって複数の移動体の相対位置関係が予め定められているものとなるように矯正することができる。
移動途中で増速ないし減速すると、移動体群の相対位置関係に乱れが生じやすい。本発明の移動体では、移動体群の相対位置関係に乱れが生じても、予め定められている相対位置関係に矯正できるので、移動体群が移動している途中で増速ないし減速することが可能となる。
【0010】
時刻修正手段で時刻を修正するにあたっては、認識された速度変更指令によって時刻の修正幅が決定されるようにすることが好ましい。
例えば、指揮者が指揮棒を振る周期によって移動速度を指定している場合、指揮者が周期を大幅に変更すれば時刻の修正幅を大きくし、周期を小幅に変更すれば時刻の修正幅を小さくする。
このようにすれば、指揮者の意図によって、移動速度を自在に変化させることが可能となる。
【0011】
時刻修正手段が、時刻が修正された教示点よりも遅い時刻に対応付けて記憶されている教示点に対応する時刻を、同一修正幅だけ修正するようにしてもよい。
速度変更指令がなされたとき、それ以降に到達する教示点に対する時刻が同じ修正幅によって修正されるようにすると、速度変更指令を受けた教示点間では教示点間の移動時間が変化して速度変更が行われるが、それ以降の教示点間では教示点間を移動する時間は変更されために速度変更も行われない。この移動体によれば、速度変更の必要な区間でのみ速度変更することが可能であり、その速度変更がそれ以降の区間の速度に影響を及ぼすことはない。
【0012】
速度変更指令の前後の速度比が1:kであるときに、時刻が修正された教示点よりも遅い時刻に対応付けて記憶されている教示点に対応する時刻を、教示点間の移動時間が1/k倍となるように修正するようにしてもよい。すなわち、速度変更指令によって速度がk倍に変化した時、それ以降のすべての教示点間の移動時間が1/k倍に修正される。この結果、速度変更指令以降のすべての教示点間の移動速度がk倍となる。この移動体では、一度の速度変更指令によって、それ以降の経路のすべてにわたって速度変更をさせることが可能である。速度変更指令を受けた時刻以降の移動体の速度はすべてk倍となる。
【0013】
本発明は、複数の移動体が存在する場合に、その特徴が顕著に表れる。この場合、移動体群のうちの一つを請求項1から4のいずれかの移動体で構成する。この移動体には、軌道データの修正された時刻を送信する手段を付加しておく。
その他の移動体は、前記の移動体から送信される時刻のデータを受信して軌道データ記憶手段に記憶されている時刻のデータを修正する手段と、軌道データ記憶手段に記憶されている軌道データが指定する時刻に軌道データが指定する教示点に位置しているように移動体の移動速度を制御する制御手段を備えている。その他の移動体には、時刻修正手段を設けない。
この場合、1つの移動体のみが外部からの速度変更指令を認識し、それ以降に到着する教示点に対応する時刻を修正する。その移動体は、修正された時刻を他の移動体へ送信する。他の移動体は、軌道データの時刻を修正された時刻に修正し、それに応じて移動を行う。
この移動体群によれば、複数の移動体が同一時刻に位置している教示点位置は変更されない。対応する時刻が変更されるだけである。複数の移動体の相対的位置関係を記述するデータは保存され、相対的位置関係を維持しながら、移動体群が速度を変える。
【0014】
【発明の実施の形態】最初に、以下で説明する実施例の主な特徴を記す。
(形態1) ロボットは、指揮者が振る指揮棒の動きをカメラによって撮影し、その周期を認識し、記憶している基本周期との差分を演算し、指揮者が意図する速度を認識する。
(形態2) ロボットは通信手段を有し、相互に通信が可能である。
(形態3) ロボットは、教示された軌道データの教示点に位置した時、その時刻と到着した教示点に対応付けて記憶している時刻とを比較し、一致しない場合はその差分に応じて次の教示点までの速度パターンを補正する。
【0015】
【第1実施例】本発明の実施例について図面を用いて説明する。図1に、本発明に係る第1ロボット10と第2ロボット60のシステム構成を示し、図2に、第1ロボット10と第2ロボット60の軌道例を示す。図2に例示すように、第1ロボット10は教示点P1からP6までを順に移動し、第2ロボット60は教示点Q1からQ6までを順に移動する。その移動中、第1ロボット10が教示点P1を出発する時刻T1と第2ロボット60が教示点Q1を出発する時刻T1は等しい。また、第1ロボット10が教示点P2に到着する時刻T2と第2ロボット60が教示点Q2に到着する時刻T2は等しい。以後同様に、第1ロボット10が教示点P3に到着する時刻T3と第2ロボット60が教示点Q3に到着する時刻T3は等しく、第1ロボット10が教示点P4に到着する時刻T4と第2ロボット60が教示点Q4に到着する時刻T4は等しく、第1ロボット10が教示点P5に到着する時刻T5と第2ロボット60が教示点Q5に到着する時刻T5は等しく、第1ロボット10が教示点P6に到着する時刻T6と第2ロボット60が教示点Q6に到着する時刻T6は等しい。第1ロボット10と第2ロボット60は、同一時刻において横一列に並んだ教示点に位置するように移動するので、横1列に並んだ隊列を保って移動する。
【0016】
図1に示すように、第1ロボット10は、CPU14と記憶装置41を備えている。記憶装置41は、時刻と教示点位置を対応付けたデータ、この場合(時刻T1と教示点P1の座標)、(時刻T2と教示点P2の座標)・・・を記憶している軌道データ記憶部42を備えている。
第1ロボット10は、軌道データ記憶部42に記憶されている軌道データの教示点P1〜P6の座標データから、教示点間の軌跡を補完計算する軌跡計算プログラム46を備えている。
第1ロボット10は、指揮者2が振る指揮棒4の先端を撮影しつづけるカメラ12を備え、カメラ12で撮影された画像を処理して指揮者2が振る指揮棒4の周期を計算しつづける画像処理プログラム44を備えている。指揮者2は、第1、第2ロボット10、60を高速で移動させたい場合には、指揮棒4を振る周期を短縮し、第1、第2ロボット10、60を低速で移動させたい場合には、指揮棒4を振る周期を長期化する。CPU14はI/O16を通じて入力されるカメラ12の映像から画像処理プログラム44によって指揮棒4の周期を計算し、周期の変化から指揮者2が与える速度変更指令を認識する。
第1ロボット10は、移動体が出発教示点から到着教示点に向けて移動している間に指揮棒4の周期が変化したことを認識したときに、軌道データ記憶部42に教示点に対応付けて記憶されている時刻のうち、それ以降に到着する教示点に対応付けて記憶されている時刻を修正する時刻修正プログラム48を備えている。例えば、教示点P3から出発して教示点P4へ移動している間(時刻T3〜時刻T4の間)に指揮棒4の周期が変化したことを認識した場合、それ以降に到着する教示点P4、P5、P6に対応付けて記憶されている時刻T4、T5、T6を、時刻T4’、T5’、T6’へ修正する。
第1ロボット10は、軌道データ記憶部42に記憶されている軌道データが指定する時刻に軌道データが指定する教示点に第1ロボット10が位置しているように、第1ロボット10の速度パターンを計算する速度パターン計算プログラム50と、移動方向を計算する移動方向計算プログラム52を備えている。
第1ロボット10は、二輪駆動機構28を有しており、車輪30、32と、車輪30、32のそれぞれを駆動するモータ34、36と、車輪30、32のそれぞれの回転数を計測するエンコーダ38、40を備えている。そして、速度パターン計算プログラム50と移動方向計算プログラム52による演算結果に従ってモータ34、36を駆動するモータドライバ24、26を備えており、CPU14による演算結果はI/O22を通してモータドライバ24、26へ送られ、モータドライバ24、26はモータ34、36を駆動する。第1ロボット10は、速度パターン計算プログラム50で計算された速度で移動方向計算プログラム52で計算された方向に移動し、軌道データ記憶部42に記憶されている軌道を実現する。
第1ロボット10は、エンコーダ38、40による車輪30、32の回転数の計測結果から自己の位置を計算する位置計算プログラム54を備えている。第1ロボット10が軌道データ記憶部42に記憶されている軌道データに従って移動すると、実際の位置と軌道データが教示する位置は一致するはずであるが、実際には誤差が生じるために一致しない。エンコーダ38、40の計測結果は、I/O16を通してCPU14へ送られ、位置計算プログラム54により第1ロボット10の現在地が計算しつづけられる。そのため、第1ロボット10は移動中において自己の位置を認識しつづけることができる。
第1ロボット10は、時刻を認識する時計18を有しており、軌道データ記憶部42で教示点に対応付けて記憶している時刻毎に、自己の位置とその時刻に対応付けて記憶している教示点とを比較し、一致しない場合はその差分に応じて次の教示点までの速度パターンを補正する速度パターン補正プログラム56を備えている。
第1ロボット10は、時刻修正プログラム48が修正した軌道データの時刻に関するデータを第2ロボット60に向けて送信する通信手段20と通信プログラム58を備えている。
【0017】
第2ロボット60は、CPU64と記憶装置91を備えている。記憶装置91は、時刻と教示点位置を対応付けたデータ、この場合(時刻T1、教示点Q1の座標)、(時刻T2、教示点Q2の座標)・・・を記憶している軌道データ記憶手段92を備えている。
第2ロボット60は、軌道データ記憶部92で記憶している軌道データの教示点Q1〜Q6の座標データから、教示点間の軌跡を補完計算する軌跡計算プログラム軌跡計算プログラム96を備えている。
第2ロボット60は、第1ロボット10が送信する修正された時刻に関するデータを受信する通信手段70と通信プログラム108を備えており、記憶している軌道データの時刻に関するデータを、受信した時刻に関するデータに書換える時刻書換えプログラム98を備えている。例えば、第1ロボット10が、時刻T4、T5、T6のそれぞれを時刻T4’、T5’、T6’へ修正するデータを送信した場合には、それを受信して、それ以降に到着する教示点Q4、Q5、Q6に対応付けて記憶されている時刻T4、T5、T6のそれぞれを時刻T4’、T5’、T6’へ書換える。
第2ロボット60は、軌道データ記憶部92に記憶されている軌道データが指定する時刻に軌道データが指定する教示点に第2ロボット60が位置しているように、第2ロボット60の速度パターンを計算する速度パターン計算プログラム100と移動方向を計算する移動方向計算プログラム102を備えている。
第2ロボット60は、二輪駆動機構78を有しており、2つの車輪80、82と、それらの車輪80、82のそれぞれを駆動するモータ84、86と、それらの車輪80、82のそれぞれの回転数を計測するエンコーダ88、90を備えている。また、速度パターン計算プログラム100と移動方向計算プログラム102による演算結果に従ってモータ84、86を駆動するモータドライバ74、76を備えており、CPU64による演算結果はI/O72を通してモータドライバ74、76へ送られ、モータドライバ74、76はモータ84、86を駆動する。第2ロボット60は、速度パターン計算プログラム100で計算された速度で移動方向計算プログラム102で計算された方向に移動し、軌道データ記憶部92に記憶されている軌道を実現する。
第2ロボット60は、エンコーダ88、90による車輪80、82の回転数の計測結果から自己の位置を計算する位置計算プログラム104を備えている。第2ロボット60が軌道データ記憶部92に記憶されている軌道データに従って移動すると、実際の位置と軌道データが教示する位置は一致するはずであるが、実際には誤差が生じるために一致しない。エンコーダ88、90の計測結果は、I/O66を通してCPU64へ送られ、位置計算プログラム104により現在地が計算しつづけられる。そのため、第2ロボット60は移動中において自己の位置を認識しつづけることができる。
第2ロボット60は、時刻を認識する時計68を有しており、軌道データ記憶部92で教示点に対応付けて記憶している時刻毎に、自己の位置とその時刻に対応付けて記憶している教示点とを比較し、一致しない場合はその差分に応じて次の教示点までの速度パターンを補正する速度パターン補正プログラム106を備えている。
第1ロボット10と第2ロボット60の教示点位置は、移動範囲6をカバーするX−Y座標系で与えられている。
【0018】
第1ロボット10と第2ロボット60が横一列に並んで行進するように各ロボット10、60に教示しておく軌道データを作成する段階を説明する。
第1ロボット10が、位置P1から移動を開始する時刻T1から、位置P6で移動を終了する時刻T6までの時間を等分して時刻T1、T2、T3、T4、T5、T6を観念する。各時刻間の時間はΔTとなる。次に、各時刻T1、T2、T3、T4、T5、T6において、第1ロボット10が存在しているべき位置を、教示点P1、P2、P3、P4、P5、P6とする。時刻T1〜T6のそれぞれにおいて第1ロボット10が存在しているべき教示点P1〜P6の座標を特定することで、第1ロボット10の軌道データが完成する。
同様に、時刻T1〜T6のそれぞれにおいて第2ロボット60が存在しているべき教示点Q1〜Q6の座標を特定することで、第2ロボット60の軌道データが完成する。
教示点P1〜P6と、教示点Q1〜Q6の座標を特定するときには、第1ロボット10と第2ロボット60が横一列に並ぶ位置をそのまま指定すればよく、複雑な計算を必要としない。
【0019】
以下、図3と図4のフローチャートを参照して、第1ロボット10と第2ロボット60の動作手順を説明する。図3は、第1ロボット10の動作手順を示し、図4は、第2ロボット60の動作手順を示している。最初に、上述のようにして作成した軌道データを、第1ロボット10と第2ロボット60に教示する(図3のステップS2と図4のステップS2参照)。この結果、図1に示すように、第1ロボット10の軌道データ記憶手段42には、(時刻T1、教示点P1の座標)、(時刻T2、教示点P2の座標)・・・が記憶され、第2ロボット60の軌道データ記憶手段92には、(時刻T1、教示点Q1の座標)、(時刻T2、教示点Q2の座標)・・・が記憶される。
【0020】
第1ロボット10と第2ロボット60は、教示された到着教示点P1〜P6、Q1〜Q6の座標データから補完計算して、教示点の間の移動軌跡を計算する(図3のステップS4と図4のステップS4)。その補完計算では、到着順序で連続する2つの教示点間の経路を、その前後の教示点を含む4つの教示点を通る関数曲線を計算して軌跡とする。そのとき、ロボットの移動方向が急激に変化するのを避けるため、接線方向の変化量が最小となるような関数曲線が計算される。最初の教示点間についてはその前の教示点がないため、その後の2つの教示点を含めた4点で軌跡が作成され、最後の教示点間についてはその後の教示点がないため、その前の2つの教示点を含めた4点で軌跡を作成する。図5で示すように、例えば第1ロボット10のP3−P4間の移動軌跡L34を作成するには、P2、P3、P4、P5の4点が用いられ、その4点で定まる高次関数曲線F25のP3−P4間が、その軌跡L34として作成される。このようにして、第1ロボット10、第2ロボット60は経路全体の軌跡を作成する。図2に示すように、第1ロボット10の軌跡はLP、第2ロボット60の軌跡はLQと定まる。
第1ロボット10と第2ロボット60は、指揮者2による移動開始指令により行進を開始する。行進の開始時点で、第1ロボット10は教示点P1に位置し、第2ロボット60は教示点Q1に位置している。第1ロボット10は、カメラ12で撮影した指揮棒4の動きを画像処理プログラム44で処理し、移動開始指令となる動きを認識するまで待機する(図3のステップS6)。移動開始指令を認識すると、移動開始指令を通信手段20で第2ロボット60に伝える(図3のステップS8)。一方、第2ロボット60は、第1ロボット10から移動開始指令を受信するまで待機する(図4のステップS56)。
【0021】
第1ロボット10と第2ロボット60が移動開始指令を認識すると、移動速度を速度パターン計算プログラム40、100により計算する(図3のステップS10と図4のステップS60)。第1ロボット10は、図2に示すように、時刻T3で教示点P3に位置し、時刻T4で教示点P4に位置し、時刻T5で教示点P5に位置するように教示されている場合、ロボットは、図6に示すように、より細かな時間間隔Δtごとに、移動速度と移動方向を計算する。ここで、Δtは制御の単位時間であり、この実施例では10msに設定されている。
教示点P3とP4間の軌跡L34の長さがΔL34であり、時刻T3とT4の時間差がΔT34であれば、教示点P3とP4の間をΔL34/ΔT34の平均速度で移動すれば、時刻T3で教示点P3に位置していたロボットは、時刻T4で教示点P4に位置するはずである。
同様に、教示点P4とP5間の軌跡L45の長さがΔL45であり、時刻T4とT5の時間差がΔT45であれば、教示点P4とP5の間をΔL45/ΔT45の平均速度で移動すれば、時刻T4で教示点P4に位置していたロボットは、時刻T5で教示点P5に位置するはずである。
しかしながら、この方式では、ロボットが時刻T4で、ΔL34/ΔT34の速度からΔL45/ΔT45に速度を変化させる必要があり、無限大の加速度が必要とされ、実現することができない。
そこで、本実施例では、教示点に到着する時刻よりも所定時間(この場合n・Δtであり、nは定数)だけ早いタイミングで加速(ないし減速)を始めて、教示点に到着する時刻において、次の教示点間を移動する平均速度に変化している速度パターンを演算する。
図6の場合、教示点P3とP4間の平均速度ΔL34/ΔT34よりも、教示点P4とP5間の平均速度ΔL45/ΔT45が速く、教示点P4とP5間の平均速度ΔL45/ΔT45よりも、教示点P5とP6間の平均速度ΔL56/ΔT56が遅い場合を例示している。
この場合には、教示点4に到着する時刻T4よりもn・Δt先立つタイミングで減速を始めて時刻T4で教示点P4とP5間の平均速度ΔL45/ΔT45となるように減速する。同様に、教示点5に到着する時刻T5よりもn・Δt先立つタイミングで減速を始めて時刻T5で教示点P5とP6間の平均速度ΔL56/ΔT56となるように増速する。
上記のような移動速度パターンを求めると、ロボットは指定された時刻に教示点を通過するように移動し、教示された軌道データどおりに移動する。
第1ロボット10と第2ロボット60は、移動を開始する時刻T1から移動を終了する時刻T6まで移動速度パターンを計算する。
【0022】
第1ロボット10と第2ロボット60は、Δt毎の移動方向を移動方向計算プログラム52、102で計算する(図3のステップS12と図4のステップS62)。補完計算された教示点間軌跡を、求められた移動速度パターンに基づいてΔt時間毎に分割し、Δt毎の位置を求めて移動方向を求める。図7は、第1ロボット10のP3〜P4間の例を示し、一定速度で移動する区間については等距離で分割された点が求められる(a=b=V34・Δt)。教示点P4に先立つn個の点については、増速に対応して、徐々に距離が長くなる。最後の距離は、教示点P4とP5間を平均速度で移動するときの分割点間距離に等しい(c=d=V45・Δt)。第2ロボット60においても同様に教示点間軌跡が分割される。ロボットは各分割点において次の分割点まで直線移動をするように分割点ごとの移動方向を計算する。分割点間を時間Δtで移動するため、時間Δt毎に移動方向が計算される。本実施例では、10ms毎に移動方向が計算される。
移動速度パターンの情報と10ms毎に求められた移動方向の情報は、モータドライバ24、26と74、76に伝達され、ロボットは10ms毎に移動速度と移動方向を変えながら移動する(図3のステップS14と図4のステップS64)。したがって、ロボットは教示された軌道データにしたがって移動をする。第1ロボット10はカメラ12で撮影した指揮棒4の動きを画像処理プログラム44で処理しつづけており、移動終了指令となる動きを認識すると(図3のステップS16)、第2ロボット60へ移動終了信号を送信して(図3のステップS18)移動を停止する(図3のステップS42)。第2ロボット60は、移動終了信号を受信すると(図4のステップS66)、移動を停止する(図4のステップS92)。移動終了指令がなされない場合は、軌道データとして記憶している時刻データの最後の時刻、すなわち最後の教示点まで移動を続ける(図3のステップS22と図4のステップS72でYESとなるまで、図3のステップS12と図4のステップS62以降の処理を繰返す)。
【0023】
第1ロボット10と第2ロボット60は、教示点とその教示点に位置しているべき時刻の情報を軌道データとしてもっている。また、位置計算プログラム54、104から自己の位置を認識している。そのため、教示された軌道データに対して自己の位置に誤差が生じた場合、自己の位置を修正することが可能である(図3のステップ24〜30と図4のステップS24〜30)。速度補正プログラム56、106は、軌道データ記憶部42、92に教示点に対応付けて記憶されている時刻毎に、自己の位置と教示点とを比較し、教示された軌道データよりも進んでいるのか遅れているのかを判別する。遅れていれば、次の区間の平均移動速度を、遅れ分を取り戻す速度に補正計算する。例えば、第1ロボット10が教示点P3に位置しているべき時刻T3において教示点P3に到着しておらず、ΔLだけ残していれば、次には(ΔL34+ΔL)/ΔT34の平均速度で移動するように速度パターンを補正する。この結果、第1ロボット10は、時刻T4において教示点P4に位置しているように修正される。逆に、教示点P3に位置しているべき時刻T3において教示点P3を通過し、ΔLだけ進行していれば、次には(ΔL34―ΔL)/ΔT34の平均速度で移動するように速度パターンを補正する。この結果、第1ロボット10は、時刻T4において教示点P4に位置しているように修正される。
時刻に対する位置のデータを持っていると、遅れを取り戻して教示された軌道に修正したり、早すぎる進行を減速して教示された軌道に修正することができる。指定された時刻に指定された位置にいるように制御することができ、第1ロボット10と第2ロボット60の相対位置関係が維持されるように制御される。
第1ロボット10と第2ロボット60は、教示された軌道データから軌跡を計算し、教示された軌道データから速度を計算し、計算された経路と速度から移動方向を計算する。第1ロボット10は教示点P1〜P6を時刻T1〜T6に通過するように移動し、第2ロボット60は教示点Q1〜Q6を時刻T1〜T6に通過するように移動する。第1ロボット10と第2ロボット60は横一列に並んだ隊列を乱すことなく移動する。
【0024】
第1ロボット10と第2ロボット60は、ヒトが隊列を組んで行進するのときように、指揮者2によってその移動速度がコントロールされる。すなわち、指揮者2によって振られる指揮棒4の周期変化がロボットへの移動速度変更指令となる。第1ロボット10は、カメラ12によって指揮者2と指揮棒4の動きを常に撮影し、画像処理プログラム44は、撮影された指揮棒4の移動パターンから、指揮棒4が下死点になったタイミングを認識する(図3のステップS32)。そして、今回に下死点になったタイミングと前回に下死点になったタイミングから指揮棒4の周期を計算する(図3のステップS34)。指揮棒4の周期が第1ロボット10に教示されている基本周期に略一致しているときは、第1ロボット10は速度変更指令が無いと判断する(図3のステップS36)。指揮棒4の周期が前記基本周期と異なる場合には、第1ロボット10は指揮棒4の周期と基本周期の差分に応じて、次に到達する教示点への到着時刻を修正する(図3のステップS38)。このとき、指揮棒4の周期が基本周期よりも遅いときは、その時刻をその周期差に応じて遅い時刻に修正し、指揮棒の周期が基本周期よりも速いときは、その時刻をその周期差に応じて早い時刻へと修正する。
【0025】
第1ロボット10が教示点P3を出発して教示点P4に向けて移動している時刻TSに、指揮者2が指揮棒4の周期を早めて増速を指令した場合の速度変化を図8を用いて説明する。早められた指揮棒4の周期から、修正幅は時間mであったとする。図8は、第1ロボット10に速度変更指令が与えらたときの速度パターンを示している。時刻TSにおいて指揮棒4の周期が早められたことを認識すると、時刻修正プログラム38が教示点P4への到着時刻T4をT4’(T4’=T4−m)へ早めるように修正をする。それと同時に、修正した時刻に関するデータを通信手段20によって第2ロボット60へ送信する(図3のステップS40)。第2ロボット60は時刻に関するデータを受信すると(図4のステップS88)、時刻書換えプログラム98によって、軌道データ記憶部92に記憶している軌道データの時刻に関するデータを、受信した時刻に関するデータに書換える。詳しくは、教示点Q4への到着時刻T4をT4’に書換える。第1ロボット10と第2ロボット60は、速度パターン計算プログラム50、100により、速度パターンを再演算する(図3のステップS10と図4のステップS60を繰返す)。
第1ロボット10は、教示点P4への到着時刻がT4’となるように、時刻TSから時刻T4’までの間の10ms毎の速度を再演算する。第一に、時刻TSにおいて第1ロボット10の位置する場所PSから到着教示点P4までの距離を計算する。次に、n・Δt時間かけて速度V34’に増速し、その後は速度V34’で等速移動し、最後にn・Δt時間かけて減速して時刻T4’において次の区間の速度V45となる速度パターンを仮定し、その速度パターンを積分した値(移動距離)が、増速開始位置PSから到着教示点P4までの距離に等しくなる速度V34’を解く。
第1ロボット10は、再度計算された上記の移動速度パターンに基づいて、移動方向計算プログラム52によりPS〜P4間の軌跡を分割し、Δt毎の位置を求める。増速開始直後のn点については徐々に距離が長くなり、等速移動期間については長くなった距離で等分割され、最後のn点については徐々に距離が短くなり、最後の距離は教示点P4とP5間を平気速度で移動するときの分割点間距離に等しい。第2ロボット60においても同様に軌跡が分割される。ロボットは各分割点において次の分割点まで直線移動をするように分割点ごとに移動方向を計算する。分割点間を10msで移動するため、10ms毎に移動方向が計算される。
第1ロボット10は、再計算された移動速度パターンの情報と10ms毎に求められる移動方向の情報を、モータドライバ24、26に指示し、第1ロボット10は10ms毎に移動速度と移動方向を変えながら移動を続ける。この結果、ロボットは増速された軌道データにしたがって移動をする。
【0026】
指揮者が与えた増速指令は、次の教示点まで有効であり、次の教示点に到達した以降には、教示された軌道データで想定される速度となるようにしてもよい。この場合には、増速指令によって教示点P4への到着時刻をT4’へ修正すると、それ以降の教示点に対応付けられた時刻T5、T6についても、その修正幅T4’−T4=mと同じ修正幅mによって修正すればよい。即ち、変更後の通過時刻T5’、T6’は、T5’−T5=m、T6’−T6=mの関係を満たすように修正される。教示点P4から教示点P5へ移動に要する時間は、T5’−T4’となるが、それはT5−T4に等しく、教示点P4から教示点P5へ移動に要する時間は変更されない。同様にP5〜P6間についても、移動に要する時間は変更されない。したがって、P4〜P5間、P5〜P6間の移動速度は、増速指令を受ける前後で変化しない。即ち、増速指令により移動速度パターンは図9で示すように変更される
【0027】
一方、指揮者が与えた増速指令は、次に速度指令が入力されるまで有効だとしてもよい。この場合には、増速後の移動速度V34’と増速前の速度V34との比、V34:V34’=1:kを演算する。その比kを用いて、それ以降の教示点通過時刻T5、T6を、それらの時間間隔がもとの時間間隔の1/k倍となるように修正する。即ち、変更後の通過時刻T5’、T6’が、T5’−T4’=(T5−T4)/k、T6’−T5’=(T6−T5)/kの関係を満たすように修正する。この結果、P4〜P5間、P5〜P6間の移動速度は再演算されてk倍になる。即ち、増速指令により移動速度パターンは図10で示すように変更される。図10において、
V34’/V34=V45’/V45=V56’/V56=kとなっている。
【0028】
第1ロボット10は、速度変更指令によって修正された時刻データを、通信手段20により第2ロボット60へ伝える(図3のステップS40)。第2ロボット60は、第1ロボット10から修正された時刻データを受信すると(図4のステップS88)、自己の軌道データ記憶部92に記憶されている時刻データを、受信した時刻データに書換える(図4のステップS90)。先に説明した時刻TSに速度変更がなされ、第1ロボット10が自己の軌道データの時刻T4〜T6をT4’〜T6’へ修正した場合、第2ロボット60もそれに対応する時刻T4〜T6をT4’〜T6’へ書換え、書換えられた軌道データで速度の再演算を第1ロボット10と同様に行う。
【0029】
以上のように、第1ロボット10と第2ロボット60は、横一列で並ぶ隊列を組んで移動するよう教示された場合、指定された時刻に指定された位置にいるように移動することによって、横一列に並んだ隊列を乱すことなく移動をする。また、指揮者2によって速度変更指令がなされると、第1ロボット10がその指令に従って到着教示位置に対する時刻を修正すると共に、その修正に基づいて第2ロボット60へ速度変更指令を行う。第1ロボット10と第2ロボット60は、修正された軌道データが指定する位置へ修正された時刻にいるように移動する。各ロボットが同一時刻に位置している教示点位置は変更されない。したがって、横一列にならんだ隊列を乱すことなく、指揮者の指揮に合わせて速度を変化させながら移動することも可能である。
【0030】
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【図1】本実施例に係るロボット群の構成を示す図。
【図2】本実施例に係るロボット群の移動経路を示す図。
【図3】第1ロボット10のフローチャート。
【図4】第1ロボット60のフローチャート。
【図5】教示点間の軌跡作成の例を説明する図。
【図6】教示点間の速度パターンの例を示す図。
【図7】教示点間の軌跡分割の例を示す図。
【図8】速度変更指令により変更された速度パターンの例を示す図。
【図9】速度変更指令がなされた教示点間のみを速度変更する速度パターンを示す図。
【図10】速度変更指令がなされた時刻以降すべてを速度変更する速度パターンを示す図。
【符号の説明】
2・・・指揮者
4・・・指揮棒
6・・・ロボットの移動範囲
10・・・第1ロボット
60・・・第2ロボット
14、64・・・CPU
20、70・・・通信手段
12・・・カメラ
18、68・・・時計
41、91・・・記憶装置
42、92・・・軌道データ記憶部
44・・・画像処理プログラム
46、96.・・・軌跡計算プログラム
48・・・時刻修正プログラム
98・・・時刻書換えプログラム
50、100・・・速度パターン計算プログラム
52、102.・・・移動方向計算プログラム
54、104・・・位置計算プログラム
56、106・・・速度補正プログラム
58、108・・・通信プログラム
28、78・・・ロボットの駆動系
30、32、80、82・・・車輪
34、36、84、86・・・モータ
38、40、88、90・・・エンコーダ
LP・・・第1ロボット10の移動軌跡
LQ・・・第2ロボット 60の移動軌跡
P1〜P6・・・第1ロボット10の教示点
Q1〜Q6・・・第2ロボット60の教示点
T・・・軌道データの時刻データ
TS・・・速度変更指令の認識時刻
V・・・速度
ΔT・・・教示点間の移動時間
Δt・・・ロボットの制御単位時間

Claims (5)

  1. 時刻と教示点位置を対応付けたデータを時間間隔をおいて経時的に記憶している軌道データ記憶手段と、
    外部から与えられる速度変更指令を認識する速度変更指令認識手段と、
    移動体が出発教示点から到着教示点に向けて移動している間に速度変更指令を認識したときに、軌道データ記憶手段に到着教示点に対応付けて記憶されている時刻を修正する時刻修正手段と、
    軌道データが指定する時刻に軌道データが指定する教示点に位置しているように移動体の移動速度を制御する制御手段とを有する移動体。
  2. 時刻修正手段による時刻修正幅が、認識された速度変更指令によって決定されることを特徴とする請求項1の移動体。
  3. 時刻修正手段が、時刻が修正された教示点よりも遅い時刻に対応付けて記憶されている教示点に対応する時刻を、同一修正幅だけ修正することを特徴とする請求項1又は2の移動体。
  4. 速度変更指令の前後の速度比が1:kであるときに、時刻修正手段が、時刻が修正された教示点よりも遅い時刻に対応付けて記憶されている教示点に対応する時刻を、教示点間の移動時間が1/k倍となるように修正することを特徴とする請求項1又は2の移動体。
  5. 軌道データの修正された時刻を送信する手段を備えた請求項1から4のいずれかの移動体と、
    前記移動体から送信される時刻のデータを受信して軌道データ記憶手段に記憶されている時刻のデータを修正する手段と、軌道データが指定する時刻に軌道データが指定する教示点に位置しているように移動体の移動速度を制御する制御手段とを有する移動体とを備えている移動体群。
JP2003156324A 2003-06-02 2003-06-02 移動体 Pending JP2004362022A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003156324A JP2004362022A (ja) 2003-06-02 2003-06-02 移動体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003156324A JP2004362022A (ja) 2003-06-02 2003-06-02 移動体

Publications (1)

Publication Number Publication Date
JP2004362022A true JP2004362022A (ja) 2004-12-24

Family

ID=34050439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003156324A Pending JP2004362022A (ja) 2003-06-02 2003-06-02 移動体

Country Status (1)

Country Link
JP (1) JP2004362022A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014219721A (ja) * 2013-05-01 2014-11-20 村田機械株式会社 自律移動体
JP2014219722A (ja) * 2013-05-01 2014-11-20 村田機械株式会社 自律移動体
JP2014219723A (ja) * 2013-05-01 2014-11-20 村田機械株式会社 自律移動体
US9898009B2 (en) 2014-02-25 2018-02-20 Murata Machinery, Ltd. Autonomous travel vehicle
JP2020140616A (ja) * 2019-03-01 2020-09-03 トヨタ自動車株式会社 運行制御装置及び車両
WO2024018900A1 (ja) * 2022-07-21 2024-01-25 株式会社日立製作所 機器の制御装置、制御システム、及び制御方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014219721A (ja) * 2013-05-01 2014-11-20 村田機械株式会社 自律移動体
JP2014219722A (ja) * 2013-05-01 2014-11-20 村田機械株式会社 自律移動体
JP2014219723A (ja) * 2013-05-01 2014-11-20 村田機械株式会社 自律移動体
US9740209B2 (en) 2013-05-01 2017-08-22 Murata Machinery, Ltd. Autonomous moving body
US9898009B2 (en) 2014-02-25 2018-02-20 Murata Machinery, Ltd. Autonomous travel vehicle
JP2020140616A (ja) * 2019-03-01 2020-09-03 トヨタ自動車株式会社 運行制御装置及び車両
JP7240629B2 (ja) 2019-03-01 2023-03-16 トヨタ自動車株式会社 運行制御装置及び車両
WO2024018900A1 (ja) * 2022-07-21 2024-01-25 株式会社日立製作所 機器の制御装置、制御システム、及び制御方法

Similar Documents

Publication Publication Date Title
US4939651A (en) Control method for an unmanned vehicle (robot car)
US4939650A (en) Path correction method for a self-contained unmanned vehicle
US9579794B2 (en) Articulated robot and method for controlling the same
JPH10162282A (ja) 車群走行制御システム
JP3266747B2 (ja) 車両の誘導走行制御装置
CN111026125B (zh) 一种自动导航小车自动纠偏方法
JPWO2019031168A1 (ja) 移動体および移動体の制御方法
JP2012066630A (ja) 走行制御装置
JP2004362022A (ja) 移動体
CN113885514B (zh) 基于模糊控制和几何追踪的agv路径跟踪方法及系统
JP4577247B2 (ja) 移動体及びその制御方法
JPH0671580A (ja) 双腕ロボットの同期制御方法
JP2004280195A (ja) ロボット制御装置
JP6947006B2 (ja) 自動運転制御システムおよび自動運転制御プログラム
WO2019230557A1 (ja) 出力装置、駆動装置、移動装置、移動体システム、出力方法及びコンピュータ可読媒体
JP2671297B2 (ja) 自立型無人車の経路修正方法
JP2554968B2 (ja) 複数ロボットによる物品の移載方法
JP5980042B2 (ja) 搬送装置の制御方法及び搬送システム
CN110625617A (zh) 一种智能机器人轨迹规划方法
JP2004171430A (ja) 搬送車
JPS63311511A (ja) 無人車の走行制御装置
JPH0991020A (ja) 教示ロボット制御方法
JP2002224977A (ja) ロボット制御装置、ロボットの制御方法及びロボット
KR920006933B1 (ko) 무인차의 제어방법
JP2003025264A (ja) 双腕制御装置と双腕制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080304