JP2022079273A - Robot control device and robot control method - Google Patents

Robot control device and robot control method Download PDF

Info

Publication number
JP2022079273A
JP2022079273A JP2020190366A JP2020190366A JP2022079273A JP 2022079273 A JP2022079273 A JP 2022079273A JP 2020190366 A JP2020190366 A JP 2020190366A JP 2020190366 A JP2020190366 A JP 2020190366A JP 2022079273 A JP2022079273 A JP 2022079273A
Authority
JP
Japan
Prior art keywords
command value
unit
joint
control
robot
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.)
Withdrawn
Application number
JP2020190366A
Other languages
Japanese (ja)
Inventor
鉄也 田原
Tetsuya Tawara
広大 杉本
Kodai Sugimoto
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.)
Azbil Corp
Original Assignee
Azbil 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 Azbil Corp filed Critical Azbil Corp
Priority to JP2020190366A priority Critical patent/JP2022079273A/en
Priority to CN202111325613.9A priority patent/CN114505849A/en
Publication of JP2022079273A publication Critical patent/JP2022079273A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control

Abstract

To enable performance in force control to improve more in comparison with a conventional configuration.SOLUTION: A robot control device comprises: a main control part 11 that calculates a command value for controlling force and a command value for torque for each joint that a robot 2 has, on the basis of a command value for force of a robot 2 and a current value for the force, and calculates a control command value for each joint on the basis of the command value for controlling force; a joint control part 15, provided for each joint that the robot 2 has, which calculates a command value for controlling torque in the joint on the basis of the current value of torque in the corresponding joint and the command value for the torque calculated by the main control part 11, and calculates a command value for a motor 21 provided in the joint on the basis of the command value for controlling torque and the command value for controlling calculated by the main control part; and a switching part 119 that switches the calculation of the command value for controlling force performed by the main control part 11 and the calculation of the command value for controlling torque performed by the joint control part 15 valid or invalid.SELECTED DRAWING: Figure 1

Description

この発明は、ロボットの位置姿勢と力を同時に制御可能なロボット制御装置及びロボット制御方法に関する。 The present invention relates to a robot control device and a robot control method capable of simultaneously controlling the position, posture and force of a robot.

垂直多関節ロボット等のロボット(ロボットアーム)では、位置姿勢と力を同時(並列)に制御対象とするロボット制御装置が用いられている(例えば特許文献1参照)。なお、位置姿勢は、ロボットの位置及び姿勢のうちの少なくとも一方を表す。図15~図17に、ロボット制御装置1bの一例を示す。 In robots (robot arms) such as vertical articulated robots, robot control devices that simultaneously (parallel) control the position and posture and force are used (see, for example, Patent Document 1). The position / posture represents at least one of the position and the posture of the robot. 15 to 17 show an example of the robot control device 1b.

図15に示すロボット制御装置1bは、メイン制御部(上位コントローラ)11b、及び複数の関節制御部(下位コントローラ)15bを備えている。関節制御部15bは、ロボット2が有する関節毎に設けられている。なお、メイン制御部11bと各関節制御部15bとの間は通信線により接続されている。 The robot control device 1b shown in FIG. 15 includes a main control unit (upper controller) 11b and a plurality of joint control units (lower controller) 15b. The joint control unit 15b is provided for each joint of the robot 2. The main control unit 11b and each joint control unit 15b are connected by a communication line.

また、図15に示すように、ロボット2は、関節毎に、モータ21及びセンサ22(トルクセンサ23及びエンコーダ24)を有している。モータ21及びセンサ22はそれぞれ、対応する関節制御部15bに対して電力線等により接続されている。トルクセンサ23は、対応する関節のトルクの現在値を検出する。エンコーダ24は、対応する関節の角度の現在値を検出する。なお図16では、モータ21、トルクセンサ23及びエンコーダ24を一組のみ示している。 Further, as shown in FIG. 15, the robot 2 has a motor 21 and a sensor 22 (torque sensor 23 and encoder 24) for each joint. The motor 21 and the sensor 22 are each connected to the corresponding joint control unit 15b by a power line or the like. The torque sensor 23 detects the current value of the torque of the corresponding joint. The encoder 24 detects the current value of the corresponding joint angle. Note that FIG. 16 shows only one set of the motor 21, the torque sensor 23, and the encoder 24.

メイン制御部11bは、各関節制御部15bに指令値を出力することで、ロボット2全体を制御する。具体的には、メイン制御部11bは、力の指令値及び位置姿勢の指令値並びにロボット2が有する関節毎のトルクの現在値及び角度の現在値に基づいて、当該関節毎の角速度の指令値を演算する。メイン制御部11bは、図16及び図17に示すように、力演算部111b、力制御部112b、位置姿勢演算部113b、位置姿勢制御部114b、指令値合成部115b及び指令値変換部116bを備えている。 The main control unit 11b controls the entire robot 2 by outputting a command value to each joint control unit 15b. Specifically, the main control unit 11b has a force command value, a position / posture command value, and a command value of the angular velocity for each joint based on the current value of the torque and the current value of the angle of each joint of the robot 2. Is calculated. As shown in FIGS. 16 and 17, the main control unit 11b includes a force calculation unit 111b, a force control unit 112b, a position / attitude calculation unit 113b, a position / attitude control unit 114b, a command value synthesis unit 115b, and a command value conversion unit 116b. I have.

力演算部111bは、ロボット2が有する関節毎のトルクの現在値に基づいて、ロボット2の力の現在値を演算する。ロボット2が有する関節毎のトルクは関節座標系で表されており、この力演算部111bでは、係数乗算部1111bで関節毎のトルクを並べたベクトルにヤコビ行列の転置の逆行列を乗算して、関節毎のトルクを直交座標系で表された力に変換する。図17において、τはトルクの現在値を表し、Jはヤコビ行列を表し、Fは力の現在値を表している。 The force calculation unit 111b calculates the current value of the force of the robot 2 based on the current value of the torque of each joint of the robot 2. The torque for each joint of the robot 2 is represented by the joint coordinate system, and in this force calculation unit 111b, the coefficient multiplication unit 1111b multiplies the vector in which the torque for each joint is arranged by the inverse matrix of the inversion of the Jacobi matrix. , Converts the torque for each joint into the force expressed in the Cartesian coordinate system. In FIG. 17, τ represents the current value of torque, J represents the Jacobian determinant, and F represents the current value of force.

力制御部112bは、力の指令値及び力演算部111bにより演算された力の現在値に基づいて、力制御の指令値を演算する。この力制御部112bでは、偏差演算器1121bで力の指令値と力の現在値の間の偏差を求め、係数乗算部1122bで偏差演算器1121bによる演算結果の偏差に対してゲインを乗算することで、力制御の指令値を得る。図17において、Frは力の指令値を表し、Gはゲインを表している。 The force control unit 112b calculates the command value for force control based on the command value of the force and the current value of the force calculated by the force calculation unit 111b. In the force control unit 112b, the deviation calculator 1121b obtains the deviation between the command value of the force and the current value of the force, and the coefficient multiplication unit 1122b multiplies the deviation of the calculation result by the deviation calculator 1121b by the gain. Then, the command value of force control is obtained. In FIG. 17, Fr represents the command value of the force, and GF represents the gain.

位置姿勢演算部113bは、ロボット2が有する関節毎の角度の現在値に基づいて、ロボット2の位置姿勢の現在値を演算する。ロボット2が有する関節毎の角度の現在値は関節座標系で表されており、位置姿勢演算部113bは、関節毎の角度の現在値を直交座標系で表された位置姿勢の現在値に変換する。図17において、θは角度の現在値を表し、Xは位置姿勢の現在値を表している。 The position / posture calculation unit 113b calculates the current value of the position / posture of the robot 2 based on the current value of the angle of each joint of the robot 2. The current value of the angle for each joint of the robot 2 is represented by the joint coordinate system, and the position / posture calculation unit 113b converts the current value of the angle for each joint into the current value of the position / posture represented by the orthogonal coordinate system. do. In FIG. 17, θ represents the current value of the angle, and X represents the current value of the position / posture.

位置姿勢制御部114bは、位置姿勢の指令値及び位置姿勢演算部113bにより演算された位置姿勢の現在値に基づいて、位置姿勢制御の指令値を演算する。この位置姿勢制御部114bでは、偏差演算器1141bで位置姿勢の指令値と位置姿勢の現在値の間の偏差を求め、係数乗算部1142bで偏差演算器1141bによる演算結果の偏差に対してゲインを乗算することで、位置姿勢制御の指令値を得る。図17において、Xrは位置姿勢の指令値を表し、Gはゲインを表している。 The position / posture control unit 114b calculates the position / posture control command value based on the position / posture command value and the position / posture current value calculated by the position / posture calculation unit 113b. In the position / posture control unit 114b, the deviation calculator 1141b obtains the deviation between the command value of the position / posture and the current value of the position / posture, and the coefficient multiplication unit 1142b obtains a gain for the deviation of the calculation result by the deviation calculator 1141b. By multiplying, the command value of position / attitude control is obtained. In FIG. 17, Xr represents a command value of position and attitude, and G Z represents a gain.

指令値合成部115bは、力制御部112bにより演算された力制御の指令値及び位置姿勢制御部114bにより演算された位置姿勢制御の指令値を合成する。この指令値合成部115bでは、加算器1151bで力制御の指令値と位置姿勢制御の指令値とを加算する。 The command value synthesis unit 115b synthesizes the force control command value calculated by the force control unit 112b and the position / attitude control command value calculated by the position / attitude control unit 114b. In the command value synthesizing unit 115b, the adder 1151b adds the command value for force control and the command value for position / attitude control.

指令値変換部116bは、指令値合成部115bによる合成結果をロボット2が有する関節毎の角速度の指令値に変換する。この指令値変換部116bでは、係数乗算部1161bで上記合成結果に対してヤコビ行列の逆行列を乗算する。すなわち、指令値変換部116bは、直交座標系で表された指令値を関節座標系で表された指令値に変換する。図17において、θ(ドット)rは角速度の指令値を表している。 The command value conversion unit 116b converts the synthesis result of the command value synthesis unit 115b into a command value of the angular velocity of each joint of the robot 2. In the command value conversion unit 116b, the coefficient multiplication unit 1161b multiplies the synthesis result by the inverse matrix of the Jacobian determinant. That is, the command value conversion unit 116b converts the command value represented by the orthogonal coordinate system into the command value represented by the joint coordinate system. In FIG. 17, θ (dot) r represents the command value of the angular velocity.

関節制御部15bは、メイン制御部11bからの指令に応じ、対応する関節に設けられたモータ21を制御する。関節制御部15bは、図16及び図17に示すように、トルク取得部151b及び関節角制御部152bを備えている。 The joint control unit 15b controls the motor 21 provided in the corresponding joint in response to a command from the main control unit 11b. As shown in FIGS. 16 and 17, the joint control unit 15b includes a torque acquisition unit 151b and a joint angle control unit 152b.

トルク取得部151bは、対応する関節でのトルクの現在値を取得する。このトルク取得部151bにより取得されたトルクの現在値を示すデータは、メイン制御部11b(力演算部111b)に出力される。 The torque acquisition unit 151b acquires the current value of the torque at the corresponding joint. The data indicating the current value of the torque acquired by the torque acquisition unit 151b is output to the main control unit 11b (force calculation unit 111b).

関節角制御部152bは、メイン制御部11bにより演算された角速度の指令値及びロボット2が有する関節毎の角度の現在値に基づいて、対応する関節に設けられたモータ21に対する指令値を演算する。この関節角制御部152bでは、速度変換部1521bで角度の現在値を角速度の現在値に変換し、減算器1523bで角速度の指令値から速度変換部1521bで得られた角速度の現在値を減算し、PI制御部1524bで減算器1523bによる減算結果に基づいてPI制御を行うことで、モータ21に対する指令値を得る。なお、減算器1523b及びPI制御部1524bは速度制御部1522bを構成している。 The joint angle control unit 152b calculates a command value for the motor 21 provided in the corresponding joint based on the command value of the angular velocity calculated by the main control unit 11b and the current value of the angle for each joint of the robot 2. .. In the joint angle control unit 152b, the speed conversion unit 1521b converts the current value of the angle into the current value of the angular speed, and the subtractor 1523b subtracts the current value of the angular speed obtained by the speed conversion unit 1521b from the command value of the angular speed. , The PI control unit 1524b performs PI control based on the subtraction result by the subtractor 1523b to obtain a command value for the motor 21. The subtractor 1523b and the PI control unit 1524b constitute a speed control unit 1522b.

このように、図15~図17に示すロボット制御装置1bでは、複数の関節を連携して操作する必要があり、メイン制御部11bで、多関節の自由度(例えば6自由度)に対して位置姿勢と力を同時に制御演算した結果を合成し、当該合成結果を各軸の関節制御部15bへの信号に変換してから出力する。すなわち、このロボット制御装置1bでは、メイン制御部11bでコンプライアンス制御の主要な演算を実行する。そのため、このロボット制御装置1bでは、調整すべきパラメータを合理的に統合できる等のメリットがある。 As described above, in the robot control device 1b shown in FIGS. 15 to 17, it is necessary to operate a plurality of joints in cooperation with each other, and the main control unit 11b has a degree of freedom of multiple joints (for example, 6 degrees of freedom). The result of the control calculation of the position / posture and the force at the same time is synthesized, and the combined result is converted into a signal to the joint control unit 15b of each axis and then output. That is, in the robot control device 1b, the main control unit 11b executes the main calculation of the compliance control. Therefore, this robot control device 1b has an advantage that parameters to be adjusted can be rationally integrated.

特開2016-168650号公報Japanese Unexamined Patent Publication No. 2016-168650

