JP5829968B2 - Articulated robot, joint cooperative control apparatus and method thereof - Google Patents

Articulated robot, joint cooperative control apparatus and method thereof Download PDF

Info

Publication number
JP5829968B2
JP5829968B2 JP2012087028A JP2012087028A JP5829968B2 JP 5829968 B2 JP5829968 B2 JP 5829968B2 JP 2012087028 A JP2012087028 A JP 2012087028A JP 2012087028 A JP2012087028 A JP 2012087028A JP 5829968 B2 JP5829968 B2 JP 5829968B2
Authority
JP
Japan
Prior art keywords
joint
jerk
lower limit
input
jerk input
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.)
Expired - Fee Related
Application number
JP2012087028A
Other languages
Japanese (ja)
Other versions
JP2013215827A (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.)
Toyota Motor Corp
Toyota Central R&D Labs Inc
Original Assignee
Toyota Motor Corp
Toyota Central R&D Labs 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 Toyota Motor Corp, Toyota Central R&D Labs Inc filed Critical Toyota Motor Corp
Priority to JP2012087028A priority Critical patent/JP5829968B2/en
Publication of JP2013215827A publication Critical patent/JP2013215827A/en
Application granted granted Critical
Publication of JP5829968B2 publication Critical patent/JP5829968B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は多関節ロボットの関節協調制御装置および方法に関し、特に、関節への躍度入力を低減させると共に、関節の変位、速度、加速度の上下限制約を満たした関節入力を得ることが可能な多関節ロボット、その関節協調制御装置および方法に関する。   The present invention relates to a joint control apparatus and method for an articulated robot, and in particular, it is possible to reduce joint jerk input and obtain joint input satisfying upper and lower limits of joint displacement, speed, and acceleration. The present invention relates to a multi-joint robot, and a joint cooperative control apparatus and method thereof.

ロボットの関節を協調的に動作させて対象を操作する手法として、関節協調制御が知られている。ここで「関節」とは、主にロボットの駆動関節を指すが、ロボットが車輪型ロボットや人間型ロボットなどの地面に固定されていないものである場合には、その基準座標系の自由度も仮想的な関節として考えることができる。また、「対象」とは、操作したいロボットの部位を指す。例えば、ロボットがマニピュレータを備える場合には、対象は手先であり、対象の自由度は手先の位置、姿勢である。対象として、任意のリンク上の点やロボット全体の重心位置などを考えることもできる。   Joint cooperative control is known as a method for operating a target by cooperatively operating a joint of a robot. Here, “joint” mainly refers to the driving joint of the robot, but if the robot is not fixed to the ground, such as a wheeled robot or a humanoid robot, the degree of freedom of its reference coordinate system is also It can be thought of as a virtual joint. The “target” refers to a part of the robot that is to be operated. For example, when the robot includes a manipulator, the target is the hand, and the degree of freedom of the target is the position and posture of the hand. As a target, a point on an arbitrary link, the position of the center of gravity of the entire robot, and the like can be considered.

また、従来、冗長自由度を持つ多関節ロボットを対象とした関節協調制御では、関節速度を入力とした手法がよく用いられている。   Conventionally, in joint cooperative control for articulated robots having redundant degrees of freedom, a method using joint speed as an input is often used.

特開2009−187521号公報JP 2009-187521 A

しかしながら、関節速度を入力とした手法では、最も優先度の低いタスクの速度の二乗誤差を最小化することに起因して、(A)速度が急変する軌道や振動的な軌道になることがあり、関節の加速度の変化量(以下、躍度と呼ぶ。)が大きなものとなる(つまり、加速度が不連続になる)、また、(B)タスクを切り替えた際に、関節の速度が不連続になる(つまり、関節の変位、速度、加速度の上下限制約を必ず満たした関節への入力を得ることができない)という問題がある。   However, in the method using the joint speed as an input, due to minimizing the square error of the speed of the task with the lowest priority, there may be (A) a trajectory where the speed changes suddenly or an oscillatory trajectory. The amount of change in joint acceleration (hereinafter referred to as jerk) becomes large (that is, the acceleration becomes discontinuous), and (B) the joint speed becomes discontinuous when the task is switched. (That is, it is impossible to obtain input to a joint that necessarily satisfies the upper and lower limit constraints of joint displacement, velocity, and acceleration).

上記(A)に関しては、速度の誤差の最小化に関して、関節の加速度については何ら制限を課していないことに起因して発生する。また、上記(B)に関しては、ステップごとにタスクの優先度が入れ替わる場合、または、タスクの追加や除外が行われた場合に発生し、このような場合には、最適化の対象となる目的関数の構造が全く異なるものに変更されることから、得られる関節の速度が不連続に変化してしまう。このような問題が起こると、得られた関節速度入力の軌道が滑らかなものにならず、ロボットにそのまま適用できないものになってしまう。   The above (A) occurs because no limitation is imposed on the acceleration of the joint with respect to the minimization of the speed error. The above (B) occurs when the priority of a task is switched for each step or when a task is added or excluded. In such a case, the object to be optimized Since the function structure is changed to a completely different one, the obtained joint velocity changes discontinuously. When such a problem occurs, the obtained joint velocity input trajectory does not become smooth and cannot be applied to the robot as it is.

従って、ロボットの関節協調制御主要に関して、(1)多関節ロボットにおいて、対象を操作するための関節の入力を得ることができる、(2)関節の変位、速度、加速度の上下限制約を必ず満たした関節の入力を得ることができる、(3)関節への入力は、躍度をできるだけ小さくし、加速度を滑らかなものにすることができる、ということが可能な技術が強く求められている。   Therefore, with regard to the main joint coordinated control of the robot, (1) the joint input for manipulating the target can be obtained in the multi-joint robot, (2) the upper and lower limit constraints of the joint displacement, velocity, and acceleration are always satisfied There is a strong demand for a technique that can obtain an input of a joint, and (3) an input to a joint can reduce the jerk as much as possible and smooth the acceleration.

なお、本発明に関連する技術として、特許文献1に開示される技術がある。特許文献1に開示される技術では、関節の躍度を制限するものではあるが、速度パターンの頂点での躍度を単に制限するのみであり、上記(3)に示したような、できるだけ小さな躍度を実現するものではない。また、対象とするのは単軸のロボットであり、関節と対象とが一対一に対応するものであるため、上記(1)に関して考慮されたものではない。さらに、上記(2)に示した、関節の変位、速度、加速度の制約に関しても何ら考慮されていない。   In addition, there exists a technique disclosed by patent document 1 as a technique relevant to this invention. In the technique disclosed in Patent Document 1, although the jerk of the joint is limited, the jerk at the apex of the velocity pattern is only limited, and as small as possible as shown in (3) above. It does not realize the degree of leaps. In addition, the target is a single-axis robot, and the joint and the target have a one-to-one correspondence, so the above (1) is not considered. Furthermore, no consideration is given to the restrictions on joint displacement, velocity, and acceleration shown in (2) above.

本発明は、上述した問題点を解決するためになされたものであり、関節への躍度入力を低減させると共に、関節の変位、速度、加速度の上下限制約を満たした関節入力を得ることが可能な多関節ロボット、その関節協調制御装置および方法を提供することを目的とする。   The present invention has been made to solve the above-described problems, and can reduce the jerk input to the joint and obtain a joint input satisfying the upper and lower limits of the joint displacement, speed, and acceleration. It is an object of the present invention to provide a possible multi-joint robot and its joint cooperative control apparatus and method.

本発明に係る多関節ロボットの関節協調制御装置は、多関節ロボットの関節を協調制御して対象部位を操作する多関節ロボットの関節協調制御装置であって、現在時刻における前記関節の状態から開始して、前記関節の速度、加速度、躍度の設定上下限制約を全て満たしながら、所定の時間経過後に、設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達可能な前記関節への躍度入力の軌道パターンを決定し、当該決定した軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算する躍度入力への上下限制約計算部と、前記対象部位の躍度と前記関節への躍度入力の等式制約と、前記関節への躍度入力の上下限範囲の不等式制約と、を含む等式制約をタスクとし、前記等式制約に関する複数の設定タスクのうちで解が存在するタスクと、前記躍度入力への上下限制約計算部で計算された前記関節への躍度入力の上下限範囲と、を制約条件に含み、前記等式制約に関する複数の設定タスクのうちで解が存在しないタスクにおける前記関節への躍度入力の誤差を最適化の評価関数とし、前記制約条件の下で前記評価関数の値が最適となるように最適化問題を求解して、前記関節への躍度入力を計算する最適化問題求解部と、を備えるものである。これにより、関節への躍度入力を低減させると共に、関節の変位、速度、加速度の上下限制約を満たした関節入力を得ることができる。   A joint cooperative control device for a multi-joint robot according to the present invention is a joint cooperative control device for a multi-joint robot that operates a target part by cooperatively controlling joints of the multi-joint robot, and starts from the state of the joint at the current time Then, the speed and acceleration of the joint reach 0 at the upper or lower limit of the set displacement of the joint after a predetermined time while satisfying all the upper and lower limit settings of the speed, acceleration, and jerk of the joint. Determining a possible trajectory pattern of the jerk input to the joint, upper and lower limits of jerk input to the joint calculated from the determined trajectory pattern, the state of the joint at the current time, and the joint The upper and lower limit values of the jerk input to the joint calculated from the set speed, acceleration and jerk upper and lower limits of the jerk are used to calculate the upper and lower limit range of the jerk input to the joint. Equality constraints including an upper / lower limit constraint calculation unit, an equality constraint on the jerk input to the joint and the jerk input to the joint, and an inequality constraint on an upper / lower limit range of the jerk input to the joint And a task in which a solution exists among a plurality of setting tasks related to the equality constraint, and an upper and lower limit range of jerk input to the joint calculated by an upper and lower limit constraint calculation unit to the jerk input , And an error of a jerk input to the joint in a task for which no solution exists among a plurality of setting tasks related to the equality constraint as an optimization evaluation function, and the evaluation under the constraint An optimization problem solving unit that solves an optimization problem so as to optimize a function value and calculates a jerk input to the joint. As a result, it is possible to reduce the jerk input to the joint and to obtain a joint input that satisfies the upper and lower limit constraints of the joint displacement, speed, and acceleration.

さらに、前記躍度入力への上下限制約計算部は、前記停止軌道パターンとして、前記関節への躍度入力が設定最小値から設定最大値へと変化する第1の停止軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最大値へと変化する第2の停止軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最小値へと戻った後に、設定最大値へと変化する第3の停止軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最小値へと戻った後に、再び0を経て設定最大値へと変化する第4の停止軌道パターンと、を決定し、当該決定した第1〜第4の停止軌道パターンのうちで、いずれの停止軌道パターンを用いる場合に、前記所定の時間経過後に、前記設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達できるか否かを判定し、到達できると判定した停止軌道パターン軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算するようにしてもよい。   Further, the upper / lower limit constraint calculation unit for the jerk input includes, as the stop trajectory pattern, a first stop trajectory pattern in which jerk input to the joint changes from a set minimum value to a set maximum value, and the joint The second stop trajectory pattern in which the jerk input to the joint changes from the set minimum value through zero to the set maximum value, and the jerk input to the joint returns from the set minimum value through zero to the set minimum value Later, after the third stop trajectory pattern changing to the set maximum value and the jerk input to the joint return from the set minimum value to 0 through the set minimum value, to 0 through the set minimum value again to the set maximum value The fourth stop trajectory pattern that changes is determined, and when any stop trajectory pattern is used among the determined first to fourth stop trajectory patterns, the setting is made after the predetermined time has elapsed. The upper or lower limit of the displacement of the joint It is determined whether the velocity and acceleration of the joint can reach zero, and the upper and lower limit values of the jerk input to the joint calculated from the stop trajectory pattern trajectory pattern determined to be reachable, and the current time Upper and lower limits of jerk input to the joint using the joint state and upper and lower limit values of jerk input to the joint calculated from the set speed, acceleration, and jerk constraints of the jerk The range may be calculated.

さらにまた、前記多関節ロボットが、複数の自由度アームを有するロボットであるようにしてもよい。   Furthermore, the articulated robot may be a robot having a plurality of degrees of freedom arms.

