JP2011086099A - Method of generating movement path data of movable body - Google Patents

Method of generating movement path data of movable body Download PDF

Info

Publication number
JP2011086099A
JP2011086099A JP2009238195A JP2009238195A JP2011086099A JP 2011086099 A JP2011086099 A JP 2011086099A JP 2009238195 A JP2009238195 A JP 2009238195A JP 2009238195 A JP2009238195 A JP 2009238195A JP 2011086099 A JP2011086099 A JP 2011086099A
Authority
JP
Japan
Prior art keywords
command value
robot
command
given
interpolation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009238195A
Other languages
Japanese (ja)
Inventor
Hikaru Sugata
光留 菅田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2009238195A priority Critical patent/JP2011086099A/en
Publication of JP2011086099A publication Critical patent/JP2011086099A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method of generating movement path data of a movable body allowing the movable body to pass through a command value without passing through a unnecessary route. <P>SOLUTION: The method of generating movement path data of a movable body by interpolating command values serially given to specify a moving position by use of a cubic function includes: a step of interpolating between a first command value and a second command value to be passed through later than the first command value, based on the first command value and the second command value; and a step of, when a third command value to be passed through later than the second command value is acquired while the movable body moves between a first position specified by the first command value and a second position specified by the second command value, interpolating between a present command value to specify a present value and the second command value, based on the present command value, the second command value and the third command value. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、移動体の移動経路データの生成方法に関する。   The present invention relates to a method for generating movement path data of a moving object.

移動体の制御において、自律移動の指令値に代表される様々な指令値が、移動体に与えられる。しかしながら、指令値のすべてが最初から移動体に与えられていることはまれであり、指令値は逐次的に与えられる場合が多い。さらに指令値が与えられる周期は、低周期である場合が多い。したがって、逐次的に与えられる指令値を、補間する方法が必要となる。   In the control of the moving body, various command values represented by the command value for autonomous movement are given to the moving body. However, it is rare that all the command values are given to the moving body from the beginning, and the command values are often given sequentially. Furthermore, the cycle in which the command value is given is often a low cycle. Therefore, a method for interpolating command values given sequentially is required.

与えられた指令値を補間する方法として、スプライン補間が広く知られている。スプライン補間とは、指令値における微分値が連続することを特徴とするものである。   Spline interpolation is widely known as a method of interpolating a given command value. Spline interpolation is characterized in that differential values in command values are continuous.

また、逐次的に到来する指令値を補間する方法として、2点の指令値のみを用いて3次関数で補間を行う、Ferguson Coons補間が知られている。   In addition, Ferguson Coons interpolation is known as a method of interpolating command values that arrive sequentially, in which interpolation is performed with a cubic function using only two command values.

特許文献1乃至特許文献4において、ロボットの移動経路を3次元関数で補間する方法が開示されている。
また、特許文献5には、自律移動ロボットの目標位置が動的に変化しても、柔軟に移動経路における初期位置から目標位置まで移動することができるようにした、スプライン補間による移動経路制御方法が開示されている。
Patent Documents 1 to 4 disclose a method of interpolating a movement path of a robot with a three-dimensional function.
Further, Patent Document 5 discloses a movement path control method by spline interpolation that can move flexibly from an initial position to a target position in a movement path even if the target position of an autonomous mobile robot changes dynamically. Is disclosed.

特開平08−136415号公報Japanese Patent Laid-Open No. 08-136415 特開平05−324036号公報JP 05-324036 A 特開平09−244725号公報JP 09-244725 A 特開平10−228306号公報JP-A-10-228306 特開2001−060112号公報JP 2001-060112 A

しかしながら、スプライン補間は、指令値がすべて与えられていないと補間関数を決定することができない。すなわち、逐次的に指令値が与えられる場合に、指令値の補間を行うことは想定されていない。
また、Ferguson Coons補間は、関数の係数決定条件が明確に定められていない。そのため、例えば図9において、実践の丸印の箇所において指令値が与えられたものとすると、補間による経路は、点線で囲んだ箇所のように2点間を大きく迂回した、無駄な経路を通るものとなる場合がある。
However, in spline interpolation, an interpolation function cannot be determined unless all command values are given. That is, when command values are given sequentially, it is not assumed that command values are interpolated.
In addition, Ferguson Coons interpolation does not clearly define the function coefficient determination conditions. Therefore, for example, in FIG. 9, if a command value is given at a practical circle, a path by interpolation passes through a useless path that is largely detoured between two points like a part surrounded by a dotted line. It may be a thing.

本発明は、このような問題点を解決するためになされたものであり、無駄な経路を通らずに指令値を通過できる、移動経路データの生成方法を提供することを目的とする。   The present invention has been made to solve such problems, and an object of the present invention is to provide a method for generating movement route data that can pass a command value without passing through a useless route.

本発明における移動体の移動経路データの生成方法は、移動体の移動位置を特定し逐次与えられる指令値を、3次関数を用いて補間して、当該移動体の移動経路データを生成する方法であって、第1の指令値と、当該第1の指令値より後に通過する第2の指令値に基づいて、当該第1の指令値と当該第2の指令値の間を補間するステップと、前記第1の指令値により特定される第1の位置と、前記第2の指令値により特定される第2の位置の間を当該移動体が移動しているときに、前記第2の指令値よりも後に通過する第3の指令値を取得した場合には、現在値を特定する現在指令値と、前記第2の指令値と、前記第3の指令値に基づいて、前記現在指令値と前記第2の指令値間を補間するステップ、とを備えた、移動体の移動経路データの生成方法である。
これにより、指令値が逐次追加して与えられた場合に、移動体が無駄な経路を通らずに指令値を通過するよう、経路を補間することができる。
The method for generating moving path data of a moving body according to the present invention is a method for generating moving path data of a moving body by interpolating a command value given sequentially and specifying a moving position of the moving body using a cubic function. And interpolating between the first command value and the second command value based on the first command value and the second command value passing after the first command value; When the moving body is moving between the first position specified by the first command value and the second position specified by the second command value, the second command When the third command value that passes after the value is acquired, the current command value is determined based on the current command value that identifies the current value, the second command value, and the third command value. And a step of interpolating between the second command values, and Is an adult way.
Thereby, when the command value is sequentially added and given, the path can be interpolated so that the moving body passes the command value without passing through a useless path.

本発明により、無駄な経路を通らずに指令値を通過できる、移動経路データの生成方法を提供することができる。   According to the present invention, it is possible to provide a method of generating movement route data that can pass a command value without passing through a useless route.

実施の形態1にかかる補間対象区間を示す図である。It is a figure which shows the interpolation object area concerning Embodiment 1. FIG. 実施の形態1にかかる補間関数計算フローチャートである。3 is an interpolation function calculation flowchart according to the first embodiment; 実施の形態1にかかる新しい指令値が追加された場合のフローチャートである。It is a flowchart in case the new command value concerning Embodiment 1 is added. 実施の形態1にかかる第3の指令値が与えられる前の状態を示す図である。It is a figure which shows the state before the 3rd command value concerning Embodiment 1 is given. 実施の形態1にかかる第3の指令値が与えられた状態を示す図である。It is a figure which shows the state to which the 3rd command value concerning Embodiment 1 was given. 実施の形態1にかかる補間関数の再計算が行われた状態を示す図である。It is a figure which shows the state by which the recalculation of the interpolation function concerning Embodiment 1 was performed. 実施の形態1にかかる移動経路の例を示す図である。FIG. 3 is a diagram illustrating an example of a movement route according to the first embodiment. 実施の形態2にかかる最初の補間対象区間を示す図である。It is a figure which shows the first interpolation object area concerning Embodiment 2. FIG. 従来の補間方法により求められる経路を示す図である。It is a figure which shows the path | route calculated | required by the conventional interpolation method.

実施の形態1.
以下、図面を参照して本発明の実施の形態について説明する。
本実施の形態では、移動体として自律型のロボットを用いる場合について説明する。なお、指令値は、はじめからすべてがロボットに与えられるものではなく、時間の経過に従い逐次的に与えられるものとする。
Embodiment 1.
Embodiments of the present invention will be described below with reference to the drawings.
In this embodiment, a case where an autonomous robot is used as a moving body will be described. Note that the command values are not all given to the robot from the beginning, but are given sequentially as time passes.

図1は、本実施の形態にかかる補間対象区間を示す図である。なお図1において、横軸は時間であり、縦軸は指令値を表す。
指令値2と指令値3の区間を補間対象区間とし、点線で示した曲線部分の補間関数を求めるものとする。このとき、指令値2を第1の指令値、指令値3を第2の指令値とする。指令値1はすでに通過した指令値である。
また、第2の指令値の後の時間について指令値が与えられている場合には、当該指令値4を第3の指令値とする。なお、第2の指令値である指令値3の後の時間について、複数の指令値が与えられている場合には、その中で最も早い時間の指令値を、第3の指令値とする。
FIG. 1 is a diagram showing an interpolation target section according to the present embodiment. In FIG. 1, the horizontal axis represents time, and the vertical axis represents the command value.
The section between the command value 2 and the command value 3 is set as the interpolation target section, and the interpolation function of the curve portion indicated by the dotted line is obtained. At this time, the command value 2 is the first command value, and the command value 3 is the second command value. The command value 1 is a command value that has already passed.
When a command value is given for a time after the second command value, the command value 4 is set as the third command value. When a plurality of command values are given for the time after the command value 3 as the second command value, the command value at the earliest time among them is set as the third command value.

補間対象区間における補間は、3次関数

Figure 2011086099
により行う。
ここでtは時間を示し、fは時間kからk+1における関数である。係数ak0、ak1、ak2、及びak3は、1つの補間対象区間において、再計算が行われる場合を除いて、それぞれ1つの値が用いられる。ak0、ak1、ak2、及びak3は、次の補間関数計算フローにより定める。 Interpolation in the interpolation target section is a cubic function
Figure 2011086099
To do.
Here, t represents time, and f k is a function from time k to k + 1. The coefficients a k0 , a k1 , a k2 , and a k3 each have one value, except when recalculation is performed in one interpolation target section. a k0 , a k1 , a k2 , and a k3 are determined by the following interpolation function calculation flow.

補間関数計算のフローについて説明する。図2は、補間関数計算フローチャートである。以下では、f(t)の1階微分をf'(t)、2階微分をf"(t)と表す。 An interpolation function calculation flow will be described. FIG. 2 is an interpolation function calculation flowchart. Hereinafter, f k (t) f k ' the first-order derivative of the (t), represents the second derivative with f k "(t).

まず、ロボットは、第1の指令値を通過し新たな補完区間に入ると、(2)乃至(4)式の3つの計算条件を設定する(ステップS11)。

Figure 2011086099
Figure 2011086099
Figure 2011086099
ここでxは指令値を表す。なお、第1の指令値以前の時間における補間関数計算(fk-1,fk-2,・・・)は、すでに行われているものとする。 First, when the robot passes through the first command value and enters a new complementary section, the robot sets three calculation conditions (2) to (4) (step S11).
Figure 2011086099
Figure 2011086099
Figure 2011086099
Here, x represents a command value. It is assumed that the interpolation function calculation (f k-1 , f k-2 ,...) In the time before the first command value has already been performed.

次に、ロボットは、第3の指令値を与えられているか否かの確認を行う(ステップS12)。第3の指令値が与えられている場合には(ステップS12でYES)、(5)式を4つ目の計算条件として設定する(ステップS13)。

Figure 2011086099
第3の指令値が与えられていない場合には(ステップS12でNO)、(6)式を4つ目の計算条件として設定する(ステップS14)。
Figure 2011086099
Next, the robot checks whether or not a third command value is given (step S12). If the third command value is given (YES in step S12), equation (5) is set as the fourth calculation condition (step S13).
Figure 2011086099
If the third command value is not given (NO in step S12), equation (6) is set as the fourth calculation condition (step S14).
Figure 2011086099

次に、前述した(2)乃至(4)式による3つの条件と、(5)式または(6)式のいずれか一方の条件から、(1)式におけるak0、ak1、ak2、及びak3を算出する(ステップS15)。
これにより、補間対象区間における補間関数fを求めることができる。
Next, from the above-described three conditions (2) to (4) and any one of the conditions (5) or (6), a k0 , a k1 , a k2 , And a k3 are calculated (step S15).
As a result, the interpolation function f k in the interpolation target section can be obtained.

次に、指令値が新たに追加された場合のフローについて説明する。図3は、ロボットに新しい指令値が追加された場合のフローチャートである。   Next, a flow when a command value is newly added will be described. FIG. 3 is a flowchart when a new command value is added to the robot.

ロボットは、新しい指令値が追加された場合には、すでに第3の指令値があるか否かを判定する(ステップS21)。   When a new command value is added, the robot determines whether there is already a third command value (step S21).

第3の指令値が存在しない場合には(ステップS21でNO)、ロボットは、現時刻Tにおける補間値f(T)を新たに第1の指令値とする(ステップS22)。また、ロボットは、新たに追加された指令値を第3の指令値とする(ステップS23)。
次に、そして、ステップS22及びステップS23で指定した第1及び第3の指令値を用い、前述した補間関数計算フロー(ステップS11乃至ステップS15)に基づいて、補間関数計算を行う(ステップS24)。
If the third command value does not exist (NO in step S21), the robot newly sets the interpolation value f k (T) at the current time T as the first command value (step S22). In addition, the robot sets the newly added command value as the third command value (step S23).
Next, using the first and third command values specified in step S22 and step S23, the interpolation function calculation is performed based on the above-described interpolation function calculation flow (steps S11 to S15) (step S24). .

