JP2022059740A - Robot and robot control program - Google Patents

Robot and robot control program Download PDF

Info

Publication number
JP2022059740A
JP2022059740A JP2020167512A JP2020167512A JP2022059740A JP 2022059740 A JP2022059740 A JP 2022059740A JP 2020167512 A JP2020167512 A JP 2020167512A JP 2020167512 A JP2020167512 A JP 2020167512A JP 2022059740 A JP2022059740 A JP 2022059740A
Authority
JP
Japan
Prior art keywords
posture
arm member
robot
arm
joint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020167512A
Other languages
Japanese (ja)
Inventor
叡範 関口
Masanori Sekiguchi
直行 武居
Naoyuki Takei
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Metropolitan Public University Corp
Original Assignee
Tokyo Metropolitan Public University Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Metropolitan Public University Corp filed Critical Tokyo Metropolitan Public University Corp
Priority to JP2020167512A priority Critical patent/JP2022059740A/en
Publication of JP2022059740A publication Critical patent/JP2022059740A/en
Pending legal-status Critical Current

Links

Images

Abstract

To reduce a calculation load of an operation path of a multi-joint robot, compared to when using a joint space.SOLUTION: A robot (S) comprises: an arm member (1) having a plurality of arm parts (2), and a joint part (3) arranged at a connection site between two arm parts (2); first posture deriving means (C3) for deriving a posture after the arm member (1) has operated, by solving inverse kinematics with regard to a position of the joint part (3) in an operation of moving a free end (2k) of the arm member (1) to a predetermined target (21); and a second posture deriving means (C6) for deriving an intermediate posture of the arm member (1), by solving inverse kinematics using, as a target position, an intermediate position (22) that is a candidate position through which the free end (2k) passes during operation, in the case of interfering with an obstacle (20) in the middle of the operation, on the basis of a position before operation and a position after operation of each joint part (3) derived by the first posture deriving means (C3).SELECTED DRAWING: Figure 5

Description

本発明は、アーム部と関節部とを有するロボットおよび当該ロボットを制御するロボット制御プログラムに関し、特に、ロボットの自由端を目標に移動させる制御を行う際に逆運動学を使用するロボットおよびロボット制御プログラムに関する。 The present invention relates to a robot having an arm portion and a joint portion and a robot control program for controlling the robot, and in particular, a robot and robot control using inverse kinematics when controlling the movement of the free end of the robot to a target. Regarding the program.

ロボットの把持部のような特定の部位を、目標の位置に移動させるようにロボットの姿勢の軌跡を計算してロボットを制御することが行われている。このような技術として、以下の特許文献1~4に記載の技術が公知である。 The robot is controlled by calculating the trajectory of the posture of the robot so as to move a specific part such as a grip portion of the robot to a target position. As such a technique, the techniques described in the following Patent Documents 1 to 4 are known.

特許文献1(特開2020-93364号公報)には、ロボット等の移動体(1)の把持部(20)を移動させる軌道を導出する際に、まず、できるだけ多くの軌道候補(71a~71e)を生成して、軌道候補(71a~71e)の評価をして、評価の高い軌道(71b)を出力する構成が記載されている。 In Patent Document 1 (Japanese Unexamined Patent Publication No. 2020-93364), when deriving an orbit for moving the grip portion (20) of a moving body (1) such as a robot, first, as many orbital candidates (71a to 71e) as possible are derived. ) Is generated, the orbital candidates (71a to 71e) are evaluated, and the orbital (71b) having a high evaluation is output.

特許文献2(特開2007-313592号公報)には、ロボットが移動する際に、単位時間毎に、障害物とロボットの現在位置、速度、加速度、進行方向および形状やサイズに基づいて、障害物とロボットの相対距離、相対速度、相対加速度を算出し、算出された情報に基づいて、データベースに記憶された行動候補モデルから行動モデルを選択して動作経路を作成することが記載されている。特許文献2では、障害物との距離が近づくと大きくなる斥力ポテンシャルを計算して障害物との距離を評価し、障害物に近づきすぎない行動モデルを選択することが記載されている。 In Patent Document 2 (Japanese Unexamined Patent Publication No. 2007-313592), when a robot moves, an obstacle and an obstacle are found every unit time based on the current position, speed, acceleration, traveling direction, shape and size of the obstacle and the robot. It describes that the relative distance, relative velocity, and relative acceleration of an object and a robot are calculated, and based on the calculated information, an action model is selected from the action candidate models stored in the database to create an action path. .. Patent Document 2 describes that a repulsive force potential that increases as the distance to an obstacle gets closer is calculated to evaluate the distance to the obstacle, and a behavior model that does not get too close to the obstacle is selected.

特許文献3(特開2007-237334号公報)には、多関節のロボットにおいて、開始位置から目標位置までの経路を探索する場合に、最初に、ランダム探索アルゴリズムで経路を探索して、探索された経路上に障害物が存在する場合には、障害物に最も近い終端の位置までの経路を導出した後、障害物が除去されたことを想定して障害物がない状態で経路を探索することが記載されている。 In Patent Document 3 (Japanese Unexamined Patent Publication No. 2007-237334), when searching for a route from a start position to a target position in an articulated robot, the route is first searched by a random search algorithm and then searched. If there is an obstacle on the route, the route to the end position closest to the obstacle is derived, and then the route is searched without the obstacle assuming that the obstacle has been removed. It is stated that.

特許文献4(特開2000-20117号公報)には、2自由度のロボットの動作経路計画を生成する技術において、ロボットと作業環境の幾何学的形状を幾何モデル(C空間)で表現して、幾何モデル上で、スタートからゴールまで経路を探索している。特許文献4では、経路の干渉の検査や、距離の評価を行って、距離和の最も短い経路を選択して出力する。 In Patent Document 4 (Japanese Unexamined Patent Publication No. 2000-20117), the geometric shape of the robot and the working environment is expressed by a geometric model (C space) in a technique for generating an operation path plan of a robot having two degrees of freedom. , Searching the route from the start to the goal on the geometric model. In Patent Document 4, the route interference is inspected and the distance is evaluated, and the route having the shortest sum of distances is selected and output.

特開2020-93364号公報(「0050」-「0056」、図3、図6~図9)Japanese Unexamined Patent Publication No. 2020-93364 ("0050"-"0056", FIGS. 3, 6 to 9) 特開2007-313592号公報(「0023」-「0042」)JP-A-2007-131592 ("0023"-"0042") 特開2007-237334号公報(「0023」-「0050」)JP-A-2007-237334 ("0023"-"0050") 特開2000-20117号公報(「0009」-「0011」)Japanese Unexamined Patent Publication No. 2000-20117 ("0009"-"0011")

(従来技術の問題点)
特許文献1,3に記載の技術では、軌道候補やランダム探索を行っているが、ロボットの関節の数が1~3程度の少ないものであれば、計算することは可能であるが、関節の数が多くなると計算量が膨大になって計算負荷が問題となる。計算負荷が大きくなると、リアルタイム制御が困難になる問題もある。特許文献2,4に記載の技術も、多くのパラメータを単位時間毎に計算したり、評価をその都度行っており、関節の数が多くなればなるほど計算負荷が膨大になる問題がある。
(Problems of conventional technology)
In the techniques described in Patent Documents 1 and 3, trajectory candidates and random searches are performed. If the number of joints of the robot is as small as 1 to 3, it is possible to calculate, but the joints As the number increases, the amount of calculation becomes enormous and the calculation load becomes a problem. When the calculation load becomes large, there is also a problem that real-time control becomes difficult. The techniques described in Patent Documents 2 and 4 also calculate many parameters every unit time and perform evaluation each time, and there is a problem that the calculation load becomes enormous as the number of joints increases.

現在、産業用ロボットアームのような多関節ロボットを制御する場合には、逆運動学を解いて多関節ロボットの制御を行うことが知られている。ロボットの自由端部(ロボットのハンド部)を目標に到達させる場合に、各関節の角度、向き(原因)から自由端部の位置(結果)を演算することが順運動学であり、自由端部の位置(結果)から各関節の角度、向き(原因)を演算(逆算)することが逆運動学である。
逆運動学において結果を得る方法として、方程式等を使用して解析的に解く解析的解法と、数値を当てはめていって近似的に解く数値的解法とが知られている。解析的解法は、多関節ロボットの構造が特別な条件を満たしている場合に限定される制約があり、数値解法はロボットの構造によらず使用できる利点がある。
Currently, when controlling an articulated robot such as an industrial robot arm, it is known to solve the inverse kinematics to control the articulated robot. When the free end of the robot (the hand of the robot) reaches the target, it is forward kinematics to calculate the position (result) of the free end from the angle and orientation (cause) of each joint. Inverse kinematics is the calculation (back calculation) of the angle and orientation (cause) of each joint from the position (result) of the part.
As a method of obtaining a result in inverse kinematics, an analytical solution method that solves analytically using an equation or the like and a numerical solution method that solves approximately by applying a numerical value are known. The analytical solution has the limitation that it is limited to the case where the structure of the articulated robot meets special conditions, and the numerical solution has the advantage that it can be used regardless of the structure of the robot.