本発明に係る多関節ロボットの関節協調制御方法は、多関節ロボットの関節を協調制御して対象部位を操作する多関節ロボットの関節協調制御方法であって、現在時刻における前記関節の状態から開始して、前記関節の速度、加速度、躍度の設定上下限制約を全て満たしながら、所定の時間経過後に、設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達可能な前記関節への躍度入力の軌道パターンを決定し、当該決定した軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算する躍度入力への上下限制約計算工程と、前記対象部位の躍度と前記関節への躍度入力の等式制約と、前記関節への躍度入力の上下限範囲の不等式制約と、を含む等式制約をタスクとし、前記等式制約に関する複数の設定タスクのうちで解が存在するタスクと、前記躍度入力への上下限制約計算工程で計算された前記関節への躍度入力の上下限範囲と、を制約条件に含み、前記等式制約に関する複数の設定タスクのうちで解が存在しないタスクにおける前記関節への躍度入力の誤差を最適化の評価関数とし、前記制約条件の下で前記評価関数の値が最適となるように最適化問題を求解して、前記関節への躍度入力を計算する最適化問題求解工程と、を備えるものである。これにより、関節への躍度入力を低減させると共に、関節の変位、速度、加速度の上下限制約を満たした関節入力を得ることができる。   The articulated joint control method of the articulated robot according to the present invention is a articulated joint control method of the articulated robot that operates the target part by cooperatively controlling the joint of the articulated robot, and starts from the state of the joint at the current time Then, the speed and acceleration of the joint reach 0 at the upper or lower limit of the set displacement of the joint after a predetermined time while satisfying all the upper and lower limit settings of the speed, acceleration, and jerk of the joint. Determining a possible trajectory pattern of the jerk input to the joint, upper and lower limits of jerk input to the joint calculated from the determined trajectory pattern, the state of the joint at the current time, and the joint The upper and lower limit values of the jerk input to the joint calculated from the set speed, acceleration and jerk upper and lower limits of the jerk are used to calculate the upper and lower limit range of the jerk input to the joint. Equal constraint including the upper and lower limit constraint calculation step, the equality constraint of the jerk of the target part and the jerk input to the joint, and the inequality constraint of the upper and lower limit range of the jerk input to the joint And a task in which a solution exists among a plurality of setting tasks related to the equality constraint, and an upper and lower limit range of jerk input to the joint calculated in an upper and lower limit constraint calculation step to the jerk input , And an error of a jerk input to the joint in a task for which no solution exists among a plurality of setting tasks related to the equality constraint as an optimization evaluation function, and the evaluation under the constraint An optimization problem solving step of solving an optimization problem so as to optimize a function value and calculating a jerk input to the joint. As a result, it is possible to reduce the jerk input to the joint and to obtain a joint input that satisfies the upper and lower limit constraints of the joint displacement, speed, and acceleration.

さらにまた、前記躍度入力への上下限制約計算工程は、前記停止軌道パターンとして、前記関節への躍度入力が設定最小値から設定最大値へと変化する第1の停止軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最大値へと変化する第2の停止軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最小値へと戻った後に、設定最大値へと変化する第3の停止軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最小値へと戻った後に、再び0を経て設定最大値へと変化する第4の停止軌道パターンと、を決定し、当該決定した第1〜第4の停止軌道パターンのうちで、いずれの停止軌道パターンを用いる場合に、前記所定の時間経過後に、前記設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達できるか否かを判定し、到達できると判定した停止軌道パターン軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算するようにしてもよい。   Furthermore, the upper and lower limit constraint calculation step for the jerk input includes, as the stop trajectory pattern, a first stop trajectory pattern in which jerk input to the joint changes from a set minimum value to a set maximum value, The second stop trajectory pattern in which the jerk input to the joint changes from the set minimum value through 0 to the set maximum value, and the jerk input into the joint returns from the set minimum value through 0 to the set minimum value After that, the third stop trajectory pattern changing to the set maximum value and the jerk input to the joint return from the set minimum value to 0 through the set minimum value, and then through 0 again to the set maximum value. A fourth stop trajectory pattern that changes, and when any stop trajectory pattern is used among the determined first to fourth stop trajectory patterns, the setting is performed after the predetermined time has elapsed. Upper limit of the displacement of the joint or It is determined whether or not the speed and acceleration of the joint can reach zero, and the upper and lower limit values of the jerk input to the joint calculated from the stop trajectory pattern trajectory pattern determined to be reachable and the current time And the upper and lower limit values of the jerk input to the joint calculated from the upper and lower limits of the joint speed, acceleration, and jerk, and the jerk input to the joint. The lower limit range may be calculated.

本発明に係る多関節ロボットは、関節を協調制御して対象部位を操作する多関節ロボットであって、現在時刻における前記関節の状態から開始して、前記関節の速度、加速度、躍度の設定上下限制約を全て満たしながら、所定の時間経過後に、設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達可能な前記関節への躍度入力の軌道パターンを決定し、当該決定した軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算する躍度入力への上下限制約計算部と、前記対象部位の躍度と前記関節への躍度入力の等式制約と、前記関節への躍度入力の上下限範囲の不等式制約と、を含む等式制約をタスクとし、前記等式制約に関する複数の設定タスクのうちで解が存在するタスクと、前記躍度入力への上下限制約計算部で計算された前記関節への躍度入力の上下限範囲と、を制約条件に含み、前記等式制約に関する複数の設定タスクのうちで解が存在しないタスクにおける前記関節への躍度入力の誤差を最適化の評価関数とし、前記制約条件の下で前記評価関数の値が最適となるように最適化問題を求解して、前記関節への躍度入力を計算する最適化問題求解部と、を備える、ものである。これにより、関節への躍度入力を低減させると共に、関節の変位、速度、加速度の上下限制約を満たした関節入力を得ることができる。   The articulated robot according to the present invention is an articulated robot that operates a target part by cooperatively controlling a joint, and starts from the state of the joint at a current time, and sets the speed, acceleration, and jerk of the joint Determines the trajectory pattern of the jerk input to the joint at which the joint velocity and acceleration can reach zero at the upper or lower limit of the joint displacement set after a predetermined time while satisfying all upper and lower limit constraints Calculated from the upper and lower limit values of the jerk input to the joint calculated from the determined trajectory pattern, the state of the joint at the current time, and the set speed, acceleration, and jerk limits of the joint Upper and lower limit values for the jerk input to calculate the jerk input to the joint using the upper and lower limit values of the jerk input to the joint, and the jerk of the target part And said Seki The task is an equality constraint that includes an equality constraint on the input to the joint and an inequality constraint on the upper and lower limit ranges of the input to the joint, and the solution is a set of tasks related to the equality constraint. An existing task and an upper / lower limit range of the jerk input to the joint calculated by the upper / lower limit constraint calculation unit for the jerk input, and among the plurality of setting tasks related to the equation constraint The error of the jerk input to the joint in a task for which no solution exists in is used as an optimization evaluation function, and an optimization problem is solved so that the value of the evaluation function is optimal under the constraint conditions, An optimization problem solving unit for calculating a jerk input to the joint. As a result, it is possible to reduce the jerk input to the joint and to obtain a joint input that satisfies the upper and lower limit constraints of the joint displacement, speed, and acceleration.

本発明によれば、関節への躍度入力を低減させると共に、関節の変位、速度、加速度の上下限制約を満たした関節入力を得ることが可能な多関節ロボット、その関節協調制御装置および方法を提供することができる。   According to the present invention, a multi-joint robot capable of reducing a jerk input to a joint and obtaining a joint input satisfying upper and lower limits of joint displacement, speed, and acceleration, and a joint cooperative control apparatus and method thereof Can be provided.

実施の形態1に係る躍度入力への上下限制約計算処理を示すフローチャートである。6 is a flowchart showing upper and lower limit constraint calculation processing for jerk input according to the first embodiment. 実施の形態1に係る軌道Aを示すグラフである。3 is a graph showing a trajectory A according to the first embodiment. 実施の形態1に係る軌道Bを示すグラフである。3 is a graph showing a trajectory B according to the first embodiment. 実施の形態1に係る軌道Cを示すグラフである。3 is a graph showing a trajectory C according to the first embodiment. 実施の形態1に係る軌道Dを示すグラフである。4 is a graph showing a trajectory D according to the first embodiment. 実施の形態1に係る1自由度での軌道の例(変位の応答)を示すグラフである。5 is a graph showing an example of a trajectory with one degree of freedom according to Embodiment 1 (response of displacement). 実施の形態1に係る1自由度での軌道の例(速度の応答)を示すグラフである。5 is a graph showing an example of a trajectory (speed response) with one degree of freedom according to the first embodiment. 実施の形態1に係る1自由度での軌道の例(加速度の応答)を示すグラフである。6 is a graph showing an example of a trajectory (acceleration response) with one degree of freedom according to the first embodiment. 実施の形態1に係る1自由度での軌道の例(躍度の入力)を示すグラフである。6 is a graph showing an example of a trajectory with one degree of freedom according to Embodiment 1 (input of jerk). 実施の形態1に係るアームロボットの模式図である。1 is a schematic diagram of an arm robot according to a first embodiment. 実施の形態1に係る3自由度での軌道の例(手先位置の応答(y方向))を示すグラフである。6 is a graph showing an example of a trajectory with three degrees of freedom according to the first embodiment (hand position response (y direction)). 実施の形態1に係る3自由度での軌道の例(手先位置の応答(z方向))を示すグラフである。6 is a graph showing an example of a trajectory with three degrees of freedom according to the first embodiment (hand position response (z direction)). 実施の形態1に係る3自由度での軌道の例(関節変位の応答)を示すグラフである。7 is a graph showing an example of a trajectory with three degrees of freedom according to Embodiment 1 (response of joint displacement). 実施の形態1に係る3自由度での軌道の例(関節速度の応答)を示すグラフである。6 is a graph showing an example of a trajectory with three degrees of freedom according to the first embodiment (response of joint speed). 実施の形態1に係る3自由度での軌道の例(関節加速度の応答)を示すグラフである。6 is a graph showing an example of a trajectory with three degrees of freedom according to Embodiment 1 (response of joint acceleration). 実施の形態1に係る3自由度での軌道の例(関節躍度の入力)を示すグラフである。5 is a graph showing an example of a trajectory with three degrees of freedom according to Embodiment 1 (input of joint jerk). (a)本発明に係るロボット動作生成システム(b)従来技術に係るロボット動作生成システムの概略構成図である。(A) Robot motion generation system according to the present invention (b) It is a schematic configuration diagram of a robot motion generation system according to the prior art.

以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In each drawing, the same or corresponding elements are denoted by the same reference numerals, and redundant description is omitted as necessary for clarification of the description.

まず、本発明の実施の形態の説明に先立ち、図17を参照して本発明の概略的な構成を説明する。図17(a)は、本発明に係るロボット動作生成システムの概略構成を示す図である。同図に示すように、ロボット動作生成システムは、動作入力装置100と、全身協調計算部200と、多関節ロボットとしてのロボット300と、を備えている。全身協調計算部200は、躍度入力への上下限制約計算部210と、最適化問題求解部220と、を備えている。   Prior to the description of the embodiment of the present invention, a schematic configuration of the present invention will be described with reference to FIG. FIG. 17A is a diagram showing a schematic configuration of a robot motion generation system according to the present invention. As shown in the figure, the robot motion generation system includes a motion input device 100, a whole body cooperative calculation unit 200, and a robot 300 as an articulated robot. The whole-body cooperation calculation unit 200 includes an upper / lower limit constraint calculation unit 210 for the jerk input and an optimization problem solving unit 220.

動作入力装置100は、ロボット300に実現させたい位置・姿勢を含む動作データを取得する。全身協調計算部200は、得られた動作データから、躍度入力への上下限を計算し、計算した躍度上下限を用いて最適化問題を求解する。ロボット300は、最適化問題の求解結果(関節への躍度入力)に従って多関節を協調制御することで、ロボット300の対象を操作する。   The motion input device 100 acquires motion data including a position / posture to be realized by the robot 300. The whole body cooperation calculation unit 200 calculates upper and lower limits to the jerk input from the obtained motion data, and solves an optimization problem using the calculated jerk upper and lower limits. The robot 300 operates the target of the robot 300 by cooperatively controlling the multi-joint according to the solution to the optimization problem (the jerk input to the joint).

