JP2013215827A - Articulated robot, articulation harmonization control device and method - Google Patents
Articulated robot, articulation harmonization control device and method Download PDFInfo
- Publication number
- JP2013215827A JP2013215827A JP2012087028A JP2012087028A JP2013215827A JP 2013215827 A JP2013215827 A JP 2013215827A JP 2012087028 A JP2012087028 A JP 2012087028A JP 2012087028 A JP2012087028 A JP 2012087028A JP 2013215827 A JP2013215827 A JP 2013215827A
- 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.)
- Granted
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
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.
しかしながら、関節速度を入力とした手法では、最も優先度の低いタスクの速度の二乗誤差を最小化することに起因して、(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
本発明は、上述した問題点を解決するためになされたものであり、関節への躍度入力を低減させると共に、関節の変位、速度、加速度の上下限制約を満たした関節入力を得ることが可能な多関節ロボット、その関節協調制御装置および方法を提供することを目的とする。 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
さらに、前記躍度入力への上下限制約計算部は、前記停止軌道パターンとして、前記関節への躍度入力が設定最小値から設定最大値へと変化する第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
さらにまた、前記躍度入力への上下限制約計算工程は、前記停止軌道パターンとして、前記関節への躍度入力が設定最小値から設定最大値へと変化する第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.
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。 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
動作入力装置100は、ロボット300に実現させたい位置・姿勢を含む動作データを取得する。全身協調計算部200は、得られた動作データから、躍度入力への上下限を計算し、計算した躍度上下限を用いて最適化問題を求解する。ロボット300は、最適化問題の求解結果(関節への躍度入力)に従って多関節を協調制御することで、ロボット300の対象を操作する。
The
全身協調計算部200は、ロボット300の関節を協調制御して、対象部位を操作する。躍度入力への上下限制約計算部210は、現在時刻における関節の状態から開始して、関節の速度、加速度、躍度について設定される上下限制約を全て満たしながら、関節への躍度入力の軌道パターンを決定する。この決定する軌道パターンは、所定の時間経過後に、設定される関節の変位の上限または下限において関節の速度および加速度が0に到達可能な軌道パターンである。さらに、躍度入力への上下限制約計算部210は、決定した軌道パターンから関節への躍度入力の上下限値を計算し、また、現在時刻における関節の状態と、設定される関節の速度、加速度、躍度の上下限制約と、を用いて関節への躍度入力の上下限値を計算し、これら計算した関節への躍度入力の上下限値を用いて、関節への躍度入力の上下限範囲を計算する。
The whole body
最適化問題求解部220は、制約条件の下で評価関数の値が最小となるように最適化問題を求解して、関節への躍度入力を計算する。ここで、タスクとは、対象部位の躍度と関節への躍度入力の等式制約と、関節への躍度入力の上下限範囲の不等式制約と、を含む等式制約を指す。また、ここで制約条件は、等式制約に関する複数の設定タスクのうちで解が存在するタスクと、躍度入力への上下限制約計算部210で計算された関節への躍度入力の上下限範囲と、を含む。また、評価関数として、等式制約に関する複数の設定タスクのうちで解が存在しないタスクにおける関節への躍度入力の誤差を用いる。
The optimization
本発明では、関節の躍度を入力として、その上下限制約を設定することで、躍度誤差の二乗和を最小化するような解(関節への躍度入力)を得る。これは、加速度の微分(躍度)をできるだけ小さくし、滑らかな軌道を実現することに相当する。この結果、加速度は不連続にはならず、タスクを切り替えても滑らかな軌道を得ることができ、従来の問題を解決した関節協調制御を実現することが可能となる。なお、軌道とは、対象または関節が従う、変位、速度、加速度、躍度などの時系列データのことを指す。 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
<発明の実施の形態1>
以下、図1〜図16を参照して、本実施の形態に係る多関節ロボットの関節協調制御装置および方法を具体的に説明する。本実施の形態に係る関節協調制御手法では、関節への入力を速度とした手法に代えて、速度から微分を進めて躍度とした手法を実現し、この制御手法を躍度分解制御と呼ぶ。躍度まで微分を進める理由は、加速度の変化量に上下限を設定し、加速度を滑らかに変化させたいためである。
<
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.
(躍度分解制御)
躍度分解制御を説明する。
対象の指令軌道yr、yrのワンドット(数式中では上部に1つの「・」を有する変数であり、1階微分した変数である。)、yrのツードット(数式中では上部に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のスリートッドは現在時刻で実現すべき対象の躍度を示すベクトルであり、Kd、Kv、Ka、はそれぞれ変位、速度、加速度の偏差に対するフィードバックゲインである。このフィードバック則は三次系の応答になるため、適切なゲインを予め計算し設定することで安定性を保証しておく。 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.
対象の躍度(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.
現在時刻での状態量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
ただし、式(3)のbのスリードットは、以下の式(4)により示される。
複数のタスクがある場合には、複数の等式制約条件を考慮することができる。例えばタスクが3つある場合には、以下の式(5)に示す等式制約条件となる。
また、関節の躍度入力に関して、以下の式(6)に示すように、上下限制約が設定される。この関節への躍度入力の上下限の設定方法は、関節の変位の上下限(可動範囲)、速度の上下限、加速度の上下限を実現するものであるが、その計算方法の詳細については後述する。
また、従来手法と同様にタスクに優先度を設定し、解が存在するタスクまでを制約条件に含める。例えば、式(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).
つまり、式(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
また、関節への躍度入力は最適化計算の結果として得られるものであり、予め分かるものではない。保証されるのは、現在時刻における関節への躍度入力の上下限制約のみである。つまり、関節の変位、速度、加速度の上下限制約を満たすための関節への躍度入力の上下限制約を、どのようにして与えるかが問題となる。以下、具体的に説明する。 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での状態変数として、変位、速度、加速度を、それぞれxk、xkのワンドット、xkのツードット、とし、関節の躍度(xkのスリードット)を入力とする。ただし、k=0を現在時刻とする。時刻k+1の状態の更新式を、以下の式(8)に示す。
ここで、全ての時刻kにおいて、変位、速度、加速度、躍度の全てが、以下の式(9)に示す上下限制約を満たすようにしたい。
ただし、式(9)において、上下限の制約値xl、xu、xlのワンドット、xuのワンドット、xlのツードット、xuのツードット、xlのスリードット、xuのスリードット、はすべて定数であり、予め適切な値が設定される。また、xlのワンドット<0<xuのワンドット、xlのツードット<0<xuのツードット、xlのスリードット<0<xuのスリードット、であるとする。 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のスリードット)を求めることが問題になる。
以下では、関節への躍度入力の上限(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.
いま、現在時刻において関節への躍度入力(x0のスリードット)にある値を代入した場合を想定する。さらに、この代入された関節への躍度入力の下で、現在時刻から所定の時間経過した時に、設定された速度、加速度、躍度の上下限制約を全て満たしながら、この関節が変位の上限で振動やオーバーシュートしないで停止する軌道(停止軌道)が存在するものと仮定する。ここで、「変位の上限で停止する」とは、目標位置である変位上限(x=xu)において、目標速度が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.
このとき、停止軌道を実現できると考えられる関節への躍度入力(x0のスリードット)で最大のものが、現在時刻における躍度入力の上限(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:「xlのスリードット→xuのスリードット」の躍度入力により停止
・軌道B:「xlのスリードット→0→xuのスリードット」の躍度入力により停止
・軌道C:「xlのスリードット→0→xlのスリードット→xuのスリードット」の躍度入力により停止
・軌道D:「xlのスリードット→0→xlのスリードット→0→xuのスリードット」の躍度入力により停止
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-
この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)。実現可能な停止軌道が分かると、その停止起動を実現するための躍度入力(x0のスリードット)を、現在時刻での関節への躍度入力の上限(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に共通となる、躍度入力の必要条件を説明する。まず、躍度入力自体にパラメータとしての上下限制約(xlのスリードット、xuのスリードット)が予め設定されている。加速度、速度、変位の上下限値がxlのツードット、xuのツードット、xlのワンドット、xuのワンドット、xl、xu、であるから、それぞれを超えないための躍度の上下限は、以下の式(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).
そして、以下の式(12)により示される条件が、躍度の上下限の必要条件となる。
また、現在時刻からΔt後の時刻1においては、以下の式(13)により示すように、加速度、速度、変位のそれぞれが上限制約に収まるようにする必要がある。
これらから、時刻0での関節への躍度入力の上限値を計算することができ、以下の式(14)により示すように、それぞれ得ることができる。
(関節の躍度入力への上下限制約の決定方法:軌道パターンA)
軌道A(「xlのスリードット→xuのスリードット」の躍度入力により停止)を説明する。
(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は、まず、最小値の躍度(xlのスリードット)を所定の時間t1入力し、その後、最大値の躍度(xuのスリードット)を一定時間t2与えて停止するパターンである。現在時刻を時刻0、ステップ時間Δt後を時刻1、そのt1秒後を時刻2、そのt2秒後を時刻3としている。現在時刻での状態変数をx0、x0のワンドット、x0のツードット、とし、現在時刻の躍度入力を、x0のスリードットとする。
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
時刻3では、以下の式(15)に示す停止条件が必要である。変数をx0のスリードット、t1、t2と置くと、式(15)から変数の解を求めることができる。
まず変数t1については、以下の式(16)に示す6次多項式の解となる。
ただし、式(16)におけるa0〜a6は、以下の式(17)に示される。
上記の式(16)に示した多項式の解は、ニュートン法などを用いた数値解法によって求めることができる。解が無い場合には、t1=0とする。このt1を用いて、以下の式(18)の解として、t2を得ることができる。
ただし、式(18)におけるb0〜b2は、以下の式(19)に示される。
以上のt1、t2から、x0のスリードットを、以下の式(20)に示すようにして、得ることができる。
次に、このようにして決定した停止軌道Aが、速度と加速度の制約を満たしているか否かを判定する。すなわち、軌道Aに従って停止可能か否かを判定する。
まず、時刻laを、加速度が0(xlaのツードット=0)になる時刻とすると、時刻1から時刻laまでの時間tlaは、以下の式(21)により示される。
First, when the time la is the time when the acceleration is 0 (two dots of x la = 0), the time tla from the
ここで、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のワンドット>xuのワンドットである場合には、得られた軌道Aは速度制約を満たさないと判定される。
次に、加速度の最小値(x2のツードット)を求める。x2のツードット<xlのツードットである場合には、得られた軌道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)に示すようにして得ることができる。
初期状態において軌道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(「xlのスリードット→0→xuのスリードット」の躍度入力により停止)を説明する。まず、軌道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)に示す停止条件が必要となる。
また、以下の式(25)に示すように、時刻2から時刻3の間では加速度が最小値をとる。
そして、変数をx0のスリードット、t1、t2、t3と置くと、上記式(25)に示した停止条件と、上記式(25)の1番目の条件と、から、変数の解を求めることができる。
The three dots of variable x 0, putting a t 1,
変数t3の解は、以下に示す式(26)により得ることができる。
変数t1の解は、以下に示す式(27)の解として得ることができる。
ただし、式(27)におけるa0〜a4は、以下の式(28)に示される。
変数t2の解は、t1、t3から、以下に示す式(29)により得ることができる。
変数(x0のスリードット)の解は、上述したようにして得た他の変数から、以下に示す式(30)により得ることができる。
次に、このようにして決定した停止軌道Bが、速度の制約を満たしているか否かを判定する。すなわち、軌道Bに従って停止可能か否かを判定する。
まず、時刻t1bを、軌道Bが速度の極大値をとる時刻とすると、時間tlbは、以下の式(31)により示される。
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).
ここで、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のワンドット>xuのワンドットである場合には、得られた軌道Bは速度制約を満たさないと判定される。
以上の判定の結果、制約を満たすと判定された場合、軌道Bが最短時間の停止軌道となる。このため、躍度入力の最大値(x0uのスリードット)は、以下の式(33)に示すようにして得ることができる。
(関節の躍度入力への上下限制約の決定方法:軌道パターンC)
次に、軌道C(「xlのスリードット→0→xlのスリードット→xuのスリードット」の躍度入力により停止)を説明する。まず、軌道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-
軌道Cでは、時刻5において、以下の式(34)に示す停止条件が必要となる。
また、以下の式(35)に示すように、時刻2から時刻3の間では速度が最大値をとる。
そして、変数をx0のスリードット、t1、t2、t3、t4と置くと、上記式(34)に示した停止条件と、上記式(35)の1番目および2番目の条件と、から、変数の解を求めることができる。
When placing the variable three dots x 0, and t 1, t 2, t 3 ,
変数t4の解は、以下に示す式(36)により得ることができる。
変数t3の解は、以下に示す式(37)により得ることができる。
変数t1の解は、以下の式(38)に示す二次方程式の解として得ることができる。
ただし、式(38)におけるa0〜a2は、以下の式(39)に示される。
変数t2の解は、t1、t3、t4から、以下に示す式(40)により得ることができる。
変数(x0のスリードット)の解は、以下に示す式(41)により得ることができる。
次に、このようにして決定した停止軌道Cが、加速度の制約を満たしているか否かを判定する。すなわち、軌道Cに従って停止可能か否かを判定する。
軌道Cにおける制限は、時刻4での加速度(x4のツードット)が、加速度の下限(xlのツードット)を超えないことである。x4のツードット<xlのツードットである場合には、軌道Cは制約を満たしていないと判定される。一方で、この制約を満たすと判定された場合には、軌道Cが最短時間の停止軌道となる。このため、躍度入力の最大値(x0uのスリードット)は、以下の式(42)に示すようにして得ることができる。
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).
(関節の躍度入力への上下限制約の決定方法:軌道パターンD)
次に、軌道D(「xlのスリードット→0→xlのスリードット→0→xuのスリードット」の躍度入力により停止)を説明する。まず、軌道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)に示す停止条件が必要となる。
また、以下の式(44)に示すように、時刻2から時刻3の間では速度が最大値をとる。
また、以下の式(45)に示すように、時刻4から時刻5の間では加速度が最小値をとる。
そして、変数をx0のスリードット、t1、t2、t3、t4、t5と置くと、上記式(43)に示した停止条件と、上記式(45)の1番目および2番目の条件と、上記式(45)の1番目の条件と、から、変数の解を求めることができる。
When placing the variable three dots x 0, and t 1, t 2, t 3 ,
変数t3、t5、t4の解は、以下に示す式(46)により得ることができる。
変数t1の解は、以下の式(47)に示す二次方程式の解として得ることができる。
ただし、式(47)におけるa0〜a2は、以下の式(48)に示される。
変数t2の解は、t1、t3、t4、t5から、以下に示す式(49)により得ることができる。
変数(x0のスリードット)の解は、以下に示す式(50)により得ることができる。
このようにして決定した停止軌道Dは制約がない。このため、躍度入力の最大値(x0uのスリードット)は、以下の式(51)に示すようにして得ることができる。
(動作確認:1自由度での動作確認)
次に、上述した躍度制限を、1自由度変数xに対して実装し、その動作確認を行った。変数xには、変位、速度、加速度の上下限を設定する。関節の目標変位xrに対して、躍度入力(xのスリードット)を以下の式(52)に示すようにして計算する。
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.
ステップごとに図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に設定している。また、目標変位xrは、時刻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
(動作確認: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
ロボット300はコントローラ310を備えている。また、ロボット300はアーム320を備えており、アーム320の先端に設けられた手先330を対象として、この対象を操作する。アーム320は、複数の関節(関節321、322、323)と、各関節を接続するリンクと、を備えている。各関節には、関節角を制御するアクチュエータと、関節角を検出するエンコーダとが内蔵されている。なお、コントローラ310は、ロボット300の内部に有する構成であってもよいし、外部に接続されてロボット300に対して指令を送信する構成であってもよい。
The
コントローラ310は、上述した全身協調計算部200の機能を有している。すなわち、コントローラ310は、躍度入力への上下限制約計算部210、最適化問題求解部220の各機能を実現するプログラムを含み、各部での各処理を実行し、関節への躍度入力を計算する。そして、コントローラ310は、計算した関節への躍度入力に基づいて、各関節(関節321、322、323)を制御することで多関節を協調制御し、これによって、アーム320の手先330を移動させる。
The
すなわち、コントローラ310は、計算された各関節の躍度の目標に追従するように、アクチュエータを制御する。より具体的には、コントローラ310は、各関節の目標躍度の時系列データを算出し、算出した目標躍度に追従するように各関節を制御することで、ロボット300の対象を操作する。
That is, the
なお、コントローラ310は、主要なハードウェア構成として、制御処理、演算処理等と行うCPU(Central Processing Unit)と、CPUによって実行される制御プログラムと、演算プログラム等が記憶されたROM(Read Only Memory)と、処理データ等を一時的に記憶するRAM(Random Access Memory)と、を有するマイクロコンピュータを用いて構成されている。また、これらCPU、ROM、及びRAMは、データバスによって相互に接続されている。
The
また、図10に示すロボット300の関節(関節321、322、323)は、y軸方向への回転関節である。同図に示す例では、x−z平面上の手先330の位置を指定して、この位置を3つの関節を用いて実現するために、冗長な問題となる。
Further, the joints (
まず、ロボット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
図11および図12に、計算した関節の躍度入力に従って、ロボット300を動作させた際の対象(手先330)の変位の応答を示す。同図に示すように、指令した変位へと収束していることが確認できる。
FIGS. 11 and 12 show the displacement response of the target (hand 330) when the
また、図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 (
また、関節(関節321、322、323)の躍度入力は常に上下限を満たしているため、滑らかな軌道が得られる。特に、図13に示すように、関節321に関しては0.9秒付近で変位の下限にぶつかっているが、ロボット300は冗長な自由度を持っているために、関節322および関節323が変位することで、手先330の目標位置を実現できている。
In addition, since the jerk input of the joints (
以上に説明したように、複数の関節を協調させて対象を操作するロボットにおいて、関節の躍度入力を最小化すると共に、関節の変位、速度、加速度の上下限制約を必ず満たすことが可能な手法を実現した。 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
図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
すなわち、本発明に係る全身協調計算部200を用いた動作生成システムでは、システム単体で、不連続かつ粗悪なデータ入力からでもロボット300の関節を滑らかに駆動するような軌道に修正して出力することができる。この結果、ロボット300自体に対しても、外的環境(ヒトやモノ)に対しても、安心・安全な動作指令値を提供することができ、非常に有用なものである。
That is, in the motion generation system using the whole-body
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した実施の形態では、ロボット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
また、変位、速度、加速度の上下限制約を実現するための躍度上下限の計算方法は一般的なものであり、例えば、産業ロボットアームや自動車のモーションコントロールに対しても適用するものとしてもよい。 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
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,
A task is 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 limit ranges of the jerk input to the joint. 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 stop trajectory pattern, a first stop trajectory pattern in which the jerk input to the joint changes from a set minimum value to a set maximum value, and the jerk input to the joint passes through 0 from the set minimum value to the set maximum A second stop trajectory pattern that changes to a value, and a third stop trajectory pattern that changes to a set maximum value after the jerk input to the joint returns from the set minimum value through 0 to the set minimum value And a fourth stop trajectory pattern that changes from 0 to 0 to the set minimum value after the jerk input to the joint returns from the set minimum value to the set minimum value, Among any of the determined first to fourth stop trajectory patterns, when any stop trajectory pattern is used, the joint speed and the upper limit or lower limit of the joint displacement set after the predetermined time elapses. When acceleration reaches zero Upper and lower limit values of jerk input to the joint calculated from the stop trajectory pattern trajectory pattern determined to be reachable, the state of the joint at the current time, and the set speed of the joint Calculating the upper and lower limits of the jerk input to the joint using the upper and lower limits of the jerk input to the joint calculated from the upper and lower limits of acceleration and jerk,
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,
A task is 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 limit ranges of the jerk input to the joint. 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 stop trajectory pattern, a first stop trajectory pattern in which the jerk input to the joint changes from a set minimum value to a set maximum value, and the jerk input to the joint passes through 0 from the set minimum value to the set maximum A second stop trajectory pattern that changes to a value, and a third stop trajectory pattern that changes to a set maximum value after the jerk input to the joint returns from the set minimum value through 0 to the set minimum value And a fourth stop trajectory pattern that changes from 0 to 0 to the set minimum value after the jerk input to the joint returns from the set minimum value to the set minimum value, Among any of the determined first to fourth stop trajectory patterns, when any stop trajectory pattern is used, the joint speed and the upper limit or lower limit of the joint displacement set after the predetermined time elapses. When acceleration reaches zero Upper and lower limit values of jerk input to the joint calculated from the stop trajectory pattern trajectory pattern determined to be reachable, the state of the joint at the current time, and the set speed of the joint Calculating the upper and lower limits of the jerk input to the joint using the upper and lower limits of the jerk input to the joint calculated from the upper and lower limits of acceleration and jerk,
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,
A task is 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 limit ranges of the jerk input to the joint. 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.
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 true JP2013215827A (en) | 2013-10-24 |
JP5829968B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114227687A (en) * | 2021-12-28 | 2022-03-25 | 深圳市优必选科技股份有限公司 | Robot control method and device, terminal equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02181201A (en) * | 1989-01-05 | 1990-07-16 | A T R Shichiyoukaku Kiko Kenkyusho:Kk | Kinetic track learning and generating device for non-linear system |
JPH0756617A (en) * | 1993-08-17 | 1995-03-03 | Nishijima Yoshitaro | Optimum track planning method for manipulator |
JP2008214108A (en) * | 2001-12-10 | 2008-09-18 | Mitsubishi Electric Corp | Elevator and its control device |
JP2009053926A (en) * | 2007-08-27 | 2009-03-12 | Toyota Motor Corp | Route-planning device and route-planning method |
JP2013184826A (en) * | 2012-03-09 | 2013-09-19 | Liebherr-Werk Nenzing Gmbh | Crane control device, crane, crane control method, and software for executing the control method |
-
2012
- 2012-04-06 JP JP2012087028A patent/JP5829968B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02181201A (en) * | 1989-01-05 | 1990-07-16 | A T R Shichiyoukaku Kiko Kenkyusho:Kk | Kinetic track learning and generating device for non-linear system |
JPH0756617A (en) * | 1993-08-17 | 1995-03-03 | Nishijima Yoshitaro | Optimum track planning method for manipulator |
JP2008214108A (en) * | 2001-12-10 | 2008-09-18 | Mitsubishi Electric Corp | Elevator and its control device |
JP2009053926A (en) * | 2007-08-27 | 2009-03-12 | Toyota Motor Corp | Route-planning device and route-planning method |
JP2013184826A (en) * | 2012-03-09 | 2013-09-19 | Liebherr-Werk Nenzing Gmbh | Crane control device, crane, crane control method, and software for executing the control method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114227687A (en) * | 2021-12-28 | 2022-03-25 | 深圳市优必选科技股份有限公司 | Robot control method and device, terminal equipment and storage medium |
CN114227687B (en) * | 2021-12-28 | 2023-08-15 | 深圳市优必选科技股份有限公司 | Robot control method and device, terminal equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP5829968B2 (en) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5191738B2 (en) | Manipulator control method and control system | |
US9073211B2 (en) | Control system and teaching method for seven-axis articulated robot | |
JP4896276B2 (en) | ROBOT, ROBOT CONTROL DEVICE, CONTROL METHOD, AND CONTROL PROGRAM | |
Andaluz et al. | Adaptive unified motion control of mobile manipulators | |
JP2007076807A (en) | Power assist device and its adaptive model prediction control method | |
JP5921248B2 (en) | ROBOT CONTROL DEVICE, ROBOT, PROGRAM THEREOF, AND ITS CONTROL METHOD | |
US8442681B2 (en) | Desired motion evaluation apparatus of legged mobile robot | |
Bjerkeng et al. | Fast dual-arm manipulation using variable admittance control: Implementation and experimental results | |
Andaluz et al. | Robust control with redundancy resolution and dynamic compensation for mobile manipulators | |
Fusco et al. | Integrating features acceleration in visual predictive control | |
JP2020049554A (en) | Track formation method, track formation device, and robot system | |
Sorour et al. | Motion control for steerable wheeled mobile manipulation | |
CN112703090B (en) | Robot control device, robot control method, and storage medium | |
Karayiannidis et al. | Online kinematics estimation for active human-robot manipulation of jointly held objects | |
JP5829968B2 (en) | Articulated robot, joint cooperative control apparatus and method thereof | |
CN111699079B (en) | Coordination system, operation device and method | |
Cheung et al. | Cooperative control of a multi-arm system using semi-autonomous telemanipulation and adaptive impedance | |
Gerelli et al. | Real-time path-tracking control of robotic manipulators with bounded torques and torque-derivatives | |
Hongjun | MOTION TRAJECTORY PLANNING AND SIMULATION OF 6-DOF MANIPULATOR ARM ROBOT. | |
Kuppan Chetty et al. | A heuristic approach towards path planning and obstacle avoidance control of planar manipulator | |
Tan et al. | Adaptive Neural Networks for Image-Based Visual Servoing with Uncertain Parameters | |
Zhao et al. | Adaptive vision and force tracking control for constrained robots | |
Mazur et al. | The Serret–Frenet parametrization in a control of a mobile manipulator of (nh, h) type | |
Liu | Task-space control of bilateral human-swarm interaction with constant time delay | |
Ye et al. | Cartesian admittance control with on-line gravity and friction observer compensation for elastic joint 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 |