JP2018069428A - Operation path planning method - Google Patents
Operation path planning method Download PDFInfo
- Publication number
- JP2018069428A JP2018069428A JP2016216217A JP2016216217A JP2018069428A JP 2018069428 A JP2018069428 A JP 2018069428A JP 2016216217 A JP2016216217 A JP 2016216217A JP 2016216217 A JP2016216217 A JP 2016216217A JP 2018069428 A JP2018069428 A JP 2018069428A
- Authority
- JP
- Japan
- Prior art keywords
- path
- obstacle
- smoothing
- function
- route
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
本発明は、ロボットの動作経路を計画する動作経路計画方法に関する。 The present invention relates to a motion path planning method for planning a motion path of a robot.
ロボットの動作経路のスタート位置とゴール位置との間には、障害部を回避するように複数の中継点が設定され、隣接する中継点間に中間点が設定され、隣接する中間点を結ぶ経路を平滑化する動作経路計画方法が知られている(特許文献1参照)。例えば、1つ目の中継点と2つ目の中継点との間に位置する中間点と、2つ目の中継点と3つ目の中継点との間に位置する中間点と、を結んだ線を所定関数を用いて曲線にすることで平滑化を行っている。 Multiple relay points are set between the start position and goal position of the robot movement path so as to avoid obstacles, intermediate points are set between adjacent relay points, and routes connecting adjacent intermediate points An operation path planning method for smoothing is known (see Patent Document 1). For example, an intermediate point located between the first relay point and the second relay point and an intermediate point located between the second relay point and the third relay point are connected. Smoothing is performed by making the ellipse curve using a predetermined function.
上記動作経路計画方法において、例えば、中継点間で中間点をずらしつつ、その中間点を結び平滑化した経路が障害物に干渉しないように経路を計画する。このため、滑らかで障害物に干渉しない最適な中間点を見つけ出すのに、その計算負荷が高くなる虞がある。 In the above operation route planning method, for example, the intermediate point is shifted between the relay points, and the route is planned so that the smoothed route connecting the intermediate points does not interfere with the obstacle. For this reason, there is a possibility that the calculation load becomes high in order to find an optimal intermediate point that is smooth and does not interfere with an obstacle.
本発明は、かかる課題を解決するためになされたものであり、計算負荷を軽くしつつ、障害物を干渉することなく滑らかに動作できる経路を計画する動作経路計画方法を提供することを主たる目的とする。 The present invention has been made to solve such a problem, 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 a calculation load. And
上記目的を達成するための本発明の一態様は、
ロボットの動作経路を計画する動作経路計画方法であって、
前記ロボットの動作環境内の障害物の位置及び形状を含む環境地図情報に基づいて、予め設定された始端点と終端点との間に前記ロボットが前記障害物と干渉しない経路となるように複数のノードを設定するステップと、
隣接するノード間に中間点をそれぞれ設定し、隣接した2つの該中間点の区間と所定関数との合成積を計算することで、該区間に対する平滑化関数の経路を算出するステップと、
該算出した平滑化関数の経路が前記障害物と干渉しない場合、該平滑化関数の経路を新たな経路として生成し、該算出した平滑化関数の経路が前記障害物と干渉する場合、前記中間点と前記ノードとの間を所定比率で分割する分割点を再設定し、該再設定した分割点と前記中間点との間の前記平滑化関数の経路を算出し、該平滑化関数の経路が障害物と干渉するか否かを判定して、前記新たな経路を生成するステップと、
を含む、
ことを特徴する動作経路計画方法
である。
In order to achieve the above object, one embodiment of the present invention provides:
An operation path planning method for planning an operation path of a robot,
Based on environmental map information including the position and shape of the obstacle in the robot's operating environment, a plurality of paths are provided so that the robot does not interfere with the obstacle between a preset start point and end point. Setting the nodes of
Calculating a smoothing function path for the interval by setting an intermediate point between adjacent nodes and calculating a composite product of the interval between two adjacent intermediate points and a predetermined function;
When the calculated smoothing function path does not interfere with the obstacle, the smoothing function path is generated as a new path, and when the calculated smoothing function path interferes with the obstacle, the intermediate Resetting a dividing point for dividing a point and the node at a predetermined ratio, calculating a path of the smoothing function between the reset dividing point and the intermediate point, and passing the smoothing function path Determining whether or not it interferes with an obstacle and generating the new route;
including,
This is an action path planning method characterized by this.
本発明によれば、計算負荷を軽くしつつ、障害物を干渉することなく滑らかに動作できる経路を計画する動作経路計画方法を提供することができる。 According to the present invention, it is possible to provide an operation route planning method for planning a route that can operate smoothly without interfering with an obstacle while reducing a 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 route planning apparatus according to an embodiment of the present invention plans an operation route 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の構成は一例であり、これに限定されない。
For example, 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 motion route planning apparatus according to the present embodiment. The motion
動作経路計画装置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は、例えば、障害物が込み入った環境であっても動作経路の探索が可能な確率的な探索手法を用いて、動作経路を生成する。
For example, the
なお、この確率的な探索手法の詳細は、例えば、非特許文献:LaValle Steven K, Kuffner Jr. James J.(2001). “Randomized kinodynamic planning”. The International Journal of Robotics Research (IJRR)20(5).に開示されており、これを援用できるものとする。また、上述した動作経路の生成方法は一例であり、これに限定されない。 The details of this probabilistic search method are, for example, non-patent literature: LaValle Steven K, Kuffner Jr. James J. (2001). “Randomized kinodynamic planning”. The International Journal of Robotics Research (IJRR) 20 (5 ). Is incorporated herein by reference. Further, the above-described operation path generation method 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))]
For example, as illustrated in FIG. 3, 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 a 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 motion path generated by the 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
経路平滑化部5は、経路平坦化部4により平坦化されたジグザグの動作経路を平滑化する。ここで、平滑化とは、上述したように設定された経路を滑らかな曲線にすることを指す。平坦化が終了した時点での動作経路は、各中継点において急激に方向が変わる、所謂ジグザグの経路となっている。これを滑らかな曲線とすることで、ロボット100の動作が滑らかとなる。ここでは、平滑化後の経路が無限回微分可能な関数によって近似されるため、経路自体の滑らかさに加えて、その経路上の移動速度及び加速度の滑らかさも保証される。平滑化に際して、滑らかにした動作経路が障害物と干渉するか検証し、干渉する場合はその干渉が回避されるまで平滑化が再履行される。
The
ところで、従来の動作経路計画装置において、例えば、中継点間で中間点をずらしつつ、その中間点を結び平滑化した経路が障害物に干渉しないように経路を計画する。このため、滑らかで障害物に干渉しない最適な中間点を見つけ出すのに、その計算負荷が高くなる虞がある。 By the way, in the conventional operation route planning apparatus, for example, while the intermediate point is shifted between the relay points, the route is planned so that the smoothed route connecting the intermediate points does not interfere with the obstacle. For this reason, there is a possibility that the calculation load becomes high in order to find an optimal intermediate point that is smooth and does not interfere with an obstacle.
これに対し、本実施形態に係る動作経路計画装置において、経路平滑化部5は、隣接するノード間に中間点をそれぞれ設定し、隣接した2つの該中間点の区間と軟化関数との合成積を計算することで、該区間に対する平滑化関数の経路を算出する。そして、経路平滑化部5は、該算出した平滑化関数の経路が障害物と干渉しない場合、該平滑化関数の経路を新たな経路として生成、該算出した平滑化関数の経路が障害物と干渉する場合、中間点とノードとの間を所定比率で分割する分割点を再設定し、該再設定した分割点と中間点との間の平滑化関数の経路を算出し、該平滑化関数の経路が障害物と干渉するか否かを判定して、新たな経路を生成する。
On the other hand, in the motion route planning apparatus according to the present embodiment, the
これにより、各ノード間に中間点及び分割点を自動的に設定し、設定した中間点及び分割点に対して平滑化関数を算出して障害物の干渉を判定できるため、滑らかで障害物に干渉しない最適な中間点及び分割点を自動的に設定できる。したがって、計算負荷を軽くしつつ、障害物を干渉することなく滑らかに動作できる経路を計画できる。 As a result, intermediate points and division points are automatically set between the nodes, and smoothing functions can be calculated for the set intermediate points and division points to determine the interference of obstacles. It is possible to automatically set an optimal intermediate point and division point that do not interfere with each other. Therefore, it is possible to plan a route that can operate smoothly without interfering with an obstacle while reducing the calculation load.
経路平滑化部5は、例えば、経路平坦化部4により平坦化された動作経路と、多項式の軟化関数(所定関数)と、の合成積を行うことにより、その動作経路を平滑化する。
For example, 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 of the operation path set as described above and are nodes. sn_0 to sn4 are distances of joint vectors 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 distances of joint vectors 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, 2: 3, etc.). As the predetermined ratio, for example, an optimum value experimentally determined 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))を生成する。
For example, as shown in FIG. 5, 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 dividing 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.
FIGS. 7A to 7D are graphs showing an example of the softening function T (x).
The softening function is, for example, a tenary polynomial function. The tenary polynomial function is a polynomial function that has three regions of a function value increase region, a constant region, and a decrease region, and the increase region and the decrease region are expressed symmetrically across the constant region. 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 used.
この軟化関数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 degree 0, T 0 (x) = C (-a 0/2 <x <a 0/2), T 0 (x) = 0 (x ≦ - a 0/2, x ≧ a 0/2) a. C and a 0 are constants. i is 0 or a positive integer.
図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 the
図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) , And integrating T ′ i + 1 (x), it is possible to generate T i + 1 (x) having a high degree.
例えば、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) T 2 (x) may be generated by dividing and integrating, or after T 0 (x) is symmetrically divided, T ″ 2 (x) is generated by further symmetrically dividing 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)がジャーク状態を示すこととなる。
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 operation 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 calculations that satisfy the limitations of differential coefficients such as speed, acceleration, jerk, and the like. For this reason, by calculating the operation path using the softening function T (x), it is possible to quickly calculate a movement path that satisfies a predetermined restriction 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 ,..., A n , and C. It is defined as d = (a 0 , a 1 ,..., a n , C). C is adjusted so that the integrated value of the softening function is 1. f d (x) is a function that can be differentiated n−1 times, and converges uniformly to 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 the present embodiment will be described in detail. FIG. 9 is a flowchart showing the flow of the operation path planning method. Route generating
続いて、経路平滑化部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を結んだジグザグの経路となる。
The
一方、経路平滑化部5は、中間点miとノードni間の距離および中間点mi+1とノードni間の距離が所定距離εより大きいと判定すると(ステップS101のYES)、中間点miと中間点mi+1との間の区間と、対応する軟化関数Tnと、を合せて、合成績fd(x)を計算し、平滑化関数を生成する(ステップS102)。そして、経路平滑化部5は、生成した平滑化関数の経路が障害物に干渉するか否かを判定する(ステップS103)。
Meanwhile, 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)。
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)
If 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)に戻る。
The
以上、本実施形態において、経路生成部3は、ロボット100の動作環境内の障害物の位置及び形状を含む環境地図情報に基づいて、予め設定された始端点と終端点との間でロボット100が障害物と干渉しない経路となるように複数のノードを設定する。経路平滑化部5は、隣接するノード間に中間点をそれぞれ設定し、隣接した2つの該中間点の区間と軟化関数との合成積を計算することで、該区間に対する平滑化関数の経路を算出する。さらに、経路平滑化部5は、該算出した平滑化関数の経路が障害物と干渉しない場合、該平滑化関数の経路を新たな経路として生成、該算出した平滑化関数の経路が障害物と干渉する場合、中間点とノードとの間を所定比率で分割する分割点を再設定し、該再設定した分割点と中間点との間の平滑化関数の経路を算出し、該平滑化関数の経路が障害物と干渉するか否かを判定して、新たな経路を生成する。
これにより、各ノード間に中間点及び分割点を自動的に設定し、設定した中間点及び分割点に対して平滑化関数を算出して障害物の干渉を判定することができ、滑らかで障害物に干渉しない最適な中間点及び分割点を自動的に設定できる。したがって、計算負荷を軽くしつつ、障害物を干渉することなく滑らかに動作できる経路を計画できる。
As described above, in the present embodiment, the
As a result, intermediate points and division points are automatically set between the nodes, smoothing functions are calculated for the set intermediate points and division points, and obstacle interference can be determined. It is possible to automatically set the optimum intermediate point and division point that do not interfere with an object. Therefore, it is possible to plan a route that can operate smoothly without interfering with an obstacle while reducing the calculation load.
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
上記実施形態において、動作経路計画装置1は、経路平坦化部4を備えない構成であってもよい。この場合、経路平滑化部5は、経路生成部3により生成された動作経路を平滑化する。
上記実施形態において、ロボット100は、例えば、1つのアーム部103を有する片腕ロボットとして構成されてもよく(図10)、アーム部103のみを有するアーム型ロボットであってもよい。さらに、ロボット100は、自律型の車両などの移動体であってもよい。
Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.
In the above embodiment, the motion
In the above embodiment, the
本発明は、例えば、図9に示す処理を、CPUにコンピュータプログラムを実行させることにより実現することも可能である。 In the present invention, for example, the processing shown in FIG. 9 can be realized by causing a CPU to execute a computer program.
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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 may be stored using various types of non-transitory computer readable media and supplied to a computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W and semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)) are included.
プログラムは、様々なタイプの一時的なコンピュータ可読媒体(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 temporary 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 経路出力部
DESCRIPTION OF
Claims (1)
前記ロボットの動作環境内の障害物の位置及び形状を含む環境地図情報に基づいて、予め設定された始端点と終端点との間で前記ロボットが前記障害物と干渉しない経路となるように複数のノードを設定するステップと、
隣接するノード間に中間点をそれぞれ設定し、隣接した2つの該中間点の区間と所定関数との合成積を計算することで、該区間に対する平滑化関数の経路を算出するステップと、
該算出した平滑化関数の経路が前記障害物と干渉しない場合、該平滑化関数の経路を新たな経路として生成し、該算出した平滑化関数の経路が前記障害物と干渉する場合、前記中間点と前記ノードとの間を所定比率で分割する分割点を再設定し、該再設定した分割点と前記中間点との間の前記平滑化関数の経路を算出し、該平滑化関数の経路が前記障害物と干渉するか否かを判定して、前記新たな経路を生成するステップと、
を含む、
ことを特徴する動作経路計画方法。 An operation path planning method for planning an operation path of a robot,
Based on environmental map information including the position and shape of obstacles in the operating environment of the robot, a plurality of paths are provided between the preset start and end points so that the robot does not interfere with the obstacles. Setting the nodes of
Calculating a smoothing function path for the interval by setting an intermediate point between adjacent nodes and calculating a composite product of the interval between two adjacent intermediate points and a predetermined function;
When the calculated smoothing function path does not interfere with the obstacle, the smoothing function path is generated as a new path, and when the calculated smoothing function path interferes with the obstacle, the intermediate Resetting a dividing point for dividing a point and the node at a predetermined ratio, calculating a path of the smoothing function between the reset dividing point and the intermediate point, and passing the smoothing function path Determining whether to interfere with the obstacle and generating the new route;
including,
An action path planning method characterized by that.
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 true JP2018069428A (en) | 2018-05-10 |
JP6717164B2 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) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108972549A (en) * | 2018-07-03 | 2018-12-11 | 华南理工大学 | Industrial machinery arm Real Time Obstacle Avoiding based on Kinect depth camera plans grasping system |
CN109541997A (en) * | 2018-11-08 | 2019-03-29 | 东南大学 | It is a kind of towards the quick, intelligent programmed method of plane/almost plane workpiece spray robot |
JP2019209457A (en) * | 2018-06-08 | 2019-12-12 | トヨタ自動車株式会社 | Motion plan apparatus and motion plan method |
WO2020149020A1 (en) * | 2019-01-15 | 2020-07-23 | オムロン株式会社 | Robot control device, robot control method, and robot control program |
CN111890154A (en) * | 2020-07-31 | 2020-11-06 | 广东博智林机器人有限公司 | Polishing method |
US20210154846A1 (en) * | 2019-11-27 | 2021-05-27 | Kabushiki Kaisha Yaskawa Denki | Simulated robot trajectory |
KR20210096842A (en) * | 2020-01-29 | 2021-08-06 | 한국과학기술원 | Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path |
CN113758484A (en) * | 2020-11-30 | 2021-12-07 | 北京京东乾石科技有限公司 | Path planning method and device |
CN114200931A (en) * | 2021-12-01 | 2022-03-18 | 浙江大学 | Mobile robot path smoothing method based on B-spline curve optimization |
US11340045B2 (en) | 2017-11-21 | 2022-05-24 | Techtronic Outdoor Products Technology Limited | Cold fogger |
JP7142803B1 (en) * | 2021-09-03 | 2022-09-27 | 三菱電機株式会社 | Robot control system, robot control device, motion planning device, robot control program and motion planning program |
CN113758484B (en) * | 2020-11-30 | 2024-07-16 | 北京京东乾石科技有限公司 | Path planning method and device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH067848A (en) * | 1992-04-20 | 1994-01-18 | Toshiba Corp | Device and method for straightening |
JPH0695726A (en) * | 1993-04-19 | 1994-04-08 | Hitachi Ltd | Route interpolating method for robot hand |
JP2002132317A (en) * | 2000-10-26 | 2002-05-10 | Fanuc Ltd | Controller |
EP1235126A1 (en) * | 2001-02-26 | 2002-08-28 | Hitachi, Ltd. | Numerically controlled curved surface machining unit |
JP2005309990A (en) * | 2004-04-23 | 2005-11-04 | Toyota Motor Corp | Path setting method |
-
2016
- 2016-11-04 JP JP2016216217A patent/JP6717164B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH067848A (en) * | 1992-04-20 | 1994-01-18 | Toshiba Corp | Device and method for straightening |
JPH0695726A (en) * | 1993-04-19 | 1994-04-08 | Hitachi Ltd | Route interpolating method for robot hand |
JP2002132317A (en) * | 2000-10-26 | 2002-05-10 | Fanuc Ltd | Controller |
EP1235126A1 (en) * | 2001-02-26 | 2002-08-28 | Hitachi, Ltd. | Numerically controlled curved surface machining unit |
JP2005309990A (en) * | 2004-04-23 | 2005-11-04 | Toyota Motor Corp | Path setting method |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11340045B2 (en) | 2017-11-21 | 2022-05-24 | Techtronic Outdoor Products Technology Limited | Cold fogger |
US11167418B2 (en) | 2018-06-08 | 2021-11-09 | Toyota Jidosha Kabushiki Kaisha | Operation planning apparatus and operation planning method |
JP2019209457A (en) * | 2018-06-08 | 2019-12-12 | トヨタ自動車株式会社 | Motion plan apparatus and motion plan method |
CN110576437A (en) * | 2018-06-08 | 2019-12-17 | 丰田自动车株式会社 | Action planning device and action planning method |
JP7067289B2 (en) | 2018-06-08 | 2022-05-16 | トヨタ自動車株式会社 | Motion planning device and motion planning method |
CN108972549A (en) * | 2018-07-03 | 2018-12-11 | 华南理工大学 | Industrial machinery arm Real Time Obstacle Avoiding based on Kinect depth camera plans grasping system |
CN109541997A (en) * | 2018-11-08 | 2019-03-29 | 东南大学 | It is a kind of towards the quick, intelligent programmed method of plane/almost plane workpiece spray robot |
WO2020149020A1 (en) * | 2019-01-15 | 2020-07-23 | オムロン株式会社 | Robot control device, robot control method, and robot control program |
JP2020110884A (en) * | 2019-01-15 | 2020-07-27 | オムロン株式会社 | Robot control device, robot control method, and robot control program |
CN112703090A (en) * | 2019-01-15 | 2021-04-23 | 欧姆龙株式会社 | Robot control device, robot control method, and robot control program |
JP7028196B2 (en) | 2019-01-15 | 2022-03-02 | オムロン株式会社 | Robot control device, robot control method, and robot control program |
JP2021084175A (en) * | 2019-11-27 | 2021-06-03 | 株式会社安川電機 | Simulation system, simulation method, simulation program, robot manufacturing method and robot system |
EP3827935A1 (en) * | 2019-11-27 | 2021-06-02 | Kabushiki Kaisha Yaskawa Denki | Simulated robot trajectory |
US20210154846A1 (en) * | 2019-11-27 | 2021-05-27 | Kabushiki Kaisha Yaskawa Denki | Simulated robot trajectory |
KR102300752B1 (en) | 2020-01-29 | 2021-09-10 | 한국과학기술원 | Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path |
KR20210096842A (en) * | 2020-01-29 | 2021-08-06 | 한국과학기술원 | 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 |
CN111890154A (en) * | 2020-07-31 | 2020-11-06 | 广东博智林机器人有限公司 | Polishing method |
CN113758484A (en) * | 2020-11-30 | 2021-12-07 | 北京京东乾石科技有限公司 | Path planning method and device |
CN113758484B (en) * | 2020-11-30 | 2024-07-16 | 北京京东乾石科技有限公司 | 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 |
CN114200931A (en) * | 2021-12-01 | 2022-03-18 | 浙江大学 | Mobile robot path smoothing method based on B-spline curve optimization |
CN114200931B (en) * | 2021-12-01 | 2023-06-13 | 浙江大学 | Mobile robot path smoothing method based on B spline curve optimization |
Also Published As
Publication number | Publication date |
---|---|
JP6717164B2 (en) | 2020-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018069428A (en) | Operation path planning method | |
CN110576437B (en) | Operation planning device and operation planning method | |
JP5886502B2 (en) | MOBILE BODY CONTROL DEVICE, MOBILE BODY CONTROL METHOD, AND CONTROL PROGRAM | |
CN112099493B (en) | Autonomous mobile robot trajectory planning method, system and equipment | |
TWI604287B (en) | Method and control system for controlling operation of processing machine, and processing machine | |
CN110471429A (en) | Grass-removing robot Real-time Obstacle Avoidance Method based on modified embedded-atom method | |
WO2017113416A1 (en) | Smooth transition method for processing trajectories and processing device | |
JP2013513149A (en) | Method and control device for determining cut locus of curve section of roadway | |
TW201417926A (en) | Method for controlling machines according to pattern of contours and laser cutting machine | |
JP6672702B2 (en) | Control device, machine tool, control method, and computer program | |
JP5555838B2 (en) | Trajectory generation method and trajectory generation device | |
KR20150121931A (en) | UGV(Unmanned Ground Vehicle) Control System by using Hybrid Path Planning Method | |
CN110162029A (en) | A kind of motion control method and device, robot based on planning path | |
JP2013184233A (en) | Robot and method of generating trajectory thereof | |
CN112975992A (en) | Error-controllable robot track synchronous optimization method | |
WO2020179798A1 (en) | Machining program conversion device, numerical control device, machining program conversion method, and machine-learning device | |
CN111283683B (en) | Servo tracking accelerated convergence method for robot visual feature planning track | |
JP2014161917A (en) | Robot control system, robot, robot control method, and program | |
US10095810B2 (en) | Seam modification for 3D CAD models | |
JP2008129695A (en) | Path generation system and method for traveling object | |
KR101743795B1 (en) | Curve interpolation method in positioning control system | |
WO2019049664A1 (en) | Self-propelled device, and travelling control method and travelling control program of self-propelled device | |
CN108279644B (en) | Linear interpolation control method based on superposition instruction | |
CN116009552A (en) | Path planning method, device, equipment and storage medium | |
TWI708130B (en) | Path tracing system |
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 | Request for written amendment filed |
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 |