全身協調計算部200は、ロボット300の関節を協調制御して、対象部位を操作する。躍度入力への上下限制約計算部210は、現在時刻における関節の状態から開始して、関節の速度、加速度、躍度について設定される上下限制約を全て満たしながら、関節への躍度入力の軌道パターンを決定する。この決定する軌道パターンは、所定の時間経過後に、設定される関節の変位の上限または下限において関節の速度および加速度が0に到達可能な軌道パターンである。さらに、躍度入力への上下限制約計算部210は、決定した軌道パターンから関節への躍度入力の上下限値を計算し、また、現在時刻における関節の状態と、設定される関節の速度、加速度、躍度の上下限制約と、を用いて関節への躍度入力の上下限値を計算し、これら計算した関節への躍度入力の上下限値を用いて、関節への躍度入力の上下限範囲を計算する。   The whole body cooperative calculation unit 200 controls the joints of the robot 300 to operate the target part. The upper / lower limit constraint calculation unit 210 for the jerk input starts from the state of the joint at the current time and inputs the jerk to the joint while satisfying all the upper / lower constraints set for the joint speed, acceleration, and jerk. Determine the trajectory pattern. The determined trajectory pattern is a trajectory pattern in which the joint speed and acceleration can reach zero at the upper limit or lower limit of the set joint displacement after a predetermined time has elapsed. Furthermore, the upper / lower limit constraint calculation unit 210 for jerk input calculates the upper / lower limit values of jerk input to the joint from the determined trajectory pattern, and the joint state at the current time and the set joint speed The upper and lower limit values of the jerk input to the joint are calculated using the upper and lower limit constraints of acceleration and jerk, and the jerk to the joint is calculated using the upper and lower limit values of the jerk input to the calculated joint. Calculate the upper and lower limits of the input.

最適化問題求解部220は、制約条件の下で評価関数の値が最小となるように最適化問題を求解して、関節への躍度入力を計算する。ここで、タスクとは、対象部位の躍度と関節への躍度入力の等式制約と、関節への躍度入力の上下限範囲の不等式制約と、を含む等式制約を指す。また、ここで制約条件は、等式制約に関する複数の設定タスクのうちで解が存在するタスクと、躍度入力への上下限制約計算部210で計算された関節への躍度入力の上下限範囲と、を含む。また、評価関数として、等式制約に関する複数の設定タスクのうちで解が存在しないタスクにおける関節への躍度入力の誤差を用いる。   The optimization problem finding unit 220 solves the optimization problem so as to minimize the value of the evaluation function under the constraint conditions, and calculates the jerk input to the joint. Here, the task refers to an equality constraint including an equality constraint on the jerk of the target part and the jerk input to the joint, and an inequality constraint on the upper and lower limits of the jerk input to the joint. Here, the constraint conditions are a task in which a solution exists among a plurality of setting tasks related to equality constraints, and upper and lower limits of the jerk input to the joint calculated by the upper and lower limit constraint calculation unit 210 for the jerk input. Range. In addition, as an evaluation function, an error in jerk input to a joint in a task for which no solution exists among a plurality of setting tasks related to equality constraints is used.

本発明では、関節の躍度を入力として、その上下限制約を設定することで、躍度誤差の二乗和を最小化するような解(関節への躍度入力)を得る。これは、加速度の微分(躍度)をできるだけ小さくし、滑らかな軌道を実現することに相当する。この結果、加速度は不連続にはならず、タスクを切り替えても滑らかな軌道を得ることができ、従来の問題を解決した関節協調制御を実現することが可能となる。なお、軌道とは、対象または関節が従う、変位、速度、加速度、躍度などの時系列データのことを指す。   In the present invention, a joint jerk is set as an input, and upper and lower limit constraints are set to obtain a solution that minimizes the sum of squares of the jerk error (joint jerk input). This corresponds to realizing a smooth trajectory by minimizing the acceleration differential (jump rate) as much as possible. As a result, the acceleration does not become discontinuous, and a smooth trajectory can be obtained even if the task is switched, and joint cooperative control that solves the conventional problem can be realized. The trajectory refers to time-series data such as displacement, speed, acceleration, jerk, etc. that the object or joint follows.

本発明では、全身協調解を最終的に最適化問題として導出する。その過程において、最適化の制約条件として、関節の変位(可動範囲)、速度、加速度の制約を満たすような、関節への躍度入力の上下限制約の決定方法がポイントとなる。   In the present invention, the whole body cooperative solution is finally derived as an optimization problem. In the process, the determination method of the upper and lower limit constraints of the jerk input to the joint which satisfies the constraints of the joint displacement (movable range), speed, and acceleration as the optimization constraint conditions is a point.

関節の全ての状態(ある時刻での関節の変位、速度、加速度)は、その目標変位で目標速度かつ目標加速度に最短で到達できるように設定する必要があり、これを実現するために、後述して例示する所定の軌道パターンを考慮する。なお、関節への躍度入力の下限に関しては上限を反転することで得ることができ、上限と同様の取り扱いをする。   All joint states (joint displacement, speed, and acceleration at a certain time) need to be set so that the target displacement and the target acceleration can be reached with the target displacement in the shortest time. Then, a predetermined trajectory pattern illustrated as an example is considered. Note that the lower limit of the jerk input to the joint can be obtained by inverting the upper limit, and is handled in the same manner as the upper limit.

本発明ではこれら軌道パターンを考慮し、各条件によって適切な躍度の上下限を求める手法を提供し、求めた躍度の上下限制約を考慮した最適化計算によって、滑らかな関節軌道を生成する。さらに、この生成した関節軌道を用いることで、人環境において動作するロボット300において加速度・速度が振動的になることを防止し、外界の環境に対しても安全な動作を提供することができる。   In the present invention, considering these trajectory patterns, a method for obtaining an appropriate upper and lower limit of jerk according to each condition is provided, and a smooth joint trajectory is generated by an optimization calculation considering the upper and lower limits of the obtained jerk. . Further, by using the generated joint trajectory, it is possible to prevent the acceleration / speed from being vibrated in the robot 300 operating in the human environment, and to provide a safe operation even in the external environment.

<発明の実施の形態1>
以下、図1〜図16を参照して、本実施の形態に係る多関節ロボットの関節協調制御装置および方法を具体的に説明する。本実施の形態に係る関節協調制御手法では、関節への入力を速度とした手法に代えて、速度から微分を進めて躍度とした手法を実現し、この制御手法を躍度分解制御と呼ぶ。躍度まで微分を進める理由は、加速度の変化量に上下限を設定し、加速度を滑らかに変化させたいためである。
<Embodiment 1 of the Invention>
Hereinafter, with reference to FIG. 1 to FIG. 16, a joint cooperative control device and method for an articulated robot according to the present embodiment will be described in detail. In the joint cooperative control method according to the present embodiment, instead of the method using the input to the joint as a speed, a method is used in which the degree of jerk is obtained by advancing differentiation from the speed, and this control method is called jerk decomposition control. . The reason why the differentiation is advanced to the jerk is that the upper and lower limits are set for the amount of change in acceleration and the acceleration is to be changed smoothly.

(躍度分解制御)
躍度分解制御を説明する。
対象の指令軌道y、yのワンドット(数式中では上部に1つの「・」を有する変数であり、1階微分した変数である。)、yのツードット(数式中では上部に2つの「・」を有する変数であり、2階微分した変数である。)、が与えられたとき、以下の式(1)に示す状態フィードバック則の躍度(yのスリードット(数式中では上部に3つの「・」を有する変数であり、3階微分した変数である。))を実現すれば、対象を目標軌道に追従させることができる。
(Decision control)
The jerk decomposition control will be described.
The subject of the directive orbit y r, one dot of y r (is in the formula is a variable having a "-" one of the top, the first floor is a differential variables.), Tsudotto of y r (2 to the top in the formula Is a variable having two “·” s and is a second-order differentiated variable), the state feedback law jerk (y three dots (upper part in the equation) shown in the following equation (1)) And the third-order differentiated variable))), the target can be made to follow the target trajectory.

ただし、以下の式において、y、yのワンドット、yのツードット、はそれぞれ現在時刻での対象の変位、速度、加速度を示すベクトルであり、yのスリートッドは現在時刻で実現すべき対象の躍度を示すベクトルであり、K、K、K、はそれぞれ変位、速度、加速度の偏差に対するフィードバックゲインである。このフィードバック則は三次系の応答になるため、適切なゲインを予め計算し設定することで安定性を保証しておく。 In the following equation, y, y one dot, and y two dot are vectors indicating the displacement, velocity, and acceleration of the object at the current time, respectively, and y's three-dot is the object to be realized at the current time. It is a vector indicating the jerk, and K d , K v , and K a are feedback gains for displacement, velocity, and acceleration deviations, respectively. Since this feedback law becomes a third-order response, stability is guaranteed by calculating and setting an appropriate gain in advance.

Figure 0005829968
Figure 0005829968

対象の躍度(yのスリードット)と関節の躍度(xのスリードット)の関係は、対象速度と関節速度に関するヤコビ行列Aを用いて、以下の式(2)に示される。ただし、以下の式において、x、xのワンドット、xのツードット、はそれぞれ現在時刻での関節の変位、速度、加速度を示すベクトルであり、xのスリートッドは現在時刻で実現すべき関節の躍度を示すベクトルである。   The relationship between the target jerk (y three dots) and the joint jerk (x three dots) is shown in the following equation (2) using the Jacobian matrix A regarding the target velocity and the joint velocity. In the following equation, x, x one dot, and x two dots are vectors indicating the displacement, velocity, and acceleration of the joint at the current time, respectively. It is a vector indicating the jerk.

Figure 0005829968
Figure 0005829968

現在時刻での状態量x、xのワンドット、xのツードット、は全て既知であるため、躍度のタスクは以下の式(3)に示す等式制約条件となる。詳細は後述するが、複数のタスクを設定する場合には、複数の等式制約条件を考慮することができる。また、実際のロボット300においては関節の変位や速度の制約が存在する。このため、関節の変位や速度の制約についても考慮する必要がある。そのため、等式としてのタスクに加えて、不等式としての制約をもタスクとして加え、このタスクの下で、最適化問題として求解する手法が知られている(非特許文献:Bernard Faverjon and Pierre Tournassoud."A Local Based Approach for Path Planning of Manipulators", With a High Number of Degrees of Freedom. In In Procs. of IEEE In- ternational Conference on Robotics and Automation, pp. 1152-1159, 1987.)。   Since the state quantity x, one dot of x, and two dots of x at the current time are all known, the jerk task is an equality constraint condition shown in the following equation (3). Although details will be described later, when setting a plurality of tasks, a plurality of equality constraints can be considered. In the actual robot 300, there are restrictions on joint displacement and speed. For this reason, it is necessary to consider the displacement and speed constraints of the joint. Therefore, in addition to tasks as equations, constraints as inequalities are also added as tasks, and a method for solving as an optimization problem under this task is known (Non-Patent Document: Bernard Faverjon and Pierre Tournassoud. "A Local Based Approach for Path Planning of Manipulators", With a High Number of Degrees of Freedom. In In Procs. Of IEEE International Conference on Robotics and Automation, pp. 1152-1159, 1987.).

Figure 0005829968
Figure 0005829968

ただし、式(3)のbのスリードットは、以下の式(4)により示される。

Figure 0005829968
However, the three dots of b in Expression (3) are expressed by the following Expression (4).
Figure 0005829968

複数のタスクがある場合には、複数の等式制約条件を考慮することができる。例えばタスクが3つある場合には、以下の式(5)に示す等式制約条件となる。

Figure 0005829968
If there are multiple tasks, multiple equality constraints can be considered. For example, when there are three tasks, the equality constraint condition shown in the following formula (5) is satisfied.
Figure 0005829968

また、関節の躍度入力に関して、以下の式(6)に示すように、上下限制約が設定される。この関節への躍度入力の上下限の設定方法は、関節の変位の上下限(可動範囲)、速度の上下限、加速度の上下限を実現するものであるが、その計算方法の詳細については後述する。

Figure 0005829968
Further, regarding the joint jerk input, upper and lower limit constraints are set as shown in the following equation (6). This method of setting the upper and lower limits of jerk input to the joint realizes the upper and lower limits (movable range) of the joint displacement, the upper and lower limits of the speed, and the upper and lower limits of the acceleration. It will be described later.
Figure 0005829968

また、従来手法と同様にタスクに優先度を設定し、解が存在するタスクまでを制約条件に含める。例えば、式(5)に示した3つのタスクのうちで、優先度の高い1番目の等式制約および2番目の等式制約までのタスクを実現する解は存在するが、3番目の等式制約を満たすタスクは存在しないものとする。この場合、解が存在しない3番目の等式制約のタスクの躍度の誤差を、最適化のための評価関数とする。すると、最適化問題の目的関数は、以下の式(7)に示す躍度誤差の二乗和からなる二次形式となる。   In addition, priorities are set for tasks as in the conventional method, and tasks up to a task with a solution are included in the constraint condition. For example, among the three tasks shown in Equation (5), there is a solution that implements the tasks up to the first equality constraint and the second equality constraint with high priority, but the third equality There are no tasks that satisfy the constraints. In this case, the error of the task jerk of the third equality constraint for which no solution exists is used as an evaluation function for optimization. Then, the objective function of the optimization problem has a quadratic form consisting of the sum of squares of jerk error shown in the following equation (7).

Figure 0005829968
Figure 0005829968

