JP2016120558A - Robot and robot system - Google Patents

Robot and robot system Download PDF

Info

Publication number
JP2016120558A
JP2016120558A JP2014261875A JP2014261875A JP2016120558A JP 2016120558 A JP2016120558 A JP 2016120558A JP 2014261875 A JP2014261875 A JP 2014261875A JP 2014261875 A JP2014261875 A JP 2014261875A JP 2016120558 A JP2016120558 A JP 2016120558A
Authority
JP
Japan
Prior art keywords
robot
manipulator
unit
imaging unit
tcp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014261875A
Other languages
Japanese (ja)
Inventor
太郎 石毛
Taro Ishige
太郎 石毛
郁馬 降▲旗▼
Ikuma Furuhata
郁馬 降▲旗▼
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2014261875A priority Critical patent/JP2016120558A/en
Publication of JP2016120558A publication Critical patent/JP2016120558A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a robot capable of improving efficiency of work related to the installation of a work target.SOLUTION: A robot comprises: an arm; an imaging unit; a moving mechanism; and a control unit. The imaging unit is installed above the moving mechanism, a coordinate axis of the arm is set above the moving mechanism, the coordinate axis of the arm has a predetermined positional relation with the imaging unit, and the control unit calibrates the imaging unit relatively to the coordinate axis of the arm.SELECTED DRAWING: Figure 7

Description

この発明は、ロボット、及びロボットシステムに関する。   The present invention relates to a robot and a robot system.

ロボットに精度の高い作業を行わせるため、ロボットの機構や撮像装置、作業環境等の校正について研究・開発が行われている。   Research and development have been conducted on calibration of robot mechanisms, imaging devices, work environments, etc. in order to make robots perform highly accurate work.

これに関し、外部の計測装置を使わずにマニピュレーターのTCP(Tool Center Point)を何らかの治具によって機構的に拘束、もしくはマニピュレーター同士を連結することで、マニピュレーターの校正を行う方法が知られている(特許文献1、非特許文献1参照)。   In this regard, a method is known in which the manipulator is calibrated by mechanically constraining the TCP (Tool Center Point) of the manipulator without any external measuring device, or by connecting the manipulators together (see FIG. (See Patent Document 1 and Non-Patent Document 1).

マニピュレーターの駆動とともに移動するTCPの位置は、マニピュレーターが備える複数のアクチュエーターそれぞれの回転角を与えることによって順運動学に基づいて算出することができる。しかし、与えられた回転角が実現されるようにそれらのアクチュエーターを駆動させた場合に到達する実際のTCPの位置は、マニピュレーターを構成する部材の弾性等による誤差の影響によって、算出されたTCPの位置と異なる位置となる場合がある。この明細書では、マニピュレーターの校正とは、このような実際のTCPの位置と算出されたTCPの位置との差が小さくなるように各アクチュエーターの回転角を補正することを示す。   The position of the TCP that moves with the drive of the manipulator can be calculated based on forward kinematics by giving the rotation angles of each of the plurality of actuators provided in the manipulator. However, the actual TCP position that is reached when the actuators are driven so that a given rotation angle is realized depends on the error due to the elasticity of the members constituting the manipulator, etc. The position may be different from the position. In this specification, the calibration of the manipulator indicates that the rotation angle of each actuator is corrected so that the difference between the actual TCP position and the calculated TCP position becomes small.

一方、撮像部により撮像された撮像画像に基づいて、ロボットに作業を行わせる技術が研究・開発されている。   On the other hand, a technique for causing a robot to perform work based on a captured image captured by an imaging unit has been researched and developed.

これに関し、ロボットとは別体のカメラにより対象物を含む範囲を撮像し、撮像された撮像画像に基づいてロボットに対象物を把持させるロボット制御方法が知られている(特許文献2参照)。   In this regard, a robot control method is known in which a range including an object is captured by a camera separate from the robot, and the robot grips the object based on the captured image (see Patent Document 2).

特開2013−184236号公報JP 2013-184236 A 特開2014−144526号公報JP 2014-144526 A

http://www.cs.utah.edu/~jmh/Papers/Hollerbach_IJRR96.pdf 「The Calibration Index And Taxonomy for Robot Kinematics Calibration Methods(John M.Hollerbach, et al.): Closed Loop Kinematic Calibration」http://www.cs.utah.edu/~jmh/Papers/Hollerbach_IJRR96.pdf “The Calibration Index And Taxonomy for Robot Kinematics Calibration Methods (John M. Hollerbach, et al.): Closed Loop Kinematic Calibration”

しかし、従来の方法では、ロボットの姿勢が変化するたびにカメラ座標系とロボット座標系の相対的な位置及び姿勢が変化してしまうため、その都度、カメラ座標系とロボット座標系を対応付けるキャリブレーションを行わなければならないという問題があった。   However, with the conventional method, the relative position and orientation of the camera coordinate system and the robot coordinate system change each time the robot's posture changes. Therefore, calibration that associates the camera coordinate system with the robot coordinate system each time There was a problem that had to be done.

そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、キャリブレーションの手間を軽減することができるロボット、及びロボットシステムを提供する。   Accordingly, the present invention has been made in view of the above-described problems of the prior art, and provides a robot and a robot system that can reduce the labor of calibration.

本発明の一態様は、アームと、撮像部と、移動機構と、制御部と、を含み、前記撮像部は、前記移動機構よりも上に設置され、前記アームの座標軸は、前記移動機構よりも上に設定され、前記アームの座標軸は、前記撮像部と所定の位置関係にあり、前記制御部は、前記アームの座標軸に対して前記撮像部を校正する、ロボットである。
この構成により、ロボットは、アームの座標軸に対して撮像部を校正する。これにより、ロボットは、キャリブレーションの手間を軽減することができる。
One embodiment of the present invention includes an arm, an imaging unit, a movement mechanism, and a control unit, wherein the imaging unit is installed above the movement mechanism, and the coordinate axis of the arm is greater than that of the movement mechanism. The coordinate axis of the arm is in a predetermined positional relationship with the imaging unit, and the control unit is a robot that calibrates the imaging unit with respect to the coordinate axis of the arm.
With this configuration, the robot calibrates the imaging unit with respect to the coordinate axis of the arm. Thereby, the robot can reduce the labor of calibration.

また、本発明の他の態様は、ロボットにおいて、前記撮像部の座標軸は、前記アームの座標軸と一致している、構成が用いられてもよい。
この構成により、ロボットは、撮像部の座標軸と一致しているアームの座標軸に対して撮像部を校正する。これにより、ロボットは、撮像部の座標軸とアームの座標軸とのキャリブレーションに係る手間を軽減することができる。
In another aspect of the present invention, the robot may have a configuration in which a coordinate axis of the imaging unit is coincident with a coordinate axis of the arm.
With this configuration, the robot calibrates the imaging unit with respect to the coordinate axis of the arm that matches the coordinate axis of the imaging unit. Thereby, the robot can reduce the effort concerning the calibration of the coordinate axis of the imaging unit and the coordinate axis of the arm.

本発明の一態様は、アームと、撮像部と、移動機構とを備えるロボットと、前記ロボットを制御する制御装置と、を含み、前記撮像部は、前記移動機構よりも上に設置され、前記アームの座標軸は、前記移動機構よりも上に設定され、前記アームの座標軸は、前記撮像部と所定の位置関係にあり、前記制御装置は、前記アームの座標軸に対して前記撮像部を校正する、ロボットシステムである。
この構成により、ロボットシステムは、アームの座標軸に対して撮像部を校正する。これにより、ロボットシステムは、キャリブレーションの手間を軽減することができる。
One aspect of the present invention includes a robot including an arm, an imaging unit, and a moving mechanism, and a control device that controls the robot, wherein the imaging unit is installed above the moving mechanism, The coordinate axis of the arm is set above the moving mechanism, the coordinate axis of the arm is in a predetermined positional relationship with the imaging unit, and the control device calibrates the imaging unit with respect to the coordinate axis of the arm The robot system.
With this configuration, the robot system calibrates the imaging unit with respect to the coordinate axis of the arm. Thereby, the robot system can reduce the labor of calibration.

以上により、ロボット、及びロボットシステムは、アームの座標軸に対して撮像部を校正する。これにより、ロボット、及びロボットシステムは、キャリブレーションの手間を軽減することができる。   As described above, the robot and the robot system calibrate the imaging unit with respect to the coordinate axis of the arm. Thereby, the robot and the robot system can reduce the labor of calibration.

本実施形態に係るロボットシステム1の一例を示す構成図である。It is a lineblock diagram showing an example of robot system 1 concerning this embodiment. 治具Jの一例を示す図である。It is a figure which shows an example of the jig | tool J. FIG. 校正用情報取得動作に応じてTCPの位置が変化せず、TCPの姿勢が変化する状況の一例を示す図である。It is a figure which shows an example of the condition where the position of TCP does not change according to the information acquisition operation for calibration, and the attitude | position of TCP changes. ロボット20が備える第1マニピュレーターMNP1及び第2マニピュレーターMNP2の各関節と、ロボット20の腰軸とを例示する図である。FIG. 3 is a diagram illustrating each joint of the first manipulator MNP1 and the second manipulator MNP2 included in the robot 20 and the waist axis of the robot 20. 第1エンドエフェクターEND1の一例を示す図である。It is a figure which shows an example of 1st end effector END1. 制御装置30のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a control device 30. FIG. 制御装置30の機能構成の一例を示す図である。3 is a diagram illustrating an example of a functional configuration of a control device 30. FIG. 制御装置30が第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正を終えるまでの処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a process until the control apparatus 30 finishes calibration of the 1st manipulator MNP1 and the 2nd manipulator MNP2. 第1マニピュレーターMNP1の姿勢を例示する図である。It is a figure which illustrates the attitude | position of 1st manipulator MNP1. 第2実施形態に係るロボットシステム2の一例を示す構成図である。It is a block diagram which shows an example of the robot system 2 which concerns on 2nd Embodiment. 制御装置30aの機能構成の一例を示す図である。It is a figure which shows an example of a function structure of the control apparatus 30a. 制御装置30aがロボット20aに所定の作業を行わせる処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the process in which the control apparatus 30a makes the robot 20a perform predetermined work.

<第1実施形態>
以下、本発明の第1実施形態について、図面を参照して説明する。図1は、第1実施形態に係るロボットシステム1の一例を示す構成図である。ロボットシステム1は、ロボット20と、制御装置30を備える。ロボットシステム1は、図1に示した治具Jを用いてロボット20が備えるマニピュレーターの校正を行う。ここで、ロボットシステム1が行うマニピュレーターの校正について説明する。ロボットシステム1は、ロボット20のマニピュレーターが備える複数のアクチュエーターそれぞれの回転角を示す情報を、各アクチュエーターに接続される(又は備える)エンコーダーから取得する。以下、説明の便宜上、アクチュエーターの回転角を、単に回転角と称して説明する場合がある。
<First Embodiment>
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a configuration diagram illustrating an example of a robot system 1 according to the first embodiment. The robot system 1 includes a robot 20 and a control device 30. The robot system 1 calibrates the manipulator included in the robot 20 using the jig J shown in FIG. Here, the calibration of the manipulator performed by the robot system 1 will be described. The robot system 1 acquires information indicating the rotation angles of a plurality of actuators included in the manipulator of the robot 20 from encoders connected to (or included in) each actuator. Hereinafter, for convenience of explanation, the rotation angle of the actuator may be simply referred to as a rotation angle.

ロボットシステム1は、各エンコーダーから取得された回転角から、順運動学によって現在のマニピュレーターのTCPの位置を制御装置30により算出する。以下では、説明の便宜上、マニピュレーターのTCPの位置を、単にTCPの位置と称して説明する。ロボットシステム1は、この算出されたTCPの位置に基づいて、マニピュレーターにより各種の作業を行うようにロボット20を制御する。   The robot system 1 uses the controller 30 to calculate the current TCP position of the manipulator by forward kinematics from the rotation angle acquired from each encoder. Hereinafter, for convenience of explanation, the TCP position of the manipulator will be simply referred to as the TCP position. The robot system 1 controls the robot 20 to perform various operations by the manipulator based on the calculated TCP position.

しかし、算出されたTCPの位置は、マニピュレーターを構成する部材の弾性によって生じる誤差や、アクチュエーターの回転に係る誤差等によって、実際のTCPの位置と異なる位置を示す場合がある。例えば、マニピュレーターが1つのアクチュエーターのみを備えている場合を考えると、エンコーダーから取得された回転角をθとし、算出されたTCPの位置を実際のTCPの位置を再現するアクチュエーターの回転角をφとした時、この補正は、以下の式(1)に示すように、ある値η(正又は負のいずれかの値)を回転角θに加算することによって行われる。   However, the calculated TCP position may indicate a position different from the actual TCP position due to an error caused by the elasticity of the members constituting the manipulator, an error related to the rotation of the actuator, or the like. For example, if the manipulator has only one actuator, the rotation angle acquired from the encoder is θ, and the calculated TCP position is the rotation angle of the actuator that reproduces the actual TCP position. Then, this correction is performed by adding a certain value η (either positive or negative value) to the rotation angle θ as shown in the following equation (1).

φ=θ+η ・・・(1)   φ = θ + η (1)

以下では、上記の式(1)に示したようなアクチュエーターの回転角を補正するための値ηを、ジョイントオフセットと称して説明する。従って、ロボットシステム1が行うマニピュレーターの校正とは、換言すると、マニピュレーターが備える複数のアクチュエーターそれぞれの回転角毎に、ジョイントオフセットを算出し、算出されたジョイントオフセットによってマニピュレーターが備える複数のアクチュエーターそれぞれの回転角を補正することを示す。以下では、説明の便宜上、マニピュレーターが備える複数のアクチュエーターそれぞれの回転角毎のジョイントオフセットを、単にジョイントオフセットと称して説明する。   Hereinafter, the value η for correcting the rotation angle of the actuator as shown in the above formula (1) will be described as a joint offset. Therefore, the calibration of the manipulator performed by the robot system 1 means that, for each rotation angle of each of the plurality of actuators included in the manipulator, the joint offset is calculated, and the rotation of each of the plurality of actuators included in the manipulator is calculated based on the calculated joint offset. Indicates that the corner is corrected. Hereinafter, for convenience of explanation, a joint offset for each rotation angle of each of the plurality of actuators provided in the manipulator will be simply referred to as a joint offset.

このマニピュレーターの校正により、ロボットシステム1は、順運動学によって算出されるTCPの位置と、実際のTCPの位置を精度よく一致させることができる。その結果、ロボットシステム1は、ロボット20が備えるマニピュレーターに高い精度の作業を行わせることができる。以下では、このマニピュレーターの校正のうち、ロボットシステム1がアクチュエーターの回転角を補正するジョイントオフセットを算出し、算出されたジョイントオフセットを制御装置30に教示する(記憶させる)までの処理について説明する。   By calibrating the manipulator, the robot system 1 can accurately match the TCP position calculated by forward kinematics with the actual TCP position. As a result, the robot system 1 can cause the manipulator included in the robot 20 to perform work with high accuracy. In the following, a process from the calibration of the manipulator until the robot system 1 calculates a joint offset for correcting the rotation angle of the actuator and teaches (stores) the calculated joint offset to the control device 30 will be described.

このようなマニピュレーターの校正を行う際、ロボットシステム1は、TCPの位置をある位置に固定する。ロボットシステム1は、TCPの位置をある位置に固定するため、治具Jを用いる。ロボットシステム1は、ロボット20が備えるエンドエフェクターの所定部位を治具Jの上面に設けられた凹部Hに接触させる。エンドエフェクターの所定部位は、例えば、第1エンドエフェクターEND1に設けられた突起状の部位の先端である。この先端には、球が設けられている。この球の中心には、第1TCP位置が設定されている。治具Jの上面に設けられた凹部Hは、このようなエンドエフェクターの所定部位が接触した場合、治具Jの上面に沿った方向へのエンドエフェクターの所定部位の動きを固定する。   When calibrating such a manipulator, the robot system 1 fixes the position of the TCP at a certain position. The robot system 1 uses a jig J in order to fix the position of the TCP at a certain position. The robot system 1 brings a predetermined part of the end effector included in the robot 20 into contact with a recess H provided on the upper surface of the jig J. The predetermined part of the end effector is, for example, the tip of a protruding part provided in the first end effector END1. A sphere is provided at the tip. A first TCP position is set at the center of the sphere. The concave portion H provided on the upper surface of the jig J fixes the movement of the predetermined portion of the end effector in the direction along the upper surface of the jig J when such a predetermined portion of the end effector comes into contact.

以下では、説明の便宜上、エンドエフェクターの所定部位を凹部Hに接触させることで、治具Jの上面に沿った方向へエンドエフェクターの所定部位が動かないようにすることを、第1エンドエフェクターEND1の所定部位を凹部Hに嵌めると称して説明する。また、以下では、説明の便宜上、TCPの位置が固定されるある位置を、固定位置Xと称して説明する。なお、この一例において、エンドエフェクターの所定部位が球である場合について説明するが、エンドエフェクターの所定部位は、第1TCP位置を固定位置Xに固定することができれば、球である必要は無く、他の形状であってもよい。   In the following, for convenience of explanation, the predetermined end portion of the end effector is prevented from moving in the direction along the upper surface of the jig J by bringing the predetermined portion of the end effector into contact with the recess H. In the following description, the predetermined part is referred to as being fitted into the recess H. In the following, for convenience of explanation, a certain position where the position of the TCP is fixed will be referred to as a fixed position X. In this example, the case where the predetermined part of the end effector is a sphere will be described. However, the predetermined part of the end effector is not necessarily a sphere as long as the first TCP position can be fixed to the fixed position X. The shape may also be

すなわち、ロボットシステム1は、TCPの位置を固定位置Xに固定するため、エンドエフェクターの所定部位を凹部Hに嵌める。そして、ロボットシステム1は、エンドエフェクターの所定部位を凹部Hに嵌めたままの状態で、校正用情報取得動作をロボット20に行わせる。   That is, the robot system 1 fits a predetermined part of the end effector in the recess H in order to fix the position of the TCP to the fixed position X. Then, the robot system 1 causes the robot 20 to perform the calibration information acquisition operation with the predetermined part of the end effector being fitted in the recess H.

ここで、エンドエフェクターの所定部位を凹部Hに嵌めたままの状態とは、TCPの位置が固定位置Xに固定されるが、TCPの姿勢は固定されない状態を示す。この一例において、マニピュレーターのTCPの姿勢は、CPU(Central Processing Unit)の計算上、エンドエフェクターの所定部位の姿勢と一致した値を設定して用いる。そして、エンドエフェクターの所定部位の姿勢は、エンドエフェクターの所定部位に設定された座標軸の方向によって規定される。なお、TCPの姿勢は、他の部位の姿勢と一致するように設定されてもよい。   Here, the state in which the predetermined part of the end effector is fitted in the recess H indicates a state in which the TCP position is fixed at the fixed position X, but the TCP posture is not fixed. In this example, the TCP posture of the manipulator is set to a value that matches the posture of a predetermined part of the end effector in the calculation of the CPU (Central Processing Unit). The posture of the predetermined part of the end effector is defined by the direction of the coordinate axis set in the predetermined part of the end effector. Note that the posture of the TCP may be set to coincide with the posture of other parts.

また、校正用情報取得動作とは、エンドエフェクターの所定部位を治具Jの凹部Hに嵌めたままの状態で、ロボット20の姿勢を変更する動作を示す。ロボット20の姿勢とは、ロボット20が備える複数のアクチュエーター(マニピュレーターが備えるアクチュエーターと、ロボット20においてマニピュレーターが備えるアクチュエーター以外の他のアクチュエーターとを含む)それぞれの回転角によって指定される。   The calibration information acquisition operation refers to an operation of changing the posture of the robot 20 with the predetermined part of the end effector being fitted in the recess H of the jig J. The posture of the robot 20 is specified by the rotation angle of each of a plurality of actuators included in the robot 20 (including actuators included in the manipulator and actuators other than the actuator included in the manipulator in the robot 20).

TCPの位置は、エンドエフェクターの所定部位が凹部Hに嵌められたままであるため、校正用情報取得動作によって動くことはない。一方、TCPの姿勢は、校正用情報取得動作によって変化する。このように校正用情報取得動作に応じてTCPの位置が変化せず、TCPの姿勢が変化する状況を実現するためには、エンドエフェクターの所定部位の形状は、球状であることが望ましいが、校正用情報取得動作によってTCPの位置が固定位置Xから変化しなければ他の形状であってもよい。   Since the predetermined position of the end effector remains fitted in the recess H, the position of the TCP is not moved by the calibration information acquisition operation. On the other hand, the posture of the TCP changes depending on the calibration information acquisition operation. As described above, in order to realize a situation in which the position of the TCP does not change and the posture of the TCP changes according to the calibration information acquisition operation, the shape of the predetermined part of the end effector is preferably spherical, If the TCP position does not change from the fixed position X by the calibration information acquisition operation, another shape may be used.

ここで、治具Jについて説明する。治具Jは、作業台TBの上面に設置されている。作業台TBとは、テーブル等の台であるが、これに代えて、床面や壁面等、治具Jを設置できる他の物体であってもよい。治具Jは、例えば、上面に凹部Hが設けられた板状の金属である。なお、治具Jは、凹部Hが設けられていれば、床面や壁面等、他の物体であってもよい。   Here, the jig J will be described. The jig J is installed on the upper surface of the work table TB. The work table TB is a table such as a table, but may be another object such as a floor surface or a wall surface on which the jig J can be installed. The jig J is, for example, a plate-like metal having a recess H provided on the upper surface. The jig J may be another object such as a floor surface or a wall surface as long as the recess H is provided.

図2は、治具Jの一例を示す図である。図2に示したように、治具Jの上面には、円錐状の凹部Hが設けられている。なお、この凹部Hは、エンドエフェクターの所定部位を嵌めることで、TCPの位置を固定位置Xに固定したままTCPの姿勢を変化させることができる形状であれば他の形状でもよく、例えば、すり鉢状等であってもよい。治具Jは、第2部材の一例である。   FIG. 2 is a diagram illustrating an example of the jig J. As shown in FIG. 2, a conical recess H is provided on the upper surface of the jig J. The recess H may have another shape as long as it can change the posture of the TCP while fixing the position of the TCP to the fixed position X by fitting a predetermined part of the end effector. For example, a mortar Or the like. The jig J is an example of a second member.

ここで、図3を参照して、校正用情報取得動作に応じてTCPの位置が変化せず、TCPの姿勢が変化する状況について説明する。図3は、校正用情報取得動作に応じてTCPの位置が変化せず、TCPの姿勢が変化する状況の一例を示す図である。ロボットシステム1は、治具Jの凹部Hにエンドエフェクターの所定部位Oを嵌めたままの状態を保持するため、治具Jの上面に対して鉛直下方に向かって所定部位Oを凹部Hに力F1で押しつけ続ける。   Here, with reference to FIG. 3, a situation in which the TCP position does not change and the posture of the TCP changes according to the calibration information acquisition operation will be described. FIG. 3 is a diagram illustrating an example of a situation in which the TCP position does not change and the posture of the TCP changes according to the calibration information acquisition operation. Since the robot system 1 maintains the state where the predetermined portion O of the end effector is fitted in the concave portion H of the jig J, the robot system 1 forces the predetermined portion O to the concave portion H vertically downward with respect to the upper surface of the jig J. Continue pressing with F1.

この際、ロボットシステム1は、力センサー情報に基づく制御(例えば、コンプライアンス制御等)によって治具Jを破壊しないように所定の大きさの力F1で所定部位Oを凹部Hに押しつけ続ける。このようにすることで、TCPの位置は、固定位置Xに固定され、治具Jの上面に沿った方向へ移動することができなくなる(固定される)。従って、この状態を保持したまま、校正用情報取得動作によってエンドエフェクターが、例えば、矢印F2に沿って動いた場合、所定部位Oの姿勢(すなわち、TCPの姿勢)は変化するが、所定部位Oの位置(すなわち、TCPの位置)は変化しない。   At this time, the robot system 1 continues to press the predetermined portion O against the recess H with a force F1 having a predetermined magnitude so as not to destroy the jig J by control based on force sensor information (for example, compliance control). By doing so, the position of the TCP is fixed at the fixed position X and cannot move (fixed) in the direction along the upper surface of the jig J. Accordingly, when the end effector moves, for example, along the arrow F2 by the calibration information acquisition operation while maintaining this state, the posture of the predetermined portion O (that is, the posture of the TCP) changes, but the predetermined portion O The position of (ie, the position of TCP) does not change.

ロボットシステム1は、エンドエフェクターの所定部位を凹部Hに嵌めたまま校正用情報取得動作をロボット20に行わせることで、ロボット20の姿勢を変化させる毎に、ロボット20が備える複数のアクチュエーターそれぞれに係るエンコーダーから、回転角を示す情報を取得する。ロボットシステム1は、取得された複数の回転角を示す情報と、その時のロボット20の姿勢を示す情報とを対応付けて、校正用情報として記憶する。なお、エンドエフェクターの所定部位は、TCPの位置と一致させることが可能な部位であればよく、マニピュレーターの所定部位等の他の部位であってもよい。   The robot system 1 causes the robot 20 to perform a calibration information acquisition operation with the predetermined portion of the end effector fitted in the recess H, so that each time the posture of the robot 20 is changed, each of the plurality of actuators included in the robot 20 is changed. Information indicating the rotation angle is acquired from the encoder. The robot system 1 stores the acquired information indicating a plurality of rotation angles and the information indicating the posture of the robot 20 at that time as calibration information. The predetermined part of the end effector may be a part that can match the position of the TCP, and may be another part such as a predetermined part of the manipulator.

ロボットシステム1は、上記で説明した処理により記憶された校正用情報に基づいて、順運動学からロボット20の姿勢毎にTCPの位置を算出する方程式を導出する。これらの導出された方程式は、各エンコーダーから取得されたアクチュエーターそれぞれの回転角を入力パラメーターとし、TCPの位置を表す座標(3つの座標値)と、ジョイントオフセットとを未知数とする方程式である。なお、TCPの位置は、マニピュレーターのロボット座標系によって表される。   The robot system 1 derives an equation for calculating the TCP position for each posture of the robot 20 from the forward kinematics based on the calibration information stored by the processing described above. These derived equations are equations in which the rotation angle of each actuator obtained from each encoder is an input parameter, and the coordinates (three coordinate values) representing the position of the TCP and the joint offset are unknown. The TCP position is represented by the robot coordinate system of the manipulator.

ロボットシステム1は、導出された方程式による連立方程式を解くことにより、未知数であるTCPの位置を表す座標と、ジョイントオフセットを算出する。そして、ロボットシステム1は、算出されたジョイントオフセットに基づいてマニピュレーターの校正を行う。この校正により、ロボットシステム1は、マニピュレーターに高い精度の作業をロボット20に行わせることができる。   The robot system 1 calculates the coordinates representing the position of the TCP, which is an unknown number, and the joint offset by solving simultaneous equations based on the derived equations. Then, the robot system 1 calibrates the manipulator based on the calculated joint offset. By this calibration, the robot system 1 can cause the robot 20 to perform a highly accurate operation with the manipulator.

ここで、ロボットシステム1が具備するロボット20と制御装置30について説明する。なお、本実施形態では、一例として、ロボット20が2つのマニピュレーターを備える場合について説明する。   Here, the robot 20 and the control device 30 included in the robot system 1 will be described. In the present embodiment, a case where the robot 20 includes two manipulators will be described as an example.

ロボット20は、第1動撮像部11と、第2動撮像部12と、第1固定撮像部21と、第2固定撮像部22と、第1力センサー23−1と、第2力センサー23−2と、第1エンドエフェクターEND1と、第2エンドエフェクターEND2と、第1マニピュレーターMNP1と、第2マニピュレーターMNP2と、図示しない複数のアクチュエーターを備えた双腕ロボットである。双腕ロボットとは、2本のアーム(腕)を有するロボットを示し、本実施形態では、第1エンドエフェクターEND1と第1マニピュレーターMNP1によって構成されるアーム(以下、第1アームと称する)と、第2エンドエフェクターEND2と第2マニピュレーターMNP2によって構成されるアーム(以下、第2アームと称する)との2本のアームを有する。   The robot 20 includes a first moving imaging unit 11, a second moving imaging unit 12, a first fixed imaging unit 21, a second fixed imaging unit 22, a first force sensor 23-1, and a second force sensor 23. -2, a first end effector END1, a second end effector END2, a first manipulator MNP1, a second manipulator MNP2, and a plurality of unillustrated actuators. The double-arm robot refers to a robot having two arms (arms). In the present embodiment, an arm (hereinafter referred to as a first arm) configured by a first end effector END1 and a first manipulator MNP1; It has two arms, an arm (hereinafter referred to as a second arm) constituted by the second end effector END2 and the second manipulator MNP2.

なお、ロボット20は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットとは、1本のアームを有するロボットを示し、例えば、前述の第1アームと第2アームのうちいずれか一方を有するロボットを示す。また、ロボット20は、双腕ロボットに代えて、3腕以上のロボットであってもよい。3腕以上のロボットとは、3本以上のアームを有するロボットを示す。また、ロボット20は、さらに制御装置30を内蔵し、内蔵された制御装置30により制御される。なお、ロボット20は、制御装置30を内蔵する構成に代えて、外部に設置された制御装置30により制御される構成であってもよい。   The robot 20 may be a single arm robot instead of the double arm robot. The single arm robot indicates a robot having one arm, for example, a robot having one of the first arm and the second arm described above. Further, the robot 20 may be a robot with three or more arms instead of the dual-arm robot. A robot having three or more arms refers to a robot having three or more arms. The robot 20 further includes a control device 30 and is controlled by the built-in control device 30. The robot 20 may be configured to be controlled by the control device 30 installed outside, instead of the configuration incorporating the control device 30.

また、複数のアクチュエーターはそれぞれ、第1マニピュレーターMNP1が備える各関節、第2マニピュレーターMNP2が備える各関節、図1に示したロボット20の腰部Cに備えられる。なお、腰部Cは、ロボット20の第1マニピュレーターMNP1及び第2マニピュレーターMNP2を含む部分全体をアクチュエーターにより回転させることが可能な位置であれば、他の位置であってもよい。以下では、説明の便宜上、ロボット20の腰部Cに備えられたアクチュエーターを、ロボット20の腰軸と称して説明する。なお、腰軸は、移動機構の一例である。   Further, the plurality of actuators are respectively provided in each joint provided in the first manipulator MNP1, each joint provided in the second manipulator MNP2, and the waist C of the robot 20 shown in FIG. The waist C may be at any other position as long as the entire portion including the first manipulator MNP1 and the second manipulator MNP2 of the robot 20 can be rotated by an actuator. Hereinafter, for convenience of explanation, the actuator provided in the waist C of the robot 20 will be referred to as the waist axis of the robot 20. The waist axis is an example of a moving mechanism.

図4を参照して、ロボット20が備える第1マニピュレーターMNP1、第2マニピュレーターMNP2の各関節と、ロボット20の腰軸について説明する。図4は、ロボット20が備える第1マニピュレーターMNP1及び第2マニピュレーターMNP2の各関節と、ロボット20の腰軸とを例示する図である。図4に示すように、第1マニピュレーターMNP1は、J01〜J07によって示される7つの関節、すなわち7つのアクチュエーターを備える。   With reference to FIG. 4, each joint of the first manipulator MNP1 and the second manipulator MNP2 included in the robot 20 and the waist axis of the robot 20 will be described. FIG. 4 is a diagram illustrating the joints of the first manipulator MNP1 and the second manipulator MNP2 included in the robot 20 and the waist axis of the robot 20. As shown in FIG. 4, the first manipulator MNP1 includes seven joints indicated by J01 to J07, that is, seven actuators.

また、第2マニピュレーターMNP2は、J11〜J17によって示される7つの関節、すなわち7つのアクチュエーターを備える。また、腰部Cには、J0によって示される腰軸、すなわちアクチュエーターを備える。腰軸J0、関節J01〜J07、関節J11〜J17はそれぞれ、図4に示した矢印に沿って回転する。この回転の回転角を示す情報を、それぞれのアクチュエーターに係るエンコーダーが出力する。なお、図4に示したように、第1固定撮像部21及び第2固定撮像部22は、腰軸J0とともに動くように、腰部Cよりも上側に設置されている。第1固定撮像部21及び第2固定撮像部22が腰軸J0とともに動くように設置されている理由は、第2実施形態において説明する。   The second manipulator MNP2 includes seven joints indicated by J11 to J17, that is, seven actuators. The waist C is provided with a waist axis indicated by J0, that is, an actuator. The waist axis J0, the joints J01 to J07, and the joints J11 to J17 rotate along the arrows shown in FIG. Information indicating the rotation angle of the rotation is output by an encoder associated with each actuator. As shown in FIG. 4, the first fixed imaging unit 21 and the second fixed imaging unit 22 are installed above the waist C so as to move together with the waist axis J0. The reason why the first fixed imaging unit 21 and the second fixed imaging unit 22 are installed so as to move together with the waist axis J0 will be described in the second embodiment.

ここで、図5を参照して、ロボット20が備える第1エンドエフェクターEND1について説明する。なお、第2エンドエフェクターEND2は、第1エンドエフェクターEND1と同様の構造を持つため説明を省略する。図5は、第1エンドエフェクターEND1の一例を示す図である。図5に示したように、第1エンドエフェクターEND1は、突起部位Pを備え、その突起部位Pの先端には球TCP1が設けられている。   Here, the first end effector END1 included in the robot 20 will be described with reference to FIG. Note that the second end effector END2 has the same structure as the first end effector END1, and thus the description thereof is omitted. FIG. 5 is a diagram illustrating an example of the first end effector END1. As shown in FIG. 5, the first end effector END1 includes a protruding portion P, and a sphere TCP1 is provided at the tip of the protruding portion P.

以下では、この先端の球TCP1を、先端球TCP1と称して説明する。前述のエンドエフェクターの所定部位とは、この先端球を示す。つまり、第1エンドエフェクターEND1の所定部位とは、先端球TCP1を示す。また、先端球TCP1は、先端球TCP1の中心の位置が第1マニピュレーターMNP1のTCPの位置と一致するように設けられる(又は、第1マニピュレーターMNP1のTCPの位置を先端球TCP1の中心の位置と一致するように設定する)。なお、以下では、第2エンドエフェクターEND2の所定部位を、先端球TCP2と称して説明する。また、以下では、説明の便宜上、先端球TCP1(又は先端球TCP2)の中心の位置を先端球TCP1(又は先端球TCP2)の位置と称し、先端球TCP2の中心の位置を先端球TCP2の位置と称して説明する。   Hereinafter, the tip sphere TCP1 will be referred to as a tip sphere TCP1. The predetermined part of the end effector described above indicates the tip sphere. That is, the predetermined part of the first end effector END1 indicates the tip sphere TCP1. The tip sphere TCP1 is provided so that the center position of the tip sphere TCP1 coincides with the TCP position of the first manipulator MNP1 (or the TCP position of the first manipulator MNP1 is set as the center position of the tip sphere TCP1). Set to match). Hereinafter, the predetermined part of the second end effector END2 will be referred to as a tip sphere TCP2. Hereinafter, for convenience of explanation, the center position of the tip sphere TCP1 (or tip sphere TCP2) is referred to as the position of the tip sphere TCP1 (or tip sphere TCP2), and the center position of the tip sphere TCP2 is the position of the tip sphere TCP2. Will be described.

突起部位Pは、突起部位の長手方向に延びている中心軸CL2と、第1マニピュレーターMNP1のフランジの中心を通る中心軸CL1とがオフセットOFだけ離れるように第1エンドエフェクターEND1に設けられている。以下では、このように先端球TCP1の中心軸CL2が、第1マニピュレーターMNP1の中心軸CL1からオフセットOFだけ離れている構造を、オフセット構造と称して説明する。本実施形態において、第1エンドエフェクターEND1は、第1マニピュレーターMNP1を校正するための専用のエンドエフェクターであるとするが、これに代えて、オフセット構造を有する所定部位を備える他のエンドエフェクターであってもよい。   The projection part P is provided in the first end effector END1 so that the center axis CL2 extending in the longitudinal direction of the projection part and the center axis CL1 passing through the center of the flange of the first manipulator MNP1 are separated by an offset OF. . Hereinafter, the structure in which the center axis CL2 of the tip sphere TCP1 is separated from the center axis CL1 of the first manipulator MNP1 by the offset OF will be referred to as an offset structure. In the present embodiment, the first end effector END1 is a dedicated end effector for calibrating the first manipulator MNP1, but instead of this, it is another end effector having a predetermined part having an offset structure. May be.

図1に戻る。第1アームは、7軸垂直多関節型となっており、支持台と第1マニピュレーターMNP1と第1エンドエフェクターEND1とがアクチュエーターによる連携した動作によって7軸の自由度の動作を行うことができる。なお、第1腕は、6自由度(6軸)以下で動作するものであってもよく、8自由度(8軸)以上で動作するものであってもよい。また、第1アームは、第1動撮像部11を備える。
第1動撮像部11は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。
Returning to FIG. The first arm is a seven-axis vertical articulated type, and can operate with seven degrees of freedom by an operation in which the support base, the first manipulator MNP1, and the first end effector END1 are linked by an actuator. The first arm may operate with 6 degrees of freedom (6 axes) or less, or may operate with 8 degrees of freedom (8 axes) or more. Further, the first arm includes a first moving imaging unit 11.
The first moving imaging unit 11 is, for example, a camera including a CCD (Charge Coupled Device), a CMOS (Complementary Metal Oxide Semiconductor), or the like, which is an imaging device that converts collected light into an electrical signal.

第1動撮像部11は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、第1動撮像部11と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。第1動撮像部11は、図1に示したように第1アームを構成する第1マニピュレーターMNP1の一部に備えられており、第1アームの動きによって移動することが可能である。   The first moving image pickup unit 11 is connected to the control device 30 via a cable so as to be communicable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB (Universal Serial Bus), for example. The first moving image capturing unit 11 and the control device 30 may be connected by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark). The first moving image pickup unit 11 is provided in a part of the first manipulator MNP1 constituting the first arm as shown in FIG. 1, and can be moved by the movement of the first arm.

第2アームは、7軸垂直多関節型となっており、支持台と第2マニピュレーターMNP2と第2エンドエフェクターEND2とがアクチュエーターによる連携した動作によって6軸の自由度の動作を行うことができる。なお、第2アームは、6自由度(6軸)以下で動作するものであってもよく、8自由度(8軸)以上で動作するものであってもよい。また、第2アームは、第2動撮像部12を備える。
第2動撮像部12は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。
The second arm is a seven-axis vertical articulated type, and can operate with six degrees of freedom by the operation of the support base, the second manipulator MNP2, and the second end effector END2 coordinated by an actuator. Note that the second arm may operate with 6 degrees of freedom (6 axes) or less, or may operate with 8 degrees of freedom (8 axes) or more. In addition, the second arm includes a second moving imaging unit 12.
The second moving imaging unit 12 is, for example, a camera that includes a CCD, a CMOS, or the like that is an imaging element that converts collected light into an electrical signal.

第2動撮像部12は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2動撮像部12と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。第2動撮像部12は、図1に示したように第2アームを構成する第2マニピュレーターMNP2の一部に備えられており、第2アームの動きによって移動することが可能である。   The 2nd moving image pickup part 12 is connected with the control apparatus 30 by the cable so that communication is possible. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The second moving imaging unit 12 and the control device 30 may be configured to be connected by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark). The second moving imaging unit 12 is provided in a part of the second manipulator MNP2 constituting the second arm as shown in FIG. 1, and can be moved by the movement of the second arm.

第1固定撮像部21は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第1固定撮像部21は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2動撮像部12と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。   The first fixed imaging unit 21 is, for example, a camera including a CCD, a CMOS, or the like that is an imaging element that converts collected light into an electrical signal. The first fixed imaging unit 21 is communicably connected to the control device 30 via a cable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The second moving imaging unit 12 and the control device 30 may be configured to be connected by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

第2固定撮像部22は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第2固定撮像部22は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2固定撮像部22と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。
なお、第1固定撮像部21と第2固定撮像部22のうちいずれか一方又は両方は、撮像部の一例である。また、本実施形態において、ロボット20は、第1動撮像部11、第2動撮像部12、第1固定撮像部21、第2固定撮像部22の一部又は全部を備えない構成であってもよい。
The second fixed imaging unit 22 is, for example, a camera provided with a CCD, a CMOS, or the like that is an imaging element that converts the collected light into an electrical signal. The second fixed imaging unit 22 is communicably connected to the control device 30 via a cable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The second fixed imaging unit 22 and the control device 30 may be connected by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).
Note that one or both of the first fixed imaging unit 21 and the second fixed imaging unit 22 is an example of an imaging unit. In the present embodiment, the robot 20 does not include some or all of the first moving imaging unit 11, the second moving imaging unit 12, the first fixed imaging unit 21, and the second fixed imaging unit 22. Also good.

第1力センサー23−1は、ロボット20の第1エンドエフェクターEND1と第1マニピュレーターMNP1との間に備えられている。第1力センサー23−1は、第1エンドエフェクターEND1に作用した力やモーメントを検出する。第1力センサー23−1は、検出した力やモーメントを示す情報(以下、力センサー情報と称する)を、通信により制御装置30へ出力する。   The first force sensor 23-1 is provided between the first end effector END1 of the robot 20 and the first manipulator MNP1. The first force sensor 23-1 detects a force or moment acting on the first end effector END1. The first force sensor 23-1 outputs information indicating the detected force and moment (hereinafter referred to as force sensor information) to the control device 30 through communication.

第2力センサー23−2は、第2エンドエフェクターEND2と第2マニピュレーターMNP2との間に備えられている。第2力センサー23−2は、第2エンドエフェクターEND2に作用した力やモーメントを検出する。第2力センサー23−2は、検出した力やモーメントを示す情報(以下、力センサー情報と称する)を、通信により制御装置30へ出力する。第1力センサー23−1と第2力センサー23−2のうちいずれか一方又は両方により検出された力センサー情報は、例えば、制御装置30によるロボット20の力センサー情報に基づく制御等に用いられる。なお、以下では、第1力センサー23−1と第2力センサー23−2を区別する必要が無い限り、まとめて力センサー23と称して説明する。   The second force sensor 23-2 is provided between the second end effector END2 and the second manipulator MNP2. The second force sensor 23-2 detects a force and a moment acting on the second end effector END2. The second force sensor 23-2 outputs information indicating the detected force and moment (hereinafter referred to as force sensor information) to the control device 30 through communication. The force sensor information detected by one or both of the first force sensor 23-1 and the second force sensor 23-2 is used for, for example, control based on the force sensor information of the robot 20 by the control device 30. . In the following description, the first force sensor 23-1 and the second force sensor 23-2 will be collectively referred to as the force sensor 23 unless it is necessary to distinguish them.

ロボット20が備える第1動撮像部11、第2動撮像部12、第1固定撮像部21、第2固定撮像部22、第1力センサー23−1、第2力センサー23−2、第1エンドエフェクターEND1、第2エンドエフェクターEND2、第1マニピュレーターMNP1、第2マニピュレーターMNP2、図示しない複数のアクチュエーターのそれぞれ(以下、ロボット20が備える各機能部と称する)は、例えば、ロボット20に内蔵されている制御装置30とケーブルによって通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、ロボット20が備える各機能部と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続されてもよい。   The robot 20 includes a first motion imaging unit 11, a second motion imaging unit 12, a first fixed imaging unit 21, a second fixed imaging unit 22, a first force sensor 23-1, a second force sensor 23-2, and a first. Each of the end effector END1, the second end effector END2, the first manipulator MNP1, the second manipulator MNP2, and a plurality of actuators (not shown) (hereinafter referred to as each functional unit included in the robot 20) is incorporated in the robot 20, for example. The controller 30 is connected to be communicable by a cable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. In addition, each function part with which the robot 20 is provided, and the control apparatus 30 may be connected by radio | wireless communication performed by communication standards, such as Wi-Fi (trademark).

本実施形態において、ロボット20が備える各機能部は、ロボット20に内蔵された制御装置30から入力された制御信号を取得し、取得した制御信号に基づいて第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正用情報取得動作を行う。   In the present embodiment, each functional unit included in the robot 20 acquires a control signal input from the control device 30 built in the robot 20, and based on the acquired control signal, the first manipulator MNP1 and the second manipulator MNP2. Performs calibration information acquisition.

制御装置30は、ユーザーにより行われたジョグ操作等の操作を受け付け、受け付けられた操作に基づいた動作をロボット20に行わせる。また、制御装置30は、ロボット20に校正用情報取得動作を行わせる。制御装置30は、ロボット20が行う校正用情報取得動作に基づいて、ロボット20が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出する。そして、制御装置30は、算出されたジョイントオフセットを記憶する。なお、制御装置30は、制御部の一例である。   The control device 30 receives an operation such as a jog operation performed by the user, and causes the robot 20 to perform an operation based on the received operation. Further, the control device 30 causes the robot 20 to perform a calibration information acquisition operation. Based on the calibration information acquisition operation performed by the robot 20, the control device 30 calculates a joint offset that corrects the rotation angle of each of the plurality of actuators included in the robot 20. Then, the control device 30 stores the calculated joint offset. The control device 30 is an example of a control unit.

次に、図6を参照して、制御装置30のハードウェア構成について説明する。図6は、制御装置30のハードウェア構成の一例を示す図である。制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備え、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。CPU31は、記憶部32に格納された各種プログラムを実行する。   Next, the hardware configuration of the control device 30 will be described with reference to FIG. FIG. 6 is a diagram illustrating an example of a hardware configuration of the control device 30. The control device 30 includes, for example, a CPU (Central Processing Unit) 31, a storage unit 32, an input reception unit 33, a communication unit 34, and a display unit 35, and communicates with the robot 20 via the communication unit 34. . These components are connected to each other via a bus Bus so that they can communicate with each other. The CPU 31 executes various programs stored in the storage unit 32.

記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含み、制御装置30が処理する各種情報や画像、プログラム等を格納する。なお、記憶部32は、制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。   The storage unit 32 includes, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a ROM (Read-Only Memory), a RAM (Random Access Memory), and the like. Various information, images, programs and the like processed by the control device 30 are stored. Note that the storage unit 32 may be an external storage device connected by a digital input / output port such as a USB instead of the one built in the control device 30.

入力受付部33は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部33は、タッチパネルとして表示部と一体に構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
The input receiving unit 33 is, for example, a teaching pendant provided with a keyboard, a mouse, a touch pad, or the like, or other input device. In addition, the input reception part 33 may be comprised integrally with a display part as a touchscreen.
The communication unit 34 includes, for example, a digital input / output port such as USB, an Ethernet (registered trademark) port, and the like.
The display unit 35 is, for example, a liquid crystal display panel or an organic EL (ElectroLuminescence) display panel.

次に、図7を参照して、制御装置30の機能構成について説明する。図7は、制御装置30の機能構成の一例を示す図である。制御装置30は、記憶部32と、入力受付部33と、表示部35と、制御部36を備える。制御部36が備える機能部のうち一部又は全部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。   Next, the functional configuration of the control device 30 will be described with reference to FIG. FIG. 7 is a diagram illustrating an example of a functional configuration of the control device 30. The control device 30 includes a storage unit 32, an input reception unit 33, a display unit 35, and a control unit 36. Part or all of the functional units included in the control unit 36 is realized by the CPU 31 executing various programs stored in the storage unit 32, for example. Some or all of these functional units may be hardware functional units such as LSI (Large Scale Integration) and ASIC (Application Specific Integrated Circuit).

制御部36は、制御装置30の全体を制御する。制御部36は、表示制御部40と、校正制御部41を備える。
表示制御部40は、マニピュレーターの校正処理においてユーザーにより行われる操作を補助するGUI(Graphical User Interface)を生成し、生成されたGUIを表示部35に表示させる。このGUIには、例えば、マニピュレーターの校正処理を開始させるためのボタンや、ロボット20をジョグ操作するためのジョグ等が含まれる。
The control unit 36 controls the entire control device 30. The control unit 36 includes a display control unit 40 and a calibration control unit 41.
The display control unit 40 generates a GUI (Graphical User Interface) that assists an operation performed by the user in the calibration process of the manipulator, and causes the display unit 35 to display the generated GUI. This GUI includes, for example, a button for starting the calibration process of the manipulator, a jog for jogging the robot 20, and the like.

校正制御部41は、ロボット制御部42と、力センサー初期化部43と、力センサー情報取得部44と、回転角取得部45と、ジョイントオフセット算出部46と、誤差評価部47と、教示部48を備える。校正制御部41は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正に係る処理の全体を制御する。   The calibration control unit 41 includes a robot control unit 42, a force sensor initialization unit 43, a force sensor information acquisition unit 44, a rotation angle acquisition unit 45, a joint offset calculation unit 46, an error evaluation unit 47, and a teaching unit. 48. The calibration control unit 41 controls the entire processing related to calibration of the first manipulator MNP1 and the second manipulator MNP2.

より具体的には、校正制御部41は、入力受付部33により受け付けられた操作(例えば、GUIを介したジョグ操作)に基づいてロボット制御部42によりロボット20を動かす。なお、本実施形態において、校正制御部41がGUIを介して入力受付部33から操作を受け付ける場合について説明するが、校正制御部41がGUIを介さずにスイッチやボタン等を介して操作を受け付ける構成であってもよい。また、このGUIには、ロボット20を動かすジョグ画面や、第1マニピュレーターMNP1の校正用情報取得動作を開始させるボタン、第2マニピュレーターMNP2の校正用情報取得動作を開始させるボタン等が含まれる。   More specifically, the calibration control unit 41 moves the robot 20 by the robot control unit 42 based on an operation received by the input reception unit 33 (for example, a jog operation via GUI). In the present embodiment, the case where the calibration control unit 41 receives an operation from the input reception unit 33 via the GUI will be described. However, the calibration control unit 41 receives an operation via a switch, a button, or the like without using the GUI. It may be a configuration. The GUI includes a jog screen for moving the robot 20, a button for starting the calibration information acquisition operation of the first manipulator MNP1, a button for starting the calibration information acquisition operation of the second manipulator MNP2, and the like.

ロボット制御部42は、校正制御部41からの要求に応じてロボット20を動作させる。また、ロボット制御部42は、力センサー情報取得部44から力センサー23により検出される力センサー情報を取得し、取得された力センサー情報に基づく制御によりロボット20を制御する。
力センサー初期化部43は、力センサー23により検出される力センサー情報のゼロ点を設定(初期化)する。例えば、力センサー初期化部43は、力センサー23から重力以外検出されていない状態において、力センサー23により検出されている重力の大きさをゼロ点とする。以下では、このような処理を、力センサー23の初期化と称して説明する。
The robot control unit 42 operates the robot 20 in response to a request from the calibration control unit 41. Further, the robot control unit 42 acquires the force sensor information detected by the force sensor 23 from the force sensor information acquisition unit 44, and controls the robot 20 by the control based on the acquired force sensor information.
The force sensor initialization unit 43 sets (initializes) a zero point of force sensor information detected by the force sensor 23. For example, the force sensor initialization unit 43 sets the magnitude of gravity detected by the force sensor 23 as a zero point in a state in which no force other than gravity is detected from the force sensor 23. Hereinafter, such processing will be described as initialization of the force sensor 23.

力センサー情報取得部44は、力センサー23により検出される力センサー情報を取得する。そして、力センサー情報取得部44は、取得された力センサー情報をロボット制御部42に出力する。
回転角取得部45は、ロボット20が備える複数のアクチュエーターに係るエンコーダーから、回転角を示す情報を取得する。そして、回転角取得部45は、取得された複数の回転角を示す情報と、その時点でのロボット20の姿勢を示す情報(例えば、姿勢を区別するためのID等)とを対応付け、校正用情報として記憶部32に記憶させる。なお、この回転角を示す情報は、第1マニピュレーターMNP1の姿勢を表す。また、治具Jが複数ある場合、校正用情報には、複数の回転角を示す情報に対して先端球TCP1が嵌められた治具Jの凹部Hを示す情報が対応付けられる。治具Jの凹部Hを示す情報とは、例えば、凹部Hそれぞれを区別するためのID等であるが、凹部Hそれぞれを区別することが可能であれば他の情報であってもよい。
The force sensor information acquisition unit 44 acquires force sensor information detected by the force sensor 23. Then, the force sensor information acquisition unit 44 outputs the acquired force sensor information to the robot control unit 42.
The rotation angle acquisition unit 45 acquires information indicating the rotation angle from encoders related to a plurality of actuators included in the robot 20. Then, the rotation angle acquisition unit 45 associates the acquired information indicating the plurality of rotation angles with information indicating the posture of the robot 20 at that time (for example, an ID or the like for distinguishing the posture), and performs calibration. The information is stored in the storage unit 32 as usage information. The information indicating the rotation angle represents the attitude of the first manipulator MNP1. When there are a plurality of jigs J, the calibration information is associated with information indicating a plurality of rotation angles and information indicating the recess H of the jig J in which the tip sphere TCP1 is fitted. The information indicating the recess H of the jig J is, for example, an ID for distinguishing each recess H, but may be other information as long as each recess H can be distinguished.

ジョイントオフセット算出部46は、記憶部32により記憶された校正用情報を取得する。ジョイントオフセット算出部46は、取得された校正用情報に基づいて、第1マニピュレーターMNP1及び第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出する。ジョイントオフセット算出部46は、算出されたジョイントオフセットを示す情報を記憶部32に記憶させる。   The joint offset calculation unit 46 acquires the calibration information stored in the storage unit 32. The joint offset calculation unit 46 calculates a joint offset that corrects the rotation angles of the plurality of actuators provided in the first manipulator MNP1 and the second manipulator MNP2 based on the acquired calibration information. The joint offset calculation unit 46 stores information indicating the calculated joint offset in the storage unit 32.

誤差評価部47は、記憶部32に記憶された第1マニピュレーターMNP1に係る校正用情報を1つずつ読み込み、読み込まれた校正用情報毎に、校正用情報に含まれる回転角を示す情報と、記憶部32に記憶されたジョイントオフセットを示す情報とに基づく順運動学によって、第1エンドエフェクターEND1の先端球TCP1(すなわち、第1マニピュレーターMNP1のTCP)の位置を算出する。   The error evaluation unit 47 reads the calibration information related to the first manipulator MNP1 stored in the storage unit 32 one by one, and for each read calibration information, information indicating the rotation angle included in the calibration information; The position of the tip sphere TCP1 of the first end effector END1 (that is, the TCP of the first manipulator MNP1) is calculated by forward kinematics based on the information indicating the joint offset stored in the storage unit 32.

そして、誤差評価部47は、校正用情報毎(すなわち、ロボット20の姿勢毎)に算出されたすべての第1マニピュレーターMNP1のTCPの位置に基づいて、それら第1マニピュレーターMNP1のTCPの位置のばらつきの度合いを示す量を算出する。以下では、この一例として、このばらつき度合いを示す量が、標準偏差である場合について説明する。すなわち、誤差評価部47は、校正用情報毎に算出されたすべての第1マニピュレーターMNP1のTCPの位置に基づいて、それらの第1マニピュレーターMNP1のTCPの位置の標準偏差を、第1標準偏差として算出する。なお、ばらつき度合いを示す量は、標準偏差に代えて、例えば、分散や標準誤差等であってもよい。誤差評価部47は、算出された第1標準偏差が所定値未満であるか否かを判定(評価)する。   Then, the error evaluation unit 47, based on the TCP positions of all the first manipulators MNP1 calculated for each piece of calibration information (that is, for each posture of the robot 20), the variations in the TCP positions of the first manipulators MNP1. An amount indicating the degree of is calculated. Below, the case where the quantity which shows this variation degree is a standard deviation is demonstrated as an example of this. That is, based on the TCP positions of all the first manipulators MNP1 calculated for each calibration information, the error evaluation unit 47 sets the standard deviations of the TCP positions of the first manipulators MNP1 as the first standard deviation. calculate. Note that the amount indicating the degree of variation may be, for example, variance or standard error instead of the standard deviation. The error evaluation unit 47 determines (evaluates) whether or not the calculated first standard deviation is less than a predetermined value.

また、誤差評価部47は、記憶部32に記憶された校正用情報を1つずつ読み込み、読み込まれた校正用情報毎に、校正用情報に含まれる回転角を示す情報と、記憶部32により記憶されたジョイントオフセットを示す情報とに基づく順運動学によって、第2マニピュレーターMNP2のTCPの位置を算出する。そして、誤差評価部47は、校正用情報毎(すなわち、ロボット20の姿勢毎)に算出されたすべての第2マニピュレーターMNP2のTCPの位置に基づいて、それら第2マニピュレーターMNP2のTCPの位置の標準偏差、第2標準偏差として算出する。誤差評価部47は、算出された第2標準偏差が所定値未満であるか否かを判定(評価)する。   Further, the error evaluation unit 47 reads the calibration information stored in the storage unit 32 one by one, and for each read calibration information, information indicating the rotation angle included in the calibration information and the storage unit 32 The TCP position of the second manipulator MNP2 is calculated by forward kinematics based on the information indicating the stored joint offset. Then, the error evaluating unit 47 determines the standard TCP positions of the second manipulators MNP2 based on the TCP positions of all the second manipulators MNP2 calculated for each piece of calibration information (that is, for each posture of the robot 20). Calculated as deviation, second standard deviation. The error evaluation unit 47 determines (evaluates) whether or not the calculated second standard deviation is less than a predetermined value.

教示部48は、誤差評価部47により算出された第1標準偏差及び第2標準偏差の両方が所定値X1未満であると誤差評価部47が判定した場合、第1マニピュレーターMNP1及び第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを、記憶部32に記憶させる。なお、教示部48は、第1標準偏差が所定値X1未満であるか否かを判定し、第2標準偏差が所定値X1とは異なる所定値X2未満であるか否かを判定する構成であってもよい。   When the error evaluating unit 47 determines that both the first standard deviation and the second standard deviation calculated by the error evaluating unit 47 are less than the predetermined value X1, the teaching unit 48 determines the first manipulator MNP1 and the second manipulator MNP2. The joint offset for correcting the rotation angle of each of the plurality of actuators included in is stored in the storage unit 32. The teaching unit 48 determines whether or not the first standard deviation is less than the predetermined value X1, and determines whether or not the second standard deviation is less than the predetermined value X2 different from the predetermined value X1. There may be.

以下、図8を参照して、制御装置30が第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正を終えるまでの処理について説明する。図8は、制御装置30が第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正を終えるまでの処理の流れの一例を示すフローチャートである。まず、表示制御部40は、マニピュレーターの校正処理においてユーザーが行う操作を補助するGUIを表示部35に表示させる(ステップS100)。   Hereinafter, with reference to FIG. 8, a process until the control device 30 finishes the calibration of the first manipulator MNP1 and the second manipulator MNP2 will be described. FIG. 8 is a flowchart illustrating an example of a processing flow until the control device 30 finishes calibration of the first manipulator MNP1 and the second manipulator MNP2. First, the display control unit 40 causes the display unit 35 to display a GUI that assists the user in the manipulator calibration process (step S100).

次に、制御部36は、ロボット20が備えるマニピュレーター(すなわち、第1マニピュレーターMNP1と第2マニピュレーターMNP2)毎に、ステップS120からステップS220までの処理を繰り返し行う(ステップS110)。以下では、説明の便宜上、最初に第1マニピュレーターMNP1に対してステップS120からステップS220までの処理を行い、次に第2マニピュレーターMNP2に対してステップS120からステップS220までの処理を行う場合について説明する。   Next, the control unit 36 repeatedly performs the processing from step S120 to step S220 for each manipulator (that is, the first manipulator MNP1 and the second manipulator MNP2) included in the robot 20 (step S110). Hereinafter, for convenience of explanation, a case will be described in which the processing from step S120 to step S220 is first performed on the first manipulator MNP1, and then the processing from step S120 to step S220 is performed on the second manipulator MNP2. .

そのため、ステップS120からステップS220までの処理については、主に第1マニピュレーターMNP1に対しての処理について説明する。なお、制御部36は、最初に第2マニピュレーターMNP2に対してステップS120からステップS220までの処理を行い、次に第1マニピュレーターMNP1に対してステップS120からステップS220までの処理を行う構成であってもよい。   Therefore, the processing from step S120 to step S220 will be mainly described for the first manipulator MNP1. The control unit 36 is configured to first perform the processing from step S120 to step S220 on the second manipulator MNP2, and then to perform the processing from step S120 to step S220 on the first manipulator MNP1. Also good.

