JP2016120558A - Robot and robot system - Google Patents
Robot and robot system Download PDFInfo
- 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
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
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
マニピュレーターの駆動とともに移動する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).
しかし、従来の方法では、ロボットの姿勢が変化するたびにカメラ座標系とロボット座標系の相対的な位置及び姿勢が変化してしまうため、その都度、カメラ座標系とロボット座標系を対応付けるキャリブレーションを行わなければならないという問題があった。 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実施形態>
以下、本発明の第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
ロボットシステム1は、各エンコーダーから取得された回転角から、順運動学によって現在のマニピュレーターのTCPの位置を制御装置30により算出する。以下では、説明の便宜上、マニピュレーターのTCPの位置を、単にTCPの位置と称して説明する。ロボットシステム1は、この算出されたTCPの位置に基づいて、マニピュレーターにより各種の作業を行うようにロボット20を制御する。
The
しかし、算出された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
このマニピュレーターの校正により、ロボットシステム1は、順運動学によって算出されるTCPの位置と、実際のTCPの位置を精度よく一致させることができる。その結果、ロボットシステム1は、ロボット20が備えるマニピュレーターに高い精度の作業を行わせることができる。以下では、このマニピュレーターの校正のうち、ロボットシステム1がアクチュエーターの回転角を補正するジョイントオフセットを算出し、算出されたジョイントオフセットを制御装置30に教示する(記憶させる)までの処理について説明する。
By calibrating the manipulator, the
このようなマニピュレーターの校正を行う際、ロボットシステム1は、TCPの位置をある位置に固定する。ロボットシステム1は、TCPの位置をある位置に固定するため、治具Jを用いる。ロボットシステム1は、ロボット20が備えるエンドエフェクターの所定部位を治具Jの上面に設けられた凹部Hに接触させる。エンドエフェクターの所定部位は、例えば、第1エンドエフェクターEND1に設けられた突起状の部位の先端である。この先端には、球が設けられている。この球の中心には、第1TCP位置が設定されている。治具Jの上面に設けられた凹部Hは、このようなエンドエフェクターの所定部位が接触した場合、治具Jの上面に沿った方向へのエンドエフェクターの所定部位の動きを固定する。
When calibrating such a manipulator, the
以下では、説明の便宜上、エンドエフェクターの所定部位を凹部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
ここで、エンドエフェクターの所定部位を凹部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
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
この際、ロボットシステム1は、力センサー情報に基づく制御(例えば、コンプライアンス制御等)によって治具Jを破壊しないように所定の大きさの力F1で所定部位Oを凹部Hに押しつけ続ける。このようにすることで、TCPの位置は、固定位置Xに固定され、治具Jの上面に沿った方向へ移動することができなくなる(固定される)。従って、この状態を保持したまま、校正用情報取得動作によってエンドエフェクターが、例えば、矢印F2に沿って動いた場合、所定部位Oの姿勢(すなわち、TCPの姿勢)は変化するが、所定部位Oの位置(すなわち、TCPの位置)は変化しない。
At this time, the
ロボットシステム1は、エンドエフェクターの所定部位を凹部Hに嵌めたまま校正用情報取得動作をロボット20に行わせることで、ロボット20の姿勢を変化させる毎に、ロボット20が備える複数のアクチュエーターそれぞれに係るエンコーダーから、回転角を示す情報を取得する。ロボットシステム1は、取得された複数の回転角を示す情報と、その時のロボット20の姿勢を示す情報とを対応付けて、校正用情報として記憶する。なお、エンドエフェクターの所定部位は、TCPの位置と一致させることが可能な部位であればよく、マニピュレーターの所定部位等の他の部位であってもよい。
The
ロボットシステム1は、上記で説明した処理により記憶された校正用情報に基づいて、順運動学からロボット20の姿勢毎にTCPの位置を算出する方程式を導出する。これらの導出された方程式は、各エンコーダーから取得されたアクチュエーターそれぞれの回転角を入力パラメーターとし、TCPの位置を表す座標(3つの座標値)と、ジョイントオフセットとを未知数とする方程式である。なお、TCPの位置は、マニピュレーターのロボット座標系によって表される。
The
ロボットシステム1は、導出された方程式による連立方程式を解くことにより、未知数であるTCPの位置を表す座標と、ジョイントオフセットを算出する。そして、ロボットシステム1は、算出されたジョイントオフセットに基づいてマニピュレーターの校正を行う。この校正により、ロボットシステム1は、マニピュレーターに高い精度の作業をロボット20に行わせることができる。
The
ここで、ロボットシステム1が具備するロボット20と制御装置30について説明する。なお、本実施形態では、一例として、ロボット20が2つのマニピュレーターを備える場合について説明する。
Here, the
ロボット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
なお、ロボット20は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットとは、1本のアームを有するロボットを示し、例えば、前述の第1アームと第2アームのうちいずれか一方を有するロボットを示す。また、ロボット20は、双腕ロボットに代えて、3腕以上のロボットであってもよい。3腕以上のロボットとは、3本以上のアームを有するロボットを示す。また、ロボット20は、さらに制御装置30を内蔵し、内蔵された制御装置30により制御される。なお、ロボット20は、制御装置30を内蔵する構成に代えて、外部に設置された制御装置30により制御される構成であってもよい。
The
また、複数のアクチュエーターはそれぞれ、第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
図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
また、第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
ここで、図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
以下では、この先端の球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
The first moving
第1動撮像部11は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、第1動撮像部11と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。第1動撮像部11は、図1に示したように第1アームを構成する第1マニピュレーターMNP1の一部に備えられており、第1アームの動きによって移動することが可能である。
The first moving
第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
The second moving
第2動撮像部12は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2動撮像部12と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。第2動撮像部12は、図1に示したように第2アームを構成する第2マニピュレーターMNP2の一部に備えられており、第2アームの動きによって移動することが可能である。
The 2nd moving
第1固定撮像部21は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第1固定撮像部21は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2動撮像部12と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。
The first
第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
Note that one or both of the first
第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
第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
ロボット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
本実施形態において、ロボット20が備える各機能部は、ロボット20に内蔵された制御装置30から入力された制御信号を取得し、取得した制御信号に基づいて第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正用情報取得動作を行う。
In the present embodiment, each functional unit included in the
制御装置30は、ユーザーにより行われたジョグ操作等の操作を受け付け、受け付けられた操作に基づいた動作をロボット20に行わせる。また、制御装置30は、ロボット20に校正用情報取得動作を行わせる。制御装置30は、ロボット20が行う校正用情報取得動作に基づいて、ロボット20が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出する。そして、制御装置30は、算出されたジョイントオフセットを記憶する。なお、制御装置30は、制御部の一例である。
The
次に、図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
記憶部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
入力受付部33は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部33は、タッチパネルとして表示部と一体に構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
The
The
The
次に、図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
制御部36は、制御装置30の全体を制御する。制御部36は、表示制御部40と、校正制御部41を備える。
表示制御部40は、マニピュレーターの校正処理においてユーザーにより行われる操作を補助するGUI(Graphical User Interface)を生成し、生成されたGUIを表示部35に表示させる。このGUIには、例えば、マニピュレーターの校正処理を開始させるためのボタンや、ロボット20をジョグ操作するためのジョグ等が含まれる。
The
The
校正制御部41は、ロボット制御部42と、力センサー初期化部43と、力センサー情報取得部44と、回転角取得部45と、ジョイントオフセット算出部46と、誤差評価部47と、教示部48を備える。校正制御部41は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正に係る処理の全体を制御する。
The
より具体的には、校正制御部41は、入力受付部33により受け付けられた操作(例えば、GUIを介したジョグ操作)に基づいてロボット制御部42によりロボット20を動かす。なお、本実施形態において、校正制御部41がGUIを介して入力受付部33から操作を受け付ける場合について説明するが、校正制御部41がGUIを介さずにスイッチやボタン等を介して操作を受け付ける構成であってもよい。また、このGUIには、ロボット20を動かすジョグ画面や、第1マニピュレーターMNP1の校正用情報取得動作を開始させるボタン、第2マニピュレーターMNP2の校正用情報取得動作を開始させるボタン等が含まれる。
More specifically, the
ロボット制御部42は、校正制御部41からの要求に応じてロボット20を動作させる。また、ロボット制御部42は、力センサー情報取得部44から力センサー23により検出される力センサー情報を取得し、取得された力センサー情報に基づく制御によりロボット20を制御する。
力センサー初期化部43は、力センサー23により検出される力センサー情報のゼロ点を設定(初期化)する。例えば、力センサー初期化部43は、力センサー23から重力以外検出されていない状態において、力センサー23により検出されている重力の大きさをゼロ点とする。以下では、このような処理を、力センサー23の初期化と称して説明する。
The
The force
力センサー情報取得部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
The rotation
ジョイントオフセット算出部46は、記憶部32により記憶された校正用情報を取得する。ジョイントオフセット算出部46は、取得された校正用情報に基づいて、第1マニピュレーターMNP1及び第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出する。ジョイントオフセット算出部46は、算出されたジョイントオフセットを示す情報を記憶部32に記憶させる。
The joint offset
誤差評価部47は、記憶部32に記憶された第1マニピュレーターMNP1に係る校正用情報を1つずつ読み込み、読み込まれた校正用情報毎に、校正用情報に含まれる回転角を示す情報と、記憶部32に記憶されたジョイントオフセットを示す情報とに基づく順運動学によって、第1エンドエフェクターEND1の先端球TCP1(すなわち、第1マニピュレーターMNP1のTCP)の位置を算出する。
The
そして、誤差評価部47は、校正用情報毎(すなわち、ロボット20の姿勢毎)に算出されたすべての第1マニピュレーターMNP1のTCPの位置に基づいて、それら第1マニピュレーターMNP1のTCPの位置のばらつきの度合いを示す量を算出する。以下では、この一例として、このばらつき度合いを示す量が、標準偏差である場合について説明する。すなわち、誤差評価部47は、校正用情報毎に算出されたすべての第1マニピュレーターMNP1のTCPの位置に基づいて、それらの第1マニピュレーターMNP1のTCPの位置の標準偏差を、第1標準偏差として算出する。なお、ばらつき度合いを示す量は、標準偏差に代えて、例えば、分散や標準誤差等であってもよい。誤差評価部47は、算出された第1標準偏差が所定値未満であるか否かを判定(評価)する。
Then, the
また、誤差評価部47は、記憶部32に記憶された校正用情報を1つずつ読み込み、読み込まれた校正用情報毎に、校正用情報に含まれる回転角を示す情報と、記憶部32により記憶されたジョイントオフセットを示す情報とに基づく順運動学によって、第2マニピュレーターMNP2のTCPの位置を算出する。そして、誤差評価部47は、校正用情報毎(すなわち、ロボット20の姿勢毎)に算出されたすべての第2マニピュレーターMNP2のTCPの位置に基づいて、それら第2マニピュレーターMNP2のTCPの位置の標準偏差、第2標準偏差として算出する。誤差評価部47は、算出された第2標準偏差が所定値未満であるか否かを判定(評価)する。
Further, the
教示部48は、誤差評価部47により算出された第1標準偏差及び第2標準偏差の両方が所定値X1未満であると誤差評価部47が判定した場合、第1マニピュレーターMNP1及び第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを、記憶部32に記憶させる。なお、教示部48は、第1標準偏差が所定値X1未満であるか否かを判定し、第2標準偏差が所定値X1とは異なる所定値X2未満であるか否かを判定する構成であってもよい。
When the
以下、図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
次に、制御部36は、ロボット20が備えるマニピュレーター(すなわち、第1マニピュレーターMNP1と第2マニピュレーターMNP2)毎に、ステップS120からステップS220までの処理を繰り返し行う(ステップS110)。以下では、説明の便宜上、最初に第1マニピュレーターMNP1に対してステップS120からステップS220までの処理を行い、次に第2マニピュレーターMNP2に対してステップS120からステップS220までの処理を行う場合について説明する。
Next, the
そのため、ステップ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
ロボット制御部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
次に、ロボット制御部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
次に、ロボット制御部42は、先端球TCP1を再び治具Jの凹部Hに嵌めるために、ステップS140における所定方向と逆方向に移動させる。この際、ロボット制御部42は、力センサー情報取得部44から力センサー情報を取得し、取得された力センサー情報に基づく制御により、先端球TCP1が治具Jの凹部Hに嵌まるまで先端球TCP1を移動させる(ステップS150)。先端球TCP1を治具Jの凹部Hに嵌めた後、ロボット制御部42は、凹部Hに嵌められた先端球TCP1に対して、鉛直下方に所定の大きさの力を加える。そして、ロボット制御部42は、ステップS140における所定方向の逆方向に所定の大きさの力を加えた状態を保持したまま、ステップS160からステップS220までの処理を行う。
Next, the
次に、回転角取得部45は、ロボット20の腰部C及び第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれに係るエンコーダーから、回転角を示す情報を取得する(ステップS160)。なお、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれに係るエンコーダーから回転角を示す情報を取得する際、ロボット制御部42は、第1力センサー23−1によって第1マニピュレーターMNP1の振動の単位時間当たりの振動数を測定し、測定された振動数が予め決められた閾値以下になるまで待機する。これにより、ロボット制御部42は、各アクチュエーターの回転角が、第1マニピュレーターMNP1の振動によって変化してしまうことを抑制することができる。
Next, the rotation
次に、回転角取得部45は、ステップS160で取得された回転角を示す情報に、現在のロボット20の姿勢を示す情報を対応付けた校正用情報を記憶部32に記憶させる(ステップS170)。次に、校正制御部41は、記憶部32に記憶された校正用情報の数が予め定められた規定数以上であるか否かを判定する(ステップS180)。
Next, the rotation
ここで、この規定数は、ジョイントオフセット算出部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
記憶部32に記憶された校正用情報の数が予め定められた規定数以上ではないと校正制御部41が判定した場合(ステップS180−No)、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を次の姿勢に変更するようにロボット20を制御し(ステップS190)、その後、変更された第1マニピュレーターMNP1の姿勢においてステップS160からステップS180までの処理を行う。
When the
ここで、ロボット制御部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
一方、記憶部32に記憶された校正用情報の数が予め定められた規定数以上であると校正制御部41が判定した場合(ステップS180−Yes)、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を、ステップS150で先端球TCP1を治具Jの凹部Hに嵌めた時の第1マニピュレーターMNP1の姿勢に変更する(ステップS200)。図8において、この制御を、マニピュレーターの姿勢の初期化と称している。
On the other hand, when the
ここで、図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
ロボット制御部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
次に、ロボット制御部42は、ロボット20の腰軸を所定回数以上変更させたか否かを判定する(ステップS210)。ロボット20の腰軸を所定回数以上変更させていないと判定した場合(ステップS210−No)、ロボット制御部42は、腰軸の姿勢を次の姿勢に変更するようにロボット20を制御し(ステップS220)、その後、変更された腰軸の姿勢においてステップS160からステップS220までの処理を行う。
Next, the
一方、ロボット20の腰軸を所定回数以上変更させたとロボット制御部42が判定した場合(ステップS210−Yes)、ロボット制御部42は、ステップS110に戻り、第2マニピュレーターMNP2に対して再びステップS120からステップS220までの処理を行う(ステップS225)。なお、ステップS160〜ステップS220までの処理は、上述した校正用情報取得動作を第1マニピュレーターMNP1及び第2マニピュレーターMNP2のそれぞれに行わせる処理の一例である。
On the other hand, when the
第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
なお、ステップS230におけるジョイントオフセットを示す情報の記憶部32への記憶は、ステップS240における処理においてジョイントオフセットを用いるための一時的な記憶であり、前述のジョイントオフセットの教示とは異なる。
The storage of information indicating the joint offset in step S230 in the
ここで、ジョイントオフセット算出部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
また、順運動学では、第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
ここで、ロボットシステム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
その結果、ジョイントオフセット算出部46は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットと、第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットとを算出する。また、この算出の際、ジョイントオフセット算出部46は、第1マニピュレーターMNP1のTCPの位置と、第2マニピュレーターMNP2のTCPの位置とを、ある1つの座標系において表される位置として算出する。以下では、この座標系を共有ロボット座標系と称する。
As a result, the joint offset
なお、マニピュレーターの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
また、ロボットシステム1は、算出された第1ジョイントオフセット及び第2ジョイントオフセットによって第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれの校正を行い、且つ腰軸を固定することで、第1マニピュレーターMNP1及び第2マニピュレーターMNP2による協調作業の精度を向上させることができる。また、ロボットシステム1は、算出された第1ジョイントオフセット及び第2ジョイントオフセットによって第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれの校正を行い、且つ腰軸を固定することで、第1マニピュレーターMNP1及び第2マニピュレーターMNP2のそれぞれによって行う作業の精度を向上させることができる。なお、ロボットシステム1は、他の装置を用いて腰軸のアクチュエーターのジョイントオフセットを算出させ、算出されたジョイントオフセットによって腰軸のアクチュエーターの校正を行う構成であってもよい。
The
次に、誤差評価部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
また、誤差評価部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
次に、誤差評価部47は、第1標準偏差と、第2標準偏差との両方がそれぞれ所定値未満であるか否かを判定(評価)する(ステップS250)。ステップS240で算出された第1標準偏差と、ステップS240で算出された第2標準偏差とのうちいずれか一方が所定値未満ではないと判定した場合(ステップS250−No)、ロボット制御部42は、ステップS110に戻り、第1マニピュレーターMNP1及び第2マニピュレーターMNP2に係る校正用情報を取得し直すことで、ジョイントオフセットを算出し直す。
Next, the
一方、ステップS240で算出された第1標準偏差と、ステップS240で算出された第2標準偏差との両方が所定値X1未満であると誤差評価部47が判定した場合(ステップS250−Yes)、教示部48は、ステップS230で算出されたジョイントオフセットを記憶部32に記憶させる(ステップS260)。ステップS260における第1ジョイントオフセットを示す情報と第2ジョイントオフセットを示す情報との記憶部32への記憶は、前述の第1ジョイントオフセット及び第2ジョイントオフセットの教示を示す。
On the other hand, when the
なお、本実施形態では、教示部48は、ステップS240で算出された第1標準偏差と、ステップS240で算出された第2標準偏差との両方が所定値X1未満であるか否かを判定する構成であるとしたが、これに代えて、ステップS240で算出された第1標準偏差と、ステップS240で算出された第2標準偏差とのうちいずれか一方が所定値X1未満であると誤差評価部47が判定した場合、ステップS230で算出されたジョイントオフセットを記憶部32に記憶させる(教示する)構成であってもよい。
In the present embodiment, the
<第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
ロボットシステム2は、第1実施形態において説明した方法によって第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれの校正を行い、その後、作業台TBの上面に配置された作業対象Mを所定位置に配置し直す作業をロボット20aに行わせる。以下では、この作業を所定の作業と称して説明する。
The
図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
作業対象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
なお、ステレオ撮像画像は、静止画像であるとするが、これに代えて、動画像であってもよい。また、第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
また、ステレオ撮像画像上の位置と、カメラ座標系における位置とは、予め何らかのキャリブレーションによって対応付けられているとする。また、ワールド座標系における位置と、カメラ座標系における位置とは、予め何らかのキャリブレーションによって対応付けられているとする。 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
制御装置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
制御装置30aは、カメラ座標系における作業対象Mの位置及び姿勢を、共有ロボット座標系における位置及び姿勢に変換する。そして、制御装置30aは、この変換によって得られた共有ロボット座標系における作業対象Mの位置及び姿勢に基づいて、作業対象Mを第3エンドエフェクターEND3と第4エンドエフェクターEND4のうちいずれか一方又は両方によって把持させ、把持された作業対象Mを所定位置に配置させる。
The
なお、カメラ座標系における位置と、共有ロボット座標系における位置とは、予め何らかのキャリブレーションによって対応付けられているとする。このキャリブレーションは、撮像部の校正の一例である。また、共有ロボット座標系の原点の位置は、ロボット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
この一例では、共有ロボット座標系の原点の位置が、カメラ座標系の原点の位置と一致しており、腰軸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
次に、図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
画像取得部50は、第1固定撮像部21及び第2固定撮像部22によりステレオ撮像されたステレオ撮像画像を取得する。画像取得部50は、取得したステレオ撮像画像を制御部36aに出力する。
制御部36aは、制御装置30aの全体を制御する。制御部36aは、表示制御部40と、校正制御部41と、撮像制御部51と、検出制御部52と、位置姿勢算出部53と、ロボット制御部54を備える。
The
The
撮像制御部51は、第1固定撮像部21及び第2固定撮像部22に撮像可能な範囲をステレオ撮像させる。
検出制御部52は、画像取得部50から取得されたステレオ撮像画像に基づいて、ステレオ撮像画像からパターンマッチング等によって作業対象Mを検出する。この検出の際、検出制御部52は、ステレオ撮像画像から作業対象Mが検出されたか否かを判定する。その判定の結果、検出制御部52は、ステレオ撮像画像から作業対象Mが検出されなかった場合、ロボット20aの腰軸J0を所定角度だけ回転させるようにロボット制御部54を制御する。
The
The
位置姿勢算出部53は、ステレオ撮像画像から作業対象Mが検出されたと検出制御部52が判定した場合、そのステレオ撮像画像に基づいてロボット座標系における作業対象Mの位置及び姿勢を算出する。
ロボット制御部54は、位置姿勢算出部53により算出されたロボット座標系における作業対象Mの位置及び姿勢に基づいてロボット20aに所定の作業を行わせる。
When the
The
以下、図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
次に、検出制御部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
一方、作業対象Mがステレオ撮像画像から検出されたと検出制御部52が判定した場合(ステップS320−Yes)、位置姿勢算出部53は、ステップS310で画像取得部50により取得されたステレオ撮像画像に基づいて、ロボット座標系における作業対象Mの位置及び姿勢を算出する(ステップS340)。次に、ロボット制御部54は、ステップS340で算出されたロボット座標系における作業対象Mの位置及び姿勢に基づいてロボット20aに所定の作業を行わせる(ステップS350)。
On the other hand, when the
以上説明したように、本実施形態におけるロボットシステム2は、共有ロボット座標系(第1マニピュレーターMNP1及び第2マニピュレーターMNP2の座標軸)に対してカメラ座標系(第1固定撮像部21及び第2固定撮像部22の座標軸)を校正する。これにより、ロボットシステム2は、キャリブレーションの手間を軽減することができる。
As described above, the
また、ロボットシステム2は、カメラ座標系と一致している共有ロボット座標系に対してカメラ座標系(第1固定撮像部21及び第2固定撮像部22の座標軸)を校正する。これにより、ロボットシステム2は、カメラ座標系と共有ロボット座標系とのキャリブレーションに係る手間を軽減することができる。
Further, the
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。 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
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
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
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.
前記撮像部の座標軸は、前記アームの座標軸と一致している、
ロボット。 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.
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)
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 |
-
2014
- 2014-12-25 JP JP2014261875A patent/JP2016120558A/en active Pending
Cited By (5)
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 |