JP2020127989A - Control method, method of manufacturing article, detecting method, robot device, control device, detection device, program and recording medium - Google Patents

Control method, method of manufacturing article, detecting method, robot device, control device, detection device, program and recording medium Download PDF

Info

Publication number
JP2020127989A
JP2020127989A JP2019021980A JP2019021980A JP2020127989A JP 2020127989 A JP2020127989 A JP 2020127989A JP 2019021980 A JP2019021980 A JP 2019021980A JP 2019021980 A JP2019021980 A JP 2019021980A JP 2020127989 A JP2020127989 A JP 2020127989A
Authority
JP
Japan
Prior art keywords
detection
profile
value
detection value
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019021980A
Other languages
Japanese (ja)
Inventor
岩田 益光
Masumitsu Iwata
益光 岩田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019021980A priority Critical patent/JP2020127989A/en
Publication of JP2020127989A publication Critical patent/JP2020127989A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

To accurately detect force.SOLUTION: A control device 400 generates a profile made from a plurality of first detection values sequentially obtained, from a detection device 40 for outputting the detection values according to force during the operation of a robot device. The control device 400 corrects the first detection values obtained from the detection device 40 during the operation of the robot device after generating the profile, on the basis of the profile, thereby obtaining a second detection value. The control device 400 controls the robot device on the basis of the second detection value.SELECTED DRAWING: Figure 3

Description

本発明は、ロボット装置の制御に関する。 The present invention relates to control of a robot device.

嵌合作業などの組み付け作業、ケーブルの配線作業、ケーブルの接続作業、又は人との協働作業等の作業を、ロボットアームを自動運転することによりロボットに行わせることが考えられている。ロボットアームの自動運転において、手先の位置、及び関節にかかるトルクを検出して、ロボットアームを制御することが求められている。ロボットアームの関節にかかる力、即ちトルクは、関節に設置される検出ユニットを用いて検出される。しかし、検出ユニットを関節に設置する場合、関節の動作に起因して検出値に変動が生じてしまうことがあった。例えば、関節に波動歯車減速機等の減速機が配置される場合、減速機の入力軸の回転に連動して、検出値に周期的な変動が発生することがあった。検出値に変動が生じると、この検出値に基づいてロボットアームの関節をトルク制御した場合、ロボットアームの関節が振動し、その結果、ロボットアームの先端部が振動することがあった。 It is considered that the robot automatically performs a robot arm to perform an assembling work such as a fitting work, a cable wiring work, a cable connection work, or a work with a person. In automatic operation of the robot arm, it is required to control the robot arm by detecting the position of the hand and the torque applied to the joint. The force applied to the joint of the robot arm, that is, the torque, is detected using a detection unit installed at the joint. However, when the detection unit is installed in the joint, the detected value may fluctuate due to the movement of the joint. For example, when a speed reducer such as a wave gear reducer is arranged in a joint, there is a case where a detected value periodically fluctuates in association with the rotation of the input shaft of the speed reducer. When the detected value fluctuates, when the torque of the joint of the robot arm is controlled based on the detected value, the joint of the robot arm may vibrate, and as a result, the tip portion of the robot arm may vibrate.

一方、特許文献1には、減速機の入力軸の位置と減速機の温度とに対応した補正値を、予めROMに記憶させておき、トルクの検出値を補正値で補正する技術が開示されている。 On the other hand, Patent Document 1 discloses a technique in which a correction value corresponding to the position of the input shaft of the speed reducer and the temperature of the speed reducer is stored in the ROM in advance and the detected torque value is corrected by the correction value. ing.

特開平11−14474号公報Japanese Patent Laid-Open No. 11-14474

しかし、検出値の変動は温度だけではなく、検出ユニットが置かれている状況や使用時間によって変化する。例えば、検出値の変動は、ロボットの機差によっても異なり、同じロボットであっても関節毎に異なり、またロボットの劣化の度合いによっても異なる。したがって、特許文献1のように予めROMに記憶させておいた補正値で検出値を補正する方法では、力を高精度に検出することが困難であった。 However, the fluctuation of the detection value changes not only with the temperature but also with the situation where the detection unit is placed and the usage time. For example, the variation in the detected value varies depending on the machine difference of the robots, the joints of the same robot, and the degree of deterioration of the robots. Therefore, with the method of correcting the detected value with the correction value stored in the ROM in advance as in Patent Document 1, it is difficult to detect the force with high accuracy.

本発明は、高精度に力を検出可能とすることを目的とする。 An object of the present invention is to make it possible to detect force with high accuracy.

本発明は、ロボット装置に生じる力に応じた検出値を検出装置から取得して、前記ロボット装置を制御する制御方法であって、前記ロボット装置は、制御装置を有し、前記制御装置が、前記ロボット装置の動作中に前記検出装置から順次取得した複数の第1検出値からなるプロファイルを生成し、前記制御装置が、前記プロファイルを生成した後の前記ロボット装置の動作中に前記検出装置から取得した第1検出値を、前記プロファイルに基づいて補正した第2検出値を求め、前記制御装置が、前記第2検出値に基づいて前記ロボット装置を制御することを特徴とする。 The present invention is a control method for acquiring a detection value according to a force generated in a robot device from a detection device and controlling the robot device, wherein the robot device has a control device, and the control device comprises: A profile including a plurality of first detection values sequentially acquired from the detection device is generated during the operation of the robot device, and the control device outputs the profile from the detection device during the operation of the robot device after the profile is generated. The obtained first detection value is corrected based on the profile to obtain a second detection value, and the control device controls the robot device based on the second detection value.

本発明によれば、高精度に力を検出することができる。 According to the present invention, force can be detected with high accuracy.

第1実施形態に係るロボット装置の説明図である。It is explanatory drawing of the robot apparatus which concerns on 1st Embodiment. 第1実施形態に係るロボットアームの関節の断面図である。It is a sectional view of a joint of a robot arm concerning a 1st embodiment. 第1実施形態に係るロボット装置を示すブロック図である。It is a block diagram which shows the robot apparatus which concerns on 1st Embodiment. 第1実施形態に係る検出装置の説明図である。It is explanatory drawing of the detection apparatus which concerns on 1st Embodiment. 第1実施形態に係るモータの駆動制御系を示すブロック図である。FIG. 3 is a block diagram showing a drive control system of the motor according to the first embodiment. (a)及び(b)は、第1実施形態に係る処理のフローチャートである。(A) And (b) is a flowchart of the process which concerns on 1st Embodiment. 第1実施形態に係る処理のフローチャートである。6 is a flowchart of a process according to the first embodiment. 第1実施形態に係る処理の説明図である。It is explanatory drawing of the process which concerns on 1st Embodiment. (a)、(b)、及び(c)は、実施例1及び比較例1におけるロボットアームの動作を説明するための図である。(A), (b), and (c) are figures for demonstrating operation|movement of the robot arm in Example 1 and the comparative example 1. FIG. (a)は、実施例1の実験結果を示すグラフである。(b)は、比較例1の実験結果を示すグラフである。(A) is a graph showing the experimental results of Example 1. (B) is a graph showing the experimental results of Comparative Example 1. (a)は、実施例2及び比較例2におけるロボットアームの動作を説明するための図である。(b)は、実施例2及び比較例2における実験結果を示す図である。(A) is a figure for demonstrating operation|movement of the robot arm in Example 2 and the comparative example 2. FIG. (B) is a figure which shows the experimental result in Example 2 and Comparative Example 2. 第2実施形態に係る検出装置の説明図である。It is explanatory drawing of the detection apparatus which concerns on 2nd Embodiment.

[第1実施形態]
図1は、第1実施形態に係るロボット装置1000の説明図である。ロボット装置1000は、ロボット100と、ロボット100を制御するシステム制御ユニット300と、を備える。システム制御ユニット300には、教示ペンダント600が接続される。ロボット100は、産業用ロボットであり、物品の製造に用いられる。ロボット100は、ロボットアーム101と、エンドエフェクタの一例であるロボットハンド102と、を有する。教示ペンダント600は、操作者が操作するものであり、ロボット100やシステム制御ユニット300の動作を指定するのに用いる。
[First Embodiment]
FIG. 1 is an explanatory diagram of a robot device 1000 according to the first embodiment. The robot apparatus 1000 includes the robot 100 and a system control unit 300 that controls the robot 100. A teach pendant 600 is connected to the system control unit 300. The robot 100 is an industrial robot and is used for manufacturing articles. The robot 100 has a robot arm 101 and a robot hand 102 which is an example of an end effector. The teach pendant 600 is operated by the operator and is used to specify the operation of the robot 100 or the system control unit 300.

ロボットアーム101は、垂直多関節のロボットアームである。ロボットアーム101の基端部は、作業台150に固定されている。ロボットアーム101の先端部には、ロボットハンド102が設けられている。ロボットアーム101は、複数の関節、例えば6つの関節J1〜J6を有している。ロボットアーム101は、各関節J1〜J6で回転可能に連結された複数のリンク120〜126を有する。第1実施形態では、リンク120〜126の順に、基端部側から先端部側に向かって直列に連結されている。リンク120は、ロボットアーム101の基端部であり、リンク126は、ロボットアーム101の先端部である。ロボットアーム101は、可動範囲内であれば、ロボットアーム101の先端部、即ちロボットハンド102を任意の位置に移動させることができる。 The robot arm 101 is a vertically articulated robot arm. The base end of the robot arm 101 is fixed to the workbench 150. A robot hand 102 is provided at the tip of the robot arm 101. The robot arm 101 has a plurality of joints, for example, six joints J1 to J6. The robot arm 101 has a plurality of links 120 to 126 that are rotatably connected to each of the joints J1 to J6. In the first embodiment, the links 120 to 126 are connected in series from the base end side toward the tip end side. The link 120 is the base end of the robot arm 101, and the link 126 is the tip end of the robot arm 101. The robot arm 101 can move the distal end portion of the robot arm 101, that is, the robot hand 102 to an arbitrary position within the movable range.

ロボットハンド102は、ワークW1を把持可能な複数のフィンガ104と、複数のフィンガ104を駆動する不図示のアクチュエータとを備えており、複数のフィンガ104を駆動することでワークW1を把持可能に構成されている。 The robot hand 102 includes a plurality of fingers 104 capable of gripping the work W1 and an actuator (not shown) that drives the plurality of fingers 104, and is configured to be able to grip the work W1 by driving the plurality of fingers 104. Has been done.