ロボット制御部42は、ステップS100で表示部35に表示されたGUIを介して入力受付部33により受け付けられたユーザーからのジョグ操作に基づいて、第1エンドエフェクターEND1の先端球TCP1を治具Jの凹部Hに嵌める(ステップS120)。次に、校正制御部41は、ステップS100で表示部35に表示されたGUIを介して第1マニピュレーターMNP1の校正処理を開始するための操作(例えば、第1マニピュレーターMNP1の校正処理を開始するボタンのクリック)を入力受付部33により受け付ける(ステップS130)。   Based on the jog operation from the user received by the input receiving unit 33 via the GUI displayed on the display unit 35 in step S100, the robot control unit 42 moves the tip sphere TCP1 of the first end effector END1 to the jig J. (Step S120). Next, the calibration control unit 41 performs an operation (for example, a button for starting the calibration process of the first manipulator MNP1) for starting the calibration process of the first manipulator MNP1 via the GUI displayed on the display unit 35 in step S100. Is clicked by the input receiving unit 33 (step S130).

次に、ロボット制御部42は、治具Jの凹部Hに嵌められた先端球TCP1を、治具Jの凹部Hから所定方向に所定距離だけ移動させる。そして、力センサー初期化部43は、この時点で第1力センサー23−1の初期化を行う(ステップS140)。なお、所定方向は、例えば、鉛直上方であるが、他の方向であってもよい。また、所定距離は、先端球TCP1が凹部Hから離れる距離であれば良い。ただし、所定距離は、先端球TCP1が凹部Hから離れている間に、振動等によって凹部Hが設けられた治具Jの上面に沿った方向に先端球TCP1の位置がずれない(もしくは、ずれたとしてもコンプライアンス制御のような力センサー情報に基づく制御によって先端球TCP1を凹部Hの内壁に沿わせることで容易にずれる前の位置に戻せる)程度の距離が望ましい。なお、先端球TCP1が治具Jの凹部Hから離れている間に、治具Jの上面に沿った方向に先端球TCP1の位置がずれる原因は、先端球TCP1の振動の他にも、この段階で各アクチュエーターの回転角を補正するジョイントオフセットが算出されていないことによる先端球TCP1の位置を移動させる際の誤差や、力センサー23の値の振動(増減)等も考えられる。   Next, the robot control unit 42 moves the tip sphere TCP1 fitted in the recess H of the jig J from the recess H of the jig J in a predetermined direction by a predetermined distance. And the force sensor initialization part 43 initializes the 1st force sensor 23-1 at this time (step S140). The predetermined direction is, for example, vertically upward, but may be another direction. Further, the predetermined distance may be a distance at which the tip sphere TCP1 is separated from the recess H. However, the predetermined distance does not shift the position of the tip sphere TCP1 in the direction along the upper surface of the jig J provided with the recess H due to vibration or the like while the tip sphere TCP1 is separated from the recess H (or misalignment). Even so, it is desirable that the distance be such that the tip sphere TCP1 can be easily returned to the previous position by shifting along the inner wall of the recess H by control based on force sensor information such as compliance control. In addition to the vibration of the tip sphere TCP1, the cause of the tip sphere TCP1 being displaced in the direction along the upper surface of the jig J while the tip sphere TCP1 is away from the recess H of the jig J An error when moving the position of the tip sphere TCP1 due to the fact that the joint offset for correcting the rotation angle of each actuator in the stage has not been calculated, vibration (increase / decrease) in the value of the force sensor 23, and the like are also conceivable.

次に、ロボット制御部42は、先端球TCP1を再び治具Jの凹部Hに嵌めるために、ステップS140における所定方向と逆方向に移動させる。この際、ロボット制御部42は、力センサー情報取得部44から力センサー情報を取得し、取得された力センサー情報に基づく制御により、先端球TCP1が治具Jの凹部Hに嵌まるまで先端球TCP1を移動させる(ステップS150)。先端球TCP1を治具Jの凹部Hに嵌めた後、ロボット制御部42は、凹部Hに嵌められた先端球TCP1に対して、鉛直下方に所定の大きさの力を加える。そして、ロボット制御部42は、ステップS140における所定方向の逆方向に所定の大きさの力を加えた状態を保持したまま、ステップS160からステップS220までの処理を行う。   Next, the robot control unit 42 moves the tip sphere TCP1 in the direction opposite to the predetermined direction in step S140 in order to fit the tip sphere TCP1 into the recess H of the jig J again. At this time, the robot control unit 42 acquires force sensor information from the force sensor information acquisition unit 44, and controls the tip sphere TCP1 until the tip sphere TCP1 fits into the recess H of the jig J by control based on the acquired force sensor information. TCP1 is moved (step S150). After fitting the tip sphere TCP1 in the recess H of the jig J, the robot control unit 42 applies a force of a predetermined magnitude vertically downward to the tip sphere TCP1 fitted in the recess H. Then, the robot control unit 42 performs the processing from step S160 to step S220 while maintaining the state where a predetermined magnitude of force is applied in the reverse direction of the predetermined direction in step S140.

次に、回転角取得部45は、ロボット20の腰部C及び第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれに係るエンコーダーから、回転角を示す情報を取得する(ステップS160)。なお、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれに係るエンコーダーから回転角を示す情報を取得する際、ロボット制御部42は、第1力センサー23−1によって第1マニピュレーターMNP1の振動の単位時間当たりの振動数を測定し、測定された振動数が予め決められた閾値以下になるまで待機する。これにより、ロボット制御部42は、各アクチュエーターの回転角が、第1マニピュレーターMNP1の振動によって変化してしまうことを抑制することができる。   Next, the rotation angle acquisition unit 45 acquires information indicating the rotation angle from the encoders associated with each of the plurality of actuators provided in the waist C of the robot 20 and the first manipulator MNP1 (step S160). When acquiring information indicating the rotation angle from the encoders associated with each of the plurality of actuators included in the first manipulator MNP1, the robot control unit 42 uses the first force sensor 23-1 to per unit time of vibration of the first manipulator MNP1. The vibration frequency is measured and waits until the measured vibration frequency is equal to or less than a predetermined threshold value. Thereby, the robot control part 42 can suppress that the rotation angle of each actuator changes with the vibration of the 1st manipulator MNP1.

次に、回転角取得部45は、ステップS160で取得された回転角を示す情報に、現在のロボット20の姿勢を示す情報を対応付けた校正用情報を記憶部32に記憶させる(ステップS170)。次に、校正制御部41は、記憶部32に記憶された校正用情報の数が予め定められた規定数以上であるか否かを判定する(ステップS180)。   Next, the rotation angle acquisition unit 45 causes the storage unit 32 to store calibration information in which information indicating the rotation angle acquired in step S160 is associated with information indicating the current posture of the robot 20 (step S170). . Next, the calibration control unit 41 determines whether or not the number of calibration information stored in the storage unit 32 is equal to or greater than a predetermined number (step S180).

ここで、この規定数は、ジョイントオフセット算出部46がジョイントオフセットを算出する時に用いる連立方程式の未知数の数以上であれば良く、この一例においては、10であるとする。なお、ステップS190で変更される姿勢によって、第1マニピュレーターMNP1が備える複数のアクチュエーターがそれぞれ一定角以上動くように第1校正用情報を取得するのが望ましい。   Here, the specified number may be equal to or greater than the number of unknowns of the simultaneous equations used when the joint offset calculating unit 46 calculates the joint offset, and is assumed to be 10 in this example. It should be noted that it is desirable to acquire the first calibration information so that the plurality of actuators provided in the first manipulator MNP1 move by a predetermined angle or more depending on the posture changed in step S190.

記憶部32に記憶された校正用情報の数が予め定められた規定数以上ではないと校正制御部41が判定した場合(ステップS180−No)、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を次の姿勢に変更するようにロボット20を制御し(ステップS190)、その後、変更された第1マニピュレーターMNP1の姿勢においてステップS160からステップS180までの処理を行う。   When the calibration control unit 41 determines that the number of calibration information stored in the storage unit 32 is not equal to or greater than a predetermined number (step S180-No), the robot control unit 42 determines the posture of the first manipulator MNP1. The robot 20 is controlled to change to the next posture (step S190), and then the processing from step S160 to step S180 is performed in the changed posture of the first manipulator MNP1.

ここで、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を次の姿勢に変更する際、第1マニピュレーターMNP1の姿勢を示す情報を順に読み込み、読み込まれた順に第1マニピュレーターMNP1の姿勢を変更する構成であってもよく、第1マニピュレーターMNP1の姿勢をランダムに変更する構成等であってもよい。以下では、ロボット制御部42が記憶部32に記憶された姿勢を示す情報を順に読み込み、読み込まれた順に第1マニピュレーターMNP1の姿勢を変更する場合について説明する。また、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を変更する際、コンプライアンス制御により姿勢を変更する。これにより、ロボット制御部42は、第1エンドエフェクターEND1や治具J、第1マニピュレーターMNP1を構成する各部材を破壊してしまうことなく、第1マニピュレーターMNP1の姿勢を変更することができる。また、ロボット制御部42は、第2マニピュレーターMNP2の姿勢を変更する際、コンプライアンス制御により姿勢を変更する。これにより、ロボット制御部42は、第2エンドエフェクターEND2や治具J、第2マニピュレーターMNP2を構成する各部材を破壊してしまうことなく、第2マニピュレーターMNP2の姿勢を変更することができる。   Here, when changing the posture of the first manipulator MNP1 to the next posture, the robot control unit 42 sequentially reads information indicating the posture of the first manipulator MNP1, and changes the posture of the first manipulator MNP1 in the order of reading. The structure may be sufficient and the structure etc. which change the attitude | position of the 1st manipulator MNP1 at random may be sufficient. Hereinafter, a case will be described in which the robot control unit 42 sequentially reads information indicating the posture stored in the storage unit 32 and changes the posture of the first manipulator MNP1 in the order of reading. Further, the robot control unit 42 changes the posture by compliance control when changing the posture of the first manipulator MNP1. Thereby, the robot control unit 42 can change the posture of the first manipulator MNP1 without destroying each member constituting the first end effector END1, the jig J, and the first manipulator MNP1. Further, the robot control unit 42 changes the posture by compliance control when changing the posture of the second manipulator MNP2. Thereby, the robot control unit 42 can change the posture of the second manipulator MNP2 without destroying the members constituting the second end effector END2, the jig J, and the second manipulator MNP2.

一方、記憶部32に記憶された校正用情報の数が予め定められた規定数以上であると校正制御部41が判定した場合(ステップS180−Yes)、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を、ステップS150で先端球TCP1を治具Jの凹部Hに嵌めた時の第1マニピュレーターMNP1の姿勢に変更する(ステップS200)。図8において、この制御を、マニピュレーターの姿勢の初期化と称している。   On the other hand, when the calibration control unit 41 determines that the number of calibration information stored in the storage unit 32 is equal to or greater than a predetermined number (step S180-Yes), the robot control unit 42 includes the first manipulator MNP1. Is changed to the posture of the first manipulator MNP1 when the tip sphere TCP1 is fitted in the recess H of the jig J in step S150 (step S200). In FIG. 8, this control is referred to as initialization of the posture of the manipulator.

ここで、図9を参照して、ステップS190でロボット制御部42が第1マニピュレーターMNP1の姿勢を変更する処理について説明する。図9は、第1マニピュレーターMNP1の姿勢を例示する図である。図9(A)には、第1マニピュレーターMNP1の姿勢の一例を示す。図9(B)には、第1マニピュレーターMNP1の姿勢の他の例を示す。図9(C)には、第1マニピュレーターMNP1の姿勢の更に他の例を示す。   Here, with reference to FIG. 9, the process in which the robot control unit 42 changes the posture of the first manipulator MNP1 in step S190 will be described. FIG. 9 is a diagram illustrating the posture of the first manipulator MNP1. FIG. 9A shows an example of the posture of the first manipulator MNP1. FIG. 9B shows another example of the posture of the first manipulator MNP1. FIG. 9C shows still another example of the posture of the first manipulator MNP1.

ロボット制御部42は、先端球TCP1を治具Jの凹部Hに嵌めた状態を保持しながら、例えば、図9(A)に示した第1マニピュレーターMNP1の姿勢から、図9(B)や図9(C)に示した第1マニピュレーターMNP1の姿勢へと第1マニピュレーターMNP1の姿勢を変更する。このように姿勢を変更することで、先端球TCP1の中心に設定されている第1マニピュレーターMNP1のTCPの位置を固定位置Xから変えることなく、第1マニピュレーターMNP1の姿勢毎に異なる複数の回転角であって第1マニピュレーターMNP1に備えられた複数のアクチュエーターそれぞれの回転角を取得することができる。   While maintaining the state in which the tip sphere TCP1 is fitted in the recess H of the jig J, the robot control unit 42, for example, from the posture of the first manipulator MNP1 shown in FIG. The posture of the first manipulator MNP1 is changed to the posture of the first manipulator MNP1 shown in 9 (C). By changing the posture in this way, a plurality of rotation angles different for each posture of the first manipulator MNP1 without changing the TCP position of the first manipulator MNP1 set at the center of the tip sphere TCP1 from the fixed position X. Thus, the rotation angles of the plurality of actuators provided in the first manipulator MNP1 can be acquired.

次に、ロボット制御部42は、ロボット20の腰軸を所定回数以上変更させたか否かを判定する(ステップS210)。ロボット20の腰軸を所定回数以上変更させていないと判定した場合(ステップS210−No)、ロボット制御部42は、腰軸の姿勢を次の姿勢に変更するようにロボット20を制御し(ステップS220)、その後、変更された腰軸の姿勢においてステップS160からステップS220までの処理を行う。   Next, the robot control unit 42 determines whether or not the waist axis of the robot 20 has been changed a predetermined number of times (step S210). When it is determined that the waist axis of the robot 20 has not been changed more than a predetermined number of times (step S210-No), the robot control unit 42 controls the robot 20 to change the posture of the waist axis to the next posture (step S210). S220) After that, the process from step S160 to step S220 is performed in the changed posture of the waist axis.

一方、ロボット20の腰軸を所定回数以上変更させたとロボット制御部42が判定した場合(ステップS210−Yes)、ロボット制御部42は、ステップS110に戻り、第2マニピュレーターMNP2に対して再びステップS120からステップS220までの処理を行う(ステップS225)。なお、ステップS160〜ステップS220までの処理は、上述した校正用情報取得動作を第1マニピュレーターMNP1及び第2マニピュレーターMNP2のそれぞれに行わせる処理の一例である。   On the other hand, when the robot control unit 42 determines that the waist axis of the robot 20 has been changed a predetermined number of times (step S210—Yes), the robot control unit 42 returns to step S110, and again performs step S120 for the second manipulator MNP2. To S220 is performed (step S225). The processing from step S160 to step S220 is an example of processing for causing the first manipulator MNP1 and the second manipulator MNP2 to perform the calibration information acquisition operation described above.

第2マニピュレーターMNP2に対するステップS160〜ステップS220までの処理が終わった後、ジョイントオフセット算出部46は、記憶部32に記憶された校正用情報をすべて読み込む。ジョイントオフセット算出部46は、読み込まれたすべての校正用情報に基づいて、第1マニピュレーターMNP1及び第2マニピュレーターMNP2のそれぞれに備えられた複数のアクチュエーターに係るジョイントオフセットを算出し、算出されたジョイントオフセットを示す情報を記憶部32に記憶させる(ステップS230)。   After the processing from step S160 to step S220 for the second manipulator MNP2 is completed, the joint offset calculation unit 46 reads all the calibration information stored in the storage unit 32. The joint offset calculation unit 46 calculates joint offsets related to a plurality of actuators provided in each of the first manipulator MNP1 and the second manipulator MNP2 based on all the read calibration information, and calculates the calculated joint offset Is stored in the storage unit 32 (step S230).

