JP4667764B2 - 経路設定方法 - Google Patents

経路設定方法 Download PDF

Info

Publication number
JP4667764B2
JP4667764B2 JP2004128866A JP2004128866A JP4667764B2 JP 4667764 B2 JP4667764 B2 JP 4667764B2 JP 2004128866 A JP2004128866 A JP 2004128866A JP 2004128866 A JP2004128866 A JP 2004128866A JP 4667764 B2 JP4667764 B2 JP 4667764B2
Authority
JP
Japan
Prior art keywords
time
route
intermediate point
joint
path
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
JP2004128866A
Other languages
English (en)
Other versions
JP2005309990A (ja
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.)
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 JP2004128866A priority Critical patent/JP4667764B2/ja
Publication of JP2005309990A publication Critical patent/JP2005309990A/ja
Application granted granted Critical
Publication of JP4667764B2 publication Critical patent/JP4667764B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、自動機械の全体又は一部分の移動経路を設定する経路設定方法に関する。
ロボットを移動させる際や、ロボットアームを自動操作する際には、その経路を設定する必要が生じる。下記[特許文献1]には、空間内でのロボットの望ましい経路を決定する方法として、空間的・時間的な経路を関節角の関数として記述する関節空間法や、デカルト座標系での位置と姿勢の経路とを時間の関数として記述するデカルト空間法などが記載されている。関節空間法では、経路のスタート位置(初期位置)とゴール位置(最終位置)との間に一以上の中間点を設定し、これらをスプライン曲線で接続した経路を作成する。この経路によって決まる速度及び加速度を制御するために、多項式スプライン関数を用いる方法も下記[特許文献1]に紹介されている。
ロボティクス−機構・力学・制御−(第7章)、John J.Craig 著、三浦宏文・下山勲 訳、共立出版株式会社、109641号公報 Randomized Kinodynamic Planning : S.M.LaValle and J.J.Kuffner,Jr. : Proc of IEEE Int. Conf. on Robotics and Automation, 1999
[特許文献1]には、各点(初期位置・中間点・最終位置)を時間の関数として繋ぐ多項式スプライン補間として、特に3次多項式と5次多項式を用いた場合が紹介されている。しかし、3次多項式スプラインは速度の滑らかさまでは保証できるが、加速度の滑らかさまでは一般に保証できない。このため、3次多項式スプラインを用いて生成された経路に従って多関節ロボットアームを制御した場合に、加速度の滑らかさの欠如に起因する振動が発生し得る。そこで、[特許文献1]には、これを改善するために5次多項式スプライン補間も紹介されているが、中間点の補間後に加速度−時間グラフにおいて余計な凹凸の個数が増加する。
また、複数の障害物が配置された作業空間においてロボットアームなどの自動機械の移動経路を計画する場合、設定した経路が障害物と干渉するものであった場合は、再計算が必要となる。ここで、経路設定を最初から全てやり直す必要があると計算量が増えてしまう。このため、設定した経路が障害物と干渉する場合には、その部分(位置・時間)近傍を局所的に修正できると計算量の低減に効果がある。しかし、多項式スプライン補間では、多項式スプライン曲線が、ある時刻で障害物と干渉する場合、当該時刻近傍で局所的に修正することは一般に不可能である。従って、本発明の目的は、自動機械を円滑に動作させることができ、かつ、計算量の低減にも寄与する経路設定方法を提供することにある。
請求項1に記載の経路設定方法は、自動機械の全体又は一部分の移動経路を設定するもので、自動機械の全体又は一部分を経路設定対象部として、該経路設定対象部の初期位置から最終位置の間に複数の中間点を仮設定する中間点設定行程と、経路設定対象部が中間点の間を移動する時間を設定する時間設定行程と、所定の中間点と初期位置、所定の中間点と他の中間点、又は所定の中間点と最終位置とを結んで、障害物との干渉がない場合は、所定の中間点と初期位置との間、所定の中間点と他の中間点との間、又は所定の中間点と最終位置との間に存在する中間点を省略することで、仮設定された経路を平坦化する平坦化行程と、任意の中間点を直線的に結んだ状態の平坦化後の前記経路を、近似誤差を制御する変数に基づいて滑らかな経路に変更することで平滑化する平滑化行程と、平滑化後の経路が障害物と干渉するか否かを判定し、障害物と干渉する場合は経路上の障害物との干渉部分近傍を局所的に経路変更することで経路修正する経路修正行程とを備え、平滑化行程において、任意の中間点のうち時間t に係る中間点p を平滑化する場合、中間点p に対して近似誤差を制御する変数である誤差制御変数d が設定され、(t −d )から(t +d )の範囲で経路を無限回数微分可能な関数で近似することで平滑化が行われ、中間点p の隣の中間点p i−1 と中間点p との間の時間を(t −t i−1 )とし、中間点p と当該中間点p の隣の中間点p i+1 との間の時間を(t i+1 −t )とした場合、誤差制御変数d は、(t −t i−1 )/2と(t i+1 −t )/2のうち、何れか小さい方の値以下の値に設定され、経路修正行程においては、誤差制御変数d を変更することで経路修正が行われることを特徴としている。
請求項2に記載の発明は、請求項1に記載の経路設定方法において、自動機械が、複数のリンク部材を関節ジョイントを介して互いに接合したアームであり、該アームの移動経路を設定する際に、時間設定行程において、各関節ジョイント部分の最大角速度を考慮して、各中間点間の移動時間が設定されることを特徴としている。なお、各関節ジョイント部分の角度・角速度・角加速度とは、当該関節ジョイントに接続される一対のリンクのなす角度と、この角度に関する角速度及び角加速度のことを指す。
請求項3に記載の発明は、請求項1又は2に記載の経路設定方法において、自動機械が、複数のリンク部材を関節ジョイントを介して互いに接合したアームであり、該アームの移動経路を設定する際に、平滑化行程において、各関節ジョイント部分の角度を時間の関数として捉え、時間の関数である各関節ジョイントの角度を無限回微分可能な関数で近似することで平滑化を行うことを特徴としている。
請求項4に記載の発明は、請求項3に記載の経路設定方法において、各関節ジョイント部分の角加速度が所定の最大加速度を超えた場合に、最大加速度を超える時刻近傍において局所的に時間設定変更を行う時間修正行程をさらに備えていることを特徴としている。
請求項1に記載の経路設定方法によれば、平坦化の後に平滑化を行うことで、滑らかな移動が可能な経路を設定することができる。また、平滑化後の経路が障害物と干渉する場合には、局所的に修正(位置的修正及び時間的修正)を行うことで、計算量を低減しつつ、経路の修正を容易に行うことができる。
請求項2に記載の経路設定方法によれば、各関節ジョイント部分の最大角速度を考慮して、ある中間点から他の中間点に移動するまでの時間が決定されるため、各関節ジョイント部分での角速度が最大角速度を超えることを抑制でき、位置的・時間的の双方で滑らかな移動経路を設定することができる。
請求項3に記載の経路設定方法によれば、平滑化を、各関節ジョイント部の角度(時間関数)を無限回微分可能な関数で近似することで、時間関数となる角速度及び角加速度も滑らかな平滑化を行うことができる。
請求項4に記載の経路設定方法によれば、各関節ジョイント部分での角加速度に関しても最大加速度を考慮し、最大加速度を超えるような場合は時間設定を変更して修正を行うので、初期位置から最終位置までの間で角加速度が過剰となることを抑止できる。
本発明の経路設定方法の一実施形態について以下に説明する。まず、本実施形態の経路設定方法を演算する装置(経路生成手段)の構成を図1に示す。経路生成手段1は、具体的にはコンピュータによって構成されている。図1に示されるように、経路生成手段1は外部環境情報を入力する手段である外部環境情報入力手段2と、生成過程にある経路や最終的に生成した(設定した)経路を出力する経路出力手段3とを有している。
外部環境情報入力手段2は、移動経路を生成する自動機械(ロボット自体やロボットアームなど)周辺の情報、特に障害物情報を外部環境として取得する手段であり、カメラや各種センサなどの情報取得デバイスが例として挙げられる。あるいは、外部環境情報入力手段2は、キーボードや光ディスクドライブなどであっても良く、オペレータが手動で外部環境情報を入力しても良いし、すでにデータ化されて光ディスクに格納されている外部環境情報を入力しても良い。経路出力手段3は、具体的には、モニタやプリンタ、記憶可能な媒体を扱うドライブなどである。
外部環境情報入力手段2から入力された外部環境情報は、環境情報記憶手段4に蓄積される。環境情報記憶手段4は、具体的にはハードディスクやRAMなどである。環境情報記憶手段4には、知識としての環境情報(すでに知識として保持している情報)と、上述したような、外部環境情報入力手段2によって新たに入力された環境情報とを保持する。外部環境情報入力手段2によって新たに入力された環境情報は、その後は知識としての環境情報として蓄積される。経路生成手段1は、経路のスタート位置(初期位置)とゴール位置(最終位置)とを最終的に決定するスタート・ゴール位置決定手段5や、スタート位置とゴール位置との間に中間点を設定(仮設定)する中間点生成手段6や、時間設定手段7、平坦化手段8、平滑化手段9、修正手段10なども有している。
時間設定手段7は、ある中間点から次の中間点までの移動にかかる時間を設定する。ここでは、ある中間点から次の中間点までの単なる位置の変化だけでなく、移動にかかる時間をも考慮する。この結果、追って説明する角速度や角加速度に関する配慮も行えるようになる。平坦化手段8は、中間点生成手段6によって仮設定された中間点の数を減らし、経路が単純になるように平坦化する役割を担っている。平滑化手段9は、平坦化後の中間点間を直線で結んだだけの経路を滑らかな曲線に平滑化する役割を担っている。修正手段10は、平滑化後の経路に対して、様々な条件と照らして修正が必要であるか否かを判断し、必要であれば修正を行う役割を担っている。修正が必要な条件としては、障害物と干渉する場合や、後述する角速度や角加速度が所定の上限値を超えている場合などがある。これらの中間点生成手段6〜修正手段10などは、ハードディスク内やROM内に格納されたプログラムとこれを実行するCPUなどによって実現されている。
次に、経路生成の手順について順を追って説明する。ここでは、自動機械がロボットアームである場合を例にして説明する。図2は、冗長な自由度を持つロボットアーム100を模式的に示した図である。このロボットアーム100は、図2に示されるように、複数のリンク(線状の部材)101と、二つのリンク101の間に配置された関節ジョイント102とからなっている。また、アーム100の先端には、把持部103が取り付けられている。ここでは、把持部103の根本、即ち、最も末端側のリンク101の先端部分(手首位置X)の移動軌跡を生成する。
実際には各関節ジョイント102にアクチュエータが内蔵されており、その関節ジョイント102に接合している一対のリンク101によって形成される角度を変更することができる。なお、ここでは、根本側のリンク101の基端部と、末端側リンク101の把持部103との接合部(手首位置X)はリジッドであるものとして説明する。なお、ロボットアーム100のある空間に対してx,y座標軸を設定した場合、手首位置Xの座標(x,y)は、図2中の各関節ジョイント部分での角度θ,θ,θからなるベクトル(θ,θ,θ)の座標位置を座標変換することで容易に得ることができる。なお、図2は説明を容易にするためにx,y平面内のみでロボットアーム100が動く場合を例に説明したが、三次元空間においても同様の考えが適用できることは言うまでもない。
経路生成に際しては、まず、外部環境情報入力手段2によって外部環境情報が入力される。すでに入力され、環境情報記憶手段4に蓄積された情報のみで不足がない場合は、新たな外部環境情報の入力は必ずしも必要ない。次に、経路のスタート位置とゴール位置とをオペレータがセットする。これらの位置があらかじめプリセットされているのであれば、オペレータによる入力は必要ない。入力は、キーボードから座標位置を入力するなどして設定することができる。あるいは、経路生成手段1にロボットアーム100を接続し、ロボットアーム100を実際にスタート・ゴール位置に位置させたときの座標などを経路生成手段1に読み込ませるようにしても良い。また、装置に組み込まれたカメラや各種センサによって外部環境情報が自動又は半自動で取得されるようにしても良い。
スタート・ゴール位置決定手段5は、環境情報記憶手段4に蓄積された情報と照らし合わせて、入力されたスタート・ゴール位置が障害物と干渉していないか否かを判断し、干渉していない場合はこれらをスタート・ゴール位置として決定する。なお、干渉の有無の検証は、既存の手法を用いることができる。もし、入力されたスタート・ゴール位置が障害物と干渉している場合はオペレータに対して再入力を促し、再入力されたスタート・ゴール位置について同様の判定を行い、スタート・ゴール位置が決定されるまで反復される。次に、公知の手法によって、スタート・ゴール位置の間に中間点が仮設定される(中間点設定行程)。この中間点の仮設定は、中間点生成手段6によって行われる。この中間点の設定方法としては、例えば、[特許文献2]に記載の確率経路探索方法などによって中間点が設定される。
なお、ここでは、最終的には手首位置Xでの経路を決定するため、上述した中間点は手首位置Xについての中間点が重要であるが、これは各関節ジョイント部分に関してスタート位置とゴール位置との中間点が設定されることによって決定される。このとき、各関節の中間点が同時に仮設定された状態では、経路についての位置のみが仮設定されただけである。即ち、ロボットアーム100の中間姿勢が複数生成されることとなる。これら複数の中間姿勢を時間的な要素を考慮してつなぐため、ある中間点から次の中間点まで移動するまでの時間を設定する(時間設定行程)。この時間設定は、時間設定手段7によって行われる。
ここでは、ある関節ジョイント部分を例にして説明する。なお、全ての関節ジョイント部分についての経路が決定されれば、手首位置Xの経路が決定される。ある関節ジョイントの角度について、スタート位置での角度をθ、ゴール位置の角度をθとする。そして、上述した中間点生成時に、この関節ジョイント部分に関して仮設定された中間点を関節ジョイントの角度としてθ,θ,…,θと表すものとする。例えば、ここで、θとθ,θとθi+1,θとθの間の移動にかかる時間を一定時間tであると仮定して、関節ジョイントの角度の時間変化をグラフにして示すと図3のようになる。
図3から分かるように、図3の角度変化を示す折れ線の傾きが角速度を表すことになる。ここでは、角速度は時間に対して一定の割合で増減するため、角加速度はゼロである。しかし、ロボットアーム100を実際に駆動する場合には、関節ジョイント部分のアクチュエータ(モータなど)の機械的性能などから、角速度や角加速度には最大角速度や最大角加速度といった制約が存在する。これらの条件は予め経路生成手段1にインプットされており、これらの制約を考慮して時間設定が行われる。即ち、図3のように、単純に中間点間の移動にかかる時間を決めてしまうと、アクチュエータなどの機械的性能などのために実現し得ない経路設計がなされてしまう場合や、アクチュエータの駆動に不都合がある場合などがある。
そこで、ここでは、以下のように時間設定を行う。各関節ジョイントに関しては上述した制約を考慮して、最大許容角速度vmaxが予め設定される。そして、θからθi+1までの時間間隔(ti+1−t)として、|(θi+1−θ)/vmax|で定義される時間を設定すれば、角速度が許容範囲内となる時間設定を行える。二つの関節ジョイント部分における角度・角速度の時間変化の例を図4に示す。なお、図4中のΔtの長さは全ての関節ジョイント部で一致させる必要がある。図4では、関節Aと関節Bとにおける各中間点での制御タイミングがすでに一致されている状態が示されている。
そこで、次に、このΔtの長さの求め方、即ち、複数の関節ジョイント部分での中間点の制御タイミングを合わせる方法について説明する。関節Aに関しては、Δtの前後で角度がθ1Aからθ2Aに変化したとし、関節Bに関しては、Δtの前後で角度がθ1Bからθ2Bに変化したとする。このとき、上述したように、関節Aに関しては、最大許容速度vAmaxが設定されていたとすると、関節Aでの角速度を許容範囲内とするには、Δtは|θ2A−θ1A|/vAmax以上とする必要がある。同様に、関節Bに関しては、最大許容速度vBmaxが設定されていたとすると、関節Bでの角速度を許容範囲内とするには、Δtは|θ2B−θ1B|/vBmax以上とする必要がある。
そこで、Δt=max{|θ2A−θ1A|/vAmax,|θ2B−θ1B|/vBmax}とし、各関節で必要な時間の中で最長の時間を選択してΔtとして決定する。ここでは、二つの関節を例にして説明しているが、関節が複数でも同様に行えば良い。また、Δt以降の各時間間隔についても同様にタイミングを一致させる。これで、時間設定が終了する(後で修正される場合もある)。なお、上述した例では、説明を分かりやすくするため、ロボットアーム100が図2に示されるx−y平面内で動く場合を例にして説明しているが、三次元的に動く場合も同様な考え方で時間設定を行えばよい。
次に、平坦化について説明する。平坦化とは、上述したように設定された中間点の中から省略可能な中間点を抽出し、抽出された中間点を削除することである。平坦化することで、経路が単純化されることになり、ロボットアーム100の動きの無駄が低減(あるいは解消)される(平坦化行程)。平坦化を説明するための図を図5に示す。図5は、ある関節に関して上述した時間設定が行われた後の経路を示す角度−時間のチャートである。以下、この関節を例にして説明するが、最終的には全ての関節(手首位置Xを含む)について同様のことが同時に行われる。即ち、各巻sねつの角度は、同時刻において作成されるように設定するので、全ての関節(手首位置Xを含む)に関して省略可能な場合にのみ、その部分の平坦化を行う。
図5を参照して説明するが、まず、スタート点pから何点先(2点以上先から端点までの間)までの平坦化を検討するか指定する。この指定は、オペレータによって入力されても良いし、予めプリセットされたデフォルト値が用いられるようにしても良い。ここでは、3点先(p)までと指定された場合を例にして説明する。このとき、pとpとを線分で結び、この線分上のある一定間隔毎の点が障害物と干渉するか否かを検証する。検証の結果、障害物との干渉がない場合は、pとpとを結んだ経路を新経路とする。
一方、検証の結果、障害物と干渉する場合は、pとpとを結んだ経路について同様の検証を行い、障害物との干渉がない場合はpとpとを結んだ経路を新経路とする。pとpとを結んだ経路が障害物との干渉する場合は、この区間での平坦かは行われない。そして、平坦化後の終点から再度次の平坦化が行われる。例えば、pとpとを結んだ経路を新経路とした場合は、pをスタート点として次の平坦化処理が実行される。このようにして順次平坦化が行われる。この平坦化は、平坦化手段8によって行われる。
なお、何点先の点を指定した後、「スタート点から2点先の点から指定点までの間にある各点(指定点が2点先だと一致する)」と「スタート点」とを重複なくランダムに順次線分で結び、各線分に対して障害物との干渉を検証し、障害物と干渉しなかった場合にその線分で平坦化を行うようにしても良い。なお、障害物と干渉しない経路が発見できなかった場合は、その時間区間では平坦化処理は行われない。このようにして、仮設定された経路のスタート位置からゴール位置までの全てに関して平坦化を行う。
次に、平滑化について説明する。平滑化とは、上述したように設定された経路を滑らかな曲線にすることを指す(平滑化行程)。平坦化が終了した時点での経路は、各中間点において急激に方向が変わるものとなっている。これを、これを滑らかな曲線とすることで、ロボットアーム100の動きが滑らかとなるようになる。また、ここでは、平滑化後の経路が無限回微分可能な関数によって近似されるため、経路自体の滑らかさに加えて、その経路上の移動速度及び加速度の滑らかさも保証される。さらに、平滑化に際して、滑らかにした経路が障害物と干渉するか検証し、干渉する場合は衝突が回避されるまで平滑化が再履行される。このとき、回避できる経路の存在は平滑化の原理(追って詳しく説明する)によって保証されている。
平滑化に際しては、まず、次の条件(i)〜(iii)を満足するxの関数g(x)を一つ選んで固定する。
(i) 関数gは実ベクトル空間上で定義された無限回微分可能な関数であり、台(support)がコンパクトな非負関数である。
(ii) 関数gの台(support)は実ベクトル空間の原点中心の単位超球の内部に含まれている。
(iii)関数gは実ベクトル空間上で密度関数である。
この関数gを用いて、正数のパラメータdに対して、関数gを下記式(1)によって定義する。なお、下記式(1)中のNは実ベクトル空間の次元数である。
Figure 0004667764
実ベクトル空間V上で局所可積分な関数をfとすると、関数gと関数fとの合成積(関数f)は下記式(2)のように定義される。
Figure 0004667764
関数fに関数fを対応させる作用素はフリードリスクの軟化子と呼ばれている。このとき、「連続で台がコンパクトな連続関数fに対して、dが0に近づくとき、関数fは関数fに収束する。」という事実が知られている。この事実を根拠として、区分的に線形な経路(上述した中間点で折れ曲がる経路)の平滑化を行う。
実数上で定義された関数gとして、例えば下記(3)式で示される関数g(x)を用いる。この下記式(3)の関数g(x)は、台(support)が−1から1の間に含まれており、実数上で滑らか(無限回微分可能)な関数である。
Figure 0004667764
平滑化を説明するための図を図6に示す。図6では、平坦化後・平滑化前の時間−角度の関係が点線で示されており、平滑化後の時間−角度の関係が実線で示されている。また、p〜pが中間点位置での時間と角度の位置を示す点である。まず、平滑化経路の近似誤差を制御する誤差制御変数{d,d,d,d…}の設定方法について説明する。ここでは、誤差制御変数dについて説明するが、他の誤差制御変数も同様の手法によって設定される。
点pの座標を(t,θ)とし、この点を以下ノードと呼ぶこととする。p−pの間の時間(t−t)とp−p間の時間(t−t)とを比べると、ここでは、(t −t 間の時間の方が短い。そこで、誤差制御変数dの「最大値」を(t−t)/2とする。ノードp近傍の平滑化を行う場合には、制御誤差変数としてdを用いて平滑化を行う(式(1)のdとして誤差制御変数としてdを用いる)。即ち、ノードp近傍の平滑化を行う際には、誤差制御変数としてdを用いる。なお、平滑化を行うことで障害物と干渉するようになってしまう場合が考えられる。そこで、障害物との干渉を検証しながら平滑化が進められる(経路修正行程)。本実施形態では、平滑化行程と経路修正行程とが一体的に実施される。
ここで、dの「最大値」は(t−t)/2とされたが、誤差制御変数dの値が大きいほど、ノードp前後のより広い範囲で平滑化が行われることになり、経路はより滑らかになる。そこで、平滑化処理時には、誤差制御変数dとして小さい値から順次平滑化を行い、障害物と干渉しないもっと大きい値のdで確定する。また、dの値を大きい値から始めて平滑化を行うようにしても良い。誤差制御変数dを順次大きくしつつ、できる限り大きな誤差制御変数dを採用することで、より滑らかな平滑化を行える。なお、図6には、誤差制御変数p,pの双方とも、最大値が採用できた場合が示されている。この平滑化は平滑化手段9によって行われる。
上述した手法によれば、時間設定の手法から分かるように角速度が許容し得る最大角速度を超えるようなことはない。しかし、角加速度に関しては、平滑化後に、許容し得る最大角加速度を超えないことは保証されていない。そこで、角速度の最大許容角速度vmaxと同様に、角加速度についても最大許容角加速度amaxが予め設定される。そして、角加速度がこの最大許容角加速度amaxを超えないように、平滑化後の経路が修正される(時間修正行程)。この経路修正は、経路修正手段10によって行われる。この経路修正行程では、時間スケールが局所的に修正され、これによって角加速度が許容範囲内に納められる。
なお、以下、ある関節(手首位置Xを含む)を例にして説明するが、最終的には全ての関節(手首位置Xを含む)について同様のことが行われる。時間−角度、時間−角速度、時間−角加速度の関係を示した例を図7に示す。図7中、点線が平坦化後・平滑化前の経路についての角度・角速度・角加速度を示しており、実線が平滑化後の経路についての角度・角速度・角加速度を示している(角加速度に関しては、平坦化後・平滑化前の経路ではつねに0であるので図示を省略する)。図7からも分かるように、上述したノードを提示する時刻で角加速度は極大値・極小値をとる。ノード近傍の経路は、上述した合成積の関数fによって近似されているため、fの時間による2回導関数(∂/∂t)f(t)を求め、この2回導関数に各ノードを定義する時刻{t,t,t,…,t}を代入することで、各時刻での角加速度{(∂/∂t)f(t),(∂/∂t)f(t),(∂/∂t)f(t),…,(∂/∂t)f(t)}を求めることができる。
そして、求められた各時刻での角加速度{(∂/∂t)f(t),(∂/∂t)f(t),(∂/∂t)f(t),…,(∂/∂t)f(t)}のなかから、上述した最大許容角加速度amaxを超えるものを抽出する。なお、ここで、合成積の積分記号下の微分定理を利用すれば、導関数を容易に求められる。例えば、時刻tでの角加速度a=(∂/∂t)f(t)>amaxであった場合は、時刻t−dからt+dまでのΔt=2dの区間の時間を(a/amax)倍に引き延ばす。なお、dは、t近傍で用いられた誤差制御変数である。このように、時間軸を局所的に引き延ばすことで、角加速度は許容範囲内に修正される。
なお、ある関節について、角加速度条件から時間軸の引き延ばしが行われた場合は、同時刻における他の関節における角加速度が許容範囲内であっても、全ての関節についての時間軸も引き延ばされ、全体としての制御タイミングが一致するようになされる。この後、各関節ジョイント部102(手首位置Xを含む)に関して角度、角速度、角加速度の時間に関するグラフを作成すれば、全ての関節について角度、角速度、角加速度の滑らかな設計が完了している。
なお、本発明は上述した実施形態に限定されるものではない。例えば、上述した本実施形態では、関数g(x)として式(3)で示されたものを用いたが、条件(i)〜(iii)が満たされれば、他の関数を用いても良い。また、上述した実施形態では、多関節ロボットアーム100の経路を設定する場合を説明した。しかし、本発明は、ロボットアームの移動経路以外にも適用することができ、自動機械の全体の移動経路や、自動機械の一部(上述したアームなど)の移動経路を設定する場合などにも適用することができる。
本発明の経路設定方法の一実施形態を実施する装置の構成図である。 本発明の経路設定方法の一実施形態によって制御される他関節ロボットアームを示す図である。 各中間点間の時間を一定とした場合の時間−関節角度のグラフである。 時間設定後の時間−関節角度のグラフであり、(a)は関節Aについての、(b)は他の関節Bについてのグラフである。 平坦化を説明する時間−関節角度のグラフである。 平滑化を説明する時間−関節角度のグラフである。 (a)時間−角度、(b)時間−角速度、(c)時間−角加速度の関係を示すグラフである。
符号の説明
1…経路生成手段、2…外部環境情報入力手段、3…経路出力手段、4…環境情報記憶手段、5…スタート・ゴール位置決定手段、6…中間点生成手段、7…時間設定手段、8…平坦化手段、9…平滑化手段、10…経路修正手段、100…多関節ロボットアーム、101…リンク、102…関節ジョイント、103…把持部。

Claims (4)

  1. 自動機械の全体又は一部分の移動経路を設定する経路設定方法において、
    前記自動機械の全体又は一部分を経路設定対象部として、該経路設定対象部の初期位置から最終位置の間に複数の中間点を仮設定する中間点設定行程と、
    前記経路設定対象部が前記中間点の間を移動する時間を設定する時間設定行程と、
    所定の中間点と前記初期位置、前記所定の中間点と他の中間点、又は前記所定の中間点と前記最終位置とを結んで、障害物との干渉がない場合は、前記所定の中間点と前記初期位置との間、前記所定の中間点と前記他の中間点との間、又は前記所定の中間点と前記最終位置との間に存在する中間点を省略することで、仮設定された前記経路を平坦化する平坦化行程と、
    任意の中間点を直線的に結んだ状態の平坦化後の前記経路を、近似誤差を制御する変数に基づいて滑らかな経路に変更することで平滑化する平滑化行程と、
    平滑化後の前記経路が障害物と干渉するか否かを判定し、障害物と干渉する場合は前記経路上の障害物との干渉部分近傍を局所的に変更することで経路修正する経路修正行程とを備え
    前記平滑化行程において、前記任意の中間点のうち時間t に係る中間点p を平滑化する場合、
    前記中間点p に対して前記近似誤差を制御する変数である誤差制御変数d が設定され、(t −d )から(t +d )の範囲で前記経路を無限回数微分可能な関数で近似することで平滑化が行われ、
    前記中間点p の隣の中間点p i−1 と前記中間点p との間の時間を(t −t i−1 )とし、前記中間点p と当該中間点p の隣の中間点p i+1 との間の時間を(t i+1 −t )とした場合、
    前記誤差制御変数d は、(t −t i−1 )/2と(t i+1 −t )/2のうち、何れか小さい方の値以下の値に設定され、
    前記経路修正行程においては、前記誤差制御変数d を変更することで経路修正が行われることを特徴とする経路設定方法。
  2. 前記自動機械が、複数のリンク部材を関節ジョイントを介して互いに接合したアームであり、該アームの移動経路を設定する経路設定方法において、
    前記時間設定行程において、各関節ジョイント部分の最大角速度を考慮して、各中間点間の移動時間が設定されることを特徴とする請求項1に記載の経路設定方法。
  3. 前記自動機械が、複数のリンク部材を関節ジョイントを介して互いに接合したアームであり、該アームの移動経路を設定する経路設定方法において、
    前記平滑化行程において、各関節ジョイント部分の角度を時間の関数として捉え、時間の関数である各関節ジョイントの角度を無限回微分可能な関数で近似することで平滑化を行うことを特徴とする請求項1又は2に記載の経路設定方法。
  4. 各関節ジョイント部分の角加速度が所定の最大角加速度を超えた場合に、最大角加速度を超える時刻近傍において局所的に時間設定変更を行う時間修正行程をさらに備えていることを特徴とする請求項3に記載の経路設定方法。
JP2004128866A 2004-04-23 2004-04-23 経路設定方法 Expired - Fee Related JP4667764B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004128866A JP4667764B2 (ja) 2004-04-23 2004-04-23 経路設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004128866A JP4667764B2 (ja) 2004-04-23 2004-04-23 経路設定方法

Publications (2)

Publication Number Publication Date
JP2005309990A JP2005309990A (ja) 2005-11-04
JP4667764B2 true JP4667764B2 (ja) 2011-04-13

Family

ID=35438663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004128866A Expired - Fee Related JP4667764B2 (ja) 2004-04-23 2004-04-23 経路設定方法

Country Status (1)

Country Link
JP (1) JP4667764B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4613539B2 (ja) * 2004-07-16 2011-01-19 トヨタ自動車株式会社 ロボットの動作計画方法
US8055383B2 (en) 2005-05-13 2011-11-08 Toyota Jidosha Kabushiki Kaisha Path planning device
JP4941068B2 (ja) * 2007-04-16 2012-05-30 トヨタ自動車株式会社 経路作成方法及び経路作成装置
JP5089530B2 (ja) * 2008-08-21 2012-12-05 株式会社神戸製鋼所 ロボット走行台車の移動経路の決定方法及びその決定方法を実施可能なロボットシステム
US8515612B2 (en) 2008-09-03 2013-08-20 Murata Machinery, Ltd. Route planning method, route planning device and autonomous mobile device
WO2014156784A1 (ja) * 2013-03-26 2014-10-02 Ntn株式会社 リンク作動装置の制御装置
JP5976580B2 (ja) * 2013-03-26 2016-08-23 Ntn株式会社 リンク作動装置の制御装置
JP6717164B2 (ja) * 2016-11-04 2020-07-01 トヨタ自動車株式会社 動作経路計画方法
US11458626B2 (en) 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP7158862B2 (ja) * 2018-02-05 2022-10-24 キヤノン株式会社 情報処理方法及び情報処理装置
JP7067289B2 (ja) * 2018-06-08 2022-05-16 トヨタ自動車株式会社 動作計画装置及び動作計画方法
JP7351672B2 (ja) * 2019-08-07 2023-09-27 ファナック株式会社 移動経路生成装置
JP7262373B2 (ja) * 2019-11-19 2023-04-21 株式会社日立製作所 軌道計画生成装置、軌道計画生成方法、および軌道計画生成プログラム
CN111256722B (zh) * 2020-02-28 2023-08-01 广东博智林机器人有限公司 一种路径规划方法、装置、设备和存储介质
JP2022139972A (ja) * 2021-03-12 2022-09-26 オムロン株式会社 制御装置、ラック、制御システム、制御方法及びプログラム
JP2022141066A (ja) * 2021-03-15 2022-09-29 オムロン株式会社 制御装置、制御システム、制御方法及びプログラム
DE112021007992T5 (de) * 2021-10-08 2024-05-02 Fanuc Corporation Steuergerät und computerlesbares Aufzeichnungsmedium mit Speicherprogramm

Also Published As

Publication number Publication date
JP2005309990A (ja) 2005-11-04

Similar Documents

Publication Publication Date Title
JP4667764B2 (ja) 経路設定方法
KR101798652B1 (ko) 매니퓰레이터를 제어하기 위한 방법 및 장치
US8219246B2 (en) System and method for controlling a robotic arm
US8055383B2 (en) Path planning device
JP5044991B2 (ja) 経路作成装置及び経路作成方法
KR20120073616A (ko) 로봇의 경로 계획 장치 및 그 방법
JP2008105132A (ja) アームの関節空間における経路を生成する方法と装置
JP5659890B2 (ja) ロボットの軌道計画システム及び軌道計画方法
US20110224815A1 (en) Industrial Robot And Path Planning Method For Controlling The Movement Of An Industrial Robot
JP2008269021A (ja) 経路作成方法及び経路作成装置
JPH01316187A (ja) 関節式アームの移動制御方法
CN114137951A (zh) 一种联机机器人运动规划的框架
JP2019135076A (ja) 軌道生成方法および軌道生成装置
JP2009053926A (ja) 経路計画装置及び経路計画方法
JP4760732B2 (ja) 経路作成装置
JP7028151B2 (ja) 軌道生成装置
JP2009134352A (ja) ロボットの動作経路作成装置及びロボットの動作経路作成方法
JP2007000954A (ja) ロボット教示装置及び方法
JP2006048372A (ja) 経路計画方法
CN111283683B (zh) 一种机器人视觉特征规划轨迹的伺服跟踪加速收敛方法
JP7210201B2 (ja) 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法
WO2020161910A1 (ja) 制御装置、制御方法、記録媒体
EP2345512A1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (N>5)
US20110264265A1 (en) Robot, control system, and recording medium for control program
CN113650011A (zh) 一种机械臂拼接路径规划方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080829

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090422

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090508

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101202

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

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4667764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees