Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7834288B2 - Assembly system, control method, and program - Google Patents
[go: Go Back, main page]

JP7834288B2 - Assembly system, control method, and program - Google Patents

Assembly system, control method, and program

Info

Publication number
JP7834288B2
JP7834288B2 JP2022199698A JP2022199698A JP7834288B2 JP 7834288 B2 JP7834288 B2 JP 7834288B2 JP 2022199698 A JP2022199698 A JP 2022199698A JP 2022199698 A JP2022199698 A JP 2022199698A JP 7834288 B2 JP7834288 B2 JP 7834288B2
Authority
JP
Japan
Prior art keywords
nut
position coordinates
unit
end effector
bolt
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
JP2022199698A
Other languages
Japanese (ja)
Other versions
JP2024085261A (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.)
Waseda University
Mitsubishi Heavy Industries Ltd
Original Assignee
Waseda University
Mitsubishi Heavy Industries Ltd
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 Waseda University, Mitsubishi Heavy Industries Ltd filed Critical Waseda University
Priority to JP2022199698A priority Critical patent/JP7834288B2/en
Priority to PCT/JP2023/043647 priority patent/WO2024128092A1/en
Publication of JP2024085261A publication Critical patent/JP2024085261A/en
Application granted granted Critical
Publication of JP7834288B2 publication Critical patent/JP7834288B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Description

特許法第30条第2項適用 (1) 発行日 :令和3年12月15日 刊行物 :第22回 計測自動制御学会 システムインテグレーション部門講演会 予稿集 公益社団法人計測自動制御学会 システムインテグレーション部門 発行 *参加者専用アドレスより公開(参加者のみ閲覧可) (2) 開催日 :令和3年12月15日 集会名、開催場所 :第22回 計測自動制御学会 システムインテグレーション部門講演会(会期:令和3年12月15日~17日) 公益社団法人計測自動制御学会 システムインテグレーション部門 主催 オンライン開催Applicable under Article 30, Paragraph 2 of the Patent Law (1) Publication Date: December 15, 2021 Publication: Proceedings of the 22nd SICE System Integration Division Conference Published by the SICE System Integration Division *Available via a participant-only address (viewable only by participants) (2) Date of Event: December 15, 2021 Meeting Name and Venue: The 22nd SICE System Integration Division Conference (Dates: December 15-17, 2021) Hosted by the SICE System Integration Division Online

本開示は、組立システム、制御方法、およびプログラムに関する。 This disclosure relates to an assembly system, a control method, and a program.

特許文献1には、ロボットが備えるエンドエフェクタのワークに対する接触状態の変化をセンサが検知し、当該センサが検知した接触状態の変化に基づき、ワークに対するエンドエフェクタのずれ量を推定して補正するロボットシステムが開示されている。 Patent Document 1 discloses a robot system in which a sensor detects changes in the contact state of the robot's end effector with respect to the workpiece, and estimates and corrects the amount of displacement of the end effector relative to the workpiece based on the changes in the contact state detected by the sensor.

特許第6870122号公報Patent No. 6870122

ところで、上記特許文献1に記載の技術では、エンドエフェクタの手探り動作によって生じたボルトの頭部に対するソケットの接触状態の変化に基づいてずれ量を補正しているに留まるため、人間が行うような締結動作の再現が難しい。そのため、例えば、ソケットにボルトの頭部がはまるまでに時間がかかる場合がある。したがって、より円滑に締結することができる組立技術が期待されている。 However, the technology described in Patent Document 1 only compensates for the amount of misalignment based on the change in the contact state of the socket with the bolt head caused by the tactile movement of the end effector. Therefore, it is difficult to reproduce the fastening motion performed by a human. For example, it may take time for the bolt head to fit into the socket. Consequently, there is a need for assembly technology that enables smoother fastening.

本開示は上記課題を解決するためになされたものであって、より円滑に締結することができる組立システム、制御方法、およびプログラムを提供することを目的とする。 This disclosure was made to solve the above-mentioned problems and aims to provide an assembly system, control method, and program that can be fastened more smoothly.

上記課題を解決するために、本開示に係る組立システムは、複数の関節部を有するアームと、前記アームによって移動されるとともに、ナットを保持して前記ナットを軸線回りに回転させるエンドエフェクタと、各々の前記関節部の関節角を取得する第1センサと、施工対象物に設けられたボルトに前記ナットが接触した場合に、前記エンドエフェクタから伝達された接触力およびトルクを取得する第2センサと、を有するマニピュレータと、前記マニピュレータを制御する制御装置と、を備え、前記制御装置は、各々の前記関節部の関節角と、前記接触力およびトルクとを第1所定周期で取得する取得部と、前記取得された各々の前記関節部の関節角に基づき、前記ナットの位置座標および姿勢角を算出する算出部と、第1時刻における前記ナットの位置座標および姿勢角と、前記第1時刻における前記接触力およびトルクとが入力されると、前記ナットが前記ボルトに締結された状態を示す前記ナットの目標位置座標および目標姿勢角に近づいた、前記第1時刻よりも後の第2時刻における前記ナットの位置座標および姿勢角を示す指令値を出力するように学習された第1学習済みモデルを用いて、前記エンドエフェクタを制御する制御部と、を備える。 To solve the above problems, the assembly system according to this disclosure comprises a manipulator having an arm having a plurality of joints, an end effector that is moved by the arm and holds a nut and rotates the nut around an axis, a first sensor that acquires the joint angle of each of the joints, and a second sensor that acquires the contact force and torque transmitted from the end effector when the nut comes into contact with a bolt provided on the object to be constructed, and a control device that controls the manipulator, wherein the control device acquires the joint angle of each of the joints, the contact force and torque from the first The system comprises: an acquisition unit that acquires data at predetermined intervals; a calculation unit that calculates the position coordinates and orientation angle of the nut based on the acquired joint angles of each of the joints; and a control unit that controls the end effector using a first trained model that, upon receiving the position coordinates and orientation angle of the nut at a first time point, and the contact force and torque at the first time point, outputs command values indicating the position coordinates and orientation angle of the nut at a second time point, which is later than the first time point and approaches the target position coordinates and orientation angle of the nut indicating that the nut is fastened to the bolt.

本開示に係る制御方法は、複数の関節部を有するアームと、前記アームによって移動されるとともに、ナットを保持して前記ナットを軸線回りに回転させるエンドエフェクタと、各々の前記関節部の関節角を取得する第1センサと、前記エンドエフェクタから伝達された接触力およびトルクを取得する第2センサと、を有するマニピュレータを制御する制御方法であって、各々の前記関節部の関節角と、前記接触力およびトルクとを第1所定周期で取得するステップと、前記取得された各々の前記関節部の関節角に基づき、前記ナットの位置座標および姿勢角を算出するステップと、第1時刻における前記ナットの位置座標および姿勢角と、前記第1時刻における前記接触力およびトルクとが入力されると、前記ナットが前記ボルトに締結された状態を示す前記ナットの目標位置座標および目標姿勢角に近づいた、前記第1時刻よりも後の第2時刻における前記ナットの位置座標および姿勢角を示す指令値を出力するように学習された第1学習済みモデルを用いて、前記エンドエフェクタを制御するステップと、を実行する。 The control method according to this disclosure is a control method for controlling a manipulator having an arm with a plurality of joints, an end effector moved by the arm and holding a nut and rotating the nut around an axis, a first sensor for acquiring the joint angle of each of the joints, and a second sensor for acquiring the contact force and torque transmitted from the end effector, the method comprising: a step of acquiring the joint angle of each of the joints, the contact force and torque at a first predetermined period; a step of calculating the position coordinates and orientation angle of the nut based on the acquired joint angles of each of the joints; and a step of controlling the end effector using a first trained model that, upon inputting the position coordinates and orientation angle of the nut at a first time and the contact force and torque at the first time, outputs command values indicating the position coordinates and orientation angle of the nut at a second time after the first time, when the nut has approached the target position coordinates and target orientation angle of the nut indicating a state in which the nut is fastened to the bolt.

本開示に係るプログラムは、複数の関節部を有するアームと、前記アームによって移動されるとともに、ナットを保持して前記ナットを軸線回りに回転させるエンドエフェクタと、各々の前記関節部の関節角を取得する第1センサと、前記エンドエフェクタから伝達された接触力およびトルクを取得する第2センサと、を有するマニピュレータを制御する制御装置のコンピュータに、各々の前記関節部の関節角と、前記接触力およびトルクとを第1所定周期で取得するステップと、前記取得された各々の前記関節部の関節角に基づき、前記ナットの位置座標および姿勢角を算出するステップと、第1時刻における前記ナットの位置座標および姿勢角と、前記第1時刻における前記接触力およびトルクとが入力されると、前記ナットが前記ボルトに締結された状態を示す前記ナットの目標位置座標および目標姿勢角に近づいた、前記第1時刻よりも後の第2時刻における前記ナットの位置座標および姿勢角を示す指令値を出力するように学習された第1学習済みモデルを用いて、前記エンドエフェクタを制御するステップと、を実行させる。 The program according to this disclosure causes the computer of a control device that controls a manipulator having an arm with multiple joints, an end effector moved by the arm and holding a nut and rotating the nut around an axis, a first sensor for acquiring the joint angle of each of the joints, and a second sensor for acquiring the contact force and torque transmitted from the end effector, to execute the following steps: acquiring the joint angle of each of the joints, the contact force and torque at a first predetermined period; calculating the position coordinates and orientation angle of the nut based on the acquired joint angles of each of the joints; and controlling the end effector using a first trained model that, upon inputting the position coordinates and orientation angle of the nut at a first time and the contact force and torque at the first time, outputs command values indicating the position coordinates and orientation angle of the nut at a second time point after the first time point, when the nut has approached the target position coordinates and orientation angle of the nut indicating that the nut is fastened to the bolt.

本開示によれば、より円滑に締結することができる組立システム、制御方法、およびプログラムを提供することができる。 This disclosure provides an assembly system, control method, and program that enable smoother fastening.

本開示の第1実施形態に係る組立システムの全体を示す概略構成図である。This is a schematic diagram showing the overall configuration of the assembly system according to the first embodiment of this disclosure. 本開示の第1実施形態に係るエンドエフェクタ、ナット、およびボルトを一列に並べて表示した図である。This diagram shows an end effector, nut, and bolt arranged in a row according to the first embodiment of the present disclosure. 本開示の第1実施形態に係るナットランナの内部を軸線方向から見た図である。This is a view of the inside of a nut runner according to the first embodiment of this disclosure, seen from the axial direction. 本開示の第1実施形態に係るエンドエフェクタにナットを保持させる際のナット保持部材の動きを説明するための図である。This figure illustrates the movement of the nut holding member when the nut is held in the end effector according to the first embodiment of this disclosure. 本開示の第1実施形態に係るエンドエフェクタからカラーを取り外す際のナット保持部材の動きを説明するための図である。This figure illustrates the movement of the nut retaining member when removing a collar from an end effector according to the first embodiment of this disclosure. 本開示の第1実施形態に係る撮像装置が撮像した画像の一例を模式的に示す図である。This figure schematically shows an example of an image captured by the imaging device according to the first embodiment of this disclosure. 本開示の第1実施形態に係る制御装置の機能ブロック図である。This is a functional block diagram of a control device according to the first embodiment of this disclosure. 本開示の第1実施形態に係るナットの位置座標が表現される座標系を概念的に説明するための図である。This figure conceptually illustrates the coordinate system in which the position coordinates of the nut according to the first embodiment of this disclosure are represented. 本開示の第1実施形態に係るエンドエフェクタが保持したナットがボルトに接触した際にボルトから受ける接触力を概念的に説明するための図である。This figure conceptually illustrates the contact force received by an end effector when a nut held by the end effector according to the first embodiment of this disclosure comes into contact with the bolt. 本開示の第1実施形態に係る補正部が接触力の補正に用いる補正値を概念的に説明するための図である。This figure conceptually illustrates the correction values used by the correction unit according to the first embodiment of this disclosure for correcting contact force. 本開示の第1実施形態に係る第1学習済みモデルの学習ステップの一例を示すフローチャートである。This flowchart shows an example of the training steps for a first trained model according to the first embodiment of this disclosure. 本開示の第1実施形態に係る第2学習済みモデルを教示する際のダイレクトティーチング動作の一例を示す図である。This figure shows an example of a direct teaching operation when teaching a second trained model according to the first embodiment of this disclosure. 本開示の第1実施形態に係る制御装置の動作の一例を示すフローチャートである。This flowchart shows an example of the operation of the control device according to the first embodiment of this disclosure. 本開示の第2実施形態に係る組立システムの全体を示す概略構成図である。This is a schematic diagram showing the overall configuration of the assembly system according to the second embodiment of this disclosure. 本開示の第3実施形態に係る組立システムの全体を示す概略構成図である。This is a schematic diagram showing the overall configuration of the assembly system according to the third embodiment of this disclosure. 本開示の第3実施形態の変形例に係る組立システムの全体を示す概略構成図である。This is a schematic diagram showing the overall configuration of an assembly system according to a modified example of the third embodiment of the present disclosure. 本開示の実施形態に係るコンピュータの構成を示すハードウェア構成図である。This is a hardware configuration diagram showing the configuration of a computer according to the embodiments of this disclosure.

以下、添付図面を参照しながら、組立システムを実施するための形態を説明する。 The following describes the configuration for implementing the assembly system, referring to the attached drawings.

<組立システムの第1実施形態>
組立システムは、例えば組立工場などで稼動する自動化システムの一部であり、マニピュレータを制御することで複数の部品が一体化するように組み付ける。以下、組立システムが組立の対象とする部品を「施工対象物」と称する。図1に示すように、施工対象物200は、例えば第1部品210と第2部品220とに分かれており、例えば作業台300(作業用机)の上に据え置かれている。組立システム100は、マニピュレータ10を制御することで、第1部品210および第2部品220を一体化させる。施工対象物200の例として、航空機部品の1つであるパネルや、船舶部品の1つであるパネルなどが挙げられる。組立システム100は、例えば、マニピュレータ10と、制御装置30とを備えている。
<First embodiment of the assembly system>
An assembly system is part of an automated system that operates in an assembly plant, for example, and assembles multiple parts into a single unit by controlling a manipulator. Hereinafter, the parts that the assembly system assembles will be referred to as the "object to be assembled". As shown in Figure 1, the object to be assembled 200 is divided into, for example, a first part 210 and a second part 220, and is placed on, for example, a workbench 300 (work desk). The assembly system 100 integrates the first part 210 and the second part 220 by controlling the manipulator 10. Examples of the object to be assembled 200 include a panel, which is one of the aircraft parts, and a panel, which is one of the ship parts. The assembly system 100 includes, for example, a manipulator 10 and a control device 30.

(マニピュレータの構成)
本実施形態では、マニピュレータ10は、結合具としてのナット202を保持した状態で、全体の姿勢を変えることでナット202を移動させるとともに、当該ナット202を施工対象物200に設けられた結合具としてのボルト201に自動で締結させるロボットである。マニピュレータ10は、複数の関節部110を備える多関節ロボットである。本実施形態では、6つの関節部110を備える6軸の多関節ロボットをマニピュレータ10の一例として説明する。マニピュレータ10は、施工対象物200に接着剤などで仮固定されたボルト201にナット202を締結することで、第1部品210および第2部品220を一体化させている。
(Manipulator configuration)
In this embodiment, the manipulator 10 is a robot that moves the nut 202 by changing its overall posture while holding the nut 202 as a connector, and automatically fastens the nut 202 to a bolt 201, which is a connector provided on the object to be constructed 200. The manipulator 10 is a multi-joint robot equipped with multiple joints 110. In this embodiment, a six-axis multi-joint robot equipped with six joints 110 is described as an example of the manipulator 10. The manipulator 10 integrates the first part 210 and the second part 220 by fastening the nut 202 to a bolt 201 that is temporarily fixed to the object to be constructed 200 with adhesive or the like.

図2に示すように、本実施形態では、マニピュレータ10が扱うナット202は、ナット本体202aと、ナット本体202aに一体に設けられたカラー202bとを有するカラーナットである。ナット202には、雌ねじ部としてのナット孔202hがナット本体202aおよびカラー202bの両方に亘って形成されている。本実施形態では、カラー202bは、外殻が六角柱状に形成されている。ナット202は、マニピュレータ10によってボルト201に締結される過程で、カラー202bのみが外され(カラー切り)、ナット本体202aがボルト201に締結された状態となる。ボルト201は、施工対象物200としての第1部品210および第2部品220のそれぞれに設けられた孔(図示省略)などに挿通されるとともに第2部品220から突出することで、雄ねじ部201aがむき出しとされている。本実施形態では、ボルト201は、例えば頭部を有さないスタッドボルト(植え込みボルト)である。マニピュレータ10は、むき出しとされたボルト201の雄ねじ部201aにナット202のナット孔202hを螺合させて締結させる。図1に戻り、マニピュレータ10は、例えば、アーム11と、エンコーダ130と、力覚センサ140と、エンドエフェクタ12と、台座部15とを有している。 As shown in Figure 2, in this embodiment, the nut 202 handled by the manipulator 10 is a collar nut having a nut body 202a and a collar 202b integrally provided on the nut body 202a. The nut 202 has a nut hole 202h as a female thread portion formed across both the nut body 202a and the collar 202b. In this embodiment, the outer shell of the collar 202b is formed in a hexagonal prism shape. During the process of fastening the nut 202 to the bolt 201 by the manipulator 10, only the collar 202b is removed (collar cut), and the nut body 202a is fastened to the bolt 201. The bolt 201 is inserted through holes (not shown) provided in the first part 210 and the second part 220, which are the objects to be constructed 200, and protrudes from the second part 220, so that the male thread portion 201a is exposed. In this embodiment, the bolt 201 is, for example, a stud bolt (recessed bolt) without a head. The manipulator 10 fastens the bolt 202 by screwing the nut hole 202h of the nut 202 onto the exposed male threaded portion 201a of the bolt 201. Returning to Figure 1, the manipulator 10 includes, for example, an arm 11, an encoder 130, a force sensor 140, an end effector 12, and a base portion 15.

(アーム)
アーム11は、マニピュレータ10の本体部分を成している。アーム11は、地面に配置された台座部15の上に載置されている。具体的には、アーム11の一端は、台座部15に固定されている。アーム11は、台座部15を基点に姿勢を変えることで台座部15の周囲を3次元的に移動可能である。アーム11は、例えば、複数(6つ)の関節部110と、第1接続部118aと、第2接続部118bと、第3接続部118cとを有している。
(arm)
The arm 11 forms the main body of the manipulator 10. The arm 11 is placed on a base 15 positioned on the ground. Specifically, one end of the arm 11 is fixed to the base 15. The arm 11 can move three-dimensionally around the base 15 by changing its orientation with the base 15 as the pivot point. The arm 11 has, for example, a plurality (six) of joints 110, a first connection part 118a, a second connection part 118b, and a third connection part 118c.

各々の関節部110は、例えば円筒状を成しており、当該関節部110を回動可能にするためのモータ117を内部に有している。関節部110が有するモータ117には、例えばサーボモータが挙げられる。モータ117は、回転駆動することで、当該モータ117が回動の中心とする回動軸線回りに関節部110の全体を回動させる。以下、アーム11が備える6つの関節部110を台座部15に近い側から順に、「第1関節部111」、「第2関節部112」、「第3関節部113」、「第4関節部114」、「第5関節部115」、「第6関節部116」と称する。また、第1関節部111のモータ117を「第1モータ117a」と称し、第2関節部112のモータ117を「第2モータ117b」と称し、第3関節部113のモータ117を「第3モータ117c」と称し、第4関節部114のモータ117を「第4モータ117d」と称し、第5関節部115のモータ117を「第5モータ117e」と称し、第6関節部116のモータ117を「第6モータ117f」と称する。各々のモータ117(第1モータ117a~第6モータ117f)の回動は、制御装置30(後述)によって制御されている。 Each joint 110 is, for example, cylindrical in shape and contains a motor 117 inside to make the joint 110 rotatable. A servo motor is one example of a motor 117 in a joint 110. The motor 117 rotates the entire joint 110 around a rotation axis, with the motor 117 as the center of rotation. Hereinafter, the six joints 110 of the arm 11 will be referred to, in order from the side closest to the base 15, as "first joint 111," "second joint 112," "third joint 113," "fourth joint 114," "fifth joint 115," and "sixth joint 116." Furthermore, the motor 117 of the first joint 111 is referred to as "first motor 117a," the motor 117 of the second joint 112 as "second motor 117b," the motor 117 of the third joint 113 as "third motor 117c," the motor 117 of the fourth joint 114 as "fourth motor 117d," the motor 117 of the fifth joint 115 as "fifth motor 117e," and the motor 117 of the sixth joint 116 as "sixth motor 117f." The rotation of each motor 117 (first motor 117a to sixth motor 117f) is controlled by the control device 30 (described later).

第1関節部111は、台座部15の上面に固定されている。第1関節部111は、アーム11の上記一端に相当している。第1モータ117aは、例えば鉛直方向に延びるパン軸としての第1回動軸線O1を中心に回動可能であり、第1関節部111の全体を当該第1回動軸線O1回りに回動させる。第2関節部112は、第1関節部111と一体の状態で第1関節部111の外面から延びるように設けられている。第2モータ117bは、例えば水平方向に延びるチルト軸としての第2回動軸線O2を中心に回動可能であり、第2関節部112の全体を当該第2回動軸線O2回りに回動させる。第2関節部112には、第2回動軸線O2に交差する方向に延びる第1接続部118aが設けられている。第1接続部118aは、円筒状を成しており、第2関節部112の外面から延びている。第3関節部113は、第1接続部118aの第2関節部112から延びた先に一体に設けられている。第3モータ117cは、例えば水平方向に延びるチルト軸としての第3回動軸線O3を中心に回動可能であり、第3関節部113の全体を当該第3回動軸線O3回りに回動させる。第3関節部113には、第3回動軸線O3に交差する方向に延びる第2接続部118bが設けられている。第2接続部118bは、円筒状を成しており、第3関節部113の外面から延びている。第4関節部114は、第2接続部118bの第3関節部113から延びた先に一体に設けられている。第4モータ117dは、例えば水平方向に延びるチルト軸としての第4回動軸線O4を中心に回動可能であり、第4関節部114の全体を当該第4回動軸線O4回りに回動させる。第5関節部115は、第4関節部114と一体に設けられている。第5モータ117eは、例えば第4回動軸線O4と交差する方向に延びるパン軸としての第5回動軸線O5を中心に回動可能であり、第5関節部115の全体を当該第5回動軸線O5回りに回動させる。第5関節部115には、第5回動軸線O5に交差する方向に延びる第3接続部118cが設けられている。第3接続部118cは、円筒状を成しており、第5関節部115の外面から延びている。第6関節部116は、第3接続部118cの第5関節部115から延びた先に一体に設けられている。第6関節部116は、アーム11の上記一端とは反対側の他端に相当している。第6モータ117fは、例えば第5回動軸線O5と平行に延びるパン軸としての第6回動軸線O6を中心に回動可能である。上述した各々の関節部110がモータ117によって回動することで、アーム11の姿勢が3次元的に変化する。以下、第6回動軸線O6を単に「軸線Ar1」と称する。また、当該軸線Ar1が延びる方向を「軸線方向Da」と称し、軸線方向Daにおける一方側を単に「一方側Da1」と称し、一方側Da1とは反対の側を「他方側Da2」と称する。各々の関節部110のモータ117は、制御対象装置Sの一例である。 The first joint portion 111 is fixed to the upper surface of the base portion 15. The first joint portion 111 corresponds to the above-mentioned end of the arm 11. The first motor 117a is rotatable about a first rotation axis O1, for example, as a pan axis extending in the vertical direction, and rotates the entire first joint portion 111 around the first rotation axis O1. The second joint portion 112 is provided so as to extend from the outer surface of the first joint portion 111 in an integral state with the first joint portion 111. The second motor 117b is rotatable about a second rotation axis O2, for example, as a tilt axis extending in the horizontal direction, and rotates the entire second joint portion 112 around the second rotation axis O2. The second joint portion 112 is provided with a first connecting portion 118a that extends in a direction intersecting the second rotation axis O2. The first connecting portion 118a is cylindrical and extends from the outer surface of the second joint portion 112. The third joint portion 113 is integrally provided at the end of the extension from the second joint portion 112 of the first connecting portion 118a. The third motor 117c is rotatable around a third rotation axis O3, for example, as a tilt axis extending in the horizontal direction, and rotates the entire third joint portion 113 around the third rotation axis O3. The third joint portion 113 is provided with a second connecting portion 118b that extends in a direction intersecting the third rotation axis O3. The second connecting portion 118b is cylindrical and extends from the outer surface of the third joint portion 113. The fourth joint portion 114 is integrally provided at the end of the extension from the third joint portion 113 of the second connecting portion 118b. The fourth motor 117d is rotatable around a fourth rotation axis O4, for example, as a tilt axis extending horizontally, and rotates the entire fourth joint 114 around the fourth rotation axis O4. The fifth joint 115 is provided integrally with the fourth joint 114. The fifth motor 117e is rotatable around a fifth rotation axis O5, for example, as a pan axis extending in a direction intersecting the fourth rotation axis O4, and rotates the entire fifth joint 115 around the fifth rotation axis O5. The fifth joint 115 is provided with a third connecting portion 118c that extends in a direction intersecting the fifth rotation axis O5. The third connecting portion 118c is cylindrical and extends from the outer surface of the fifth joint 115. The sixth joint 116 is provided integrally with the end of the third connecting portion 118c that extends from the fifth joint 115. The sixth joint 116 corresponds to the other end of the arm 11 opposite to the aforementioned end. The sixth motor 117f is rotatable around the sixth rotation axis O6, which acts as a pan axis extending parallel to, for example, the fifth rotation axis O5. The rotation of each of the aforementioned joints 110 by the motor 117 causes a three-dimensional change in the posture of the arm 11. Hereinafter, the sixth rotation axis O6 will be simply referred to as "axis Ar1". The direction in which axis Ar1 extends will be referred to as "axial direction Da", one side of axial direction Da will be simply referred to as "one side Da1", and the side opposite to one side Da1 will be referred to as "the other side Da2". The motor 117 of each joint 110 is an example of a controlled device S.

(エンコーダ)
エンコーダ130は、関節部110の回転角を取得可能なセンサである。以下、各々の関節部110(第1関節部111~第6関節部116)の回転角(θ1~θ6)を「関節角」と称する。エンコーダ130は、例えば、各々の関節部110のモータ117に1つずつ設けられている。以下、第1モータ117aに設けられたエンコーダ130を「第1エンコーダ131」と称し、第2モータ117bに設けられたエンコーダ130を「第2エンコーダ132」と称し、第3モータ117cに設けられたエンコーダ130を「第3エンコーダ133」と称し、第4モータ117dに設けられたエンコーダ130を「第4エンコーダ134」と称し、第5モータ117eに設けられたエンコーダ130を「第5エンコーダ135」と称し、第6モータ117fに設けられたエンコーダ130を「第6エンコーダ136」と称する。各々のエンコーダ130は、モータ117から取得した関節角(センサデータ)を制御装置30に送信する。エンコーダ130は、第1センサ13の一例である。第1センサ13は、有線または無線通信によって制御装置30に接続されている。
(Encoder)
The encoder 130 is a sensor capable of acquiring the rotation angle of the joint 110. Hereinafter, the rotation angles (θ1 to θ6) of each joint 110 (first joint 111 to sixth joint 116) will be referred to as "joint angles". For example, one encoder 130 is provided on each motor 117 of each joint 110. Hereinafter, the encoder 130 provided on the first motor 117a will be referred to as the "first encoder 131," the encoder 130 provided on the second motor 117b will be referred to as the "second encoder 132," the encoder 130 provided on the third motor 117c will be referred to as the "third encoder 133," the encoder 130 provided on the fourth motor 117d will be referred to as the "fourth encoder 134," the encoder 130 provided on the fifth motor 117e will be referred to as the "fifth encoder 135," and the encoder 130 provided on the sixth motor 117f will be referred to as the "sixth encoder 136." Each encoder 130 transmits the joint angle (sensor data) acquired from the motor 117 to the control device 30. The encoder 130 is an example of the first sensor 13. The first sensor 13 is connected to the control device 30 by wired or wireless communication.

(力覚センサ)
力覚センサ140は、アーム11に接続されたロードセルである。具体的には、力覚センサ140は、第6関節部116に軸線方向Daにおける一方側Da1から固定されている。力覚センサ140には、第6関節部116とは反対側(軸線方向Daにおける一方側Da1)にエンドエフェクタ12(後述)が設けられている。力覚センサ140は、エンドエフェクタ12から伝達された力に関するデータを取得可能である。具体的には、力覚センサ140は、エンドエフェクタ12が保持したナット202がボルト201に接触した場合に、当該力覚センサ140に対してエンドエフェクタ12の側である一方側Da1から伝達された接触力の大きさを3軸の方向成分(Fx,Fy,Fz)ごとに取得可能であるとともに、軸ごとに働く各々の接触力の軸回りに作用するトルク(Mx,My,Mz)の大きさを取得可能である。以下、力覚データが取得した接触力(単位:N)およびトルク(単位:N・m)をまとめて「力データ」と称する場合がある。すなわち、力覚センサ140は、6軸の力データを取得可能である。力覚センサ140は、取得した力データ(センサデータ)を制御装置30に送信する。力覚センサ140は、第2センサ14の一例である。第2センサ14は、有線または無線通信によって制御装置30に接続されている。
(Force sensor)
The force sensor 140 is a load cell connected to the arm 11. Specifically, the force sensor 140 is fixed to the sixth joint 116 from one side Da1 in the axial direction Da. The force sensor 140 is provided with an end effector 12 (described later) on the opposite side from the sixth joint 116 (one side Da1 in the axial direction Da). The force sensor 140 can acquire data on the force transmitted from the end effector 12. Specifically, when the nut 202 held by the end effector 12 comes into contact with the bolt 201, the force sensor 140 can acquire the magnitude of the contact force transmitted to the force sensor 140 from one side Da1, which is the end effector 12 side, for each of the three axial components (Fx, Fy, Fz), and can also acquire the magnitude of the torque (Mx, My, Mz) acting around the axis of each contact force acting on each axis. Hereinafter, the contact force (unit: N) and torque (unit: N・m) acquired by the force sensor data may be collectively referred to as "force data." In other words, the force sensor 140 can acquire force data for six axes. The force sensor 140 transmits the acquired force data (sensor data) to the control device 30. The force sensor 140 is an example of the second sensor 14. The second sensor 14 is connected to the control device 30 by wired or wireless communication.

(エンドエフェクタ)
エンドエフェクタ12は、ナット202を保持してナット202を回転軸線Ar回りに回転させる。回転軸線Arは、例えば、軸線Ar1に対してオフセットされた位置で軸線方向Daに延びる仮想軸線である。なお、回転軸線Arは、軸線Ar1と一致していてもよい。本実施形態では、エンドエフェクタ12は、力覚センサ140に一方側Da1から設けられている。したがって、エンドエフェクタ12は、アーム11によって移動されるとともに、施工対象物200に設けられたボルト201に対して保持したナット202を締結する。図1および図2に示すように、エンドエフェクタ12は、例えば、撮像装置20と、本体部120と、ナットランナ121と、ナット保持部材124と、弾性部材128とを有している。図2中では、図示の便宜上、ナットランナ121のソケット部123を断面で内部が見えるように示している。
(End effector)
The end effector 12 holds the nut 202 and rotates the nut 202 around the rotation axis Ar. The rotation axis Ar is, for example, a virtual axis extending in the axial direction Da at a position offset from the axis Ar1. Note that the rotation axis Ar may coincide with the axis Ar1. In this embodiment, the end effector 12 is provided on the force sensor 140 from one side Da1. Therefore, the end effector 12 is moved by the arm 11 and fastens the held nut 202 to a bolt 201 provided on the object to be constructed 200. As shown in Figures 1 and 2, the end effector 12 includes, for example, an imaging device 20, a main body 120, a nut runner 121, a nut holding member 124, and an elastic member 128. In Figure 2, for illustrative purposes, the socket portion 123 of the nut runner 121 is shown in cross-section so that the inside is visible.

(撮像装置)
図1、図2、および図3に示すように、撮像装置20は、エンドエフェクタ12に設けられ、施工対象物200を撮像した画像を生成する。本実施形態では、撮像装置20は、後述のエンドエフェクタ12が有するナットランナ121のソケット部123の内部に、ソケット部123に対して回転不能の状態で配置されている。具体的には、図2に示すように、撮像装置20は、後述の収容部123rよりも基部122に近い側のソケット部123内(後述の収容空間R)に配置されている。撮像装置20は、例えば、撮像部21と、照明部22とを有している。撮像部21は、後述のナット保持部材124によって保持されたナット202のナット孔202hを通じて施工対象物200を撮像した画像を生成する。撮像部21には、例えば、CCDイメージセンサやCMOSイメージセンサなどの半導体素子(固体撮像素子)が組み込まれたセンサモジュールを例示することができる。なお、撮像部21は、これに代えて、ファイバスコープなどであってもよい。照明部22は、ナット孔202hを通じて施工対象物200に向けて光を照射する。照明部22には、例えば、LED(Light Emitting Diode)などの素子を例示することができる。図6は、撮像装置20が撮像した画像の一例を模式的に示す図である。図6中では、施工対象物200に設けられたボルト201をやや斜め上方から撮像した画像の一例を模式的に示している。なお、図6中では、ボルト201の中心線Ar2(符号の図示は省略)を中心とした穴が形成されたボルト201を一例として示しているが、ボルト201には穴が形成されていなくてもよい。図6に示すように、撮像装置20は、ナット孔202hを通じて施工対象物200およびボルト201に光を照射した状態で、施工対象物200の表面や、ボルト201の雄ねじ部201aおよびボルト201の端面201eなどを撮像することができる。撮像装置20は、有線または無線通信によって制御装置30に接続されている。撮像装置20は、撮像した画像を制御装置30に送信する。
(Imaging device)
As shown in Figures 1, 2, and 3, the imaging device 20 is provided on the end effector 12 and generates an image of the object to be constructed 200. In this embodiment, the imaging device 20 is positioned inside the socket portion 123 of the nut runner 121 of the end effector 12, which will be described later, in a state where it cannot rotate relative to the socket portion 123. Specifically, as shown in Figure 2, the imaging device 20 is positioned inside the socket portion 123 (the housing space R described later) on the side closer to the base portion 122 than the housing portion 123r described later. The imaging device 20 has, for example, an imaging unit 21 and an illumination unit 22. The imaging unit 21 generates an image of the object to be constructed 200 through the nut hole 202h of the nut 202 held by the nut holding member 124 described later. The imaging unit 21 can be exemplified by a sensor module incorporating a semiconductor element (solid-state image sensor) such as a CCD image sensor or a CMOS image sensor. The imaging unit 21 may be replaced with a fiberscope or the like. The illumination unit 22 irradiates light onto the object to be constructed 200 through the nut hole 202h. The illumination unit 22 may be an LED (Light Emitting Diode), for example. Figure 6 is a schematic diagram showing an example of an image captured by the imaging device 20. In Figure 6, an example of an image of a bolt 201 provided on the object to be constructed 200, taken from a slightly oblique angle above, is schematically shown. In Figure 6, a bolt 201 with a hole formed around its centerline Ar2 (the reference numeral is not shown) is shown as an example, but the bolt 201 does not necessarily have to have a hole formed therein. As shown in Figure 6, the imaging device 20 can image the surface of the object to be constructed 200, the male threaded portion 201a of the bolt 201, and the end face 201e of the bolt 201 while irradiating light onto the object to be constructed 200 and the bolt 201 through the nut hole 202h. The imaging device 20 is connected to the control device 30 by wired or wireless communication. The imaging device 20 transmits the captured images to the control device 30.

(本体部)
本体部120は、力覚センサ140に固定されている。本体部120には、ナットランナ121のソケット部123(後述、図2参照)が挿通されており、本体部120は、当該ソケット部123を回転軸線Ar回りに回転させるための締結用モータ120a(図1参照)を内部に有している。本体部120の締結用モータ120aの回転は、制御装置30によって制御されている。本体部120の締結用モータ120aは、制御対象装置Sの一例である。
(Main body)
The main body 120 is fixed to the force sensor 140. The socket portion 123 (described later, see Figure 2) of the nut runner 121 is inserted through the main body 120, and the main body 120 has a fastening motor 120a (see Figure 1) inside for rotating the socket portion 123 around the rotation axis Ar. The rotation of the fastening motor 120a of the main body 120 is controlled by the control device 30. The fastening motor 120a of the main body 120 is an example of a controlled device S.

(ナットランナ)
図2に示すように、ナットランナ121は、例えば、基部122と、ソケット部123とを有している。基部122は、例えば回転軸線Arを中心とした円板状を成しており、本体部120に一方側Da1から固定されている。基部122は、一方側Da1を向く前面122aを有している。ソケット部123は、基部122の前面122aよりも一方側Da1に延びるように設けられて、回転軸線Arを中心とした円筒状を成している。ソケット部123は、基部122および本体部120内に挿通されており、本体部120内に設けられた締結用モータ120aによって回動可能に保持されている(図1参照)。ソケット部123は、内部を画定する円筒面状の内周面123iと、外側を向く円筒面状の外周面123oとを有している。以下、ソケット部123の内部の空間を「収容空間R」と称する。ソケット部123は、一方側Da1に配置された先端部分に開口123eを有している。本実施形態では、開口123eは、回転軸線Arに対して直交する正円形に形成されている。また、ソケット部123には、当該開口123eを含み、ナット202の少なくとも一部を収容可能な収容部123rが形成されている。収容部123rは、収容空間Rにおける一方側Da1に配置されている。
(Nut Runner)
As shown in Figure 2, the nut runner 121 has, for example, a base portion 122 and a socket portion 123. The base portion 122 is, for example, a disc shape centered on the axis of rotation Ar and is fixed to the main body portion 120 from one side Da1. The base portion 122 has a front surface 122a facing the one side Da1. The socket portion 123 is provided so as to extend one side Da1 beyond the front surface 122a of the base portion 122 and has a cylindrical shape centered on the axis of rotation Ar. The socket portion 123 is inserted into the base portion 122 and the main body portion 120 and is rotatably held by a fastening motor 120a provided in the main body portion 120 (see Figure 1). The socket portion 123 has a cylindrical inner circumferential surface 123i that defines the interior and a cylindrical outer circumferential surface 123o that faces outward. Hereinafter, the space inside the socket portion 123 will be referred to as the "accommodation space R". The socket portion 123 has an opening 123e at its tip, which is located on one side Da1. In this embodiment, the opening 123e is formed in the shape of a perfect circle perpendicular to the axis of rotation Ar. The socket portion 123 also has a housing portion 123r that includes the opening 123e and is capable of accommodating at least a part of the nut 202. The housing portion 123r is located on one side Da1 in the housing space R.

図2および図3に示すように、収容部123rは、例えば、複数のテーパ面123aと、複数の締結面123bと、位置決め面123cとで構成されている。各々のテーパ面123aは、開口123eが広がる方向に対して傾斜して配置されている。具体的には、各々のテーパ面123aは、他方側Da2に向かうにしたがって回転軸線Arに近づくように、開口123eが広がる方向に対して傾斜して配置されている。本実施形態では、6つのテーパ面123aが回転軸線Ar回りに並んで配置されており、回転軸線Ar回りに隣り合うテーパ面123a同士は、互いに接続されている。収容部123rにおける複数のテーパ面123aによって画定された領域は、回転軸線Arに直交する断面が正六角形を成すとともに、他方側Da2に向かうにしたがって小さくなるテーパ状を成している。 As shown in Figures 2 and 3, the housing section 123r is composed of, for example, a plurality of tapered surfaces 123a, a plurality of fastening surfaces 123b, and a positioning surface 123c. Each tapered surface 123a is inclined with respect to the direction in which the opening 123e widens. Specifically, each tapered surface 123a is inclined with respect to the direction in which the opening 123e widens so that it approaches the rotation axis Ar as it moves toward the other side Da2. In this embodiment, six tapered surfaces 123a are arranged in a line around the rotation axis Ar, and adjacent tapered surfaces 123a around the rotation axis Ar are connected to each other. The region defined by the plurality of tapered surfaces 123a in the housing section 123r has a cross-section perpendicular to the rotation axis Ar that forms a regular hexagon, and has a tapered shape that becomes smaller as it moves toward the other side Da2.

各々の締結面123bは、1つのテーパ面123aに対応するように他方側Da2からテーパ面123aに接続されており、開口123eが広がる方向に対して垂直に配置されている。本実施形態では、締結面123bは、6つの締結面123bが回転軸線Ar回りに並んで配置されており、回転軸線Ar回りに隣り合う締結面123b同士は、互いに接続されている。収容部123rにおける複数の締結面123bによって画定された領域は、回転軸線Arに直交する断面が軸線方向Daに一定とされた六角柱状を成している。複数の締結面123bによって画定された領域は、例えば、ナット202のカラー202bがちょうど収まる大きさとされている。 Each fastening surface 123b is connected to the tapered surface 123a from the other side Da2, corresponding to one tapered surface 123a, and is positioned perpendicular to the direction in which the opening 123e widens. In this embodiment, the six fastening surfaces 123b are arranged around the rotation axis Ar, and adjacent fastening surfaces 123b around the rotation axis Ar are connected to each other. The region defined by the multiple fastening surfaces 123b in the housing portion 123r forms a hexagonal prism shape with a cross-section perpendicular to the rotation axis Ar that is constant in the axial direction Da. The region defined by the multiple fastening surfaces 123b is sized to accommodate, for example, the collar 202b of the nut 202.

位置決め面123cは、複数(6つ)の締結面123bと、ソケット部123の上記内周面123iとを互いに接続する面であり、一方側Da1を向いている。本実施形態では、位置決め面123cは、開口123eが広がる方向に対して平行に配置されている。すなわち、位置決め面123cは、各々の締結面123bに対して垂直に配置されている。位置決め面123cは、収容部123rにナット202が収容された際、当該ナット202を位置決めさせるための面である。図3に示すように、位置決め面123cは、一方側Da1から見て、正六角形の中央部分から正円形を取り除いた形状を成している。この位置決め面123cにナット202のカラー202bが一方側Da1から当接することで、ナット202が位置決めされる。つまり、位置決め面123cによってナット202の位置が位置決めされることで、当該ナット202が収容部123rよりも他方側Da2の収容空間Rに入り込むことがない。 The positioning surface 123c is the surface that connects the multiple (six) fastening surfaces 123b and the inner circumferential surface 123i of the socket portion 123, and faces one side Da1. In this embodiment, the positioning surface 123c is arranged parallel to the direction in which the opening 123e widens. That is, the positioning surface 123c is arranged perpendicular to each of the fastening surfaces 123b. The positioning surface 123c is the surface for positioning the nut 202 when the nut 202 is housed in the housing portion 123r. As shown in Figure 3, when viewed from one side Da1, the positioning surface 123c has a shape obtained by removing the circular part from the central part of a regular hexagon. The collar 202b of the nut 202 comes into contact with this positioning surface 123c from one side Da1, thereby positioning the nut 202. In other words, the positioning surface 123c positions the nut 202, preventing it from entering the housing space R on the other side Da2 beyond the housing portion 123r.

(ナット保持部材)
ナット保持部材124は、ナットランナ121の収容部123rにナット202のカラー202bが収容された際、当該ナット202が収容部123rから一方側Da1へ抜け落ちることがないようにナット202を保持する。図2に戻り、ナット保持部材124は、ソケット部123の外周側に設けられている。本実施形態では、2つのナット保持部材124がソケット部123の外周側でソケット部123を間に挟むように設けられている。なお、3つ以上のナット保持部材124がソケット部123を中心にして回転軸線Ar回りに等間隔に配置されてもよい。ナット保持部材124は、例えば、回動軸125と、第1部分126と、第2部分127とを有している。
(Nut retaining member)
The nut holding member 124 holds the nut 202 so that when the collar 202b of the nut 202 is housed in the housing portion 123r of the nut runner 121, the nut 202 does not fall out of the housing portion 123r to one side Da1. Returning to Figure 2, the nut holding member 124 is provided on the outer circumference of the socket portion 123. In this embodiment, two nut holding members 124 are provided on the outer circumference of the socket portion 123 so as to sandwich the socket portion 123 between them. Alternatively, three or more nut holding members 124 may be arranged at equal intervals around the rotation axis Ar with respect to the socket portion 123. The nut holding member 124 has, for example, a pivot shaft 125, a first portion 126, and a second portion 127.

回動軸125は、ソケット部123の外周面123oに回動可能に設けられている。第1部分126は、回動軸125に固定されており、回転軸線Arに交差する方向に延びる棒状の部材である。第2部分127は、第1部分126からソケット部123の先端側に向かって延びる延在部127aと、当該延在部127aの先端に設けられて回転軸線Arに近づくように延在部127aから突出する爪部127bとを有している。延在部127aは、回転軸線Arに沿って延びる棒状の部材である。延在部127aは、第1部分126と共にL字状を成している。爪部127bは、延在部127aから回転軸線Arに近づくにしたがって他方側Da2に向かっており、回転軸線Arに近づくにしたがって先細りした形状を成している。爪部127bは、ソケット部123の開口123eよりも一方側Da1に配置されている。また、図2および図3に示すように、爪部127bの先端は、締結面123bよりも回転軸線Arに近い側に位置している。爪部127bの先端は、ナット202のカラー202bがソケット部123の収容部123rに収容された際、弾性部材128(後述)の弾性力によってナット202の側面に当接する。具体的には、ナット202が収容部123rに収容された際、当該ナット202は、2つの爪部127bによって把持される(拘束される)。 The pivot shaft 125 is rotatably mounted on the outer circumferential surface 123o of the socket portion 123. The first portion 126 is fixed to the pivot shaft 125 and is a rod-shaped member extending in a direction intersecting the rotation axis Ar. The second portion 127 has an extended portion 127a extending from the first portion 126 toward the tip side of the socket portion 123, and a claw portion 127b provided at the tip of the extended portion 127a and protruding from the extended portion 127a so as to approach the rotation axis Ar. The extended portion 127a is a rod-shaped member extending along the rotation axis Ar. The extended portion 127a, together with the first portion 126, forms an L-shape. The claw portion 127b approaches the rotation axis Ar from the extended portion 127a toward the other side Da2 and has a tapered shape as it approaches the rotation axis Ar. The claw portion 127b is positioned on one side Da1 of the opening 123e of the socket portion 123. Furthermore, as shown in Figures 2 and 3, the tip of the claw portion 127b is located closer to the axis of rotation Ar than to the fastening surface 123b. When the collar 202b of the nut 202 is housed in the housing portion 123r of the socket portion 123, the tip of the claw portion 127b contacts the side surface of the nut 202 due to the elastic force of the elastic member 128 (described later). Specifically, when the nut 202 is housed in the housing portion 123r, the nut 202 is gripped (restrained) by the two claw portions 127b.

(弾性部材)
弾性部材128は、ナットランナ121の基部122と、ナット保持部材124の第1部分126との間に設けられたばねである。具体的には、弾性部材128は、一端が基部122の前面122aに固定されており、他端が第1部分126に固定されている。したがって、弾性部材128は、基部122と第1部分126とを互いに接続している。弾性部材128は、第1部分126に対してソケット部123の先端側(一方側Da1)に向かう弾性力を付与している。本実施形態では、1つの弾性部材128が1つのナット保持部材124に対応するように、基部122と第1部分126との間に設けられている。なお、複数の弾性部材128が1つのナット保持部材124に対応するように、基部122と第1部分126との間に設けられてもよい。また、弾性部材128は、第1部分126に対してソケット部123の先端側(一方側Da1)に向かう弾性力を付与することが可能であれば、ばねに限定されることはない。
(Elastic material)
The elastic member 128 is a spring provided between the base 122 of the nut runner 121 and the first portion 126 of the nut holding member 124. Specifically, one end of the elastic member 128 is fixed to the front surface 122a of the base 122, and the other end is fixed to the first portion 126. Therefore, the elastic member 128 connects the base 122 and the first portion 126 to each other. The elastic member 128 applies an elastic force to the first portion 126 toward the tip side (one side Da1) of the socket portion 123. In this embodiment, one elastic member 128 is provided between the base 122 and the first portion 126 so that it corresponds to one nut holding member 124. Alternatively, multiple elastic members 128 may be provided between the base 122 and the first portion 126 so that they correspond to one nut holding member 124. Furthermore, the elastic member 128 is not limited to a spring, as long as it can impart an elastic force to the first portion 126 toward the tip side (one side Da1) of the socket portion 123.

以下、図4および図5を参照して、エンドエフェクタ12のナット保持部材124にナット202を保持させる際のナット保持部材124の動き、および、エンドエフェクタ12のナット保持部材124からカラー202bを取り外す際のナット保持部材124の動きを説明する。 The movement of the nut retaining member 124 when the nut 202 is held in the nut retaining member 124 of the end effector 12, and the movement of the nut retaining member 124 when the collar 202b is removed from the nut retaining member 124 of the end effector 12, will be explained below with reference to Figures 4 and 5.

図4中の(a)に示すように、組立システム100を利用するオペレータ(熟練作業員)などの手によって扱われたナット202のカラー202bが一方側Da1から爪部127bに当接した状態で、弾性部材128の弾性力に抗しながら他方側Da2に押圧されることで、ナット保持部材124の第2部分127および第1部分126は、回動軸125と共に回動する。第2部分127および第1部分126が回動軸125と共に回動することで、爪部127b同士の間隔は、ナット202が通ることができる程度に広がる。そして、図4中の(b)に示すように、爪部127bの間を通り抜けたナット202のカラー202bは、収容部123r内に入り込み、テーパ面123aによって他方側Da2に案内されながら、締結面123bおよび位置決め面123cによって画定された領域で位置決めされる。この際、弾性部材128が第1部分126を一方側Da1に押圧しているため、第1部分126から延びる延在部127aと一体の爪部127bは、ナット本体202aの側面に当接する。つまり、ナット本体202aは、カラー202bが収容部123rに収容された際、2つの爪部127bによって把持される(拘束される)。なお、オペレータの手に代えて、治具やアクチュエータなどを用いてナット202をエンドエフェクタ12のナット保持部材124に保持させてもよい。 As shown in Figure 4(a), when the collar 202b of the nut 202, handled by an operator (skilled worker) using the assembly system 100, is pressed against the claw portion 127b from one side Da1 and against the elastic force of the elastic member 128, the second portion 127 and the first portion 126 of the nut holding member 124 rotate together with the pivot shaft 125. As the second portion 127 and the first portion 126 rotate together with the pivot shaft 125, the gap between the claw portions 127b widens to a degree that allows the nut 202 to pass through. Then, as shown in Figure 4(b), the collar 202b of the nut 202 that has passed between the claw portions 127b enters the housing portion 123r and is guided to the other side Da2 by the tapered surface 123a, and is positioned in the area defined by the fastening surface 123b and the positioning surface 123c. In this case, since the elastic member 128 is pressing the first portion 126 against one side Da1, the claw portion 127b, which is integrated with the extended portion 127a extending from the first portion 126, comes into contact with the side surface of the nut body 202a. In other words, when the collar 202b is housed in the housing portion 123r, the nut body 202a is gripped (restrained) by the two claw portions 127b. Alternatively, instead of the operator's hand, a jig or actuator may be used to hold the nut 202 in the nut holding member 124 of the end effector 12.

図5中の(a)に示すように、ナットランナ121のソケット部123の回転によってナット202がボルト201に締結された際、ナット202のナット本体202aのみがボルト201に締結された状態でカラー202bがナット本体202aから外れる(破断する)。そして、ナット本体202aから分離されたカラー202bは、ナット保持部材124の爪部127bによって保持される。つまり、ナット202がカラー切りされる。そして、図5中の(b)に示すように、オペレータなどの手によって第1部分126が弾性部材128の弾性力に抗しながら他方側Da2に押圧されることで、第1部分126および第2部分127が回動軸125を中心に回動した結果、爪部127b同士の間隔は、カラー202bが通ることができる程度に広がる。これによって、爪部127bによって保持されていたカラー202bが爪部127b同士の隙間から落下する。すなわち、第1部分126は、ナット本体202aとボルト201との締結が終わった後にナット保持部材124によって保持されたカラー202bを、爪部127b同士の隙間から落下させるためのレバーとして機能している。 As shown in Figure 5(a), when the nut 202 is fastened to the bolt 201 by the rotation of the socket portion 123 of the nut runner 121, the collar 202b detaches (breaks) from the nut body 202a while only the nut body 202a of the nut 202 is fastened to the bolt 201. The collar 202b, separated from the nut body 202a, is then held by the claw portion 127b of the nut holding member 124. In other words, the nut 202 is collar-cut. Then, as shown in Figure 5(b), when the first portion 126 is pressed against the other side Da2 by the hand of an operator or the like, against the elastic force of the elastic member 128, the first portion 126 and the second portion 127 rotate around the pivot axis 125, and as a result the gap between the claw portions 127b widens to a degree that the collar 202b can pass through. As a result, the collar 202b, which was held by the claw portions 127b, falls out through the gap between the claw portions 127b. In other words, the first part 126 functions as a lever to drop the collar 202b, which is held by the nut holding member 124 after the nut body 202a and bolt 201 have been fastened together, through the gap between the claw portions 127b.

(制御装置の構成)
制御装置30は、エンドエフェクタ12に保持されたナット202が施工対象物200に設けられたボルト201に締結されるように、マニピュレータ10の各々の関節角、およびエンドエフェクタ12の本体部120が有する締結用モータ120aを制御する。図7に示すように、制御装置30は、例えば、取得部31と、算出部32と、座標変換部33と、補正部34と、判定部35と、制御部36と、学習部37と、カウンタ部38と、記憶部39とを備えている。
(Control device configuration)
The control device 30 controls the joint angles of the manipulator 10 and the fastening motor 120a of the main body 120 of the end effector 12 so that the nut 202 held by the end effector 12 is fastened to the bolt 201 provided on the object to be worked on 200. As shown in Figure 7, the control device 30 includes, for example, an acquisition unit 31, a calculation unit 32, a coordinate transformation unit 33, a correction unit 34, a determination unit 35, a control unit 36, a learning unit 37, a counter unit 38, and a storage unit 39.

(取得部)
取得部31は、エンコーダ130(第1センサ13)および力覚センサ140(第2センサ14)から送信されるセンサデータをリアルタイムで受信することで経時的に取得する。取得部31は、エンコーダ130から各々の関節部110(第1関節部111~第6関節部116)の関節角を第1所定周期で取得し、力覚センサ140から力データを第1所定周期で取得する。第1所定周期は、例えば、エンコーダ130または力覚センサ140のサンプリングレートなどに基づき決定される。また、取得部31は、撮像装置20から送信される画像をリアルタイムで受信することで経時的に取得する。取得部31は、画像を第2所定周期で撮像装置20から取得する。第2所定周期は、例えば、撮像装置20のフレームレート(fps:flames per second)などに基づき決定される。なお、第2所定周期は、第1所定周期と同じであってもよく、異なっていてもよい。また、取得部31は、直近の施工の対象となるボルト201の中心位置座標を、記憶部39によってあらかじめ記憶されている施工対象物200のCADデータ395(Computer-Aided Design)などから取得する。施工対象物200のCADデータ395は、例えば、施工対象物200の輪郭を3次元的に示した点群データなどを含む。当該点群データを構成する各々の点には、マニピュレータ10が持つ原点(0,0,0)に準拠した世界座標系で表現される3次元の座標(Xw,Yw,Zw)が割り当てられている。
(Acquisition Department)
The acquisition unit 31 acquires sensor data over time by receiving the data transmitted from the encoder 130 (first sensor 13) and the force sensor 140 (second sensor 14) in real time. The acquisition unit 31 acquires the joint angles of each joint 110 (first joint 111 to sixth joint 116) from the encoder 130 at a first predetermined period, and acquires force data from the force sensor 140 at a first predetermined period. The first predetermined period is determined, for example, based on the sampling rate of the encoder 130 or the force sensor 140. The acquisition unit 31 also acquires images over time by receiving the data transmitted from the imaging device 20 in real time. The acquisition unit 31 acquires images from the imaging device 20 at a second predetermined period. The second predetermined period is determined, for example, based on the frame rate (fps: frames per second) of the imaging device 20. The second predetermined period may be the same as or different from the first predetermined period. Furthermore, the acquisition unit 31 acquires the center position coordinates of the bolt 201 that is the target of the most recent construction from the CAD data 395 (Computer-Aided Design) of the construction target 200, which is stored in advance by the storage unit 39. The CAD data 395 of the construction target 200 includes, for example, point cloud data that shows the contour of the construction target 200 in three dimensions. Each point that makes up the point cloud data is assigned three-dimensional coordinates (Xw, Yw, Zw) that are expressed in a world coordinate system that conforms to the origin (0,0,0) of the manipulator 10.

取得部31は、取得した各々の関節部110の関節角を算出部32に送るとともに記憶部39に記憶させ、取得した力データを補正部34に送るとともに記憶部39に記憶させ、取得したボルト201の中心位置座標を座標変換部33に送るとともに記憶部39に記憶させ、取得した画像を判定部35および制御部36に送るとともに記憶部39に記憶させる。また、取得部31は、取得したボルト201の中心位置座標を座標変換部33に送った際、直近の施工の対象となるボルト201の中心位置座標を取得した旨を示す取得フラグをカウンタ部38に送る。取得フラグは、例えば1である。なお、カウンタ部38は、取得部31から受け付けた取得フラグを受け付けるたびに順次加算していき、取得フラグの加算結果を第6判定部356に送る。 The acquisition unit 31 sends the acquired joint angles of each joint 110 to the calculation unit 32 and stores them in the storage unit 39. It also sends the acquired force data to the correction unit 34 and stores it in the storage unit 39. The acquired center position coordinates of the bolts 201 are sent to the coordinate transformation unit 33 and stored in the storage unit 39. The acquired images are sent to the determination unit 35 and the control unit 36 and stored in the storage unit 39. Furthermore, when the acquisition unit 31 sends the acquired center position coordinates of the bolts 201 to the coordinate transformation unit 33, it sends an acquisition flag to the counter unit 38 indicating that the center position coordinates of the bolt 201 targeted for the most recent construction have been acquired. The acquisition flag is, for example, 1. The counter unit 38 sequentially increments the acquisition flag each time it receives one from the acquisition unit 31, and sends the result of the acquisition flag increment to the sixth determination unit 356.

(算出部)
算出部32は、取得部31から受け付けた各々の関節部110(第1関節部111~第6関節部116)の関節角に基づき、ナット202の位置座標および姿勢角を算出する。具体的には、図8に示すように、算出部32は、各々の関節部110の関節角に基づき、マニピュレータ10が持つ原点に準拠したナット202の端面202eの中心部分の位置座標(Xn,Yn,Zn)、および当該位置座標が表現される世界座標系の3座標面(XY平面、YZ平面、ZX平面)のそれぞれに対する傾斜角度である姿勢角(θx,θy,θz)を算出する。図8中では、図示の便宜上、ナット202の位置座標(Xn,Yn,Zn)のみを示している。マニピュレータ10が持つ原点は、マニピュレータ10中に設定された任意の一点であってもよいし、マニピュレータ10と施工対象物200との位置関係を調整するためのキャリブレーションなどがなされた後に設定された施工対象物200中の任意の一点であってもよい。図8中では、施工対象物200中にマニピュレータ10が持つ原点が配置された場合を一例として示している。
(Calculation section)
The calculation unit 32 calculates the position coordinates and orientation angles of the nut 202 based on the joint angles of each joint 110 (first joint 111 to sixth joint 116) received from the acquisition unit 31. Specifically, as shown in Figure 8, the calculation unit 32 calculates the position coordinates (Xn, Yn, Zn) of the center portion of the end face 202e of the nut 202, which is relative to the origin of the manipulator 10, and the orientation angles (θx, θy, θz), which are the inclination angles with respect to each of the three coordinate planes (XY plane, YZ plane, ZX plane) of the world coordinate system in which the position coordinates are represented, based on the joint angles of each joint 110. In Figure 8, for illustrative purposes only, only the position coordinates (Xn, Yn, Zn) of the nut 202 are shown. The origin of the manipulator 10 may be any point set within the manipulator 10, or it may be any point set within the object 200 after calibration has been performed to adjust the positional relationship between the manipulator 10 and the object 200. Figure 8 shows an example where the origin of the manipulator 10 is located within the object 200.

算出部32は、算出したナット202の位置座標を座標変換部33に送るとともに記憶部39に記憶させ、算出したナット202の姿勢角を判定部35および制御部36に送るとともに記憶部39に記憶させる。なお、算出部32は、上記の算出動作に代えて、記憶部39にあらかじめ記憶されている、各々の関節部110の関節角と、ナット202の位置座標および姿勢角とが互いに関連付いた対応関係情報(関数など)に各々の関節角を入力することで出力された位置座標および姿勢角をナット202の位置座標および姿勢角として取得してもよい。 The calculation unit 32 sends the calculated position coordinates of the nut 202 to the coordinate transformation unit 33 and stores them in the storage unit 39. It also sends the calculated attitude angle of the nut 202 to the determination unit 35 and the control unit 36 and stores it in the storage unit 39. Alternatively, the calculation unit 32 may obtain the position coordinates and attitude angle of the nut 202 by inputting the joint angles of each joint 110 into a pre-stored correspondence information (such as a function) in the storage unit 39, which associates the joint angles of each joint 110 with the position coordinates and attitude angle of the nut 202.

(座標変換部)
座標変換部33は、取得部31から受け付けたボルト201の中心位置座標に基づき、算出部32から受け付けたナット202の位置座標をボルト中心座標系によって表現された位置座標に変換する。具体的には、座標変換部33は、世界座標系で表現されたナット202の位置座標を示すベクトルから、受け付けた直近の施工の対象とするボルト201の中心位置座標を示すベクトルを減算することによって、図8中に矢印A(ベクトル)で示すように、ナット202の位置座標をボルト中心座標系(Xb,Yb,Zb)に変換する。本実施形態では、ボルト201の中心位置座標(ボルト中心座標系の原点)は、例えば、ボルト201の中心線Ar2上のどこかに配置されており、例えば、施工対象物200の表面とボルト201の中心線Ar2とが仮想的に交わる個所に配置されている。座標変換部33は、ボルト中心座標系に変換したナット202の位置座標を判定部35および制御部36に送るとともに記憶部39に記憶させる。
(Coordinate transformation section)
The coordinate transformation unit 33 converts the position coordinates of the nut 202 received from the calculation unit 32 into position coordinates expressed in the bolt center coordinate system, based on the center position coordinates of the bolt 201 received from the acquisition unit 31. Specifically, the coordinate transformation unit 33 converts the position coordinates of the nut 202 into the bolt center coordinate system (Xb, Yb, Zb) as shown by arrow A (vector) in Figure 8 by subtracting a vector indicating the center position coordinates of the bolt 201 to be installed, received from a vector indicating the position coordinates of the nut 202 expressed in the world coordinate system. In this embodiment, the center position coordinates of the bolt 201 (origin of the bolt center coordinate system) are located somewhere on the center line Ar2 of the bolt 201, for example, at a point where the surface of the object to be installed 200 and the center line Ar2 of the bolt 201 virtually intersect. The coordinate transformation unit 33 sends the position coordinates of the nut 202 converted to the bolt center coordinate system to the determination unit 35 and the control unit 36, and stores them in the storage unit 39.

(補正部)
補正部34は、取得部31から受け付けた力データに含まれる接触力を補正する。図9は、エンドエフェクタ12が保持したナット202がボルト201に接触した際にナット202がボルト201から受ける接触力を概念的に説明するための図である。図9中では、図示の便宜上、軸線方向Daに働く接触力を矢印Fbで示し、回転軸線Ar回りに作用するトルクを矢印Ftで示している。図10は、補正部34が接触力(矢印Fb)の補正に用いる補正値(矢印Fg1)を概念的に説明するための図である。図10中では、Dvが鉛直方向を示しており、CGがエンドエフェクタ12の重心位置を示している。補正部34は、エンドエフェクタ12の自重(矢印Fg)に基づく補正値(矢印Fg1)を接触力に加算することで、取得部31から受け付けた接触力(矢印Fb)を補正する。補正値(矢印Fg1)は、例えば、重力に伴うエンドエフェクタ12の自重(矢印Fg)が軸線方向Daにおける一方側Da1に方向成分を有する場合(図10中の(a))に負の値を示す。一方、補正値(矢印Fg1)は、例えば、エンドエフェクタ12の自重(矢印Fg)が軸線方向Daにおける他方側Da2に方向成分を有する場合(図10中の(b))に正の値を示す。補正値は、例えば、各々の関節部110の関節角に関連付いた対応関係情報(関数など)として、記憶部39にあらかじめ記憶されている。補正部34は、記憶部39に記憶されている当該対応関係情報を適時に参照することで補正値を取得する。補正部34は、補正後の接触力を含む力データを判定部35および制御部36に送るとともに記憶部39に記憶させる。
(Correction section)
The correction unit 34 corrects the contact force included in the force data received from the acquisition unit 31. Figure 9 is a diagram for conceptually explaining the contact force that the nut 202 receives from the bolt 201 when the nut 202 held by the end effector 12 comes into contact with the bolt 201. In Figure 9, for convenience of illustration, the contact force acting in the axial direction Da is shown by arrow Fb, and the torque acting around the rotation axis Ar is shown by arrow Ft. Figure 10 is a diagram for conceptually explaining the correction value (arrow Fg1) used by the correction unit 34 to correct the contact force (arrow Fb). In Figure 10, Dv indicates the vertical direction, and CG indicates the center of gravity of the end effector 12. The correction unit 34 corrects the contact force (arrow Fb) received from the acquisition unit 31 by adding a correction value (arrow Fg1) based on the weight of the end effector 12 (arrow Fg) to the contact force. The correction value (arrow Fg1) is negative when, for example, the weight of the end effector 12 due to gravity (arrow Fg) has a directional component on one side Da1 in the axial direction Da (Figure 10 (a)). On the other hand, the correction value (arrow Fg1) is positive when, for example, the weight of the end effector 12 (arrow Fg) has a directional component on the other side Da2 in the axial direction Da (Figure 10 (b)). The correction value is pre-stored in the storage unit 39 as correspondence relationship information (such as a function) associated with the joint angle of each joint 110. The correction unit 34 obtains the correction value by referring to the correspondence relationship information stored in the storage unit 39 in a timely manner. The correction unit 34 sends the force data including the corrected contact force to the determination unit 35 and the control unit 36, and stores it in the storage unit 39.

(判定部)
判定部35は、取得部31から受け付けた画像、算出部32から受け付けたナット202の姿勢角、座標変換部33から受け付けたナット202の位置座標、ならびに、補正部34から受け付けた力データに基づき、各種の判定の処理を行う。図7に戻り、判定部35は、例えば、第1判定部351と、第2判定部352と、第3判定部353と、第4判定部354と、第5判定部355と、第6判定部356とを有している。
(Judgment Department)
The determination unit 35 performs various determination processes based on the image received from the acquisition unit 31, the attitude angle of the nut 202 received from the calculation unit 32, the position coordinates of the nut 202 received from the coordinate transformation unit 33, and the force data received from the correction unit 34. Returning to Figure 7, the determination unit 35 includes, for example, a first determination unit 351, a second determination unit 352, a third determination unit 353, a fourth determination unit 354, a fifth determination unit 355, and a sixth determination unit 356.

(第1判定部)
第1判定部351は、補正部34から受け付けた力データに基づき、ナット202がボルト201に接触しているか否かを判定する。以下、第1判定部351による判定を「第1判定」と称する。第1判定部351は、例えば、受け付けた力データに含まれる接触力が所定の接触力の大きさを示す第1しきい値未満である場合に、ナット202がボルト201に接触していないと判定する。一方、第1判定部351は、取得した力データに含まれる接触力が第1しきい値以上である場合に、ナット202がボルト201に接触していると判定する。以下、ナット202がボルト201に接触していない時のナット202の位置を「第1位置」と称し、ナット202がボルト201に接触している時のナット202の位置を「第2位置」と称する。後述のナット202およびボルト201が螺合した状態は、ナット202が第2位置に位置した状態に含まれる。なお、第1しきい値は、例えば記憶部39にあらかじめ記憶されている。第1判定部351は、記憶部39に記憶されている第1しきい値を適時に参照することで上記第1判定を行う。第1判定部351は、ナット202がボルト201に接触している否かを示す第1判定の結果を制御部36に送る。
(First judgment part)
The first determination unit 351 determines whether or not the nut 202 is in contact with the bolt 201 based on the force data received from the correction unit 34. Hereinafter, the determination made by the first determination unit 351 will be referred to as the "first determination". For example, the first determination unit 351 determines that the nut 202 is not in contact with the bolt 201 if the contact force included in the received force data is less than a first threshold value indicating the magnitude of a predetermined contact force. On the other hand, the first determination unit 351 determines that the nut 202 is in contact with the bolt 201 if the contact force included in the acquired force data is equal to or greater than the first threshold value. Hereinafter, the position of the nut 202 when it is not in contact with the bolt 201 will be referred to as the "first position", and the position of the nut 202 when it is in contact with the bolt 201 will be referred to as the "second position". The state in which the nut 202 and bolt 201 are screwed together, as described later, is included in the state in which the nut 202 is in the second position. The first threshold value is stored in advance, for example, in the memory unit 39. The first determination unit 351 performs the first determination by referring to the first threshold value stored in the memory unit 39 in a timely manner. The first determination unit 351 sends the result of the first determination, indicating whether or not the nut 202 is in contact with the bolt 201, to the control unit 36.

(第2判定部)
第2判定部352は、算出部32から受け付けたナット202の姿勢角、および座標変換部33から受け付けたナット202の位置座標に基づき、ナット202の状態に異常があるか否かを判定する。以下、第2判定部352による判定を「第2判定」と称する。第2判定部352は、受け付けたナット202の位置座標がボルト中心座標系で表現された所定の座標領域(3次元領域)を逸脱している場合に、ナット202の位置座標に問題があると判定する。一方、第2判定部352は、受け付けたナット202の位置座標が座標領域内である場合に、ナット202の位置座標に問題がないと判定する。また、第2判定部352は、受け付けたナット202の姿勢角が所定の姿勢角しきい値以上である場合に、ナット202の姿勢角に問題があると判定する。一方、第2判定部352は、受け付けたナット202の姿勢角が姿勢角しきい値未満である場合に、ナット202の姿勢角に問題がないと判定する。第2判定部352は、ナット202の位置座標および姿勢角のうち1つ以上に問題があると判定した場合に、ナット202の状態に異常があると判定する。一方、第2判定部352は、ナット202の位置座標および姿勢角のいずれにも問題がないと判定した場合に、ナット202の状態に異常がないと判定する。なお、上記の座標領域および姿勢角しきい値は、例えば記憶部39にあらかじめ記憶されている。第2判定部352は、記憶部39に記憶されている座標領域および姿勢角しきい値を適時に参照することで上記第2判定を行う。第2判定部352は、第2判定の結果を制御部36に送る。
(Second judgment section)
The second determination unit 352 determines whether there is an abnormality in the state of the nut 202 based on the attitude angle of the nut 202 received from the calculation unit 32 and the position coordinates of the nut 202 received from the coordinate transformation unit 33. Hereinafter, the determination by the second determination unit 352 will be referred to as the "second determination". The second determination unit 352 determines that there is a problem with the position coordinates of the nut 202 if the received position coordinates of the nut 202 deviate from a predetermined coordinate region (three-dimensional region) expressed in the bolt center coordinate system. On the other hand, the second determination unit 352 determines that there is no problem with the position coordinates of the nut 202 if the received position coordinates of the nut 202 are within the coordinate region. Furthermore, the second determination unit 352 determines that there is a problem with the attitude angle of the nut 202 if the received attitude angle of the nut 202 is greater than or equal to a predetermined attitude angle threshold. On the other hand, the second determination unit 352 determines that there is no problem with the attitude angle of the nut 202 if the received attitude angle of the nut 202 is less than the attitude angle threshold. The second determination unit 352 determines that there is an abnormality in the condition of the nut 202 if it determines that there is a problem with one or more of the position coordinates and attitude angles of the nut 202. On the other hand, the second determination unit 352 determines that there is no abnormality in the condition of the nut 202 if it determines that there is no problem with either the position coordinates or attitude angles of the nut 202. The above coordinate region and attitude angle threshold values are stored in advance in, for example, the storage unit 39. The second determination unit 352 performs the above second determination by referring to the coordinate region and attitude angle threshold values stored in the storage unit 39 in a timely manner. The second determination unit 352 sends the result of the second determination to the control unit 36.

(第3判定部)
第3判定部353は、取得部31から受け付けた画像、算出部32から受け付けたナット202の姿勢角、座標変換部33から受け付けたナット202の位置座標、ならびに、補正部34から受け付けた力データに基づき、ナット202の螺合が成功したか否かを判定する。すなわち、第3判定部353は、ナット202およびボルト201の螺合の成否を判定する。本明細書中における「螺合」とは、例えば、ナット202の雌ねじ部としてのナット孔202h内における、端面202eに最も近い最初の一山が、ボルト201の露出した雄ねじ部201aにおける、端面201eに最も近い最初の一山にはまった(かかった)状態などを意味する。本実施形態では、第3判定部353は、画像と、ナット202の位置座標および姿勢角と、力データとを含むデータセットが入力されると、ナット202およびボルト201の螺合の成否を示す判定結果を出力するように学習された学習済みモデルを用いて判定を行う。以下、第3判定部353による判定を「第3判定」と称し、第3判定部353が第3判定に用いる学習済みモデルを「第3学習済みモデル393」と称する。すなわち、第3学習済みモデル393は、画像と、ナット202の位置座標および姿勢角と、力データとを含むデータセットを入力要素とし、ナット202およびボルト201の螺合の成否を示す判定結果を出力要素としている。第3学習済みモデル393は、例えば記憶部39にあらかじめ記憶されている。第3判定部353は、記憶部39に記憶されている第3学習済みモデル393に上記データセットを入力することで出力された判定結果を第3判定の結果として取得する。
(Third judgment section)
The third determination unit 353 determines whether the screwing of the nut 202 was successful based on the image received from the acquisition unit 31, the attitude angle of the nut 202 received from the calculation unit 32, the position coordinates of the nut 202 received from the coordinate transformation unit 33, and the force data received from the correction unit 34. In other words, the third determination unit 353 determines whether the screwing of the nut 202 and the bolt 201 is successful or not. In this specification, "screwing" means, for example, the state in which the first thread closest to the end face 202e in the nut hole 202h, which is the female thread portion of the nut 202, is engaged with the first thread closest to the end face 201e in the exposed male thread portion 201a of the bolt 201. In this embodiment, when the third determination unit 353 receives a dataset including an image, the position coordinates and attitude angle of the nut 202, and force data, it performs a determination using a trained model that has been trained to output a determination result indicating whether the screwing of the nut 202 and the bolt 201 is successful or not. Hereinafter, the determination made by the third determination unit 353 will be referred to as the "third determination," and the trained model used by the third determination unit 353 for the third determination will be referred to as the "third trained model 393." That is, the third trained model 393 takes a dataset including an image, the position coordinates and orientation angle of the nut 202, and force data as input elements, and outputs a determination result indicating whether the nut 202 and bolt 201 are screwed together or not as output elements. The third trained model 393 is stored in advance, for example, in the memory unit 39. The third determination unit 353 obtains the determination result output by inputting the above dataset into the third trained model 393 stored in the memory unit 39 as the result of the third determination.

第3学習済みモデル393は、例えば、ディープニューラルネットワーク(DNN:Deep Neural Network)などの深層学習モデル(教師あり学習モデル)である。第3学習済みモデル393は、上記データセットが入力されるとともに、入力されたデータセットに対するナット202の螺合の成否(螺合できている、あるいは螺合できていないと人間によって正確に判断された正解データ)が教示される学習ステップが、複数回(例えば数百回)繰り返されることで生成される(学習する)。なお、第3学習済みモデル393には、例えば、畳み込みニューラルネットワーク(CNN)や回帰型ニューラルネットワーク(RNN)などの深層学習モデルが用いられてよい。 The third pre-trained model 393 is, for example, a deep learning model (supervised learning model) such as a deep neural network (DNN). The third pre-trained model 393 is generated (learned) through a learning step that is repeated multiple times (e.g., several hundred times) in which the above dataset is input and the model is taught whether the nut 202 was successfully screwed onto the input dataset (ground truth data accurately judged by a human as being screwed on or not screwed on). Note that the third pre-trained model 393 may use, for example, a deep learning model such as a convolutional neural network (CNN) or a recurrent neural network (RNN).

第3判定部353は、ナット202およびボルト201の螺合が失敗したことを第3判定の結果が示す場合に、リトライ動作(後述)が必要であることを示すフラグ(i=1)を出力する。一方、第3判定部353は、ナット202およびボルト201の螺合が成功したことを第3判定の結果が示す場合に、リトライ動作が必要でないことを示すフラグ(i=0)を出力する。以下、第3判定部353が出力するリトライ動作の要否に関するフラグ(i=1または0)を「リトライフラグ」と称する。すなわち、第3判定部353が出力するリトライフラグは、第3判定の結果を示し、1または0の値である。第3判定部353は、第3判定の結果であるリトライフラグを制御部36およびカウンタ部38に送るとともに記憶部39に記憶させる。なお、カウンタ部38は、第3判定部353から受け付けたリトライフラグを受け付けるたびに順次加算していき、リトライフラグの加算結果を第6判定部356に送る。 The third determination unit 353 outputs a flag (i=1) indicating that a retry operation (described later) is necessary if the result of the third determination indicates that the screwing of the nut 202 and bolt 201 has failed. On the other hand, the third determination unit 353 outputs a flag (i=0) indicating that a retry operation is not necessary if the result of the third determination indicates that the screwing of the nut 202 and bolt 201 has been successful. Hereinafter, the flag (i=1 or 0) output by the third determination unit 353 regarding the necessity of a retry operation will be referred to as the "retry flag". That is, the retry flag output by the third determination unit 353 indicates the result of the third determination and has a value of 1 or 0. The third determination unit 353 sends the retry flag, which is the result of the third determination, to the control unit 36 and the counter unit 38 and stores it in the storage unit 39. Furthermore, the counter unit 38 sequentially increments the retry flag each time it receives a retry flag from the third determination unit 353, and sends the result of the retry flag increment to the sixth determination unit 356.

