JP2013132696A - Arm control device and arm control method - Google Patents

Arm control device and arm control method Download PDF

Info

Publication number
JP2013132696A
JP2013132696A JP2011282908A JP2011282908A JP2013132696A JP 2013132696 A JP2013132696 A JP 2013132696A JP 2011282908 A JP2011282908 A JP 2011282908A JP 2011282908 A JP2011282908 A JP 2011282908A JP 2013132696 A JP2013132696 A JP 2013132696A
Authority
JP
Japan
Prior art keywords
joint
arm
trajectory
target position
unit
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
JP2011282908A
Other languages
Japanese (ja)
Inventor
Nobuhiro Karido
信宏 狩戸
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2011282908A priority Critical patent/JP2013132696A/en
Publication of JP2013132696A publication Critical patent/JP2013132696A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technology for replanning a trajectory of a robot arm as fast as possible by a simpler structure than before when a target position of the robot arm is changed while being moved to the target position.SOLUTION: An arm control device (a control part 10) for controlling the movement of the arm includes a trajectory planning part planning the trajectory of the arm by specifying an angular speed or angular acceleration of a joint, an arm control part moving the arm to the target position according to a trajectory plan, and a trajectory replanning part replanning the trajectory of the arm by keeping the magnitude of acceleration and deceleration of the joint as prescribed when the target position is changed while the arm is moved.

Description

本発明は、アーム制御装置、および、アーム制御方法に関する。   The present invention relates to an arm control device and an arm control method.

産業用ロボットの中には、ロボットアームを制御して各種作業を行うものがある(例えば、特許文献1)。   Some industrial robots perform various operations by controlling a robot arm (for example, Patent Document 1).

ロボットアームの制御では、例えば、
(1)ロボットアームの目標位置を定める。
(2)現在位置から目標位置までロボットアームを移動させる軌道について計画する。
(3)軌道計画に従って、ロボットアームを目標位置まで移動させる。
という(1)〜(3)の動作が繰り返される。
In the control of the robot arm, for example,
(1) The target position of the robot arm is determined.
(2) Plan a trajectory for moving the robot arm from the current position to the target position.
(3) The robot arm is moved to the target position according to the trajectory plan.
The operations (1) to (3) are repeated.

もちろん、ロボットアームを移動させている途中で、目標位置が変更された場合には、再度、上記(2)、(3)の動作を実行しなければならない。   Of course, when the target position is changed during the movement of the robot arm, the above operations (2) and (3) must be executed again.

特開平7−141015号Japanese Patent Laid-Open No. 7-14015

その場合には、ロボットアームを移動させている途中で、その軌道について計画し直すことになるため、迅速に軌道計画を行う必要がある。   In that case, since the trajectory is re-planned while the robot arm is being moved, the trajectory must be quickly planned.

本発明は、ロボットアームを目標位置まで移動させている途中に、その目標位置が変更された場合において、従来よりも簡易な構成によって、なるべく高速に当該ロボットアームの軌道を再計画する技術を提供することを目的とする。   The present invention provides a technique for replanning the trajectory of the robot arm as fast as possible with a simpler configuration than the conventional configuration when the target position is changed while the robot arm is being moved to the target position. The purpose is to do.

本願は、上記課題を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。   The present application includes a plurality of means for solving the above-described problems, and examples thereof are as follows.

上記の課題を解決するための本発明の第一の態様は、アームの動作を制御するアーム制御装置であって、ジョイントの角速度または角加速度を指定して、前記アームの軌道計画を行う軌道計画部と、前記軌道計画に従って、前記アームを目標位置まで移動させるアーム制御部と、前記アームの移動中に前記目標位置が変更された場合、前記ジョイントの加減速の大きさを所定に維持して、当該アームの軌道を再計画する軌道再計画部と、を備える、ことを特徴とする。   A first aspect of the present invention for solving the above-described problem is an arm control device that controls the operation of an arm, and specifies a joint angular velocity or angular acceleration to perform a trajectory plan of the arm. And an arm control unit for moving the arm to a target position according to the trajectory plan, and when the target position is changed during the movement of the arm, the acceleration / deceleration magnitude of the joint is maintained at a predetermined level. A trajectory replanning unit for replanning the trajectory of the arm.

上記の構成によれば、簡単な計算方法によって各ジョイントの動作について再計画できる。そのため、アームを目標位置に向けて移動させている途中に、その目標位置が変更された場合であっても、即座に各ジョイントの動作について再計画できる。   According to said structure, it can reschedule about operation | movement of each joint with a simple calculation method. Therefore, even if the target position is changed during the movement of the arm toward the target position, the operation of each joint can be immediately replanned.

また、前記アームには複数のジョイントが含まれており、前記軌道計画部は、前記アームを目標位置まで移動させるのに、前記複数のジョイントのうち、動作の終了タイミングが最も遅くなるジョイントを主ジョイントと決定し、当該主ジョイント以外のジョイントについて、動作の終了タイミングを当該主ジョイントに合わせる、ようにしてもよい。   The arm includes a plurality of joints, and the trajectory planning unit mainly selects a joint having the latest operation end timing among the plurality of joints to move the arm to a target position. The joint may be determined and the operation end timing of the joint other than the main joint may be adjusted to the main joint.

上記の構成によれば、各ジョイントの動作を、ほぼ同時に終了させることができ、アームが滑らかに動作しているようにみえる。   According to said structure, the operation | movement of each joint can be complete | finished substantially simultaneously, and it seems that the arm is operating | moving smoothly.

また、前記軌道再計画部は、前記アームの移動中に前記目標位置が変更された場合、前記ジョイントの加速度(Amax)、および減速度(−Amax)を固定値として、
D={(Vi+Vpeak)×Ta/2}+{Vpeak×Tc/2}、
Ta=(Vpeak−Vi)/Amax、
Tc=Vpeak/(−Amax)、
(ただし、Dは目標位置にアームが到達するまでにジョイントを回転させる角度、Viは初角速度、Vpeakは角速度の極値、Taは加速時間、Tcは減速時間)
の数式を用いて、前記ジョイントの角速度の極値(Vpeak)を算出し、前記ジョイントを、前記加速度(Amax)で前記加速時間(Ta)回転させ、角速度が前記極値(Vpeak)に達すると、前記減速度(−Amax)で前記減速時間(Tc)回転させる、ように再計画する、ようにしてもよい。
Further, when the target position is changed during the movement of the arm, the trajectory replanning unit sets the acceleration (Amax) and deceleration (−Amax) of the joint as fixed values,
D = {(Vi + Vpeak) × Ta / 2} + {Vpeak × Tc / 2},
Ta = (Vpeak−Vi) / Amax,
Tc = Vpeak / (− Amax),
(Where D is the angle at which the joint is rotated before the arm reaches the target position, Vi is the initial angular velocity, Vpeak is the extreme angular velocity, Ta is the acceleration time, and Tc is the deceleration time)
When the extreme value (Vpeak) of the angular velocity of the joint is calculated using the following equation, the joint is rotated by the acceleration time (Ta) at the acceleration (Amax), and the angular velocity reaches the extreme value (Vpeak). Further, it is possible to re-plan to rotate the deceleration time (Tc) at the deceleration (−Amax).

上記の構成によれば、アームの目標位置が変更された地点から、変更後の目標位置まで、ジョイントの回転方向を正方向に保てる場合において、簡単な計算方法によってジョイントの動作について再計画できる。   According to the above configuration, when the rotation direction of the joint can be maintained in the positive direction from the point where the target position of the arm is changed to the changed target position, the operation of the joint can be re-planned by a simple calculation method.

また、前記軌道再計画部は、算出した前記ジョイントの角速度の極値(Vpeak)が、角速度の上限値(Vmax)を超えている場合には、
D={(Vi+Vmax)×Ta/2}+{Vmax×Tb}+{Vmax×Tc/2}、
Ta=(Vmax−Vi)/Amax、
Tc=Vmax/(−Amax)、
(ただし、Dは目標位置にアームが到達するまでにジョイントを回転させる角度、Viは初角速度、Taは加速時間、Tbは等速時間、Tcは減速時間)
の数式を用いて、前記ジョイントの等速時間(Tb)を算出し、前記ジョイントを、前記加速度(Amax)で前記加速時間(Ta)回転させ、角速度が前記上限値(Vmax)に達すると、等速の角速度(Vmax)で前記等速時間(Tb)回転させ、それから、前記減速度(−Amax)で前記減速時間(Tc)回転させる、ように再計画する、ようにしてもよい。
In addition, the trajectory replanning unit, when the calculated extreme value (Vpeak) of the angular velocity of the joint exceeds the upper limit value (Vmax) of the angular velocity,
D = {(Vi + Vmax) × Ta / 2} + {Vmax × Tb} + {Vmax × Tc / 2},
Ta = (Vmax−Vi) / Amax,
Tc = Vmax / (− Amax),
(Where D is the angle at which the joint is rotated before the arm reaches the target position, Vi is the initial angular velocity, Ta is the acceleration time, Tb is the constant velocity time, and Tc is the deceleration time)
When the constant velocity time (Tb) of the joint is calculated using the following formula, the joint is rotated by the acceleration time (Ta) at the acceleration (Amax), and the angular velocity reaches the upper limit value (Vmax), It is also possible to re-plan so that the constant speed time (Tb) is rotated at a constant angular velocity (Vmax) and then the deceleration time (Tc) is rotated at the deceleration (−Amax).

上記の構成によれば、アームの目標位置が変更された地点から、変更後の目標位置まで、ジョイントの回転方向を正方向に保てる場合であって、かつ、ジョイントの角速度の極値(Vpeak)が、角速度の上限値(Vmax)を超えている場合において、簡単な計算方法によってジョイントの動作について再計画できる。   According to the above configuration, the rotation direction of the joint can be maintained in the positive direction from the point where the target position of the arm is changed to the target position after the change, and the extreme value (Vpeak) of the angular velocity of the joint. However, when the angular velocity exceeds the upper limit value (Vmax), the joint operation can be re-planned by a simple calculation method.

また、前記軌道再計画部は、前記アームに複数のジョイントが含まれている場合には、当該ジョイントごとに動作を再計画し、変更された目標位置まで前記アームを移動させるのに、前記複数のジョイントのうち、動作の終了タイミングが最も遅くなるジョイントを主ジョイントと決定し、当該主ジョイント以外のジョイントについて、動作の終了タイミングを当該主ジョイントに合わせる、ようにしてもよい。   In addition, when the arm includes a plurality of joints, the trajectory replanning unit replans the operation for each joint and moves the arm to the changed target position. Of these joints, the joint with the latest operation end timing may be determined as the main joint, and the operation end timing may be adjusted to the main joint for joints other than the main joint.

上記の構成によれば、ジョイントの動作計画が再計画された場合でも、アーム全体の動作が滑らかにみえるようになる。   According to the above configuration, even when the joint motion plan is re-planned, the motion of the entire arm can be seen smoothly.

上記の課題を解決するための本発明の第二の態様は、アームの動作を制御するアーム制御装置で行われるアーム制御方法であって、ジョイントの角速度または角加速度を指定して、前記アームの軌道計画を行う軌道計画ステップと、前記軌道計画に従って、前記アームを目標位置まで移動させるアーム制御ステップと、前記アームの移動中に前記目標位置が変更された場合、前記ジョイントの加減速の大きさを所定に維持して、当該アームの軌道を再計画する軌道再計画ステップと、を行う、ことを特徴とする。   A second aspect of the present invention for solving the above problem is an arm control method performed by an arm control device that controls the operation of an arm, wherein an angular velocity or an acceleration of a joint is designated, and the arm A trajectory planning step for performing trajectory planning, an arm control step for moving the arm to a target position according to the trajectory plan, and a magnitude of acceleration / deceleration of the joint when the target position is changed during the movement of the arm Is maintained at a predetermined value, and a trajectory replanning step of replanning the trajectory of the arm is performed.

