JP7497141B2 - ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD - Google Patents

ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD Download PDF

Info

Publication number
JP7497141B2
JP7497141B2 JP2019089536A JP2019089536A JP7497141B2 JP 7497141 B2 JP7497141 B2 JP 7497141B2 JP 2019089536 A JP2019089536 A JP 2019089536A JP 2019089536 A JP2019089536 A JP 2019089536A JP 7497141 B2 JP7497141 B2 JP 7497141B2
Authority
JP
Japan
Prior art keywords
robot
parameter
force
information
input
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
JP2019089536A
Other languages
Japanese (ja)
Other versions
JP2020185620A (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.)
Kawasaki Motors Ltd
Original Assignee
Kawasaki Jukogyo KK
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 Kawasaki Jukogyo KK filed Critical Kawasaki Jukogyo KK
Priority to JP2019089536A priority Critical patent/JP7497141B2/en
Publication of JP2020185620A publication Critical patent/JP2020185620A/en
Application granted granted Critical
Publication of JP7497141B2 publication Critical patent/JP7497141B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボット制御装置、ロボットシステム及びロボット制御方法に関する。 The present invention relates to a robot control device, a robot system, and a robot control method.

従来、ロボットに部品等の組み立てを実行させる場合、部品等に加える力を制御する力制御が行われる。力制御では、ロボットが入力信号に対応した力を出力できるように、様々な演算が行われる。 Conventionally, when a robot is made to assemble parts, etc., force control is performed to control the force applied to the parts, etc. In force control, various calculations are performed so that the robot can output a force corresponding to an input signal.

例えば、特許文献1は、多関節のアームと、アームの先端に設けられ且つワークを把持するロボットハンドと、ロボットハンドの手先にかかる手先力を検知する力検知部とを有するロボットを開示している。特許文献1のロボットの制御部は、手先の手先負荷モデルの負荷値を用いてロボットの動作を制御する。 For example, Patent Document 1 discloses a robot having a multi-joint arm, a robot hand that is attached to the tip of the arm and grips a workpiece, and a force detection unit that detects the hand force acting on the tip of the robot hand. The control unit of the robot in Patent Document 1 controls the operation of the robot using the load value of a hand load model of the hand.

特開2017-56525号公報JP 2017-56525 A

手先負荷モデルのようなロボットに設定されるモデルは、ロボット毎に異なる。さらに、このようなモデルは、ロボットハンドが把持するワークに応じて設定され得る。ロボットに設定されるモデルが変わると、制御部が用いる演算式及びパラメータ等の制御内容も変化する。このような制御内容の変更は複雑であるため、ロボットの設計者によれば実行可能であるが、ロボットの稼働場所においてロボットのオペレータ等によって実行することは難しい。 Models set for a robot, such as the hand load model, differ from robot to robot. Furthermore, such models can be set according to the workpiece that the robot hand is to grasp. When the model set for a robot changes, the control contents, such as the arithmetic expressions and parameters used by the control unit, also change. Changing such control contents is complex, and although it is possible for the robot designer to do so, it is difficult for the robot operator, etc., to do so at the location where the robot is operating.

そこで、本発明は、ロボットの制御内容の変更を簡易にするロボット制御装置、ロボットシステム及びロボット制御方法を提供することを目的とする。 The present invention aims to provide a robot control device, a robot system, and a robot control method that make it easy to change the control content of a robot.

上記目的を達成するために、本発明の一態様に係るロボット制御装置は、入力情報を受け付け、前記入力情報に対応する指令をロボットに出力する第一処理部と、前記指令を受けた前記ロボットの動作結果を示す第一情報を取得する第一取得部と、前記入力情報と前記入力情報に対応する前記ロボットの目標動作との目標関係に基づき、前記入力情報に対応する前記ロボットの目標動作を示す第二情報を取得する第二処理部と、前記第一情報と前記第二情報とを合わせるように前記第一処理部に設定される第一パラメータを変更するパラメータ決定部と、前記ロボットの動作に関する第二パラメータの変更を受け付け、前記第二パラメータの変更を反映することで、前記目標関係を変更する調整処理部とを備える。 To achieve the above object, a robot control device according to one aspect of the present invention includes a first processing unit that receives input information and outputs a command corresponding to the input information to a robot, a first acquisition unit that acquires first information indicating a result of the operation of the robot that has received the command, a second processing unit that acquires second information indicating a target motion of the robot corresponding to the input information based on a target relationship between the input information and a target motion of the robot corresponding to the input information, a parameter determination unit that changes a first parameter set in the first processing unit so as to match the first information with the second information, and an adjustment processing unit that receives a change in a second parameter related to the operation of the robot and changes the target relationship by reflecting the change in the second parameter.

また、本発明の一態様に係るロボットシステムは、本発明の一態様に係るロボット制御装置と、前記ロボット制御装置の指令に従って動作するロボットと、前記ロボットに対する操作を受け付け且つ前記操作に対応する入力情報を前記ロボット制御装置に出力する入力装置とを備える。 A robot system according to one aspect of the present invention includes a robot control device according to one aspect of the present invention, a robot that operates according to commands from the robot control device, and an input device that receives operations on the robot and outputs input information corresponding to the operations to the robot control device.

また、本発明の一態様に係るロボット制御方法は、入力情報を受け付け、第一パラメータに基づき前記入力情報に対応する指令を決定しロボットに出力するステップと、前記指令を受けた前記ロボットの動作結果を示す第一情報を取得するステップと、前記ロボットの動作に関する第二パラメータの変更を受け付けるステップと、前記入力情報と前記入力情報に対応する前記ロボットの目標動作との目標関係に、前記第二パラメータの変更を反映することで、前記目標関係を変更するステップと、前記目標関係に基づき、前記入力情報に対応する前記ロボットの目標動作を示す第二情報を取得するステップと、前記第一情報と前記第二情報とを合わせるように、前記第一パラメータを変更するステップとを含む。 A robot control method according to one aspect of the present invention includes the steps of accepting input information, determining a command corresponding to the input information based on a first parameter, and outputting the command to the robot, acquiring first information indicating a result of the operation of the robot that has received the command, accepting a change to a second parameter related to the operation of the robot, changing the goal relationship by reflecting the change to the second parameter in a goal relationship between the input information and a target operation of the robot corresponding to the input information, acquiring second information indicating a target operation of the robot corresponding to the input information based on the goal relationship, and changing the first parameter so as to match the first information with the second information.

本発明によれば、ロボットの制御内容の変更を簡易にすることが可能となる。 The present invention makes it possible to easily change the control content of a robot.

実施の形態に係るロボットシステムの構成の一例を示す図FIG. 1 is a diagram showing an example of a configuration of a robot system according to an embodiment. 図1のロボットを拡大した側面図An enlarged side view of the robot of FIG. 実施の形態に係る調整器の構成の一例を示す斜視図FIG. 1 is a perspective view showing an example of a configuration of a regulator according to an embodiment; 実施の形態に係るコントローラの機能的構成及びその周辺の構成の一例を示すブロック図FIG. 1 is a block diagram showing an example of a functional configuration of a controller and its peripheral configuration according to an embodiment. 実施の形態に係る目標出力データの一例を示す図FIG. 1 is a diagram showing an example of target output data according to an embodiment; 実施の形態に係る目標出力処理部が用いる目標入出力関係の一例を示す図FIG. 1 is a diagram showing an example of a target input/output relationship used by a target output processing unit according to an embodiment; 実施の形態に係る目標出力処理部の目標入出力関係の変更動作の一例を示すフローチャート1 is a flowchart showing an example of a target input/output relationship changing operation of a target output processing unit according to an embodiment. 実施の形態に係る目標出力処理部が用いる目標入出力関係の変更例を示す図FIG. 13 is a diagram showing an example of a modified target input/output relationship used by the target output processing unit according to the embodiment; 実施の形態に係るロボットシステムのパラメータの調整動作の一例を示すフローチャート1 is a flowchart showing an example of an adjustment operation of parameters of a robot system according to an embodiment.

以下において、本発明の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。 The following describes embodiments of the present invention with reference to the drawings. Note that the embodiments described below are all comprehensive or specific examples. In addition, among the components in the following embodiments, components that are not described in an independent claim that indicates a top-level concept are described as optional components. In addition, each figure in the attached drawings is a schematic diagram and is not necessarily an exact illustration. Furthermore, in each figure, substantially the same components are given the same reference numerals, and duplicated descriptions may be omitted or simplified. In addition, in this specification and claims, "apparatus" may mean not only one apparatus but also a system consisting of multiple apparatuses.

<ロボットシステムの構成>
実施の形態に係るロボットシステム1の構成を説明する。図1は、実施の形態に係るロボットシステム1の構成の一例を示す図である。図1に示すように、ロボットシステム1は、ロボット10と、ロボット10を操作するための入力装置20と、ロボット10を制御するコントローラ100と、コントローラ100に記憶された制御内容を変更するための調整器30とを備える。ここで、コントローラ100は、ロボット制御装置の一例である。
<Robot system configuration>
The configuration of a robot system 1 according to an embodiment will be described. Fig. 1 is a diagram showing an example of the configuration of the robot system 1 according to an embodiment. As shown in Fig. 1, the robot system 1 includes a robot 10, an input device 20 for operating the robot 10, a controller 100 for controlling the robot 10, and an adjuster 30 for changing the control content stored in the controller 100. Here, the controller 100 is an example of a robot control device.

本実施の形態では、ロボットシステム1は、ロボット10を用いて部品を組み立てる作業を行うシステムであるとして、以下の説明を行うが、ロボットシステム1が行う作業はこれに限定されない。上記のようなロボットシステム1のロボット10は、例えば、被組み付け対象部品の穴に組み付け対象部品(以下、「ワーク」とも呼ぶ)を嵌入する動作を行う。このとき、ロボット10は、ワークを押し込む力の制御である力制御を受ける。 In this embodiment, the robot system 1 is described below as a system that performs the task of assembling parts using the robot 10, but the task performed by the robot system 1 is not limited to this. The robot 10 of the robot system 1 as described above performs, for example, an operation of fitting a part to be assembled (hereinafter also referred to as a "workpiece") into a hole in a part to be assembled. At this time, the robot 10 is subjected to force control, which is control of the force with which the workpiece is pushed in.

入力装置20は、オペレータによって入力された操作に対応する入力信号をコントローラ100に出力し、コントローラ100は入力信号に対応する出力信号をロボット10に出力し、ロボット10は出力信号に従って動作する。 The input device 20 outputs an input signal corresponding to an operation input by an operator to the controller 100, the controller 100 outputs an output signal corresponding to the input signal to the robot 10, and the robot 10 operates according to the output signal.

なお、オペレータの操作による入力装置20を介した信号の入力は、ロボット10に当該操作に対応する動作をさせる度に行われ、ロボット10がマニュアル操作されてもよい。又は、オペレータが、操作に対応する動作をロボット10、具体的にはコントローラ100に教示する、つまりティーチングすることで、ロボット10に当該動作を自動で行わせてもよい。 The operator may input a signal via the input device 20 each time the robot 10 is made to perform an action corresponding to the operation, and the robot 10 may be manually operated. Alternatively, the operator may instruct the robot 10, specifically the controller 100, on the action corresponding to the operation, i.e., teach the robot 10, so that the robot 10 automatically performs the action.

<ロボットの構成>
ロボット10の構成を説明する。図2は、図1のロボット10を拡大した側面図である。図1及び図2に示すように、ロボット10は、基台11と、アーム12と、アーム12の先端に取り付けられるロボットハンド(「マニピュレータ」とも呼ばれる)13とを備える。ロボットハンド13は、組み付け対象部品であるワークWを把持することができるように構成されている。アーム12及びロボットハンド13は、コントローラ100の制御に従って動作し、例えば、ロボットハンド13で把持したワークWを被組み付け対象部品Tに組み付ける。また、ロボット10は、アーム12の先端部に、具体的には、アーム12とロボットハンド13との接続部分に、力検出器40を備える。
<Robot configuration>
The configuration of the robot 10 will be described. FIG. 2 is an enlarged side view of the robot 10 of FIG. 1. As shown in FIGS. 1 and 2, the robot 10 includes a base 11, an arm 12, and a robot hand (also called a "manipulator") 13 attached to the tip of the arm 12. The robot hand 13 is configured to be able to grip a workpiece W, which is a part to be assembled. The arm 12 and the robot hand 13 operate under the control of a controller 100, and, for example, assemble the workpiece W gripped by the robot hand 13 to a part T to be assembled. In addition, the robot 10 includes a force detector 40 at the tip of the arm 12, specifically, at the connection portion between the arm 12 and the robot hand 13.

力検出器40は、アーム12及びロボットハンド13が受ける反力を検出し、コントローラ100に出力する。力検出器40は、後述するアーム12の第六リンク12fの軸方向、つまりワークWの嵌入方向である1軸方向の反力を検出してもよく、直交する3軸方向の反力を検出してもよい。力検出器40は、3軸方向の反力と当該3軸周りのモーメントとを含む6軸の力成分を検出してもよい。力検出器40は、上記反力及び/又はモーメントを検出することができれば既知のいかなる検出器であってもよく、例えば、力覚センサであってもよい。また、本実施の形態では、ロボット10は、以下に説明するように垂直多関節型ロボットとして構成されるが、これに限定されない。 The force detector 40 detects the reaction force received by the arm 12 and the robot hand 13, and outputs the reaction force to the controller 100. The force detector 40 may detect a reaction force in one axis direction, which is the axial direction of the sixth link 12f of the arm 12 described later, i.e., the insertion direction of the workpiece W, or may detect a reaction force in three orthogonal axis directions. The force detector 40 may detect six-axis force components including reaction forces in the three axis directions and moments about the three axes. The force detector 40 may be any known detector capable of detecting the reaction force and/or moment, and may be, for example, a force sensor. In the present embodiment, the robot 10 is configured as a vertical articulated robot as described below, but is not limited thereto.

アーム12の基部は、基台11に取り付けられ、鉛直方向の軸周りに回動することができる。アーム12は、第一リンク12a~第六リンク12fと、第一リンク12a~第六リンク12fを順次接続する関節JT1~JT6と、関節JT1~JT6それぞれを駆動、具体的には回転駆動する駆動装置M1~M6とを備えている。第一リンク12aは基台11に取り付けられ、ロボットハンド13は、第六リンク12fの先端部に取り付けられている。駆動装置M1~M6の動作は、コントローラ100によって制御される。駆動装置M1~M6の例は、サーボモータ等の電気モータである。 The base of the arm 12 is attached to the base 11 and can rotate around a vertical axis. The arm 12 includes a first link 12a to a sixth link 12f, joints JT1 to JT6 that sequentially connect the first link 12a to the sixth link 12f, and drive units M1 to M6 that drive, specifically, rotate, the joints JT1 to JT6, respectively. The first link 12a is attached to the base 11, and the robot hand 13 is attached to the tip of the sixth link 12f. The operation of the drive units M1 to M6 is controlled by the controller 100. An example of the drive units M1 to M6 is an electric motor such as a servo motor.

<入力装置の構成>
入力装置20の構成を説明する。図1に示すように、入力装置20は、オペレータ等の操作を介して入力される指令に基づきロボット10を操作する装置である。例えば、入力装置20は、ロボット10を遠隔操作するためにロボット10から所定の距離だけ離して配置されてもよい。
<Configuration of input device>
The configuration of the input device 20 will be described. As shown in Fig. 1, the input device 20 is a device that operates the robot 10 based on commands input through operations by an operator or the like. For example, the input device 20 may be disposed a predetermined distance away from the robot 10 in order to remotely operate the robot 10.

入力装置20の具体的な構成は特に限定されないが、入力装置20はオペレータ等による入力を受け付けるように構成される。このような入力装置20は、ハンドル、レバー、ペダル、ボタン、タッチパネル、マイク及びカメラ等の装置を備えてもよい。入力装置20は、上記装置を介して入力された操作の指令値を示す信号をコントローラ100に出力する。入力装置20は、コントローラ100と有線通信を介して接続されてもよく、無線通信を介して接続されてもよい。有線通信及び無線通信の形式はいかなる形式であってもよい。 The specific configuration of the input device 20 is not particularly limited, but the input device 20 is configured to receive input from an operator or the like. Such an input device 20 may include devices such as a handle, a lever, a pedal, a button, a touch panel, a microphone, and a camera. The input device 20 outputs a signal indicating an operation command value input via the above devices to the controller 100. The input device 20 may be connected to the controller 100 via wired communication or wireless communication. The wired communication and wireless communication may be in any form.

入力装置20は、オペレータによって入力される手動操作の各操作の指令値を示す信号をコントローラ100に出力してもよい。入力装置20は、オペレータによって入力される自動操作の操作内容の指令値を示す信号をコントローラ100に出力してもよい。入力装置20は操作装置の一例である。 The input device 20 may output to the controller 100 a signal indicating a command value for each operation of a manual operation input by an operator. The input device 20 may output to the controller 100 a signal indicating a command value for the operation content of an automatic operation input by an operator. The input device 20 is an example of an operation device.

本実施の形態では、入力装置20が出力する信号は、ロボットハンド13の変位量、変位方向及び変位速度、並びに、ロボットハンド13が把持しているワークWに加える力の大きさ及び方向等の情報を含むが、これに限定されない。 In this embodiment, the signal output by the input device 20 includes information such as the amount of displacement, direction and speed of displacement of the robot hand 13, as well as the magnitude and direction of the force applied to the workpiece W held by the robot hand 13, but is not limited to this.

なお、入力装置20は、操作の指令値として、ハンドル又はレバーの変位、方向、速度及び操作力等を受け付けてもよく、ボタンの押し下げを受け付けてもよく、タッチパネルの画面への接触、接触軌跡及び接触圧等を受け付けてもよく、スピーカによって集音される音声信号を受け付けてよく、カメラによって撮像されたオペレータの画像の解析結果を受け付けてもよい。操作力は、オペレータ等によってハンドル又はレバーに加えられる力である。接触圧は、タッチパネルへの指等の押し付け力である。オペレータの画像の解析結果は、オペレータのジェスチャ等が示す指令を含む。 The input device 20 may accept, as operation command values, the displacement, direction, speed, and operating force of a handle or lever, or the pressing of a button, or contact with a touch panel screen, contact trajectory, and contact pressure, or audio signals collected by a speaker, or the analysis results of an image of the operator captured by a camera. The operating force is the force applied to the handle or lever by the operator, etc. The contact pressure is the pressure of a finger, etc., against the touch panel. The analysis results of the image of the operator include commands indicated by the operator's gestures, etc.

<調整器の構成>
調整器30の構成を説明する。図3は、実施の形態に係る調整器30の構成の一例を示す斜視図である。図1及び図3に示すように、調整器30は、コントローラ100が保持する目標出力データに変更を加える装置である。調整器30は、入力装置20と同様に、コントローラ100と有線通信又は無線通信を介して接続されている。調整器30は、ロボット10の動作に関するパラメータ、具体的にはパラメータの値を変更するための調整デバイスを含む。本実施の形態では、ロボット10の動作に関するパラメータは、ロボットハンド13がワークWに加える力と、ロボットハンド13の動作の速さとを含む。つまり、当該パラメータは、アーム12がワークWに加える力と、アーム12の先端部の動作の速さとを含む。ロボット10の動作に関するパラメータは、上記に限定されず、ロボットハンド13及びアーム12の先端部分の動作方向等を含んでもよい。ロボット10の動作に関するパラメータは、オペレータ等がロボット10の動作を直感的にイメージすることを可能にするようなロボット10の動作と関連が深いパラメータであってもよい。
<Adjuster configuration>
The configuration of the adjuster 30 will be described. FIG. 3 is a perspective view showing an example of the configuration of the adjuster 30 according to the embodiment. As shown in FIG. 1 and FIG. 3, the adjuster 30 is a device that modifies the target output data held by the controller 100. The adjuster 30 is connected to the controller 100 via wired communication or wireless communication, similar to the input device 20. The adjuster 30 includes parameters related to the operation of the robot 10, specifically, an adjustment device for changing the values of the parameters. In this embodiment, the parameters related to the operation of the robot 10 include the force applied by the robot hand 13 to the workpiece W and the speed of the operation of the robot hand 13. That is, the parameters include the force applied by the arm 12 to the workpiece W and the speed of the operation of the tip of the arm 12. The parameters related to the operation of the robot 10 are not limited to the above, and may include the movement direction of the tip of the robot hand 13 and the arm 12. The parameters related to the operation of the robot 10 may be parameters that are closely related to the operation of the robot 10, which allows an operator or the like to intuitively imagine the operation of the robot 10.

調整器30は、力の強さを変更する力調整デバイス31と、速さを変更する速さ調整デバイス32と、開始ボタン33と、決定ボタン34とを備える。力調整デバイス31及び速さ調整デバイス32はそれぞれ、オペレータ等の操作による力の強さ及び速さの変更のための入力を受け付け、入力に対応する信号をコントローラ100に出力する。開始ボタン33は、力調整デバイス31及び速さ調整デバイス32への入力の受け付けを開始するデバイスであり、例えば、押されることで受け付けを開始する。決定ボタン34は、力調整デバイス31及び速さ調整デバイス32への入力を決定するデバイスであり、例えば、押されることで、力調整デバイス31及び速さ調整デバイス32に、入力に対応する信号をコントローラ100に出力させる。 The adjuster 30 includes a force adjustment device 31 for changing the strength of the force, a speed adjustment device 32 for changing the speed, a start button 33, and a decision button 34. The force adjustment device 31 and the speed adjustment device 32 each accept input for changing the strength of the force and the speed by operation of an operator or the like, and output a signal corresponding to the input to the controller 100. The start button 33 is a device that starts accepting input to the force adjustment device 31 and the speed adjustment device 32, and starts accepting when pressed, for example. The decision button 34 is a device that decides the input to the force adjustment device 31 and the speed adjustment device 32, and when pressed, for example, causes the force adjustment device 31 and the speed adjustment device 32 to output a signal corresponding to the input to the controller 100.

調整デバイス31及び32は、物理的なデバイスであってもよく、画面上の画像であってもよい。本実施の形態では、調整デバイス31及び32は、ダイヤル等の回転式の物理的なデバイスである。物理的なデバイスの他の例は、レバーなどのスライド式のデバイス、及び、複数のボタンから選択される選択式のデバイス等である。画面上の画像の例は、バー、ボタン、並びに、数字などの入力欄等の画像である。また、図3に示すように、調整器30は、力調整デバイス31及び速さ調整デバイス32が示す力の強さ及び速さの値を示す画面等の表示部31a及び32aを備えてもよい。 The adjustment devices 31 and 32 may be physical devices or images on a screen. In this embodiment, the adjustment devices 31 and 32 are rotary physical devices such as dials. Other examples of physical devices are sliding devices such as levers, and selection devices in which a selection is made from a number of buttons. Examples of images on a screen are images of bars, buttons, and input fields for numbers, etc. As shown in FIG. 3, the adjuster 30 may also include display units 31a and 32a, such as screens, that show the values of force strength and speed indicated by the force adjustment device 31 and the speed adjustment device 32.

本実施の形態では、調整器30は、1つの装置を構成しているが、他の装置に組み込まれていてもよい。例えば、調整器30は、入力装置20、ティーチング用の端末装置、スマートフォン及びタブレットなどのスマートデバイス、並びに、その他の端末装置等に組み込まれてもよい。この場合も、調整デバイス31及び32、開始ボタン33、決定ボタン34、並びに表示部31a及び32aは、物理的なデバイスであってもよく、画面上の画像であってもよい。後者の場合、調整器30の機能は、調整器30が組み込まれた装置の画面及び制御装置等で実現されてもよい。 In this embodiment, the adjuster 30 constitutes one device, but may be incorporated in other devices. For example, the adjuster 30 may be incorporated in the input device 20, a terminal device for teaching, a smart device such as a smartphone or tablet, or other terminal device. In this case, the adjustment devices 31 and 32, the start button 33, the decision button 34, and the display units 31a and 32a may be physical devices or images on a screen. In the latter case, the functions of the adjuster 30 may be realized by the screen and control device of the device in which the adjuster 30 is incorporated.

<コントローラの構成>
コントローラ100の構成を説明する。なお、以下において、コントローラ100の力制御に関連する構成の説明を中心に行い、力制御に関連がない又は関連が低い構成は既知の技術であるため、その説明を省略する場合がある。
<Controller configuration>
The configuration of the controller 100 will be described. Note that in the following, the configuration related to the force control of the controller 100 will be mainly described, and the configuration unrelated or less related to the force control may be omitted from description because it is a known technology.

図4は、実施の形態に係るコントローラ100の機能的構成及びその周辺の構成の一例を示すブロック図である。図4に示すように、コントローラ100は、実機処理部110と、目標出力処理部120と、最適化処理部130とを機能的な構成要素として含む。実機処理部110は、入力処理部111と、演算部112と、フィードバック出力部113と、記憶部114とを機能的な構成要素として含む。目標出力処理部120は、入力処理部121と、演算部122と、調整処理部123と、記憶部124とを機能的な構成要素として含む。 Figure 4 is a block diagram showing an example of the functional configuration of the controller 100 according to the embodiment and the configuration of its surroundings. As shown in Figure 4, the controller 100 includes a real machine processing unit 110, a target output processing unit 120, and an optimization processing unit 130 as functional components. The real machine processing unit 110 includes an input processing unit 111, a calculation unit 112, a feedback output unit 113, and a memory unit 114 as functional components. The target output processing unit 120 includes an input processing unit 121, a calculation unit 122, an adjustment processing unit 123, and a memory unit 124 as functional components.

記憶部114及び124は、種々の情報の格納することができ、且つ、格納した情報の読み出しを可能にする。記憶部114及び124は、揮発性メモリ及び不揮発性メモリなどの半導体メモリ、ハードディスク及びSSD(Solid State Drive)等の記憶装置によって実現される。記憶部114は、実機処理部110の演算部112が使用するパラメータ114a(具体的には、当該パラメータの設定値)等を格納する。記憶部124は、目標出力処理部120の演算部122及び最適化処理部130が使用する目標出力データ124a及び目標入出力関係124b等を格納する。記憶部114及び124は各構成要素が実行するプログラムを格納してもよい。 The storage units 114 and 124 can store various information and enable the stored information to be read. The storage units 114 and 124 are realized by semiconductor memories such as volatile and non-volatile memories, hard disks, and SSDs (Solid State Drives) and other storage devices. The storage unit 114 stores parameters 114a (specifically, the setting values of the parameters) and the like used by the calculation unit 112 of the real machine processing unit 110. The storage unit 124 stores target output data 124a and target input/output relationships 124b and the like used by the calculation unit 122 and optimization processing unit 130 of the target output processing unit 120. The storage units 114 and 124 may store programs executed by each component.

実機処理部110の入力処理部111、演算部112及びフィードバック出力部113、目標出力処理部120の入力処理部121、演算部122及び調整処理部123、並びに、最適化処理部130の各構成要素の機能は、CPU(Central Processing Unit)などのプロセッサ、RAM(Random Access Memory)などの揮発性メモリ及びROM(Read-Only Memory)などの不揮発性メモリ等からなるコンピュータシステム(図示せず)により実現されてもよい。上記構成要素の一部又は全部の機能は、CPUがRAMをワークエリアとして用いてROMに記録されたプログラムを実行することによって実現されてもよい。 The functions of the input processing unit 111, calculation unit 112, and feedback output unit 113 of the actual machine processing unit 110, the input processing unit 121, calculation unit 122, and adjustment processing unit 123 of the target output processing unit 120, and each of the components of the optimization processing unit 130 may be realized by a computer system (not shown) consisting of a processor such as a CPU (Central Processing Unit), a volatile memory such as a RAM (Random Access Memory), and a non-volatile memory such as a ROM (Read-Only Memory). Some or all of the functions of the above components may be realized by the CPU using the RAM as a work area to execute a program recorded in the ROM.

なお、上記構成要素の一部又は全部の機能は、上記コンピュータシステムによって実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路によって実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。プログラムは、アプリケーションとして、インターネット等の通信網を介した通信、モバイル通信規格による通信、その他の無線ネットワーク、有線ネットワーク、又は放送等で提供されるものであってもよい。 The functions of some or all of the above components may be realized by the computer system, by a dedicated hardware circuit such as an electronic circuit or integrated circuit, or by a combination of the computer system and the hardware circuit. The program may be provided as an application through communication via a communication network such as the Internet, communication according to a mobile communication standard, other wireless networks, wired networks, broadcasting, etc.

また、各構成要素の機能は、LSI(Large Scale Integration:大規模集積回路)、システムLSI等の回路によって実現されてもよい。複数の構成要素の機能は、個別に1チップ化されてもよく、一部又は全てを含むように1チップ化されてもよい。また、回路は、それぞれ、汎用的な回路でもよく、専用の回路でもよい。LSIとして、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続及び/又は設定を再構成可能なリコンフィギュラブルプロセッサ、又は、特定用途向けに複数の機能の回路が1つにまとめられたASIC(Application Specific Integrated Circuit)等が利用されてもよい。 The functions of each component may be realized by circuits such as LSIs (Large Scale Integration), system LSIs, etc. The functions of multiple components may be individually integrated into a single chip, or may be integrated into a single chip to include some or all of the functions. Each circuit may be a general-purpose circuit or a dedicated circuit. As the LSI, an FPGA (Field Programmable Gate Array) that can be programmed after LSI manufacture, a reconfigurable processor that can reconfigure the connections and/or settings of circuit cells inside the LSI, or an ASIC (Application Specific Integrated Circuit) in which multiple functional circuits are integrated into one for a specific application may be used.

[実機処理部]
実機処理部110は、入力装置20からの入力情報を受け付け、入力情報に対応する指令をロボット10に出力する。ここで、実機処理部110は第一処理部の一例である。
[Actual Machine Processing Section]
The actual machine processing unit 110 receives input information from the input device 20, and outputs a command corresponding to the input information to the robot 10. Here, the actual machine processing unit 110 is an example of a first processing unit.

実機処理部110の入力処理部111は、入力装置20から受け取る信号に含まれる指令値と、フィードバック出力部113から受け取るフィードバック信号に含まれる情報とを用いて、演算部112に出力する情報を決定し、演算部112に出力する。入力処理部111の出力情報は、ロボットハンド13の変位量、変位方向及び変位速度等を含むロボットハンド13の変位情報と、ロボットハンド13が把持しているワークWに加える力の値及び力の方向等を含むロボットハンド13の力情報とを含んでもよい。 The input processing unit 111 of the actual machine processing unit 110 uses the command value contained in the signal received from the input device 20 and the information contained in the feedback signal received from the feedback output unit 113 to determine information to be output to the calculation unit 112, and outputs the information to the calculation unit 112. The output information of the input processing unit 111 may include displacement information of the robot hand 13 including the amount of displacement, direction of displacement, and speed of displacement of the robot hand 13, and force information of the robot hand 13 including the value and direction of the force applied to the workpiece W held by the robot hand 13.

例えば、入力処理部111は、入力装置20の信号に含まれるロボットハンド13の力の指令値からフィードバック信号に含まれるロボットハンド13の力の検出値を差し引いた力の差分値を算出し、当該力の差分値及びその方向を力情報として演算部112に出力する。入力処理部111は、力の付与方向での力の差分値を算出してもよく、例えば、鉛直方向と直交する2つの水平方向との直交する3軸方向に分解した力成分の差分値を算出してもよい。又は、入力処理部111は、3軸方向の力成分及び当該3軸周りのモーメントの差分値を含む6軸の差分値を算出してもよい。 For example, the input processing unit 111 calculates a force difference value by subtracting the force detection value of the robot hand 13 contained in the feedback signal from the force command value of the robot hand 13 contained in the signal of the input device 20, and outputs the force difference value and its direction to the calculation unit 112 as force information. The input processing unit 111 may calculate a force difference value in the force application direction, or may calculate, for example, a difference value of force components resolved in three orthogonal axial directions including the vertical direction and two horizontal directions orthogonal to the vertical direction. Alternatively, the input processing unit 111 may calculate a six-axis difference value including the force components in the three axial directions and the difference values of the moments about the three axes.

フィードバック出力部113は、力検出器40から力の検出値を示す信号を取得し、当該検出値を示す信号を、フィードバック信号として、入力処理部111に出力する。フィードバック信号に含まれる検出値は、現在ロボットハンド13がワークWに加えている力の値を示す。よって、入力処理部111が出力する力の差分値及びその方向は、現状から変化させる力の値及び方向を示す。 The feedback output unit 113 acquires a signal indicating the force detection value from the force detector 40, and outputs the signal indicating the detection value as a feedback signal to the input processing unit 111. The detection value included in the feedback signal indicates the value of the force currently being applied by the robot hand 13 to the workpiece W. Therefore, the force difference value and its direction output by the input processing unit 111 indicate the force value and direction to be changed from the current state.

演算部112は、入力処理部111から受け取る情報と、記憶部114に格納されるパラメータ114a(具体的には、当該パラメータの設定値)とを用いて、上記差分値及び方向の力をロボットハンド13に発生させるためのロボットハンド13の位置及び姿勢の指令値を含む位置指令値を生成する。例えば、演算部112は、入力処理部111から、ロボットハンド13の変位情報及び力情報を受け取って用いてもよい。演算部112は、ロボットハンド13の変位量、変位方向、変位速度、変向量、変向方向及び変向速度等を算出し、これらの指令値を位置指令値として生成してもよい。さらに、演算部112は、位置指令値に従ってアーム12を動作させるための駆動装置M1~M6の駆動量を算出し、当該駆動量に対応する駆動信号を駆動装置M1~M6に出力する。 The calculation unit 112 uses the information received from the input processing unit 111 and the parameters 114a (specifically, the set values of the parameters) stored in the memory unit 114 to generate a position command value including command values for the position and posture of the robot hand 13 for generating a force of the above difference value and direction in the robot hand 13. For example, the calculation unit 112 may receive and use the displacement information and force information of the robot hand 13 from the input processing unit 111. The calculation unit 112 may calculate the displacement amount, displacement direction, displacement speed, deflection amount, deflection direction, deflection speed, etc. of the robot hand 13 and generate these command values as position command values. Furthermore, the calculation unit 112 calculates the drive amount of the driving devices M1 to M6 for operating the arm 12 according to the position command value, and outputs a drive signal corresponding to the drive amount to the driving devices M1 to M6.

なお、演算部112は、駆動装置M1~M6の駆動量からアーム12の各リンク12a~12fの位置及び姿勢を検出し、検出結果に基づきロボットハンド13の現状の位置及び姿勢を検出してもよい。演算部112は、ロボットハンド13の現状の位置及び姿勢の情報を、ロボットハンド13の位置指令値の生成に用いてもよい。 The calculation unit 112 may detect the position and orientation of each link 12a to 12f of the arm 12 from the drive amount of the drive devices M1 to M6, and detect the current position and orientation of the robot hand 13 based on the detection results. The calculation unit 112 may use information on the current position and orientation of the robot hand 13 to generate a position command value for the robot hand 13.

また、本実施の形態では、パラメータ114aは、アーム12及びロボットハンド13のインピーダンス特性を示すパラメータである力制御パラメータを含む。例えば、力制御パラメータは、アーム12及びロボットハンド13の慣性パラメータと、アーム12及びロボットハンド13の粘性パラメータとを含む。力制御パラメータは、アーム12及びロボットハンド13の剛性パラメータを含んでもよい。慣性パラメータは、アーム12及びロボットハンド13の慣性モーメント等の慣性力に関連する。粘性パラメータは、アーム12及びロボットハンド13の粘性摩擦係数等の摩擦力に関連する。剛性パラメータは、アーム12及びロボットハンド13のばね特性に関連する。 In addition, in this embodiment, the parameters 114a include force control parameters that are parameters indicating the impedance characteristics of the arm 12 and the robot hand 13. For example, the force control parameters include inertia parameters of the arm 12 and the robot hand 13 and viscosity parameters of the arm 12 and the robot hand 13. The force control parameters may include stiffness parameters of the arm 12 and the robot hand 13. The inertia parameters are related to inertial forces such as the moments of inertia of the arm 12 and the robot hand 13. The viscosity parameters are related to frictional forces such as the viscous friction coefficients of the arm 12 and the robot hand 13. The stiffness parameters are related to spring characteristics of the arm 12 and the robot hand 13.

また、演算部112は、駆動装置M1~M6の駆動量を算出するために、ロボット10のモデル及びロボットハンド13の把持対象のワークのモデル等の制御対象の運動学モデルを使用しない。後述するように、最適化処理部130によって最適なパラメータ114a(具体的には、当該パラメータの設定値)が決定されるため、演算部112における演算処理は、制御対象の運動学モデルを必要としない。例えば、目標出力処理部120及び最適化処理部130を備えない従来のコントローラは、駆動装置M1~M6の駆動量を算出するために、ロボット10及びワークの運動学モデルを必要とする。 Furthermore, the calculation unit 112 does not use kinematic models of the controlled object, such as a model of the robot 10 and a model of the workpiece to be grasped by the robot hand 13, to calculate the drive amounts of the drive devices M1 to M6. As described below, the optimization processing unit 130 determines the optimal parameters 114a (specifically, the setting values of the parameters), so the calculation process in the calculation unit 112 does not require a kinematic model of the controlled object. For example, a conventional controller that does not include the target output processing unit 120 and the optimization processing unit 130 requires a kinematic model of the robot 10 and the workpiece to calculate the drive amounts of the drive devices M1 to M6.

[目標出力処理部]
目標出力処理部120は、入力装置20からの入力情報に対応する目標の出力データを出力する。目標出力処理部120の入力処理部121は、実機処理部110からの指令を受けたロボット10の動作結果を示す第一情報を取得し、演算部122への入力情報である参照入力情報を生成する。具体的には、入力処理部121は、ロボットハンド13に関する検出結果を用いて、参照入力情報を生成する。入力処理部121は、当該検出結果として、ロボットハンド13の位置データ及び力データを用いる。ここで、入力処理部121は第一取得部の一例であり、ロボットハンド13に関する検出結果は第一情報の一例である。
[Target output processing section]
The target output processing unit 120 outputs target output data corresponding to input information from the input device 20. The input processing unit 121 of the target output processing unit 120 acquires first information indicating the operation result of the robot 10 that received a command from the actual machine processing unit 110, and generates reference input information that is input information to the calculation unit 122. Specifically, the input processing unit 121 generates the reference input information using detection results related to the robot hand 13. The input processing unit 121 uses position data and force data of the robot hand 13 as the detection results. Here, the input processing unit 121 is an example of a first acquisition unit, and the detection results related to the robot hand 13 are an example of first information.

本実施の形態では、入力処理部121は、実機処理部110の演算部112が生成するロボットハンド13の位置指令値を含む位置データを取得し用いる。なお、入力処理部121は、演算部112が駆動装置M1~M6の駆動量から検出するロボットハンド13の位置データを用いてもよい。 In this embodiment, the input processing unit 121 acquires and uses position data including a position command value for the robot hand 13 generated by the calculation unit 112 of the actual machine processing unit 110. Note that the input processing unit 121 may also use the position data for the robot hand 13 detected by the calculation unit 112 from the drive amounts of the drive devices M1 to M6.

また、入力処理部121は、力検出器40によって検出される力の値を含む力データを取得し用いる。力データは、力の値と当該力の方向とを含む。なお、入力処理部121は、ロボットハンド13の位置データに含まれる変位方向を用いて、力の方向を算出し取得してもよい。さらに、入力処理部121は、力検出器40によって検出される力を直交する3軸方向に分解して取得してもよい。又は、入力処理部121は、3軸方向の力成分と当該3軸周りのモーメントとを含む6軸の成分を取得してもよい。 The input processing unit 121 also acquires and uses force data including the force value detected by the force detector 40. The force data includes the force value and the direction of the force. The input processing unit 121 may calculate and acquire the force direction using the displacement direction included in the position data of the robot hand 13. Furthermore, the input processing unit 121 may resolve the force detected by the force detector 40 into three orthogonal axis directions and acquire the force. Alternatively, the input processing unit 121 may acquire six-axis components including force components in the three axis directions and moments about the three axes.

上述のように、入力処理部121は、ロボットハンド13の位置及び力の計測データ又は当該計測データに相当するデータを用いて、参照入力情報を生成する。例えば、入力処理部121は、ロボットハンド13の位置データxdnと、ロボットハンド13の力データfsnとを用いて、下記の式1に示すような参照入力データfmrefを参照入力情報として生成する。なお、式1における「pn」は、実機処理部110に設定されているパラメータ114a(具体的には、当該パラメータの設定値)を示し、「Gpn」は、パラメータが「pn」の場合に実機処理部110の演算部112が演算処理に用いる関数であり、例えば、伝達関数等を用いて表され得る。位置データxdn及び力データfsnは、パラメータが同一の「pn」である場合に得られるデータであり、例えば、以下の式のようにベクトル等を用いて表され得る。 As described above, the input processing unit 121 generates reference input information using measurement data of the position and force of the robot hand 13 or data equivalent to the measurement data. For example, the input processing unit 121 generates reference input data fmref as shown in the following formula 1 as reference input information using the position data xdn of the robot hand 13 and the force data fsn of the robot hand 13. Note that "pn" in formula 1 indicates the parameter 114a (specifically, the set value of the parameter) set in the real machine processing unit 110, and "Gpn" is a function used by the calculation unit 112 of the real machine processing unit 110 for calculation processing when the parameter is "pn", and can be expressed, for example, using a transfer function or the like. The position data xdn and the force data fsn are data obtained when the parameter is the same "pn", and can be expressed, for example, using a vector as in the following formula.

Figure 0007497141000001
Figure 0007497141000001

上述のような参照入力データfmrefは、入力装置20が実機処理部110の入力処理部111に出力する情報に対応し当該情報と等価である。 The reference input data fmref as described above corresponds to and is equivalent to the information that the input device 20 outputs to the input processing unit 111 of the actual machine processing unit 110.

演算部122は、入力情報と入力情報に対応するロボット10の目標動作との目標関係に基づき、入力情報に対応するロボット10の目標動作を示す目標出力データを取得する。目標出力データは第二の情報の一例である。 The calculation unit 122 acquires target output data indicating a target motion of the robot 10 corresponding to the input information based on a target relationship between the input information and a target motion of the robot 10 corresponding to the input information. The target output data is an example of second information.

具体的には、演算部122は、入力処理部121から受け取った参照入力データfmrefを入力情報として用いる。演算部122は、記憶部124に格納される目標入出力関係124bを、入力情報と入力情報に対応するロボット10の目標動作との目標関係として用いる。演算部122は、参照入力データfmrefと目標入出力関係124bとを用いて、参照入力データfmrefに対応する目標出力データを算出する。演算部122は、目標出力データを最適化処理部130及び記憶部124に出力する。 Specifically, the calculation unit 122 uses the reference input data fmref received from the input processing unit 121 as input information. The calculation unit 122 uses the target input/output relationship 124b stored in the memory unit 124 as a target relationship between the input information and a target motion of the robot 10 corresponding to the input information. The calculation unit 122 uses the reference input data fmref and the target input/output relationship 124b to calculate target output data corresponding to the reference input data fmref. The calculation unit 122 outputs the target output data to the optimization processing unit 130 and the memory unit 124.

目標出力データは、時系列データである参照入力データfmrefに対する目標とされる出力データであり、本実施の形態では、ロボットハンド13がワークWに加える力の時系列データである。なお、力の時系列データとは、力が加えられる時間と、加えられる力の大きさとを関連付けて含むデータである。 The target output data is output data that is targeted for the reference input data fmref, which is time-series data, and in this embodiment, is time-series data of the force that the robot hand 13 applies to the workpiece W. Note that the time-series data of the force is data that includes the time at which the force is applied in association with the magnitude of the applied force.

例えば、図5は、実施の形態に係る目標出力データの一例を示す図である。図5に示すように、実線曲線TDで示されている目標出力データは、ロボットハンド13がワークWに力を加える時間(経過時間、単位:秒)と、ロボットハンド13の出力とを関連付けて含み、出力の時系列変化を示す。これに限定されないが、本実施の形態では、出力は、ロボットハンド13が加える力の大きさ(強さ)に対応する。図5の目標出力データは、1つの方向の力に対応する。例えば、目標出力データは、ロボットハンド13が加える力を直交する3軸方向の成分に分解した力のそれぞれについて、生成されてもよく、3軸方向の力及び当該3軸周りのモーメントのそれぞれについて、生成されてもよい。図5の目標出力データは、鉛直方向の成分の力に対応し、正の値の力は鉛直下向きの力に対応する。このような目標出力データは、ロボットハンド13が加える力の大きさと、ロボットハンド13の動作の速さとを示す。 5 is a diagram showing an example of target output data according to an embodiment. As shown in FIG. 5, the target output data shown by the solid curve TD includes the time (elapsed time, unit: seconds) during which the robot hand 13 applies force to the workpiece W and the output of the robot hand 13 in association with each other, and shows the time series change of the output. Although not limited to this, in this embodiment, the output corresponds to the magnitude (strength) of the force applied by the robot hand 13. The target output data in FIG. 5 corresponds to a force in one direction. For example, the target output data may be generated for each of the forces obtained by decomposing the force applied by the robot hand 13 into components in three orthogonal axial directions, or may be generated for each of the forces in the three axial directions and the moments around the three axes. The target output data in FIG. 5 corresponds to a force component in the vertical direction, and a positive value of the force corresponds to a force in the vertical downward direction. Such target output data indicates the magnitude of the force applied by the robot hand 13 and the speed of the operation of the robot hand 13.

また、目標入出力関係124bは、ロボットシステム1の設計者等によって予め決定され記憶部124に格納される。例えば、目標入出力関係124bは、伝達関数等の関数を保持していてもよい。例えば、演算部122は、参照入力データfmrefと、目標入出力関係124bの一例である伝達関数「M」とを用いて、下記の式2に示すような目標出力データfsrefを生成する。目標出力データfsrefは、参照入力データfmrefを伝達関数「M」への入力とした場合の出力データであり、「参照出力データ」とも呼ぶ。 The target input/output relationship 124b is determined in advance by a designer of the robot system 1 or the like and stored in the memory unit 124. For example, the target input/output relationship 124b may hold a function such as a transfer function. For example, the calculation unit 122 generates target output data fsref as shown in the following formula 2 using the reference input data fmref and a transfer function "M", which is an example of the target input/output relationship 124b. The target output data fsref is output data when the reference input data fmref is input to the transfer function "M", and is also called "reference output data".

Figure 0007497141000002
Figure 0007497141000002

また、伝達関数「M」の一例として、下記の式3に示すような二次遅れ系の伝達関数を用いることができる。なお、「ζ」は減衰係数であり、「ωn」は固有角周波数であり、「s」は複素数である。 As an example of the transfer function "M", the transfer function of a second-order lag system as shown in the following formula 3 can be used. Note that "ζ" is the damping coefficient, "ωn" is the natural angular frequency, and "s" is a complex number.

Figure 0007497141000003
Figure 0007497141000003

調整処理部123は、ロボット10の動作に関する第二パラメータ(具体的には、当該パラメータの設定値)の変更を受け付け、第二パラメータの変更を反映することで、入力情報と入力情報に対応するロボット10の目標動作との目標関係を変更する。具体的には、調整処理部123は、調整器30から受け付ける信号に従って、第二パラメータとして、ロボット10の動作に関するパラメータの変更を受け付ける。ロボット10の動作に関するパラメータは、ロボットハンド13がワークWに加える力の大きさと、ロボットハンド13の動作の速さとを含む。 The adjustment processing unit 123 accepts a change to a second parameter (specifically, the set value of the parameter) related to the operation of the robot 10, and changes the target relationship between the input information and the target operation of the robot 10 corresponding to the input information by reflecting the change to the second parameter. Specifically, the adjustment processing unit 123 accepts a change to a parameter related to the operation of the robot 10 as the second parameter in accordance with a signal received from the adjuster 30. The parameter related to the operation of the robot 10 includes the magnitude of the force that the robot hand 13 applies to the workpiece W and the speed of the operation of the robot hand 13.

調整処理部123は、力の変更及び速さの変更を、記憶部124に記憶される目標入出力関係124bに反映することで、目標入出力関係124bを目標入出力関係124b*に変更する。調整処理部123は、変更後の目標入出力関係124b*で置き換えることで、記憶部114に記憶される目標入出力関係124bを更新してもよい。調整処理部123の処理の詳細は後述する。 The adjustment processing unit 123 changes the target input-output relationship 124b to the target input-output relationship 124b* by reflecting the force change and the speed change in the target input-output relationship 124b stored in the storage unit 124. The adjustment processing unit 123 may update the target input-output relationship 124b stored in the storage unit 114 by replacing it with the changed target input-output relationship 124b*. The processing of the adjustment processing unit 123 will be described in detail later.

[最適化処理部]
最適化処理部130は、力検出器40の力の検出値を含む力データを取得し、目標出力処理部120の演算部122から、当該力データを用いて生成された目標出力データを取得する。つまり、最適化処理部130は、互いに対応する力データ及び目標出力データを取得する。
[Optimization processing section]
The optimization processing unit 130 acquires force data including a force detection value of the force detector 40, and acquires target output data generated using the force data from the calculation unit 122 of the target output processing unit 120. In other words, the optimization processing unit 130 acquires force data and target output data that correspond to each other.

最適化処理部130は、力データと目標出力データとを合わせるように実機処理部110の記憶部114に記憶されるパラメータ114aつまりパラメータpnを変更する。具体的には、最適化処理部130は、力データを目標出力データに一致させるように、既存のパラメータpnをパラメータpn+1に変更する。最適化処理部130は、変更後のパラメータpn+1をロボット10の新たなパラメータに決定し、記憶部114に記憶されるパラメータpnをパラメータpn+1で置き換える、つまり更新する。ここで、最適化処理部130はパラメータ決定部の一例であり、パラメータ114aは第一パラメータの一例である。 The optimization processing unit 130 changes the parameter 114a, i.e., the parameter pn, stored in the memory unit 114 of the actual machine processing unit 110 so as to match the force data with the target output data. Specifically, the optimization processing unit 130 changes the existing parameter pn to parameter pn+1 so as to match the force data with the target output data. The optimization processing unit 130 determines the changed parameter pn+1 as the new parameter of the robot 10, and replaces, i.e., updates, the parameter pn stored in the memory unit 114 with the parameter pn+1. Here, the optimization processing unit 130 is an example of a parameter determination unit, and the parameter 114a is an example of a first parameter.

例えば、最適化処理部130は、下記の式4に示すような評価関数Jを用い、評価関数Jを最小化するパラメータpn+1を算出し、パラメータpn+1を新たなパラメータに決定する。式4に示す評価関数Jは、目標出力データfsrefとロボットハンド13の力データfsnとの誤差e(e=fsref-fsn)の2乗和をデータの総数Nで正規化したものである。「N」は、力データ及び目標出力データの組の総数であり、Nは1以上のいかなる数値であってもよい。「t」は、力データ及び目標出力データの組の計測順序等の順番を示すインデックスである。 For example, the optimization processing unit 130 uses an evaluation function J as shown in the following formula 4 to calculate a parameter pn+1 that minimizes the evaluation function J, and determines the parameter pn+1 as a new parameter. The evaluation function J shown in formula 4 is the sum of squares of the error e (e = fsref - fsn) between the target output data fsref and the force data fsn of the robot hand 13 normalized by the total number of data N. "N" is the total number of pairs of force data and target output data, and N may be any number equal to or greater than 1. "t" is an index indicating the order of measurement of the pairs of force data and target output data.

Figure 0007497141000004
Figure 0007497141000004

なお、評価関数は、下記の式5に示すように、誤差eの和を正規化したものであってもよく、下記の式6に示すように、誤差eの絶対値の和を正規化したものであってもよい。又は、評価関数は、誤差eを3乗以上した値の和を正規化したものであってもよい。また、評価関数は正規化されていなくてもよい。 The evaluation function may be a normalized sum of the errors e, as shown in the following formula 5, or a normalized sum of the absolute values of the errors e, as shown in the following formula 6. Alternatively, the evaluation function may be a normalized sum of the errors e raised to the third or higher power. The evaluation function does not have to be normalized.

Figure 0007497141000005
Figure 0007497141000005

Figure 0007497141000006
Figure 0007497141000006

最適化処理部130によって更新されたパラメータpn+1を保持する実機処理部110に対して、参照入力データfmrefを入力すると、実機処理部110は、参照入力データfmrefに対応する目標出力データfsrefと同じ出力データを出力することができる。よって、目標出力処理部120及び最適化処理部130は、入力装置20の指令値に対して目標とする出力データが得られるように、計測データを用いてロボット10のパラメータを最適化する。 When the reference input data fmref is input to the real machine processing unit 110, which holds the parameter pn+1 updated by the optimization processing unit 130, the real machine processing unit 110 can output output data that is the same as the target output data fsref that corresponds to the reference input data fmref. Therefore, the target output processing unit 120 and the optimization processing unit 130 optimize the parameters of the robot 10 using the measurement data so that the target output data is obtained in response to the command value of the input device 20.

本実施の形態での目標出力処理部120及び最適化処理部130の上述の処理は、FRIT(Friction Reference Iterative Tuning)と呼ばれるデータ駆動型調整手法の1つを用いた処理である。データ駆動型調整手法は、計測データを直接用いて、実機の入出力関係と目標の入出力関係とが同じになるようにパラメータを最適化する手法である。なお、目標出力処理部120及び最適化処理部130は、FRIT以外のデータ駆動型調整手法を用いても、上記と同様にパラメータを最適化することができる。このようなデータ駆動制御手法として、VRFT(Virtual Reference Feedback Tuning)及びIFT(Iterative Feedback Tuning)等を用いることができる。 The above-described processing by the target output processing unit 120 and the optimization processing unit 130 in this embodiment is processing using one of the data-driven adjustment methods called Friction Reference Iterative Tuning (FRIT). A data-driven adjustment method is a method that directly uses measurement data to optimize parameters so that the input/output relationship of the actual machine and the target input/output relationship are the same. Note that the target output processing unit 120 and the optimization processing unit 130 can optimize parameters in the same manner as above even if a data-driven adjustment method other than FRIT is used. Examples of such data-driven control methods that can be used include Virtual Reference Feedback Tuning (VRFT) and Iterative Feedback Tuning (IFT).

<調整処理部の処理例>
調整処理部123の詳細な処理の例を説明する。以下において、目標入出力関係124bは、式3と同じ下記の式7に示すような二次遅れ系の伝達関数を保持しているとして説明する。式7は、伝達関数の基本式である。調整処理部123は、調整器30によって設定される力の強さ及び動作の速さを用いて減衰係数ζ及び固有角周波数ωnを決定することで、伝達関数を決定する。
<Processing example of adjustment processing unit>
An example of detailed processing of the adjustment processing unit 123 will be described. In the following, it is assumed that the target input/output relationship 124b holds a transfer function of a second-order lag system as shown in the following formula 7, which is the same as formula 3. Formula 7 is a basic formula for the transfer function. The adjustment processing unit 123 determines the transfer function by determining the damping coefficient ζ and the natural angular frequency ωn using the strength of the force and the speed of the operation set by the adjuster 30.

Figure 0007497141000007
Figure 0007497141000007

さらに、図6に示すように、二次遅れ系のステップ応答では、出力の最大行き過ぎ量Mp及び出力の振動の整定時間tsが定義される。図6は、実施の形態に係る目標出力処理部120が用いる目標入出力関係の一例を示す図である。図6において、横軸は経過時間を示し、縦軸は出力を示す。本例では、出力は、力の目標値に対する力の強さの割合である。力の強さが目標値である場合、出力値は「1」である。最大行き過ぎ量Mpは、出力のピーク値と目標値での出力値との差である。整定時間ts(単位:秒)は、目標値での出力値に対する整定許容幅Δ以内の値に出力が収束するまでの時間である。ステップ応答は、入力がステップ状に変化するときの出力の応答である。出力は、減衰振動しながら目標値での出力値に収束する。 Furthermore, as shown in FIG. 6, in the step response of the second-order lag system, the maximum overshoot of the output Mp and the settling time ts of the output vibration are defined. FIG. 6 is a diagram showing an example of the target input-output relationship used by the target output processing unit 120 according to the embodiment. In FIG. 6, the horizontal axis indicates elapsed time, and the vertical axis indicates the output. In this example, the output is the ratio of the strength of the force to the target value of the force. When the strength of the force is the target value, the output value is "1". The maximum overshoot Mp is the difference between the peak value of the output and the output value at the target value. The settling time ts (unit: seconds) is the time until the output converges to a value within the settling tolerance Δ for the output value at the target value. The step response is the response of the output when the input changes in a stepwise manner. The output converges to the output value at the target value while undergoing damped oscillation.

以下において、式7の伝達関数を用いた調整処理部123の処理動作を図6及び図7を参照しつつ説明する。図7は、実施の形態に係る目標出力処理部120の目標入出力関係の変更動作の一例を示すフローチャートである。図7は、調整処理部123が、調整器30の操作に基づき、式7に示すような二次遅れ系の伝達関数を決定する処理を示す。 The processing operation of the adjustment processing unit 123 using the transfer function of Equation 7 will be described below with reference to Figs. 6 and 7. Fig. 7 is a flowchart showing an example of the operation of changing the target input/output relationship of the target output processing unit 120 according to the embodiment. Fig. 7 shows the process in which the adjustment processing unit 123 determines the transfer function of the second-order lag system as shown in Equation 7 based on the operation of the adjuster 30.

まず、オペレータ等によって調整器30の力調整デバイス31及び速さ調整デバイス32への入力が行われる(ステップS101)。例えば、オペレータは、調整器30の開始ボタン33を押圧後、力調整デバイス31及び速さ調整デバイス32を操作する。力調整デバイス31及び速さ調整デバイス32が示す値の決定後、オペレータは、決定ボタン34を押圧する。これにより、調整器30は、力調整デバイス31及び速さ調整デバイス32が示す決定値の信号をコントローラ100に出力する。 First, an operator or the like inputs data into the force adjustment device 31 and speed adjustment device 32 of the adjuster 30 (step S101). For example, the operator presses the start button 33 of the adjuster 30, and then operates the force adjustment device 31 and speed adjustment device 32. After determining the values indicated by the force adjustment device 31 and speed adjustment device 32, the operator presses the decision button 34. This causes the adjuster 30 to output signals of the determined values indicated by the force adjustment device 31 and speed adjustment device 32 to the controller 100.

本例では、力調整デバイス31は、力の強さPfに設定され、速さ調整デバイス32は、動作の速さPsに設定される。強さPfは、力の目標値である。強さPfは、予め設定された力の強さの基準値に対する割合を示し、0~100%の値をとることができる。強さPf=100%は基準値に対応する。速さPsは、速さの目標値である。速さPsは、予め設定された動作の速さの基準値に対する割合を示し、0~100%の値をとることができる。速さPs=100%は基準値に対応する。なお、基準値は、100%に限定されず、例えば50%であってもよい。 In this example, the force adjustment device 31 is set to the force strength Pf, and the speed adjustment device 32 is set to the movement speed Ps. The strength Pf is a target value of the force. The strength Pf indicates a ratio to a preset reference value of the force strength, and can take a value between 0 and 100%. Strength Pf = 100% corresponds to the reference value. The speed Ps is a target value of the speed. The speed Ps indicates a ratio to a preset reference value of the movement speed, and can take a value between 0 and 100%. Speed Ps = 100% corresponds to the reference value. Note that the reference value is not limited to 100%, and may be, for example, 50%.

次いで、コントローラ100の調整処理部123は、調整器30から、力の強さ及び動作の速さの決定値である強さPf及び速さPsの値を受信する(ステップS102)。 Next, the adjustment processing unit 123 of the controller 100 receives the values of strength Pf and speed Ps, which are the determined values of the strength of the force and the speed of the movement, from the adjuster 30 (step S102).

次いで、調整処理部123は、強さPfを用いて、出力の最大行き過ぎ量Mpを取得する(ステップS103)。出力は、力の目標値である強さPfに対する力の強さの割合である。最大行き過ぎ量Mpの最大値Mp_max及び最小値Mp_minは、予め設定され、記憶部124の目標入出力関係124bに保持されている。さらに、本例では、最大値Mp_max及び最小値Mp_minは、0超1未満の範囲内で設定される。つまり、0<Mp_min<Mp_max<1である。 Next, the adjustment processing unit 123 obtains the maximum overshoot amount Mp of the output using the strength Pf (step S103). The output is the ratio of the force strength to the strength Pf, which is the target value of the force. The maximum value Mp_max and minimum value Mp_min of the maximum overshoot amount Mp are set in advance and stored in the target input/output relationship 124b of the storage unit 124. Furthermore, in this example, the maximum value Mp_max and minimum value Mp_min are set within the range greater than 0 and less than 1. In other words, 0<Mp_min<Mp_max<1.

調整処理部123は、最大値Mp_max及び最小値Mp_minと、強さPfと、下記の式8とを用いて、最大行き過ぎ量Mpを算出する。なお、式8において、強さPf=100%の場合のMpは最大値Mp_maxに対応し、強さPf=0%の場合のMpは最小値Mp_minに対応する。また、式8は、記憶部124の目標入出力関係124bに予め保持されている。 The adjustment processing unit 123 calculates the maximum overshoot amount Mp using the maximum value Mp_max, the minimum value Mp_min, the strength Pf, and the following formula 8. In formula 8, Mp when the strength Pf = 100% corresponds to the maximum value Mp_max, and Mp when the strength Pf = 0% corresponds to the minimum value Mp_min. Formula 8 is also stored in advance in the target input/output relationship 124b of the memory unit 124.

Figure 0007497141000008
Figure 0007497141000008

次いで、調整処理部123は、速さPsを用いて、出力の振動の整定時間ts(単位:秒)を取得する(ステップS104)。整定時間tsの最大値ts_max及び最小値ts_minは、予め設定され、記憶部124の目標入出力関係124bに保持されている。調整処理部123は、最大値ts_max及び最小値ts_minと、速さPsと、下記の式9とを用いて、整定時間tsを算出する。なお、式9において、速さPs=100%の場合のtsは最大値ts_maxに対応し、速さPs=0%の場合のtsは最小値ts_minに対応する。また、式9は、記憶部124の目標入出力関係124bに予め保持されている。 Next, the adjustment processing unit 123 obtains the settling time ts (unit: seconds) of the output vibration using the speed Ps (step S104). The maximum value ts_max and minimum value ts_min of the settling time ts are set in advance and stored in the target input-output relationship 124b of the storage unit 124. The adjustment processing unit 123 calculates the settling time ts using the maximum value ts_max and minimum value ts_min, the speed Ps, and the following formula 9. Note that in formula 9, ts when the speed Ps = 100% corresponds to the maximum value ts_max, and ts when the speed Ps = 0% corresponds to the minimum value ts_min. Also, formula 9 is stored in advance in the target input-output relationship 124b of the storage unit 124.

Figure 0007497141000009
Figure 0007497141000009

次いで、調整処理部123は、最大行き過ぎ量Mpを用いて、伝達関数の減衰係数ζを取得する(ステップS105)。0<Mp_min<Mp_max<1であるため、減衰係数ζ<1となる。これにより、図6に示すように、出力が目標値に対応する「1」を超えるオーバーシュートが発生する。よって、最大行き過ぎ量Mpは、下記の式10のように表される。さらに、式10を減衰係数ζについて解くと、減衰係数ζは下記の式11のように表される。調整処理部123は、最大行き過ぎ量Mpと式11とを用いて、減衰係数ζを算出する。 Next, the adjustment processing unit 123 obtains the damping coefficient ζ of the transfer function using the maximum overshoot amount Mp (step S105). Since 0 < Mp_min < Mp_max < 1, the damping coefficient ζ < 1. As a result, as shown in FIG. 6, an overshoot occurs in which the output exceeds "1" corresponding to the target value. Therefore, the maximum overshoot amount Mp is expressed as in Equation 10 below. Furthermore, when Equation 10 is solved for the damping coefficient ζ, the damping coefficient ζ is expressed as in Equation 11 below. The adjustment processing unit 123 calculates the damping coefficient ζ using the maximum overshoot amount Mp and Equation 11.

Figure 0007497141000010
Figure 0007497141000010

Figure 0007497141000011
Figure 0007497141000011

次いで、調整処理部123は、整定時間tsを用いて、伝達関数の固有角周波数ωnを取得する(ステップS106)。整定時間tsは、減衰係数ζと、固有角周波数ωnと、整定許容幅Δとを用いて、下記の式12のように表される。整定許容幅Δは、図6に示すような出力の振動が整定、つまり収束したとみなすことができる出力の振動幅である。出力の振動幅が整定許容幅Δ以下の場合、振動が整定したとみなされ得る。整定許容幅Δは、図6のように目標値に対応する「1」が中心となるように設定されてもよく、目標値に対応する「1」が中心からずれていてもよい。 Next, the adjustment processing unit 123 obtains the natural angular frequency ωn of the transfer function using the settling time ts (step S106). The settling time ts is expressed as in the following formula 12 using the damping coefficient ζ, the natural angular frequency ωn, and the settling allowance width Δ. The settling allowance width Δ is the oscillation width of the output at which the oscillation of the output as shown in FIG. 6 can be considered to have settled, that is, converged. When the oscillation width of the output is equal to or smaller than the settling allowance width Δ, the oscillation can be considered to have settled. The settling allowance width Δ may be set so that the "1" corresponding to the target value is at the center as shown in FIG. 6, or the "1" corresponding to the target value may be shifted from the center.

Figure 0007497141000012
Figure 0007497141000012

整定許容幅Δは、例えば、0.02~0.05の範囲内の値、つまり、強さPfと同じ単位を用いて、目標値から2~5%の範囲内の値とすることができる。例えば、整定許容幅Δ=0.05の場合、式12で表される整定時間tsは、下記の式13のように近似することができる。また、整定許容幅Δ=0.02の場合、整定時間tsは、下記の式14のように近似することができる。 The settling tolerance Δ can be set, for example, to a value in the range of 0.02 to 0.05, that is, a value in the range of 2 to 5% from the target value using the same units as the strength Pf. For example, when the settling tolerance Δ = 0.05, the settling time ts expressed by equation 12 can be approximated as in equation 13 below. Also, when the settling tolerance Δ = 0.02, the settling time ts can be approximated as in equation 14 below.

Figure 0007497141000013
Figure 0007497141000013

Figure 0007497141000014
Figure 0007497141000014

本例では、整定許容幅Δ=0.02とする。この場合、式14を固有角周波数ωnについて解くと、固有角周波数ωnは下記の式15のように表される。調整処理部123は、整定時間tsと式15とを用いて、固有角周波数ωnを算出する。 In this example, the settling tolerance Δ = 0.02. In this case, when equation 14 is solved for the natural angular frequency ωn, the natural angular frequency ωn is expressed as in equation 15 below. The adjustment processing unit 123 calculates the natural angular frequency ωn using the settling time ts and equation 15.

Figure 0007497141000015
Figure 0007497141000015

次いで、調整処理部123は、ステップS105で取得した減衰係数ζと、ステップS106で取得した固有角周波数ωnとを、式7の二次遅れ系の伝達関数の基本式に代入することで、強さPf及び速さPsに対応する伝達関数を決定する(ステップS107)。調整処理部123は、減衰係数ζ及び固有角周波数ωnを用いて伝達関数、つまり目標入出力関係を取得する。 Then, the adjustment processing unit 123 determines a transfer function corresponding to the strength Pf and the speed Ps by substituting the damping coefficient ζ obtained in step S105 and the natural angular frequency ωn obtained in step S106 into the basic equation of the transfer function of the second-order lag system in Equation 7 (step S107). The adjustment processing unit 123 obtains the transfer function, that is, the target input-output relationship, using the damping coefficient ζ and the natural angular frequency ωn.

次いで、調整処理部123は、ステップS107で取得した伝達関数を記憶部124に記憶させ、目標入出力関係124bに保持させる(ステップS108)。なお、調整処理部123は、記憶部124に既に記憶されている伝達関数を残存させてもよく、ステップS107で取得した伝達関数で置き換えることで更新してもよい。 Next, the adjustment processing unit 123 stores the transfer function acquired in step S107 in the memory unit 124 and holds it in the target input/output relationship 124b (step S108). Note that the adjustment processing unit 123 may leave the transfer function already stored in the memory unit 124, or may update it by replacing it with the transfer function acquired in step S107.

例えば、図8は、実施の形態に係る目標出力処理部120が用いる目標入出力関係の変更例を、図6と同様に示す図である。図8は、強さPf=20%且つ速さPs=80%のケース1(実線曲線TD1)と、強さPf=50%且つ速さPs=30%のケース2(破線曲線TD2)とを示す。図8は、ケース1及び2についての目標入出力関係のステップ応答を示し縦軸の出力は力に対応する。例えば、強さPfが大きいほど、入力装置20のオペレータはロボットハンド13が把持するワークWが被組み付け対象部品T(図1参照)に接触したことを知覚しやすいが、接触時のロボット10が振動的になる可能性がある。速さPsが大きいほど、力の振動は早く収束するが、目標の動作にロボット10の動作が追従できなくなりロボット10が振動的になる、又は、ロボット10の動作に対する力検出器40の検出精度が低下する可能性がある。 For example, FIG. 8 is a diagram similar to FIG. 6 showing a modified example of the target input-output relationship used by the target output processing unit 120 according to the embodiment. FIG. 8 shows case 1 (solid curve TD1) where strength Pf = 20% and speed Ps = 80%, and case 2 (dashed curve TD2) where strength Pf = 50% and speed Ps = 30%. FIG. 8 shows the step response of the target input-output relationship for cases 1 and 2, and the output on the vertical axis corresponds to force. For example, the greater the strength Pf, the easier it is for the operator of the input device 20 to perceive that the workpiece W held by the robot hand 13 has come into contact with the assembly target part T (see FIG. 1), but the robot 10 may become vibratory at the time of contact. The greater the speed Ps, the faster the force vibration converges, but the robot 10 may not be able to follow the target movement and the robot 10 may become vibratory, or the detection accuracy of the force detector 40 for the movement of the robot 10 may decrease.

また、調整器30で決定された力の強さPf及び動作の速さPsを目標入出力関係124bへ反映する手法は上記手法に限定されず、いかなる手法であってもよい。例えば、力の強さPfに応じて、図6の曲線TDを振幅方向である出力軸方向に拡張又は収縮させてもよく、動作の速さPsに応じて、図6の曲線TDを時間軸方向に拡張又は収縮させてもよい。なお、上述のような目標入出力関係において、出力には、力の目標値に対する力の強さの割合等の力の強さに対応する出力に限定されず、様々な出力が適用可能である。 The method of reflecting the force strength Pf and the movement speed Ps determined by the adjuster 30 in the target input-output relationship 124b is not limited to the above method, and any method may be used. For example, the curve TD in FIG. 6 may be expanded or contracted in the output axis direction, which is the amplitude direction, depending on the force strength Pf, and the curve TD in FIG. 6 may be expanded or contracted in the time axis direction depending on the movement speed Ps. Note that in the target input-output relationship described above, the output is not limited to an output corresponding to the force strength, such as the ratio of the force strength to the target force value, and various outputs can be applied.

<ロボットシステムの動作>
実施の形態に係るロボットシステム1の動作の一例を説明する。図9は、実施の形態に係るロボットシステム1のパラメータの調整動作の一例を示すフローチャートである。図9は、まず、入力装置20を用いてロボット10に動作させた後、調整器30を用いて力の強さ及び動作の速さを変更するケースを示す。
<Operation of the robot system>
An example of the operation of the robot system 1 according to the embodiment will be described. Fig. 9 is a flowchart showing an example of the parameter adjustment operation of the robot system 1 according to the embodiment. Fig. 9 shows a case where the robot 10 is first caused to perform an operation using the input device 20, and then the strength of the force and the speed of the operation are changed using the adjuster 30.

図9に示すように、まず、ロボットシステム1のオペレータ等は、ロボット10に所定の動作をさせるように、入力装置20に操作を入力する(ステップS201)。これにより、入力装置20は、当該操作に対応する入力情報をコントローラ100に出力する。なお、所定の動作は、目的とする作業を実行する動作であり、本例では、ワークWを被組み付け対象部品Tの穴に嵌入する動作であり、力制御を伴う。本例では、オペレータ等は、入力装置20をマニュアル操作することでロボット10の一連の動作のうちの個々の動作を操作し、ロボットハンド13がワークWを押し込む力を調整しつつ、ロボット19に動作をさせる。しかしながら、オペレータ等は、所定の力でワークWを被組み付け対象部品Tの穴に嵌入する一連の動作全体の実行を示す指令を入力装置20に入力することで、ロボット19に動作をさせてもよい。 9, first, an operator of the robot system 1 inputs an operation to the input device 20 to make the robot 10 perform a predetermined operation (step S201). As a result, the input device 20 outputs input information corresponding to the operation to the controller 100. The predetermined operation is an operation to perform a target task, and in this example, it is an operation to fit the workpiece W into a hole in the assembly target part T, and involves force control. In this example, the operator manually operates the input device 20 to operate each of the series of operations of the robot 10, and causes the robot 19 to operate while adjusting the force with which the robot hand 13 pushes the workpiece W. However, the operator may cause the robot 19 to operate by inputting a command to the input device 20 indicating the execution of the entire series of operations to fit the workpiece W into the hole in the assembly target part T with a predetermined force.

次いで、コントローラ100の実機処理部110は、入力装置20から入力情報を受け付け、記憶部114に記憶されているパラメータ114aに基づき、当該入力情報に対応する指令をロボット10に出力する(ステップS202)。具体的には、パラメータ114aは、実機処理部110に現時点で設定されているパラメータの設定値であり、例えば、初期設定値であってもよい。実機処理部110は、当該パラメータ114aの設定値に基づき、所定の動作を行わせるためのロボットハンド13の位置指令値を生成し、当該位置指令値に対応する駆動装置M1~M6の駆動量の指令を、アーム12の駆動装置M1~M6に出力する。 Then, the real machine processing unit 110 of the controller 100 receives input information from the input device 20 and outputs a command corresponding to the input information to the robot 10 based on the parameter 114a stored in the memory unit 114 (step S202). Specifically, the parameter 114a is a parameter setting value currently set in the real machine processing unit 110, and may be, for example, an initial setting value. Based on the setting value of the parameter 114a, the real machine processing unit 110 generates a position command value for the robot hand 13 to perform a predetermined operation, and outputs a command for the drive amount of the drive units M1 to M6 corresponding to the position command value to the drive units M1 to M6 of the arm 12.

次いで、コントローラ100の目標出力処理部120は、ステップS202での指令に従って動作したロボット10のロボットハンド13が発生している力の情報である力データと、ロボットハンド13の位置の情報である位置データとを取得する(ステップS203)。目標出力処理部120は、実機処理部110によって生成されるロボットハンド13の位置指令値を、位置データとして取得する。目標出力処理部120は、力検出器40によって検出される力の検出値と、ロボットハンド13の位置指令値に基づく変位方向とを、力データとして取得する。 Then, the target output processing unit 120 of the controller 100 acquires force data, which is information on the force generated by the robot hand 13 of the robot 10 that has operated according to the command in step S202, and position data, which is information on the position of the robot hand 13 (step S203). The target output processing unit 120 acquires the position command value of the robot hand 13 generated by the actual machine processing unit 110 as position data. The target output processing unit 120 acquires the detection value of the force detected by the force detector 40 and the displacement direction based on the position command value of the robot hand 13 as force data.

次いで、オペレータ等は、ステップS202での指令に従ったロボット10の動作を確認し、確認結果に基づき、ロボット10に設定されている力の強さ及び動作の速さのパラメータの値を変更するか否かを判定する(ステップS204)。オペレータ等は、変更する場合(ステップS204でYes)、ステップS205に進み、変更しない場合(ステップS204でNo)、パラメータ調整の一連の動作を終了する。 Next, the operator etc. checks the operation of the robot 10 in accordance with the command in step S202, and determines whether or not to change the parameter values of the strength of force and the speed of operation set in the robot 10 based on the check result (step S204). If the operator etc. decides to change them (Yes in step S204), the process proceeds to step S205, and if the operator etc. decides not to change them (No in step S204), the series of operations for adjusting the parameters ends.

ステップS205において、オペレータ等は、所望の力の強さ及び動作の速さに調整するために、調整器30の力調整デバイス31及び速さ調整デバイス32への入力を行う。入力完了後、調整器30は、力調整デバイス31及び速さ調整デバイス32が示す決定値をコントローラ100に出力する。 In step S205, the operator or the like performs input to the force adjustment device 31 and speed adjustment device 32 of the adjuster 30 to adjust the strength of the force and the speed of the movement to the desired value. After completing the input, the adjuster 30 outputs the determined values indicated by the force adjustment device 31 and the speed adjustment device 32 to the controller 100.

次いで、コントローラ100の目標出力処理部120は、調整器30から力の強さ及び動作の速さの決定値を受け取ることで、記憶部124の目標入出力関係124bにおける力の強さ及び動作の速さの変更を受け付ける(ステップS206)。 Next, the target output processing unit 120 of the controller 100 receives the determined values of the strength of force and the speed of movement from the adjuster 30, and accepts the changes to the strength of force and the speed of movement in the target input/output relationship 124b of the memory unit 124 (step S206).

次いで、目標出力処理部120は、受け取った力の強さ及び動作の速さの決定値を目標入出力関係124bの伝達関数に反映することで、新たな伝達関数を決定する。つまり、目標出力処理部120は、伝達関数を変更する(ステップS207)。 Next, the target output processing unit 120 determines a new transfer function by reflecting the received determined values of the strength of the force and the speed of the movement in the transfer function of the target input/output relationship 124b. In other words, the target output processing unit 120 changes the transfer function (step S207).

次いで、目標出力処理部120は、ロボットハンド13の力データ及び位置データを用いて、目標入出力関係の参照入力情報を生成する(ステップS208)。 Next, the target output processing unit 120 generates reference input information for the target input/output relationship using the force data and position data of the robot hand 13 (step S208).

次いで、目標出力処理部120は、参照入力情報と、ステップS207で決定された伝達関数、つまり目標入出力関係とを用いて、ステップS201の入力情報に対応するロボット10の目標動作を示す目標出力データを取得する(ステップS209)。 Next, the target output processing unit 120 uses the reference input information and the transfer function determined in step S207, i.e., the target input/output relationship, to obtain target output data indicating the target motion of the robot 10 corresponding to the input information in step S201 (step S209).

次いで、コントローラ100の最適化処理部130は、ステップS203で取得されたロボットハンド13の力データと、ステップS209で取得された目標出力データとを合わせるように、実機処理部110のパラメータ114aの設定値を変更する(ステップS210)。具体的には、最適化処理部130は、力データを目標出力データに一致させるようにパラメータ114aの設定値を変更する。そして、最適化処理部130は、パラメータ調整の一連の動作を終了する。 Then, the optimization processing unit 130 of the controller 100 changes the setting value of the parameter 114a of the actual device processing unit 110 so as to match the force data of the robot hand 13 acquired in step S203 with the target output data acquired in step S209 (step S210). Specifically, the optimization processing unit 130 changes the setting value of the parameter 114a so as to match the force data with the target output data. Then, the optimization processing unit 130 ends the series of operations for parameter adjustment.

ステップS201~S210によって、オペレータ等は、ロボット10の動作の実行結果に基づき、調整器30を用いて力の強さ及び動作の速さのパラメータを所望の値に設定し、コントローラ100は、設定されたパラメータの値を実機処理部110のパラメータ114aの設定値に反映することで、ロボット10の動作に反映する。力の強さ及び動作の速さのパラメータの値のロボット10の動作への反映は、ロボット10に少なくとも1回の所定の動作を行わせることで実現可能である。 In steps S201 to S210, the operator or the like uses the adjuster 30 to set the parameters of the strength of force and the speed of movement to desired values based on the execution result of the robot 10's movement, and the controller 100 reflects the set parameter values in the setting values of the parameters 114a of the actual machine processing unit 110, thereby reflecting them in the movement of the robot 10. Reflecting the parameter values of the strength of force and the speed of movement in the movement of the robot 10 can be achieved by having the robot 10 perform a predetermined movement at least once.

なお、ステップS210の後、オペレータ等は、ロボット10に再度所定の動作をさせて、ステップS201~S210の処理を繰り返させてもよい。これにより、ロボット10は、ステップS210での変更後のパラメータ114aの設定値に基づき動作し、オペレータ等は、ロボット10の当該動作を確認し、ロボット10に設定されている力の強さ及び動作の速さのパラメータの値を変更するか否かを判定することができる。そして、当該パラメータの値の変更結果が実機処理部110のパラメータ114aに反映される。このように、ステップS201~S210を繰り返すことによって、オペレータ等は、ロボット10の所望の動作が実現されるまでその動作を確認しつつ、調整器30を用いて、力の強さ及び動作の速さのパラメータの最適な値を設定することができる。 After step S210, the operator may make the robot 10 perform a predetermined motion again, repeating the process of steps S201 to S210. This causes the robot 10 to operate based on the set values of the parameters 114a after the change in step S210, and the operator can check the motion of the robot 10 and determine whether or not to change the parameter values of the strength of force and the speed of motion set in the robot 10. The result of changing the parameter values is then reflected in the parameters 114a of the actual machine processing unit 110. In this way, by repeating steps S201 to S210, the operator can use the adjuster 30 to set optimal values for the parameters of the strength of force and the speed of motion while checking the motion until the desired motion of the robot 10 is achieved.

<効果等>
実施の形態に係るロボット制御装置としてのコントローラ100は、入力情報を受け付け、入力情報に対応する指令をロボット10に出力する第一処理部としての実機処理部110と、指令を受けたロボット10の動作結果を示す第一情報を取得する第一取得部としての入力処理部121と、入力情報と入力情報に対応するロボット10の目標動作との目標関係としての目標入出力関係124bに基づき、入力情報に対応するロボット10の目標動作を示す第二情報としての目標出力データ124aを取得する第二処理部としての演算部122と、第一情報と第二情報とを合わせるように実機処理部110に設定される第一パラメータ114aを変更するパラメータ決定部としての最適化処理部130と、ロボット10の動作に関する第二パラメータの変更を受け付け、第二パラメータの変更を反映することで、目標入出力関係124bを変更する調整処理部123とを備える。
<Effects, etc.>
The controller 100 as a robot control device according to the embodiment includes an actual machine processing unit 110 as a first processing unit that receives input information and outputs a command corresponding to the input information to the robot 10; an input processing unit 121 as a first acquisition unit that acquires first information indicating a result of an operation of the robot 10 that has received the command; a calculation unit 122 as a second processing unit that acquires target output data 124a as second information indicating a target operation of the robot 10 corresponding to the input information based on a target input-output relationship 124b as a target relationship between the input information and a target operation of the robot 10 corresponding to the input information; an optimization processing unit 130 as a parameter determination unit that changes a first parameter 114a that is set in the actual machine processing unit 110 so as to match the first information with the second information; and an adjustment processing unit 123 that receives a change in a second parameter related to the operation of the robot 10 and changes the target input-output relationship 124b by reflecting the change in the second parameter.

上記構成によると、コントローラ100は、第二パラメータの変更が反映され且つロボット10の目標動作を示す第二情報と、ロボット10の動作結果を示す第一情報とを合わせるように、実機処理部110の第一パラメータを変更する。よって、コントローラ100は、第二パラメータの変更を反映した第一パラメータの変更を行うことができる。このような変更後の第一パラメータは、ロボット10に目標動作を実行させることができる。このとき、ロボット10のオペレータ等は、ロボット10の動作に関連し且つ判断しやすい第二パラメータを変更することで、実機処理部110に設定されるようなオペレータ等にとって判断が難しい第一パラメータを変更することができる。従って、ロボット10の制御内容の変更が簡易になる。 According to the above configuration, the controller 100 changes the first parameter of the real machine processing unit 110 so as to reflect the change in the second parameter and to match the second information indicating the target motion of the robot 10 with the first information indicating the motion result of the robot 10. Thus, the controller 100 can change the first parameter to reflect the change in the second parameter. The first parameter after such a change can cause the robot 10 to execute the target motion. At this time, the operator of the robot 10 can change the first parameter set in the real machine processing unit 110, which is difficult for the operator to judge, by changing the second parameter that is related to the motion of the robot 10 and easy to judge. Therefore, it becomes easier to change the control content of the robot 10.

また、実施の形態に係るコントローラ100において、目標出力処理部120の演算部122は、ロボット10の動作結果を示す第一情報を目標入出力関係124bに適用することで、第二情報の目標出力データ124aを取得してもよい。上記構成によると、第二情報の目標出力データ124aに実際の計測データを反映することができる。これにより、第一情報と第二情報とは高い精度で対応付けられ、このような第一情報及び第二情報を用いて変更される第一パラメータの精度が向上する。 In addition, in the controller 100 according to the embodiment, the calculation unit 122 of the target output processing unit 120 may obtain the target output data 124a of the second information by applying the first information indicating the operation result of the robot 10 to the target input/output relationship 124b. According to the above configuration, the actual measurement data can be reflected in the target output data 124a of the second information. As a result, the first information and the second information are associated with each other with high accuracy, and the accuracy of the first parameter that is changed using such first information and second information is improved.

さらに、実施の形態に係るコントローラ100において、最適化処理部130は、FRITの手法を用いて第一パラメータ114aを変更してもよい。FRITの手法を用いることによって、第一パラメータ114aを、ロボット10の動作結果を示す第一情報とロボット10の目標動作を示す第二情報とが一致するように最適に変更することが簡易になる。 Furthermore, in the controller 100 according to the embodiment, the optimization processing unit 130 may change the first parameter 114a using the FRIT method. By using the FRIT method, it becomes easy to optimally change the first parameter 114a so that the first information indicating the operation result of the robot 10 matches the second information indicating the target operation of the robot 10.

また、実施の形態に係るコントローラ100において、入力装置20の入力情報は、ロボット10の操作装置を介して入力される操作入力情報であってもよい。上記構成によると、コントローラ100は、第一パラメータ114aを変更することで、操作入力情報に対応するロボット10の動作を目標動作に合わせることができる。例えば、操作入力情報は、ロボット10の一連の動作に含まれる個々の動作をマニュアル操作するために、オペレータ等によって操作装置に入力される、ロボット10の個々の動作に対応する操作の情報であってもよい。又は、操作入力情報は、ロボット10に一連の動作全体を自動で実行させるために、オペレータ等によって操作装置に入力される、当該一連の動作の実行指令であってもよい。例えば、一連の動作は、ワークWを把持して移動させ、被組み付け対象部品Tの穴に嵌入する動作である。個々の動作は、ワークWを把持する動作、把持したワークWを水平方向に移動する動作、ワークWを下降させる動作、及び、ワークWを対象部品Tの穴に挿入し押し込む動作等で構成される。 In the controller 100 according to the embodiment, the input information of the input device 20 may be operation input information input via the operation device of the robot 10. According to the above configuration, the controller 100 can change the first parameter 114a to match the operation of the robot 10 corresponding to the operation input information to the target operation. For example, the operation input information may be operation information corresponding to each operation of the robot 10 input to the operation device by an operator or the like in order to manually operate each operation included in the series of operations of the robot 10. Alternatively, the operation input information may be an execution command for the series of operations input to the operation device by an operator or the like in order to make the robot 10 automatically execute the entire series of operations. For example, the series of operations is an operation of gripping and moving the workpiece W and fitting it into a hole of the target part T to be assembled. The individual operations are composed of an operation of gripping the workpiece W, an operation of moving the gripped workpiece W in the horizontal direction, an operation of lowering the workpiece W, and an operation of inserting and pushing the workpiece W into the hole of the target part T.

また、実施の形態に係るコントローラ100において、入力装置20の入力情報は、ロボット10の操作装置を介して入力される操作入力情報と、ロボット10の動作結果を示す第一情報との差分であってもよい。上記構成によると、コントローラ100は、第一パラメータ114aを変更することで、上記差分を用いたフィードバック制御によるロボット10の動作を目標動作に合わせることができる。 In addition, in the controller 100 according to the embodiment, the input information of the input device 20 may be the difference between the operation input information input via the operation device of the robot 10 and the first information indicating the operation result of the robot 10. With the above configuration, the controller 100 can align the operation of the robot 10 by feedback control using the difference with the target operation by changing the first parameter 114a.

また、実施の形態に係るコントローラ100において、ロボット10の動作結果を示す第一情報は、ロボット10のアーム12に配置された力検出器40による力の検出情報であり、目標出力データ124aは、アーム12が発生する目標の力の情報であってもよい。上記構成によると、コントローラ100は、第一パラメータ114aを変更することで、力制御を伴うアーム12の動作を目標動作に合わせることができる。 Furthermore, in the controller 100 according to the embodiment, the first information indicating the operation result of the robot 10 may be force detection information by a force detector 40 arranged on the arm 12 of the robot 10, and the target output data 124a may be information on a target force generated by the arm 12. According to the above configuration, the controller 100 can match the operation of the arm 12 involving force control to the target operation by changing the first parameter 114a.

また、実施の形態に係るコントローラ100において、実機処理部110の第一パラメータ114aは、ロボット10のアーム12のインピーダンス特性を示す慣性パラメータ、粘性パラメータ及び剛性パラメータの少なくとも1つを含んでもよい。上記のような第一パラメータ114aは、アーム12の力制御に関連するパラメータである。コントローラ100は、力制御に関連する第一パラメータ114aを変更することで、アーム12の動作を目標動作に合わせるように力制御することができる。 In addition, in the controller 100 according to the embodiment, the first parameter 114a of the actual machine processing unit 110 may include at least one of an inertia parameter, a viscosity parameter, and a stiffness parameter that indicate the impedance characteristics of the arm 12 of the robot 10. The first parameter 114a as described above is a parameter related to the force control of the arm 12. The controller 100 can perform force control to match the movement of the arm 12 to a target movement by changing the first parameter 114a related to force control.

また、実施の形態に係るコントローラ100において、ロボット10の動作に関する第二パラメータは、ロボット10のアーム12の力及び動作速度の少なくとも1つを含んでもよい。上記のような第二パラメータは、ロボットシステム1のオペレータ等がパラメータの強弱又は大小の程度及びロボット10の動作との関連性を判断することが容易であるパラメータである。よって、オペレータ等は第二パラメータを調整することで、ロボット10の動作を所望の動作に容易に調整することができる。 In addition, in the controller 100 according to the embodiment, the second parameter related to the movement of the robot 10 may include at least one of the force and the movement speed of the arm 12 of the robot 10. The second parameters as described above are parameters that allow the operator of the robot system 1 to easily determine the degree of strength or magnitude of the parameter and its relevance to the movement of the robot 10. Thus, the operator can easily adjust the movement of the robot 10 to the desired movement by adjusting the second parameter.

また、実施の形態に係るロボットシステム1は、実施の形態に係るコントローラ100と、コントローラ100の指令に従って動作するロボット10と、ロボット10に対する操作の入力を受け付け且つ操作に対応する入力情報をコントローラ100に出力する入力装置20と、第二パラメータの変更を受け付け且つ変更された第二パラメータをコントローラ100に出力する調整器30とを備える。上記構成によると、実施の形態に係るコントローラ100と同様の効果が得られる。 The robot system 1 according to the embodiment includes a controller 100 according to the embodiment, a robot 10 that operates according to commands from the controller 100, an input device 20 that receives input of an operation for the robot 10 and outputs input information corresponding to the operation to the controller 100, and an adjuster 30 that receives a change to a second parameter and outputs the changed second parameter to the controller 100. With the above configuration, the same effect as that of the controller 100 according to the embodiment can be obtained.

<その他の実施の形態>
以上、本発明の実施の形態の例について説明したが、本発明は、上記実施の形態に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
<Other embodiments>
Although the embodiment of the present invention has been described above, the present invention is not limited to the above embodiment. In other words, various modifications and improvements are possible within the scope of the present invention. For example, the embodiment may be modified in various ways, and the embodiment may be constructed by combining components in different embodiments.

例えば、実施の形態に係るロボットシステム1は、1つの入力装置20と1つのロボット10とを備えるように構成されていたが、これに限定されない。ロボットシステム1は、1つ以上の入力装置20と1つ以上のロボット10とを備えてもよい。また、ロボット10は、1つのアーム12を備えていたが、2つ以上のアームを備えてもよい。また、ロボット10の形式も、垂直多関節型ロボットに限定されず、例えば、水平多関節型ロボット、極座標型ロボット、円筒座標型ロボット、直角座標型ロボット、垂直多関節型ロボット、又はその他のロボットとして構成されてもよい。このように、ロボットシステム1が備える入力装置20及びロボット10それぞれの数量、並びに、入力装置20及びロボット10それぞれの構成は、いかなる数量及び構成であってもよい。 For example, the robot system 1 according to the embodiment is configured to include one input device 20 and one robot 10, but is not limited to this. The robot system 1 may include one or more input devices 20 and one or more robots 10. The robot 10 includes one arm 12, but may include two or more arms. The type of the robot 10 is not limited to a vertical articulated robot, and may be configured as, for example, a horizontal articulated robot, a polar coordinate robot, a cylindrical coordinate robot, a Cartesian coordinate robot, a vertical articulated robot, or other robots. In this way, the number of input devices 20 and robots 10 included in the robot system 1, and the configuration of the input devices 20 and robots 10 may be any number and configuration.

また、実施の形態に係るロボットシステム1は、マスタースレーブ式の入力装置20及びロボット10を備えてもよい。この場合、例えば、入力装置20は、オペレータの手元にあるマスターアームを構成し、ロボット10は、遠隔のスレーブアームを構成してもよい。そして、オペレータによって与えられるマスターアームの動作を、スレーブアームがトレースするように構成される。ロボットシステム1は、オペレータが所望する動作をスレーブアームに正確に実現させることを容易にする。また、オペレータは、マスターアームを介して、スレーブアームの動作を容易に知覚することができる。 The robot system 1 according to the embodiment may also include a master-slave input device 20 and robot 10. In this case, for example, the input device 20 may constitute a master arm located at the operator's hand, and the robot 10 may constitute a remote slave arm. The slave arm is then configured to trace the movement of the master arm given by the operator. The robot system 1 makes it easy for the operator to make the slave arm accurately realize the movement desired by the operator. Also, the operator can easily perceive the movement of the slave arm via the master arm.

また、本発明は、ロボット制御方法であってもよい。例えば、本発明に係るロボット制御方法は、入力情報を受け付け、第一パラメータに基づき前記入力情報に対応する指令を決定しロボットに出力するステップと、前記指令を受けた前記ロボットの動作結果を示す第一情報を取得するステップと、前記ロボットの動作に関する第二パラメータの変更を受け付けるステップと、前記入力情報と前記入力情報に対応する前記ロボットの目標動作との目標関係に、前記第二パラメータの変更を反映することで、前記目標関係を変更するステップと、前記目標関係に基づき、前記入力情報に対応する前記ロボットの目標動作を示す第二情報を取得するステップと、前記第一情報と前記第二情報とを合わせるように、前記第一パラメータを変更するステップとを含む。このロボット制御方法によれば、上記ロボット制御装置と同様の効果が得られる。このようなロボット制御方法は、CPU、LSIなどの回路、ICカード又は単体のモジュール等によって、実現されてもよい。 The present invention may also be a robot control method. For example, the robot control method according to the present invention includes the steps of: accepting input information, determining a command corresponding to the input information based on a first parameter, and outputting the command to the robot; acquiring first information indicating the result of the operation of the robot that received the command; accepting a change in a second parameter related to the operation of the robot; changing the goal relationship between the input information and the target operation of the robot corresponding to the input information by reflecting the change in the second parameter; acquiring second information indicating the target operation of the robot corresponding to the input information based on the goal relationship; and changing the first parameter so as to match the first information and the second information. According to this robot control method, the same effect as that of the robot control device described above can be obtained. Such a robot control method may be realized by a circuit such as a CPU or an LSI, an IC card, or a standalone module.

また、本発明は、上記ロボット制御方法を実行するためのプログラムであってもよく、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。 The present invention may also be a program for executing the robot control method, or a non-transitory computer-readable recording medium on which the program is recorded. Needless to say, the program can be distributed via a transmission medium such as the Internet.

また、上記で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明の技術を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。 In addition, all the numbers such as ordinal numbers and quantities used above are merely examples to specifically explain the technology of the present invention, and the present invention is not limited to the exemplified numbers. In addition, the connections between the components are merely examples to specifically explain the technology of the present invention, and the connections that realize the functions of the present invention are not limited to these.

また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。 The division of blocks in the functional block diagram is just one example, and multiple blocks may be realized as one block, one block may be divided into multiple blocks, and/or some functions may be transferred to other blocks. Furthermore, the functions of multiple blocks having similar functions may be processed in parallel or in a time-shared manner by a single piece of hardware or software.

1 ロボットシステム
10 ロボット
12 アーム
20 入力装置
30 調整器
40 力検出器
100 コントローラ(ロボット制御装置)
110 実機処理部(第一処理部)
120 目標出力処理部
121 入力処理部(第一取得部)
122 演算部(第二処理部)
123 調整処理部
130 最適化処理部(パラメータ決定部)
1 Robot system 10 Robot 12 Arm 20 Input device 30 Adjuster 40 Force detector 100 Controller (robot control device)
110 Actual machine processing section (first processing section)
120 Target output processing unit 121 Input processing unit (first acquisition unit)
122 Calculation unit (second processing unit)
123 Adjustment processing unit 130 Optimization processing unit (parameter determination unit)

Claims (8)

ロボットに動作させるための第一入力情報を受け付け、前記第一入力情報と、前記ロボットのインピーダンス特性を示す第一パラメータの設定値、当該設定値に設定された前記第一パラメータに従って前記ロボットに実行させる指令を演算するための関数とを用いて、前記第一入力情報に対応する動作を前記ロボットに実行させる指令を決定し、前記指令を前記ロボットに出力する第一処理部と、
前記指令を受けた前記ロボットの位置及び力に関する動作結果を示す第一情報を取得し、前記第一情報と前記関数の逆関数とを用いて、参照入力情報を生成する第一取得部と、
前記参照入力情報と前記参照入力情報に対応する前記ロボットの動作速度及び力に関する目標動作との関係を示す伝達関数に、前記参照入力情報を適用して、前記参照入力情報に対応する前記ロボットの動作速度及び力に関する目標動作を示す第二情報を取得する第二処理部と、
前記第一情報と前記第二情報とを合わせるように前記第一処理部に設定されている前記第一パラメータの設定値を変更するパラメータ決定部と、
前記ロボットの力の基準値に対する割合及び前記ロボットの動作速度の基準値に対する割合の少なくとも1つを含む第二パラメータの設定値を変更する入力を受け付ける調整器から、前記第二パラメータの設定値を変更する指令を受け取り、前記第二パラメータの設定値の変更を反映することで、前記第二処理部が用いる前記伝達関数を変更する調整処理部とを備える
ロボット制御装置。
a first processing unit that receives first input information for causing a robot to perform an operation, determines a command for causing the robot to perform an operation corresponding to the first input information using the first input information, a setting value of a first parameter indicating an impedance characteristic of the robot, and a function for calculating a command to be executed by the robot according to the first parameter set to the setting value, and outputs the command to the robot;
a first acquisition unit that acquires first information indicating an operation result related to a position and a force of the robot that has received the command , and generates reference input information using the first information and an inverse function of the function ;
a second processing unit that applies the reference input information to a transfer function that indicates a relationship between the reference input information and a target motion related to a motion speed and a force of the robot corresponding to the reference input information , to obtain second information that indicates a target motion related to a motion speed and a force of the robot corresponding to the reference input information;
a parameter determination unit that changes a set value of the first parameter that is set in the first processing unit so as to match the first information with the second information;
a controller that receives an instruction to change a setting value of a second parameter from an adjuster that accepts an input to change a setting value of a second parameter, the setting value including at least one of a ratio of a force of the robot to a reference value and a ratio of a motion speed of the robot to a reference value, and changes the transfer function used by the second processing unit by reflecting the change in the setting value of the second parameter.
前記パラメータ決定部は、FRITの手法を用いて前記第一パラメータの設定値を変更する
請求項1に記載のロボット制御装置。
The robot control device according to claim 1 , wherein the parameter determination unit changes the set value of the first parameter by using a FRIT method.
前記第一入力情報は、前記ロボットの操作装置を介して入力される操作入力情報である
請求項1または2に記載のロボット制御装置。
The robot control device according to claim 1 or 2 , wherein the first input information is operation input information inputted via an operation device of the robot.
前記第一入力情報は、前記ロボットの操作装置を介して入力される操作入力情報と前記第一情報との差分である
請求項1または2に記載のロボット制御装置。
The robot control device according to claim 1 or 2 , wherein the first input information is a difference between operation input information input via an operation device of the robot and the first information.
前記第一情報は、前記ロボットのアームに配置された力検出器による力の検出情報であり、
前記第二情報は、前記アームが発生する目標の力の情報である
請求項1~のいずれか一項に記載のロボット制御装置。
the first information is force detection information detected by a force detector disposed on an arm of the robot,
The robot control device according to claim 1 , wherein the second information is information on a target force generated by the arm.
前記第一パラメータは、前記ロボットのアームのインピーダンス特性を示す慣性パラメータ、粘性パラメータ及び剛性パラメータの少なくとも1つを含む
請求項1~のいずれか一項に記載のロボット制御装置。
The robot control device according to any one of claims 1 to 5 , wherein the first parameter includes at least one of an inertia parameter, a viscosity parameter, and a stiffness parameter that indicate impedance characteristics of the arm of the robot.
請求項1~のいずれか一項に記載のロボット制御装置と、
前記ロボット制御装置の指令に従って動作する前記ロボットと、
前記ロボットに対する操作の入力を受け付け且つ前記操作に対応する前記第一入力情報を前記ロボット制御装置に出力する入力装置と、
前記第二パラメータの設定値の変更を受け付け且つ変更された前記第二パラメータの設定値を前記ロボット制御装置に出力する前記調整器とを備える
ロボットシステム。
A robot control device according to any one of claims 1 to 6 ,
The robot that operates according to a command from the robot control device;
an input device that receives an input of an operation for the robot and outputs the first input information corresponding to the operation to the robot control device;
the adjuster receiving a change in the setting value of the second parameter and outputting the changed setting value of the second parameter to the robot control device.
ロボットに動作させるための第一入力情報を受け付け、前記第一入力情報と、前記ロボットのインピーダンス特性を示す第一パラメータの設定値、当該設定値に設定された前記第一パラメータに従って前記ロボットに実行させる指令を演算するための関数とを用いて、前記第一入力情報に対応する動作を前記ロボットに実行させる指令を決定し、前記指令を前記ロボットに出力するステップと、
前記指令を受けた前記ロボットの位置及び力に関する動作結果を示す第一情報を取得するステップと、
前記第一情報と前記関数の逆関数とを用いて、参照入力情報を生成するステップと、
前記ロボットの力の基準値に対する割合及び前記ロボットの動作速度の基準値に対する割合の少なくとも1つを含む第二パラメータの設定値を変更する入力を受け付ける調整器から、前記第二パラメータの設定値を変更する指令を受け取るステップと、
前記参照入力情報と前記参照入力情報に対応する前記ロボットの動作速度及び力に関する目標動作との関係を示す伝達関数に、前記第二パラメータの設定値の変更を反映することで、前記伝達関数を変更するステップと、
記伝達関数に前記参照入力情報を適用して、前記参照入力情報に対応する前記ロボットの動作速度及び力に関する目標動作を示す第二情報を取得するステップと、
前記第一情報と前記第二情報とを合わせるように、前記第一パラメータの設定値を変更するステップとを含む
ロボット制御方法。
receiving first input information for causing a robot to perform an operation, determining a command for causing the robot to perform an operation corresponding to the first input information using the first input information, a setting value of a first parameter indicating an impedance characteristic of the robot, and a function for calculating a command to be executed by the robot according to the first parameter set to the setting value, and outputting the command to the robot;
acquiring first information indicating an operation result related to a position and a force of the robot that received the command;
generating reference input information using the first information and an inverse function of the function;
receiving a command to change a setting value of the second parameter from an adjuster that accepts an input to change a setting value of a second parameter including at least one of a ratio of a force of the robot to a reference value and a ratio of a motion speed of the robot to a reference value ;
changing a transfer function indicating a relationship between the reference input information and a target motion related to a motion speed and a force of the robot corresponding to the reference input information, by reflecting a change in the set value of the second parameter in the transfer function;
applying the reference input information to the transfer function to obtain second information indicating a target motion related to a motion speed and a force of the robot corresponding to the reference input information;
changing a setting value of the first parameter so as to match the first information with the second information.
JP2019089536A 2019-05-10 2019-05-10 ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD Active JP7497141B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019089536A JP7497141B2 (en) 2019-05-10 2019-05-10 ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019089536A JP7497141B2 (en) 2019-05-10 2019-05-10 ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD

Publications (2)

Publication Number Publication Date
JP2020185620A JP2020185620A (en) 2020-11-19
JP7497141B2 true JP7497141B2 (en) 2024-06-10

Family

ID=73222634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019089536A Active JP7497141B2 (en) 2019-05-10 2019-05-10 ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD

Country Status (1)

Country Link
JP (1) JP7497141B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007080733A1 (en) 2006-01-13 2007-07-19 Matsushita Electric Industrial Co., Ltd. Device and method for controlling robot arm, robot and program
JP2010058202A (en) 2008-09-02 2010-03-18 Yaskawa Electric Corp Robot teaching replaying device and teaching replaying method
JP2011088225A (en) 2009-10-20 2011-05-06 Yaskawa Electric Corp Device for adjusting impedance control parameter and method for adjusting the same
JP2016182649A (en) 2015-03-26 2016-10-20 セイコーエプソン株式会社 Robot controller and robot system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0335989A (en) * 1989-07-03 1991-02-15 Mitsubishi Electric Corp Teaching device for robot

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007080733A1 (en) 2006-01-13 2007-07-19 Matsushita Electric Industrial Co., Ltd. Device and method for controlling robot arm, robot and program
JP2010058202A (en) 2008-09-02 2010-03-18 Yaskawa Electric Corp Robot teaching replaying device and teaching replaying method
JP2011088225A (en) 2009-10-20 2011-05-06 Yaskawa Electric Corp Device for adjusting impedance control parameter and method for adjusting the same
JP2016182649A (en) 2015-03-26 2016-10-20 セイコーエプソン株式会社 Robot controller and robot system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
奥谷 明大、他,FRITを用いた一般化内部モデル制御器における自由パラメータのデータ駆動型更新,計測自動制御学会論文集,日本,公益社団法人計測自動制御学会,2023年03月27日,第52巻 第11号,pp.581-588
金子 修 Osamu Kaneko,FRITの基礎と今後の展開 -目標応答への追従問題を中心として-,電気学会論文誌C,日本,一般社団法人電気学会 The Institute of Electrical Engineers of Japan,2012年06月01日,第132巻 第6号,pp.816-819

Also Published As

Publication number Publication date
JP2020185620A (en) 2020-11-19

Similar Documents

Publication Publication Date Title
US11685042B2 (en) Working robot and control method for working robot
US9138893B2 (en) Robot teaching system, robot teaching assistant device, robot teaching method, and computer-readable recording medium
US10213922B2 (en) Robot control apparatus and robot system
US11305427B2 (en) Robot system and robot control method
US11161249B2 (en) Robot control apparatus and robot system
JP5939202B2 (en) Robot teaching auxiliary device, robot system, and robot teaching method
JP2014128857A (en) Robot teaching system and robot teaching method
JP6811465B2 (en) Learning device, learning method, learning program, automatic control device, automatic control method and automatic control program
US20200122325A1 (en) Robot system and robot control method
JP2014166681A (en) Robot teaching system and method
CN111819507B (en) Information processing system, information processing method, and computer-readable recording medium
JP6885085B2 (en) Control device, control method, and control program
JP2020192640A (en) Control device, control system, mechanical device system and control method
US20130079905A1 (en) Human-Operated Working Machine System
JP5948914B2 (en) Robot control apparatus, robot control method, robot control program, and robot system
Nandikolla et al. Teleoperation Robot Control of a Hybrid EEG‐Based BCI Arm Manipulator Using ROS
JP7497141B2 (en) ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD
JP7441335B2 (en) Motion generation device, robot system, motion generation method, and motion generation program
JP6003334B2 (en) Control device, control method, control program, robot, and robot system
Nandikolla et al. Research Article Teleoperation Robot Control of a Hybrid EEG-Based BCI Arm Manipulator Using ROS
KR20240086547A (en) Motion system with a configurable feedforward control
Johansson Fingerprint Sensor Testing Using Force Feedback Control
Munih Use of Bimanual Haptic Teleoperation System for Optimized Task Performance with Adaptive Haptic Tunnel
JP2017164822A (en) Control device and robot system
Paine et al. A closed-form solution for selecting maximum critically damped actuator impedance parameters

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230411

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240301

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: 20240528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240529

R150 Certificate of patent or registration of utility model

Ref document number: 7497141

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150