(第4判定部)
第4判定部354は、取得部31から受け付けた画像、算出部32から受け付けたナット202の姿勢角、座標変換部33から受け付けたナット202の位置座標、ならびに、補正部34から受け付けた力データに基づき、ナット202の締結が成功したか否かを判定する。すなわち、第4判定部354は、ナット202およびボルト201の締結の成否を判定する。本明細書中における「締結」とは、例えば、ナット202の雌ねじ部としてのナット孔202h内における、端面202eから最も遠い最後の一山が、ボルト201の露出した雄ねじ部201aにおける、端面201eから最も遠い最後の一山にはまった状態などを意味する。本実施形態では、第4判定部354は、画像と、ナット202の位置座標および姿勢角と、力データとを含むデータセットが入力されると、ナット202およびボルト201の締結の成否を示す判定結果を出力するように学習された学習済みモデルを用いて判定を行う。以下、第4判定部354による判定を「第4判定」と称し、第4判定部354が第4判定に用いる学習済みモデルを「第4学習済みモデル394」と称する。すなわち、第4学習済みモデル394は、画像と、ナット202の位置座標および姿勢角と、力データとを含むデータセットを入力要素とし、ナット202およびボルト201の締結の成否を示す判定結果を出力要素としている。第4学習済みモデル394は、例えば記憶部39にあらかじめ記憶されている。第4判定部354は、記憶部39に記憶されている第4学習済みモデル394に上記データセットを入力することで出力された判定結果を第4判定の結果として取得する。
(Fourth judgment part)
The fourth determination unit 354 determines whether the fastening of the nut 202 was successful based on the image received from the acquisition unit 31, the attitude angle of the nut 202 received from the calculation unit 32, the position coordinates of the nut 202 received from the coordinate transformation unit 33, and the force data received from the correction unit 34. In other words, the fourth determination unit 354 determines whether the fastening of the nut 202 and the bolt 201 was successful or not. In this specification, "fastening" means, for example, the state in which the last thread furthest from the end face 202e in the nut hole 202h, which is the female thread portion of the nut 202, is fitted into the last thread furthest from the end face 201e in the exposed male thread portion 201a of the bolt 201. In this embodiment, when the fourth determination unit 354 receives a dataset including an image, the position coordinates and attitude angle of the nut 202, and force data, it performs a determination using a trained model that has been trained to output a determination result indicating whether the fastening of the nut 202 and the bolt 201 was successful or not. Hereinafter, the determination made by the fourth determination unit 354 will be referred to as the "fourth determination," and the trained model used by the fourth determination unit 354 for the fourth determination will be referred to as the "fourth trained model 394." That is, the fourth trained model 394 takes a dataset including an image, the position coordinates and orientation angle of the nut 202, and force data as input elements, and outputs a determination result indicating whether the fastening of the nut 202 and bolt 201 is successful or not as output elements. The fourth trained model 394 is pre-stored in, for example, the memory unit 39. The fourth determination unit 354 obtains the determination result output by inputting the above dataset into the fourth trained model 394 stored in the memory unit 39 as the result of the fourth determination.

第4学習済みモデル394は、例えば、ディープニューラルネットワーク(DNN)などの深層学習モデル(教師あり学習モデル)である。第4学習済みモデル394は、上記データセットが入力されるとともに、入力されたデータセットに対するナット202の締結の成否(締結できている、あるいは締結できていないと人間によって正確に判断された正解データ)が教示される学習ステップが、複数回(例えば数百回)繰り返されることで生成される(学習する)。なお、第4学習済みモデル394には、例えば、畳み込みニューラルネットワーク(CNN)や回帰型ニューラルネットワーク(RNN)などの深層学習モデルが用いられてよい。 The fourth pre-trained model 394 is, for example, a deep learning model (supervised learning model) such as a deep neural network (DNN). The fourth pre-trained model 394 is generated (learned) by repeating a learning step multiple times (e.g., several hundred times) in which the above dataset is input and the model is taught whether the nuts 202 were fastened or not (ground truth data accurately judged by a human as being fastened or not fastened). Note that the fourth pre-trained model 394 may use, for example, a deep learning model such as a convolutional neural network (CNN) or a recurrent neural network (RNN).

第4判定部354は、ナット202およびボルト201の締結が失敗したことを第4判定の結果が示す場合に、リトライ動作が必要であることを示すフラグ(i=1)を出力する。一方、第4判定部354は、ナット202およびボルト201の締結が成功したことを第4判定の結果が示す場合に、リトライ動作が必要でないことを示すフラグ(i=0)を出力する。以下、第4判定部354が出力するリトライ動作の要否に関するフラグ(i=1または0)を、第3判定部353が出力するリトライフラグと区別することなく「リトライフラグ」と称する。すなわち、第4判定部354が出力するリトライフラグは、第4判定の結果を示し、1または0の値である。第4判定部354は、第4判定の結果であるリトライフラグを第5判定部355、制御部36、およびカウンタ部38に送るとともに記憶部39に記憶させる。なお、カウンタ部38は、第4判定部354から受け付けたリトライフラグを受け付けるたびに順次加算していき、リトライフラグの加算結果を第6判定部356に送る。 The fourth determination unit 354 outputs a flag (i=1) indicating that a retry operation is necessary if the result of the fourth determination indicates that the fastening of the nut 202 and bolt 201 has failed. On the other hand, the fourth determination unit 354 outputs a flag (i=0) indicating that a retry operation is not necessary if the result of the fourth determination indicates that the fastening of the nut 202 and bolt 201 has been successful. Hereinafter, the flag (i=1 or 0) related to the necessity of a retry operation output by the fourth determination unit 354 will be referred to as the "retry flag" without distinction from the retry flag output by the third determination unit 353. That is, the retry flag output by the fourth determination unit 354 indicates the result of the fourth determination and has a value of 1 or 0. The fourth determination unit 354 sends the retry flag, which is the result of the fourth determination, to the fifth determination unit 355, the control unit 36, and the counter unit 38, and stores it in the storage unit 39. Furthermore, the counter unit 38 sequentially increments the retry flag each time it receives a retry flag from the fourth determination unit 354, and sends the result of the retry flag increment to the sixth determination unit 356.

(第5判定部)
第5判定部355は、第4判定部354から受け付けた第4判定の結果がナット202の締結が成功したことを示す場合(i=0)に、カラー202bが破断して切断(カラー切り)されたか否かを判定する。具体的には、第5判定部355は、例えば補正部34から受け付けた力データに基づき、ナット202のカラー202bがナット本体202aから分離しているか否かを判定する。以下、第5判定部355による判定を「第5判定」と称する。第5判定部355は、例えば、受け付けた力データに含まれる接触力が所定の接触力の大きさを示す第2しきい値未満である場合に、カラー202bが切断されたと判定する。一方、第5判定部355は、取得した力データに含まれる接触力が第2しきい値以上である場合に、カラー202bが切断されていないと判定する。
(Fifth judgment part)
The fifth determination unit 355 determines whether the collar 202b has broken and been cut (collar cut) when the result of the fourth determination received from the fourth determination unit 354 indicates that the fastening of the nut 202 has been successful (i = 0). Specifically, the fifth determination unit 355 determines whether the collar 202b of the nut 202 has separated from the nut body 202a, for example, based on force data received from the correction unit 34. Hereinafter, the determination made by the fifth determination unit 355 will be referred to as the "fifth determination". For example, the fifth determination unit 355 determines that the collar 202b has been cut if the contact force included in the received force data is less than a second threshold value indicating a predetermined magnitude of contact force. On the other hand, the fifth determination unit 355 determines that the collar 202b has not been cut if the contact force included in the acquired force data is equal to or greater than the second threshold value.

なお、第2しきい値は、例えば記憶部39にあらかじめ記憶されている。第5判定部355は、記憶部39に記憶されている第2しきい値を適時に参照することで上記第5判定を行う。また、第5判定部355は、上記の判定動作に代えて、取得部31から受け付けた画像、算出部32から受け付けたナット202の姿勢角、座標変換部33から受け付けたナット202の位置座標、ならびに、補正部34から受け付けた力データに基づき、ナット202の締結が成功したか否かを判定してもよい。この場合、第5判定部355は、画像と、ナット202の位置座標および姿勢角と、力データとを含むデータセットが入力されると、カラー202bが切断されたか否かを示す判定結果を出力するように学習された第5学習済みモデル396などを用いて判定を行ってもよい。第5学習済みモデル396は、例えば記憶部39にあらかじめ記憶されている。第5判定部355は、第5判定の結果を制御部36に送るとともに記憶部39に記憶させる。 The second threshold value is, for example, pre-stored in the memory unit 39. The fifth determination unit 355 performs the fifth determination by referring to the second threshold value stored in the memory unit 39 in a timely manner. Alternatively, instead of the above determination operation, the fifth determination unit 355 may determine whether the fastening of the nut 202 was successful based on the image received from the acquisition unit 31, the attitude angle of the nut 202 received from the calculation unit 32, the position coordinates of the nut 202 received from the coordinate transformation unit 33, and the force data received from the correction unit 34. In this case, the fifth determination unit 355 may perform the determination using a fifth trained model 396, which has been trained to output a determination result indicating whether the color 202b has been cut when a dataset including the image, the position coordinates and attitude angle of the nut 202, and the force data is input. The fifth trained model 396 is, for example, pre-stored in the memory unit 39. The fifth determination unit 355 sends the result of the fifth determination to the control unit 36 and stores it in the memory unit 39.

(第6判定部)
第6判定部356は、カウンタ部38から受け付けた各種のフラグの加算結果に基づき、所定の判定を行う。以下、第6判定部356による判定を「第6判定」と称する。第6判定部356は、カウンタ部38から受け付けた取得フラグの加算結果に基づき、すべてのボルト201にナット202を締結したか否かを判定する。具体的には、第6判定部356は、カウンタ部38から受け付けた取得フラグの加算結果が施工対象物200に設けられた施工の対象となるボルト201の数である場合に、すべてのボルト201にナット202を締結したと判定する。一方、第6判定部356は、カウンタ部38から受け付けた取得フラグの加算結果が施工対象物200に設けられたボルト201の数未満である場合に、すべてのボルト201にナット202を締結していないと判定する。施工対象物200に設けられたボルト201の数は、例えば記憶部39のCADデータ395などにあらかじめ記憶されており、整数(例えば数千から数万)である。
(6th judgment section)
The sixth determination unit 356 makes a predetermined determination based on the summation result of various flags received from the counter unit 38. Hereinafter, the determination made by the sixth determination unit 356 will be referred to as the "sixth determination". The sixth determination unit 356 determines whether or not nuts 202 have been fastened to all bolts 201 based on the summation result of acquired flags received from the counter unit 38. Specifically, the sixth determination unit 356 determines that nuts 202 have been fastened to all bolts 201 if the summation result of acquired flags received from the counter unit 38 is equal to the number of bolts 201 that are the target of construction and are provided on the object 200 to be constructed. On the other hand, the sixth determination unit 356 determines that nuts 202 have not been fastened to all bolts 201 if the summation result of acquired flags received from the counter unit 38 is less than the number of bolts 201 provided on the object 200 to be constructed. The number of bolts 201 installed on the object to be constructed 200 is pre-stored, for example, in CAD data 395 in the memory unit 39, and is an integer (for example, several thousand to tens of thousands).

また、第6判定部356は、カウンタ部38から受け付けたリトライフラグの加算結果に基づき、所定回数リトライしたか否かを判定する。具体的には、第6判定部356は、カウンタ部38から受け付けたリトライフラグの加算結果が所定のリトライしきい値以上である場合に、所定回数リトライしたと判定する。一方、第6判定部356は、カウンタ部38から受け付けたリトライフラグの加算結果がリトライしきい値未満である場合に、所定回数リトライしていないと判定する。リトライしきい値は、例えば記憶部39にあらかじめ記憶されており、整数である。第6判定部356は、記憶部39に記憶されているリトライしきい値を適時に参照することで上記第6判定を行う。第6判定部356は、第6判定の結果を学習部37および制御部36に送る。 Furthermore, the sixth determination unit 356 determines whether a predetermined number of retries have been performed based on the result of adding the retry flag received from the counter unit 38. Specifically, the sixth determination unit 356 determines that a predetermined number of retries have been performed if the result of adding the retry flag received from the counter unit 38 is equal to or greater than a predetermined retry threshold. On the other hand, the sixth determination unit 356 determines that a predetermined number of retries have not been performed if the result of adding the retry flag received from the counter unit 38 is less than the retry threshold. The retry threshold is, for example, stored in advance in the storage unit 39 and is an integer. The sixth determination unit 356 performs the sixth determination by referring to the retry threshold stored in the storage unit 39 in a timely manner. The sixth determination unit 356 sends the result of the sixth determination to the learning unit 37 and the control unit 36.

(制御部)
制御部36は、判定部35から受け付けた各種の判定の結果に基づき、エンドエフェクタ12の動きを制御する。制御部36は、例えば、第1制御部361と、第2制御部362と、第3制御部363とを有している。
(Control Unit)
The control unit 36 controls the movement of the end effector 12 based on the results of various determinations received from the determination unit 35. The control unit 36 includes, for example, a first control unit 361, a second control unit 362, and a third control unit 363.

(第1制御部)
第1制御部361は、ナット202がボルト201に接触していると第1判定の結果が示す場合(ナット202が第2位置に位置する場合)に、算出部32から受け付けたナット202の姿勢角と、座標変換部33から受け付けたナット202の位置座標と、補正部34から受け付けた力データとを含むデータセットに基づき、ボルト201に対するナット202の締結動作を実行する。ここでいう「締結動作」は、ナット202が第2位置に位置した状態で、ナット202およびボルト201が螺合するようにナット202の位置座標および姿勢角を変化させること、ならびに、ナット202およびボルト201が螺合した状態(ナット202が第2位置に位置した状態)で、ナット202およびボルト201が締結するようにナット202を回転させることなどを含む。具体的には、第1制御部361は、学習済みモデルを用いて、エンドエフェクタ12の移動および回転を制御する。ここでいう「エンドエフェクタ12の移動」は、例えばアーム11が有する各々の関節部110のモータ117の関節角を制御した結果、エンドエフェクタ12およびエンドエフェクタ12に保持されたナット202が移動することを意味し、「エンドエフェクタ12の回転」は、例えばエンドエフェクタ12の本体部120の締結用モータ120aを制御した結果、ナット202が回転することを意味する。以下、第1制御部361がエンドエフェクタ12の上記制御に用いる学習済みモデルを「第1学習済みモデル391」と称する。第1学習済みモデル391は、例えば記憶部39にあらかじめ記憶されている。
(First Control Unit)
If the result of the first determination indicates that the nut 202 is in contact with the bolt 201 (i.e., the nut 202 is in the second position), the first control unit 361 executes a fastening operation of the nut 202 to the bolt 201 based on a dataset that includes the attitude angle of the nut 202 received from the calculation unit 32, the position coordinates of the nut 202 received from the coordinate transformation unit 33, and the force data received from the correction unit 34. The "fastening operation" here includes changing the position coordinates and attitude angle of the nut 202 so that the nut 202 and the bolt 201 are screwed together when the nut 202 is in the second position, and rotating the nut 202 so that the nut 202 and the bolt 201 are fastened together when the nut 202 and the bolt 201 are screwed together (i.e., the nut 202 is in the second position). Specifically, the first control unit 361 controls the movement and rotation of the end effector 12 using a learned model. Here, "movement of the end effector 12" means that, for example, the end effector 12 and the nut 202 held by the end effector 12 move as a result of controlling the joint angles of the motors 117 of each joint portion 110 of the arm 11, and "rotation of the end effector 12" means that, for example, the nut 202 rotates as a result of controlling the fastening motor 120a of the main body portion 120 of the end effector 12. Hereinafter, the learned model used by the first control unit 361 for the above control of the end effector 12 will be referred to as the "first learned model 391". The first learned model 391 is stored in advance in the memory unit 39, for example.

第1学習済みモデル391は、第1時刻におけるナット202の位置座標および姿勢角と、第1時刻における接触力およびトルクとを含むデータセットが入力されると、ナット202がボルト201に締結された状態を示すナット202の目標位置座標および目標姿勢角に近づいた、第1時刻よりも後の第2時刻におけるナット202の位置座標および姿勢角を示す指令値を出力するように学習されている。すなわち、第1学習済みモデル391は、第1時刻におけるナット202の位置座標および姿勢角と、第1時刻における接触力およびトルクとを含むデータセットを入力要素とし、第2時刻におけるナット202の位置座標および姿勢角を示す指令値を出力要素としている。第1時刻と第2時刻との間の時間間隔は、例えば、上記第1所定周期である。ナット202の目標位置座標および目標姿勢角は、例えば、ナット202の雌ねじ部と、施工の対象となるボルト201の雄ねじ部201aとが互いに正確に噛み合って締結が完了した状態を示すナット202の位置座標および姿勢角を意味する。本実施形態では、第1制御部361は、記憶部39に記憶されている第1学習済みモデル391に上記データセットを入力することで出力された指令値に基づき、制御対象装置Sとしての各々の関節部110のモータ117の関節角、およびエンドエフェクタ12の締結用モータ120aを制御して、ナット202の位置座標および姿勢角を制御する。第1学習済みモデル391は、例えば、ディープニューラルネットワーク(DNN)などの深層学習モデル(教師あり学習モデル)である。なお、第1学習済みモデル391には、例えば、畳み込みニューラルネットワーク(CNN)や回帰型ニューラルネットワーク(RNN)などの深層学習モデルが用いられてよい。また、第1制御部361は、経時的に変化させた各々の関節部110の関節角、およびエンドエフェクタ12の締結用モータ120aの回転速度(ナット202の回転に伴うねじ送り速度)などを毎時刻で記憶部39に逐次記憶させる。 The first trained model 391 is trained to output command values indicating the position coordinates and attitude angle of the nut 202 at a second time point, which is after the first time point and approaches the target position coordinates and attitude angle of the nut 202 indicating that the nut 202 is fastened to the bolt 201, when a dataset including the position coordinates and attitude angle of the nut 202 at the first time point and the contact force and torque at the first time point is input, and the command values indicating the position coordinates and attitude angle of the nut 202 at the second time point are output. The time interval between the first time point and the second time point is, for example, the first predetermined period described above. The target position coordinates and target orientation angle of the nut 202 refer to the position coordinates and orientation angle of the nut 202 that indicate the state in which the female thread portion of the nut 202 and the male thread portion 201a of the bolt 201 to be fastened are precisely engaged with each other and fastening is completed. In this embodiment, the first control unit 361 controls the joint angles of the motors 117 of each joint portion 110 and the fastening motor 120a of the end effector 12 of the controlled device S, based on the command values output by inputting the above dataset into the first trained model 391 stored in the memory unit 39, thereby controlling the position coordinates and orientation angle of the nut 202. The first trained model 391 is, for example, a deep learning model (supervised learning model) such as a deep neural network (DNN). Note that the first trained model 391 may be a deep learning model such as a convolutional neural network (CNN) or a recurrent neural network (RNN). Furthermore, the first control unit 361 sequentially stores the joint angles of each joint 110, which have been changed over time, and the rotational speed of the fastening motor 120a of the end effector 12 (the screw feed rate associated with the rotation of the nut 202) in the storage unit 39 at each time step.

(第2制御部)
第2制御部362は、取得部31から受け付けた画像と、算出部32から受け付けたナット202の姿勢角と、座標変換部33から受け付けたナット202の位置座標とを含むデータセットに基づき、エンドエフェクタ12の移動および回転を制御する。具体的には、第2制御部362は、学習済みモデルを用いて、エンドエフェクタ12の移動および回転を制御して、ナット202がボルト201に接触していない第1位置に位置するナット202を、ナット202がボルト201に接触した第2位置に位置させる。すなわち、第2制御部362は、第1位置に位置するナット202を、施工の対象となるボルト201に外部からアプローチさせる。以下、第2制御部362がエンドエフェクタ12の制御に用いる学習済みモデルを「第2学習済みモデル392」と称する。第2学習済みモデル392は、例えば記憶部39にあらかじめ記憶されている。
(Second Control Unit)
The second control unit 362 controls the movement and rotation of the end effector 12 based on a dataset that includes an image received from the acquisition unit 31, the attitude angle of the nut 202 received from the calculation unit 32, and the position coordinates of the nut 202 received from the coordinate transformation unit 33. Specifically, the second control unit 362 uses a trained model to control the movement and rotation of the end effector 12, moving the nut 202 from a first position where it is not in contact with the bolt 201 to a second position where it is in contact with the bolt 201. In other words, the second control unit 362 causes the nut 202 in the first position to approach the bolt 201 that is the target of installation from the outside. Hereinafter, the trained model used by the second control unit 362 to control the end effector 12 will be referred to as the "second trained model 392". The second trained model 392 is stored in advance, for example, the storage unit 39.

第2学習済みモデル392は、第1位置で取得された第3時刻における画像と、第3時刻におけるナット202の位置座標および姿勢角とを含むデータセットが入力されると、第2位置にナット202が近づいた、第3時刻よりも後の第4時刻におけるナット202の位置座標および姿勢角を示す指令値を出力するように学習されている。すなわち、第2学習済みモデル392は、第1位置で取得された第3時刻における画像と、第3時刻におけるナット202の位置座標および姿勢角とを含むデータセットを入力要素とし、第4時刻におけるナット202の位置座標および姿勢角を示す指令値を出力要素としている。第3時刻と第4時刻との間の時間間隔は、例えば、上記第2所定周期である。本実施形態では、第2制御部362は、記憶部39に記憶されている第2学習済みモデル392に上記データセットを入力することで出力された指令値に基づき、制御対象装置Sとしての各々の関節部110のモータ117の関節角を制御して、ナット202をボルト201に近づける(アプローチさせる)。第2学習済みモデル392は、例えば、ディープニューラルネットワーク(DNN)などの深層学習モデル(教師あり学習モデル)である。なお、第2学習済みモデル392には、例えば、畳み込みニューラルネットワーク(CNN)や回帰型ニューラルネットワーク(RNN)などの深層学習モデルが用いられてよい。 The second pre-trained model 392 is trained to output command values indicating the position coordinates and attitude angle of the nut 202 at a fourth time step, which occurs after the third time step and when the nut 202 has approached the second position, when a dataset including an image acquired at the first position at the third time step and the position coordinates and attitude angle of the nut 202 at the third time step is input. In other words, the second pre-trained model 392 takes a dataset including an image acquired at the first position at the third time step and the position coordinates and attitude angle of the nut 202 at the third time step as input elements, and outputs command values indicating the position coordinates and attitude angle of the nut 202 at the fourth time step. The time interval between the third time step and the fourth time step is, for example, the second predetermined period described above. In this embodiment, the second control unit 362 controls the joint angle of the motor 117 of each joint 110 of the controlled device S based on the command value output by inputting the above dataset into the second trained model 392 stored in the memory unit 39, thereby bringing the nut 202 closer to the bolt 201 (making it approach). The second trained model 392 is, for example, a deep learning model (supervised learning model) such as a deep neural network (DNN). Note that the second trained model 392 may also use deep learning models such as a convolutional neural network (CNN) or a recurrent neural network (RNN).

(第3制御部)
第3制御部363は、ナット202およびボルト201の螺合が失敗したことを示す第3判定の結果(i=1)を受け付けた場合、または、ナット202およびボルト201の締結が失敗したことを示す第4判定の結果(i=1)を受け付けた場合に、リトライ動作を実行する。具体的には、第3制御部363は、過去の所定時刻から第3判定または第4判定の結果を受け付けた時刻に至るまでに行われたエンドエフェクタ12の制御(後述の締結動作ステップS106,S4など)をさかのぼるように逆順に実施する。ここでいう「過去の所定時刻」は、例えば、エンドエフェクタ12の制御が開始された時刻(後述の締結動作ステップS106,S4などが開始された時刻)を意味する。第3制御部363は、記憶部39に記憶された各々の関節部110の関節角の時系列上のデータ、および、エンドエフェクタ12の締結用モータ120aの回転速度(ナット202の回転に伴ったねじ送り速度)などを適時に参照しながら、エンドエフェクタ12の移動および回転を逆順に制御する。
(Third Control Unit)
The third control unit 363 executes a retry operation when it receives a result of a third determination (i=1) indicating that the screwing of the nut 202 and bolt 201 has failed, or when it receives a result of a fourth determination (i=1) indicating that the fastening of the nut 202 and bolt 201 has failed. Specifically, the third control unit 363 executes the control of the end effector 12 (fastening operation steps S106, S4, etc., described later) in reverse order, from a predetermined time in the past to the time when the result of the third or fourth determination was received. The "predetermined time in the past" here means, for example, the time when the control of the end effector 12 was started (the time when the fastening operation steps S106, S4, etc., described later were started). The third control unit 363 controls the movement and rotation of the end effector 12 in reverse order, while referring in a timely manner to the time-series data of the joint angles of each joint 110 stored in the memory unit 39, and the rotational speed of the fastening motor 120a of the end effector 12 (screw feed rate accompanying the rotation of the nut 202).

(学習部)
学習部37は、第6判定部356から受け付けた第6判定の結果が、すべてのボルト201にナット202を締結したことを示す場合に、記憶部39に記憶されている各種のデータに基づき、第1学習済みモデル391におけるパラメータの重み値を修正する。学習部37は、例えば誤差逆伝播法などを用いて、第1学習済みモデル391におけるパラメータの重み値を修正する(学習させる)。学習部37は、第1学習済みモデル391が持つパラメータを修正した際、修正した旨を示す修正フラグをカウンタ部38に送る。修正フラグは、例えば1である。
(Learning Department)
When the learning unit 37 receives the result of the sixth determination from the sixth determination unit 356, which indicates that nuts 202 have been fastened to all bolts 201, it modifies the parameter weight values in the first trained model 391 based on various data stored in the storage unit 39. The learning unit 37 modifies (trains) the parameter weight values in the first trained model 391 using, for example, backpropagation. When the learning unit 37 modifies the parameters of the first trained model 391, it sends a modification flag to the counter unit 38 to indicate that a modification has been made. The modification flag is, for example, 1.