図7は従来の逆運動学の解法の説明図であり、図7Aはロボットのモデルの一例の説明図、図7Bは関節空間の説明図、図7Cは図7Bの要部拡大図である。
図7において、関節部01が2つのアーム02の場合、各関節部01の変位量をq,qとし、障害物や関節部01の可動域等を考慮して、各変位量q,qがとり得る値を図7Bに示すような平面で表すことができる。図7Bにおいて、両方の変位量q,qがその値をとることができる場合は白丸で表され、一方または両方の変位量q,qがその値をとることができない場合は黒丸で表されている。したがって、関節空間を使用して初期位置03から目的位置04に移動する経路06を導出する場合には、障害物等の距離を評価関数(障害物に近いほど評価が低く、距離が長いほど評価が低くなる関数)で評価して、図7Cの矢印で示す経路06が選択される。
FIG. 7 is an explanatory diagram of a conventional solution of inverse kinematics, FIG. 7A is an explanatory diagram of an example of a robot model, FIG. 7B is an explanatory diagram of a joint space, and FIG. 7C is an enlarged view of a main part of FIG. 7B.
In FIG. 7, when the joint portions 01 are two arms 02, the displacement amounts of the joint portions 01 are set to q 0 and q 1 , and each displacement amount q 0 in consideration of obstacles, the range of motion of the joint portions 01, and the like. , Q 1 can be represented by a plane as shown in FIG. 7B. In FIG. 7B, if both displacements q 0 and q 1 can take the value, they are represented by white circles, and if one or both displacements q 0 and q 1 cannot take the value, they are black circles. It is represented by. Therefore, when deriving the path 06 that moves from the initial position 03 to the target position 04 using the joint space, the distance of the obstacle or the like is evaluated by the evaluation function (the closer to the obstacle, the lower the evaluation, and the longer the distance, the better the evaluation. The path 06 indicated by the arrow in FIG. 7C is selected by evaluation with the function).

図7に示す従来の関節空間や評価関数を使用する場合は、各変位量q,qが取りうる値の全範囲について計算する必要があり、計算量が多い問題がある。
そして、図7B、図7Cに示した一例では、関節部01の数が2つであったため変位量が取りうる値を2次元平面で表現できたが、関節部01の数がn個の場合は、n次元の空間となる。このn次元空間は、「関節空間」や「配位空間」、「コンフィグレーション空間(C空間、特許文献4参照)」と呼ばれる。したがって、関節部01の数が増えれば増えるほど、n次元の次元が増え、関節空間の計算が指数関数的に膨大となっていき、経路06の導出に時間がかかる問題がある。
特に、障害物が静止していれば、関節空間における計算は時間をかければまだ実用性があるかもしれないが、障害物が移動する場合は、障害物が移動するたびに関節空間を再計算する必要があり、計算負荷がさらに膨大になる問題もある。
When the conventional joint space and the evaluation function shown in FIG. 7 are used, it is necessary to calculate the entire range of values that each displacement amount q 0 and q 1 can take, which causes a problem that the calculation amount is large.
In the example shown in FIGS. 7B and 7C, since the number of joints 01 was two, the value that the displacement amount could take could be expressed in a two-dimensional plane, but when the number of joints 01 was n. Is an n-dimensional space. This n-dimensional space is called "joint space", "configuration space", or "configuration space (C space, see Patent Document 4)". Therefore, as the number of joint portions 01 increases, the n-dimensional dimension increases, the calculation of the joint space becomes exponentially enormous, and there is a problem that it takes time to derive the path 06.
Especially if the obstacle is stationary, the calculation in the joint space may still be practical if it takes time, but if the obstacle moves, the joint space is recalculated every time the obstacle moves. There is also a problem that the calculation load becomes even larger.

本発明は、関節空間を使用する場合に比べて、多関節のロボットの動作の経路の計算負荷を軽減することを技術的課題とする。 It is a technical subject of the present invention to reduce the calculation load of the motion path of the articulated robot as compared with the case of using the joint space.

前記技術的課題を解決するために、請求項1に記載の発明のロボットは、
複数のアーム部と、2つのアーム部どうしの連結部位に配置され且つ一方のアーム部に対して他方のアーム部を変位させることが可能な関節部と、を有するアーム部材と、
前記アーム部材の自由端を予め定められた目標に移動させる動作における前記関節部の位置について逆運動学を解いて前記アーム部材の動作後の姿勢を導出する第1の姿勢導出手段と、
前記第1の姿勢導出手段で導出された各関節部の動作前の位置と動作後の位置に基づいて、動作の途中で障害物に干渉する場合には、動作時に自由端が通過する候補の位置である中間位置を目標の位置として逆運動学を解いて、前記アーム部材の中間姿勢を導出する第2の姿勢導出手段と、
前記第1の姿勢導出手段で導出された動作の途中で前記アーム部材が障害物に干渉する場合には、前記第2の姿勢導出手段で導出された中間姿勢を経由して前記アーム部材の自由端を目標に移動させるように各関節部を制御するアーム制御手段と、
を備えたことを特徴とする。
In order to solve the technical problem, the robot according to claim 1 is the robot of the invention.
An arm member having a plurality of arm portions and a joint portion arranged at a connecting portion between the two arm portions and capable of displacing the other arm portion with respect to one arm portion.
A first posture deriving means for deriving the post-motion posture of the arm member by solving the inverse kinematics for the position of the joint in the motion of moving the free end of the arm member to a predetermined target.
Based on the pre-motion position and post-motion position of each joint derived by the first posture derivation means, if an obstacle is interfered with during the motion, the candidate for which the free end passes during the motion. A second posture deriving means for deriving the intermediate posture of the arm member by solving the reverse kinematics with the intermediate position as the target position as the target position.
When the arm member interferes with an obstacle during the operation derived by the first posture deriving means, the arm member is free to pass through the intermediate posture derived by the second posture deriving means. Arm control means that controls each joint so that the end is moved to the target,
It is characterized by being equipped with.

請求項2に記載の発明は、請求項1に記載のロボットにおいて、
前記第1の姿勢導出手段で導出された動作後のアーム部材の姿勢において、自由端よりも1つ基端側の関節部の位置を前記中間位置として、前記中間姿勢を導出する前記第2の姿勢導出手段、
を備えたことを特徴とする。
The invention according to claim 2 is the robot according to claim 1.
In the posture of the arm member after the operation derived by the first posture deriving means, the position of the joint portion on the base end side of the free end is set as the intermediate position, and the intermediate posture is derived. Posture derivation means,
It is characterized by being equipped with.

請求項3に記載の発明は、請求項2に記載のロボットにおいて、
動作後のアーム部材の姿勢において自由端よりも1つ基端側の関節部の位置を前記中間位置として中間姿勢を導出した場合に、動作前の姿勢から前記中間姿勢に移動する途中で障害物に干渉する場合には、動作前のアーム部材の姿勢において、自由端よりも1つ基端側の関節部の位置を自由端の位置とする第2の中間姿勢から前記中間位置を目標とする逆運動学を解く前記第2の姿勢導出手段、
を備えたことを特徴とする。
The invention according to claim 3 is the robot according to claim 2.
When the intermediate posture is derived with the position of the joint portion on the base end side of the free end as the intermediate position in the posture of the arm member after the operation, an obstacle is formed while moving from the posture before the operation to the intermediate posture. In the case of interference with, in the posture of the arm member before movement, the intermediate position is targeted from the second intermediate posture in which the position of the joint portion on the base end side of the free end is the position of the free end. The second posture derivation means for solving reverse kinetics,
It is characterized by being equipped with.

前記技術的課題を解決するために、請求項4に記載の発明のロボット制御プラグラムは、
複数のアーム部と、2つのアーム部どうしの連結部位に配置され且つ一方のアーム部に対して他方のアーム部を変位させることが可能な関節部と、を有するアーム部材を有するロボットを制御するロボット制御プログラムであって、
コンピュータを、
前記アーム部材の自由端を予め定められた目標に移動させる動作における前記関節部の位置について逆運動学を解いて前記アーム部材の動作後の姿勢を導出する第1の姿勢導出手段、
前記第1の姿勢導出手段で導出された各関節部の動作前の位置と動作後の位置に基づいて、動作の途中で障害物に干渉する場合には、動作時に自由端が通過する候補の位置である中間位置を目標の位置として逆運動学を解いて、前記アーム部材の中間姿勢を導出する第2の姿勢導出手段、
前記第1の姿勢導出手段で導出された動作の途中で前記アーム部材が障害物に干渉する場合には、前記第2の姿勢導出手段で導出された中間姿勢を経由して前記アーム部材の自由端を目標に移動させるように各関節部を制御するアーム制御手段、
として機能させることを特徴とする。
In order to solve the technical problem, the robot control program of the invention according to claim 4 is used.
Controls a robot having an arm member having a plurality of arm portions and a joint portion arranged at a connecting portion between the two arm portions and capable of displacing the other arm portion with respect to one arm portion. It ’s a robot control program.
Computer,
A first posture deriving means for deriving a post-motion posture of the arm member by solving inverse kinematics for the position of the joint in an motion of moving the free end of the arm member to a predetermined target.
Based on the pre-motion position and post-motion position of each joint derived by the first posture derivation means, if an obstacle is interfered with during the motion, the candidate for which the free end passes during the motion. A second posture deriving means for deriving the intermediate posture of the arm member by solving the inverse kinematics with the intermediate position as the target position as the target position.
When the arm member interferes with an obstacle during the operation derived by the first posture deriving means, the arm member is free to pass through the intermediate posture derived by the second posture deriving means. Arm control means that controls each joint to move the end to the target,
It is characterized by functioning as.