次に、新たな指令値が与えられた場合のフローによる動作を説明する。
図4は、第3の指令値が与えられていない状態を示す図である。なお、図4の横軸は時間軸であり、縦軸は指令値を示す。また図4における点線の曲線部分は、新たな指令値が与えられる前の時点での補間関数計算により算出された経路を示している。
このとき、(t,x)における指令値11が第1の指令値であり、(tk+1,xk+1)における指令値12が第2の指令値である。また、ポイント13は現在の時間Tにおける補間値f(T)であり、すなわちロボットの現在値を示している。
Next, the operation according to the flow when a new command value is given will be described.
FIG. 4 is a diagram illustrating a state where the third command value is not given. In FIG. 4, the horizontal axis is the time axis, and the vertical axis indicates the command value. Also, the dotted curve portion in FIG. 4 indicates the path calculated by the interpolation function calculation at the time before the new command value is given.
At this time, the command value 11 at (t k , x k ) is the first command value, and the command value 12 at (t k + 1 , x k + 1 ) is the second command value. Point 13 is the interpolation value f k (T) at the current time T, that is, the current value of the robot.

また図5は、(tk+2,xk+2)に新たな指令値が与えられ、新たな指令値が第3の指令値となった状態を示す図である。図5の横軸は時間軸であり、縦軸は指令値を示す。また図5における点線の曲線部分は、図4と同様に、新たな指令値が与えられる前の時点での補間関数計算により算出された経路を示している。
図5において、ロボットは、新しい指令値14が追加されたと判断し(ステップS21)、他に第3の指令値が存在しない場合には(ステップS21でNO)、ポイント13を新たな第1の指令値として設定し(ステップS22)、指令値14を第3の指令値とする(ステップS23)。
FIG. 5 is a diagram illustrating a state where a new command value is given to (t k + 2 , x k + 2 ) and the new command value becomes the third command value. The horizontal axis in FIG. 5 is the time axis, and the vertical axis indicates the command value. The dotted curve portion in FIG. 5 indicates the path calculated by the interpolation function calculation at the time before the new command value is given, as in FIG.
In FIG. 5, the robot determines that a new command value 14 has been added (step S21), and if there is no other third command value (NO in step S21), the robot moves the point 13 to the new first value. The command value is set (step S22), and the command value 14 is set as a third command value (step S23).

そして、前述した補間関数計算フロー(ステップS11乃至ステップS15)に基づいて、補間関数計算を行う(ステップS24)。なお、指令値14を第3の指令値としているため、ステップS12ではYESと判定される。
図6は、新たな指令値14を第3の指令値とし、補間関数計算を行った状態を示す。なお、図6の横軸は時間軸であり、縦軸は指令値を示す。すなわち、図6における点線の曲線部分は、新たに第1及び第3の指令値の設定を行った後に、補間関数計算により算出した、新たな経路である。
Based on the above-described interpolation function calculation flow (steps S11 to S15), the interpolation function calculation is performed (step S24). Since the command value 14 is the third command value, YES is determined in step S12.
FIG. 6 shows a state where the interpolation function calculation is performed with the new command value 14 as the third command value. In addition, the horizontal axis of FIG. 6 is a time axis, and a vertical axis | shaft shows command value. That is, the dotted curve portion in FIG. 6 is a new path calculated by interpolation function calculation after newly setting the first and third command values.

なお、ステップS21において、すでに第3の指令値が存在すると判定された場合には(ステップS21でYES)、現在実行している補間関数に変更を加えない。   If it is determined in step S21 that the third command value already exists (YES in step S21), the interpolation function currently being executed is not changed.

次に、図7を用いて、本発明による補間計算を行う例を示す。図7は、横軸を時間とし、縦軸を指令値とする移動体の移動経路を示す図である。
また図7において、丸印は与えられた逐次的に与えられる指令値を示す。黒塗りの四角印(ポイント)はロボットに新たな指令値が与えられ、新たに与えられた指令値が第3の指令値となった時点を示す。
Next, an example of performing interpolation calculation according to the present invention will be described with reference to FIG. FIG. 7 is a diagram illustrating a moving path of a moving body in which the horizontal axis is time and the vertical axis is a command value.
In FIG. 7, circles indicate given command values given sequentially. A black square mark (point) indicates a point when a new command value is given to the robot and the newly given command value becomes the third command value.