一般に、産業用ロボット等のロボットでは、力制御によって実現が求められる対象として精密な研磨の倣い動作等があり、整定動作又は追従動作のようなダイナミクスの性能向上が常に求められている。
一方、従来のロボット制御装置では、メイン制御部でフィードバック系を構成している。すなわち、このロボット制御装置では、ロボットから物理的にも通信的にも距離のある構成要素でフィードバック制御演算を行うことになる。よって、トルクセンサによるトルクの検出からモータへの指令値の入力までの遅延が長くなる。その結果、このロボット制御装置では、不可避的にむだ時間が入り込む余地が多くなり、安定性を維持できるハイゲイン化を抑制する要因になる。また、むだ時間自体も、リード補償等でキャンセルできる要素ではないため、応答時間への悪影響は避けられない。
このように、従来のロボット制御装置では、力制御の性能(特に速応性)の向上が難しく、更なる改善が求められている。
In general, in robots such as industrial robots, precision polishing imitation motion and the like are required to be realized by force control, and improvement of dynamics performance such as settling motion or follow-up motion is constantly required.
On the other hand, in the conventional robot control device, the feedback system is configured in the main control unit. That is, in this robot control device, the feedback control calculation is performed by a component having a physical and communication distance from the robot. Therefore, the delay from the detection of torque by the torque sensor to the input of the command value to the motor becomes long. As a result, in this robot control device, there is inevitably more room for wasted time, which is a factor that suppresses high gain that can maintain stability. Moreover, since the waste time itself is not an element that can be canceled by lead compensation or the like, an adverse effect on the response time is unavoidable.
As described above, it is difficult to improve the force control performance (particularly quick response) in the conventional robot control device, and further improvement is required.

この発明は、上記のような課題を解決するためになされたもので、従来構成に対して力制御の性能を向上可能となるロボット制御装置を提供することを目的としている。 The present invention has been made to solve the above-mentioned problems, and an object of the present invention is to provide a robot control device capable of improving the force control performance with respect to a conventional configuration.

この発明に係るロボット制御装置は、ロボットの力の指令値及び力の現在値に基づいて力制御の指令値及び当該ロボットが有する関節毎のトルクの指令値を演算し、当該力制御の指令値に基づいて当該関節毎の制御指令値を演算するメイン制御部と、ロボットが有する関節毎に設けられ、対応する関節でのトルクの現在値及びメイン制御部により演算されたトルクの指令値に基づいて当該関節でのトルク制御の指令値を演算し、当該トルク制御の指令値及びメイン制御部により演算された制御指令値に基づいて当該関節に設けられたモータに対する指令値を演算する関節制御部と、メイン制御部による力制御の指令値の演算及び関節制御部によるトルク制御の指令値の演算を有効又は無効に切替える切替部とを備えたことを特徴とする。 The robot control device according to the present invention calculates the command value of force control and the command value of the torque of each joint of the robot based on the command value of the force of the robot and the current value of the force, and the command value of the force control. Based on the main control unit that calculates the control command value for each joint based on the above, the current value of torque at the corresponding joint provided for each joint of the robot, and the command value of torque calculated by the main control unit. The joint control unit calculates the command value of the torque control in the joint, and calculates the command value for the motor provided in the joint based on the command value of the torque control and the control command value calculated by the main control unit. It is characterized by having a switching unit for switching between valid or invalid calculation of a command value for force control by the main control unit and calculation of a command value for torque control by the joint control unit.

この発明によれば、上記のように構成したので、従来構成に対して力制御の性能を向上可能となる。 According to the present invention, since the configuration is as described above, the force control performance can be improved as compared with the conventional configuration.

実施の形態1に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control apparatus which concerns on Embodiment 1. FIG. 実施の形態1に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control apparatus which concerns on Embodiment 1. FIG. 実施の形態1に係るロボット制御装置の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the robot control apparatus which concerns on Embodiment 1. 実施の形態1における切替部の動作例を説明する図である。It is a figure explaining the operation example of the switching part in Embodiment 1. FIG. 実施の形態1におけるメイン制御部の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the main control part in Embodiment 1. 実施の形態1における関節制御部の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the joint control part in Embodiment 1. 実施の形態2に係るロボット制御装置の構成例を示す図である。It is a figure which shows the structural example of the robot control apparatus which concerns on Embodiment 2. 実施の形態2に係るロボット制御装置の構成例を示す図である。It is a figure which shows the structural example of the robot control apparatus which concerns on Embodiment 2. 実施の形態3に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control apparatus which concerns on Embodiment 3. FIG. 実施の形態3に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control apparatus which concerns on Embodiment 3. FIG. 実施の形態3における切替部の動作例を説明する図である。It is a figure explaining the operation example of the switching part in Embodiment 3. FIG. 実施の形態4に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control apparatus which concerns on Embodiment 4. 実施の形態5に係るロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the robot control apparatus which concerns on Embodiment 5. 実施の形態5における学習部で用いられる学習データの一例を示す図である。It is a figure which shows an example of the learning data used in the learning part in Embodiment 5. 従来のロボット制御装置を含むロボットシステムの構成例を示す図である。It is a figure which shows the configuration example of the robot system including the conventional robot control device. 従来のロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the conventional robot control device. 従来のロボット制御装置の構成例を示す図である。It is a figure which shows the configuration example of the conventional robot control device.

以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1,2は実施の形態1に係るロボット制御装置1の構成例を示す図である。なお、ロボット制御装置1とロボット2との関係は、図15と同様であり、その説明を省略する。
ロボット制御装置1は、ロボット2の位置姿勢と力を同時(並列)に制御可能である。ロボット制御装置1は、図1,2に示すように、メイン制御部(上位コントローラ)11、及び複数の関節制御部(下位コントローラ)15を備えている。関節制御部15は、ロボット2が有する関節毎に設けられている。なお、メイン制御部11と各関節制御部15との間は通信線により接続されている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment 1.
1 and 2 are diagrams showing a configuration example of the robot control device 1 according to the first embodiment. The relationship between the robot control device 1 and the robot 2 is the same as that in FIG. 15, and the description thereof will be omitted.
The robot control device 1 can control the position / posture and the force of the robot 2 at the same time (parallel). As shown in FIGS. 1 and 2, the robot control device 1 includes a main control unit (upper controller) 11 and a plurality of joint control units (lower controller) 15. The joint control unit 15 is provided for each joint of the robot 2. The main control unit 11 and each joint control unit 15 are connected by a communication line.

メイン制御部11は、各関節制御部15に指令値を出力することで、ロボット2全体を制御する。具体的には、メイン制御部11は、ロボット2の力の指令値及び位置姿勢の指令値並びにロボット2が有する関節毎の角度の現在値及びトルクの現在値に基づいて、当該関節毎のトルクの指令値及び制御指令値を演算する。図1,2では、メイン制御部11が演算する制御指令値は角速度の指令値である。メイン制御部11は、図1,2に示すように、外乱トルク推定部111、力演算部112、トルク指令値変換部113、力制御部114、位置姿勢演算部115、位置姿勢制御部116、指令値合成部(メイン側指令値合成部)117、指令値変換部118及び切替部119を備えている。なお、メイン制御部11は、システムLSI(Large Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。 The main control unit 11 controls the entire robot 2 by outputting a command value to each joint control unit 15. Specifically, the main control unit 11 determines the torque for each joint based on the command value of the force of the robot 2, the command value of the position and posture, the current value of the angle of each joint and the current value of the torque of the robot 2. The command value and control command value of are calculated. In FIGS. 1 and 2, the control command value calculated by the main control unit 11 is the command value of the angular velocity. As shown in FIGS. 1 and 2, the main control unit 11 includes a disturbance torque estimation unit 111, a force calculation unit 112, a torque command value conversion unit 113, a force control unit 114, a position / attitude calculation unit 115, and a position / attitude control unit 116. It includes a command value synthesis unit (main side command value synthesis unit) 117, a command value conversion unit 118, and a switching unit 119. The main control unit 11 is realized by a processing circuit such as a system LSI (Large Scale Integration), a CPU (Central Processing Unit) that executes a program stored in a memory or the like, or the like.

また、位置姿勢演算部115、位置姿勢制御部116及び指令値合成部117は、ロボット制御装置1が位置姿勢と力の双方を制御する場合に必要であり、ロボット制御装置1が力だけを制御する場合は不要である。
また、外乱トルク推定部111はロボット2の構成によっては不要である。
Further, the position / attitude calculation unit 115, the position / attitude control unit 116, and the command value synthesis unit 117 are necessary when the robot control device 1 controls both the position / attitude and the force, and the robot control device 1 controls only the force. It is not necessary if you do.
Further, the disturbance torque estimation unit 111 is unnecessary depending on the configuration of the robot 2.

外乱トルク推定部111は、ロボット2が有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの現在値に含まれる外乱トルク(外乱成分)を推定する。一般的な垂直多関節ロボットでは、各関節で計測されるトルクには、ロボットアームにかかる重力によるトルク(重力トルク)が含まれる。そのため、外乱トルク推定部111における外乱トルクの推定で最も重要なのは、この重力トルクの推定である。また、外乱トルク推定部111は、慣性力又は摩擦力等、重力以外の外乱トルクを推定して合算してもよい。なお、各関節に重力トルクがかからないロボット2では、外乱トルク推定部111は必要ではない。 The disturbance torque estimation unit 111 estimates the disturbance torque (disturbance component) included in the current value of the torque for each joint based on the current value of the angle for each joint of the robot 2. In a general vertical articulated robot, the torque measured at each joint includes the torque due to gravity applied to the robot arm (gravitational torque). Therefore, the most important factor in estimating the disturbance torque in the disturbance torque estimation unit 111 is the estimation of the gravity torque. Further, the disturbance torque estimation unit 111 may estimate and add up disturbance torques other than gravity, such as inertial force or frictional force. The disturbance torque estimation unit 111 is not required for the robot 2 in which the gravitational torque is not applied to each joint.

力演算部112は、ロボット2が有する関節毎のトルクの現在値をロボット2の力の現在値に変換する。力演算部112は、減算器1121及び係数乗算部1122を有している。 The force calculation unit 112 converts the current value of the torque of each joint of the robot 2 into the current value of the force of the robot 2. The force calculation unit 112 has a subtractor 1121 and a coefficient multiplication unit 1122.

減算器1121は、トルクの現在値から外乱トルク推定部111により推定された外乱トルクを減算する。図2において、τはトルクの現在値を表している。
係数乗算部1122は、減算器1121による減算結果にヤコビ行列の転置の逆行列を乗算する。図2において、Jはヤコビ行列を表している。
The subtractor 1121 subtracts the disturbance torque estimated by the disturbance torque estimation unit 111 from the current value of the torque. In FIG. 2, τ represents the current value of torque.
The coefficient multiplying unit 1122 multiplies the subtraction result by the subtractor 1121 by the inverse matrix of the transposition of the Jacobi matrix. In FIG. 2, J represents the Jacobian determinant.

トルクの現在値は重力トルクを含んでいるが、力の指令値は重力を含まない形で与えられるのが一般的である。そこで、力演算部112では、これに合わせるため、トルクの現在値から重力トルクを含む外乱トルクを減算する。また、トルクの現在値は関節座標系で表された値だが、力制御部114では直交座標系で表された力の現在値が必要なので、力演算部112によって変換する。 The current value of torque includes gravity torque, but the command value of force is generally given in a form that does not include gravity. Therefore, in order to match this, the force calculation unit 112 subtracts the disturbance torque including the gravitational torque from the current value of the torque. Further, the current value of the torque is a value represented by the joint coordinate system, but since the force control unit 114 needs the current value of the force represented by the orthogonal coordinate system, it is converted by the force calculation unit 112.

トルク指令値変換部113は、ロボット2の力の指令値を、ロボット2が有する関節毎のトルクの指令値に変換する。トルク指令値変換部113は、係数乗算部1131及び加算器1132を有している。 The torque command value conversion unit 113 converts the force command value of the robot 2 into the torque command value of each joint of the robot 2. The torque command value conversion unit 113 includes a coefficient multiplying unit 1131 and an adder 1132.

係数乗算部1131は、力の指令値に対してヤコビ行列の転置行列を乗算する。
加算器1132は、係数乗算部1131による乗算結果に外乱トルク推定部111により推定された外乱トルクを加算する。
The coefficient multiplying unit 1131 multiplies the command value of the force by the transposed matrix of the Jacobian determinant.
The adder 1132 adds the disturbance torque estimated by the disturbance torque estimation unit 111 to the multiplication result by the coefficient multiplication unit 1131.

力の指令値は直交座標系で表されており、トルク指令値変換部113は、力の指令値を関節座標系で表されたトルクの指令値に変換する。また、トルクの現在値は重力トルク等の外乱トルクを含んでいる。そこで、トルク指令値変換部113は、これと相殺させるため、トルクの指令値に外乱トルクを加算する。図2において、Frは力の指令値を表し、τrはトルクの指令値を表している。 The force command value is represented by the orthogonal coordinate system, and the torque command value conversion unit 113 converts the force command value into the torque command value represented by the joint coordinate system. Further, the current value of torque includes disturbance torque such as gravity torque. Therefore, the torque command value conversion unit 113 adds the disturbance torque to the command value of the torque in order to offset this. In FIG. 2, Fr represents a command value of force, and τr represents a command value of torque.

力制御部114は、従来構成と同様に、ロボット2の力の指令値及び力演算部112により演算された力の現在値に基づいて、速度の指令値(力制御の指令値)を演算する。力制御部114は、偏差演算器1141及び係数乗算部1142を有している。 The force control unit 114 calculates a speed command value (force control command value) based on the force command value of the robot 2 and the current value of the force calculated by the force calculation unit 112, as in the conventional configuration. .. The force control unit 114 has a deviation calculator 1141 and a coefficient multiplication unit 1142.

偏差演算器1141は、力の指令値と力の現在値との間の偏差を演算によって求める。この演算は、力の指令値から力の現在値を減算することで行われる。
係数乗算部1142は、偏差演算器1141による演算結果の偏差に対してゲインを乗算することで、速度の指令値を得る。図2において、Gはゲインを表している。
The deviation calculator 1141 calculates the deviation between the command value of the force and the current value of the force. This operation is performed by subtracting the current value of the force from the command value of the force.
The coefficient multiplying unit 1142 obtains a command value of the speed by multiplying the deviation of the calculation result by the deviation calculator 1141 by the gain. In FIG. 2, GF represents a gain.

位置姿勢演算部115は、ロボット2が有する関節毎の角度の現在値に基づいて、ロボット2の位置姿勢の現在値を演算する。ロボット2が有する関節毎の角度は関節座標系で表されており、位置姿勢演算部115は、関節毎の角度を直交座標系で表された位置姿勢に変換する。なおロボット2が有する関節毎の角度の現在値は、当該関節毎に設けられたエンコーダ24により検出される。図2において、θは角度の現在値を表し、Xは位置姿勢の現在値を表している。 The position / posture calculation unit 115 calculates the current value of the position / posture of the robot 2 based on the current value of the angle of each joint of the robot 2. The angle of each joint of the robot 2 is represented by the joint coordinate system, and the position / posture calculation unit 115 converts the angle of each joint into the position / posture represented by the orthogonal coordinate system. The current value of the angle of each joint of the robot 2 is detected by the encoder 24 provided for each joint. In FIG. 2, θ represents the current value of the angle, and X represents the current value of the position and orientation.

位置姿勢制御部116は、ロボット2の位置姿勢の指令値及び位置姿勢演算部115により演算された位置姿勢の現在値に基づいて、速度の指令値(位置姿勢制御の指令値)を演算する。位置姿勢制御部116は、偏差演算器1161及び係数乗算部1162を有している。 The position / posture control unit 116 calculates a speed command value (position / posture control command value) based on the position / posture command value of the robot 2 and the current position / posture value calculated by the position / posture calculation unit 115. The position / attitude control unit 116 has a deviation calculator 1161 and a coefficient multiplication unit 1162.

偏差演算器1161は、位置姿勢の指令値と位置姿勢の現在値との間の偏差を演算によって求める。
係数乗算部1162は、偏差演算器1161による演算結果の偏差に対してゲインを乗算することで、速度の指令値を得る。図2において、Xrは位置姿勢の指令値を表し、Gはゲインを表している。
The deviation calculator 1161 calculates the deviation between the command value of the position / posture and the current value of the position / posture.
The coefficient multiplying unit 1162 obtains a command value of the speed by multiplying the deviation of the calculation result by the deviation calculator 1161 by the gain. In FIG. 2, Xr represents a command value of position and attitude, and G Z represents a gain.

指令値合成部117は、力制御部114により演算された力制御の指令値である速度の指令値、及び、位置姿勢制御部116により演算された位置姿勢制御の指令値である速度の指令値を合成し、一つの速度の指令値にする。指令値合成部117は、加算器1171を有する。
加算器1171は、力制御部114により演算された速度の指令値と位置姿勢制御部116により演算された速度の指令値とを加算する。
The command value synthesis unit 117 has a speed command value which is a force control command value calculated by the force control unit 114 and a speed command value which is a position / attitude control command value calculated by the position / attitude control unit 116. Are combined to make one speed command value. The command value synthesizer 117 has an adder 1171.
The adder 1171 adds the command value of the speed calculated by the force control unit 114 and the command value of the speed calculated by the position / attitude control unit 116.

指令値変換部118は、指令値合成部117による合成結果をロボット2が有する関節毎の角速度の指令値に変換する。指令値変換部118は、係数乗算部1181を有している。
係数乗算部1181は、指令値合成部117による合成結果に対してヤコビ行列の逆行列を乗算する。すなわち、指令値変換部118は、直交座標系で表された指令値を関節座標系で表された指令値に変換する。図2において、θ(ドット)rは角速度の指令値を表している。
The command value conversion unit 118 converts the synthesis result of the command value synthesis unit 117 into a command value of the angular velocity of each joint of the robot 2. The command value conversion unit 118 has a coefficient multiplication unit 1181.
The coefficient multiplication unit 1181 multiplies the Jacobian determinant inverse matrix by the composition result by the command value composition unit 117. That is, the command value conversion unit 118 converts the command value represented by the orthogonal coordinate system into the command value represented by the joint coordinate system. In FIG. 2, θ (dot) r represents the command value of the angular velocity.

切替部119は、メイン制御部11の力制御部114を有効又は無効に切替え、また、関節制御部15のトルク制御部152を有効又は無効に切替える。切替部119による切替え結果は、それぞれメイン制御部11及び関節制御部15に通信等によって通知される。これにより、ロボット制御装置1は、力制御を従来構成のようにメイン制御部11で実行する動作、又は、力制御を関節制御部15で実行する動作に切替え可能となる。 The switching unit 119 switches the force control unit 114 of the main control unit 11 valid or invalid, and also switches the torque control unit 152 of the joint control unit 15 valid or invalid. The switching result by the switching unit 119 is notified to the main control unit 11 and the joint control unit 15, respectively, by communication or the like. As a result, the robot control device 1 can switch between an operation in which the force control is executed by the main control unit 11 as in the conventional configuration, or an operation in which the force control is executed by the joint control unit 15.

なお図1,2では、切替部119がメイン制御部11に設けられた場合を示した。しかしながら、これに限らず、切替部119は、メイン制御部11及び関節制御部15と通信可能であれば他の場所に設けられていてもよい。 Note that FIGS. 1 and 2 show a case where the switching unit 119 is provided in the main control unit 11. However, the present invention is not limited to this, and the switching unit 119 may be provided in another place as long as it can communicate with the main control unit 11 and the joint control unit 15.

関節制御部15は、メイン制御部11からの指令に応じ、対応する関節に設けられたモータ21を制御する。具体的には、関節制御部15は、対応する関節でのトルクの現在値及び角度の現在値並びにメイン制御部11により演算されたトルクの指令値及び制御指令値に基づいて、当該関節に設けられたモータ21に対する指令値を演算する。関節制御部15は、図1,2に示すように、トルク取得部151、トルク制御部152及びモータ制御部153を備えている。モータ制御部153は、関節角制御部154及び指令値合成部(関節側指令値合成部)155を有している。 The joint control unit 15 controls the motor 21 provided in the corresponding joint in response to a command from the main control unit 11. Specifically, the joint control unit 15 is provided in the joint based on the current value of the torque and the current value of the angle in the corresponding joint, and the command value and the control command value of the torque calculated by the main control unit 11. The command value for the motor 21 is calculated. As shown in FIGS. 1 and 2, the joint control unit 15 includes a torque acquisition unit 151, a torque control unit 152, and a motor control unit 153. The motor control unit 153 has a joint angle control unit 154 and a command value synthesis unit (joint side command value synthesis unit) 155.

トルク取得部151は、対応する関節でのトルクの現在値を取得する。ロボット2が有する関節毎のトルクの現在値は、当該関節毎に設けられたトルクセンサ23により検出される。 The torque acquisition unit 151 acquires the current value of the torque at the corresponding joint. The current value of the torque for each joint of the robot 2 is detected by the torque sensor 23 provided for each joint.

トルク制御部152は、トルク取得部151により取得されたトルクの現在値及びメイン制御部11により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算する。トルク制御部152は、減算器1521及びPID制御部1522を有している。 The torque control unit 152 calculates the command value for torque control based on the current value of the torque acquired by the torque acquisition unit 151 and the command value of the torque calculated by the main control unit 11. The torque control unit 152 has a subtractor 1521 and a PID control unit 1522.

減算器1521は、メイン制御部11により演算されたトルクの指令値のうちの対応する関節でのトルクの指令値から、トルク取得部151により取得されたトルクの現在値を減算する。
PID制御部1522は、減算器1521による減算結果に基づいてPID制御を行うことで、トルク制御の指令値を得る。
The subtractor 1521 subtracts the current value of the torque acquired by the torque acquisition unit 151 from the command value of the torque at the corresponding joint among the command values of the torque calculated by the main control unit 11.
The PID control unit 1522 obtains a command value for torque control by performing PID control based on the subtraction result by the subtractor 1521.

関節角制御部154は、対応する関節での角度の現在値及びメイン制御部11により演算された角速度の指令値に基づいて、角速度制御の指令値を演算する。関節角制御部154は、速度変換部1541及び速度制御部1542を有している。速度制御部1542は、減算器1543及びPI制御部1544を有している。 The joint angle control unit 154 calculates the command value for angular velocity control based on the current value of the angle at the corresponding joint and the command value of the angular velocity calculated by the main control unit 11. The joint angle control unit 154 has a speed conversion unit 1541 and a speed control unit 1542. The speed control unit 1542 has a subtractor 1543 and a PI control unit 1544.

速度変換部1541は、対応する関節での角度の現在値を角速度の現在値に変換する。 The velocity conversion unit 1541 converts the current value of the angle at the corresponding joint into the current value of the angular velocity.

減算器1543は、メイン制御部11により演算された角速度の指令値のうちの対応する関節での角速度の指令値から、速度変換部1541により得られた角速度の現在値を減算する。
PI制御部1544は、減算器1543による減算結果に基づいてPI制御を行うことで、角速度制御の指令値を得る。
The subtractor 1543 subtracts the current value of the angular velocity obtained by the speed conversion unit 1541 from the command value of the angular velocity at the corresponding joint among the command values of the angular velocity calculated by the main control unit 11.
The PI control unit 1544 obtains a command value for angular velocity control by performing PI control based on the subtraction result by the subtractor 1543.

指令値合成部155は、トルク制御部152により演算されたトルク制御の指令値及び関節角制御部154により演算された角速度制御の指令値を合成する。図1では、指令値合成部155は、加算器1551を有する。
加算器1551は、トルク制御部152により演算されたトルク制御の指令値と関節角制御部154により演算された角速度制御の指令値とを加算する。この指令値合成部155による合成結果である指令値(電流指令値)は、モータ21に出力される。
The command value synthesis unit 155 synthesizes the torque control command value calculated by the torque control unit 152 and the angular velocity control command value calculated by the joint angle control unit 154. In FIG. 1, the command value synthesizing unit 155 has an adder 1551.
The adder 1551 adds the torque control command value calculated by the torque control unit 152 and the angular velocity control command value calculated by the joint angle control unit 154. The command value (current command value), which is the result of synthesis by the command value synthesis unit 155, is output to the motor 21.

次に、図1,2に示す実施の形態1に係るロボット制御装置1の動作例について、図3を参照しながら説明する。
図1,2に示す実施の形態1に係るロボット制御装置1の動作例では、図3に示すように、まず、切替部119が、力制御部114を有効又は無効とし、トルク制御部152を有効又は無効とする(ステップST301)。切替部119による切替え結果は、それぞれメイン制御部11及び関節制御部15に通信等によって通知される。
Next, an operation example of the robot control device 1 according to the first embodiment shown in FIGS. 1 and 2 will be described with reference to FIG.
In the operation example of the robot control device 1 according to the first embodiment shown in FIGS. 1 and 2, first, as shown in FIG. 3, the switching unit 119 enables or disables the force control unit 114 and sets the torque control unit 152. It is enabled or invalidated (step ST301). The switching result by the switching unit 119 is notified to the main control unit 11 and the joint control unit 15, respectively, by communication or the like.

切替部119は、力制御部114を有効又は無効とし、トルク制御部152を有効又は無効とする処理を、例えば図4に示すように制御モードと関連付けて事前に定義し、それに従って実行する。例えば、ロボット2を動作させるプログラムで制御モード「1」を指定するコマンドが実行された場合、切替部119は、それ以降は力制御部114を有効にし、トルク制御部152を無効にする。又は、ロボット制御装置1の制御モードを示すデータを記憶する記憶装置をロボット制御装置1の内部又は外部に設け、切替部119は、定期的に制御モードを示すデータを記憶装置から読出し、そのデータに従って力制御部114及びトルク制御部152を有効又は無効に設定するようにしてもよい。 The switching unit 119 enables or disables the force control unit 114 and enables or disables the torque control unit 152, for example, as shown in FIG. 4, predefines in association with the control mode and executes the process accordingly. For example, when a command for designating the control mode "1" is executed in the program for operating the robot 2, the switching unit 119 enables the force control unit 114 and disables the torque control unit 152 thereafter. Alternatively, a storage device for storing data indicating the control mode of the robot control device 1 is provided inside or outside the robot control device 1, and the switching unit 119 periodically reads data indicating the control mode from the storage device and the data thereof. The force control unit 114 and the torque control unit 152 may be set to be valid or invalid according to the above.

次いで、メイン制御部11は、ロボット2の力の指令値及び位置姿勢の指令値並びにロボット2が有する関節毎の角度の現在値及びトルクの現在値に基づいて、当該関節毎のトルクの指令値及び角速度の指令値を演算する(ステップST302)。なお、切替部119によりトルク制御部152が無効とされた場合には、トルクの指令値は不要となるので、メイン制御部11はトルクの指令値を演算しなくてもよい。 Next, the main control unit 11 determines the command value of the torque for each joint based on the command value of the force of the robot 2, the command value of the position and posture, the current value of the angle of each joint and the current value of the torque of the robot 2. And the command value of the angular velocity is calculated (step ST302). When the torque control unit 152 is invalidated by the switching unit 119, the torque command value is unnecessary, so that the main control unit 11 does not have to calculate the torque command value.

次いで、関節制御部15は、対応する関節でのトルクの現在値及び角度の現在値並びにメイン制御部11により演算されたトルクの指令値及び角速度の指令値に基づいて、対応する関節に設けられたモータ21に対する指令値を演算する(ステップST303)。 Next, the joint control unit 15 is provided in the corresponding joint based on the current value of the torque and the current value of the angle in the corresponding joint, and the command value of the torque and the command value of the angular velocity calculated by the main control unit 11. The command value for the motor 21 is calculated (step ST303).

次に、図1,2に示すメイン制御部11の動作例について、図5を参照しながら説明する。
図1,2に示すメイン制御部11の動作例では、図5に示すように、まず、外乱トルク推定部111は、ロボット2が有する関節毎の角度の現在値に基づいて、ロボット2が有する関節にかかる外乱トルクを推定する(ステップST501)。垂直多関節ロボットでは、通常、外乱トルクは重力に起因するトルク(重力トルク)の成分を含む。そのため、外乱トルク推定部111は、角度の現在値から重力トルクを推定し、その値を出力する。なお、角度の現在値から重力トルクを推定する方法は公知技術であるため、その説明を省略する。また、外乱トルク推定部111は、慣性力又は摩擦力等、重力以外に起因する外乱トルクを推定し、それらの値を出力値に加算してもよい。
Next, an operation example of the main control unit 11 shown in FIGS. 1 and 2 will be described with reference to FIG.
In the operation example of the main control unit 11 shown in FIGS. 1 and 2, first, as shown in FIG. 5, the disturbance torque estimation unit 111 is possessed by the robot 2 based on the current value of the angle of each joint of the robot 2. The disturbance torque applied to the joint is estimated (step ST501). In a vertical articulated robot, the disturbance torque usually includes a component of torque due to gravity (gravitational torque). Therefore, the disturbance torque estimation unit 111 estimates the gravity torque from the current value of the angle and outputs the value. Since the method of estimating the gravitational torque from the current value of the angle is a known technique, the description thereof will be omitted. Further, the disturbance torque estimation unit 111 may estimate disturbance torques caused by other than gravity such as inertial force or frictional force, and add those values to the output value.

次いで、トルク指令値変換部113は、ロボット2の力の指令値をロボット2が有する関節毎のトルクの指令値に変換する(ステップST502)。図1,2では、まず、係数乗算部1131が、力の指令値に対してヤコビ行列の転置行列を乗算する。なお、ヤコビ行列はロボット2の関節の角度によって変わるので、適宜更新する必要がある。そして、加算器1132が、係数乗算部1131による乗算結果に外乱トルク推定部111により推定された外乱トルクを加算する。これにより、トルクの指令値とトルクの現在値との間で、重力トルク等の外乱トルクが相殺され、所望の制御が可能となる。 Next, the torque command value conversion unit 113 converts the force command value of the robot 2 into the torque command value of each joint of the robot 2 (step ST502). In FIGS. 1 and 1, first, the coefficient multiplying unit 1131 multiplies the commanded value of the force by the transposed matrix of the Jacobian determinant. Since the Jacobian determinant changes depending on the angle of the joint of the robot 2, it is necessary to update it as appropriate. Then, the adder 1132 adds the disturbance torque estimated by the disturbance torque estimation unit 111 to the multiplication result by the coefficient multiplication unit 1131. As a result, the disturbance torque such as the gravitational torque is canceled between the command value of the torque and the current value of the torque, and desired control becomes possible.

また、力演算部112は、ロボット2が有する関節毎のトルクの現在値をロボット2の力の現在値に変換する(ステップST503)。図1,2では、減算器1121が、トルクの現在値から外乱トルク推定部111により演算された外乱トルクを減算し、係数乗算部1122が、減算器1121による減算結果に対してヤコビ行列の転置の逆行列を乗算する。垂直多関節ロボットでは、通常、トルク取得部151により取得されるトルクの現在値は重力に起因するトルク成分を含む。そのため、力演算部112は、トルクから力へ変換する前に、重力トルクを含む外乱トルクを減算して除去することで、外乱トルクを含まない外力推定値を、力の現在値として得ることができる。 Further, the force calculation unit 112 converts the current value of the torque of each joint of the robot 2 into the current value of the force of the robot 2 (step ST503). In FIGS. 1 and 2, the subtractor 1121 subtracts the disturbance torque calculated by the disturbance torque estimation unit 111 from the current value of the torque, and the coefficient multiplying unit 1122 transposes the Jacob matrix with respect to the subtraction result by the subtractor 1121. Multiply the inverse matrix of. In a vertical articulated robot, the current value of the torque acquired by the torque acquisition unit 151 usually includes a torque component due to gravity. Therefore, the force calculation unit 112 may obtain an estimated external force excluding the disturbance torque as the current value of the force by subtracting and removing the disturbance torque including the gravity torque before converting the torque into the force. can.

次いで、力制御部114は、ロボット2の力の指令値及び力演算部112により得られた力の現在値に基づいて、速度の指令値(力制御の指令値)を演算する(ステップST504)。図1,2では、偏差演算器1141が、力の指令値と力の現在値との間の偏差を演算によって求め、係数乗算部1142が、偏差演算器1141による演算結果の偏差に対してゲインを乗算することで、速度の指令値を得る。
なお、切替部119により力制御部114が無効にされた場合には、例えば、力制御部114は上記演算を省略して0を出力する。
Next, the force control unit 114 calculates a speed command value (force control command value) based on the force command value of the robot 2 and the current value of the force obtained by the force calculation unit 112 (step ST504). .. In FIGS. 1 and 1, the deviation calculator 1141 obtains the deviation between the command value of the force and the current value of the force by calculation, and the coefficient multiplying unit 1142 gains the deviation of the calculation result by the deviation calculator 1141. By multiplying by, the command value of the speed is obtained.
When the force control unit 114 is invalidated by the switching unit 119, for example, the force control unit 114 omits the above calculation and outputs 0.

また、位置姿勢演算部115は、ロボット2が有する関節毎の角度の現在値に基づいて、ロボット2の位置姿勢の現在値を演算する(ステップST505)。 Further, the position / posture calculation unit 115 calculates the current value of the position / posture of the robot 2 based on the current value of the angle of each joint of the robot 2 (step ST505).

次いで、位置姿勢制御部116は、ロボット2の位置姿勢の指令値及び位置姿勢演算部115により演算された位置姿勢の現在値に基づいて、速度の指令値(位置姿勢制御の指令値)を演算する(ステップST506)。図1,2では、偏差演算器1161が、位置姿勢の指令値と位置姿勢の現在値との間の偏差を演算し、係数乗算部1162が、偏差演算器1161による演算結果の偏差に対してゲインを乗算することで、速度の指令値を得る。なお、位置の偏差は、指令値の座標値から現在値の座標値を減算することで得られる。姿勢の偏差は、現在値の姿勢から指令値の姿勢への回転変換を求めることで得ることができる。 Next, the position / posture control unit 116 calculates a speed command value (position / posture control command value) based on the position / posture command value of the robot 2 and the current position / posture value calculated by the position / posture calculation unit 115. (Step ST506). In FIGS. 1 and 2, the deviation calculator 1161 calculates the deviation between the command value of the position / posture and the current value of the position / posture, and the coefficient multiplying unit 1162 calculates the deviation of the calculation result by the deviation calculator 1161. By multiplying the gain, the command value of the speed is obtained. The deviation of the position is obtained by subtracting the coordinate value of the current value from the coordinate value of the command value. The attitude deviation can be obtained by obtaining the rotation conversion from the attitude of the current value to the attitude of the command value.

次いで、指令値合成部117は、力制御部114により演算された速度の指令値及び位置姿勢制御部116により演算された速度の指令値を合成し、1つの速度の指令値を得る(ステップST507)。 Next, the command value synthesis unit 117 synthesizes the speed command value calculated by the force control unit 114 and the speed command value calculated by the position / attitude control unit 116 to obtain one speed command value (step ST507). ).