上記の本発明の第二の態様によっても、簡単な計算方法によって各ジョイントの動作について再計画できる。そのため、アームを目標位置に向けて移動させている途中に、その目標位置が変更された場合であっても、即座に各ジョイントの動作について再計画できる。   According to the second aspect of the present invention, the operation of each joint can be re-planned by a simple calculation method. Therefore, even if the target position is changed during the movement of the arm toward the target position, the operation of each joint can be immediately replanned.

上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。   Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.

ロボット1の外観例を示す図である。2 is a diagram illustrating an example of an appearance of a robot 1. FIG. ロボット1の概略構成の一例を示すブロック図である。2 is a block diagram illustrating an example of a schematic configuration of a robot. FIG. アーム制御タスクの一例について説明するためのフロー図である。It is a flowchart for demonstrating an example of an arm control task. (A)第1のジョイント(第1軸)についての軌道計画の一例を示す図である。(B)第2のジョイント(第2軸)についての軌道計画の一例を示す図である。(C)第3のジョイント(第3軸)についての軌道計画の一例を示す図である。(D)主ジョイントに合わせて第2のジョイントの終了タイミングを調整する場合の例を示す図である。(E)主ジョイントに合わせて第3のジョイントの終了タイミングを調整する場合の例を示す図である。(A) It is a figure which shows an example of the track | orbit plan about a 1st joint (1st axis | shaft). (B) It is a figure which shows an example of the track | orbit plan about a 2nd joint (2nd axis | shaft). (C) It is a figure which shows an example of the track | orbit plan about a 3rd joint (3rd axis | shaft). (D) It is a figure which shows the example in the case of adjusting the completion | finish timing of a 2nd joint according to a main joint. (E) It is a figure which shows the example in the case of adjusting the completion | finish timing of a 3rd joint according to a main joint. 目標位置が変更されてから停止するまでにジョイントが回転する回転量D’を計算する方法について説明する図である。It is a figure explaining the method of calculating rotation amount D 'which a joint rotates until it stops after a target position is changed. (A)ジョイントの軌道を再計画する場合の一例を示す図である(ただし、「D’<D”」の場合)。(B)ジョイントの軌道を再計画する場合の一例を示す図である(ただし、「D’<D”」かつ「Vpeak>VMAX」場合)。(A) It is a figure which shows an example in the case of re-planning the track | orbit of a joint (however, when "D '<D""). (B) It is a figure which shows an example in the case of re-planning the track | orbit of a joint (however, when "D '<D""and" Vpeak > VMAX "). (A)ジョイントの軌道を再計画する場合の一例を示す図である(ただし、「D’>D”」の場合)。(B)ジョイントの軌道を再計画する場合の一例を示す図である(ただし、「D’>D”」かつ「Vpeak<−VMAX」場合)。(A) It is a figure which shows an example in the case of re-planning the track | orbit of a joint (however, when "D '>D""). It is a diagram showing an example of a case of re-planning the trajectory (B) joint (if "D '>D""and" V peak <-V MAX "). (A)第2のジョイント(第2軸)ついて再計画された軌道計画の一例を示す図である。(B)第1のジョイント(第1軸)ついて再計画された軌道計画の一例を示す図である。(C)第3のジョイント(第3軸)ついて再計画された軌道計画の一例を示す図である。(D)各ジョイントの軌道が再計画されたときに、主ジョイントに合わせて第1のジョイントの終了タイミングを調整する場合の例を示す図である。(E)各ジョイントの軌道が再計画されたときに、主ジョイントに合わせて第3のジョイントの終了タイミングを調整する場合の例を示す図である。(A) It is a figure which shows an example of the trajectory plan replanned about the 2nd joint (2nd axis | shaft). (B) It is a figure which shows an example of the trajectory plan re-planned about the 1st joint (1st axis | shaft). (C) It is a figure which shows an example of the trajectory plan replanned about the 3rd joint (3rd axis | shaft). (D) It is a figure which shows the example in the case of adjusting the completion | finish timing of a 1st joint according to a main joint when the track | orbit of each joint is re-planned. (E) It is a figure which shows the example in the case of adjusting the completion | finish timing of a 3rd joint according to a main joint, when the track | orbit of each joint is re-planned. 目標位置計算タスクの一例について説明するためのフロー図である。It is a flowchart for demonstrating an example of a target position calculation task.

以下、本発明の実施形態について図面を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本実施形態にかかるロボット1についての外観例を示す図である。   FIG. 1 is a diagram illustrating an appearance example of the robot 1 according to the present embodiment.

図示するように、ロボット1は、例えば、可動部30と、撮像部20と、制御部10と、を備えるアーム型のロボットである。   As illustrated, the robot 1 is, for example, an arm type robot including a movable unit 30, an imaging unit 20, and a control unit 10.

可動部30は、ロボット1の可動部分である。図示する例では、可動部30として、1本のロボットアームを示しており、点線で囲まれたアーム部4と、アーム部4の先端に取り付けられたハンド部5と、を含む。なお、いわゆる双腕ロボットのように2本のロボットアームを有していてもよい。   The movable part 30 is a movable part of the robot 1. In the illustrated example, a single robot arm is shown as the movable unit 30, and includes an arm unit 4 surrounded by a dotted line and a hand unit 5 attached to the tip of the arm unit 4. In addition, you may have two robot arms like what is called a double-arm robot.

アーム部4は、複数のジョイント(関節)6と、複数のリンク7と、を含む。   The arm unit 4 includes a plurality of joints (joints) 6 and a plurality of links 7.

各ジョイント6は、リンク7同士や、ロボットの台座(胴体)とリンク7、などを、回動自在に(ただし、所定の可動範囲内で回動可能に)連結している。各ジョイント6は、例えば、回転ジョイントであり、リンク7間の角度を変化させたり、リンク7を軸回転させたりできるように設けられている。従って、各ジョイント6を連動させて駆動することにより、作業点(例えば、ハンド部5)を、自在に(ただし、所定の可動範囲内で)移動させることができるとともに、自由な方向へ向けることもできる。本図の例では、アーム部4は、3つのジョイントを備えた3軸アームとなっている。   Each joint 6 connects the links 7 to each other and the base (body) of the robot to the link 7 so as to be rotatable (but rotatable within a predetermined movable range). Each joint 6 is, for example, a rotary joint, and is provided so that the angle between the links 7 can be changed or the links 7 can be rotated about the axis. Accordingly, by driving the joints 6 in conjunction with each other, the work point (for example, the hand portion 5) can be freely moved (but within a predetermined movable range) and directed in a free direction. You can also. In the example of this figure, the arm part 4 is a 3-axis arm provided with three joints.

ハンド部5は、例えば、複数の指を備え、隣り合う指を近付ける方向に移動させ、少なくとも2本の指で把持対象物を挟んで把持することができる。   The hand unit 5 includes, for example, a plurality of fingers, can move the adjacent fingers in a direction approaching, and can grip the gripping object with at least two fingers.

撮像部20は、ロボット1の外部環境(例えば、図示する作業台付近)を撮影して、画像データを生成するユニットである。撮像部20は、例えば、カメラを含み、天井や壁などに設けられる。撮像部20は、制御部10の制御により、作業点(例えば、ハンド部5)の移動先、すなわち目標位置の撮影を行うとともに、画像データを生成し、制御部10に出力する。   The imaging unit 20 is a unit that captures an external environment of the robot 1 (for example, the vicinity of the illustrated work table) and generates image data. The imaging unit 20 includes, for example, a camera and is provided on a ceiling or a wall. Under the control of the control unit 10, the imaging unit 20 shoots the movement destination of the work point (for example, the hand unit 5), that is, the target position, generates image data, and outputs the image data to the control unit 10.

制御部10は、ロボット1の全体を制御する処理を行う。制御部10は、例えば、ロボット1の本体(可動部30)に内蔵しておいてもよいし、図示するように、ロボット1の本体とは離れた場所に(遠隔操作可能に)配置しておいてもよい。   The control unit 10 performs processing for controlling the entire robot 1. For example, the control unit 10 may be built in the main body (movable unit 30) of the robot 1 or may be disposed at a location away from the main body of the robot 1 (remotely operable) as illustrated. It may be left.

図2は、ロボット1の概略構成の一例を示すブロック図である。図示するように、制御部10は、演算装置であるCPU11と、揮発性の記憶装置であるRAM12と、不揮発性の記憶装置であるROM13と、制御部10と他のユニットを接続するインターフェイス(I/F)回路14と、ロボット1の外部の装置と通信を行う通信装置15と、を備える。   FIG. 2 is a block diagram illustrating an example of a schematic configuration of the robot 1. As illustrated, the control unit 10 includes a CPU 11 that is an arithmetic device, a RAM 12 that is a volatile storage device, a ROM 13 that is a nonvolatile storage device, and an interface (I) that connects the control unit 10 and other units. / F) A circuit 14 and a communication device 15 that communicates with a device external to the robot 1 are provided.

次に、制御部10の機能構成例について説明する。図2の下部には、制御部10についての機能構成例が示されている。   Next, a functional configuration example of the control unit 10 will be described. A functional configuration example of the control unit 10 is shown in the lower part of FIG.

図示するように、制御部10は、中央制御部101と、記憶部102と、撮像制御部103と、目標位置計算部104と、軌道計画部105と、エンコーダー読取部106と、アーム制御部107と、軌道再計画部108と、を備える。   As shown in the figure, the control unit 10 includes a central control unit 101, a storage unit 102, an imaging control unit 103, a target position calculation unit 104, a trajectory planning unit 105, an encoder reading unit 106, and an arm control unit 107. And a trajectory replanning unit 108.

中央制御部101は、他の各部(102〜107)を統括的に制御する。   The central control unit 101 comprehensively controls the other units (102 to 107).

記憶部102は、各種データやプログラムを記憶する。例えば、記憶部102は、可動部30についての軌道計画を行うプログラム、その軌道計画に従って可動部30を制御するプログラム等を記憶する。   The storage unit 102 stores various data and programs. For example, the storage unit 102 stores a program for performing a trajectory plan for the movable unit 30, a program for controlling the movable unit 30 in accordance with the trajectory plan, and the like.

撮像制御部103は、撮像部20を制御する。例えば、撮像制御部103は、撮像部20に対して、作業点(例えば、ハンド部5)の移動先、すなわち目標位置の周辺を撮影させる。そして、撮像制御部103は、撮像部20で撮影された画像データを取得する。   The imaging control unit 103 controls the imaging unit 20. For example, the imaging control unit 103 causes the imaging unit 20 to photograph the movement destination of the work point (for example, the hand unit 5), that is, the periphery of the target position. Then, the imaging control unit 103 acquires image data captured by the imaging unit 20.

目標位置計算部104は、撮像部20で撮像された画像データについて画像認識を行う。目標位置計算部104は、この画像認識に基づき、作業点の移動先である目標位置(例えば、3次元座標)を計算する。   The target position calculation unit 104 performs image recognition on the image data captured by the imaging unit 20. Based on this image recognition, the target position calculation unit 104 calculates a target position (for example, three-dimensional coordinates) to which the work point is moved.

軌道計画部105は、作業点(例えば、ハンド部5)を目標位置まで移動させるときの、可動部30についての軌道を計画する。   The trajectory planning unit 105 plans a trajectory for the movable unit 30 when moving the work point (for example, the hand unit 5) to the target position.

具体的には、軌道計画部105は、各ジョイント6を回転させる角速度または角加速度の時間変化について指定(決定)する。   Specifically, the trajectory planning unit 105 specifies (determines) the temporal change in angular velocity or angular acceleration that rotates each joint 6.

また、軌道計画部105は、作業点(例えば、ハンド部5)を目標位置まで移動させるのに、複数のジョイント6のうち、動作の終了タイミングが最も遅くなるジョイント6を主ジョイントと決定する。そして、軌道計画部105は、主ジョイント以外のジョイント6について、動作の終了タイミングを主ジョイントに合わせる。これにより、各ジョイント6の動作は、ほぼ同時に終了することになり、可動部30が滑らかに動作しているようにみえる。   Further, the trajectory planning unit 105 determines the joint 6 having the latest operation end timing as the main joint among the plurality of joints 6 to move the work point (for example, the hand unit 5) to the target position. Then, the trajectory planning unit 105 matches the operation end timing with the main joint for the joints 6 other than the main joint. As a result, the operations of the joints 6 are finished almost at the same time, and it seems that the movable part 30 is operating smoothly.