まず、ロボットは、指令値21から指令値22の間を動作する。このとき、ロボットは指令値21より以前から連続的に動作していたものとする。また、ロボットには指令値23がすでに与えられている。したがって、ロボットは、指令値21を第1の指令値、指令値22を第2の指令値、指令値23を第3の指令値として、前述の補間関数計算フローに従い補間関数fの計算を行うことができる。なお、指令値23が第3の指令値として存在するため、ロボットは、ステップS12においてYESと判定して補間関数計算を行う。ロボットは、指令値21と指令値22の間における動作をfに従って実行する。 First, the robot operates between the command value 21 and the command value 22. At this time, it is assumed that the robot has been continuously operated before the command value 21. Further, the command value 23 is already given to the robot. Therefore, the robot calculates the interpolation function f 1 according to the above-described interpolation function calculation flow, with the command value 21 as the first command value, the command value 22 as the second command value, and the command value 23 as the third command value. It can be carried out. Since the command value 23 exists as the third command value, the robot determines YES in step S12 and performs the interpolation function calculation. The robot executes an operation between the command value 21 and the command value 22 according to f 1 .

次に、ロボットは指令値22と指令値23の間を動作する。このときロボットには、ポイント31を通過するまでは指令値24が与えられていない。すなわち、指令値22を第1の指令値、指令値23を第2の指令値とするが、第3の指令値は存在していない。したがってロボットは、fの補間関数計算を、補間関数計算フローのステップS12においてNOと判定して行う。ロボットは、指令値22と指令値23の間における動作をfに従って実行する。 Next, the robot operates between the command value 22 and the command value 23. At this time, the command value 24 is not given to the robot until the point 31 is passed. That is, the command value 22 is the first command value and the command value 23 is the second command value, but there is no third command value. Accordingly robot interpolation function calculation of f 2, carried out determined as NO in step S12 in the interpolation function calculation flow. Robot performs the operation between the command value 22 and the command value 23 in accordance with f 2.

次に、ポイント31において、ロボットに指令値24が与えられたものとする。この場合、ロボットは、前述の新たな指令値が加えたれた場合のフロー(ステップS21乃至ステップS24)を実行する。ここで指令値23以後であり、かつ指令値24以前である指令値は存在しないため、ロボットは、ステップS21においてNOと判定する。
したがって、ポイント31は新たに第1の指令値として設定され(ステップS23)、指令値24は第3の指令値として設定される(ステップS24)。なお、第2の指令値は指令値23のままである。ロボットは、これらの第1乃至第3の指令値に基づいて、補間関数計算(ステップS11乃至ステップS15)を行い、算出された補間関数をf(new)とする。なお、指令値24を第3の指令値としているため、ステップS12ではYESと判定される。ロボットは、ポイント31と指令値23の間における動作をf(new)に従って実行する。
Next, it is assumed that a command value 24 is given to the robot at point 31. In this case, the robot executes a flow (steps S21 to S24) when the above-described new command value is added. Here, since there is no command value after the command value 23 and before the command value 24, the robot determines NO in step S21.
Therefore, the point 31 is newly set as the first command value (step S23), and the command value 24 is set as the third command value (step S24). The second command value remains the command value 23. The robot performs an interpolation function calculation (steps S11 to S15) based on these first to third command values, and sets the calculated interpolation function to f 2 (new). Since the command value 24 is the third command value, YES is determined in step S12. The robot executes an operation between the point 31 and the command value 23 according to f 2 (new).

次に、ロボットが指令値23を通過する際にはすでに指令値25が与えられているものとする。したがって、指令値23を第1の指令値、指令値24を第2の指令値、指令値25を第3の指令値として、前述の補間関数計算フローに従い補間関数fの計算を行う。なお、指令値25が第3の指令値として存在するため、ロボットは、ステップS12においてYESと判定して補間関数計算を行う。ロボットは、指令値23と指令値24の間における動作をfに従って実行する。 Next, it is assumed that the command value 25 is already given when the robot passes the command value 23. Therefore, the command value 23 first command value, the command value 24 second command value, the command value 25 as a third command value, the calculation of the interpolation function f 3 in accordance with the interpolation function calculation flow described above. Since the command value 25 exists as the third command value, the robot determines YES in step S12 and performs the interpolation function calculation. Robot performs the operation between the command value 24 and the command value 23 in accordance with f 3.

次に、ロボットは指令値24と指令値25の間を動作する。しかしながら、ロボットには、ポイント32を通過するまでは指令値26が与えられていない。すなわち、指令値24を第1の指令値、指令値25を第2の指令値とするが、第3の指令値は存在していない。したがって、ロボットは、fの補間関数計算を、補間関数計算フローのステップS12においてNOと判定して行う。ロボットは、指令値24とポイント32の間における動作をfに従って実行する。 Next, the robot operates between the command value 24 and the command value 25. However, the robot is not given the command value 26 until it passes the point 32. That is, the command value 24 is the first command value and the command value 25 is the second command value, but there is no third command value. Thus, the robot, the interpolation function calculation of f 4, carried out by determination of NO in step S12 of interpolation function calculation flow. Robot performs the operation between the command value 24 and point 32 in accordance with f 4.