つまり、式(5)に示した1番目の等式制約のタスクおよび2番目の等式制約のタスクを満たし、かつ、式(6)に示した関節の躍度入力の上下限制約を満たしながら、3番目の等式制約のタスクに関する躍度の誤差の二乗和により示される式であって、式(7)に示した目的関数を最小化する問題である。このような二次計画問題を求解することで、関節の躍度入力を得ることができる。   In other words, the first equality constraint task and the second equality constraint task shown in Equation (5) are satisfied, and the joint jerk input upper and lower limit constraints shown in Equation (6) are satisfied. This is an equation represented by the sum of squared errors of the jerk related to the task of the third equality constraint, and is a problem of minimizing the objective function shown in Equation (7). By finding such a quadratic programming problem, it is possible to obtain joint jerk input.

従って、関節への躍度を入力としたことで、躍度誤差の二乗和を最小化するような解が得られる。これは、加速度の微分をできるだけ小さくし、滑らかな軌道を実現することに相当する。例えば、ステップごとにタスクの優先度を変更する、または、タスクの追加や削除を行った場合、不連続に変化するのは関節の躍度である。関節の躍度の上下限制約を設定することで、関節の加速度は(その躍度の上下限制約以上には) 不連続にはならず、その結果、タスクを切り替えても滑らかな軌道を得ることができる。   Therefore, by using the jerk to the joint as an input, a solution that minimizes the sum of squares of the jerk error can be obtained. This corresponds to realizing a smooth trajectory by minimizing the acceleration differential. For example, when the priority of a task is changed for each step, or when a task is added or deleted, it is the joint jerk that changes discontinuously. By setting joint upper and lower limit constraints, joint acceleration will not be discontinuous (beyond the upper and lower limit constraints), resulting in a smooth trajectory even when switching tasks be able to.

ここで、関節への躍度入力に対する上下限制約をいかにして設定するか、が問題になる。まず、関節への躍度入力として、ステップごとに任意の上下限制約を与えることができるものの、実際に制限したいのは、ロボット300の関節の躍度だけではなく、トルク、速度、変位(可動範囲)の制約である。トルクはロボット300の慣性行列に依存するため、本実施の形態では、関節の加速度の制約を加える場合を例に説明する。   Here, the problem is how to set the upper and lower limit constraints for the jerk input to the joint. First, although arbitrary upper / lower limits can be given for each step as the jerk input to the joint, what is actually desired to be limited is not only the joint jerk of the robot 300 but also torque, speed, displacement (movable) Range). Since the torque depends on the inertia matrix of the robot 300, the present embodiment will be described by taking as an example a case where a constraint on joint acceleration is added.

また、関節への躍度入力は最適化計算の結果として得られるものであり、予め分かるものではない。保証されるのは、現在時刻における関節への躍度入力の上下限制約のみである。つまり、関節の変位、速度、加速度の上下限制約を満たすための関節への躍度入力の上下限制約を、どのようにして与えるかが問題となる。以下、具体的に説明する。   Further, the jerk input to the joint is obtained as a result of the optimization calculation and is not understood in advance. Only the upper and lower limit constraints of the jerk input to the joint at the current time are guaranteed. That is, there is a problem of how to provide upper and lower limit constraints on the degree of jerk input to the joint to satisfy the upper and lower limit constraints of the joint displacement, velocity, and acceleration. This will be specifically described below.

(関節の躍度入力への上下限制約の決定方法:関節の上下限制約)
以下では、1つの関節について、変位、速度、加速度の上下限制約を満たすための、現在時刻での関節への躍度入力の上下限制約をどのようにして計算するか、を説明する。多関節の場合についても、それぞれ独立に考えることで同様に扱うことができる。
(How to determine upper and lower limit constraints for joint jerk input: joint upper and lower limit constraints)
Hereinafter, how to calculate the upper and lower limit constraints of the jerk input to the joint at the current time to satisfy the upper and lower limits of the displacement, velocity, and acceleration for one joint will be described. The case of multi-joint can be handled in the same way by thinking independently.

ある関節の現在時刻での変位、速度、加速度を、それぞれx、xのワンドット、xのツードット、とし、関節への入力を躍度(xのスリードット)とする。全身協調制御において、躍度入力(xのスリードット)は、最適化問題の変数の一要素であり、ステップごとに設定された躍度(xのスリードット)の上下限制約は必ず満たされる。しかし、最適化の結果どのような値が入力されるかは前もって分からないことに注意する必要がある。   The displacement, velocity, and acceleration of a joint at the current time are x, x one dot and x two dot, respectively, and the input to the joint is the jerk (x three dots). In the whole body cooperative control, the jerk input (x three dots) is one element of the variable of the optimization problem, and the upper and lower limit constraints of the jerk (x three dots) set for each step are always satisfied. However, it should be noted that it is not known in advance what value is input as a result of optimization.

離散時間Δtで離散化された時刻kでの状態変数として、変位、速度、加速度を、それぞれx、xのワンドット、xのツードット、とし、関節の躍度(xのスリードット)を入力とする。ただし、k=0を現在時刻とする。時刻k+1の状態の更新式を、以下の式(8)に示す。

Figure 0005829968
As state variables at time k discretized by the discrete time Δt, displacement, velocity, and acceleration are x k , x k one dot, x k two dots, respectively, and joint jerk (three k dots of x k ) ) As input. However, k = 0 is the current time. The following formula (8) shows an update formula for the state at time k + 1.
Figure 0005829968

ここで、全ての時刻kにおいて、変位、速度、加速度、躍度の全てが、以下の式(9)に示す上下限制約を満たすようにしたい。

Figure 0005829968
Here, at all times k, it is desired that all of displacement, velocity, acceleration, and jerk meet the upper and lower limit constraints shown in the following equation (9).
Figure 0005829968

ただし、式(9)において、上下限の制約値x、x、xのワンドット、xのワンドット、xのツードット、xのツードット、xのスリードット、xのスリードット、はすべて定数であり、予め適切な値が設定される。また、xのワンドット<0<xのワンドット、xのツードット<0<xのツードット、xのスリードット<0<xのスリードット、であるとする。 However, in the formula (9), constraint value x l of the upper and lower limit, x u, one dot x l, one dot of x u, the x l Tsudotto, Tsudotto of x u, three dots x l, of x u Three dots are all constants, and appropriate values are set in advance. In addition, the one-dot of one dot <0 <x u of x l, Tsudotto of x l <0 <x u of Tsudotto, to be a three-dot, the three-dot <0 <x u of x l.

式(9)の全ての不等式を必ず満たすことが保証されるような、以下の式(10)により示される、現在時刻での躍度の上下限制約(x0lのスリードット、x0uのスリードット)を求めることが問題になる。

Figure 0005829968
As is guaranteed to meet sure all the inequality (9), the following expression represented by (10), jerk upper and lower limit constraint at the current time (x 0l three dots, the x 0u Three Finding dots) becomes a problem.
Figure 0005829968

以下では、関節への躍度入力の上限(x0uのスリードット)の計算方法を例に説明するが、上限と下限を入れ替えることで、関節への躍度入力の下限(x0lのスリードット)に関しても全く同様に考えることができる。 In the following, the calculation method of the upper limit (x 0u three dots) of the jerk input to the joint will be described as an example. However, the upper limit and the lower limit are interchanged to change the lower limit of the jerk input to the joint (three dots of x 0l ). ) Can be considered in exactly the same way.

(関節の躍度入力への上下限制約の決定方法:基本的な考え方)
上述したように、関節には変位、速度、加速度の上下限制約があるが、これらを現在時刻近辺において瞬間的に満たすだけでは不十分である。現在時刻近辺でこれらの上下限制約を満たしても、未来の時刻において同様に上下限制約を満たせるという保証は無い。また、変位の上限付近で振動するような軌道は、上限制約を満たすとしても望ましい軌道とはいえず、避けることが好ましい。
(Determining upper and lower limit constraints for joint jerk input: Basic concept)
As described above, the joints have upper and lower limits on displacement, speed, and acceleration. However, it is not sufficient to satisfy these momentarily near the current time. Even if these upper and lower limit constraints are satisfied in the vicinity of the current time, there is no guarantee that the upper and lower limit constraints can be similarly satisfied at future times. Also, a trajectory that vibrates in the vicinity of the upper limit of displacement is not a desirable trajectory even if the upper limit constraint is satisfied, and is preferably avoided.

いま、現在時刻において関節への躍度入力(xのスリードット)にある値を代入した場合を想定する。さらに、この代入された関節への躍度入力の下で、現在時刻から所定の時間経過した時に、設定された速度、加速度、躍度の上下限制約を全て満たしながら、この関節が変位の上限で振動やオーバーシュートしないで停止する軌道(停止軌道)が存在するものと仮定する。ここで、「変位の上限で停止する」とは、目標位置である変位上限(x=x)において、目標速度が0(xのワンドット=0)、目標加速度が0(xのツードット=0)に到達することを指す。 Now, it is assumed that you assign a value in the jerk input of at the current time to the joint (x 0 of the three-dot). In addition, when the predetermined time has elapsed from the current time under the entered jerk input to this joint, this joint satisfies all the upper / lower limits of the set speed, acceleration, and jerk, while the upper limit of displacement is exceeded. It is assumed that there is a trajectory that stops without vibration or overshoot (stop trajectory). Here, “stop at the upper limit of displacement” means that at the upper limit of displacement (x = x u ) as the target position, the target speed is 0 (one dot of x = 0) and the target acceleration is 0 (two dots of x = 0) is reached.

このとき、停止軌道を実現できると考えられる関節への躍度入力(xのスリードット)で最大のものが、現在時刻における躍度入力の上限(x0uのスリードット)である。関節が変位上限で振動せずに停止できる軌道としては様々なものが考えられるが、例えば、最短時間で停止することを目的とする場合には、以下の4つの軌道パターン(軌道A、B、C、D)のいずれかとなる。 At this time, largest of jerk input to the joint that would be realized a stop track (x 0 Three dots), which is the upper limit of the jerk input at the current time (x 0u Three dots). Various trajectories that can be stopped without vibration at the upper limit of displacement of the joint are conceivable. For example, when the purpose is to stop the joint in the shortest time, the following four trajectory patterns (trajectories A, B, C, D).

・軌道A:「xのスリードット→xのスリードット」の躍度入力により停止
・軌道B:「xのスリードット→0→xのスリードット」の躍度入力により停止
・軌道C:「xのスリードット→0→xのスリードット→xのスリードット」の躍度入力により停止
・軌道D:「xのスリードット→0→xのスリードット→0→xのスリードット」の躍度入力により停止
And orbital A: Stop-orbit by the jerk input of the "three dots of the three-dot → x u of x l" B: Stop-orbit by the jerk input of the "three dots of the three-dot → 0 → x u of x l" C: stop-orbit by the jerk input of "x Three dot → 0 → x l Three dot → x u Three dots of l" D: Three dots "x l → 0 → x l of the three-dot → 0 → stop by the jerk input of the three-dot "of x u

この4つの軌道パターンは、常に最大値または常に最小値の躍度を入力とする区間と、状態が速度上限または加速度上限にあり躍度の入力を0にする区間と、の組み合わせを用いることで、最短時間で停止する軌道を実現するものである。   These four trajectory patterns use a combination of a section in which the maximum or always minimum jerk is input and a section in which the state is at the upper speed limit or upper acceleration limit and the jerk input is zero. It realizes a trajectory that stops in the shortest time.

図1は、現在時刻の躍度入力への上下限制約を計算する処理を示すフローチャートである。躍度入力への上下限制約計算では、4つの軌道パターンA、B、C、Dの順に、いずれの停止軌道により停止が実現可能か否かを判定する(S110、S130、S150)。実現可能な停止軌道が分かると、その停止起動を実現するための躍度入力(xのスリードット)を、現在時刻での関節への躍度入力の上限(x0uのスリードット)として設定する(S120、S140、S160)。なお、停止軌道の判定処理の詳細については、後述する。 FIG. 1 is a flowchart showing a process of calculating upper and lower limit constraints on the jerk input at the current time. In the upper / lower limit constraint calculation for the jerk input, it is determined in which order of the four trajectory patterns A, B, C, and D whether the stop can be realized by any stop trajectory (S110, S130, S150). When feasible stop track is found, it sets the jerk input for realizing the stop start (x 0 Three dots), as the upper limit of the jerk input to the joint at the current time (x 0u Three dots) (S120, S140, S160). Details of the stop trajectory determination process will be described later.