エンコーダー読取部106は、アーム部4の各ジョイント6に設けられたアクチュエーター31のエンコーダー値を読み取る。こうしたエンコーダー値は、各ジョイント6の回転角度を特定できるため、各ジョイント6の角速度、角加速度などを把握するのに利用され、また、可動部30の位置、移動方向、移動量、速度、加速度などについて把握するのにも利用される。   The encoder reading unit 106 reads the encoder value of the actuator 31 provided in each joint 6 of the arm unit 4. Such encoder values can be used to determine the angular velocity, angular acceleration, etc. of each joint 6 because the rotation angle of each joint 6 can be specified. Also, the position, moving direction, moving amount, speed, acceleration of the movable portion 30 are used. It is also used to grasp about.

アーム制御部107は、軌道計画部105による軌道計画に従って、作業点を目標位置に向けて移動させる制御を行う。すなわち、アーム制御部107は、指定された角速度または角加速度で各ジョイント6を回転させる。   The arm control unit 107 performs control to move the work point toward the target position according to the trajectory plan by the trajectory plan unit 105. That is, the arm control unit 107 rotates each joint 6 at a designated angular velocity or angular acceleration.

このような制御を行うためには、例えば、アーム制御部107は、エンコーダー読取部106で読み取られたエンコーダー値や、各種センサー32の出力信号に基づいて、作業点が目的の位置(すなわち、目標位置)及び姿勢となるようにアクチュエーター31を制御すればよい。   In order to perform such control, for example, the arm control unit 107 sets the work point to the target position (that is, the target value) based on the encoder value read by the encoder reading unit 106 and the output signals of the various sensors 32. The actuator 31 may be controlled so that the position and the posture are obtained.

また、作業点を目標位置に向けて移動させている途中に、その目標位置が変更されてしまう場合がある。   In addition, the target position may be changed while the work point is moved toward the target position.

この場合には、軌道再計画部108は、ジョイント6が回転する加減速の大きさ(すなわち、角加速度と角減速度)を所定に維持して、可動部30の軌道について再計画する。   In this case, the trajectory replanning unit 108 replans the trajectory of the movable unit 30 while maintaining a predetermined acceleration / deceleration magnitude (ie, angular acceleration and angular deceleration) at which the joint 6 rotates.

また、可動部30の軌道について再計画する場合においても、軌道再計画部108は、作業点(例えば、ハンド部5)を、変更された目標位置まで移動させるのに、複数のジョイント6のうち、動作の終了タイミングが最も遅くなるジョイント6を主ジョイントと決定する。そして、軌道再計画部108は、主ジョイント以外のジョイント6について、動作の終了タイミングを主ジョイントに合わせる。   Further, even when re-planning the trajectory of the movable unit 30, the trajectory re-planning unit 108 moves the work point (for example, the hand unit 5) to the changed target position among the plurality of joints 6. The joint 6 with the latest operation end timing is determined as the main joint. Then, the trajectory replanning unit 108 matches the operation end timing with the main joint for the joints 6 other than the main joint.

上記の記憶部102以外の各機能部は、例えば、CPU11がROM13に格納された所定のプログラムをRAM12に読み出して実行することにより実現される。記憶部102は、例えば、RAM12やROM13により実現される。なお、前記所定のプログラムは、例えば、予めROM13にインストールされてもよいし、通信装置15を介してネットワークからダウンロードされてインストール又は更新されてもよい。   Each functional unit other than the above-described storage unit 102 is realized, for example, when the CPU 11 reads a predetermined program stored in the ROM 13 into the RAM 12 and executes it. The storage unit 102 is realized by, for example, the RAM 12 or the ROM 13. For example, the predetermined program may be installed in the ROM 13 in advance, or may be downloaded from the network via the communication device 15 and installed or updated.

以上のロボット1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。可動部30を有していれば、どのような構造であってもよい。また、一般的なロボットが備える構成を排除するものではない。   The configuration of the robot 1 described above is not limited to the above-described configuration because the main configuration has been described in describing the features of the present embodiment. As long as it has the movable part 30, what kind of structure may be sufficient. Further, the configuration of a general robot is not excluded.

例えば、図1にはアーム部4として3軸アームが示されているが、軸数(ジョイント数)をさらに増加させてもよいし減らしてもよい。リンクの数を増減させてもよい。また、アーム部4、ハンド部5、リンク、ジョイント等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。   For example, although a three-axis arm is shown as the arm portion 4 in FIG. 1, the number of axes (number of joints) may be further increased or decreased. The number of links may be increased or decreased. In addition, the shape, size, arrangement, structure, and the like of various members such as the arm unit 4, the hand unit 5, the link, and the joint may be appropriately changed.

また、上記した制御部100の各機能構成は、制御部100の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。制御部100の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。   In addition, each functional configuration of the control unit 100 described above is classified according to main processing contents in order to facilitate understanding of the configuration of the control unit 100. The present invention is not limited by the way of classification and names of the constituent elements. The configuration of the control unit 100 can be classified into more components depending on the processing content. Moreover, it can also classify | categorize so that one component may perform more processes. Further, the processing of each component may be executed by one hardware or may be executed by a plurality of hardware.

次に、本実施形態における、上記構成からなるロボット1の特徴的な動作について説明する。   Next, a characteristic operation of the robot 1 having the above configuration in the present embodiment will be described.

<アーム制御タスク>
アーム部4を制御することによって、作業点(例えば、ハンド部5)を目標位置まで移動させるタスクを、以下では「アーム制御タスク」とよぶ。
<Arm control task>
The task of moving the work point (for example, the hand unit 5) to the target position by controlling the arm unit 4 is hereinafter referred to as “arm control task”.

図3は、アーム制御タスクの一例について説明するためのフロー図である。   FIG. 3 is a flowchart for explaining an example of the arm control task.

中央制御部101は、ユーザーからの指示に基づいて、アーム制御タスクを開始する。   The central control unit 101 starts an arm control task based on an instruction from the user.

アーム制御タスクが開始されると、まず、エンコーダー読取部106は、アーム部4の各ジョイント6に設けられたアクチュエーター31のエンコーダー値を読み取る(ステップS101)。ここで、読み取られたエンコーダー値は、各ジョイント6の基準位置からの回転角に相当し、例えば、ジョイント6を介して連結された2つのリンク7がなす角を特定できる。   When the arm control task is started, first, the encoder reading unit 106 reads the encoder value of the actuator 31 provided in each joint 6 of the arm unit 4 (step S101). Here, the read encoder value corresponds to the rotation angle from the reference position of each joint 6, and for example, the angle formed by the two links 7 connected via the joint 6 can be specified.

このステップS101の処理により、現時点(初期)の可動部30の状態(各ジョイント6や作業点の位置、姿勢)を知ることができる。   By the processing in step S101, the current state (initial) of the movable unit 30 (positions and postures of the joints 6 and the work points) can be known.

次に、目標位置計算部104は、作業点(例えば、ハンド部5)の目標位置を計算するために、目標位置計算タスクを開始する(ステップS102)。なお、目標位置計算タスクの詳細については後述する。   Next, the target position calculation unit 104 starts a target position calculation task in order to calculate the target position of the work point (for example, the hand unit 5) (step S102). Details of the target position calculation task will be described later.

目標位置計算タスクにより、作業点の目標位置(例えば、3次元座標)が定まると、軌道計画部105は、作業点を目標位置まで移動させるときの、可動部30についての軌道を計画する(ステップS103)。   When the target position (for example, three-dimensional coordinates) of the work point is determined by the target position calculation task, the trajectory planning unit 105 plans a trajectory for the movable unit 30 when moving the work point to the target position (step S103).

具体的には、ステップS103では、軌道計画部105は、ジョイント6ごとに、回転させる角速度または角加速度を指定して動作計画を行う。   Specifically, in step S103, the trajectory planning unit 105 performs an operation plan for each joint 6 by designating an angular velocity or angular acceleration to be rotated.

図4(A)は、第1のジョイント(第1軸)についての動作計画の一例を示す図である。また、図4(B)は、第2のジョイント(第2軸)についての動作計画の一例を示す図である。また、図4(C)は、第3のジョイント(第3軸)についての動作計画の一例を示す図である。   FIG. 4A is a diagram illustrating an example of an operation plan for the first joint (first axis). FIG. 4B is a diagram illustrating an example of an operation plan for the second joint (second axis). FIG. 4C is a diagram illustrating an example of an operation plan for the third joint (third axis).

各図に示すように、ステップS103では、軌道計画部105は、加速区間、等速区間、減速区間に分けて、各ジョイント6の動作計画を行う。加速区間では、各ジョイント6が加速し得る最大の角加速度(AMAX)で回転させる。また、等速区間では、各ジョイント6の角速度の上限値(VMAX)で等速回転させる。また、減速区間では、各ジョイント6が減速し得る最大の角減速度(−AMAX)で回転させる。このように、軌道計画部105は、各ジョイント6の角速度波形が台形となるように動作計画を行う。 As shown in each drawing, in step S103, the trajectory planning unit 105 divides the acceleration section, the constant speed section, and the deceleration section into action plans for each joint 6. In the acceleration section, each joint 6 is rotated at the maximum angular acceleration (A MAX ) that can be accelerated. Further, in the constant velocity section, the joint 6 is rotated at a constant velocity with the upper limit value (V MAX ) of the angular velocity of each joint 6. Further, in the deceleration section, each joint 6 is rotated at the maximum angular deceleration (−A MAX ) that can decelerate. In this way, the trajectory planning unit 105 performs an operation plan so that the angular velocity waveform of each joint 6 becomes a trapezoid.

なお、軌道計画部105は、作業点(例えば、ハンド部105)を移動させる距離とその方向に応じて、加速時間(加速区間の時間)Ta、等速時間(等速区間の時間)Tb、減速時間(減速区間の時間)Tc、をジョイント6ごとに決定する。   The trajectory planning unit 105 determines an acceleration time (acceleration section time) Ta, constant speed time (constant speed section time) Tb, according to the distance and direction in which the work point (for example, the hand unit 105) is moved. Deceleration time (deceleration section time) Tc is determined for each joint 6.

例えば、軌道計画部105は、作業点を現在位置から目標位置まで移動させるために必要な各ジョイント6の回転量Dを求める。そして、軌道計画部105は、各ジョイント6の角速度波形(台形)の面積が、先に求めた各ジョイント6の回転角度Dと一致するように、加速時間Ta、等速時間Tb、減速時間Tcを決定する。   For example, the trajectory planning unit 105 obtains the rotation amount D of each joint 6 necessary for moving the work point from the current position to the target position. The trajectory planning unit 105 then accelerates the time Ta, the constant velocity time Tb, and the deceleration time Tc so that the area of the angular velocity waveform (trapezoid) of each joint 6 matches the rotation angle D of each joint 6 obtained previously. To decide.

すなわち、軌道計画部105は、
D=(VMAX×Ta)/2+(VMAX×Tb)+(VMAX×Tc)/2、
MAX=VMAX/Ta、
−AMAX=−VMAX/Tc、
の3式を満たす、「加速時間Ta」、「等速時間Tb」、「減速時間Tc」を、ジョイント6ごとに求める。
That is, the trajectory planning unit 105
D = (V MAX × Ta) / 2 + (V MAX × Tb) + (V MAX × Tc) / 2,
A MAX = V MAX / Ta,
-A MAX = -V MAX / Tc,
The “acceleration time Ta”, “constant speed time Tb”, and “deceleration time Tc” that satisfy the following three equations are obtained for each joint 6.