次に、ポイント32において、ロボットに指令値26が与えられたものとする。この場合、ロボットは、前述の新たな指令値が加えたれた場合のフロー(ステップS21乃至ステップS24)を実行する。ここで指令値25以後であり、かつ指令値26以前である指令値は存在しないため、ロボットは、ステップS21においてNOと判定する。
したがって、ポイント32は新たに第1の指令値として設定され(ステップS23)、指令値26は第3の指令値として設定される(ステップS24)。なお、第2の指令値は指令値25のままである。ロボットは、これらの第1乃至第3の指令値に基づいて、補間関数計算(ステップS11乃至ステップS15)を行い、算出された補間関数をf(new)とする。なお、指令値26を第3の指令値としているため、ステップS12ではYESと判定される。ロボットは、ポイント32と指令値25の間における動作をf(new)に従って実行する。
Next, it is assumed that the command value 26 is given to the robot at the point 32. In this case, the robot executes a flow (steps S21 to S24) when the above-described new command value is added. Here, since there is no command value after the command value 25 and before the command value 26, the robot determines NO in step S21.
Therefore, the point 32 is newly set as the first command value (step S23), and the command value 26 is set as the third command value (step S24). The second command value remains the command value 25. The robot performs an interpolation function calculation (steps S11 to S15) based on the first to third command values, and sets the calculated interpolation function to f 4 (new). Since command value 26 is the third command value, YES is determined in step S12. The robot executes an operation between the point 32 and the command value 25 according to f 4 (new).

次に、ロボットは指令値25と指令値26の間を動作する。しかしながら、ロボットには、ポイント33を通過するまでは指令値27が与えられていない。すなわち、指令値25を第1の指令値、指令値26を第2の指令値とするが、第3の指令値は存在していない。したがって、ロボットは、fの補間関数計算を、補間関数計算フローのステップS12においてNOと判定して行う。ロボットは、指令値25とポイント33の間における動作をfに従って実行する。 Next, the robot operates between the command value 25 and the command value 26. However, the robot is not given the command value 27 until the point 33 is passed. That is, the command value 25 is the first command value and the command value 26 is the second command value, but there is no third command value. Thus, the robot, the interpolation function calculation of f 5, carried out by determination of NO in step S12 of interpolation function calculation flow. Robot performs the operation between the command value 25 and point 33 in accordance with f 5.

次に、ポイント33において、ロボットに指令値27が与えられたものとする。この場合、ロボットは、前述の新たな指令値が加えたれた場合のフローを実行する。ここで指令値26以後であり、かつ指令値27以前である指令値は存在しないため、ロボットは、ステップS21においてNOと判定する。
したがって、ポイント33は新たに第1の指令値として設定され(ステップS23)、指令値27は第3の指令値として設定される(ステップS24)。なお、第2の指令値は指令値26のままである。ロボットは、これらの第1乃至第3の指令値に基づいて、補間関数計算(ステップS11乃至ステップS15)を行い、算出された補間関数をf(new)とする。なお、指令値27を第3の指令値としているため、ステップS12ではYESと判定される。ロボットは、ポイント33と指令値26の間における動作をf(new)に従って実行する。
Next, it is assumed that a command value 27 is given to the robot at point 33. In this case, the robot executes a flow when the above-described new command value is added. Here, since there is no command value after command value 26 and before command value 27, the robot determines NO in step S21.
Therefore, the point 33 is newly set as the first command value (step S23), and the command value 27 is set as the third command value (step S24). The second command value remains the command value 26. The robot performs an interpolation function calculation (steps S11 to S15) based on these first to third command values, and sets the calculated interpolation function to f 5 (new). Since command value 27 is the third command value, YES is determined in step S12. The robot executes an operation between the point 33 and the command value 26 according to f 5 (new).

次に、ロボットは指令値26と指令値27の間を動作する。しかしながら、ロボットには、ポイント34を通過するまでは指令値28が与えられていない。すなわち、指令値26を第1の指令値、指令値27を第2の指令値とするが、第3の指令値は存在していない。したがって、ロボットは、fの補間関数計算を、補間関数計算フローのステップS12においてNOと判定して行う。ロボットは、指令値26とポイント34の間における動作をfに従って実行する。 Next, the robot operates between the command value 26 and the command value 27. However, the robot is not given the command value 28 until the point 34 is passed. That is, the command value 26 is the first command value and the command value 27 is the second command value, but there is no third command value. Thus, the robot, the interpolation function calculation of f 6, carried out by determined as NO in step S12 in the interpolation function calculation flow. Robot performs the operation between the command value 26 and point 34 in accordance with f 6.