次いで、指令値変換部118は、指令値合成部117による合成結果をロボット2が有する関節毎の角速度の指令値に変換する(ステップST508)。図1,2では、係数乗算部1181が、指令値合成部117による合成結果に対してヤコビ行列の逆行列を乗算することで、関節毎の角速度の指令値を得る。 Next, the command value conversion unit 118 converts the synthesis result by the command value synthesis unit 117 into a command value of the angular velocity for each joint of the robot 2 (step ST508). In FIGS. 1 and 2, the coefficient multiplication unit 1181 obtains the command value of the angular velocity for each joint by multiplying the synthesis result by the command value synthesis unit 117 by the inverse matrix of the Jacobian determinant.

なお上記では、力制御部114を無効にする方法として、力制御部114の出力を0にする方法を示したが、同じ効果が得られるのであればこれに限らない。例えば、力制御部114が係数乗算部1142のゲインを0にする、又は、指令値合成部117が位置姿勢制御部116により演算された速度の指令値をそのまま出力し、力制御部114により演算された速度の指令値と合成しない、といった手段でも力制御部114の無効化を実現できる。 In the above, as a method of disabling the force control unit 114, a method of setting the output of the force control unit 114 to 0 has been shown, but the present invention is not limited to this as long as the same effect can be obtained. For example, the force control unit 114 sets the gain of the coefficient multiplication unit 1142 to 0, or the command value synthesis unit 117 outputs the command value of the speed calculated by the position / attitude control unit 116 as it is, and the force control unit 114 calculates it. The force control unit 114 can be invalidated by means such as not combining with the command value of the set speed.

次に、図1,2に示す関節制御部15の動作例について、図6を参照しながら説明する。
図1,2に示す関節制御部15の動作例では、図6に示すように、まず、トルク取得部151は、対応する関節でのトルクの現在値を取得する(ステップST601)。
Next, an operation example of the joint control unit 15 shown in FIGS. 1 and 2 will be described with reference to FIG.
In the operation example of the joint control unit 15 shown in FIGS. 1 and 2, as shown in FIG. 6, the torque acquisition unit 151 first acquires the current value of the torque at the corresponding joint (step ST601).

次いで、トルク制御部152は、トルク取得部151により取得されたトルクの現在値及びメイン制御部11により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算する(ステップST602)。図1,2では、減算器1521が、メイン制御部11により演算されたトルクの指令値のうちの対応する関節でのトルクの指令値からトルク取得部151により取得されたトルクの現在値を減算し、PID制御部1522が、減算器1521による減算結果に基づいてPID制御を行うことで、トルク制御の指令値を得る。
なお、切替部119によりトルク制御部152が無効にされた場合には、例えば、トルク制御部152は上記演算を省略して0を出力する。
Next, the torque control unit 152 calculates the command value for torque control based on the current value of the torque acquired by the torque acquisition unit 151 and the command value of the torque calculated by the main control unit 11 (step ST602). In FIGS. 1 and 2, the subtractor 1521 subtracts the current value of the torque acquired by the torque acquisition unit 151 from the command value of the torque at the corresponding joint among the command values of the torque calculated by the main control unit 11. Then, the PID control unit 1522 performs PID control based on the subtraction result by the subtractor 1521, and obtains a command value for torque control.
When the torque control unit 152 is invalidated by the switching unit 119, for example, the torque control unit 152 omits the above calculation and outputs 0.

また、関節角制御部154は、メイン制御部11により演算された角速度の指令値に基づいて、角速度制御の指令値を演算する(ステップST603)。図1,2では、速度変換部1541が、対応する関節での角度の現在値を角速度の現在値に変換し、減算器1543が、メイン制御部11により演算された角速度の指令値のうちの当該関節での角速度の指令値から速度変換部1541により得られた角速度の現在値を減算し、PI制御部1544が、減算器1543による減算結果に基づいてPI制御を行うことで、角速度制御の指令値を得る。 Further, the joint angle control unit 154 calculates the command value of the angular velocity control based on the command value of the angular velocity calculated by the main control unit 11 (step ST603). In FIGS. 1 and 2, the speed conversion unit 1541 converts the current value of the angle at the corresponding joint into the current value of the angular velocity, and the subtractor 1543 is among the command values of the angular velocity calculated by the main control unit 11. The current value of the angular velocity obtained by the speed conversion unit 1541 is subtracted from the command value of the angular velocity at the joint, and the PI control unit 1544 performs PI control based on the subtraction result by the subtractor 1543 to control the angular velocity. Get the command value.

次いで、指令値合成部155は、トルク制御部152により演算されたトルク制御の指令値及び関節角制御部154により演算された角速度制御の指令値を合成する(ステップST604)。図1,2では、加算器1551が、トルク制御部152により演算されたトルク制御の指令値と関節角制御部154により演算された角速度制御の指令値とを加算する。この指令値合成部155による合成結果である指令値(電流指令値)は、モータ21に出力される。 Next, the command value synthesizing unit 155 synthesizes the torque control command value calculated by the torque control unit 152 and the angular velocity control command value calculated by the joint angle control unit 154 (step ST604). In FIGS. 1 and 2, the adder 1551 adds the torque control command value calculated by the torque control unit 152 and the angular velocity control command value calculated by the joint angle control unit 154. The command value (current command value), which is the result of synthesis by the command value synthesis unit 155, is output to the motor 21.

なお上記では、トルク制御部152を無効にする方法として、トルク制御部152の出力を0にする方法を示したが、同じ効果が得られるのであればこれに限らない。例えば、トルク制御部152がPID制御部1222のゲインを0にする、又は、指令値合成部155が関節角制御部154により演算された角速度制御の指令値をそのまま出力し、トルク制御部152により演算されたトルク制御の指令値と合成しない、といった手段でもトルク制御部152の無効化を実現できる。 In the above, as a method of disabling the torque control unit 152, a method of setting the output of the torque control unit 152 to 0 has been shown, but the method is not limited to this as long as the same effect can be obtained. For example, the torque control unit 152 sets the gain of the PID control unit 1222 to 0, or the command value synthesis unit 155 outputs the command value of the angular velocity control calculated by the joint angle control unit 154 as it is, and the torque control unit 152 outputs the command value as it is. The torque control unit 152 can be invalidated by means such as not combining the calculated torque control command value with the calculated torque control command value.

また、実施の形態1に係るロボット制御装置1では、図4の制御モード「3」で示すように、力制御部114及びトルク制御部152の両方を有効にすることもできる。但し、この場合には、2つの制御が干渉しないようにすることが好ましい。例えば、力制御部114は低周波帯域で制御を行い、トルク制御部152は高周波帯域で制御を行う等のように、制御する周波数帯域を分ける等して、相互に影響を与えないようにすることが好ましい。 Further, in the robot control device 1 according to the first embodiment, both the force control unit 114 and the torque control unit 152 can be enabled as shown in the control mode “3” of FIG. However, in this case, it is preferable to prevent the two controls from interfering with each other. For example, the force control unit 114 controls in the low frequency band, the torque control unit 152 controls in the high frequency band, and the like, and the frequency bands to be controlled are divided so as not to affect each other. Is preferable.

また、切替部119が切替えを実行するタイミングによっては、モータ21に出力される電流指令値が大きく変動する場合がある。これを避けるため、ロボット制御装置1は、切替部119による切替えの際にローパスフィルタ等によって平滑化処理を行い、電流指令値の変動を抑制してもよい。 Further, the current command value output to the motor 21 may fluctuate greatly depending on the timing at which the switching unit 119 executes switching. In order to avoid this, the robot control device 1 may perform smoothing processing by a low-pass filter or the like at the time of switching by the switching unit 119 to suppress fluctuations in the current command value.