停止可能な初期状態(通常は停止状態)からこの処理に従って関節への躍度入力の範囲を実現していくことで、停止軌道を実現できる範囲で必ず動作し続けるため、変位、速度、加速度の制約内での動作が常に可能となる。以下、各軌道パターンA、B、C、Dの説明に先立って、軌道パターンA、B、C、Dに共通する処理を説明する。   By realizing the range of jerk input to the joint according to this process from the initial state where it can be stopped (usually the stopped state), it always operates within the range where the stop trajectory can be realized. Operation within constraints is always possible. Prior to the description of each of the track patterns A, B, C, and D, processing common to the track patterns A, B, C, and D will be described.

(関節の躍度入力への上下限制約の決定方法:全軌道パターンに共通の躍度制限の必要条件)
4つの軌道パターンA、B、C、Dに共通となる、躍度入力の必要条件を説明する。まず、躍度入力自体にパラメータとしての上下限制約(xのスリードット、xのスリードット)が予め設定されている。加速度、速度、変位の上下限値がxのツードット、xのツードット、xのワンドット、xのワンドット、x、x、であるから、それぞれを超えないための躍度の上下限は、以下の式(11)により示される。
(Method of determining upper and lower limit constraints for joint jerk input: Necessary condition for jerk restriction common to all trajectory patterns)
Necessary conditions for jerk input that are common to the four trajectory patterns A, B, C, and D will be described. First, upper and lower limit constraints ( xl three dots, x u three dots) are set in advance in the jerk input itself. Acceleration, velocity, Tsudotto upper and lower limit value of the displacement is x l, Tsudotto of x u, one dot x l, one dot of x u, x l, because it is x u,, for not exceeding each jerk The upper and lower limits are expressed by the following equation (11).

Figure 0005829968
Figure 0005829968

そして、以下の式(12)により示される条件が、躍度の上下限の必要条件となる。

Figure 0005829968
And the condition shown by the following formula | equation (12) becomes a necessary condition of the upper and lower limits of jerk.
Figure 0005829968

また、現在時刻からΔt後の時刻1においては、以下の式(13)により示すように、加速度、速度、変位のそれぞれが上限制約に収まるようにする必要がある。

Figure 0005829968
Further, at time 1 after Δt from the current time, each of acceleration, speed, and displacement needs to be within upper limit constraints as shown by the following equation (13).
Figure 0005829968

これらから、時刻0での関節への躍度入力の上限値を計算することができ、以下の式(14)により示すように、それぞれ得ることができる。

Figure 0005829968
From these, the upper limit value of the jerk input to the joint at time 0 can be calculated, and can be obtained as shown by the following equation (14).
Figure 0005829968

(関節の躍度入力への上下限制約の決定方法:軌道パターンA)
軌道A(「xのスリードット→xのスリードット」の躍度入力により停止)を説明する。
(Determining upper and lower limit constraints for joint jerk input: orbital pattern A)
The orbit A (stopped by the jerk input of "x l Three dot → x u Three dots of") will be described.

まず、軌道Aをどのようにして決定するかを説明する。図2に、軌道Aを例示する。軌道Aは、まず、最小値の躍度(xのスリードット)を所定の時間t入力し、その後、最大値の躍度(xのスリードット)を一定時間t与えて停止するパターンである。現在時刻を時刻0、ステップ時間Δt後を時刻1、そのt秒後を時刻2、そのt秒後を時刻3としている。現在時刻での状態変数をx、xのワンドット、xのツードット、とし、現在時刻の躍度入力を、xのスリードットとする。 First, how to determine the trajectory A will be described. FIG. 2 illustrates the trajectory A. The trajectory A is first stopped by inputting the minimum jerk (x 1 three dots) for a predetermined time t 1 and then giving the maximum jerk (x u three dots) for a predetermined time t 2. It is a pattern. The current time is time 0, time 1 after step time Δt, time 1 after t 1 second, and time 3 after t 2 seconds. The state variables at the current time are x 0 , x 0 one dot, x 0 two dots, and the current time jerk input is x 0 three dots.

時刻3では、以下の式(15)に示す停止条件が必要である。変数をxのスリードット、t、tと置くと、式(15)から変数の解を求めることができる。

Figure 0005829968
At time 3, the stop condition shown in the following formula (15) is necessary. If a variable is set as a three dot x 0 , t 1 , t 2 , the solution of the variable can be obtained from equation (15).
Figure 0005829968

まず変数tについては、以下の式(16)に示す6次多項式の解となる。

Figure 0005829968
First, the variable t 1 is a solution of a sixth-order polynomial shown in the following equation (16).
Figure 0005829968

ただし、式(16)におけるa〜aは、以下の式(17)に示される。

Figure 0005829968
However, a 0 ~a 6 in the formula (16) are shown in the following equation (17).
Figure 0005829968

上記の式(16)に示した多項式の解は、ニュートン法などを用いた数値解法によって求めることができる。解が無い場合には、t=0とする。このtを用いて、以下の式(18)の解として、tを得ることができる。

Figure 0005829968
The solution of the polynomial shown in the above equation (16) can be obtained by a numerical solution method using the Newton method or the like. If there is no solution, t 1 = 0. Using this t 1, as a solution of equation (18) below, it is possible to obtain the t 2.
Figure 0005829968

ただし、式(18)におけるb〜bは、以下の式(19)に示される。

Figure 0005829968
However, b 0 ~b 2 in the formula (18) are shown in the following equation (19).
Figure 0005829968

以上のt、tから、xのスリードットを、以下の式(20)に示すようにして、得ることができる。

Figure 0005829968
From t 1, t 2 or more, the three dots x 0, as shown in the following equation (20) can be obtained.
Figure 0005829968

次に、このようにして決定した停止軌道Aが、速度と加速度の制約を満たしているか否かを判定する。すなわち、軌道Aに従って停止可能か否かを判定する。
まず、時刻laを、加速度が0(xlaのツードット=0)になる時刻とすると、時刻1から時刻laまでの時間tlaは、以下の式(21)により示される。

Figure 0005829968
Next, it is determined whether or not the stop trajectory A thus determined satisfies the speed and acceleration constraints. That is, it is determined whether or not the vehicle can be stopped according to the trajectory A.
First, when the time la is the time when the acceleration is 0 (two dots of x la = 0), the time tla from the time 1 to the time la is expressed by the following equation (21).
Figure 0005829968

ここで、tla<0である場合には、この軌道では速度の極大値を取らないため、次の加速度の確認へと進む。   Here, when tla <0, since the maximum value of the speed is not taken in this trajectory, the process proceeds to the next confirmation of acceleration.

一方で、tla>0である場合には、以下の式(22)により示される、その時の速度(xlaのワンドット)を計算する。計算の結果、xlaのワンドット>xのワンドットである場合には、得られた軌道Aは速度制約を満たさないと判定される。

Figure 0005829968
On the other hand, if it is tla> 0 is represented by the following equation (22), to calculate the speed (one-dot x la) at that time. Result of the calculation, when a one-dot one-dot> x u of x la is track A obtained is determined not to satisfy the speed constraints.
Figure 0005829968

次に、加速度の最小値(xのツードット)を求める。xのツードット<xのツードットである場合には、得られた軌道Aは加速度制約を満たさないと判定される。 Next, the minimum value of acceleration ( two dots of x2) is obtained. If it is Tsudotto of x 2 in Tsudotto <x l is the trajectory A obtained is determined not to satisfy the acceleration constraint.

以上の判定の結果、制約を全て満たすと判定された場合、軌道Aが最短時間の停止軌道となる。このため、躍度入力の最大値(x0uのスリードット)は、以下の式(23)に示すようにして得ることができる。

Figure 0005829968
As a result of the above determination, when it is determined that all the constraints are satisfied, the trajectory A becomes the shortest stop trajectory. For this reason, the maximum value (three dots of x0u ) of jerk input can be obtained as shown in the following equation (23).
Figure 0005829968

初期状態において軌道Aが実現でき、かつ、軌道A、B、C、Dのいずれかで停止できるように状態を遷移させていけば、軌道A自体が実現できない状態に陥ることはない。   If the state is changed so that the trajectory A can be realized in the initial state and can be stopped on any of the trajectories A, B, C, and D, the trajectory A itself cannot be realized.

(関節の躍度入力への上下限制約の決定方法:軌道パターンB)
次に、軌道B(「xのスリードット→0→xのスリードット」の躍度入力により停止)を説明する。まず、軌道Bをどのようにして決定するかを説明する。図3に、軌道Bを例示する。
(Determining upper and lower limit constraints for joint jerk input: orbital pattern B)
Next, a description will be given of the track B (stopped by the jerk input of "x l Three dot → 0 → x u Three dots of"). First, how the trajectory B is determined will be described. FIG. 3 illustrates the trajectory B.

軌道Bでは、時刻4において、以下の式(24)に示す停止条件が必要となる。

Figure 0005829968
In the trajectory B, the stop condition shown in the following formula (24) is required at time 4.
Figure 0005829968

また、以下の式(25)に示すように、時刻2から時刻3の間では加速度が最小値をとる。

Figure 0005829968
Further, as shown in the following equation (25), the acceleration takes a minimum value between time 2 and time 3.
Figure 0005829968

そして、変数をxのスリードット、t、t、tと置くと、上記式(25)に示した停止条件と、上記式(25)の1番目の条件と、から、変数の解を求めることができる。 The three dots of variable x 0, putting a t 1, t 2, t 3, and stop condition shown in the above formula (25), a first condition of the formula (25) from, variable You can find a solution.

変数tの解は、以下に示す式(26)により得ることができる。

Figure 0005829968
The solution of the variable t 3 can be obtained by the following equation (26).
Figure 0005829968

変数tの解は、以下に示す式(27)の解として得ることができる。

Figure 0005829968
The solution of the variable t 1 can be obtained as a solution of the following equation (27).
Figure 0005829968

ただし、式(27)におけるa〜aは、以下の式(28)に示される。

Figure 0005829968
However, a 0 ~a 4 in the formula (27) are shown in the following equation (28).
Figure 0005829968

変数tの解は、t、tから、以下に示す式(29)により得ることができる。

Figure 0005829968
The solution of the variable t 2 can be obtained from t 1 and t 3 by the following equation (29).
Figure 0005829968

変数(xのスリードット)の解は、上述したようにして得た他の変数から、以下に示す式(30)により得ることができる。

Figure 0005829968
Solution of the variable (x 0 Three dots), the other variables, obtained as described above, can be obtained by equation (30) below.
Figure 0005829968

次に、このようにして決定した停止軌道Bが、速度の制約を満たしているか否かを判定する。すなわち、軌道Bに従って停止可能か否かを判定する。
まず、時刻t1bを、軌道Bが速度の極大値をとる時刻とすると、時間tlbは、以下の式(31)により示される。

Figure 0005829968
Next, it is determined whether or not the stop trajectory B determined in this way satisfies the speed constraint. That is, it is determined whether or not the vehicle can be stopped according to the trajectory B.
First, when the time t1b is a time when the trajectory B takes the maximum value of the speed, the time tlb is expressed by the following equation (31).
Figure 0005829968

ここで、t1b<0である場合には、この軌道では速度の極大値を取らないため、軌道Bによって停止することができる。   Here, when t1b <0, the trajectory B can be stopped because the trajectory does not take the maximum value of the speed.

一方で、t1b>0である場合には、以下の式(32)により示される、その時の速度(x1bのワンドット)を計算する。計算の結果、x1bのワンドット>xのワンドットである場合には、得られた軌道Bは速度制約を満たさないと判定される。

Figure 0005829968
On the other hand, if it is t1b> 0 is represented by the following equation (32), calculates the (one-dot x 1b) that time speed. Result of the calculation, when a one-dot one-dot> x u of x 1b is obtained trajectory B is determined not to satisfy the speed constraints.
Figure 0005829968

以上の判定の結果、制約を満たすと判定された場合、軌道Bが最短時間の停止軌道となる。このため、躍度入力の最大値(x0uのスリードット)は、以下の式(33)に示すようにして得ることができる。

Figure 0005829968
As a result of the above determination, when it is determined that the constraint is satisfied, the trajectory B becomes the shortest stop trajectory. For this reason, the maximum value (three dots of x0u ) of jerk input can be obtained as shown in the following equation (33).
Figure 0005829968

(関節の躍度入力への上下限制約の決定方法:軌道パターンC)
次に、軌道C(「xのスリードット→0→xのスリードット→xのスリードット」の躍度入力により停止)を説明する。まず、軌道Cをどのようにして決定するかを説明する。図4に、軌道Cを例示する。
(Determining upper and lower limit constraints for joint jerk input: trajectory pattern C)
Next, a description will be given orbit C (stopped by the jerk input of the "three dots of the three-dot → x u of the three-dot → 0 → x l of x l"). First, how to determine the trajectory C will be described. FIG. 4 illustrates the trajectory C.

軌道Cでは、時刻5において、以下の式(34)に示す停止条件が必要となる。