次に、ポイント34において、ロボットに指令値28が与えられたものとする。この場合、ロボットは、前述の新たな指令値が加えたれた場合のフローを実行する。ここで指令値27以後であり、かつ指令値28以前である指令値は存在しないため、ロボットは、ステップS21においてNOと判定する。
したがって、ポイント34は新たに第1の指令値として設定され(ステップS23)、指令値28は第3の指令値として設定される(ステップS24)。なお、第2の指令値は指令値27のままである。ロボットは、これらの第1乃至第3の指令値に基づいて、補間関数計算(ステップS11乃至ステップS15)を行い、算出された補間関数をf(new)とする。なお、指令値28を第3の指令値としているため、ステップS12ではYESと判定される。ロボットは、ポイント34と指令値27の間における動作をf(new)に従って実行する。
Next, it is assumed that a command value 28 is given to the robot at point 34. In this case, the robot executes a flow when the above-described new command value is added. Here, since there is no command value after the command value 27 and before the command value 28, the robot determines NO in step S21.
Therefore, the point 34 is newly set as the first command value (step S23), and the command value 28 is set as the third command value (step S24). The second command value remains the command value 27. The robot performs an interpolation function calculation (steps S11 to S15) based on the first to third command values, and sets the calculated interpolation function as f 6 (new). Since command value 28 is the third command value, YES is determined in step S12. The robot executes an operation between the point 34 and the command value 27 according to f 6 (new).

次に、ロボットは指令値27と指令値28の間を動作する。この場合、指令値27を第1の指令値、指令値28を第2の指令値とする。第3の指令値が存在していないため、ロボットは、補間関数計算フローのステップS12においてNOと判定して、補間関数計算を行い、fを算出する。ロボットは、指令値27と指令値28の間における動作を、fに従って実行する。 Next, the robot operates between the command value 27 and the command value 28. In this case, the command value 27 is the first command value, and the command value 28 is the second command value. Since the third command value does not exist, the robot determines that the NO in step S12 of the interpolation function calculation flow, performs interpolation function calculation, calculates a f 7. Robot, the operation between the command value 27 and the command value 28, performed according to f 7.

これによりロボットは、指令値が追加された場合に新たな経路を計算することができ、無駄な経路を通らずに指令値を通過することができる。   Accordingly, the robot can calculate a new route when the command value is added, and can pass the command value without passing through a useless route.

実施の形態2.
本実施の形態においても、実施の形態1と同様に、移動体として自律型のロボットを用いる場合について説明する。
Embodiment 2. FIG.
Also in the present embodiment, a case where an autonomous robot is used as a moving body will be described as in the first embodiment.

図8に、最初の補間区間における状態を示す。なお、図8の横軸は時間軸であり、縦軸は指令値を示す。
t1で与えられた指令値41は最初に与えられた指令値であり、それ以前の区間に補間関数fk−1は存在していない。したがって、前述の補間関数計算フローにおいて、指令値41を第1の指令値、指令値42を第2の指令値、指令値43を第3の指令値とした場合であっても、ステップS11において(4)式を用いることができない。
FIG. 8 shows a state in the first interpolation section. In addition, the horizontal axis of FIG. 8 is a time axis, and a vertical axis | shaft shows command value.
The command value 41 given at t 1 is the command value given first, and the interpolation function f k−1 does not exist in the previous section. Therefore, in the above-described interpolation function calculation flow, even if the command value 41 is the first command value, the command value 42 is the second command value, and the command value 43 is the third command value, in step S11 The equation (4) cannot be used.

そこで、(4)式に代わり、例えば(7)式や、(8)式を用いることができる。

Figure 2011086099
Figure 2011086099
Therefore, instead of the formula (4), for example, the formula (7) or the formula (8) can be used.
Figure 2011086099
Figure 2011086099

これにより、tとtの区間における補間関数計算を、前述した補間関数計算フロー(ステップS11乃至ステップS15)に従って行うことができる。したがって、図8の点線の曲線で示された経路の補間関数f1を算出でき、ロボットは、指令値27と指令値28の間における動作を、f1に従って実行することができる。 Thereby, the interpolation function calculation in the interval between t 1 and t 2 can be performed according to the above-described interpolation function calculation flow (step S11 to step S15). Therefore, the interpolation function f 1 of the path indicated by the dotted curve in FIG. 8 can be calculated, and the robot can execute the operation between the command value 27 and the command value 28 according to f 1 .

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。   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.