請求項1,4に記載の発明によれば、関節空間を使用する場合に比べて、多関節のロボットの動作の経路の計算負荷を軽減することができる。
請求項2に記載の発明によれば、自由端よりも1つ基端側の関節部の位置を中間位置とする経路を導出することで、最終的な姿勢を基準に経路を導出することができる。
請求項3に記載の発明によれば、中間姿勢だけでは干渉が解消されない場合に、第2の中間姿勢を設定して経路を導出しており、第2の中間姿勢が設定されない場合に比べて、干渉が解消されやすくなっている。
According to the inventions of claims 1 and 4, the calculation load of the motion path of the articulated robot can be reduced as compared with the case of using the joint space.
According to the second aspect of the present invention, it is possible to derive a path based on the final posture by deriving a path having a joint portion on the base end side of the free end as an intermediate position. can.
According to the third aspect of the present invention, when the interference cannot be eliminated only by the intermediate posture, the second intermediate posture is set and the path is derived, as compared with the case where the second intermediate posture is not set. , Interference is easy to eliminate.

図1は本発明の実施例1のロボットの概略説明図である。FIG. 1 is a schematic explanatory view of the robot according to the first embodiment of the present invention. 図2は実施例1の制御部を機能ブロック図で示した説明図である。FIG. 2 is an explanatory diagram showing the control unit of the first embodiment as a functional block diagram. 図3は実施例1のアーム部材の動作前の状態の説明図である。FIG. 3 is an explanatory diagram of a state before the operation of the arm member of the first embodiment. 図4は実施例1のアーム部材の逆運動学を解いた動作後の姿勢の一例の説明図であり、図4Aは逆運動学の数値解法で解いた場合の一例の説明図、図4Bは優先度付き逆運動学で解いた場合の一例の説明図である。FIG. 4 is an explanatory diagram of an example of a posture after an operation in which the inverse kinematics of the arm member of the first embodiment is solved, FIG. 4A is an explanatory diagram of an example in the case of solving by a numerical solution method of the inverse kinematics, and FIG. 4B is an explanatory diagram. It is explanatory drawing of an example when it was solved by the inverse kinematics with priority. 図5は中間位置を目標位置にした場合の説明図であり、図5Aは第1の中間位置を目標位置として逆運動学を解いた場合の説明図、図5Bは第2の中間位置が設定された状態の説明図である。FIG. 5 is an explanatory diagram when the intermediate position is set as the target position, FIG. 5A is an explanatory diagram when inverse kinematics is solved with the first intermediate position as the target position, and FIG. 5B is an explanatory diagram when the second intermediate position is set. It is explanatory drawing of the state which was done. 図6は実施例1の動作計画出力処理のフローチャートの説明図である。FIG. 6 is an explanatory diagram of a flowchart of the operation plan output process of the first embodiment. 図7は従来の逆運動学の解法の説明図であり、図7Aはロボットのモデルの一例の説明図、図7Bは関節空間の説明図、図7Cは図7Bの要部拡大図である。FIG. 7 is an explanatory diagram of a conventional solution of inverse kinematics, FIG. 7A is an explanatory diagram of an example of a robot model, FIG. 7B is an explanatory diagram of a joint space, and FIG. 7C is an enlarged view of a main part of FIG. 7B.

次に図面を参照しながら、本発明の実施の形態の具体例(以下、実施例と記載する)を説明するが、本発明は以下の実施例に限定されるものではない。
なお、以下の図面を使用した説明において、理解の容易のために説明に必要な部材以外の図示は適宜省略されている。
Next, specific examples of embodiments of the present invention (hereinafter referred to as Examples) will be described with reference to the drawings, but the present invention is not limited to the following examples.
In addition, in the explanation using the following drawings, the illustrations other than the members necessary for the explanation are omitted as appropriate for the sake of easy understanding.

図1は本発明の実施例1のロボットの概略説明図である。
図1において、本発明のロボットの一例としての実施例1のロボットアームシステムSは、アーム部材1を有する。アーム部材1は、複数のアーム部2と、アーム部2どうしを連結する関節部3とを有する。実施例1のアーム部材1は、台座部4に一端が支持された第1のアーム部2aを有する。第1のアーム部2aの他端には、第1の関節部3aが支持されている。以下同様に、第2のアーム部2b、第2の関節部3b、…、第7の関節部3g、第8のアーム部2hが連結されている。第8のアーム部2hの他端(先端)には対象物を把持、解放可能なロボットハンド部2kが形成されている。
したがって、実施例1のアーム部材1では、全体としては、第1のアーム部2aの一端部が基端部となり、ロボットハンド部2kが自由端部となる。
FIG. 1 is a schematic explanatory view of the robot according to the first embodiment of the present invention.
In FIG. 1, the robot arm system S of the first embodiment as an example of the robot of the present invention has an arm member 1. The arm member 1 has a plurality of arm portions 2 and a joint portion 3 that connects the arm portions 2 to each other. The arm member 1 of the first embodiment has a first arm portion 2a whose one end is supported by the pedestal portion 4. A first joint portion 3a is supported at the other end of the first arm portion 2a. Similarly, the second arm portion 2b, the second joint portion 3b, ..., The seventh joint portion 3g, and the eighth arm portion 2h are connected. A robot hand portion 2k capable of gripping and releasing an object is formed at the other end (tip) of the eighth arm portion 2h.
Therefore, in the arm member 1 of the first embodiment, as a whole, one end of the first arm portion 2a is a base end portion, and the robot hand portion 2k is a free end portion.

なお、実施例1では、7個の関節部3a~3gと、8個のアーム部2a~2hを有する構成を例示したがこれに限定されない。また、実施例1では、関節タイプを回転関節のみの構成例であるが、直動関節を含んだロボットアームでもよい。以降では、「変位量」の一例として、単に回転関節の「回転量」と表記する場合もあるが、直動関節の並進移動の「移動量」を意味する場合もあり、適宜読み替え可能である。
アーム部2や関節部3の数は、アーム部材1の用途や設計、仕様等に応じて任意の数に増減可能である。特に、逆運動学においては、X軸、Y軸、Z軸の直交座標系において、関節部3の位置x,y,zと、X軸、Y軸、Z軸周りの回転角θx,θy,θzの6つの変数に対して、関節部3の数が6つ以下であれば、関節部毎に成立する方程式の数の方が変数より少なく、特定の条件を満たせば解析的に解くことが可能な場合もある。一方で、関節部3の数が7以上になると解析的に解くことは基本的には困難であり、数値的な解法が原則的に使用されることとなるため、関節部3の数が7以上である場合に、本願発明は好適に利用可能である。
In Example 1, a configuration having seven joint portions 3a to 3g and eight arm portions 2a to 2h has been exemplified, but the present invention is not limited to this. Further, in the first embodiment, the joint type is only a rotary joint, but a robot arm including a linear motion joint may be used. Hereinafter, as an example of the "displacement amount", it may be simply referred to as the "rotation amount" of the rotary joint, but it may also mean the "movement amount" of the translational movement of the linear joint, and can be read as appropriate. ..
The number of arm portions 2 and joint portions 3 can be increased or decreased to an arbitrary number depending on the use, design, specifications, and the like of the arm member 1. In particular, in inverse kinematics, in the X-axis, Y-axis, and Z-axis Cartesian coordinate systems, the positions x, y, and z of the joint portion 3 and the rotation angles θx, θy around the X-axis, Y-axis, and Z-axis, If the number of joints 3 is 6 or less for the 6 variables of θz, the number of equations that hold for each joint is smaller than the variables, and if certain conditions are met, it can be solved analytically. It may be possible. On the other hand, when the number of joints 3 is 7 or more, it is basically difficult to solve analytically, and since a numerical solution is used in principle, the number of joints 3 is 7. In the above cases, the invention of the present application can be suitably used.

前記関節部3(3a~3g)は、回転軸を中心として一方のアーム部2a~2gに対して他方のアーム部2b~2hを回転(変位)可能に構成されている。各関節部3には、図示しないモータが内蔵されており、モータの回転駆動、回転停止を制御することで回転量を制御可能に構成されている。各関節部3のモータは、実施例1では、図示しない無線通信チップで制御信号を受信して駆動する構成としているが、これに限定されない。通信ケーブル等の有線で制御信号を送受信可能な構成としてモータを制御することも可能である。なお、無線通信や有線通信の方式は、従来公知の任意の通信方式とすることが可能であり、携帯電話回線やBluetooth(登録商標)、無線LAN等、任意の無線通信方式を採用したり、USB(Universal Serial Bus)等のシリアル方式やパラレル方式等任意の有線通信方式を採用することが可能である。 The joint portions 3 (3a to 3g) are configured to be able to rotate (displace) the other arm portions 2b to 2h with respect to one arm portion 2a to 2g about the rotation axis. Each joint portion 3 has a built-in motor (not shown), and is configured to be able to control the amount of rotation by controlling the rotation drive and rotation stop of the motor. In the first embodiment, the motor of each joint portion 3 is configured to receive and drive a control signal by a wireless communication chip (not shown), but the motor is not limited to this. It is also possible to control the motor as a configuration that can send and receive control signals by wire such as a communication cable. The wireless communication or wired communication method can be any conventionally known communication method, and any wireless communication method such as a mobile phone line, Bluetooth (registered trademark), wireless LAN, etc. can be adopted. It is possible to adopt any wired communication method such as a serial method such as USB (Universal Serial Bus) or a parallel method.

前記アーム部材1は、情報処理装置の一例としてのコンピュータ装置11で制御される。実施例1では、アーム部材1はコンピュータ装置11との間で無線通信が可能に構成されている。コンピュータ装置11は、コンピュータ本体12と、表示部の一例としてのディスプレイ13と、入力部の一例としてのキーボード14およびマウス15と、を有する。なお、実施例1では、コンピュータ装置11としてデスクトップ型のコンピュータ装置を例示したがこれに限定されず、ラップトップ型(ノート型)のコンピュータ装置を使用することも可能である。また、コンピュータ装置11として、パーソナルコンピュータ装置に限定されず、サーバー型やマイクロコンピュータ型、チップ型等の任意の形態とすることも可能である。 The arm member 1 is controlled by a computer device 11 as an example of an information processing device. In the first embodiment, the arm member 1 is configured to enable wireless communication with the computer device 11. The computer device 11 includes a computer main body 12, a display 13 as an example of a display unit, and a keyboard 14 and a mouse 15 as an example of an input unit. In the first embodiment, the desktop type computer device is exemplified as the computer device 11, but the present invention is not limited to this, and a laptop type (notebook type) computer device can also be used. Further, the computer device 11 is not limited to the personal computer device, and may be in any form such as a server type, a microcomputer type, and a chip type.

(制御部の説明)
図2は実施例1の制御部を機能ブロック図で示した説明図である。
実施例1のコンピュータ本体12の制御部(コントローラ)Cは、外部との信号の入出力および入出力信号レベルの調節等を行うI/O(入出力インターフェース)、必要な起動処理を行うためのプログラムおよびデータ等が記憶されたROM(リードオンリーメモリ)、必要なデータ及びプログラムを一時的に記憶するためのRAM(ランダムアクセスメモリ)、ROM等に記憶された起動プログラムに応じた処理を行うCPU(中央演算処理装置)ならびにクロック発振器等を有するコンピュータ装置により構成されており、前記ROM及びRAM等に記憶されたプログラムを実行することにより種々の機能を実現することができる。
コンピュータ本体12には、基本動作を制御する基本ソフト、いわゆる、オペレーティングシステムや、アプリケーションプログラムの一例としてのロボット制御プログラム、その他の図示しないソフトウェアが記憶されている。
実施例1のロボット制御プログラムは、以下の機能(手段、機能モジュール)C1~C7を有する。
(Explanation of control unit)
FIG. 2 is an explanatory diagram showing the control unit of the first embodiment as a functional block diagram.
The control unit (controller) C of the computer main body 12 of the first embodiment is an I / O (input / output interface) for inputting / outputting signals to / from the outside and adjusting the input / output signal level, and for performing necessary activation processing. ROM (read-only memory) in which programs and data are stored, RAM (random access memory) for temporarily storing necessary data and programs, CPU that performs processing according to the startup program stored in ROM etc. It is composed of a (central processing unit) and a computer device having a clock oscillator and the like, and various functions can be realized by executing a program stored in the ROM, RAM and the like.
The computer main body 12 stores basic software for controlling basic operations, a so-called operating system, a robot control program as an example of an application program, and other software (not shown).
The robot control program of the first embodiment has the following functions (means, functional modules) C1 to C7.

図3は実施例1のアーム部材の動作前の状態の説明図である。
目標位置記憶手段C1は、アーム部材1のロボットハンド部2kの目標位置を記憶する。実施例1では、目標位置21は、利用者によりコンピュータ装置11のキーボード14やマウス15を通じて入力される。
初期状態記憶手段C2は、アーム部材1の初期状態、すなわち、動作前の状態を記憶する。図3において、実施例1の初期状態記憶手段C2は、一例として、アーム部材1は、基端から自由端であるロボットハンド部2kまで鉛直上方に向けて起立した状態を初期状態として記憶している。なお、図3では、アーム部材1に対して、障害物20が設定されている。
FIG. 3 is an explanatory diagram of a state before the operation of the arm member of the first embodiment.
The target position storage means C1 stores the target position of the robot hand portion 2k of the arm member 1. In the first embodiment, the target position 21 is input by the user through the keyboard 14 and the mouse 15 of the computer device 11.
The initial state storage means C2 stores the initial state of the arm member 1, that is, the state before the operation. In FIG. 3, the initial state storage means C2 of the first embodiment stores, as an example, a state in which the arm member 1 stands upright from the base end to the robot hand portion 2k, which is a free end, as an initial state. There is. In FIG. 3, an obstacle 20 is set for the arm member 1.

第1の姿勢導出手段C3は、逆運動学解析手段C3aと、優先度付き逆運動学解析手段C3bとを有し、アーム部材1の自由端(ロボットハンド部2k)を目標位置21に移動させる動作における関節部3a~3gの位置や変位量について逆運動学を解いてアーム部材1の動作後の姿勢を導出する。
逆運動学解析手段C3aは、アーム部材1のロボットハンド部2kの目標位置21から、各関節部3a~3gの角度(変位量)、向きを演算する逆運動学を解いて、アーム部材1を初期状態からロボットハンド部2kが目標位置21に到達するまでの変位量を導出する。なお、実施例1では逆運動学の数値解法で解いているが、逆運動学の数値解法は従来公知(例えば、特許第5586015号公報等参照)であるため、詳細な説明は省略する。
The first attitude deriving means C3 has an inverse kinematics analysis means C3a and a prioritized inverse kinematics analysis means C3b, and moves the free end (robot hand portion 2k) of the arm member 1 to the target position 21. Inverse kinematics is solved for the positions and displacements of the joint portions 3a to 3g in the motion, and the posture of the arm member 1 after the motion is derived.
The inverse kinematics analysis means C3a solves the inverse kinematics for calculating the angle (displacement amount) and direction of each joint portion 3a to 3g from the target position 21 of the robot hand portion 2k of the arm member 1, and obtains the arm member 1. The amount of displacement from the initial state until the robot hand unit 2k reaches the target position 21 is derived. In Example 1, the numerical solution method of inverse kinematics is used, but since the numerical solution method of inverse kinematics is conventionally known (see, for example, Japanese Patent No. 5586015), detailed description thereof will be omitted.

優先度付き逆運動学解析手段C3bは、逆運動学を解く際に、ロボットハンド部2kを目標位置21に近づけるだけでなく、アーム部材1の途中の特定の位置を、障害物20を避けるように目標位置21とは別の第2の目標位置に近づけると共に、途中の特定の位置を第2の目標位置に近づけることよりもロボットハンド部2kを目標位置21に近づけることを優先する「優先度付き逆運動学」を解いて、アーム部材1を初期状態からロボットハンド部2kが目標位置21に到達するまでの変位量を導出する。
なお、優先度付き逆運動学は、例えば、非特許文献1「T. Sugihara: “Robust Solution of Prioritized Inverse Kinematics Based on Hestenes-Powell Multiplier Method,” IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.510-515, 2014.」や、非特許文献2「関口叡範, 武居直行: “切断法による優先度付き逆運動学の数値解法,” 日本ロボット学会誌, vol.37, no.8, pp.711-717, 2019.」、非特許文献3「M. Sekiguchi and N. Takesue: “Fast and Robust Numerical Method for Inverse Kinematics with Prioritized Multiple Targets for Redundant Robots,” Advanced Robotics, vol.34, no.16, pp.1068-1078, 2020.」等に記載されており、公知であるため、詳細な説明は省略する。
When solving the reverse kinematics, the prioritized reverse kinematics analysis means C3b not only brings the robot hand portion 2k closer to the target position 21, but also avoids the obstacle 20 at a specific position in the middle of the arm member 1. Priority is given to bringing the robot hand unit 2k closer to the target position 21 than to bring the specific position on the way closer to the second target position while approaching the second target position different from the target position 21. The amount of displacement of the arm member 1 from the initial state until the robot hand portion 2k reaches the target position 21 is derived by solving the "reverse kinematics".
Inverse kinematics with priority is described, for example, in Non-Patent Document 1 “T. Sugihara:“ Robust Solution of Prioritized Inverse Kinematics Based on Hestenes-Powell Multiplier Method, ”IEEE / RSJ International Conference on Intelligent Robots and Systems, pp. 510-515, 2014. ”and Non-Patent Document 2“ Yoshinori Sekiguchi, Naoyuki Takei: “Numerical Solution of Priority Inverse Kinematics by Cutting Method,” Journal of the Institute of Electrical and Electronics Engineers, vol.37, no.8, pp .711-717, 2019. ”, Non-Patent Document 3“ M. Sekiguchi and N. Takesue: “Fast and Robust Numerical Method for Inverse Kinematics with Prioritized Multiple Targets for Redundant Robots,” Advanced Robotics, vol.34, no.16 , Pp.1068-1078, 2020. ”, etc., and since it is publicly known, detailed explanation is omitted.

干渉判別手段C4は、アーム部材1が障害物20に干渉しているか否かを判別する。干渉判別手段C4は、アーム部材1が配置された空間において、障害物20の領域内に、アーム部材1の一部が存在しているか(進入しているか)否かを判別することで、干渉しているか否かの判別を行う。 The interference determination means C4 determines whether or not the arm member 1 is interfering with the obstacle 20. The interference determining means C4 determines whether or not a part of the arm member 1 exists (enters) in the area of the obstacle 20 in the space where the arm member 1 is arranged, thereby causing interference. Determine if it is.

図4は実施例1のアーム部材の逆運動学を解いた動作後の姿勢の一例の説明図であり、図4Aは逆運動学の数値解法で解いた場合の一例の説明図、図4Bは優先度付き逆運動学で解いた場合の一例の説明図である。
実施例1の第1の姿勢導出手段C3は、アーム部材1を目標位置21に移動させる動作計画を導出する場合には、まず、逆運動学解析手段C3aで導出を行い、干渉判別手段C4で干渉の判別を行う。動作後の状態でアーム部材1が障害物20に干渉しなかった場合には、逆運動学解析手段C3aでの導出結果を動作計画の動作後の姿勢として採用する。逆運動学解析手段C3aでの導出では、図4Aに示すように、アーム部材1が障害物20に干渉する場合には、優先度付き逆運動学解析手段C3bで導出を行う。そして、優先度付き逆運動学で導出された動作後の姿勢に対して、干渉判別手段C4で干渉の判別を行う。図4Bに示すように、動作後の状態でアーム部材1が障害物に干渉しなかった場合には、優先度付き逆運動学解析手段C3bでの導出結果を動作計画の動作後の姿勢として採用する。優先度付き逆運動学でも干渉しない結果が得られない場合には、動作計画が生成できないとしてエラー出力する。
FIG. 4 is an explanatory diagram of an example of a posture after an operation in which the inverse kinematics of the arm member of the first embodiment is solved, FIG. 4A is an explanatory diagram of an example in the case of solving by a numerical solution method of the inverse kinematics, and FIG. 4B is an explanatory diagram. It is explanatory drawing of an example when it was solved by the inverse kinematics with priority.
When deriving the motion plan for moving the arm member 1 to the target position 21, the first posture deriving means C3 of the first embodiment first derives the motion plan by the inverse kinematics analysis means C3a and then the interference determining means C4. Determine the interference. If the arm member 1 does not interfere with the obstacle 20 in the post-motion state, the derivation result of the inverse kinematics analysis means C3a is adopted as the post-motion posture of the motion plan. In the derivation by the inverse kinematics analysis means C3a, as shown in FIG. 4A, when the arm member 1 interferes with the obstacle 20, the derivation is performed by the prioritized inverse kinematics analysis means C3b. Then, the interference discrimination means C4 discriminates the interference with respect to the posture after the motion derived by the prioritized inverse kinematics. As shown in FIG. 4B, when the arm member 1 does not interfere with the obstacle in the post-motion state, the derivation result of the prioritized inverse kinematics analysis means C3b is adopted as the post-motion posture of the motion plan. do. If the result that does not interfere with the inverse kinematics with priority cannot be obtained, an error is output as the motion plan cannot be generated.

経路生成手段の一例としての軌道生成手段C5は、初期状態(始点)から、採用された動作後の姿勢(終点)までのアーム部材1の軌道(経路)を生成する。軌道生成手段C5は、始点と終点を直線補間して関節軌道を生成する。実施例1の直線補間は、具体的には、以下のように計算する。まず、始点となる関節部3(3a~3g)のそれぞれについて変位ベクトルをqs、終点となる関節変位ベクトルをqgとする。また、始点から終点に遷移するまでに要する時間をτとし、動作中の時刻t(0≦t≦τ)とする。始点と終点を直線補間することによって得られる関節軌道q(t)は、以下の式(1)のように表される。
q(t)=qs+(t/τ)・(qg-qs) …式(1)
なお、軌道生成手段C5で生成された軌道において、干渉判別手段C4で動作の途中で障害物20に干渉しないかどうかを判別する。すなわち、式(1)で表される直線状の軌道が障害物20の領域を通過するか否かを判別する。軌道が障害物20に干渉しない場合は、導出された軌道を動作計画の解として採用する。
The trajectory generating means C5 as an example of the path generating means generates a trajectory (path) of the arm member 1 from the initial state (start point) to the adopted posture (end point) after the operation. The trajectory generating means C5 linearly interpolates the start point and the end point to generate a joint trajectory. Specifically, the linear interpolation of the first embodiment is calculated as follows. First, let qs be the displacement vector for each of the joint portions 3 (3a to 3g) that are the starting points, and qg be the joint displacement vector that is the ending point. Further, the time required for transitioning from the start point to the end point is τ, and the operating time t (0 ≦ t ≦ τ). The joint trajectory q (t) obtained by linearly interpolating the start point and the end point is expressed by the following equation (1).
q (t) = qs + (t / τ) ・ (qg-qs)… Equation (1)
In the orbit generated by the orbit generating means C5, the interference determining means C4 determines whether or not the obstacle 20 is interfered with during the operation. That is, it is determined whether or not the linear orbit represented by the equation (1) passes through the region of the obstacle 20. If the track does not interfere with the obstacle 20, the derived track is adopted as the solution of the motion plan.

第2の姿勢導出手段C6は、中間位置設定手段C6aを有し、第1の姿勢導出手段C3で導出された各関節部3a~3gの動作前の位置と動作後の位置に基づいて、動作の途中で障害物20に干渉する場合には、動作時に自由端が通過する候補の位置である中間位置22を目標の位置として逆運動学を解いて、アーム部材1の中間姿勢を導出する。実施例1の第2の姿勢導出手段C6は、軌道生成手段C5で生成された軌道が障害物20に干渉すると判別された場合に、中間位置22を新たな目標位置として、第1の姿勢導出手段C3と同様に逆運動学の数値解法で解く。 The second posture deriving means C6 has an intermediate position setting means C6a, and operates based on the pre-operation position and the post-operation position of each of the joint portions 3a to 3g derived by the first posture deriving means C3. In the case of interfering with the obstacle 20 in the middle of the operation, the reverse kinematics is solved with the intermediate position 22 which is the candidate position through which the free end passes during operation as the target position, and the intermediate posture of the arm member 1 is derived. The second posture deriving means C6 of the first embodiment sets the intermediate position 22 as a new target position when it is determined that the orbit generated by the orbit generating means C5 interferes with the obstacle 20, and the first posture deriving means is derived. It is solved by the numerical solution method of inverse kinematics as in the means C3.

図5は中間位置を目標位置にした場合の説明図であり、図5Aは第1の中間位置を目標位置として逆運動学を解いた場合の説明図、図5Bは第2の中間位置が設定された状態の説明図である。
中間位置設定手段C6aは、中間位置22を設定する。実施例1では、中間位置22の一例として、動作後のアーム部材1の姿勢(図4Bの状態)において、自由端(ロボットハンド部2k)よりも1つ基端側の関節部3gの位置を、中間位置(第1の中間位置)22に設定する。いわば、動作後の姿勢において手先(ロボットハンド部2k)に対する手首(関節部3g)の位置を、中間位置22とし、中間位置22を新たな目標とする。したがって、第2の姿勢導出手段C6は、最終的な目標位置21ではなく、その手前の状態でとして、図5Aに示すように、中間位置22を目標とする第1の中間姿勢が導出され、動作計画(第1の中間姿勢および軌道)を導出する。
動作後の関節部3gの位置を中間位置(第1の中間位置)22として導出された軌道、すなわち、初期状態(図3)から第1の中間姿勢(図5A)までの軌道で障害物20に干渉しなくなった場合には、初期状態(始点)から第1の中間位置までの軌道と第1の中間位置から動作後の状態(終点)までの軌道を順に通過する軌道を、最終的な動作計画として出力する。
FIG. 5 is an explanatory diagram when the intermediate position is set as the target position, FIG. 5A is an explanatory diagram when inverse kinematics is solved with the first intermediate position as the target position, and FIG. 5B is an explanatory diagram when the second intermediate position is set. It is explanatory drawing of the state which was done.
The intermediate position setting means C6a sets the intermediate position 22. In the first embodiment, as an example of the intermediate position 22, in the posture of the arm member 1 after the operation (state in FIG. 4B), the position of the joint portion 3g on the base end side of the free end (robot hand portion 2k) is set. , Set to the intermediate position (first intermediate position) 22. So to speak, the position of the wrist (joint portion 3g) with respect to the hand (robot hand portion 2k) in the posture after movement is set to the intermediate position 22, and the intermediate position 22 is set as a new target. Therefore, as shown in FIG. 5A, the second posture deriving means C6 derives the first intermediate posture targeting the intermediate position 22 as a state in front of the final target position 21 instead of the final target position 21. The motion plan (first intermediate posture and trajectory) is derived.
Obstacle 20 in the trajectory derived with the position of the joint portion 3g after the movement as the intermediate position (first intermediate position) 22, that is, the trajectory from the initial state (FIG. 3) to the first intermediate posture (FIG. 5A). When it no longer interferes with, the final trajectory passes through the trajectory from the initial state (start point) to the first intermediate position and the trajectory from the first intermediate position to the post-operation state (end point). Output as an operation plan.