ここで、「VMAX」と「AMAX」はそれぞれ予め定められた定数であり、例えば、記憶部102に記憶されている。また、ジョイント6ごとに「VMAX」の値が異なる場合や、ジョイント6ごとに「AMAX」の値が異なる場合には、ジョイント6ごとに記憶しておけばよい。 Here, “V MAX ” and “A MAX ” are predetermined constants, for example, stored in the storage unit 102. In addition, when the value of “V MAX ” is different for each joint 6, or when the value of “A MAX ” is different for each joint 6, it may be stored for each joint 6.

上記のような計画方法によれば、各ジョイント6の総動作時間(Ta+Tb+Tc)は、それぞれ最短となる。ただし、各ジョイント6の動作終了タイミングは不揃いとなるため(図示するT1、T2、T3)、可動部30全体の動作が滑らかにみえない場合がある。   According to the planning method as described above, the total operation time (Ta + Tb + Tc) of each joint 6 is the shortest. However, since the operation end timings of the joints 6 are not uniform (T1, T2, T3 shown in the figure), the operation of the entire movable unit 30 may not be seen smoothly.

そこで、可動部30全体の動作を滑らかにみせるために、軌道計画部105は、ステップS103において、各ジョイント6の動作終了タイミングが揃うように、軌道計画を修正する。   Therefore, in order to make the operation of the entire movable unit 30 smooth, the trajectory planning unit 105 corrects the trajectory plan so that the operation end timings of the joints 6 are aligned in step S103.

具体的には、軌道計画部105は、全てのジョイント6のうち、動作の終了タイミングが最も遅くなるジョイント6を主ジョイントと決定する。従って、図示する例では、第1のジョイント(第1軸)の動作に最も時間がかかるため(T1>T2、T3)、第1のジョイントを主ジョイントとして決定する。   Specifically, the trajectory planning unit 105 determines the joint 6 having the latest operation end timing as the main joint among all the joints 6. Therefore, in the example shown in the figure, the operation of the first joint (first axis) takes the most time (T1> T2, T3), so the first joint is determined as the main joint.

それから、軌道計画部105は、主ジョイント以外のジョイント6について、動作の終了タイミングを主ジョイントに合わせる。従って、図示する例では、軌道計画部105は、第2のジョイント(第2軸)の動作終了タイミングT2を、主ジョイントの動作終了タイミングT1に変更する。また、第3のジョイント(第3軸)の動作終了タイミングT3を、主ジョイントの動作終了タイミングT1に変更する。   Then, the trajectory planning unit 105 matches the operation end timing with the main joint for the joints 6 other than the main joint. Accordingly, in the illustrated example, the trajectory planning unit 105 changes the operation end timing T2 of the second joint (second axis) to the operation end timing T1 of the main joint. Further, the operation end timing T3 of the third joint (third axis) is changed to the operation end timing T1 of the main joint.

ただし、このように主ジョイント以外のジョイント6について、動作終了タイミングを変更する場合であっても、作業点を現在位置から目標位置まで移動させるときの、各ジョイント6の回転角度Dについては変更するわけにはいかない。   However, even when the operation end timing is changed for the joints 6 other than the main joint, the rotation angle D of each joint 6 when the work point is moved from the current position to the target position is changed. I can't help.

そこで、軌道計画部105は、各ジョイント6の角速度波形の面積(斜線部分)を一定に保ったまま、主ジョイント以外のジョイント6について、動作終了タイミングを変更する。   Therefore, the trajectory planning unit 105 changes the operation end timing for the joints 6 other than the main joint while keeping the area (shaded portion) of the angular velocity waveform of each joint 6 constant.

図4(D)は、主ジョイントに合わせて第2のジョイントの動作終了タイミングを変更する場合の例を示す図である。また、図4(E)は、主ジョイントに合わせて第3のジョイントの動作終了タイミングを変更する場合の例を示す図である。   FIG. 4D is a diagram illustrating an example in which the operation end timing of the second joint is changed in accordance with the main joint. FIG. 4E is a diagram illustrating an example in which the operation end timing of the third joint is changed in accordance with the main joint.

各図に示すように、軌道計画部105は、主ジョイント以外のジョイント6について、
(1)D=(VMAX’×Ta’)/2+(VMAX’×Tb’)+(VMAX’×Tc’)/2、
(2)AMAX=VMAX’/Ta’、
(3)−AMAX=−VMAX’/Tc’、
(4)Ta’+Tb’+Tc’=T1
の4式を満たす、「加速時間Ta’」、「等速時間Tb’」、「減速時間Tc’」、「仮の上限値VMAX’」を求める。
As shown in each figure, the trajectory planning unit 105 performs the following operations on the joints 6 other than the main joint.
(1) D = ( VMAX ′ × Ta ′) / 2+ ( VMAX ′ × Tb ′) + ( VMAX ′ × Tc ′) / 2,
(2) A MAX = V MAX '/ Ta',
(3) -A MAX = -V MAX '/ Tc',
(4) Ta ′ + Tb ′ + Tc ′ = T1
The “acceleration time Ta ′”, “constant speed time Tb ′”, “deceleration time Tc ′”, and “temporary upper limit value V MAX ′” are obtained.

ここで、「VMAX’」は、ジョイント6の角速度についての仮の上限値VMAX’であり、「T1」は、主ジョイントの動作終了タイミング(動作開始から動作終了までの時間)である。 Here, “V MAX ′” is a provisional upper limit value V MAX ′ for the angular velocity of the joint 6, and “T1” is the operation end timing (time from the operation start to the operation end) of the main joint.

上記のように主ジョイント以外のジョイント6について、動作計画を修正することによって、各ジョイント6の動作終了タイミングが揃うようになる(図4(D)、(E)に示す「T1」)。こうして、可動部30全体の動作が滑らかにみえるようになる。   By correcting the operation plan for the joints 6 other than the main joint as described above, the operation end timings of the joints 6 are aligned ("T1" shown in FIGS. 4D and 4E). Thus, the entire operation of the movable unit 30 can be seen smoothly.

以上のステップS103の処理を終えると、アーム制御部107は、ステップS103で作成された軌道計画に従って、可動部30を制御する(ステップS104)。   When the process of step S103 is completed, the arm control unit 107 controls the movable unit 30 according to the trajectory plan created in step S103 (step S104).

具体的には、アーム制御部107は、ステップS103で作成された軌道計画(図4(A)、(D)、(E))で指定されている角速度または角加速度で、各ジョイント6を回転させる。   Specifically, the arm control unit 107 rotates each joint 6 at the angular velocity or angular acceleration specified in the trajectory plan (FIGS. 4A, 4D, and 4E) created in step S103. Let

所定時間(例えば、数秒)回転後、アーム制御部107は、所定時間(例えば、1ms)待機し(ステップS105)、処理をステップS106へ移行する。   After rotation for a predetermined time (for example, several seconds), the arm control unit 107 waits for a predetermined time (for example, 1 ms) (step S105), and the process proceeds to step S106.

ところで、本フロー(アーム制御タスク)の制御に並行して、ステップS102で開始された目標位置計算タスクは実行され続けている。そして、作業点(例えば、ハンド部5)を目標位置に向けて移動させている途中に、その目標位置が変更された場合には、目標位置の変更指令が目標位置計算部104から送られてくる仕組みになっている。   Meanwhile, in parallel with the control of this flow (arm control task), the target position calculation task started in step S102 is continuously executed. If the target position is changed while the work point (for example, the hand unit 5) is moved toward the target position, a target position change command is sent from the target position calculation unit 104. It is a mechanism to come.

そこで、ステップS106に処理が移行すると、軌道再計画部108は、目標位置計算部104から目標位置の変更指令が送られているかどうか判別する(ステップS106)。   Therefore, when the process proceeds to step S106, the trajectory replanning unit 108 determines whether or not a target position change command is sent from the target position calculation unit 104 (step S106).

軌道再計画部108は、目標位置の変更指令が送られていない場合には(ステップS106;No)、目標位置は変更されていないものと判定し、そのまま処理をステップS108へ移行する。   The trajectory replanning unit 108 determines that the target position has not been changed when the target position change command has not been sent (step S106; No), and proceeds directly to step S108.

一方、軌道再計画部108は、目標位置の変更指令が送られている場合には(ステップS106;Yes)、目標位置が変更されたものと判定し、可動部30の軌道について再計画する(ステップS107)。   On the other hand, when the target position change command is sent (step S106; Yes), the trajectory replanning unit 108 determines that the target position has been changed and replans the trajectory of the movable unit 30 ( Step S107).

具体的には、ステップS107では、軌道再計画部108は、各ジョイント6が回転する加減速の大きさ、すなわち、角加速度(AMAX)と角減速度(−AMAX)を所定に維持して(変えずに)、各ジョイント6の動作計画をやり直す。 Specifically, in step S107, the trajectory replanning unit 108 maintains the magnitude of acceleration / deceleration at which each joint 6 rotates, that is, angular acceleration (A MAX ) and angular deceleration (−A MAX ), at a predetermined level. (Without changing), redo the motion plan of each joint 6.

以下に、ステップS107の処理について詳細に説明する。   Hereinafter, the process of step S107 will be described in detail.

まず、ステップS107に処理が移行すると、軌道再計画部108は、ジョイント6の角速度を現在の角速度(V)から最大の角減速度(−AMAX)で減速させて、その回転が停止するまでに回転する回転量D’を求める。なお、ここで回転量D’を求めているのは、求めた回転量D’に応じて、ジョイント6の動作計画をやり直す方法が異なるためである(後述する再計画方法1〜4)。 First, when the process proceeds to step S107, the trajectory replanning unit 108 decelerates the angular velocity of the joint 6 from the current angular velocity (V i ) by the maximum angular deceleration (−A MAX ), and the rotation stops. The amount of rotation D ′ that is rotated up to is determined. The reason why the rotation amount D ′ is obtained here is that the method of redoing the operation plan of the joint 6 differs depending on the obtained rotation amount D ′ (replanning methods 1 to 4 described later).

図5は、この回転量D’を計算する方法について説明する図である。   FIG. 5 is a diagram for explaining a method of calculating the rotation amount D ′.

図示するように、軌道再計画部108は、縦縞部分の面積を求めることによって、回転量D’を計算する。   As illustrated, the trajectory replanning unit 108 calculates the rotation amount D ′ by obtaining the area of the vertical stripe portion.

すなわち、軌道再計画部108は、
(1)D’=V×T0/2
(2)−AMAX=−V/T0
の2式を満たす、「回転量D’」を求める。
That is, the trajectory replanning unit 108
(1) D ′ = V i × T0 / 2
(2) -A MAX = -V i / T0
“Rotation amount D ′” that satisfies the following two equations is obtained.

ここで、「T0」は、目標位置が変更されてからジョイント6の回転が停止するまでにかかる時間を表す。また、「−AMAX」は上述した通り予め定められた定数である。また、「V」は、各ジョイント6に設けられたアクチュエーター31のエンコーダー値から求められる。 Here, “T0” represents the time it takes for the rotation of the joint 6 to stop after the target position is changed. Further, “−A MAX ” is a predetermined constant as described above. Further, “V i ” is obtained from the encoder value of the actuator 31 provided in each joint 6.

次に、軌道再計画部108は、作業点を、現在位置(すなわち、目標位置が変更されたポイント)Sから、変更された目標位置G’まで移動させるのに、必要な各ジョイント6の回転量D”を求める。   Next, the trajectory replanning unit 108 rotates each joint 6 necessary to move the work point from the current position (ie, the point where the target position has been changed) S to the changed target position G ′. The quantity D "is determined.

そして、軌道再計画部108は、ここで求めた回転量D”と、上記の回転量D’と、を比較する。   Then, the trajectory replanning unit 108 compares the rotation amount D ″ obtained here with the rotation amount D ′.

(再計画方法1)
このとき、「D’<D”」であれば、現在位置Sから変更後の目標位置G’までの間において、ジョイント6の回転方向は正方向の状態(すなわち、ジョイント6の角速度V>0)が保たれているのが好ましい。
(Replanning method 1)
At this time, if “D ′ <D ″”, the rotational direction of the joint 6 is in a positive direction between the current position S and the changed target position G ′ (that is, the angular velocity V> 0 of the joint 6). ) Is preferably maintained.

