JP7237447B2 - Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method - Google Patents

Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method Download PDF

Info

Publication number
JP7237447B2
JP7237447B2 JP2017190886A JP2017190886A JP7237447B2 JP 7237447 B2 JP7237447 B2 JP 7237447B2 JP 2017190886 A JP2017190886 A JP 2017190886A JP 2017190886 A JP2017190886 A JP 2017190886A JP 7237447 B2 JP7237447 B2 JP 7237447B2
Authority
JP
Japan
Prior art keywords
information processing
constraint
joint
speed
predetermined part
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
Application number
JP2017190886A
Other languages
Japanese (ja)
Other versions
JP2019063912A5 (en
JP2019063912A (en
Inventor
弦 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017190886A priority Critical patent/JP7237447B2/en
Publication of JP2019063912A publication Critical patent/JP2019063912A/en
Publication of JP2019063912A5 publication Critical patent/JP2019063912A5/en
Application granted granted Critical
Publication of JP7237447B2 publication Critical patent/JP7237447B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、多関節ロボットの特定部位を移動させる経路と、その際の特定部位の速度情報と、を含む軌道データを生成するロボット制御データ処理方法、ロボット制御データ処理装置、およびロボットシステムに関する。 The present invention relates to a robot control data processing method, a robot control data processing apparatus, and a robot system for generating trajectory data including a path for moving a specific part of an articulated robot and speed information of the specific part at that time.

ロボットアームのプログラミングを行う場合、例えば、順次ロボットアームの特定部位を位置させる位置(あるいはさらに姿勢)に相当する教示点群を指定する手法が用いられることがある。教示点の位置姿勢を取るロボットアームの特定の基準部位には、例えばアーム先端のツールの中心位置、例えばTCP(Tool Center Point)が用いられる。この場合、教示点は、アームの作業空間(タスク空間)におけるTCPの位置姿勢を示す座標値などにより表現される。あるいは、教示点は、アームの各関節の角度情報(群)として指定される場合もある。この場合には、教示点は、関節角度を座標軸とする仮想的な関節空間における座標値などとして取り扱うことができる。 When programming a robot arm, for example, a method of designating a teaching point group corresponding to positions (or postures) at which specific parts of the robot arm are to be positioned in sequence is sometimes used. For the specific reference portion of the robot arm that takes the position and orientation of the teaching point, for example, the central position of the tool at the tip of the arm, for example TCP (Tool Center Point) is used. In this case, the teaching point is represented by coordinate values or the like indicating the position and orientation of the TCP in the work space (task space) of the arm. Alternatively, the teaching point may be specified as angle information (group) of each joint of the arm. In this case, the teaching point can be treated as a coordinate value in a virtual joint space with joint angles as coordinate axes.

TCPを位置させる複数の教示点情報が用意されている場合、ロボット制御装置によって、1つの教示点を始点、次の教示点を終点とし、その間にアームの特定部位を移動させる経路と速度を制御するための軌道データが生成される。この軌道データの具体的な記述形式は種々考えられるが、例えばロボットアームの特定時刻における各関節の角度指令値のリストなどが用いられることがある。軌道データが生成されると、この軌道データに基づき実際にロボットアームを駆動し、教示点情報によってプログラミングした動作を実行させることができる。 When a plurality of pieces of teaching point information for positioning the TCP are prepared, the robot controller controls the path and speed for moving a specific part of the arm between one teaching point as the starting point and the next teaching point as the end point. trajectory data is generated for Although various specific description formats of the trajectory data are conceivable, for example, a list of angle command values for each joint of the robot arm at a specific time may be used. When the trajectory data is generated, it is possible to actually drive the robot arm based on this trajectory data and execute the motion programmed by the teaching point information.

また、始点と終点の教示点の経路は、直線補間による他、始点と終点の間に補間点を生成して、あるいは多数の教示点の位置関係などに応じて、B-スプライン曲線などの曲線補間を行うことによって、経路情報を生成する場合もある。 In addition, the path of the teaching points between the start point and the end point can be determined by linear interpolation, by generating interpolation points between the start point and the end point, or by creating curves such as B-spline curves according to the positional relationship of a large number of teaching points. Interpolation may also be used to generate route information.

一方、工業製品や部品の製造を行う生産現場用いられる産業用のロボット装置では、作業効率などの観点から、軌道データ生成においては、ロボットアームを動作させる最適な速度情報を計算できるのが望ましい。例えば、非特許文献1では、教示点情報によって与えられた経路上で、各種物理的制約を守り、動作時間を最短にするロボットの最適な動作速度を計算する最適速度の計算方法が記載されている。 On the other hand, for industrial robot devices used in production sites for manufacturing industrial products and parts, it is desirable to be able to calculate optimum speed information for operating the robot arm in trajectory data generation from the viewpoint of work efficiency. For example, Non-Patent Document 1 describes an optimum speed calculation method for calculating the optimum operating speed of a robot that minimizes the operating time while observing various physical constraints on a route given by teaching point information. there is

教示点情報により与えられた経路で、ロボットの動作速度を調整し動作軌道を作成する場合、例えば各種物理的制約を守りつつ、ロボットの動作時間が短くなるように、速度パラメータ調整する。旧来、この作業は、例えばオペレータが速度パラメータを何度も調整することによって行われていた。しかし、オペレータがパラメータ調整をする場合、必ずしも軌道が最適にならず、あるいは動作時間が長くなったりする問題があり、また、作業は煩雑であり、多大な開発工数を要する問題があった。そこで、各種物理的制約を守り、動作時間を最短にするロボットの最適な動作速度の計算をアームに接続されたロボット制御装置、あるいは他のロボット制御データ処理装置が自動で行えるのが望ましい。 When adjusting the motion speed of the robot and creating the motion trajectory on the path given by the teaching point information, for example, the speed parameters are adjusted so that the motion time of the robot is shortened while observing various physical constraints. Traditionally, this task has been done, for example, by the operator adjusting the speed parameters over and over. However, when the operator adjusts the parameters, there is a problem that the trajectory is not always optimal, or the operation time is long, and the work is complicated, requiring a large amount of man-hours for development. Therefore, it is desirable that the robot control device connected to the arm or other robot control data processing device can automatically calculate the optimum motion speed of the robot that observes various physical constraints and minimizes the motion time.

例えば、非特許文献1では、ロボットの関節トルク制約を守りつつ、与えられた経路に対してできる限り動作時間の短い軌道を自動生成する速度最適化方法が記載されている。ここで、以下に示す数式における各種パラメータの文字式を以下のように定義する。なお、各文字式において、ボールド体の文字はベクトルを示す。また、文字式上にドットを置く各数式中の表記とは必ずしも一致しないが、便宜上、本明細書のテキスト中では時間微分に(・)のような表記を用いる。例えば、位置情報の1次微分である速度sには、s(・)のような表記を用いる。 For example, Non-Patent Document 1 describes a velocity optimization method that automatically generates a trajectory with the shortest possible operation time for a given trajectory while observing joint torque constraints of a robot. Here, character expressions of various parameters in the mathematical expressions shown below are defined as follows. In each letter expression, bold letters indicate vectors. For convenience, the text of this specification uses a notation such as (·) for time differentiation, although it does not necessarily match the notation in each mathematical expression in which a dot is placed on a literal expression. For example, a notation such as s(·) is used for the velocity s, which is the first derivative of the position information.

Figure 0007237447000001
与えられた経路に対し、ロボットの最適な軌道を生成するという問題は、与えられた経路上の速度だけを考えればよいという問題に簡略化することができる。例えば、経路上の座標値sを定義し、ロボットアーム(の特定部位)の運動方程式は、このsを用いて下式(1)のように定義することができる。
Figure 0007237447000001
The problem of generating the optimal trajectory of the robot for a given path can be reduced to the problem of only considering the velocity on the given path. For example, a coordinate value s on the path is defined, and the equation of motion of (the specific part of) the robot arm can be defined as in the following equation (1) using this s.

Figure 0007237447000002
ここで、Mは質量行列、Cはコリオリ項、Gは重量項、τは関節トルクである。次に、ロボットの関節速度および関節加速度はそれぞれ下式(2)、(3)のように記述される。
Figure 0007237447000002
Here, M is the mass matrix, C is the Coriolis term, G is the weight term, and τ is the joint torque. Next, the joint velocity and joint acceleration of the robot are described by the following equations (2) and (3), respectively.

Figure 0007237447000003
上式(2)は、関節角速度および関節角加速度を、経路の位置を示すベクトル、即ちq(s)と、経路上の速度、即ちs(・)に分解したものと考えられる。つまり、この最適速度問題は、経路が決まっていれば、その経路上を動く速度だけを考えればよく、どの方向に動くかを考えない単純な問題として扱うことが可能となる。式(3)の加速度s(・・)についても同様のことが言える。
Figure 0007237447000003
The above equation (2) can be thought of as decomposing the joint angular velocity and the joint angular acceleration into a vector indicating the position of the path, i.e. q(s), and the velocity on the path, i.e. s(.). In other words, this optimum speed problem can be treated as a simple problem, if the path is determined, only the speed of movement on that path is considered, and the direction of movement is not considered. The same can be said for the acceleration s(..) in equation (3).

ここで、式(1)に式(2)、(3)を代入すると Here, substituting equations (2) and (3) into equation (1) yields

Figure 0007237447000004
その場合、m(s)、c(s)、g(s)は
Figure 0007237447000004
Then m(s), c(s) and g(s) are

Figure 0007237447000005
である。
Figure 0007237447000005
is.

この変形により、「関節トルク制約を守りつつ動作時間を最適にするため、経路上をどういう速度で動かすか」という問題は、「関節トルク制約を守りつつ動作時間を最適にするs(t)をどのように設計するか」という問題に置き換えられる。時間tとsの関係であるs(t)をどう設計するかにより、軌道の動作時間が決まる。即ち、ロボットの動作時間が最短になるようなs(t)を計算できれば、最適な軌道データを生成することができる。また、s(・)を積分すれば特定時刻における位置s(t)を計算できるから、s(・)を求めればよい。 With this transformation, the problem of "what speed to move on the path in order to optimize the motion time while keeping the joint torque constraint" becomes "s(t) that optimizes the motion time while keeping the joint torque constraint". How to design?" is replaced by the problem. The operating time of the trajectory is determined by how s(t), which is the relationship between times t and s, is designed. That is, if s(t) that minimizes the operation time of the robot can be calculated, optimal trajectory data can be generated. Further, since the position s(t) at a specific time can be calculated by integrating s(·), s(·) can be obtained.

ここで、t=0からスタートし、t=Tで終わる軌道s(0)=0≦s≦1=s(T)を考える。また、時間最適軌道を生成すべく、t∈[0、T]で、s(・)>0であると仮定する。 Now consider the trajectory s(0)=0≤s≤1=s(T) starting at t=0 and ending at t=T. Also, to generate the time-optimal trajectory, assume that tε[0,T] and s(·)>0.

以上より、この最適速度問題は、次のような最適化問題として記述できる。 From the above, this optimal speed problem can be described as the following optimization problem.

Figure 0007237447000006
しかし、この問題は、例えばs(・)を変数としたとき、非線形かつ、非凸最小化問題となるため、最適解を求めるのが困難である、という問題がある。そこで、非特許文献1では、この問題に対し、a(s)、b(s)という2つの変数を導入し、凸問題化を行っている(下式(17)、(18))。即ち
Figure 0007237447000006
However, this problem is a non-linear and non-convex minimization problem when s(.) is a variable, and it is difficult to find an optimal solution. Therefore, in Non-Patent Document 1, two variables, a(s) and b(s), are introduced for this problem to convert it into a convex problem (formulas (17) and (18) below). Namely

Figure 0007237447000007
とすると
Figure 0007237447000007
and

Figure 0007237447000008
となり、a(s)、b(s)の線形の関係式が書ける。また、目的関数は式(18)より
Figure 0007237447000008
Then, a linear relational expression of a(s) and b(s) can be written. Also, the objective function is obtained from equation (18) as

Figure 0007237447000009
というbに関する凸関数で書ける。
Figure 0007237447000009
can be written as a convex function on b.

また、トルクに関しては、式(9)に、式(17)、(18)を代入する。 As for the torque, the equations (17) and (18) are substituted into the equation (9).

Figure 0007237447000010
と表現でき、これは変数aとbに関して線形となる。ここで、上記の最適化問題を書き直すと
Figure 0007237447000010
which is linear in the variables a and b. Now, if we rewrite the above optimization problem as

Figure 0007237447000011
となる。この場合、目的関数である式(22)が凸関数であり、制約条件である式(23)-(29)が全て線形であるため、凸最小化問題として解くことが可能となる。
Figure 0007237447000011
becomes. In this case, equation (22), which is the objective function, is a convex function, and equations (23) to (29), which are the constraint conditions, are all linear, so it can be solved as a convex minimization problem.

凸最小化問題とは最適化問題の分野の1つで、凸集合上の凸関数の最小化問題である。凸最小化問題は一般的な最適化問題よりも簡単に最適化が可能であり、局所的な最小値が大域的な最小値と一致する性質を持つ。 Convex minimization is a field of optimization problems, the problem of minimizing a convex function on a convex set. Convex minimization problems can be optimized more easily than general optimization problems, and have the property that the local minimum agrees with the global minimum.

なお、以上では、制約は関節トルク制約のみを考え説明したが、他に、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、手先加速度制約などを適用することも考えられる。また、以下では、簡略化のため、s(・)の2乗であるb(s)を経路上の速度と表現し、また、b(s)にはb、q(s)にはqのような表記を用いることがある。 In the above description, only the joint torque constraint was considered as the constraint, but it is also conceivable to apply joint angular velocity constraint, joint angular acceleration constraint, jerk constraint, hand speed constraint, hand acceleration constraint, and the like. In the following, for the sake of simplification, b(s), which is the square of s(·), is expressed as the velocity on the route, and b(s) is b and q(s) is q. We sometimes use notation such as

上記のトルク制約と同様、ジャーク制約を考慮に入れて最適な軌道を生成することも可能である。ここで、ジャークとは、ロボットアームの関節角の加加速度を指す。ジャークは、関節角度qの時間での3階微分に相当し、ジャークが大きいと、ロボットの振動が大きくなるため、ジャーク制約を適用するのがのぞましい。 Similar to the torque constraint above, it is also possible to take into account the jerk constraint to generate the optimal trajectory. Here, jerk refers to the joint angle jerk of the robot arm. The jerk corresponds to the third derivative of the joint angle q with respect to time, and if the jerk is large, the vibration of the robot will be large, so it is desirable to apply the jerk constraint.

ジャークはb、b′、b′′、q′、q′′、q′′′を用いて Jerk uses b, b', b'', q', q'', q'''

Figure 0007237447000012
と書ける。ここで、ロボットアームに複数備えられた関節軸のインデックスをiとすれば、関節軸iに関する上式(31)の一般表現は
Figure 0007237447000012
can be written as Here, if the index of a plurality of joint axes provided in the robot arm is i, the general expression of the above equation (31) regarding the joint axis i is

Figure 0007237447000013
のようになる。そして、上記の関節トルク制約の場合と同様に
Figure 0007237447000013
become that way. And as in the joint torque constraint case above

Figure 0007237447000014
というジャークの上限、下限を守るよう最適速度問題を解くことができる。
Figure 0007237447000014
It is possible to solve the optimal speed problem so as to keep the upper and lower limits of the jerk.

ところが、B-スプライン曲線のような曲線補間で生成した経路の場合、始点・終点付近において、q′′′、q′′、q′の値がほぼ0になってしまうことがある。この場合、どんな速度bを与えても、ジャークがほぼ0の値になってしまい、ジャーク制約の計算が適切に行えない、という問題が生じる。そして、このまま軌道生成を行うと、経路の始点・終点付近において、ジャーク制約を適用できず、例えばジャークが無限大に発散してしまうという現象が起きてしまう。 However, in the case of a path generated by curve interpolation such as a B-spline curve, the values of q''', q'', and q' may become almost 0 near the start and end points. In this case, the jerk becomes almost 0 no matter what speed b is given, and the problem arises that the jerk constraint cannot be calculated properly. If the trajectory is generated as it is, the jerk constraint cannot be applied near the start and end points of the route, and a phenomenon occurs in which, for example, the jerk diverges infinitely.

一方、非特許文献2では、例えば、図4に示すように、関節角の加速度制約を始点・終点から線形に増加させることにより、経路の始点、および終点付近におけるジャークを抑制する対処方法をとっている。図4は、横軸を補間経路の媒介変数s、縦軸を関節角加速度制約としたグラフである。図4において、経路の始点付近では、加速度制約を0に取り、補間経路の媒介変数sがs1の時、関節角加速度制約が最大となるように線形補間している(iは関節軸のインデックス)。また、終点付近では、s2のときに関節角の加速度制約が最大値を取り、そこから終点で0になるよう線形補間している。 On the other hand, in Non-Patent Document 2, for example, as shown in FIG. 4, a coping method is adopted in which jerk is suppressed near the start and end points of a path by linearly increasing the joint angle acceleration constraint from the start and end points. ing. FIG. 4 is a graph in which the horizontal axis is the parameter s of the interpolation path and the vertical axis is the joint angular acceleration constraint. In FIG. 4, near the starting point of the path, the acceleration constraint is set to 0, and when the parameter s of the interpolation path is s1, linear interpolation is performed so that the joint angular acceleration constraint is maximized (i is the index of the joint axis). ). Also, near the end point, linear interpolation is performed so that the acceleration constraint of the joint angle takes the maximum value at s2 and becomes 0 at the end point.

このような制御により、関節角加速度を始点および終点付近で適宜抑制でき、加速度の急激な変化が抑えられ、関節角の加速度を単に一定に制御するよりも、経路の始点・終点付近におけるジャークの飽和を抑制することができる。 With this kind of control, the joint angular acceleration can be appropriately suppressed near the start and end points, and abrupt changes in acceleration can be suppressed. Saturation can be suppressed.

また、特許文献1は、2つの経路が連続している時、それらの経路が関節補間と直線補間のように異なる補間処理によって生成される場合の速度の結合処理を行えるようにする技術を開示している。特許文献1の制御では、連続する2つの経路で、補間種別が関節補間動作から直線補間動作に移り変わるか、直線補間動作から関節補間動作に移り変わるかを判別する。その2つの経路の繋ぎ点もしくはその近傍を通過させる際に速度の結合処理が可能かどうかを判定(速度結合処理可否判定部(2))する。そして、速度の結合処理が可能であれば、異種補間動作間の速度を重ね合わせるような挙動をさせるための補間点を関節変数により決定する(速度結合演算部(3))。特許文献1の技術によれば、経路の遷移の際の速度低下を防ぎ、従って加加速度の飽和も抑制できる可能性がある。 Further, Patent Document 1 discloses a technique for performing speed combination processing when two paths are continuous and the paths are generated by different interpolation processes such as joint interpolation and linear interpolation. are doing. In the control of Patent Document 1, it is determined whether the interpolation type changes from a joint interpolation motion to a linear interpolation motion or from a linear interpolation motion to a joint interpolation motion in two continuous paths. It is determined whether speed combining processing is possible when passing through the connecting point of the two routes or its vicinity (speed combining processing availability determination unit (2)). Then, if speed combining processing is possible, an interpolation point for superimposing the speeds of the different types of interpolation motions is determined from the joint variables (speed combining calculation section (3)). According to the technique disclosed in Patent Document 1, it is possible to prevent a decrease in speed at the time of transition of the route, and therefore it is possible to suppress saturation of the jerk.

特開2004-252814号公報JP 2004-252814 A

Verscheure、 Diederik、 et al. "Time-optimal path tracking for robots: a convex optimization approach." Automatic Control、 IEEE Transactions on 54.10 (2009): 2318-2327.Verscheure, Diederik, et al. "Time-optimal path tracking for robots: a convex optimization approach." Automatic Control, IEEE Transactions on 54.10 (2009): 2318-2327. Reynoso-Mora, Pedro, Wenjie Chen, and Masayoshi Tomizuka. "On the time-optimal trajectory planning and control of robotic manipulators along predefined paths." 2013 American Control Conference. IEEE, 2013Reynoso-Mora, Pedro, Wenjie Chen, and Masayoshi Tomizuka. "On the time-optimal trajectory planning and control of robotic manipulators along predefined paths." 2013 American Control Conference. IEEE, 2013

非特許文献1の技術は、特定の経路情報が与えられた時、関節トルク制約、関節角速度制約、関節角の加速度(ジャーク)制約、手先速度制約、手先加速度制約などの物理的制約を守りつつ時間を最短にするという最適化問題を凸問題化する手法を用いている。しかし、非特許文献1の手法では、上記のように経路の始点および終点付近でq′′′、q′′、q′がほぼ0の値を取る経路では、どんな速度bを与えても、ジャークがほぼ0の値となり、ジャーク制約の計算を適切に行えない、という問題がある。 The technique of Non-Patent Document 1, when specific path information is given, observes physical constraints such as joint torque constraints, joint angular velocity constraints, joint angle acceleration (jerk) constraints, hand speed constraints, and hand acceleration constraints. It uses a method that transforms the optimization problem of minimizing the time into a convex problem. However, in the method of Non-Patent Document 1, no matter what speed b is given in the route where q′″, q″, and q′ are nearly 0 near the start and end points of the route as described above, There is a problem that the jerk becomes a value of almost 0, and the jerk constraint cannot be calculated properly.

一方、非特許文献2は、関節角の加速度制約を始点・終点から、線形に増加させることにより経路の始点・終点付近におけるジャークを抑える手法を採用している。しかしながら、あらかじめ指定したジャーク制約を守る保証がなく、また、得られた軌道が最適な軌道になるとは限らないという問題がある。これは、非特許文献2の手法によると、軌道を最適化する前は、経路の媒介変数であるsを基準に関節角加速度制約を決めているので、ジャークがどの位置でどのような値になるかは、軌道を生成してからでないと分からないためである。即ち、ある時間にどのジャークになるといった情報は、経路上の速度bを最適化した後、実際の軌道が生成した後でないと得られない。例えば、図4に示したように、横軸が経路の媒介変数sであり、時間ではない。このため、線形に関節角加速度が始点・終点で増加、減速していても、時間の3階微分であるジャークがどのように制約されるかは、経路と速度情報を含む軌道データを生成してからでないと分からない。 On the other hand, Non-Patent Document 2 employs a method of suppressing jerk in the vicinity of the start and end points of a path by linearly increasing the joint angle acceleration constraint from the start and end points. However, there is no guarantee that the jerk constraints specified in advance will be observed, and the obtained trajectory is not necessarily the optimum trajectory. According to the method of Non-Patent Document 2, before the trajectory is optimized, the joint angular acceleration constraint is determined based on s, which is the parameter of the trajectory. This is because it is not known until the trajectory is generated. That is, the information about which jerk it will be at a certain time can only be obtained after the actual trajectory is generated after optimizing the velocity b on the path. For example, as shown in FIG. 4, the horizontal axis is the path parameter s, not time. For this reason, even if the joint angular acceleration linearly increases and decelerates at the start and end points, how the jerk, which is the third derivative of time, is constrained will generate trajectory data including path and velocity information. I won't know until later.

また、特許文献1は、関節補間と直線補間のように異なる補間処理によって生成されている場合に速度合成を行う手法に関するものであるが、複雑な処理を必要とする問題がある。また、特許文献1の手法は、連続する区間の速度合成を行う手法である。このため、経路の始点または終点である教示点において、ロボットアームの特定部位の速度を0に制御すべき条件がある場合に一般的に利用できる速度(加速度、あるいは加加速度)制御の手法とはいえない。 Japanese Patent Laid-Open No. 2002-200001 relates to a method of combining velocities when different interpolation processes are used, such as joint interpolation and linear interpolation, but there is a problem that complicated processes are required. Further, the method of Patent Document 1 is a method of performing velocity synthesis for continuous sections. Therefore, what is the speed (acceleration or jerk) control method that can be generally used when there is a condition that the speed of a specific part of the robot arm should be controlled to 0 at the teaching point that is the start or end point of the path? I can't say

そこで、本発明の課題は、経路の始点・終点で、ジャーク(加加速度)が飽和しないよう適切に制約した上、速度制御を行える、最適な軌道データを生成できるようにすることにある。 Therefore, it is an object of the present invention to appropriately constrain the jerk (jerk) at the start and end points of a route so that it does not saturate, and to enable speed control to generate optimal trajectory data.

本発明の第一の態様は、処理部が、関節を有するロボットの所定部位を移動させる際における、前記所定部位の経路と前記関節の速度と、を含む目標道を取得する情報処理方法において、前記処理部は、目標軌道において前記所定部位が通過する第1位置および/または第2位置において、前記ロボットを用いて前記所定部位を移動させる際の前記関節における加加速度の上限に関する第1制約値に基づいて、前記加加速度を前記第1制約値に設定して前記関節を動作させる場合における前記関節の度を制約速度として取得し、前記所定部位が移動する前記第1位置から前記第2位置までの間を補間処理することで経路を取得し、前記制約速度を第2制約値として当該経路において前記所定部位を移動させる際の前記関節の速度を取得する、ことを特徴とする情報処理方法である。 A first aspect of the present invention is information processing in which a processing unit acquires a target trajectory including a path of a predetermined part and a speed of the joint when moving a predetermined part of a robot having joints. In the method, the processing unit is configured, at a first position and/or a second position through which the predetermined part passes on the target trajectory, to determine the upper limit of the jerk at the joint when moving the predetermined part using the robot. Based on 1 constraint value , the speed of the joint when the joint is operated with the jerk set to the first constraint value is acquired as the constraint speed , and the predetermined part moves from the first position. A route is obtained by interpolating the area up to the second position, and the speed of the joint when moving the predetermined part on the route is obtained with the constraint speed as a second constraint value . It is an information processing method for

上記構成により、経路の始点・終点で、ジャーク(加加速度)が飽和しないよう適切に制約した上、速度制御を行える、最適な軌道データを生成することができる。 With the above configuration, it is possible to generate optimal trajectory data that can appropriately restrict jerk (jerk) from being saturated at the start and end points of the route, and perform speed control.

本発明の実施形態に係るロボット制御データ処理装置の機能的な構成を示すブロック図である。1 is a block diagram showing a functional configuration of a robot control data processing device according to an embodiment of the present invention; FIG. 本発明の実施形態に係るロボットアームにおける2軸構成を示す説明図である。FIG. 4 is an explanatory diagram showing a two-axis configuration in the robot arm according to the embodiment of the present invention; 本発明の実施形態に係る軌道データの生成処理を説明するためのフローチャート図である。It is a flowchart figure for demonstrating the production|generation process of the track|orbit data which concerns on embodiment of this invention. 非特許文献2のジャーク制約の制御を示した説明図である。FIG. 10 is an explanatory diagram showing control of jerk constraints in Non-Patent Document 2; 本発明の実施形態に係るロボット制御データ処理装置またはロボット制御装置の構成例を示したブロック図である。1 is a block diagram showing a configuration example of a robot control data processing device or a robot control device according to an embodiment of the present invention; FIG. 図2のロボットアームのより具体的な構成例を示した説明図である。FIG. 3 is an explanatory diagram showing a more specific configuration example of the robot arm of FIG. 2;

以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings. The configuration shown below is merely an example, and, for example, details of the configuration can be changed as appropriate by those skilled in the art without departing from the spirit of the present invention. Further, the numerical values taken up in the present embodiment are reference numerical values and do not limit the present invention.

一般に、ロボットアームは関節とリンク(リンク機構)で構成される。リンク間に配置される関節には回転関節や直動関節の他、球体関節などさまざまな種類がある。また、関節はモータなどの駆動源で能動的に動作する構成の他、動力源を持たずに受動的に動作するものも含まれる。各関節間はリンクにより結合され、関節とリンクが交互に直列されたシリアルリンク型と関節とリンクの組合せが並列となったパラレルリンク型などがある。以下では回転関節を有するシリアルリンク型のロボットアームを例に説明するが、後述の技術はリンク・関節を有するロボットアームであればその結合態様拘らず同様に実施することができる。 In general, a robot arm is composed of joints and links (link mechanism). There are various types of joints arranged between links, such as rotary joints, prismatic joints, and ball joints. In addition, joints include those that are actively operated by a drive source such as a motor, and those that are passively operated without a power source. Each joint is connected by a link, and there are a serial link type in which joints and links are alternately arranged in series and a parallel link type in which a combination of joints and links are arranged in parallel. A serial link type robot arm having rotary joints will be described below as an example, but the technology described later can be similarly applied to any robot arm having links and joints regardless of the coupling mode.

図1は、本発明のロボット制御データ処理装置の実施形態として、軌道生成装置の構成を示している。軌道生成装置1は、オペレータのデータ入力を受け付ける操作部2、図示しないCPU等から成る演算処理部3、種々のデータを格納する記憶部4、を備えている。操作部2にはディスプレイ21を設ける。ディスプレイ21は、例えばロボットアームA、およびその作業空間を3D(3次元)グラフィックス表示することができる。このようなユーザーインターフェースにより、オペレータに生成されたロボットの軌道を視認させることができる。 FIG. 1 shows the configuration of a trajectory generation device as an embodiment of the robot control data processing device of the present invention. The trajectory generation device 1 includes an operation unit 2 for receiving data input by an operator, an arithmetic processing unit 3 composed of a CPU (not shown) and the like, and a storage unit 4 for storing various data. A display 21 is provided in the operation unit 2 . The display 21 can display, for example, the robot arm A and its working space in 3D (three-dimensional) graphics. Such a user interface allows the operator to visually recognize the generated trajectory of the robot.

演算処理部3は、図1の右側に示すように、モデル・制約情報入力手段31と、補間方法・教示点情報入力手段32(教示点入力装置(手段))と、経路生成手段33と、を備える。また、演算処理部3は、ジャーク飽和軸予測手段34と、ジャーク相当速度制約算出手段35と、速度制約統合手段36と、速度最適化手段37と、を備える。これらの演算処理部3を構成する各手段は、より具体的には、後述のCPU601(図5)を用いたハードウェアおよびソフトウェアによって実装することができる。 As shown on the right side of FIG. 1, the arithmetic processing unit 3 includes model/restriction information input means 31, interpolation method/teaching point information input means 32 (teaching point input device (means)), route generation means 33, Prepare. The arithmetic processing unit 3 also includes jerk saturation axis prediction means 34 , jerk equivalent speed constraint calculation means 35 , speed constraint integration means 36 , and speed optimization means 37 . More specifically, each means constituting these arithmetic processing units 3 can be implemented by hardware and software using a CPU 601 (FIG. 5), which will be described later.

図2は、本実施形態において、軌道データを生成するロボットアームAの構成を極めて模式的に示したものである。図2において、ロボットアームAは2つの関節(2自由度)からなる2軸J1、J2を備えている。ロボットアームAの自由度を表すパラメータを関節角度として、ロボットアームAの2軸J1、J2の関節角度をそれぞれθ1、θ2とすれば、ロボットアームAの関節角度はq=(θ1、θ2)Tと表現し、関節空間上では、1つの点とみなすことができる。また、軸J2の先端には、TCP(Tool Center Point)がある。今後TCPをただ単に手先と呼ぶ。 FIG. 2 very schematically shows the configuration of the robot arm A that generates trajectory data in this embodiment. In FIG. 2, the robot arm A has two axes J1 and J2 consisting of two joints (two degrees of freedom). If the joint angles of the two axes J1 and J2 of the robot arm A are θ1 and θ2, respectively, the joint angles of the robot arm A are q=(θ1, θ2)T and can be regarded as one point on the joint space. Moreover, there is a TCP (Tool Center Point) at the tip of the axis J2. Henceforth, we will simply refer to TCP as minions.

なお、ロボットアームAは、一般的にはロボットアーム自体が動作するような動作体として広く観念されるものであればよく、図2の模式的な構成は、それにより本発明が限定的に解釈されることを意図したものではない。例えば、ロボットアームAは、6軸多関節ロボットアームや直動型のロボットアームを用いてもよい。例えば、ロボットアームAが垂直6軸多関節の構成であれば、ロボットアームAは後述の図6のような構成とすることができる。 It should be noted that the robot arm A may be generally thought of as an action body in which the robot arm itself operates, and the schematic configuration of FIG. is not intended to be For example, the robot arm A may be a 6-axis articulated robot arm or a direct-acting robot arm. For example, if the robot arm A has a vertical 6-axis articulated configuration, the robot arm A can be configured as shown in FIG. 6, which will be described later.

ロボットアームAの自由度を表すパラメータ(例えば、関節角度や伸縮長さ)を座標軸の値とした場合、ロボットアームAの関節角度は関節空間上の点として表現することができる。 When the parameters representing the degrees of freedom of the robot arm A (for example, joint angles and extension/contraction lengths) are the values of the coordinate axes, the joint angles of the robot arm A can be expressed as points on the joint space.

図6は、模式的な図2の構成よりも具体的なロボットアームAの全体構成を示している。図6において、ロボットアームA(ロボット装置)は、例えば6軸(関節)の垂直多関節形式のアーム本体201を備える。アーム本体201の各関節は、各関節にそれぞれ設けられたサーボモータをサーボ制御することにより所望の位置姿勢に制御することができる。 FIG. 6 shows the overall configuration of the robot arm A more specifically than the schematic configuration of FIG. In FIG. 6, a robot arm A (robot device) includes, for example, an arm body 201 of a vertical multi-joint type with six axes (joints). Each joint of the arm body 201 can be controlled to a desired position and orientation by servo-controlling a servomotor provided for each joint.

ロボットアームAのアーム本体201の動作は、ロボット制御装置200により制御される。ロボットアームAの動作はロボット制御装置200に接続された操作端末204(例えばティーチングペンダント)によってプログラミング(教示)することができる。例えば、操作端末204により教示点を順次指定することによって、ロボットアームAの特定部位(例えばTCP:アーム先端のツール装着面など)を所望の軌跡で移動させる動作をプログラミングすることができる。その場合、教示点情報はロボットアームAの作業空間(タスク空間)における3次元座標などによって表現される。また、操作端末204は、ロボットアームAの各関節の角度を指定する方式で操作できる場合もあり、その場合、教示点情報は各関節の角度情報のリストなどによって表現される。 The movement of the arm body 201 of the robot arm A is controlled by the robot controller 200 . The operation of the robot arm A can be programmed (instructed) by an operation terminal 204 (for example, a teaching pendant) connected to the robot controller 200 . For example, by sequentially designating teaching points using the operation terminal 204, it is possible to program an operation to move a specific part of the robot arm A (for example, TCP: tool mounting surface at the tip of the arm) along a desired trajectory. In that case, the teaching point information is represented by three-dimensional coordinates in the work space (task space) of the robot arm A, or the like. In some cases, the operation terminal 204 can be operated by specifying the angle of each joint of the robot arm A. In this case, the teaching point information is represented by a list of angle information of each joint.

ロボットアームA、特にそのロボット制御装置200は、ネットワークN(図5)を介して、演算処理部3(ロボット制御データ処理装置)と接続することができる。その場合、操作端末204の教示操作によって作成された教示点情報を後述するステップS102(図3)で演算処理部3に入力することができる。後述する制御例では、演算処理部3によって、ステップS102で入力された教示点情報を用いて、図3のステップS104以降の工程が実行される。そして、ロボットアームAの基準部位(例えばTCPのような特定部位)を移動させる経路と、その際の基準部位の速度情報と、を含む軌道データが生成される。その場合、軌道データの速度情報は、ロボットアームAの各関節のジャーク(加加速度)が機構の制約などによって定まる上限値に対して飽和しないよう生成される。以下では、なお、この図3のステップS104以降の工程は、演算処理部3(ロボット制御データ処理装置)で実行するものとして説明する。しかしながら、同じ処理をロボット制御装置200が実行して、ロボットアームAの基準部位を移動させる経路と、その際の基準部位の速度情報と、を含む軌道データを生成する構成を採用してもよい。 The robot arm A, particularly its robot controller 200, can be connected to the arithmetic processor 3 (robot control data processor) via a network N (FIG. 5). In that case, the teaching point information created by the teaching operation of the operation terminal 204 can be input to the arithmetic processing section 3 in step S102 (FIG. 3) described later. In a control example to be described later, the arithmetic processing unit 3 uses the teaching point information input in step S102 to execute the steps after step S104 in FIG. Then, trajectory data including a path along which the reference part of the robot arm A (for example, a specific part such as TCP) is moved and speed information of the reference part at that time is generated. In that case, the velocity information of the trajectory data is generated so that the jerk (jerk) of each joint of the robot arm A does not saturate with respect to the upper limit value determined by the constraints of the mechanism. In the following description, the processes after step S104 in FIG. 3 are assumed to be executed by the arithmetic processing section 3 (robot control data processing device). However, a configuration may be adopted in which the robot control device 200 executes the same processing to generate trajectory data including the path along which the reference portion of the robot arm A is moved and the speed information of the reference portion at that time. .

図6のロボットアームAは、例えば、基台上に架装されたそれぞれ6つの回転関節を有する6自由度マニプレータとして構成される。ロボットアームAの各関節はこれら各関節内部に配置された駆動源によってロボット制御装置200により指定された角度に制御することができ、これによってロボットアームAを所望の位置姿勢に制御することができる。ロボットアームAの各関節を駆動する駆動源としては、サーボモータなどが用いられる。 The robot arm A in FIG. 6 is configured, for example, as a 6-DOF manipulator mounted on a base and having 6 rotary joints each. Each joint of the robot arm A can be controlled at an angle designated by the robot control device 200 by a drive source arranged inside each joint, thereby controlling the robot arm A to a desired position and orientation. . As a driving source for driving each joint of the robot arm A, a servomotor or the like is used.

演算処理部3(ロボット制御データ処理装置)で生成された基準部位(例えばTCP)の経路、および速度情報などを含む軌道データは、ネットワークNを介してロボットアームAに送信される。ロボットアームAでは、送信された軌道データに基づき、アーム本体201の各関節を制御することにより、操作端末204で教示したロボット動作をロボットアームAに実行させることができる。その場合、軌道データは、後述の制御手順(例えば図3)によって、各関節のジャーク(加加速度)が機構の制約などによって定まる上限値に対して飽和しないよう制御されている。このため、動作中にロボットアームAに不要な振動や騒音を生じるような問題が低減される。また、ロボットアームAの機構の破損や、耐久上問題となるような無理な動作が行なわれるのを回避することができる。 The trajectory data including the path of the reference part (for example, TCP) and speed information generated by the arithmetic processing unit 3 (robot control data processing device) is transmitted to the robot arm A via the network N. By controlling each joint of the arm body 201 based on the transmitted trajectory data, the robot arm A can cause the robot arm A to perform the robot motion taught by the operation terminal 204 . In that case, the trajectory data is controlled by a control procedure (for example, FIG. 3) to be described later so that the jerk (jerk) of each joint does not saturate with respect to the upper limit determined by the constraints of the mechanism. Therefore, problems such as unwanted vibration and noise occurring in the robot arm A during operation are reduced. In addition, it is possible to avoid damage to the mechanism of the robot arm A and unreasonable movements that may cause durability problems.

なお、ロボットアームAの先端には、作業対象のワーク203を把持するためのツールとして、グリッパ202を装着することができる。このグリッパ202の先端部には、ワーク203をハンドリングするためのフィンガー(爪)が設けられる。グリッパ202の内部にはフィンガーを開閉するアクチュエータが設けられる。このアクチュエータは、モータやソレノイドなどの他、空気圧や油圧方式の任意のアクチュエータによって構成される。グリッパ202は、ワーク203を特定の作業位置に搬入、搬出したり、もしくは把持したワーク203を別のワークに組み付けたりする目的でロボットアームの先端に装着される。なお、ロボットアームAの先端に配置されるツールは、上記のグリッパに限定されず、他の任意の機能を有するエンドエフェクタであってよい。 A gripper 202 can be attached to the tip of the robot arm A as a tool for gripping a workpiece 203 to be worked. Fingers (claws) for handling the workpiece 203 are provided at the tip of the gripper 202 . An actuator for opening and closing the fingers is provided inside the gripper 202 . This actuator is composed of a motor, a solenoid, or any other pneumatic or hydraulic actuator. The gripper 202 is attached to the tip of the robot arm for the purpose of loading and unloading the work 203 to a specific work position or assembling the gripped work 203 to another work. The tool arranged at the tip of the robot arm A is not limited to the gripper described above, and may be an end effector having any other function.

図1の演算処理部3(あるいはロボット制御装置200)には、図5のようなCPU601、ROM602、RAM603などを主たる制御手段(制御装置)として用いた構成を利用できる。 A configuration using the CPU 601, ROM 602, RAM 603, etc. as shown in FIG.

図5の制御装置は、主制御手段としてのCPU601、記憶装置としてのROM602、およびRAM603を備える。ROM602には、後述する制御手順を実現するためのCPU601の制御プログラムや定数情報などを格納しておくことができる。また、RAM603は、後述する制御手順を実行する時にCPU601のワークエリアなどとして使用される。 The control device in FIG. 5 includes a CPU 601 as main control means, a ROM 602 as a storage device, and a RAM 603 . The ROM 602 can store a control program for the CPU 601, constant information, and the like for realizing a control procedure to be described later. Also, the RAM 603 is used as a work area for the CPU 601 when executing a control procedure to be described later.

図5の制御装置が図1の演算処理部3である場合、操作部2はインターフェース607を介して接続される。操作部2は、例えばハンディターミナルのような端末、あるいはキーボード、ディスプレイ、ポインティングデバイスなどから成る制御端末によって構成することができる。図5の制御装置がロボット制御装置200である場合には、操作部2は、上記の操作端末204に置換することができる。 5 is the arithmetic processing unit 3 in FIG. 1, the operation unit 2 is connected via the interface 607. FIG. The operation unit 2 can be composed of a terminal such as a handy terminal, or a control terminal including a keyboard, display, pointing device, and the like. 5 is the robot control device 200, the operation unit 2 can be replaced with the operation terminal 204 described above.

また、図5の制御装置には、通信手段としてネットワークインターフェース605が接続されている。ロボットアームAは、例えば上記の教示点情報や軌道データはネットワークインターフェース605を介してロボットアームAとの間で授受することができる。その場合、ネットワークインターフェース605は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格で構成することが考えられる。もちろん、それ以外の任意の通信規格を採用しても構わない。例えば、図5の制御装置がロボット制御装置200である場合には、ネットワークNを介することなく、任意の構成の通信線によってロボットアームAを接続することができる。 A network interface 605 is connected to the control device in FIG. 5 as communication means. The robot arm A can exchange, for example, the above teaching point information and trajectory data with the robot arm A via the network interface 605 . In that case, the network interface 605 may be configured with a communication standard for wired communication such as IEEE 802.3 or wireless communication such as IEEE 802.11 and 802.15. Of course, any other communication standard may be adopted. For example, if the control device in FIG.

なお、後述の制御手順を実現するためのCPU601の制御プログラムは、HDDやSSDなどから成る外部記憶装置604や、ROM602の(例えばEEPROM領域)のような記憶部に格納しておくこともできる。その場合、後述の制御手順を実現するためのCPU601の制御プログラムは、ネットワークインターフェース605を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのCPU601の制御プログラムを格納した状態における各種の記憶手段、記憶部は、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。 Note that the control program of the CPU 601 for realizing the control procedure described later can also be stored in an external storage device 604 such as an HDD or SSD, or a storage unit such as the ROM 602 (for example, EEPROM area). In that case, the control program of the CPU 601 for realizing the control procedure described later can be supplied to each of the above storage units via the network interface 605 and updated to a new (different) program. Alternatively, the control program of the CPU 601 for realizing the control procedure described later is supplied to each of the above-described storage units via storage means such as various magnetic disks, optical disks, flash memories, and drive devices therefor, Also, its contents can be updated. Various storage means and storage units in which the control program of the CPU 601 for realizing the control procedure described above is stored constitute a computer-readable recording medium storing the control procedure of the present invention.

図3は、本実施形態による軌道生成方法を実現する制御手順の流れを示している。図示の手順は、CPU601(図5)の制御プログラムとして、上記の如く、例えばROM602や外部記憶装置604などに格納しておくことができる。 FIG. 3 shows the flow of the control procedure for realizing the trajectory generation method according to this embodiment. The illustrated procedure can be stored as a control program for the CPU 601 (FIG. 5) in, for example, the ROM 602 or the external storage device 604 as described above.

図3のステップS100で、モデル・制約情報入力手段31によって、ロボットアームが作業を行う作業空間での、ロボットアームAのモデル情報および、制約条件を読み込む。ロボットアームAのモデル情報は、例えば、ロボットを構成する部品の設計情報であり、各リンクの慣性モーメント、質量、位置、姿勢、軸数などの情報を含む。また、制約条件とは、ロボットの物理的な制約を定義したもので、関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、手先加速度制約などの条件を含む。これら制約条件は例えば、上限値(あるいは下限値)などの形式で記述されていてよい。 In step S100 of FIG. 3, the model/constraint information input means 31 reads the model information and constraint conditions of the robot arm A in the work space where the robot arm works. The model information of the robot arm A is, for example, design information of parts constituting the robot, and includes information such as the moment of inertia, mass, position, orientation, number of axes, etc. of each link. Constraints define physical constraints of the robot, and include conditions such as joint torque constraints, joint angular velocity constraints, joint angular acceleration constraints, jerk constraints, hand speed constraints, and hand acceleration constraints. These constraints may be described, for example, in the form of upper limit values (or lower limit values).

次に、ステップS102で、補間方法・教示点情報入力手段32によって、ロボットアームAの教示点情報の入力を受け付ける。例えば、ロボットアームAの教示点は、手先(特にTCP)の位置姿勢、あるいは各軸の関節軸角度により表現される。教示点情報は一般に複数の教示点列(リスト)であって、他の装置、例えば図6のようなロボットシステムではロボット制御装置200などから送信される。また、本実施形態のロボット制御データ処理装置(演算処理部3)がロボット制御装置200によって構成される場合には、ステップS102では、例えば操作端末204(教示点入力装置(手段))から教示点情報を読み込むことができる。教示点が手先(TCP)の位置姿勢の情報である場合には、手先(TCP)の位置姿勢に基づき逆運動学計算を行うことにより、各関節軸の角度の情報に変換することができる。また、教示点が各関節軸角度の表現であれば、その教示点情報は順運動学計算によって手先の位置姿勢の情報に変換することができる。 Next, in step S102, the interpolation method/teaching point information input means 32 receives the input of the teaching point information of the robot arm A. FIG. For example, the teaching point of the robot arm A is represented by the position and orientation of the hand (especially TCP) or the joint axis angle of each axis. The teaching point information is generally a sequence (list) of a plurality of teaching points, and is transmitted from another device such as the robot control device 200 in a robot system as shown in FIG. Further, when the robot control data processing device (arithmetic processing unit 3) of the present embodiment is configured by the robot control device 200, in step S102, for example, a teaching point input from the operation terminal 204 (teaching point input device (means)) information can be read. If the teaching point is position and orientation information of the hand (TCP), it can be converted into angle information of each joint axis by performing inverse kinematics calculation based on the position and orientation of the hand (TCP). Also, if the teaching point is an expression of each joint axis angle, the teaching point information can be converted into information on the position and orientation of the hand by forward kinematics calculation.

また、ステップS102では、教示点情報とともに、どういった補間方法で、その教示点まで移動するかの情報を読み込む。この補間方法に係る情報は操作部2や操作端末204から読み込むことができる。補間方法には、タスク空間補間、関節空間補間などの任意の手法が考えられ、いずれの手法を用いても本発明は特にそれによって限定されるものではない。 Further, in step S102, together with the teaching point information, the information about the interpolation method for moving to the teaching point is read. Information related to this interpolation method can be read from the operation unit 2 or the operation terminal 204 . Any method such as task space interpolation or joint space interpolation can be considered as the interpolation method, and the present invention is not particularly limited by which method is used.

続いて、ステップS104では、経路生成手段33によって、教示点情報に含まれる複数の教示点の間の区間を補間し、経路情報を生成する。ここで経路とは、関節空間におけるロボットアームの関節角度の軌跡、またはもしくはタスク空間におけるロボットアームの手先の軌跡である。なお、本実施形態で、「経路」と言った場合は、「速度」の情報を含まない。そして、本実施形態において、「軌道」ないし「軌道データ」は、ロボットの特定部位、例えば手先(TCP)または関節の、それぞれ作業空間(タスク空間)または関節空間における「経路」と、その「経路」を移動させる時の「速度」の情報と、を含む。即ち、本実施形態では、経路に速度情報を持たせた情報を「軌道(データ)」と呼び、速度情報を持たない「経路」と区別する。 Subsequently, in step S104, the route generating means 33 interpolates the section between the plurality of teaching points included in the teaching point information to generate route information. Here, the path is the trajectory of the joint angle of the robot arm in the joint space or the trajectory of the hand of the robot arm in the task space. In the present embodiment, "route" does not include "speed" information. In this embodiment, the "trajectory" or "trajectory data" is defined as a "path" in a work space (task space) or a joint space of a specific part of the robot, for example, a hand (TCP) or a joint, and its "path". and information of "speed" when moving ". That is, in the present embodiment, information in which a route has speed information is called a "trajectory (data)" to distinguish it from a "route" that does not have speed information.

関節空間、ロボットアームAのタスク(作業)空間のいずれで経路を生成するかは、補間方法により異なる。たとえば、関節補間の場合は、関節空間で経路を補間し、手先(TCP)を直線や円弧上に動かす場合は、タスク空間で経路を補間することとなる。 Whether the path is generated in the joint space or the task (work) space of the robot arm A depends on the interpolation method. For example, in the case of joint interpolation, the path is interpolated in the joint space, and when the hand (TCP) is moved along a straight line or an arc, the path is interpolated in the task space.

教示点間を補間する方法としては、Spline補間、B-Spline補間、ベジェ曲線補間、直線補間、円弧補間などを利用することができ、例えば媒介変数によりその経路の位置を特定する。ただし、ジャーク(加加速度)制約を考慮に入れる場合、媒介変数に関して経路がC級である必要がある。例えば、4次のB-Spline曲線の場合、経路は媒介変数に対しC級になる。本実施形態では、便宜上、B-Spline補間を用いるものとする。 Spline interpolation, B-Spline interpolation, Bezier curve interpolation, linear interpolation, circular interpolation, etc., can be used as a method of interpolating between teaching points. For example, the position of the path is specified by a parameter. However, if the jerk (jerk) constraint is taken into account, the path should be class C3 with respect to the parameters. For example, for a 4th order B-Spline curve, the path is C 3 -class for the parametric variables. In this embodiment, B-Spline interpolation is used for convenience.

経路生成(S104)の後、経路上の関節角度(q(s))を使って、sの微分を行い、q’(s) q’’(s) q’’’(s)を求める。これらは、関節角の速度、加速度、加加速度(ジャーク)に相当する。 After path generation (S104), the joint angle (q(s)) on the path is used to differentiate s to obtain q'(s) q''(s) q''(s). These correspond to joint angle velocity, acceleration, and jerk.

続いて、ステップS106で、ジャーク飽和軸予測手段34によって、ジャーク(加加速度)が飽和する関節軸を推定する。ここでは、経路の始点、および終点の付近、特に始点、および終点を含む区間(特定区間)において、ジャーク制約の上限(あるいは下限)値に対してそのジャーク(加加速度)が飽和する関節軸を推定する。 Subsequently, in step S106, the jerk saturation axis prediction means 34 estimates the joint axis at which the jerk (jerk) is saturated. Here, the joint axis where the jerk (jerk) is saturated with respect to the upper (or lower) value of the jerk constraint is defined in the vicinity of the start and end points of the path, especially in the section (specific section) including the start and end points. presume.

例えば、式(32)の左辺にジャークの上限(ステップS100で取得済み)を代入し、経路上の始点近傍のsを用いて、bで解けば、関節軸iが始点付近でジャークが飽和したとしたときの速度bを求めることができる。そして、ロボットアームAの各関節軸ごとの速度bの中で、最も低い値をbminとする。このbminを取る関節軸が、始点付近でジャーク(加加速度)が上限に対して飽和する関節軸である、と特定できる。なぜなら、bは多関節ロボットの速度を1次元の速度に集約したスカラー値であり、速度bを上げていくと、bminにまず達し、その軸のジャーク上限に飽和するためである。以下では、このジャーク(加加速度)が上限に対して飽和する関節軸のインデックスをiとする。終点においても同様の計算を行うことができ、終点付近でジャーク(加加速度)が上限に対して飽和する関節軸を特定できる。 For example, if the upper limit of jerk (obtained in step S100) is substituted for the left side of equation (32), and s near the starting point on the path is used to solve with b, the jerk is saturated near the starting point of joint axis i. It is possible to obtain the velocity b i when . Then, among the velocities b i for each joint axis of the robot arm A, the lowest value is set to b min . The joint axis that takes this b min can be specified as the joint axis where the jerk (jerk) is saturated with respect to the upper limit near the starting point. This is because b is a scalar value obtained by consolidating the speed of the articulated robot into a one-dimensional speed, and as the speed b is increased, it first reaches b min and saturates at the jerk upper limit of that axis. Below, the index of the joint axis at which the jerk (jerk) saturates with respect to the upper limit is assumed to be i J . A similar calculation can be performed at the end point, and the joint axis at which the jerk (jerk) is saturated with respect to the upper limit can be specified near the end point.

また、本実施形態のようにB-Spline補間で経路を補間した場合、経路の始点、終点近傍では、|q′′′|が|q′′|、|q′|に比べて大きくなるため、q′′′だけを考慮に入れればよい。そこで、本実施形態では、経路生成(S104)でB-Spline補間を行っている場合、q′′、q′の項は無視し、式(32)左辺にジャークの上限を代入してbで解き、それを3乗した式を比較する。ここで、3乗する意図は、式の1/3乗を消し、簡単化するためである。したがって、以下の式をそれぞれの軸で比較し、最大の軸がジャークで飽和する関節軸と推測できる。 Also, when the route is interpolated by B-Spline interpolation as in this embodiment, |q'''| becomes larger than |q''| and |q'| , q''' only have to be taken into account. Therefore, in this embodiment, when B-Spline interpolation is performed in path generation (S104), the terms q'' and q' are ignored, and the upper limit of jerk is substituted into the left side of equation (32), and b Solve and compare the cubic equations. Here, the intention of cubing is to eliminate the 1/3 power in the equation and simplify it. Therefore, by comparing the following equations for each axis, it can be estimated that the maximum axis is the joint axis saturated with jerk.

Figure 0007237447000015
ただし、iは関節軸のインデックスとし、また、ジャークの上限と下限の値は同じとする。
Figure 0007237447000015
However, i is the index of the joint axis, and the upper and lower limits of the jerk are the same.

以上のように、経路の始点・終点近傍でジャークに飽和する関節軸を予測することにより、後述のジャークに飽和する関節軸の速度を求める数値計算はその関節軸だけについて行うだけで良くなり、著しく計算コストを削減できる。 As described above, by predicting the joint axis that saturates the jerk near the start and end points of the path, the numerical calculation to find the velocity of the joint axis that saturates the jerk, which will be described later, only needs to be performed for that joint axis. The computational cost can be significantly reduced.

続くステップS108の処理は、ジャーク相当速度制約算出手段35(ジャーク演算工程)に相当する。このステップS108では、ジャーク飽和軸予測手段34(ステップS106)により特定した関節軸iJに関し、その軸のジャークが飽和する場合の当該の始点および終点を含む特定区間における速度、即ち飽和速度を求める。この速度を新たに速度制約として採用することにより、始点および終点付近の区間において、ジャーク制約を逸脱しないようロボットアームAの動作を制御することができる。ジャーク(加加速度)と異なり、速度は始点・終点付近でも正確に計算できる。従って、始点・終点付近で正確に計算できないジャークに対し、それに相当する飽和速度として制約を与え、ジャークを制約することができる。以下では、この関節軸がジャーク制約に飽和する場合の飽和速度に基づく速度制約をジャーク相当速度制約と呼ぶことがある。 The subsequent processing of step S108 corresponds to the jerk-equivalent speed constraint calculation means 35 (jerk calculation step). In this step S108, regarding the joint axis iJ specified by the jerk saturation axis predicting means 34 (step S106), when the jerk of that axis is saturated, the speed in a specific section including the relevant start point and end point, that is, the saturation speed is obtained. By newly adopting this speed as a speed constraint, the motion of the robot arm A can be controlled so as not to deviate from the jerk constraint in the sections near the start point and the end point. Unlike jerk (jerk), velocity can be calculated accurately even near the start and end points. Therefore, the jerk that cannot be accurately calculated near the start point and the end point can be constrained as a saturation speed corresponding to the jerk. Hereinafter, the speed constraint based on the saturated speed when the joint axis is saturated with the jerk constraint may be referred to as the jerk-equivalent speed constraint.

なお、ステップS106では、ジャーク飽和軸予測手段34で、q′′(s)、q′(s)の項は無視して、ジャークが飽和する関節軸を予測した。しかしながら、ステップS108でジャーク相当速度制約を求める場合は、正確に計算を行うため、q′′(s)、q′(s)の項を考慮して計算を行う。 In step S106, the jerk saturation axis predicting means 34 ignores the terms q''(s) and q'(s) and predicts the joint axis at which the jerk saturates. However, when obtaining the jerk-equivalent speed constraint in step S108, the terms q''(s) and q'(s) are taken into account in order to perform the calculation accurately.

ジャーク飽和軸予測手段で求めた関節軸iJに対し、式(32)の左辺にジャーク制約を代入し、その時の経路上の速度bを求める。このようにして、経路の始点および終点付近で、(最も先にジャーク上限に飽和する)関節軸iJのジャーク相当速度制約を取得できる。 For the joint axis iJ obtained by the jerk saturation axis predicting means, the jerk constraint is substituted for the left side of the equation (32), and the velocity bJ on the path at that time is obtained. In this way, the jerk-equivalent speed constraint of the joint axis iJ (which saturates at the jerk upper limit first) can be obtained near the start and end points of the path.

ここで、式(32)の左辺にジャーク制約を代入し、その時の経路上の速度bを始点・終点付近のsで求めるには、式が解析的に解けないため、数値計算が必要となる。たとえば、ルンゲクッタ法などの手法を用いて、bを逐次的に経路の始点および終点付近で求めることが考えられる。ここで始点および終点「付近」の定義は様々であるが、例えば、始点付近としたときは、始点からq′(速度)がある閾値に達するsまでを始点付近と定義し、数値計算でそのsまで計算すればいい。これは、q′がある程度大きくなれば、q′′′、q′′も十分大きくなっているため、ジャーク計算が、式(31)で正確にできるようになり、通常の最適化計算においてジャークを考慮することが可能になるためである。 Here, in order to substitute the jerk constraint into the left side of equation (32) and find the velocity bJ on the path at that time by s near the start and end points, numerical calculation is required because the equation cannot be solved analytically. Become. For example, a technique such as the Runge-Kutta method may be used to sequentially determine b J near the start and end points of the path. Here, there are various definitions of "near" the start point and the end point. You have to calculate up to s. This is because when q' increases to a certain extent, q''' and q'' also become sufficiently large, so that the jerk calculation can be performed accurately by equation (31), and jerk This is because it becomes possible to consider

なお、本実施形態では、ジャークの飽和する関節軸を予測してから、後述するジャーク相当速度制約の計算を行うが、これに限らず、全関節軸のジャーク相当速度制約を計算し、最も制約が強い速度制約を採用するという構成であっても構わない。 In this embodiment, the joint axis where the jerk is saturated is predicted, and then the jerk-equivalent velocity constraint (to be described later) is calculated. may be a configuration in which a strong speed constraint is adopted.

次に、ステップS110で、速度制約統合手段36によって、ステップS108でジャーク相当速度制約算出手段35を用いて求めた経路上の速度bを新たにその当該の経路上の速度bの制約として設定する。 Next, in step S110, the speed constraint integration means 36 newly sets the speed bJ on the route obtained by using the jerk-equivalent speed constraint calculation means 35 in step S108 as a constraint on the speed b on the relevant route. do.

なお、非特許文献1にも記載があるが、関節角速度制約および、手先速度制約は、経路上の速度bの制約として集約が可能である。たとえば、関節角速度は As described in Non-Patent Document 1, joint angular velocity restrictions and hand velocity restrictions can be aggregated as restrictions on the velocity b on the route. For example, the joint angular velocity is

Figure 0007237447000016
のように記述できる。従って、関節角速度制約に相当するbの制約bを求めるには
Figure 0007237447000016
can be written as Therefore, to obtain the constraint bq of b, which corresponds to the joint angular velocity constraint,

Figure 0007237447000017
をbで解けばよい。
Figure 0007237447000017
is solved by b q .

このように、bをbの上限速度として制約すれば、目的のジャーク制約を守るよう関節角速度を制約することができる。また、手先速度制約値についても上記のb、bに係る同様の演算により計算することができる。 Thus, by constraining b q as the upper limit velocity of b, the joint angular velocity can be constrained so as to comply with the target jerk constraint. In addition, the hand speed constraint value can also be calculated by the same calculation relating to b and bp described above.

以上のようにして、関節角速度制約、手先速度制約、あるいはジャーク相当速度制約のようにいくつかの経路の始点および終点を含む特定区間における複数の計算方式の異なる速度制約を求めている場合、ステップS110でこれらの速度制約を統合する。この速度制約の統合には、例えばb、b、bの中で最も速度値の低いものをbの制約として設定することが考えられる。これらはいずれもsの関数であるので、sの値を取りうる範囲で、最も小さい値を新たにbの速度制約値として設定することができる。また、もし、設定済みの速度制約値が既に存在する場合は、その設定済みの速度制約値と、前記飽和速度と、を比較し、前記飽和速度または前記速度制約値のうち、値が小さい方を速度制約値として採用する。 As described above, when seeking speed constraints with different calculation methods in a specific section including the start and end points of several paths, such as joint angular velocity constraints, hand speed constraints, or jerk-equivalent speed constraints, step At S110, these speed constraints are integrated. For this integration of speed constraints, for example, setting the lowest speed value among b q , b p , and b J as a constraint on b can be considered. Since these are both functions of s, the smallest value within the range of possible values of s can be newly set as the speed constraint value of b. If a set speed constraint value already exists, the set speed constraint value is compared with the saturated speed, and the smaller value of the saturated speed or the speed constraint value is determined. is adopted as the speed constraint value.

続いて、ステップS112で、速度最適化手段37により、当該の経路上の速度bを最適化する。ここでは、モデル・制約情報入力手段31で入力(S100)されたロボットモデルが、入力された各種制約を守りつつ、経路生成手段33で生成した経路上を、例えば最短時間で動作するための経路上の速度bを最適化する。このためには、例えば式(22)~式(30)にトルク制約以外の制約を考慮して最適化問題を解けばよい。ただし、関節角速度制約、手先速度制約、ジャーク相当速度制約は、ステップS110により、既に統合された状態となっている。この最適化問題の解法としては、ログバリア法とニュートン法を用いて最適解に高速に収束させるといった方法が考えられる。 Subsequently, in step S112, the speed optimization means 37 optimizes the speed b on the route. Here, the robot model input (S100) by the model/restriction information input means 31 follows a path generated by the path generation means 33 while observing various input restrictions. Optimize the velocity b above. For this purpose, for example, the optimization problem can be solved by considering constraints other than the torque constraint in the equations (22) to (30). However, the joint angular velocity constraint, the hand velocity constraint, and the jerk equivalent velocity constraint have already been integrated in step S110. As a method for solving this optimization problem, a method is conceivable in which the log-barrier method and the Newton method are used to quickly converge to the optimum solution.

上記のステップS110、S112(速度制約統合手段36、速度最適化手段37)は、飽和速度を軌道データの速度制約値として設定した上で、前記始点と終点の間を特定の条件で前記特定部位を移動させる速度情報を生成する速度情報生成工程に相当する。 The above steps S110 and S112 (speed constraint integration means 36, speed optimization means 37) set the saturation speed as the speed constraint value of the trajectory data, and then set the specific portion between the start point and the end point under specific conditions. corresponds to a speed information generating step of generating speed information for moving the .

さらにステップS114において、関節角度指令値生成手段38は、下式(37)のように速度最適化(S112)により計算したs(・)(s)に基づき、s(t)を計算し、q(s)を求め、例えば一定時間Δt毎の関節角度指令値を求める。ただし、s(0)=0とする。当然ながら、この一定時間Δtは、例えばロボット制御装置が関節角度指令をロボットアームAに送信するクロック周期とする。 Furthermore, in step S114, the joint angle command value generating means 38 calculates s(t) based on s(·)(s) calculated by speed optimization (S112) as in the following equation (37), and q (s) is obtained, and, for example, a joint angle command value is obtained for each fixed time Δt. However, s(0)=0. As a matter of course, this fixed time Δt is the clock cycle for the robot control device to transmit the joint angle command to the robot arm A, for example.

Figure 0007237447000018
Figure 0007237447000018

このようにして、始点および終点を含む特定区間のジャーク制約を満足する速度でその経路をロボットアームAの特定部位(TCPないし関節空間における関節)を動作させるための軌道データとして、ロボットアームAの関節角度指令を生成することができる。この関節角度指令値(群)として生成された軌道データをロボットアームA(あるいはそのロボット制御装置200)に送信することにより、ロボットアームAを当該の軌道で動作させることができる。なお、ステップS114では、関節角度指令値の形式で軌道データを生成しているが、軌道データの形式は任意であり、ロボットアームA(あるいはそのロボット制御装置200)の制御に適した他のデータ形式を用いてよいのはいうまでもない。 In this way, the trajectory data of the robot arm A is used as trajectory data for moving the specific portion (TCP or joint in the joint space) of the robot arm A along the path at a speed that satisfies the jerk constraint in a specific section including the start point and the end point. A joint angle command can be generated. By transmitting the trajectory data generated as this joint angle command value (group) to the robot arm A (or its robot controller 200), the robot arm A can be operated along the trajectory. Although the trajectory data is generated in the form of joint angle command values in step S114, the trajectory data may be of any format, and other data suitable for controlling the robot arm A (or its robot controller 200) may be used. It goes without saying that a form may be used.

以上のように、本実施形態によれば、始点および終点から経路の情報を作成した上で、その始点および終点を含む特定区間のジャーク制約に相当する飽和速度に基づき、ジャーク相当速度制約として作用させ、当該の経路の速度情報を生成する。その場合、経路の始点および終点を含む特定区間におけるジャーク制約に相当する飽和速度を求め、ジャーク相当速度制約として作用させ、当該の経路の速度情報とする。これにより、当該の始点および終点の教示点により指定された経路およびその経路における速度情報を含む軌道データを生成することができる。その場合、本実施形態によれば、経路の始点・終点で、ジャーク(加加速度)が飽和しないよう制約した上、速度制御を行える、最適な軌道データを生成することができる。 As described above, according to the present embodiment, after the route information is created from the start point and the end point, based on the saturation speed corresponding to the jerk constraint in the specific section including the start point and the end point, it acts as a jerk-equivalent speed constraint. to generate speed information for the route. In this case, the saturated speed corresponding to the jerk constraint in a specific section including the start point and the end point of the route is obtained and acted as the jerk-equivalent speed constraint to be used as the speed information of the route. Thus, it is possible to generate trajectory data including a route designated by the teaching points of the start point and the end point and velocity information on the route. In that case, according to the present embodiment, it is possible to generate optimal trajectory data that can perform speed control while restricting jerk (jerk) from being saturated at the start and end points of the route.

以上、本発明の一実施形態の構成を詳細に説明したが、上述の構成は一例に過ぎず、本発明をその構成に限定することを意図したものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれるのはいうまでもない。本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給しそのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 Although the configuration of one embodiment of the present invention has been described in detail above, the configuration described above is merely an example and is not intended to limit the present invention to that configuration. It goes without saying that the technology described in the claims includes various modifications and changes of the specific examples illustrated above. The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and one or more processors in the computer of the system or device read and execute the program. processing is also feasible. It can also be implemented by a circuit (for example, ASIC) that implements one or more functions.

A…ロボットアーム、J1、J2…関節軸、1…軌道生成装置、2…操作部、3…演算処理部、31…モデル・制約情報入力手段、32…教示点情報入力手段、33…経路生成手段、34…ジャーク飽和軸予測手段、35…ジャーク相当速度制約算出手段、36…速度制約統合手段、37…速度最適化手段、38…関節角度指令値生成手段、4…記憶部。 A: Robot arm J1, J2: Joint axis 1: Trajectory generation device 2: Operation unit 3: Calculation processing unit 31: Model/restriction information input means 32: Teaching point information input means 33: Path generation Means 34 Jerk saturation axis predicting means 35 Jerk equivalent velocity constraint calculating means 36 Velocity constraint integrating means 37 Velocity optimizing means 38 Joint angle command value generating means 4 Storage unit.

Claims (25)

処理部が、関節を有するロボットの所定部位を移動させる際における、前記所定部位の経路と前記関節の速度と、を含む目標道を取得する情報処理方法において、
前記処理部は、
目標軌道において前記所定部位が通過する第1位置および/または第2位置において、前記ロボットを用いて前記所定部位を移動させる際の前記関節における加加速度の上限に関する第1制約値に基づいて、前記加加速度を前記第1制約値に設定して前記関節を動作させる場合における前記関節の速度を制約速度として取得し、
前記所定部位が移動する前記第1位置から前記第2位置までの間を補間処理することで経路を取得し、
前記制約速度を第2制約値として当該経路において前記所定部位を移動させる際の前記関節の速度を取得する、
ことを特徴とする情報処理方法。
An information processing method in which a processing unit acquires a target trajectory including a path of a predetermined part and a speed of the joint when moving the predetermined part of a robot having joints,
The processing unit is
Based on a first constraint value relating to the upper limit of the jerk at the joint when moving the predetermined part using the robot at a first position and/or a second position through which the predetermined part passes on the target trajectory , Acquiring the speed of the joint as a constraint speed when the joint is operated with the jerk set to the first constraint value,
Obtaining a route by interpolating between the first position and the second position where the predetermined part moves,
Acquiring the speed of the joint when moving the predetermined part on the route with the constraint speed as a second constraint value;
An information processing method characterized by:
請求項1に記載の情報処理方法において、
目標道は、前記所定部位を移動させる際における前記所定部位の速度を含む、
ことを特徴とする情報処理方法。
In the information processing method according to claim 1,
The target trajectory includes the speed of the predetermined part when moving the predetermined part,
An information processing method characterized by:
請求項1または2に記載の情報処理方法において、
前記補間処理は、Splin補間、B-Splin補間、ベジェ曲線補間、直線補間、円弧補間のうち少なくとも1つを実行する処理である、
ことを特徴とする情報処理方法。
In the information processing method according to claim 1 or 2,
The interpolation process is a process of executing at least one of Splin interpolation, B-Splin interpolation, Bezier curve interpolation, linear interpolation, and circular interpolation.
An information processing method characterized by:
請求項1から3のいずれか1項に記載の情報処理方法において、
前記第1位置は前記所定部位が移動する始点であり、前記第2位置は前記所定部位が移動する終点である、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 3,
The first position is a starting point for movement of the predetermined portion, and the second position is an end point for movement of the predetermined portion.
An information processing method characterized by:
請求項1から4のいずれか1項に記載の情報処理方法において、
前記処理部は、
前記第1位置を含む第1区間および/または前記第2位置を含む第2区間において前記ロボットを用いて前記所定部位を移動させる際に前記第1制約値を設定した際の前記関節における速度を前記制約速度として取得する、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 4 ,
The processing unit is
At the joint when the first constraint value is set when the robot is used to move the predetermined part in the first section including the first position and/or the second section including the second position obtaining as the constraint speed the speed at which
An information processing method characterized by:
請求項に記載の情報処理方法において、
前記処理部は、
前記第1制約値と、前記第1区間における第1媒介変数および/または前記第2区間における第2媒介変数と、を用いて前記制約度を取得する、
ことを特徴とする情報処理方法。
In the information processing method according to claim 5 ,
The processing unit is
obtaining the constraint speed using the first constraint value and a first parameter in the first section and/or a second parameter in the second section;
An information processing method characterized by:
請求項に記載の情報処理方法において、
前記関節は複数存在し、
前記処理部は、
前記複数の関節において、前記第1制約値と、前記第1媒介変数と、前記第2媒介変数
と、を用いて前記制約度を取得し、
前記複数の関節で取得した前記制約度のうち最も低い速度を前記第2制約値として取得する、
ことを特徴とする情報処理方法。
In the information processing method according to claim 6 ,
a plurality of said joints exist,
The processing unit is
obtaining the restricted velocity using the first restricted value, the first parameter, and the second parameter at the plurality of joints;
obtaining the lowest speed among the constraint speeds obtained at the plurality of joints as the second constraint value;
An information processing method characterized by:
請求項1からのいずれか1項に記載の情報処理方法において、
前記第1制約値は、関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、手先加速度制約のうち少なくとも1つの制約によって取得される、
ことを特徴とする情報処理方法。
In the information processing method according to any one of claims 1 to 7 ,
The first constraint value is obtained by at least one of a joint torque constraint, a joint angular velocity constraint, a joint angular acceleration constraint, a jerk constraint, a hand velocity constraint, and a hand acceleration constraint.
An information processing method characterized by:
請求項2に記載の情報処理方法において、
前記所定部位の速度は前記所定部位の作業空間における速度であり、前記関節
の速度は前記関節の関節空間における速度である、
ことを特徴とする情報処理方法。
In the information processing method according to claim 2,
The velocity of the predetermined part is the velocity in the working space of the predetermined part, and the velocity of the joint is the velocity in the joint space of the joint,
An information processing method characterized by:
請求項に記載の情報処理方法において、
目標道は、前記所定部位を移動させる際前記関節の動作の前記関節空間における経路を含む、
ことを特徴とする情報処理方法。
In the information processing method according to claim 9 ,
The target trajectory includes a path in the joint space of the motion of the joint when moving the predetermined part,
An information processing method characterized by:
請求項1から1のいずれか1項に記載の情報処理方法を前記処理部に実行させるプログラム。 A program that causes the processing unit to execute the information processing method according to any one of claims 1 to 10 . 請求項1に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium storing the program according to claim 11 . 関節を有するロボットの所定部位を移動させる際における、前記所定部位の経路と前記関節の速度と、を含む目標道を取得する情報処理装置において
目標軌道において前記所定部位が通過する第1位置および/または第2位置において、前記ロボットを用いて前記所定部位を移動させる際の前記関節における加加速度の上限に関する第1制約値に基づいて、前記加加速度を前記第1制約値に設定して前記関節を動作させた場合における前記関節の度を制約速度として取得し、
前記所定部位が移動する前記第1位置から前記第2位置までの間を補間処理することで経路を取得し、
前記制約速度を第2制約値として当該経路において前記所定部位を移動させる際の前記関節の速度を取得する、
ことを特徴とする情報処理装置。
An information processing device that acquires a target trajectory including a path of a predetermined part and a speed of the joint when moving the predetermined part of a robot having joints ,
Based on a first constraint value relating to the upper limit of the jerk at the joint when moving the predetermined part using the robot at a first position and/or a second position through which the predetermined part passes on the target trajectory , Acquiring, as a constraint speed , the speed of the joint when the joint is operated with the jerk set to the first constraint value ;
Obtaining a route by interpolating between the first position and the second position where the predetermined part moves,
Acquiring the speed of the joint when moving the predetermined part on the route with the constraint speed as a second constraint value;
An information processing device characterized by:
請求項1に記載の情報処理装置において、
目標道は、前記所定部位を移動させる際における前記所定部位の速度を含む、
ことを特徴とする情報処理装置。
In the information processing device according to claim 1-3 ,
The target trajectory includes the speed of the predetermined part when moving the predetermined part,
An information processing device characterized by:
請求項1または1に記載の情報処理装置において、
前記補間処理は、Splin補間、B-Splin補間、ベジェ曲線補間、直線補間、円弧補間のうち少なくとも1つを実行する処理である、
ことを特徴とする情報処理装置。
In the information processing device according to claim 1-3 or 1-4 ,
The interpolation process is a process of executing at least one of Splin interpolation, B-Splin interpolation, Bezier curve interpolation, linear interpolation, and circular interpolation.
An information processing device characterized by:
請求項1から1のいずれか1項に記載の情報処理装置において、
前記第1位置は前記所定部位が移動する始点であり、前記第2位置は前記所定部位が移動する終点である、
ことを特徴とする情報処理装置。
In the information processing apparatus according to any one of claims 1-3 to 1-5 ,
The first position is a starting point for movement of the predetermined portion, and the second position is an end point for movement of the predetermined portion.
An information processing device characterized by:
請求項13から16のいずれか1項に記載の情報処理装置において、
前記第1位置を含む第1区間および/または前記第2位置を含む第2区間において前記ロボットを用いて前記所定部位を移動させる際に前記第1制約値を設定した際の前記関節における速度を前制約速度として取得する、
ことを特徴とする情報処理装置。
In the information processing apparatus according to any one of claims 13 to 16 ,
At the joint when the first constraint value is set when the robot is used to move the predetermined part in the first section including the first position and/or the second section including the second position obtaining as the constraint speed the speed at which
An information processing device characterized by:
請求項1に記載の情報処理装置において、
前記第1制約値と、前記第1区間における第1媒介変数および/または前記第2区間における第2媒介変数と、を用いて前記制約度を取得する、
ことを特徴とする情報処理装置。
In the information processing device according to claim 1 to 7 ,
obtaining the constraint speed using the first constraint value and a first parameter in the first section and/or a second parameter in the second section;
An information processing device characterized by:
請求項18に記載の情報処理装置において、
前記関節は複数存在し、
前記複数の関節において、前記第1制約値と、前記第1媒介変数と、前記第2媒介変数と、を用いて前記制約度を取得し、
前記複数の関節で取得した前記制約度のうち最も低い速度を前記第2制約値として取得する、
ことを特徴とする情報処理装置。
In the information processing device according to claim 18 ,
a plurality of said joints exist,
obtaining the restricted velocity using the first restricted value, the first parameter, and the second parameter at the plurality of joints;
obtaining the lowest speed among the constraint speeds obtained at the plurality of joints as the second constraint value;
An information processing device characterized by:
請求項1から19のいずれか1項に記載の情報処理装置において、
前記第1制約値は、関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、手先加速度制約のうち少なくとも1つの制約によって取得される、
ことを特徴とする情報処理装置。
In the information processing device according to any one of claims 13 to 19 ,
The first constraint value is obtained by at least one of a joint torque constraint, a joint angular velocity constraint, a joint angular acceleration constraint, a jerk constraint, a hand velocity constraint, and a hand acceleration constraint.
An information processing device characterized by:
請求項14に記載の情報処理装置において、
前記所定部位の速度は前記所定部位の作業空間における速度であり、前記関節の速度は前記関節の関節空間における速度である、
ことを特徴とする情報処理装置。
In the information processing device according to claim 14 ,
The velocity of the predetermined part is the velocity in the working space of the predetermined part, and the velocity of the joint is the velocity in the joint space of the joint,
An information processing device characterized by:
請求項21に記載の情報処理装置において、
目標道は、前記所定部位を移動させる際前記関節の動作の前記関節空間における経路を含む、
ことを特徴とする情報処理装置。
In the information processing device according to claim 21 ,
The target trajectory includes a path in the joint space of the motion of the joint when moving the predetermined part,
An information processing device characterized by:
請求項1から2のいずれか1項に記載の情報処理装置を用いて目標軌道が設定された前記ロボットを有するロボットシステム。 A robot system comprising the robot for which a target trajectory is set using the information processing device according to any one of claims 1-3 to 2-2 . 請求項2に記載のロボットシステムにおいて、目標軌道を前記ロボットに送信するネットワークを備えていることを特徴とするロボットシステム。 24. The robot system according to claim 23 , further comprising a network for transmitting the target trajectory to said robot. 請求項2または2に記載のロボットシステムを用いて物品の製造を行うことを特徴とする物品の製造方法。 A method of manufacturing an article, comprising manufacturing an article using the robot system according to claim 23 or 24 .
JP2017190886A 2017-09-29 2017-09-29 Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method Active JP7237447B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017190886A JP7237447B2 (en) 2017-09-29 2017-09-29 Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017190886A JP7237447B2 (en) 2017-09-29 2017-09-29 Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method

Publications (3)

Publication Number Publication Date
JP2019063912A JP2019063912A (en) 2019-04-25
JP2019063912A5 JP2019063912A5 (en) 2020-12-17
JP7237447B2 true JP7237447B2 (en) 2023-03-13

Family

ID=66337313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017190886A Active JP7237447B2 (en) 2017-09-29 2017-09-29 Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method

Country Status (1)

Country Link
JP (1) JP7237447B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113253677B (en) * 2021-07-05 2021-10-08 武汉瀚迈科技有限公司 Robot motion control method combining speed optimization and feedforward compensation
CN113618741B (en) * 2021-08-24 2022-07-29 深圳市优必选科技股份有限公司 Robot joint pose optimization method, robot control method and robot
JP2023034620A (en) * 2021-08-31 2023-03-13 TechMagic株式会社 Robot device
CN114393578A (en) * 2021-12-31 2022-04-26 广州明珞装备股份有限公司 Process action judgment method, system, equipment and storage medium
WO2023148897A1 (en) 2022-02-03 2023-08-10 三菱電機株式会社 Robot control device and robot control method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004314137A (en) 2003-04-17 2004-11-11 Fanuc Ltd Laser beam machining robot
US20040249509A1 (en) 2003-04-22 2004-12-09 John Rogers System of path planning for robotic manipulators based on maximum acceleration and finite jerk constraints
JP2009053926A (en) 2007-08-27 2009-03-12 Toyota Motor Corp Route-planning device and route-planning method
JP2015051469A (en) 2013-09-05 2015-03-19 キヤノン株式会社 Robot controller, robot apparatus, robot control method, program and recording medium
JP2016036895A (en) 2014-08-11 2016-03-22 ファナック株式会社 Robot program generating device for generating robot program which reduces jerk of drive shaft
JP2016172293A (en) 2015-03-16 2016-09-29 ファナック株式会社 Trajectory generation apparatus for robot to generate trajectory including curved portion

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004314137A (en) 2003-04-17 2004-11-11 Fanuc Ltd Laser beam machining robot
US20040249509A1 (en) 2003-04-22 2004-12-09 John Rogers System of path planning for robotic manipulators based on maximum acceleration and finite jerk constraints
JP2009053926A (en) 2007-08-27 2009-03-12 Toyota Motor Corp Route-planning device and route-planning method
JP2015051469A (en) 2013-09-05 2015-03-19 キヤノン株式会社 Robot controller, robot apparatus, robot control method, program and recording medium
JP2016036895A (en) 2014-08-11 2016-03-22 ファナック株式会社 Robot program generating device for generating robot program which reduces jerk of drive shaft
JP2016172293A (en) 2015-03-16 2016-09-29 ファナック株式会社 Trajectory generation apparatus for robot to generate trajectory including curved portion

Also Published As

Publication number Publication date
JP2019063912A (en) 2019-04-25

Similar Documents

Publication Publication Date Title
JP7237447B2 (en) Information processing method, program, recording medium, information processing device, robot system, and article manufacturing method
US11458626B2 (en) Trajectory generating method, and trajectory generating apparatus
CN110198813B (en) Robot path generation device and robot system
EP2699392B1 (en) An industrial robot having a kinematically redundant arm and a method for controlling the robot
KR100765671B1 (en) Robot locus control method and apparatus, and computer-readable recording medium storing program of robot locus control method
JP7439206B2 (en) Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods
JP6268819B2 (en) Trajectory generation method for multi-axis robot
JP6167770B2 (en) Multi-axis robot trajectory generation method and multi-axis robot controller
US11433537B2 (en) Automatic path generation device
CN114137951A (en) Online robot motion planning framework
KR102553391B1 (en) Handling device with robot, method and computer program
JP2016055404A (en) Locus generation method, locus generation device, robot device, program, and recording medium
EP2523786B1 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5)
JP2012091304A (en) Teaching data making method and teaching data making device
JP7210201B2 (en) Information processing method, program, recording medium, information processing device, robot system, article manufacturing method
Spencer et al. Collision avoidance techniques for tele-operated and autonomous manipulators in overlapping workspaces
Shanmugasundar et al. Method of Trajectory Generation of a Generic Robot using Bresenham’ s Circle Algorithm
CN111699079B (en) Coordination system, operation device and method
WO2020149020A1 (en) Robot control device, robot control method, and robot control program
JP2012196720A (en) Method and device for controlling robot
JP4528577B2 (en) Industrial robot
JP6429977B2 (en) Robot apparatus and robot control method
WO2024045091A1 (en) Motion planning method, apparatus and system for actuator, and storage medium
JP7475841B2 (en) Information processing method, robot system, article manufacturing method, and information processing device
KR20040034167A (en) The method of control- ling straight-line movement of vertical multi-joint six-axis manipulator

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220325

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221122

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20221122

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221129

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230301

R151 Written notification of patent or utility model registration

Ref document number: 7237447

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151