システム制御ユニット300は、ロボット100を制御することで、ロボットハンド102にワークW1を把持させ、ロボットアーム101を動作させてワークW1をワークW2に組み付けることで物品を製造する。なお、物品は、ワークW1をワークW2に組み付けて製造されるものに限定するものではなく、例えばレーザ加工などをワークに施して製造されるものであってもよい。また、エンドエフェクタは、ロボットハンド102に限定するものではなく、物品を製造する作業に適したものを用いればよい。 The system control unit 300 controls the robot 100 to cause the robot hand 102 to grip the work W1 and operate the robot arm 101 to assemble the work W1 to the work W2 to manufacture an article. The article is not limited to the one manufactured by assembling the work W1 with the work W2, and may be manufactured by subjecting the work to laser processing, for example. Further, the end effector is not limited to the robot hand 102, and may be any one suitable for the work of manufacturing the article.

図2は、図1に示すロボットアーム101の関節J2の断面図である。なお、他の関節J1、J3〜J6についても関節J2と同様の構成であるため、説明を省略する。第1リンクであるリンク121と、第2リンクであるリンク122との連結部分である関節J2には、駆動源であるモータ1と、モータ1の回転軸の回転を減速して出力する減速機2と、力、即ちトルクを検出する検出装置の検出ユニット41とが設けられている。検出ユニット41は、減速機2の出力側に設けられている。リンク121には、リンク122が減速機2と検出ユニット41とを介して接続されている。 FIG. 2 is a cross-sectional view of the joint J2 of the robot arm 101 shown in FIG. Since the other joints J1 and J3 to J6 have the same configuration as the joint J2, the description thereof will be omitted. The joint J2, which is a connecting portion between the link 121 that is the first link and the link 122 that is the second link, reduces the rotation of the motor 1 that is the drive source and the rotation shaft of the motor 1 and outputs the reduced speed. 2 and a detection unit 41 of the detection device for detecting force, that is, torque. The detection unit 41 is provided on the output side of the speed reducer 2. A link 122 is connected to the link 121 via the speed reducer 2 and the detection unit 41.

モータ1は、電磁モータであり、例えばブラシレスDCモータ又はACサーボモータである。モータ1は、筐体と、筐体に固定されたステータと、ステータに対して回転するロータと、ロータに固定された回転軸と、を有する。モータ1の回転軸には、エンコーダ11が設けられている。エンコーダ11は、ロータリエンコーダであり、光学式、磁気式、静電容量式のいずれであってもよい。また、エンコーダ11は、インクリメンタル型、アブソリュート型のいずれであってもよい。なお、関節J2には、必要に応じて、電源OFF時にロボットアーム101の姿勢を保持するためのブレーキユニットを設けてもよい。 The motor 1 is an electromagnetic motor, for example, a brushless DC motor or an AC servo motor. The motor 1 has a housing, a stator fixed to the housing, a rotor rotating with respect to the stator, and a rotating shaft fixed to the rotor. An encoder 11 is provided on the rotary shaft of the motor 1. The encoder 11 is a rotary encoder, and may be any of an optical type, a magnetic type, and a capacitance type. The encoder 11 may be either an incremental type or an absolute type. Note that the joint J2 may be provided with a brake unit for holding the posture of the robot arm 101 when the power is turned off, if necessary.

減速機2は、いかなる減速機であってもよいが、本実施形態では、小型で高い減速比が得られる、波動歯車減速機である。減速機2は、入力軸21と、固定部22と、出力軸23とを有する。 The speed reducer 2 may be any speed reducer, but in the present embodiment, it is a wave gear speed reducer that is small in size and can obtain a high speed reduction ratio. The speed reducer 2 has an input shaft 21, a fixed portion 22, and an output shaft 23.

モータ1の筐体は、フランジ3にボルト締結等で取り付けられ、モータ1の回転軸は、減速機2の入力軸21に取り付けられている。これにより、モータ1の動力は、減速機2の入力軸21に伝達される。 The casing of the motor 1 is attached to the flange 3 by bolt fastening or the like, and the rotating shaft of the motor 1 is attached to the input shaft 21 of the speed reducer 2. As a result, the power of the motor 1 is transmitted to the input shaft 21 of the speed reducer 2.

入力軸21は、楕円形状のカムと弾性軸受で構成されたウェブジェネレータである。固定部22は、内歯22Aを有するリング形状のサーキュラスプラインである。出力軸23は、固定部22の内歯22Aに噛み合う外歯23Aを有するフレクスプラインである。出力軸23は、シルクハット形状の弾性体で構成されている。 The input shaft 21 is a web generator including an elliptical cam and an elastic bearing. The fixed portion 22 is a ring-shaped circular spline having internal teeth 22A. The output shaft 23 is a flexspline having external teeth 23A that mesh with the internal teeth 22A of the fixed portion 22. The output shaft 23 is made of a top hat-shaped elastic body.

固定部22の内歯22Aは、出力軸23の外歯23Aよりも歯数の多い。固定部22は、リンク121にボルト締結等で取り付けられている。出力軸23は、フランジ3と共に検出ユニット41にボルト締結等で取り付けられている。固定部22と出力軸23とは、クロスローラベアリングで連結されている。 The inner teeth 22A of the fixed portion 22 have a larger number of teeth than the outer teeth 23A of the output shaft 23. The fixed portion 22 is attached to the link 121 by bolt fastening or the like. The output shaft 23 is attached to the detection unit 41 together with the flange 3 by bolt fastening or the like. The fixed portion 22 and the output shaft 23 are connected by a cross roller bearing.

モータ1の動力により楕円形状の入力軸21が回転すると、弾性体である出力軸23が楕円変形し、楕円の長軸部分両端で、出力軸23の外歯23Aが、固定部22の内歯22Aと噛み合う。このとき、固定部22と出力軸23との歯数が異なるので、入力軸21が1回転したとき、固定部22に対して出力軸23が歯数の差だけ回転する。この減速機2の減速比Nは、例えば50である。 When the elliptical input shaft 21 is rotated by the power of the motor 1, the output shaft 23, which is an elastic body, is deformed into an elliptical shape, and the outer teeth 23A of the output shaft 23 and the inner teeth of the fixed portion 22 at both ends of the major axis of the ellipse. 22A engages. At this time, since the fixed part 22 and the output shaft 23 have different numbers of teeth, when the input shaft 21 makes one rotation, the output shaft 23 rotates relative to the fixed part 22 by the difference in the number of teeth. The speed reduction ratio N of the speed reducer 2 is, for example, 50.

検出ユニット41は、関節J2に作用するトルクを検出するのに用いられる構造物であり、リンク122と減速機2の出力軸23との間に設置される。そのため、リンク122は、リンク121に対して検出ユニット41を介して回転軸線L1まわりに相対的に回転する。 The detection unit 41 is a structure used to detect the torque acting on the joint J2, and is installed between the link 122 and the output shaft 23 of the speed reducer 2. Therefore, the link 122 rotates relative to the link 121 via the detection unit 41 about the rotation axis L1.

図3は、第1実施形態に係るロボット装置を示すブロック図である。本実施形態のロボット装置1000は、関節の数と同じ数、例えば6つの制御装置400と、6つの検出装置40と、を備える。図3においては、関節J2に対応する制御装置400及び検出装置40のみ図示し、他の関節J1、J3〜J6に対応する制御装置及び検出装置については、関節J2に対応する制御装置400及び検出装置40の構成と同様であるため、図示を省略している。 FIG. 3 is a block diagram showing the robot apparatus according to the first embodiment. The robot apparatus 1000 of the present embodiment includes the same number of joints, for example, six control devices 400 and six detection devices 40. In FIG. 3, only the control device 400 and the detection device 40 corresponding to the joint J2 are shown, and regarding the control devices and the detection devices corresponding to the other joints J1 and J3 to J6, the control device 400 and the detection device corresponding to the joint J2 are shown. Since the configuration of the device 40 is similar to that of the device 40, the illustration thereof is omitted.

システム制御ユニット300は、コマンドを制御装置400に送信し、コマンドを受信した制御装置400は、コマンドに従ってロボットアーム101の関節、即ちモータ1を制御する。検出装置40は、関節にかかるトルクを検出するものである。検出装置40は、検出ユニット41と、処理ユニット42とを有する。 The system control unit 300 transmits a command to the control device 400, and the control device 400 receiving the command controls the joint of the robot arm 101, that is, the motor 1 according to the command. The detection device 40 detects the torque applied to the joint. The detection device 40 includes a detection unit 41 and a processing unit 42.

システム制御ユニット300及び制御装置400は、例えばコンピュータで構成されている。システム制御ユニット300は、電源回路301と、通信制御器302と、軌道生成器303と、周辺I/O制御器304と、メモリ305と、を有する。制御装置400は、システム制御ユニット300の指令に従って、モータ1、即ちロボットアーム101の関節を制御するものである。制御装置400は、電源回路401と、通信制御器402と、演算器403と、メモリ404と、シリアル通信器405と、ADコンバータ406と、電流検出器407と、モータドライバ408と、を有する。制御装置400は、例えば1つの制御基板で構成されている。 The system control unit 300 and the control device 400 are, for example, computers. The system control unit 300 includes a power supply circuit 301, a communication controller 302, a trajectory generator 303, a peripheral I/O controller 304, and a memory 305. The control device 400 controls the motor 1, that is, the joint of the robot arm 101 according to a command from the system control unit 300. The control device 400 includes a power supply circuit 401, a communication controller 402, a calculator 403, a memory 404, a serial communication device 405, an AD converter 406, a current detector 407, and a motor driver 408. The control device 400 is composed of, for example, one control board.

電源回路301は、電源1010から供給される交流電圧を所定の直流電圧へ変換する。電源回路301から出力される電力は、電力供給線145を介して、制御装置400の電源回路401に供給される。 The power supply circuit 301 converts the AC voltage supplied from the power supply 1010 into a predetermined DC voltage. The power output from the power supply circuit 301 is supplied to the power supply circuit 401 of the control device 400 via the power supply line 145.

軌道生成器303は、予め教示されたロボット100の手先の位置情報に基づいて、手先の軌道を生成する。更に、軌道生成器303は、ロボットアーム101の各関節の回転角度を決定する位置制御動作と、ロボットアーム101の各関節のトルクを制御することでロボット100の手先力を制御する力制御動作を実行することが可能である。具体的には、軌道生成器303は、位置制御動作時には、各関節の回転角度の目標値θ*を含むコマンド、力制御動作時には、ロボットアーム101の各関節のトルク制御の目標値T*を含むコマンドを生成する。軌道生成器303は、生成したコマンドを、通信制御器302を介して各関節に対応する制御装置400に通知することで、ロボットアーム101を制御する。 The trajectory generator 303 generates a trajectory of the hand based on the position information of the hand of the robot 100 that is taught in advance. Further, the trajectory generator 303 performs a position control operation that determines the rotation angle of each joint of the robot arm 101 and a force control operation that controls the hand force of the robot 100 by controlling the torque of each joint of the robot arm 101. It is possible to carry out. Specifically, the trajectory generator 303 sets the command including the target value θ* of the rotation angle of each joint during the position control operation and the target value T* of the torque control of each joint of the robot arm 101 during the force control operation. Generate a containing command. The trajectory generator 303 controls the robot arm 101 by notifying the generated command to the control device 400 corresponding to each joint via the communication controller 302.

周辺I/O制御器304には、教示ペンダント600が接続され、教示ペンダント600から、ロボット100の手先の位置情報などの教示点情報の入力を受ける。教示点情報は、メモリ305に保存される。 A teaching pendant 600 is connected to the peripheral I/O controller 304, and receives teaching point information such as position information of the hand of the robot 100 from the teaching pendant 600. The teaching point information is stored in the memory 305.

制御装置400の通信制御器402は、システム制御ユニット300の通信制御器302と双方向シリアル通信を行い、コマンド情報を通信制御器402から受信し、コマンド応答情報を通信制御器402に送信する。シリアル通信器405は、エンコーダ11及び処理ユニット42とシリアル通信を行う。モータドライバ408は、モータ1を駆動する電流をモータ1に供給する。電流検出器407は、モータ1を駆動する電流の値を検出する。ADコンバータ406は、電流値を示すアナログ値をデジタル値に変換する。 The communication controller 402 of the control device 400 performs bidirectional serial communication with the communication controller 302 of the system control unit 300, receives command information from the communication controller 402, and transmits command response information to the communication controller 402. The serial communication device 405 performs serial communication with the encoder 11 and the processing unit 42. The motor driver 408 supplies the motor 1 with a current for driving the motor 1. The current detector 407 detects the value of the current that drives the motor 1. The AD converter 406 converts an analog value indicating a current value into a digital value.

演算器403は、例えばCPUなどのプロセッサであり、メモリ404に記録されたプログラム409に従って、システム制御ユニット300から受けた目標値θ*又は目標値T*に基づいて、モータ1を駆動する出力値を決定する。メモリ404は、データを書き換え可能な記憶装置である。 The computing unit 403 is, for example, a processor such as a CPU, and according to the program 409 recorded in the memory 404, based on the target value θ* or the target value T* received from the system control unit 300, an output value that drives the motor 1. To decide. The memory 404 is a rewritable storage device.

メモリ404は、コンピュータ読み取り可能な記録媒体でもある。本実施形態では、メモリ404にプログラム409が格納されるが、これに限定するものではない。プログラム409は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム409を供給するための記録媒体としては、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。光ディスクは、例えばDVD−ROM、CD−ROM、CD−Rである。不揮発性メモリは、例えばUSBメモリ、メモリカード、ROMである。 The memory 404 is also a computer-readable recording medium. In the present embodiment, the program 409 is stored in the memory 404, but the present invention is not limited to this. The program 409 may be recorded in any recording medium as long as it is a computer-readable recording medium. For example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a magnetic tape, a non-volatile memory, or the like can be used as a recording medium for supplying the program 409. The optical disc is, for example, a DVD-ROM, a CD-ROM, or a CD-R. The non-volatile memory is, for example, a USB memory, a memory card, or a ROM.

図4は、第1実施形態に係る検出装置40の説明図である。検出ユニット41は、弾性体、スケール、及び検出ヘッドを含むエンコーダを、1つ又は複数有する。本実施形態では、検出ユニット41は、2つのエンコーダ421,422を有する。各エンコーダ421,422は、リニアエンコーダ又はロータリエンコーダである。各エンコーダ421,422は、光学式、磁気式、静電容量式のいずれであってもよい。また、各エンコーダ421,422は、インクリメンタル型、アブソリュート型のいずれであってもよい。2つのエンコーダ421,422は、回転軸線L1を挟んで互いに対向して配置されている。各エンコーダ421,422は、トルクに応じて変化する検出信号、例えばアナログ信号であるパルス信号を処理ユニット42に出力する。 FIG. 4 is an explanatory diagram of the detection device 40 according to the first embodiment. The detection unit 41 has one or more encoders including an elastic body, a scale, and a detection head. In the present embodiment, the detection unit 41 has two encoders 421 and 422. Each encoder 421, 422 is a linear encoder or a rotary encoder. Each of the encoders 421 and 422 may be an optical type, a magnetic type, or a capacitance type. Further, each of the encoders 421 and 422 may be either an incremental type or an absolute type. The two encoders 421 and 422 are arranged to face each other with the rotation axis L1 interposed therebetween. Each of the encoders 421 and 422 outputs a detection signal that changes according to the torque, for example, a pulse signal that is an analog signal to the processing unit 42.

処理ユニット42は、ADコンバータ431と、制御回路432と、通信回路433と、を有する。ADコンバータ431は、各エンコーダ421,422からの検出信号であるアナログ信号をデジタル信号に変換する処理を行う。制御回路432は、2つの検出信号からトルクの検出値を求める。例えば、制御回路432は、エンコーダ421の検出信号に基づく変位情報をトルク値に変換し、エンコーダ422の検出信号に基づく変位情報をトルク値に変換し、2つのトルク値の平均値を、第1検出値である検出値Tmとする。通信回路433は、検出値Tmを示す信号を、シリアル通信線435を介して制御装置400に出力する。 The processing unit 42 includes an AD converter 431, a control circuit 432, and a communication circuit 433. The AD converter 431 performs a process of converting an analog signal, which is a detection signal from each of the encoders 421 and 422, into a digital signal. The control circuit 432 obtains a torque detection value from the two detection signals. For example, the control circuit 432 converts the displacement information based on the detection signal of the encoder 421 into a torque value, converts the displacement information based on the detection signal of the encoder 422 into a torque value, and calculates the average value of the two torque values as the first value. The detection value Tm is the detection value. The communication circuit 433 outputs a signal indicating the detection value Tm to the control device 400 via the serial communication line 435.

なお、処理ユニット42は、ロボットアーム101の内部、例えば検出ユニット41の近傍に配置されていてもよいし、ロボットアーム101の外部に配置されていてもよい。また、処理ユニット42が、制御装置400の制御基板に配置されてもよい。制御装置400も、ロボットアーム101の内部に配置されていてもよいし、ロボットアーム101の外部に配置されていてもよい。 The processing unit 42 may be arranged inside the robot arm 101, for example, near the detection unit 41, or may be arranged outside the robot arm 101. Further, the processing unit 42 may be arranged on the control board of the control device 400. The control device 400 may also be arranged inside the robot arm 101 or may be arranged outside the robot arm 101.

図5は、第1実施形態に係るモータの駆動制御系を示すブロック図である。演算器403は、図3に示すメモリ404に格納されたプログラム409を実行することにより、図5に示すように機能する。 FIG. 5 is a block diagram showing a drive control system of the motor according to the first embodiment. The arithmetic unit 403 functions as shown in FIG. 5 by executing the program 409 stored in the memory 404 shown in FIG.

演算器403には、位置制御動作時、図3の軌道生成器303から目標値θ*が入力され、力制御動作時、軌道生成器303から目標値T*が入力される。エンコーダ11により検出された、モータ1の回転軸の回転角度値θmは、微分器204により、モータ1の回転軸の回転速度値ωに変換される。また、回転角度値θmは、モータ電気角変換器211により電気角θeに変換される。 The target value θ* is input from the trajectory generator 303 of FIG. 3 to the calculator 403 during the position control operation, and the target value T* is input from the trajectory generator 303 during the force control operation. The rotation angle value θm of the rotation shaft of the motor 1 detected by the encoder 11 is converted into a rotation speed value ω of the rotation shaft of the motor 1 by the differentiator 204. Further, the rotation angle value θm is converted into an electric angle θe by the motor electric angle converter 211.

位置制御器202は、目標値θ*と回転角度値θmとの偏差に対し、比例、積分、及び微分処理するPID制御器であり、当該処理を例えば2ミリ秒周期で実行する。速度制御器203は、回転速度値ωと位置制御器202の出力値との偏差に基づいて出力値を決定するPID制御器であり、当該処理を例えば0.5ミリ秒周期で実行する。 The position controller 202 is a PID controller that performs proportional, integral, and derivative processing on the deviation between the target value θ* and the rotation angle value θm, and executes the processing in a cycle of 2 milliseconds, for example. The speed controller 203 is a PID controller that determines an output value based on the deviation between the rotation speed value ω and the output value of the position controller 202, and executes the processing in a cycle of 0.5 milliseconds, for example.

速度制御器203の出力値には、外乱を補償する外乱オブザーバ214の出力値が加算され、その値は、リミッタ205及びノッチフィルタ206により処理が施された後、電流制御の目標値Iq*として切替器207へ入力される。ここで、リミッタ205で処理に用いる制限値は、モータ1の仕様によって決定される。ノッチフィルタ206でカットする周波数帯域は、システムの仕様、及び負荷等で決定される。 The output value of the disturbance observer 214 for compensating for the disturbance is added to the output value of the speed controller 203, and the value is processed by the limiter 205 and the notch filter 206 and then set as the target value Iq* for current control. It is input to the switch 207. Here, the limit value used for processing by the limiter 205 is determined by the specifications of the motor 1. The frequency band cut by the notch filter 206 is determined by the system specifications, load, and the like.

座標変換器212は、電気角θeに基づき、図3の電流検出器407によって検出された、モータ1に流れる3相電流の電流値Iu,Iv,Iwを、2相電流の電流値であるQ軸電流値IqとD軸電流値Idとに変換する。 The coordinate converter 212 converts the current values Iu, Iv, Iw of the three-phase currents flowing in the motor 1 detected by the current detector 407 of FIG. 3 based on the electrical angle θe into the two-phase current values Q. The axis current value Iq and the D axis current value Id are converted.

Q軸電流制御器208は、目標値Iq*とQ軸電流値Iqとの偏差に基づいて出力値を決定するPID制御器である。D軸電流制御器209は、目標値Id*をゼロとして、目標値Id*とD軸電流値Idとの偏差に基づいて出力値を決定するPID制御器である。なお、D軸電流制御器209に入力される目標値Id*は、モータ種別、弱め界磁制御等、用途に応じて変更してもよい。 The Q-axis current controller 208 is a PID controller that determines the output value based on the deviation between the target value Iq* and the Q-axis current value Iq. The D-axis current controller 209 is a PID controller that sets the target value Id* to zero and determines the output value based on the deviation between the target value Id* and the D-axis current value Id. The target value Id* input to the D-axis current controller 209 may be changed according to the application such as the motor type and field weakening control.

Q軸電流制御器208及びD軸電流制御器209の出力値は、非干渉器213により干渉項が除去され、座標変換器210により、電気角θeに基づいて3相の出力電圧値U,V,Wに変換される。Q軸電流制御器208、D軸電流制御器209、座標変換器212、座標変換器210、非干渉器213は、上述した処理を例えば0.1ミリ秒周期で実行する。 From the output values of the Q-axis current controller 208 and the D-axis current controller 209, the interference term is removed by the non-interferometer 213, and the coordinate converter 210 outputs three-phase output voltage values U, V based on the electrical angle θe. , W. The Q-axis current controller 208, the D-axis current controller 209, the coordinate converter 212, the coordinate converter 210, and the non-interfering device 213 execute the above-described processing at a cycle of 0.1 milliseconds, for example.

モータドライバ408は、PWM(Pulse Width Modulation)変換器であり、3相の出力電圧値U,V,Wをパルス出力値に変換し、パルス電圧をモータ1に印加することで、モータ1を駆動する。 The motor driver 408 is a PWM (Pulse Width Modulation) converter, which converts the three-phase output voltage values U, V, W into pulse output values and applies the pulse voltage to the motor 1 to drive the motor 1. To do.

本実施形態では、処理ユニット42から送信されるトルクの検出値Tmは、補正器218に入力される。補正器218は、補正処理を実行して、検出値Tmを補正して得られる補正値、即ち第2検出値である検出値Tcを出力する。 In the present embodiment, the detected torque value Tm transmitted from the processing unit 42 is input to the corrector 218. The corrector 218 performs a correction process and outputs a correction value obtained by correcting the detection value Tm, that is, the detection value Tc that is the second detection value.

トルク制御動作時には、演算器403は、軌道生成器303(図3)からトルクの目標値T*を受信する。減算器215は、受信した目標値T*と検出値Tcとの偏差を求める。この偏差は、ローパスフィルタ216にて高周波成分が除去され、制御目標値となる。制御目標値は、トルク制御器217へ入力される。ローパスフィルタ216のカットオフ周波数は、システムの仕様、及び検出ユニット41の仕様に基づいて決定される。 During the torque control operation, the calculator 403 receives the torque target value T* from the trajectory generator 303 (FIG. 3). The subtractor 215 obtains the deviation between the received target value T* and the detected value Tc. A high-frequency component is removed by the low-pass filter 216, and this deviation becomes a control target value. The control target value is input to the torque controller 217. The cutoff frequency of the low pass filter 216 is determined based on the specifications of the system and the specifications of the detection unit 41.

トルク制御器217は、入力された制御目標値に基づいて出力値である目標値Iq*を決定するPID制御器である。位置制御動作とトルク制御動作とは、同時に実行されることはなく、切替器207によって、Q軸電流制御器208へ出力される目標値Iq*が選択される。切替器207における制御動作の選択は、システム制御ユニット300から受信されるコマンドに付加される動作選択情報により行われる。 The torque controller 217 is a PID controller that determines a target value Iq* that is an output value based on the input control target value. The position control operation and the torque control operation are not executed at the same time, and the switch 207 selects the target value Iq* to be output to the Q-axis current controller 208. The selection of the control operation in the switch 207 is performed by the operation selection information added to the command received from the system control unit 300.

以下、補正器218の処理について具体的に説明する。本実施形態では、図2に示すように、減速機2の出力軸23の側に、関節にかかるトルクを検出するための検出ユニット41が配置されているため、トルクの検出結果に、リップル成分が重畳する。特に、本実施形態では、減速機2が波動歯車減速機であるため、楕円形状の入力軸21の回転に伴うリップル成分が誤差としてトルクの検出値Tmに重畳している。このリップル成分は、減速機2の入力軸21の半回転、即ち180°回転を1周期として、周期的に変動する。 Hereinafter, the process of the corrector 218 will be specifically described. In the present embodiment, as shown in FIG. 2, since the detection unit 41 for detecting the torque applied to the joint is arranged on the output shaft 23 side of the speed reducer 2, the torque detection result shows the ripple component. Overlap. In particular, in the present embodiment, since the speed reducer 2 is a wave gear speed reducer, the ripple component accompanying the rotation of the elliptical input shaft 21 is superimposed as an error on the detected value Tm of the torque. This ripple component changes cyclically with half cycle of the input shaft 21 of the speed reducer 2, that is, 180° rotation as one cycle.

検出値に誤差として重畳するリップル成分は、検出ユニット41が置かれている状況に応じて変化する。したがって、検出精度を高めるために、あらゆる状況を加味して検出ユニット1台1台に対して個別に補正値(実験値)をROMなどに用意しておくことは、煩雑であり現実的ではない。 The ripple component superimposed on the detected value as an error changes depending on the situation in which the detection unit 41 is placed. Therefore, in order to improve detection accuracy, it is complicated and not realistic to prepare a correction value (experimental value) for each detection unit individually in the ROM or the like in consideration of all situations. ..

そこで、本実施形態では、補正器218は、ロボットアーム101の動作中に、検出値Tmのプロファイルを取得し、プロファイルを取得後は、プロファイルのデータを用いて検出値Tmを補正する。なお、本実施形態における補正器218の補正処理においては、検出値Tmの周期的変動の少なくとも1周期分のデータが必要となる。補正器218は、制御装置400の起動後に、減速機2の入力軸21、即ちモータ1の回転軸が、少なくとも検出値Tmの変動周期の1周期分回転するまで、具体的にはモータ1の回転軸が半回転するまで、補正処理を実行しない前処理を行う。 Therefore, in the present embodiment, the corrector 218 acquires the profile of the detection value Tm during the operation of the robot arm 101, and after acquiring the profile, corrects the detection value Tm using the profile data. In the correction process of the corrector 218 according to the present embodiment, data for at least one cycle of the periodic fluctuation of the detected value Tm is required. After the controller 400 is activated, the compensator 218 is configured such that the input shaft 21 of the speed reducer 2, that is, the rotation shaft of the motor 1 rotates at least one cycle of the fluctuation cycle of the detection value Tm, specifically, the motor 1. A pre-process is performed in which the correction process is not executed until the rotation axis rotates half a turn.

まず、前処理について図6(a)を参照しながら説明する。補正器218は、制御装置400の起動時に、図3のメモリ404に複数の検出値Tmを保存可能な複数の領域からなるバッファBufを確保する。メモリ404、即ちバッファBufは、データを上書き可能であり、補正器218は、バッファBufの全領域を初期化、例えばゼロの値にする。本実施形態では、バッファBufがデータ保存可能な8192個の領域で構成され、補正器218は、バッファBufの全領域に格納される値をゼロに初期化する。 First, the preprocessing will be described with reference to FIG. The compensator 218 secures a buffer Buf composed of a plurality of areas capable of storing a plurality of detection values Tm in the memory 404 of FIG. 3 when the control device 400 is activated. The memory 404, that is, the buffer Buf can overwrite the data, and the corrector 218 initializes the entire area of the buffer Buf, for example, sets the value to zero. In this embodiment, the buffer Buf is composed of 8192 data-storable areas, and the corrector 218 initializes the values stored in all areas of the buffer Buf to zero.

バッファBufには、減速機2の入力軸21、即ちモータ1の回転軸の回転に対して周期的に変化する検出値Tmの少なくとも1周期分のデータが保存可能である。つまり、検出値Tmが変化する1周期分は、減速機2の入力軸21、即ちモータの回転軸が半回転する分であり、その分のデータが、バッファBufに保存可能である。バッファBufの各領域には、インデックス(アドレス)が割り当てられる。つまり、減速機2の入力軸21の回転角度、即ちモータ1の回転軸の回転角度と対応付けて、検出値TmをバッファBufに保存することができる。 The buffer Buf can store at least one cycle of the detection value Tm that periodically changes with respect to the rotation of the input shaft 21 of the reduction gear 2, that is, the rotation shaft of the motor 1. That is, one cycle in which the detected value Tm changes corresponds to one half rotation of the input shaft 21 of the speed reducer 2, that is, the rotation shaft of the motor, and the data can be stored in the buffer Buf. An index (address) is assigned to each area of the buffer Buf. That is, the detected value Tm can be stored in the buffer Buf in association with the rotation angle of the input shaft 21 of the reduction gear 2, that is, the rotation angle of the rotation shaft of the motor 1.

図6(a)、図6(b)及び図7は、第1実施形態に係る処理のフローチャートである。図6(a)には前処理のフローチャート、図6(b)及び図7は、補正処理のフローチャートを図示している。図8は、第1実施形態に係る処理の説明図である。 6A, 6B, and 7 are flowcharts of the process according to the first embodiment. FIG. 6A shows a flowchart of preprocessing, and FIGS. 6B and 7 show a flowchart of correction processing. FIG. 8 is an explanatory diagram of processing according to the first embodiment.

周期的に変動する検出値Tmの周期を、モータ1の回転軸の回転角度値に換算した角度値をθcとする。本実施形態では、角度値θcは、減速機2の入力軸21、即ちモータ1の回転軸が半回転する分である180°である。補正器218は、角度値θcをバッファBufに検出値を保存可能なデータ数BUFSZ、例えば上述の「8192」で、角度値θcを除算することで、保存ステップBufStpを算出する(S401)。検出値Tmを、モータ1の回転軸の回転角度値θmに対応させて保存ステップBufStp間隔でバッファBufに保存することにより、1周期分の検出値Tmを保存することが可能である。データ数BUFSZは、システムのメモリ容量や、ロボットアームを利用した作業におけるモータの回転軸の回転速度等により、適宜決定すればよい。ステップS401の処理で算出される保存ステップBufStpは、処理中に変更されるものではないため、システム起動時の初期化処理等で実行してもよい。 The angle value obtained by converting the cycle of the detected value Tm that periodically changes into the rotation angle value of the rotation shaft of the motor 1 is θc. In the present embodiment, the angle value θc is 180°, which is a half rotation of the input shaft 21 of the speed reducer 2, that is, the rotation shaft of the motor 1. The corrector 218 calculates the storage step BufStp by dividing the angle value θc by the number of data BUFSZ that can store the detection value in the buffer Buf, for example, “8192” described above (S401). By storing the detection value Tm in the buffer Buf at the storage step BufStp interval in association with the rotation angle value θm of the rotation shaft of the motor 1, it is possible to store the detection value Tm for one cycle. The number of data BUFSZ may be appropriately determined depending on the memory capacity of the system, the rotation speed of the rotation shaft of the motor in the work using the robot arm, and the like. The saving step BufStp calculated in the process of step S401 is not changed during the process, and thus may be executed in the initialization process or the like when the system is started.

ロボット100による物品の製造が開始されたとき、演算器403は、システム制御ユニット300からコマンドを受けてロボットアーム101の関節の制御を開始し、ロボットアーム101の関節を動作させる。バッファBufは初期化されて補正用のデータが格納されていない状態であるので、補正器218は、ロボットアーム101の一連の動作のうちの一部の動作、例えば最初の動作でバッファBufにデータを格納する。ここで、補正器218が処理ユニット42から取得する検出値Tmのうち、初期化したバッファBufに格納される検出値を検出値Tmiとする。 When the robot 100 starts manufacturing the article, the computing unit 403 receives a command from the system control unit 300 to start the control of the joint of the robot arm 101 to operate the joint of the robot arm 101. Since the buffer Buf is initialized and the data for correction is not stored, the corrector 218 causes the buffer Buf to perform data operation in a part of a series of operations of the robot arm 101, for example, the first operation. To store. Here, of the detection values Tm acquired by the corrector 218 from the processing unit 42, the detection value stored in the initialized buffer Buf is set as the detection value Tmi.

補正器218は、以下のステップS402,S403を実行することにより、図8に示すように、複数の検出値TmiからなるプロファイルPを生成する。このプロファイルPの生成処理について具体例を挙げて説明する。補正器218は、モータ1の回転軸の半回転させたときの半回転分の検出値Tmiを順次取得し(S402)、バッファBuf(図8)の複数の領域に順次格納する(S403)。バッファBufの各領域に格納されている検出値Tmiは、インデックス(アドレス)が割り当てられているので、回転角度値θmと対応付けがなされていることになる。バッファBufの全領域にデータが格納された後は、補正処理が可能となる。このバッファBufに格納された複数の検出値TmiでプロファイルPのデータが構成されている。即ち、補正器218は、ロボットアーム101の動作中に検出装置40の処理ユニット42から順次、複数の検出値Tmiを取得してバッファBufに格納することで、複数の検出値TmiからなるプロファイルPを生成する。 The corrector 218 performs the following steps S402 and S403 to generate a profile P including a plurality of detection values Tmi as shown in FIG. The generation process of the profile P will be described with a specific example. The corrector 218 sequentially acquires the detection value Tmi for a half rotation when the rotation shaft of the motor 1 is half rotated (S402), and sequentially stores the detection value Tmi in a plurality of areas of the buffer Buf (FIG. 8) (S403). Since the index (address) is assigned to the detected value Tmi stored in each area of the buffer Buf, the detected value Tmi is associated with the rotation angle value θm. After the data is stored in the entire area of the buffer Buf, the correction process becomes possible. The data of the profile P is composed of the plurality of detection values Tmi stored in the buffer Buf. That is, the corrector 218 sequentially acquires a plurality of detection values Tmi from the processing unit 42 of the detection device 40 during the operation of the robot arm 101 and stores the plurality of detection values Tmi in the buffer Buf, so that the profile P including the plurality of detection values Tmi is acquired. To generate.

以下、補正器218における補正処理について図6(b)を参照しながら説明する。図6(b)に示す補正処理は、プロファイルPを生成した後の処理となる。補正器218は、図8のプロファイルPを生成した後のロボットアーム101の動作中に処理ユニット42から検出値Tmを取得する(S404)。補正器218は、処理ユニット42から取得した検出値Tmをメモリ404における変数領域に格納する。また、補正器218は、検出値Tmとタイミングが同期した回転角度値θmをエンコーダ11から取得する(S405)。補正器218は、取得した回転角度値θmをメモリ404における変数領域に格納する。 The correction process in the corrector 218 will be described below with reference to FIG. The correction process shown in FIG. 6B is a process after the profile P is generated. The corrector 218 acquires the detection value Tm from the processing unit 42 during the operation of the robot arm 101 after generating the profile P of FIG. 8 (S404). The corrector 218 stores the detection value Tm acquired from the processing unit 42 in the variable area in the memory 404. Further, the corrector 218 acquires the rotation angle value θm whose timing is synchronized with the detection value Tm from the encoder 11 (S405). The corrector 218 stores the acquired rotation angle value θm in the variable area in the memory 404.

補正器218は、回転角度値θmに基づき、バッファBufに保存するインデックス(アドレス)widxを算出する(S406)。具体的には、補正器218は、MOD(θm,θc)/BufStpを算出する。ここで、MOD(X,Y)は、XをYで除算した剰余を表す。MOD(θm,θc)は、モータ1の回転軸の回転角度値θmを、変動する検出値Tmの1周期内における位相を算出する式である。補正器218は、MOD(θm,θc)を保存ステップBufStpで除算することにより、バッファBufにおいて、ステップS404で取得した検出値Tmの位相に対応するインデックスwidxを算出する。 The corrector 218 calculates the index (address) widx stored in the buffer Buf based on the rotation angle value θm (S406). Specifically, the corrector 218 calculates MOD(θm, θc)/BufStp. Here, MOD(X,Y) represents a remainder obtained by dividing X by Y. MOD (θm, θc) is an expression for calculating the phase of the rotation angle value θm of the rotation shaft of the motor 1 within one cycle of the varying detection value Tm. The corrector 218 calculates the index widx corresponding to the phase of the detection value Tm acquired in step S404 in the buffer Buf by dividing MOD(θm, θc) by the storage step BufStp.

続いて、補正器218は、バッファBufから検出値を読み出すインデックス(アドレス)ridxを算出する(S407)。即ち、補正器218は、MOD(widx+BUFSZ/2,BUFSZ)を、インデックスridxとする。詳述すると、バッファBufにおいて、インデックスwidxにおける位相に対し、180°進めたインデックスridx、即ち、モータ1の回転軸の回転角度に換算してθc/2位相を進めたインデックスridxを算出する。 Subsequently, the corrector 218 calculates an index (address) ridx for reading the detection value from the buffer Buf (S407). That is, the corrector 218 sets MOD(widx+BUFFSZ/2, BUFSZ) as the index ridx. More specifically, in the buffer Buf, the index ridx advanced by 180° with respect to the phase at the index widx, that is, the index ridx advanced by θc/2 phase by converting into the rotation angle of the rotation shaft of the motor 1 is calculated.

つまり、インデックスwidxの領域に格納されている検出値Tmiは、プロファイルPを取得した後にステップS404において取得した検出値Tmに対して、変動周期における半周期前の過去の検出値、即ちθc/2位相前の検出値である。このインデックスwidxの領域に格納されている、ステップS409の演算に用いる検出値Tmiを、トルク値Tsとする。 That is, the detection value Tmi stored in the area of the index widx is the past detection value half cycle before the detection value Tm acquired in step S404 after the profile P is acquired, that is, θc/2. It is the detected value before the phase. The detection value Tmi stored in the area of the index widx and used for the calculation in step S409 is set as the torque value Ts.

補正器218は、バッファBufにおいてインデックスridxの領域からトルク値Tsを読み出す(S408)。補正器218は、検出値Tmをトルク値Tsで補正して、新たな検出値(第2検出値)Tcとする(S409)。この補正演算の具体例として、補正器218は、検出値Tmとトルク値Tsとの平均値を計算し、この平均値を新たな検出値Tcとする。 The corrector 218 reads the torque value Ts from the area of the index ridx in the buffer Buf (S408). The corrector 218 corrects the detected value Tm with the torque value Ts to obtain a new detected value (second detected value) Tc (S409). As a specific example of this correction calculation, the corrector 218 calculates an average value of the detection value Tm and the torque value Ts, and sets this average value as a new detection value Tc.

このように、ステップS408においてデータを読み出す領域は、インデックスridxが割り当てられた領域であるのが好ましい。しかし、インデックスridxが割り当てられた領域に近接する領域のデータは、インデックスridxが割り当てられた領域のデータとほとんど変わらない。そのため、ステップS408においてデータを読み出す領域は、インデックスridxが割り当てられた領域から僅かにずれた別の領域であってもよい。例えばインデックスridxが割り当てられた領域の隣の領域のデータを読み出すようにしてもよい。即ち、補正器218は、検出精度に許容させる範囲内で、インデックスridxが割り当てられた領域を含むいくつかの領域の中の1つの領域から、ステップS409の演算に用いるトルク値Tsを読み出すようにしてもよい。換言すれば、補正器218は、検出値Tcとして、ステップS404で取得した検出値Tmと、プロファイルPに含まれる複数の検出値のうちの1つとの平均値を求めればよい。また、インデックスridxが割り当てられた領域を含むいくつかの領域の中のデータの平均値や中央値などを、ステップS409の演算に用いるトルク値Tsとしてもよい。 As described above, the area from which data is read in step S408 is preferably the area to which the index ridx is assigned. However, the data in the area adjacent to the area to which the index ridx is assigned is almost the same as the data in the area to which the index ridx is assigned. Therefore, the area from which data is read in step S408 may be another area slightly shifted from the area to which the index ridx is assigned. For example, the data in the area adjacent to the area to which the index ridx is assigned may be read. That is, the corrector 218 reads the torque value Ts used in the calculation of step S409 from one of several areas including the area to which the index ridx is assigned, within the range allowed by the detection accuracy. May be. In other words, the corrector 218 may obtain, as the detection value Tc, the average value of the detection value Tm acquired in step S404 and one of the plurality of detection values included in the profile P. Further, the average value or the median value of the data in some areas including the area to which the index ridx is assigned may be used as the torque value Ts used in the calculation in step S409.

以上、補正器218は、ステップS404〜S409の処理を実行することで、プロファイルPを生成した後のロボットアーム101の動作中に検出装置40から取得した検出値Tmを、プロファイルPに基づいて補正して検出値Tcを求める。 As described above, the corrector 218 corrects the detection value Tm acquired from the detection device 40 during the operation of the robot arm 101 after generating the profile P based on the profile P by executing the processes of steps S404 to S409. Then, the detected value Tc is obtained.

このような補正処理により、検出値Tcにおいてリップル成分が低減され、トルクの検出精度が向上する。また、予め補正データを記憶させておいたROMを用意する必要がなく、ROMに記憶させておく補正データを作成するための煩雑な作業を行う必要がない。また、検出値Tmを取得したときのタイミングが、プロファイルPを生成したタイミングに近いため、温度などの環境、及びロボットアーム101の構成要素(特に減速機2)の劣化の度合いなどは、ほとんど変化しない。したがって、プロファイルPのデータを環境情報やロボットアーム101の構成要素の劣化の度合いなどによって修正する必要がない。 By such a correction process, the ripple component is reduced in the detected value Tc, and the torque detection accuracy is improved. Further, it is not necessary to prepare a ROM in which correction data is stored in advance, and it is not necessary to perform a complicated work for creating the correction data stored in the ROM. Further, since the timing when the detection value Tm is acquired is close to the timing when the profile P is generated, the environment such as the temperature and the degree of deterioration of the constituent elements of the robot arm 101 (particularly the speed reducer 2) are almost changed. do not do. Therefore, it is not necessary to correct the data of the profile P according to the environmental information and the degree of deterioration of the constituent elements of the robot arm 101.

更に、工場等の生産ラインにロボット100を複数台配置した場合、複数台のロボット100間に機差があったとしても、プロファイルPのデータは、各ロボット100に個別に生成されることになる。しがたって、ロボット100に機差があっても、高精度にトルクを検出することができる。また、同じロボットアーム101でも、各関節に配置した検出ユニット毎にプロファイルPのデータが生成されるので、各関節におけるトルクを高精度に検出することができる。 Further, when a plurality of robots 100 are arranged on a production line such as a factory, even if there is a machine difference between the plurality of robots 100, the data of the profile P is individually generated for each robot 100. .. Therefore, even if there is a machine difference in the robot 100, the torque can be detected with high accuracy. Further, even with the same robot arm 101, the data of the profile P is generated for each detection unit arranged at each joint, so that the torque at each joint can be detected with high accuracy.

補正器218は、ステップS409の処理の結果として得られた検出値Tcを、減算器215(図5)に出力する。その後、演算器403は、図3の各ブロックにおいて処理を行うことで、検出値Tcに基づいてロボットアーム101を制御する。このように、検出値Tcに基づいて力制御を行う際に、ロボットアーム101の制御の精度が向上するとともに、制御の安定性が向上する。 The corrector 218 outputs the detection value Tc obtained as a result of the process of step S409 to the subtractor 215 (FIG. 5). After that, the computing unit 403 controls the robot arm 101 based on the detected value Tc by performing processing in each block of FIG. In this way, when performing force control based on the detected value Tc, the accuracy of control of the robot arm 101 is improved and the stability of control is improved.

補正器218は、前処理で生成したプロファイルPを、制御装置400がリセットされるまで保持するようにしてもよいが、補正に用いるデータのリアルタイム性を向上させるため、随時更新してもよい。本実施形態では、補正器218は、検出値Tmを、バッファBufにおけるインデックスwidxの領域に上書き保存する(S410)。即ち、補正器218は、ステップS404で取得した検出値Tmで、バッファBufに記憶されたプロファイルPを更新する。プロファイルPを更新した後、補正器218は、補正処理を終了する。 The corrector 218 may hold the profile P generated in the pre-processing until the control device 400 is reset, but may be updated at any time in order to improve the real-time property of the data used for correction. In the present embodiment, the corrector 218 overwrites and stores the detection value Tm in the area of the index widx in the buffer Buf (S410). That is, the corrector 218 updates the profile P stored in the buffer Buf with the detection value Tm acquired in step S404. After updating the profile P, the corrector 218 ends the correction process.

図6(b)に示すステップS410の処理について、図7を参照しながら具体的に説明する。補正器218は、今回取得した角度値θmと、前回取得した角度値θmOldとを比較し、モータ1の回転軸の回転方向を判別する(S501)。即ち補正器218は、θmがθmOld以上であれば(S501:YES)、内部変数Dirを1とし(S502)、θmがθmOld未満であれば(S501:NO)、内部変数Dirを−1とする(S503)。 The process of step S410 shown in FIG. 6B will be specifically described with reference to FIG. 7. The corrector 218 compares the angle value θm acquired this time with the angle value θmOld acquired last time, and determines the rotation direction of the rotation shaft of the motor 1 (S501). That is, the corrector 218 sets the internal variable Dir to 1 if θm is θmOld or more (S501: YES) (S502), and sets the internal variable Dir to −1 if θm is less than θmOld (S501: NO). (S503).

内部変数Dirが1であれば、モータ1の回転軸は正転方向、内部変数Dirが−1であれば、モータ1の回転軸は反転方向に回転していることになる。正転方向とは、バッファBufにおいてデータを記憶する領域に割り当てられたインデックスが加算される方向であり、反転方向とは、バッファBufにおいてデータを記憶する領域に割り当てられたインデックスが減算される方向である。続いて補正器218は、バッファBufにおいて、前回、検出値Tmを保存した際のインデックスwidxOldに、内部変数Dirを加算する(S504)。 If the internal variable Dir is 1, the rotation axis of the motor 1 is in the forward rotation direction, and if the internal variable Dir is -1, the rotation axis of the motor 1 is in the reverse direction. The forward rotation direction is a direction in which an index assigned to a data storage area in the buffer Buf is added, and the reverse direction is a direction in which an index assigned to a data storage area in the buffer Buf is subtracted. Is. Subsequently, the corrector 218 adds the internal variable Dir to the index widxOld when the detection value Tm was stored last time in the buffer Buf (S504).

補正器218は、バッファBufへ保存するインデックスの上下限を判定する(S505,S507)。バッファBufは、本実施形態ではリングバッファ構造である。 The corrector 218 determines the upper and lower limits of the index stored in the buffer Buf (S505, S507). The buffer Buf has a ring buffer structure in this embodiment.

補正器218は、インデックスwidxOldがバッファBufの先頭アドレスに到達したか否か、即ちアンダーフローか否かを判定する(S505)。補正器218は、インデックスwidxOldがバッファBufの先頭アドレスに到達した場合、即ちwidxOld<0の場合は(S505:YES)、バッファBufの末尾アドレスへインデックスwidxOldを移動させる(S506)。即ち、補正器218は、アンダーフロー時は、ステップS506の処理において、インデックスwidxOldをバッファBufの末尾アドレス「BUFSZ」に更新する。 The corrector 218 determines whether the index widxOld has reached the start address of the buffer Buf, that is, whether it is an underflow (S505). If the index widxOld reaches the start address of the buffer Buf, that is, if widxOld<0 (S505: YES), the corrector 218 moves the index widxOld to the end address of the buffer Buf (S506). That is, the corrector 218 updates the index widxOld to the end address “BUFFSZ” of the buffer Buf in the process of step S506 during underflow.

widxOld<0ではない場合(S505:NO)、補正器218は、インデックスwidxOldがバッファBufの末尾アドレスであるか否か、即ちオーバフローか否かを判定する(S507)。補正器218は、インデックスwidxOldがバッファBufの末尾アドレスに到達した場合、即ちwidxOld=BUFSZの場合(S507:YES)、バッファBufの先頭アドレスへインデックスwidxOldを移動させる(S508)。即ち、補正器218は、オーバフロー時は、ステップS508の処理において、インデックスwidxOldをバッファBufの先頭アドレス「0」に更新する。 If widxOld<0 is not satisfied (S505: NO), the corrector 218 determines whether the index widxOld is the end address of the buffer Buf, that is, whether it is an overflow (S507). If the index widxOld reaches the end address of the buffer Buf, that is, if widxOld=BUFFSZ (S507: YES), the corrector 218 moves the index widxOld to the start address of the buffer Buf (S508). That is, in the case of overflow, the corrector 218 updates the index widxOld to the start address “0” of the buffer Buf in the process of step S508.

補正器218は、インデックスwidxOldで指定されるアドレスのバッファBufの領域に、ステップS402の処理で取得した検出値Tmを保存する(S509)。 The corrector 218 saves the detection value Tm acquired in the process of step S402 in the area of the buffer Buf at the address specified by the index widxOld (S509).

次に、補正器218は、図6(b)のステップS406の処理で算出したインデックスwidxと、インデックスwidxOldとを比較することにより保存を完了するか否か、具体的にはwidx=widxOldであるか否かを判定する(S510)。 Next, the corrector 218 compares the index widx calculated in the process of step S406 of FIG. 6B with the index widxOld to determine whether or not to save the data, specifically, widx=widxOld. It is determined whether or not (S510).

widxとwidxOldとに差異がある場合(S510:NO)、補正器218は、ステップS504の処理へ戻る。widxとwidxOldとが同じ場合(S510:YES)、補正器218は、今回の補正処理で取得した回転角度値θmを、前回の補正処理で取得した回転角度値θmOldとして内部変数に格納して(S511)、呼び出し元の処理へ戻る。 When there is a difference between widx and widxOld (S510: NO), the corrector 218 returns to the process of step S504. When widx and widxOld are the same (S510: YES), the corrector 218 stores the rotation angle value θm acquired in the current correction process in the internal variable as the rotation angle value θmOld acquired in the previous correction process ( S511), and returns to the processing of the calling source.

ステップS510の処理は、前回の補正処理の実行が終了した時点から、今回の補正処理の実行が終了するまでの間に、モータ1の回転軸の回転角度の変化が、ステップBufStpよりも大きい場合に、ステップBufStpの区間を補間する処理である。バッファBufの領域が確保できずにデータ数が十分でない場合や、補正処理の周期がモータ1の回転軸の回転速度に対して長い場合には、ステップS510の処理が必要である。本実施形態では、補正処理の周期が0.1ミリ秒である。この周期における検出値の変動は微小であることから、同じ検出値をバッファBufに保存するようにしている。なお、より精密な検出値を必要とする場合には、ステップBufStepの区間を線形補間等の手法により、検出値を補間してもよい。 The process of step S510 is performed when the change in the rotation angle of the rotation axis of the motor 1 is greater than that of step BufStp from the time when the execution of the previous correction process is completed to the time when the execution of the current correction process is completed. Then, it is a process of interpolating the section of step BufStp. When the area of the buffer Buf cannot be secured and the number of data is insufficient, or when the cycle of the correction process is longer than the rotation speed of the rotation shaft of the motor 1, the process of step S510 is necessary. In this embodiment, the cycle of the correction process is 0.1 millisecond. Since the fluctuation of the detection value in this cycle is minute, the same detection value is stored in the buffer Buf. If a more precise detection value is required, the detection value may be interpolated during the step BufStep by a method such as linear interpolation.

[実施例1及び比較例1]
次に、実施例1として、上述の実施形態のように補正処理を行う場合と、比較例1として、補正処理を行わない場合について、それぞれ実験を行った。図9(a)、図9(b)、及び図9(c)は、実施例1及び比較例1におけるロボットアーム101の動作を説明するための図である。図9(a)〜図9(c)に示すように、関節J2、関節J3、及び第5関節J5を、ロボットアーム101の先端部が上方を向く角度とし、関節J2〜J6を固定して、関節J1を動作させた。図9(a)は、関節J1の関節角度が−100degreeの状態を示している。図9(b)は、関節J1の関節角度が0degreeの状態を示している。図9(c)は、関節J1の関節角度が+100degreeの状態を示している。実験においては、関節J1の関節角度を、5degree/秒の回転速度で、−100degreeから+100degreeまで変化させた後、+100degreeから−100degreeまで変化させて、その間のトルクの検出値を取得した。
[Example 1 and Comparative Example 1]
Next, an experiment was performed as Example 1 in the case where the correction process is performed as in the above-described embodiment, and as Comparative Example 1 in the case where the correction process is not performed. FIG. 9A, FIG. 9B, and FIG. 9C are diagrams for explaining the operation of the robot arm 101 in Example 1 and Comparative Example 1. As shown in FIGS. 9A to 9C, the joint J2, the joint J3, and the fifth joint J5 are angled such that the tip of the robot arm 101 faces upward, and the joints J2 to J6 are fixed. , Joint J1 was operated. FIG. 9A shows a state in which the joint angle of the joint J1 is −100 degrees. FIG. 9B shows a state in which the joint angle of the joint J1 is 0 degree. FIG. 9C shows a state in which the joint angle of the joint J1 is +100 degrees. In the experiment, the joint angle of the joint J1 was changed from −100 degrees to +100 degrees at a rotation speed of 5 degrees/second, and then changed from +100 degrees to −100 degrees, and the detected value of the torque during that time was acquired.

図10(a)は、実施例1の実験結果を示すグラフである。図10(b)は、比較例1の実験結果を示すグラフである。図10(a)は、補正処理を行った場合の実験結果、図10(b)は、補正処理を行わなかった場合の実験結果である。実施例1における検出値の変動幅は0.8Nm、比較例1における検出値の変動幅は2.43Nmであった。実施例1における検出値の変動幅が、比較例1における検出値の変動幅に対して約60%改善されている。このように、減速機に起因する検出値における周期的な変動が補正により低減され、高精度にトルクを検出することが可能となる。 FIG. 10A is a graph showing the experimental results of Example 1. FIG. 10B is a graph showing the experimental results of Comparative Example 1. FIG. 10A shows an experimental result when the correction processing is performed, and FIG. 10B shows an experimental result when the correction processing is not performed. The fluctuation range of the detected value in Example 1 was 0.8 Nm, and the fluctuation range of the detected value in Comparative Example 1 was 2.43 Nm. The fluctuation range of the detected value in Example 1 is improved by about 60% with respect to the fluctuation range of the detected value in Comparative Example 1. In this way, the periodic fluctuation in the detected value due to the reduction gear is reduced by the correction, and the torque can be detected with high accuracy.

[実施例2及び比較例2]
次に、実施例2として、上述の実施形態のように補正処理を行う場合と、比較例2として、補正処理を行わない場合について、それぞれ実験を行った。図11(a)は、実施例2及び比較例2におけるロボットアームの動作を説明するための図である。図11(b)は、実施例2及び比較例2における実験結果を示す図である。
[Example 2 and Comparative Example 2]
Next, an experiment was performed as Example 2 in the case where the correction processing is performed as in the above-described embodiment, and as Comparative Example 2 in the case where the correction processing is not performed. FIG. 11A is a diagram for explaining the operation of the robot arm in Example 2 and Comparative Example 2. FIG. 11B is a diagram showing experimental results in Example 2 and Comparative Example 2.

図11(a)に示すように、ロボットアーム101の先端部に治具802を設置した。床面805に設置された台座804上には、押し付け力を検出するロードセル803を接地した。治具802をロードセル803へ押し付けてロボットアーム101の各関節をトルク制御する実験を行った。 As shown in FIG. 11A, a jig 802 was installed at the tip of the robot arm 101. On a pedestal 804 installed on the floor surface 805, a load cell 803 for detecting the pressing force was grounded. An experiment was performed in which the jig 802 was pressed against the load cell 803 to control the torque of each joint of the robot arm 101.

ロボットアーム101の各関節のトルク制御による目標手先力を0.3Nとし、その際の押し付け力の測定結果を、図11(b)に示す。図11(b)には、評価項目として、力安定性、応答性、精度の実験結果を図示している。力安定性は、目標手先力とロードセル803により検出された押し付け力との偏差である。応答性は、手先力が目標とする手先力に到達するまでの応答周波数である。精度は、手先力の変動である。図11(b)に示すように、実施例2の場合、比較例2と比較して、力安定性能、応答性能、精度ともに向上した。本実験結果より、ロボットアームの関節のトルク制御時に、補正処理によりトルクの検出値を補正することで、力制御の性能が向上することが確認された。 The target hand force by the torque control of each joint of the robot arm 101 is set to 0.3 N, and the measurement result of the pressing force at that time is shown in FIG. FIG. 11B shows experimental results of force stability, responsiveness, and accuracy as evaluation items. The force stability is a deviation between the target hand force and the pressing force detected by the load cell 803. Responsiveness is a response frequency until the hand force reaches a target hand force. Precision is the variation of manual force. As shown in FIG. 11B, in the case of Example 2, as compared with Comparative Example 2, the force stability performance, the response performance, and the accuracy were improved. From the results of this experiment, it was confirmed that the force control performance is improved by correcting the detected torque value by the correction process during the torque control of the joint of the robot arm.

[第2実施形態]
次に第2実施形態に係る検出装置について説明する。図12は、第2実施形態に係る検出装置の説明図である。上記第1実施形態においては、検出装置40が検出した検出値Tmを制御装置400が補正する場合について説明したが、これに限定するものではない。
[Second Embodiment]
Next, the detection device according to the second embodiment will be described. FIG. 12 is an explanatory diagram of the detection device according to the second embodiment. In the first embodiment, the case where the control device 400 corrects the detection value Tm detected by the detection device 40 has been described, but the present invention is not limited to this.

図12に示す検出装置40Aは、第1実施形態と同様の構成の、トルクに応じて変化する検出信号を出力する検出ユニット41と、検出ユニット41から出力された検出信号を処理する処理ユニット42Aと、を有する。検出ユニット41は、第1実施形態と同様に、図1のロボットアーム101の関節に配置される。処理ユニット42Aは、ADコンバータ431と、制御回路432Aと、通信回路433Aと、を有する。ADコンバータ431は、検出ユニット41の各エンコーダ421,422からの検出信号であるアナログ信号をデジタル信号に変換する処理を行う。制御回路432Aは、2つの検出信号からトルクの検出値Tmを求め、検出値Tmを補正して検出値Tcを求める。通信回路433Aは、検出値Tcを示す信号を、シリアル通信線435を介して制御装置400に出力する。 A detection device 40A shown in FIG. 12 has a configuration similar to that of the first embodiment, which outputs a detection signal that changes according to torque, and a processing unit 42A that processes the detection signal output from the detection unit 41. And. The detection unit 41 is arranged at the joint of the robot arm 101 of FIG. 1 as in the first embodiment. The processing unit 42A includes an AD converter 431, a control circuit 432A, and a communication circuit 433A. The AD converter 431 performs a process of converting an analog signal, which is a detection signal from each of the encoders 421 and 422 of the detection unit 41, into a digital signal. The control circuit 432A obtains the torque detection value Tm from the two detection signals, corrects the detection value Tm, and obtains the detection value Tc. The communication circuit 433A outputs a signal indicating the detected value Tc to the control device 400 via the serial communication line 435.

第2実施形態では、処理ユニット42A、即ち制御回路432Aが、上記第1実施形態の制御回路432(図4)の機能と、上記第1実施形態の補正器218(図5)の機能とを兼ね備えている。なお、制御回路432Aにおける処理は、第1実施形態で図6(a)、図6(b)、及び図7を用いて説明した処理と同様であるため、詳細な説明は省略するが、以下、概要について説明する。 In the second embodiment, the processing unit 42A, that is, the control circuit 432A has the function of the control circuit 432 (FIG. 4) of the first embodiment and the function of the corrector 218 (FIG. 5) of the first embodiment. It has both. Since the processing in the control circuit 432A is the same as the processing described in the first embodiment with reference to FIGS. 6A, 6B, and 7, detailed description thereof will be omitted. , An outline will be described.

処理ユニット42Aは、検出ユニット41から出力された検出信号を順次処理して複数の検出値Tmi(図8)からなるプロファイルP(図8)を生成する。処理ユニット42Aは、プロファイルPを生成した後に検出ユニット41から出力された検出信号を処理し検出値Tmを求める。処理ユニット42Aは、検出値TmをプロファイルPに基づいて補正して検出値Tcを求める。処理ユニット42Aは、検出値Tcを、図3に示す制御装置400、即ち図5に示す減算器215に出力する。 The processing unit 42A sequentially processes the detection signals output from the detection unit 41 to generate a profile P (FIG. 8) including a plurality of detection values Tmi (FIG. 8). The processing unit 42A processes the detection signal output from the detection unit 41 after generating the profile P and obtains the detection value Tm. The processing unit 42A corrects the detection value Tm based on the profile P to obtain the detection value Tc. The processing unit 42A outputs the detected value Tc to the control device 400 shown in FIG. 3, that is, the subtractor 215 shown in FIG.

制御回路432Aは、通信回路433Aがシリアル通信線436を介して回転角度値θmを取得することで、第1実施形態で説明した処理と同様の処理を実現することができる。 The control circuit 432A can realize the same processing as the processing described in the first embodiment by the communication circuit 433A acquiring the rotation angle value θm via the serial communication line 436.

なお、処理ユニット42Aは、図1のロボットアーム101の内部、例えば検出ユニット41の近傍に配置されていてもよいし、ロボットアーム101の外部に配置されていてもよい。また、処理ユニット42Aが、図3の制御装置400の構成の一部であってもよい。 The processing unit 42A may be arranged inside the robot arm 101 in FIG. 1, for example, in the vicinity of the detection unit 41, or may be arranged outside the robot arm 101. Further, the processing unit 42A may be a part of the configuration of the control device 400 of FIG.

本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。 The present invention is not limited to the embodiments described above, and many modifications can be made within the technical idea of the present invention. In addition, the effects described in the embodiments are merely enumeration of the most suitable effects that occur from the present invention, and the effects according to the present invention are not limited to those described in the embodiments.

上述の実施形態では、ロボットアーム101が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。 In the above embodiment, the case where the robot arm 101 is a vertically articulated robot arm has been described, but the present invention is not limited to this. For example, various robot arms such as a horizontal multi-joint robot arm, a parallel link robot arm, and an orthogonal robot may be used.

また、ロボットアーム101の構成例を各実施形態の例図により示したが、これに限定されるものではなく、当業者において任意に設計変更が可能である。また、ロボットアーム101に設けられる各モータは、上述の構成に限定されるものではなく、各関節を駆動する駆動源は例えば人工筋肉のようなデバイス等であってもよい。 Further, although the configuration example of the robot arm 101 is shown by the example diagram of each embodiment, the configuration is not limited to this, and those skilled in the art can arbitrarily change the design. In addition, each motor provided in the robot arm 101 is not limited to the above-described configuration, and the drive source that drives each joint may be, for example, a device such as an artificial muscle.

また上述した実施形態は、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。 Further, the above-described embodiment can be applied to a machine capable of automatically performing an operation of expansion/contraction, bending/extension, vertical movement, horizontal movement or turning, or a combined operation thereof based on information in a storage device provided in the control device. is there.

また、上述の実施形態で説明した検出方法は、ロボットアームの制御に適用するのが好適であるが、ロボットアームに限定するものではない。ロボットアーム以外のアクチュエータの力制御においても上述した検出方法を適用可能である。 The detection method described in the above embodiment is preferably applied to control of the robot arm, but is not limited to the robot arm. The above-described detection method can be applied to the force control of actuators other than the robot arm.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. It can also be realized by the processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

2…減速機、21…入力軸、23…出力軸、40…検出装置、101…ロボットアーム、400…制御装置、1000…ロボット装置 2... reducer, 21... input shaft, 23... output shaft, 40... detection device, 101... robot arm, 400... control device, 1000... robot device

Claims (14)

ロボット装置に生じる力に応じた検出値を検出装置から取得して、前記ロボット装置を制御する制御方法であって、
前記ロボット装置は、制御装置を有し、
前記制御装置が、前記ロボット装置の動作中に前記検出装置から順次取得した複数の第1検出値からなるプロファイルを生成し、
前記制御装置が、前記プロファイルを生成した後の前記ロボット装置の動作中に前記検出装置から取得した第1検出値を、前記プロファイルに基づいて補正した第2検出値を求め、
前記制御装置が、前記第2検出値に基づいて前記ロボット装置を制御することを特徴とする制御方法。
A control method for obtaining a detection value according to a force generated in a robot apparatus from a detection apparatus, and controlling the robot apparatus,
The robot device has a control device,
The control device generates a profile including a plurality of first detection values sequentially acquired from the detection device during operation of the robot device,
The control device obtains a second detection value obtained by correcting the first detection value acquired from the detection device during operation of the robot device after generating the profile, based on the profile,
The control method, wherein the control device controls the robot device based on the second detection value.
前記ロボット装置には、減速機が設けられており、
前記制御装置は、前記プロファイルとして、前記減速機の入力軸の回転に対して周期的に変化する第1検出値の少なくとも1周期分を取得することを特徴とする請求項1に記載の制御方法。
The robot device is provided with a speed reducer,
The control method according to claim 1, wherein the control device acquires, as the profile, at least one cycle of a first detection value that periodically changes with respect to rotation of an input shaft of the speed reducer. ..
前記減速機は、波動歯車減速機であり、
前記1周期分は、前記入力軸が半回転した分であることを特徴とする請求項2に記載の制御方法。
The speed reducer is a wave gear speed reducer,
The control method according to claim 2, wherein the one cycle is a half rotation of the input shaft.
前記制御装置は、前記第2検出値として、前記プロファイルを生成した後に前記検出装置から取得した第1検出値と、前記プロファイルに含まれる前記1周期分の第1検出値のうちの1つと、の平均値を求めることを特徴とする請求項2又は3に記載の制御方法。 The control device, as the second detection value, a first detection value acquired from the detection device after generating the profile, and one of the first detection values for the one cycle included in the profile, The control method according to claim 2 or 3, wherein an average value of is calculated. 前記平均値の計算に用いる、前記プロファイルに含まれる前記1周期分の第1検出値のうちの1つは、前記プロファイルを取得した後に取得した第1検出値に対して、半周期前の第1検出値であることを特徴とする請求項4に記載の制御方法。 One of the first detection values for the one cycle included in the profile, which is used for the calculation of the average value, is one half cycle before the first detection value acquired after the profile is acquired. The control method according to claim 4, wherein the control value is one detection value. 前記制御装置は、前記プロファイルをバッファに記憶させることを特徴とする請求項1乃至5のいずれか1項に記載の制御方法。 The control method according to claim 1, wherein the control unit stores the profile in a buffer. 前記制御装置は、前記プロファイルを生成した後に取得した第1検出値で、前記バッファに記憶された前記プロファイルを更新することを特徴とする請求項6に記載の制御方法。 The control method according to claim 6, wherein the control device updates the profile stored in the buffer with the first detection value acquired after the profile is generated. 請求項1乃至7のいずれか1項に記載の制御方法により前記ロボット装置を制御し、前記ロボット装置を用いて物品を製造することを特徴とする物品の製造方法。 A method for manufacturing an article, comprising controlling the robot apparatus by the control method according to claim 1, and manufacturing the article using the robot apparatus. 力に応じて変化する検出信号を出力する検出ユニットと、
前記検出ユニットから出力された検出信号を処理して第1検出値を求める処理ユニットと、を備える検出装置による検出方法であって、
前記処理ユニットが、前記検出ユニットから出力された検出信号を順次処理して複数の第1検出値からなるプロファイルを求め、
前記処理ユニットが、前記プロファイルを求めた後に前記検出ユニットから出力された検出信号を処理して求まる第1検出値を、前記プロファイルに基づいて補正した第2検出値を求め、前記第2検出値を出力することを特徴とする検出方法。
A detection unit that outputs a detection signal that changes according to force,
And a processing unit that processes a detection signal output from the detection unit to obtain a first detection value.
The processing unit sequentially processes the detection signals output from the detection unit to obtain a profile including a plurality of first detection values,
The processing unit obtains a second detection value obtained by correcting the first detection value obtained by processing the detection signal output from the detection unit after obtaining the profile, based on the profile, and obtaining the second detection value. Is output.
力に応じて変化する検出信号を出力する検出ユニットを有するアクチュエータと、
前記検出ユニットから出力された検出信号を処理して第1検出値を求める処理ユニットと、
前記処理ユニットから第1検出値を取得して、前記アクチュエータを制御する制御装置と、を備え、
前記制御装置は、
前記アクチュエータの動作中に前記処理ユニットから順次取得した複数の第1検出値からなるプロファイルを生成し、
前記プロファイルを生成した後の前記アクチュエータの動作中に前記処理ユニットから取得した第1検出値を、前記プロファイルに基づいて補正した第2検出値を求め、
前記第2検出値に基づいて前記アクチュエータを制御することを特徴とするロボット装置。
An actuator having a detection unit that outputs a detection signal that changes according to force,
A processing unit that processes a detection signal output from the detection unit to obtain a first detection value;
A first controller for acquiring the first detection value from the processing unit and controlling the actuator;
The control device is
Generating a profile consisting of a plurality of first detection values sequentially acquired from the processing unit during operation of the actuator,
A second detection value obtained by correcting the first detection value obtained from the processing unit during the operation of the actuator after the profile is generated is corrected based on the profile,
A robot apparatus for controlling the actuator based on the second detection value.
ロボット装置に生じる力に応じた検出値を検出装置から取得して、前記ロボット装置を制御する制御装置であって、
前記ロボット装置の動作中に前記検出装置から順次取得した複数の第1検出値からなるプロファイルを生成し、
前記プロファイルを生成した後の前記ロボット装置の動作中に前記検出装置から取得した第1検出値を、前記プロファイルに基づいて補正した第2検出値を求め、
前記第2検出値に基づいて前記ロボット装置を制御することを特徴とする制御装置。
A control device for obtaining a detection value according to a force generated in a robot device from a detection device and controlling the robot device,
Generating a profile composed of a plurality of first detection values sequentially acquired from the detection device during operation of the robot device,
A second detection value obtained by correcting the first detection value obtained from the detection device during the operation of the robot apparatus after the profile is generated is corrected based on the profile,
A control device for controlling the robot device based on the second detection value.
力に応じて変化する検出信号を出力する検出ユニットと、
前記検出ユニットから出力された検出信号を処理して第1検出値を求める処理ユニットと、を備え、
前記処理ユニットは、
前記検出ユニットから出力された検出信号を順次処理して複数の第1検出値からなるプロファイルを生成し、
前記プロファイルを生成した後に前記処理ユニットから出力された検出信号を処理して求まる第1検出値を、前記プロファイルに基づいて補正した第2検出値を求め、前記第2検出値を出力することを特徴とする検出装置。
A detection unit that outputs a detection signal that changes according to force,
A processing unit that processes a detection signal output from the detection unit to obtain a first detection value,
The processing unit is
Generating a profile composed of a plurality of first detection values by sequentially processing the detection signals output from the detection unit,
A first detection value obtained by processing the detection signal output from the processing unit after the profile is generated is corrected based on the profile to obtain a second detection value, and the second detection value is output. Characteristic detection device.
請求項1乃至7のいずれか1項に記載の制御方法、または請求項8に記載の物品の製造方法、または請求項9に記載の検出方法を、コンピュータに実行させるプログラム。 A program that causes a computer to execute the control method according to any one of claims 1 to 7, the method for manufacturing an article according to claim 8, or the detection method according to claim 9. 請求項13に記載のプログラムを記録した、コンピュータにより読み取り可能な記録媒体。 A computer-readable recording medium in which the program according to claim 13 is recorded.
JP2019021980A 2019-02-08 2019-02-08 Control method, method of manufacturing article, detecting method, robot device, control device, detection device, program and recording medium Pending JP2020127989A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019021980A JP2020127989A (en) 2019-02-08 2019-02-08 Control method, method of manufacturing article, detecting method, robot device, control device, detection device, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019021980A JP2020127989A (en) 2019-02-08 2019-02-08 Control method, method of manufacturing article, detecting method, robot device, control device, detection device, program and recording medium

Publications (1)

Publication Number Publication Date
JP2020127989A true JP2020127989A (en) 2020-08-27

Family

ID=72175250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019021980A Pending JP2020127989A (en) 2019-02-08 2019-02-08 Control method, method of manufacturing article, detecting method, robot device, control device, detection device, program and recording medium

Country Status (1)

Country Link
JP (1) JP2020127989A (en)

Similar Documents

Publication Publication Date Title
JP6584102B2 (en) Robot apparatus, robot control method, program, recording medium, and article manufacturing method
JP6648913B2 (en) Control method, robot apparatus, program, recording medium, article manufacturing method, and driving apparatus
JP5895628B2 (en) ROBOT CONTROL METHOD, ROBOT CONTROL DEVICE, AND ROBOT CONTROL SYSTEM
EP2835228B1 (en) Robot apparatus and robot controlling method
JP5897644B2 (en) Robot control device
JP5916583B2 (en) Weaving control device for articulated robot
KR20060094894A (en) Robot locus control method and apparatus, and computer-readable recording medium storing program of robot locus control method
JP2017124455A (en) Robot device, robot control method, program and record medium
JP6331225B2 (en) Motor control device, position control system, and motor control method
JP6564433B2 (en) Robot system
JP2016078149A (en) Robot device control method, robot device, program and recording medium
JP6652310B2 (en) Robot system, robot arm control method, program, recording medium, and article manufacturing method
JP6245858B2 (en) Control device
JP2020015124A (en) Robot control method, article manufacturing method, robot control device, robot, program and recording medium
JP6576824B2 (en) Robot controller
JP2016032326A (en) Motor controller, robot device, motor control method, program, and recording medium
JP6700679B2 (en) Control method, article manufacturing method, robot device, control program, and recording medium
US20210146536A1 (en) Angular transmission error identification system, angular transmission error identification method, and robot system
JP2020127989A (en) Control method, method of manufacturing article, detecting method, robot device, control device, detection device, program and recording medium
JP4389980B2 (en) Control method for articulated robot
JP7168011B2 (en) Motion model calculation device, control device, joint mechanism, motion model calculation method, program
Kawamura et al. Encoderless robot motion control using vision sensor and back electromotive force
JPH07121239A (en) Control method for robot device
EP3598248B1 (en) Control system
JP2014137626A (en) Robot control method and robot control device

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207