図6(A)は、「D’<D”」の条件が成立しているときに、ジョイント6の動作を再計画する場合の一例を示す図である。   FIG. 6A is a diagram illustrating an example of replanning the operation of the joint 6 when the condition “D ′ <D” ”is satisfied.

図示するように、軌道再計画部108は、まずは、加速区間と減速区間に分けて、各ジョイント6の動作を再計画する。具体的には、軌道再計画部108は、各ジョイント6を、初速度(V)から角加速度(AMAX)で回転させ(加速区間)、角速度が極値(Vpeak)に達すると、角減速度(−AMAX)で回転させる(減速区間)、ように再計画する。このように、軌道再計画部108は、各ジョイント6の角速度波形が極値(Vpeak)をもつ四辺形(台形+三角形)となるように動作の再計画を行う(太線)。 As shown in the drawing, the trajectory replanning unit 108 first replans the operation of each joint 6 by dividing into an acceleration section and a deceleration section. Specifically, the trajectory replanning unit 108 rotates each joint 6 from the initial speed (V i ) with the angular acceleration (A MAX ) (acceleration section), and when the angular velocity reaches the extreme value (V peak ), Re-plan to rotate at the angular deceleration (-A MAX ) (deceleration section). In this way, the trajectory replanning unit 108 replans the operation so that the angular velocity waveform of each joint 6 becomes a quadrangle (trapezoid + triangle) having an extreme value (V peak ) (thick line).

なお、軌道再計画部108は、作業点を現在位置(目標位置が変更されたポイント)Sから変更後の目標位置G’まで移動させる距離とその方向に応じて、加速時間Ta、減速時間Tc、を決定する。   The trajectory replanning unit 108 determines the acceleration time Ta and the deceleration time Tc according to the distance and the direction in which the work point is moved from the current position (point where the target position is changed) S to the changed target position G ′. , Determine.

例えば、軌道再計画部108は、各ジョイント6の角速度波形の面積(網掛け部分)が、先に求めておいた各ジョイント6の回転量D”と一致するように、加速時間Ta、減速時間Tcを決定する。   For example, the trajectory replanning unit 108 determines that the acceleration time Ta and the deceleration time so that the area (shaded portion) of the angular velocity waveform of each joint 6 matches the rotation amount D ″ of each joint 6 obtained previously. Determine Tc.

すなわち、軌道再計画部108は、ジョイント6の角加速度(AMAX)、および角減速度(−AMAX)を固定値として、
(1)D”={(V+Vpeak)×Ta/2}+{Vpeak×Tc/2}、
(2)Ta=(Vpeak−V)/AMAX
(3)Tc=Vpeak/(−AMAX)、
の3式を満たす「加速時間Ta」、「減速時間Tc」、「極値Vpeak」を、ジョイント6ごとに求める。
That is, the trajectory replanning unit 108 sets the angular acceleration (A MAX ) and angular deceleration (−A MAX ) of the joint 6 as fixed values,
(1) D ″ = {(V i + V peak ) × Ta / 2} + {V peak × Tc / 2},
(2) Ta = (V peak −V i ) / A MAX ,
(3) Tc = V peak / (− A MAX ),
The “acceleration time Ta”, “deceleration time Tc”, and “extreme value V peak ” that satisfy the following three equations are obtained for each joint 6.

以上のような方法によれば、ジョイント6の角加速度(AMAX)、および角減速度(−AMAX)を固定値としているため、上記のような簡単な計算式によって各ジョイント6の動作について再計画できる。その結果、作業点を目標位置に向けて移動させている途中に、その目標位置が変更された場合であっても、即座に各ジョイント6の動作について再計画できる。 According to the method as described above, the angular acceleration (A MAX ) and the angular deceleration (−A MAX ) of the joint 6 are fixed values. You can re-plan. As a result, even if the target position is changed while the work point is moved toward the target position, the operation of each joint 6 can be immediately replanned.

(再計画方法2)
また、「D’<D”」であったとしても、求めた「極値Vpeak」が、角速度の上限値VMAXを上回る場合には、上記の再計画方法1を採用できない。
(Replanning method 2)
Even if “D ′ <D ″”, if the obtained “extreme value V peak ” exceeds the upper limit value V MAX of the angular velocity, the re-planning method 1 cannot be adopted.

図6(B)は、「D’<D”」かつ「Vpeak>VMAX」の条件が成立するときに、ジョイント6の動作を再計画する場合の一例を示す図である。 FIG. 6B is a diagram illustrating an example of replanning the operation of the joint 6 when the conditions “D ′ <D” ”and“ V peak > V MAX ”are satisfied.

図示するように、軌道再計画部108は、加速区間、等速区間、減速区間に分けて、各ジョイント6の動作を再計画する。具体的には、軌道再計画部108は、各ジョイント6を、初速度(V)から角加速度(AMAX)で回転させ(加速区間)、角速度が上限値(VMAX)に達すると、等速の角速度(VMAX)で回転させ(等速区間)、それから、角減速度(−AMAX)で回転させる(減速区間)、ように再計画する。このように、軌道再計画部108は、各ジョイント6の角速度波形が五角形(台形+矩形+三角形)となるように動作の再計画を行う(太線)。 As shown in the drawing, the trajectory replanning unit 108 replans the operation of each joint 6 in an acceleration section, a constant speed section, and a deceleration section. Specifically, the trajectory replanning unit 108 rotates each joint 6 from the initial speed (V i ) at the angular acceleration (A MAX ) (acceleration section), and when the angular velocity reaches the upper limit value (V MAX ), It is re-planned to rotate at a constant angular velocity (V MAX ) (constant velocity section) and then rotate at an angular deceleration (−A MAX ) (deceleration section). In this manner, the trajectory replanning unit 108 replans the operation so that the angular velocity waveform of each joint 6 becomes a pentagon (trapezoid + rectangle + triangle) (thick line).

なお、軌道再計画部108は、作業点を現在位置(目標位置が変更されたポイント)Sから変更後の目標位置G’まで移動させる距離とその方向に応じて、加速時間Ta、等速時間Tb、減速時間Tc、を決定する。   The trajectory replanning unit 108 determines the acceleration time Ta and the constant speed time according to the distance and the direction in which the work point is moved from the current position (point where the target position has been changed) S to the changed target position G ′. Tb and deceleration time Tc are determined.

例えば、軌道再計画部108は、各ジョイント6の角速度波形の面積(網掛け部分)が、先に求めておいた各ジョイント6の回転量D”と一致するように、加速時間Ta、等速時間Tb、減速時間Tcを決定する。   For example, the trajectory replanning unit 108 determines that the acceleration time Ta and the constant velocity are set so that the area (shaded portion) of the angular velocity waveform of each joint 6 matches the rotation amount D ″ of each joint 6 previously obtained. Time Tb and deceleration time Tc are determined.

すなわち、軌道再計画部108は、ジョイント6の角加速度(AMAX)、および角減速度(−AMAX)を固定値として、
(1)D”={(V+VMAX)×Ta/2}+{VMAX×Tb}+{VMAX×Tc/2}、
(2)Ta=(VMAX−V)/AMAX
(3)Tc=VMAX/(−AMAX)、
の3式を満たす「加速時間Ta」、「減速時間Tb」、「減速時間Tc」を、ジョイント6ごとに求める。
That is, the trajectory replanning unit 108 sets the angular acceleration (A MAX ) and angular deceleration (−A MAX ) of the joint 6 as fixed values,
(1) D ″ = {(V i + V MAX ) × Ta / 2} + {V MAX × Tb} + {V MAX × Tc / 2},
(2) Ta = (V MAX −V i ) / A MAX ,
(3) Tc = VMAX / ( -AMAX ),
The “acceleration time Ta”, “deceleration time Tb”, and “deceleration time Tc” that satisfy the following three formulas are obtained for each joint 6.

このように各ジョイント6の動作について再計画すれば、「Vpeak>VMAX」となる場合であっても問題なく再計画でき、上記再計画方法1と同様の効果が得られる。 By replanning the operation of each joint 6 in this way, even if “V peak > V MAX ”, replanning can be performed without any problem, and the same effect as the replanning method 1 can be obtained.

(再計画方法3)
また、「D’>D”」となる場合には、現在位置Sから変更後の目標位置G’までの一部区間において、ジョイント6の回転を逆回転(すなわち、ジョイント6の角速度V<0)させる必要がある。
(Replanning method 3)
When “D ′> D ″”, the rotation of the joint 6 is reversely rotated (that is, the angular velocity V <0 of the joint 6) in a partial section from the current position S to the changed target position G ′. )

図7(A)は、「D’>D”」の条件が成立しているときに、ジョイント6の動作を再計画する場合の一例を示す図である。   FIG. 7A is a diagram illustrating an example of replanning the operation of the joint 6 when the condition “D ′> D ″” is satisfied.

図示するように、軌道再計画部108は、まずは、第1の減速区間、第2の減速区間、加速区間に分けて、各ジョイント6の動作を再計画する。具体的には、軌道再計画部108は、各ジョイント6を、初速度(V)から角減速度(−AMAX)で回転させ(第1の減速区間)、角速度が0に到達してもそのまま角減速度(−AMAX)で回転させ(第2の減速区間)、角速度が極値(Vpeak)に達すると、角加速度(AMAX)で回転させる(加速区間)、ように再計画する。このように、軌道再計画部108は、各ジョイント6の角速度波形が時間軸の正負にまたがる(正の三角形+負の三角形)ように動作の再計画を行う(太線)。 As illustrated, the trajectory replanning unit 108 first reschedules the operation of each joint 6 in a first deceleration zone, a second deceleration zone, and an acceleration zone. Specifically, the trajectory replanning unit 108 rotates each joint 6 from the initial speed (V i ) at an angular deceleration (−A MAX ) (first deceleration section), and the angular speed reaches zero. Is also rotated at angular deceleration (−A MAX ) (second deceleration zone), and when the angular velocity reaches the extreme value (V peak ), it is rotated at angular acceleration (A MAX ) (acceleration zone). To plan. In this way, the trajectory replanning unit 108 replans the operation so that the angular velocity waveform of each joint 6 spans the positive and negative of the time axis (positive triangle + negative triangle) (thick line).

なお、軌道再計画部108は、作業点を現在位置(目標位置が変更されたポイント)Sから変更後の目標位置G’まで移動させる距離とその方向に応じて、第1の減速時間Tc、第2の減速時間Tc’、加速時間Ta、を決定する。   The trajectory replanning unit 108 determines the first deceleration time Tc, depending on the distance and the direction in which the work point is moved from the current position (point where the target position is changed) S to the changed target position G ′. A second deceleration time Tc ′ and an acceleration time Ta are determined.

例えば、軌道再計画部108は、各ジョイント6の角速度波形の面積、すなわち、図示する正の三角形の面積D’から負の三角形の面積Dを差し引いた面積が、先に求めておいた各ジョイント6の回転量D”と一致するように、第1の減速時間Tc、第2の減速時間Tc’、加速時間Taを決定する。 For example, each orbit replanning section 108, the area of the angular velocity waveform of each joint 6, i.e., the area obtained by subtracting the area D L positive negative triangle from the area D 'of the triangle shown, had been obtained previously The first deceleration time Tc, the second deceleration time Tc ′, and the acceleration time Ta are determined so as to coincide with the rotation amount D ″ of the joint 6.