次に、実施の形態1に係るロボット制御装置1による効果について説明する。
上述したように、従来のロボット制御装置1bでは、メイン制御部11bでフィードバック系を構成している。すなわち、このロボット制御装置1bでは、ロボット2から物理的にも通信的にも距離のある構成要素でフィードバック制御演算を行うことになる。よって、トルクセンサ23によるトルクの検出からモータ21への指令値の入力までの遅延が長くなる。その結果、このロボット制御装置1bでは、不可避的にむだ時間が入り込む余地が多くなり、安定性を維持できるハイゲイン化を抑制する要因になる。また、むだ時間自体も、リード補償等でキャンセルできる要素ではないため、応答時間への悪影響は避けられない。
Next, the effect of the robot control device 1 according to the first embodiment will be described.
As described above, in the conventional robot control device 1b, the feedback system is configured by the main control unit 11b. That is, in this robot control device 1b, the feedback control calculation is performed by a component having a physical and communication distance from the robot 2. Therefore, the delay from the detection of torque by the torque sensor 23 to the input of the command value to the motor 21 becomes long. As a result, in this robot control device 1b, there is inevitably more room for wasted time, which is a factor that suppresses high gain that can maintain stability. Moreover, since the waste time itself is not an element that can be canceled by lead compensation or the like, an adverse effect on the response time is unavoidable.

これに対し、実施の形態1に係るロボット制御装置1において、切替部119がトルク制御部152を用いて力制御を行うようにした場合は、関節制御部15でトルク制御に対する演算を実施することで、トルクセンサ23によるトルクの検出からモータ21への指令値の入力までの遅延が短くなり、むだ時間が入り込む余地を削減できる。すなわち、実施の形態1に係るロボット制御装置1は、安定性を維持できるコントローラのハイゲイン化に相当する調整(関節単位の1変数制御のゲイン調整)も可能になる。このように、実施の形態1に係るロボット制御装置1では、従来構成に対して力制御の性能(特に速応性)の向上が可能となる。 On the other hand, in the robot control device 1 according to the first embodiment, when the switching unit 119 performs force control using the torque control unit 152, the joint control unit 15 performs a calculation for torque control. Therefore, the delay from the detection of the torque by the torque sensor 23 to the input of the command value to the motor 21 is shortened, and the room for wasted time can be reduced. That is, the robot control device 1 according to the first embodiment can also perform adjustment corresponding to high gain of the controller that can maintain stability (gain adjustment of one-variable control for each joint). As described above, the robot control device 1 according to the first embodiment can improve the force control performance (particularly quick response) with respect to the conventional configuration.

また、実施の形態1に係るロボット制御装置1において、切替部119が力制御部114を用いて力制御を行うようにした場合は、従来構成と同様に、メイン制御部11で力制御に対する演算が行われるので、全関節を連携させて手先6軸の制御ができる、調整すべきパラメータを合理的に統合できる等、従来構成のメリットが得られる。すなわち、力制御の速応性の向上よりも、従来構成のメリットを優先したい場合は、切替部119によって従来構成と同様にすることができる。 Further, in the robot control device 1 according to the first embodiment, when the switching unit 119 performs force control using the force control unit 114, the main control unit 11 calculates the force control as in the conventional configuration. Therefore, the merits of the conventional configuration can be obtained, such as the ability to control the 6 axes of the hand by coordinating all the joints and the rational integration of the parameters to be adjusted. That is, if it is desired to prioritize the merit of the conventional configuration over the improvement of the quick response of the force control, the switching unit 119 can be used in the same manner as the conventional configuration.

このように、このロボット制御装置1では、切替部119によって、力に対する高速な応答が必要な場合は関節制御部15のトルク制御部152を有効にする、応答が低速であっても手先6軸を精密に制御したい場合はメイン制御部11の力制御部114を有効にするといったように、状況毎に求められる性能に合わせた構成を選択することができる。 As described above, in the robot control device 1, the switching unit 119 enables the torque control unit 152 of the joint control unit 15 when a high-speed response to the force is required. If you want to control precisely, you can select a configuration that matches the performance required for each situation, such as enabling the force control unit 114 of the main control unit 11.

以上のように、この実施の形態1によれば、ロボット制御装置1は、ロボット2の力の指令値及び力の現在値に基づいて力制御の指令値及び当該ロボット2が有する関節毎のトルクの指令値を演算し、当該力制御の指令値に基づいて当該関節毎の制御指令値を演算するメイン制御部11と、ロボット2が有する関節毎に設けられ、対応する関節でのトルクの現在値及びメイン制御部11により演算されたトルクの指令値に基づいて当該関節でのトルク制御の指令値を演算し、当該トルク制御の指令値及びメイン制御部11により演算された制御指令値に基づいて当該関節に設けられたモータ21に対する指令値を演算する関節制御部15と、メイン制御部11による力制御の指令値の演算及び関節制御部15によるトルク制御の指令値の演算を有効又は無効に切替える切替部119とを備えた。これにより、実施の形態1に係るロボット制御装置1は、従来構成に対して力制御の性能を向上可能となる。また、このロボット制御装置1は、従来構成の方が高性能となる場合であっても、必要な性能を発揮することが可能となる。 As described above, according to the first embodiment, the robot control device 1 has a command value for force control and a torque for each joint of the robot 2 based on the command value of the force of the robot 2 and the current value of the force. The main control unit 11 that calculates the command value of the above and calculates the control command value for each joint based on the command value of the force control, and the current torque in the corresponding joint provided for each joint of the robot 2. The command value of the torque control at the joint is calculated based on the value and the command value of the torque calculated by the main control unit 11, and is based on the command value of the torque control and the control command value calculated by the main control unit 11. The joint control unit 15 that calculates the command value for the motor 21 provided in the joint, the calculation of the force control command value by the main control unit 11, and the calculation of the torque control command value by the joint control unit 15 are valid or invalid. It is equipped with a switching unit 119 for switching to. As a result, the robot control device 1 according to the first embodiment can improve the force control performance with respect to the conventional configuration. Further, the robot control device 1 can exhibit the required performance even when the conventional configuration has higher performance.

なお、実施の形態1では関節角制御部154が関節制御部15に設けられた場合を示した。しかしながら、これに限らず、関節角制御部154はメイン制御部11に設けられていてもよい。例えば、ロボット2が低速で動作する場合等であれば、関節角制御部154がメイン制御部11に設けられていることによる影響は少ないと考えられる。
また、関節角制御部154は必須の構成ではなく、ロボット制御装置1から取除いてもよい。
In the first embodiment, the case where the joint angle control unit 154 is provided in the joint control unit 15 is shown. However, the present invention is not limited to this, and the joint angle control unit 154 may be provided in the main control unit 11. For example, if the robot 2 operates at a low speed, it is considered that the influence of the joint angle control unit 154 provided on the main control unit 11 is small.
Further, the joint angle control unit 154 is not an essential configuration and may be removed from the robot control device 1.

実施の形態2.
実施の形態1では、関節制御部15において、メイン制御部11で演算された角速度の指令値を用いて角速度制御の指令値を演算し、その後、トルク制御の指令値及び角速度制御の指令値を合成する場合を示した。しかしながら、これに限らず、関節制御部15において、メイン制御部11で演算された角速度の指令値のうちの対応する関節での角速度の指令値及びトルク制御の指令値を合成した後、その合成結果を用いて角速度制御の指令値を演算してもよい。
図7,8は実施の形態2に係るロボット制御装置1の構成例を示す図である。図7,8に示す実施の形態2に係るロボット制御装置1は、図1,2に示す実施の形態1に係るロボット制御装置1に対し、関節角制御部154及び指令値合成部155を指令値合成部(関節側指令値合成部)156及び関節角制御部157に変更している。実施の形態2に係るロボット制御装置1におけるその他の構成は実施の形態1に係るロボット制御装置1と同様であり、同一の符号を付してその説明を省略する。
Embodiment 2.
In the first embodiment, the joint control unit 15 calculates the command value of the angular velocity control using the command value of the angular velocity calculated by the main control unit 11, and then calculates the command value of the torque control and the command value of the angular velocity control. The case of synthesizing is shown. However, not limited to this, the joint control unit 15 synthesizes the angular velocity command value and the torque control command value at the corresponding joint among the angular velocity command values calculated by the main control unit 11, and then synthesizes the command values. The command value of the angular velocity control may be calculated using the result.
7 and 8 are diagrams showing a configuration example of the robot control device 1 according to the second embodiment. The robot control device 1 according to the second embodiment shown in FIGS. 7 and 8 commands the joint angle control unit 154 and the command value synthesis unit 155 to the robot control device 1 according to the first embodiment shown in FIGS. 1 and 2. The value synthesis unit (joint side command value synthesis unit) 156 and the joint angle control unit 157 have been changed. Other configurations of the robot control device 1 according to the second embodiment are the same as those of the robot control device 1 according to the first embodiment, and the same reference numerals are given and the description thereof will be omitted.

指令値合成部156は、メイン制御部11により演算された角速度の指令値のうちの対応する関節での角速度の指令値及びトルク制御部152により演算されたトルク制御の指令値を合成する。図8では、指令値合成部156は、加算器1561を有する。
加算器1561は、メイン制御部11により演算された角速度の指令値のうちの対応する関節での角速度の指令値とトルク制御部152により演算されたトルク制御の指令値とを加算する。
The command value synthesis unit 156 synthesizes the command value of the angular velocity at the corresponding joint among the command values of the angular velocity calculated by the main control unit 11 and the command value of the torque control calculated by the torque control unit 152. In FIG. 8, the command value synthesizing unit 156 has an adder 1561.
The adder 1561 adds the command value of the angular velocity at the corresponding joint among the command values of the angular velocity calculated by the main control unit 11 and the command value of the torque control calculated by the torque control unit 152.

関節角制御部157は、対応する関節での角度の現在値及び指令値合成部156による合成結果に基づいて、角速度制御の指令値を演算する。関節角制御部157は、速度変換部1571及び速度制御部1572を有している。速度制御部1572は、減算器1573及びPI制御部1574を有している。 The joint angle control unit 157 calculates the command value for angular velocity control based on the current value of the angle at the corresponding joint and the synthesis result by the command value synthesis unit 156. The joint angle control unit 157 includes a speed conversion unit 1571 and a speed control unit 1572. The speed control unit 1572 has a subtractor 1573 and a PI control unit 1574.

速度変換部1571は、対応する関節での角度の現在値を角速度の現在値に変換する。 The velocity conversion unit 1571 converts the current value of the angle at the corresponding joint into the current value of the angular velocity.

減算器1573は、指令値合成部156による合成結果から速度変換部1571により得られた角速度の現在値を減算する。
PI制御部1574は、減算器1573による減算結果に基づいてPI制御を行うことで、角速度制御の指令値を得る。
この関節角制御部157により演算された角速度制御の指令値(電流指令値)は、対応する関節に設けられたモータ21に出力される。
The subtractor 1573 subtracts the current value of the angular velocity obtained by the speed conversion unit 1571 from the synthesis result by the command value synthesis unit 156.
The PI control unit 1574 obtains a command value for angular velocity control by performing PI control based on the subtraction result by the subtractor 1573.
The command value (current command value) of the angular velocity control calculated by the joint angle control unit 157 is output to the motor 21 provided in the corresponding joint.

実施の形態2における切替部119は、実施の形態1における切替部119と同様に、メイン制御部11の力制御部114を有効又は無効に切替え、関節制御部15のトルク制御部152を有効又は無効に切替える。実施の形態1と同様に、実施の形態2における力制御部114及びトルク制御部152は、切替部119によって無効にされた場合には出力を0にする等して、その機能が無効化される。 Similar to the switching unit 119 in the first embodiment, the switching unit 119 in the second embodiment switches the force control unit 114 of the main control unit 11 to valid or invalid, and enables or invalidates the torque control unit 152 of the joint control unit 15. Switch to invalid. Similar to the first embodiment, the force control unit 114 and the torque control unit 152 in the second embodiment are disabled by setting the output to 0 when disabled by the switching section 119. To torque.

このように、実施の形態2に係るロボット制御装置1では、関節制御部15が、メイン制御部11により演算された角速度の指令値のうちの対応する関節での角速度の指令値及びトルク制御の指令値を合成し、その合成結果に基づいて角速度制御を実施する。この実施の形態2に係るロボット制御装置1についても、実施の形態1に係るロボット制御装置1と同様の効果が得られる。また、実施の形態2に係るロボット制御装置1は、従来のコンプライアンス制御に近い対応関係となる。 As described above, in the robot control device 1 according to the second embodiment, the joint control unit 15 controls the angular velocity command value and the torque control at the corresponding joint among the angular velocity command values calculated by the main control unit 11. The command values are combined, and the angular velocity control is performed based on the combined result. The same effect as that of the robot control device 1 according to the first embodiment can be obtained for the robot control device 1 according to the second embodiment. Further, the robot control device 1 according to the second embodiment has a correspondence relationship close to that of the conventional compliance control.

実施の形態3.
実施の形態1,2では、切替部119が、力制御部114及びトルク制御部152を有効又は無効に切替える場合を示した。しかしながら、これに限らず、関節制御部15に位置姿勢を制御する機能を持たせた上で、切替部119を、上記に加え、メイン制御部11の位置姿勢制御部116及び関節制御部15の位置姿勢制御を有効又は無効に切替え可能としてもよい。
図9,10は実施の形態3に係るロボット制御装置1の構成例を示す図である。図9,10に示す実施の形態3に係るロボット制御装置1は、図7,8に示す実施の形態2に係るロボット制御装置1に対し、メイン制御部11に逆運動学演算部120を追加し、関節制御部15に角度制御部158を追加している。また、指令値合成部156を指令値合成部(関節側指令値合成部)159に変更しており、指令値合成部159は角度制御部158とも接続される。更に、上述のように、切替部119は、実施の形態2における切替部119に対し、位置姿勢の制御を有効又は無効に切替える機能が追加されている。実施の形態3に係るロボット制御装置1におけるその他の構成は実施の形態2に係るロボット制御装置1と同様であり、同一の符号を付してその説明を省略する。
Embodiment 3.
In the first and second embodiments, the switching unit 119 shows the case where the force control unit 114 and the torque control unit 152 are switched between valid and invalid. However, not limited to this, the joint control unit 15 is provided with a function of controlling the position and posture, and the switching unit 119 is added to the above, and the position and attitude control unit 116 and the joint control unit 15 of the main control unit 11 are added. The position / attitude control may be enabled or disabled.
9 and 10 are diagrams showing a configuration example of the robot control device 1 according to the third embodiment. The robot control device 1 according to the third embodiment shown in FIGS. 9 and 10 has an inverse kinematics calculation unit 120 added to the main control unit 11 with respect to the robot control device 1 according to the second embodiment shown in FIGS. 7 and 8. However, the angle control unit 158 is added to the joint control unit 15. Further, the command value synthesis unit 156 is changed to the command value synthesis unit (joint side command value synthesis unit) 159, and the command value synthesis unit 159 is also connected to the angle control unit 158. Further, as described above, the switching unit 119 has an additional function of switching the position / posture control to valid or invalid with respect to the switching unit 119 in the second embodiment. Other configurations of the robot control device 1 according to the third embodiment are the same as those of the robot control device 1 according to the second embodiment, and the same reference numerals are given and the description thereof will be omitted.