また、第2の姿勢導出手段C6は、関節部3gの位置を中間位置22として設定して導出された軌道でも干渉する場合には、動作前(初期状態)の姿勢(図3参照)において、自由端(ロボットハンド部2k)よりも1つ基端側の関節部3gの位置(第2の中間位置23)を自由端(ロボットハンド部2k)の目標位置として、第2の中間姿勢(図5B参照)を導出し、ロボットハンド部2kが第2の中間位置23から第1の中間位置22まで移動する動作計画(第2の中間位置から第1の中間位置までの軌道)を導出する。すなわち、中間位置を増やす。第2の中間姿勢(図5B)から第1の中間姿勢(図5A)に移動する軌道で障害物20に干渉しない場合には、初期状態(始点、図3)から第2の中間位置(図5B)までの軌道、第2の中間位置(図5B)から第1の中間位置(図5A)までの軌道、第1の中間位置(図5A)から動作後の位置(図4B)までの軌道を順に通過する軌道を、最終的な動作計画として出力する。
実施例1では、第2の中間姿勢を設定しても障害物20に干渉する場合には、動作後の姿勢における先端から2つ基端側の関節部3fの位置を第3の中間位置、動作前の姿勢における先端から2つ基端側の関節部3fの位置を第4の中間位置、動作後の姿勢における先端から3つ基端側の関節部3eの位置を第5の中間位置、動作前の姿勢における先端から3つ基端側の関節部3eの位置を第6の中間位置、…、と順に設定していき(中間位置を増やしていき)、干渉がなくなるまで各中間位置どうしの間の軌道を導出していく。
Further, when the second posture deriving means C6 interferes even in the trajectory derived by setting the position of the joint portion 3g as the intermediate position 22, in the posture (see FIG. 3) before the operation (initial state), the second posture deriving means C6 interferes. The second intermediate posture (Fig.) With the position (second intermediate position 23) of the joint portion 3g on the base end side of the free end (robot hand portion 2k) as the target position of the free end (robot hand portion 2k). 5B) is derived, and an operation plan (trajectory from the second intermediate position to the first intermediate position) in which the robot hand unit 2k moves from the second intermediate position 23 to the first intermediate position 22 is derived. That is, the intermediate position is increased. If the trajectory moving from the second intermediate posture (FIG. 5B) to the first intermediate posture (FIG. 5A) does not interfere with the obstacle 20, the initial state (starting point, FIG. 3) to the second intermediate position (FIG. 3). Orbit to 5B), orbit from the second intermediate position (FIG. 5B) to the first intermediate position (FIG. 5A), orbit from the first intermediate position (FIG. 5A) to the post-motion position (FIG. 4B). The trajectory that passes through in order is output as the final motion plan.
In the first embodiment, when the obstacle 20 is interfered with even if the second intermediate posture is set, the position of the joint portion 3f on the two proximal ends side from the tip in the posture after the movement is set as the third intermediate position. The position of the joint portion 3f on the two proximal ends side from the tip in the posture before the operation is the fourth intermediate position, and the position of the joint portion 3e on the three proximal ends sides from the tip in the posture after the operation is the fifth intermediate position. Set the positions of the joints 3e on the three base end sides from the tip in the posture before movement in the order of the sixth intermediate position, ... (Increase the intermediate position), and each intermediate position until there is no interference. We will derive the orbit between them.

アーム制御手段C7は、アーム部材1を制御して、自由端(ロボットハンド部2k)を目標に移動させる。実施例1のアーム制御手段C7は、姿勢導出手段C3、C6のいずれかから出力された動作計画に沿ってアーム部材1の関節部3a~3gの変位量を制御して、ロボットハンド部2kを目標に移動させる。したがって、実施例1のアーム制御手段C7は、第1の姿勢導出手段C3で動作計画が出力されていれば、第1の姿勢導出手段C3で導出された動作計画に沿って移動させる。また、実施例1のアーム制御手段C7は、第2の姿勢導出手段C6で動作計画が出力されていれば、第2の姿勢導出手段C6で導出された中間姿勢を経由する動作計画に沿ってアーム部材1のロボットハンド部2kを目標に移動させる。 The arm control means C7 controls the arm member 1 to move the free end (robot hand portion 2k) to the target. The arm control means C7 of the first embodiment controls the displacement amount of the joint portions 3a to 3g of the arm member 1 according to the motion plan output from any of the posture derivation means C3 and C6, and controls the robot hand portion 2k. Move to the target. Therefore, if the motion plan is output by the first posture deriving means C3, the arm control means C7 of the first embodiment moves according to the motion plan derived by the first posture deriving means C3. Further, if the operation plan is output by the second posture deriving means C6, the arm control means C7 of the first embodiment follows the operation plan via the intermediate posture derived by the second posture deriving means C6. The robot hand portion 2k of the arm member 1 is moved to the target.

(フローチャートの説明)
次に、実施例1のロボットアームシステムSにおける制御の流れを流れ図、いわゆるフローチャートを使用して説明する。
図6は実施例1の動作計画出力処理のフローチャートの説明図である。
図6のフローチャートの各ステップSTの処理は、前記制御部Cに記憶されたプログラムに従って行われる。また、この処理はコンピュータ本体12の他の各種処理と並行して実行される。なお、ユーザーの制御開始の入力がされた場合に、図6の動作計画出力処理で出力された各関節部3の回転量に基づいて各関節部3を制御して、ロボットハンド部2kを目標に移動させる制御処理のフローチャートについては図示は省略する。
図6に示すフローチャートはロボット制御プログラムの起動により開始される。
(Explanation of flowchart)
Next, the flow of control in the robot arm system S of the first embodiment will be described using a flow chart, a so-called flowchart.
FIG. 6 is an explanatory diagram of a flowchart of the operation plan output process of the first embodiment.
The processing of each step ST in the flowchart of FIG. 6 is performed according to the program stored in the control unit C. Further, this process is executed in parallel with other various processes of the computer main body 12. When the user's control start input is input, each joint portion 3 is controlled based on the rotation amount of each joint portion 3 output in the operation plan output process of FIG. 6, and the robot hand portion 2k is targeted. The flowchart of the control process to move to is omitted.
The flowchart shown in FIG. 6 is started by starting the robot control program.

図6のST1において、初期の位置・姿勢や目標の位置・姿勢を入力するための画像をディスプレイ13に表示する。そして、ST2に進む。
ST2において、キーボード14やマウス15で初期位置等の入力がされて動作計画の導出開始の入力がされたか否かを判別する。イエス(Y)の場合はST3に進み、ノー(N)の場合はST2を繰り返す。
ST3において、初期状態と目標位置21から逆運動学を解いて動作後の姿勢を導出する。そして、ST4に進む。
In ST1 of FIG. 6, an image for inputting an initial position / posture and a target position / posture is displayed on the display 13. Then proceed to ST2.
In ST2, it is determined whether or not the initial position and the like are input by the keyboard 14 and the mouse 15 and the start of derivation of the motion plan is input. If yes (Y), proceed to ST3, and if no (N), repeat ST2.
In ST3, the inverse kinematics is solved from the initial state and the target position 21 to derive the posture after the movement. Then proceed to ST4.

ST4において、動作後の姿勢で障害物20に干渉するか否かを判別する。ノー(N)の場合はST5に進み、イエス(Y)の場合はST7に進む。
ST5において、初期状態と導出された動作後の姿勢との間の軌道を直線補間で導出する。そして、ST6に進む。
ST6において、導出された軌道が障害物20に干渉するか否かを判別する。イエス(Y)の場合はST11に進み、ノー(N)の場合はST22に進む。
In ST4, it is determined whether or not the posture after the operation interferes with the obstacle 20. If no (N), proceed to ST5, and if yes (Y), proceed to ST7.
In ST5, the trajectory between the initial state and the derived posture after the operation is derived by linear interpolation. Then, proceed to ST6.
In ST6, it is determined whether or not the derived trajectory interferes with the obstacle 20. If yes (Y), proceed to ST11, and if no (N), proceed to ST22.

ST7において、初期状態と目標位置21から優先度付き逆運動学を解いて、動作後の姿勢を導出する。そして、ST8に進む。
ST8において、導出された動作後の姿勢で障害物20に干渉するか否かを判別する。ノー(N)の場合はST9に進み、イエス(Y)の場合はエラー終了する。
ST9において、初期状態と導出された動作後の姿勢との間の軌道を直線補間で導出する。そして、ST10に進む。
ST10において、導出された軌道が障害物20に干渉するか否かを判別する。イエス(Y)の場合はST11に進み、ノー(N)の場合はST22に進む。
In ST7, the posture after movement is derived by solving the prioritized inverse kinematics from the initial state and the target position 21. Then, proceed to ST8.
In ST8, it is determined whether or not the derived posture after the operation interferes with the obstacle 20. If no (N), the process proceeds to ST9, and if yes (Y), the process ends with an error.
In ST9, the trajectory between the initial state and the derived posture after the operation is derived by linear interpolation. Then, proceed to ST10.
In ST10, it is determined whether or not the derived trajectory interferes with the obstacle 20. If yes (Y), proceed to ST11, and if no (N), proceed to ST22.