すなわち、軌道再計画部108は、ジョイント6の角加速度(AMAX)、および角減速度(−AMAX)を固定値として、
(1)D”={V×Tc/2}−{|Vpeak|×(Tc’+Ta)/2}、
(2)Tc=−V/(−AMAX)、
(3)Tc’=−|Vpeak|/(−AMAX)、
(4)Ta=|Vpeak|/AMAX
の4式を満たす「第1の減速時間Tc」、「第2の減速時間Tc’」、「加速時間Ta」、「極値Vpeak」を、ジョイント6ごとに求める。
That is, the trajectory replanning unit 108 sets the angular acceleration (A MAX ) and angular deceleration (−A MAX ) of the joint 6 as fixed values,
(1) D ″ = {V i × Tc / 2} − {| V peak | × (Tc ′ + Ta) / 2},
(2) Tc = −V i / (− A MAX ),
(3) Tc ′ = − | V peak | / (− A MAX ),
(4) Ta = | V peak | / A MAX ,
The “first deceleration time Tc”, “second deceleration time Tc ′”, “acceleration time Ta”, and “extreme value V peak ” that satisfy the following four equations are obtained for each joint 6.

このように各ジョイント6の動作について再計画すれば、「D’>D”」となる場合であっても問題なく再計画でき、上記再計画方法1、2と同様の効果が得られる。   By replanning the operation of each joint 6 in this way, even if “D ′> D ″”, replanning can be performed without any problem, and the same effects as the replanning methods 1 and 2 can be obtained.

(再計画方法4)
また、「D’>D”」である場合に、求めた「極値Vpeak」が、角速度の下限値(−VMAX)下回る場合には、上記の再計画方法3を採用できない。
(Replanning method 4)
Further, when “D ′> D ″” and the obtained “extreme value V peak ” is lower than the lower limit value (−V MAX ) of the angular velocity, the above re-planning method 3 cannot be adopted.

図7(B)は、「D’>D”」かつ「Vpeak<−VMAX」の条件が成立するときに、ジョイント6の動作を再計画する場合の一例を示す図である。 FIG. 7B is a diagram illustrating an example of replanning the operation of the joint 6 when the conditions “D ′> D” ”and“ V peak <−V MAX ”are satisfied.

図示するように、軌道再計画部108は、第1の減速区間、第2の減速区間、等速区間、加速区間に分けて、各ジョイント6の動作を再計画する。具体的には、軌道再計画部108は、各ジョイント6を、初速度(V)から角減速度(−AMAX)で回転させ(第1の減速区間)、角速度が0に到達してもそのまま角減速度(−AMAX)で回転させ(第2の減速区間)、角速度が下限値(−VMAX)に達すると、等速の角速度(−VMAX)で回転させ(等速区間)、それから、角加速度(AMAX)で回転させる(加速区間)、ように再計画する。このように、軌道再計画部108は、各ジョイント6の角速度波形が時間軸の正負にまたがる(正の三角形+負の台形)ように動作の再計画を行う(太線)。 As shown in the figure, the trajectory replanning unit 108 replans the operation of each joint 6 in a first deceleration section, a second deceleration section, a constant speed section, and an acceleration section. Specifically, the trajectory replanning unit 108 rotates each joint 6 from the initial speed (V i ) at an angular deceleration (−A MAX ) (first deceleration section), and the angular speed reaches zero. Is also rotated at angular deceleration (−A MAX ) (second deceleration zone), and when the angular velocity reaches the lower limit value (−V MAX ), it is rotated at constant angular velocity (−V MAX ) (constant velocity zone). ), And then re-plan to rotate (acceleration section) with angular acceleration (A MAX ). As described above, the trajectory replanning unit 108 replans the operation so that the angular velocity waveform of each joint 6 spans the positive and negative of the time axis (positive triangle + negative trapezoid) (thick line).

なお、軌道再計画部108は、作業点を現在位置(目標位置が変更されたポイント)Sから変更後の目標位置G’まで移動させる距離とその方向に応じて、第1の減速時間Tc、第2の減速時間Tc’、等速時間Tb、加速時間Ta、を決定する。   The trajectory replanning unit 108 determines the first deceleration time Tc, depending on the distance and the direction in which the work point is moved from the current position (point where the target position is changed) S to the changed target position G ′. A second deceleration time Tc ′, a constant velocity time Tb, and an acceleration time Ta are determined.

例えば、軌道再計画部108は、各ジョイント6の角速度波形の面積、すなわち、図示する正の三角形の面積D’から負の台形の面積Dを差し引いた面積が、先に求めておいた各ジョイント6の回転量D”と一致するように、第1の減速時間Tc、第2の減速時間Tc’、等速時間Tb、加速時間Taを決定する。 For example, each orbit replanning section 108, the area of the angular velocity waveform of each joint 6, i.e., the area obtained by subtracting the positive from the area D 'of the triangle negative trapezoidal area D L shown, had been obtained previously The first deceleration time Tc, the second deceleration time Tc ′, the constant speed time Tb, and the acceleration time Ta are determined so as to coincide with the rotation amount D ″ of the joint 6.

すなわち、軌道再計画部108は、ジョイント6の角加速度(AMAX)、および角減速度(−AMAX)を固定値として、
(1)D”={V×Tc/2}−{VMAX×(Tc’+2×Tb+Ta)/2}、
(2)Tc=−V/(−AMAX)、
(3)Tc’=−VMAX/(−AMAX)、
(4)Ta=VMAX/AMAX
の4式を満たす「第1の減速時間Tc」、「第2の減速時間Tc’」、「等速時間Tb」、「加速時間Ta」を、ジョイント6ごとに求める。
That is, the trajectory replanning unit 108 sets the angular acceleration (A MAX ) and angular deceleration (−A MAX ) of the joint 6 as fixed values,
(1) D ″ = {V i × Tc / 2} − {V MAX × (Tc ′ + 2 × Tb + Ta) / 2},
(2) Tc = −V i / (− A MAX ),
(3) Tc ′ = − V MAX / (− A MAX ),
(4) Ta = V MAX / A MAX ,
The “first deceleration time Tc”, “second deceleration time Tc ′”, “constant speed time Tb”, and “acceleration time Ta” that satisfy the following four equations are obtained for each joint 6.

このように各ジョイント6の動作について再計画すれば、「Vpeak<−VMAX」となる場合であっても問題なく再計画でき、上記の再計画方法1〜3と同様の効果が得られる。 By replanning the operation of each joint 6 in this way, it is possible to replan without problems even when “V peak <−V MAX ”, and the same effects as the above replanning methods 1 to 3 are obtained. .

なお、上記の再計画方法1〜4において、ジョイント6の現在の角速度Vが上限値VMAXに一致する場合(すなわち、「V=VMAX」)には、各数式において「V=VMAX」として計算すればよい。 In the re-planning methods 1 to 4 described above, when the current angular velocity V i of the joint 6 matches the upper limit value V MAX (ie, “V i = V MAX ”), “V i = It may be calculated as “V MAX ”.

ところで、図8(A)〜(C)は、第1〜第3のジョイントについての再計画後の動作計画の一例を示す図である。   8A to 8C are diagrams illustrating an example of an operation plan after replanning for the first to third joints.

上記の再計画方法1〜4のどの方法で再計画した場合であっても、各ジョイント6の総動作時間(図示するTSからTG’までの時間)は、それぞれ最短となる。しかし、図示するように、各ジョイント6の動作終了タイミングは不揃いとなるため(図示するTG1’、TG2’、TG3’)、各ジョイントの動作を再計画することによって可動部30全体の動作が滑らかにみえなくなる場合がある。 Regardless of which of the above replanning methods 1 to 4, the total operation time of each joint 6 (the time from TS to TG ′ shown in the figure) is the shortest. However, as shown in the figure, the operation end timings of the joints 6 are not uniform (T G1 ′ , T G2 ′ , T G3 ′ shown in the figure). Therefore, by replanning the operations of the joints, The operation may not look smooth.

そこで、各ジョイントの動作を再計画する場合にも、可動部30全体の動作を滑らかにみせるために、軌道再計画部108は、各ジョイント6の動作終了タイミングが揃うように、動作計画を修正する。   Therefore, even when re-planning the operation of each joint, the trajectory re-planning unit 108 corrects the operation plan so that the operation end timing of each joint 6 is aligned in order to make the entire operation of the movable unit 30 smooth. To do.

具体的には、軌道再計画部108は、全てのジョイント6のうち、再計画後の動作の終了タイミングが最も遅くなるジョイント6を主ジョイントと決定する。従って、図示する例では、再計画後の第2のジョイント(第2軸)の動作に最も時間がかかるため(TG2’>TG1’、TG3’)、第2のジョイントを主ジョイントとして決定する。 Specifically, the trajectory replanning unit 108 determines, as a main joint, the joint 6 having the latest operation end timing after the replanning among all the joints 6. Accordingly, in the example shown in the figure, the second joint (second axis) after the re-planning takes the most time (T G2 ′ > T G1 ′ , T G3 ′ ), so the second joint is used as the main joint. decide.

それから、軌道再計画部108は、主ジョイント以外のジョイント6について、動作の終了タイミングを主ジョイントに合わせる。従って、図示する例では、軌道再計画部108は、第1のジョイント(第1軸)の動作終了タイミングTG1’を、主ジョイントの動作終了タイミングTG2’に変更する。また、第3のジョイント(第3軸)の動作終了タイミングTG3’を、主ジョイントの動作終了タイミングTG2’に変更する。 Then, the trajectory replanning unit 108 adjusts the operation end timing of the joints 6 other than the main joint to the main joint. Thus, in the illustrated example, the trajectory replanning section 108 'and operation termination timing T G2 of the main joint' first joint operation end timing T G1 (first axis) to change. Further, the operation end timing T G3 ′ of the third joint (third axis) is changed to the operation end timing T G2 ′ of the main joint.

ただし、このように主ジョイント以外のジョイント6について、動作終了タイミングを変更する場合であっても、作業点を現在位置(すなわち、目標位置が変更されたポイント)Sから変更後の目標位置G’まで移動させるときの、各ジョイント6の回転量D”については変更するわけにはいかない。   However, even when the operation end timing is changed for the joint 6 other than the main joint in this way, the work point is changed from the current position (that is, the point where the target position is changed) S to the target position G ′ after the change. The amount of rotation D ″ of each joint 6 when moving to the position cannot be changed.

そこで、軌道再計画部108は、各ジョイント6の角速度波形の面積D”を一定に保ったまま、主ジョイント以外のジョイント6について、動作終了タイミングを変更する。   Therefore, the trajectory replanning unit 108 changes the operation end timing for the joints 6 other than the main joint while keeping the area D ″ of the angular velocity waveform of each joint 6 constant.

図8(D)は、第1のジョイントについて動作終了タイミングを変更する場合の例を示す図である。また、図8(E)は、第3のジョイントについて動作終了タイミングを変更する場合の例を示す図である。   FIG. 8D is a diagram illustrating an example of changing the operation end timing for the first joint. FIG. 8E is a diagram illustrating an example of changing the operation end timing for the third joint.

例えば、図8(D)に示すように、上記の再計画方法1、2によって動作が再計画されたジョイント6については、軌道再計画部108は、
(1)D”=(V+V)×Tc/2+(V×Tb)+(V×Tc)/2、
(2)−AMAX=(V−V)/Ta、
(3)−AMAX=−V/Tc’、
(4)Tc+Tb+Tc’=TG2’
の4式を満たす、「第1の減速時間Tc」、「等速時間Tb」、「第2の減速時間Tc’」、「等加速度V」を求める。
For example, as shown in FIG. 8D, for the joint 6 whose operation is replanned by the replanning methods 1 and 2, the trajectory replanning unit 108
(1) D ″ = (V i + V H ) × Tc / 2 + (V H × Tb) + (V H × Tc) / 2,
(2) -A MAX = (V H -V i ) / Ta,
(3) -A MAX = -V H / Tc ',
(4) Tc + Tb + Tc ′ = T G2 ′
The “first deceleration time Tc”, “constant speed time Tb”, “second deceleration time Tc ′”, and “equal acceleration V H ” that satisfy the following four equations are obtained.

ここで、「V」は、ジョイント6が等角速度で回転するときの角速度の値である。 Here, “V H ” is a value of the angular velocity when the joint 6 rotates at a constant angular velocity.