逆運動学演算部120は、ロボット2の位置姿勢の指令値に基づいて、当該位置姿勢の指令値を実現するような、関節毎の角度の指令値を演算によって求める。この演算は逆運動学として公知であるため、その説明を省略する。なお、位置姿勢の指令値の時系列が先行して得られる場合は、逆運動学演算部120は、上記演算をオフラインで事前に行ってもよい。また、逆運動学演算部120は、位置姿勢の指令値が与えられる度に、上記演算を行ってもよい。 The inverse kinematics calculation unit 120 calculates the command value of the angle for each joint so as to realize the command value of the position / posture based on the command value of the position / posture of the robot 2. Since this operation is known as inverse kinematics, its description will be omitted. If the time series of the command values of the position and the posture is obtained in advance, the inverse kinematics calculation unit 120 may perform the above calculation offline in advance. Further, the inverse kinematics calculation unit 120 may perform the above calculation each time a command value of the position / posture is given.

角度制御部158は、対応する関節での角度の現在値及び逆運動学演算部120により演算された角度の指令値に基づいて、当該関節の角度を制御するための、当該関節の角度制御の指令値を演算によって求める。角度制御部158は、減算器1581及びP制御部1582を有している。 The angle control unit 158 controls the angle of the joint to control the angle of the joint based on the current value of the angle at the corresponding joint and the command value of the angle calculated by the inverse kinematics calculation unit 120. Obtain the command value by calculation. The angle control unit 158 has a subtractor 1581 and a P control unit 1582.

減算器1581は、逆運動学演算部120により演算された角度の指令値のうちの対応する関節での角度の指令値から角度の現在値を減算する。
P制御部1582は、減算器1581による減算結果に基づいて、P制御(比例制御)を行うことで、角度制御の指令値を得る。
The subtractor 1581 subtracts the current value of the angle from the command value of the angle at the corresponding joint among the command values of the angle calculated by the inverse kinematics calculation unit 120.
The P control unit 1582 obtains a command value for angle control by performing P control (proportional control) based on the subtraction result by the subtractor 1581.

指令値合成部159は、メイン制御部11により演算された角速度の指令値のうちの対応する関節での角速度の指令値、トルク制御部152により演算されたトルク制御の指令値、及び、角度制御部158により演算された角度制御の指令値を合成する。図10では、指令値合成部159は、加算器1591を有する。
加算器1591は、メイン制御部11により演算された角速度の指令値のうちの対応する関節での角速度の指令値と、トルク制御部152により演算されたトルク制御の指令値と、角度制御部158により演算された角度制御の指令値とを加算する。
The command value synthesis unit 159 includes the command value of the angular velocity at the corresponding joint among the command values of the angular velocity calculated by the main control unit 11, the command value of the torque control calculated by the torque control unit 152, and the angle control. The command value of the angle control calculated by the unit 158 is synthesized. In FIG. 10, the command value synthesizing unit 159 has an adder 1591.
The adder 1591 includes an angular velocity command value at the corresponding joint among the angular velocity command values calculated by the main control unit 11, a torque control command value calculated by the torque control unit 152, and an angle control unit 158. Adds the command value of the angle control calculated by.

そして、速度制御部1572は、この指令値合成部159による合成結果(角速度の指令値)に基づいて、対応する関節の角速度を制御する。 Then, the speed control unit 1572 controls the angular velocity of the corresponding joint based on the synthesis result (command value of the angular velocity) by the command value synthesis unit 159.

切替部119は、力制御部114及びトルク制御部152に加え、位置姿勢制御部116及び角度制御部158を有効又は無効に切替える。図11に、制御モードと、それぞれの制御部(力制御部114、トルク制御部152、位置姿勢制御部116及び角度制御部158)の有効又は無効との対応関係の一例を示す。この図11に示すように、力制御部114を有効にする場合には位置姿勢制御部116を有効にし、力制御部114を無効にする場合には角度制御部158を有効にするのが好ましいが、この他の組合せも可能である。 The switching unit 119 switches the position / attitude control unit 116 and the angle control unit 158 valid or invalid in addition to the force control unit 114 and the torque control unit 152. FIG. 11 shows an example of the correspondence between the control mode and the validity or invalidity of each control unit (force control unit 114, torque control unit 152, position / attitude control unit 116, and angle control unit 158). As shown in FIG. 11, it is preferable to enable the position / attitude control unit 116 when the force control unit 114 is enabled, and to enable the angle control unit 158 when the force control unit 114 is disabled. However, other combinations are also possible.

次に、切替部119により位置姿勢制御部116が無効にされた場合、及び、切替部119により角度制御部158が無効にされた場合での、それぞれの無効化方法について説明する。 Next, when the position / attitude control unit 116 is disabled by the switching unit 119 and when the angle control unit 158 is disabled by the switching unit 119, the respective invalidation methods will be described.

位置姿勢制御部116を無効にする場合には、例えば、位置姿勢制御部116による演算結果に関わらず、位置姿勢制御部116は常に0を出力すればよい。又は、位置姿勢制御部116が係数乗算部1162のゲインを0にしても同じ効果が得られる。この他、指令値合成部117の動作を変更し、力制御部114の演算結果をそのまま指令値変換部118に出力し、位置姿勢制御部116の演算結果が、メイン制御部11により演算される角速度の指令値に反映されないようにしてもよい。なお、力制御部114と位置姿勢制御部116の両方が無効となった場合には、指令値合成部117は常に0を出力することでも、両方の制御動作を無効化できる。また、位置姿勢制御部116は、自身の動作を停止してもよい。 When disabling the position / attitude control unit 116, for example, the position / attitude control unit 116 may always output 0 regardless of the calculation result of the position / attitude control unit 116. Alternatively, the same effect can be obtained even if the position / attitude control unit 116 sets the gain of the coefficient multiplication unit 1162 to 0. In addition, the operation of the command value synthesis unit 117 is changed, the calculation result of the force control unit 114 is output to the command value conversion unit 118 as it is, and the calculation result of the position / attitude control unit 116 is calculated by the main control unit 11. It may not be reflected in the command value of the angular velocity. When both the force control unit 114 and the position / attitude control unit 116 are invalidated, the command value synthesis unit 117 can always output 0 to invalidate both control operations. Further, the position / attitude control unit 116 may stop its own operation.

角度制御部158を無効にする場合には、例えば、角度制御部158による演算結果に関わらず、角度制御部158は常に0を出力すればよい。又は、角度制御部158がP制御部1582のゲインを0にしても同じ効果が得られる。この他、指令値合成部159の動作を変更し、メイン制御部11により演算された角速度の指令値のうちの対応する関節での角速度の指令値及びトルク制御部152により演算されたトルク制御の指令値だけを合成して、角度制御部158の演算結果が速度制御部1572の制御に反映されないようにしてもよい。また、角度制御部158は、自身の動作を停止してもよい。 When disabling the angle control unit 158, for example, the angle control unit 158 may always output 0 regardless of the calculation result of the angle control unit 158. Alternatively, the same effect can be obtained even if the angle control unit 158 sets the gain of the P control unit 1582 to 0. In addition, the operation of the command value synthesis unit 159 is changed, and among the command values of the angular speed calculated by the main control unit 11, the command value of the angular speed at the corresponding joint and the torque control calculated by the torque control unit 152 are used. Only the command value may be combined so that the calculation result of the angle control unit 158 is not reflected in the control of the speed control unit 1572. Further, the angle control unit 158 may stop its own operation.

また、切替部119は上記の4つの制御部を有効又は無効に切替えるだけではなく、それぞれの制御部のゲイン等のような制御設定も同時に切替えてもよい。 Further, the switching unit 119 not only switches the above four control units valid or invalid, but may also switch control settings such as the gain of each control unit at the same time.

なお上記では、トルク制御部152により演算されたトルク制御の指令値が、メイン制御部11により演算された角速度の指令値のうちの対応する関節での角速度の指令値、及び、角度制御部158により演算された角度制御の指令値と合成される場合を示した。しかしながら、これに限らず、実施の形態1に係るロボット制御装置1のように、トルク制御の指令値が、速度制御部1542により演算された角速度制御の指令値と合成されるようにしてもよい。この場合は、関節制御部15は、メイン制御部11により演算された角速度の指令値のうちの対応する関節での角速度の指令値、及び、角度制御部158により演算された角度制御の指令値を合成し、速度制御部1542はその合成結果に基づいて当該関節での角速度を制御する。 In the above, the torque control command value calculated by the torque control unit 152 is the angular velocity command value at the corresponding joint among the angular velocity command values calculated by the main control unit 11, and the angle control unit 158. The case where it is combined with the command value of the angle control calculated by is shown. However, the present invention is not limited to this, and the torque control command value may be combined with the angular velocity control command value calculated by the speed control unit 1542, as in the robot control device 1 according to the first embodiment. .. In this case, the joint control unit 15 has the command value of the angular velocity at the corresponding joint among the command values of the angular velocity calculated by the main control unit 11 and the command value of the angle control calculated by the angle control unit 158. Is synthesized, and the speed control unit 1542 controls the angular velocity at the joint based on the synthesis result.

実施の形態3に係るロボット制御装置1では、力制御に加え、位置姿勢の制御もメイン制御部11と関節制御部15とで切替え可能となる。これにより、実施の形態3に係るロボット制御装置1では、実施の形態1,2に係るロボット制御装置1に対し、制御性能が向上し、調整が容易になるといった効果が期待できる。 In the robot control device 1 according to the third embodiment, in addition to the force control, the position and attitude control can be switched between the main control unit 11 and the joint control unit 15. As a result, the robot control device 1 according to the third embodiment can be expected to have the effect of improving the control performance and facilitating the adjustment as compared with the robot control device 1 according to the first and second embodiments.

実施の形態4.
実施の形態1~3では、切替部119の動作を、ロボット2を動作させるプログラムから直接指定する、又は、ロボット制御装置1の内部又は外部に設けられた記憶装置に手動で書込むといった方法で指定する、ということを想定していた。しかしながら、これに限らず、切替部119の動作を自動で指定することも可能である。
Embodiment 4.
In the first to third embodiments, the operation of the switching unit 119 is directly specified from the program for operating the robot 2, or manually written in a storage device provided inside or outside the robot control device 1. It was supposed to be specified. However, the operation is not limited to this, and the operation of the switching unit 119 can be automatically specified.

図12は実施の形態4に係るロボット制御装置1の構成例を示す図である。図12に示す実施の形態4に係るロボット制御装置1は、図1,7,9に示す実施の形態1~3に係るロボット制御装置1に対し、分析部121及び判定部122を追加している。実施の形態4に係るロボット制御装置1におけるその他の構成は実施の形態1~3に係るロボット制御装置1と同様であり、同一の符号を付してその説明を省略する。なお図12では、メイン制御部11が有する構成のうち、切替部119、分析部121及び判定部122以外の構成については記載を省略している。 FIG. 12 is a diagram showing a configuration example of the robot control device 1 according to the fourth embodiment. The robot control device 1 according to the fourth embodiment shown in FIG. 12 has an analysis unit 121 and a determination unit 122 added to the robot control device 1 according to the first to third embodiments shown in FIGS. 1, 7 and 9. There is. Other configurations of the robot control device 1 according to the fourth embodiment are the same as those of the robot control device 1 according to the first to third embodiments, and the same reference numerals are given and the description thereof will be omitted. In FIG. 12, among the configurations of the main control unit 11, the configurations other than the switching unit 119, the analysis unit 121, and the determination unit 122 are omitted.

分析部121は、ロボット2が行う作業内容、ロボット2を動作させるプログラム、及び、ロボット2の制御設定のうちの1つ以上を分析する。分析部121は、作業分析部1211、プログラム分析部1212及び制御設定分析部1213のうちの1つ以上の構成を有する。図12では、分析部121が、作業分析部1211、プログラム分析部1212及び制御設定分析部1213を有する場合を示している。 The analysis unit 121 analyzes one or more of the work contents performed by the robot 2, the program for operating the robot 2, and the control settings of the robot 2. The analysis unit 121 has one or more of the work analysis unit 1211, the program analysis unit 1212, and the control setting analysis unit 1213. FIG. 12 shows a case where the analysis unit 121 has a work analysis unit 1211, a program analysis unit 1212, and a control setting analysis unit 1213.

作業分析部1211は、ロボット2が実行しようとする作業を分析する。すなわち、作業分析部1211は、通信等により、ロボット2が次にどの力作業(例えば、研磨、切削、塗装又は嵌合)を行うかを取得する。 The work analysis unit 1211 analyzes the work that the robot 2 intends to perform. That is, the work analysis unit 1211 acquires which force work (for example, polishing, cutting, painting, or fitting) the robot 2 will perform next by communication or the like.

プログラム分析部1212は、ロボット2を動作させるプログラムのコマンド又はその引数を分析する。すなわち、プログラム分析部1212は、通信等により、ロボット2で次に実行されるコマンド又はその引数を取得する。 The program analysis unit 1212 analyzes the command of the program for operating the robot 2 or its argument. That is, the program analysis unit 1212 acquires a command or an argument thereof to be executed next by the robot 2 by communication or the like.

制御設定分析部1213は、力制御のゲイン等のような制御設定を分析する。すなわち、制御設定分析部1213は、通信等により、ロボット制御装置1に現在設定されているゲイン又はコンプライアンス等の設定情報を取得する。 The control setting analysis unit 1213 analyzes the control setting such as the gain of the force control. That is, the control setting analysis unit 1213 acquires setting information such as gain or compliance currently set in the robot control device 1 by communication or the like.

判定部122は、分析部121による分析結果に基づいて、切替部119による切替えを決定する。 The determination unit 122 determines the switching by the switching unit 119 based on the analysis result by the analysis unit 121.

