JP6717164B2 - Operation route planning method - Google Patents
Operation route planning method Download PDFInfo
- Publication number
- JP6717164B2 JP6717164B2 JP2016216217A JP2016216217A JP6717164B2 JP 6717164 B2 JP6717164 B2 JP 6717164B2 JP 2016216217 A JP2016216217 A JP 2016216217A JP 2016216217 A JP2016216217 A JP 2016216217A JP 6717164 B2 JP6717164 B2 JP 6717164B2
- Authority
- JP
- Japan
- Prior art keywords
- path
- route
- smoothing
- function
- 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.)
- Active
Links
Images
Description
本発明は、ロボットの動作経路を計画する動作経路計画方法に関する。 The present invention relates to a motion path planning method for planning a motion path of a robot.
ロボットの動作経路のスタート位置とゴール位置との間には、障害部を回避するように複数の中継点が設定され、隣接する中継点間に中間点が設定され、隣接する中間点を結ぶ経路を平滑化する動作経路計画方法が知られている(特許文献1参照)。例えば、1つ目の中継点と2つ目の中継点との間に位置する中間点と、2つ目の中継点と3つ目の中継点との間に位置する中間点と、を結んだ線を所定関数を用いて曲線にすることで平滑化を行っている。 A plurality of relay points are set between the start position and the goal position of the robot motion path so as to avoid obstacles, intermediate points are set between adjacent relay points, and a route connecting adjacent intermediate points. An operation path planning method for smoothing is known (see Patent Document 1). For example, a midpoint located between the first relay point and the second relay point and a midpoint located between the second relay point and the third relay point are connected. Smoothing is performed by making the curved line a curved line using a predetermined function.
上記動作経路計画方法において、例えば、中継点間で中間点をずらしつつ、その中間点を結び平滑化した経路が障害物に干渉しないように経路を計画する。このため、滑らかで障害物に干渉しない最適な中間点を見つけ出すのに、その計算負荷が高くなる虞がある。 In the above-mentioned operation route planning method, for example, the route is planned so that the intermediate point is shifted between the relay points and the route obtained by connecting the intermediate points and smoothing does not interfere with the obstacle. Therefore, there is a risk that the calculation load will be high in finding the optimum intermediate point that is smooth and does not interfere with the obstacle.
本発明は、かかる課題を解決するためになされたものであり、計算負荷を軽くしつつ、障害物を干渉することなく滑らかに動作できる経路を計画する動作経路計画方法を提供することを主たる目的とする。 The present invention has been made to solve the above problems, and a main object of the present invention is to provide an operation path planning method for planning a path that can smoothly operate without interfering with an obstacle while reducing the calculation load. And
上記目的を達成するための本発明の一態様は、
ロボットの動作経路を計画する動作経路計画方法であって、
前記ロボットの動作環境内の障害物の位置及び形状を含む環境地図情報に基づいて、予め設定された始端点と終端点との間に前記ロボットが前記障害物と干渉しない経路となるように複数のノードを設定するステップと、
隣接するノード間に中間点をそれぞれ設定し、隣接した2つの該中間点の区間と所定関数との合成積を計算することで、該区間に対する平滑化関数の経路を算出するステップと、
該算出した平滑化関数の経路が前記障害物と干渉しない場合、該平滑化関数の経路を新たな経路として生成し、該算出した平滑化関数の経路が前記障害物と干渉する場合、前記中間点と前記ノードとの間を所定比率で分割する分割点を再設定し、該再設定した分割点と前記中間点との間の前記平滑化関数の経路を算出し、該平滑化関数の経路が障害物と干渉するか否かを判定して、前記新たな経路を生成するステップと、
を含む、
ことを特徴する動作経路計画方法
である。
One aspect of the present invention for achieving the above object is
A motion path planning method for planning a motion path of a robot, comprising:
Based on the environment map information including the position and shape of the obstacle in the operating environment of the robot, a plurality of routes are provided between the preset start point and end point so that the robot does not interfere with the obstacle. Configuring the nodes of
Calculating a path of a smoothing function for the section by setting a midpoint between adjacent nodes and calculating a composite product of a section of two adjacent midpoints and a predetermined function;
If the path of the calculated smoothing function does not interfere with the obstacle, the path of the smoothing function is generated as a new path, and if the path of the calculated smoothing function interferes with the obstacle, the intermediate A division point that divides the point and the node at a predetermined ratio is reset, a path of the smoothing function between the reset division point and the intermediate point is calculated, and a path of the smoothing function is calculated. Determine whether or not to interfere with an obstacle to generate the new route,
including,
This is a motion path planning method characterized by the following.
本発明によれば、計算負荷を軽くしつつ、障害物を干渉することなく滑らかに動作できる経路を計画する動作経路計画方法を提供することができる。 Advantageous Effects of Invention According to the present invention, it is possible to provide an operation route planning method for planning a route that can smoothly operate without interfering with an obstacle while reducing the calculation load.
以下、図面を参照して本発明の実施形態について説明する。
本発明の一実施形態に係る動作経路計画装置は、ロボットの動作経路を計画する。
図1は、本発明の一実施形態に係るロボットの概略的構成を示す図である。ロボット100は、例えば、人型のロボットであり、頭部101と、胴体部102と、一対のアーム部103と、移動機構104と、制御装置105と、を有している。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
An operation path planning device according to an embodiment of the present invention plans an operation path of a robot.
FIG. 1 is a diagram showing a schematic configuration of a robot according to an embodiment of the present invention. The
頭部101にはカメラなどの距離センサが設けられている。胴体部102には、複数の関節部C1〜C5が設けられている。アーム部103は、複数の関節部R1〜R4、L1〜L4と、ハンドR5、L5と、を有している。各関節部R1〜R4、L1〜L4には、各関節部R1〜R4、L1〜L4を回転あるいはスライドさせるサーボモータなどのアクチュエータが設けらている。各関節部R1〜R4、L1〜L4には、各関節部R1〜R4、L1〜L4の回転あるいはスライドを検出するセンサが設けられている。
The
移動機構104は、車輪あるいは脚部を有し、これらを駆動してロボット100を移動させる。制御装置105は、各関節部R1〜R4、L1〜L4のアクチュエータ及び移動機構104を制御して、ロボット100を移動させる。
The
制御装置105は、例えば、環境地図の位置を示す環境地図ベクトル(X、Y)とロボット100の位置(ロボット100の重心位置や中心位置など)を示すロボット地図ベクトル(x、y)とを対応付けて、ロボット100の移動を制御する。なお、上記ロボット100の構成は一例であり、これに限定されない。
The
本実施形態に係る動作経路計画装置1は、ロボット100の各関節部R1〜R4、L1〜L4の位置を示す各関節部R1〜R4、L1〜L4の関節ベクトル、及び、ロボット100の位置(x、y)を示すロボット地図ベクトル、のうちの少なくとも一方の動作経路(以下、動作経路)を計画する。
The motion
図2は、本実施形態に係る動作経路計画装置の概略的なシステム構成を示すブロック図である。本実施形態に係る動作経路計画装置1は、外部情報取得部2と、経路生成部3と、経路平坦化部4と、経路平滑化部5と、経路出力部6と、を備えている。
FIG. 2 is a block diagram showing a schematic system configuration of the operation route planning apparatus according to the present embodiment. The operation
動作経路計画装置1は、例えば、制御処理、演算処理等と行うCPU(Central Processing Unit)、CPUによって実行される演算プログラム、制御プログラム等が記憶されたROM(Read Only Memory)やRAM(Random Access Memory)からなるメモリ、外部と信号の入出力を行うインターフェイス部(I/F)、などからなるマイクロコンピュータを中心にして、それぞれ、ハードウェア構成されている。CPU、メモリ、及びインターフェイス部は、データバスなどを介して相互に接続されている。
The operation
外部情報取得部2は、頭部のカメラなどの距離センサを用いて、外部環境内の障害物の位置や形状などの外部情報を取得する。外部情報取得部2により取得された外部情報は、環境地図情報としてメモリなどに記憶する。
The external
経路生成部3は、例えば、予め設定されたスタート位置(始端点)及びゴール位置(終端点)と、メモリに記憶されている環境地図情報と、に基づいて、ロボット100と環境地図情報の障害物とが干渉しない、ロボット本体や関節部R1〜R4、L1〜L4の動作経路を生成する。経路生成部3は、例えば、障害物が込み入った環境であっても動作経路の探索が可能な確率的な探索手法を用いて、動作経路を生成する。
The
なお、この確率的な探索手法の詳細は、例えば、非特許文献:LaValle Steven K, Kuffner Jr. James J.(2001). “Randomized kinodynamic planning”. The International Journal of Robotics Research (IJRR)20(5).に開示されており、これを援用できるものとする。また、上述した動作経路の生成方法は一例であり、これに限定されない。 The details of the probabilistic search method are described in, for example, Non-Patent Document: LaValle Steven K, Kuffner Jr. James J. (2001). “Randomized kinodynamic planning”. The International Journal of Robotics Research (IJRR)20(5 )., which can be incorporated by reference. Further, the method of generating the operation path described above is an example, and the present invention is not limited to this.
経路生成部3は、例えば、図3に示す如く、ロボット100の関節部R1〜R4、L1〜L4の関節ベクトルの動作経路を生成する。図3において、縦軸は関節部R1〜R4、L1〜L4の角度θi(θi(0)、θi(1)、θi(2)、・・・、θi(k))であり、横軸は、関節ベクトルの距離Sである。関節ベクトルは、例えば、以下のように表現される。
θ=(θ1、θ2、θ3、・・・、θn)
[θi(0)=(θ1(0)、θ2(0)、θ3(0)、・・・、θn(0))、θi(1)=(θ1(1)、θ2(1)、θ3(1)、・・・、θn(1))、・・・、θi(k)=(θ1(k)、θ2(k)、θ3(k)、・・・、θn(k))]
The
θ=(θ 1 , θ 2 , θ 3 ,..., θ n )
[Θ i (0)=(θ 1 (0), θ 2 (0), θ 3 (0),..., θ n (0)), θ i (1)=(θ 1 (1), θ 2 (1), θ 3 (1),..., θ n (1)),..., θ i (k)=(θ 1 (k), θ 2 (k), θ 3 (k), ..., θ n (k))]
関節ベクトルの距離Sは、各関節ベクトル間の距離である。なお、経路生成部3は、図3と同様に、縦軸をy座標、横軸をx座標としたロボット地図ベクトル(x、y)の動作経路を生成してもよい。
The joint vector distance S is the distance between the joint vectors. Note that the
上記生成方法によって生成された動作経路のスタート位置とゴール位置との間には、ロボット100が障害物と干渉しない経路となるように複数の中継点が設定される。経路生成部3は、スタート位置とゴール位置の間のこれら中継点を結んだジグザグの動作経路を生成する。
A plurality of relay points are set between the start position and the goal position of the operation route generated by the above generation method so that the
経路平坦化部4は、経路生成部3により生成された動作経路を平坦化する。ここで、平坦化とは、上述したように設定された中継点の中から省略可能な中継点を抽出し、抽出された中継点を削除することである。平坦化することで、動作経路が単純化されることになり、ロボット100の無駄な動作が低減(あるいは解消)される。
The
図4は、上記平坦化の一例を説明するための図である。例えば、図4において、p1はスタート点、p2〜p5は中継点、p6はゴール点とする。まず、経路平坦化部4は、スタート点p1から何点先(2点以上先から端点までの間)までの平坦化を検討するか指定する。この指定は、ユーザによって経路平坦化部4に入力されても良いし、経路平坦化部4が予め設定されたデフォルト値を用いるようにしても良い。ここでは、3点先(p4)までと指定された場合を例にして説明する。このとき、経路平坦化部4は、p1とp4とを線分で結び、メモリの環境地図情報に基づいて、この線分上のある一定間隔毎の点が障害物と干渉するか否かを検証する。経路平坦化部4は、検証の結果、障害物との干渉がない場合は、p1とp4とを結んだ経路を新経路とする。
FIG. 4 is a diagram for explaining an example of the flattening. For example, in FIG. 4, p1 is a start point, p2 to p5 are relay points, and p6 is a goal point. First, the
一方、経路平坦化部4は、検証の結果、障害物と干渉する場合は、p1とp3とを結んだ経路について同様の検証を行い障害物との干渉がない場合、p1とp3とを結んだ経路を新経路とする。p1とp3とを結んだ経路が障害物と干渉する場合、経路平坦化部4は、この区間での平坦化を行わない。そして、経路平坦化部4は、平坦化後の終点から再度次の平坦化を行う。例えば、経路平坦化部4は、p1とp4とを結んだ経路を新経路とした場合、p4をスタート点として次の平坦化処理を実行する。このようにして、経路平坦化部4は、順次、経路の平坦化を行い、動作経路のスタート位置からゴール位置までの全てに関して平坦化を行う。なお、上述した平坦化の方法は、一例でありこれに限定されない。
On the other hand, if the result of the verification is that the
経路平滑化部5は、経路平坦化部4により平坦化されたジグザグの動作経路を平滑化する。ここで、平滑化とは、上述したように設定された経路を滑らかな曲線にすることを指す。平坦化が終了した時点での動作経路は、各中継点において急激に方向が変わる、所謂ジグザグの経路となっている。これを滑らかな曲線とすることで、ロボット100の動作が滑らかとなる。ここでは、平滑化後の経路が無限回微分可能な関数によって近似されるため、経路自体の滑らかさに加えて、その経路上の移動速度及び加速度の滑らかさも保証される。平滑化に際して、滑らかにした動作経路が障害物と干渉するか検証し、干渉する場合はその干渉が回避されるまで平滑化が再履行される。
The
ところで、従来の動作経路計画装置において、例えば、中継点間で中間点をずらしつつ、その中間点を結び平滑化した経路が障害物に干渉しないように経路を計画する。このため、滑らかで障害物に干渉しない最適な中間点を見つけ出すのに、その計算負荷が高くなる虞がある。 By the way, in a conventional operation route planning apparatus, for example, a route is planned so that the intermediate point is shifted between relay points and the smoothed route is connected to the intermediate point so as not to interfere with an obstacle. Therefore, there is a risk that the calculation load will be high in finding the optimum intermediate point that is smooth and does not interfere with the obstacle.
これに対し、本実施形態に係る動作経路計画装置において、経路平滑化部5は、隣接するノード間に中間点をそれぞれ設定し、隣接した2つの該中間点の区間と軟化関数との合成積を計算することで、該区間に対する平滑化関数の経路を算出する。そして、経路平滑化部5は、該算出した平滑化関数の経路が障害物と干渉しない場合、該平滑化関数の経路を新たな経路として生成、該算出した平滑化関数の経路が障害物と干渉する場合、中間点とノードとの間を所定比率で分割する分割点を再設定し、該再設定した分割点と中間点との間の平滑化関数の経路を算出し、該平滑化関数の経路が障害物と干渉するか否かを判定して、新たな経路を生成する。
On the other hand, in the operation route planning apparatus according to the present embodiment, the
これにより、各ノード間に中間点及び分割点を自動的に設定し、設定した中間点及び分割点に対して平滑化関数を算出して障害物の干渉を判定できるため、滑らかで障害物に干渉しない最適な中間点及び分割点を自動的に設定できる。したがって、計算負荷を軽くしつつ、障害物を干渉することなく滑らかに動作できる経路を計画できる。 With this, it is possible to automatically set the intermediate points and the dividing points between each node, calculate the smoothing function for the set intermediate points and the dividing points, and determine the interference of the obstacles. Optimal midpoints and division points that do not interfere can be set automatically. Therefore, it is possible to plan a route that can smoothly operate without interfering with an obstacle while reducing the calculation load.
経路平滑化部5は、例えば、経路平坦化部4により平坦化された動作経路と、多項式の軟化関数(所定関数)と、の合成積を行うことにより、その動作経路を平滑化する。
The
図5は、上記平滑化を説明するための図である。図5において、n0〜n4は、上述のように設定された動作経路の中継点であり、ノードである。sn_0〜sn4は、ノードn0〜n4に対応する関節ベクトルの距離である。m1〜m4は、動作経路の隣接するノード間の中間点である。s_1〜s_4は、中間点m1〜m4に対応する関節ベクトルの距離である。m11〜m31は、動作経路の中間点と隣接するノード間を所定比率(例えば、1:1、や2:3など)で分割する分割点である。所定比率は、例えば、ロボット100の体格や環境状態(障害物の数、大きさ、など)を考慮して実験的に求めた最適値がメモリなどに予め設定されている。sm_11〜sm_31は、分割点m11〜m31に対応する関節ベクトルの距離である。
FIG. 5 is a diagram for explaining the smoothing. In FIG. 5, n0 to n4 are relay points and nodes of the operation route set as described above. sn_0 to sn4 are joint vector distances corresponding to the nodes n0 to n4. m1 to m4 are intermediate points between adjacent nodes in the operation path. s_1 to s_4 are joint vector distances corresponding to the intermediate points m1 to m4. m11 to m31 are division points that divide the intermediate point of the operation path and the adjacent nodes at a predetermined ratio (for example, 1:1 or 2:3). As the predetermined ratio, for example, an optimum value experimentally obtained in consideration of the physique of the
経路平滑化部5は、例えば、図5に示す如く、まずノードn1近傍での平滑化を行う。
経路平滑化部5は、動作経路(実線(1))の中間点m1、m2の区間[s_1、s_2]と、図6に示す軟化関数の区間[−an/2、an/2]と、を合せる。例えば、経路平滑化部5は、中間点m1とノードn1との区間[s_1、sn_1]の距離と、ノードn1と中間点m2の区間[sn_1、s_2]の距離と、のうち短い方(この場合、区間[s_1、sn_1])を選択する。経路平滑化部5は、選択した区間[s_1、sn_1]を2倍したものと、区間[−an/2、an/2]の間隔が等しくなるように、anを設定することで、区間[s_1、s_2]と、区間[−an/2、an/2]と、を合せる(s_1=−an/2、s_2=an/2)。そして、経路平滑化部5は、区間[s_1、s_2]と、区間[−an/2、an/2]と、の合成績を計算し、平滑化関数(点線(2))を生成する。
The
The
経路平滑化部5は、メモリの環境地図情報に基づいて、生成した平滑化関数の経路が障害物と干渉するか否かを確認する。この場合、平滑化関数の経路が障害物と干渉するので、経路平滑化部5は、生成した平滑化関数を破棄する。
The
ここで、分割点m11とノードn1間の距離が所定距離εよりも大きい場合、経路平滑化部5は、次の平滑化処理を継続する。所定距離εは、例えば、ロボット100の体格や環境状態(障害物の数、大きさ、など)を考慮して実験的に求めた最適値がメモリなどに予め設定されている。経路平滑化部5は、動作経路の分割点m11、m2の区間[s_11、s_2]と、軟化関数の区間[−an/2、an/2]と、を合せて(s_11=−an/2、s_2=an/2)、合成績を計算し、平滑化関数(実線(3))を生成する。この場合、平滑化関数が障害物と干渉しないので、経路平滑化部5は、その平滑化関数を新たな動作経路とする。一方で、分割点m11とノードn1間の距離が所定距離ε以下の場合、経路平滑化部5は、平滑化処理を中止し、動作経路の中間点m1、m2の区間[s_1、s_2]を、そのまま、ジグザグ状態で残す。この場合、動作経路はm1、n1、m2となる。
Here, when the distance between the division point m11 and the node n1 is larger than the predetermined distance ε, the
同様にして、経路平滑化部5は、動作経路の区間[s_2、s_3]、及び[s_3、s_4]についても、平滑化を行い、新たな動作経路を生成する。
Similarly, the
ここで、上述した軟化関数について、説明する。
図7(a)〜(d)は、軟化関数T(x)の一例をグラフ表示した図である。
軟化関数は、例えば、テナリー多項式(Ternary Polynomial)関数である。テナリー多項式関数は、は、関数値の増加領域、一定領域、減少領域の三領域を有し、一定領域を挟んで増加領域と減少領域が対称に表される多項式関数である。なお、テナリー多項式の詳細については、本出願人が既に提出した特開2009−053926号公報に開示されており、これを援用できるものする。
Here, the softening function described above will be described.
7A to 7D are graphs showing an example of the softening function T(x).
The softening function is, for example, a Ternary Polynomial function. The tenary polynomial function is a polynomial function that has three areas, that is, an increase area, a constant area, and a decrease area of the function value, and the increase area and the decrease area are symmetric with respect to the constant area. The details of the tenary polynomial are disclosed in Japanese Patent Application Laid-Open No. 2009-053926 already filed by the present applicant, which can be incorporated by reference.
この軟化関数T(x)は、例えば次の式(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又は正の整数である。
In this formula (1), T 0 (x) of
図7(a)は、軟化関数の次数0のT0(x)を示したものであり、矩形波状のプロファイルとなっている。図7(b)は、軟化関数の次数1のT1(x)を示したものであり、台形状のプロファイルとなっている。図7(c)は、軟化関数の次数2のT2(x)を示したものであり、滑らかに変化する台形状のプロファイルとなっている。図7(d)は、軟化関数の次数3のT3(x)を示したものであり、滑らかに変化する台形状のプロファイルとなっている。
FIG. 7A shows T 0 (x) of
図8に示すように、軟化関数Ti(x)は、Ti(x)−xの座標系においてTi(x)の波形を原点を中心に点対称に振り分けてT′i+1(x)を生成し、このT′i+1(x)を積分することによって、一つ次数の高いTi+1(x)を生成することができる。 As shown in FIG. 8, the softening function T i (x) is, T i (x) the waveform of the T i (x) in the coordinate system of -x by distributing in point symmetry around the origin T 'i + 1 (x) Is generated and T′ i+1 (x) is integrated, it is possible to generate T i+1 (x) having a higher order.
例えば、T0(x)からT2(x)を生成する場合、T0(x)を対称分割(対称振分け)し積分してT1(x)を生成し、T1(x)を対称分割し積分してT2(x)を生成してもよいし、T0(x)を対称分割した後、さらに対称分割してT″2(x)を生成し、T″2(x)を二回積分してT2(x)を生成してもよい。 For example, T 0 when generating T 2 (x) is from (x), T 0 (x) is symmetrical division (symmetrical distribution) integrated to generate the T 1 (x), symmetrical T 1 (x) divided may generate the T 2 (x) by integrating, T 0 (x) is after symmetrical division, "generates a 2 (x), T" further symmetrically divide and T 2 (x) May be integrated twice to generate T 2 (x).
軟化関数T(x)におけるC、a0などの定数は、ロボット100の移動部分における動作の制限値(上限値、下限値)に応じて設定すればよい。例えば、軟化関数T(x)を用いて移動部分の速度プロファイルを生成する場合、図8において、T2(x)を速度プロファイルとして設定すると、T2′(x)は加速度状態を示し、T2″(x)がジャーク状態を示すこととなる。
The constants such as C and a 0 in the softening function T(x) may be set according to the limit values (upper limit value and lower limit value) of the motion in the moving part of the
このため、T2″(x)の制限値C、−Cとして移動部分のジャーク上限値、下限値を設定し、T2′(x)の制限値C・a0、−C・a0として移動部分の加速度上限値、下限値を設定し、T2(x)の制限値C・(a1−a0)・a0として移動部分の速度制限値を設定することにより、一義的に定数C、a0、a1の値が決まる。
Therefore, limit value C of the
このような軟化関数T(x)は、速度、加速度、ジャークなどの微分係数の制限を満たす演算が迅速に行える。このため、軟化関数T(x)を用いて動作経路の演算を行うことにより、速度などの所定の制限を満たす移動経路を迅速に演算することができる。 Such a softening function T(x) can quickly perform an operation satisfying the limitation of differential coefficients such as velocity, acceleration and jerk. Therefore, by calculating the motion path using the softening function T(x), it is possible to quickly calculate the movement path that satisfies a predetermined limit such as speed.
次に、動作経路と多項式の軟化関数との合成積の演算方法について詳細に説明する。
経路平滑化部5は、経路生成部3により生成された動作経路f(y)と、上述した多項式の軟化関数Tn(x)と、に基づいて、下記式(2)を用いて合成積fd(x)を行う。
The
軟化関数Tn(x)は、n−1回微分可能な関数であり、パラメータa0、a1、・・・・、an、及びCを有する。d=(a0、a1、・・・・、an、C)と定義する。Cは、軟化関数の積分値が1となるように調整されている。fd(x)はn−1回微分可能な関数で、fd→fに一様に収束する。 The softening function T n (x) is a function that can be differentiated n−1 times, and has parameters a 0 , a 1 ,..., An , and C. It is defined as d=(a 0 , a 1 ,..., An , C). C is adjusted so that the integral value of the softening function becomes 1. f d (x) is a function that can be differentiated n−1 times, and converges uniformly as f d →f.
経路出力部6は、経路平滑化部5により平滑化した動作経路を出力する。例えば、経路出力部6は、図5に示すような関節角度と関節ベクトルの距離との関係を示すグラフデータを平滑化した動作経路として、ロボット100の関節ベクトルの成分毎に出力する。また、経路出力部6は、ロボット地図ベクトル(x、y)の軌道を、平滑化した動作経路として出力する。経路出力部6は、平滑化した動作経路を、ロボット100を制御する制御装置105や上記グラフデータを表示する表示部に出力する。
The
次に、本実施形態に係る動作経路計画方法について、詳細に説明する。図9は、動作経路計画方法のフローを示すフローチャートである。経路生成部3は、メモリの環境地図情報に基づいて、予め設定された始端点と終端点との間にロボット100が障害物と干渉しない動作経路となるようにノードniを設定する。経路平坦化部4は、経路生成部3により設定された動作経路のノードniの平坦化を行う。
Next, the operation route planning method according to this embodiment will be described in detail. FIG. 9 is a flowchart showing the flow of the operation route planning method. The
続いて、経路平滑化部5は、経路平坦化部4により平坦化された動作経路のノードniの平滑化を行う。経路平滑化部5は、動作経路のノードniの平滑化を行う場合、中間点miとノードni間の距離および中間点mi+1とノードni間の距離が所定距離εより大きいか否かを判定する(ステップS101)。iは自然数とする。
Subsequently, the
経路平滑化部5は、中間点miとノードni間の距離および中間点mi+1とノードni間の距離のうち一方が所定距離ε以下であると判定すると(ステップS101のNO)、次のノードni+1の平滑化を行う。この場合、動作経路は、中間点mi、ノードni、及び中間点mi+1を結んだジグザグの経路となる。
When the
一方、経路平滑化部5は、中間点miとノードni間の距離および中間点mi+1とノードni間の距離が所定距離εより大きいと判定すると(ステップS101のYES)、中間点miと中間点mi+1との間の区間と、対応する軟化関数Tnと、を合せて、合成績fd(x)を計算し、平滑化関数を生成する(ステップS102)。そして、経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉するか否かを判定する(ステップS103)。
On the other hand, when the
経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉しないと判定したとき(ステップS103のNO)、その平滑化関数の経路を新たな経路とし、次のノードni+1の平滑化を行う。一方で、経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉すると判定したとき(ステップS103のYES)、p=1とし、ノードniと中間点miとの間の分割点mipと、ノードniと、の間の距離が所定距離εより大きいか否かを判定する(ステップS104)。
When the
経路平滑化部5は、分割点mipとノードniとの間の距離が所定距離ε以下であると判定すると(ステップS104のNO)、元のジグザグの経路m1、n1、m2を動作経路とし次のノードni+1の平滑化を行う。一方、経路平滑化部5は、分割点mipとノードni間の距離が所定距離εより大きいと判定すると(ステップS104のYES)、分割点mipと中間点mi+1との区間と、対応する軟化関数Tnと、を合せて、合成績fd(x)を計算し、平滑化関数を生成する(ステップS105)。経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉するか否かを判定する(ステップS106)。
When the
経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉しないと判定したとき(ステップS106のNO)、その平滑化関数の経路を新たな経路とし、次のノードni+1の平滑化を行う。一方で、経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉すると判定したとき(ステップS106のYES)、p=1、q=1とし、ノードniと中間点m2との間の分割点mi+1qと、ノードniと、の間の距離が所定距離εより大きいか否かを判定する(ステップS107)。
When the
経路平滑化部5は、分割点mi+1qとノードniとの間の距離が所定距離ε以下であると判定すると(ステップS107のNO)、元のジグザグの経路m1、n1、m2を動作経路とし、次のノードni+1の平滑化を行う。一方、経路平滑化部5は、分割点mi+1qとノードniとの間の距離が所定距離εより大きいと判定すると(ステップS107のYES)、分割点mipと分割点mi+1qとの区間と、対応する軟化関数Tnと、を合せて、合成績fd(x)を計算し、平滑化関数を生成する(ステップS108)。そして、経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉するか否かを判定する(ステップS109)
When the
経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉しないと判定したとき(ステップS109のNO)、その平滑化関数の経路を新たな経路とし、次のノードni+1の平滑化を行う。一方で、経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉すると判定したとき(ステップS109のYES)、分割点mipとノードniとの間を所定比率で分割した分割点とノードniの間の距離が所定距離εより大きいか否かを判定する(ステップS110)。
When the
経路平滑化部5は、分割点とノードniとの間の距離が所定距離ε以下であると判定すると(ステップS110のNO)、元のジグザグの経路m1、n1、m2を動作経路とし、次のノードni+1の平滑化を行う。一方、経路平滑化部5は、分割点とノードniとの間の距離が所定距離εより大きいと判定すると(ステップS110のYES)、p=p+1、q=q+1(ステップS111)とし、上記(ステップS108)に戻る。
When the
以上、本実施形態において、経路生成部3は、ロボット100の動作環境内の障害物の位置及び形状を含む環境地図情報に基づいて、予め設定された始端点と終端点との間でロボット100が障害物と干渉しない経路となるように複数のノードを設定する。経路平滑化部5は、隣接するノード間に中間点をそれぞれ設定し、隣接した2つの該中間点の区間と軟化関数との合成積を計算することで、該区間に対する平滑化関数の経路を算出する。さらに、経路平滑化部5は、該算出した平滑化関数の経路が障害物と干渉しない場合、該平滑化関数の経路を新たな経路として生成、該算出した平滑化関数の経路が障害物と干渉する場合、中間点とノードとの間を所定比率で分割する分割点を再設定し、該再設定した分割点と中間点との間の平滑化関数の経路を算出し、該平滑化関数の経路が障害物と干渉するか否かを判定して、新たな経路を生成する。
これにより、各ノード間に中間点及び分割点を自動的に設定し、設定した中間点及び分割点に対して平滑化関数を算出して障害物の干渉を判定することができ、滑らかで障害物に干渉しない最適な中間点及び分割点を自動的に設定できる。したがって、計算負荷を軽くしつつ、障害物を干渉することなく滑らかに動作できる経路を計画できる。
As described above, in the present embodiment, the
With this, it is possible to automatically set the intermediate points and the dividing points between the respective nodes, calculate the smoothing function for the set intermediate points and the dividing points, and judge the interference of the obstacles. Optimal midpoints and division points that do not interfere with objects can be set automatically. Therefore, it is possible to plan a route that can smoothly operate without interfering with an obstacle while reducing the calculation load.
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
上記実施形態において、動作経路計画装置1は、経路平坦化部4を備えない構成であってもよい。この場合、経路平滑化部5は、経路生成部3により生成された動作経路を平滑化する。
上記実施形態において、ロボット100は、例えば、1つのアーム部103を有する片腕ロボットとして構成されてもよく(図10)、アーム部103のみを有するアーム型ロボットであってもよい。さらに、ロボット100は、自律型の車両などの移動体であってもよい。
The present invention is not limited to the above-mentioned embodiment, but can be modified as appropriate without departing from the spirit of the present invention.
In the above embodiment, the operation
In the above embodiment, the
本発明は、例えば、図9に示す処理を、CPUにコンピュータプログラムを実行させることにより実現することも可能である。 The present invention can also be realized by causing the CPU to execute a computer program, for example, the processing shown in FIG. 9.
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。 The program can be stored using various types of non-transitory computer readable media and supplied to the computer. Non-transitory computer readable media include various types of tangible storage media. Examples of the non-transitory computer-readable medium include a magnetic recording medium (for example, flexible disk, magnetic tape, hard disk drive), magneto-optical recording medium (for example, magneto-optical disk), CD-ROM (Read Only Memory), CD-R, It includes a CD-R/W and a semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)).
プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 The program may be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
1 動作経路計画装置、2 外部情報取得部、3 経路生成部、4 経路平坦化部、5経路平滑化部、6 経路出力部 1 operation route planning device, 2 external information acquisition unit, 3 route generation unit, 4 route flattening unit, 5 route smoothing unit, 6 route output unit
Claims (1)
前記ロボットの動作環境内の障害物の位置及び形状を含む環境地図情報に基づいて、予め設定された始端点と終端点との間で前記ロボットが前記障害物と干渉しない経路となるように複数のノードを設定するステップと、
隣接するノード間に中間点をそれぞれ設定し、前記ノードに隣接した2つの一方及び他方の該中間点の区間と所定関数との合成積を計算することで、該区間に対する平滑化関数の経路を算出するステップと、
該算出した平滑化関数の経路が前記障害物と干渉しない場合、該平滑化関数の経路を新たな経路として生成し、該算出した平滑化関数の経路が前記障害物と干渉する場合、前記一方の中間点と、前記一方及び他方の中間点に隣接したノードと、の間を所定比率で分割する分割点を再設定し、該再設定した分割点と前記他方の中間点との間の前記平滑化関数の経路を算出し、該平滑化関数の経路が前記障害物と干渉するか否かを判定して、前記新たな経路を生成するステップと、
を含む、
ことを特徴する動作経路計画方法。 A motion path planning method for planning a motion path of a robot, comprising:
Based on environment map information including the position and shape of obstacles in the operating environment of the robot, a plurality of routes are set between the preset start point and end point so that the robot does not interfere with the obstacles. Configuring the nodes of
The midpoint set respectively between adjacent nodes, by calculating the convolution of the two one and interval and a predetermined function of the other intermediate point adjacent to the node, the path of the smoothing function for inter-compartment A step of calculating,
If the path of the calculated smoothing function does not interfere with the obstacle, the path of the smoothing function is generated as a new path, and if the path of the calculated smoothing function interferes with the obstacle, the one of the an intermediate point of said one and reconfigure the other and a node adjacent to the intermediate point, the division points for dividing between a predetermined ratio, wherein between the middle point of the other and divided point as該再set Calculating a path of the smoothing function, determining whether the path of the smoothing function interferes with the obstacle, and generating the new path;
including,
A motion path planning method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016216217A JP6717164B2 (en) | 2016-11-04 | 2016-11-04 | Operation route planning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016216217A JP6717164B2 (en) | 2016-11-04 | 2016-11-04 | Operation route planning method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018069428A JP2018069428A (en) | 2018-05-10 |
JP6717164B2 true JP6717164B2 (en) | 2020-07-01 |
Family
ID=62112345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016216217A Active JP6717164B2 (en) | 2016-11-04 | 2016-11-04 | Operation route planning method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6717164B2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX2018014250A (en) | 2017-11-21 | 2019-08-16 | Tti Macao Commercial Offshore Ltd | Cold fogger. |
JP7067289B2 (en) * | 2018-06-08 | 2022-05-16 | トヨタ自動車株式会社 | Motion planning device and motion planning method |
CN108972549B (en) * | 2018-07-03 | 2021-02-19 | 华南理工大学 | Industrial mechanical arm real-time obstacle avoidance planning and grabbing system based on Kinect depth camera |
CN109541997B (en) * | 2018-11-08 | 2020-06-02 | 东南大学 | Spraying robot rapid intelligent programming method for plane/approximate plane workpiece |
JP7028196B2 (en) * | 2019-01-15 | 2022-03-02 | オムロン株式会社 | Robot control device, robot control method, and robot control program |
JP6792184B1 (en) * | 2019-11-27 | 2020-11-25 | 株式会社安川電機 | Simulation systems, simulation methods, simulation programs, robot manufacturing methods, and robot systems |
KR102300752B1 (en) * | 2020-01-29 | 2021-09-10 | 한국과학기술원 | Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path |
CN111890154B (en) * | 2020-07-31 | 2021-08-31 | 广东博智林机器人有限公司 | Polishing method |
CN113758484A (en) * | 2020-11-30 | 2021-12-07 | 北京京东乾石科技有限公司 | Path planning method and device |
JP7142803B1 (en) * | 2021-09-03 | 2022-09-27 | 三菱電機株式会社 | Robot control system, robot control device, motion planning device, robot control program and motion planning program |
CN114200931B (en) * | 2021-12-01 | 2023-06-13 | 浙江大学 | Mobile robot path smoothing method based on B spline curve optimization |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH067848A (en) * | 1992-04-20 | 1994-01-18 | Toshiba Corp | Device and method for straightening |
JPH0756605B2 (en) * | 1993-04-19 | 1995-06-14 | 株式会社日立製作所 | Robot with broken line path interpolation function |
JP3513100B2 (en) * | 2000-10-26 | 2004-03-31 | ファナック株式会社 | Control device |
EP1235126B1 (en) * | 2001-02-26 | 2006-09-27 | Hitachi, Ltd. | Numerically controlled curved surface machining unit |
JP4667764B2 (en) * | 2004-04-23 | 2011-04-13 | トヨタ自動車株式会社 | Route setting method |
-
2016
- 2016-11-04 JP JP2016216217A patent/JP6717164B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018069428A (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6717164B2 (en) | Operation route planning method | |
US8280574B2 (en) | Path planning device and method, cost evaluation device, and moving body | |
CN112099493B (en) | Autonomous mobile robot trajectory planning method, system and equipment | |
JP5724919B2 (en) | Orbit generation device, moving body, orbit generation method and program | |
JP5886502B2 (en) | MOBILE BODY CONTROL DEVICE, MOBILE BODY CONTROL METHOD, AND CONTROL PROGRAM | |
CN105353725B (en) | Auxiliary magnet configuration space circular interpolation method is crossed for industrial robot | |
JP7067289B2 (en) | Motion planning device and motion planning method | |
JP2020179466A (en) | Trajectory planning device and trajectory planning method and program | |
KR101732902B1 (en) | Path planning apparatus of robot and method thereof | |
WO2018019111A1 (en) | Robot and joint motion control method and device therefor | |
JP2014073550A (en) | Path searching method, path searching device, robot control device, robot, and program | |
US11292132B2 (en) | Robot path planning method with static and dynamic collision avoidance in an uncertain environment | |
JP5555838B2 (en) | Trajectory generation method and trajectory generation device | |
JP2009053926A (en) | Route-planning device and route-planning method | |
JP5926358B1 (en) | Tool path curving method and curving device for ensuring shape error | |
CN112975992A (en) | Error-controllable robot track synchronous optimization method | |
WO2021242215A1 (en) | A robot path planning method with static and dynamic collision avoidance in an uncertain environment | |
JP6672702B2 (en) | Control device, machine tool, control method, and computer program | |
JP4667764B2 (en) | Route setting method | |
CN111283683B (en) | Servo tracking accelerated convergence method for robot visual feature planning track | |
JP2014161917A (en) | Robot control system, robot, robot control method, and program | |
JP2012128585A (en) | Mobile device, robot, and control system for the same | |
JP2014161918A (en) | Robot control system, robot, robot control method, and program | |
JPWO2020179798A1 (en) | Machining program conversion device, numerical control device, machining program conversion method and machine learning device | |
CN113650011B (en) | Method and device for planning splicing path of mechanical arm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191008 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191206 |
|
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: 20200512 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200525 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6717164 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |