JP7300854B2 - ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD - Google Patents

ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD Download PDF

Info

Publication number
JP7300854B2
JP7300854B2 JP2019043626A JP2019043626A JP7300854B2 JP 7300854 B2 JP7300854 B2 JP 7300854B2 JP 2019043626 A JP2019043626 A JP 2019043626A JP 2019043626 A JP2019043626 A JP 2019043626A JP 7300854 B2 JP7300854 B2 JP 7300854B2
Authority
JP
Japan
Prior art keywords
command value
torque
control unit
joint
control
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.)
Active
Application number
JP2019043626A
Other languages
Japanese (ja)
Other versions
JP2020146765A (en
Inventor
鉄也 田原
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 JP2019043626A priority Critical patent/JP7300854B2/en
Priority to CN202080016903.2A priority patent/CN113508011A/en
Priority to PCT/JP2020/008100 priority patent/WO2020184203A1/en
Publication of JP2020146765A publication Critical patent/JP2020146765A/en
Application granted granted Critical
Publication of JP7300854B2 publication Critical patent/JP7300854B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Description

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

垂直多関節ロボット等のロボット(ロボットアーム)では、位置姿勢と力を同時(並列)に制御対象とするロボット制御装置が用いられている(例えば特許文献1参照)。なお、位置姿勢は、ロボットの位置及び姿勢のうちの少なくとも一方を表す。図9~図11に、ロボット制御装置1bの一例を示す。 A robot (robot arm) such as a vertical multi-joint robot uses a robot control device that simultaneously (parallelly) controls a position/orientation and a force (see, for example, Patent Document 1). Note that the position and orientation represent at least one of the position and orientation of the robot. 9 to 11 show an example of the robot control device 1b.

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

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

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

力演算部111bは、ロボット2が有する関節毎のトルクの現在値に基づいて、ロボット2の力の現在値を演算する。ロボット2が有する関節毎のトルクは関節座標系で表されており、力演算部111bは、関節毎のトルクを直交座標系で表された力に変換する。図11において、τはトルクの現在値を表し、Fは力の現在値を表している。 The force calculation unit 111b calculates the current force value of the robot 2 based on the current torque value of each joint of the robot 2 . The torque of each joint of the robot 2 is expressed in a joint coordinate system, and the force calculation unit 111b converts the torque of each joint into a force expressed in an orthogonal coordinate system. In FIG. 11, τ represents the current value of torque and F represents the current value of force.

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

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

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

指令値合成部115bは、力制御部112bにより演算された力制御の指令値及び位置姿勢制御部114bにより演算された位置姿勢制御の指令値を合成する。この指令値合成部115bでは、加算器1151bで力制御の指令値と位置姿勢制御の指令値とを加算する。 The command value synthesizing 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 the force control and the command value for the position/orientation control.

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

関節制御部12bは、メイン制御部11bからの指令に応じ、対応する関節に設けられたモータ21を制御する。関節制御部12bは、図10に示すように、トルク取得部121b及び関節角制御部122bを備えている。 The joint control section 12b controls the motors 21 provided at the corresponding joints according to commands from the main control section 11b. As shown in FIG. 10, the joint control section 12b includes a torque acquisition section 121b and a joint angle control section 122b.

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

関節角制御部122bは、メイン制御部11bにより演算された角速度の指令値及びロボット2が有する関節毎の角度の現在値に基づいて、対応する関節に設けられたモータ21に対する指令値を演算する。この関節角制御部122bでは、速度変換部1221bで角度の現在値を角速度の現在値に変換し、減算器1223bで角速度の指令値から速度変換部1221bで得られた角速度の現在値を減算し、PI制御部1224bで減算器1223bによる減算結果に基づいてPI制御を行うことで、モータ21に対する指令値を得る。 The joint angle control unit 122b calculates a command value for the motor 21 provided at 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 of each joint of the robot 2. . In the joint angle control unit 122b, the speed conversion unit 1221b converts the current value of the angle into the current value of the angular velocity, and the subtractor 1223b subtracts the current value of the angular velocity obtained by the speed conversion unit 1221b from the command value of the angular velocity. A command value for the motor 21 is obtained by performing PI control based on the result of subtraction by the subtractor 1223b in the PI control unit 1224b.

このように、図9~図11に示すロボット制御装置1bでは、複数の関節を連携して操作する必要があり、メイン制御部11bで、多関節の自由度(例えば6自由度)に対して位置姿勢と力を同時に制御演算した結果を合成し、当該合成結果を各軸の関節制御部12bへの信号に変換してから出力する。すなわち、このロボット制御装置1bでは、メイン制御部11bでコンプライアンス制御の主要な演算を実行する。そのため、このロボット制御装置1bでは、調整すべきパラメータを合理的に統合できる等のメリットがある。 As described above, in the robot control device 1b shown in FIGS. 9 to 11, it is necessary to operate a plurality of joints in cooperation. The results of simultaneously controlling and calculating the position/orientation and force are combined, and the combined results are converted into signals to the joint control unit 12b for each axis and then output. That is, in the robot control device 1b, the main control section 11b executes the main computations of the compliance control. Therefore, the robot control device 1b has merits such as being able to rationally integrate the parameters to be adjusted.

特開2016-168650号公報JP 2016-168650 A

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

この発明は、上記のような課題を解決するためになされたもので、従来構成に対して力制御の性能を向上可能なロボット制御装置を提供することを目的としている。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a robot controller capable of improving the performance of force control compared to the conventional configuration.

この発明に係るロボット制御装置は、力の指令値及び位置姿勢の指令値並びにロボットが複数有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び位置姿勢制御の指令値を演算するメイン制御部と、ロボットが複数有する関節毎に設けられ、関節毎のトルクの現在値を検知可能な手段から取得された対応する関節でのトルクの現在値並びにメイン制御部により演算されたトルクの指令値及び位置姿勢制御の指令値に基づいて、対応する関節に設けられたモータに対する指令値を演算する関節制御部とを備え、メイン制御部は、力の指令値を、ロボットが複数有する関節毎のトルクの指令値に変換するトルク指令値変換部を有し、関節制御部は、対応する関節でのトルクの現在値及びメイン制御部により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算するトルク制御部と、トルク制御部により演算されたトルク制御の指令値と、メイン制御部により演算された位置姿勢制御の指令値又はメイン制御部により演算された位置姿勢制御の指令値に基づいて速度、加速度、電流又はトルクの制御の指令値を演算する関節角制御部により演算された制御の指令値とを合成する指令値合成部とを有することを特徴とする。 A robot controller according to the present invention provides a torque command value and a position/posture control command value for each joint based on a force command value, a position/posture command value, and a current angle value for each of a plurality of joints of a robot. and a current value of torque at the corresponding joint, which is provided for each joint of the robot and which is capable of detecting the current value of torque for each joint, and is calculated by the main control unit. a joint control unit for calculating a command value for a motor provided at a corresponding joint based on the torque command value and the position/orientation control command value; It has a torque command value conversion unit that converts to a torque command value for each of a plurality of joints, and the joint control unit is based on the current torque value at the corresponding joint and the torque command value calculated by the main control unit. , a torque control unit for calculating a torque control command value, a torque control command value calculated by the torque control unit, a position/orientation control command value calculated by a main control unit, or a position calculated by the main control unit and a command value synthesizing unit for synthesizing the control command values calculated by the joint angle control unit for calculating the speed, acceleration, current or torque control command values based on the attitude control command values. do.

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

実施の形態1に係るロボット制御装置の構成例を示す図である。1 is a diagram showing a configuration example of a robot control device according to Embodiment 1; FIG. 実施の形態1に係るロボット制御装置の構成例を示す図である。1 is a diagram showing a configuration example of a robot control device according to Embodiment 1; FIG. 実施の形態1に係るロボット制御装置の動作例を示すフローチャートである。4 is a flowchart showing an operation example of the robot control device according to Embodiment 1; 実施の形態1におけるメイン制御部の動作例を示すフローチャートである。4 is a flow chart showing an operation example of a main control unit according to Embodiment 1; 実施の形態1における関節制御部の動作例を示すフローチャートである。4 is a flow chart showing an operation example of a joint control unit according to Embodiment 1. FIG. 図6A、図6Bは、実施の形態1に係るロボット制御装置による効果を説明するための図であり、図6Aは実施の形態1に係るロボット制御装置を用いた場合でのシミュレーション結果の一例を示す図であり、図6Bは従来のロボット制御装置を用いた場合でのシミュレーション結果の一例を示す図である。6A and 6B are diagrams for explaining the effect of the robot control device according to the first embodiment, and FIG. 6A shows an example of simulation results when the robot control device according to the first embodiment is used. FIG. 6B is a diagram showing an example of a simulation result when a conventional robot control device is used; 実施の形態2に係るロボット制御装置の構成例を示す図である。FIG. 10 is a diagram showing a configuration example of a robot control device according to Embodiment 2; 実施の形態2に係るロボット制御装置の構成例を示す図である。FIG. 10 is a diagram showing a configuration example of a robot control device according to Embodiment 2; 従来のロボット制御装置を含むロボットシステムの構成例を示す図である。1 is a diagram showing a configuration example of a robot system including a conventional robot control device; FIG. 従来のロボット制御装置の構成例を示す図である。It is a figure which shows the structural example of the conventional robot control apparatus. 従来のロボット制御装置の構成例を示す図である。It is a figure which shows the structural example of the conventional robot control apparatus.

以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1,2は実施の形態1に係るロボット制御装置1の構成例を示す図である。なお、ロボット制御装置1とロボット2との関係は、図9と同様であり、その説明を省略する。
ロボット制御装置1は、ロボット2の位置姿勢と力を同時(並列)に制御する。ロボット制御装置1は、図1,2に示すように、メイン制御部(上位コントローラ)11、及び複数の関節制御部(下位コントローラ)12を備えている。関節制御部12は、ロボット2が有する関節毎に設けられている。なお、メイン制御部11と各関節制御部12との間は通信線により接続されている。
BEST MODE FOR CARRYING OUT THE INVENTION 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 a robot control device 1 according to Embodiment 1. FIG. Note that the relationship between the robot control device 1 and the robot 2 is the same as in FIG. 9, and the description thereof will be omitted.
The robot control device 1 simultaneously (in parallel) controls the position/orientation and force of the robot 2 . As shown in FIGS. 1 and 2, the robot control device 1 includes a main controller (upper controller) 11 and a plurality of joint controllers (lower controllers) 12 . The joint controller 12 is provided for each joint of the robot 2 . The main controller 11 and each joint controller 12 are connected by communication lines.

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

トルク指令値変換部111は、力の指令値を、ロボット2が有する関節毎のトルクの指令値に変換する。トルク指令値変換部111は、係数乗算部1111を有している。係数乗算部1111は、力の指令値に対してヤコビ行列の転置行列を乗算する。力の指令値は直交座標系で表されており、トルク指令値変換部111は、力の指令値を関節座標系で表されたトルクの指令値に変換する。図2において、Frは力の指令値を表し、Jはヤコビ行列を表し、τrはトルクの指令値を表している。 The torque command value conversion unit 111 converts the force command value into a torque command value for each joint of the robot 2 . The torque command value conversion section 111 has a coefficient multiplication section 1111 . A coefficient multiplier 1111 multiplies the force command value by the transposed matrix of the Jacobian matrix. The force command value is expressed in an orthogonal coordinate system, and the torque command value converter 111 converts the force command value into a torque command value expressed in the joint coordinate system. In FIG. 2, Fr represents a force command value, J represents a Jacobian matrix, and τr represents a torque command value.

位置姿勢演算部112は、ロボット2が有する関節毎の角度の現在値に基づいて、ロボット2の位置姿勢の現在値を演算する。ロボット2が有する関節毎の角度は関節座標系で表されており、位置姿勢演算部112は、関節毎の角度を直交座標系で表された位置姿勢に変換する。なおロボット2が有する関節毎の角度の現在値は、当該関節毎に設けられたエンコーダ24により検出される。図2において、θは角度の現在値を表し、Xは位置姿勢の現在値を表している。 The position/posture calculation unit 112 calculates the current values of the position/posture of the robot 2 based on the current values of the angles of the joints of the robot 2 . The angle of each joint of the robot 2 is expressed in a joint coordinate system, and the position/orientation calculator 112 converts the angle of each joint into a position/orientation expressed in an orthogonal coordinate system. The current value of the angle for 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.

位置姿勢制御部113は、位置姿勢の指令値及び位置姿勢演算部112により演算された位置姿勢の現在値に基づいて、速度の指令値(位置姿勢制御の指令値)を演算する。位置姿勢制御部113は、偏差演算器1131及び係数乗算部1132を有している。 The position/attitude control unit 113 calculates a velocity command value (position/attitude control command value) based on the position/attitude command value and the position/attitude current value calculated by the position/attitude calculation unit 112 . The position/posture control unit 113 has a deviation calculator 1131 and a coefficient multiplier 1132 .

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

指令値変換部114は、位置姿勢制御部113により演算された速度の指令値を、ロボット2が有する関節毎の角速度の指令値に変換する。指令値変換部114は、係数乗算部1141を有している。係数乗算部1141は、位置姿勢制御部113により演算された速度の指令値に対してヤコビ行列の逆行列を乗算する。すなわち、指令値変換部114は、直交座標系で表された指令値を関節座標系で表された指令値に変換する。図2において、θ(ドット)rは角速度の指令値を表している。 The command value conversion unit 114 converts the speed command value calculated by the position/orientation control unit 113 into an angular speed command value for each joint of the robot 2 . The command value conversion section 114 has a coefficient multiplication section 1141 . The coefficient multiplier 1141 multiplies the velocity command value calculated by the position/orientation controller 113 by the inverse of the Jacobian matrix. That is, the command value converter 114 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.

関節制御部12は、メイン制御部11からの指令に応じ、対応する関節に設けられたモータ21を制御する。具体的には、関節制御部12は、対応する関節でのトルクの現在値並びにメイン制御部11により演算されたトルクの指令値及び角速度の指令値(位置姿勢制御の指令値)に基づいて、対応する関節に設けられたモータ21に対する指令値を演算する。関節制御部12は、図1に示すように、トルク取得部121、トルク制御部122及びモータ制御部123を備えている。モータ制御部123は、関節角制御部124及び指令値合成部125を有している。 The joint control unit 12 controls the motors 21 provided at the corresponding joints according to commands from the main control unit 11 . Specifically, based on the current torque value at the corresponding joint and the torque command value and the angular velocity command value (position/orientation control command value) calculated by the main control unit 11, the joint control unit 12: A command value for the motor 21 provided at the corresponding joint is calculated. The joint control unit 12 includes a torque acquisition unit 121, a torque control unit 122, and a motor control unit 123, as shown in FIG. The motor controller 123 has a joint angle controller 124 and a command value synthesizer 125 .

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

トルク制御部122は、対応する関節でのトルクの現在値及びメイン制御部11により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算する。トルク制御部122は、減算器1221及びPI制御部1222を有している。 The torque control unit 122 calculates a command value for torque control based on the current torque value at the corresponding joint and the torque command value calculated by the main control unit 11 . The torque control section 122 has a subtractor 1221 and a PI control section 1222 .

減算器1221は、メイン制御部11により演算されたトルクの指令値から、トルク取得部121により取得されたトルクの現在値を減算する。
PI制御部1222は、減算器1221による減算結果に基づいてPI制御を行うことで、トルク制御の指令値を得る。
The subtractor 1221 subtracts the current torque value obtained by the torque obtaining unit 121 from the torque command value calculated by the main control unit 11 .
The PI control unit 1222 obtains a command value for torque control by performing PI control based on the subtraction result of the subtractor 1221 .

関節角制御部124は、メイン制御部11により演算された角速度の指令値に基づいて、角速度制御の指令値を演算する。関節角制御部124は、速度変換部1241及び速度制御部1242を有している。速度制御部1242は、減算器1243及びPI制御部1244を有している。 The joint angle control unit 124 calculates an angular velocity control command value based on the angular velocity command value calculated by the main control unit 11 . The joint angle control section 124 has a speed conversion section 1241 and a speed control section 1242 . The speed control section 1242 has a subtractor 1243 and a PI control section 1244 .

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

減算器1243は、メイン制御部11により演算された角速度の指令値から、速度変換部1241により得られた角速度の現在値を減算する。
PI制御部1244は、減算器1243による減算結果に基づいてPI制御を行うことで、角速度制御の指令値を得る。
The subtractor 1243 subtracts the current value of the angular velocity obtained by the velocity converter 1241 from the command value of the angular velocity calculated by the main controller 11 .
The PI control unit 1244 obtains a command value for angular velocity control by performing PI control based on the subtraction result of the subtractor 1243 .

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

次に、図1,2に示す実施の形態1に係るロボット制御装置1の動作例について、図3を参照しながら説明する。
図1,2に示す実施の形態1に係るロボット制御装置1の動作例では、図3に示すように、まず、メイン制御部11は、力の指令値及び位置姿勢の指令値並びにロボット2が有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び角速度の指令値(位置姿勢制御の指令値)を演算する(ステップST301)。
Next, an operation example of the robot control device 1 according to Embodiment 1 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, as shown in FIG. A torque command value and an angular velocity command value (position/orientation control command value) for each joint are calculated based on the current value of the angle of each joint (step ST301).

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

次に、図1,2に示すメイン制御部11の動作例について、図4を参照しながら説明する。
図1,2に示すメイン制御部11の動作例では、図4に示すように、まず、トルク指令値変換部111は、力の指令値を、ロボット2が有する関節毎のトルクの指令値に変換する(ステップST401)。図1,2では、係数乗算部1111が、力の指令値に対してヤコビ行列の転置行列を乗算する。なお、ヤコビ行列はロボット2の関節の角度によって変わるので、適宜更新する必要がある。また、トルク取得部121が取得するトルクの現在値は通常、重力に起因するトルク成分を含むので、このトルク成分を相殺するようトルク指令値にこの重力起因トルク成分の推定値を重畳すると良い。
Next, an operation example of the main control section 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, as shown in FIG. Convert (step ST401). 1 and 2, the coefficient multiplier 1111 multiplies the force command value by the transposed matrix of the Jacobian matrix. Note that the Jacobian matrix changes depending on the angles of the joints of the robot 2, so it needs to be updated as appropriate. In addition, since the current value of the torque acquired by the torque acquisition unit 121 usually includes a torque component caused by gravity, it is preferable to superimpose the estimated value of the torque component caused by gravity on the torque command value so as to cancel out the torque component.

また、位置姿勢演算部112は、ロボット2が有する関節毎の角度の現在値に基づいて、ロボット2の位置姿勢の現在値を演算する(ステップST402)。 Further, the position/orientation calculation section 112 calculates the current values of the position/orientation of the robot 2 based on the current values of the angles of the joints of the robot 2 (step ST402).

次いで、位置姿勢制御部113は、位置姿勢の指令値及び位置姿勢演算部112により演算された位置姿勢の現在値に基づいて、速度の指令値(位置姿勢制御の指令値)を演算する(ステップST403)。図1,2では、偏差演算器1131が、位置姿勢の指令値と位置姿勢の現在値との間の偏差を演算し、係数乗算部1132が、偏差演算器1131による演算結果の偏差に対してゲインを乗算することで、速度の指令値を得る。なお、位置の偏差は、指令値の座標値から現在値の座標値を減算することで得られる。姿勢の偏差は、現在値の姿勢から指令値の姿勢への回転変換を求めることで得ることができる。 Next, the position/attitude control unit 113 calculates a velocity command value (position/attitude control command value) based on the position/attitude command value and the current position/attitude value calculated by the position/attitude calculation unit 112 (step ST403). 1 and 2, the deviation calculator 1131 calculates the deviation between the command value of the position and orientation and the current value of the position and orientation, and the coefficient multiplier 1132 calculates the deviation of the calculation result of the deviation calculator 1131. By multiplying the gain, the speed command value is obtained. The positional deviation 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 calculating the rotational transformation from the current attitude to the commanded attitude.

次いで、指令値変換部114は、位置姿勢制御部113により演算された速度の指令値を、ロボット2が有する関節毎の角速度の指令値に変換する(ステップST404)。図1,2では、係数乗算部1141が、位置姿勢制御部113により演算された速度の指令値に対してヤコビ行列の逆行列を乗算することで、関節毎の角速度の指令値を得る。 Next, the command value conversion unit 114 converts the speed command value calculated by the position/orientation control unit 113 into an angular speed command value for each joint of the robot 2 (step ST404). 1 and 2, the coefficient multiplier 1141 multiplies the speed command value calculated by the position/orientation controller 113 by the inverse of the Jacobian matrix to obtain the angular velocity command value for each joint.

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

次いで、トルク制御部122は、対応する関節でのトルクの現在値及びメイン制御部11により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算する(ステップST502)。図1,2では、減算器1221が、メイン制御部11により演算されたトルクの指令値からトルク取得部121により取得されたトルクの現在値を減算し、PI制御部1222が、減算器1221による減算結果に基づいてPI制御を行うことで、トルク制御の指令値を得る。 Next, the torque control section 122 calculates a torque control command value based on the current torque value at the corresponding joint and the torque command value calculated by the main control section 11 (step ST502). 1 and 2, the subtractor 1221 subtracts the current torque value acquired by the torque acquisition unit 121 from the torque command value calculated by the main control unit 11, and the PI control unit 1222 A command value for torque control is obtained by performing PI control based on the subtraction result.

また、関節角制御部124は、メイン制御部11により演算された角速度の指令値に基づいて、角速度制御の指令値を演算する(ステップST503)。図1,2では、速度変換部1241が、対応する関節での角度の現在値を角速度の現在値に変換し、減算器1243が、メイン制御部11により演算された角速度の指令値から速度変換部1241により得られた角速度の現在値を減算し、PI制御部1244が、減算器1243による減算結果に基づいてPI制御を行うことで、角速度制御の指令値を得る。 Further, the joint angle control section 124 calculates a command value for angular velocity control based on the command value for the angular velocity calculated by the main control section 11 (step ST503). 1 and 2, a velocity converter 1241 converts the current value of the angle at the corresponding joint into the current value of the angular velocity, and the subtractor 1243 converts the angular velocity command value calculated by the main controller 11 into the velocity. The current value of the angular velocity obtained by the section 1241 is subtracted, and the PI control section 1244 performs PI control based on the subtraction result of the subtractor 1243 to obtain the command value of the angular velocity control.

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

次に、実施の形態1に係るロボット制御装置1による効果について説明する。
上述したように、従来のロボット制御装置1bでは、メイン制御部11bでフィードバック系を構成している。すなわち、このロボット制御装置1bでは、ロボット2から物理的にも通信的にも距離のある構成要素でフィードバック制御演算を行うことになる。よって、トルクセンサ23によるトルクの検出からモータ21への指令値の入力までの遅延が長くなる。その結果、このロボット制御装置1では、不可避的にむだ時間が入り込む余地が多くなり、安定性を維持できるハイゲイン化を抑制する要因になる。また、むだ時間自体も、リード補償等でキャンセルできる要素ではないため、応答時間への悪影響は避けられない。
Next, effects 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 main control section 11b constitutes a feedback system. That is, in this robot control device 1b, feedback control calculations are performed by components that are physically and communicatively distant from the robot 2. FIG. 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 becomes longer. As a result, in the robot control device 1, there is an unavoidable amount of room for dead time, which is a factor in suppressing a high gain that can maintain stability. In addition, the dead time itself is not a factor that can be canceled by lead compensation or the like, so it cannot be avoided that it adversely affects the response time.

これに対し、実施の形態1に係るロボット制御装置1のように、メイン制御部11で力制御に対する演算を実施するのではなく、関節制御部12でトルク制御に対する演算を実施することで、トルクセンサ23によるトルクの検出からモータ21への指令値の入力までの遅延が短くなり、むだ時間が入り込む余地を削減できる。すなわち、実施の形態1に係るロボット制御装置1は、安定性を維持できるコントローラのハイゲイン化に相当する調整(関節単位の1変数制御のゲイン調整)も可能になる。このように、実施の形態1に係るロボット制御装置1では、従来構成に対して力制御の性能(特に速応性)の向上が可能となる。 On the other hand, unlike the robot control device 1 according to Embodiment 1, instead of the main control unit 11 performing calculations for force control, the joint control unit 12 performs calculations for torque control. The delay from the torque detection by the sensor 23 to the input of the command value to the motor 21 is shortened, and the dead time can be reduced. That is, the robot control device 1 according to Embodiment 1 can also perform adjustment (gain adjustment of 1-variable control for each joint) equivalent to increasing the gain of the controller capable of maintaining stability. As described above, in the robot control device 1 according to Embodiment 1, it is possible to improve the force control performance (especially quick response) compared to the conventional configuration.

図6は、実施の形態1に係るロボット制御装置1による効果を説明するための図である。図6Aは実施の形態1に係るロボット制御装置1を用いた場合でのシミュレーション結果の一例を示す図であり、図6Bは従来のロボット制御装置1bを用いた場合でのシミュレーション結果の一例を示す図である。図6では、ロボット2で物体をZ軸方向に押し付けた際のシミュレーション結果を示している。なお、ロボット2による押付け力の目標値は10[N]としている。図6A及び図6Bにおいて、横軸は時間[s]を示し、縦軸はロボット2によるZ軸方向への押付け力を示している。
この場合、図6Bに示すように、従来のロボット制御装置1bを用いた場合には、ロボット2によるZ軸方向への押付け力が目標値に整定するまでの時間(整定時間)が3.03[s]となっている。これに対し、図6Aに示すように、実施の形態1に係るロボット制御装置1を用いた場合には、整定時間が0.47[s]となっている。すなわち、実施の形態1に係るロボット制御装置1を用いた場合には、従来のロボット制御装置1bを用いた場合に対し、ロボット2によるZ軸方向への押付け力が短い時間で目標値に整定していることがわかる。
FIG. 6 is a diagram for explaining the effects of the robot control device 1 according to the first embodiment. FIG. 6A is a diagram showing an example of simulation results when using the robot control device 1 according to Embodiment 1, and FIG. 6B shows an example of simulation results when using a conventional robot control device 1b. It is a diagram. FIG. 6 shows simulation results when the robot 2 presses an object in the Z-axis direction. Note that the target value of the pressing force by the robot 2 is 10 [N]. 6A and 6B, the horizontal axis indicates time [s], and the vertical axis indicates the pressing force of the robot 2 in the Z-axis direction.
In this case, as shown in FIG. 6B, when the conventional robot control device 1b is used, the time (settling time) until the pressing force in the Z-axis direction by the robot 2 settles to the target value is 3.03. [s]. On the other hand, as shown in FIG. 6A, when the robot control device 1 according to Embodiment 1 is used, the settling time is 0.47 [s]. That is, when the robot control device 1 according to the first embodiment is used, the pressing force in the Z-axis direction by the robot 2 settles to the target value in a shorter time than when the conventional robot control device 1b is used. I know you are.

また図6Bでは、従来のロボット制御装置1bにおける、力偏差の算出から速度指令値の算出までのゲインは、-2.0×10-3となる。これに対し、図6Aでは、実施の形態1に係るロボット制御装置1における、力偏差の算出から速度指令値の算出までのゲインに相当する等価ゲインは、-9.2×10-3となる。すなわち、実施の形態1に係るロボット制御装置1では、従来のロボット制御装置1bに対して高いゲインでの力制御が実現できていることがわかる。なお、実施の形態1に係るロボット制御装置1では、実際には力偏差から速度指令値を算出していないので、上記で示したゲインは実際のゲインではなく換算値である。 In FIG. 6B, the gain from the calculation of the force deviation to the calculation of the speed command value in the conventional robot control device 1b is -2.0×10 -3 . On the other hand, in FIG. 6A, the equivalent gain corresponding to the gain from the calculation of the force deviation to the calculation of the speed command value in the robot control device 1 according to Embodiment 1 is −9.2×10 −3 . . That is, it can be seen that the robot control device 1 according to the first embodiment can achieve force control with a higher gain than the conventional robot control device 1b. Note that the robot control device 1 according to the first embodiment does not actually calculate the speed command value from the force deviation, so the gains shown above are not actual gains but converted values.

なお、図1,2に示すロボット制御装置1では、速度制御に関するゲインを0にすることで単体のトルク制御を実現でき、また、トルク制御に関するゲインを0にすることで通常の速度制御を実現できる。 In the robot control device 1 shown in FIGS. 1 and 2, a single torque control can be realized by setting the gain related to speed control to 0, and normal speed control can be realized by setting the gain related to torque control to 0. can.

以上のように、この実施の形態1によれば、ロボット制御装置1は、力の指令値及び位置姿勢の指令値並びにロボット2が有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び位置姿勢制御の指令値を演算するメイン制御部11と、ロボット2が有する関節毎に設けられ、対応する関節でのトルクの現在値並びにメイン制御部11により演算されたトルクの指令値及び位置姿勢制御の指令値に基づいて、対応する関節に設けられたモータ21に対する指令値を演算する関節制御部12とを備えた。これにより、実施の形態1に係るロボット制御装置1は、従来構成に対して力制御の性能を向上可能となる。 As described above, according to the first embodiment, the robot control device 1 calculates the force command value, the position/orientation command value, and the current angle value of each joint of the robot 2 . A main control unit 11 for calculating a command value of torque and a command value for position/orientation control, and a current value of the torque at the corresponding joint provided for each joint of the robot 2 and the torque value calculated by the main control unit 11 . A joint control unit 12 for calculating a command value for a motor 21 provided at a corresponding joint based on the command value and the command value for position/orientation control. As a result, the robot control device 1 according to the first embodiment can improve force control performance compared to the conventional configuration.

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

実施の形態2.
実施の形態1では、関節制御部12において、メイン制御部11で演算された角速度の指令値(位置姿勢制御の指令値)を用いて角速度制御の指令値を演算し、その後、トルク制御の指令値及び角速度制御の指令値を合成する場合を示した。しかしながら、これに限らず、関節制御部12において、トルク制御の指令値及びメイン制御部11で演算された角速度の指令値(位置姿勢制御の指令値)を合成した後、その合成結果を用いて角速度制御の指令値を演算してもよい。
図7,8は実施の形態2に係るロボット制御装置1の構成例を示す図である。図7,8に示す実施の形態2に係るロボット制御装置1は、図1,2に示す実施の形態1に係るロボット制御装置1に対し、関節角制御部124及び指令値合成部125を指令値合成部126及び関節角制御部127に変更している。その他の構成は同様であり、同一の符号を付してその説明を省略する。
Embodiment 2.
In the first embodiment, in the joint control unit 12, a command value for angular velocity control is calculated using the command value for angular velocity (command value for position/orientation control) calculated by the main control unit 11, and then a command value for torque control is calculated. A case of synthesizing a value and a command value for angular velocity control is shown. However, the invention is not limited to this. A command value for angular velocity control may be calculated.
7 and 8 are diagrams showing configuration examples of the robot control device 1 according to the second embodiment. The robot control device 1 according to Embodiment 2 shown in FIGS. The value synthesizing unit 126 and the joint angle control unit 127 are changed. Other configurations are the same, and the same reference numerals are given to omit the description.

指令値合成部126は、メイン制御部11により演算された角速度の指令値(位置姿勢制御の指令値)及びトルク制御部122により演算されたトルク制御の指令値を合成する。図8では、指令値合成部126は、加算器1261を有する。加算器1261は、メイン制御部11により演算された角速度の指令値とトルク制御部122により演算されたトルク制御の指令値とを加算する。 The command value synthesizing unit 126 synthesizes the angular velocity command value (position/orientation control command value) calculated by the main control unit 11 and the torque control command value calculated by the torque control unit 122 . In FIG. 8 , command value synthesizing section 126 has adder 1261 . The adder 1261 adds the angular velocity command value calculated by the main control unit 11 and the torque control command value calculated by the torque control unit 122 .

関節角制御部127は、指令値合成部126による合成結果に基づいて、角速度制御の指令値を演算する。関節角制御部127は、速度変換部1271及び速度制御部1272を有している。速度制御部1272は、減算器1273及びPI制御部1274を有している。 The joint angle control section 127 calculates a command value for angular velocity control based on the result of synthesis by the command value synthesis section 126 . The joint angle control section 127 has a speed conversion section 1271 and a speed control section 1272 . The speed control section 1272 has a subtractor 1273 and a PI control section 1274 .

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

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

このように、実施の形態2に係るロボット制御装置1では、位置姿勢制御の指令値及びトルク制御の指令値を合成し、その合成結果に基づいて角速度制御を実施する。この実施の形態2に係るロボット制御装置1についても、実施の形態1に係るロボット制御装置1と同様の効果が得られる。また、実施の形態2に係るロボット制御装置1は、従来のコンプライアンス制御に近い対応関係となる。 As described above, in the robot control apparatus 1 according to the second embodiment, the command value for position/orientation control and the command value for torque control are combined, and angular velocity control is performed based on the combined result. The same effect as the robot control device 1 according to the first embodiment can be obtained with 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 conventional compliance control.

また、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。例えば、実施の形態1,2では関節角制御部が速度制御を行う例を用いて説明したが、加速度又は電流等の他の物理量の制御を介して位置姿勢の制御を行うことも可能である。 In addition, within the scope of the present 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 Embodiments 1 and 2, the joint angle control unit performs velocity control, but it is also possible to control the position and orientation through control of other physical quantities such as acceleration or current. .

1 ロボット制御装置
2 ロボット
11 メイン制御部
12 関節制御部
21 モータ
22 センサ
23 トルクセンサ
24 エンコーダ
111 トルク指令値変換部
112 位置姿勢演算部
113 位置姿勢制御部
114 指令値変換部
121 トルク取得部
122 トルク制御部
123 モータ制御部
124 関節角制御部
125 指令値合成部
126 指令値合成部
127 関節角制御部
1111 係数乗算部
1131 偏差演算器
1132 係数乗算部
1141 係数乗算部
1221 減算器
1222 PI制御部
1241 速度変換部
1242 速度制御部
1243 減算器
1244 PI制御部
1251 加算器
1261 加算器
1271 速度変換部
1272 速度制御部
1273 減算器
1274 PI制御部
1 robot control device 2 robot 11 main control unit 12 joint control unit 21 motor 22 sensor 23 torque sensor 24 encoder 111 torque command value conversion unit 112 position/attitude calculation unit 113 position/attitude control unit 114 command value conversion unit 121 torque acquisition unit 122 torque Control unit 123 Motor control unit 124 Joint angle control unit 125 Command value synthesis unit 126 Command value synthesis unit 127 Joint angle control unit 1111 Coefficient multiplication unit 1131 Deviation calculator 1132 Coefficient multiplication unit 1141 Coefficient multiplication unit 1221 Subtractor 1222 PI control unit 1241 Speed converter 1242 Speed controller 1243 Subtractor 1244 PI controller 1251 Adder 1261 Adder 1271 Speed converter 1272 Speed controller 1273 Subtractor 1274 PI controller

Claims (4)

力の指令値及び位置姿勢の指令値並びにロボットが複数有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び位置姿勢制御の指令値を演算するメイン制御部と、
前記ロボットが複数有する関節毎に設けられ、関節毎のトルクの現在値を検知可能な手段から取得された対応する関節でのトルクの現在値並びに前記メイン制御部により演算されたトルクの指令値及び位置姿勢制御の指令値に基づいて、対応する関節に設けられたモータに対する指令値を演算する関節制御部とを備え、
前記メイン制御部は、
力の指令値を、ロボットが複数有する関節毎のトルクの指令値に変換するトルク指令値変換部を有し、
前記関節制御部は、
対応する関節でのトルクの現在値及び前記メイン制御部により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算するトルク制御部と、
前記トルク制御部により演算されたトルク制御の指令値と、前記メイン制御部により演算された位置姿勢制御の指令値又は前記メイン制御部により演算された位置姿勢制御の指令値に基づいて速度、加速度、電流又はトルクの制御の指令値を演算する関節角制御部により演算された制御の指令値とを合成する指令値合成部とを有する
ことを特徴とするロボット制御装置。
a main control unit that calculates a torque command value and a position/attitude control command value for each joint based on a force command value, a position/posture command value, and a current angle value for each of a plurality of joints of the robot;
A current value of torque at the corresponding joint, which is provided for each of the plurality of joints of the robot and is obtained from means capable of detecting the current value of torque at each joint, and a torque command value calculated by the main control unit; a joint control unit that calculates a command value for a motor provided at a corresponding joint based on a command value for position/orientation control;
The main control unit
a torque command value conversion unit that converts a force command value into a torque command value for each of a plurality of joints of the robot;
The joint control unit is
a torque control unit that calculates a command value for torque control based on the current torque value at the corresponding joint and the torque command value calculated by the main control unit;
Velocity and acceleration based on the torque control command value calculated by the torque control unit, the position/attitude control command value calculated by the main control unit, or the position/attitude control command value calculated by the main control unit and a command value synthesizing unit for synthesizing the control command value calculated by the joint angle control unit for calculating a command value for current or torque control.
前記指令値合成部は、前記メイン制御部により演算された位置姿勢制御の指令値及び前記トルク制御部により演算されたトルク制御の指令値を合成することで、前記モータに対する指令値を得る
ことを特徴とする請求項1記載のロボット制御装置。
The command value synthesizing unit obtains a command value for the motor by synthesizing the position/orientation control command value calculated by the main control unit and the torque control command value calculated by the torque control unit. 2. The robot control device according to claim 1.
前記関節制御部は、前記関節角制御部を有し、
前記関節制御部は、前記メイン制御部により演算された位置姿勢制御の指令値に基づいて、角速度制御の指令値を演算し、
前記指令値合成部は、前記トルク制御部により演算されたトルク制御の指令値及び前記関節角制御部により演算された角速度制御の指令値を合成することで、前記モータに対する指令値を得る
ことを特徴とする請求項1記載のロボット制御装置。
The joint control section has the joint angle control section,
The joint angle control unit calculates a command value for angular velocity control based on the command value for position/orientation control calculated by the main control unit,
The command value synthesis unit obtains a command value for the motor by synthesizing the torque control command value calculated by the torque control unit and the angular velocity control command value calculated by the joint angle control unit. 2. The robot control device according to claim 1.
メイン制御部と、ロボットが複数有する関節毎に設けられた関節制御部とを備えたロボット制御装置によるロボット制御方法であって、
前記メイン制御部は、力の指令値及び位置姿勢の指令値並びにロボットが複数有する関節毎の角度の現在値に基づいて、当該関節毎のトルクの指令値及び位置姿勢制御の指令値を演算し、
前記関節制御部は、関節毎のトルクの現在値を検知可能な手段から取得された対応する関節でのトルクの現在値並びに前記メイン制御部により演算されたトルクの指令値及び位置姿勢制御の指令値に基づいて、対応する関節に設けられたモータに対する指令値を演算し、
前記メイン制御部は、
力の指令値を、ロボットが複数有する関節毎のトルクの指令値に変換するトルク指令値変換部を有し、
前記関節制御部は、
対応する関節でのトルクの現在値及び前記メイン制御部により演算されたトルクの指令値に基づいて、トルク制御の指令値を演算するトルク制御部と、
前記トルク制御部により演算されたトルク制御の指令値と、前記メイン制御部により演算された位置姿勢制御の指令値又は前記メイン制御部により演算された位置姿勢制御の指令値に基づいて速度、加速度、電流又はトルクの制御の指令値を演算する関節角制御部により演算された制御の指令値とを合成する指令値合成部とを有する
ことを特徴とするロボット制御方法。
A robot control method by a robot control device including a main control unit and a joint control unit provided for each of a plurality of joints of the robot,
The main control unit calculates a torque command value and a position/attitude control command value for each joint based on a force command value, a position/posture command value, and a current angle value for each of a plurality of joints of the robot. ,
The joint control unit controls the current torque values at the corresponding joints obtained from means capable of detecting the current torque values of the joints, the torque command values calculated by the main control unit, and the position/orientation control commands. Based on the value, calculate the command value for the motor provided in the corresponding joint,
The main control unit
a torque command value conversion unit that converts a force command value into a torque command value for each of a plurality of joints of the robot;
The joint control unit is
a torque control unit that calculates a command value for torque control based on the current torque value at the corresponding joint and the torque command value calculated by the main control unit;
Velocity and acceleration based on the torque control command value calculated by the torque control unit, the position/attitude control command value calculated by the main control unit, or the position/attitude control command value calculated by the main control unit and a command value synthesizing unit for synthesizing the control command value calculated by the joint angle control unit for calculating the current or torque control command value.
JP2019043626A 2019-03-11 2019-03-11 ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD Active JP7300854B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019043626A JP7300854B2 (en) 2019-03-11 2019-03-11 ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD
CN202080016903.2A CN113508011A (en) 2019-03-11 2020-02-27 Robot control device and robot control method
PCT/JP2020/008100 WO2020184203A1 (en) 2019-03-11 2020-02-27 Robot control device and robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019043626A JP7300854B2 (en) 2019-03-11 2019-03-11 ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD

Publications (2)

Publication Number Publication Date
JP2020146765A JP2020146765A (en) 2020-09-17
JP7300854B2 true JP7300854B2 (en) 2023-06-30

Family

ID=72426801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019043626A Active JP7300854B2 (en) 2019-03-11 2019-03-11 ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD

Country Status (3)

Country Link
JP (1) JP7300854B2 (en)
CN (1) CN113508011A (en)
WO (1) WO2020184203A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7529599B2 (en) 2021-03-24 2024-08-06 本田技研工業株式会社 robot

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016168650A (en) 2015-03-13 2016-09-23 キヤノン株式会社 Robot device, robot control method, program, and storage medium
JP2017158417A (en) 2016-02-29 2017-09-07 株式会社安川電機 Motor control system, robot system, and communication method for motor control system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03214303A (en) * 1990-01-19 1991-09-19 Citizen Watch Co Ltd Positioning controller and track data teaching method
JP2669274B2 (en) * 1992-07-06 1997-10-27 三菱電機株式会社 Robot control device
JP3324298B2 (en) * 1994-10-19 2002-09-17 株式会社豊田中央研究所 Manipulator control device
JPH0944253A (en) * 1995-08-03 1997-02-14 Toyota Central Res & Dev Lab Inc Driving switching controller
JP3529575B2 (en) * 1997-02-17 2004-05-24 株式会社東芝 Force control robot and control method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016168650A (en) 2015-03-13 2016-09-23 キヤノン株式会社 Robot device, robot control method, program, and storage medium
JP2017158417A (en) 2016-02-29 2017-09-07 株式会社安川電機 Motor control system, robot system, and communication method for motor control system

Also Published As

Publication number Publication date
JP2020146765A (en) 2020-09-17
CN113508011A (en) 2021-10-15
WO2020184203A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
US10751874B2 (en) Method of teaching robot and robotic arm control device
US10300600B2 (en) Control system having learning control function and control method
JP4896276B2 (en) ROBOT, ROBOT CONTROL DEVICE, CONTROL METHOD, AND CONTROL PROGRAM
JP5327722B2 (en) Robot load estimation apparatus and load estimation method
WO2001038048A1 (en) Robot controller
US8428780B2 (en) External force target generating device of legged mobile robot
JP2014136260A (en) Control device
WO2014061681A1 (en) Weaving control device of multi-joint robot
JP6898649B2 (en) Vibration control device, vibration control method, vibration control system, program and recording medium
US9676100B2 (en) Control apparatus of robot, robot, and program thereof
JP4192780B2 (en) Robot control device
JP7300854B2 (en) ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD
JP7273627B2 (en) ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD
JP4587052B2 (en) POSITION CONTROL DEVICE, POSITION CONTROL METHOD, AND POSITION CONTROL PROGRAM
JP6237039B2 (en) Robot control apparatus and robot control method
JP4134369B2 (en) Robot control device
US8670869B2 (en) Robot controller
Yang et al. Dynamic compensation control of flexible macro–micro manipulator systems
CN113474130B (en) Method and system for executing preset tasks by using robot
Huynh et al. Dynamic Hybrid Filter for Vision‐Based Pose Estimation of a Hexa Parallel Robot
JP2021109259A (en) Robot control device and robot control method
Lauer et al. Force-Controlled On-Site Assembly Using Pose-Dependent Stiffness of Large-Scale Manipulators
JP2022079273A (en) Robot control device and robot control method
CN117400257A (en) Robot control method, apparatus, device and computer readable storage medium
JP5057224B2 (en) Mobile robot controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20220922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230517

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230620

R150 Certificate of patent or registration of utility model

Ref document number: 7300854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150