ここで、判定部122は、作業分析部1211によりロボット2が実行しようとする作業が分析された場合、その分析結果及び事前に決められたルールに基づいて、どの制御モードが適切かを判定する。例えば、判定部122は、作業分析部1211によりロボット2の次の作業が研磨であると分析された場合、力制御部114を有効にしてトルク制御部152は無効にする。 Here, when the work to be executed by the robot 2 is analyzed by the work analysis unit 1211, the determination unit 122 determines which control mode is appropriate based on the analysis result and a predetermined rule. .. For example, when the work analysis unit 1211 analyzes that the next work of the robot 2 is polishing, the determination unit 122 enables the force control unit 114 and disables the torque control unit 152.

また、判定部122は、プログラム分析部1212によりロボット2を動作させるプログラムのコマンド又はその引数が分析された場合、その分析結果及び事前に決められたルールに基づいて、どの制御モードが適切かを判定する。例えば、判定部122は、プログラム分析部1212によりロボット2が次に押し付けを実行するコマンドが取得された場合、力制御部114を有効にしてトルク制御部152は無効にする。また例えば、判定部122は、プログラム分析部1212によりロボット2が次に面合わせを実行するコマンドが取得された場合、力制御部114を無効にしてトルク制御部152は有効にする。なお、判定部122は、同じコマンドでも引数によって適切な切替えが異なる場合、引数も含めて切替部119の切替えを決定する。 Further, when the command of the program for operating the robot 2 or its argument is analyzed by the program analysis unit 1212, the determination unit 122 determines which control mode is appropriate based on the analysis result and a predetermined rule. judge. For example, the determination unit 122 enables the force control unit 114 and disables the torque control unit 152 when the program analysis unit 1212 acquires a command for the robot 2 to execute the next pressing. Further, for example, when the program analysis unit 1212 obtains a command for the robot 2 to execute face-to-face contact, the determination unit 122 invalidates the force control unit 114 and enables the torque control unit 152. If the appropriate switching differs depending on the argument even with the same command, the determination unit 122 determines the switching of the switching unit 119 including the argument.

また、判定部122は、制御設定分析部1213により力制御のゲイン等のような制御設定が分析された場合、その分析結果及び事前に決められたルールに基づいて、どの制御モードが適切かを判定する。例えば、判定部122は、制御設定分析部1213によりデカルト座標系における特定の一方向だけ力制御のゲイン(G)が設定されていると分析された場合、デカルト座標系の6軸で連携した精密な力制御が必要と考えられるので、力制御部114を有効にしてトルク制御部152は無効にする。一方、判定部122は、上記のような精密な力制御が不要であり、全ての関節でコンプライアンスを高くすれば十分である場合には、力制御部114を無効にしてトルク制御部152は有効にする。 Further, when the control setting analysis unit 1213 analyzes the control setting such as the gain of the force control, the determination unit 122 determines which control mode is appropriate based on the analysis result and the predetermined rule. judge. For example, when the control setting analysis unit 1213 analyzes that the force control gain ( GF ) is set in only one specific direction in the Cartesian coordinate system, the determination unit 122 cooperates with each other on the six axes of the Cartesian coordinate system. Since it is considered that precise force control is required, the force control unit 114 is enabled and the torque control unit 152 is disabled. On the other hand, when the determination unit 122 does not require the precise force control as described above and it is sufficient to increase the compliance in all joints, the force control unit 114 is disabled and the torque control unit 152 is effective. To.

なお上記では、判定部122が、1つの分析結果に基づいて、切替部119の動作を決定する場合を示した。しかしながら、これに限らず、判定部122は、複数の分析結果から総合的に切替部119の動作を決定する、又は、複数の分析結果の多数決を取って切替部119の動作を決定する、といった方法で動作を決定してもよい。 In the above, the case where the determination unit 122 determines the operation of the switching unit 119 based on one analysis result is shown. However, not limited to this, the determination unit 122 comprehensively determines the operation of the switching unit 119 from the plurality of analysis results, or determines the operation of the switching unit 119 by taking a majority vote of the plurality of analysis results. The operation may be determined by a method.

判定部122による判定結果は、通信によって切替部119に伝達される。そして、切替部119は、この判定結果に基づいて、メイン制御部11及び関節制御部15の動作を切替える。これにより、力制御(及び位置姿勢制御)がどちらの制御部で実行されるかが切替わり、ロボット制御装置1の挙動が変わる。 The determination result by the determination unit 122 is transmitted to the switching unit 119 by communication. Then, the switching unit 119 switches the operations of the main control unit 11 and the joint control unit 15 based on the determination result. As a result, which control unit performs force control (and position / attitude control) is switched, and the behavior of the robot control device 1 changes.

実施の形態4に係るロボット制御装置1では、実施の形態1~3に係るロボット制御装置1に対し、ユーザがどの制御部を有効にし、無効にするかをその都度手動で指定しなくても、適切な切替えが自動で行われるので、ユーザにとって使い易くなるという効果がある。 In the robot control device 1 according to the fourth embodiment, the user does not have to manually specify which control unit is enabled or disabled for the robot control device 1 according to the first to third embodiments. Since appropriate switching is automatically performed, there is an effect that it is easy for the user to use.

実施の形態5.
実施の形態4に係るロボット制御装置1では、切替部119の動作が自動化された場合を示した。しかしながら、このロボット制御装置1では、その切替部119の動作を決める判定部122の動作は事前に決める必要があった。これに対し、この判定部122の動作を学習によって自動で決めることも可能である。
Embodiment 5.
In the robot control device 1 according to the fourth embodiment, the case where the operation of the switching unit 119 is automated is shown. However, in this robot control device 1, it is necessary to determine in advance the operation of the determination unit 122 that determines the operation of the switching unit 119. On the other hand, it is also possible to automatically determine the operation of the determination unit 122 by learning.

図13は実施の形態5に係るロボット制御装置1の構成例を示す図である。図13に示す実施の形態5に係るロボット制御装置1は、図12に示す実施の形態4に係るロボット制御装置1に対し、学習部123及びロボットシミュレータ124を追加している。実施の形態5に係るロボット制御装置1におけるその他の構成は実施の形態4に係るロボット制御装置1と同様であり、同一の符号を付してその説明を省略する。なお図13では、メイン制御部11が有する構成のうち、切替部119、分析部121、判定部122、学習部123及びロボットシミュレータ124以外の構成については記載を省略している。 FIG. 13 is a diagram showing a configuration example of the robot control device 1 according to the fifth embodiment. The robot control device 1 according to the fifth embodiment shown in FIG. 13 has a learning unit 123 and a robot simulator 124 added to the robot control device 1 according to the fourth embodiment shown in FIG. Other configurations of the robot control device 1 according to the fifth embodiment are the same as those of the robot control device 1 according to the fourth embodiment, and the same reference numerals are given and the description thereof will be omitted. In FIG. 13, among the configurations of the main control unit 11, the configurations other than the switching unit 119, the analysis unit 121, the determination unit 122, the learning unit 123, and the robot simulator 124 are omitted.

学習部123は、ロボット2が行う作業内容、ロボット2を動作させるプログラム及びロボット2の制御設定のうちの1つ以上と、切替部119の切替えによるロボット2の動作における性能値との関係を学習する。 The learning unit 123 learns the relationship between one or more of the work contents performed by the robot 2, the program for operating the robot 2, and the control settings of the robot 2 and the performance value in the operation of the robot 2 by switching the switching unit 119. do.

この際、学習部123は、まず、ロボット2が行う作業内容、ロボット2を動作させるプログラム、及び、ロボット2の制御設定のうちの1つ以上の組合せを多数用意し、その組合わせでロボットシミュレータ124のロボット2を模擬的に動作させ、ロボット2の位置姿勢の指令値及び位置姿勢の現在値、並びに、力の指令値及び力の現在値等を取得する。学習部123は、この処理を切替部119が実行可能な全ての組合わせについて行う。そして、学習部123は、位置姿勢の指令値と位置姿勢の現在値との偏差、及び、力の指令値と力の現在値との偏差等を用いて性能を評価し、性能値を算出する。 At this time, the learning unit 123 first prepares a large number of combinations of one or more of the work contents performed by the robot 2, the program for operating the robot 2, and the control settings of the robot 2, and the combination thereof is used as a robot simulator. The robot 2 of 124 is operated in a simulated manner, and the command value of the position and orientation of the robot 2, the current value of the position and orientation, the command value of the force, the current value of the force, and the like are acquired. The learning unit 123 performs this process for all combinations that can be executed by the switching unit 119. Then, the learning unit 123 evaluates the performance using the deviation between the command value of the position / posture and the current value of the position / posture, the deviation between the command value of the force and the current value of the force, and calculates the performance value. ..

より具体的には、学習部123は、ロボット2が行う作業内容、作業開始位置を基準とした位置指令の軌道パタン、作業開始時からの力指令値の時系列パタン、又は、ツール座標系を基準とした各軸のコンプライアンス設定等と、切替部119の制御モード毎の性能値との関係を、教師有り学習で学習する。例えば図14に示すように、学習部123は、作業内容、位置指令軌道、力指令時系列、及び、コンプライアンス設定毎に、制御モード毎の性能値を求め、収集する。学習部123は、上記の処理を多数の事例について行う。なお、ロボットシミュレータ124は必須の構成ではないが、学習部123による学習には非常に多くのデータが必要であるため、その学習は実機ではなくロボットシミュレータ124で行う方がよい。 More specifically, the learning unit 123 determines the work content performed by the robot 2, the trajectory pattern of the position command based on the work start position, the time series pattern of the force command value from the start of the work, or the tool coordinate system. The relationship between the compliance setting of each axis as a reference and the performance value for each control mode of the switching unit 119 is learned by supervised learning. For example, as shown in FIG. 14, the learning unit 123 obtains and collects performance values for each control mode for each work content, position command trajectory, force command time series, and compliance setting. The learning unit 123 performs the above processing for a large number of cases. Although the robot simulator 124 is not an indispensable configuration, it is better to perform the learning by the robot simulator 124 instead of the actual machine because the learning by the learning unit 123 requires a very large amount of data.

学習部123による学習が成功すると、その学習結果に基づいて、これから実行しようとするロボット2の作業内容、ロボット2を動作させるプログラム、又は、ロボット2の制御設定から、切替部119の制御モード毎の性能値を予測することが可能となる。そのため、判定部122は、学習部123による学習結果(性能値)に基づいて、切替部119による切替えを決定する。すなわち、判定部122は、最も高い性能を出すことが予測される制御モードを最良と判断し、その結果を切替部119に通知する。そして、切替部119はその通知に基づいて、ロボット制御装置1内の制御部を有効又は無効に切替える。 When the learning by the learning unit 123 is successful, based on the learning result, the work content of the robot 2 to be executed, the program for operating the robot 2, or the control setting of the robot 2 is selected for each control mode of the switching unit 119. It is possible to predict the performance value of. Therefore, the determination unit 122 determines the switching by the switching unit 119 based on the learning result (performance value) by the learning unit 123. That is, the determination unit 122 determines that the control mode predicted to produce the highest performance is the best, and notifies the switching unit 119 of the result. Then, the switching unit 119 switches the control unit in the robot control device 1 valid or invalid based on the notification.

なお、判定部122は、学習済みのデータに同様な事例が無い場合といった理由で適切な判定が難しい場合は、学習に基づいた判定ではなく、実施の形態4のように、事前に人が決めたルールに従って判定するようにしてもよい。 If it is difficult to make an appropriate determination because there is no similar case in the learned data, the determination unit 122 is not determined based on learning, but is determined in advance by a person as in the fourth embodiment. The judgment may be made according to the above rules.

実施の形態5に係るロボット制御装置1では、判定部122の動作を前もって人が決めなくても、学習した結果に基づいて適切な切替えが自動で決められる。そのため、実施の形態5に係るロボット制御装置1は、実施の形態4に係るロボット制御装置1に対し、切替えルールを決めることが容易となり、また、制御性能が更に向上するといった効果が期待できる。 In the robot control device 1 according to the fifth embodiment, even if the operation of the determination unit 122 is not determined in advance by a person, appropriate switching is automatically determined based on the learned result. Therefore, the robot control device 1 according to the fifth embodiment can easily determine a switching rule with respect to the robot control device 1 according to the fourth embodiment, and can be expected to have an effect that the control performance is further improved.

また、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。例えば、実施の形態1~5では関節角制御部が速度制御を行う例を用いて説明したが、加速度又は電流等の他の物理量の制御を介して位置姿勢の制御を行うことも可能である。 Further, in the present invention, within the scope of the invention, it is possible to freely combine each embodiment, modify any component of each embodiment, or omit any component in each embodiment. be. For example, in the first to fifth embodiments, the joint angle control unit controls the speed, but it is also possible to control the position and posture through the control of other physical quantities such as acceleration or current. ..

1 ロボット制御装置
2 ロボット
11 メイン制御部
15 関節制御部
21 モータ
22 センサ
23 トルクセンサ
24 エンコーダ
111 外乱トルク推定部
112 力演算部
113 トルク指令値変換部
114 力制御部
115 位置姿勢演算部
116 位置姿勢制御部
117 指令値合成部(メイン側指令値合成部)
118 指令値変換部
119 切替部
120 逆運動学演算部
121 分析部
122 判定部
123 学習部
124 ロボットシミュレータ
151 トルク取得部
152 トルク制御部
153 モータ制御部
154 関節角制御部
155 指令値合成部(関節側指令値合成部)
156 指令値合成部(関節側指令値合成部)
157 関節角制御部
158 角度制御部
159 指令値合成部(関節側指令値合成部)
1121 減算器
1122 係数乗算部
1131 係数乗算部
1132 加算器
1141 偏差演算器
1142 係数乗算部
1161 偏差演算器
1162 係数乗算部
1171 加算器
1181 係数乗算部
1211 作業分析部
1212 プログラム分析部
1213 制御設定分析部
1521 減算器
1522 PID制御部
1541 速度変換部
1542 速度制御部
1543 減算器
1544 PI制御部
1551 加算器
1561 加算器
1571 速度変換部
1572 速度制御部
1573 減算器
1574 PI制御部
1581 減算器
1582 P制御部
1591 加算器
1 Robot control device 2 Robot 11 Main control unit 15 Joint control unit 21 Motor 22 Sensor 23 Torque sensor 24 Encoder 111 Disturbance torque estimation unit 112 Force calculation unit 113 Torque command value conversion unit 114 Force control unit 115 Position / posture calculation unit 116 Position / posture Control unit 117 Command value synthesis unit (Main side command value composition unit)
118 Command value conversion unit 119 Switching unit 120 Inverse kinematics calculation unit 121 Analysis unit 122 Judgment unit 123 Learning unit 124 Robot simulator 151 Torque acquisition unit 152 Torque control unit 153 Motor control unit 154 Joint angle control unit 155 Command value synthesis unit (joint) Side command value synthesizer)
156 Command value synthesis unit (joint side command value synthesis unit)
157 Joint angle control unit 158 Angle control unit 159 Command value synthesis unit (joint side command value synthesis unit)
1121 subtractor 1122 coefficient multiplying unit 1131 coefficient multiplying unit 1132 adder 1141 deviation calculator 1142 coefficient multiplying unit 1161 deviation adder 1162 coefficient multiplying unit 1171 adder 1181 coefficient multiplying unit 1211 work analysis unit 1212 program analysis unit 1213 control setting analysis unit 1521 Adder 1522 PID Control 1541 Speed Converter 1542 Speed Control 1543 Adder 1544 PI Control 1551 Adder 1561 Adder 1571 Speed Converter 157 2 Speed Control 1573 Subtractor 1574 PI Control 1581 P Control 1582 P Control 1591 adder