なお、ステップS230におけるジョイントオフセットを示す情報の記憶部32への記憶は、ステップS240における処理においてジョイントオフセットを用いるための一時的な記憶であり、前述のジョイントオフセットの教示とは異なる。   The storage of information indicating the joint offset in step S230 in the storage unit 32 is temporary storage for using the joint offset in the processing in step S240, and is different from the above-described teaching of joint offset.

ここで、ジョイントオフセット算出部46によるジョイントオフセットの算出処理について説明する。順運動学では、第1マニピュレーターMNP1に係る校正用情報毎(すなわち、ロボット20の腰軸の姿勢と第1マニピュレーターMNP1の姿勢との組み合わせ毎)に、第1マニピュレーターMNP1のTCPの位置を算出する方程式が得られる。これら第1マニピュレーターMNP1のTCPの位置を算出する方程式の入力パラメーターは、腰軸のアクチュエーターの回転角と、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角である。また、これら第1マニピュレーターMNP1のTCPの位置を算出する方程式の未知数は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセット(7つのジョイントオフセット)と、第1マニピュレーターMNP1のTCPの位置を示す座標(3つの座標値)である。なお、ジョイントオフセット算出部46は、これらの第1TCP位置を算出する方程式からすべての未知数を算出する必要は無く、例えば、第1TCP位置に関して機械的に精度を出す場合、第1TCP位置を算出する必要は無い。   Here, the joint offset calculation processing by the joint offset calculation unit 46 will be described. In forward kinematics, the TCP position of the first manipulator MNP1 is calculated for each calibration information related to the first manipulator MNP1 (that is, for each combination of the posture of the waist axis of the robot 20 and the posture of the first manipulator MNP1). The equation is obtained. The input parameters of the equations for calculating the TCP position of the first manipulator MNP1 are the rotation angle of the actuator of the waist axis and the rotation angles of the plurality of actuators provided in the first manipulator MNP1. Further, the unknowns of the equations for calculating the TCP position of the first manipulator MNP1 are joint offsets (seven joint offsets) for correcting the rotation angles of the plurality of actuators provided in the first manipulator MNP1, and the first manipulator MNP1. It is a coordinate (three coordinate values) which shows the position of TCP. The joint offset calculation unit 46 does not need to calculate all unknowns from these equations for calculating the first TCP position. For example, when the mechanical accuracy is obtained with respect to the first TCP position, it is necessary to calculate the first TCP position. There is no.

また、順運動学では、第2マニピュレーターMNP2に係る校正用情報毎(すなわち、ロボット20の腰軸の姿勢と第2マニピュレーターMNP2の姿勢との組み合わせ毎)に、第2マニピュレーターMNP2のTCPの位置を算出する方程式が得られる。これら第2マニピュレーターMNP2のTCPの位置を算出する方程式の入力パラメーターは、腰軸のアクチュエーターの回転角と、第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角である。また、これら第2マニピュレーターMNP2のTCPの位置を算出する方程式の未知数は、第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセット(7つのジョイントオフセット)と、第1マニピュレーターMNP1のTCPの位置を示す座標(3つの座標値)である。なお、ジョイントオフセット算出部46は、これらの第2TCP位置を算出する方程式からすべての未知数を算出する必要は無く、例えば、第2TCP位置に関して機械的に精度を出す場合、第2TCP位置を算出する必要は無い。   In forward kinematics, the TCP position of the second manipulator MNP2 is set for each calibration information related to the second manipulator MNP2 (that is, for each combination of the posture of the waist axis of the robot 20 and the posture of the second manipulator MNP2). The equation to calculate is obtained. The input parameters of the equations for calculating the TCP position of the second manipulator MNP2 are the rotation angle of the actuator of the waist axis and the rotation angles of the plurality of actuators provided in the second manipulator MNP2. Further, the unknowns of the equations for calculating the TCP position of the second manipulator MNP2 are joint offsets (seven joint offsets) for correcting the rotation angles of the plurality of actuators provided in the second manipulator MNP2, and the first manipulator MNP1. It is a coordinate (three coordinate values) which shows the position of TCP. The joint offset calculation unit 46 does not need to calculate all unknowns from these equations for calculating the second TCP position. For example, when the mechanical accuracy is obtained with respect to the second TCP position, it is necessary to calculate the second TCP position. There is no.

ここで、ロボットシステム1において、第1マニピュレーターMNP1のTCPの位置を算出する方程式それぞれに含まれる第1マニピュレーターMNP1のTCPの位置を示す座標と、第2マニピュレーターMNP2のTCPの位置を算出する方程式それぞれに含まれる第2マニピュレーターMNP2のTCPの位置を示す座標とは、校正用情報取得動作が行われている間、第1マニピュレーターMNP1のTCPの位置と、第2マニピュレーターMNP2のTCPの位置とが固定位置Xに固定されていた為、共通の値でなければならない。この拘束条件を利用し、ジョイントオフセット算出部46は、第1TCP位置を算出する複数の方程式と、第2TCP位置を算出する複数の方程式とによる連立方程式を、一括して最急降下法やニュートン法、レーベンバーグ・マーカート法等のような非線形最適化計算によって解く。より具体的には、ジョイントオフセット算出部46は、記憶部32から読み込まれた第1校正用情報及び第2校正用情報に基づいて、第1TCP位置を算出する複数の方程式と、第2TCP位置を算出する方程式とを導出し、導出されたすべての方程式による連立方程式を一括して最急降下法やニュートン法、レーベンバーグ・マーカート法等のような非線形最適化計算によって解く。   Here, in the robot system 1, the coordinates indicating the TCP position of the first manipulator MNP1 included in the equations for calculating the TCP position of the first manipulator MNP1, and the equations for calculating the TCP position of the second manipulator MNP2, respectively. The coordinates indicating the TCP position of the second manipulator MNP2 included in the position of the second manipulator MNP2 are fixed while the position of the TCP of the first manipulator MNP1 and the position of the TCP of the second manipulator MNP2 are fixed. Since it is fixed at position X, it must be a common value. Using this constraint condition, the joint offset calculation unit 46 collects simultaneous equations by a plurality of equations for calculating the first TCP position and a plurality of equations for calculating the second TCP position, and the steepest descent method, Newton method, Solve by nonlinear optimization calculation such as Levenberg-Marcate method. More specifically, the joint offset calculation unit 46 calculates a plurality of equations for calculating the first TCP position based on the first calibration information and the second calibration information read from the storage unit 32, and the second TCP position. The equations to be calculated are derived, and the simultaneous equations derived from all the derived equations are collectively solved by nonlinear optimization calculation such as the steepest descent method, Newton method, Levenberg-Marquet method and the like.

その結果、ジョイントオフセット算出部46は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットと、第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットとを算出する。また、この算出の際、ジョイントオフセット算出部46は、第1マニピュレーターMNP1のTCPの位置と、第2マニピュレーターMNP2のTCPの位置とを、ある1つの座標系において表される位置として算出する。以下では、この座標系を共有ロボット座標系と称する。   As a result, the joint offset calculation unit 46 calculates a joint offset for correcting the rotation angles of the plurality of actuators included in the first manipulator MNP1, and a joint offset for correcting the rotation angles of the plurality of actuators included in the second manipulator MNP2. calculate. In this calculation, the joint offset calculation unit 46 calculates the TCP position of the first manipulator MNP1 and the TCP position of the second manipulator MNP2 as positions represented in a certain coordinate system. Hereinafter, this coordinate system is referred to as a shared robot coordinate system.

なお、マニピュレーターのTCPの位置を固定位置Xに固定して得られた校正用情報に基づいて導出された複数の方程式による連立方程式を解くことによってジョイントオフセットを算出する方法では、マニピュレーターの根元(エンドエフェクターが備えられる側とは反対側の端部)のアクチュエーターの回転角を補正するジョイントオフセットを算出しようとしても、順運動学に係る数学上、不定となってしまう。   In the method of calculating the joint offset by solving simultaneous equations based on a plurality of equations derived based on the calibration information obtained by fixing the TCP position of the manipulator at the fixed position X, the root of the manipulator (end Even if an attempt is made to calculate the joint offset for correcting the rotation angle of the actuator on the side opposite to the side on which the effector is provided, mathematically related to forward kinematics becomes uncertain.

しかし、ロボットシステム1では、マニピュレーターの根元のアクチュエーターに対応するアクチュエーターが、ロボット20の腰軸のアクチュエーターとなっている。そのため、ロボットシステム1は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれが備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを、すべて算出することができる。   However, in the robot system 1, the actuator corresponding to the actuator at the base of the manipulator is the waist axis actuator of the robot 20. Therefore, the robot system 1 can calculate all joint offsets that correct the rotation angles of the plurality of actuators provided in each of the first manipulator MNP1 and the second manipulator MNP2.

また、ロボットシステム1は、算出された第1ジョイントオフセット及び第2ジョイントオフセットによって第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれの校正を行い、且つ腰軸を固定することで、第1マニピュレーターMNP1及び第2マニピュレーターMNP2による協調作業の精度を向上させることができる。また、ロボットシステム1は、算出された第1ジョイントオフセット及び第2ジョイントオフセットによって第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれの校正を行い、且つ腰軸を固定することで、第1マニピュレーターMNP1及び第2マニピュレーターMNP2のそれぞれによって行う作業の精度を向上させることができる。なお、ロボットシステム1は、他の装置を用いて腰軸のアクチュエーターのジョイントオフセットを算出させ、算出されたジョイントオフセットによって腰軸のアクチュエーターの校正を行う構成であってもよい。   The robot system 1 calibrates each of the first manipulator MNP1 and the second manipulator MNP2 with the calculated first joint offset and second joint offset, and fixes the waist axis to thereby fix the first manipulator MNP1 and the second manipulator MNP1. The accuracy of cooperative work by the two manipulator MNP2 can be improved. The robot system 1 calibrates each of the first manipulator MNP1 and the second manipulator MNP2 with the calculated first joint offset and second joint offset, and fixes the waist axis to thereby fix the first manipulator MNP1 and the second manipulator MNP1. The accuracy of work performed by each of the two manipulators MNP2 can be improved. The robot system 1 may be configured to calculate the joint offset of the lumbar actuator using another device and calibrate the lumbar actuator using the calculated joint offset.

次に、誤差評価部47は、ステップS230で記憶部32に記憶された第1マニピュレーターMNP1に係るジョイントオフセットを示す情報を記憶部32から読み込む。また、誤差評価部47は、ステップS170で記憶された第1マニピュレーターMNP1に係るすべての校正用情報を記憶部32から1つずつ読み込む。誤差評価部47は、読み込まれた校正用情報毎に、校正用情報に含まれる回転角と、読み込まれたジョイントオフセットとに基づく順運動学により、第1マニピュレーターMNP1のTCPの位置を算出する。そして、誤差評価部47は、校正用情報毎(すなわち、ロボット20の姿勢毎)に算出されたすべての第1マニピュレーターMNP1のTCPの位置に基づいて、それらのTCPの位置の標準偏差を、第1標準偏差として算出する。   Next, the error evaluation unit 47 reads, from the storage unit 32, information indicating the joint offset related to the first manipulator MNP1 stored in the storage unit 32 in step S230. Further, the error evaluating unit 47 reads all the calibration information related to the first manipulator MNP1 stored in step S170 one by one from the storage unit 32. The error evaluation unit 47 calculates the TCP position of the first manipulator MNP1 for each read calibration information by forward kinematics based on the rotation angle included in the calibration information and the read joint offset. Then, the error evaluation unit 47 calculates the standard deviation of the TCP positions based on the TCP positions of all the first manipulators MNP1 calculated for each calibration information (that is, for each posture of the robot 20). Calculated as one standard deviation.

また、誤差評価部47は、ステップS230で記憶部32に記憶された第2マニピュレーターMNP2に係るジョイントオフセットを示す情報を記憶部32から読み込む。そして、誤差評価部47は、ステップS170で記憶された第2マニピュレーターMNP2に係るすべての校正用情報を記憶部32から1つずつ読み込む。誤差評価部47は、読み込まれた校正用情報毎に、校正用情報に含まれる回転角と、読み込まれたジョイントオフセットとに基づく順運動学により、第2マニピュレーターMNP2のTCPの位置を算出する。そして、誤差評価部47は、校正用情報毎(すなわち、ロボット20の姿勢毎)に算出されたすべての第2マニピュレーターMNP2のTCPの位置に基づいて、それらのTCPの位置の標準偏差を、第2標準偏差として算出する(ステップS240)。   Further, the error evaluating unit 47 reads information indicating the joint offset related to the second manipulator MNP2 stored in the storage unit 32 in step S230 from the storage unit 32. Then, the error evaluation unit 47 reads all the calibration information related to the second manipulator MNP2 stored in step S170 one by one from the storage unit 32. The error evaluation unit 47 calculates the TCP position of the second manipulator MNP2 for each read calibration information by forward kinematics based on the rotation angle included in the calibration information and the read joint offset. Then, the error evaluation unit 47 calculates the standard deviation of the TCP positions based on the TCP positions of all the second manipulators MNP2 calculated for each calibration information (that is, for each posture of the robot 20). Two standard deviations are calculated (step S240).

次に、誤差評価部47は、第1標準偏差と、第2標準偏差との両方がそれぞれ所定値未満であるか否かを判定(評価)する(ステップS250)。ステップS240で算出された第1標準偏差と、ステップS240で算出された第2標準偏差とのうちいずれか一方が所定値未満ではないと判定した場合(ステップS250−No)、ロボット制御部42は、ステップS110に戻り、第1マニピュレーターMNP1及び第2マニピュレーターMNP2に係る校正用情報を取得し直すことで、ジョイントオフセットを算出し直す。   Next, the error evaluation unit 47 determines (evaluates) whether or not both the first standard deviation and the second standard deviation are less than a predetermined value (step S250). When it is determined that one of the first standard deviation calculated in step S240 and the second standard deviation calculated in step S240 is not less than a predetermined value (step S250-No), the robot control unit 42 Returning to Step S110, the joint offset is recalculated by re-acquiring the calibration information related to the first manipulator MNP1 and the second manipulator MNP2.

一方、ステップS240で算出された第1標準偏差と、ステップS240で算出された第2標準偏差との両方が所定値X1未満であると誤差評価部47が判定した場合(ステップS250−Yes)、教示部48は、ステップS230で算出されたジョイントオフセットを記憶部32に記憶させる(ステップS260)。ステップS260における第1ジョイントオフセットを示す情報と第2ジョイントオフセットを示す情報との記憶部32への記憶は、前述の第1ジョイントオフセット及び第2ジョイントオフセットの教示を示す。   On the other hand, when the error evaluation unit 47 determines that both the first standard deviation calculated in step S240 and the second standard deviation calculated in step S240 are less than the predetermined value X1 (step S250-Yes), The teaching unit 48 stores the joint offset calculated in step S230 in the storage unit 32 (step S260). The storage in the storage unit 32 of the information indicating the first joint offset and the information indicating the second joint offset in step S260 indicates the teaching of the first joint offset and the second joint offset described above.

なお、本実施形態では、教示部48は、ステップS240で算出された第1標準偏差と、ステップS240で算出された第2標準偏差との両方が所定値X1未満であるか否かを判定する構成であるとしたが、これに代えて、ステップS240で算出された第1標準偏差と、ステップS240で算出された第2標準偏差とのうちいずれか一方が所定値X1未満であると誤差評価部47が判定した場合、ステップS230で算出されたジョイントオフセットを記憶部32に記憶させる(教示する)構成であってもよい。   In the present embodiment, the teaching unit 48 determines whether both the first standard deviation calculated in step S240 and the second standard deviation calculated in step S240 are less than a predetermined value X1. Instead of this, instead of this, if one of the first standard deviation calculated in step S240 and the second standard deviation calculated in step S240 is less than the predetermined value X1, an error evaluation is performed. When the unit 47 determines, the joint offset calculated in step S230 may be stored (taught) in the storage unit 32.

<第2実施形態>
以下、本発明の第2実施形態について、図面を参照して説明する。図10は、第2実施形態に係るロボットシステム2の一例を示す構成図である。第2実施形態に係るロボットシステム2は、ロボット20aと、制御装置30aを備える。なお、第2実施形態では、第1の実施形態と同様な構成部には、同じ符号を付してある。
Second Embodiment
Hereinafter, a second embodiment of the present invention will be described with reference to the drawings. FIG. 10 is a configuration diagram illustrating an example of the robot system 2 according to the second embodiment. The robot system 2 according to the second embodiment includes a robot 20a and a control device 30a. In the second embodiment, the same components as those in the first embodiment are denoted by the same reference numerals.

ロボットシステム2は、第1実施形態において説明した方法によって第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれの校正を行い、その後、作業台TBの上面に配置された作業対象Mを所定位置に配置し直す作業をロボット20aに行わせる。以下では、この作業を所定の作業と称して説明する。   The robot system 2 calibrates each of the first manipulator MNP1 and the second manipulator MNP2 by the method described in the first embodiment, and then rearranges the work target M arranged on the upper surface of the work table TB to a predetermined position. The robot 20a performs the work. Hereinafter, this operation will be described as a predetermined operation.

図10に示したロボット20aは、第1実施形態に係るロボット20に対して、第1実施形態において説明した方法によって第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれの校正が行われた後の状態である。また、ロボット20aは、ロボット20が備えていた第1エンドエフェクターEND1及び第2エンドエフェクターEND2に代えて、作業対象Mを把持可能な爪部をそれぞれ備える第3エンドエフェクターEND3及び第4エンドエフェクターEND4を備える。以下では、ロボット20aは、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正が行われた後、第1エンドエフェクターEND1及び第2エンドエフェクターEND2を、第3エンドエフェクターEND3及び第4エンドエフェクターEND4に付け替えられたとして説明する。   The robot 20a shown in FIG. 10 is in a state after the first manipulator MNP1 and the second manipulator MNP2 are calibrated to the robot 20 according to the first embodiment by the method described in the first embodiment. is there. Further, the robot 20a replaces the first end effector END1 and the second end effector END2 provided in the robot 20 with a third end effector END3 and a fourth end effector END4 each having a claw portion that can grip the work target M. Is provided. In the following, after the calibration of the first manipulator MNP1 and the second manipulator MNP2, the robot 20a replaces the first end effector END1 and the second end effector END2 with the third end effector END3 and the fourth end effector END4. It will be described as being.

作業対象Mは、第3エンドエフェクターEND3と第4エンドエフェクターEND4のうちいずれか一方又は両方によって把持可能な大きさと形状を有する物体であり、例えば、産業機械等に用いられる部品(ネジやボルト等)である。図10において、作業対象Mは、直方体形状の物体として示したが、他の形状や大きさの物体であってもよい。   The work target M is an object having a size and a shape that can be gripped by one or both of the third end effector END3 and the fourth end effector END4. For example, the work target M is a part (such as a screw or bolt) used in an industrial machine or the like. ). In FIG. 10, the work target M is illustrated as a rectangular parallelepiped object, but may be an object having another shape or size.