Figure 0005829968
In the trajectory C, the stop condition shown in the following formula (34) is required at time 5.
Figure 0005829968

また、以下の式(35)に示すように、時刻2から時刻3の間では速度が最大値をとる。

Figure 0005829968
Further, as shown in the following equation (35), the speed takes the maximum value between time 2 and time 3.
Figure 0005829968

そして、変数をxのスリードット、t、t、t、tと置くと、上記式(34)に示した停止条件と、上記式(35)の1番目および2番目の条件と、から、変数の解を求めることができる。 When placing the variable three dots x 0, and t 1, t 2, t 3 , t 4, and stop condition shown in the above formula (34), first and second condition of the formula (35) From this, the solution of the variable can be obtained.

変数tの解は、以下に示す式(36)により得ることができる。

Figure 0005829968
Solutions of variable t 4 can be obtained by equation (36) below.
Figure 0005829968

変数tの解は、以下に示す式(37)により得ることができる。

Figure 0005829968
The solution of the variable t 3 can be obtained by the following equation (37).
Figure 0005829968

変数tの解は、以下の式(38)に示す二次方程式の解として得ることができる。

Figure 0005829968
The solution of the variable t 1 can be obtained as a solution of a quadratic equation shown in the following equation (38).
Figure 0005829968

ただし、式(38)におけるa〜aは、以下の式(39)に示される。

Figure 0005829968
However, a 0 ~a 2 in the formula (38) are shown in the following equation (39).
Figure 0005829968

変数tの解は、t、t、tから、以下に示す式(40)により得ることができる。

Figure 0005829968
The solution of the variable t 2 can be obtained from t 1 , t 3 , t 4 by the following equation (40).
Figure 0005829968

変数(xのスリードット)の解は、以下に示す式(41)により得ることができる。

Figure 0005829968
Solution of the variable (x 0 Three dots) can be obtained by equation (41) below.
Figure 0005829968

次に、このようにして決定した停止軌道Cが、加速度の制約を満たしているか否かを判定する。すなわち、軌道Cに従って停止可能か否かを判定する。
軌道Cにおける制限は、時刻4での加速度(xのツードット)が、加速度の下限(xのツードット)を超えないことである。xのツードット<xのツードットである場合には、軌道Cは制約を満たしていないと判定される。一方で、この制約を満たすと判定された場合には、軌道Cが最短時間の停止軌道となる。このため、躍度入力の最大値(x0uのスリードット)は、以下の式(42)に示すようにして得ることができる。

Figure 0005829968
Next, it is determined whether or not the stop trajectory C thus determined satisfies the acceleration constraint. That is, it is determined whether or not the vehicle can be stopped according to the trajectory C.
Limitations in orbit C is the acceleration at time 4 (Tsudotto of x 4) is that it does not exceed the acceleration limit (Tsudotto of x l). If it is Tsudotto of x 4 of Tsudotto <x l, it is determined that the track C is not satisfied constraints. On the other hand, when it is determined that this restriction is satisfied, the trajectory C becomes the shortest stop trajectory. Therefore, the maximum value of jerk input (three dots of x0u ) can be obtained as shown in the following formula (42).
Figure 0005829968

(関節の躍度入力への上下限制約の決定方法:軌道パターンD)
次に、軌道D(「xのスリードット→0→xのスリードット→0→xのスリードット」の躍度入力により停止)を説明する。まず、軌道Dをどのようにして決定するかを説明する。図5に、軌道Dを例示する。
(Method for determining upper and lower limit constraints for joint jerk input: orbital pattern D)
Next, a description will be given orbit D (stopped by the jerk input of "x l Three dot → 0 → x l Three dot → 0 → x u Three dots of"). First, how to determine the trajectory D will be described. FIG. 5 illustrates the trajectory D.

軌道Dでは、時刻6において、以下の式(43)に示す停止条件が必要となる。

Figure 0005829968
In the trajectory D, the stop condition shown in the following formula (43) is required at time 6.
Figure 0005829968

また、以下の式(44)に示すように、時刻2から時刻3の間では速度が最大値をとる。

Figure 0005829968
Further, as shown in the following formula (44), the speed takes the maximum value between time 2 and time 3.
Figure 0005829968

また、以下の式(45)に示すように、時刻4から時刻5の間では加速度が最小値をとる。

Figure 0005829968
Further, as shown in the following formula (45), the acceleration takes the minimum value between time 4 and time 5.
Figure 0005829968

そして、変数をxのスリードット、t、t、t、t、tと置くと、上記式(43)に示した停止条件と、上記式(45)の1番目および2番目の条件と、上記式(45)の1番目の条件と、から、変数の解を求めることができる。 When placing the variable three dots x 0, and t 1, t 2, t 3 , t 4, t 5, and stop condition shown in the above formula (43), the first and 2 in the formula (45) The solution of the variable can be obtained from the first condition and the first condition of the above equation (45).

変数t、t、tの解は、以下に示す式(46)により得ることができる。

Figure 0005829968
Solutions of the variables t 3 , t 5 , t 4 can be obtained by the following equation (46).
Figure 0005829968

変数tの解は、以下の式(47)に示す二次方程式の解として得ることができる。

Figure 0005829968
The solution of the variable t 1 can be obtained as a solution of a quadratic equation shown in the following equation (47).
Figure 0005829968

ただし、式(47)におけるa〜aは、以下の式(48)に示される。

Figure 0005829968
However, a 0 ~a 2 in the formula (47) are shown in the following equation (48).
Figure 0005829968

変数tの解は、t、t、t、tから、以下に示す式(49)により得ることができる。

Figure 0005829968
The solution of the variable t 2 can be obtained from t 1 , t 3 , t 4 , t 5 by the following equation (49).
Figure 0005829968

変数(xのスリードット)の解は、以下に示す式(50)により得ることができる。

Figure 0005829968
Solution of the variable (x 0 Three dots) can be obtained by equation (50) below.
Figure 0005829968

このようにして決定した停止軌道Dは制約がない。このため、躍度入力の最大値(x0uのスリードット)は、以下の式(51)に示すようにして得ることができる。

Figure 0005829968
The stop trajectory D thus determined is not limited. For this reason, the maximum value of the jerk input (three dots of x0u ) can be obtained as shown in the following equation (51).
Figure 0005829968

(動作確認:1自由度での動作確認)
次に、上述した躍度制限を、1自由度変数xに対して実装し、その動作確認を行った。変数xには、変位、速度、加速度の上下限を設定する。関節の目標変位xに対して、躍度入力(xのスリードット)を以下の式(52)に示すようにして計算する。

Figure 0005829968
(Operation check: Operation check with 1 degree of freedom)
Next, the above-described jerk limitation was implemented for the one-degree-of-freedom variable x, and its operation was confirmed. In variable x, upper and lower limits of displacement, speed, and acceleration are set. The target displacement x r of the joint is calculated jerk enter (x Three dots) as shown in equation (52) below.
Figure 0005829968

ステップごとに図1に示した処理を行い躍度の上下限を計算し、関節の躍度入力(xのスリードット)を上下限によって制限する。ただし、上記式(52)の各ゲインKd、Kv、Kaは、この3次系システムの応答に基づいて予め適当な値を設計する。   The process shown in FIG. 1 is performed for each step to calculate the upper and lower limits of the jerk, and the jerk jerk input (three dots of x) is limited by the upper and lower limits. However, the gains Kd, Kv, and Ka of the above equation (52) are designed to be appropriate values in advance based on the response of the tertiary system.

図6、7、8に、得られた軌道を例示する。図6は、変位の応答を示す。図7は、速度の応答を示す。図8は、加速度の応答を示す。図9は、躍度入力を示す。変位の上下限を±1、速度の上下限を±2、加速度の上下限を±10、躍度の上下限を±1000に設定している。また、目標変位xは、時刻3まで1.1、時刻8まで−1.1、時刻10まで0に設定している。目標速度と目標加速度は、共に0と設定している。これらの図から明らかなように、変位、速度、加速度の上下限(図において、Upper limit、Lower limitとして示す。)を全て満たしながら動作していることがわかる。 The obtained trajectories are illustrated in FIGS. FIG. 6 shows the displacement response. FIG. 7 shows the speed response. FIG. 8 shows the acceleration response. FIG. 9 shows jerk input. The upper and lower limits of displacement are set to ± 1, the upper and lower limits of speed are set to ± 2, the upper and lower limits of acceleration are set to ± 10, and the upper and lower limits of jerk are set to ± 1000. In addition, the target displacement x r, the time 3 to 1.1, until the time 8 -1.1, is set to 0 to time 10. The target speed and target acceleration are both set to zero. As can be seen from these figures, the operation is performed while satisfying all the upper and lower limits of the displacement, velocity, and acceleration (shown as Upper limit and Lower limit in the figure).

(動作確認:3自由度での動作確認)
次に、躍度分解制御を用いた3自由度アームを有するロボットに対して動作確認を行い、その結果を説明する。図10は、本実施の形態に係る多関節ロボット300(以下、単にロボット300と称する。)の模式的な構成例を示している。ここでは、ロボット300が、3自由度アームを備えたアームロボットである場合を例に説明する。同図にこのロボット300の3自由度アームの軸の配置を示す。
(Operation check: Operation check with 3 degrees of freedom)
Next, an operation check is performed on a robot having a three-degree-of-freedom arm using jerk decomposition control, and the result will be described. FIG. 10 shows a schematic configuration example of an articulated robot 300 (hereinafter simply referred to as robot 300) according to the present embodiment. Here, a case where the robot 300 is an arm robot having a three-degree-of-freedom arm will be described as an example. FIG. 2 shows the arrangement of the axes of the three-degree-of-freedom arm of the robot 300.

ロボット300はコントローラ310を備えている。また、ロボット300はアーム320を備えており、アーム320の先端に設けられた手先330を対象として、この対象を操作する。アーム320は、複数の関節(関節321、322、323)と、各関節を接続するリンクと、を備えている。各関節には、関節角を制御するアクチュエータと、関節角を検出するエンコーダとが内蔵されている。なお、コントローラ310は、ロボット300の内部に有する構成であってもよいし、外部に接続されてロボット300に対して指令を送信する構成であってもよい。   The robot 300 includes a controller 310. Further, the robot 300 includes an arm 320, and this target is manipulated with respect to a hand 330 provided at the tip of the arm 320. The arm 320 includes a plurality of joints (joints 321, 322, and 323) and links that connect the joints. Each joint includes an actuator for controlling the joint angle and an encoder for detecting the joint angle. The controller 310 may be configured to be included in the robot 300 or may be configured to be connected to the outside and transmit a command to the robot 300.

コントローラ310は、上述した全身協調計算部200の機能を有している。すなわち、コントローラ310は、躍度入力への上下限制約計算部210、最適化問題求解部220の各機能を実現するプログラムを含み、各部での各処理を実行し、関節への躍度入力を計算する。そして、コントローラ310は、計算した関節への躍度入力に基づいて、各関節(関節321、322、323)を制御することで多関節を協調制御し、これによって、アーム320の手先330を移動させる。   The controller 310 has the function of the whole body cooperative calculation unit 200 described above. That is, the controller 310 includes programs that realize the functions of the upper and lower limit constraint calculation unit 210 and the optimization problem solving unit 220 for the jerk input, execute each process in each unit, and input the jerk input to the joint. calculate. The controller 310 controls each joint (joints 321, 322, and 323) based on the calculated jerk input to the joint to coordinately control the multi-joint, thereby moving the hand 330 of the arm 320. Let

すなわち、コントローラ310は、計算された各関節の躍度の目標に追従するように、アクチュエータを制御する。より具体的には、コントローラ310は、各関節の目標躍度の時系列データを算出し、算出した目標躍度に追従するように各関節を制御することで、ロボット300の対象を操作する。   That is, the controller 310 controls the actuator so as to follow the calculated jerk target of each joint. More specifically, the controller 310 calculates the time series data of the target jerk of each joint, and controls each joint so as to follow the calculated target jerk, thereby operating the target of the robot 300.

なお、コントローラ310は、主要なハードウェア構成として、制御処理、演算処理等と行うCPU(Central Processing Unit)と、CPUによって実行される制御プログラムと、演算プログラム等が記憶されたROM(Read Only Memory)と、処理データ等を一時的に記憶するRAM(Random Access Memory)と、を有するマイクロコンピュータを用いて構成されている。また、これらCPU、ROM、及びRAMは、データバスによって相互に接続されている。   The controller 310 includes a CPU (Central Processing Unit) that performs control processing, arithmetic processing, and the like as a main hardware configuration, a ROM (Read Only Memory) that stores a control program executed by the CPU, an arithmetic program, and the like. ) And a RAM (Random Access Memory) that temporarily stores processing data and the like. The CPU, ROM, and RAM are connected to each other by a data bus.