Claims (9)

ロボットの力の指令値及び力の現在値に基づいて力制御の指令値及び当該ロボットが有する関節毎のトルクの指令値を演算し、当該力制御の指令値に基づいて当該関節毎の制御指令値を演算するメイン制御部と、
前記ロボットが有する関節毎に設けられ、対応する関節でのトルクの現在値及び前記メイン制御部により演算されたトルクの指令値に基づいて当該関節でのトルク制御の指令値を演算し、当該トルク制御の指令値及び前記メイン制御部により演算された制御指令値に基づいて当該関節に設けられたモータに対する指令値を演算する関節制御部と、
前記メイン制御部による力制御の指令値の演算及び前記関節制御部によるトルク制御の指令値の演算を有効又は無効に切替える切替部と
を備えたロボット制御装置。
The command value of force control and the command value of torque for each joint of the robot are calculated based on the command value of the force of the robot and the current value of the force, and the control command for each joint is calculated based on the command value of the force control. The main control unit that calculates the value and
A command value for torque control at the joint is calculated based on the current value of the torque at the corresponding joint and the command value of the torque calculated by the main control unit, which is provided for each joint of the robot, and the torque is calculated. A joint control unit that calculates a command value for a motor provided in the joint based on a control command value and a control command value calculated by the main control unit, and a joint control unit.
A robot control device including a switching unit for switching between valid or invalid calculation of a command value for force control by the main control unit and calculation of a command value for torque control by the joint control unit.
前記メイン制御部は、
前記ロボットが有する関節毎の角度の現在値に基づいて重力トルクを含む外乱トルクを推定する外乱トルク推定部と、
前記ロボットが有する関節毎のトルクの現在値及び前記外乱トルク推定部により推定された外乱トルクに基づいて当該ロボットの力の現在値を演算する力演算部と、
前記ロボットの力の指令値及び前記外乱トルク推定部により推定された外乱トルクに基づいて当該ロボットが有する関節毎のトルクの指令値を演算するトルク指令値変換部とを備えた
ことを特徴とする請求項1記載のロボット制御装置。
The main control unit
A disturbance torque estimation unit that estimates a disturbance torque including gravity torque based on the current value of the angle of each joint of the robot, and a disturbance torque estimation unit.
A force calculation unit that calculates the current value of the robot's force based on the current value of the torque of each joint of the robot and the disturbance torque estimated by the disturbance torque estimation unit.
It is characterized by having a torque command value conversion unit that calculates a command value of torque for each joint of the robot based on a command value of the force of the robot and a disturbance torque estimated by the disturbance torque estimation unit. The robot control device according to claim 1.
前記関節制御部は、
トルク制御の指令値及び前記メイン制御部により演算された制御指令値のうちの対応する関節での制御指令値を合成することで、前記モータに対する指令値を得る関節側指令値合成部を備えた
ことを特徴とする請求項1又は請求項2記載のロボット制御装置。
The joint control unit
It is provided with a joint-side command value synthesizer that obtains a command value for the motor by synthesizing the control command value at the corresponding joint among the command value of torque control and the control command value calculated by the main control unit. The robot control device according to claim 1 or 2, wherein the robot control device is characterized by the above.
前記メイン制御部は、制御指令値として角速度の指令値を演算し、
前記関節制御部は、
前記メイン制御部により演算された角速度の指令値に基づいて対応する関節での角速度制御の指令値を演算する関節角制御部と、
トルク制御の指令値及び前記関節角制御部により演算された角速度制御の指令値を合成することで、前記モータに対する指令値を得る関節側指令値合成部とを備えた
ことを特徴とする請求項1又は請求項2記載のロボット制御装置。
The main control unit calculates the command value of the angular velocity as the control command value, and then
The joint control unit
A joint angle control unit that calculates an angular velocity control command value at a corresponding joint based on an angular velocity command value calculated by the main control unit.
The claim is characterized by comprising a joint-side command value synthesizing unit that obtains a command value for the motor by synthesizing a torque control command value and an angular velocity control command value calculated by the joint angle control unit. 1 or the robot control device according to claim 2.
前記メイン制御部は、制御指令値として角速度の指令値を演算し、
前記関節制御部は、
トルク制御の指令値及び前記メイン制御部により演算された角速度の指令値のうちの対応する関節での角速度の指令値を合成する関節側指令値合成部と、
前記関節側指令値合成部による合成結果に基づいて対応する関節での角速度制御の指令値を演算することで、前記モータに対する指令値を得る関節角制御部とを備えた
ことを特徴とする請求項1又は請求項2記載のロボット制御装置。
The main control unit calculates the command value of the angular velocity as the control command value, and then
The joint control unit
A joint-side command value synthesizer that synthesizes the command value of the angular velocity at the corresponding joint among the command value of the torque control and the command value of the angular velocity calculated by the main control unit.
A claim characterized by being provided with a joint angle control unit that obtains a command value for the motor by calculating a command value for angular speed control at a corresponding joint based on a synthesis result by the joint side command value synthesis unit. Item 1 or the robot control device according to claim 2.
前記メイン制御部は、
前記ロボットが有する関節毎の角度の現在値に基づいて、当該ロボットの位置姿勢の現在値を演算する位置姿勢演算部と、
位置姿勢の指令値に基づいて、前記ロボットが有する関節毎の角度の指令値を演算する逆運動学演算部と、
位置姿勢の指令値及び前記位置姿勢演算部により演算された位置姿勢の現在値に基づいて位置姿勢制御の指令値を演算する位置姿勢制御部と、
力制御の指令値及び前記位置姿勢制御部により演算された位置姿勢制御の指令値を合成することで、前記ロボットが有する関節毎の制御指令値を得るメイン側指令値合成部とを備え、
前記関節制御部は、
対応する関節での角度の現在値及び前記逆運動学演算部により演算された角度の指令値に基づいて対応する関節での角度制御の指令値を演算する角度制御部と、
トルク制御の指令値、前記角度制御部により演算された角度制御の指令値及び前記メイン制御部により演算された制御指令値のうちの対応する関節での制御指令値を合成する関節側指令値合成部とを備え、
前記切替部は、前記メイン制御部による力制御の指令値の演算及び位置姿勢制御の指令値の演算、並びに、前記関節制御部によるトルク制御の指令値の演算及び角度制御の指令値の演算を有効又は無効に切替える
ことを特徴とする請求項1から請求項5のうちの何れか1項記載のロボット制御装置。
The main control unit
A position / posture calculation unit that calculates the current value of the position / posture of the robot based on the current value of the angle of each joint of the robot.
An inverse kinematics calculation unit that calculates the command value of the angle of each joint of the robot based on the command value of the position and posture.
A position / posture control unit that calculates a position / posture control command value based on a position / posture command value and a position / posture current value calculated by the position / posture calculation unit.
It is equipped with a main-side command value synthesis unit that obtains control command values for each joint possessed by the robot by synthesizing the command values for force control and the command values for position / attitude control calculated by the position / attitude control unit.
The joint control unit
An angle control unit that calculates the command value for angle control at the corresponding joint based on the current value of the angle at the corresponding joint and the command value of the angle calculated by the inverse kinematics calculation unit.
Joint side command value synthesis that synthesizes the control command value at the corresponding joint among the command value of torque control, the command value of angle control calculated by the angle control unit, and the control command value calculated by the main control unit. With a part,
The switching unit calculates a command value for force control and a command value for position / attitude control by the main control unit, and also calculates a command value for torque control and a command value for angle control by the joint control unit. The robot control device according to any one of claims 1 to 5, wherein the robot control device is switched between valid and invalid.
前記ロボットが行う作業内容、当該ロボットを動作させるプログラム、及び、当該ロボットの制御設定のうちの1つ以上を分析する分析部と、
前記分析部による分析結果に基づいて、前記切替部による切替えを決定する判定部とを備えた
ことを特徴とする請求項1から請求項6のうちの何れか1項記載のロボット制御装置。
An analysis unit that analyzes one or more of the work contents performed by the robot, the program for operating the robot, and the control settings of the robot.
The robot control device according to any one of claims 1 to 6, further comprising a determination unit for determining switching by the switching unit based on an analysis result by the analysis unit.
前記ロボットが行う作業内容、当該ロボットを動作させるプログラム、及び、当該ロボットの制御設定のうちの1つ以上と、前記切替部の切替えによる当該ロボットの動作における性能値との関係を学習する学習部と、
前記判定部は、前記学習部により学習された性能値に基づいて、前記切替部による切替えを決定する
ことを特徴とする請求項7記載のロボット制御装置。
A learning unit that learns the relationship between one or more of the work contents performed by the robot, the program for operating the robot, and the control settings of the robot, and the performance value in the operation of the robot by switching the switching unit. When,
The robot control device according to claim 7, wherein the determination unit determines switching by the switching unit based on the performance value learned by the learning unit.
メイン制御部と、ロボットが有する関節毎に設けられた関節制御部とを備えたロボット制御装置によるロボット制御方法であって、
前記メイン制御部が、前記ロボットの力の指令値及び力の現在値に基づいて力制御の指令値及び当該ロボットが有する関節毎のトルクの指令値を演算し、当該力制御の指令値に基づいて当該関節毎の制御指令値を演算し、
前記関節制御部が、対応する関節でのトルクの現在値及び前記メイン制御部により演算されたトルクの指令値に基づいて当該関節でのトルク制御の指令値を演算し、当該トルク制御の指令値及び前記メイン制御部により演算された制御指令値に基づいて当該関節に設けられたモータに対する指令値を演算し、
切替部が、前記メイン制御部による力制御の指令値の演算及び前記関節制御部によるトルク制御の指令値の演算を有効又は無効に切替える
ことを特徴とするロボット制御方法。
It is a robot control method using a robot control device including a main control unit and a joint control unit provided for each joint of the robot.
The main control unit calculates a force control command value and a torque command value for each joint of the robot based on the force command value of the robot and the current force value, and is based on the force control command value. The control command value for each joint is calculated.
The joint control unit calculates a torque control command value at the joint based on the current value of the torque at the corresponding joint and the torque command value calculated by the main control unit, and the torque control command value. And, based on the control command value calculated by the main control unit, the command value for the motor provided in the joint is calculated.
A robot control method characterized in that a switching unit switches between valid or invalid calculation of a command value for force control by the main control unit and calculation of a command value for torque control by the joint control unit.
JP2020190366A 2020-11-16 2020-11-16 Robot control device and robot control method Withdrawn JP2022079273A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020190366A JP2022079273A (en) 2020-11-16 2020-11-16 Robot control device and robot control method
CN202111325613.9A CN114505849A (en) 2020-11-16 2021-11-10 Robot control device and robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020190366A JP2022079273A (en) 2020-11-16 2020-11-16 Robot control device and robot control method

Publications (1)

Publication Number Publication Date
JP2022079273A true JP2022079273A (en) 2022-05-26

Family

ID=81548651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020190366A Withdrawn JP2022079273A (en) 2020-11-16 2020-11-16 Robot control device and robot control method

Country Status (2)

Country Link
JP (1) JP2022079273A (en)
CN (1) CN114505849A (en)

Also Published As

Publication number Publication date
CN114505849A (en) 2022-05-17

Similar Documents

Publication Publication Date Title
Gierlak et al. Adaptive position/force control for robot manipulator in contact with a flexible environment
JP4896276B2 (en) ROBOT, ROBOT CONTROL DEVICE, CONTROL METHOD, AND CONTROL PROGRAM
Braganza et al. Tracking control for robot manipulators with kinematic and dynamic uncertainty
KR20140147267A (en) Control Method and Device for Position-Based Impedance Controlled Industrial Robot
WO2001038048A1 (en) Robot controller
KR102312368B1 (en) System, method for controlling redundant robot, and a recording medium having computer readable program for executing the method
CN107336244B (en) Intuitive force guiding method and device for robot
Madsen et al. Adaptive feedforward control of a collaborative industrial robot manipulator using a novel extension of the Generalized Maxwell-Slip friction model
US20190287007A1 (en) Machine learning device, servo control device, servo control system, and machine learning method
JP2013136123A (en) Assisting device and assisting method for teaching operation for robot
JP2014136260A (en) Control device
JP2007076807A (en) Power assist device and its adaptive model prediction control method
JP2019020826A (en) Force control device, force control method and force control program
JP2020004080A (en) Output device, control device, and method of outputting evaluation function value
Escorcia-Hernández et al. A new solution for machining with RA-PKMs: Modelling, control and experiments
Gracia et al. Cooperative transport tasks with robots using adaptive non-conventional sliding mode control
JP2008217260A (en) Force feedback apparatus
JP2007102748A (en) Position controller, method and program for controlling position
JP2022079273A (en) Robot control device and robot control method
Baptista et al. Fuzzy predictive algorithms applied to real-time force control
JPH05111889A (en) Control of variable control type robot
Ren et al. Robust adaptive multi-task tracking control of redundant manipulators with dynamic and kinematic uncertainties and unknown disturbances
US8670869B2 (en) Robot controller
JPH10111701A (en) Learning-type automatic cell device and learning method
US20210138652A1 (en) Robot Control Using Model-Predictive Interaction

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20230726