JP2021146409A - Inverse kinematics operation unit and inverse kinematics operation method - Google Patents
Inverse kinematics operation unit and inverse kinematics operation method Download PDFInfo
- Publication number
- JP2021146409A JP2021146409A JP2020045918A JP2020045918A JP2021146409A JP 2021146409 A JP2021146409 A JP 2021146409A JP 2020045918 A JP2020045918 A JP 2020045918A JP 2020045918 A JP2020045918 A JP 2020045918A JP 2021146409 A JP2021146409 A JP 2021146409A
- Authority
- JP
- Japan
- Prior art keywords
- solution
- inverse kinematics
- joint
- set generator
- robot arm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
Description
この発明は、複数の関節を有するロボットアームに対して逆運動学演算を行う逆運動学演算装置及び逆運動学演算方法に関する。 The present invention relates to an inverse kinematics calculation device and an inverse kinematics calculation method for performing an inverse kinematics calculation on a robot arm having a plurality of joints.
複数の関節を有するロボットアーム(多関節ロボットアーム)の状態を表現する方法としては、関節空間表現及びデカルト空間表現の2通りの方法がある。 There are two methods for expressing the state of a robot arm having a plurality of joints (articulated robot arm): joint space expression and Cartesian space expression.
関節空間表現は、ロボットアームが有する各関節の角度(回転角度)によって、ロボットアームの状態を表現する。6軸のロボットアームの場合には、6次元の関節角ベクトルで、ロボットアームの状態を表現できる。なお以下では、垂直多関節ロボットアームの関節を根元側から順にJ1,J2,・・・で表し、関節の角度を根元側から順にθ1,θ2,・・・で表す。 The joint space expression expresses the state of the robot arm by the angle (rotation angle) of each joint of the robot arm. In the case of a 6-axis robot arm, the state of the robot arm can be expressed by a 6-dimensional joint angle vector. In the following, the joints of the vertical articulated robot arm are represented by J1, J2, ... In order from the root side, and the joint angles are represented by θ 1 , θ 2 , ... In order from the root side.
デカルト空間表現は、デカルト空間におけるロボットアームの手先の位置及び姿勢によって、ロボットアームの状態を表現する。デカルト空間表現では、3次元の位置及び3次元の姿勢の合計6次元のデータで、ロボットアームの状態を表現できる。位置はX={x,y,z}で表され、姿勢はR={roll,pitch,yaw}で表される。なお、姿勢は、四元数で表現される場合もあり、QはRより一意に求められる。四元数はQ={qx,qy,qz,qw}で表される。なお以下では、デカルト空間表現を、P={X,R}={X,Q}で表す。 The Cartesian space representation expresses the state of the robot arm by the position and posture of the hand of the robot arm in the Cartesian space. In the Cartesian space representation, the state of the robot arm can be represented by a total of 6-dimensional data of the 3-dimensional position and the 3-dimensional posture. The position is represented by X = {x, y, z}, and the posture is represented by R = {roll, pitch, yaw}. The posture may be expressed by a quaternion, and Q is uniquely obtained from R. The quaternion is represented by Q = {q x , q y , q z , q w }. In the following, the Cartesian space representation is represented by P = {X, R} = {X, Q}.
そして、関節空間からデカルト空間へ変換するための演算を順運動学演算と呼び、デカルト空間から関節空間へ変換するための演算を逆運動学演算と呼ぶ。ユーザは、ロボットアームに何らかの作業をさせる際に、デカルト空間表現でロボットアームに対して移動指示を出すことが多いため、逆運動学演算が必要となる。 Then, the operation for converting from the joint space to the Cartesian space is called a forward kinematics operation, and the operation for converting from the Cartesian space to the Cartesian space is called an inverse kinematics operation. When the user causes the robot arm to perform some work, the user often gives a movement instruction to the robot arm in a Cartesian space representation, so that an inverse kinematics calculation is required.
ロボットアームを始点から終点へ移動させる際の動作計画方法としては、主に、関節角補間移動による方法及び直線移動による方法の2通りの方法がある。
関節角補間移動は、関節空間で始点と終点とを規定の範囲の線(代表的には線形)で結んだ軌道(関節角補間軌道)に沿った移動である。関節角補間軌道は、関節空間で動作計画された終点に対して逆運動学演算が行われることで生成される。
直線移動は、デカルト空間で始点と終点とを線形に結んだ軌道に沿った移動である。直線移動の軌道は、デカルト空間で動作計画された始点と終点との間の複数の離散点に対して逆運動学演算が繰返し行われることで生成される。
There are mainly two methods of motion planning when moving the robot arm from the start point to the end point, a method by joint angle interpolation movement and a method by linear movement.
The joint angle interpolation movement is a movement along a trajectory (joint angle interpolation trajectory) connecting the start point and the end point in the joint space with a line (typically linear) in a specified range. The joint angle interpolation trajectory is generated by performing an inverse kinematics operation on the end point whose motion is planned in the joint space.
Linear movement is movement along an orbit that linearly connects the start point and the end point in Cartesian space. The trajectory of linear movement is generated by repeating inverse kinematics operations on a plurality of discrete points between the start point and the end point whose motion is planned in Cartesian space.
始点と終点との間に特異点がある場合、直線移動では動作計画がし難いため、関節角補間移動が主に用いられる。また、直線移動は、各関節に設けられたモータが非線形な加減速をするため、一般に関節角補間移動に比べて移動時間が長くなる。そのため、ユーザがロボットアームの移動時間を短くすることだけを要求する場合、関節角補間移動が用いられる。 When there is a singular point between the start point and the end point, it is difficult to plan the motion with linear movement, so joint angle interpolation movement is mainly used. Further, in the linear movement, since the motors provided in each joint perform non-linear acceleration / deceleration, the movement time is generally longer than that in the joint angle interpolation movement. Therefore, when the user only requests to shorten the movement time of the robot arm, the joint angle interpolation movement is used.
一方、逆運動学演算の解は複数存在する。そのため、複数の解(解集合)の中から、ユーザの目的に沿った解を選択する必要がある。 On the other hand, there are multiple solutions for inverse kinematics operations. Therefore, it is necessary to select a solution that suits the user's purpose from a plurality of solutions (solution sets).
ユーザがロボットアームを動作させる場合、その動作の目的(ユースケース)は様々である。例えば、ユーザがロボットアームを始点から終点へ関節角補間移動で動作させる場合、動作の目的としては、(次の動作の準備のための)移動、又は、物の運搬等が挙げられる。 When a user operates a robot arm, the purpose (use case) of the operation is various. For example, when the user moves the robot arm from the start point to the end point by interpolating the joint angle, the purpose of the movement includes movement (in preparation for the next movement), transportation of an object, and the like.
動作の目的が移動である場合、作業効率の観点から、ロボットアームをできるだけ短い時間で移動させることが望ましい。現場ではロボットアームの作業効率を高める改善が常に求められており、ロボットアームの移動時間を削減することは非常に重要である。関節角補間移動は、逆運動学演算の解(終点の関節角ベクトル)によって移動時間が決まるため、複数の解の中から移動時間の削減効果がある解を選択することが求められている。 When the purpose of the movement is movement, it is desirable to move the robot arm in the shortest possible time from the viewpoint of work efficiency. In the field, improvements to improve the work efficiency of the robot arm are constantly required, and it is very important to reduce the moving time of the robot arm. Since the movement time of the joint angle interpolation movement is determined by the solution of the inverse kinematics operation (joint angle vector at the end point), it is required to select a solution having an effect of reducing the movement time from a plurality of solutions.
これに対し、従来、ヤコビ行列を用いて数値計算を行う逆運動学演算装置が広く利用されている(例えば非特許文献1参照)。この逆運動学演算装置では、複数の解の中から、入力情報となる初期値(関節角ベクトル)から求められた勾配(ヤコビ行列)方向の解が選択される。この場合、ユーザは、初期値を操作することで解の選択を行う。 On the other hand, conventionally, an inverse kinematics arithmetic unit that performs numerical calculation using a Jacobian matrix has been widely used (see, for example, Non-Patent Document 1). In this inverse kinematics calculation device, a solution in the gradient (Jacobian matrix) direction obtained from an initial value (joint angle vector) as input information is selected from a plurality of solutions. In this case, the user selects a solution by manipulating the initial value.
また、構造フラグを用いて解を指定する逆運動学演算装置も利用されている(例えば非特許文献2参照)。この逆運動学演算装置では、ロボットアームの構造の幾何特性に着目し、解を、Shoulder指標、Elbow指標及びWrist指標等の構造フラグと呼ばれる指標で分類している。この場合、ユーザは、構造フラグを指定することで解の選択を行う。 Inverse kinematics arithmetic units that specify solutions using structural flags are also used (see, for example, Non-Patent Document 2). In this inverse kinematics arithmetic unit, attention is paid to the geometrical characteristics of the structure of the robot arm, and the solutions are classified by indexes called structural flags such as the Shoulder index, the Elbow index, and the Wrist index. In this case, the user selects the solution by specifying the structure flag.
上記のように、従来では、初期値又は構造フラグ等の中間概念を用い、逆運動学演算の解の選択を行っている。しかしながら、この中間概念では、複数の解の中から、関節角補間軌道における移動時間に関して適切な解を選択することは困難である。 As described above, conventionally, the solution of the inverse kinematics operation is selected by using an intermediate concept such as an initial value or a structure flag. However, in this intermediate concept, it is difficult to select an appropriate solution for the movement time in the joint angle interpolation trajectory from a plurality of solutions.
この発明は、上記のような課題を解決するためになされたもので、逆運動学演算の複数の解の中から、関節角補間軌道における移動時間に関して適切な解を選択可能な逆運動学演算装置を提供することを目的としている。 The present invention has been made to solve the above-mentioned problems, and an inverse kinematics operation that can select an appropriate solution for the movement time in the joint angle interpolation trajectory from a plurality of solutions of the inverse kinematics operation. The purpose is to provide the device.
この発明に係る逆運動学演算装置は、複数の関節を有するロボットアームにおける関節空間表現で表された始点及びデカルト空間表現で表された終点を含む入力情報を受付ける入力器と、入力器により受付けられた入力情報に含まれる終点についての逆運動学演算の解を複数求める解集合生成器と、解集合生成器により求められた解の中から、入力器により受付けられた入力情報に含まれる始点と解との間の関節角補間軌道における移動時間が条件を満たす解を選択する解選択器とを備えたことを特徴とする。 The inverse kinematics arithmetic device according to the present invention receives input information including a start point represented by the joint space representation and an end point represented by the Cartesian space representation in a robot arm having a plurality of joints, and an input device. A solution set generator that finds multiple solutions for inverse kinematics operations for the end point included in the input information, and a start point included in the input information received by the input device from among the solutions obtained by the solution set generator. It is characterized by having a solution selector for selecting a solution that satisfies the movement time in the joint angle interpolation trajectory between the solution and the solution.
この発明によれば、上記のように構成したので、逆運動学演算の複数の解の中から、関節角補間軌道における移動時間に関して適切な解を選択可能となる。 According to the present invention, since it is configured as described above, it is possible to select an appropriate solution for the movement time in the joint angle interpolation trajectory from a plurality of solutions of the inverse kinematics operation.
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1は実施の形態1に係る逆運動学演算装置の構成例を示す図である。
逆運動学演算装置は、複数の関節を有するロボットアームに対して逆運動学演算を行う。この逆運動学演算装置は、図1に示すように、入力器1、解集合生成器2、解選択器3及び出力器4を備えている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment 1.
FIG. 1 is a diagram showing a configuration example of an inverse kinematics arithmetic unit according to the first embodiment.
The inverse kinematics arithmetic unit performs inverse kinematics arithmetic on a robot arm having a plurality of joints. As shown in FIG. 1, this inverse kinematics arithmetic unit includes an input device 1, a solution set generator 2, a solution selector 3, and an output device 4.
なお、逆運動学演算装置は、システムLSI(Large Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。 The inverse kinematics arithmetic unit is realized by a processing circuit such as a system LSI (Large Scale Integration), a CPU (Central Processing Unit) that executes a program stored in a memory or the like, or the like.
入力器1は、入力情報を受付ける。入力情報には、ロボットアームの始点及び終点が含まれる。なお、始点は関節空間表現で表され、終点はデカルト空間表現(点Oを原点とするベース座標系)で表される。また、入力情報に、逆運動学演算の解の選択で必要となる情報が含まれていてもよい。 The input device 1 receives the input information. The input information includes the start point and the end point of the robot arm. The start point is represented by the joint space representation, and the end point is represented by the Cartesian space representation (base coordinate system with the point O as the origin). In addition, the input information may include information required for selecting a solution for inverse kinematics operations.
解集合生成器2は、入力器1により受付けられた入力情報に基づいて、当該入力情報に含まれる終点についての逆運動学演算の解を複数求める。この際、解集合生成器2は、複数の解として、解の母集団(全ての解の集合)を求めてもよいし、オプションとして何らかの制約が指定される場合には解の部分集合を求めてもよい。 Based on the input information received by the input device 1, the solution set generator 2 obtains a plurality of solutions for the inverse kinematics operation for the end point included in the input information. At this time, the solution set generator 2 may obtain a population of solutions (set of all solutions) as a plurality of solutions, or obtain a subset of solutions when some constraint is specified as an option. You may.
解選択器3は、入力器1により受付けられた入力情報に基づいて、解集合生成器2により求められた解の中から解を選択する。この際、解選択器3は、上記解の中から、入力情報に含まれる始点と解とを結ぶ関節角補間軌道における移動時間が、条件を満たす解を選択する。なお、解選択器3は、解集合生成器2により解が求められなかった場合には、エラーとし、解の選択は行わない。 The solution selector 3 selects a solution from the solutions obtained by the solution set generator 2 based on the input information received by the input device 1. At this time, the solution selector 3 selects a solution from the above solutions whose travel time in the joint angle interpolation trajectory connecting the start point and the solution included in the input information satisfies the condition. If the solution set generator 2 does not find a solution, the solution selector 3 considers an error and does not select a solution.
出力器4は、解選択器3により選択された解(関節空間表現)を示すデータを出力する。 The output device 4 outputs data indicating the solution (joint space representation) selected by the solution selector 3.
次に、解集合生成器2の構成例について説明する。
解集合生成器2は、図1に示すように、初期値集合生成器21及び逆運動学演算器22を有する。
Next, a configuration example of the solution set generator 2 will be described.
As shown in FIG. 1, the solution set generator 2 has an initial value set
初期値集合生成器21は、関節角ベクトルである初期値を複数生成する。
The initial value set
逆運動学演算器22は、初期値集合生成器21により生成された初期値毎に、当該初期値を用いて、入力器1により受付けられた入力情報に含まれる終点についての逆運動学演算の解を求める。
The
次に、解選択器3の構成例について説明する。
解選択器3は、図1に示すように、関節角補間軌道評価器31及び評価指標選択器32を有する。
Next, a configuration example of the solution selector 3 will be described.
As shown in FIG. 1, the solution selector 3 includes a joint angle
関節角補間軌道評価器31は、解集合生成器2により生成された解毎に、入力器1により受付けられた入力情報に含まれる始点と当該解との間の関節角補間軌道における移動時間を求める。なお、関節角補間軌道評価器31は、移動時間を求められればよいため、関節角補間軌道を生成する必要はない。
The joint angle
評価指標選択器32は、関節角補間軌道評価器31により求められた解毎の移動時間(指標値)に基づいて、解集合生成器2により生成された解の中から解を選択する。
The
次に、図1に示す実施の形態1に係る逆運動学演算装置の動作例について、図2を参照しながら説明する。
ここで、始点はロボットアームの現在状態から与えられるため、始点から終点への関節角補間軌道は、終点についての逆運動学演算の解だけに依存する。そこで、実施の形態1に係る逆運動学演算装置は、「始点から終点への移動時間を考慮して逆運動学演算の解を選択する」ことで、関節角補間軌道をコントロールし、上記課題を解決する。
Next, an operation example of the inverse kinematics arithmetic unit according to the first embodiment shown in FIG. 1 will be described with reference to FIG.
Here, since the start point is given from the current state of the robot arm, the joint angle interpolation trajectory from the start point to the end point depends only on the solution of the inverse kinematics calculation for the end point. Therefore, the inverse kinematics arithmetic unit according to the first embodiment controls the joint angle interpolation trajectory by "selecting the solution of the inverse kinematics arithmetic in consideration of the movement time from the start point to the end point", and the above-mentioned problem. To solve.
図1に示す実施の形態1に係る逆運動学演算装置の動作例では、図2に示すように、まず、入力器1は、入力情報を受付ける(ステップST201)。入力情報には、ロボットアームにおける関節空間表現で表された始点及びデカルト空間表現で表された終点が含まれる。 In the operation example of the inverse kinematics arithmetic unit according to the first embodiment shown in FIG. 1, as shown in FIG. 2, the input device 1 first receives the input information (step ST201). The input information includes a start point represented by the joint space representation in the robot arm and an end point represented by the Cartesian space representation.
次いで、初期値集合生成器21は、関節角ベクトルである初期値を複数生成する(ステップST202)。
Next, the initial value set
ここで、初期値集合生成器21がロボットアームの関節可動範囲内で網羅的に初期値の集合を生成すれば、逆運動学演算器22は当該初期値の集合から解の母集団を得られる。しかしながら、初期値集合生成器21がロボットアームの関節可動範囲内で網羅的に初期値を探索することは、組み合わせが膨大であるため、計算コストの面で実用的ではない。
Here, if the initial value set
そこで、例えば、初期値集合生成器21は、初期値の探索範囲を上記関節可動範囲より狭めて初期値の集合を生成することで、初期値の数を削減してもよい。すなわち、上記関節可動範囲は2π周期で同じ位置となるため、関節可動範囲が例えば±4πであるとした場合、初期値集合生成器21は初期値の探索範囲を例えば±2π又は±πに狭めてもよい。また、初期値集合生成器21は、ランダムに一定数の初期値の集合を生成することで、初期値の数を削減してもよい。また、ロボットアームの幾何構造に対するノウハウを元にできるだけ多種類の解が得られる一定数の初期値の集合が予め決められる場合、初期値集合生成器21は当該初期値の集合を生成することで、初期値の数を削減してもよい。なお、初期値集合生成器21は、例えば計算時間を制約条件として、上記のような初期値の集合を生成する。そして、逆運動学演算器22では、上記のような初期値の集合から、解の部分集合が得られる。
Therefore, for example, the initial value set
また、解の種類の最大数が既知である場合、逆運動学演算器22は、初期値集合生成器21により生成された全ての初期値を用いて逆運動学演算を解く必要はなく、上記最大数の解の母集団が得られた時点で処理を終了することが実用上望ましい。
Further, when the maximum number of types of solutions is known, the inverse kinematics
次いで、逆運動学演算器22は、初期値集合生成器21により生成された初期値毎に、当該初期値を用いて、入力器1により受付けられた入力情報に含まれる終点についての逆運動学演算の解を求める(ステップST203)。この際、まず、逆運動学演算器22は、入力器1により受付けられた入力情報に含まれる終点についての逆運動学演算の解(関節角ベクトル)を求める。また、逆運動学演算器22は、初期値集合生成器21により生成された初期値からヤコビ行列(勾配)を求める。そして、逆運動学演算器22は、求めた逆運動学演算の解の中から、求めた勾配方向の解を選択する。すなわち、逆運動学演算器22により得られる解は、初期値によって変わる。なお、逆運動学演算器22による処理(初期値を用いて逆運動学演算の解を求める方法)の詳細については例えば非特許文献1に開示された方法と同様であり、その詳細については説明を省略する。
Next, the
次いで、関節角補間軌道評価器31は、解集合生成器2により生成された解毎に、入力器1により受付けられた入力情報に含まれる始点と当該解との間の関節角補間軌道における移動時間を求める(ステップST204)。
Next, the joint angle
この際、関節角補間軌道評価器31は、関節空間表現で表された始点と関節空間表現で表された終点との間の関節角補間軌道における移動時間を求める。なお、上記始点は、入力情報に含まれる始点であり、Θstartで表す。上記終点は、解集合生成器2により生成された複数(k個)の解の中の一つであり、Θgoalで表す。具体的には、関節角補間軌道評価器31は、各解について順番に下記のような処理を実行することで、関節角補間軌道における移動時間を求める。
At this time, the joint angle
<移動時間の計算例1>
まず、1軸の関節角補間軌道について考える。
ここで、ある関節が最速で始点から終点へ至る加減速パターンは、三角形加減速パターンである。三角形加減速パターンの軌道の中点について、角速度と角加速度との関係は下式(1)で表される。式(1)において、Θ(ドット)は角速度を表し、Θ(ツードット)は角加速度を表し、t1dは移動時間を表している。
<Calculation example of travel time 1>
First, consider the uniaxial joint angle interpolation trajectory.
Here, the acceleration / deceleration pattern in which a joint has the fastest speed from the start point to the end point is a triangular acceleration / deceleration pattern. Regarding the midpoint of the orbit of the triangular acceleration / deceleration pattern, the relationship between the angular velocity and the angular acceleration is expressed by the following equation (1). In equation (1), Θ (dot) represents the angular velocity, Θ (two dots) represents the angular acceleration, and t 1d represents the travel time.
またこの場合、角度と角速度との関係は下式(2)で表される。
In this case, the relationship between the angle and the angular velocity is expressed by the following equation (2).
よって、移動時間は下式(3)となる。
Therefore, the travel time is given by the following equation (3).
また、三角形加減速パターンの軌道の中点において、上記で求めた角速度が角速度最大値より大きい場合、角速度を角速度最大値で頭打ちにした台形加減速パターンで考える。
この場合、加速時間は下式(4)で表される。式(4)において、taは加速時間を表し、Θ(ドット)maxは角速度最大値を表している。また、式(4)において、Θ(ツードット)で表された角加速度を角加速度最大値に変更してもよい。
Further, when the angular velocity obtained above is larger than the maximum angular velocity value at the midpoint of the orbit of the triangular acceleration / deceleration pattern, a trapezoidal acceleration / deceleration pattern in which the angular velocity is leveled off at the maximum angular velocity value is considered.
In this case, the acceleration time is expressed by the following equation (4). In the formula (4), t a represents the acceleration time, theta (dot) max represents the angular velocity maximum. Further, in the equation (4), the angular acceleration represented by Θ (two dots) may be changed to the maximum angular acceleration value.
また、等速時間は下式(5)で表される。式(5)において、tcは等速時間を表している。
The constant velocity time is expressed by the following equation (5). In equation (5), t c represents a constant velocity time.
よって、移動時間は下式(6)となる。
Therefore, the travel time is given by the following equation (6).
なお上記では、加減速パターンが台形加減速パターンである場合について示したが、これに限らず、角加速度(式(4)におけるΘ(ツードット))の設定を変えることで、加減速パターンを変えてもよい。例えば、角加速度を時間の関数とすることで、加減速パターンはS字加減速パターンとなる。 In the above, the case where the acceleration / deceleration pattern is a trapezoidal acceleration / deceleration pattern is shown, but the acceleration / deceleration pattern is not limited to this, and the acceleration / deceleration pattern can be changed by changing the setting of the angular acceleration (Θ (two dots) in the equation (4)). You may. For example, by making the angular acceleration a function of time, the acceleration / deceleration pattern becomes an S-shaped acceleration / deceleration pattern.
そして、全関節についての関節角補間軌道の移動時間は、下式(7)のように、各軸の移動時間の最大値となる。式(7)において、tは関節角補間軌道の移動時間を表す。
なお以下では、k番目の解に対する関節角補間軌道における移動時間(指標値)をHkと表記する。
Then, the movement time of the joint angle interpolation trajectory for all joints is the maximum value of the movement time of each axis as shown in the following equation (7). In equation (7), t represents the movement time of the joint angle interpolation trajectory.
In the following, the movement time in the joint angle interpolation trajectories for the k-th solution (the index value) is denoted by H k.
<移動時間の計算例2>
上記に示した移動時間の計算方法は一例である。仮に全軸の角加速度が同じである場合には、計算コスト低減のため、関節角補間軌道評価器31は、下式(8)のように各軸の移動時間を概算値として計算してもよい。
<Calculation example of travel time 2>
The calculation method of the travel time shown above is an example. If the angular accelerations of all axes are the same, the joint angle
<移動時間の計算例3>
仮に全軸の角速度及び角加速度が同じである場合には、計算コスト低減のため、関節角補間軌道評価器31は、下式(9)のように各軸の移動時間を概算値として計算してもよい。全軸の角速度及び角加速度が同じ場合、各軸の移動時間は角度差(関節空間における距離)に比例する。
<Calculation example of travel time 3>
If the angular velocities and angular accelerations of all axes are the same, the joint angle
但し、全軸の角加速度が同じ場合或いは全軸の角速度及び角加速度が同じというケースは、実用上ほとんどない。そのため、実際には、計算例3のように単に各軸の角度差に着眼して解を選択する方法では移動時間の削減効果の高い解を選択し難い。すなわち、移動時間の削減効果がより高い解を選択するためには、関節角補間軌道評価器31は、計算例1のように何らかの加減速パターン又は角加速度設定を仮定して移動時間を見積もることが望ましい。
However, there are almost no cases in which the angular acceleration of all axes is the same or the angular velocity and angular acceleration of all axes are the same. Therefore, in practice, it is difficult to select a solution having a high effect of reducing the travel time by a method of selecting a solution by simply focusing on the angle difference of each axis as in Calculation Example 3. That is, in order to select a solution having a higher effect of reducing the travel time, the joint angle
なお、上記計算例1〜3において、角速度最大値及び角加速度最大値は、予め決められた固定値としてもよいし、入力情報としてユーザにより指定されてもよいし、関節角補間軌道評価器31により運動方程式から計算されてもよい。
In the above calculation examples 1 to 3, the maximum angular velocity value and the maximum angular acceleration value may be predetermined fixed values, may be specified by the user as input information, or the joint angle
次いで、評価指標選択器32は、関節角補間軌道評価器31により求められた解毎の移動時間(指標値)に基づいて、解集合生成器2により生成された解の中から解を選択する(ステップST205)。
Next, the
ここで、評価指標選択器32は、上記解の中から、予め規定された条件を満たす解を選択する。例えば、評価指標選択器32は、移動時間の削減効果が最も高い解として、移動時間が最短となる解を一つ選択する。移動時間が最短である解は下式(10)から求められる。式(10)において、Kは移動時間が最短である解の番号を表している。
Here, the
一方で、評価指標選択器32は、移動時間が最短となる解を選択しない方がよい場合がある。例えば、逆運動学演算装置が出力したある解について外部装置が軌道生成を試みたところ移動途中で自己干渉が生じることが判明し、アーム動作を実現できない場合もあり得る。ロボットアームは軌道が得られて初めて動作可能となるため、逆運動学演算装置はアーム動作が実現できない解を出力することは望ましくない。よって、実際には、評価指標選択器32は、アーム動作の実現可能性等他の条件を満たした解の中から移動時間が最短となる解を選択する、又は、移動時間が短い解から順に他の条件を満たすかを検証してから解を選択するといったことを行う。このように、評価指標選択器32は、移動時間だけではなく、他の条件又は他の評価関数とも組み合わせて解を選択することも可能であるが、基本的には移動時間の削減効果がより高い解を選択するようにする。そのため、評価指標選択器32は、解を選択する際に、少なくとも移動時間に基づいて選択する必要があるし、他の条件又は他の評価関数が同じであれば移動時間が最も短い解を優先して選択するべきである。
On the other hand, it may be better for the
次いで、出力器4は、解選択器3により選択された解(関節空間表現)を示すデータを出力する(ステップST206)。 Next, the output device 4 outputs data indicating the solution (joint space representation) selected by the solution selector 3 (step ST206).
以上のように、この実施の形態1によれば、逆運動学演算装置は、複数の関節を有するロボットアームにおける関節空間表現で表された始点及びデカルト空間表現で表された終点を含む入力情報を受付ける入力器1と、入力器1により受付けられた入力情報に含まれる終点についての逆運動学演算の解を複数求める解集合生成器2と、解集合生成器2により求められた解の中から、入力器1により受付けられた入力情報に含まれる始点と解との間の関節角補間軌道における移動時間が条件を満たす解を選択する解選択器3とを備えた。これにより、実施の形態1に係る逆運動学演算装置は、逆運動学演算の複数の解の中から、関節角補間軌道における移動時間に関して適切な解を選択可能となる。 As described above, according to the first embodiment, the inverse kinematics calculation device includes input information including a start point represented by the joint space representation and an end point represented by the decart space representation in a robot arm having a plurality of joints. Among the solutions obtained by the input device 1 that accepts Therefore, a solution selector 3 for selecting a solution that satisfies the movement time in the joint angle interpolation trajectory between the start point and the solution included in the input information received by the input device 1 is provided. As a result, the inverse kinematics arithmetic unit according to the first embodiment can select an appropriate solution regarding the movement time in the joint angle interpolation trajectory from the plurality of solutions of the inverse kinematics arithmetic.
実施の形態2.
図3は実施の形態2に係る逆運動学演算装置の構成例を示す図である。図3に示す実施の形態2に係る逆運動学演算装置は、図1に示す実施の形態1に係る逆運動学演算装置に対し、初期値集合生成器21及び逆運動学演算器22を、構造フラグ集合生成器23及び逆運動学演算器24に変更している。その他の構成は実施の形態1に係る逆運動学演算装置と同様であり、同一の符号を付してその説明を省略する。
Embodiment 2.
FIG. 3 is a diagram showing a configuration example of the inverse kinematics arithmetic unit according to the second embodiment. The inverse kinematics arithmetic unit according to the second embodiment shown in FIG. 3 has an initial value set
構造フラグ集合生成器23は、構造フラグを複数生成する。構造フラグは、逆運動学演算の解を指定するための指標である。この構造フラグとしては、例えば、Shoulder指標、Elbow指標及びWrist指標が挙げられる。
The structure flag set
逆運動学演算器24は、構造フラグ集合生成器23により生成された構造フラグ毎に、当該構造フラグを用いて、入力器1により受付けられた入力情報に含まれる終点についての逆運動学演算の解を求める。
The
次に、構造フラグ集合生成器23の動作例について説明する。まず、ロボットアームが、球形直交手首機構を有する垂直6関節ロボットアームである場合について示す。
Next, an operation example of the structure flag set
球形直交手首機構を有する垂直6関節ロボットアームでは、逆運動学演算の解は最大で8個であることが明らかであり(但し、各関節の可動範囲が±180度以内の場合)、これらの解を3つの指標で一意に分類可能である。また、解の種類を3つの指標で指定することで、8個の解の中から任意の解を得られる。産業用の垂直6関節ロボットアームでは、図4に示すようなリンク機構が用いられることが多い。 In a vertical 6-joint robot arm with a spherical orthogonal wrist mechanism, it is clear that there are a maximum of 8 solutions for inverse kinematics calculations (provided that the range of motion of each joint is within ± 180 degrees). The solution can be uniquely classified by three indexes. Further, by specifying the type of solution with three indexes, an arbitrary solution can be obtained from eight solutions. In an industrial vertical 6-joint robot arm, a link mechanism as shown in FIG. 4 is often used.
球形直交手首機構を有する垂直6関節ロボットアームのリンク機構の特徴は、図5に示すように、位置制御機構と姿勢制御機構とを分離できることにある。この特徴は、J4の回転軸とJ5の回転軸とJ6の回転軸とが一点で直交することに由来し、姿勢制御機構は球形直交手首機構と呼ばれる。 A feature of the link mechanism of the vertical 6-joint robot arm having a spherical orthogonal wrist mechanism is that the position control mechanism and the posture control mechanism can be separated as shown in FIG. This feature is derived from the fact that the rotation axis of J4, the rotation axis of J5, and the rotation axis of J6 are orthogonal to each other at one point, and the attitude control mechanism is called a spherical orthogonal wrist mechanism.
まず、位置制御機構について考えてみると、図6の点A’はJ1が180度回転すれば点Aと一致する。よって、点Aの位置を示す関節角(逆運動学演算の解)は2通りあることがわかる。この2つの解を区別するには、J1座標系で考えた場合(θ1=0とした場合)に、点Aが左右どちらにあるかで判別できる。逆を言えば、「右の方」と指定すれば、逆運動学演算の解を一意に決定できる。このように解を指定するフラグを構造フラグと呼ぶ。図6では、点AがShoulder境界の「右の方」又は「左の方」という2つの解が存在し、Shoulder指標により区別できる。 First, considering the position control mechanism, the point A'in FIG. 6 coincides with the point A if J1 is rotated 180 degrees. Therefore, it can be seen that there are two types of joint angles (solutions of inverse kinematics calculation) indicating the position of point A. In order to distinguish between these two solutions, it is possible to determine whether the point A is on the left or right when considering the J1 coordinate system (when θ 1 = 0). To put it the other way around, if you specify "to the right", you can uniquely determine the solution of the inverse kinematics operation. The flag that specifies the solution in this way is called a structure flag. In FIG. 6, there are two solutions in which the point A is the “right side” or the “left side” of the Shoulder boundary, which can be distinguished by the Shoulder index.
図7は、構造フラグのうちのElbow指標を示す概念図である。位置制御機構について考えてみると、点AとJ2とを結ぶ直線に対して、J3がElbow境界の「上の方」と「下の方」という2つの解が存在し、Elbow指標により区別できる。 FIG. 7 is a conceptual diagram showing an Elbow index among the structural flags. Considering the position control mechanism, there are two solutions for the straight line connecting the points A and J2, that is, "upper" and "lower" of the Elbow boundary, and they can be distinguished by the Elbow index. ..
図8は、構造フラグのうちのWrist指標を示す概念図である。姿勢制御機構について考えてみると、J4が回転すれば、J6とJ6’とが一致することがわかる。よって、J5の関節角の正負について、Wrist境界の「正の方」又は「負の方」という2つの解が存在し、Wrist指標により区別できる。 FIG. 8 is a conceptual diagram showing the Wrist index among the structural flags. Considering the attitude control mechanism, it can be seen that if J4 rotates, J6 and J6'match. Therefore, regarding the positive and negative of the joint angle of J5, there are two solutions, "positive side" and "negative side" of the Wrist boundary, which can be distinguished by the Wrist index.
以上のような構造フラグに着眼し、構造フラグ集合生成器23は、構造フラグを複数生成する。
Focusing on the structure flags as described above, the structure flag set
そして、逆運動学演算器24は、構造フラグ集合生成器23により生成された構造フラグ毎に、当該構造フラグを用いて、入力器1により受付けられた入力情報に含まれる終点についての逆運動学演算の解を求める。ここで、逆運動学演算器24による処理(構造フラグを用いて逆運動学演算の解を求める方法)の詳細については例えば非特許文献3に開示された方法と同様であり、その説明を省略する。なお、非特許文献3では構造フラグという呼称は用いられていないが、逆運動学演算の過程で発生する3か所の±符号のプラス側の解及びマイナス側の解というように解が分類されており、その分類にShoulder指標、Elbow指標及びWrist指標が用いられている。
Then, the
以上から、球形直交手首機構を有する垂直6関節ロボットアームに対し、逆運動学演算装置は、Shoulder指標、Elbow指標及びWrist指標を組み合わせた計8通りの構造フラグの集団について、それぞれ逆運動学演算の解を求めることで、解の母集団が得られる。 From the above, for a vertical 6-joint robot arm having a spherical orthogonal wrist mechanism, the inverse kinematics calculation device performs inverse kinematics calculation for a total of eight groups of structural flags combining the Shoulder index, the Elbow index, and the Wrist index. By finding the solution of, a population of solutions can be obtained.
なお、逆運動学演算装置は、オプションとして、ある構造フラグの制約の指定を受付けて、解の集合を求めてもよい。構造フラグの制約としては、例えば、Shoulder指標が始点と同じという制約が挙げられる。Shoulder指標が始点と終点とで異なると、J1が大きく回転する可能性が高く、ロボットアームが周辺物と干渉する可能性が高まるので、このような制約は実用上あり得ると考えられる。 The inverse kinematics arithmetic unit may optionally accept the specification of the constraint of a certain structure flag to obtain a set of solutions. As a constraint of the structure flag, for example, there is a constraint that the Shoulder index is the same as the start point. If the Shoulder index is different between the start point and the end point, there is a high possibility that J1 will rotate significantly, and the possibility that the robot arm will interfere with peripheral objects will increase. Therefore, it is considered that such a restriction is practically possible.
以上では、説明が簡単であるため、ロボットアームが球形直交手首機構を有する垂直6関節ロボットアームである場合を例に説明を行ったが、ロボットアームはこれに限らない。ロボットアームの構造が変わると、構造フラグの各指標の定義及び指標の数が変わるものの、実施の形態2に係る逆運動学演算装置は同様に適用可能である。 In the above description, for the sake of simplicity, the case where the robot arm is a vertical 6-joint robot arm having a spherical orthogonal wrist mechanism has been described as an example, but the robot arm is not limited to this. Although the definition of each index of the structure flag and the number of indexes change when the structure of the robot arm changes, the inverse kinematics arithmetic unit according to the second embodiment can be similarly applied.
例えば、ロボットアームが図9に示すようなロボットアームである場合での逆運動学演算装置の解を求める方法は非特許文献4に開示されている。図9に示すロボットアームは、ロボットアームが有する関節のうちの6つの関節において、J1の回転軸とJ4の回転軸とが直交(略直交の意味を含む)であり、且つ、J4の回転軸とJ6の回転軸とがオフセットしているオフセット手首機構を有するロボットアームである。なお、非特許文献4では構造フラグという呼称は用いられていないが、逆運動学演算の過程で発生する各±符号のプラス側の解及びマイナス側の解というように解が分類されており、その分類に構造フラグが用いられている。 For example, a method for obtaining a solution of an inverse kinematics arithmetic unit when the robot arm is a robot arm as shown in FIG. 9 is disclosed in Non-Patent Document 4. In the robot arm shown in FIG. 9, in six of the joints of the robot arm, the rotation axis of J1 and the rotation axis of J4 are orthogonal (including the meaning of substantially orthogonality), and the rotation axis of J4. A robot arm having an offset wrist mechanism in which the rotation axis of J6 and the rotation axis of J6 are offset. Although the name of the structural flag is not used in Non-Patent Document 4, the solutions are classified as the positive side solution and the negative side solution of each ± sign generated in the process of inverse kinematics operation. Structural flags are used for the classification.
また、実施の形態2に係る逆運動学演算装置において、全ての解を一意に分類するのに必要十分な構造フラグが定義されている必要はない。例えば図10に示すようなロボットアームの場合、Shoulder指標及びElbow指標は定義できるものの、他の指標は定義できない。また、逆運動学演算装置の解も最大で8個以上存在する場合もある。そのため、構造フラグとして、Shoulder指標及びElbow指標の組み合わせを1通り与えた場合にも、複数の解が存在する。なお図10に示すロボットアームは、ロボットアームが有する関節のうちの6つの関節において、J1の回転軸とJ4の回転軸とJ6の回転軸とが平行(略平行の意味を含む)であり、且つ、J4の回転軸とJ6の回転軸とがオフセットしているオフセット手首機構を有するロボットアーム(以下、J4−6オフセットアームと略記)である。 Further, in the inverse kinematics arithmetic unit according to the second embodiment, it is not necessary to define sufficient structural flags necessary for uniquely classifying all the solutions. For example, in the case of a robot arm as shown in FIG. 10, the Shoulder index and the Elbow index can be defined, but other indexes cannot be defined. In addition, there may be a maximum of eight or more solutions of the inverse kinematics arithmetic unit. Therefore, even when one combination of the Shoulder index and the Elbow index is given as the structure flag, there are a plurality of solutions. In the robot arm shown in FIG. 10, in six of the joints of the robot arm, the rotation axis of J1, the rotation axis of J4, and the rotation axis of J6 are parallel (including the meaning of substantially parallel). Moreover, it is a robot arm having an offset wrist mechanism in which the rotation axis of J4 and the rotation axis of J6 are offset (hereinafter, abbreviated as J4-6 offset arm).
一方、J4−6オフセットアームを対象にして構造フラグ(Shoulder指標及びElbow指標)を定義し、1対のShoulder指標及びElbow指標が指定された場合に数値計算により解を求める方法が提案されている(例えば非特許文献5参照)。以下、J4−6オフセットアームを対象とした場合での逆運動学演算器24の動作例について説明する。なお、構造フラグ集合生成器23は、1対のShoulder指標及びElbow指標を生成する。
On the other hand, a method has been proposed in which structural flags (Shoulder index and Elbow index) are defined for the J4-6 offset arm, and a solution is obtained by numerical calculation when a pair of Shoulder index and Elbow index are specified. (See, for example, Non-Patent Document 5). Hereinafter, an operation example of the inverse kinematics
図11は、J4−6オフセットアームのリンク機構と運動学的に等価なリンク機構を示す図である。図11のように簡略されたリンク機構を用いると運動学の演算はし易くなる。
図11において、点Oは、ロボットアームの根元であり、ベース座標系の原点である。点Pは、ロボットアームの先端(手先)であり、逆運動学演算の入力情報として点Pにおける位置及び姿勢が入力される。点Gは、点Cをベース座標系のxy平面へ射影した点である。点Jは、点Gのベース座標系のz座標に対してl1を加算した点である。l1は、点Oと点Eとの間の長さを表す。l2は、点Eと点Dとの間の長さを表す。l3は、点Dと点Cとの間の長さを表す。l4は、点Cと点Bとの間の長さを表す。l5は、点Bと点Aとの間の長さを表す。l6は、点Aと点Pとの間の長さを表す。
FIG. 11 is a diagram showing a link mechanism kinematically equivalent to the link mechanism of the J4-6 offset arm. Using a simplified link mechanism as shown in FIG. 11 facilitates kinematics calculations.
In FIG. 11, the point O is the root of the robot arm and the origin of the base coordinate system. The point P is the tip (hand) of the robot arm, and the position and posture at the point P are input as input information for the inverse kinematics calculation. The point G is a point where the point C is projected onto the xy plane of the base coordinate system. The point J is a point obtained by adding l 1 to the z coordinate of the base coordinate system of the point G. l 1 represents the length between the points O and E. l 2 represents the length between the points E and D. l 3 represents the length between point D and point C. l 4 represents the length between point C and point B. l 5 represents the length between point B and point A. l 6 represents the length between points A and P.
非特許文献5では、J4−6オフセットアームにおいて、図11に示すベクトルBCとベクトルBAとが直交する幾何特性に着目して逆運動学演算を行う方法が提案されている。
この方法では、ベクトルBCとベクトルBAとの内積を評価関数とする。なお、評価関数をfで表す。そして、まず、f(θ6)=0となるθ6を数値的に探索する。そして、f(θ6)=0となるθ6が求められると、ロボットアームの先端から順にθ5〜θ1を求めることができる。評価関数の定義、及びθ6が与えられた場合にθ5〜θ1を求める方法については、非特許文献5に開示されているため、その説明を省略する。
Non-Patent Document 5 proposes a method of performing inverse kinematics calculation focusing on the geometric characteristics in which the vector BC and the vector BA shown in FIG. 11 are orthogonal to each other in the J4-6 offset arm.
In this method, the inner product of the vector BC and the vector BA is used as the evaluation function. The evaluation function is represented by f. Then, first, searches the theta 6 to be f (θ 6) = 0 numerically. When f (θ 6) = 0 and becomes theta 6 is required, it is possible to determine the theta 5 through? 1 from the distal end of the robot arm in order. Since the definition of the evaluation function and the method of obtaining θ 5 to θ 1 when θ 6 is given are disclosed in Non-Patent Document 5, the description thereof will be omitted.
評価関数の例を図12に示す。図12の通り、f(θ6)=0となるθ6(評価関数の根)は複数存在する。Shoulder指標及びElbow指標で一意に分類しきれなかった解が複数の根として表れており、各根について逆運動学演算の解が存在する。よって、解の母集団を得るためには、評価関数のすべての根を求めればよい。評価関数のすべての根を求める方法として、例えば、大域探索と詳細探索の2段階で構成されるアルゴリズムを用いればよい。 An example of the evaluation function is shown in FIG. As shown in FIG. 12, there are a plurality of θ 6 (roots of the evaluation function) at which f (θ 6) = 0. Solutions that could not be uniquely classified by the Shoulder index and Elbow index appear as a plurality of roots, and there are solutions for inverse kinematics operations for each root. Therefore, in order to obtain the population of the solution, all the roots of the evaluation function need to be found. As a method of finding all the roots of the evaluation function, for example, an algorithm composed of two stages of a global search and a detailed search may be used.
まず、逆運動学演算器24による大域探索について説明する。
大域探索としては、例えば、グリッドサーチによる方法を用いることができる。すなわち、まず、逆運動学演算器24は、θ6の値域をΔθで複数の区間に分割し、根を含む全ての空間を求める。ここで、値域を[θlower,θupper]で表す。θlowerは値域の始点を表し、θupperは値域の終点を表す。なお、|θlower|,|θupper|≦πとする。Δθは微小区間幅を表す。区間を[θs,θe]で表す。θsは区間の始点を表し、θeは区間の終点を表す。また、i番目の区間について、θs[i]及びθe[i]は下式(11),(12)のように表せる。
First, the global search by the inverse kinematics
As the global search, for example, a method by grid search can be used. That is, first, the
そして、逆運動学演算器24は、分割した複数の[θs,θe]に対してゼロ点包含判定を行う。すなわち、逆運動学演算器24は、[θs,θe]においてf(θ6)が単調変化する場合であって、θs,θeについて|f(θs)|<E又は|f(θe)|<Eを満たす場合、又は、f(θs)とf(θe)とが異符号である場合に、[θs,θe]内にf(θ6)=0となるθ6を含むと判定する。Eは、微小値である。Eとしては、f(θ6)=0となるθ6を見逃さないように、大きめの値(例えば10−4)が設定されることが望ましい。
Then, the
次に、逆運動学演算器24による詳細探索について説明する。
逆運動学演算器24は、大域探索で求めた[θs,θe]について、f(θ6)=0となるθ6を求める。すなわち、逆運動学演算器24は、fの根を数値計算で求める。未知の非線形関数の根を数値計算により求めるアルゴリズムとしては、二分法、割線法又は挟み撃ち法等が挙げられる。ここでは、逆運動学演算器24は、アンダーソン・ビョーク法(AB法)を用いた場合について説明する。
Next, a detailed search by the
The
AB法は、挟み撃ち法の改良手法である。AB法は、挟み撃ち法と同様に、θs又はθeを更新して根を含む区間を狭めて絞込みを行い、根を求める。このAB法は、挟み撃ち法よりも少ない計算回数で根を求めることができる利点がある。 The AB method is an improved method of the false position method. In the AB method, as in the false position method, θ s or θ e is updated to narrow down the section including the root, and the root is obtained. This AB method has an advantage that the root can be obtained with a smaller number of calculations than the pinch shooting method.
AB法による更新点の計算方法(更新方法)は、挟み撃ち法と同じ下式(13)の通りである。式(13)において、θtempは更新点を表す。
The calculation method (update method) of the update point by the AB method is as shown in the following formula (13), which is the same as the pinch shooting method. In equation (13), θ emp represents an update point.
ここで、逆運動学演算器24は、f(θs)とf(θtemp)とが同符号である場合には[θs,θtemp]内に根はないので、θsをθtempで更新する。この場合、AB法では係数であるmを用い、次回のθtempの計算時にf(θe)をmf(θe)に置換して計算する。mは下式(14)で定義される。計算の結果、mが負となってしまった場合には、m=0.5とする。
Here, in the inverse kinematics
なお、m=0.5で固定値計算する手法は、イリノイ法と呼ばれる。収束の速さは、挟み撃ち法<イリノイ法≦AB法の順となる。 The method of calculating a fixed value at m = 0.5 is called the Illinois method. The speed of convergence is in the order of the pinch shooting method <Illinois method ≤ AB method.
一方、逆運動学演算器24は、f(θs)とf(θtemp)とが異符号である場合には[θs,θtemp]内に根があるので、θeをθtempで更新する。この場合、AB法ではmを使い、次回のθtempの計算時にf(θs)をmf(θs)に置換して計算する。mは下式(15)で定義される。計算の結果、mが負となってしまった場合は、m=0.5とする。
On the other hand, in the inverse kinematics
以上のように、逆運動学演算器24は、構造フラグとしてShoulder指標及びElbow指標の組み合わせが与えられた場合に、大域探索及び詳細探索により全ての根を求めることができ、解の集合として各根についての解(関節角ベクトル)を求めることができる。よって、J4−6オフセットアームの場合でも、実施の形態2に係る逆運動学演算器24は適用可能であり、有効である。
As described above, when the combination of the Shoulder index and the Elbow index is given as the structural flag, the
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。 In the present invention, within the scope of the invention, it is possible to freely combine each embodiment, modify any component of each embodiment, or omit any component in each embodiment. be.
1 入力器
2 解集合生成器
3 解選択器
4 出力器
21 初期値集合生成器
22 逆運動学演算器
23 構造フラグ集合生成器
24 逆運動学演算器
31 関節角補間軌道評価器
32 評価指標選択器
1 Input device 2 Solution set generator 3 Solution selector 4
Claims (6)
前記入力器により受付けられた入力情報に含まれる終点についての逆運動学演算の解を複数求める解集合生成器と、
前記解集合生成器により求められた解の中から、前記入力器により受付けられた入力情報に含まれる始点と解との間の関節角補間軌道における移動時間が条件を満たす解を選択する解選択器と
を備えた逆運動学演算装置。 An input device that receives input information including a start point represented by a joint space representation and an end point represented by a Cartesian space representation in a robot arm having multiple joints.
A solution set generator for finding a plurality of solutions of inverse kinematics operations for the end point included in the input information received by the input device, and
From the solutions obtained by the solution set generator, select a solution that satisfies the movement time in the joint angle interpolation trajectory between the start point and the solution included in the input information received by the input device. Inverse kinematics arithmetic unit equipped with a device.
関節角ベクトルである初期値を複数生成する初期値集合生成器と、
前記初期値集合生成器により生成された初期値毎に、当該初期値を用いて、前記入力器により受付けられた入力情報に含まれる終点についての逆運動学演算の解を求める逆運動学演算器とを有する
ことを特徴とする請求項1記載の逆運動学演算装置。 The solution set generator
An initial value set generator that generates multiple initial values that are joint angle vectors,
Inverse kinematics calculator that uses the initial values for each initial value generated by the initial value set generator to find the solution of the inverse kinematics operation for the end point included in the input information received by the input device. The inverse kinematics calculation device according to claim 1, wherein the device has.
逆運動学演算の解を指定するための指標である構造フラグを複数生成する構造フラグ集合生成器と、
前記構造フラグ集合生成器により生成された構造フラグ毎に、当該構造フラグを用いて、前記入力器により受付けられた入力情報に含まれる終点についての逆運動学演算の解を求める逆運動学演算器とを有する
ことを特徴とする請求項1記載の逆運動学演算装置。 The solution set generator
A structural flag set generator that generates multiple structural flags that are indicators for specifying the solution of inverse kinematics operations,
For each structure flag generated by the structure flag set generator, the inverse kinematics arithmetic unit for finding the solution of the inverse kinematics operation for the end point included in the input information received by the input device using the structure flag. The inverse kinematics arithmetic unit according to claim 1, wherein the device has.
ことを特徴とする請求項3記載の逆運動学演算装置。 The inverse kinematics arithmetic unit according to claim 3, wherein the robot arm has a structure in which a structure flag and a solution of an inverse kinematics arithmetic are one-to-many.
前記解集合生成器は、前記6つの関節に対し、前記第6の関節の角度についての数値計算を実行し、当該数値計算で得られた角度に基づいて残りの関節の角度を計算することで、逆運動学演算の解を求める
ことを特徴とする請求項1、請求項3又は請求項4記載の逆運動学演算装置。 The robot arm has six or more joints, and in six of the joints, the rotation axis of the first joint, the rotation axis of the fourth joint, and the rotation axis of the sixth joint from the root side. Is a vertical articulated robot arm in which the rotation axes of the fourth joint and the rotation axis of the sixth joint are offset.
The solution set generator performs numerical calculation on the angle of the sixth joint on the six joints, and calculates the angle of the remaining joints based on the angle obtained by the numerical calculation. The inverse kinematics calculation device according to claim 1, claim 3 or claim 4, wherein the solution of the inverse kinematics calculation is obtained.
解集合生成器が、前記入力器により受付けられた入力情報に含まれる終点についての逆運動学演算の解を複数求めるステップと、
解選択器が、前記解集合生成器により求められた解の中から、前記入力器により受付けられた入力情報に含まれる始点と当該解との間の関節角補間軌道における移動時間が条件を満たす解を選択するステップと
を有する逆運動学演算方法。 A step in which the input device receives input information including a start point represented by the joint space representation and an end point represented by the Cartesian space representation in a robot arm having a plurality of joints.
A step in which the solution set generator finds a plurality of solutions of the inverse kinematics operation for the end point included in the input information received by the input device.
The solution selector satisfies the movement time in the joint angle interpolation trajectory between the start point included in the input information received by the input device and the solution from the solutions obtained by the solution set generator. An inverse kinematics calculation method with steps to select a solution.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020045918A JP2021146409A (en) | 2020-03-17 | 2020-03-17 | Inverse kinematics operation unit and inverse kinematics operation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020045918A JP2021146409A (en) | 2020-03-17 | 2020-03-17 | Inverse kinematics operation unit and inverse kinematics operation method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021146409A true JP2021146409A (en) | 2021-09-27 |
Family
ID=77850353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020045918A Pending JP2021146409A (en) | 2020-03-17 | 2020-03-17 | Inverse kinematics operation unit and inverse kinematics operation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021146409A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114603558A (en) * | 2022-03-21 | 2022-06-10 | 合肥哈工图南智控机器人有限公司 | Mixed space transition trajectory planning method and device |
-
2020
- 2020-03-17 JP JP2020045918A patent/JP2021146409A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114603558A (en) * | 2022-03-21 | 2022-06-10 | 合肥哈工图南智控机器人有限公司 | Mixed space transition trajectory planning method and device |
CN114603558B (en) * | 2022-03-21 | 2023-12-05 | 合肥哈工图南智控机器人有限公司 | Hybrid space transition track planning method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Particle swarm optimization for solving the inverse kinematics of 7-DOF robotic manipulators | |
US9827675B2 (en) | Collision avoidance method, control device, and program | |
US8560122B2 (en) | Teaching and playback method based on control of redundancy resolution for robot and computer-readable medium controlling the same | |
JP2019010713A (en) | Hand control device, hand control method, and hand simulation device | |
JP4693643B2 (en) | Robot teaching support apparatus and program therefor | |
JPH1097316A (en) | Movement plan and control method for system followed by many mobile objects | |
WO2023024317A1 (en) | Robot obstacle avoidance method and apparatus, and robot | |
JP2013132731A (en) | Robot control system, robot system and robot control method | |
Gao et al. | Optimal trajectory planning for robotic manipulators using improved teaching-learning-based optimization algorithm | |
Iversen et al. | Benchmarking motion planning algorithms for bin-picking applications | |
JP2009134352A (en) | Robot motion path creating device, and robot motion path creating method | |
Petrinec et al. | Trajectory planning algorithm based on the continuity of jerk | |
JP4760732B2 (en) | Route creation device | |
JP2021146411A (en) | Inverse kinematics operation device and inverse kinematics operation method | |
Ting et al. | Kinematic analysis for trajectory planning of open-source 4-DoF robot arm | |
Sadiq et al. | Optimal trajectory planning of 2-DOF robot arm using the integration of PSO based on D* algorithm and cubic polynomial equation | |
Djeffal et al. | Kinematics modeling and simulation analysis of variable curvature kinematics continuum robots | |
Guilamo et al. | Manipulability optimization for trajectory generation | |
JP2021146409A (en) | Inverse kinematics operation unit and inverse kinematics operation method | |
Kim et al. | A geometric approach for forward kinematics analysis of a 3-SPS/S redundant motion manipulator with an extra sensor using conformal geometric algebra | |
EP3978203A1 (en) | Singularity-free kinematic parameterization of soft robot manipulators | |
JP2021146410A (en) | Inverse kinematics operation unit and inverse kinematics operation method | |
Raheem et al. | Applying A* path planning algorithm based on modified c-space analysis | |
Zhao et al. | Efficient inverse kinematics for redundant manipulators with collision avoidance in dynamic scenes | |
Dupac | A path planning approach of 3D manipulators using zenithal gnomic projection and polar piecewise interpolation |