また、図8(E)に示すように、上記の再計画方法3、4によって動作が再計画されたジョイント6については、軌道再計画部108は、
(1)D”=V×Tc/2−(|V|×(Tc’+2×Tb+Ta)/2)
(2)−AMAX=−V/Tc、
(3)−AMAX=−|V|/Tc’、
(4)AMAX=|V|/Ta、
(5)Tc+Tb+Tc’=TG2’
の5式を満たす、「第1の減速時間Tc」、「第2の減速時間Tc’」、「等速時間Tb」、「加速時間Ta」、「等加速度V」、を求める。
Further, as shown in FIG. 8E, the trajectory replanning unit 108 for the joint 6 whose operation is replanned by the replanning methods 3 and 4 described above,
(1) D ″ = V i × Tc / 2− (| V H | × (Tc ′ + 2 × Tb + Ta) / 2)
(2) -A MAX = -V i / Tc,
(3) -A MAX =-| VH | / Tc ',
(4) A MAX = | V H | / Ta,
(5) Tc + Tb + Tc ′ = T G2 ′
The “first deceleration time Tc”, “second deceleration time Tc ′”, “constant speed time Tb”, “acceleration time Ta”, and “constant acceleration V H ” that satisfy the following equation (5) are obtained.

ここで、「V」は、ジョイント6が等加速度で回転するときの角速度の値である。 Here, “V H ” is a value of an angular velocity when the joint 6 rotates at a constant acceleration.

このように主ジョイント以外のジョイント6について動作計画を修正することによって、再計画後の動作計画においても、各ジョイント6の動作終了タイミングが揃うようになる(図8(D)、(E)に示す「TG2’」)。そのため、ステップS107で動作計画が再計画された場合でも、可動部30全体の動作が滑らかにみえるようになる。 As described above, by correcting the operation plan for the joints 6 other than the main joint, the operation end timing of each joint 6 is aligned even in the operation plan after the re-planning (see FIGS. 8D and 8E). “T G2 ′ ”). Therefore, even when the operation plan is re-planned in step S107, the entire operation of the movable unit 30 can be seen smoothly.

以上がステップS107における処理となる。以上のように、可動部30の軌道を再計画し終えると、軌道再計画部108は、処理をステップS108へ移行する。   The above is the processing in step S107. As described above, after replanning the trajectory of the movable unit 30, the trajectory replanning unit 108 moves the process to step S108.

図3に戻り説明する。図示するように、処理がステップS108へ移行すると、アーム制御部107は、ステップS103で作成された軌道計画の終了時刻(例えば、図4(D)(E)に示す主ジョイントの動作終了タイミングT1)であるか否か判別する(ステップS108)。もちろん、ステップS107で軌道計画が再計画されている場合には、再計画後の終了時刻(例えば、図8(D)(E)に示す主ジョイントの動作終了タイミングTG2’)であるか否か判別する。 Returning to FIG. As shown in the drawing, when the process proceeds to step S108, the arm control unit 107 terminates the trajectory plan created in step S103 (for example, the main joint operation end timing T1 shown in FIGS. 4D and 4E). ) Is determined (step S108). Of course, when the trajectory plan is replanned in step S107, it is the end time after the replanning (for example, the operation end timing T G2 ′ of the main joint shown in FIGS. 8D and 8E ). To determine.

ここで、アーム制御部107は、終了時刻ではないと判別した場合には(ステップS108;No)、処理をステップS104に戻し、未実行の残りの制御を続行する。   If the arm control unit 107 determines that it is not the end time (step S108; No), the process returns to step S104, and the remaining unexecuted control is continued.

一方、アーム制御部107は、終了時刻であると判別した場合には(ステップS108;Yes)、本フローを終了する。   On the other hand, if the arm control unit 107 determines that it is the end time (step S108; Yes), the flow ends.

以上の制御が、本実施形態にかかるアーム制御タスクである。このように、本実施形態にかかるアーム制御タスクを採用すれば、作業点を目標位置に向けて移動させている途中のどのタイミングでその目標位置が変更された場合であっても、即座に各ジョイント6の動作について再計画できる。   The above control is the arm control task according to the present embodiment. As described above, when the arm control task according to the present embodiment is adopted, even if the target position is changed at any timing during the movement of the work point toward the target position, The operation of the joint 6 can be re-planned.

また、本実施形態にかかるアーム制御タスクでは、加速区間での角加速度、及び、減速区間での角減速度を固定している(AMAX、−AMAX)ため、角加速度や角減速度を可変とする制御を行う場合と比較して、安定した制御となる。 In the arm control task according to the present embodiment, the angular acceleration in the acceleration section and the angular deceleration in the deceleration section are fixed (A MAX , -A MAX ). The control is more stable than when variable control is performed.

また、本実施形態にかかるアーム制御タスクでは、可動部30の目標位置までの距離によらず、軌道計画に従って可動部30を制御するため、目標位置までの距離に応じて制御速度を変更する場合と比較して、高速に可動部30を制御できる。   Further, in the arm control task according to the present embodiment, the control speed is changed according to the distance to the target position because the movable part 30 is controlled according to the trajectory plan regardless of the distance to the target position of the movable part 30. Compared with, the movable part 30 can be controlled at high speed.

<目標位置計算タスク>
次に、上記の目標位置計算タスク(S102)の詳細について説明する。
<Target position calculation task>
Next, details of the target position calculation task (S102) will be described.

図9は、目標位置計算タスク(S102)の一例について説明するためのフロー図である。   FIG. 9 is a flowchart for explaining an example of the target position calculation task (S102).

上述したように、目標位置計算部104は、処理がステップS102に移行するタイミングで、本フローを開始する。   As described above, the target position calculation unit 104 starts this flow at the timing when the process proceeds to step S102.

本フローを開始すると、撮像制御部103は、まず、作業点を移動させる目標位置の画像を取得する(ステップS201)。例えば、撮像制御部103は、ユーザーからの指示に基づき、撮像部20に撮像の指示を出す。このとき、撮像部20は、ユーザーによって指定された目標位置方向を撮像する。こうして、撮像制御部103は、目標位置の画像を取得できる。   When this flow is started, the imaging control unit 103 first acquires an image of a target position for moving the work point (step S201). For example, the imaging control unit 103 issues an imaging instruction to the imaging unit 20 based on an instruction from the user. At this time, the imaging unit 20 images the target position direction designated by the user. In this way, the imaging control unit 103 can acquire an image of the target position.

次に、目標位置計算部104は、ステップS201で取得された画像を用いて、作業点の目標位置を計算する(ステップS202)。例えば、目標位置計算部104は、ステップS201で取得した画像について画像認識を行い、目標位置に指定可能な対象物(或いは、合焦点)を特定する。それから、目標位置計算部104は、特定した対象物の位置を、撮像方向との差分から求め、作業点の目標位置とする。   Next, the target position calculation unit 104 calculates the target position of the work point using the image acquired in step S201 (step S202). For example, the target position calculation unit 104 performs image recognition on the image acquired in step S201, and identifies an object (or a focal point) that can be specified as the target position. Then, the target position calculation unit 104 obtains the position of the identified object from the difference from the imaging direction and sets it as the target position of the work point.

それから、目標位置計算部104は、ステップS202で計算した作業点の目標位置(例えば、3次元座標)を、目標位置の初期設定、或いは、目標位置の変更指令として、制御部10へ送信する(ステップS203)。   Then, the target position calculation unit 104 transmits the target position (for example, three-dimensional coordinates) of the work point calculated in step S202 to the control unit 10 as an initial setting of the target position or a target position change command ( Step S203).

次に、目標位置計算部104、上記のアーム制御タスクが終了したか否か判別する(ステップS204)。   Next, the target position calculation unit 104 determines whether or not the arm control task has been completed (step S204).

ここで、目標位置計算部104、アーム制御タスクが終了していない場合には(ステップS204;No)、処理をステップS201に戻し、アーム制御タスクが実行中である間は、目標位置の変更指示を待機する。   Here, when the target position calculation unit 104 and the arm control task have not ended (step S204; No), the process returns to step S201, and while the arm control task is being executed, an instruction to change the target position is given. Wait.

一方、目標位置計算部104、アーム制御タスクが終了した場合には(ステップS204;No)、本フローを終了する。   On the other hand, when the target position calculation unit 104 and the arm control task are finished (step S204; No), this flow is finished.

以上の制御が、本実施形態にかかる目標位置計算タスクである。このように、本実施形態にかかる目標位置計算タスクによれば、アーム制御タスクが実行中である間は、随時、作業点の目標位置について変更を受け付けることができる。   The above control is the target position calculation task according to the present embodiment. As described above, according to the target position calculation task according to the present embodiment, while the arm control task is being executed, it is possible to accept changes to the target position of the work point at any time.

なお、上記した各フローの各処理単位は、ロボット1を理解容易にするために、主な処理内容に応じて分割したものである。処理ステップの分類の仕方やその名称によって、本願発明が制限されることはない。ロボット1が行う処理は、さらに多くの処理ステップに分割することもできる。また、1つの処理ステップが、さらに多くの処理を実行してもよい。   Each processing unit of each flow described above is divided according to the main processing contents in order to make the robot 1 easy to understand. The invention of the present application is not limited by the method of classification of the processing steps and the names thereof. The process performed by the robot 1 can be divided into more process steps. One processing step may execute more processes.

また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。   Moreover, said embodiment intends to illustrate the summary of this invention, and does not limit this invention. Many alternatives, modifications, and variations will be apparent to those skilled in the art.

例えば、上記実施形態では、作業点の目標位置について、撮像部20で撮像された画像を用いて指定している。しかし、本発明は、これに限定されず、どのような方法で目標位置を指定してもよい。例えば、ユーザーが目標位置(例えば、3次元座標)を手入力することにより、作業点の目標位置を指定してもよい。   For example, in the above embodiment, the target position of the work point is specified using the image captured by the imaging unit 20. However, the present invention is not limited to this, and the target position may be designated by any method. For example, the target position of the work point may be designated by the user manually inputting the target position (for example, three-dimensional coordinates).

また、上記実施形態では、作業点が目標位置まで最短時間で到達するように軌道計画している。しかし、作業点が目標位置に近づくにつれて、可動部30の移動速度を小さくするように制御してもよい。   In the above embodiment, the trajectory is planned so that the work point reaches the target position in the shortest time. However, the moving speed of the movable unit 30 may be controlled to decrease as the work point approaches the target position.

この場合には、例えば、目標位置計算部104は、上記のステップS203において、作業部の目標位置(3次元座標)とともに、作業点と目標位置の距離に応じて変動する速度係数Cvを送信するようにしてもよい。そして、軌道再計画部108は、上記ステップS107の軌道再計画時において、上記VMAXにその速度係数Cvを乗算すればよい。 In this case, for example, in step S203 described above, the target position calculation unit 104 transmits a speed coefficient Cv that varies according to the distance between the work point and the target position together with the target position (three-dimensional coordinates) of the work unit. You may do it. The trajectory replanning unit 108 may multiply the V MAX by the speed coefficient Cv during the trajectory replanning in step S107.

こうすれば、例えば、作業点が目標位置まで遠いほど、高速に可動部30を移動させることができ、作業点が目標位置に近づくほど、低速に可動部30を移動させることができる。   In this way, for example, the movable portion 30 can be moved at a higher speed as the work point is farther to the target position, and the movable portion 30 can be moved at a lower speed as the work point is closer to the target position.

また、上記実施形態では、各ジョイント6の動作計画において、加速区間での角加速度、減速区間での角減速度を、それぞれ、各ジョイント6が回転可能な最大値としている(AMAX、−AMAX)。しかし、本発明は、各ジョイント6の動作計画において、角加速度と角減速度に固定値を用いればよく、各ジョイント6が回転可能な最大値である必要はない。 Further, in the above-described embodiment, in the operation plan of each joint 6, the angular acceleration in the acceleration section and the angular deceleration in the deceleration section are the maximum values that each joint 6 can rotate (A MAX , −A MAX ). However, according to the present invention, in the operation plan of each joint 6, fixed values may be used for the angular acceleration and the angular deceleration, and it is not necessary to be the maximum value at which each joint 6 can rotate.