また、図10に示すロボット300の関節(関節321、322、323)は、y軸方向への回転関節である。同図に示す例では、x−z平面上の手先330の位置を指定して、この位置を3つの関節を用いて実現するために、冗長な問題となる。   Further, the joints (joints 321, 322, and 323) of the robot 300 illustrated in FIG. 10 are rotary joints in the y-axis direction. In the example shown in the figure, since the position of the hand 330 on the xz plane is designated and this position is realized by using three joints, there is a redundant problem.

まず、ロボット300は、初期状態において、図10(a)に示す初期姿勢(全関節(関節321、322、323)角度=0) にあるものとする。そして、タスクの設定に関して、最も優先度の高いタスクとして、図10(b)に示すように、手先330の目標変位(目標位置)を、座標(2.0,0.5)にステップ状に与えた。また、手先330の指令速度、指令加速度は0を与えた。次に優先度の高いタスクとして、各関節(関節321、322、323)の速度を0にする指令を与えている。さらに、関節321の変位の下限を−0.65[rad]に制限し、手先330の目標位置へ到達するためには、関節321がこの下限の変位を必ずとるようにした。   First, it is assumed that the robot 300 is in the initial posture (all joints (joints 321, 322, 323) angle = 0) shown in FIG. As for the task setting, as a task with the highest priority, as shown in FIG. 10B, the target displacement (target position) of the hand 330 is stepped to the coordinates (2.0, 0.5). Gave. Further, 0 was given to the command speed and command acceleration of the hand 330. Next, as a task with the highest priority, a command for setting the speed of each joint (joints 321, 322, 323) to 0 is given. Further, the lower limit of the displacement of the joint 321 is limited to −0.65 [rad], and in order to reach the target position of the hand 330, the joint 321 always takes the lower limit displacement.

図11および図12に、計算した関節の躍度入力に従って、ロボット300を動作させた際の対象(手先330)の変位の応答を示す。同図に示すように、指令した変位へと収束していることが確認できる。   FIGS. 11 and 12 show the displacement response of the target (hand 330) when the robot 300 is operated in accordance with the calculated joint jerk input. As shown in the figure, it can be confirmed that it has converged to the commanded displacement.

また、図13〜15に、各関節(関節321、322、323)の変位、速度、加速度の応答を示す。なお、各図において、関節321を「Joint 0」、関節322を「Joint 1」、関節323を「Joint 2」として示している。また、図16に、関節(関節321、322、323)の躍度入力を示す。図13〜16に示すように、各関節(関節321、322、323)それぞれに設定された上下限制約を満たしながら動作していることが確認できる。   13 to 15 show the displacement, velocity, and acceleration responses of each joint (joints 321, 322, and 323). In each figure, the joint 321 is shown as “Joint 0”, the joint 322 as “Joint 1”, and the joint 323 as “Joint 2”. FIG. 16 shows the jerk input of the joints (joints 321, 322, and 323). As shown in FIGS. 13-16, it can confirm that it is operating, satisfy | filling the upper and lower limit restrictions set to each joint (joint 321,322,323), respectively.

また、関節(関節321、322、323)の躍度入力は常に上下限を満たしているため、滑らかな軌道が得られる。特に、図13に示すように、関節321に関しては0.9秒付近で変位の下限にぶつかっているが、ロボット300は冗長な自由度を持っているために、関節322および関節323が変位することで、手先330の目標位置を実現できている。   In addition, since the jerk input of the joints (joints 321, 322, and 323) always satisfies the upper and lower limits, a smooth trajectory can be obtained. In particular, as shown in FIG. 13, the joint 321 hits the lower limit of displacement in the vicinity of 0.9 seconds. However, since the robot 300 has redundant degrees of freedom, the joint 322 and the joint 323 are displaced. Thus, the target position of the hand 330 can be realized.

以上に説明したように、複数の関節を協調させて対象を操作するロボットにおいて、関節の躍度入力を最小化すると共に、関節の変位、速度、加速度の上下限制約を必ず満たすことが可能な手法を実現した。   As described above, in a robot that operates a target by coordinating a plurality of joints, it is possible to minimize joint jerk input and to satisfy joint displacement, speed, and acceleration upper and lower limits. Realized the method.

図17を参照して、本発明による効果を更に説明する。
近年、人の位置・姿勢を簡便に取得できるセンサが実用化されている。そのようなセンサを含む動作入力装置100を用いて得られた動作データから、ロボット300を駆動するような試みも多くなされている。図17に、このような動作入力装置100を用いた、ロボット300の動作生成システムの概略構成を示す。図17(a)は、本発明に係る全身協調計算部200を含む動作生成システムの概略構成図である。図17(b)は、従来技術に係る全身協調計算部500を含む動作生成システムの概略構成図である。
The effects of the present invention will be further described with reference to FIG.
In recent years, sensors that can easily acquire the position and posture of a person have been put into practical use. Many attempts have been made to drive the robot 300 from motion data obtained using the motion input device 100 including such a sensor. FIG. 17 shows a schematic configuration of a motion generation system of the robot 300 using such a motion input device 100. FIG. 17A is a schematic configuration diagram of a motion generation system including the whole body cooperative calculation unit 200 according to the present invention. FIG. 17B is a schematic configuration diagram of a motion generation system including the whole body cooperative calculation unit 500 according to the related art.

図17(b)に示すように、従来の関節協調制御技術を用いた動作生成システムでは、協調制御処理の前段には、センサの誤差などによる不連続な入力値を補正する構成(入力値の不連続性補正処理400)を必要とし、また、後段にも、過度な加速度の不連続点や速度超過を平滑化するための構成(指令値の平滑化処理600)を必要としていた。   As shown in FIG. 17 (b), in the motion generation system using the conventional joint cooperative control technology, a configuration in which a discontinuous input value due to a sensor error or the like is corrected (the input value Discontinuity correction processing 400) is required, and a configuration for smoothing excessive acceleration discontinuity points and excessive speed (command value smoothing processing 600) is also required in the subsequent stage.

これに対して、図17(a)に示すように、本発明に係る全身協調計算部200を用いた動作生成システムでは、全身協調計算部200での全身協調制御に状態フィードバック則を内包しているために、その前段の処理が不要になる。さらに、関節躍度まで考慮して加速度のレベルでの連続性を保証していることから、その後段のフィルタ処理を設ける必要がなく、直接、関節駆動の指令値として使用することができる。従って、システムの大幅な簡素化を期待でき、計測した何らかの動作目標値を、そのままロボット300に適用するようなダイレクトな系を構成することが可能となる。   On the other hand, as shown in FIG. 17A, in the motion generation system using the whole body cooperative calculation unit 200 according to the present invention, the state feedback law is included in the whole body cooperative control in the whole body cooperative calculation unit 200. Therefore, the previous processing is not necessary. Furthermore, since the continuity at the acceleration level is guaranteed in consideration of the joint jerk, it is not necessary to provide a subsequent filtering process and can be used directly as a joint drive command value. Accordingly, it is possible to expect a significant simplification of the system, and it is possible to configure a direct system in which some measured motion target value is applied to the robot 300 as it is.

すなわち、本発明に係る全身協調計算部200を用いた動作生成システムでは、システム単体で、不連続かつ粗悪なデータ入力からでもロボット300の関節を滑らかに駆動するような軌道に修正して出力することができる。この結果、ロボット300自体に対しても、外的環境(ヒトやモノ)に対しても、安心・安全な動作指令値を提供することができ、非常に有用なものである。   That is, in the motion generation system using the whole-body cooperative calculation unit 200 according to the present invention, the system alone is corrected to a trajectory that smoothly drives the joints of the robot 300 even from discontinuous and poor data input and output. be able to. As a result, it is possible to provide safe and safe operation command values for the robot 300 itself and the external environment (human beings and things), which is very useful.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した実施の形態では、ロボット300が3自由度アームを備えたアームロボットである場合を例に説明したが、本発明はこれに限られるものではない。すなわち、ロボット300として、人間型ロボット(関節数20以上) や車輪付きアームロボット(関節数8以上)に対して本発明を適用するものとしてもよい。   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. For example, in the above-described embodiment, the case where the robot 300 is an arm robot including a three-degree-of-freedom arm has been described as an example, but the present invention is not limited to this. That is, as the robot 300, the present invention may be applied to a humanoid robot (20 or more joints) or an arm robot with wheels (8 or more joints).

また、変位、速度、加速度の上下限制約を実現するための躍度上下限の計算方法は一般的なものであり、例えば、産業ロボットアームや自動車のモーションコントロールに対しても適用するものとしてもよい。   In addition, the calculation method of the jerk upper and lower limits for realizing the upper and lower limit constraints of displacement, speed, and acceleration is a general one, and may be applied to, for example, industrial robot arm and automobile motion control. Good.

また、上述した実施の形態では、ロボット300が備えるコントローラ310が、上述した全身協調計算部200の機能を有する構成として説明したが、本発明はこれに限定されず、全身協調計算部200の機能を備える装置を関節協調制御装置として、ロボット300とは独立して備える構成としてもよい。   In the above-described embodiment, the controller 310 included in the robot 300 has been described as a configuration having the function of the whole body cooperation calculation unit 200. However, the present invention is not limited to this, and the function of the whole body cooperation calculation unit 200 is described. It is good also as a structure provided independently from the robot 300 as a joint coordination control apparatus.

100 動作入力装置、
200 全身協調計算部、
210 躍度入力への上下限制約計算部、
220 最適化問題求解部、
300 ロボット、
310 コントローラ、
320 アーム、
330 手先、
321、322、323 関節、
400 入力値の不連続性補正処理、
500 全身協調計算部、
600 指令値の平滑化処理、
100 motion input device,
200 Whole body cooperation calculation part,
210 Upper / lower limit constraint calculation part for jerk input,
220 Optimization Problem Solver,
300 robots,
310 controller,
320 arms,
330 minions,
321, 322, 323 joints,
400 Discontinuity correction processing of input values,
500 whole body cooperation calculation part,
600 Smoothing of command value,

Claims (6)

