JP2014014901A - Robot controller - Google Patents

Robot controller Download PDF

Info

Publication number
JP2014014901A
JP2014014901A JP2012153926A JP2012153926A JP2014014901A JP 2014014901 A JP2014014901 A JP 2014014901A JP 2012153926 A JP2012153926 A JP 2012153926A JP 2012153926 A JP2012153926 A JP 2012153926A JP 2014014901 A JP2014014901 A JP 2014014901A
Authority
JP
Japan
Prior art keywords
unit
speed
robot
target value
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012153926A
Other languages
Japanese (ja)
Other versions
JP5774552B2 (en
Inventor
Junichiro Oga
賀 淳一郎 大
Tomomi Kubo
保 智 美 久
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012153926A priority Critical patent/JP5774552B2/en
Publication of JP2014014901A publication Critical patent/JP2014014901A/en
Application granted granted Critical
Publication of JP5774552B2 publication Critical patent/JP5774552B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a robot controller which enables a user to intuitively and stably operate a robot arm type treatment table.SOLUTION: In a robot controller of an embodiment, a speed joint angle speed command value whose joint angle difference does not exceed a threshold is output from a monitoring unit when an operation direction of a robot is restricted, an excessive ratio of the joint angle difference is calculated by a speed suppression unit when the joint angle difference is restricted by the threshold, a target value is shaped by a target value shaping unit in consideration of the excessive ratio, and the restricted operation direction is displayed to a user by a speed restriction presentation unit.

Description

本発明の実施形態は、ロボット制御装置に関する。   Embodiments described herein relate generally to a robot control apparatus.

重粒子線などの放射線治療においては、患者に対して様々な方向から放射線を照射して治療を実施している。放射線の照射方向が固定されている場合、患者を搭載している天板を照射部位に合わせて正確に位置決めする必要がある。このため、放射線治療においては、多リンクで構成されたロボットアームの先端に天板を搭載した治療台は効果的である。技師や医師などの操作者(ユーザ)が照射位置を決定するために、患者が搭載された状態で天板の目標位置を入力する必要がある。従来は産業用ロボットにおいて広く使用されているティーチングペンダントにより、直交座標系の各軸ずつに目標値を与えていた。   In radiation therapy such as heavy particle beams, treatment is performed by irradiating a patient with radiation from various directions. When the irradiation direction of radiation is fixed, it is necessary to accurately position the top board on which the patient is mounted in accordance with the irradiation site. For this reason, in radiation therapy, a treatment table in which a top plate is mounted on the tip of a robot arm composed of multiple links is effective. In order for an operator (user) such as an engineer or a doctor to determine the irradiation position, it is necessary to input the target position of the top board while the patient is mounted. Conventionally, a target value is given to each axis of the orthogonal coordinate system by a teaching pendant widely used in industrial robots.

しかし、操作性の面からより直感的に入力できることが望ましい。ジョイスティックのようなポインティングデバイスを用いると、天板の動作を直感的に入力することが可能となるだけでなく、その操作量に従って動作量を連続的に変化させることが可能となるため、ユーザの意図を反映させやすい。しかし、ロボットがユーザの意図した通りに動作できない場合がある。例えば、ロボットの関節の可動範囲および目標位置姿勢を満たす解が無限に存在する特異点、または特異点近傍の目標値が与えられた時の関節角速度の急変などが挙げられる。ロボットの関節の動きと天板の動きは直接リンクしていないため、ロボットの動作に詳しくないユーザにとっては操作が困難となる。   However, it is desirable to be able to input more intuitively from the viewpoint of operability. When a pointing device such as a joystick is used, not only can the operation of the top plate be input intuitively, but the operation amount can be continuously changed according to the operation amount. It is easy to reflect the intention. However, the robot may not be able to operate as intended by the user. For example, a singular point where there are infinite solutions satisfying the movable range and target position and orientation of the robot joint, or a sudden change in the joint angular velocity when a target value near the singular point is given. Since the movement of the robot joint and the movement of the top plate are not directly linked, it is difficult for a user who is not familiar with the movement of the robot.

またリンク構成が目標位置のもつ自由度よりも多くなる、冗長自由度アームの場合は、関節目標値を算出する逆運動学の解は無数に存在する。しかし、上記の可動限界や特異点などの機構上の制約条件を充たした解が存在する。さらにユーザの作業スペースを確保するための関節の可動域に制限を設けるなどの要望も満たすことが望ましい。   In the case of a redundant degree of freedom arm in which the link configuration has more degrees of freedom than the target position, there are an infinite number of inverse kinematic solutions for calculating joint target values. However, there are solutions that satisfy the mechanical constraints such as the movable limit and singular point. Furthermore, it is desirable to satisfy the demands such as limiting the range of motion of the joint for securing the user's work space.

こうした制約条件を充たすために、関節の可動域に制限を設け、可動限界から遠ざかるような目標値を与えることで解決を図ることが知られている。しかし、冗長性を十分に生かすならば、あえて可動限界に近づく方向に動作させた方が、速度の急変を防げる場合がある。また、速度過大の場合にユーザに分かりやすく提示できなければ、ユーザは異常に気付かずに誤った入力をし続ける可能性がある。   In order to satisfy these constraints, it is known to provide a limit to the range of motion of the joint and to provide a target value that moves away from the limit of motion. However, if sufficient redundancy is utilized, sudden changes in speed may be prevented by operating in the direction approaching the limit of movement. In addition, if the speed is excessive and the user cannot easily present it, the user may continue to make an erroneous input without noticing abnormally.

また、力覚センサを用いて、ユーザの操作力を連続的な動作量に変換し利用する例も提案されている。しかし、現状では力覚センサは高価で衝撃に弱く故障しやすいため、産業用ロボットで広く使用されているティーチングペンダントのように、直交座標系の各軸ずつに割り当てられた動作方向をONとOFFのみで離散的に指示するボタンが具備されているものが多い。   In addition, an example in which a user's operation force is converted into a continuous movement amount using a force sensor has been proposed. However, at present, the force sensor is expensive, vulnerable to shocks, and easily breaks down. Therefore, like the teaching pendant widely used in industrial robots, the motion direction assigned to each axis of the Cartesian coordinate system is turned ON and OFF. In many cases, buttons that indicate discretely are provided.

力覚センサを用いる例では、力制御を用いた動作プログラムをユーザの誘導で修正している。この例では、ティーチングペンダントに力制御を設定する手段を備えており、教示データを再生中において、ユーザが位置または力指令を与えると、動作プログラムの動作に指令を重畳して動作を修正している。これにより、ユーザの誘導により教示データが修正されることから、ユーザの意図した動作を実現することができる、としている。   In an example using a force sensor, an operation program using force control is corrected by user guidance. In this example, the teaching pendant is provided with a means for setting force control. When the user gives a position or force command during playback of teaching data, the command is superimposed on the operation of the operation program to correct the operation. Yes. As a result, the teaching data is corrected by the user's guidance, so that the operation intended by the user can be realized.

しかし、ユーザが与える位置または力指令の修正量は、ティーチングペンダントに付属の「高」や「低」などのボタンを用いて一括で変更している。このため、ユーザの操作性は画一的に設定されることになる。例えば、ある軸の修正量だけ増やしたい時などは、軸ごとに修正量調整のボタンが必要になるだけでなく、状況に応じてユーザは事前にすべての軸の修正量を設定する必要がある。このため、かえってユーザの操作性を悪化させていることになる。   However, the correction amount of the position or force command given by the user is collectively changed by using buttons such as “high” and “low” attached to the teaching pendant. For this reason, user operability is set uniformly. For example, when you want to increase the correction amount of a certain axis, not only do you need a button for adjusting the correction amount for each axis, but also the user needs to set the correction amount for all axes in advance according to the situation. . For this reason, the user operability is deteriorated.

特開2005−199412号公報JP-A-2005-199412 特開2011−224696号公報JP2011-224696A

本実施形態は、ユーザがロボットアーム型治療台を直感的に安定に操作することのできるロボット制御装置を提供する。   The present embodiment provides a robot control device that allows a user to intuitively and stably operate a robot arm type treatment table.

本実施形態のロボット制御装置は、アーム型治療台を備えたロボットの関節軸を制御周期毎に駆動するアクチュエータと、前記関節軸の角度を検出する関節角度検出部と、前記関節角度とリンクパラメータとに基づいて前記ロボットの制御点の位置座標を算出する制御点位置算出部と、検出された前記関節角度および前記リンクパラメータに基づいて前記各関節における関節座標系と作業座標系との間のヤコビ行列を算出するヤコビ行列算出部と、前記制御点の目標位置および制御点の目標値を入力する目標値入力部と、前記制御点の目標値を整形する目標値整形部と、前記目標値整形部により整形された制御点の目標値と前記制御点位置算出部により算出された制御点の現在値との差分を算出し、前記ヤコビ行列を用いて逆運動学計算を行い、前記制御点における目標速度を算出する目標速度算出部と、前記目標速度を監視し、算出された前記目標速度が閾値を超えている場合に前記目標速度が前記閾値以下となるように制限する速度監視部と、前記算出された目標速度が前記閾値を超えている場合に前記制御点の目標値を修正する速度抑制部と、前記速度抑制部によって前記ロボットの動作方向が制限されているときに、ユーザに対して制限された動作方向を提示する速度制限提示部と、前記速度監視部から出力された目標速度と前記関節角度とに基づいて指令値を算出し、指令値に基づいて前記アクチュエータを駆動する第1駆動部と、を備え、前記目標値整形部は、前記速度抑制部によって前記制御点の目標値が修正された場合に、この修正された目標値を整形することを特徴とする。   The robot control apparatus according to the present embodiment includes an actuator that drives a joint axis of a robot having an arm-type treatment table for each control period, a joint angle detection unit that detects an angle of the joint axis, the joint angle, and a link parameter. A control point position calculation unit for calculating the position coordinates of the control point of the robot based on the relationship between the joint coordinate system and the work coordinate system at each joint based on the detected joint angle and the link parameter A Jacobian matrix calculating unit that calculates a Jacobian matrix, a target value input unit that inputs a target position of the control point and a target value of the control point, a target value shaping unit that shapes the target value of the control point, and the target value The difference between the target value of the control point shaped by the shaping unit and the current value of the control point calculated by the control point position calculation unit is calculated, and inverse kinematic calculation is performed using the Jacobian matrix. A target speed calculation unit that calculates a target speed at the control point; and the target speed is monitored, and when the calculated target speed exceeds a threshold, the target speed is limited to be equal to or less than the threshold. A speed monitoring unit; a speed suppression unit that corrects a target value of the control point when the calculated target speed exceeds the threshold; and an operation direction of the robot is limited by the speed suppression unit A command value is calculated based on the speed limit presenting unit that presents the restricted motion direction to the user, the target speed and the joint angle output from the speed monitoring unit, and the command value is calculated based on the command value. A first drive unit that drives the actuator, and the target value shaping unit shapes the corrected target value when the target value of the control point is corrected by the speed suppressing unit. And butterflies.

制御対象であるロボットの一例を示す外観図。FIG. 3 is an external view illustrating an example of a robot that is a control target. 第1実施形態によるロボット制御装置を示すブロック図。The block diagram which shows the robot control apparatus by 1st Embodiment. 速度制限提示部の一例を示す図。The figure which shows an example of a speed limitation presentation part. 第2実施形態によるロボット制御装置を示すブロック図。The block diagram which shows the robot control apparatus by 2nd Embodiment. 第2実施形態に係る入力信号評価部の動作を示すフローチャート。The flowchart which shows operation | movement of the input signal evaluation part which concerns on 2nd Embodiment. 第2実施形態に係る入力信号評価部における信号の一例を示す図。The figure which shows an example of the signal in the input signal evaluation part which concerns on 2nd Embodiment. 第2実施形態の第1変形例によるロボット制御装置を示すブロック図。The block diagram which shows the robot control apparatus by the 1st modification of 2nd Embodiment.

以下に、実施形態について図面を参照して説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであり、具体的な寸法は以下の説明を参酌して判断すべきものである。又、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは言うまでもない。   Embodiments will be described below with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. However, the drawings are schematic, and specific dimensions should be determined in consideration of the following description. Further, it goes without saying that the drawings include portions having different dimensional relationships and ratios.

(第1実施形態)
第1実施形態によるロボット制御装置について図1および図2を参照して説明する。図1は、本実施形態のロボット制御装置によって制御されるロボットの外観図であり、図2は、本実施形態のロボット制御装置を示すブロック図である。
(First embodiment)
The robot control apparatus according to the first embodiment will be described with reference to FIGS. FIG. 1 is an external view of a robot controlled by the robot control apparatus of this embodiment, and FIG. 2 is a block diagram showing the robot control apparatus of this embodiment.

本実施形態のロボット制御装置は、例えば図1に示す、シリアルにリンク(関節軸)が連結されているアームの先端に患者を搭載するロボット10を制御対象としている。このロボット10は、第1乃至第7関節軸11、12、13、14、15、16、17と、患者を搭載する天板20と、を備えている。   The robot control apparatus according to the present embodiment controls, for example, a robot 10 that has a patient mounted on the tip of an arm serially linked to a link (joint axis) as shown in FIG. The robot 10 includes first to seventh joint shafts 11, 12, 13, 14, 15, 16, 17 and a top board 20 on which a patient is mounted.

第1関節軸11は、ロボット10が設けられている室に対してターンテーブルのように水平方向に回転動作する。第2関節軸12は、第1関節軸に接続され、第1関節軸11に対して水平方向に回転動作する。なお、第1および第2関節軸11、12の回転動作は、上から見たときに時計回りの回転および反時計回りの回転が可能な構成となっている。第3関節軸13は、第2関節軸12に接続され、垂直方向に動作、すなわち上下方向に動作する。第4関節軸14は、第3関節軸13に接続され水平方向に回転動作する。この回転動作は、上から見たときに時計回りの回転および反時計回りの回転が可能な構成となっている。   The first joint shaft 11 rotates in the horizontal direction like a turntable with respect to the chamber in which the robot 10 is provided. The second joint shaft 12 is connected to the first joint shaft and rotates in the horizontal direction with respect to the first joint shaft 11. In addition, the rotation operation | movement of the 1st and 2nd joint shafts 11 and 12 becomes a structure in which clockwise rotation and counterclockwise rotation are possible when it sees from the top. The third joint shaft 13 is connected to the second joint shaft 12 and operates in the vertical direction, that is, in the vertical direction. The fourth joint shaft 14 is connected to the third joint shaft 13 and rotates in the horizontal direction. This rotation operation is configured to allow clockwise rotation and counterclockwise rotation when viewed from above.

第5関節軸15は、第4関節軸14に接続されて軸が水平方向に延在し、この延在する軸の周りに回転動作する。この回転動作は、上記延在する軸から見たときに時計回りの回転および反時計回りの回転が可能な構成となっている。第6関節軸16は、第5関節軸15に接続され、垂直方向に動作、すなわち上下方向に動作する。第7関節軸17は、第6関節軸16に接続され、水平方向に回転動作する。この回転動作は、上から見たときに時計回りの回転および反時計回りの回転が可能な構成となっている。天板20は第7関節軸17に接続される。このように構成されたロボット10においては、第5関節軸15が回転動作することにより、天板20を水平方向に対して傾いた状態にすることが可能となる。   The fifth joint shaft 15 is connected to the fourth joint shaft 14 and extends in the horizontal direction, and rotates around the extending shaft. This rotation operation is configured to allow clockwise rotation and counterclockwise rotation when viewed from the extending shaft. The sixth joint shaft 16 is connected to the fifth joint shaft 15 and operates in the vertical direction, that is, in the vertical direction. The seventh joint shaft 17 is connected to the sixth joint shaft 16 and rotates in the horizontal direction. This rotation operation is configured to allow clockwise rotation and counterclockwise rotation when viewed from above. The top plate 20 is connected to the seventh joint shaft 17. In the robot 10 configured as described above, the top plate 20 can be inclined with respect to the horizontal direction by rotating the fifth joint shaft 15.

本実施形態のロボット制御装置は、図2に示すように、中央演算処理装置(CPU)1と、アクチュエータ100と、駆動部(アンプ)101と、関節角度検出部102と、目標値入力部103と、速度制限提示部104と、リンクパラメータ記憶部201と、最大速度記憶部202と、を備えている。   As shown in FIG. 2, the robot control apparatus of the present embodiment includes a central processing unit (CPU) 1, an actuator 100, a drive unit (amplifier) 101, a joint angle detection unit 102, and a target value input unit 103. A speed limit presentation unit 104, a link parameter storage unit 201, and a maximum speed storage unit 202.

関節角度検出部102は、ロボット10の関節軸の角度を検出するものであり、エンコーダ等の位置センサが使用可能であって、所定の周波数成分を除去するフィルタを備えていても良い。関節軸が駆動軸から伝達機構を介して構成されていて、駆動軸に検出部が備えられている場合、関節角度は、駆動軸の位置の変位量(駆動軸角度)から伝達機構のもつ駆動軸と関節軸の比とに応じて算出される。   The joint angle detection unit 102 detects the angle of the joint axis of the robot 10, and a position sensor such as an encoder can be used, and may include a filter that removes a predetermined frequency component. When the joint shaft is configured from the drive shaft via the transmission mechanism, and the drive shaft is provided with the detection unit, the joint angle is determined by the displacement of the position of the drive shaft (drive shaft angle). It is calculated according to the ratio of the axis and the joint axis.

目標値入力部103は、ロボット10の最終到達目標位置姿勢(目標値)を設定する。目標値はデータベースに予め格納されるか、もしくはユーザがジョイスティックなどのポインティングデバイスで与えてもよい。   The target value input unit 103 sets the final target position / posture (target value) of the robot 10. The target value may be stored in advance in a database, or may be given by a user using a pointing device such as a joystick.

速度制限提示部104は、後述する速度抑制部110によってロボット10の動作方向が制限されているときに、ユーザに対して制限された動作方向を分かりやすく提示する。例えば、目標値入力部103がポインティングデバイス200である場合に、図3に示す領域202が、ロボット10の動作方向が制限されている方向となる。   The speed restriction presenting unit 104 presents the restricted movement direction in an easy-to-understand manner to the user when the movement direction of the robot 10 is restricted by a speed suppression unit 110 described later. For example, when the target value input unit 103 is the pointing device 200, an area 202 shown in FIG. 3 is a direction in which the operation direction of the robot 10 is restricted.

図2に示したCPU1は、制御点位置算出部105と、ヤコビ行列算出部106と、目標値整形部107と、目標速度算出部108と、速度監視部109と、速度抑制部110と、冗長性評価部111と、をそれぞれモジュールとして備えている。すなわち、CPU1を構成する各要素は、ハードウェアで実現してもよいし、ソフトウェアで実現してもよい。   The CPU 1 shown in FIG. 2 includes a control point position calculation unit 105, a Jacobian matrix calculation unit 106, a target value shaping unit 107, a target speed calculation unit 108, a speed monitoring unit 109, a speed suppression unit 110, a redundancy And a sex evaluation unit 111 as modules. That is, each element constituting the CPU 1 may be realized by hardware or software.

制御点位置算出部105は、リンクパラメータ記憶部201からロボット10のリンクパラメータを読み出し、関節角度検出部102により検出された関節角度から、リンクパラメータを用いて順運動学計算によりロボット10の作業座標系における制御点の位置姿勢を算出する。   The control point position calculation unit 105 reads the link parameter of the robot 10 from the link parameter storage unit 201, and from the joint angle detected by the joint angle detection unit 102, the work coordinates of the robot 10 are calculated by forward kinematics calculation using the link parameter. Calculate the position and orientation of the control points in the system.

ヤコビ行列算出部106は、関節角度検出部102により算出された関節角度と、リンクパラメータ記憶部201に記憶されたリンクパラメータとに基づいて、ヤコビ行列を算出する。ヤコビ行列とは、ロボット10の作業座標系と関節座標系との間の微小変位関係を表現した行列である。ヤコビ行列をJとすると、位置の変化Δxと関節角差分Δθは、下記の式(1)の関係を満たしている。

Δx=JΔθ … (1)
The Jacobian matrix calculation unit 106 calculates a Jacobian matrix based on the joint angle calculated by the joint angle detection unit 102 and the link parameter stored in the link parameter storage unit 201. The Jacobian matrix is a matrix expressing a minute displacement relationship between the work coordinate system and the joint coordinate system of the robot 10. Assuming that the Jacobian matrix is J, the position change Δx and the joint angle difference Δθ satisfy the relationship of the following equation (1).

Δx = JΔθ (1)

目標値整形部107は、目標値入力部103により入力されたロボット10の目標値を、フィルタなどを用いてより滑らかに整形する。また目標値整形部107は、後述する速度抑制部110によってロボット10の関節角差分Δθが制限された場合に、その過大割合を考慮して目標値を整形する。   The target value shaping unit 107 shapes the target value of the robot 10 input by the target value input unit 103 more smoothly using a filter or the like. Further, when the joint angle difference Δθ of the robot 10 is limited by the speed suppressing unit 110 described later, the target value shaping unit 107 shapes the target value in consideration of the excessive ratio.

目標速度算出部108は、目標値整形部107で整形された目標値と、制御点位置算出部105により算出された制御点位置の現在値とを用いて、位置差分Δxを算出し、ヤコビ行列Jの逆行列J-1を用いて関節角差分Δθを、次の式(2)を用いて算出する。

Δθ=J-1Δx … (2)
The target speed calculation unit 108 calculates the position difference Δx using the target value shaped by the target value shaping unit 107 and the current value of the control point position calculated by the control point position calculation unit 105, and the Jacobian matrix The joint angle difference Δθ is calculated using the following equation (2) using the inverse matrix J −1 of J.

Δθ = J −1 Δx (2)

関節角差分Δθの算出は、所定の周期毎、例えば後述するアクチュエータ100の制御周期毎に行われる。このため、関節角差分Δθは上記周期の間における目標角速度を表している。   The calculation of the joint angle difference Δθ is performed every predetermined cycle, for example, every control cycle of the actuator 100 described later. Therefore, the joint angle difference Δθ represents the target angular velocity during the period.

速度監視部109は、最大速度記憶部202から関節の角速度の最大値を読み出し、目標速度算出部108において算出された関節角差分Δθが、設定された最大角速度(上記周期における最大角度)θmaxを超えないようにリミットを設け、関節角速度指令値とする。 The speed monitoring unit 109 reads the maximum value of the angular velocity of the joint from the maximum velocity storage unit 202, and the joint angle difference Δθ calculated by the target speed calculation unit 108 is set to the set maximum angular velocity (maximum angle in the above period) θ max. A limit is set so that the joint angular velocity command value is not exceeded.

速度抑制部110は、速度監視部109において関節角差分Δθが最大角速度θmaxにより制限された場合に、算出された関節角差分Δθの過大割合αを算出し、目標値整形部107へ伝達する。過大割合αは例えば以下のように算出する。

α=|Δθ/θmax| … (3)
When the joint angle difference Δθ is limited by the maximum angular velocity θ max in the speed monitoring unit 109, the speed suppressing unit 110 calculates an excessive ratio α of the calculated joint angle difference Δθ and transmits the calculated excess rate α to the target value shaping unit 107. . For example, the excess ratio α is calculated as follows.

α = | Δθ / θ max | (3)

駆動部101は、速度監視部109により算出された関節角速度指令値にしたがってアクチュエータ100を制御周期毎に駆動する。   The drive unit 101 drives the actuator 100 for each control cycle according to the joint angular velocity command value calculated by the speed monitoring unit 109.

本実施形態のロボット制御装置においては、制御対象となるロボット10は図1に示すように冗長自由度を有することが考えられる。ここで、冗長自由度を有するとは、入力された目標値の次元よりも、ロボット10のアクチュエータの方が多いことを意味する。この場合、ヤコビ行列Jに逆行列は存在しない。このため、式(2)を用いて関節角差分Δθを算出できない。そこで、ヤコビ行列Jの擬似逆行列J+を用いて以下(4)式に示すように関節角差分Δθを目標速度算出部108が算出する。

Δθ=J+Δx + (I−JJ+)k … (4)

ここで、Iは単位行列であり、kは冗長性パラメータである。この冗長性パラメータkは冗長性評価部111により算出される。冗長性評価部111は、ロボット10が可動限界や特異点に近づいた場合に目標速度が算出されるように、関節の可動範囲およびヤコビ行列の特異点近傍度を評価関数として算出される冗長性パラメータを算出する。特異点近傍度κとして以下に示す可操作度や条件数など、さまざまな指標が提案されている。可操作度は以下の式に示すようにJとその転置行列との積の行列式に対し平方根を取ったものである。

κ=√(det(JJ))

ここで、det(K)は行列Kの行列式である。特異点に近づくと急激に減少し、特異点では0となる。
In the robot control apparatus of the present embodiment, it is conceivable that the robot 10 to be controlled has redundant degrees of freedom as shown in FIG. Here, having redundancy degree of freedom means that there are more actuators of the robot 10 than the dimension of the input target value. In this case, there is no inverse matrix in the Jacobian matrix J. For this reason, the joint angle difference Δθ cannot be calculated using the equation (2). Therefore, using the pseudo inverse matrix J + of the Jacobian matrix J, the target speed calculation unit 108 calculates the joint angle difference Δθ as shown in the following equation (4).

Δθ = J + Δx + (I−JJ + ) k (4)

Here, I is a unit matrix, and k is a redundancy parameter. The redundancy parameter k is calculated by the redundancy evaluation unit 111. The redundancy evaluation unit 111 calculates the target movable speed and the singular point proximity of the Jacobian matrix as the evaluation function so that the target speed is calculated when the robot 10 approaches the movement limit or the singular point. Calculate the parameters. Various indices such as the degree of manipulability and the number of conditions shown below have been proposed as the degree of singularity proximity κ. The manipulability is obtained by taking the square root of the determinant of the product of J and its transposed matrix as shown in the following equation.

κ = √ (det (JJ T ))

Here, det (K) is a determinant of the matrix K. When approaching a singular point, it decreases rapidly and becomes zero at a singular point.

また条件数は以下の式に示すように、Jの固有値の比で定義される。

κ=σ/σ

ここで、σはJの固有値の中で最小のもの、σはJの固有値の中で最大のものである。条件数が1に近いほど特異値からは離れていると言える。
The condition number is defined by the ratio of the eigenvalues of J as shown in the following equation.

κ = σ 1 / σ m

Here, σ 1 is the smallest of the eigenvalues of J, and σ m is the largest of the eigenvalues of J. It can be said that the closer the condition number is to 1, the farther from the singular value.

以上のような特異値近傍度κを用いて、冗長性パラメータkを設定する。

k = k * f(κ)

ここで、kは冗長性パラメータの基準値であり、動作によって選択してもよい。例えばユーザによる作業エリアを確保するために、第1軸を大きく動かすことでアームを回り込ませたいときは、以下のように設定するとよい。

=[k, 0…, 0]
The redundancy parameter k is set using the singular value proximity κ as described above.

k = k 0 * f (κ)

Here, k 0 is a reference value of the redundancy parameter, and may be selected depending on the operation. For example, in order to secure the work area for the user and move the arm by moving the first axis greatly, the following settings may be made.

k 0 = [k 1 , 0..., 0]

また、fは特異点近傍度に基づく評価関数である。特異点から遠ければ1でよく,特異点に近づいたときは関節速度を抑制する値を出力することで関節角速度が急激に大きくなるのを防ぐ。   F is an evaluation function based on the degree of singularity proximity. If it is far from the singular point, it may be 1, and when it approaches the singular point, a value that suppresses the joint velocity is output to prevent the joint angular velocity from rapidly increasing.

また動作開始時や停止時においてΔx=0であり、Δθ=0とならなければならない。このとき、(I−JJ)≠0であればk=0としておかなければΔθ≠0となって、急激な加速度が発生してしまい、危険である。よって(I−JJ)の項にかかわらず、以下の式で定義するような時間に依存する加減速係数βをkにかけることで、滑らかな目標軌道を生成するようにする。

β=t/T (0<t<T
β=1 (T<t<T−T
β=(T−t)/T (T−T<t<T)

ここで、Tは加減速時間、Tは動作完了に必要な時間である。
Further, Δx = 0 at the start or stop of the operation, and Δθ = 0 must be satisfied. At this time, if (I−JJ + ) ≠ 0, if k = 0 is not set, Δθ ≠ 0 and sudden acceleration occurs, which is dangerous. Therefore, regardless of the term (I−JJ + ), a smooth target trajectory is generated by multiplying k by a time-dependent acceleration / deceleration coefficient β as defined by the following equation.

β = t / T 0 (0 <t <T 0 )
β = 1 (T 0 <t <T−T 0 )
β = (T−t) / T 0 (T−T 0 <t <T)

Here, T 0 is the acceleration / deceleration time, and T is the time required for completing the operation.

以上説明したように、本実施形態においては、ロボット10の動作方向が制限されているときに、関節角差分Δθが最大角速度(上記周期における最大角度)θmaxを超えない速度関節角速度指令値が監視部109から出力され、関節角差分Δθが最大角速度θmaxにより制限された場合に、その過大割合が速度抑制部110によって算出され、この過大割合を考慮して目標値が目標値整形部107によって整形されるとともに、ユーザに対して制限された動作方向を速度制限提示部104によって分かりやすく表示するので、ユーザがロボットアーム型治療台を直感的に安定に操作することができる。 As described above, in this embodiment, when the movement direction of the robot 10 is limited, a velocity joint angular velocity command value at which the joint angle difference Δθ does not exceed the maximum angular velocity (maximum angle in the above cycle) θ max is obtained. When the joint angle difference Δθ is output from the monitoring unit 109 and is limited by the maximum angular velocity θ max , the excessive ratio is calculated by the speed suppressing unit 110, and the target value is set to the target value shaping unit 107 in consideration of the excessive ratio. Since the speed limit presenting unit 104 displays the movement direction restricted for the user in an easy-to-understand manner, the user can intuitively and stably operate the robot arm type treatment table.

なお、上記実施形態において、CPU1、リンクパラメータ記憶部201、最大速度記憶部202等が、制御対象であるロボットの内部に埋め込まれて一体化されていても良い。また、CPU1、リンクパラメータ記憶部201、最大速度記憶部202等が、制御対象であるロボットの外部にあり、ロボットを有線或いは無線で遠隔制御することも可能である。   In the above-described embodiment, the CPU 1, the link parameter storage unit 201, the maximum speed storage unit 202, and the like may be embedded and integrated in a robot that is a control target. Further, the CPU 1, the link parameter storage unit 201, the maximum speed storage unit 202, and the like are outside the robot to be controlled, and the robot can be remotely controlled by wire or wireless.

(第2実施形態)
第2実施形態によるロボット制御装置を図4に示す。この第2実施形態のロボット制御装置は、第1実施形態と同様に、例えば図1に示すロボット10を制御対象としている。この実施形態のロボット制御装置は、第1実施形態の制御装置において、駆動部101を駆動部101Aに置き換えるとともにCPU1をCPU1Aに置き換え、動作方向指定部302を新たに設けた構成となっている。この第2実施形態のCPU1Aは、図2に示すCPU1において、先端速度目標値算出部303と、関節速度目標値算出部305と、入力信号評価部307と、慣性モーメント算出部308と、フィードフォワード指令値算出部309と、を新たに設けた構成となっている。なお、このCPU1Aは、図2に示すヤコビ行列算出部106以外のCPU1の各構成要素を図示していない。なお、CPU1Aを構成する各構成要素はモジュールであって、ハードウェアで実現してもよいし、ソフトウェアで実現してもよい。
(Second Embodiment)
FIG. 4 shows a robot control apparatus according to the second embodiment. As in the first embodiment, the robot control apparatus according to the second embodiment uses, for example, the robot 10 shown in FIG. 1 as a control target. The robot control apparatus of this embodiment has a configuration in which, in the control apparatus of the first embodiment, the drive unit 101 is replaced with the drive unit 101A, the CPU 1 is replaced with the CPU 1A, and the operation direction specifying unit 302 is newly provided. The CPU 1A according to the second embodiment includes a tip speed target value calculation unit 303, a joint speed target value calculation unit 305, an input signal evaluation unit 307, an inertia moment calculation unit 308, and a feedforward in the CPU 1 shown in FIG. A command value calculation unit 309 is newly provided. Note that this CPU 1A does not show each component of the CPU 1 other than the Jacobian matrix calculation unit 106 shown in FIG. Each component constituting the CPU 1A is a module and may be realized by hardware or software.

動作方向指定部302は、ユーザが入力する制御点の動作方向を指定するものであり、正負の方向を示すモメンタリ動作のボタン、または正方向、停止、負方向を示すプッシュ・プル動作のボタンなどの離散的な入力を与えるものであってもよい。また、ジョイスティックや力覚センサなどのポインティングデバイスで連続的な入力を与えてもよい。   The motion direction designation unit 302 designates the motion direction of the control point input by the user, such as a momentary motion button indicating the positive or negative direction, or a push / pull motion button indicating the positive direction, stop, or negative direction. May be provided. Further, a continuous input may be given by a pointing device such as a joystick or a force sensor.

先端速度目標値算出部303は、動作方向指定部302で得られた制御点における動作方向から、所定の最大加速度を超えない範囲で制御点における制御周期毎の先端速度目標値(制御点における速度目標値)を算出する。前回の先端速度目標値をvRi−1、今回の先端速度目標値をvRi、最大加速度をa、制御周期をΔTとすると、例えば式(5)に示すように算出される。

Ri=vRi−1 + aΔT … (5)
The tip speed target value calculation unit 303 is a tip speed target value (speed at the control point) at each control cycle within a range not exceeding a predetermined maximum acceleration from the motion direction at the control point obtained by the motion direction designating unit 302. Target value). When the previous tip speed target value is v Ri−1 , the current tip speed target value is v Ri , the maximum acceleration is a, and the control cycle is ΔT, for example, the calculation is performed as shown in Equation (5).

v Ri = v Ri−1 + aΔT (5)

実際には、前回の先端速度目標値によって到達すべき目標位置に到達していない場合がある。そこで想定していた目標位置と現在位置との誤差Δxを算出しておき、式(6)に示すように補正しておくと良い。

Ri=vRi−1 + aΔT + Δx … (6)
Actually, the target position to be reached may not be reached due to the previous tip speed target value. Therefore, it is preferable to calculate an error Δx between the target position assumed and the current position and correct it as shown in Expression (6).

v Ri = v Ri−1 + aΔT + Δx (6)

得られた先端速度目標値に対してフィルタ処理を施すことで、より滑らかな動作となるようにしてもよい。   A smoother operation may be achieved by performing filter processing on the obtained tip speed target value.

ヤコビ行列算出部106によって算出されたヤコビ行列をJとすると、制御点の速度vと関節速度ωは式(7)に示す関係を満たしている。

v=Jω … (7)
When the Jacobian matrix calculated by the Jacobian matrix calculation unit 106 is J, the speed v of the control point and the joint speed ω satisfy the relationship shown in Expression (7).

v = Jω (7)

関節速度目標値算出部305は、先端速度目標値算出部303で算出された先端速度目標値vRiと、ヤコビ行列Jの逆行列J−1を用いて関節速度目標値ωRiを、次の式(8)を用いて算出する。

ωRi=J−1Ri … (8)
The joint speed target value calculation unit 305 uses the tip speed target value v Ri calculated by the tip speed target value calculation unit 303 and the inverse matrix J −1 of the Jacobian matrix J to obtain the joint speed target value ω Ri as It calculates using Formula (8).

ω Ri = J −1 v Ri (8)

なお、ロボット10が図1に示すように冗長自由度を有する場合には、第1実施形態で説明したと同様に、ヤコビ行列Jの擬似逆行列J+を用いて関節速度目標値角差分ωRiを関節速度目標値算出部305が算出する。 In the case where the robot 10 has redundant degrees of freedom as shown in FIG. 1, the joint velocity target value angle difference ω using the pseudo inverse matrix J + of the Jacobian matrix J as described in the first embodiment. The joint speed target value calculation unit 305 calculates Ri .

駆動部101は、関節速度目標値算出部305により算出された関節速度目標値ωRiにしたがってアクチュエータ100を制御周期毎に駆動する。駆動部101は、速度指令型のドライバであることが多い。例えば、2自由度制御系である速度FF−I−P制御系で構成されると、式(9)に示すような駆動トルク指令値τRiを算出する。

τRi=K(K∫(ωRi−ω)dt−ω+KFFωRi) … (9)

ここで、K、K、KFFはそれぞれ速度偏差積分フィードバック制御ゲイン、速度比例フィードバック制御ゲイン、速度目標値フィードフォワード制御ゲインを表す。
The drive unit 101 drives the actuator 100 for each control period in accordance with the joint speed target value ω Ri calculated by the joint speed target value calculation unit 305. The drive unit 101 is often a speed command type driver. For example, when a speed FF-IP control system, which is a two-degree-of-freedom control system, is configured, a drive torque command value τ Ri as shown in Expression (9) is calculated.

τ Ri = K P (K I ∫ (ω Ri −ω) dt−ω + K FF ω Ri ) (9)

Here, K I, K P, K FF represents the speed deviation integrated feedback control gain, respectively, the speed proportional feedback control gain, a speed target value feedforward control gain.

入力信号評価部307は、動作方向指定部302で入力された動作方向とその変化した時間を記録し、離散的な入力信号を連続的な関数で近似したものとして評価する。その上で、制御点の最大速度や最大加速度などの軌道パラメータを変更して、この変更された軌道パラメータを先端速度目標値算出部303に与えるとともに、ゲインを変更して変更されたゲインをフィードフォワード指令値算出部309へ与える。すなわち、入力信号評価部307は、動作方向の履歴や操作時間に基づいて、制御点の最大速度や最大加速度などの軌道パラメータを変更する。   The input signal evaluation unit 307 records the motion direction input by the motion direction designating unit 302 and the time when the motion direction is changed, and evaluates the discrete input signal as being approximated by a continuous function. Then, the trajectory parameters such as the maximum speed and maximum acceleration of the control point are changed, and the changed trajectory parameters are given to the tip speed target value calculation unit 303, and the gain is changed and the changed gain is fed. This is given to the forward command value calculation unit 309. That is, the input signal evaluation unit 307 changes the trajectory parameters such as the maximum speed and maximum acceleration of the control point based on the history of operation direction and the operation time.

次に、第2実施形態に係る入力信号評価部307の動作を図5および図6を参照して説明する。図5は、入力信号評価部307の動作を示すフローチャート、図6は、入力信号評価部307における入力信号の波形を示す図である。   Next, the operation of the input signal evaluation unit 307 according to the second embodiment will be described with reference to FIGS. FIG. 5 is a flowchart showing the operation of the input signal evaluation unit 307, and FIG. 6 is a diagram showing the waveform of the input signal in the input signal evaluation unit 307.

(a)入力信号が入力信号評価部307に入力されると、処理が開始される(図5のS300)。   (A) When an input signal is input to the input signal evaluation unit 307, processing is started (S300 in FIG. 5).

(b)次に入力信号を符号化する(図5のS301)。例えば上下方向の動作方向について、例えば、動作方向指定部302において、上昇(UP)を「1」、下降(DOWN)を「―1」、停止(STOP)を「0」のように符号を割り当てたとする。スイッチが押されている間は同じ数値が入力され続ける(モメンタリ動作)。入力された信号の一例を図6の波形401に示す。この波形401においては、最初に、動作UPと動作STOPとが交互に入力され、3秒後に動作DOWNが入力されたのち、動作UPと動作STOPとが素早く切り替わっている。   (B) Next, the input signal is encoded (S301 in FIG. 5). For example, in the vertical direction, for example, the movement direction designation unit 302 assigns codes such as “1” for ascending (UP), “−1” for descending (DOWN), and “0” for stopping (STOP). Suppose. While the switch is pressed, the same numerical value is continuously input (momentary operation). An example of the input signal is shown as a waveform 401 in FIG. In this waveform 401, first, the operation UP and the operation STOP are alternately inputted, and after the operation DOWN is inputted after 3 seconds, the operation UP and the operation STOP are quickly switched.

(c)入力信号が変化していなければ(図5のS302)、入力信号評価部307において、ある連続的な関数でこの入力履歴を近似する。近似式として例えば式(10)に示す関数を用意する(図5のS303).

=K(u−yi−1)+yi−1 … (10)

ここでuは入力、yは出力、yi−1は前回の出力、Kは係数である。この式は、一次遅れ要素(ゲイン1)の式を差分形式で表現したものである。この関数は入力が変化しなければ、時間の経過とともに出力は入力に収束する。
(C) If the input signal has not changed (S302 in FIG. 5), the input signal evaluation unit 307 approximates this input history with a certain continuous function. For example, a function shown in Expression (10) is prepared as an approximate expression (S303 in FIG. 5).

y i = K (u i −y i−1 ) + y i−1 (10)

Here, u i is an input, y i is an output, y i-1 is a previous output, and K is a coefficient. This expression expresses the expression of the first-order lag element (gain 1) in a differential format. If the input does not change, the output will converge to the input over time.

(d)ここで、入力と出力の差を誤差とし、所定の範囲になっていれば(図5のS304)、収束時間dTを算出する(図5のS306)。ここで収束時間とは、入力信号が変化した時刻から誤差が所定の範囲内に収まった時刻までに経過した時間とする。誤差が大きければ処理を終了する(図5のS305)。   (D) Here, if the difference between the input and the output is regarded as an error and is within a predetermined range (S304 in FIG. 5), the convergence time dT is calculated (S306 in FIG. 5). Here, the convergence time is the time elapsed from the time when the input signal changes until the time when the error falls within a predetermined range. If the error is large, the process is terminated (S305 in FIG. 5).

(e)もしステップS302で入力信号が変化すると、入力が変化するまでに経過した時間TとステップS306で算出した収束時間dTを比較し、入力信号が変化するごとに係数Kを変化させる。例えば式(11)に示すルールが考えられる。

=Kj−1/α (dT<βT の場合)
=αKj−1 (dT>T の場合) … (11)
=Kj−1 (その他の場合)

ここでα>1、0<β<1である。
(E) If the input signal changes in step S302, the time T elapsed until the input changes is compared with the convergence time dT calculated in step S306, and the coefficient K is changed each time the input signal changes. For example, the rule shown in Formula (11) can be considered.

K j = K j−1 / α (when dT <βT)
K j = αK j−1 (when dT> T) (11)
K j = K j-1 (other cases)

Here, α> 1 and 0 <β <1.

出力の一例を図6の波形402に示す。初期値では収束時間が短かったので、係数が小さくなり徐々に収束時間が長くなっている。しかし、入力が素早く変化するときには係数が大きくなって収束時間が短くなっているのが分かる。なお、近似式は他にもARX(Auto Regressive with eXogenous inputs またはAuto Regressive with eXternal inputs)モデルなどが考えられる。   An example of the output is shown as a waveform 402 in FIG. Since the convergence time is short at the initial value, the coefficient decreases and the convergence time gradually increases. However, it can be seen that when the input changes quickly, the coefficient increases and the convergence time decreases. In addition, an ARX (Auto Regressive with eXogenous inputs or Auto Regressive with eXternal inputs) model etc. can be considered as an approximate expression.

慣性モーメント算出部308は、各リンクの質量、重心位置、重心周りの慣性モーメントなどのリンクパラメータから各関節軸周りの慣性モーメントを算出する。無負荷の場合は初期値として設計データから予め算出したものを記憶部に記録しておけばよい。しかし、治療台アームの天板20に患者が移乗されるケースのように付加荷重が動的に変化すると、慣性モーメントも変化してしまう。また、重心位置は各ケースで異なる可能性がある。外力Fと各関節に作用するトルクτには仮想仕事の原理から式(12)に示す関係が成り立つ。

F=(J−1τ … (12)

ここでJはヤコビ行列Jの転置行列である。ロボット10が図1に示すように冗長自由度を有する場合には、第1実施形態で説明したと同様に、ヤコビ行列Jの転置行列Jの擬似逆行列Jを用いて外力Fを算出する。τは、関節駆動トルクから、無負荷でかつ静止時における関節駆動トルク(≒重力トルク)を差し引けば算出される。このため、式(12)で外力が算出される。さらにアームの姿勢を非干渉化すれば計算量を削減され、荷重および重心位置が算出される。あるいはアームの姿勢を変えながら、逐次的にパラメータを推定し続ける、という方法もある。
The inertia moment calculation unit 308 calculates the inertia moment around each joint axis from the link parameters such as the mass of each link, the center of gravity position, and the inertia moment around the center of gravity. In the case of no load, what is calculated in advance from design data as an initial value may be recorded in the storage unit. However, if the applied load changes dynamically as in the case where the patient is transferred to the top table 20 of the treatment table arm, the moment of inertia also changes. In addition, the position of the center of gravity may be different in each case. The relationship shown in Expression (12) is established between the external force F and the torque τ d acting on each joint from the principle of virtual work.

F = (J T ) −1 τ d (12)

Here, J T is a transposed matrix of the Jacobian matrix J. When the robot 10 has redundant degrees of freedom as shown in FIG. 1, the external force F is calculated using the pseudo inverse matrix J T of the transposed matrix J T of the Jacobian matrix J, as described in the first embodiment. To do. τ d is calculated by subtracting the joint drive torque (≈gravity torque) at no load and at rest from the joint drive torque. For this reason, an external force is calculated by Formula (12). Further, if the arm posture is made non-interfering, the amount of calculation is reduced, and the load and the position of the center of gravity are calculated. Alternatively, there is a method of continuously estimating parameters while changing the posture of the arm.

フィードフォワード指令値評価部309は、慣性モーメント算出部308で算出された慣性モーメントから、駆動部101Aで使用するフィードフォワード制御ゲインKFFを変更する。式(9)に示す制御系の場合、ゲインは0〜1の数値を取りうる。 Feedforward command value evaluation unit 309, the inertia moment calculated by the moment of inertia calculating unit 308 changes the feedforward control gain K FF used in the driving section 101A. In the case of the control system shown in Expression (9), the gain can take a numerical value of 0 to 1.

以上説明したように、この第2実施形態は、第1実施形態と同様のロボット制御装置を構成する各要素を備えているので、第1実施形態と同様に、ユーザがロボットアーム型治療台を直感的に安定に操作することができる。   As described above, since the second embodiment includes the respective elements constituting the robot control device similar to the first embodiment, the user can set the robot arm type treatment table as in the first embodiment. It can be operated intuitively and stably.

さらに、第2実施形態においては、動作方向の履歴や操作時間に基づいて、制御点の最大速度や最大加速度などの軌道パラメータが入力信号評価部307によって変更され、関節角度とリンクパラメータと駆動トルク指令値から、ロボットに搭載されている荷重(患者の体重など)が慣性モーメント算出部によって推定されてリンクの慣性モーメントが算出され、この慣性モーメントや入力信号評価部の評価値に基づいて、駆動部で使用されるフィードフォワードゲインがフィードフォワード指令値算出部によって算出されるので、ユーザが指示する動作方向がONとOFFのみのような離散的な信号であっても、ロボットアーム型治療台を滑らかに応答性良く動作させることができる。   Further, in the second embodiment, the trajectory parameters such as the maximum speed and the maximum acceleration of the control point are changed by the input signal evaluation unit 307 based on the history of operation direction and the operation time, and the joint angle, link parameter, and drive torque are changed. From the command value, the load mounted on the robot (such as the patient's weight) is estimated by the moment of inertia calculation unit, and the moment of inertia of the link is calculated. Based on this moment of inertia and the evaluation value of the input signal evaluation unit, drive Since the feedforward gain used in the unit is calculated by the feedforward command value calculation unit, even if the movement direction indicated by the user is a discrete signal such as only ON and OFF, the robot arm type treatment table It can operate smoothly and with good responsiveness.

また、ユーザの入力信号が離散的であっても、履歴データから応答性を自動的に調整することでユーザの意図に応じて簡便に操作することができる。   Even if the input signal of the user is discrete, it is possible to easily operate according to the user's intention by automatically adjusting the responsiveness from the history data.

(第1変形例)
第2実施形態の第1変形例によるロボット制御装置を図7に示す。この第1変形例のロボット制御装置は、図4に示す第2実施形態のロボット制御装置において、駆動部101Aを駆動部101Bに置き換えるとともに、CPU1AをCPU1Bに置き換えた構成となっている。駆動部101Bは駆動トルク指令値を受けてアクチュエータを駆動する電流を生成するトルク指令型の駆動部である。CPU1Bは、CPU1Aにおいて、制御指令算出部310を新たに設けた構成となっている。なお、制御指令算出部310は、モジュールであって、ハードウェアで実現してもよいし、ソフトウェアで実現してもよい。
(First modification)
A robot control apparatus according to a first modification of the second embodiment is shown in FIG. The robot control apparatus according to the first modification has a configuration in which, in the robot control apparatus according to the second embodiment shown in FIG. 4, the drive unit 101A is replaced with the drive unit 101B, and the CPU 1A is replaced with the CPU 1B. The drive unit 101B is a torque command type drive unit that receives a drive torque command value and generates a current for driving the actuator. The CPU 1B has a configuration in which a control command calculation unit 310 is newly provided in the CPU 1A. Note that the control command calculation unit 310 is a module, and may be realized by hardware or software.

この第1変形例においては、図7に示すように、制御指令算出部310が、関節速度目標値算出部305で算出された関節速度目標値と、関節角度検出部102で検出された関節角度と、フィードフォワード指令値算出部309で算出されたフィードバックゲインから、駆動トルク指令値を式(9)に示すように算出し、駆動部101Bに送る。   In this first modified example, as shown in FIG. 7, the control command calculation unit 310 uses the joint speed target value calculated by the joint speed target value calculation unit 305 and the joint angle detected by the joint angle detection unit 102. From the feedback gain calculated by the feedforward command value calculation unit 309, the drive torque command value is calculated as shown in Expression (9) and sent to the drive unit 101B.

駆動部101Bは、制御指令算出部310で算出された駆動トルク指令値に基づき、アクチュエータ100を駆動する。   The drive unit 101B drives the actuator 100 based on the drive torque command value calculated by the control command calculation unit 310.

慣性モーメント算出部308が制御指令算出部310で算出された駆動トルク指令値からロボットに搭載された負荷荷重を算出し、これをもとに慣性モーメントを算出する。   The inertia moment calculation unit 308 calculates the load load mounted on the robot from the drive torque command value calculated by the control command calculation unit 310, and calculates the inertia moment based on this.

この第1変形例も第2実施形態と同様の効果を奏することができる。   This first modification can also achieve the same effects as those of the second embodiment.

上記のように、各実施形態を説明したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。例えば上記実施形態では回転関節を対象に説明をしているが、直動関節であっても同様に適用できることは明らかである。   As described above, each embodiment has been described. However, it should not be understood that the description and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art. For example, in the above-described embodiment, the description has been made on the rotary joint, but it is obvious that the present invention can be similarly applied to a linear joint.

また、CPU1A、1B、リンクパラメータ記憶部201等が制御対象であるロボットの内部に埋め込まれて一体化されていても良い。また、CPU1A、1B、リンクパラメータ記憶部201等が、制御対象であるロボットの外部にあり、ロボットを有線或いは無線で遠隔制御することも可能である。   Further, the CPUs 1A, 1B, the link parameter storage unit 201, and the like may be embedded and integrated in the robot to be controlled. The CPUs 1A and 1B, the link parameter storage unit 201, and the like are outside the robot to be controlled, and the robot can be remotely controlled by wire or wirelessly.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the invention described in the claims and equivalents thereof as well as included in the scope and gist of the invention.

1、1A、1B 中央演算処理装置(CPU)
10 ロボット
11 第1関節軸
12 第2関節軸
13 第3関節軸
14 第4関節軸
15 第5関節軸
16 第6関節軸
17 第7関節軸
20 天板
100 アクチュエータ
101、101A、101B 駆動部
102 関節角度検出部
103 目標値入力部
104 速度制限提示部
105 制御点位置算出部
106 ヤコビ行列算出部
107 目標値整形部
108 目標速度算出部
109 速度監視部
110 速度抑制部
111 冗長性評価部
201 リンクパラメータ記憶部
202 最大速度記憶部
302 動作方向指定部
303 先端速度目標値算出部
305 関節速度目標値算出部
307 入力信号評価部
308 慣性モーメント算出部
309 フィードフォワード指令値算出部
310 制御指令算出部
1, 1A, 1B Central processing unit (CPU)
DESCRIPTION OF SYMBOLS 10 Robot 11 1st joint axis 12 2nd joint axis 13 3rd joint axis 14 4th joint axis 15 5th joint axis 16 6th joint axis 17 7th joint axis 20 Top plate 100 Actuator 101, 101A, 101B Drive part 102 Joint angle detection unit 103 Target value input unit 104 Speed limit presentation unit 105 Control point position calculation unit 106 Jacobian matrix calculation unit 107 Target value shaping unit 108 Target speed calculation unit 109 Speed monitoring unit 110 Speed suppression unit 111 Redundancy evaluation unit 201 Link Parameter storage unit 202 Maximum speed storage unit 302 Motion direction designation unit 303 Tip speed target value calculation unit 305 Joint speed target value calculation unit 307 Input signal evaluation unit 308 Inertia moment calculation unit 309 Feedforward command value calculation unit 310 Control command calculation unit

Claims (5)

アーム型治療台を備えたロボットの関節軸を制御周期毎に駆動するアクチュエータと、
前記関節軸の角度を検出する関節角度検出部と、
前記関節角度とリンクパラメータとに基づいて前記ロボットの制御点の位置座標を算出する制御点位置算出部と、
検出された前記関節角度および前記リンクパラメータに基づいて前記各関節における関節座標系と作業座標系との間のヤコビ行列を算出するヤコビ行列算出部と、
前記制御点の目標位置および制御点の目標値を入力する目標値入力部と、
前記制御点の目標値を整形する目標値整形部と、
前記目標値整形部により整形された制御点の目標値と前記制御点位置算出部により算出された制御点の現在値との差分を算出し、前記ヤコビ行列を用いて逆運動学計算を行い、前記制御点における目標速度を算出する目標速度算出部と、
前記目標速度を監視し、算出された前記目標速度が閾値を超えている場合に前記目標速度が前記閾値以下となるように制限する速度監視部と、
前記算出された目標速度が前記閾値を超えている場合に前記制御点の目標値を修正する速度抑制部と、
前記速度抑制部によって前記ロボットの動作方向が制限されているときに、ユーザに対して制限された動作方向を提示する速度制限提示部と、
前記速度監視部から出力された目標速度と前記関節角度とに基づいて指令値を算出し、指令値に基づいて前記アクチュエータを駆動する第1駆動部と、
を備え、
前記目標値整形部は、前記速度抑制部によって前記制御点の目標値が修正された場合に、この修正された目標値を整形することを特徴とするロボット制御装置。
An actuator for driving a joint axis of a robot equipped with an arm-type treatment table for each control cycle;
A joint angle detector for detecting an angle of the joint axis;
A control point position calculation unit that calculates position coordinates of the control point of the robot based on the joint angle and the link parameter;
A Jacobian matrix calculating unit that calculates a Jacobian matrix between a joint coordinate system and a work coordinate system in each joint based on the detected joint angle and the link parameter;
A target value input unit for inputting a target position of the control point and a target value of the control point;
A target value shaping unit for shaping the target value of the control point;
Calculate the difference between the target value of the control point shaped by the target value shaping unit and the current value of the control point calculated by the control point position calculation unit, perform inverse kinematics calculation using the Jacobian matrix, A target speed calculator for calculating a target speed at the control point;
A speed monitor that monitors the target speed and limits the target speed to be equal to or lower than the threshold when the calculated target speed exceeds a threshold;
A speed suppression unit that corrects a target value of the control point when the calculated target speed exceeds the threshold;
A speed limit presenting unit that presents a restricted motion direction to the user when the motion direction of the robot is restricted by the speed suppression unit;
A first drive unit that calculates a command value based on the target speed output from the speed monitoring unit and the joint angle, and drives the actuator based on the command value;
With
The target value shaping unit, when the target value of the control point is corrected by the speed suppression unit, shapes the corrected target value.
前記ロボットの制御点の動作方向を指示する動作方向指定部と、
指示された前記動作方向に基づいて、前記制御点における前記制御周期毎の先端速度目標値を算出する先端速度目標値算出部と、
算出された前記先端速度目標値と前記ヤコビ行列を用いて逆運動学計算を行い、前記関節軸の速度目標値を算出する関節速度目標値算出部と、
前記動作方向の履歴や操作時間に基づいて軌道パラメータを変更する入力信号評価部と、
検出された前記関節角度と、前記リンクパラメータと、前記駆動部の指令値とに基づいて、前記ロボットに搭載されている患者の荷重を推定し、リンクの慣性モーメントを算出する慣性モーメント算出部と、
前記慣性モーメントや前記入力信号評価部の評価値に基づいて、フィードフォワード指令値を算出するフィードフォワード指令値算出部と、
算出された前記速度目標値と、前記フィードフォワード指令値に基づいて、前記アクチュエータを駆動する第2駆動部とを
を備えていることを特徴とする請求項1記載のロボット制御装置。
An operation direction designating unit for instructing an operation direction of a control point of the robot;
A tip speed target value calculation unit that calculates a tip speed target value for each control period at the control point based on the instructed movement direction;
A joint velocity target value calculation unit for performing inverse kinematics calculation using the calculated tip velocity target value and the Jacobian matrix, and calculating a velocity target value of the joint axis;
An input signal evaluator that changes the trajectory parameters based on the history and operation time of the movement direction;
Based on the detected joint angle, the link parameter, and a command value of the drive unit, an inertia moment calculation unit that estimates a patient load mounted on the robot and calculates a moment of inertia of the link; ,
A feedforward command value calculation unit that calculates a feedforward command value based on the inertia moment and the evaluation value of the input signal evaluation unit;
The robot control apparatus according to claim 1, further comprising: a second drive unit that drives the actuator based on the calculated speed target value and the feedforward command value.
算出された前記速度目標値と、前記フィードフォワード指令値に基づいて駆動トルク指令値を算出する制御指令算出部を更に備え、
前記慣性モーメント算出部は、検出された前記関節角度と、前記リンクパラメータと、前記駆動トルク指令値とに基づいて、前記ロボットに搭載されている患者の荷重を推定し、リンクの慣性モーメントを算出し、
前記第2駆動部は、前記駆動トルク指令値に基づいて、前記アクチュエータを駆動することを特徴とする請求項2記載のロボット制御装置。
A control command calculator that calculates a drive torque command value based on the calculated speed target value and the feedforward command value;
The inertia moment calculation unit estimates a load of a patient mounted on the robot based on the detected joint angle, the link parameter, and the drive torque command value, and calculates a moment of inertia of the link. And
The robot control apparatus according to claim 2, wherein the second drive unit drives the actuator based on the drive torque command value.
前記入力信号評価部は、入力信号の変化パターンを記録し、設計した近似関数に含まれる応答パラメータをユーザの使用状況に応じて変化させることを特徴とする請求項2または3記載のロボット制御装置。   4. The robot control apparatus according to claim 2, wherein the input signal evaluation unit records a change pattern of the input signal, and changes a response parameter included in the designed approximate function according to a use situation of the user. . 前記ロボットは、前記目標値入力部において設定される前記制御点の目標値の自由度よりも冗長なアクチュエータを有し、
前記ロボットが可動限界や特異点に近づいた場合に目標速度が算出されるように、前記関節の可動範囲、前記ヤコビ行列の特異点近傍度を評価関数として算出される冗長性パラメータを算出する冗長性評価部を前記ロボット制御装置は更に備え、
前記目標速度算出部は、前記冗長性パラメータに基づいて、冗長自由度の逆運動学計算を行うことにより前記目標速度を算出することを特徴とする請求項1乃至4のいずれかに記載のロボット制御装置。
The robot has an actuator more redundant than the degree of freedom of the target value of the control point set in the target value input unit,
Redundancy for calculating a redundancy parameter calculated by using the movable range of the joint and the degree of proximity of the singular point of the Jacobian matrix as an evaluation function so that the target speed is calculated when the robot approaches the limit of movement or the singular point The robot controller further includes a sex evaluation unit,
5. The robot according to claim 1, wherein the target speed calculation unit calculates the target speed by performing an inverse kinematic calculation of a redundancy degree of freedom based on the redundancy parameter. Control device.
JP2012153926A 2012-07-09 2012-07-09 Robot controller Active JP5774552B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012153926A JP5774552B2 (en) 2012-07-09 2012-07-09 Robot controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012153926A JP5774552B2 (en) 2012-07-09 2012-07-09 Robot controller

Publications (2)

Publication Number Publication Date
JP2014014901A true JP2014014901A (en) 2014-01-30
JP5774552B2 JP5774552B2 (en) 2015-09-09

Family

ID=50110058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012153926A Active JP5774552B2 (en) 2012-07-09 2012-07-09 Robot controller

Country Status (1)

Country Link
JP (1) JP5774552B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016226229A1 (en) * 2016-12-27 2018-06-28 Siemens Healthcare Gmbh Patient table
JP2018192579A (en) * 2017-05-18 2018-12-06 ファナック株式会社 Robot system
JP2019094176A (en) * 2017-11-22 2019-06-20 古河機械金属株式会社 Control device, control method, and pogram
CN111103875A (en) * 2018-10-26 2020-05-05 科沃斯机器人股份有限公司 Method, apparatus and storage medium for avoiding
JP2020131314A (en) * 2019-02-14 2020-08-31 株式会社デンソーウェーブ Control device of robot and control method of robot

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61273611A (en) * 1985-05-30 1986-12-03 Matsushita Electric Ind Co Ltd Industrial robot
JPH06222817A (en) * 1993-01-27 1994-08-12 Komatsu Ltd Robot weaving controller
JPH06312392A (en) * 1993-04-28 1994-11-08 Yaskawa Electric Corp Control device for multi-joint robot
JPH07200034A (en) * 1993-12-30 1995-08-04 Nippei Toyama Corp Device and method for controlling acceleration/ deceleration for working head
JPH08190433A (en) * 1995-01-05 1996-07-23 Fanuc Ltd Load weight estimating method
JP2007136590A (en) * 2005-11-16 2007-06-07 Kawasaki Heavy Ind Ltd Control device and control method for redundant robot having redundant joint
JP2008220553A (en) * 2007-03-12 2008-09-25 Hitachi Ltd Radiation therapy system
JP2009166164A (en) * 2008-01-15 2009-07-30 Kobe Steel Ltd Industrial robot
JP2010102409A (en) * 2008-10-21 2010-05-06 Toshiba Corp Robot control device
JP2012501866A (en) * 2008-09-12 2012-01-26 アキュレイ インコーポレイテッド 7 or more degrees of freedom robot manipulator with at least one redundant joint

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61273611A (en) * 1985-05-30 1986-12-03 Matsushita Electric Ind Co Ltd Industrial robot
JPH06222817A (en) * 1993-01-27 1994-08-12 Komatsu Ltd Robot weaving controller
JPH06312392A (en) * 1993-04-28 1994-11-08 Yaskawa Electric Corp Control device for multi-joint robot
JPH07200034A (en) * 1993-12-30 1995-08-04 Nippei Toyama Corp Device and method for controlling acceleration/ deceleration for working head
JPH08190433A (en) * 1995-01-05 1996-07-23 Fanuc Ltd Load weight estimating method
JP2007136590A (en) * 2005-11-16 2007-06-07 Kawasaki Heavy Ind Ltd Control device and control method for redundant robot having redundant joint
JP2008220553A (en) * 2007-03-12 2008-09-25 Hitachi Ltd Radiation therapy system
JP2009166164A (en) * 2008-01-15 2009-07-30 Kobe Steel Ltd Industrial robot
JP2012501866A (en) * 2008-09-12 2012-01-26 アキュレイ インコーポレイテッド 7 or more degrees of freedom robot manipulator with at least one redundant joint
JP2010102409A (en) * 2008-10-21 2010-05-06 Toshiba Corp Robot control device

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016226229A1 (en) * 2016-12-27 2018-06-28 Siemens Healthcare Gmbh Patient table
JP2018192579A (en) * 2017-05-18 2018-12-06 ファナック株式会社 Robot system
CN108942880A (en) * 2017-05-18 2018-12-07 发那科株式会社 Robot system
US10525592B2 (en) 2017-05-18 2020-01-07 Fanuc Corporation Robot system
JP2019094176A (en) * 2017-11-22 2019-06-20 古河機械金属株式会社 Control device, control method, and pogram
JP7082476B2 (en) 2017-11-22 2022-06-08 古河機械金属株式会社 Controls, control methods and programs
CN111103875A (en) * 2018-10-26 2020-05-05 科沃斯机器人股份有限公司 Method, apparatus and storage medium for avoiding
JP2020131314A (en) * 2019-02-14 2020-08-31 株式会社デンソーウェーブ Control device of robot and control method of robot
US11472027B2 (en) 2019-02-14 2022-10-18 Denso Wave Incorporated Apparatus and method for controlling robot
JP7238450B2 (en) 2019-02-14 2023-03-14 株式会社デンソーウェーブ Robot controller and robot control method

Also Published As

Publication number Publication date
JP5774552B2 (en) 2015-09-09

Similar Documents

Publication Publication Date Title
US9616564B2 (en) Event-based redundancy angle configuration for articulated-arm robots
JP5191738B2 (en) Manipulator control method and control system
US11548153B2 (en) Robot comprising safety system ensuring stopping time and distance
JP5774552B2 (en) Robot controller
US9421687B2 (en) Robot control apparatus and robot control method
JP6238628B2 (en) Robot device, robot control method, robot control program, and part manufacturing method using robot device
US9481088B2 (en) Robot control device, robot, and robot system
JP7068059B2 (en) Remote control method and remote control system
JP5916583B2 (en) Weaving control device for articulated robot
WO2015137167A1 (en) Robot simulator and method, control device, and robot system
US11478919B2 (en) Robot system and method of controlling the robot system
JP2014018912A5 (en) Robot controller
JP2023083530A (en) Robot control method
WO2018105045A1 (en) Medical system and method of controlling same
JP2016028842A (en) Actuator system
KR101307782B1 (en) Direct teaching and playback method of robot and robot control system
JP5770067B2 (en) Robot arm
JP2013166224A (en) Robot control apparatus, robot, and program thereof
JP6021478B2 (en) Robot control apparatus and robot control method
JP2012051043A (en) Robot system or robot control device
US11878423B2 (en) Robot system
JP5904445B2 (en) Robot controller
JP2021121451A (en) Teaching method and robot system
WO2015072479A1 (en) Training apparatus
CA2895450A1 (en) Control system and method for controlling the movement of an aerial apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150701

R151 Written notification of patent or utility model registration

Ref document number: 5774552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151