JP2013132696A - Arm control device and arm control method - Google Patents
Arm control device and arm control method Download PDFInfo
- 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
Links
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
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.
その場合には、ロボットアームを移動させている途中で、その軌道について計画し直すことになるため、迅速に軌道計画を行う必要がある。 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.
以下、本発明の実施形態について図面を用いて説明する。 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
図示するように、ロボット1は、例えば、可動部30と、撮像部20と、制御部10と、を備えるアーム型のロボットである。
As illustrated, the
可動部30は、ロボット1の可動部分である。図示する例では、可動部30として、1本のロボットアームを示しており、点線で囲まれたアーム部4と、アーム部4の先端に取り付けられたハンド部5と、を含む。なお、いわゆる双腕ロボットのように2本のロボットアームを有していてもよい。
The
アーム部4は、複数のジョイント(関節)6と、複数のリンク7と、を含む。
The arm unit 4 includes a plurality of joints (joints) 6 and a plurality of
各ジョイント6は、リンク7同士や、ロボットの台座(胴体)とリンク7、などを、回動自在に(ただし、所定の可動範囲内で回動可能に)連結している。各ジョイント6は、例えば、回転ジョイントであり、リンク7間の角度を変化させたり、リンク7を軸回転させたりできるように設けられている。従って、各ジョイント6を連動させて駆動することにより、作業点(例えば、ハンド部5)を、自在に(ただし、所定の可動範囲内で)移動させることができるとともに、自由な方向へ向けることもできる。本図の例では、アーム部4は、3つのジョイントを備えた3軸アームとなっている。
Each joint 6 connects the
ハンド部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
制御部10は、ロボット1の全体を制御する処理を行う。制御部10は、例えば、ロボット1の本体(可動部30)に内蔵しておいてもよいし、図示するように、ロボット1の本体とは離れた場所に(遠隔操作可能に)配置しておいてもよい。
The
図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
次に、制御部10の機能構成例について説明する。図2の下部には、制御部10についての機能構成例が示されている。
Next, a functional configuration example of the
図示するように、制御部10は、中央制御部101と、記憶部102と、撮像制御部103と、目標位置計算部104と、軌道計画部105と、エンコーダー読取部106と、アーム制御部107と、軌道再計画部108と、を備える。
As shown in the figure, the
中央制御部101は、他の各部(102〜107)を統括的に制御する。
The
記憶部102は、各種データやプログラムを記憶する。例えば、記憶部102は、可動部30についての軌道計画を行うプログラム、その軌道計画に従って可動部30を制御するプログラム等を記憶する。
The
撮像制御部103は、撮像部20を制御する。例えば、撮像制御部103は、撮像部20に対して、作業点(例えば、ハンド部5)の移動先、すなわち目標位置の周辺を撮影させる。そして、撮像制御部103は、撮像部20で撮影された画像データを取得する。
The
目標位置計算部104は、撮像部20で撮像された画像データについて画像認識を行う。目標位置計算部104は、この画像認識に基づき、作業点の移動先である目標位置(例えば、3次元座標)を計算する。
The target
軌道計画部105は、作業点(例えば、ハンド部5)を目標位置まで移動させるときの、可動部30についての軌道を計画する。
The
具体的には、軌道計画部105は、各ジョイント6を回転させる角速度または角加速度の時間変化について指定(決定)する。
Specifically, the
また、軌道計画部105は、作業点(例えば、ハンド部5)を目標位置まで移動させるのに、複数のジョイント6のうち、動作の終了タイミングが最も遅くなるジョイント6を主ジョイントと決定する。そして、軌道計画部105は、主ジョイント以外のジョイント6について、動作の終了タイミングを主ジョイントに合わせる。これにより、各ジョイント6の動作は、ほぼ同時に終了することになり、可動部30が滑らかに動作しているようにみえる。
Further, the
エンコーダー読取部106は、アーム部4の各ジョイント6に設けられたアクチュエーター31のエンコーダー値を読み取る。こうしたエンコーダー値は、各ジョイント6の回転角度を特定できるため、各ジョイント6の角速度、角加速度などを把握するのに利用され、また、可動部30の位置、移動方向、移動量、速度、加速度などについて把握するのにも利用される。
The
アーム制御部107は、軌道計画部105による軌道計画に従って、作業点を目標位置に向けて移動させる制御を行う。すなわち、アーム制御部107は、指定された角速度または角加速度で各ジョイント6を回転させる。
The
このような制御を行うためには、例えば、アーム制御部107は、エンコーダー読取部106で読み取られたエンコーダー値や、各種センサー32の出力信号に基づいて、作業点が目的の位置(すなわち、目標位置)及び姿勢となるようにアクチュエーター31を制御すればよい。
In order to perform such control, for example, the
また、作業点を目標位置に向けて移動させている途中に、その目標位置が変更されてしまう場合がある。 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
また、可動部30の軌道について再計画する場合においても、軌道再計画部108は、作業点(例えば、ハンド部5)を、変更された目標位置まで移動させるのに、複数のジョイント6のうち、動作の終了タイミングが最も遅くなるジョイント6を主ジョイントと決定する。そして、軌道再計画部108は、主ジョイント以外のジョイント6について、動作の終了タイミングを主ジョイントに合わせる。
Further, even when re-planning the trajectory of the
上記の記憶部102以外の各機能部は、例えば、CPU11がROM13に格納された所定のプログラムをRAM12に読み出して実行することにより実現される。記憶部102は、例えば、RAM12やROM13により実現される。なお、前記所定のプログラムは、例えば、予めROM13にインストールされてもよいし、通信装置15を介してネットワークからダウンロードされてインストール又は更新されてもよい。
Each functional unit other than the above-described
以上のロボット1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。可動部30を有していれば、どのような構造であってもよい。また、一般的なロボットが備える構成を排除するものではない。
The configuration of the
例えば、図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
<アーム制御タスク>
アーム部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
アーム制御タスクが開始されると、まず、エンコーダー読取部106は、アーム部4の各ジョイント6に設けられたアクチュエーター31のエンコーダー値を読み取る(ステップS101)。ここで、読み取られたエンコーダー値は、各ジョイント6の基準位置からの回転角に相当し、例えば、ジョイント6を介して連結された2つのリンク7がなす角を特定できる。
When the arm control task is started, first, the
このステップ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
目標位置計算タスクにより、作業点の目標位置(例えば、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
具体的には、ステップS103では、軌道計画部105は、ジョイント6ごとに、回転させる角速度または角加速度を指定して動作計画を行う。
Specifically, in step S103, the
図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
なお、軌道計画部105は、作業点(例えば、ハンド部105)を移動させる距離とその方向に応じて、加速時間(加速区間の時間)Ta、等速時間(等速区間の時間)Tb、減速時間(減速区間の時間)Tc、をジョイント6ごとに決定する。
The
例えば、軌道計画部105は、作業点を現在位置から目標位置まで移動させるために必要な各ジョイント6の回転量Dを求める。そして、軌道計画部105は、各ジョイント6の角速度波形(台形)の面積が、先に求めた各ジョイント6の回転角度Dと一致するように、加速時間Ta、等速時間Tb、減速時間Tcを決定する。
For example, the
すなわち、軌道計画部105は、
D=(VMAX×Ta)/2+(VMAX×Tb)+(VMAX×Tc)/2、
AMAX=VMAX/Ta、
−AMAX=−VMAX/Tc、
の3式を満たす、「加速時間Ta」、「等速時間Tb」、「減速時間Tc」を、ジョイント6ごとに求める。
That is, the
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
上記のような計画方法によれば、各ジョイント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
そこで、可動部30全体の動作を滑らかにみせるために、軌道計画部105は、ステップS103において、各ジョイント6の動作終了タイミングが揃うように、軌道計画を修正する。
Therefore, in order to make the operation of the entire
具体的には、軌道計画部105は、全てのジョイント6のうち、動作の終了タイミングが最も遅くなるジョイント6を主ジョイントと決定する。従って、図示する例では、第1のジョイント(第1軸)の動作に最も時間がかかるため(T1>T2、T3)、第1のジョイントを主ジョイントとして決定する。
Specifically, the
それから、軌道計画部105は、主ジョイント以外のジョイント6について、動作の終了タイミングを主ジョイントに合わせる。従って、図示する例では、軌道計画部105は、第2のジョイント(第2軸)の動作終了タイミングT2を、主ジョイントの動作終了タイミングT1に変更する。また、第3のジョイント(第3軸)の動作終了タイミングT3を、主ジョイントの動作終了タイミングT1に変更する。
Then, the
ただし、このように主ジョイント以外のジョイント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
図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
(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
以上のステップS103の処理を終えると、アーム制御部107は、ステップS103で作成された軌道計画に従って、可動部30を制御する(ステップS104)。
When the process of step S103 is completed, the
具体的には、アーム制御部107は、ステップS103で作成された軌道計画(図4(A)、(D)、(E))で指定されている角速度または角加速度で、各ジョイント6を回転させる。
Specifically, the
所定時間(例えば、数秒)回転後、アーム制御部107は、所定時間(例えば、1ms)待機し(ステップS105)、処理をステップS106へ移行する。
After rotation for a predetermined time (for example, several seconds), the
ところで、本フロー(アーム制御タスク)の制御に並行して、ステップ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
そこで、ステップS106に処理が移行すると、軌道再計画部108は、目標位置計算部104から目標位置の変更指令が送られているかどうか判別する(ステップS106)。
Therefore, when the process proceeds to step S106, the
軌道再計画部108は、目標位置の変更指令が送られていない場合には(ステップS106;No)、目標位置は変更されていないものと判定し、そのまま処理をステップS108へ移行する。
The
一方、軌道再計画部108は、目標位置の変更指令が送られている場合には(ステップS106;Yes)、目標位置が変更されたものと判定し、可動部30の軌道について再計画する(ステップS107)。
On the other hand, when the target position change command is sent (step S106; Yes), the
具体的には、ステップS107では、軌道再計画部108は、各ジョイント6が回転する加減速の大きさ、すなわち、角加速度(AMAX)と角減速度(−AMAX)を所定に維持して(変えずに)、各ジョイント6の動作計画をやり直す。
Specifically, in step S107, the
以下に、ステップS107の処理について詳細に説明する。 Hereinafter, the process of step S107 will be described in detail.
まず、ステップS107に処理が移行すると、軌道再計画部108は、ジョイント6の角速度を現在の角速度(Vi)から最大の角減速度(−AMAX)で減速させて、その回転が停止するまでに回転する回転量D’を求める。なお、ここで回転量D’を求めているのは、求めた回転量D’に応じて、ジョイント6の動作計画をやり直す方法が異なるためである(後述する再計画方法1〜4)。
First, when the process proceeds to step S107, the
図5は、この回転量D’を計算する方法について説明する図である。 FIG. 5 is a diagram for explaining a method of calculating the rotation amount D ′.
図示するように、軌道再計画部108は、縦縞部分の面積を求めることによって、回転量D’を計算する。
As illustrated, the
すなわち、軌道再計画部108は、
(1)D’=Vi×T0/2
(2)−AMAX=−Vi/T0
の2式を満たす、「回転量D’」を求める。
That is, the
(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」は上述した通り予め定められた定数である。また、「Vi」は、各ジョイント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
次に、軌道再計画部108は、作業点を、現在位置(すなわち、目標位置が変更されたポイント)Sから、変更された目標位置G’まで移動させるのに、必要な各ジョイント6の回転量D”を求める。
Next, the
そして、軌道再計画部108は、ここで求めた回転量D”と、上記の回転量D’と、を比較する。
Then, the
(再計画方法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を、初速度(Vi)から角加速度(AMAX)で回転させ(加速区間)、角速度が極値(Vpeak)に達すると、角減速度(−AMAX)で回転させる(減速区間)、ように再計画する。このように、軌道再計画部108は、各ジョイント6の角速度波形が極値(Vpeak)をもつ四辺形(台形+三角形)となるように動作の再計画を行う(太線)。
As shown in the drawing, the
なお、軌道再計画部108は、作業点を現在位置(目標位置が変更されたポイント)Sから変更後の目標位置G’まで移動させる距離とその方向に応じて、加速時間Ta、減速時間Tc、を決定する。
The
例えば、軌道再計画部108は、各ジョイント6の角速度波形の面積(網掛け部分)が、先に求めておいた各ジョイント6の回転量D”と一致するように、加速時間Ta、減速時間Tcを決定する。
For example, the
すなわち、軌道再計画部108は、ジョイント6の角加速度(AMAX)、および角減速度(−AMAX)を固定値として、
(1)D”={(Vi+Vpeak)×Ta/2}+{Vpeak×Tc/2}、
(2)Ta=(Vpeak−Vi)/AMAX、
(3)Tc=Vpeak/(−AMAX)、
の3式を満たす「加速時間Ta」、「減速時間Tc」、「極値Vpeak」を、ジョイント6ごとに求める。
That is, the
(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
図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を、初速度(Vi)から角加速度(AMAX)で回転させ(加速区間)、角速度が上限値(VMAX)に達すると、等速の角速度(VMAX)で回転させ(等速区間)、それから、角減速度(−AMAX)で回転させる(減速区間)、ように再計画する。このように、軌道再計画部108は、各ジョイント6の角速度波形が五角形(台形+矩形+三角形)となるように動作の再計画を行う(太線)。
As shown in the drawing, the
なお、軌道再計画部108は、作業点を現在位置(目標位置が変更されたポイント)Sから変更後の目標位置G’まで移動させる距離とその方向に応じて、加速時間Ta、等速時間Tb、減速時間Tc、を決定する。
The
例えば、軌道再計画部108は、各ジョイント6の角速度波形の面積(網掛け部分)が、先に求めておいた各ジョイント6の回転量D”と一致するように、加速時間Ta、等速時間Tb、減速時間Tcを決定する。
For example, the
すなわち、軌道再計画部108は、ジョイント6の角加速度(AMAX)、および角減速度(−AMAX)を固定値として、
(1)D”={(Vi+VMAX)×Ta/2}+{VMAX×Tb}+{VMAX×Tc/2}、
(2)Ta=(VMAX−Vi)/AMAX、
(3)Tc=VMAX/(−AMAX)、
の3式を満たす「加速時間Ta」、「減速時間Tb」、「減速時間Tc」を、ジョイント6ごとに求める。
That is, the
(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
(再計画方法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を、初速度(Vi)から角減速度(−AMAX)で回転させ(第1の減速区間)、角速度が0に到達してもそのまま角減速度(−AMAX)で回転させ(第2の減速区間)、角速度が極値(Vpeak)に達すると、角加速度(AMAX)で回転させる(加速区間)、ように再計画する。このように、軌道再計画部108は、各ジョイント6の角速度波形が時間軸の正負にまたがる(正の三角形+負の三角形)ように動作の再計画を行う(太線)。
As illustrated, the
なお、軌道再計画部108は、作業点を現在位置(目標位置が変更されたポイント)Sから変更後の目標位置G’まで移動させる距離とその方向に応じて、第1の減速時間Tc、第2の減速時間Tc’、加速時間Ta、を決定する。
The
例えば、軌道再計画部108は、各ジョイント6の角速度波形の面積、すなわち、図示する正の三角形の面積D’から負の三角形の面積DLを差し引いた面積が、先に求めておいた各ジョイント6の回転量D”と一致するように、第1の減速時間Tc、第2の減速時間Tc’、加速時間Taを決定する。
For example, each
すなわち、軌道再計画部108は、ジョイント6の角加速度(AMAX)、および角減速度(−AMAX)を固定値として、
(1)D”={Vi×Tc/2}−{|Vpeak|×(Tc’+Ta)/2}、
(2)Tc=−Vi/(−AMAX)、
(3)Tc’=−|Vpeak|/(−AMAX)、
(4)Ta=|Vpeak|/AMAX、
の4式を満たす「第1の減速時間Tc」、「第2の減速時間Tc’」、「加速時間Ta」、「極値Vpeak」を、ジョイント6ごとに求める。
That is, the
(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
(再計画方法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を、初速度(Vi)から角減速度(−AMAX)で回転させ(第1の減速区間)、角速度が0に到達してもそのまま角減速度(−AMAX)で回転させ(第2の減速区間)、角速度が下限値(−VMAX)に達すると、等速の角速度(−VMAX)で回転させ(等速区間)、それから、角加速度(AMAX)で回転させる(加速区間)、ように再計画する。このように、軌道再計画部108は、各ジョイント6の角速度波形が時間軸の正負にまたがる(正の三角形+負の台形)ように動作の再計画を行う(太線)。
As shown in the figure, the
なお、軌道再計画部108は、作業点を現在位置(目標位置が変更されたポイント)Sから変更後の目標位置G’まで移動させる距離とその方向に応じて、第1の減速時間Tc、第2の減速時間Tc’、等速時間Tb、加速時間Ta、を決定する。
The
例えば、軌道再計画部108は、各ジョイント6の角速度波形の面積、すなわち、図示する正の三角形の面積D’から負の台形の面積DLを差し引いた面積が、先に求めておいた各ジョイント6の回転量D”と一致するように、第1の減速時間Tc、第2の減速時間Tc’、等速時間Tb、加速時間Taを決定する。
For example, each
すなわち、軌道再計画部108は、ジョイント6の角加速度(AMAX)、および角減速度(−AMAX)を固定値として、
(1)D”={Vi×Tc/2}−{VMAX×(Tc’+2×Tb+Ta)/2}、
(2)Tc=−Vi/(−AMAX)、
(3)Tc’=−VMAX/(−AMAX)、
(4)Ta=VMAX/AMAX、
の4式を満たす「第1の減速時間Tc」、「第2の減速時間Tc’」、「等速時間Tb」、「加速時間Ta」を、ジョイント6ごとに求める。
That is, the
(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
なお、上記の再計画方法1〜4において、ジョイント6の現在の角速度Viが上限値VMAXに一致する場合(すなわち、「Vi=VMAX」)には、各数式において「Vi=VMAX」として計算すればよい。
In the
ところで、図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
そこで、各ジョイントの動作を再計画する場合にも、可動部30全体の動作を滑らかにみせるために、軌道再計画部108は、各ジョイント6の動作終了タイミングが揃うように、動作計画を修正する。
Therefore, even when re-planning the operation of each joint, the
具体的には、軌道再計画部108は、全てのジョイント6のうち、再計画後の動作の終了タイミングが最も遅くなるジョイント6を主ジョイントと決定する。従って、図示する例では、再計画後の第2のジョイント(第2軸)の動作に最も時間がかかるため(TG2’>TG1’、TG3’)、第2のジョイントを主ジョイントとして決定する。
Specifically, the
それから、軌道再計画部108は、主ジョイント以外のジョイント6について、動作の終了タイミングを主ジョイントに合わせる。従って、図示する例では、軌道再計画部108は、第1のジョイント(第1軸)の動作終了タイミングTG1’を、主ジョイントの動作終了タイミングTG2’に変更する。また、第3のジョイント(第3軸)の動作終了タイミングTG3’を、主ジョイントの動作終了タイミングTG2’に変更する。
Then, the
ただし、このように主ジョイント以外のジョイント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
図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”=(Vi+VH)×Tc/2+(VH×Tb)+(VH×Tc)/2、
(2)−AMAX=(VH−Vi)/Ta、
(3)−AMAX=−VH/Tc’、
(4)Tc+Tb+Tc’=TG2’
の4式を満たす、「第1の減速時間Tc」、「等速時間Tb」、「第2の減速時間Tc’」、「等加速度VH」を求める。
For example, as shown in FIG. 8D, for the joint 6 whose operation is replanned by the
(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.
ここで、「VH」は、ジョイント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”=Vi×Tc/2−(|VH|×(Tc’+2×Tb+Ta)/2)
(2)−AMAX=−Vi/Tc、
(3)−AMAX=−|VH|/Tc’、
(4)AMAX=|VH|/Ta、
(5)Tc+Tb+Tc’=TG2’
の5式を満たす、「第1の減速時間Tc」、「第2の減速時間Tc’」、「等速時間Tb」、「加速時間Ta」、「等加速度VH」、を求める。
Further, as shown in FIG. 8E, the
(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.
ここで、「VH」は、ジョイント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
以上がステップS107における処理となる。以上のように、可動部30の軌道を再計画し終えると、軌道再計画部108は、処理をステップS108へ移行する。
The above is the processing in step S107. As described above, after replanning the trajectory of the
図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
ここで、アーム制御部107は、終了時刻ではないと判別した場合には(ステップS108;No)、処理をステップS104に戻し、未実行の残りの制御を続行する。
If the
一方、アーム制御部107は、終了時刻であると判別した場合には(ステップS108;Yes)、本フローを終了する。
On the other hand, if the
以上の制御が、本実施形態にかかるアーム制御タスクである。このように、本実施形態にかかるアーム制御タスクを採用すれば、作業点を目標位置に向けて移動させている途中のどのタイミングでその目標位置が変更された場合であっても、即座に各ジョイント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
<目標位置計算タスク>
次に、上記の目標位置計算タスク(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
本フローを開始すると、撮像制御部103は、まず、作業点を移動させる目標位置の画像を取得する(ステップS201)。例えば、撮像制御部103は、ユーザーからの指示に基づき、撮像部20に撮像の指示を出す。このとき、撮像部20は、ユーザーによって指定された目標位置方向を撮像する。こうして、撮像制御部103は、目標位置の画像を取得できる。
When this flow is started, the
次に、目標位置計算部104は、ステップS201で取得された画像を用いて、作業点の目標位置を計算する(ステップS202)。例えば、目標位置計算部104は、ステップS201で取得した画像について画像認識を行い、目標位置に指定可能な対象物(或いは、合焦点)を特定する。それから、目標位置計算部104は、特定した対象物の位置を、撮像方向との差分から求め、作業点の目標位置とする。
Next, the target
それから、目標位置計算部104は、ステップS202で計算した作業点の目標位置(例えば、3次元座標)を、目標位置の初期設定、或いは、目標位置の変更指令として、制御部10へ送信する(ステップS203)。
Then, the target
次に、目標位置計算部104、上記のアーム制御タスクが終了したか否か判別する(ステップS204)。
Next, the target
ここで、目標位置計算部104、アーム制御タスクが終了していない場合には(ステップS204;No)、処理をステップS201に戻し、アーム制御タスクが実行中である間は、目標位置の変更指示を待機する。
Here, when the target
一方、目標位置計算部104、アーム制御タスクが終了した場合には(ステップS204;No)、本フローを終了する。
On the other hand, when the target
以上の制御が、本実施形態にかかる目標位置計算タスクである。このように、本実施形態にかかる目標位置計算タスクによれば、アーム制御タスクが実行中である間は、随時、作業点の目標位置について変更を受け付けることができる。 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
また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。 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
また、上記実施形態では、作業点が目標位置まで最短時間で到達するように軌道計画している。しかし、作業点が目標位置に近づくにつれて、可動部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
この場合には、例えば、目標位置計算部104は、上記のステップS203において、作業部の目標位置(3次元座標)とともに、作業点と目標位置の距離に応じて変動する速度係数Cvを送信するようにしてもよい。そして、軌道再計画部108は、上記ステップS107の軌道再計画時において、上記VMAXにその速度係数Cvを乗算すればよい。
In this case, for example, in step S203 described above, the target
こうすれば、例えば、作業点が目標位置まで遠いほど、高速に可動部30を移動させることができ、作業点が目標位置に近づくほど、低速に可動部30を移動させることができる。
In this way, for example, the
また、上記実施形態では、各ジョイント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
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.
前記アームには複数のジョイントが含まれており、
前記軌道計画部は、
前記アームを目標位置まで移動させるのに、前記複数のジョイントのうち、動作の終了タイミングが最も遅くなるジョイントを主ジョイントと決定し、
当該主ジョイント以外のジョイントについて、動作の終了タイミングを当該主ジョイントに合わせる、
ことを特徴とするアーム制御装置。 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.
前記軌道再計画部は、
前記アームの移動中に前記目標位置が変更された場合、前記ジョイントの加速度(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.
前記軌道再計画部は、
算出した前記ジョイントの角速度の極値(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.
前記軌道再計画部は、
前記アームに複数のジョイントが含まれている場合には、当該ジョイントごとに動作を再計画し、
変更された目標位置まで前記アームを移動させるのに、前記複数のジョイントのうち、動作の終了タイミングが最も遅くなるジョイントを主ジョイントと決定し、
当該主ジョイント以外のジョイントについて、動作の終了タイミングを当該主ジョイントに合わせる、
ことを特徴とするアーム制御装置。 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.
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)
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 |
-
2011
- 2011-12-26 JP JP2011282908A patent/JP2013132696A/en active Pending
Cited By (5)
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 |