なお、カウンタ部38は、学習部37から受け付けた修正フラグを受け付けるたびに順次加算していき、修正フラグの加算結果を第6判定部356に送る(返す)。第6判定部356は、カウンタ部38から受け付けた修正フラグの加算結果と所定数値とを比較する。第6判定部356は、修正フラグの加算結果が所定数値以上である場合に、所定回数修正したと判定する。一方、第6判定部356は、修正フラグの加算結果が所定数値未満である場合に、所定回数修正していないと判定する。所定数値は、例えば記憶部39にあらかじめ記憶されており、整数である。第6判定部356は、記憶部39に記憶されている所定数値を適時に参照することで当該第6判定を行う。 The counter unit 38 sequentially increments the correction flag received from the learning unit 37 each time it receives one, and sends (returns) the result of the correction flag increment to the sixth determination unit 356. The sixth determination unit 356 compares the result of the correction flag increment received from the counter unit 38 with a predetermined value. If the result of the correction flag increment is greater than or equal to the predetermined value, the sixth determination unit 356 determines that the correction has been made a predetermined number of times. On the other hand, if the result of the correction flag increment is less than the predetermined value, the sixth determination unit 356 determines that the correction has not been made a predetermined number of times. The predetermined value is, for example, an integer, pre-stored in the storage unit 39. The sixth determination unit 356 performs this sixth determination by referencing the predetermined value stored in the storage unit 39 in a timely manner.

(第1学習済みモデルの教示方法)
以下、第1制御部361が用いる第1学習済みモデル391の学習ステップ(教示のされ方)について図11を参照して説明する。図11は、第1学習済みモデル391の学習ステップの一例を示すフローチャートである。なお、以下では説明の便宜上、学習がなされる前のモデルであっても区別することなく「学習済みモデル」と称する。
(Method for teaching the first pre-trained model)
The learning steps (how the model is taught) of the first trained model 391 used by the first control unit 361 will be described below with reference to Figure 11. Figure 11 is a flowchart showing an example of the learning steps of the first trained model 391. For the sake of explanation, the model will be referred to as a "trained model" without distinction, even if it is a model that has not yet been trained.

はじめに、取得部31は、直近の施工の対象となるボルト201のデータを、記憶部39にあらかじめ記憶されているCADデータ395などから取得する(ステップS101)。次いで、取得部31は、ナット202の既知位置座標および既知姿勢角を取得する(ステップS102)。ここでいう取得部31が取得するナット202の「既知位置座標および既知姿勢角」は、例えば記憶部39によってあらかじめ記憶されているばらつき生成モデル397(図7参照)から取得される。ばらつき生成モデル397は、取得部31によって参照された場合に、ボルト201の端面201eにおける任意の位置座標(第2位置)および姿勢角を、例えば正規分布などの確率分布にしたがってばらつかせ(誤差をあえてランダムに与えた状態)、取得部31に出力する。ばらつき生成モデル397が平均とする位置座標は、例えば、ボルト201の端面201eの中心位置座標であり、ばらつき生成モデル397が平均とする姿勢角は、例えば、回転軸線Arとボルト201の中心線Ar2とが一直線に一致した時の姿勢角である。ボルト201の端面201eの中心位置座標は、例えば、ボルト中心座標系(Xb,Yb,Zb)で表現されている。つまり、取得部31は、ばらつき生成モデル397を参照することでナット202の既知位置座標および既知姿勢角を取得する。次いで、第2制御部362は、第2学習済みモデル392を用いて、対象となるボルト201にナット202をアプローチさせる(ステップS103)。なお、ステップS103では、ボルト201にナット202をアプローチさせるに当たり、第2学習済みモデル392を用いなくてもよい。この場合、制御部36は、例えば記憶部39にあらかじめ記憶されている所定のアプローチ動作などにしたがって、対象となるボルト201にナット202をアプローチさせてもよい。次いで、第1判定部351は、ナット202がボルト201に接触したか否かを判定する第1判定を行う(ステップS104)。ナット202がボルト201に接触したことを第1判定の結果が示す場合(ステップS104:YES)、制御部36による制御またはオペレータの手動などによって、ナット202の位置座標および姿勢角をステップS102で取得されたナット202の既知位置座標および既知姿勢角に修正する(ステップS105)。一方、ナット202がボルト201に接触していないことを第1判定の結果が示す場合(ステップS104:NO)、ステップS103の処理に戻る。ステップS105に次いで、締結動作ステップS106を実行する。 First, the acquisition unit 31 acquires data for the bolt 201 that is the target of the most recent installation from CAD data 395 or the like that is pre-stored in the storage unit 39 (step S101). Next, the acquisition unit 31 acquires the known position coordinates and known orientation angle of the nut 202 (step S102). The "known position coordinates and known orientation angle" of the nut 202 acquired by the acquisition unit 31 here is acquired, for example, from a variation generation model 397 (see Figure 7) that is pre-stored in the storage unit 39. When the variation generation model 397 is referenced by the acquisition unit 31, it varies the arbitrary position coordinates (second position) and orientation angle of the end face 201e of the bolt 201 according to a probability distribution such as a normal distribution (a state in which errors are deliberately given randomly), and outputs it to the acquisition unit 31. The position coordinates averaged by the variation generation model 397 are, for example, the center position coordinates of the end face 201e of the bolt 201, and the attitude angle averaged by the variation generation model 397 is, for example, the attitude angle when the rotation axis Ar and the center line Ar2 of the bolt 201 coincide in a straight line. The center position coordinates of the end face 201e of the bolt 201 are expressed, for example, in the bolt center coordinate system (Xb, Yb, Zb). In other words, the acquisition unit 31 acquires the known position coordinates and known attitude angle of the nut 202 by referring to the variation generation model 397. Next, the second control unit 362 uses the second trained model 392 to bring the nut 202 to approach the target bolt 201 (step S103). Note that in step S103, it is not necessary to use the second trained model 392 to bring the nut 202 to approach the bolt 201. In this case, the control unit 36 may, for example, guide the nut 202 towards the target bolt 201 according to a predetermined approach operation pre-stored in the memory unit 39. Next, the first determination unit 351 performs a first determination to determine whether the nut 202 has made contact with the bolt 201 (step S104). If the result of the first determination indicates that the nut 202 has made contact with the bolt 201 (step S104: YES), the position coordinates and orientation angle of the nut 202 are corrected to the known position coordinates and orientation angle of the nut 202 obtained in step S102, either by control by the control unit 36 or manually by the operator (step S105). On the other hand, if the result of the first determination indicates that the nut 202 has not made contact with the bolt 201 (step S104: NO), the process returns to step S103. Following step S105, the fastening operation step S106 is executed.

締結動作ステップS106では、制御部36は、あらかじめ定められた手順にしたがったナット202の締結動作を開始する。本実施形態では、あらかじめ定められた手順にしたがったナット202の締結動作を「教示動作」と称する。ここでいう「あらかじめ定められた手順」とは、ナット202の既知位置座標(第2位置)および既知姿勢角から、ナット202の目標位置座標および目標姿勢角に転じさせるためのナット202の位置座標および姿勢角を示す指令値を時系列で示したデータなどを意味している。当該データは、例えば記憶部39にあらかじめ記憶されている。なお、あらかじめ定められた手順は、例えば、締結動作の開始時刻におけるナット202の既知位置座標および既知姿勢角と、締結動作の開始時刻よりも後の複数の時刻と、各々の時刻に対応するナット202の位置座標および姿勢角の指令値とが互いに関連付いた対応関係情報(関数など)であってもよい。制御部36は、あらかじめ定められた手順にしたがって、エンドエフェクタ12の移動および回転を制御する。制御部36がエンドエフェクタ12を制御する教示動作中、取得部31、算出部32、座標変換部33、および補正部34は、処理の結果を記憶部39に逐次記憶させる。教示動作中に記憶部39に記憶された取得部31、算出部32、座標変換部33、および補正部34の処理の結果は、第1学習済みモデル391の学習に用いる教師データセットとされる。あらかじめ定められた手順に含まれる最後の指令値に基づき、制御部36がエンドエフェクタ12を制御し終えた場合に、締結動作ステップS106が終了する。 In the fastening operation step S106, the control unit 36 starts the fastening operation of the nut 202 according to a predetermined procedure. In this embodiment, the fastening operation of the nut 202 according to a predetermined procedure is referred to as the "teaching operation". The "predetermined procedure" here refers to data that shows command values indicating the position coordinates and attitude angle of the nut 202 in a time series, for changing the known position coordinates (second position) and known attitude angle of the nut 202 to the target position coordinates and target attitude angle of the nut 202. This data is stored in advance in the storage unit 39, for example. The predetermined procedure may be, for example, correspondence information (such as a function) in which the known position coordinates and known attitude angle of the nut 202 at the start time of the fastening operation, multiple times after the start time of the fastening operation, and the command values of the position coordinates and attitude angle of the nut 202 corresponding to each time are related to each other. The control unit 36 controls the movement and rotation of the end effector 12 according to the predetermined procedure. During the teaching operation in which the control unit 36 controls the end effector 12, the acquisition unit 31, calculation unit 32, coordinate transformation unit 33, and correction unit 34 sequentially store the processing results in the storage unit 39. The processing results of the acquisition unit 31, calculation unit 32, coordinate transformation unit 33, and correction unit 34 stored in the storage unit 39 during the teaching operation are used as the training dataset for training the first trained model 391. The fastening operation step S106 ends when the control unit 36 finishes controlling the end effector 12 based on the final command value included in a predetermined procedure.

締結動作ステップS106に次いで、第4判定部354は、ナット202の締結が成功したか否かを判定する第4判定を行う(ステップS107)。ナット202の締結が成功したことを第4判定の結果が示す場合(ステップS107:YES)、第6判定部356は、すべてのボルト201にナット202を締結したか否かの判定を行う(ステップS108)。一方、ナット202の締結が失敗したことを第4判定の結果が示す場合(ステップS107:NO)、リトライ動作ステップS111を実行する。リトライ動作ステップS111では、第3制御部363は、上述のリトライ動作を行う。リトライ動作が終了した場合、ステップS105の処理に戻る。 Following the fastening operation step S106, the fourth determination unit 354 performs a fourth determination to determine whether the fastening of the nut 202 was successful (step S107). If the result of the fourth determination indicates that the fastening of the nut 202 was successful (step S107: YES), the sixth determination unit 356 determines whether the nut 202 was fastened to all bolts 201 (step S108). On the other hand, if the result of the fourth determination indicates that the fastening of the nut 202 failed (step S107: NO), the retry operation step S111 is executed. In the retry operation step S111, the third control unit 363 performs the retry operation described above. When the retry operation is completed, the process returns to step S105.

ここで、ステップS108の判定の処理の説明に戻り、すべてのボルト201にナット202を締結したことを第6判定の結果が示す場合(ステップS108:YES)、締結動作ステップS106で取得された各種のデータに基づき、学習部37は、第1学習済みモデル391が持つパラメータの重み値を修正する(ステップS109)。一方、すべてのボルト201にナット202を締結していないと第6判定の結果が示す場合(ステップS108:NO)、ステップS101の処理に進む。ステップS109の処理に次いで、第6判定部356は、第1学習済みモデル391が持つパラメータの重み値を学習部37が所定回数に亘って修正したか否かを判定する(ステップS110)。第6判定部356の判定の結果が、所定回数修正したことを示す場合(ステップS110:YES)、学習ステップが完了する。一方、第6判定部356の判定の結果が、所定回数修正していないことを示す場合(ステップS110:NO)、ステップS109の処理に戻る。 Now, returning to the explanation of the determination process in step S108, if the result of the sixth determination indicates that nuts 202 have been fastened to all bolts 201 (step S108: YES), the learning unit 37 modifies the weight values of the parameters of the first trained model 391 based on the various data acquired in the fastening operation step S106 (step S109). On the other hand, if the result of the sixth determination indicates that nuts 202 have not been fastened to all bolts 201 (step S108: NO), the process proceeds to step S101. Following the process in step S109, the sixth determination unit 356 determines whether the learning unit 37 has modified the weight values of the parameters of the first trained model 391 a predetermined number of times (step S110). If the result of the determination by the sixth determination unit 356 indicates that the modification has been made a predetermined number of times (step S110: YES), the learning step is completed. On the other hand, if the result of the determination by the sixth determination unit 356 indicates that the predetermined number of corrections have not been made (step S110: NO), the process returns to step S109.

以上説明した一連の処理動作を経る学習ステップにより取得された各種のデータに基づき、学習部37がパラメータの重み値を繰り返し修正するため、第1学習済みモデル391は、入力に応じた指令値を出力するように教示される。すなわち、第1学習済みモデル391は、ナット202の目標位置座標および目標姿勢角から、ランダムに与えられた量外れたナット202の既知位置座標および既知姿勢角が、目標位置座標および目標姿勢角になるようにエンドエフェクタ12を制御する教示動作中に取得された複数のナット202の位置座標および姿勢角と、各々のナット202の位置座標および姿勢角が取得された時刻に対応する接触力およびトルクとを含む教師データセットが入力される学習ステップが繰り返し実行されたことで、入力に応じた指令値を出力するように学習されている。 Based on the various data acquired through the learning steps described above, the learning unit 37 repeatedly modifies the parameter weight values, thereby teaching the first trained model 391 to output command values corresponding to the input. Specifically, the first trained model 391 is learned to output command values corresponding to the input through repeated learning steps in which a training dataset is input, which includes the position coordinates and attitude angles of multiple nuts 202 acquired during a teaching operation that controls the end effector 12 so that the known position coordinates and attitude angles of the nuts 202, which are randomly deviated by a given amount from the target position coordinates and target attitude angles of the nuts 202, become the target position coordinates and target attitude angles, as well as the contact force and torque corresponding to the time when each nut 202's position coordinates and attitude angle were acquired.

(第2学習済みモデルの教示方法)
また、第2制御部362が用いる第2学習済みモデル392は、第1位置から第2位置にエンドエフェクタ12を移動させるダイレクトティーチング動作中に取得された複数の画像と、各々の画像が取得された時刻に対応するナット202の位置座標および姿勢角とを含む教師データセットが入力される学習ステップが繰り返し実行されたことで、入力に応じた指令値を出力するように学習(逆教示)されている。具体的には、本実施形態における逆教示は、エンドエフェクタ12を第2位置から第1位置へ移動(ダイレクトティーチング動作)させた際に取得部31により取得された画像と、ナット202の位置座標および姿勢角の時系列上のデータセットの時系列が逆になるように変換し、逆時系列に変換されたデータセットを上記教師データセットとして第2学習済みモデル392に学習させることである。また、ここでいう「ダイレクトティーチング動作」とは、図12に一例として示すように、オペレータの手動などによって、第2位置から第1位置にナット202が移動するようにエンドエフェクタ12を移動させる動作のことを意味する。なお、第2学習済みモデル392を学習(逆教示)させるための上記学習ステップは、例えば数十回から数百回に亘って繰り返し行われる。
(Second method of teaching the trained model)
Furthermore, the second trained model 392 used by the second control unit 362 is trained (reverse-taught) to output command values corresponding to the input by repeatedly performing a learning step in which a training dataset is input, which includes multiple images acquired during a direct teaching operation to move the end effector 12 from the first position to the second position, and the position coordinates and attitude angle of the nut 202 corresponding to the time when each image was acquired. Specifically, in this embodiment, reverse teaching involves transforming the time series of the image acquired by the acquisition unit 31 when the end effector 12 is moved from the second position to the first position (direct teaching operation) and the time series of the position coordinates and attitude angle of the nut 202, so that the time series is reversed, and training the second trained model 392 with the transformed time series dataset as the training dataset. Also, "direct teaching operation" as used here refers to the operation of moving the end effector 12 so that the nut 202 moves from the second position to the first position, such as by manual operation by an operator, as shown as an example in Figure 12. The above learning steps for training (reverse-teaching) the second pre-trained model 392 are repeated, for example, several dozen to several hundred times.

(制御装置の動作)
続いて、本実施形態における制御装置30の動作の一例について図13を参照して説明する。ただし、以下に説明する処理の順番は、以下の例に限定されず、適宜入れ替えられてもよい。
(Operation of the control device)
Next, an example of the operation of the control device 30 in this embodiment will be described with reference to Figure 13. However, the order of the processes described below is not limited to the following example and may be rearranged as appropriate.

はじめに、第2制御部362は、第2学習済みモデル392を用いて、施工の対象となるボルト201にナット202をアプローチさせる(ステップS1)。次いで、第2判定部352は、ナット202の状態に異常があるか否かを判定する第2判定を行う(ステップS2)。ナット202の状態に異常があることを第2判定の結果が示す場合(ステップS2:YES)、例えば制御部36の動作によりナット202をボルト201から一度離間させた後、ステップS1の処理に戻る。一方、ナット202の状態に異常がないことを第2判定の結果が示す場合(ステップS2:NO)、第1判定部351は、ナット202がボルト201に接触したか否かを判定する第1判定を行う(ステップS3)。ナット202がボルト201に接触していないことを第1判定の結果が示す場合(ステップS3:NO)、例えば制御部36の動作によりナット202をボルト201から一度離間させた後、ステップS1の処理に戻る。一方、ナット202がボルト201に接触したことを第1判定の結果が示す場合(ステップS3:YES)、締結動作ステップS4を実行する。締結動作ステップS4では、第1制御部361は、第1学習済みモデル391を用いてエンドエフェクタ12の移動および回転を制御することで対象となるボルト201に対するナット202の締結動作を実行する。締結動作ステップS4では、第1制御部361が締結動作を実行している際、第3判定部353は、ナット202の螺合が成功したか否かを判定する第3判定を行ってよい。ナット202の螺合が成功したことを第3判定の結果が示す場合、第1制御部361は、締結動作を実行し続ける。一方、ナット202の螺合が失敗したことを第3判定の結果が示す場合、第1制御部361は、締結動作を停止する。第1制御部361が締結動作を停止した場合、例えば、リトライ動作ステップS8を実行する。 First, the second control unit 362 uses the second learned model 392 to bring the nut 202 close to the bolt 201 to be installed (step S1). Next, the second determination unit 352 performs a second determination to determine whether or not there is an abnormality in the state of the nut 202 (step S2). If the result of the second determination indicates that there is an abnormality in the state of the nut 202 (step S2: YES), for example, the control unit 36 operates to move the nut 202 away from the bolt 201, and then the process returns to step S1. On the other hand, if the result of the second determination indicates that there is no abnormality in the state of the nut 202 (step S2: NO), the first determination unit 351 performs a first determination to determine whether or not the nut 202 has come into contact with the bolt 201 (step S3). If the result of the first determination indicates that the nut 202 has not come into contact with the bolt 201 (step S3: NO), for example, the control unit 36 operates to move the nut 202 away from the bolt 201, and then the process returns to step S1. On the other hand, if the result of the first determination indicates that the nut 202 has made contact with the bolt 201 (step S3: YES), the fastening operation step S4 is executed. In the fastening operation step S4, the first control unit 361 executes the fastening operation of the nut 202 to the target bolt 201 by controlling the movement and rotation of the end effector 12 using the first learned model 391. In the fastening operation step S4, while the first control unit 361 is executing the fastening operation, the third determination unit 353 may perform a third determination to determine whether the screwing of the nut 202 was successful or not. If the result of the third determination indicates that the screwing of the nut 202 was successful, the first control unit 361 continues to execute the fastening operation. On the other hand, if the result of the third determination indicates that the screwing of the nut 202 failed, the first control unit 361 stops the fastening operation. If the first control unit 361 stops the fastening operation, for example, the retry operation step S8 is executed.

第1制御部361による締結動作が終了した場合、第4判定部354は、ナット202の締結が成功したか否かを判定する第4判定を行う(ステップS5)。ナット202の締結が成功したことを第4判定の結果が示す場合(ステップS5:YES)、第5判定部355は、カラー202bが破断して切断されたか否かを判定する(ステップS6)。一方、ナット202の締結が失敗したことを第4判定の結果が示す場合(ステップS5:NO)、リトライ動作ステップS8を実行する。リトライ動作ステップS8では、第3制御部363は、上述のリトライ動作を行う。リトライ動作ステップS8が終了した場合、第6判定部356は、所定回数リトライしたか否かを判定する第6判定を行う(ステップS9)。所定回数リトライしたことを第6判定の結果が示す場合(ステップS9:YES)、例えば、制御装置30は動作を終了する。一方、所定回数リトライしていないことを第6判定の結果が示す場合(ステップS9:NO)、ステップS1の処理に進む。ここで、ステップS6の判定の処理の説明に戻り、カラー202bが切断されていないことを第5判定の結果が示す場合(ステップS6:NO)、締結動作ステップS4に戻る。一方、カラー202bが切断されたことを第5判定の結果が示す場合(ステップS6:YES)、第6判定部356は、すべてのボルト201にナット202を締結したか否かを判定する(ステップS7)。すべてのボルト201にナット202を締結していないことを第6判定の結果が示す場合(ステップS7:NO)、ステップS1の処理に進む。一方、すべてのボルト201にナット202を締結したことを第6判定の結果が示す場合(ステップS7:YES)、例えば、制御装置30は動作を終了する。 When the fastening operation by the first control unit 361 is completed, the fourth determination unit 354 performs a fourth determination to determine whether or not the fastening of the nut 202 was successful (step S5). If the result of the fourth determination indicates that the fastening of the nut 202 was successful (step S5: YES), the fifth determination unit 355 determines whether or not the collar 202b has broken and been cut (step S6). On the other hand, if the result of the fourth determination indicates that the fastening of the nut 202 was unsuccessful (step S5: NO), the retry operation step S8 is executed. In the retry operation step S8, the third control unit 363 performs the retry operation described above. When the retry operation step S8 is completed, the sixth determination unit 356 performs a sixth determination to determine whether or not a predetermined number of retries have been performed (step S9). If the result of the sixth determination indicates that a predetermined number of retries have been performed (step S9: YES), for example, the control device 30 terminates its operation. On the other hand, if the result of the sixth determination indicates that a predetermined number of retries have not been performed (step S9: NO), the process proceeds to step S1. Now, returning to the explanation of the determination process in step S6, if the result of the fifth determination indicates that the collar 202b has not been cut (step S6: NO), the process returns to the fastening operation step S4. On the other hand, if the result of the fifth determination indicates that the collar 202b has been cut (step S6: YES), the sixth determination unit 356 determines whether or not nuts 202 have been fastened to all bolts 201 (step S7). If the result of the sixth determination indicates that nuts 202 have not been fastened to all bolts 201 (step S7: NO), the process proceeds to step S1. On the other hand, if the result of the sixth determination indicates that nuts 202 have been fastened to all bolts 201 (step S7: YES), for example, the control device 30 terminates its operation.

以上説明した制御装置30の動作は、施工対象物200の組立工程で繰り返し実行される。 The operation of the control device 30 described above is repeatedly performed during the assembly process of the object to be constructed 200.

(作用・効果)
本実施形態では、第1時刻における各々の関節部110の関節角に基づくナット202の位置座標および姿勢角と、第1時刻におけるエンドエフェクタ12から伝達された接触力およびトルクとを入力とする第1学習済みモデル391により出力された第2時刻におけるナット202の位置座標および姿勢角の指令値に基づき、エンドエフェクタ12の移動および回転が制御される。この際、第1学習済みモデル391が出力する第2時刻における指令値のナット202の位置座標および姿勢角は、ナット202がボルト201に締結された状態を示すナット202の目標位置座標および目標姿勢角に近づいている。つまり、第1学習済みモデル391に対しての入力が行われるたびに、ナット202の状態を、ナット202がボルト201に締結された状態に向けて遷移させることができる。したがって、施工対象物200に設けられたボルト201にナット202をより円滑に締結することができる。
(Effects/Mechanisms)
In this embodiment, the movement and rotation of the end effector 12 are controlled based on command values of the position coordinates and orientation angles of the nut 202 at a second time, output by a first learned model 391 that takes as input the position coordinates and orientation angles of the nut 202 based on the joint angles of each joint 110 at a first time, and the contact force and torque transmitted from the end effector 12 at a first time. At this time, the position coordinates and orientation angles of the nut 202 in the command values of the second time output by the first learned model 391 are approaching the target position coordinates and target orientation angles of the nut 202 that indicate the state in which the nut 202 is fastened to the bolt 201. In other words, each time input is made to the first learned model 391, the state of the nut 202 can be transitioned toward the state in which the nut 202 is fastened to the bolt 201. Therefore, the nut 202 can be fastened more smoothly to the bolt 201 provided on the object to be constructed 200.

また、本実施形態では、第1学習済みモデル391は、目標位置座標および目標姿勢角から外れたあらかじめ把握されている既知位置座標および既知姿勢角を示すナット202をボルト201に締結される教示が繰り返し実行されることで上記入出力がなされるようにあらかじめ学習されている。そのため、例えば、実運用時にナット202およびボルト201の締結を行う際にナット202のボルト201に対する位置座標のずれや姿勢角のずれが生じても、実際に締結にかかった時間が、予測された締結にかかる時間から乖離することを抑制することができる。その結果、例えば、組立にかかる工数などを低減させることができる。 Furthermore, in this embodiment, the first trained model 391 is pre-trained to perform the above input and output by repeatedly executing a teaching that fastens a nut 202, which has known position coordinates and an attitude angle that deviates from the target position coordinates and target attitude angle, to a bolt 201. Therefore, for example, even if there is a deviation in the position coordinates or attitude angle of the nut 202 relative to the bolt 201 during actual operation, the actual time taken for fastening can be suppressed from deviating from the predicted fastening time. As a result, for example, the man-hours required for assembly can be reduced.

また、本実施形態では、ナット202がボルト201に接触していない第1位置で取得された第3時刻における施工対象物200を撮像した画像と、第3時刻におけるナット202の位置座標および姿勢角とを入力とする第2学習済みモデル392により出力された第4時刻におけるナット202の位置座標および姿勢角を示す指令値に基づき、エンドエフェクタ12の移動および回転が制御される。この際、第2学習済みモデル392が出力する第4時刻における指令値のナット202の位置座標および姿勢角は、ナット202がボルト201に接触した第2位置の位置座標および姿勢角に近づいている。つまり、第2学習済みモデル392に対しての入力が行われるたびに、第1位置に位置するナット202を、第2位置に向けて遷移させることができる。したがって、ナット202を施工対象物200に設けられたボルト201により円滑にアプローチさせることができる。また、画像を第2学習済みモデル392の入力要素とするため、例えば画像を入力要素に採用しない場合と比較して、上記の作用をより高い精度で実現することができる。 Furthermore, in this embodiment, the movement and rotation of the end effector 12 are controlled based on command values indicating the position coordinates and orientation angle of the nut 202 at a fourth time, output by a second trained model 392 that takes an image of the object to be constructed 200 at a third time, acquired at a first position where the nut 202 is not in contact with the bolt 201, and the position coordinates and orientation angle of the nut 202 at the third time as input. At this time, the position coordinates and orientation angle of the nut 202 in the command values for the fourth time output by the second trained model 392 are approaching the position coordinates and orientation angle of the second position where the nut 202 is in contact with the bolt 201. In other words, each time input is made to the second trained model 392, the nut 202 located at the first position can be moved toward the second position. Therefore, the nut 202 can be smoothly approached by the bolt 201 provided on the object to be constructed 200. Furthermore, by using images as input elements for the second pre-trained model 392, the above effects can be achieved with higher accuracy compared to, for example, a case where images are not used as input elements.

