経路計画装置及び経路計画方法
【課題】経路計画の演算が迅速に行え、移動体の移動経路の平滑化が図れる経路計画装置及び経路計画方法を提供すること。
【解決手段】移動体の経路計画を行う経路計画装置1であって、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数T(x)を用いてロボットの移動部分の移動経路の平滑化を行う移動経路平滑化部21を備えている。このテナリー多項式関数を用いて移動体の移動経路の平滑化を行うことにより、移動体の平滑な移動経路を迅速
【解決手段】移動体の経路計画を行う経路計画装置1であって、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数T(x)を用いてロボットの移動部分の移動経路の平滑化を行う移動経路平滑化部21を備えている。このテナリー多項式関数を用いて移動体の移動経路の平滑化を行うことにより、移動体の平滑な移動経路を迅速
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体の経路計画を行う経路計画装置及び経路計画方法に関するものである。
【背景技術】
【0002】
従来、移動体の経路計画を行う装置及び方法として、特開2003−241811号公報に記載されるように、予め指定された直線軌跡開始点と終了点の区間において加速度一定としたときの3次元空間中の線速度プロファイル、線速度プロファイルの1階微分値としての線加速度プロファイル、及び線速度プロファイルの2階微分値としての線加加速度プロファイルを生成し、これらの線速度プロファイル等に対してフィルタ処理を施すことによって平滑化された線速度プロファイル、平滑化された線加速度プロファイル、及び平滑化された線加加速度プロファイルをそれぞれ生成し、これらの平滑化された線速度プロファイル等に基づいて補間周期毎の補間点の3次元位置を生成し、補間周期毎の補間点の3次元位置に対して逆キネマティクス演算を実施することによりロボット各関節軸の指令位置を生成し、ロボット各関節軸の指令位置に基づいてロボット各関節軸を動作させるものが知られている。
【0003】
このようなロボットなどの移動体の経路計画を生成するにあたり、リアルタイムで移動体の動作を制御するためには、経路計画の演算を迅速に行うことが必要となってくる。
【特許文献1】特開2003−241811号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、このような経路計画の装置及び方法において、移動体の移動経路の平滑化、移動速度などの平滑化を図る上で経路計画の演算を迅速に行うことが難しい。例えば、移動速度を増減させる速度プロファイルを生成する場合、平滑化を図るためにS字状に速度を変化させようとすると、速度変化状態に応じて移動経路を複数の区間に分割し、その区間数に応じて複数の連立方程式を解いて区間における時間などを計算する必要がある。このため、経路計画の演算が複雑なものとなり、移動体の移動中にリアルタイムで経路演算することは非常に困難である。
【0005】
そこで本発明は、このような問題点を解決するためになされたものであって、経路計画の演算が迅速に行え、移動体の移動経路の平滑化が図れる経路計画装置及び経路計画方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
すなわち、本発明に係る経路計画装置は、移動体の経路計画を行う経路計画装置において、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて前記移動体の移動経路上における位置の時間微分量の平滑化を行う移動経路平滑化手段を備えて構成されている。
【0007】
この発明によれば、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて移動体の移動経路上における位置の時間微分量の平滑化を行うことにより、移動体の平滑な移動経路を迅速に算出することができる。
【0008】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことが好ましい。
【0009】
この発明によれば、テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことにより、移動経路の軌跡が平滑なものとなり、移動体の移動経路の円滑かつ高速な移動が可能となる。
【0010】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、移動経路を直線経路区間と曲線経路区間に分別し、その曲線経路区間の経路の軌跡を前記テナリー多項式関数を用いて平滑化することが好ましい。
【0011】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことが好ましい。
【0012】
この発明によれば、テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことにより、移動速度の移動速度が平滑なものとなり、速度、加速度、ジャークなどの制限下で円滑かつ高速な移動が可能となる。
【0013】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、移動経路を複数の区間に分別し、その区間における速度プロファイルを前記テナリー多項式関数を用いて生成することが好ましい。
【0014】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、移動経路を複数の区間に分別し、区間と区間の繋ぎ目の速度を設定し、その設定された速度に応じて各区間における初速度と終速度を決定し、この初速度と終速度に基づいて前記区間の速度プロファイルを生成することが好ましい。
【0015】
この発明によれば、移動経路を複数の区間に分別し、区間と区間の間の速度を設定し、その設定された速度に応じて各区間の初速度と終速度を決定し、初速度と終速度に基づいて区間の速度プロファイルを生成することにより、区間と区間の間の移動速度の連続性が良好なものとなり、移動経路全体の平滑化が図れる。
【0016】
また本発明に係る経路計画装置において、前記テナリー多項式関数は、次の式(1)に示されるものであることを特徴とする請求項1〜6のいずれか一項に記載の経路計画装置。
【数1】
【0017】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)。C、a0は定数。iは0又は正の整数。
【0018】
この発明によれば、テナリー多項式関数を用いて移動経路を平滑化することにより、移動経路の速度、加速度、ジャークなどの制限や移動経路の軌跡の微分係数に対する制限に対応しつつ平滑な移動経路を迅速に演算することができる。
【0019】
また本発明に係る経路計画方法は、移動体の経路計画を行う経路計画方法において、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて前記移動体の移動経路上における位置の時間微分量の平滑化を行う移動経路平滑化工程を備えて構成されている。
【0020】
この発明によれば、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて移動体の移動経路上における位置の時間微分量の平滑化を行うことにより、移動体の平滑な移動経路を迅速に算出することができる。
【0021】
また本発明に係る経路計画方法において、前記移動経路平滑化工程は、前記テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことが好ましい。
【0022】
この発明によれば、テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことにより、移動経路の軌跡が平滑なものとなり、移動体の移動経路の円滑かつ高速な移動が可能となる。
【0023】
また本発明に係る経路計画方法において、前記移動経路平滑化工程は、移動経路を直線経路区間と曲線経路区間に分別し、その曲線経路区間の経路の軌跡を前記テナリー多項式関数を用いて平滑化することが好ましい。
【0024】
また本発明に係る経路計画方法において、前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことが好ましい。
【0025】
この発明によれば、テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことにより、移動速度の移動速度が平滑なものとなり、速度、加速度、ジャークなどの制限下で円滑かつ高速な移動が可能となる。
【0026】
また本発明に係る経路計画方法において、前記移動経路平滑化工程は、移動経路を複数の区間に分別し、その区間における速度プロファイルを前記テナリー多項式関数を用いて生成することが好ましい。
【0027】
また本発明に係る経路計画方法において、前記移動経路平滑化工程は、移動経路を複数の区間に分別し、区間と区間の繋ぎ目の速度を設定し、その設定された速度に応じて各区間における初速度と終速度を決定し、この初速度と終速度に基づいて前記区間の速度プロファイルを生成することが好ましい。
【0028】
この発明によれば、移動経路を複数の区間に分別し、区間と区間の間の速度を設定し、その設定された速度に応じて各区間の初速度と終速度を決定し、初速度と終速度に基づいて区間の速度プロファイルを生成することにより、区間と区間の間の移動速度の連続性が良好なものとなり、移動経路全体の平滑化が図れる。
【0029】
また本発明に係る経路計画方法において、前記テナリー多項式関数は、次の式(1)に示されるものであることが好ましい。
【数1】
【0030】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)。C、a0は定数。iは0又は正の整数。
【0031】
この発明によれば、テナリー多項式関数を用いて移動経路を平滑化することにより、移動経路の速度、加速度、ジャークなどの制限や移動経路の軌跡の微分係数に対する制限に対応しつつ平滑な移動経路を迅速に演算することができる。
【発明の効果】
【0032】
本発明によれば、テナリー多項式関数を用いて移動体の移動経路を演算することにより、経路計画の演算が迅速に行え、移動体の移動経路の平滑化を図ることができる。
【発明を実施するための最良の形態】
【0033】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0034】
図1は本実施形態に係る経路計画装置の概略構成図である。
【0035】
本実施形態に係る経路作成装置1及び経路作成方法は、多自由度リンク系のロボットの動作経路を作成する経路作成装置に適用したものである。本実施形態に係る経路作成装置1及び経路作成方法は、ロボットの移動部分が設定位置から他の設定位置までの動作する際の動作経路を作成する。
【0036】
経路計画装置1は、ロボットの移動部分の移動経路(動作経路)について空間的な平滑化及び移動速度の平滑化の処理を行い、ロボットの移動部分の移動経路を生成する。ここで移動経路とは、位置などの空間的な移動経路のみならず、移動部分の速度、加速度、ジャークなどの時間的な要素を含むものである。
【0037】
図1に示すように、経路計画装置1は、経路演算部2、記録部3及び出力部4を備えている。経路演算部2は、移動経路平滑化部21、移動速度演算部22、全体経路速度平滑化部23を備えている。記録部3は、周辺情報記録部31、経路記録部32及びロボット情報記録部33を備えている。経路演算部2は、ロボットの移動部分の経路演算に際し、必要な情報を記録部3から適宜入力する。
【0038】
この経路計画装置1は、例えばCPU、ROM、RAMを含むコンピュータを主体として構成され、移動経路平滑化部21、移動速度演算部23、全体経路速度平滑化部23及び出力部4の機能をコンピュータプログラムによって実行可能に構成されている。なお、経路計画装置1において、移動経路平滑化部21、移動速度演算部23、全体経路速度平滑化部23及び出力部4の一部又は全部を個別のハードウェア装置により構成して機能させるものであってもよい。
【0039】
移動経路平滑化部21は、移動経路の空間的な平滑化を行う移動経路平滑化手段であり、例えば取得した暫定的な移動経路の平滑化を行うものであって、特に基本移動経路の曲折部分の曲率又は曲率半径が所定条件を満たすように曲線経路区間における経路生成を行う。この経路生成の際、テナリー多項式(Ternary Polynomial)関数が用いられる。テナリー多項式関数を用いることにより、平滑化された移動経路を迅速に演算することができる。テナリー多項式関数の詳細については、後述する。
【0040】
例えば、図2に示すように、移動経路平滑化部21には、移動部分周辺にある障害物Aを避けるように直線的な経路部分を接続した移動基本経路Pが与えられる。この移動基本経路Pは、ロボットがカメラやセンサなどの周辺環境検出手段によって検出し認識した経路であってもよいし、ロボット外部から与えられた経路や予め設定された経路であってもよい。
【0041】
そして、移動経路平滑化部21は、図3に示すように、移動基本経路Pを直線経路区間(P0、P2、P4、P6、P7、P9)と曲線経路区間(P1、P3、P5、P8)に分別して設定し、曲線経路区間について所定条件下で曲率又は曲率半径をそれぞれ設定しつつ、その区間の経路を演算する。
【0042】
図1において、移動速度演算部22は、移動経路の速度変化に関する平滑化を行い、移動経路の区間における移動速度プロファイルを生成する移動速度演算手段として機能するものである。例えば、移動速度演算部22は、ロボットにおける速度、加速度(減速度を含む)、ジャークなどの速度に関する条件を満たしつつ、移動時間が短くなるように直線経路区間における移動速度プロファイルを生成する。この移動速度プロファイルの生成の際、テナリー多項式関数が用いられる。テナリー多項式関数を用いることにより、平滑化された移動速度プロファイルを迅速に演算することができる。
【0043】
全体経路速度平滑化部23は、移動経路の各区間の間における速度の連続性を考慮し速度変化の平滑化を図るものである。例えば、全体経路速度平滑化部23は、まず最大許容加速度での速度を用いて生成した直線経路区間の速度プロファイルを曲線経路区間の速度制限を考慮して修正し、各区間の速度の連続性を担保して平滑化した全体経路の速度プロファイルを生成する。
【0044】
周辺情報記録部31は、ロボットの移動部分の周辺環境における情報を記録するものであり、例えばロボットの移動部分の動作に対する障害物の位置情報などを記録している。経路記録部32は、ロボットの移動部分の移動経路について演算したものを記録するものである。ロボット情報記録部33は、ロボットの移動部分における情報を主に記録するものであり、例えば移動部分における最大許容速度、最大許容加速度、最大許容ジャークなどが記録している。
【0045】
記録部3には、移動経路情報が入力される。移動経路情報は、ロボットの移動部分の移動経路に関する情報であり、例えば障害物を避けて移動可能な領域情報などが該当する。この移動経路情報は、ロボット外部から入力されるものでもよいし、ロボットのカメラやセンサなどにより自律的に取得した情報であってもよい。出力部4は、ロボットの移動部分を移動させるアクチュエータ10に作動信号を出力するものである。
【0046】
図4は本実施形態に係る経路計画装置及び経路計画方法を適用したロボットの一例を示す図であり、図5は本実施形態に係る経路計画装置及び経路計画方法を適用したロボットの他の例を示す図である。
【0047】
図4に示すように、ロボットR1は、多数の関節J1,・・・,Jnを備えており、関節間がリンクL1,・・・,Ln+1で接続されている。また、ロボットR1は、末端のリンクL1の一端が固定され、先端のリンクLn+1の一端にハンドHが取り付けられている。各関節J1,・・・,Jnは、アクチュエータ10が内蔵されており、回転動作をそれぞれ行い、接続される2本のリンク間の角度X1,・・・,Xnをそれぞれ変更する。
【0048】
このロボットR1は、n個の自由度を持つ。この自由度は、n個の角度に対して座標軸を持つn次元座標空間(コンフィグレーション空間)における一点(X1,・・・,Xn)で表される。また、ロボットR1の実際の位置姿勢は、三次元空間(作業空間)におけるロボットR1の先端部T(リンクLn+1とハンドHとの取付部)の座標系(Y1,Y2,Y3)で表される。ロボットR1の先端部Tは、コンフィグレーション空間から作業空間への非線形写像の値として、Y1=f1(X1,・・・,Xn)、Y2=f2(X1,・・・,Xn)、Y3=f3(X1,・・・,Xn)で定義される。したがって、コンフィグレーション空間の(X1,・・・,Xn)を規定すると、作業空間の(Y1,Y2,Y3)が決まる。
【0049】
このロボットR1は、ハンドHもしくは先端部Tがロボットの移動部分として機能し、アクチュエータ10への制御信号の出力によりハンドHもしくは先端部Tの移動制御を行うことができる。
【0050】
また、図5にはロボットの他の例を示している。ロボットR2は、人型のロボットであり、左右一対のアーム部A1,A2とハンドH1,H2を有している。ロボットR2は、10個の関節J1,・・・,Jnを備えており、10個の自由度を持つ。ロボットR2は、自由度がコンフィグレーション空間における座標系(X1,・・・,X10)で表され、実際の位置姿勢が作業空間における各先端部T1,T2の座標系(Y11,Y12,Y13)、(Y21,Y22,Y23)で表される。ロボットR2の場合、コンフィグレーション空間の(X1,・・・,X10)を規定すると、作業空間の(Y11,Y12,Y13)、(Y21,Y22,Y23)が決まる。
【0051】
このロボットR2は、ハンドH1、H2もしくは先端部T1、T2がロボットの移動部分として機能し、アクチュエータ10への制御信号の出力によりハンドH1、H2もしくは先端部T1、T2の移動制御を行うことができる。
【0052】
図6(a)〜(d)は、テナリー多項式関数T(x)の一例をグラフ表示した図である。
【0053】
テナリー多項式関数は、関数値の増加領域、一定領域、減少領域の三領域を有し、一定領域を挟んで増加領域と減少領域が対称に表される多項式関数である。
【0054】
このテナリー多項式関数T(x)は、例えば次の式(1)により表される。
【数1】
【0055】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)である。C、a0は定数である。iは0又は正の整数である。
【0056】
図6(a)は、テナリー多項式関数の次数0のT0(x)を示したものであり、矩形波状のプロファイルとなっている。図6(b)は、テナリー多項式関数の次数1のT1(x)を示したものであり、台形状のプロファイルとなっている。図6(c)は、テナリー多項式関数の次数2のT2(x)を示したものであり、滑らかに変化する台形状のプロファイルとなっている。図6(d)は、テナリー多項式関数の次数3のT3(x)を示したものであり、滑らかに変化する台形状のプロファイルとなっている。
【0057】
図7に示すように、テナリー多項式関数Ti(x)は、Ti(x)−xの座標系においてTi(x)の波形を原点を中心に点対称に振り分けてT′i+1(x)を生成し、このT′i+1(x)を積分することによって、一つ次数の高いTi+1(x)を生成することができる。
【0058】
例えば、T0(x)からT2(x)を生成する場合、T0(x)を対称分割(対称振分け)し積分してT1(x)を生成し、T1(x)を対称分割し積分してT2(x)を生成してもよいし、T0(x)を対称分割した後、さらに対称分割してT″2(x)を生成し、T″2(x)を二回積分してT2(x)を生成してもよい。
【0059】
また、図8に示すように、T1(x)からT2(x)を生成する場合、T0(x)を積分し、T0(x)を積分したものをx軸を中心に線対称に変換して対称化し、T0(x)を積分したものを−(a2−a1)/2だけx軸に沿って移動させ、T0(x)を積分し対称化したものを(a2−a1)/2だけx軸に沿って移動させ、それぞれ移動させたものを合成して、T2(x)を生成してもよい。
【0060】
テナリー多項式関数T(x)におけるC、a0などの定数は、ロボットの移動部分における動作の制限値(上限値、下限値)に応じて設定すればよい。例えば、テナリー多項式関数T(x)を用いて移動部分の速度プロファイルを生成する場合、図7において、T2(x)を速度プロファイルとして設定すると、T2′(x)は加速度状態を示し、T2″(x)がジャーク状態を示すこととなる。
【0061】
このため、T2″(x)の制限値C、−Cとして移動部分のジャーク上限値、下限値を設定し、T2′(x)の制限値C・a0、−C・a0として移動部分の加速度上限値、下限値を設定し、T2(x)の制限値C・(a1−a0)・a0として移動部分の速度制限値を設定することにより、一義的に定数C、a0、a1の値が決まる。
【0062】
このようなテナリー多項式関数T(x)は、速度、加速度、ジャークなどの微分係数の制限を満たす演算が迅速に行える。このため、テナリー多項式関数T(x)を用いて移動経路の演算を行うことにより、速度などの所定の制限を満たす移動経路を迅速に演算することができる。
【0063】
次に、本実施形態に係る経路計画装置の動作及び経路計画方法について説明する。
【0064】
図9に本実施形態に係る経路計画装置の動作及び経路計画方法についてのフローチャートを示す。
【0065】
まず、図9のS10に示すように、移動経路の取得処理が行われる。移動経路の取得処理は、ロボットの移動部分の基本的な移動基本経路を取得する処理であり、例えばロボットに設置されるカメラやセンサなどの周辺環境検出手段によって移動基本経路を取得する。また、ロボットに予め設定された経路を移動基本経路として設定してもよいし、ロボット外部から与えられた経路を移動基本経路としてもよい。
【0066】
この移動経路の取得処理により、例えば、図2に示すように、移動基本経路Pが取得される。なお、この移動基本経路Pは平滑化を行う前の仮の経路である。取得された移動基本経路Pは経路記録部32に記録される。
【0067】
そして、S20に移行し、移動経路の区間設定処理が行われる。この区間設定処理は、移動経路を直線経路区間と曲線経路区間に分けて設定する処理である。例えば、図2に示すように、移動基本経路Pにおいて、経路の曲折箇所Pcから所定の距離範囲までの区間が曲線経路区間とされ、それ以外の区間が直線経路区間とされる。
【0068】
そして、S30に移行し、移動経路の空間的平滑化処理が行われる。この空間的平滑化処理は、移動経路における曲線経路区間の曲率を小さくし又は曲率半径を大きくして経路の空間的な平滑化を図る処理である。例えば、曲線経路区間において平滑化されたパス微分係数に対する制限を満足するようにカーネル関数の最適カーネルパラメータが計算され、そのカーネル関数によって曲線経路区間の経路軌跡が演算される。
【0069】
その際、経路軌跡が障害物に衝突しないか否かが判断され、衝突する場合には曲率の大きい経路が演算される。このとき、曲率が設定値以上大きくなってしまう場合には、経路の平滑化が行われず、その曲線経路区間については曲折した二つの直線経路とされる。このような曲折した経路においては、ロボットの移動部分は移動を停止することとなる。
【0070】
ここで、カーネル関数をK(x)とすると、このカーネル関数K(x)は、次の式(2)に示すように、テナリー多項式関数T(x)を用いたものが用いられる。
【数2】
【0071】
この式(2)のカーネル関数K(x)において、曲線経路区間の曲折箇所の形状に応じて定数an−2などを設定し、また関数の次数を設定することで適切な経路軌跡を生成することができる。
【0072】
このような移動経路の空間的平滑化処理によって、移動経路の曲折部が平滑化され、図3に示すように経路区間P0〜P9からなる移動経路が生成される。
【0073】
そして、S40に移行し、移動速度平滑化処理が行われる。移動速度平滑化処理は、移動経路における平滑化された速度プロファイルを生成する処理である。例えば、この移動速度平滑化処理は、経路区間の繋ぎ目における速度設定処理を行い、各区間の速度プロファイル生成処理を行い、各区間の速度プロファイルを繋ぎ合わせて移動経路全体の速度プロファイルを生成して、行われる。
【0074】
経路区間の繋ぎ目における速度設定処理は、ロボットの移動部分の最大許容加速度、最大許容速度、曲線経路区間での制限速度に応じ、区間と区間の間の繋ぎ目における速度設定を行う処理である。
【0075】
例えば、図10(a)に示すように、まず移動経路の進行方向について、正の加速度を考慮し、フォワードフェーズ処理が行われる。フォワードフェーズ処理は、各区間を最大速度で移動した場合におけるに各区間の繋ぎ目の速度を演算する処理である。
【0076】
そして、図10(b)に示すように、移動経路の進行の逆方向について、負の加速度を考慮し、バックフェーズ処理が行われる。バックフェーズ処理は、先の区間での減速や停止を考慮してフォワードフェーズ処理にて演算された速度を下方修正する処理である。このバックフェーズ処理により、各区間の繋ぎ目の速度が修正される。
【0077】
このようなフォワードフェーズ処理及びバックフェーズ処理を含む速度設定処理を行うことにより、各区間の繋ぎ目の速度が設定され、各区間における初速度、終速度が決定される(図10(c)参照)。
【0078】
各区間の速度プロファイル生成処理は、各区間における初速度、終速度、距離、最大許容速度、最大許容加速度、最大許容ジャークなどを考慮して行われる。
【0079】
図11に速度プロファイル生成処理における速度プロファイル生成過程の説明図である。
【0080】
例えば、初速度V0、終速度Vfの経路区間の速度プロファイルを生成する場合について説明すると、まず、図11(a)に示すように、区間の始点から円滑に加速するプロファイルが生成される。このプロファイルは、初速度V0から終速度Vfに加速する速度プロファイルである。
【0081】
このとき、速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、図12に示すように、テナリー多項式関数T(x)の変数xとして時間tが設定され、T2(t)が速度プロファイルとして算出される。
【0082】
まず、図12(a)に示すように、まず初速度0から最高速Vf−V0に増加した後、終速度0となるT2(t)が生成される。このとき、T2(t)の最大加速度、最大ジャークが最大許容加速度、最大許容ジャークとなるようにする。すなわち、T2(t)の最大加速度、最大ジャークが最大許容加速度、最大許容ジャークとなるようにT′2(t)、T″2(t)を設定し、このように設定したT′2(t)、T″2(t)からT2(t)を生成する。これにより、短い時間で移動可能となる速度プロファイルが生成できる。
【0083】
そして、生成したT2(t)をV0だけ関数値増加方向に平行移動し、初速度V0から終速度Vfまでのプロファイルが演算される(図12(a)の右図参照)。
【0084】
そして、図11(b)に示すように、区間の終点に向けて減速するプロファイルが生成される。このプロファイルは、速度V1から終速度Vfに減速する速度プロファイルである。V1としては、最高許容速度より遅い速度値であって、最高許容速度に近い値が設定される。
【0085】
このとき、速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、上述した図12に示す手法を用い、テナリー多項式関数T(x)の変数xとして時間tを設定し、T2(t)を速度プロファイルとして算出すればよい。
【0086】
そして、図11(c)に示すように、区間の始点から加速するプロファイルの補正が行われる。このプロファイル生成は、初速度V0から速度V1に加速する速度プロファイルの生成である。
【0087】
この速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、上述した図12に示す手法を用い、テナリー多項式関数T(x)の変数xとして時間tを設定し、V0からV1に加速するT2(t)を速度プロファイルとして算出すればよい。
【0088】
ここで、図11(c)に示すように生成された速度プロファイルにおいて、より加速させるために使用可能な距離が設定距離より長い場合には、速度V1より速い速度V2が設定され、速度プロファイルが補正される。
【0089】
すなわち、図11(d)に示すように、まず、区間の終点に向けて減速する速度プロファイルの補正が行われる。この速度プロファイルの補正は、速度V2から終速度Vfに減速する速度プロファイルである。V1としては、最高許容速度より遅い速度値であって、速度V1より速い速度値である。
【0090】
このとき、補正速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、上述した図12に示す手法を用い、テナリー多項式関数T(x)の変数xとして時間tを設定し、T2(t)を速度プロファイルとして算出すればよい。
【0091】
次いで、図11(e)に示すように、区間の始点から加速する速度プロファイルの補正が行われる。この速度プロファイルの補正は、初速度V0から速度V2に加速する速度プロファイルを生成して行われる。
【0092】
この速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、上述した図12に示す手法を用い、テナリー多項式関数T(x)の変数xとして時間tを設定し、V0からV2に加速するT2(t)を速度プロファイルとして算出すればよい。
【0093】
このような各区間の速度プロファイル生成処理によれば、ロボットの移動部分が経路区間内を円滑な速度変化状態で移動し、短時間で移動可能な速度プロファイルを生成することができる。
【0094】
また、各区間の速度プロファイル生成処理としては、上述した処理に限られず、テナリー多項式関数T(x)を用いた他の処理によって行われてもよい。
【0095】
例えば、初速度V0、終速度Vfの経路区間の速度プロファイルを生成する場合、図13に示すように、まず、区間の始点から初速度V0から最高許容速度VMaxに加速する速度プロファイルを生成し(図13(a))、区間の終点に向けて最高許容速度VMaxから終速度Vfまで減速する速度プロファイルを生成し(図13(b))、加速する速度プロファイルと減速する速度プロファイルと間の期間を最高許容速度VMaxとして速度プロファイルを生成し、それらの速度プロファイルを合成する。
【0096】
この場合、経路区間を最短時間で移動可能であって平滑化された速度プロファイルを生成することができる。特に経路区間の距離が十分に長い場合に有効である。
【0097】
このように、各区間の速度プロファイルを生成したら、図10(c)に示すように、各区間の速度プロファイルを繋ぎ合わせて移動経路全体の速度プロファイルを生成する。
【0098】
そして、図9のS50に移行し、出力処理が行われる。出力処理は、生成した移動経路の速度プロファイルを経路記録部32に記録すると共に、その速度プロファイルに応じて移動制御信号をアクチュエータ10に出力する処理である。これにより、アクチュエータ10が作動し、ロボットの移動部分が平滑に移動し、短い時間で所定の動作を行う。
【0099】
以上のように、本実施形態に係る経路計画装置及び経路計画方法によれば、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて移動体の移動経路上における位置の時間微分量の平滑化を行うことにより、移動体の平滑な移動経路を迅速に算出することができる。
【0100】
特に、テナリー多項式関数として式(1)に示されるものを用いることにより、移動経路の速度、加速度、ジャークなどの制限や移動経路の軌跡の微分係数に対する制限に対応しつつ平滑な移動経路を迅速に演算することができる。このため、ロボットの移動部分の移動中にリアルタイムで移動経路の演算が可能となる。従って、移動途中に障害物などを検出した場合、それを回避する移動経路を演算して移動停止することなく移動動作を継続することができる。
【0101】
また、テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことにより、移動経路の軌跡が平滑なものとなり、移動体の移動経路の円滑かつ高速な移動が可能となる。その際、テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことにより、移動速度の移動速度が平滑なものとなり、速度、加速度、ジャークなどの制限下で円滑かつ高速な移動が可能となる。
【0102】
また、移動経路を複数の区間に分別し、区間と区間の間の速度を設定し、その設定された速度に応じて各区間の初速度と終速度を決定し、初速度と終速度に基づいて区間の速度プロファイルを生成することにより、区間と区間の間の移動速度の連続性が良好なものとなり、移動経路全体の平滑化が図れる。
【0103】
この場合、他の多項式補間法と異なり、移動経路の速度、加速度、ジャークなどの複数の微分係数の制限に容易に対応させることができ、移動経路の全体を最適化させるような微調整が可能である。
【0104】
なお、上述した実施形態は本発明に係る経路計画装置及び経路計画方法の最良な実施形態を説明したものであり、本発明に係る経路計画装置及び経路計画方法は本実施形態に記載したものに限定されるものではない。本発明に係る経路計画装置及び経路計画方法は、各請求項に記載した要旨を変更しないように実施形態に係る経路計画装置及び経路計画方法を変形し、又は他のものに適用したものであってもよい。
【0105】
例えば、ロボット、車両などの自律移動体を移動体とし、自律移動体の移動経路の計画に適用してもよい。この場合であっても、上述した実施形態と同様な作用効果が得られる。
【図面の簡単な説明】
【0106】
【図1】本発明の実施形態に係る経路計画装置の構成概要図である。
【図2】移動基本経路の説明図である。
【図3】図2の移動基本経路Pにおける直線経路区間と曲線経路区間の説明図である。
【図4】本実施形態に係る経路計画装置及び経路計画方法を適用したロボットの一例を示す図である。
【図5】本実施形態に係る経路計画装置及び経路計画方法を適用したロボットの他の例を示す図である。
【図6】テナリー多項式関数の一例を示した図である。
【図7】図6のテナリー多項式関数の生成方法の説明図である。
【図8】図6のテナリー多項式関数の生成方法の説明図である。
【図9】本実施形態に係る経路計画装置の動作及び経路計画方法を示すフローチャートである。
【図10】本実施形態に係る経路計画装置の動作及び経路計画方法における移動速度平滑化処理の説明図である。
【図11】本実施形態に係る経路計画装置の動作及び経路計画方法における移動速度平滑化処理の説明図である。
【図12】本実施形態に係る経路計画装置の動作及び経路計画方法における移動速度平滑化処理の説明図である。
【図13】本実施形態に係る経路計画装置の動作及び経路計画方法における移動速度平滑化処理の説明図である。
【符号の説明】
【0107】
1…経路計画装置、2…経路演算部、3…記録部、4…出力部、10…アクチュエータ、21…移動経路平滑化部、22…移動速度演算部、23…全体経路平滑化部、31…周辺情報記録部、32…経路記録部、33…ロボット情報記録部。
【技術分野】
【0001】
本発明は、移動体の経路計画を行う経路計画装置及び経路計画方法に関するものである。
【背景技術】
【0002】
従来、移動体の経路計画を行う装置及び方法として、特開2003−241811号公報に記載されるように、予め指定された直線軌跡開始点と終了点の区間において加速度一定としたときの3次元空間中の線速度プロファイル、線速度プロファイルの1階微分値としての線加速度プロファイル、及び線速度プロファイルの2階微分値としての線加加速度プロファイルを生成し、これらの線速度プロファイル等に対してフィルタ処理を施すことによって平滑化された線速度プロファイル、平滑化された線加速度プロファイル、及び平滑化された線加加速度プロファイルをそれぞれ生成し、これらの平滑化された線速度プロファイル等に基づいて補間周期毎の補間点の3次元位置を生成し、補間周期毎の補間点の3次元位置に対して逆キネマティクス演算を実施することによりロボット各関節軸の指令位置を生成し、ロボット各関節軸の指令位置に基づいてロボット各関節軸を動作させるものが知られている。
【0003】
このようなロボットなどの移動体の経路計画を生成するにあたり、リアルタイムで移動体の動作を制御するためには、経路計画の演算を迅速に行うことが必要となってくる。
【特許文献1】特開2003−241811号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、このような経路計画の装置及び方法において、移動体の移動経路の平滑化、移動速度などの平滑化を図る上で経路計画の演算を迅速に行うことが難しい。例えば、移動速度を増減させる速度プロファイルを生成する場合、平滑化を図るためにS字状に速度を変化させようとすると、速度変化状態に応じて移動経路を複数の区間に分割し、その区間数に応じて複数の連立方程式を解いて区間における時間などを計算する必要がある。このため、経路計画の演算が複雑なものとなり、移動体の移動中にリアルタイムで経路演算することは非常に困難である。
【0005】
そこで本発明は、このような問題点を解決するためになされたものであって、経路計画の演算が迅速に行え、移動体の移動経路の平滑化が図れる経路計画装置及び経路計画方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
すなわち、本発明に係る経路計画装置は、移動体の経路計画を行う経路計画装置において、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて前記移動体の移動経路上における位置の時間微分量の平滑化を行う移動経路平滑化手段を備えて構成されている。
【0007】
この発明によれば、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて移動体の移動経路上における位置の時間微分量の平滑化を行うことにより、移動体の平滑な移動経路を迅速に算出することができる。
【0008】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことが好ましい。
【0009】
この発明によれば、テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことにより、移動経路の軌跡が平滑なものとなり、移動体の移動経路の円滑かつ高速な移動が可能となる。
【0010】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、移動経路を直線経路区間と曲線経路区間に分別し、その曲線経路区間の経路の軌跡を前記テナリー多項式関数を用いて平滑化することが好ましい。
【0011】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことが好ましい。
【0012】
この発明によれば、テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことにより、移動速度の移動速度が平滑なものとなり、速度、加速度、ジャークなどの制限下で円滑かつ高速な移動が可能となる。
【0013】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、移動経路を複数の区間に分別し、その区間における速度プロファイルを前記テナリー多項式関数を用いて生成することが好ましい。
【0014】
また本発明に係る経路計画装置において、前記移動経路平滑化手段は、移動経路を複数の区間に分別し、区間と区間の繋ぎ目の速度を設定し、その設定された速度に応じて各区間における初速度と終速度を決定し、この初速度と終速度に基づいて前記区間の速度プロファイルを生成することが好ましい。
【0015】
この発明によれば、移動経路を複数の区間に分別し、区間と区間の間の速度を設定し、その設定された速度に応じて各区間の初速度と終速度を決定し、初速度と終速度に基づいて区間の速度プロファイルを生成することにより、区間と区間の間の移動速度の連続性が良好なものとなり、移動経路全体の平滑化が図れる。
【0016】
また本発明に係る経路計画装置において、前記テナリー多項式関数は、次の式(1)に示されるものであることを特徴とする請求項1〜6のいずれか一項に記載の経路計画装置。
【数1】
【0017】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)。C、a0は定数。iは0又は正の整数。
【0018】
この発明によれば、テナリー多項式関数を用いて移動経路を平滑化することにより、移動経路の速度、加速度、ジャークなどの制限や移動経路の軌跡の微分係数に対する制限に対応しつつ平滑な移動経路を迅速に演算することができる。
【0019】
また本発明に係る経路計画方法は、移動体の経路計画を行う経路計画方法において、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて前記移動体の移動経路上における位置の時間微分量の平滑化を行う移動経路平滑化工程を備えて構成されている。
【0020】
この発明によれば、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて移動体の移動経路上における位置の時間微分量の平滑化を行うことにより、移動体の平滑な移動経路を迅速に算出することができる。
【0021】
また本発明に係る経路計画方法において、前記移動経路平滑化工程は、前記テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことが好ましい。
【0022】
この発明によれば、テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことにより、移動経路の軌跡が平滑なものとなり、移動体の移動経路の円滑かつ高速な移動が可能となる。
【0023】
また本発明に係る経路計画方法において、前記移動経路平滑化工程は、移動経路を直線経路区間と曲線経路区間に分別し、その曲線経路区間の経路の軌跡を前記テナリー多項式関数を用いて平滑化することが好ましい。
【0024】
また本発明に係る経路計画方法において、前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことが好ましい。
【0025】
この発明によれば、テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことにより、移動速度の移動速度が平滑なものとなり、速度、加速度、ジャークなどの制限下で円滑かつ高速な移動が可能となる。
【0026】
また本発明に係る経路計画方法において、前記移動経路平滑化工程は、移動経路を複数の区間に分別し、その区間における速度プロファイルを前記テナリー多項式関数を用いて生成することが好ましい。
【0027】
また本発明に係る経路計画方法において、前記移動経路平滑化工程は、移動経路を複数の区間に分別し、区間と区間の繋ぎ目の速度を設定し、その設定された速度に応じて各区間における初速度と終速度を決定し、この初速度と終速度に基づいて前記区間の速度プロファイルを生成することが好ましい。
【0028】
この発明によれば、移動経路を複数の区間に分別し、区間と区間の間の速度を設定し、その設定された速度に応じて各区間の初速度と終速度を決定し、初速度と終速度に基づいて区間の速度プロファイルを生成することにより、区間と区間の間の移動速度の連続性が良好なものとなり、移動経路全体の平滑化が図れる。
【0029】
また本発明に係る経路計画方法において、前記テナリー多項式関数は、次の式(1)に示されるものであることが好ましい。
【数1】
【0030】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)。C、a0は定数。iは0又は正の整数。
【0031】
この発明によれば、テナリー多項式関数を用いて移動経路を平滑化することにより、移動経路の速度、加速度、ジャークなどの制限や移動経路の軌跡の微分係数に対する制限に対応しつつ平滑な移動経路を迅速に演算することができる。
【発明の効果】
【0032】
本発明によれば、テナリー多項式関数を用いて移動体の移動経路を演算することにより、経路計画の演算が迅速に行え、移動体の移動経路の平滑化を図ることができる。
【発明を実施するための最良の形態】
【0033】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0034】
図1は本実施形態に係る経路計画装置の概略構成図である。
【0035】
本実施形態に係る経路作成装置1及び経路作成方法は、多自由度リンク系のロボットの動作経路を作成する経路作成装置に適用したものである。本実施形態に係る経路作成装置1及び経路作成方法は、ロボットの移動部分が設定位置から他の設定位置までの動作する際の動作経路を作成する。
【0036】
経路計画装置1は、ロボットの移動部分の移動経路(動作経路)について空間的な平滑化及び移動速度の平滑化の処理を行い、ロボットの移動部分の移動経路を生成する。ここで移動経路とは、位置などの空間的な移動経路のみならず、移動部分の速度、加速度、ジャークなどの時間的な要素を含むものである。
【0037】
図1に示すように、経路計画装置1は、経路演算部2、記録部3及び出力部4を備えている。経路演算部2は、移動経路平滑化部21、移動速度演算部22、全体経路速度平滑化部23を備えている。記録部3は、周辺情報記録部31、経路記録部32及びロボット情報記録部33を備えている。経路演算部2は、ロボットの移動部分の経路演算に際し、必要な情報を記録部3から適宜入力する。
【0038】
この経路計画装置1は、例えばCPU、ROM、RAMを含むコンピュータを主体として構成され、移動経路平滑化部21、移動速度演算部23、全体経路速度平滑化部23及び出力部4の機能をコンピュータプログラムによって実行可能に構成されている。なお、経路計画装置1において、移動経路平滑化部21、移動速度演算部23、全体経路速度平滑化部23及び出力部4の一部又は全部を個別のハードウェア装置により構成して機能させるものであってもよい。
【0039】
移動経路平滑化部21は、移動経路の空間的な平滑化を行う移動経路平滑化手段であり、例えば取得した暫定的な移動経路の平滑化を行うものであって、特に基本移動経路の曲折部分の曲率又は曲率半径が所定条件を満たすように曲線経路区間における経路生成を行う。この経路生成の際、テナリー多項式(Ternary Polynomial)関数が用いられる。テナリー多項式関数を用いることにより、平滑化された移動経路を迅速に演算することができる。テナリー多項式関数の詳細については、後述する。
【0040】
例えば、図2に示すように、移動経路平滑化部21には、移動部分周辺にある障害物Aを避けるように直線的な経路部分を接続した移動基本経路Pが与えられる。この移動基本経路Pは、ロボットがカメラやセンサなどの周辺環境検出手段によって検出し認識した経路であってもよいし、ロボット外部から与えられた経路や予め設定された経路であってもよい。
【0041】
そして、移動経路平滑化部21は、図3に示すように、移動基本経路Pを直線経路区間(P0、P2、P4、P6、P7、P9)と曲線経路区間(P1、P3、P5、P8)に分別して設定し、曲線経路区間について所定条件下で曲率又は曲率半径をそれぞれ設定しつつ、その区間の経路を演算する。
【0042】
図1において、移動速度演算部22は、移動経路の速度変化に関する平滑化を行い、移動経路の区間における移動速度プロファイルを生成する移動速度演算手段として機能するものである。例えば、移動速度演算部22は、ロボットにおける速度、加速度(減速度を含む)、ジャークなどの速度に関する条件を満たしつつ、移動時間が短くなるように直線経路区間における移動速度プロファイルを生成する。この移動速度プロファイルの生成の際、テナリー多項式関数が用いられる。テナリー多項式関数を用いることにより、平滑化された移動速度プロファイルを迅速に演算することができる。
【0043】
全体経路速度平滑化部23は、移動経路の各区間の間における速度の連続性を考慮し速度変化の平滑化を図るものである。例えば、全体経路速度平滑化部23は、まず最大許容加速度での速度を用いて生成した直線経路区間の速度プロファイルを曲線経路区間の速度制限を考慮して修正し、各区間の速度の連続性を担保して平滑化した全体経路の速度プロファイルを生成する。
【0044】
周辺情報記録部31は、ロボットの移動部分の周辺環境における情報を記録するものであり、例えばロボットの移動部分の動作に対する障害物の位置情報などを記録している。経路記録部32は、ロボットの移動部分の移動経路について演算したものを記録するものである。ロボット情報記録部33は、ロボットの移動部分における情報を主に記録するものであり、例えば移動部分における最大許容速度、最大許容加速度、最大許容ジャークなどが記録している。
【0045】
記録部3には、移動経路情報が入力される。移動経路情報は、ロボットの移動部分の移動経路に関する情報であり、例えば障害物を避けて移動可能な領域情報などが該当する。この移動経路情報は、ロボット外部から入力されるものでもよいし、ロボットのカメラやセンサなどにより自律的に取得した情報であってもよい。出力部4は、ロボットの移動部分を移動させるアクチュエータ10に作動信号を出力するものである。
【0046】
図4は本実施形態に係る経路計画装置及び経路計画方法を適用したロボットの一例を示す図であり、図5は本実施形態に係る経路計画装置及び経路計画方法を適用したロボットの他の例を示す図である。
【0047】
図4に示すように、ロボットR1は、多数の関節J1,・・・,Jnを備えており、関節間がリンクL1,・・・,Ln+1で接続されている。また、ロボットR1は、末端のリンクL1の一端が固定され、先端のリンクLn+1の一端にハンドHが取り付けられている。各関節J1,・・・,Jnは、アクチュエータ10が内蔵されており、回転動作をそれぞれ行い、接続される2本のリンク間の角度X1,・・・,Xnをそれぞれ変更する。
【0048】
このロボットR1は、n個の自由度を持つ。この自由度は、n個の角度に対して座標軸を持つn次元座標空間(コンフィグレーション空間)における一点(X1,・・・,Xn)で表される。また、ロボットR1の実際の位置姿勢は、三次元空間(作業空間)におけるロボットR1の先端部T(リンクLn+1とハンドHとの取付部)の座標系(Y1,Y2,Y3)で表される。ロボットR1の先端部Tは、コンフィグレーション空間から作業空間への非線形写像の値として、Y1=f1(X1,・・・,Xn)、Y2=f2(X1,・・・,Xn)、Y3=f3(X1,・・・,Xn)で定義される。したがって、コンフィグレーション空間の(X1,・・・,Xn)を規定すると、作業空間の(Y1,Y2,Y3)が決まる。
【0049】
このロボットR1は、ハンドHもしくは先端部Tがロボットの移動部分として機能し、アクチュエータ10への制御信号の出力によりハンドHもしくは先端部Tの移動制御を行うことができる。
【0050】
また、図5にはロボットの他の例を示している。ロボットR2は、人型のロボットであり、左右一対のアーム部A1,A2とハンドH1,H2を有している。ロボットR2は、10個の関節J1,・・・,Jnを備えており、10個の自由度を持つ。ロボットR2は、自由度がコンフィグレーション空間における座標系(X1,・・・,X10)で表され、実際の位置姿勢が作業空間における各先端部T1,T2の座標系(Y11,Y12,Y13)、(Y21,Y22,Y23)で表される。ロボットR2の場合、コンフィグレーション空間の(X1,・・・,X10)を規定すると、作業空間の(Y11,Y12,Y13)、(Y21,Y22,Y23)が決まる。
【0051】
このロボットR2は、ハンドH1、H2もしくは先端部T1、T2がロボットの移動部分として機能し、アクチュエータ10への制御信号の出力によりハンドH1、H2もしくは先端部T1、T2の移動制御を行うことができる。
【0052】
図6(a)〜(d)は、テナリー多項式関数T(x)の一例をグラフ表示した図である。
【0053】
テナリー多項式関数は、関数値の増加領域、一定領域、減少領域の三領域を有し、一定領域を挟んで増加領域と減少領域が対称に表される多項式関数である。
【0054】
このテナリー多項式関数T(x)は、例えば次の式(1)により表される。
【数1】
【0055】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)である。C、a0は定数である。iは0又は正の整数である。
【0056】
図6(a)は、テナリー多項式関数の次数0のT0(x)を示したものであり、矩形波状のプロファイルとなっている。図6(b)は、テナリー多項式関数の次数1のT1(x)を示したものであり、台形状のプロファイルとなっている。図6(c)は、テナリー多項式関数の次数2のT2(x)を示したものであり、滑らかに変化する台形状のプロファイルとなっている。図6(d)は、テナリー多項式関数の次数3のT3(x)を示したものであり、滑らかに変化する台形状のプロファイルとなっている。
【0057】
図7に示すように、テナリー多項式関数Ti(x)は、Ti(x)−xの座標系においてTi(x)の波形を原点を中心に点対称に振り分けてT′i+1(x)を生成し、このT′i+1(x)を積分することによって、一つ次数の高いTi+1(x)を生成することができる。
【0058】
例えば、T0(x)からT2(x)を生成する場合、T0(x)を対称分割(対称振分け)し積分してT1(x)を生成し、T1(x)を対称分割し積分してT2(x)を生成してもよいし、T0(x)を対称分割した後、さらに対称分割してT″2(x)を生成し、T″2(x)を二回積分してT2(x)を生成してもよい。
【0059】
また、図8に示すように、T1(x)からT2(x)を生成する場合、T0(x)を積分し、T0(x)を積分したものをx軸を中心に線対称に変換して対称化し、T0(x)を積分したものを−(a2−a1)/2だけx軸に沿って移動させ、T0(x)を積分し対称化したものを(a2−a1)/2だけx軸に沿って移動させ、それぞれ移動させたものを合成して、T2(x)を生成してもよい。
【0060】
テナリー多項式関数T(x)におけるC、a0などの定数は、ロボットの移動部分における動作の制限値(上限値、下限値)に応じて設定すればよい。例えば、テナリー多項式関数T(x)を用いて移動部分の速度プロファイルを生成する場合、図7において、T2(x)を速度プロファイルとして設定すると、T2′(x)は加速度状態を示し、T2″(x)がジャーク状態を示すこととなる。
【0061】
このため、T2″(x)の制限値C、−Cとして移動部分のジャーク上限値、下限値を設定し、T2′(x)の制限値C・a0、−C・a0として移動部分の加速度上限値、下限値を設定し、T2(x)の制限値C・(a1−a0)・a0として移動部分の速度制限値を設定することにより、一義的に定数C、a0、a1の値が決まる。
【0062】
このようなテナリー多項式関数T(x)は、速度、加速度、ジャークなどの微分係数の制限を満たす演算が迅速に行える。このため、テナリー多項式関数T(x)を用いて移動経路の演算を行うことにより、速度などの所定の制限を満たす移動経路を迅速に演算することができる。
【0063】
次に、本実施形態に係る経路計画装置の動作及び経路計画方法について説明する。
【0064】
図9に本実施形態に係る経路計画装置の動作及び経路計画方法についてのフローチャートを示す。
【0065】
まず、図9のS10に示すように、移動経路の取得処理が行われる。移動経路の取得処理は、ロボットの移動部分の基本的な移動基本経路を取得する処理であり、例えばロボットに設置されるカメラやセンサなどの周辺環境検出手段によって移動基本経路を取得する。また、ロボットに予め設定された経路を移動基本経路として設定してもよいし、ロボット外部から与えられた経路を移動基本経路としてもよい。
【0066】
この移動経路の取得処理により、例えば、図2に示すように、移動基本経路Pが取得される。なお、この移動基本経路Pは平滑化を行う前の仮の経路である。取得された移動基本経路Pは経路記録部32に記録される。
【0067】
そして、S20に移行し、移動経路の区間設定処理が行われる。この区間設定処理は、移動経路を直線経路区間と曲線経路区間に分けて設定する処理である。例えば、図2に示すように、移動基本経路Pにおいて、経路の曲折箇所Pcから所定の距離範囲までの区間が曲線経路区間とされ、それ以外の区間が直線経路区間とされる。
【0068】
そして、S30に移行し、移動経路の空間的平滑化処理が行われる。この空間的平滑化処理は、移動経路における曲線経路区間の曲率を小さくし又は曲率半径を大きくして経路の空間的な平滑化を図る処理である。例えば、曲線経路区間において平滑化されたパス微分係数に対する制限を満足するようにカーネル関数の最適カーネルパラメータが計算され、そのカーネル関数によって曲線経路区間の経路軌跡が演算される。
【0069】
その際、経路軌跡が障害物に衝突しないか否かが判断され、衝突する場合には曲率の大きい経路が演算される。このとき、曲率が設定値以上大きくなってしまう場合には、経路の平滑化が行われず、その曲線経路区間については曲折した二つの直線経路とされる。このような曲折した経路においては、ロボットの移動部分は移動を停止することとなる。
【0070】
ここで、カーネル関数をK(x)とすると、このカーネル関数K(x)は、次の式(2)に示すように、テナリー多項式関数T(x)を用いたものが用いられる。
【数2】
【0071】
この式(2)のカーネル関数K(x)において、曲線経路区間の曲折箇所の形状に応じて定数an−2などを設定し、また関数の次数を設定することで適切な経路軌跡を生成することができる。
【0072】
このような移動経路の空間的平滑化処理によって、移動経路の曲折部が平滑化され、図3に示すように経路区間P0〜P9からなる移動経路が生成される。
【0073】
そして、S40に移行し、移動速度平滑化処理が行われる。移動速度平滑化処理は、移動経路における平滑化された速度プロファイルを生成する処理である。例えば、この移動速度平滑化処理は、経路区間の繋ぎ目における速度設定処理を行い、各区間の速度プロファイル生成処理を行い、各区間の速度プロファイルを繋ぎ合わせて移動経路全体の速度プロファイルを生成して、行われる。
【0074】
経路区間の繋ぎ目における速度設定処理は、ロボットの移動部分の最大許容加速度、最大許容速度、曲線経路区間での制限速度に応じ、区間と区間の間の繋ぎ目における速度設定を行う処理である。
【0075】
例えば、図10(a)に示すように、まず移動経路の進行方向について、正の加速度を考慮し、フォワードフェーズ処理が行われる。フォワードフェーズ処理は、各区間を最大速度で移動した場合におけるに各区間の繋ぎ目の速度を演算する処理である。
【0076】
そして、図10(b)に示すように、移動経路の進行の逆方向について、負の加速度を考慮し、バックフェーズ処理が行われる。バックフェーズ処理は、先の区間での減速や停止を考慮してフォワードフェーズ処理にて演算された速度を下方修正する処理である。このバックフェーズ処理により、各区間の繋ぎ目の速度が修正される。
【0077】
このようなフォワードフェーズ処理及びバックフェーズ処理を含む速度設定処理を行うことにより、各区間の繋ぎ目の速度が設定され、各区間における初速度、終速度が決定される(図10(c)参照)。
【0078】
各区間の速度プロファイル生成処理は、各区間における初速度、終速度、距離、最大許容速度、最大許容加速度、最大許容ジャークなどを考慮して行われる。
【0079】
図11に速度プロファイル生成処理における速度プロファイル生成過程の説明図である。
【0080】
例えば、初速度V0、終速度Vfの経路区間の速度プロファイルを生成する場合について説明すると、まず、図11(a)に示すように、区間の始点から円滑に加速するプロファイルが生成される。このプロファイルは、初速度V0から終速度Vfに加速する速度プロファイルである。
【0081】
このとき、速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、図12に示すように、テナリー多項式関数T(x)の変数xとして時間tが設定され、T2(t)が速度プロファイルとして算出される。
【0082】
まず、図12(a)に示すように、まず初速度0から最高速Vf−V0に増加した後、終速度0となるT2(t)が生成される。このとき、T2(t)の最大加速度、最大ジャークが最大許容加速度、最大許容ジャークとなるようにする。すなわち、T2(t)の最大加速度、最大ジャークが最大許容加速度、最大許容ジャークとなるようにT′2(t)、T″2(t)を設定し、このように設定したT′2(t)、T″2(t)からT2(t)を生成する。これにより、短い時間で移動可能となる速度プロファイルが生成できる。
【0083】
そして、生成したT2(t)をV0だけ関数値増加方向に平行移動し、初速度V0から終速度Vfまでのプロファイルが演算される(図12(a)の右図参照)。
【0084】
そして、図11(b)に示すように、区間の終点に向けて減速するプロファイルが生成される。このプロファイルは、速度V1から終速度Vfに減速する速度プロファイルである。V1としては、最高許容速度より遅い速度値であって、最高許容速度に近い値が設定される。
【0085】
このとき、速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、上述した図12に示す手法を用い、テナリー多項式関数T(x)の変数xとして時間tを設定し、T2(t)を速度プロファイルとして算出すればよい。
【0086】
そして、図11(c)に示すように、区間の始点から加速するプロファイルの補正が行われる。このプロファイル生成は、初速度V0から速度V1に加速する速度プロファイルの生成である。
【0087】
この速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、上述した図12に示す手法を用い、テナリー多項式関数T(x)の変数xとして時間tを設定し、V0からV1に加速するT2(t)を速度プロファイルとして算出すればよい。
【0088】
ここで、図11(c)に示すように生成された速度プロファイルにおいて、より加速させるために使用可能な距離が設定距離より長い場合には、速度V1より速い速度V2が設定され、速度プロファイルが補正される。
【0089】
すなわち、図11(d)に示すように、まず、区間の終点に向けて減速する速度プロファイルの補正が行われる。この速度プロファイルの補正は、速度V2から終速度Vfに減速する速度プロファイルである。V1としては、最高許容速度より遅い速度値であって、速度V1より速い速度値である。
【0090】
このとき、補正速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、上述した図12に示す手法を用い、テナリー多項式関数T(x)の変数xとして時間tを設定し、T2(t)を速度プロファイルとして算出すればよい。
【0091】
次いで、図11(e)に示すように、区間の始点から加速する速度プロファイルの補正が行われる。この速度プロファイルの補正は、初速度V0から速度V2に加速する速度プロファイルを生成して行われる。
【0092】
この速度プロファイルの生成は、テナリー多項式関数T(x)を用いて行われる。例えば、上述した図12に示す手法を用い、テナリー多項式関数T(x)の変数xとして時間tを設定し、V0からV2に加速するT2(t)を速度プロファイルとして算出すればよい。
【0093】
このような各区間の速度プロファイル生成処理によれば、ロボットの移動部分が経路区間内を円滑な速度変化状態で移動し、短時間で移動可能な速度プロファイルを生成することができる。
【0094】
また、各区間の速度プロファイル生成処理としては、上述した処理に限られず、テナリー多項式関数T(x)を用いた他の処理によって行われてもよい。
【0095】
例えば、初速度V0、終速度Vfの経路区間の速度プロファイルを生成する場合、図13に示すように、まず、区間の始点から初速度V0から最高許容速度VMaxに加速する速度プロファイルを生成し(図13(a))、区間の終点に向けて最高許容速度VMaxから終速度Vfまで減速する速度プロファイルを生成し(図13(b))、加速する速度プロファイルと減速する速度プロファイルと間の期間を最高許容速度VMaxとして速度プロファイルを生成し、それらの速度プロファイルを合成する。
【0096】
この場合、経路区間を最短時間で移動可能であって平滑化された速度プロファイルを生成することができる。特に経路区間の距離が十分に長い場合に有効である。
【0097】
このように、各区間の速度プロファイルを生成したら、図10(c)に示すように、各区間の速度プロファイルを繋ぎ合わせて移動経路全体の速度プロファイルを生成する。
【0098】
そして、図9のS50に移行し、出力処理が行われる。出力処理は、生成した移動経路の速度プロファイルを経路記録部32に記録すると共に、その速度プロファイルに応じて移動制御信号をアクチュエータ10に出力する処理である。これにより、アクチュエータ10が作動し、ロボットの移動部分が平滑に移動し、短い時間で所定の動作を行う。
【0099】
以上のように、本実施形態に係る経路計画装置及び経路計画方法によれば、関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて移動体の移動経路上における位置の時間微分量の平滑化を行うことにより、移動体の平滑な移動経路を迅速に算出することができる。
【0100】
特に、テナリー多項式関数として式(1)に示されるものを用いることにより、移動経路の速度、加速度、ジャークなどの制限や移動経路の軌跡の微分係数に対する制限に対応しつつ平滑な移動経路を迅速に演算することができる。このため、ロボットの移動部分の移動中にリアルタイムで移動経路の演算が可能となる。従って、移動途中に障害物などを検出した場合、それを回避する移動経路を演算して移動停止することなく移動動作を継続することができる。
【0101】
また、テナリー多項式関数を用いて移動経路の空間的な平滑化を行うことにより、移動経路の軌跡が平滑なものとなり、移動体の移動経路の円滑かつ高速な移動が可能となる。その際、テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うことにより、移動速度の移動速度が平滑なものとなり、速度、加速度、ジャークなどの制限下で円滑かつ高速な移動が可能となる。
【0102】
また、移動経路を複数の区間に分別し、区間と区間の間の速度を設定し、その設定された速度に応じて各区間の初速度と終速度を決定し、初速度と終速度に基づいて区間の速度プロファイルを生成することにより、区間と区間の間の移動速度の連続性が良好なものとなり、移動経路全体の平滑化が図れる。
【0103】
この場合、他の多項式補間法と異なり、移動経路の速度、加速度、ジャークなどの複数の微分係数の制限に容易に対応させることができ、移動経路の全体を最適化させるような微調整が可能である。
【0104】
なお、上述した実施形態は本発明に係る経路計画装置及び経路計画方法の最良な実施形態を説明したものであり、本発明に係る経路計画装置及び経路計画方法は本実施形態に記載したものに限定されるものではない。本発明に係る経路計画装置及び経路計画方法は、各請求項に記載した要旨を変更しないように実施形態に係る経路計画装置及び経路計画方法を変形し、又は他のものに適用したものであってもよい。
【0105】
例えば、ロボット、車両などの自律移動体を移動体とし、自律移動体の移動経路の計画に適用してもよい。この場合であっても、上述した実施形態と同様な作用効果が得られる。
【図面の簡単な説明】
【0106】
【図1】本発明の実施形態に係る経路計画装置の構成概要図である。
【図2】移動基本経路の説明図である。
【図3】図2の移動基本経路Pにおける直線経路区間と曲線経路区間の説明図である。
【図4】本実施形態に係る経路計画装置及び経路計画方法を適用したロボットの一例を示す図である。
【図5】本実施形態に係る経路計画装置及び経路計画方法を適用したロボットの他の例を示す図である。
【図6】テナリー多項式関数の一例を示した図である。
【図7】図6のテナリー多項式関数の生成方法の説明図である。
【図8】図6のテナリー多項式関数の生成方法の説明図である。
【図9】本実施形態に係る経路計画装置の動作及び経路計画方法を示すフローチャートである。
【図10】本実施形態に係る経路計画装置の動作及び経路計画方法における移動速度平滑化処理の説明図である。
【図11】本実施形態に係る経路計画装置の動作及び経路計画方法における移動速度平滑化処理の説明図である。
【図12】本実施形態に係る経路計画装置の動作及び経路計画方法における移動速度平滑化処理の説明図である。
【図13】本実施形態に係る経路計画装置の動作及び経路計画方法における移動速度平滑化処理の説明図である。
【符号の説明】
【0107】
1…経路計画装置、2…経路演算部、3…記録部、4…出力部、10…アクチュエータ、21…移動経路平滑化部、22…移動速度演算部、23…全体経路平滑化部、31…周辺情報記録部、32…経路記録部、33…ロボット情報記録部。
【特許請求の範囲】
【請求項1】
移動体の経路計画を行う経路計画装置において、
関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて前記移動体の移動経路上における位置の時間微分量の平滑化を行う移動経路平滑化手段を備えていること、
を特徴とする経路計画装置。
【請求項2】
前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路の空間的な平滑化を行うこと、
を特徴とする請求項1に記載の経路計画装置。
【請求項3】
前記移動経路平滑化手段は、移動経路を直線経路区間と曲線経路区間に分別し、その曲線経路区間の経路の軌跡を前記テナリー多項式関数を用いて平滑化すること、
を特徴とする請求項2に記載の経路計画装置。
【請求項4】
前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うこと、
を特徴とする請求項1に記載の経路計画装置。
【請求項5】
前記移動経路平滑化手段は、移動経路を複数の区間に分別し、その区間における速度プロファイルを前記テナリー多項式関数を用いて生成すること、
を特徴とする請求項4に記載の経路計画装置。
【請求項6】
前記移動経路平滑化手段は、移動経路を複数の区間に分別し、区間と区間の繋ぎ目の速度を設定し、その設定された速度に応じて各区間における初速度と終速度を決定し、この初速度と終速度に基づいて前記区間の速度プロファイルを生成すること、
を特徴とする請求項5に記載の経路計画装置。
【請求項7】
前記テナリー多項式関数は、次の式(1)に示されるものであることを特徴とする請求項1〜6のいずれか一項に記載の経路計画装置。
【数1】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)。C、a0は定数。iは0又は正の整数。
【請求項8】
移動体の経路計画を行う経路計画方法において、
関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて前記移動体の移動経路上における位置の時間微分量の平滑化を行う移動経路平滑化工程を備えていること、
を特徴とする経路計画方法。
【請求項9】
前記移動経路平滑化工程は、前記テナリー多項式関数を用いて移動経路の空間的な平滑化を行うこと、
を特徴とする請求項8に記載の経路計画方法。
【請求項10】
前記移動経路平滑化工程は、移動経路を直線経路区間と曲線経路区間に分別し、その曲線経路区間の経路の軌跡を前記テナリー多項式関数を用いて平滑化すること、
を特徴とする請求項9に記載の経路計画方法。
【請求項11】
前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うこと、
を特徴とする請求項8に記載の経路計画方法。
【請求項12】
前記移動経路平滑化工程は、移動経路を複数の区間に分別し、その区間における速度プロファイルを前記テナリー多項式関数を用いて生成すること、
を特徴とする請求項11に記載の経路計画方法。
【請求項13】
前記移動経路平滑化工程は、移動経路を複数の区間に分別し、区間と区間の繋ぎ目の速度を設定し、その設定された速度に応じて各区間における初速度と終速度を決定し、この初速度と終速度に基づいて前記区間の速度プロファイルを生成すること、
を特徴とする請求項12に記載の経路計画方法。
【請求項14】
前記テナリー多項式関数は、次の式(1)に示されるものであることを特徴とする請求項8〜13のいずれか一項に記載の経路計画方法。
【数1】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)。C、a0は定数。iは0又は正の整数。
【請求項1】
移動体の経路計画を行う経路計画装置において、
関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて前記移動体の移動経路上における位置の時間微分量の平滑化を行う移動経路平滑化手段を備えていること、
を特徴とする経路計画装置。
【請求項2】
前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路の空間的な平滑化を行うこと、
を特徴とする請求項1に記載の経路計画装置。
【請求項3】
前記移動経路平滑化手段は、移動経路を直線経路区間と曲線経路区間に分別し、その曲線経路区間の経路の軌跡を前記テナリー多項式関数を用いて平滑化すること、
を特徴とする請求項2に記載の経路計画装置。
【請求項4】
前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うこと、
を特徴とする請求項1に記載の経路計画装置。
【請求項5】
前記移動経路平滑化手段は、移動経路を複数の区間に分別し、その区間における速度プロファイルを前記テナリー多項式関数を用いて生成すること、
を特徴とする請求項4に記載の経路計画装置。
【請求項6】
前記移動経路平滑化手段は、移動経路を複数の区間に分別し、区間と区間の繋ぎ目の速度を設定し、その設定された速度に応じて各区間における初速度と終速度を決定し、この初速度と終速度に基づいて前記区間の速度プロファイルを生成すること、
を特徴とする請求項5に記載の経路計画装置。
【請求項7】
前記テナリー多項式関数は、次の式(1)に示されるものであることを特徴とする請求項1〜6のいずれか一項に記載の経路計画装置。
【数1】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)。C、a0は定数。iは0又は正の整数。
【請求項8】
移動体の経路計画を行う経路計画方法において、
関数値の増加領域、一定領域、減少領域の三領域を有するテナリー多項式関数を用いて前記移動体の移動経路上における位置の時間微分量の平滑化を行う移動経路平滑化工程を備えていること、
を特徴とする経路計画方法。
【請求項9】
前記移動経路平滑化工程は、前記テナリー多項式関数を用いて移動経路の空間的な平滑化を行うこと、
を特徴とする請求項8に記載の経路計画方法。
【請求項10】
前記移動経路平滑化工程は、移動経路を直線経路区間と曲線経路区間に分別し、その曲線経路区間の経路の軌跡を前記テナリー多項式関数を用いて平滑化すること、
を特徴とする請求項9に記載の経路計画方法。
【請求項11】
前記移動経路平滑化手段は、前記テナリー多項式関数を用いて移動経路における移動速度の平滑化を行うこと、
を特徴とする請求項8に記載の経路計画方法。
【請求項12】
前記移動経路平滑化工程は、移動経路を複数の区間に分別し、その区間における速度プロファイルを前記テナリー多項式関数を用いて生成すること、
を特徴とする請求項11に記載の経路計画方法。
【請求項13】
前記移動経路平滑化工程は、移動経路を複数の区間に分別し、区間と区間の繋ぎ目の速度を設定し、その設定された速度に応じて各区間における初速度と終速度を決定し、この初速度と終速度に基づいて前記区間の速度プロファイルを生成すること、
を特徴とする請求項12に記載の経路計画方法。
【請求項14】
前記テナリー多項式関数は、次の式(1)に示されるものであることを特徴とする請求項8〜13のいずれか一項に記載の経路計画方法。
【数1】
この式(1)において、次数0のT0(x)は、T0(x)=C(−a0/2<x<a0/2)、T0(x)=0(x≦−a0/2、x≧a0/2)。C、a0は定数。iは0又は正の整数。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2009−53926(P2009−53926A)
【公開日】平成21年3月12日(2009.3.12)
【国際特許分類】
【出願番号】特願2007−220014(P2007−220014)
【出願日】平成19年8月27日(2007.8.27)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成21年3月12日(2009.3.12)
【国際特許分類】
【出願日】平成19年8月27日(2007.8.27)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]