また、ジョイント6ごとに、VMAXやAMAXを異ならせてもよい。 Further, V MAX or A MAX may be different for each joint 6.

1・・・ロボット、4・・・アーム部、5・・・ハンド部、6・・・ジョイント、7・・・リンク、10・・・制御部、11・・・CPU、12・・・RAM、13・・・ROM、14・・・I/F、15・・・通信装置、20・・・撮像部、30・・・可動部、31・・・アクチュエーター、32・・・センサー、101・・・中央制御部、102・・・記憶部、103・・・撮像制御部、104・・・目標位置計算部、105・・・軌道計画部、106・・・エンコーダー読取部、107・・・アーム制御部、108・・・軌道再計画部。 DESCRIPTION OF SYMBOLS 1 ... Robot, 4 ... Arm part, 5 ... Hand part, 6 ... Joint, 7 ... Link, 10 ... Control part, 11 ... CPU, 12 ... RAM , 13 ... ROM, 14 ... I / F, 15 ... communication device, 20 ... imaging part, 30 ... movable part, 31 ... actuator, 32 ... sensor, 101. ..Central control unit, 102 ... Storage unit, 103 ... Imaging control unit, 104 ... Target position calculation unit, 105 ... Track planning unit, 106 ... Encoder reading unit, 107 ... Arm control unit, 108 ... orbit re-planning unit.

Claims (6)

アームの動作を制御するアーム制御装置であって、
ジョイントの角速度または角加速度を指定して、前記アームの軌道計画を行う軌道計画部と、
前記軌道計画に従って、前記アームを目標位置まで移動させるアーム制御部と、
前記アームの移動中に前記目標位置が変更された場合、前記ジョイントの加減速の大きさを所定に維持して、当該アームの軌道を再計画する軌道再計画部と、を備える、
ことを特徴とするアーム制御装置。
An arm control device for controlling the operation of the arm,
A trajectory planning unit that performs trajectory planning of the arm by designating the angular velocity or angular acceleration of the joint,
An arm control unit for moving the arm to a target position according to the trajectory plan;
A trajectory replanning unit that replans the trajectory of the arm while maintaining a predetermined acceleration / deceleration magnitude of the joint when the target position is changed during the movement of the arm;
An arm control device.
請求項1に記載のアーム制御装置であって、
前記アームには複数のジョイントが含まれており、
前記軌道計画部は、
前記アームを目標位置まで移動させるのに、前記複数のジョイントのうち、動作の終了タイミングが最も遅くなるジョイントを主ジョイントと決定し、
当該主ジョイント以外のジョイントについて、動作の終了タイミングを当該主ジョイントに合わせる、
ことを特徴とするアーム制御装置。
The arm control device according to claim 1,
The arm includes a plurality of joints,
The trajectory planning unit
In order to move the arm to the target position, the joint having the latest operation end timing among the plurality of joints is determined as the main joint,
For joints other than the main joint, adjust the end timing of the operation to the main joint.
An arm control device.
請求項1又は2に記載のアーム制御装置であって、
前記軌道再計画部は、
前記アームの移動中に前記目標位置が変更された場合、前記ジョイントの加速度(Amax)、および減速度(−Amax)を固定値として、
D={(Vi+Vpeak)×Ta/2}+{Vpeak×Tc/2}、
Ta=(Vpeak−Vi)/Amax、
Tc=Vpeak/(−Amax)、
(ただし、Dは目標位置にアームが到達するまでにジョイントを回転させる角度、Viは初角速度、Vpeakは角速度の極値、Taは加速時間、Tcは減速時間)
の数式を用いて、前記ジョイントの角速度の極値(Vpeak)を算出し、
前記ジョイントを、前記加速度(Amax)で前記加速時間(Ta)回転させ、角速度が前記極値(Vpeak)に達すると、前記減速度(−Amax)で前記減速時間(Tc)回転させる、ように再計画する、
ことを特徴とするアーム制御装置。
The arm control device according to claim 1 or 2,
The trajectory replanning unit
When the target position is changed during the movement of the arm, the acceleration (Amax) and deceleration (−Amax) of the joint are fixed values,
D = {(Vi + Vpeak) × Ta / 2} + {Vpeak × Tc / 2},
Ta = (Vpeak−Vi) / Amax,
Tc = Vpeak / (− Amax),
(Where D is the angle at which the joint is rotated before the arm reaches the target position, Vi is the initial angular velocity, Vpeak is the extreme angular velocity, Ta is the acceleration time, and Tc is the deceleration time)
The extreme value (Vpeak) of the angular velocity of the joint is calculated using
The joint is rotated for the acceleration time (Ta) at the acceleration (Amax), and when the angular velocity reaches the extreme value (Vpeak), the deceleration time (Tc) is rotated at the deceleration (−Amax). Replan,
An arm control device.
請求項3に記載のアーム制御装置であって、
前記軌道再計画部は、
算出した前記ジョイントの角速度の極値(Vpeak)が、角速度の上限値(Vmax)を超えている場合には、
D={(Vi+Vmax)×Ta/2}+{Vmax×Tb}+{Vmax×Tc/2}、
Ta=(Vmax−Vi)/Amax、
Tc=Vmax/(−Amax)、
(ただし、Dは目標位置にアームが到達するまでにジョイントを回転させる角度、Viは初角速度、Taは加速時間、Tbは等速時間、Tcは減速時間)
の数式を用いて、前記ジョイントの等速時間(Tb)を算出し、
前記ジョイントを、前記加速度(Amax)で前記加速時間(Ta)回転させ、角速度が前記上限値(Vmax)に達すると、等速の角速度(Vmax)で前記等速時間(Tb)回転させ、それから、前記減速度(−Amax)で前記減速時間(Tc)回転させる、ように再計画する、
ことを特徴とするアーム制御装置。
The arm control device according to claim 3,
The trajectory replanning unit
When the calculated extreme value (Vpeak) of the angular velocity of the joint exceeds the upper limit value (Vmax) of the angular velocity,
D = {(Vi + Vmax) × Ta / 2} + {Vmax × Tb} + {Vmax × Tc / 2},
Ta = (Vmax−Vi) / Amax,
Tc = Vmax / (− Amax),
(Where D is the angle at which the joint is rotated before the arm reaches the target position, Vi is the initial angular velocity, Ta is the acceleration time, Tb is the constant velocity time, and Tc is the deceleration time)
The constant velocity time (Tb) of the joint is calculated using
The joint is rotated for the acceleration time (Ta) at the acceleration (Amax), and when the angular velocity reaches the upper limit (Vmax), the joint is rotated at the constant velocity (Vmax) for the constant velocity time (Tb), and then Replanning to rotate the deceleration time (Tc) at the deceleration (−Amax),
An arm control device.
請求項1乃至4のいずれか1項に記載のアーム制御装置であって、
前記軌道再計画部は、
前記アームに複数のジョイントが含まれている場合には、当該ジョイントごとに動作を再計画し、
変更された目標位置まで前記アームを移動させるのに、前記複数のジョイントのうち、動作の終了タイミングが最も遅くなるジョイントを主ジョイントと決定し、
当該主ジョイント以外のジョイントについて、動作の終了タイミングを当該主ジョイントに合わせる、
ことを特徴とするアーム制御装置。
The arm control device according to any one of claims 1 to 4,
The trajectory replanning unit
If the arm contains multiple joints, replan the movement for each joint,
In order to move the arm to the changed target position, among the plurality of joints, a joint having the latest operation end timing is determined as a main joint,
For joints other than the main joint, adjust the end timing of the operation to the main joint.
An arm control device.
アームの動作を制御するアーム制御装置で行われるアーム制御方法であって、
ジョイントの角速度または角加速度を指定して、前記アームの軌道計画を行う軌道計画ステップと、
前記軌道計画に従って、前記アームを目標位置まで移動させるアーム制御ステップと、
前記アームの移動中に前記目標位置が変更された場合、前記ジョイントの加減速の大きさを所定に維持して、当該アームの軌道を再計画する軌道再計画ステップと、を行う、
ことを特徴とするアーム制御方法。
An arm control method performed by an arm control device that controls the operation of the arm,
A trajectory planning step for designating a trajectory of the arm by specifying an angular velocity or an angular acceleration of the joint; and
An arm control step for moving the arm to a target position according to the trajectory plan;
When the target position is changed during the movement of the arm, a trajectory replanning step of replanning the trajectory of the arm while maintaining a predetermined magnitude of acceleration / deceleration of the joint is performed.
An arm control method characterized by the above.
JP2011282908A 2011-12-26 2011-12-26 Arm control device and arm control method Pending JP2013132696A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011282908A JP2013132696A (en) 2011-12-26 2011-12-26 Arm control device and arm control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011282908A JP2013132696A (en) 2011-12-26 2011-12-26 Arm control device and arm control method

Publications (1)

Publication Number Publication Date
JP2013132696A true JP2013132696A (en) 2013-07-08

Family

ID=48909765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011282908A Pending JP2013132696A (en) 2011-12-26 2011-12-26 Arm control device and arm control method

Country Status (1)

Country Link
JP (1) JP2013132696A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104589071A (en) * 2014-12-15 2015-05-06 广西科技大学 Working method of numerically-controlled working center wire rail saddle
WO2016190140A1 (en) * 2015-05-28 2016-12-01 ライフロボティクス株式会社 Robot device and stepping motor control device
CN113894796A (en) * 2021-11-24 2022-01-07 伯朗特机器人股份有限公司 Mechanical arm multi-joint track time synchronization method based on trapezoidal programming

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104589071A (en) * 2014-12-15 2015-05-06 广西科技大学 Working method of numerically-controlled working center wire rail saddle
WO2016190140A1 (en) * 2015-05-28 2016-12-01 ライフロボティクス株式会社 Robot device and stepping motor control device
JP2016221606A (en) * 2015-05-28 2016-12-28 ライフロボティクス株式会社 Robot device and stepping motor control device
CN113894796A (en) * 2021-11-24 2022-01-07 伯朗特机器人股份有限公司 Mechanical arm multi-joint track time synchronization method based on trapezoidal programming
CN113894796B (en) * 2021-11-24 2022-12-13 伯朗特机器人股份有限公司 Mechanical arm multi-joint track time synchronization method based on trapezoidal programming

Similar Documents

Publication Publication Date Title
WO2017219639A1 (en) Motion trail planning method and device for robotic arm, and robot
JP6717164B2 (en) Operation route planning method
US8774965B2 (en) Method and device for controlling a manipulator
JP4736607B2 (en) Robot controller
JP6238628B2 (en) Robot device, robot control method, robot control program, and part manufacturing method using robot device
CN105353725B (en) Auxiliary magnet configuration space circular interpolation method is crossed for industrial robot
CN107085428B (en) Intelligent moving method, device, robot and storage medium
US20110224815A1 (en) Industrial Robot And Path Planning Method For Controlling The Movement Of An Industrial Robot
CN109605369B (en) Mechanical arm singular point control method and system
JP2019018272A (en) Motion generation method, motion generation device, system, and computer program
JP2015168053A (en) Robot controller having function to simplify teaching operation and improve motion performance of robot
EP2957375A2 (en) Seam welding system, seam welding method, and method for producing a to-be-welded object
CN114137951A (en) Online robot motion planning framework
JP2009053926A (en) Route-planning device and route-planning method
CN110900597B (en) Jumping motion track planning method with settable vertical height and corner height
JP2013132696A (en) Arm control device and arm control method
WO2009096408A1 (en) Articulated structure teaching device
JP2020093364A (en) Trajectory generation device
JP2015058492A (en) Control device, robot system, robot, robot operation information generation method, and program
JP7210201B2 (en) Information processing method, program, recording medium, information processing device, robot system, article manufacturing method
JP7007791B2 (en) Robot driving methods, computer programs, and robot systems
JP4498061B2 (en) Welding robot controller
CN103572967A (en) Arm frame control device, system and method and engineering machine
JP6165322B2 (en) Robot control apparatus and robot control method
JP7060700B2 (en) Coordination system, handling equipment and method