また、本実施形態では、第2学習済みモデル392は、第1位置から第2位置にエンドエフェクタ12を移動させるダイレクトティーチング動作中に取得された複数の画像と、各々の画像が取得された時刻に対応するナット202の位置座標および姿勢角とを含む教師データセットが入力される学習ステップが繰り返し実行されることで上記入出力がなされるようにあらかじめ学習されている(逆教示されている)。発明者らは、組立システム100を利用するオペレータの手動によってエンドエフェクタ12を移動させるダイレクトティーチング動作を用いて第2学習済みモデル392を教示させるに当たって、ナット202の位置が第1位置から第2位置に移動するようにエンドエフェクタ12を移動させる動作よりも、第2位置から第1位置に移動するようにエンドエフェクタ12を移動させる動作の方が容易であること、および、動作中のエンドエフェクタ12のブレなどが発生しにくいことを見出した。その結果、ノイズなどの割合が少ないより高品質な教師データセットを取得することができる。 Furthermore, in this embodiment, the second trained model 392 is pre-trained (reverse-taught) to perform the above input and output by repeatedly executing a learning step in which a training dataset containing multiple images acquired during a direct teaching operation to move the end effector 12 from a first position to a second position, and the position coordinates and orientation angle of the nut 202 corresponding to the time each image was acquired, is input. The inventors found that when teaching the second trained model 392 using a direct teaching operation in which an operator using the assembly system 100 manually moves the end effector 12, it is easier to move the end effector 12 from the second position to the first position than to move the nut 202 from the first position to the second position, and that vibrations of the end effector 12 during operation are less likely to occur. As a result, a higher quality training dataset with a lower proportion of noise can be obtained.

また、本実施形態では、第2位置で取得された画像と、画像が取得された時刻に対応するナット202の位置座標および姿勢角と、画像が取得された時刻に対応する接触力およびトルクとが入力されると、ナット202およびボルト201の螺合の成否を示す判定結果を出力するように学習された第3学習済みモデル393を用いて、エンドエフェクタ12を制御する。これにより、例えば、ナット202およびボルト201の螺合が誤った状態で締結に向かうことを回避できる。その結果、例えば、組立における歩留まりの低下などを抑制することができる。 Furthermore, in this embodiment, the end effector 12 is controlled using a third trained model 393, which is trained to output a determination result indicating the success or failure of the threading of the nut 202 and bolt 201 when the image acquired at the second position, the position coordinates and orientation angle of the nut 202 corresponding to the time the image was acquired, and the contact force and torque corresponding to the time the image was acquired are input. This prevents, for example, the nut 202 and bolt 201 from proceeding to fasten in an incorrect state. As a result, for example, a decrease in yield during assembly can be suppressed.

また、本実施形態では、ナット202の位置座標が表現される座標系が、世界座標系からボルト中心座標系に変換される。これにより、世界座標系で表現されるナット202の位置座標がボルト201ごとに生じる固有の位置座標であるのに対して、ボルト201中心座標といった同一の尺度でナット202のボルト201に対する相対的な位置座標を表すことができる。その結果、ボルト201ごとに教示する必要が生じないため、汎化性が高まるとともに、第1学習済みモデル391の教示にかかる労力および時間を削減することができる。 Furthermore, in this embodiment, the coordinate system in which the position coordinates of the nut 202 are represented is transformed from the world coordinate system to the bolt-center coordinate system. This allows the relative position coordinates of the nut 202 to the bolt 201 to be represented using the same scale, such as the bolt 201-center coordinates, whereas the position coordinates of the nut 202 expressed in the world coordinate system are unique position coordinates that occur for each bolt 201. As a result, since it is not necessary to teach each bolt 201, generalizability is increased, and the effort and time required to teach the first trained model 391 can be reduced.

また、本実施形態では、関節部110の関節角に基づくエンドエフェクタ12の自重に関する補正値を用いて取得された接触力を補正する。これにより、エンドエフェクタ12から伝達された接触力よりも実際に生じた接触力に近づいた接触力を第1学習済みモデル391の入力要素とすることができるため、汎化性を高めることができる。 Furthermore, in this embodiment, the contact force obtained is corrected using a correction value related to the self-weight of the end effector 12 based on the joint angle of the joint portion 110. This allows the input element of the first trained model 391 to be a contact force closer to the actual contact force than the contact force transmitted from the end effector 12, thereby improving generalizability.

また、本実施形態におけるエンドエフェクタ12によれば、弾性部材128が第1部分126に対してソケット部123の先端側に向かう弾性力を付与することで、ナットランナ121の収容部123rにカラー202bが収容されたナット202を、ナット保持部材124の爪部127bが把持する機構である。これにより、例えばナット202を吸引して保持する機構を備えたエンドエフェクタ12などと比較して、より簡易な構成でエンドエフェクタ12がナット202を保持することができる。また、撮像装置20がナットランナ121のソケット部123内に配置されており、当該撮像装置20は、ナット孔202hを通じて施工対象物200に向けて光を照射するとともに、施工対象物200を撮像した画像を生成する。すなわち、撮像装置20の撮像範囲を集中的に照らしながら画像を生成することができる。したがって、施工現場の照明環境などの影響を受けにくい。 Furthermore, in this embodiment of the end effector 12, the elastic member 128 applies an elastic force to the first portion 126 toward the tip of the socket portion 123, so that the claw portion 127b of the nut holding member 124 grips the nut 202, which has its collar 202b housed in the housing portion 123r of the nut runner 121. This allows the end effector 12 to hold the nut 202 with a simpler configuration compared to, for example, an end effector 12 equipped with a mechanism to hold the nut 202 by suction. Also, the imaging device 20 is positioned inside the socket portion 123 of the nut runner 121. The imaging device 20 irradiates light toward the object to be constructed 200 through the nut hole 202h and generates an image of the object to be constructed 200. That is, the imaging device 20 can generate an image while concentrating the illumination of its imaging range. Therefore, it is less susceptible to the influence of the lighting environment at the construction site.

<組立システムの第2実施形態>
次に、本開示に係る組立システム100の第2実施形態について図14を参照して説明する。なお、以下に説明する第2実施形態では、上記の第1実施形態と共通する構成については図中に同符号を付してその説明を省略する。第2実施形態では、組立システム100は、力覚センサ140を備えておらず、当該力覚センサ140に代えて、電流センサ141を備えている。本実施形態では、第1実施形態で説明した力データが、電流センサ141が取得する電流値に対応しており、上述した力データを電流値に適宜置き換えて読めばよい。
<Second embodiment of the assembly system>
Next, a second embodiment of the assembly system 100 according to the present disclosure will be described with reference to Figure 14. In the second embodiment described below, components common to the first embodiment described above are denoted by the same reference numerals in the figure and their descriptions are omitted. In the second embodiment, the assembly system 100 does not have a force sensor 140, and instead has a current sensor 141. In this embodiment, the force data described in the first embodiment corresponds to the current value acquired by the current sensor 141, and the force data described above can be read by appropriately replacing it with the current value.

(電流センサ)
電流センサ141は、各々の関節部110(第1関節部111~第6関節部116)が有するモータ117(第1モータ117a~第6モータ117f)の電流値を取得可能なセンサである。電流センサ141は、有線または無線通信によって各々の関節部110が有するモータ117に接続されている。電流センサ141は、第2センサ14の一例である。電流センサ141は、取得したモータ117の電流値を制御装置30に送信する。なお、電流センサ141は、例えば、マニピュレータ10に設けられてもよく、制御装置30に設けられてもよい。
(Current sensor)
The current sensor 141 is a sensor capable of acquiring the current values of the motors 117 (first motor 117a to sixth motor 117f) of each joint 110 (first joint 111 to sixth joint 116). The current sensor 141 is connected to the motors 117 of each joint 110 by wired or wireless communication. The current sensor 141 is an example of the second sensor 14. The current sensor 141 transmits the acquired current values of the motors 117 to the control device 30. The current sensor 141 may be provided on the manipulator 10, for example, or on the control device 30.

(制御装置)
本実施形態では、取得部31は、電流センサ141から各々のモータ117を流れる電流の電流値を第1所定周期で取得し、取得した電流値を判定部35および制御部36に送るとともに記憶部39に記憶させる。第1判定部351は、取得部31から受け付けた電流値に基づき、第1判定を行う。第3判定部353は、取得部31から受け付けた画像、算出部32から受け付けたナット202の姿勢角、座標変換部33から受け付けたナット202の位置座標、ならびに、取得部31から受け付けた電流値に基づき、第3判定を行う。この際、第3学習済みモデル393は、画像と、ナット202の位置座標および姿勢角と、電流値とを含むデータセットが入力されると、ナット202およびボルト201の螺合の成否を示す判定結果を出力するように学習されている。第4判定部354は、取得部31から受け付けた画像、算出部32から受け付けたナット202の姿勢角、座標変換部33から受け付けたナット202の位置座標、ならびに、取得部31から受け付けた電流値に基づき、第4判定を行う。この際、第4学習済みモデル394は、画像と、ナット202の位置座標および姿勢角と、電流値とを含むデータセットが入力されると、ナット202およびボルト201の締結の成否を示す判定結果を出力するように学習されている。第5判定部355は、第4判定部354から受け付けた第4判定の結果がナット202の締結が成功したことを示す場合に、取得部31から受け付けた電流値に基づき、ナット202のカラー202bがナット本体202aから分離しているか否かを判定する。第1制御部361は、ナット202がボルト201に接触していると第1判定の結果が示す場合に、算出部32から受け付けたナット202の姿勢角と、座標変換部33から受け付けたナット202の位置座標と、取得部31から受け付けた電流値とを含むデータセットに基づき、ボルト201に対するナット202の締結動作を実行する。この際、第1学習済みモデル391は、第1時刻におけるナット202の位置座標および姿勢角と、第1時刻における電流値とを含むデータセットが入力されると、ナット202がボルト201に締結された状態を示すナット202の目標位置座標および目標姿勢角に近づいた、第1時刻よりも後の第2時刻におけるナット202の位置座標および姿勢角を示す指令値を出力するように学習されている。
(Control device)
In this embodiment, the acquisition unit 31 acquires the current value of the current flowing through each motor 117 from the current sensor 141 at a first predetermined period, sends the acquired current value to the determination unit 35 and the control unit 36, and stores it in the storage unit 39. The first determination unit 351 makes a first determination based on the current value received from the acquisition unit 31. The third determination unit 353 makes a third determination based on the image received from the acquisition unit 31, the attitude angle of the nut 202 received from the calculation unit 32, the position coordinates of the nut 202 received from the coordinate transformation unit 33, and the current value received from the acquisition unit 31. At this time, the third trained model 393 is trained to output a determination result indicating the success or failure of screwing the nut 202 and bolt 201 when a dataset including the image, the position coordinates and attitude angle of the nut 202, and the current value is input. The fourth determination unit 354 performs a fourth determination based on the image received from the acquisition unit 31, the attitude angle of the nut 202 received from the calculation unit 32, the position coordinates of the nut 202 received from the coordinate transformation unit 33, and the current value received from the acquisition unit 31. At this time, the fourth trained model 394 is trained to output a determination result indicating whether the fastening of the nut 202 and bolt 201 is successful or not when a dataset including the image, the position coordinates and attitude angle of the nut 202, and the current value is input. If the result of the fourth determination received from the fourth determination unit 354 indicates that the fastening of the nut 202 was successful, the fifth determination unit 355 determines whether the collar 202b of the nut 202 is separated from the nut body 202a based on the current value received from the acquisition unit 31. If the first determination result indicates that the nut 202 is in contact with the bolt 201, the first control unit 361 executes a fastening operation of the nut 202 to the bolt 201 based on a dataset that includes the attitude angle of the nut 202 received from the calculation unit 32, the position coordinates of the nut 202 received from the coordinate transformation unit 33, and the current value received from the acquisition unit 31. At this time, the first trained model 391 is trained to output command values that indicate the position coordinates and attitude angle of the nut 202 at a second time point, which is later than the first time point, when a dataset including the position coordinates and attitude angle of the nut 202 at a first time point and the current value at a first time point is input, and the nut 202 has approached the target position coordinates and target attitude angle of the nut 202 indicating that the nut 202 is fastened to the bolt 201.

(作用・効果)
本実施形態では、電流センサ141が取得した各々の関節部110が有するモータ117の電流値に、第1実施形態で説明した力データを代替させることができる。すなわち、各々のモータ117の電流値は、ナット202がボルト201に接触した際にエンドエフェクタ12から伝達される接触力およびトルクを示している。これにより、マニピュレータ10が力覚センサ140を備える必要がない。したがって、例えば、マニピュレータ10全体のサイズおよび重量を抑えることができる。
(Effects/Mechanisms)
In this embodiment, the current values of the motors 117 of each joint 110 acquired by the current sensor 141 can be used to replace the force data described in the first embodiment. That is, the current values of each motor 117 represent the contact force and torque transmitted from the end effector 12 when the nut 202 contacts the bolt 201. As a result, the manipulator 10 does not need to be equipped with a force sensor 140. Therefore, for example, the overall size and weight of the manipulator 10 can be reduced.

<組立システムの第3実施形態>
次に、本開示に係る組立システム100の第3実施形態について図15を参照して説明する。なお、以下に説明する第3実施形態では、上記の第1実施形態と共通する構成については図中に同符号を付してその説明を省略する。第3実施形態では、組立システム100は、移動機構16と、キャリブレーション機構17とを更に備えている。
<Third embodiment of the assembly system>
Next, a third embodiment of the assembly system 100 according to this disclosure will be described with reference to Figure 15. In the third embodiment described below, components common to the first embodiment described above are denoted by the same reference numerals in the figure and their descriptions are omitted. In the third embodiment, the assembly system 100 further comprises a moving mechanism 16 and a calibration mechanism 17.

(移動機構)
移動機構16は、台座部15を施工対象物200の周囲で移動可能にさせる。本実施形態では、移動機構16は、台座部15に設けられた複数の車輪160である。移動機構16は、作業台300の周囲を走行可能である。図15中では、4つの車輪160が台座部15に設けられている場合を一例として示している。車輪160は、床面に当接した状態で回動可能に台座部15に設けられている。車輪160の駆動(回転)は、制御装置30によって制御されてもよいし、組立システム100を利用するオペレータによる手動などであってもよい。
(Moving mechanism)
The moving mechanism 16 allows the base portion 15 to move around the workpiece 200. In this embodiment, the moving mechanism 16 is a plurality of wheels 160 provided on the base portion 15. The moving mechanism 16 can travel around the workbench 300. Figure 15 shows an example where four wheels 160 are provided on the base portion 15. The wheels 160 are provided on the base portion 15 so as to be rotatable while in contact with the floor surface. The driving (rotation) of the wheels 160 may be controlled by the control device 30, or it may be done manually by an operator using the assembly system 100.

(キャリブレーション機構)
キャリブレーション機構17は、施工対象物200と、移動機構16との相対的な位置を決定する。具体的には、キャリブレーション機構17は、例えば、世界座標系で表現された施工対象物200中の任意の一点と、マニピュレータ10が持つ原点に準拠した世界座標系の任意の一地点とを一致させる(キャリブレーションする)。つまり、キャリブレーション機構17により、施工対象物200に対する移動機構16の位置がキャリブレーションされる。キャリブレーション機構17は、例えば、マニピュレータ10などに設けられている。
(Calibration mechanism)
The calibration mechanism 17 determines the relative position between the object to be constructed 200 and the moving mechanism 16. Specifically, the calibration mechanism 17, for example, aligns (calibrates) any point on the object to be constructed 200, represented in a world coordinate system, with any point in the world coordinate system that is based on the origin of the manipulator 10. In other words, the calibration mechanism 17 calibrates the position of the moving mechanism 16 relative to the object to be constructed 200. The calibration mechanism 17 is provided, for example, on the manipulator 10.

(作用・効果)
本実施形態では、台座部15に当該台座部15を施工対象物200の周囲で移動可能にする車輪160が設けられているため、より広い範囲でマニピュレータ10が動作を行うことができる。したがって、例えば、サイズが大きい施工対象物200を施工する場合に、施工対象物200の配置や姿勢などを変更させる必要が生じにくい。
(Effects/Mechanisms)
In this embodiment, the base portion 15 is provided with wheels 160 that allow the base portion 15 to move around the object to be constructed 200, so that the manipulator 10 can operate over a wider range. Therefore, for example, when constructing a large object to be constructed 200, it is less likely that it will be necessary to change the position or orientation of the object to be constructed 200.

<第3実施形態の変形例>
次に、本開示に係る組立システム100の第3実施形態の変形例について図16を参照して説明する。本変形例では、上記第3実施形態に対して移動機構16の構成が異なっている。
<Modified form of the third embodiment>
Next, a modified example of the third embodiment of the assembly system 100 according to this disclosure will be described with reference to Figure 16. In this modified example, the configuration of the moving mechanism 16 is different from that of the third embodiment described above.

(移動機構)
本変形例では、移動機構16は、台座部15と床面との間に配置された直動式の電動スライダ161である。電動スライダ161は、一方向に長尺に延びている。電動スライダ161は、例えば作業台300に隣接して床面上に固定されている。電動スライダ161は、台座部15を下方から支持した状態で当該台座部15に接続されており、台座部15を上記一方向に移動させる。電動スライダ161の駆動(台座部15の直動)は、制御装置30によって制御されてもよいし、オペレータによる手動などであってもよい。なお、本変形例で説明した電動スライダ161は、床面上に固定されている構成に代えて、当該床面とは別体として配置され、例えば電動スライダ161とは異なる移動機構16に搭載されていてもよい。
(Moving mechanism)
In this modified example, the moving mechanism 16 is a linear-acting electric slider 161 positioned between the base portion 15 and the floor surface. The electric slider 161 extends in a long length in one direction. The electric slider 161 is fixed to the floor surface, for example, adjacent to the workbench 300. The electric slider 161 is connected to the base portion 15 while supporting the base portion 15 from below, and moves the base portion 15 in the aforementioned one direction. The drive of the electric slider 161 (linear motion of the base portion 15) may be controlled by the control device 30, or it may be operated manually by an operator. In addition, the electric slider 161 described in this modified example may be positioned separately from the floor surface, for example, mounted on a different moving mechanism 16 than the electric slider 161, instead of being fixed to the floor surface.

(作用・効果)
当該構成によっても、上記の第3実施形態で説明した作用・効果と同様の作用・効果が奏される。
(Effects/Mechanisms)
This configuration also produces the same effects and benefits as those described in the third embodiment above.

(その他の実施形態)
以上、本開示の実施形態について図面を参照して詳述したが、具体的な構成は各実施形態の構成に限られるものではなく、本開示の要旨を逸脱しない範囲内での構成の付加、省略、置換、およびその他の変更が可能である。
(Other embodiments)
Although embodiments of this disclosure have been described in detail above with reference to the drawings, the specific configurations are not limited to those of each embodiment, and additions, omissions, substitutions, and other modifications to the configurations are possible without departing from the gist of this disclosure.

なお、第1実施形態で説明した第1制御部361は、取得部31から画像を受け付けてもよい。この場合、第1制御部361が制御に用いる第1学習済みモデル391は、受け付けた画像を上述の入力要素に加えてもよい。なおこの場合、第1学習済みモデル391は、入力に対する出力である上記指令値に加えて、サブタスクとして、第2時刻における予測画像を生成して出力してもよい。 Furthermore, the first control unit 361 described in the first embodiment may receive images from the acquisition unit 31. In this case, the first trained model 391 used by the first control unit 361 for control may add the received images to the input elements described above. In this case, in addition to the command value which is the output for the input, the first trained model 391 may generate and output a predicted image at the second time step as a subtask.

また、第1実施形態で説明した第1学習済みモデル391は、入力に対する出力である上記指令値に加えて、サブタスクとして、第2時刻における接触力の予測値およびトルクの予測値を生成して出力するように学習されてもよい。接触力の予測値およびトルクの予測値は、第2時刻で取得部31によって取得されると第1学習済みモデル391により予測された接触力およびトルクを示す値である。これら接触力の予測値およびトルクの予測値は、第1制御部361による制御に用いられることはない。発明者らは、第1学習済みモデル391が第2時刻における接触力の予測値およびトルクの予測値をサブタスクとして出力することで、他の出力要素である指令値の精度が向上することを見出した。 Furthermore, the first trained model 391 described in the first embodiment may be trained to generate and output, as a subtask, predicted contact force and torque values at a second time step, in addition to the command value which is the output for the input. The predicted contact force and torque values are values that, when acquired by the acquisition unit 31 at the second time step, represent the contact force and torque predicted by the first trained model 391. These predicted contact force and torque values are not used for control by the first control unit 361. The inventors have found that by having the first trained model 391 output predicted contact force and torque values at a second time step as subtasks, the accuracy of the command value, which is another output element, is improved.

また、第1実施形態で説明した第2制御部362が制御に用いる第2学習済みモデル392は、入力に対する出力である上記指令値に加えて、サブタスクとして、第4時刻における予測画像を生成して出力するように学習されてもよい。予測画像は、第4時刻で取得部31によって取得されると第2学習済みモデル392により予測された画像である。当該予測画像は、第2制御部362による制御に用いられることはない。発明者らは、第2学習済みモデル392が第4時刻における接触力の予測値およびトルクの予測値をサブタスクとして出力することで、他の出力要素である指令値の精度が向上することを見出した。 Furthermore, the second trained model 392 used for control by the second control unit 362, as described in the first embodiment, may be trained to generate and output a predicted image at the fourth time step as a subtask, in addition to the command value which is the output for the input. The predicted image is the image predicted by the second trained model 392 when acquired by the acquisition unit 31 at the fourth time step. This predicted image is not used for control by the second control unit 362. The inventors have found that by having the second trained model 392 output predicted values of contact force and torque at the fourth time step as subtasks, the accuracy of the command value, which is another output element, is improved.

また、第1実施形態で説明した第1学習済みモデル391、第2学習済みモデル392、第3学習済みモデル393、第4学習済みモデル394、および第5学習済みモデル396のそれぞれは、深層学習モデルに限定されることはなく、他の機械学習モデル(例えばSVM(Support Vector Machine)などの教師あり学習モデル)であってもよい。 Furthermore, the first pre-trained model 391, second pre-trained model 392, third pre-trained model 393, fourth pre-trained model 394, and fifth pre-trained model 396 described in the first embodiment are not limited to deep learning models, but may be other machine learning models (for example, supervised learning models such as SVM (Support Vector Machine)).

また、第1実施形態で説明した制御装置30は、座標変換部33および補正部34を備えていなくてもよい。この場合、取得部31は、取得した力データを判定部35および制御部36に送ればよい。またこの場合、取得部31は、ボルト201の中心位置座標を取得した際、直近の施工の対象となるボルト201の中心位置座標を取得した旨を示す取得フラグをカウンタ部38に送ればよい。そして、算出部32は、算出したナット202の位置座標および姿勢角を判定部35および制御部36に送ればよい。そして、第1判定部351は、取得部31から受け付けた力データに基づき第1判定を行い、第2判定部352は、算出部32から受け付けたナット202の位置座標および姿勢角に基づき第2判定を行い、第3判定部353は、取得部31から受け付けた画像、算出部32から受け付けたナット202の位置座標および姿勢角、ならびに、取得部31から受け付けた力データに基づき第3判定を行い、第4判定部354は、取得部31から受け付けた画像、算出部32から受け付けたナット202の位置座標および姿勢角、ならびに、取得部31から受け付けた力データに基づき第4判定を行い、第5判定部355は、第4判定部354から受け付けた第4判定の結果がナット202の締結が成功したことを示す場合に、取得部31から受け付けた力データに基づき、第5判定を行えばよい。そして、第1制御部361は、ナット202がボルト201に接触していると第1判定の結果が示す場合に、算出部32から受け付けたナット202の位置座標および姿勢角と、取得部31から受け付けた力データとを含むデータセットに基づき、ボルト201に対するナット202の締結動作を実行し、第2制御部362は、取得部31から受け付けた画像と、算出部32から受け付けたナット202の位置座標および姿勢角とを含むデータセットに基づき、エンドエフェクタ12の移動および回転を制御すればよい。 Furthermore, the control device 30 described in the first embodiment does not necessarily have to include a coordinate transformation unit 33 and a correction unit 34. In this case, the acquisition unit 31 only needs to send the acquired force data to the determination unit 35 and the control unit 36. Also in this case, when the acquisition unit 31 acquires the center position coordinates of the bolt 201, it only needs to send an acquisition flag to the counter unit 38 indicating that it has acquired the center position coordinates of the bolt 201 that is the target of the most recent construction. Then, the calculation unit 32 only needs to send the calculated position coordinates and attitude angle of the nut 202 to the determination unit 35 and the control unit 36. Then, the first determination unit 351 makes a first determination based on the force data received from the acquisition unit 31, the second determination unit 352 makes a second determination based on the position coordinates and attitude angle of the nut 202 received from the calculation unit 32, the third determination unit 353 makes a third determination based on the image received from the acquisition unit 31, the position coordinates and attitude angle of the nut 202 received from the calculation unit 32, and the force data received from the acquisition unit 31, the fourth determination unit 354 makes a fourth determination based on the image received from the acquisition unit 31, the position coordinates and attitude angle of the nut 202 received from the calculation unit 32, and the force data received from the acquisition unit 31, and the fifth determination unit 355 makes a fifth determination based on the force data received from the acquisition unit 31 if the result of the fourth determination received from the fourth determination unit 354 indicates that the fastening of the nut 202 was successful. Then, if the first determination result indicates that the nut 202 is in contact with the bolt 201, the first control unit 361 executes the fastening operation of the nut 202 to the bolt 201 based on a dataset including the position coordinates and orientation angle of the nut 202 received from the calculation unit 32 and the force data received from the acquisition unit 31. The second control unit 362 then controls the movement and rotation of the end effector 12 based on the image received from the acquisition unit 31 and a dataset including the position coordinates and orientation angle of the nut 202 received from the calculation unit 32.