多関節ロボットの関節を協調制御して対象部位を操作する多関節ロボットの関節協調制御装置であって、
現在時刻における前記関節の状態から開始して、前記関節の速度、加速度、躍度の設定上下限制約を全て満たしながら、所定の時間経過後に、設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達可能な前記関節への躍度入力の軌道パターンを決定し、当該決定した軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算する躍度入力への上下限制約計算部と、
前記対象部位の躍度と前記関節への躍度入力の等式制約と、前記関節への躍度入力の上下限範囲の不等式としての制約と、を含む制約をタスクとし、前記等式制約に関する複数の設定タスクのうちで解が存在するタスクと、前記躍度入力への上下限制約計算部で計算された前記関節への躍度入力の上下限範囲と、を制約条件に含み、前記等式制約に関する複数の設定タスクのうちで解が存在しないタスクにおける前記関節への躍度入力の誤差を最適化の評価関数とし、前記制約条件の下で前記評価関数の値が最適となるように最適化問題を求解して、前記関節への躍度入力を計算する最適化問題求解部と、を備える、
多関節ロボットの関節協調制御装置。
An articulated joint control device for an articulated robot that controls the joints of the articulated robot in a coordinated manner.
Starting from the state of the joint at the current time, while satisfying all the upper and lower limit settings of the joint speed, acceleration, and jerk, the upper limit or the lower limit of the joint displacement set after a predetermined time has passed. Determine the trajectory pattern of the jerk input to the joint at which the joint velocity and acceleration can reach zero, upper and lower limit values of jerk input to the joint calculated from the determined trajectory pattern, and the current time And the upper and lower limit values of the jerk input to the joint calculated from the upper and lower limits of the joint speed, acceleration, and jerk, and the jerk input to the joint. Upper and lower limit constraint calculation part to jerk input to calculate the lower limit range,
The task includes a constraint including an equality constraint of the jerk of the target part and the jerk input to the joint, and a constraint as an inequality of upper and lower limit ranges of the jerk input to the joint, and the equation constraint The constraint condition includes a task in which a solution exists among a plurality of setting tasks, and an upper and lower limit range of the jerk input to the joint calculated by the upper and lower limit constraint calculation unit to the jerk input, and the like An error in the jerk input to the joint in a task in which a solution does not exist among a plurality of setting tasks related to expression constraints is used as an optimization evaluation function, and the value of the evaluation function is optimized under the constraint conditions An optimization problem solving unit that solves an optimization problem and calculates a jerk input to the joint; and
Joint joint control device for articulated robots.
前記躍度入力への上下限制約計算部は、
前記軌道パターンとして、前記関節への躍度入力が設定最小値から設定最大値へと変化する第1の軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最大値へと変化する第2の軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最小値へと戻った後に、設定最大値へと変化する第3の軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最小値へと戻った後に、再び0を経て設定最大値へと変化する第4の軌道パターンと、を決定し、当該決定した第1〜第4の軌道パターンのうちで、いずれの軌道パターンを用いる場合に、前記所定の時間経過後に、前記設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達できるか否かを判定し、到達できると判定した軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算する、
請求項1に記載の多関節ロボットの関節協調制御装置。
The upper and lower limit constraint calculation unit for the jerk input is:
As the trajectory pattern, the first trajectory pattern in which the jerk input to the joint changes from the set minimum value to the set maximum value, and the jerk input to the joint changes from the set minimum value to 0 through the set maximum value. A second trajectory pattern that changes to a predetermined maximum value after the jerk input to the joint returns from the set minimum value to 0 through the set minimum value, and the joint The fourth trajectory pattern that changes from 0 to 0 from the set minimum value to the set minimum value and then changes to 0 and again to the set maximum value is determined. Which of the fourth trajectory patterns is used, and whether the joint velocity and acceleration can reach zero at the upper or lower limit of the set joint displacement after the predetermined time has elapsed. Can be reached Calculated from the upper and lower limit values of the jerk input to the joint calculated from the determined trajectory pattern, the state of the joint at the current time, and the set speed, acceleration, and jerk limits of the joint at the current time Calculating upper and lower limit ranges of jerk input to the joint using upper and lower limits of jerk input to the joint;
The joint cooperative control apparatus of the articulated robot according to claim 1.
前記多関節ロボットが、複数の自由度アームを有するロボットである、
請求項1または2に記載の多関節ロボットの関節協調制御装置。
The articulated robot is a robot having a plurality of degrees of freedom arms.
The joint cooperative control apparatus of the articulated robot according to claim 1 or 2.
多関節ロボットの関節を協調制御して対象部位を操作する多関節ロボットの関節協調制御方法であって、
現在時刻における前記関節の状態から開始して、前記関節の速度、加速度、躍度の設定上下限制約を全て満たしながら、所定の時間経過後に、設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達可能な前記関節への躍度入力の軌道パターンを決定し、当該決定した軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算する躍度入力への上下限制約計算工程と、
前記対象部位の躍度と前記関節への躍度入力の等式制約と、前記関節への躍度入力の上下限範囲の不等式としての制約と、を含む制約をタスクとし、前記等式制約に関する複数の設定タスクのうちで解が存在するタスクと、前記躍度入力への上下限制約計算工程で計算された前記関節への躍度入力の上下限範囲と、を制約条件に含み、前記等式制約に関する複数の設定タスクのうちで解が存在しないタスクにおける前記関節への躍度入力の誤差を最適化の評価関数とし、前記制約条件の下で前記評価関数の値が最適となるように最適化問題を求解して、前記関節への躍度入力を計算する最適化問題求解工程と、を備える、
多関節ロボットの関節協調制御方法。
A joint joint control method for an articulated robot in which joints of the articulated robot are cooperatively controlled to operate a target part,
Starting from the state of the joint at the current time, while satisfying all the upper and lower limit settings of the joint speed, acceleration, and jerk, the upper limit or the lower limit of the joint displacement set after a predetermined time has passed. Determine the trajectory pattern of the jerk input to the joint at which the joint velocity and acceleration can reach zero, upper and lower limit values of jerk input to the joint calculated from the determined trajectory pattern, and the current time And the upper and lower limit values of the jerk input to the joint calculated from the upper and lower limits of the joint speed, acceleration, and jerk, and the jerk input to the joint. Upper and lower limit constraint calculation process to jerk input to calculate the lower limit range,
The task includes a constraint including an equality constraint of the jerk of the target part and the jerk input to the joint, and a constraint as an inequality of upper and lower limit ranges of the jerk input to the joint, and the equation constraint The constraint condition includes a task in which a solution exists among a plurality of setting tasks, and upper and lower limit ranges of the jerk input to the joint calculated in the upper and lower limit constraint calculation step to the jerk input, and the like An error in the jerk input to the joint in a task in which a solution does not exist among a plurality of setting tasks related to expression constraints is used as an optimization evaluation function, and the value of the evaluation function is optimized under the constraint conditions An optimization problem solving step of solving an optimization problem and calculating a jerk input to the joint,
A joint control method for an articulated robot.
前記躍度入力への上下限制約計算工程は、
前記軌道パターンとして、前記関節への躍度入力が設定最小値から設定最大値へと変化する第1の軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最大値へと変化する第2の軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最小値へと戻った後に、設定最大値へと変化する第3の軌道パターンと、前記関節への躍度入力が設定最小値から0を経て設定最小値へと戻った後に、再び0を経て設定最大値へと変化する第4の軌道パターンと、を決定し、当該決定した第1〜第4の軌道パターンのうちで、いずれの軌道パターンを用いる場合に、前記所定の時間経過後に、前記設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達できるか否かを判定し、到達できると判定した軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算する、
請求項4に記載の多関節ロボットの関節協調制御方法。
The upper and lower limit constraint calculation process for the jerk input is as follows:
As the trajectory pattern, the first trajectory pattern in which the jerk input to the joint changes from the set minimum value to the set maximum value, and the jerk input to the joint changes from the set minimum value to 0 through the set maximum value. A second trajectory pattern that changes to a predetermined maximum value after the jerk input to the joint returns from the set minimum value to 0 through the set minimum value, and the joint The fourth trajectory pattern that changes from 0 to 0 from the set minimum value to the set minimum value and then changes to 0 and again to the set maximum value is determined. Which of the fourth trajectory patterns is used, and whether the joint velocity and acceleration can reach zero at the upper or lower limit of the set joint displacement after the predetermined time has elapsed. Can be reached Calculated from the upper and lower limit values of the jerk input to the joint calculated from the determined trajectory pattern, the state of the joint at the current time, and the set speed, acceleration, and jerk limits of the joint at the current time Calculating upper and lower limit ranges of jerk input to the joint using upper and lower limits of jerk input to the joint;
The joint cooperative control method of the articulated robot according to claim 4.
関節を協調制御して対象部位を操作する多関節ロボットであって、
現在時刻における前記関節の状態から開始して、前記関節の速度、加速度、躍度の設定上下限制約を全て満たしながら、所定の時間経過後に、設定される前記関節の変位の上限または下限において前記関節の速度および加速度が0に到達可能な前記関節への躍度入力の軌道パターンを決定し、当該決定した軌道パターンから計算される前記関節への躍度入力の上下限値と、前記現在時刻における前記関節の状態、および前記関節の設定速度、加速度、躍度の上下限制約から計算される前記関節への躍度入力の上下限値と、を用いて前記関節への躍度入力の上下限範囲を計算する躍度入力への上下限制約計算部と、
前記対象部位の躍度と前記関節への躍度入力の等式制約と、前記関節への躍度入力の上下限範囲の不等式としての制約と、を含む制約をタスクとし、前記等式制約に関する複数の設定タスクのうちで解が存在するタスクと、前記躍度入力への上下限制約計算部で計算された前記関節への躍度入力の上下限範囲と、を制約条件に含み、前記等式制約に関する複数の設定タスクのうちで解が存在しないタスクにおける前記関節への躍度入力の誤差を最適化の評価関数とし、前記制約条件の下で前記評価関数の値が最適となるように最適化問題を求解して、前記関節への躍度入力を計算する最適化問題求解部と、を備える、
多関節ロボット。
An articulated robot that operates a target part by cooperatively controlling joints,
Starting from the state of the joint at the current time, while satisfying all the upper and lower limit settings of the joint speed, acceleration, and jerk, the upper limit or the lower limit of the joint displacement set after a predetermined time has passed. Determine the trajectory pattern of the jerk input to the joint at which the joint velocity and acceleration can reach zero, upper and lower limit values of jerk input to the joint calculated from the determined trajectory pattern, and the current time And the upper and lower limit values of the jerk input to the joint calculated from the upper and lower limits of the joint speed, acceleration, and jerk, and the jerk input to the joint. Upper and lower limit constraint calculation part to jerk input to calculate the lower limit range,
The task includes a constraint including an equality constraint of the jerk of the target part and the jerk input to the joint, and a constraint as an inequality of upper and lower limit ranges of the jerk input to the joint, and the equation constraint The constraint condition includes a task in which a solution exists among a plurality of setting tasks, and an upper and lower limit range of the jerk input to the joint calculated by the upper and lower limit constraint calculation unit to the jerk input, and the like An error in the jerk input to the joint in a task in which a solution does not exist among a plurality of setting tasks related to expression constraints is used as an optimization evaluation function, and the value of the evaluation function is optimized under the constraint conditions An optimization problem solving unit that solves an optimization problem and calculates a jerk input to the joint; and
Articulated robot.
JP2012087028A 2012-04-06 2012-04-06 Articulated robot, joint cooperative control apparatus and method thereof Expired - Fee Related JP5829968B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012087028A JP5829968B2 (en) 2012-04-06 2012-04-06 Articulated robot, joint cooperative control apparatus and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012087028A JP5829968B2 (en) 2012-04-06 2012-04-06 Articulated robot, joint cooperative control apparatus and method thereof

Publications (2)

Publication Number Publication Date
JP2013215827A JP2013215827A (en) 2013-10-24
JP5829968B2 true JP5829968B2 (en) 2015-12-09

Family

ID=49588598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012087028A Expired - Fee Related JP5829968B2 (en) 2012-04-06 2012-04-06 Articulated robot, joint cooperative control apparatus and method thereof

Country Status (1)

Country Link
JP (1) JP5829968B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114227687B (en) * 2021-12-28 2023-08-15 深圳市优必选科技股份有限公司 Robot control method and device, terminal equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2676397B2 (en) * 1989-01-05 1997-11-12 株式会社エイ・ティ・アール視聴覚機構研究所 Dynamic trajectory generation method for dynamic system
JPH0756617A (en) * 1993-08-17 1995-03-03 Nishijima Yoshitaro Optimum track planning method for manipulator
CN100581969C (en) * 2001-12-10 2010-01-20 三菱电机株式会社 Elevator control apparatus
JP2009053926A (en) * 2007-08-27 2009-03-12 Toyota Motor Corp Route-planning device and route-planning method
DE102012004803A1 (en) * 2012-03-09 2013-09-12 Liebherr-Werk Nenzing Gmbh Crane control with drive limitation

Also Published As

Publication number Publication date
JP2013215827A (en) 2013-10-24

Similar Documents

Publication Publication Date Title
JP4896276B2 (en) ROBOT, ROBOT CONTROL DEVICE, CONTROL METHOD, AND CONTROL PROGRAM
EP2660014B1 (en) Control device and teaching method for seven-shaft multi-joint robot
JP5191738B2 (en) Manipulator control method and control system
Seraji et al. Real-time collision avoidance for position-controlled manipulators
JP5921248B2 (en) ROBOT CONTROL DEVICE, ROBOT, PROGRAM THEREOF, AND ITS CONTROL METHOD
JP2007076807A (en) Power assist device and its adaptive model prediction control method
Zhang et al. Time-optimal path tracking for robots under dynamics constraints based on convex optimization
Bjerkeng et al. Fast dual-arm manipulation using variable admittance control: Implementation and experimental results
Fusco et al. Integrating features acceleration in visual predictive control
Wang et al. Dual arm manipulation using constraint based programming
JP4396553B2 (en) Robot controller, computer program
Sorour et al. Motion control for steerable wheeled mobile manipulation
JP2020049554A (en) Track formation method, track formation device, and robot system
JP5829968B2 (en) Articulated robot, joint cooperative control apparatus and method thereof
JP7028196B2 (en) Robot control device, robot control method, and robot control program
Karayiannidis et al. Online kinematics estimation for active human-robot manipulation of jointly held objects
Cheah et al. Adaptive Jacobian motion and force tracking control for constrained robots with uncertainties
Gerelli et al. Real-time path-tracking control of robotic manipulators with bounded torques and torque-derivatives
Jia et al. Coordination of a nonholonomic mobile platform and an on-board manipulator
Hongjun MOTION TRAJECTORY PLANNING AND SIMULATION OF 6-DOF MANIPULATOR ARM ROBOT.
CN111699079B (en) Coordination system, operation device and method
Yang et al. Collision avoidance trajectory planning for a dual-robot system: using a modified APF method
US11813752B2 (en) Mobile manipulation control method and system of quadruped robot with operation arm
Fadaei et al. Design of PID and Fuzzy-PID Controllers for Agile Eye Spherical Parallel Manipulator
Zhao et al. Adaptive vision and force tracking control for constrained robots

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151023

LAPS Cancellation because of no payment of annual fees