11、12、14、21〜28、41〜43 指令値
13、31〜34 ポイント
11, 12, 14, 21-28, 41-43 Command value 13, 31-34 points

Claims (1)

移動体の移動位置を特定し逐次与えられる指令値を、3次関数を用いて補間して、当該移動体の移動経路データを生成する方法であって、
第1の指令値と、当該第1の指令値より後に通過する第2の指令値に基づいて、当該第1の指令値と当該第2の指令値の間を補間するステップと、
前記第1の指令値により特定される第1の位置と、前記第2の指令値により特定される第2の位置の間を当該移動体が移動しているときに、前記第2の指令値よりも後に通過する第3の指令値を取得した場合には、現在値を特定する現在指令値と、前記第2の指令値と、前記第3の指令値に基づいて、前記現在指令値と前記第2の指令値間を補間するステップと、
を備えた、移動体の移動経路データの生成方法。
A method of generating a movement path data of the moving body by interpolating a command value given sequentially and specifying a moving position of the moving body using a cubic function,
Interpolating between the first command value and the second command value based on the first command value and the second command value passing after the first command value;
When the movable body is moving between the first position specified by the first command value and the second position specified by the second command value, the second command value If the third command value that passes later is acquired, the current command value based on the current command value that identifies the current value, the second command value, and the third command value Interpolating between the second command values;
A method for generating moving path data of a moving body.
JP2009238195A 2009-10-15 2009-10-15 Method of generating movement path data of movable body Pending JP2011086099A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009238195A JP2011086099A (en) 2009-10-15 2009-10-15 Method of generating movement path data of movable body

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009238195A JP2011086099A (en) 2009-10-15 2009-10-15 Method of generating movement path data of movable body

Publications (1)

Publication Number Publication Date
JP2011086099A true JP2011086099A (en) 2011-04-28

Family

ID=44078998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009238195A Pending JP2011086099A (en) 2009-10-15 2009-10-15 Method of generating movement path data of movable body

Country Status (1)

Country Link
JP (1) JP2011086099A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014002381A1 (en) * 2012-06-29 2014-01-03 新日本工機株式会社 Numerical control device
WO2019093246A1 (en) * 2017-11-09 2019-05-16 オムロン株式会社 Command value interpolation device and servo driver

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014002381A1 (en) * 2012-06-29 2014-01-03 新日本工機株式会社 Numerical control device
WO2019093246A1 (en) * 2017-11-09 2019-05-16 オムロン株式会社 Command value interpolation device and servo driver
US11494465B2 (en) 2017-11-09 2022-11-08 Omron Corporation Command value interpolation apparatus and servo driver

Similar Documents

Publication Publication Date Title
JP5312670B2 (en) Command generator
JP2019530936A (en) Speed rule for S-type stop curve in non-zero initial state and its online solution method
JPWO2015004885A1 (en) Electric motor control device
JP2018069428A (en) Operation path planning method
JP2011203918A5 (en)
JP6353731B2 (en) Motor system
JP6453576B2 (en) Motor system
WO2015125747A1 (en) Method for computing reference trajectory to position machine
JP6808106B1 (en) Machining program conversion device, numerical control device, machining program conversion method and machine learning device
JP5931289B2 (en) Command value generator
JP2011086099A (en) Method of generating movement path data of movable body
Fu An optimal compensation framework for linear quadratic Gaussian control over lossy networks
KR100819654B1 (en) Method for Controlling Motor by Use of Asymmetric S-Curve
KR20190087490A (en) Method of designing filter of delay compensator, feedback control method using it, motor control device
JP2014161917A (en) Robot control system, robot, robot control method, and program
JP2007185014A (en) Control parameter calculation method and calculation program for motor controller, and that motor controller
CN108513636B (en) Robot motion control method and related device
JP5836219B2 (en) Motor control device
JP2016118892A (en) Position controller, position control method, optical apparatus and imaging apparatus
JP2007306753A (en) Method for adjusting parameters for notch filter, program, and motor controller
JP2020069573A (en) Automatic program correction device, method, and automatic path generator
KR101311790B1 (en) System and method for controlling position for a second order mass-spring system, and a medium having computer readable program for executing the method
JP2016162311A (en) Sliding mode control method and sliding mode control device
JP2000020118A (en) Numerical controller and its command position calculating method
JP6203780B2 (en) Numerical control device that operates with tabular data