また、第2実施形態で説明した制御装置30は、取得部31から電流値を受け付けるとともに、受け付けた電流値を接触力およびトルクを含む力データに変換する電流値変換部(図示省略)などを更に備えてもよい。この場合、電流値変換部は、例えば、電流値から変換した接触力およびトルクを含む力データを補正部34などに送ればよい。電流値変換部は、例えば、各々のモータ117(第1モータ117a~第6モータ117f)を流れる電流の電流値と、接触力およびトルクとが互いに関連付いた対応関係情報(関数など)に基づき、電流値を力データに変換してもよい。この場合、対応関係情報は、例えば記憶部39にあらかじめ記憶されており、電流値変換部は、記憶部39に記憶されている対応関係情報を適時に参照することで上記の変換を行えばよい。 Furthermore, the control device 30 described in the second embodiment may further include a current value conversion unit (not shown) that receives current values from the acquisition unit 31 and converts the received current values into force data including contact force and torque. In this case, the current value conversion unit can, for example, send the force data including contact force and torque converted from the current values to a correction unit 34 or the like. The current value conversion unit may, for example, convert the current values into force data based on correspondence relationship information (such as a function) that associates the current values of the currents flowing through each motor 117 (first motor 117a to sixth motor 117f) with the contact force and torque. In this case, the correspondence relationship information is, for example, stored in advance in a storage unit 39, and the current value conversion unit can perform the above conversion by referring to the correspondence relationship information stored in the storage unit 39 in a timely manner.

また、第1判定部351は、第1判定を行うに当たり、取得部31から受け付けた画像を更に用いてもよい。すなわち、第1判定部351は、画像と、力データとに基づき、第1判定を行ってよい。この場合、第1判定部351は、画像と、力データとを含むデータセットが入力されると、第1判定の結果を出力するように学習された所定の学習済みモデルを用いて判定を行う。すなわち、当該学習済みモデルは、画像と、力データとを含むデータセットを入力要素とし、第1判定の結果を出力要素とする。当該学習済みモデルは、例えば記憶部39にあらかじめ記憶されており、第1判定部351は、記憶部39に記憶されている当該学習済みモデルに上記データセットを入力することで出力された第1判定の結果を取得してもよい。 Furthermore, the first determination unit 351 may also use the image received from the acquisition unit 31 when performing the first determination. That is, the first determination unit 351 may perform the first determination based on the image and force data. In this case, the first determination unit 351 performs the determination using a predetermined trained model that has been trained to output the result of the first determination when a dataset containing the image and force data is input. That is, the trained model takes the dataset containing the image and force data as input elements and the result of the first determination as its output element. This trained model may, for example, be pre-stored in the storage unit 39, and the first determination unit 351 may obtain the output result of the first determination by inputting the dataset into the trained model stored in the storage unit 39.

また、第2判定部352は、第2判定を行うに当たり、取得部31から受け付けた画像を更に用いてもよい。すなわち、第2判定部352は、画像と、ナット202の位置座標および姿勢角とに基づき、第2判定を行ってよい。この場合、第2判定部352は、画像と、ナット202の位置座標および姿勢角とを含むデータセットが入力されると、第2判定の結果を出力するように学習された所定の学習済みモデルを用いて判定を行う。すなわち、当該学習済みモデルは、画像と、ナット202の位置座標および姿勢角とを含むデータセットを入力要素とし、第2判定の結果を出力要素とする。当該学習済みモデルは、例えば記憶部39にあらかじめ記憶されており、第2判定部352は、記憶部39に記憶されている当該学習済みモデルに上記データセットを入力することで出力された第2判定の結果を取得してもよい。 Furthermore, the second determination unit 352 may also use the image received from the acquisition unit 31 when performing the second determination. That is, the second determination unit 352 may perform the second determination based on the image and the position coordinates and orientation angle of the nut 202. In this case, the second determination unit 352 performs the determination using a predetermined trained model that has been trained to output the result of the second determination when a dataset including the image and the position coordinates and orientation angle of the nut 202 is input. That is, the trained model takes the dataset including the image and the position coordinates and orientation angle of the nut 202 as input elements and the result of the second determination as its output element. The trained model may, for example, be pre-stored in the storage unit 39, and the second determination unit 352 may obtain the output result of the second determination by inputting the dataset into the trained model stored in the storage unit 39.

また、第3判定部353は、ナット202の螺合の成否を判定するに当たり、取得部31から受け付けた画像を用いなくてもよい。この場合、第3学習済みモデル393は、ナット202の位置座標および姿勢角と、力データとを含むデータセットを入力要素とし、ナット202およびボルト201の螺合の成否を示す判定結果を出力要素とする。 Furthermore, the third determination unit 353 does not need to use the image received from the acquisition unit 31 when determining whether the nut 202 is successfully threaded. In this case, the third trained model 393 takes a dataset containing the position coordinates and orientation angle of the nut 202 and force data as input elements, and outputs a determination result indicating whether the nut 202 and bolt 201 are successfully threaded.

また、第5判定部355は、補正部34から受け付けた力データに基づき、切断に必要なトルクを示す第3しきい値を超えたか否かの切断に関する判定、および締結用モータ120aが停止状態から回転状態になったか否かのエンドエフェクタ12の駆動に関する判定を、第5判定を行う前に併せて行ってもよい。つまり、第5判定部355は、上記切断に関する判定が、データ(接触力)が第3しきい値を超えたことを示し、かつ、エンドエフェクタ12の駆動に関する判定が、締結用モータ120aが回転状態であることを示した場合に、上記第5判定を行ってもよい。なお、第3しきい値は、例えば記憶部39にあらかじめ記憶されており、第5判定部355は、記憶部39に記憶されている第3しきい値を適時に参照することで上記切断に関する判定を行う。 Furthermore, the fifth determination unit 355 may, based on the force data received from the correction unit 34, simultaneously perform a determination regarding cutting—whether the torque required for cutting has exceeded a third threshold—and a determination regarding the drive of the end effector 12—whether the fastening motor 120a has changed from a stopped state to a rotating state—before performing the fifth determination. In other words, the fifth determination unit 355 may perform the fifth determination if the cutting determination indicates that the data (contact force) has exceeded the third threshold, and the determination regarding the drive of the end effector 12 indicates that the fastening motor 120a is in a rotating state. The third threshold is pre-stored, for example, in the storage unit 39, and the fifth determination unit 355 performs the cutting determination by referencing the third threshold stored in the storage unit 39 in a timely manner.

(コンピュータの構成)
図17は、本実施形態に係るコンピュータ1100の構成を示すハードウェア構成図である。コンピュータ1100は、例えば、プロセッサ1110と、メインメモリ1120と、ストレージ1130と、インターフェース1140とを備えている。
(Computer configuration)
Figure 17 is a hardware configuration diagram showing the configuration of the computer 1100 according to this embodiment. The computer 1100 includes, for example, a processor 1110, a main memory 1120, a storage 1130, and an interface 1140.

上述の制御装置30は、例えば1以上のコンピュータ1100に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ1130に記憶されている。プロセッサ1110は、プログラムをストレージ1130から読み出してメインメモリ1120に展開し、当該プログラムにしたがって上記処理を実行する。また、プロセッサ1110は、プログラムにしたがって、上述した記憶部39に対応する記憶領域をメインメモリ1120に確保する。プログラムは、コンピュータ1100に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ1130に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。また、コンピュータ1100は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ1110によって実現される機能の一部またはすべてが当該集積回路によって実現されてよい。ストレージ1130の例としては、磁気ディスク、光磁気ディスク、半導体メモリなどが挙げられる。ストレージ1130は、コンピュータ1100のバスに直接的に接続された内部メディアであってもよいし、インターフェース1140または通信回線を介してコンピュータ1100に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ1100に配信される場合、配信を受けたコンピュータ1100が当該プログラムをメインメモリ1120に展開し、上記処理を実行してもよい。上記実施形態では、ストレージ1130は、一時的でない有形の記憶媒体である。また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ1130に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。 The control device 30 described above is implemented in, for example, one or more computers 1100. The operation of each processing unit described above is stored in the storage 1130 in the form of a program. The processor 1110 reads the program from the storage 1130, loads it into the main memory 1120, and executes the above processing according to the program. The processor 1110 also reserves a storage area in the main memory 1120 corresponding to the storage unit 39 described above, according to the program. The program may be for realizing a part of the functions to be performed by the computer 1100. For example, the program may perform functions in combination with other programs already stored in the storage 1130, or in combination with other programs implemented in other devices. In addition to the above configuration, or in place of the above configuration, the computer 1100 may be equipped with a custom LSI (Large Scale Integrated Circuit) such as a PLD (Programmable Logic Device). Examples of PLDs include PAL (Programmable Array Logic), GAL (Generic Array Logic), CPLD (Complex Programmable Logic Device), and FPGA (Field Programmable Gate Array). In this case, some or all of the functions realized by the processor 1110 may be realized by the integrated circuit. Examples of storage 1130 include magnetic disks, magneto-optical disks, and semiconductor memory. Storage 1130 may be an internal medium directly connected to the bus of the computer 1100, or an external medium connected to the computer 1100 via an interface 1140 or a communication line. Furthermore, if this program is distributed to the computer 1100 via a communication line, the computer 1100 that receives the distribution may expand the program into the main memory 1120 and execute the above processing. In the above embodiment, storage 1130 is a tangible storage medium that is not temporary. Furthermore, the program may be for realizing some of the functions described above. Furthermore, the program in question may be a so-called differential file (differential program) that implements the aforementioned functions in combination with other programs already stored in the storage 1130.

<付記>
各実施形態に記載の組立システム、制御方法、およびプログラムは、例えば以下のように把握される。
<Note>
The assembly system, control method, and program described in each embodiment can be understood, for example, as follows:

(1)第1の態様に係る組立システム100は、複数の関節部110を有するアーム11と、前記アーム11によって移動されるとともに、ナット202を保持して前記ナット202を軸線(回転軸線Arまたは軸線Ar1)回りに回転させるエンドエフェクタ12と、各々の前記関節部110の関節角を取得する第1センサ13(エンコーダ130)と、施工対象物200に設けられたボルト201に前記ナット202が接触した場合に、前記エンドエフェクタ12から伝達された接触力およびトルクを取得する第2センサ14(力覚センサ140,電流センサ141)と、を有するマニピュレータ10と、前記マニピュレータ10を制御する制御装置30と、を備え、前記制御装置30は、各々の前記関節部110の関節角と、前記接触力およびトルクとを第1所定周期で取得する取得部31と、前記取得された各々の前記関節部110の関節角に基づき、前記ナット202の位置座標および姿勢角を算出する算出部32と、第1時刻における前記ナット202の位置座標および姿勢角と、前記第1時刻における前記接触力およびトルクとが入力されると、前記ナット202が前記ボルト201に締結された状態を示す前記ナット202の目標位置座標および目標姿勢角に近づいた、前記第1時刻よりも後の第2時刻における前記ナット202の位置座標および姿勢角を示す指令値を出力するように学習された第1学習済みモデル391を用いて、前記エンドエフェクタ12を制御する制御部36と、を備える。 (1) The assembly system 100 according to the first embodiment comprises a manipulator 10 having an arm 11 having a plurality of joints 110, an end effector 12 that is moved by the arm 11 and holds a nut 202 and rotates the nut 202 around an axis (rotation axis Ar or axis Ar1), a first sensor 13 (encoder 130) that acquires the joint angle of each of the joints 110, and a second sensor 14 (force sensor 140, current sensor 141) that acquires the contact force and torque transmitted from the end effector 12 when the nut 202 comes into contact with a bolt 201 provided on the object to be constructed 200, and a control device 30 that controls the manipulator 10, the control device 30 controls each of the aforementioned joints The system comprises: an acquisition unit 31 that acquires the joint angle of the joint portion 110, the contact force, and the torque at a first predetermined period; a calculation unit 32 that calculates the position coordinates and attitude angle of the nut 202 based on the acquired joint angles of each of the joint portions 110; and a control unit 36 that controls the end effector 12 using a first trained model 391 that, upon input of the position coordinates and attitude angle of the nut 202 at a first time point and the contact force and torque at the first time point, outputs command values indicating the position coordinates and attitude angle of the nut 202 at a second time point, which is later than the first time point and approaches the target position coordinates and attitude angle of the nut 202 indicating that the nut 202 is fastened to the bolt 201.

これにより、第1学習済みモデル391に対しての入力が行われるたびに、ナット202の状態を、ナット202がボルト201に締結された状態に向けて遷移させることができる。 This allows the state of the nut 202 to transition toward the state where the nut 202 is fastened to the bolt 201 each time an input is received to the first trained model 391.

(2)第2の態様に係る組立システム100は、(1)の組立システム100であって、前記第1学習済みモデル391は、前記ナット202の前記目標位置座標および目標姿勢角から、ランダムに与えられた量外れた前記ナット202の既知位置座標および既知姿勢角が、前記目標位置座標および目標姿勢角になるように前記エンドエフェクタ12を制御する教示動作中に取得された複数の前記ナット202の位置座標および姿勢角と、各々の前記ナット202の位置座標および姿勢角が取得された時刻に対応する前記接触力およびトルクと、を含む教師データセットが入力される学習ステップが繰り返し実行されたことで、前記入力に応じた前記指令値を出力するように学習されていてもよい。 (2) The assembly system 100 according to the second embodiment is the assembly system 100 of (1), wherein the first trained model 391 may be trained to output the command value corresponding to the input by repeatedly performing a training step in which a training dataset is input, which includes a plurality of position coordinates and orientation angles of the nuts 202 acquired during a teaching operation that controls the end effector 12 so that the known position coordinates and orientation angles of the nuts 202, which are randomly deviated by a given amount from the target position coordinates and target orientation angles of the nuts 202, become the target position coordinates and target orientation angles, and the contact force and torque corresponding to the time when each position coordinate and orientation angle of the nuts 202 was acquired.

これにより、上記作用をより具体的な設定で実現することができる。また、例えば、実運用時にナット202およびボルト201の締結を行う際にナット202のボルト201に対する位置座標のずれや姿勢角のずれが生じても、実際に締結にかかった時間が、予測された締結にかかる時間から乖離することを抑制することができる。 This allows the above effects to be realized with more specific settings. Furthermore, for example, even if a deviation in the positional coordinates or orientation angle of the nut 202 relative to the bolt 201 occurs during actual operation, it is possible to suppress the deviation of the actual fastening time from the predicted fastening time.

(3)第3の態様に係る組立システム100は、(1)の組立システム100であって、前記エンドエフェクタ12に設けられ、前記施工対象物200を撮像した画像を生成する撮像装置20を更に備え、前記取得部31は、前記画像を第2所定周期で更に取得し、前記制御部36は、前記ナット202が前記ボルト201に接触していない第1位置で前記取得された第3時刻における前記画像と、前記第3時刻における前記ナット202の位置座標および姿勢角とが入力されると、前記ナット202が前記ボルト201に接触した第2位置に前記ナット202が近づいた、前記第3時刻よりも後の第4時刻における前記ナット202の位置座標および姿勢角を示す指令値を出力するように学習された第2学習済みモデル392を用いて、前記エンドエフェクタ12を制御してもよい。 (3) The assembly system 100 according to the third embodiment is the assembly system 100 of (1), further comprising an imaging device 20 provided on the end effector 12 and generating an image of the object to be constructed 200, wherein the acquisition unit 31 further acquires the image at a second predetermined period, and the control unit 36 controls the end effector 12 using a second trained model 392 that has been learned to output command values indicating the position coordinates and orientation angle of the nut 202 at a fourth time point, which is later than the third time point, when the nut 202 approaches the second position where it contacts the bolt 201, upon input of the image at a third time point acquired at a first position where the nut 202 is not in contact with the bolt 201, and the position coordinates and orientation angle of the nut 202 at the third time point.

これにより、第2学習済みモデル392に対しての入力が行われるたびに、第1位置に位置するナット202を、第2位置に向けて遷移させることができる。 This allows the nut 202, currently located at the first position, to move towards the second position each time an input is received for the second trained model 392.

(4)第4の態様に係る組立システム100は、(3)の組立システム100であって、前記第2学習済みモデル392は、前記第2位置から前記第1位置に前記エンドエフェクタ12を移動させるダイレクトティーチング動作中に取得された複数の前記画像と、各々の前記画像が取得された時刻に対応する前記ナット202の位置座標および姿勢角と、を含む教師データセットが入力される学習ステップが繰り返し実行されたことで、前記入力に応じた前記指令値を出力するように学習されていてもよい。 (4) The assembly system 100 according to the fourth embodiment is the assembly system 100 of (3), wherein the second trained model 392 may be trained to output the command value corresponding to the input by repeatedly performing a training step in which a training dataset is input, which includes a plurality of images acquired during a direct teaching operation to move the end effector 12 from the second position to the first position, and the position coordinates and attitude angle of the nut 202 corresponding to the time when each of the images was acquired.

これにより、ノイズなどの割合が少ないより高品質な教師データセットを取得することができる。 This allows for the acquisition of higher-quality training datasets with a lower proportion of noise and other unwanted elements.

(5)第5の態様に係る組立システム100は、(3)または(4)の組立システム100であって、前記制御部36は、前記第2位置で前記取得された前記画像と、前記画像が取得された時刻に対応する前記ナット202の位置座標および姿勢角と、前記画像が取得された時刻に対応する前記接触力およびトルクとが入力されると、前記ナット202および前記ボルト201の螺合の成否を示す判定結果を出力するように学習された第3学習済みモデル393を用いて、前記エンドエフェクタ12を制御してもよい。 (5) The assembly system 100 according to the fifth embodiment is the assembly system 100 of (3) or (4), wherein the control unit 36 controls the end effector 12 using a third trained model 393 that has been trained to output a determination result indicating the success or failure of screwing the nut 202 and the bolt 201 when the image acquired at the second position, the position coordinates and orientation angle of the nut 202 corresponding to the time the image was acquired, and the contact force and torque corresponding to the time the image was acquired are input.

これにより、例えば、ナット202およびボルト201の螺合が誤った状態で締結されることを回避できる。 This prevents, for example, incorrect fastening of the nut 202 and bolt 201.

(6)第6の態様に係る組立システム100は、(1)から(4)のうちいずれか1つの組立システム100であって、前記ナット202の位置座標は、前記マニピュレータ10が持つ原点に準拠した世界座標系で表現されており、前記制御装置30は、前記算出された前記ナット202の位置座標を前記世界座標系からボルト中心座標系に変換する座標変換部33を更に備え、前記制御部36は、前記変換された前記ナット202の位置座標を前記第1学習済みモデル391に入力してもよい。 (6) The assembly system 100 according to the sixth embodiment is any one of the assembly systems 100 from (1) to (4), wherein the position coordinates of the nut 202 are expressed in a world coordinate system based on the origin of the manipulator 10, the control device 30 further comprises a coordinate transformation unit 33 that transforms the calculated position coordinates of the nut 202 from the world coordinate system to the bolt center coordinate system, and the control unit 36 may input the transformed position coordinates of the nut 202 into the first learned model 391.

これにより、世界座標系で表現されるナット202の位置座標がボルト201ごとに生じる固有の位置座標であるのに対して、ボルト201中心座標といった同一の尺度でナット202のボルト201に対する相対的な位置座標を表すことができる。 This allows us to represent the relative position coordinates of the nut 202 with respect to the bolt 201 using the same scale, such as the bolt 201's center coordinates, whereas the position coordinates of the nut 202, expressed in the world coordinate system, are unique position coordinates that occur for each bolt 201.

(7)第7の態様に係る組立システム100は、(1)から(4)のうちいずれかの1つの組立システム100であって、前記制御装置30は、前記取得された各々の前記関節部110の関節角に基づく前記エンドエフェクタ12の自重に関する補正値を用いて、前記取得された前記接触力を補正する補正部34を更に備え、前記制御部36は、前記補正された前記接触力を前記第1学習済みモデル391に入力してもよい。 (7) The assembly system 100 according to the seventh embodiment is one of the assembly systems 100 from (1) to (4), wherein the control device 30 further comprises a correction unit 34 that corrects the acquired contact force using a correction value relating to the self-weight of the end effector 12 based on the joint angle of each of the acquired joints 110, and the control unit 36 may input the corrected contact force to the first learned model 391.

これにより、エンドエフェクタ12から伝達された接触力よりも実際に生じた接触力に近づいた接触力を第1学習済みモデル391の入力要素とすることができる。 This allows the input element of the first trained model 391 to be a contact force that is closer to the actual contact force than the contact force transmitted from the end effector 12.

(8)第8の態様に係る組立システム100は、(1)から(4)のうちいずれかの1つの組立システム100であって、前記第2センサ14は、各々の前記関節部110が有するモータ117の電流値を取得可能な電流センサ141であってもよい。 (8) The assembly system 100 according to the eighth embodiment is any one of the assembly systems 100 from (1) to (4), and the second sensor 14 may be a current sensor 141 capable of acquiring the current value of the motor 117 of each of the joint portions 110.

これにより、例えば、第2センサ14としての力覚センサ140などを用いる場合と比較して、マニピュレータ10全体のサイズおよび重量を抑えることができる。 This allows for a reduction in the overall size and weight of the manipulator 10 compared to, for example, using a force sensor 140 as the second sensor 14.

(9)第9の態様に係る組立システム100は、(1)から(4)のうちいずれかの1つの組立システム100であって、前記マニピュレータ10が載置された台座部15と、前記台座部15を前記施工対象物200の周囲で移動可能にさせる移動機構16(車輪160、電動スライダ161)と、を更に備えてもよい。 (9) The assembly system 100 according to the ninth embodiment is one of the assembly systems 100 from (1) to (4), further comprising a base portion 15 on which the manipulator 10 is mounted, and a moving mechanism 16 (wheels 160, electric slider 161) that allows the base portion 15 to move around the object to be constructed 200.

これにより、より広い範囲でマニピュレータ10が動作を行うことができる。 This allows the manipulator 10 to operate over a wider range.

(10)第10の態様に係る組立システム100は、(3)または(4)の組立システム100であって、前記エンドエフェクタ12は、基部122と、前記基部122から延びるとともに前記軸線を中心とした筒状を成し、先端側に前記ナット202の少なくとも一部を収容可能な収容部123rが形成されたソケット部123とを有するナットランナ121と、前記ソケット部123の外周側に回動可能に固定されて前記軸線に交差する方向に延びる第1部分126と、前記第1部分126から前記先端側に延びる延在部127aおよび前記延在部127aの先端に設けられて前記軸線に近づくように前記延在部127aから突出することで前記ナット202に当接する爪部127bを有する第2部分127とを有するナット保持部材124と、前記基部122と前記第1部分126との間に設けられ、前記第1部分126に対して前記先端側に向かう弾性力を付与する弾性部材128と、を有してもよい。 (10) An assembly system 100 according to the tenth embodiment is the assembly system 100 of (3) or (4), wherein the end effector 12 has a base portion 122 and a nut runner 121 having a base portion 122 and a socket portion 123 that extends from the base portion 122 and is cylindrical in shape around the axis, with a housing portion 123r formed on the tip side that can accommodate at least a part of the nut 202 and a part that is rotatably fixed to the outer circumference of the socket portion 123 and extends in a direction intersecting the axis The nut holding member 124 may have a first portion 126, a second portion 127 having an extended portion 127a extending from the first portion 126 toward the tip, and a claw portion 127b provided at the tip of the extended portion 127a that protrudes from the extended portion 127a toward the axis and contacts the nut 202; and an elastic member 128 provided between the base portion 122 and the first portion 126, which imparts an elastic force to the first portion 126 toward the tip.

これにより、例えば、ナット202を吸引して保持する機構を備えたエンドエフェクタ12などと比較して、より簡易な構成でエンドエフェクタ12がナット202を保持することができる。 This allows the end effector 12 to hold the nut 202 with a simpler configuration compared to, for example, an end effector 12 equipped with a mechanism for suctioning and holding the nut 202.

(11)第11の態様に係る組立システム100は、(10)の組立システム100であって、前記撮像装置20は、前記収容部123rよりも前記基部122に近い側の前記ソケット部123内に配置され、前記撮像装置20は、前記ナット202の孔(ナット孔202h)を通じて、前記施工対象物200を撮像した前記画像を生成する撮像部21と、前記ナット202の孔(ナット孔202h)を通じて、前記施工対象物200に向けて光を照射する照明部22と、を有してもよい。 (11) The assembly system 100 according to the eleventh embodiment is the assembly system 100 of (10), wherein the imaging device 20 is located in the socket portion 123 on the side closer to the base portion 122 than the housing portion 123r, and the imaging device 20 may include an imaging unit 21 that generates the image of the object to be constructed 200 by imaging it through the hole (nut hole 202h) of the nut 202, and an illumination unit 22 that irradiates light toward the object to be constructed 200 through the hole (nut hole 202h) of the nut 202.

これにより、撮像装置20の撮像範囲を集中的に照らしながら画像を生成することができる。 This allows for the generation of images while concentrating illumination on the imaging range of the imaging device 20.

(12)第12の態様に係る制御方法は、複数の関節部110を有するアーム11と、前記アーム11によって移動されるとともに、ナット202を保持して前記ナット202を軸線回りに回転させるエンドエフェクタ12と、各々の前記関節部110の関節角を取得する第1センサ13と、施工対象物200に設けられたボルト201に前記ナット202が接触した場合に、前記エンドエフェクタ12から伝達された接触力およびトルクを取得する第2センサ14と、を有するマニピュレータ10を制御する制御方法であって、各々の前記関節部110の関節角と、前記接触力およびトルクとを第1所定周期で取得するステップと、前記取得された各々の前記関節部110の関節角に基づき、前記ナット202の位置座標および姿勢角を算出するステップと、第1時刻における前記ナット202の位置座標および姿勢角と、前記第1時刻における前記接触力およびトルクとが入力されると、前記ナット202が前記ボルト201に締結された状態を示す前記ナット202の目標位置座標および目標姿勢角に近づいた、前記第1時刻よりも後の第2時刻における前記ナット202の位置座標および姿勢角を示す指令値を出力するように学習された第1学習済みモデル391を用いて、前記エンドエフェクタ12を制御するステップと、を実行する。 (12) A control method relating to the twelfth aspect is a control method for controlling a manipulator 10 having an arm 11 having a plurality of joints 110, an end effector 12 which is moved by the arm 11 and holds a nut 202 and rotates the nut 202 around its axis, a first sensor 13 which acquires the joint angle of each of the joints 110, and a second sensor 14 which acquires the contact force and torque transmitted from the end effector 12 when the nut 202 comes into contact with a bolt 201 provided on the object to be constructed 200, wherein the control method acquires the joint angle of each of the joints 110, the contact force and torque at a first predetermined period. The process involves: 1) calculating the position coordinates and orientation angle of the nut 202 based on the acquired joint angles of each of the joint portions 110; and 2) controlling the end effector 12 using a first trained model 391, which is trained to output command values indicating the position coordinates and orientation angle of the nut 202 at a second time point, after the first time point, when the position coordinates and orientation angle of the nut 202 at a first time point and the contact force and torque at the first time point are input.

(13)第13の態様に係るプログラムは、複数の関節部110を有するアーム11と、前記アーム11によって移動されるとともに、ナット202を保持して前記ナット202を軸線回りに回転させるエンドエフェクタ12と、各々の前記関節部110の関節角を取得する第1センサ13と、施工対象物200に設けられたボルト201に前記ナット202が接触した場合に、前記エンドエフェクタ12から伝達された接触力およびトルクを取得する第2センサ14と、を有するマニピュレータ10を制御する制御装置30のコンピュータ1100に、各々の前記関節部110の関節角と、前記接触力およびトルクとを第1所定周期で取得するステップと、前記取得された各々の前記関節部110の関節角に基づき、前記ナット202の位置座標および姿勢角を算出するステップと、第1時刻における前記ナット202の位置座標および姿勢角と、前記第1時刻における前記接触力およびトルクとが入力されると、前記ナット202が前記ボルト201に締結された状態を示す前記ナット202の目標位置座標および目標姿勢角に近づいた、前記第1時刻よりも後の第2時刻における前記ナット202の位置座標および姿勢角を示す指令値を出力するように学習された第1学習済みモデル391を用いて、前記エンドエフェクタ12を制御するステップと、を実行させる。 (13) The program according to the 13th embodiment provides the computer 1100 of a control device 30 that controls a manipulator 10 having an arm 11 having a plurality of joints 110, an end effector 12 that is moved by the arm 11 and holds a nut 202 and rotates the nut 202 around its axis, a first sensor 13 that acquires the joint angle of each of the joints 110, and a second sensor 14 that acquires the contact force and torque transmitted from the end effector 12 when the nut 202 comes into contact with a bolt 201 provided on the object to be constructed 200, to the computer 1100 of the control device 30, which provides the joint angle of each of the joints 110, the contact force and torque in a first predetermined period The following steps are performed: acquiring information; calculating the position coordinates and orientation angle of the nut 202 based on the acquired joint angles of each of the joint portions 110; and controlling the end effector 12 using a first trained model 391, which is trained to output command values indicating the position coordinates and orientation angle of the nut 202 at a second time point (later than the first time point) when the position coordinates and orientation angle of the nut 202 at a first time point, and the contact force and torque at the first time point, are input.

10…マニピュレータ 11…アーム 12…エンドエフェクタ 13…第1センサ 14…第2センサ 15…台座部 16…移動機構 17…キャリブレーション機構 20…撮像装置 21…撮像部 22…照明部 30…制御装置 31…取得部 32…算出部 33…座標変換部 34…補正部 35…判定部 36…制御部 37…学習部 38…カウンタ部 39…記憶部 100…組立システム 110…関節部 111…第1関節部 112…第2関節部 113…第3関節部 114…第4関節部 115…第5関節部 116…第6関節部 117…モータ 117a…第1モータ 117b…第2モータ 117c…第3モータ 117d…第4モータ 117e…第5モータ 117f…第6モータ 118…接続部 118a…第1接続部 118b…第2接続部 118c…第3接続部 120…本体部 120a…締結用モータ 121…ナットランナ 122…基部 122a…前面 123…ソケット部 123a…テーパ面 123b…締結面 123c…位置決め面 123e…開口 123i…内周面 123o…外周面 123r…収容部 124…ナット保持部材 125…回動軸 126…第1部分 127…第2部分 127a…延在部 127b…爪部 128…弾性部材 130…エンコーダ 131…第1エンコーダ 132…第2エンコーダ 133…第3エンコーダ 134…第4エンコーダ 135…第5エンコーダ 136…第6エンコーダ 140…力覚センサ 141…電流センサ 160…車輪 161…電動スライダ 200…施工対象物 201…ボルト 201a…雄ねじ部 201e,202e…端面 202…ナット 202a…ナット本体 202b…カラー 202h…ナット孔 210…第1部品 220…第2部品 300…作業台 351…第1判定部 352…第2判定部 353…第3判定部 354…第4判定部 355…第5判定部 356…第6判定部 361…第1制御部 362…第2制御部 363…第3制御部 391…第1学習済みモデル 392…第2学習済みモデル 393…第3学習済みモデル 394…第4学習済みモデル 395…CADデータ 396…第5学習済みモデル 397…ばらつき生成モデル 1100…コンピュータ 1110…プロセッサ 1120…メインメモリ 1130…ストレージ 1140…インターフェース Ar…回転軸線 Ar1…軸線 Ar2…中心線 CG…エンドエフェクタの重心位置 Da…軸線方向 Da1…一方側 Da2…他方側 Dv…鉛直方向 Fb…接触力 Fg…自重 Fg1…補正値 Ft…トルク O1…第1回動軸線 O2…第2回動軸線 O3…第3回動軸線 O4…第4回動軸線 O5…第5回動軸線 O6…第6回動軸線 R…収容空間 S…制御対象装置 10...Manipulator 11...Arm 12...End effector 13...First sensor 14...Second sensor 15...Base 16...Movement mechanism 17...Calibration mechanism 20...Imaging device 21...Imaging unit 22...Illumination unit 30...Control device 31...Acquisition unit 32...Calculation unit 33...Coordinate transformation unit 34...Correction unit 35...Determination unit 36...Control unit 37...Learning unit 38...Counter unit 39...Storage unit 100...Assembly system 110...Joint 111...First joint 112...Second joint 113...Third joint 114...Fourth joint 115...Fifth joint 116...Sixth joint 117...Motor 117a...First motor 117b...Second motor 117c...Third motor 117d...Fourth motor 117e...5th motor 117f...6th motor 118...connection part 118a...1st connection part 118b...2nd connection part 118c...3rd connection part 120...main body part 120a...fastening motor 121...nut runner 122...base part 122a...front surface 123...socket part 123a...tapered surface 123b...fastening surface 123c...positioning surface 123e...opening 123i...inner circumferential surface 123o...outer circumferential surface 123r...housing part 124...nut holding member 125...rotating shaft 126...1st part 127...2nd part 127a...extension part 127b...claw part 128...elastic member 130...encoder 131...1st encoder 132...2nd encoder 133...3rd encoder 134...Fourth encoder 135...Fifth encoder 136...Sixth encoder 140...Force sensor 141...Current sensor 160...Wheel 161...Electric slider 200...Object to be constructed 201...Bolt 201a...Male threaded part 201e, 202e...End face 202...Nut 202a...Nut body 202b...Collar 202h...Nut hole 210...First part 220...Second part 300...Workbench 351...First judgment unit 352...Second judgment unit 353...Third judgment unit 354...Fourth judgment unit 355...Fifth judgment unit 356...Sixth judgment unit 361...First control unit 362...Second control unit 363...Third control unit 391...First trained model 392...Second trained model 393…Third trained model 394…Fourth trained model 395…CAD data 396…Fifth trained model 397…Variation generation model 1100…Computer 1110…Processor 1120…Main memory 1130…Storage 1140…Interface Ar…Rotation axis Ar1…Axis Ar2…Centerline CG…Center of gravity of end effector Da…Axis direction Da1…One side Da2…Other side Dv…Vertical direction Fb…Contact force Fg…Self-weight Fg1…Correction value Ft…Torque O1…First rotation axis O2…Second rotation axis O3…Third rotation axis O4…Fourth rotation axis O5…Fifth rotation axis O6…Sixth rotation axis R…Accommodation space S…Controlled device

Claims (13)

複数の関節部を有するアームと、
前記アームによって移動されるとともに、ナットを保持して前記ナットを軸線回りに回転させるエンドエフェクタと、
各々の前記関節部の関節角を取得する第1センサと、
施工対象物に設けられたボルトに前記ナットが接触した場合に、前記エンドエフェクタから伝達された接触力およびトルクを取得する第2センサと、
を有するマニピュレータと、
前記マニピュレータを制御する制御装置と、
を備え、
前記制御装置は、
各々の前記関節部の関節角と、前記接触力およびトルクとを第1所定周期で取得する取得部と、
前記取得された各々の前記関節部の関節角に基づき、前記ナットの位置座標および姿勢角を算出する算出部と、
第1時刻における前記ナットの位置座標および姿勢角と、前記第1時刻における前記接触力およびトルクとが入力されると、前記ナットが前記ボルトに締結された状態を示す前記ナットの目標位置座標および目標姿勢角に近づいた、前記第1時刻よりも後の第2時刻における前記ナットの位置座標および姿勢角を示す指令値を出力するように学習された第1学習済みモデルを用いて、前記エンドエフェクタを制御する制御部と、
を備える組立システム。
An arm having multiple joints,
An end effector which is moved by the aforementioned arm and holds the nut and rotates the nut around its axis,
A first sensor for acquiring the joint angle of each of the aforementioned joints,
A second sensor acquires the contact force and torque transmitted from the end effector when the nut comes into contact with a bolt provided on the object to be constructed,
A manipulator having,
A control device for controlling the manipulator,
Equipped with,
The control device is
An acquisition unit that acquires the joint angle of each of the aforementioned joints, the contact force and torque at a first predetermined period,
A calculation unit calculates the position coordinates and orientation angle of the nut based on the joint angles of each of the aforementioned joints obtained,
A control unit controls the end effector using a first trained model that, upon input of the position coordinates and orientation angle of the nut at a first time point, and the contact force and torque at the first time point, outputs command values indicating the position coordinates and orientation angle of the nut at a second time point, which is later than the first time point and approaches the target position coordinates and orientation angle of the nut indicating that the nut is fastened to the bolt.
An assembly system equipped with the following features.
前記第1学習済みモデルは、
前記ナットの前記目標位置座標および目標姿勢角から、ランダムに与えられた量外れた前記ナットの既知位置座標および既知姿勢角が、前記目標位置座標および目標姿勢角になるように前記エンドエフェクタを制御する教示動作中に取得された複数の前記ナットの位置座標および姿勢角と、
各々の前記ナットの位置座標および姿勢角が取得された時刻に対応する前記接触力およびトルクと、
を含む教師データセットが入力される学習ステップが繰り返し実行されたことで、前記入力に応じた前記指令値を出力するように学習されている
請求項1に記載の組立システム。
The first pre-trained model described above is:
A plurality of position coordinates and orientation angles of the nuts obtained during a teaching operation that controls the end effector so that the known position coordinates and orientation angles of the nuts, which are randomly deviated by a given amount from the target position coordinates and target orientation angles of the nuts, are the target position coordinates and target orientation angles,
The contact force and torque corresponding to the time at which the position coordinates and orientation angle of each nut were acquired,
The assembly system according to claim 1, wherein a learning step in which a training dataset including is input is repeatedly performed is learned to output the command value corresponding to the input.
前記エンドエフェクタに設けられ、前記施工対象物を撮像した画像を生成する撮像装置を更に備え、
前記取得部は、前記画像を第2所定周期で更に取得し、
前記制御部は、
前記ナットが前記ボルトに接触していない第1位置で前記取得された第3時刻における前記画像と、前記第3時刻における前記ナットの位置座標および姿勢角とが入力されると、前記ナットが前記ボルトに接触した第2位置に前記ナットが近づいた、前記第3時刻よりも後の第4時刻における前記ナットの位置座標および姿勢角を示す指令値を出力するように学習された第2学習済みモデルを用いて、前記エンドエフェクタを制御する
請求項1に記載の組立システム。
The end effector is further provided with an imaging device that generates an image of the object to be constructed,
The acquisition unit further acquires the image at a second predetermined cycle,
The control unit,
The assembly system according to claim 1, wherein when the image at a third time taken at a first position in which the nut is not in contact with the bolt, and the position coordinates and attitude angle of the nut at the third time are input, the end effector is controlled using a second trained model that has been trained to output command values indicating the position coordinates and attitude angle of the nut at a fourth time, which is later than the third time, when the nut has approached a second position in which it is in contact with the bolt.
前記第2学習済みモデルは、
前記第2位置から前記第1位置に前記エンドエフェクタを移動させるダイレクトティーチング動作中に取得された複数の前記画像と、
各々の前記画像が取得された時刻に対応する前記ナットの位置座標および姿勢角と、
を含む教師データセットが入力される学習ステップが繰り返し実行されたことで、前記入力に応じた前記指令値を出力するように学習されている
請求項3に記載の組立システム。
The second pre-trained model described above is:
A plurality of images acquired during the direct teaching operation that moves the end effector from the second position to the first position,
The position coordinates and orientation angle of the nut corresponding to the time when each of the aforementioned images was acquired,
The assembly system according to claim 3, wherein a learning step in which a training dataset including is input is repeatedly performed is learned to output the command value corresponding to the input.
前記制御部は、
前記第2位置で前記取得された前記画像と、前記画像が取得された時刻に対応する前記ナットの位置座標および姿勢角と、前記画像が取得された時刻に対応する前記接触力およびトルクとが入力されると、前記ナットおよび前記ボルトの螺合の成否を示す判定結果を出力するように学習された第3学習済みモデルを用いて、前記エンドエフェクタを制御する
請求項3または請求項4に記載の組立システム。
The control unit,
The assembly system according to claim 3 or 4, wherein the end effector is controlled using a third trained model that has been trained to output a determination result indicating whether the nut and bolt are screwed together, when the image acquired at the second position, the position coordinates and orientation angle of the nut corresponding to the time the image was acquired, and the contact force and torque corresponding to the time the image was acquired are input.
前記ナットの位置座標は、前記マニピュレータが持つ原点に準拠した世界座標系で表現されており、
前記制御装置は、前記算出された前記ナットの位置座標を前記世界座標系からボルト中心座標系に変換する座標変換部を更に備え、
前記制御部は、前記変換された前記ナットの位置座標を前記第1学習済みモデルに入力する
請求項1から請求項4のうちいずれか1項に記載の組立システム。
The position coordinates of the nut are expressed in a world coordinate system that is based on the origin of the manipulator.
The control device further includes a coordinate transformation unit that transforms the calculated position coordinates of the nut from the world coordinate system to the bolt center coordinate system.
The assembly system according to any one of claims 1 to 4, wherein the control unit inputs the converted position coordinates of the nut to the first trained model.
前記制御装置は、前記取得された各々の前記関節部の関節角に基づく前記エンドエフェクタの自重に関する補正値を用いて、前記取得された前記接触力を補正する補正部を更に備え、
前記制御部は、前記補正された前記接触力を前記第1学習済みモデルに入力する
請求項1から請求項4のうちいずれか1項に記載の組立システム。
The control device further includes a correction unit that corrects the acquired contact force using a correction value relating to the self-weight of the end effector based on the joint angle of each of the acquired joints,
The assembly system according to any one of claims 1 to 4, wherein the control unit inputs the corrected contact force to the first learned model.
前記第2センサは、各々の前記関節部が有するモータの電流値を取得可能な電流センサである
請求項1から請求項4のうちいずれか1項に記載の組立システム。
The assembly system according to any one of claims 1 to 4, wherein the second sensor is a current sensor capable of acquiring the current value of the motors of each of the joints.
前記マニピュレータが載置された台座部と、
前記台座部を前記施工対象物の周囲で移動可能にさせる移動機構と、
を更に備える
請求項1から請求項4のうちいずれか1項に記載の組立システム。
The base on which the manipulator is placed,
A movable mechanism that allows the base portion to move around the object to be constructed,
The assembly system according to any one of claims 1 to 4, further comprising:
前記エンドエフェクタは、
基部と、前記基部から延びるとともに前記軸線を中心とした筒状を成し、先端側に前記ナットの少なくとも一部を収容可能な収容部が形成されたソケット部とを有するナットランナと、
前記ソケット部の外周側に回動可能に固定されて前記軸線に交差する方向に延びる第1部分と、前記第1部分から前記先端側に延びる延在部および前記延在部の先端に設けられて前記軸線に近づくように前記延在部から突出することで前記ナットに当接する爪部を有する第2部分とを有するナット保持部材と、
前記基部と前記第1部分との間に設けられ、前記第1部分に対して前記先端側に向かう弾性力を付与する弾性部材と、
を有する
請求項3または請求項4に記載の組立システム。
The aforementioned end effector is,
A nut runner having a base and a socket portion that extends from the base and is cylindrical in shape centered on the axis, with a receiving portion formed at the tip side capable of accommodating at least a part of the nut,
A nut holding member having a first portion that is rotatably fixed to the outer circumference of the socket portion and extends in a direction intersecting the axis, and a second portion that has an extended portion extending from the first portion toward the tip and a claw portion provided at the tip of the extended portion that protrudes from the extended portion so as to approach the axis and contacts the nut,
An elastic member provided between the base and the first portion, which imparts an elastic force to the first portion toward the tip side,
The assembly system according to claim 3 or claim 4, having the following features.
前記撮像装置は、前記収容部よりも前記基部に近い側の前記ソケット部内に配置され、
前記撮像装置は、
前記ナットの孔を通じて、前記施工対象物を撮像した前記画像を生成する撮像部と、
前記ナットの孔を通じて、前記施工対象物に向けて光を照射する照明部と、
を有する
請求項10に記載の組立システム。
The imaging device is positioned in the socket portion on the side closer to the base portion than the housing portion.
The imaging device is
An imaging unit generates the image of the object to be constructed by taking an image of it through the hole in the nut,
A lighting unit that shines light towards the object to be constructed through the hole in the nut,
The assembly system according to claim 10, having the following features.
複数の関節部を有するアームと、
前記アームによって移動されるとともに、ナットを保持して前記ナットを軸線回りに回転させるエンドエフェクタと、
各々の前記関節部の関節角を取得する第1センサと、
施工対象物に設けられたボルトに前記ナットが接触した場合に、前記エンドエフェクタから伝達された接触力およびトルクを取得する第2センサと、
を有するマニピュレータを制御する制御方法であって、
各々の前記関節部の関節角と、前記接触力およびトルクとを第1所定周期で取得するステップと、
前記取得された各々の前記関節部の関節角に基づき、前記ナットの位置座標および姿勢角を算出するステップと、
第1時刻における前記ナットの位置座標および姿勢角と、前記第1時刻における前記接触力およびトルクとが入力されると、前記ナットが前記ボルトに締結された状態を示す前記ナットの目標位置座標および目標姿勢角に近づいた、前記第1時刻よりも後の第2時刻における前記ナットの位置座標および姿勢角を示す指令値を出力するように学習された第1学習済みモデルを用いて、前記エンドエフェクタを制御するステップと、
を実行する制御方法。
An arm having multiple joints,
An end effector which is moved by the aforementioned arm and holds the nut and rotates the nut around its axis,
A first sensor for acquiring the joint angle of each of the aforementioned joints,
A second sensor acquires the contact force and torque transmitted from the end effector when the nut comes into contact with a bolt provided on the object to be constructed,
A control method for controlling a manipulator having,
A step of acquiring the joint angle of each of the aforementioned joints, the contact force and torque at a first predetermined period,
A step of calculating the position coordinates and orientation angle of the nut based on the joint angles of each of the joints obtained above,
Steps include: controlling the end effector using a first trained model that, upon inputting the position coordinates and orientation angle of the nut at a first time point, and the contact force and torque at the first time point, outputs command values indicating the position coordinates and orientation angle of the nut at a second time point, which is later than the first time point and approaches the target position coordinates and orientation angle of the nut indicating that the nut is fastened to the bolt;
A control method for executing this.
複数の関節部を有するアームと、
前記アームによって移動されるとともに、ナットを保持して前記ナットを軸線回りに回転させるエンドエフェクタと、
各々の前記関節部の関節角を取得する第1センサと、
施工対象物に設けられたボルトに前記ナットが接触した場合に、前記エンドエフェクタから伝達された接触力およびトルクを取得する第2センサと、
を有するマニピュレータを制御する制御装置のコンピュータに、
各々の前記関節部の関節角と、前記接触力およびトルクとを第1所定周期で取得するステップと、
前記取得された各々の前記関節部の関節角に基づき、前記ナットの位置座標および姿勢角を算出するステップと、
第1時刻における前記ナットの位置座標および姿勢角と、前記第1時刻における前記接触力およびトルクとが入力されると、前記ナットが前記ボルトに締結された状態を示す前記ナットの目標位置座標および目標姿勢角に近づいた、前記第1時刻よりも後の第2時刻における前記ナットの位置座標および姿勢角を示す指令値を出力するように学習された第1学習済みモデルを用いて、前記エンドエフェクタを制御するステップと、
を実行させるプログラム。
An arm having multiple joints,
An end effector which is moved by the aforementioned arm and holds the nut and rotates the nut around its axis,
A first sensor for acquiring the joint angle of each of the aforementioned joints,
A second sensor acquires the contact force and torque transmitted from the end effector when the nut comes into contact with a bolt provided on the object to be constructed,
In the computer of a control device that controls a manipulator having,
A step of acquiring the joint angle of each of the aforementioned joints, the contact force and torque at a first predetermined period,
A step of calculating the position coordinates and orientation angle of the nut based on the joint angles of each of the joints obtained,
Steps include: controlling the end effector using a first trained model that, upon inputting the position coordinates and orientation angle of the nut at a first time point, and the contact force and torque at the first time point, outputs command values indicating the position coordinates and orientation angle of the nut at a second time point, which is later than the first time point and approaches the target position coordinates and orientation angle of the nut indicating that the nut is fastened to the bolt;
A program that executes the command.
JP2022199698A 2022-12-14 2022-12-14 Assembly system, control method, and program Active JP7834288B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022199698A JP7834288B2 (en) 2022-12-14 2022-12-14 Assembly system, control method, and program
PCT/JP2023/043647 WO2024128092A1 (en) 2022-12-14 2023-12-06 Assembly system, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022199698A JP7834288B2 (en) 2022-12-14 2022-12-14 Assembly system, control method, and program

Publications (2)

Publication Number Publication Date
JP2024085261A JP2024085261A (en) 2024-06-26
JP7834288B2 true JP7834288B2 (en) 2026-03-24

Family

ID=91484903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022199698A Active JP7834288B2 (en) 2022-12-14 2022-12-14 Assembly system, control method, and program

Country Status (2)

Country Link
JP (1) JP7834288B2 (en)
WO (1) WO2024128092A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120236244B (en) * 2025-05-29 2025-10-03 遂宁考拉悠然科技有限公司 Bolt assembly detection method, device, computing equipment and storage medium based on visual large model

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019093461A (en) 2017-11-20 2019-06-20 株式会社安川電機 Holding system, learning device, holding method and model manufacturing method
JP2020157380A (en) 2019-03-25 2020-10-01 Ntn株式会社 Fitting work device
WO2020218533A1 (en) 2019-04-26 2020-10-29 株式会社エスイーフォー Method and device for assigning attribute information to object
JP6870122B2 (en) 2018-02-01 2021-05-12 本田技研工業株式会社 Robot system and robot control method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019093461A (en) 2017-11-20 2019-06-20 株式会社安川電機 Holding system, learning device, holding method and model manufacturing method
JP6870122B2 (en) 2018-02-01 2021-05-12 本田技研工業株式会社 Robot system and robot control method
JP2020157380A (en) 2019-03-25 2020-10-01 Ntn株式会社 Fitting work device
WO2020218533A1 (en) 2019-04-26 2020-10-29 株式会社エスイーフォー Method and device for assigning attribute information to object

Also Published As

Publication number Publication date
JP2024085261A (en) 2024-06-26
WO2024128092A1 (en) 2024-06-20

Similar Documents

Publication Publication Date Title
CN100549889C (en) The control of operating control track
US12162148B2 (en) Control device, control system, mechanical apparatus system, and controlling method
JP6468741B2 (en) Robot system and robot system calibration method
CN102802867B (en) Device and method for spatially orienting at least two subassembly parts
US20160375532A1 (en) Fastening device, robot system, and fastening method for fastening plurality of fastening members
CN113021017B (en) Shape-following self-adaptive 3D detection and processing system
JP6811635B2 (en) Robot system and its control method
JP2014180707A (en) Robot device and method for manufacturing workpiece
CN104552292A (en) Robot control system, robot, program, and robot control method
JP5786550B2 (en) 6-axis robot offset detection method
JP7834288B2 (en) Assembly system, control method, and program
Zhang et al. A novel posture alignment system for aircraft wing assembly
JP6023251B2 (en) Robot system
Brandstötter et al. The curved manipulator (cuma-type arm): Realization of a serial manipulator with general structure in modular design
JPH05261682A (en) Calibration method for industrial robots
Nugroho et al. Design and repeatability test of a 6 degree of freedom robotic arm
JP2015085499A (en) Robot, robot system, control apparatus and control method
JP7466801B1 (en) CONTROL DEVICE, MACHINE TOOL SYSTEM, AND MACHINING METHOD
JP2021146435A (en) Robot system, method to be executed by robot system and method for generating teaching data
KR102591942B1 (en) A method and apparatus for controlling a robot using a model for stiffness and a model for cutting force
JP7093881B1 (en) System and automatic guided vehicle
JP2009196030A (en) Output torque limit circuit of industrial robot
CN117506937A (en) A method for autonomous placement of weldments based on multi-stage visual servo control
JP2013223896A (en) Robot control method and robot control device
CN116475649A (en) Under-actuated hitch systems for moving assembly lines

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20230113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260303

R150 Certificate of patent or registration of utility model

Ref document number: 7834288

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150