ST11において、第1の中間位置22を設定する。そして、ST12に進む。
ST12において、初期状態と中間位置(中間位置が増えた場合は、中間位置どうし)から逆運動学を解いて動作後の姿勢を導出する。そして、ST13に進む。
ST13において、動作後の姿勢で障害物20に干渉するか否かを判別する。ノー(N)の場合はST14に進み、イエス(Y)の場合はST17に進む。
ST14において、初期状態と導出された動作後の姿勢との間の軌道(中間位置が増えた場合は、中間位置どうしの間の軌道)を直線補間で導出する。そして、ST15に進む。
ST15において、導出された軌道が障害物20に干渉するか否かを判別する。イエス(Y)の場合はST16に進み、ノー(N)の場合はST22に進む。
ST16において、次の中間位置を設定する(中間位置を増やす)。そして、ST12に戻る。
In ST11, the first intermediate position 22 is set. Then, proceed to ST12.
In ST12, the inverse kinematics is solved from the initial state and the intermediate position (when the intermediate position increases, the intermediate positions are used) to derive the posture after the movement. Then, proceed to ST13.
In ST13, it is determined whether or not the posture after the operation interferes with the obstacle 20. If no (N), proceed to ST14, and if yes (Y), proceed to ST17.
In ST14, the trajectory between the initial state and the derived posture after the operation (if the intermediate position increases, the trajectory between the intermediate positions) is derived by linear interpolation. Then, proceed to ST15.
In ST15, it is determined whether or not the derived trajectory interferes with the obstacle 20. If yes (Y), proceed to ST16, and if no (N), proceed to ST22.
In ST16, set the next intermediate position (increase the intermediate position). Then, it returns to ST12.

ST17において、初期状態と中間位置22(中間位置が増えた場合は、中間位置どうし)から優先度付き逆運動学を解いて、動作後の姿勢を導出する。そして、ST18に進む。
ST18において、導出された動作後の姿勢で障害物20に干渉するか否かを判別する。ノー(N)の場合はST19に進み、イエス(Y)の場合はエラー終了する。
ST19において、初期状態と導出された動作後の姿勢との間の軌道(中間位置が増えた場合は、中間位置どうしの間の軌道)を直線補間で導出する。そして、ST20に進む。
ST20において、導出された軌道が障害物20に干渉するか否かを判別する。イエス(Y)の場合はST21に進み、ノー(N)の場合はST22に進む。
ST21において、次の中間位置を設定する(中間位置を増やす)。そして、ST17に戻る。
ST22において、導出結果を動作計画として出力して、動作計画出力処理を終了する。
In ST17, the reverse kinematics with priority is solved from the initial state and the intermediate position 22 (when the intermediate positions increase, the intermediate positions are connected to each other), and the posture after the movement is derived. Then, proceed to ST18.
In ST18, it is determined whether or not the derived posture after the operation interferes with the obstacle 20. If no (N), the process proceeds to ST19, and if yes (Y), the process ends with an error.
In ST19, the trajectory between the initial state and the derived posture after the operation (if the intermediate position increases, the trajectory between the intermediate positions) is derived by linear interpolation. Then, proceed to ST20.
In ST20, it is determined whether or not the derived trajectory interferes with the obstacle 20. If yes (Y), proceed to ST21, and if no (N), proceed to ST22.
In ST21, set the next intermediate position (increase the intermediate position). Then, it returns to ST17.
In ST22, the derivation result is output as an operation plan, and the operation plan output process is terminated.

(実施例1の作用)
前記構成を備えた実施例1のロボットアームシステムSでは、逆運動学の数値解法や優先度付き逆運動学を解いてアーム部材1の軌道を導出する。導出された軌道が障害物20に干渉する場合には、障害物20に干渉しない軌道が導出されるまで中間位置が設定されていって、軌道が導出される。したがって、実施例1では、軌道を導出する際に、関節空間や評価関数を使用する必要がない。よって、n次元の関節空間(実施例1の例では7次元の関節空間)や評価関数を使用する場合に比べて、多関節のロボットの動作の経路の計算負荷を軽減することができる。
特に、実施例1では、関節部3の数が増えても、逆運動学の計算でのパラメータが1つ増えるだけで、関節空間の場合のように空間の次元が増える場合に比べて、計算負荷の増大は抑制される。また、実施例1では、障害物20が移動する場合(動的障害物の場合)でも、移動後の障害物20の位置に応じた逆運動学の数値解法等の計算を行うだけであり、n次元の関節空間や評価関数の再計算を行う場合に比べて、計算負荷は大きく軽減される。
また、実施例1では、第1の中間位置22だけでは障害物20に干渉しない軌道が導出されない場合でも、第2の中間位置、第3の中間位置、…と順に設定していくことで、干渉しない軌道の探索が行われる。
(Action of Example 1)
In the robot arm system S of the first embodiment having the above configuration, the trajectory of the arm member 1 is derived by solving the numerical solution method of the inverse kinematics and the inverse kinematics with priority. When the derived orbit interferes with the obstacle 20, the intermediate position is set until the orbit that does not interfere with the obstacle 20 is derived, and the orbit is derived. Therefore, in the first embodiment, it is not necessary to use the joint space or the evaluation function when deriving the trajectory. Therefore, it is possible to reduce the calculation load of the motion path of the articulated robot as compared with the case of using the n-dimensional joint space (7-dimensional joint space in the example of Example 1) and the evaluation function.
In particular, in Example 1, even if the number of joints 3 increases, only one parameter in the calculation of inverse kinematics increases, and the calculation is performed as compared with the case where the dimension of the space increases as in the case of the joint space. The increase in load is suppressed. Further, in the first embodiment, even when the obstacle 20 moves (in the case of a dynamic obstacle), only the calculation of the numerical solution method of the inverse kinematics according to the position of the obstacle 20 after the movement is performed. The calculation load is greatly reduced as compared with the case of recalculating the n-dimensional joint space and the evaluation function.
Further, in the first embodiment, even if the trajectory that does not interfere with the obstacle 20 is not derived only by the first intermediate position 22, the second intermediate position, the third intermediate position, and so on are set in order. A non-interfering orbital search is performed.

(変更例)
以上、本発明の実施例を詳述したが、本発明は、前記実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内で、種々の変更を行うことが可能である。本発明の変更例(H01)~(H05)を下記に例示する。
(H01)前記実施例において、関節部3の数やアームの長さや数、形状等は例示した形態に限定されない。したがって、アーム部材の用途や設計、仕様等に応じて、数や長さ、形状等、任意に変更可能である。
(H02)前記実施例において、中間位置は関節部3の位置に設定していく場合を例示したがこれに限定されない。例えば、アーム部2の中間部に設定したり、アーム部2や関節部3から一定の距離だけ平行移動させた位置に設定する等、アーム部材1の任意の位置に設定することも可能である。
(Change example)
Although the embodiments of the present invention have been described in detail above, the present invention is not limited to the above embodiments, and various modifications are made within the scope of the gist of the present invention described in the claims. It is possible. Examples of modifications (H01) to (H05) of the present invention are illustrated below.
(H01) In the above embodiment, the number of joints 3, the length and number of arms, the shape, and the like are not limited to the exemplified forms. Therefore, the number, length, shape, etc. can be arbitrarily changed according to the application, design, specifications, etc. of the arm member.
(H02) In the above embodiment, the case where the intermediate position is set to the position of the joint portion 3 is exemplified, but the present invention is not limited to this. For example, it can be set at an arbitrary position of the arm member 1, such as setting it at the intermediate portion of the arm portion 2 or setting it at a position moved in parallel by a certain distance from the arm portion 2 and the joint portion 3. ..

(H03)前記実施例において、関節部3の種類は回転関節のみで構成されていたが、その形態に限定されない。すなわち、直動関節を含む場合も適用可能である。
(H04)前記実施例において、中間位置は、第1の姿勢導出手段C3で導出された動作後の姿勢を基準に設定する場合を例示したが、これに限定されない。例えば、第1の中間位置を目標として導出された第1の中間姿勢を基準にして、第1の中間姿勢における手首の関節部3gの位置を次の中間位置とすることも可能である。
(H05)前記実施例において、中間位置は動作後、動作前、動作後、…の順に設定する場合を例示したがこれに限定されない。動作前、動作後、…と順番を入れ替えることも可能である。
(H03) In the above embodiment, the type of the joint portion 3 is composed of only the rotary joint, but the type is not limited to the rotary joint. That is, it is also applicable when a linear motion joint is included.
(H04) In the above embodiment, the intermediate position is set based on the posture after the operation derived by the first posture deriving means C3, but the present invention is not limited to this. For example, it is also possible to set the position of the wrist joint portion 3g in the first intermediate posture as the next intermediate position with reference to the first intermediate posture derived with the target of the first intermediate position.
(H05) In the above embodiment, the case where the intermediate position is set in the order of after operation, before operation, after operation, and so on is illustrated, but the present invention is not limited to this. It is also possible to change the order before, after, and so on.