第1固定撮像部21と第2固定撮像部22は、腰部Cに備えられた腰軸J0とともに動くように、ロボット20aの腰部Cよりも上部に設けられる。また、第1固定撮像部21と第2固定撮像部22は、撮像可能な範囲をステレオ撮像する。以下では、第1固定撮像部21と第2固定撮像部22にステレオ撮像された画像を、ステレオ撮像画像と称して説明する。ここで、撮像可能な範囲とは、ロボット20aが腰軸J0を回転させることによって第1固定撮像部21及び第2固定撮像部22によりステレオ撮像が可能なすべての範囲を示す。なお、作業対象Mと、作業対象Mを配置する所定位置は、その範囲に含まれているとする。   The first fixed imaging unit 21 and the second fixed imaging unit 22 are provided above the waist C of the robot 20a so as to move with the waist axis J0 provided in the waist C. In addition, the first fixed imaging unit 21 and the second fixed imaging unit 22 perform stereo imaging of the imageable range. Hereinafter, an image that is stereo-captured by the first fixed imaging unit 21 and the second fixed imaging unit 22 will be referred to as a stereo captured image. Here, the imageable range indicates all ranges in which the first fixed imaging unit 21 and the second fixed imaging unit 22 can perform stereo imaging by rotating the waist axis J0 by the robot 20a. It is assumed that the work target M and the predetermined position where the work target M is arranged are included in the range.

なお、ステレオ撮像画像は、静止画像であるとするが、これに代えて、動画像であってもよい。また、第1固定撮像部21と第2固定撮像部22には、カメラ座標系が設定されているとする。カメラ座標系の原点は、腰軸J0の延長線上の任意の位置に設定されればよく、例えば、腰軸J0の延長線と、第1固定撮像部21の撮像素子の中心と第2固定撮像部22の撮像素子の中心とを結ぶ線分を通る水平面(床面に対して水平)との交点の位置であるが、他の位置であってもよい。また、カメラ座標系の姿勢は、腰軸の延長線が延びる方向と、その方向と直交する2つの方向(これらも互いに直交する)とによって規定される。   In addition, although the stereo captured image is a still image, it may be a moving image instead. Further, it is assumed that a camera coordinate system is set in the first fixed imaging unit 21 and the second fixed imaging unit 22. The origin of the camera coordinate system may be set at an arbitrary position on the extension line of the waist axis J0. For example, the extension line of the waist axis J0, the center of the image sensor of the first fixed imaging unit 21, and the second fixed imaging. Although it is the position of the intersection with the horizontal plane (horizontal with respect to the floor surface) passing through the line segment connecting the center of the image sensor of the unit 22, it may be another position. The posture of the camera coordinate system is defined by a direction in which an extension line of the waist axis extends and two directions orthogonal to the direction (which are also orthogonal to each other).

また、ステレオ撮像画像上の位置と、カメラ座標系における位置とは、予め何らかのキャリブレーションによって対応付けられているとする。また、ワールド座標系における位置と、カメラ座標系における位置とは、予め何らかのキャリブレーションによって対応付けられているとする。   Further, it is assumed that the position on the stereo image and the position in the camera coordinate system are associated in advance by some calibration. It is assumed that the position in the world coordinate system and the position in the camera coordinate system are associated in advance by some calibration.

ロボット20aが備える各機能部(第1動撮像部11、第2動撮像部12、第1固定撮像部21、第2固定撮像部22、第1力センサー23−1、第2力センサー23−2、第3エンドエフェクターEND3、第4エンドエフェクターEND4、第1マニピュレーターMNP1、第2マニピュレーターMNP2、図示しない複数のアクチュエーターのそれぞれ)は、制御装置30aから入力された制御信号に基づいて制御される。ロボット20aは、第3エンドエフェクターEND3と第4エンドエフェクターEND4のうちいずれか一方又は両方によって作業対象Mを把持し、把持した作業対象Mを所定位置まで移動させて配置する。   Each functional unit included in the robot 20a (first moving imaging unit 11, second moving imaging unit 12, first fixed imaging unit 21, second fixed imaging unit 22, first force sensor 23-1, second force sensor 23- 2, the third end effector END3, the fourth end effector END4, the first manipulator MNP1, the second manipulator MNP2, and each of a plurality of actuators (not shown) are controlled based on a control signal input from the control device 30a. The robot 20a grips the work target M with one or both of the third end effector END3 and the fourth end effector END4, and moves the gripped work target M to a predetermined position.

制御装置30aは、第1実施形態において説明した方法によって第1マニピュレーターMNP1と第2マニピュレーターMNP2それぞれの校正を行う。また、ロボット20aの第1エンドエフェクターEND1及び第2エンドエフェクターEND2がユーザーにより第3エンドエフェクターEND3及び第4エンドエフェクターEND4に付け替えられた後、制御装置30aは、第1固定撮像部21及び第2固定撮像部22が撮像可能な範囲を、第1固定撮像部21及び第2固定撮像部22にステレオ撮像させ、撮像されたステレオ撮像画像に基づいてパターンマッチング等により作業対象Mを検出する。制御装置30aは、作業対象Mが検出されるまで、腰軸J0の姿勢を変えながら(腰軸J0の回転角を変えながら)繰り返し行う。制御装置30aは、ステレオ撮像画像から作業対象Mが検出された場合、そのステレオ撮像画像に基づいてカメラ座標系における作業対象Mの位置及び姿勢を算出する。   The control device 30a calibrates each of the first manipulator MNP1 and the second manipulator MNP2 by the method described in the first embodiment. In addition, after the first end effector END1 and the second end effector END2 of the robot 20a are replaced by the third end effector END3 and the fourth end effector END4 by the user, the control device 30a includes the first fixed imaging unit 21 and the second end effector END4. The first fixed imaging unit 21 and the second fixed imaging unit 22 perform stereo imaging of the range that can be captured by the fixed imaging unit 22, and the work target M is detected by pattern matching or the like based on the captured stereo captured image. The control device 30a repeatedly performs the operation while changing the posture of the waist axis J0 (changing the rotation angle of the waist axis J0) until the work object M is detected. When the work target M is detected from the stereo captured image, the control device 30a calculates the position and orientation of the work target M in the camera coordinate system based on the stereo captured image.

制御装置30aは、カメラ座標系における作業対象Mの位置及び姿勢を、共有ロボット座標系における位置及び姿勢に変換する。そして、制御装置30aは、この変換によって得られた共有ロボット座標系における作業対象Mの位置及び姿勢に基づいて、作業対象Mを第3エンドエフェクターEND3と第4エンドエフェクターEND4のうちいずれか一方又は両方によって把持させ、把持された作業対象Mを所定位置に配置させる。   The control device 30a converts the position and orientation of the work target M in the camera coordinate system into a position and orientation in the shared robot coordinate system. Then, based on the position and orientation of the work target M in the shared robot coordinate system obtained by this conversion, the control device 30a selects the work target M as one of the third end effector END3 and the fourth end effector END4 or The gripping object M is gripped by both, and the gripped work object M is placed at a predetermined position.

なお、カメラ座標系における位置と、共有ロボット座標系における位置とは、予め何らかのキャリブレーションによって対応付けられているとする。このキャリブレーションは、撮像部の校正の一例である。また、共有ロボット座標系の原点の位置は、ロボット20aに予め決められた位置に設定され、例えば、腰軸J0の回転軸上の任意の位置等である。ここで、この予め決められた位置とは、腰軸J0が回転(移動)した場合においても、カメラ座標系と共有ロボット座標系の相対的な位置及び姿勢(位置関係)が変化しない位置のことである。   It is assumed that the position in the camera coordinate system and the position in the shared robot coordinate system are associated in advance by some calibration. This calibration is an example of the calibration of the imaging unit. Further, the position of the origin of the shared robot coordinate system is set to a position determined in advance by the robot 20a, and is, for example, an arbitrary position on the rotation axis of the waist axis J0. Here, the predetermined position is a position where the relative position and posture (positional relationship) of the camera coordinate system and the shared robot coordinate system do not change even when the waist axis J0 rotates (moves). It is.

この一例では、共有ロボット座標系の原点の位置が、カメラ座標系の原点の位置と一致しており、腰軸J0の回転とともにカメラ座標系の原点の位置及び姿勢と共有ロボット座標系の原点の位置及び姿勢とが同じ位置及び姿勢に変化する場合について説明する。なお、共有ロボット座標系の原点の位置は、腰軸J0が回転(移動)した場合においても、カメラ座標系と共有ロボット座標系の相対的な位置及び姿勢(位置関係)が変化しない位置であれば、カメラ座標系の原点の位置と一致している必要は無い。   In this example, the position of the origin of the shared robot coordinate system matches the position of the origin of the camera coordinate system, and with the rotation of the waist axis J0, the position and orientation of the origin of the camera coordinate system and the origin of the shared robot coordinate system. A case where the position and orientation change to the same position and orientation will be described. Note that the origin position of the shared robot coordinate system may be a position where the relative position and posture (positional relationship) between the camera coordinate system and the shared robot coordinate system do not change even when the waist axis J0 rotates (moves). For example, it is not necessary to coincide with the position of the origin of the camera coordinate system.

ここで、図1に示したように、第1固定撮像部21及び第2固定撮像部22は、腰軸J0とともに動くように設置されているため、カメラ座標系における位置と共有ロボット座標系における位置との対応付けは、腰軸J0が回転するたびにずれることがない。従って、予め一度だけキャリブレーションを行うことで、カメラ座標系における位置と共有ロボット座標系における位置との対応付け(すなわち、腰軸J0の校正)は、その後、カメラ座標系の原点の位置及び姿勢と、共有ロボット座標系の原点の位置及び姿勢との相対的な位置及び姿勢が変更されない限り行う必要がない。なお、共有ロボット座標系の座標軸は、アームの座標軸の一例である。また、カメラ座標系の原点の位置及び姿勢と、共有ロボット座標系の原点の位置及び姿勢との相対的な位置及び姿勢は、アームの座標軸と前記撮像部との所定の位置関係の一例である。   Here, as shown in FIG. 1, since the first fixed imaging unit 21 and the second fixed imaging unit 22 are installed so as to move together with the waist axis J0, the position in the camera coordinate system and the shared robot coordinate system The association with the position does not shift every time the waist axis J0 rotates. Accordingly, by performing calibration only once in advance, the correspondence between the position in the camera coordinate system and the position in the shared robot coordinate system (that is, the calibration of the waist axis J0) is then performed at the position and orientation of the origin of the camera coordinate system. This is not necessary unless the relative position and orientation of the origin and the orientation of the shared robot coordinate system are changed. The coordinate axis of the shared robot coordinate system is an example of the coordinate axis of the arm. The relative position and orientation of the origin position and orientation of the camera coordinate system and the origin position and orientation of the shared robot coordinate system are an example of a predetermined positional relationship between the coordinate axis of the arm and the imaging unit. .

次に、図11を参照して、制御装置30aの機能構成について説明する。図11は、制御装置30aの機能構成の一例を示す図である。制御装置30aは、記憶部32と、入力受付部33と、表示部35と、制御部36aと、画像取得部50を備える。制御部36aが備える機能部のうち一部又は全部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。   Next, the functional configuration of the control device 30a will be described with reference to FIG. FIG. 11 is a diagram illustrating an example of a functional configuration of the control device 30a. The control device 30a includes a storage unit 32, an input receiving unit 33, a display unit 35, a control unit 36a, and an image acquisition unit 50. A part or all of the functional units included in the control unit 36a is realized by the CPU 31 executing various programs stored in the storage unit 32, for example. Some or all of these functional units may be hardware functional units such as LSI (Large Scale Integration) and ASIC (Application Specific Integrated Circuit).

画像取得部50は、第1固定撮像部21及び第2固定撮像部22によりステレオ撮像されたステレオ撮像画像を取得する。画像取得部50は、取得したステレオ撮像画像を制御部36aに出力する。
制御部36aは、制御装置30aの全体を制御する。制御部36aは、表示制御部40と、校正制御部41と、撮像制御部51と、検出制御部52と、位置姿勢算出部53と、ロボット制御部54を備える。
The image acquisition unit 50 acquires a stereo image captured by the first fixed imaging unit 21 and the second fixed imaging unit 22. The image acquisition unit 50 outputs the acquired stereo captured image to the control unit 36a.
The control unit 36a controls the entire control device 30a. The control unit 36 a includes a display control unit 40, a calibration control unit 41, an imaging control unit 51, a detection control unit 52, a position / orientation calculation unit 53, and a robot control unit 54.

撮像制御部51は、第1固定撮像部21及び第2固定撮像部22に撮像可能な範囲をステレオ撮像させる。
検出制御部52は、画像取得部50から取得されたステレオ撮像画像に基づいて、ステレオ撮像画像からパターンマッチング等によって作業対象Mを検出する。この検出の際、検出制御部52は、ステレオ撮像画像から作業対象Mが検出されたか否かを判定する。その判定の結果、検出制御部52は、ステレオ撮像画像から作業対象Mが検出されなかった場合、ロボット20aの腰軸J0を所定角度だけ回転させるようにロボット制御部54を制御する。
The imaging control unit 51 causes the first fixed imaging unit 21 and the second fixed imaging unit 22 to perform stereo imaging of the imageable range.
The detection control unit 52 detects the work target M from the stereo captured image by pattern matching or the like based on the stereo captured image acquired from the image acquisition unit 50. At the time of this detection, the detection control unit 52 determines whether or not the work target M is detected from the stereo captured image. As a result of the determination, when the work target M is not detected from the stereo captured image, the detection control unit 52 controls the robot control unit 54 to rotate the waist axis J0 of the robot 20a by a predetermined angle.

位置姿勢算出部53は、ステレオ撮像画像から作業対象Mが検出されたと検出制御部52が判定した場合、そのステレオ撮像画像に基づいてロボット座標系における作業対象Mの位置及び姿勢を算出する。
ロボット制御部54は、位置姿勢算出部53により算出されたロボット座標系における作業対象Mの位置及び姿勢に基づいてロボット20aに所定の作業を行わせる。
When the detection control unit 52 determines that the work target M is detected from the stereo captured image, the position / orientation calculation unit 53 calculates the position and orientation of the work target M in the robot coordinate system based on the stereo captured image.
The robot control unit 54 causes the robot 20a to perform a predetermined operation based on the position and orientation of the work target M in the robot coordinate system calculated by the position / orientation calculation unit 53.

以下、図12を参照して、制御装置30aがロボット20aに所定の作業を行わせる処理について説明する。図12は、制御装置30aがロボット20aに所定の作業を行わせる処理の流れの一例を示すフローチャートである。まず、撮像制御部51は、第1固定撮像部21及び第2固定撮像部22に撮像可能な範囲をステレオ撮像させる(ステップS300)。次に、画像取得部50は、第1固定撮像部21及び第2固定撮像部22によりステレオ撮像されたステレオ撮像画像を取得し、取得されたステレオ撮像画像を制御部36aに出力する(ステップS310)。   Hereinafter, with reference to FIG. 12, a process in which the control device 30a causes the robot 20a to perform a predetermined operation will be described. FIG. 12 is a flowchart illustrating an example of a process flow in which the control device 30a causes the robot 20a to perform a predetermined operation. First, the imaging control unit 51 causes the first fixed imaging unit 21 and the second fixed imaging unit 22 to perform stereo imaging of a range that can be imaged (step S300). Next, the image acquisition unit 50 acquires a stereo image captured by the first fixed imaging unit 21 and the second fixed imaging unit 22, and outputs the acquired stereo image to the control unit 36a (step S310). ).

次に、検出制御部52は、ステップS310で画像取得部50から取得されたステレオ撮像画像から作業対象Mを検出する(ステップS320)。次に、検出制御部52は、ステップS320で作業対象Mがステレオ撮像画像から検出されたか否かを判定する(ステップS330)。作業対象Mがステレオ撮像画像から検出されていないと検出制御部52が判定した場合(ステップS320−No)、ロボット制御部54は、腰軸J0の姿勢が変わるように腰軸J0を所定角度だけ回転させ(ステップS360)、その後、撮像制御部51が、ステップS300に戻って第1固定撮像部21及び第2固定撮像部22に撮像可能な範囲をステレオ撮像させる。   Next, the detection control unit 52 detects the work target M from the stereo captured image acquired from the image acquisition unit 50 in step S310 (step S320). Next, the detection control unit 52 determines whether or not the work target M is detected from the stereo captured image in step S320 (step S330). When the detection control unit 52 determines that the work target M has not been detected from the stereo image (step S320—No), the robot control unit 54 moves the waist axis J0 by a predetermined angle so that the posture of the waist axis J0 changes. Then, the imaging control unit 51 returns to step S300 to cause the first fixed imaging unit 21 and the second fixed imaging unit 22 to perform stereo imaging of the imageable range.

一方、作業対象Mがステレオ撮像画像から検出されたと検出制御部52が判定した場合(ステップS320−Yes)、位置姿勢算出部53は、ステップS310で画像取得部50により取得されたステレオ撮像画像に基づいて、ロボット座標系における作業対象Mの位置及び姿勢を算出する(ステップS340)。次に、ロボット制御部54は、ステップS340で算出されたロボット座標系における作業対象Mの位置及び姿勢に基づいてロボット20aに所定の作業を行わせる(ステップS350)。   On the other hand, when the detection control unit 52 determines that the work target M is detected from the stereo captured image (step S320—Yes), the position / orientation calculation unit 53 applies the stereo captured image acquired by the image acquisition unit 50 in step S310. Based on this, the position and orientation of the work target M in the robot coordinate system are calculated (step S340). Next, the robot control unit 54 causes the robot 20a to perform a predetermined work based on the position and orientation of the work target M in the robot coordinate system calculated in step S340 (step S350).

以上説明したように、本実施形態におけるロボットシステム2は、共有ロボット座標系(第1マニピュレーターMNP1及び第2マニピュレーターMNP2の座標軸)に対してカメラ座標系(第1固定撮像部21及び第2固定撮像部22の座標軸)を校正する。これにより、ロボットシステム2は、キャリブレーションの手間を軽減することができる。   As described above, the robot system 2 according to the present embodiment has the camera coordinate system (the first fixed imaging unit 21 and the second fixed imaging) with respect to the shared robot coordinate system (the coordinate axes of the first manipulator MNP1 and the second manipulator MNP2). The coordinate axis of the unit 22) is calibrated. Thereby, the robot system 2 can reduce the labor of calibration.

また、ロボットシステム2は、カメラ座標系と一致している共有ロボット座標系に対してカメラ座標系(第1固定撮像部21及び第2固定撮像部22の座標軸)を校正する。これにより、ロボットシステム2は、カメラ座標系と共有ロボット座標系とのキャリブレーションに係る手間を軽減することができる。   Further, the robot system 2 calibrates the camera coordinate system (the coordinate axes of the first fixed imaging unit 21 and the second fixed imaging unit 22) with respect to the shared robot coordinate system that matches the camera coordinate system. Thereby, the robot system 2 can reduce the labor involved in calibration between the camera coordinate system and the shared robot coordinate system.

以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and changes, substitutions, deletions, and the like are possible without departing from the gist of the present invention. May be.

また、以上に説明した装置(例えば、ロボットシステム1の制御装置30、ロボットシステム2の制御装置30a)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM:Random Access Memory)のように、一定時間プログラムを保持しているものも含むものとする。   In addition, a program for realizing the function of an arbitrary component in the devices described above (for example, the control device 30 of the robot system 1 and the control device 30a of the robot system 2) is recorded on a computer-readable recording medium. The program may be read into a computer system and executed. Here, the “computer system” includes hardware such as an OS (Operating System) and peripheral devices. “Computer-readable recording medium” means a portable disk such as a flexible disk, a magneto-optical disk, a ROM (Read Only Memory), a CD (Compact Disk) -ROM, or a hard disk built in a computer system. Refers to the device. Further, the “computer-readable recording medium” means a volatile memory (RAM: Random Access) inside a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. Memory that holds a program for a certain period of time, such as Memory).

また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
In addition, the above program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
Further, the above program may be for realizing a part of the functions described above. Further, the program may be a so-called difference file (difference program) that can realize the above-described functions in combination with a program already recorded in the computer system.

1、2 ロボットシステム、11 第1動撮像部、12 第2動撮像部、20、20a ロボット、21 第1固定撮像部、22 第2固定撮像部、23 力センサー、23−1 第1力センサー、23−2 第2力センサー、30、30a 制御装置、31 CPU、32 記憶部、33 入力受付部、34 通信部、35 表示部、36、36a 制御部、40 表示制御部、41 校正制御部、42、54 ロボット制御部、43 力センサー初期化部、44 力センサー情報取得部、45 回転角取得部、46 ジョイントオフセット算出部、47 誤差評価部、48 教示部、50 画像取得部、51 撮像制御部、52 検出制御部、53 位置姿勢算出部 DESCRIPTION OF SYMBOLS 1, 2 Robot system, 11 1st motion imaging part, 12 2nd motion imaging part, 20, 20a Robot, 21 1st fixed imaging part, 22 2nd fixed imaging part, 23 Force sensor, 23-1 1st force sensor , 23-2 Second force sensor, 30, 30a control device, 31 CPU, 32 storage unit, 33 input reception unit, 34 communication unit, 35 display unit, 36, 36a control unit, 40 display control unit, 41 calibration control unit , 42, 54 Robot control unit, 43 Force sensor initialization unit, 44 Force sensor information acquisition unit, 45 Rotation angle acquisition unit, 46 Joint offset calculation unit, 47 Error evaluation unit, 48 Teaching unit, 50 Image acquisition unit, 51 Imaging Control unit, 52 detection control unit, 53 position and orientation calculation unit

Claims (3)

アームと、
撮像部と、
移動機構と、
制御部と、を含み、
前記撮像部は、前記移動機構よりも上に設置され、
前記アームの座標軸は、前記移動機構よりも上に設定され、
前記アームの座標軸は、前記撮像部と所定の位置関係にあり、
前記制御部は、前記アームの座標軸に対して前記撮像部を校正する、
ロボット。
Arm,
An imaging unit;
A moving mechanism;
A control unit,
The imaging unit is installed above the moving mechanism,
The coordinate axis of the arm is set above the moving mechanism,
The coordinate axis of the arm is in a predetermined positional relationship with the imaging unit,
The control unit calibrates the imaging unit with respect to the coordinate axis of the arm;
robot.
請求項1に記載のロボットであって、
前記撮像部の座標軸は、前記アームの座標軸と一致している、
ロボット。
The robot according to claim 1,
The coordinate axis of the imaging unit coincides with the coordinate axis of the arm,
robot.
アームと、撮像部と、移動機構とを備えるロボットと、
前記ロボットを制御する制御装置と、を含み、
前記撮像部は、前記移動機構よりも上に設置され、
前記アームの座標軸は、前記移動機構よりも上に設定され、
前記アームの座標軸は、前記撮像部と所定の位置関係にあり、
前記制御装置は、前記アームの座標軸に対して前記撮像部を校正する、
ロボットシステム。
A robot including an arm, an imaging unit, and a moving mechanism;
A control device for controlling the robot,
The imaging unit is installed above the moving mechanism,
The coordinate axis of the arm is set above the moving mechanism,
The coordinate axis of the arm is in a predetermined positional relationship with the imaging unit,
The control device calibrates the imaging unit with respect to the coordinate axis of the arm,
Robot system.
JP2014261875A 2014-12-25 2014-12-25 Robot and robot system Pending JP2016120558A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014261875A JP2016120558A (en) 2014-12-25 2014-12-25 Robot and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014261875A JP2016120558A (en) 2014-12-25 2014-12-25 Robot and robot system

Publications (1)

Publication Number Publication Date
JP2016120558A true JP2016120558A (en) 2016-07-07

Family

ID=56326964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014261875A Pending JP2016120558A (en) 2014-12-25 2014-12-25 Robot and robot system

Country Status (1)

Country Link
JP (1) JP2016120558A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200094021A (en) * 2019-01-29 2020-08-06 울산과학기술원 calibration device
CN112815887A (en) * 2020-12-30 2021-05-18 廊坊市亿创科技有限公司 Industrial robot end tool coordinate system calibration method
WO2022195944A1 (en) * 2021-03-16 2022-09-22 株式会社日立製作所 Robot system, and control method for robot system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200094021A (en) * 2019-01-29 2020-08-06 울산과학기술원 calibration device
KR102179309B1 (en) * 2019-01-29 2020-11-16 울산과학기술원 calibration device
CN112815887A (en) * 2020-12-30 2021-05-18 廊坊市亿创科技有限公司 Industrial robot end tool coordinate system calibration method
CN112815887B (en) * 2020-12-30 2022-10-21 廊坊市亿创科技有限公司 Industrial robot end tool coordinate system calibration method
WO2022195944A1 (en) * 2021-03-16 2022-09-22 株式会社日立製作所 Robot system, and control method for robot system

Similar Documents

Publication Publication Date Title
US20160184996A1 (en) Robot, robot system, control apparatus, and control method
JP6380828B2 (en) Robot, robot system, control device, and control method
JP6357949B2 (en) Control system, robot system, and control method
CN106945007B (en) Robot system, robot, and robot control device
US9586321B2 (en) Robot, control method of robot, and control device of robot
US20170277167A1 (en) Robot system, robot control device, and robot
US20170203434A1 (en) Robot and robot system
JP2019098409A (en) Robot system and calibration method
JP2016120558A (en) Robot and robot system
US20160306340A1 (en) Robot and control device
JP6665450B2 (en) Robot, control device, and robot system
JP2016120530A (en) Robot and robot calibration system
JP6488571B2 (en) Teaching apparatus and robot system
JP2016120557A (en) Robot and robot calibration system
JP2016120555A (en) Robot, robot system, control device, and control method
JP6578671B2 (en) ROBOT, ROBOT CONTROL METHOD, AND ROBOT CONTROL DEVICE
JP6897398B2 (en) 3D shape measuring device, robot system, and 3D shape measuring method
JP2016120554A (en) Robot, robot system, control device, and control method
JP2016120531A (en) Robot and robot calibration system
JP2015221485A (en) Robot, robot system, control unit and control method
JP2017047478A (en) Control device, robot, and robot system
JP2018001321A (en) Robot, robot control device and robot system
JP2016013590A (en) Teaching device, and robot system
JP2017100197A (en) Robot and control method
JP2016120556A (en) Robot, robot system, control device, and control method