1…アーム部材、
2k…自由端、
2…アーム部、
3…関節部、
3g…自由端よりも1つ基端側の関節部、
11…コンピュータ、
20…障害物、
21…目標、
22…中間位置、
C…制御部、
C3…第1の姿勢導出手段、
C6…第2の姿勢導出手段、
C7…アーム制御手段、
S…ロボット。
1 ... Arm member,
2k ... free end,
2 ... Arm part,
3 ... Joints,
3g ... One joint on the base end side of the free end,
11 ... Computer,
20 ... Obstacles,
21 ... Goal,
22 ... Intermediate position,
C ... Control unit,
C3 ... First posture derivation means,
C6 ... Second posture derivation means,
C7 ... Arm control means,
S ... Robot.

Claims (4)

複数のアーム部と、2つのアーム部どうしの連結部位に配置され且つ一方のアーム部に対して他方のアーム部を変位させることが可能な関節部と、を有するアーム部材と、
前記アーム部材の自由端を予め定められた目標に移動させる動作における前記関節部の位置について逆運動学を解いて前記アーム部材の動作後の姿勢を導出する第1の姿勢導出手段と、
前記第1の姿勢導出手段で導出された各関節部の動作前の位置と動作後の位置に基づいて、動作の途中で障害物に干渉する場合には、動作時に自由端が通過する候補の位置である中間位置を目標の位置として逆運動学を解いて、前記アーム部材の中間姿勢を導出する第2の姿勢導出手段と、
前記第1の姿勢導出手段で導出された動作の途中で前記アーム部材が障害物に干渉する場合には、前記第2の姿勢導出手段で導出された中間姿勢を経由して前記アーム部材の自由端を目標に移動させるように各関節部を制御するアーム制御手段と、
を備えたことを特徴とするロボット。
An arm member having a plurality of arm portions and a joint portion arranged at a connecting portion between the two arm portions and capable of displacing the other arm portion with respect to one arm portion.
A first posture deriving means for deriving the post-motion posture of the arm member by solving the inverse kinematics for the position of the joint in the motion of moving the free end of the arm member to a predetermined target.
Based on the pre-motion position and post-motion position of each joint derived by the first posture derivation means, if an obstacle is interfered with during the motion, the candidate for which the free end passes during the motion. A second posture deriving means for deriving the intermediate posture of the arm member by solving the reverse kinematics with the intermediate position as the target position as the target position.
When the arm member interferes with an obstacle during the operation derived by the first posture deriving means, the arm member is free to pass through the intermediate posture derived by the second posture deriving means. Arm control means that controls each joint so that the end is moved to the target,
A robot characterized by being equipped with.
前記第1の姿勢導出手段で導出された動作後のアーム部材の姿勢において、自由端よりも1つ基端側の関節部の位置を前記中間位置として、前記中間姿勢を導出する前記第2の姿勢導出手段、
を備えたことを特徴とする請求項1に記載のロボット。
In the posture of the arm member after the operation derived by the first posture deriving means, the position of the joint portion on the base end side of the free end is set as the intermediate position, and the intermediate posture is derived. Posture derivation means,
The robot according to claim 1, wherein the robot is provided with.
動作後のアーム部材の姿勢において自由端よりも1つ基端側の関節部の位置を前記中間位置として中間姿勢を導出した場合に、動作前の姿勢から前記中間姿勢に移動する途中で障害物に干渉する場合には、動作前のアーム部材の姿勢において、自由端よりも1つ基端側の関節部の位置を自由端の位置とする第2の中間姿勢から前記中間位置を目標とする逆運動学を解く前記第2の姿勢導出手段、
を備えたことを特徴とする請求項2に記載のロボット。
When the intermediate posture is derived with the position of the joint portion on the base end side of the free end as the intermediate position in the posture of the arm member after the operation, an obstacle is formed while moving from the posture before the operation to the intermediate posture. In the case of interference with, in the posture of the arm member before movement, the intermediate position is targeted from the second intermediate posture in which the position of the joint portion on the base end side of the free end is the position of the free end. The second posture derivation means for solving reverse kinetics,
The robot according to claim 2, wherein the robot is provided with.
複数のアーム部と、2つのアーム部どうしの連結部位に配置され且つ一方のアーム部に対して他方のアーム部を変位させることが可能な関節部と、を有するアーム部材を有するロボットを制御するロボット制御プログラムであって、
コンピュータを、
前記アーム部材の自由端を予め定められた目標に移動させる動作における前記関節部の位置について逆運動学を解いて前記アーム部材の動作後の姿勢を導出する第1の姿勢導出手段、
前記第1の姿勢導出手段で導出された各関節部の動作前の位置と動作後の位置に基づいて、動作の途中で障害物に干渉する場合には、動作時に自由端が通過する候補の位置である中間位置を目標の位置として逆運動学を解いて、前記アーム部材の中間姿勢を導出する第2の姿勢導出手段、
前記第1の姿勢導出手段で導出された動作の途中で前記アーム部材が障害物に干渉する場合には、前記第2の姿勢導出手段で導出された中間姿勢を経由して前記アーム部材の自由端を目標に移動させるように各関節部を制御するアーム制御手段、
として機能させることを特徴とするロボット制御プラグラム。
Controls a robot having an arm member having a plurality of arm portions and a joint portion arranged at a connecting portion between the two arm portions and capable of displacing the other arm portion with respect to one arm portion. It ’s a robot control program.
Computer,
A first posture deriving means for deriving a post-motion posture of the arm member by solving inverse kinematics for the position of the joint in an motion of moving the free end of the arm member to a predetermined target.
Based on the pre-motion position and post-motion position of each joint derived by the first posture derivation means, if an obstacle is interfered with during the motion, the candidate for which the free end passes during the motion. A second posture deriving means for deriving the intermediate posture of the arm member by solving the inverse kinematics with the intermediate position as the target position as the target position.
When the arm member interferes with an obstacle during the operation derived by the first posture deriving means, the arm member is free to pass through the intermediate posture derived by the second posture deriving means. Arm control means that controls each joint to move the end to the target,
A robot-controlled program characterized by functioning as.
JP2020167512A 2020-10-02 2020-10-02 Robot and robot control program Pending JP2022059740A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020167512A JP2022059740A (en) 2020-10-02 2020-10-02 Robot and robot control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020167512A JP2022059740A (en) 2020-10-02 2020-10-02 Robot and robot control program

Publications (1)

Publication Number Publication Date
JP2022059740A true JP2022059740A (en) 2022-04-14

Family

ID=81124763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020167512A Pending JP2022059740A (en) 2020-10-02 2020-10-02 Robot and robot control program

Country Status (1)

Country Link
JP (1) JP2022059740A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024048286A1 (en) * 2022-08-30 2024-03-07 ローレルバンクマシン株式会社 Method for controlling articulated robot, robot system, program, and method for manufacturing article

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024048286A1 (en) * 2022-08-30 2024-03-07 ローレルバンクマシン株式会社 Method for controlling articulated robot, robot system, program, and method for manufacturing article

Similar Documents

Publication Publication Date Title
JP5261495B2 (en) Real-time self-collision and obstacle avoidance using weight matrix
Lu et al. Collision-free and smooth joint motion planning for six-axis industrial robots by redundancy optimization
JP5754454B2 (en) Robot picking system and workpiece manufacturing method
US8825209B2 (en) Method and apparatus to plan motion path of robot
JP5060619B2 (en) Motion planning method, motion planning system, and recording medium
JP5011525B2 (en) Inverse kinematics of 6-degree-of-freedom robot arm by sequential search method, and robot system, control method, and program using the same
JP5044991B2 (en) Route creation apparatus and route creation method
US20220032461A1 (en) Method to incorporate complex physical constraints in path-constrained trajectory planning for serial-link manipulator
Zito et al. Two-level RRT planning for robotic push manipulation
CN110370256B (en) Robot and path planning method, device and controller thereof
WO2009017242A2 (en) Movement path generation device for robot
JP2003241836A (en) Control method and apparatus for free-running mobile unit
JP5156836B2 (en) Real-time self-collision and obstacle avoidance
KR102300752B1 (en) Method and Apparatus for Collision-Free Trajectory Optimization of Redundant Manipulator given an End-Effector Path
Choi et al. Dual-arm robot motion planning for collision avoidance using B-spline curve
JP2009134352A (en) Robot motion path creating device, and robot motion path creating method
dos Santos et al. Optimal task placement of a serial robot manipulator for manipulability and mechanical power optimization
JP2016055404A (en) Locus generation method, locus generation device, robot device, program, and recording medium
JP4760732B2 (en) Route creation device
JP2022059740A (en) Robot and robot control program
JP2007000954A (en) Robot teaching device and method
Vahrenkamp et al. Adaptive motion planning for humanoid robots
JP2009274180A (en) Robot movement plan method and device using the same
JP5447811B2 (en) Path plan generation apparatus and method, robot control apparatus and robot system
JP2015058493A (en) Control device, robot system, robot, robot operation information generation method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240402