JP2019115950A - Robot control device, robot, and robot system - Google Patents
Robot control device, robot, and robot system Download PDFInfo
- Publication number
- JP2019115950A JP2019115950A JP2017250710A JP2017250710A JP2019115950A JP 2019115950 A JP2019115950 A JP 2019115950A JP 2017250710 A JP2017250710 A JP 2017250710A JP 2017250710 A JP2017250710 A JP 2017250710A JP 2019115950 A JP2019115950 A JP 2019115950A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- angle
- straight line
- image
- control device
- 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 control device, a robot and a robot system.
基台と、複数のアーム(リンク)を有するロボットアームとを備えるロボットが知られている。ロボットアームの隣り合う2つのアームのうちの一方のアームは、関節部を介して、他方のアームに回動可能に連結され、最も基端側(最も上流側)のアームは、関節部を介して、基台に回動可能に連結されている。関節部はモーターにより駆動され、その関節部の駆動により、アームが回動する。また、最も先端側(最も下流側)のアームには、エンドエフェクターとして、例えば、着脱可能にハンドが装着される。そして、ロボットは、例えば、ハンドで対象物を把持し、その対象物を所定の場所へ移動させ、組立等の所定の作業を行う。また、このようなロボットの動作(駆動)は、ロボット制御装置により制御される。 A robot is known that includes a base and a robot arm having a plurality of arms (links). One of two adjacent arms of the robot arm is pivotally connected to the other arm via the joint, and the most proximal (uppermost) arm is via the joint Is rotatably connected to the base. The joint is driven by a motor, and driving of the joint rotates the arm. Also, a hand is detachably mounted, for example, as an end effector on the most distal end (most downstream) arm. Then, for example, the robot holds an object with a hand, moves the object to a predetermined location, and performs predetermined operations such as assembly. In addition, the operation (drive) of such a robot is controlled by a robot control device.
また、撮像部により撮像を行い、得られた画像に基づいて、ロボットを動作させ、ロボットの動作プログラムを作成する場合がある。ロボットが作業を行う際は、撮像部により撮像を行い、得られた画像に基づいてロボット制御装置がロボットを制御する。この場合、例えば、画像中の対象物のエッジである直線の画像内の座標系における座標軸に沿った直線との間の角度を検出し、その角度に応じてロボットを動作させる。 In addition, the imaging unit may perform imaging and operate the robot based on the obtained image to create an operation program of the robot. When the robot performs work, the imaging unit performs imaging, and the robot control device controls the robot based on the obtained image. In this case, for example, an angle between a straight line which is an edge of an object in an image and a straight line in a coordinate system in a coordinate system in the image is detected, and the robot is operated according to the angle.
また、特許文献1には、画像処理装置が開示されている。この画像処理装置では、画像における対象物のエッジの角度は、0°〜360°の範囲で得られる。また、同じ方向に延びている2つのエッジについては、向きが異なる場合と向きが同じ場合とを区別し、向きが異なる場合は、2つのエッジの角度は、180°異なる。
Further,
ここで、画像における対象物の同じ方向に延びている2つのエッジについては、向きが異なる場合と向きが同じ場合とが混同され易い。このため、作業者は、特許文献1に記載の画像処理装置により検出された直線と画像座標系の基準となる直線との間の角度を、180°異なる角度として把握する虞があり、その情報に基づいてロボットアームの先端部を回動させると、不本意に、ロボットアームの先端部を180°大きい角度で回動してしまう虞がある。これにより、ロボットアームに設けられているケーブルを損傷することがある。
Here, with respect to two edges extending in the same direction of the object in the image, the case where the direction is different and the case where the direction is the same are easily confused. For this reason, there is a possibility that the worker may grasp the angle between the straight line detected by the image processing device described in
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。 The present invention has been made to solve at least a part of the above-described problems, and can be realized as the following modes or application examples.
本発明のロボット制御装置は、ロボットを制御するロボット制御装置であって、
対象物を撮像して得られた画像を受け付ける画像受付部と、
前記画像に含まれる第1の直線と前記画像の座標系における座標軸に沿った第2の直線との間の角度を計算する角度計算部と、
複数のモードのうち所定のモードの選択を受け付けるモード受付部と、
を備え、
前記複数のモードは、前記第2の直線との間に所定の角度を有する第3の直線と前記第1の直線との間の第1角度を算出し、前記第1角度の絶対値が最も小さい前記第1の直線と前記第2の直線との間の角度を前記第1の直線の検出角度とするように前記角度計算部に計算させる第1モードを含むことを特徴とする。
The robot control device of the present invention is a robot control device that controls a robot, and
An image reception unit that receives an image obtained by imaging an object;
An angle calculation unit that calculates an angle between a first straight line included in the image and a second straight line along a coordinate axis in a coordinate system of the image;
A mode reception unit that receives selection of a predetermined mode among a plurality of modes;
Equipped with
The plurality of modes calculate a first angle between a third straight line having a predetermined angle with the second straight line and the first straight line, and the absolute value of the first angle is most It is characterized in that it includes a first mode in which the angle calculation unit calculates the angle between the small first straight line and the second straight line to be the detected angle of the first straight line.
このようなロボット制御装置によれば、適確にロボットを制御することができる。これにより、ロボットのロボットアームの先端部が大きい角度、回動してロボットアームに設けられているケーブルを損傷することを抑制することができる。 According to such a robot control device, it is possible to control the robot appropriately. As a result, it is possible to prevent the tip of the robot arm of the robot from rotating at a large angle and damaging the cable provided on the robot arm.
本発明のロボット制御装置では、前記複数のモードは、前記第1の直線と前記第2の直線との間の角度に対して180°減算または加算した修正角度が所定の範囲内にある場合、前記修正角度を前記検出角度とする第2モードを含むことが好ましい。 In the robot control device according to the present invention, the plurality of modes are within a predetermined range if a correction angle obtained by subtracting or adding 180 ° to an angle between the first straight line and the second straight line is within a predetermined range. It is preferable to include a second mode in which the correction angle is the detection angle.
これにより、第2モードでは、前記第1の直線の向きが所定の方向に対して逆向きの場合を区別することなく、前記第1の直線と前記第2の直線との間の角度を計算するので、ロボットのロボットアームの先端部が大きい角度、回動してロボットアームに設けられているケーブルを損傷することを抑制することができる。 Thereby, in the second mode, the angle between the first straight line and the second straight line is calculated without distinguishing the case where the direction of the first straight line is reverse to the predetermined direction. Therefore, it is possible to prevent the tip of the robot arm of the robot from rotating at a large angle and damaging the cable provided on the robot arm.
本発明のロボット制御装置では、前記所定の範囲が0°以上180°未満、または−90°以上90°未満であることが好ましい。 In the robot control device according to the present invention, it is preferable that the predetermined range is 0 ° or more and less than 180 °, or -90 ° or more and less than 90 °.
これにより、第2モードでは、前記第1の直線の向きが所定の方向に対して逆向きの場合を区別することなく、前記第1の直線と前記第2の直線との間の角度を計算するので、ロボットのロボットアームの先端部が大きい角度、回動してロボットアームに設けられているケーブルを損傷することを抑制することができる。 Thereby, in the second mode, the angle between the first straight line and the second straight line is calculated without distinguishing the case where the direction of the first straight line is reverse to the predetermined direction. Therefore, it is possible to prevent the tip of the robot arm of the robot from rotating at a large angle and damaging the cable provided on the robot arm.
本発明のロボット制御装置では、前記第1モードでは、前記角度計算部は、前記第1角度の絶対値が所定の範囲内にある場合、前記第1角度の絶対値の算出に使用した前記第1の直線と前記第2の直線との間の角度を前記検出角度とすることが好ましい。 In the robot control device according to the present invention, in the first mode, the angle calculation unit is configured to calculate the absolute value of the first angle when the absolute value of the first angle is within a predetermined range. Preferably, an angle between a straight line of 1 and the second straight line is used as the detection angle.
これにより、前記第2の直線との間に所定の角度を有する第3の直線と前記第1の直線との間の第1角度の絶対値が最も小さい前記第1の直線と前記第2の直線との間の角度を容易かつ迅速に求めることができる。 Thereby, the first straight line and the second straight line having the smallest absolute value of the first angle between the third straight line having a predetermined angle with the second straight line and the first straight line The angle between the straight line and the straight line can be easily and quickly determined.
本発明のロボット制御装置では、前記第1モードでは、前記角度計算部は、前記第1角度の絶対値が所定の範囲内にない場合、前記第1角度の絶対値の算出に使用した前記第1の直線と前記第2の直線との間の角度に対して360°減算または加算した修正角度を前記検出角度とすることが好ましい。
In the robot control device according to the present invention, in the first mode, the angle calculation unit is configured to calculate the absolute value of the first angle when the absolute value of the first angle is not within a predetermined range. It is preferable that the correction angle obtained by subtracting or adding 360 ° to the angle between the
これにより、前記第2の直線との間に所定の角度を有する第3の直線と前記第1の直線との間の第1角度の絶対値が最も小さい前記第1の直線と前記第2の直線との間の角度を容易かつ迅速に求めることができる。 Thereby, the first straight line and the second straight line having the smallest absolute value of the first angle between the third straight line having a predetermined angle with the second straight line and the first straight line The angle between the straight line and the straight line can be easily and quickly determined.
本発明のロボットは、ロボットアームを有し、
請求項1ないし5のいずれか1項に記載のロボット制御装置により制御されることを特徴とする。
The robot of the present invention has a robot arm,
It is controlled by the robot control device according to any one of
このようなロボットによれば、ロボット制御装置の制御により、適切な動作を行うことができる。 According to such a robot, an appropriate operation can be performed by control of the robot control device.
本発明のロボットシステムは、ロボットアームを有するロボットと、
対象物を撮像する撮像部と、
前記ロボットを制御する請求項1ないし5のいずれか1項に記載のロボット制御装置と、を備えることを特徴とする。
A robot system according to the present invention is a robot having a robot arm,
An imaging unit for imaging an object;
The robot control device according to any one of
このようなロボットシステムによれば、適確にロボットを制御することができる。これにより、ロボットのロボットアームの先端部が大きい角度、回動してロボットアームに設けられているケーブルを損傷することを抑制することができる。 According to such a robot system, it is possible to control the robot appropriately. As a result, it is possible to prevent the tip of the robot arm of the robot from rotating at a large angle and damaging the cable provided on the robot arm.
以下、本発明のロボット制御装置、ロボットおよびロボットシステムを添付図面に示す実施形態に基づいて詳細に説明する。 Hereinafter, a robot control device, a robot and a robot system according to the present invention will be described in detail based on embodiments shown in the attached drawings.
<実施形態>
≪ロボットシステム≫
図1は、本発明のロボットシステムの実施形態を示す図である。図2は、図1に示すロボットシステムのブロック図である。図3は、図1に示すロボットシステムの作業を説明するための平面図である。図4は、図1に示すロボットシステムの表示装置に表示される画面の1例を示す図である。図5は、図1に示すロボットシステムの直線検出を説明するための図である。図6は、図1に示すロボットシステムの直線検出のプロパティーの具体例を示す図である。図7〜図13は、それぞれ、図1に示すロボットシステムの直線検出を説明するための図である。図14は、実施形態についてハードウェア(プロセッサー)を中心として説明するためのブロック図である。図15は、本発明のロボットシステムの他の例1(変形例1)を示すブロック図である。図16は、本発明のロボットシステムの他の例2(変形例2)を示すブロック図である。
Embodiment
«Robot system»
FIG. 1 is a view showing an embodiment of a robot system of the present invention. FIG. 2 is a block diagram of the robot system shown in FIG. FIG. 3 is a plan view for explaining the operation of the robot system shown in FIG. FIG. 4 is a view showing an example of a screen displayed on the display device of the robot system shown in FIG. FIG. 5 is a diagram for explaining straight line detection of the robot system shown in FIG. FIG. 6 is a diagram showing a specific example of straight line detection properties of the robot system shown in FIG. 7 to 13 are diagrams for explaining the straight line detection of the robot system shown in FIG. 1, respectively. FIG. 14 is a block diagram for describing the embodiment centering on hardware (processor). FIG. 15 is a block diagram showing another example 1 (modified example 1) of the robot system of the present invention. FIG. 16 is a block diagram showing another example 2 (modified example 2) of the robot system of the present invention.
また、図1には、互いに直交する3つの軸としてxr軸、yr軸およびzr軸が図示されており、各軸を示す矢印の先端側を「+(正)」、基端側を「−(負)」とする。また、図1中のzr軸方向を「鉛直方向」とし、xr−yr平面に沿った方向を「水平方向」とする。また、+zr軸側を「上方」とし、−zr軸側を「下方」とする。また、xr軸の方向を「xr方向」、yr軸の方向を「yr方向」、zr軸の方向を「zr方向」と言う。 Further, in FIG. 1, xr axis, yr axis and zr axis are illustrated as three axes orthogonal to each other, and “+ (positive)” of the tip end of the arrow indicating each axis is “− (Negative) Further, the zr axis direction in FIG. 1 is referred to as “vertical direction”, and the direction along the xr-yr plane is referred to as “horizontal direction”. Also, the + zr axis side is referred to as “upper”, and the −zr axis side is referred to as “lower”. Also, the direction of the xr axis is referred to as "xr direction", the direction of the yr axis as "yr direction", and the direction of the zr axis as "zr direction".
また、以下では、説明の都合上、図1中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図1中の基台側を「基端」または「上流」、その反対側を「先端」または「下流」と言う。また、図1中の上下方向が鉛直方向である。 Also, in the following, for convenience of explanation, the upper side in FIG. 1 will be referred to as “upper” or “upper” and the lower side as “lower” or “lower”. Further, the base side in FIG. 1 is referred to as “proximal” or “upstream”, and the opposite side is referred to as “distal” or “downstream”. Further, the vertical direction in FIG. 1 is the vertical direction.
また、本明細書において、「水平」とは、完全に水平な場合のみならず、水平に対して±5°以内で傾斜している場合も含む。同様に、本明細書において、「鉛直」とは、完全に鉛直な場合のみならず、鉛直に対して±5°以内で傾斜している場合も含む。また、本明細書において、「平行」とは、2つの線(軸を含む)または面が、互いに完全な平行である場合のみならず、±5°以内で傾斜している場合も含む。また、本明細書において、「直交」とは、2つの線(軸を含む)または面が、互いに完全な直交である場合のみならず、±5°以内で傾斜している場合も含む。 In addition, in the present specification, “horizontal” includes not only the case of being completely horizontal but also the case of being inclined within ± 5 ° with respect to the horizontal. Similarly, in the present specification, “vertical” includes not only the case of being completely vertical but also the case of being inclined within ± 5 ° with respect to the vertical. Also, as used herein, "parallel" includes not only two lines (including an axis) or planes that are perfectly parallel to one another, but also inclined within ± 5 °. Also, as used herein, "orthogonal" includes not only when two lines (including axes) or planes are perfectly orthogonal to one another, but also when they are tilted within ± 5 °.
図1に示すロボットシステム100は、ロボット1と、エンドエフェクター19(ツール)と、撮像部41と、画像処理装置42と、ロボット1等の動作(駆動)を制御するロボット制御装置2と、ロボット制御装置2および画像処理装置と通信可能なコンピューター5と、を有する。
A
以下、ロボットシステム100が有する各部を順次説明する。
〈ロボット〉
ロボット1は、いわゆる6軸の垂直多関節ロボットであり、例えば、精密機器等を製造する製造工程等で用いられ、精密機器や部品等の対象物(図示せず)の保持や搬送等の種々の作業を行う。ロボット1は、基台110と、基台110に接続されたロボットアーム10(可動部)とを有する。なお、対象物としては、ロボット1が行う作業で用いられるものであればよく、特に限定されない。
Hereinafter, each part which the
<robot>
The
基台110は、ロボット1を例えば床等の任意の設置箇所70に取り付ける部分である。ロボットアーム10は、アーム11(第1アーム)、アーム12(第2アーム)、アーム13(第3アーム)、アーム14(第4アーム)、アーム15(第5アーム)およびアーム16(第6アーム)を有する。また、アーム15およびアーム16によりリストが構成されている。また、アーム16は、円盤状をなしており、そのアーム16には、エンドエフェクター19(ツール)を着脱可能に設ける(取り付ける)ことが可能になっている。これらアーム11〜16は、基台110側からエンドエフェクター19側に向かってこの順に連結されている。また、各アーム11〜16は、隣り合うアームまたは基台110に対して図示しない所定の回動軸(第1回動軸〜第6回動軸)周りに回動可能になっている。すなわち、基台110とアーム11とは、関節171(ジョイント)を介して連結されている。また、アーム11とアーム12とは、関節172(ジョイント)を介して連結されている。また、アーム12とアーム13とは、関節173(ジョイント)を介して連結されている。また、アーム13とアーム14とは、関節174(ジョイント)を介して連結されている。また、アーム14とアーム15とは、関節175(ジョイント)を介して連結されている。また、アーム15とアーム16とは、関節176(ジョイント)を介して連結されている。
The
エンドエフェクター19としては、特に限定されないが、本実施形態では、対象物を吸着(保持)、解放することが可能な吸着ヘッド(吸着装置)が用いられている。また、エンドエフェクター19の他の構成例としては、例えば、対象物を把持(保持)、解放することが可能なハンド等が挙げられる。また、対象物を保持するとは、対象物を移動または対象物の姿勢を変更させることが可能なように、対象物を持つことであり、例えば、把持(掴む)、吸着、載置等が含まれる。また、エンドエフェクター19の先端中心をツールセンターポイントPという。
The
また、エンドエフェクター19、ロボット1の構成要素ではないものとして捉えてもよく、また、ロボット1の構成要素として捉えてもよい。
Also, the
また、図2に示すように、ロボット1は、一方のアームを他方のアーム(または基台110)に対して回動させるモーターおよび減速機等を備える駆動部130を有する。モーターとしては、例えば、ACサーボモーター、DCサーボモーター等のサーボモーターを用いることができる。減速機としては、例えば、遊星ギア型の減速機、波動歯車装置等を用いることができる。なお、減速機は省略されていてもよい。また、ロボット1は、モーターまたは減速機の回転軸の回転角度を検出する角度センサー140を有する。角度センサー140としては、例えば、ロータリーエンコーダー等を用いることができる。また、駆動部130および角度センサー140は、各アーム11〜16に対応して設けられており、本実施形態では、ロボット1は、6つの駆動部130および6つの角度センサー140を有する。
Further, as shown in FIG. 2, the
また、各駆動部130は、図示はしないが、例えば図1に示す基台110に内蔵されたモータードライバーと電気的に接続(以下、単に「接続」とも言う)されている。各駆動部130は、対応するモータードライバーを介してロボット制御装置2により制御される。また、各角度センサー140は、ロボット制御装置2に電気的に接続されている。また、エンドエフェクター19を駆動する駆動部(図示せず)は、ロボット制御装置2により制御される。
Further, although not shown, each
以上、ロボット1の構成について簡単に説明した。このようなロボット1は、後述するロボット制御装置2によって制御される。これにより、ロボット1は、適切な動作を行うことができる。
The configuration of the
なお、ロボット1は、図示はしないが、例えばエンドエフェクター19に加わる力(モーメントを含む)を検出する6軸力覚センサー等で構成された力検出装置(力検出部)を備えていてもよい。力検出装置は、例えば、アーム16とエンドエフェクター19との間に配置され、ロボット制御装置2に電気的に接続される。力検出装置を設けることにより、例えば、インピーダンス制御等の力制御を行うことが可能になる。
Although not shown, the
〈ロボット制御装置〉
ロボット制御装置2は、ロボット1の動作を制御する。このロボット制御装置2は、ロボット1が有する各部の機能をつかさどるロボットコントローラーで構成されており、ロボット1、コンピューター5および画像処理装置42に対して通信可能に接続されている。
<Robot controller>
The robot control device 2 controls the operation of the
ロボット制御装置2とロボット1とは、例えばケーブル等を用いて有線方式で通信可能に接続されていてもよく、また、無線方式で通信可能に接続されていてもよい。また、ロボット制御装置2は、ロボット1と別体であってもよく、また、ロボット1(例えば、基台110等)にその一部または全部が内蔵されていてもよい。
The robot control device 2 and the
また、ロボット制御装置2とコンピューター5とは、例えばケーブル等を用いて有線方式で通信可能に接続されていてもよく、また、無線方式で通信可能に接続されていてもよい。
Further, the robot control device 2 and the
また、ロボット制御装置2と画像処理装置42とは、例えばケーブル等を用いて有線方式で通信可能に接続されていてもよく、また、無線方式で通信可能に接続されていてもよい。
Further, the robot control device 2 and the
図2に示すように、ロボット制御装置2は、プロセッサーを備える制御部21と、制御部21に通信可能に接続されたメモリー等を備える記憶部22と、外部インターフェース(I/F)を備える外部入出力部23(受付部)と、を含む。外部入出力部23は、ロボット制御装置2の受付部の1例である。ロボット制御装置2の各構成要素は、種々のバスを介して相互通信可能に接続されている。
As shown in FIG. 2, the robot control device 2 includes a
制御部21は、記憶部22に記憶された各種プログラム等を実行する。これにより、ロボット1の動作の制御や各種演算および判断等の処理を実現できる。
The
記憶部22には、制御部21により実行可能な各種プログラムが保存(記憶)されている。また、記憶部22には、外部入出力部23で受け付けた各種データの保存が可能である。記憶部22は、例えばRAM(Random Access Memory)等の揮発性メモリーや、ROM(Read Only Memory)等の不揮発性メモリー等を含んで構成されている。なお、記憶部22は、非着脱式に限らず、着脱式の外部記憶装置(図示せず)を有する構成であってもよい。
The
各種プログラムとしては、コンピューター5から出力された動作プログラムや、動作プログラムの修正や変更をするプログラム等が挙げられる。各種データとしては、例えば、ツールセンターポイントPの位置姿勢、各アーム11〜16の回動角度等に関するデータ等が挙げられる。
The various programs include an operation program output from the
外部入出力部23は、外部インターフェース(I/F)を備え、ロボット1、コンピューター5および画像処理装置42の各接続のために用いられる。
The external input /
このようなロボット制御装置2は、例えばコンピューター5で作成した動作プログラムに基づいて(を用いて)ロボット1を制御する。これにより、コンピューター5で作成した動作プログラムを用いて、ロボット1に適切な動作を行わせることができる。
Such a robot control device 2 controls the
なお、ロボット制御装置2は、前述した構成に加えて、さらに他の構成が付加されていてもよい。また、ロボット制御装置2には、ディスプレイ等を有する表示装置や、例えばマウスやキーボード等の入力装置が接続されていてもよい。また、記憶部22に保存されている各種プログラムやデータ等は、予め記憶部22に記憶されたものであってもよいし、例えばCD−ROM等の記録媒体(図示せず)に格納されており、この記録媒体から提供されたものでもよいし、ネットワーク等を介して提供されたものであってもよい。
In addition to the configuration described above, the robot control device 2 may further have another configuration. Further, a display device having a display or the like, or an input device such as a mouse or a keyboard may be connected to the robot control device 2. In addition, various programs, data, etc. stored in the
ここで、本発明のロボット制御装置は、本実施形態では、ロボット制御装置2とコンピューター5と画像処理装置42とで構成されている。また、本発明のロボット制御装置の制御部は、本実施形態では、ロボット制御装置2の制御部21とコンピューター5の制御部51と画像処理装置42の角度計算部421とで構成されている。
Here, the robot control device of the present invention is configured by the robot control device 2, the
〈コンピューター〉
図2に示すコンピューター5としては、例えばPC(Personal Computer)等の種々のコンピューターを用いることが可能であり、ロボット制御装置2および画像処理装置42に対して通信可能に接続されている。
<computer>
As the
コンピューター5は、プロセッサーを備える制御部51と、制御部51に通信可能に接続されたメモリー等を備える記憶部52と、外部I/F(インターフェース)を備える外部入出力部53(受付部)と、を含む。外部入出力部53は、コンピューター5の受付部の1例である。コンピューター5の各構成要素は、種々のバスを介して相互通信可能に接続されている。
The
また、コンピューター5と画像処理装置42とは、例えばケーブル等を用いて有線方式で通信可能に接続されていてもよく、また、無線方式で通信可能に接続されていてもよい。
Further, the
制御部51は、記憶部52に記憶された各種プログラム等を実行する。これにより、画像処理装置42等の制御や各種演算および判断等の処理を実現できる。
The
記憶部52には、制御部51により実行可能な各種プログラムが保存されている。また、記憶部52には、外部入出力部53で受け付けた各種データの保存が可能である。記憶部52は、例えばRAM(Random Access Memory)等の揮発性メモリーや、ROM(Read Only Memory)等の不揮発性メモリー等を含んで構成されている。なお、記憶部52は、非着脱式に限らず、着脱式の外部記憶装置(図示せず)を有する構成であってもよい。
The
外部入出力部53は、外部I/F(インターフェース)を備え、ロボット制御装置2、画像処理装置42、表示装置31および入力装置32との各接続のために用いられる。したがって、外部入出力部53は、作業者(ユーザー)による入力装置32の操作(指令)を受け付ける受付部としての機能を有する。また、外部入出力部53は、複数のモードのうち所定のモードの選択を受け付けるモード受付部としての機能を有する。また、外部入出力部53は、表示装置31のモニターに各種画面に関する信号を出力する出力部としての機能を有する。
The external input /
また、コンピューター5は、前述した構成に加えて、さらに他の構成が付加されていてもよい。また、記憶部52に保存されている各種プログラムやデータ等は、予め記憶部52に記憶されたものであってもよいし、例えばCD−ROM等の記録媒体(図示せず)に格納されており、この記録媒体から提供されたものでもよいし、ネットワーク等を介して提供されたものであってもよい。
In addition to the above-described configuration, the
〈撮像部〉
撮像部41は、撮像素子(図示しない)およびレンズ群(図示せず)等を有している。また、撮像部41は、ロボット1以外の(ロボット1とは異なる)任意の設置個所、例えば、床等の任意の設置箇所に取り付けられており(固定されており)、上方を撮像可能になっている(上方を向いている)。また、撮像素子としては、特に限定されず、例えば、CCDイメージセンサー、CMOSイメージセンサー等が挙げられる。この撮像部41は、撮像を行って、画像(画像データ)を生成する。
<Imaging unit>
The
〈画像処理装置〉
画像処理装置42は、撮像部41で撮像して得られた画像(画像データ)に対して各種の画像処理を行う。なお、画像処理には、例えば、直線間の角度の計算等も含まれる。この画像処理装置42は、撮像部41に対して通信可能に接続されている。
<Image processing device>
The
画像処理装置42は、プロセッサーを備える角度計算部421と、角度計算部421に通信可能に接続されたメモリー等を備える記憶部422と、外部I/F(インターフェース)を備える外部入出力部423(受付部)と、を含む。外部入出力部423は、画像処理装置42の受付部の1例である。画像処理装置42の各構成要素は、種々のバスを介して相互通信可能に接続されている。
The
また、画像処理装置42と撮像部41とは、例えばケーブル等を用いて有線方式で通信可能に接続されていてもよく、また、無線方式で通信可能に接続されていてもよい。
Further, the
角度計算部421は、記憶部422に記憶された各種プログラム等を実行する。これにより、直線間の角度の計算等を実現できる。すなわち、角度計算部421は、撮像部41により対象物を撮像して得られた画像に含まれる直線間の角度を計算する機能を有する。
The
記憶部422には、角度計算部421により実行可能な各種プログラムが保存されている。また、記憶部422には、外部入出力部423で受け付けた各種データの保存が可能である。記憶部422は、例えばRAM(Random Access Memory)等の揮発性メモリーや、ROM(Read Only Memory)等の不揮発性メモリー等を含んで構成されている。なお、記憶部422は、非着脱式に限らず、着脱式の外部記憶装置(図示せず)を有する構成であってもよい。
The
外部入出力部423は、外部I/F(インターフェース)を備え、撮像部41、ロボット制御装置2およびコンピューター5との各接続のために用いられる。この外部入出力部423は、撮像部41により対象物を撮像して得られた画像(画像データ)を受け付ける画像受付部としての機能を有する。
The external input /
また、画像処理装置42は、前述した構成に加えて、さらに他の構成が付加されていてもよい。また、記憶部422に保存されている各種プログラムやデータ等は、予め記憶部422に記憶されたものであってもよいし、例えばCD−ROM等の記録媒体(図示せず)に格納されており、この記録媒体から提供されたものでもよいし、ネットワーク等を介して提供されたものであってもよい。
In addition to the above-described configuration, the
〈表示装置および入力装置〉
図2に示す表示装置31(表示部)は、ディスプレイを備えており、例えば各種画面を表示する機能を有する。また、表示装置31としては、特に限定されず、例えば、液晶表示装置、有機EL表示装置等の直視型の表示装置、プロジェクター等の投射型表示装置等が挙げられる。この表示装置31は、コンピューター5に接続されているが、ロボット制御装置2に接続することもできる。また、2つの表示装置31を用意し、その表示装置31をコンピューター5およびロボット制御装置2に接続することもできる。ここでは、表示装置31がコンピューター5に接続されている場合を例に挙げて説明する。
<Display device and input device>
The display device 31 (display unit) illustrated in FIG. 2 includes a display, and has, for example, a function of displaying various screens. The
入力装置32(入力部)は、例えばマウスやキーボード等を含んで構成されている。この入力装置32は、コンピューター5に接続されているが、ロボット制御装置2に接続することもできる。また、2つの入力装置32を用意し、その入力装置32をコンピューター5およびロボット制御装置2に接続することもできる。ここでは、入力装置32がコンピューター5に接続されている場合を例に挙げて説明する。作業者は、入力装置32を操作することで、コンピューター5に対して各種の処理等の指示(入力)を行うことができる。
The input device 32 (input unit) includes, for example, a mouse, a keyboard, and the like. Although this
具体的には、作業者は、表示装置31に表示される各種画面(ウィンドウ等)に対して入力装置32のマウスでクリックする操作や、入力装置32のキーボードで文字や数字等を入力する操作により、コンピューター5に対する指示を行うことができる。以下、この作業者による入力装置32を用いた指示(入力装置32による入力)を「操作指示」とも言う。この操作指示は、入力装置32により、表示装置31に表示された内容から所望の内容を選択する選択操作や、入力装置32により、文字や数字等を入力する入力指示等を含む。また、入力には、選択も含まれる。
Specifically, the operator clicks on the various screens (windows etc.) displayed on the
なお、コンピューター5には、表示装置31および入力装置32がそれぞれ1つ接続されていてもよいし、それぞれ複数接続されていてもよい。また、表示装置31および入力装置32の代わりに、表示装置31および入力装置32の機能を兼ね備えた表示入力装置(図示せず)を用いてもよい。表示入力装置としては、例えばタッチパネル等を用いることができる。
以上、ロボットシステム100の基本的な構成について簡単に説明した。
Note that one
The basic configuration of the
≪ロボットシステムの動作等≫
次に、作業者が行う作業の手順と、ロボットシステム100の動作について説明する。
<< Operation of robot system etc. >>
Next, the procedure of the work performed by the worker and the operation of the
また、図3に示すように、ロボット1が行う作業としては、エンドエフェクター19により対象物71を吸着(保持)し、その対象物71を所定の位置に移動させ、対象物72の穴721に挿入する作業を例に挙げて説明する。なお、対象物71、72は、それぞれ、特に限定されないが、対象物71の形状および対象物72の穴721の形状は、それぞれ、本実施形態では、長方形(四角形)をなしている。なお、ロボット1が行う作業は、前記のものには限定されない。
Further, as shown in FIG. 3, as an operation performed by the
また、ロボット1には、互いに直交する3軸を有する複数のツール座標系(ロボット座標系)が設定されており、各ツール座標系は、互いに対応付けがなされている。そのツール座標系の1例としては、図1に示すxr軸、yr軸およびzr軸を有する3次元座標系、エンドエフェクター19の先端(ツールセンターポイントP)を原点とする3次元座標系等が挙げられる。
Further, in the
また、撮像部41(撮像部41の視野)(撮像部41で撮像して得られる画像)には、互いに直交する2軸を有する撮像部座標系(画像座標系)が設定されている。そして、撮像部41のキャリブレーションは、終了しているものする。すなわち、所定のツール座標系、本実施形態では、ツールセンターポイントPを原点とするツール座標系(図示せず)と、撮像部座標系(図示せず)との対応付けがなされているものとする。これにより、撮像部41が撮像して得られた画像(撮像画像)における各部(各点)の位置の情報は、ツール座標系における座標(ロボット座標)として取得することが可能である。
Further, in the imaging unit 41 (field of view of the imaging unit 41) (an image obtained by imaging by the imaging unit 41), an imaging unit coordinate system (image coordinate system) having two axes orthogonal to each other is set. Then, calibration of the
〈量産時のロボットの動作(作業)〉
図3に示すように、ロボット1は、エンドエフェクター19により、対象物供給部77から供給される対象物71を吸着する。なお、エンドエフェクター19に吸着された対象物71の位置、姿勢は、多少ばらつく。
<Operation of robot during mass production (work)>
As shown in FIG. 3, the
一方、対象物72は、コンベア76(対象物搬送部)により搬送される。そして、対象物72は、穴721に対象物71が挿入される作業が行われる位置(以下、「組み付け位置」とも言う)で、ロック機構761により停止する。すなわち、対象物72は、ロック機構761により、穴721が一定の位置で、一定の姿勢(角度)になるように位置決めされる。
On the other hand, the
次に、ロボット1は、対象物71を撮像部41上の所定の位置(一定の位置)に移動させ、撮像部41により、対象物71を下方から撮像する。そして、ロボット制御装置2および画像処理装置42は、得られた画像から、互いに直交する2軸方向(xr方向、yr方向)およびzr軸周りの回転方向のずれを求め、そのずれを補正し、ロボット1の動作を制御する。ロボット1は、対象物71を組み付け位置に移動させ、対象物72の穴721に挿入する。
Next, the
〈画像処理〉
まず、表示装置31に、図4に示す画面WD1が表示される。
<Image processing>
First, the screen WD1 shown in FIG. 4 is displayed on the
また、撮像部41は、対象物71を上方から見た場合と上下方向がほぼ一致するように設置されている。この場合、撮像部41により撮像して得られた対象物71の画像(図4参照)は、対象物71を上方から見た場合に対して、図4中における左右が逆になっている。
Further, the
この画像処理シーケンスでは、対象物71の4つの辺についての直線検出と幾何学的な計算とを組み合わせて、対象物71(矩形)の中心の互いに直交する2軸方向の位置(CX、CY)を求める。直線検出では、図4および図5に示す枠部8を用いて、対象物71の辺、すなわち、第1の直線を検出し、この第1の直線と画像上の撮像部座標系(画像座標系)における座標軸に沿った第2の直線との間の角度を求める。このとき、前記撮像部座標系(画像座標系)における座標軸はx軸であっても、y軸であってもよい。また、対象物71の角度として、前記直線検出における前記撮像部座標系(画像座標系)における前記第1の直線と前記第2の直線との間の1つの角度(A)を用いる。
In this image processing sequence, the positions (CX, CY) of the center of the object 71 (rectangle) orthogonal to each other by combining straight line detection about four sides of the
なお、前述したように、撮像部41が撮像して得られた画像における各部(各点)の位置の情報は、ロボット座標として取得することが可能である。また、CX、CYは、ロボット座標での値(単位:mm)に換算可能であり、本実施形態では、図1に示すxr軸、yr軸およびzr軸を有する3次元座標系での座標である。また、Aは、画像上で前記撮像部座標系(画像座標系)におけるx軸に沿った第2直線に対して、前記第1直線との間を反時計回りに測った角度(単位:°)である。また、Aは、前記撮像部座標系(画像座標系)において前記第2直線と前記第1直線との間を時計回りに測った角度であってもよい。また、Aは互いに直交する3軸を有するツール座標系(ロボット座標系)における任意の平面との間の角度であってもよい。
As described above, the information of the position of each part (each point) in the image obtained by imaging by the
〈ずれの調整のための準備〉
量産前の調整時に、以下のステップを実行する。
<Preparation for adjustment of deviation>
At the time of adjustment before mass production, execute the following steps.
1.コンベア76上でロック機構761により停止している対象物72の穴721に、対象物71を手作業で挿入する。
1. The
2.ロボット1を、エンドエフェクター19が対象物71の中心に位置するように動作させ、エンドエフェクター19により対象物71を吸着する。このときのロボット1のロボットアーム10の姿勢P1を記憶する。
2. The
3.ロボット1を、対象物71が撮像部41の視野の中央付近に位置するように動作させる。このときのロボット1のロボットアーム10の姿勢P2を記憶する。
3. The
4.撮像部41により対象物71を撮像し、画像処理装置42の角度計算部421は、得られた画像(画像データ)を用いて画像処理を行ない、対象物71の中心のロボット座標CX0、CY0と、画像上で対象物71の4つの辺の少なくとも1つの辺に対応した直線と画像座標系におけるx軸に沿った直線との間を反時計回りに測った角度A0とを求める。このCX0、CY0、A0が対象物71の基準位置および基準角度である。なお、CX0、CY0は、図1に示すxr軸、yr軸およびzr軸を有する3次元座標系での座標である。
4. The
〈量産時のずれの調整〉
量産時のずれの調整は、以下のステップを実行する。
Adjustment of deviation during mass production
The adjustment of the deviation at the time of mass production performs the following steps.
1.ロボット1のエンドエフェクター19により対象物71を吸着し、その対象物71を撮像部41の視野内に移動する。このときのロボット1のロボットアーム10の姿勢は、前記姿勢P2となるようにする。
1. The
2.撮像部41により対象物71を撮像し、画像処理装置42の角度計算部421は、得られた画像(画像データ)を用いて画像処理を行ない、対象物71の中心のロボット座標CX1、CY1と、画像上で対象物71の4つの辺の少なくとも1つの辺に対応した直線と画像座標系におけるx軸に沿った直線との間を反時計回りに測った角度A1とを求める。このCX1、CY1、A1が対象物71の現在位置および現在角度である。なお、CX1、CY1は、図1に示すxr軸、yr軸およびzr軸を有する3次元座標系での座標である。
2. The
対象物71の基準位置および基準角度に対する現在位置および現在角度のずれは、下記(1)式、(2)式、(3)式で示される。
Deviations of the current position and the current angle with respect to the reference position of the
ΔX1=CX1−CX0 ・・・(1)
ΔY1=CY1−CY0 ・・・(2)
ΔA=A1−A0 ・・・(3)
量産時には、まず、以上の動作を行う。
ΔX1 = CX1−CX0 (1)
ΔY1 = CY1-CY0 (2)
ΔA = A1−A0 (3)
In mass production, the above operation is performed first.
ここで、画像上の角度のずれであるΔAは、ロボット座標での角度のずれにすると、正負が逆である。このため、ロボット1のエンドエフェクター19をΔAの角度、回転すると、対象物71の角度(姿勢)は、対象物71の基準位置での角度(姿勢)と同一になる。しかし、対象物71の中心は、下記(4)式、(5)式で示されるΔX2、ΔY2、移動してしまう。
Here, if the angular deviation ΔA on the image is the angular deviation in robot coordinates, the positive and negative are opposite. Therefore, when the
ΔX2=cos(ΔA)*ΔX1−sin(ΔA)*ΔY1 ・・・(4)
ΔY2=sin(ΔA)*ΔX1+cos(ΔA)*ΔY1 ・・・(5)
ΔX=ΔX1+ΔX2 ・・・(6)
ΔY=ΔY1+ΔY2 ・・・(7)
ΔX 2 = cos (ΔA) * ΔX 1 -sin (ΔA) * ΔY 1 (4)
ΔY2 = sin (ΔA) * ΔX1 + cos (ΔA) * ΔY1 (5)
ΔX = ΔX1 + ΔX2 (6)
ΔY = ΔY1 + ΔY2 (7)
このため、ロボット1を、上記(6)式、(7)式で示される対象物71の中心のΔX、ΔYのずれをキャンセルするように動作させれば、対象物71が基準位置に一致するように補正を行うことができる。そのためには、ロボット1のエンドエフェクター19(対象物71)を−ΔX、−ΔY、移動させればよい。
Therefore, if the
3.量産時には、ロボット制御装置2は、ΔX、ΔYおよびΔAを求め、ロボット1が対象物71を組み付け位置に移動させるまでの間に、ロボットアーム10の姿勢P1に対して前記と同様の補正「(−ΔX、−ΔY)およびΔA」を行って、対象物71を対象物72の穴721に挿入する。
なお、量産前の調整時は、コンピューター5がΔX、ΔYおよびΔAを求める。
3. At the time of mass production, the robot control device 2 obtains ΔX, ΔY and ΔA, and makes corrections similar to the above with respect to the posture P1 of the
At the time of adjustment before mass production, the
〈直線検出に用いる枠部〉
次に、対象物71の直線26の検出(直線検出)を行う際に検出領域を示す枠部8について説明する。
Frame used for straight line detection
Next, when the detection of the
図5に示すように、撮像部41(撮像部41の視野)(撮像部41で撮像して得られる画像)には、互いに直交するx軸、y軸(2軸)を有する撮像部座標系25(画像座標系)が設定されている。 As shown in FIG. 5, an imaging unit coordinate system having an x axis and ay axis (two axes) orthogonal to each other in the imaging unit 41 (field of view of the imaging unit 41) (image obtained by imaging by the imaging unit 41). 25 (image coordinate system) is set.
また、対象物71の形状は、特に限定されないが、本実施形態では、長方形(四角形)をなしている。また、対象物71の内側の領域を「暗(暗い領域)」、対象物71の外側の領域を「明(明るい領域)」と言う。なお、この例では、対象物71の所定の長辺を検出対象の直線26とする。
Further, the shape of the
また、枠部8は、「ラインファインダー」とも呼ばれており、本実施形態では、長方形(四角形)の枠81と、枠81内に配置された複数の矢印82(エッジ検出ライン)とを有している。また、枠81の短辺85、86、それぞれ、矢印82(エッジ検出ライン)を兼ねている。そして、各矢印82は、等間隔で、短辺85、86と平行に配置され、長辺84側(同一の方向)を向いている。なお、枠部8は、他の構成であってもよい。
The
また、直線検出を行う際は、枠部8は、各矢印82が検出対象の直線26と交差するように配置される。また、枠部8は、本実施形態では、各矢印82が「明」から「暗」の方向に向くように配置される。なお、枠部8は、各矢印82が「暗」から「明」の方向に向くように配置されてもよい。
In addition, when performing straight line detection, the
また、直線26と短辺85との交点を始点27、直線26と短辺86との交点を終点28とし、始点27から終点28に向う矢印29を想定する。この矢印29は、直線26の方向および向きを示している。そして、直線26とx軸に沿った直線との間を反時計回りに測った角度θを求める。
Further, an intersection point of the
〈画像処理のプロパティー(パラメーター)設定〉
直線検出のプロパティーの中には、「Directed」と、「AngleType」とが含まれている。この「Directedプロパティー」と、「AngleTypeプロパティー」とが、ロボットシステム100における「角度の表現方法の指定」に相当する。)
<Image processing property (parameter) settings>
The straight line detection properties include "Directed" and "AngleType". The “Directed property” and the “AngleType property” correspond to “specifying an angle expression method” in the robot system 100. )
(1)DirectedプロパティーによるAngleリザルトの角度表現
Directedプロパティーの値には、「True」と、「False」とがある。Directedを「True」に設定した場合を第2モードとし、Directedを「False」に設定した場合を第3モードとする。本実施形態では、検出角度を求めるためのモードとして、前記第2モードおよび第3モードを含む複数のモードを有している。
(1) Angle Expression of Angle Result by Directed Property The value of the Directed property includes “True” and “False”. The second mode is when Directed is set to "True", and the third mode is when Directed is set to "False". In this embodiment, a plurality of modes including the second mode and the third mode are provided as modes for obtaining a detection angle.
Trueに設定されている第2モードの場合は、画像上で検出される直線は向きがあるものとし、画像処理装置42の角度計算部421は、直線の検出角度として、360°の範囲(例えば、0°以上360°未満)で返す。例えば、同一方向で、向きが異なる2つの直線261、262とx軸に沿った直線との間の角度を反時計まわりに測った角度θが、330°(図7参照)と、150°(図8参照)である場合、330°と、150°とを区別する。すなわち、図7に示す直線261の検出角度は、330°と表現され、図8に示す直線262の検出角度は、150°と表現される。
In the second mode set to True, it is assumed that the straight line detected on the image has an orientation, and the
Falseに設定されている第3モードの場合は、画像上で検出される直線は向きがないものとし、角度計算部421は、直線と画像座標系におけるx軸に沿った直線との間を反時計まわりに測った検出角度として、180°の範囲(例えば、0°以上180°未満、または−90°以上90°未満)で返す。この設定にしておけば、枠部8を画像上で180度回転させて長方形(四角形)である対象物71の対辺に移動させて、画像上で検出される直線と画像座標系におけるx軸に沿った直線との間を反時計まわりに測った角度を検出させるようにしても、同じ角度で検出されるようになる。これにより、その場合にでもロボット1のロボットアーム10の先端部が大きい角度、回動してロボットアーム10に設けられているケーブルを損傷することを抑制することができる。
In the case of the third mode set to False, the straight line detected on the image has no direction, and the
すなわち、画像上で検出される直線と画像座標系におけるx軸に沿った直線との間を反時計まわりに測った角度が所定の範囲内にある場合、その角度を検出角度とする。また、前記直線の前記角度が所定の範囲内にない場合は、前記直線の前記角度に対して180°減算または加算した修正角度が所定の範囲内にある場合、修正角度を検出角度とする。また、前記所定の範囲は、特に限定されないが、0°以上180°未満、または−90°以上90°未満であることが好ましい。 That is, when the angle measured counterclockwise between the straight line detected on the image and the straight line along the x-axis in the image coordinate system is within a predetermined range, that angle is taken as a detection angle. Further, when the angle of the straight line is not within a predetermined range, if the correction angle obtained by subtracting or adding 180 ° to the angle of the straight line is within a predetermined range, the correction angle is taken as a detection angle. The predetermined range is not particularly limited, but is preferably 0 ° or more and less than 180 °, or preferably -90 ° or more and less than 90 °.
例えば、同一方向で、向きが異なる2つの直線261、262と画像座標系におけるx軸に沿った直線との間を反時計まわりに測った角度θが、それぞれ、330°(図7参照)と、150°(図8参照)である場合、330°と、150°とを区別しない。すなわち、直線261の検出角度および直線262の検出角度は、いずれも330°(図9、図10参照)または150°(図11、図12参照)と表現される。
For example, an angle θ measured counterclockwise between two
ここで、直線検出のモードを設定する際は、作業者は、入力装置32を用い、図4に示す画面DW1において、Directedプロパティーの値の選択、後述するAngleTypeプロパティーの値の選択等の所定の操作指示を行う。コンピューター5の外部入出力部53が前記操作指示を受け付けると、制御部51は、直線検出のモードを指示されたモードに設定する。
Here, when setting the mode of the straight line detection, the operator uses the
(2)AngleTypeプロパティーによるAngleリザルトの角度表現
AngleTypeプロパティーの値には、「Absolute」と、「Nearest」とがある。AngleTypeを「Nearest」に設定した場合を第1モードとし、AngleTypeを「Absolute」に設定した場合を第4モードとする。
(2) Angle Expression of Angle Result by Angle Type Property There are “Absolute” and “Nearest” as values of Angle Type property. The case where Angle Type is set to “Nearest” is the first mode, and the case where Angle Type is set to “Absolute” is the fourth mode.
Absoluteに設定されている第4モードの場合は、角度計算部421は、直線の検出角度として、0°以上360°未満の範囲で返す。
In the fourth mode set to Absolute, the
Nearestに設定されている第1モードの場合は、角度計算部421は、直線の検出角度として、後述するAngleStartプロパティーに設定されている角度(所定の角度)に最も近い角度を返す。
In the case of the first mode set to Nearest, the
すなわち、角度計算部421は、撮像部座標系25(画像座標系)におけるx軸に沿った直線との間に所定の角度を有する直線と、画像上で検出される直線との間の角度の絶対値が最も小さいとき、画像上で検出される直線の角度をその直線の検出角度とする。これにより、ロボット1のロボットアーム10の先端部が大きい角度、回動してロボットアーム10に設けられているケーブルを損傷することを抑制することができる。
That is, the
実際には、所定の角度に最も近い角度を求めるには、以下のようにする。
まず、角度計算部421は、画像上で検出される直線26と、画像座標系におけるx軸に沿った直線との間に所定の角度を有する直線との間の角度の絶対値が所定の範囲内にある場合、その直線26と画像座標系におけるx軸に沿った直線との間の角度を検出角度とする。また、角度計算部421は、直線26と、画像座標系におけるx軸に沿った直線との間に所定の角度を有する直線との間の角度の絶対値が所定の範囲内にない場合、その直線26と画像座標系におけるx軸に沿った直線との間の角度に対して360°減算または加算した修正角度を検出角度とする。これにより、画像座標系におけるx軸に沿った直線との間に所定の角度を有する直線との間の角度の絶対値が最も小さい直線26と画像座標系におけるx軸に沿った直線との間の角度を容易かつ迅速に求めることができる。
In practice, in order to determine the angle closest to the predetermined angle, the following is performed.
First, the
ここで、前記所定の範囲の下限値、上限値は、特に限定されず、例えば、−50°、180°等が挙げられる。 Here, the lower limit value and the upper limit value of the predetermined range are not particularly limited, and examples thereof include -50 ° and 180 °.
例えば、図13に示すように、直線26と画像座標系におけるx軸に沿った直線との間の角度、すなわち、Directedが「True」で「330°」の角度θ1(図13参照)は、AngleStartが「0°」であれば、画像座標系におけるx軸に沿った直線から時計回りの角度θ2、すなわち、「−30°」と表現され、AngleStartが「180°」であれば、画像座標系におけるx軸に沿った直線から反時計回りの角度θ1、すなわち、「330°」と表現される。
For example, as shown in FIG. 13, the angle between the
ここで、例えば、直線検出のプロパティーであるDirectedを「False」、AngleTypeを「Nearest」、AngleStartを「0°」、AngleRangeを「30°」に設定する。なお、AngleRangeは、直線の角度の検出範囲であり、「30°」は、「±30°」のことである。 Here, for example, the property of straight line detection Directed is set to “False”, the AngleType is “Nearest”, the AngleStart is “0 °”, and the AngleRange is “30 °”. Angle Range is a detection range of a straight line angle, and “30 °” is “± 30 °”.
この設定で画像処理シーケンスを実行し、対象物71の中心点の座標と、対象物71の4つの辺の少なくとも1つの辺に対応した直線と画像座標系におけるx軸に沿った直線との間の角度を求め、前記量産時のずれの調整を行う。AngleTypeを「Absolute」として、前記量産時のずれの調整を行うと、ロボットアーム10の先端部が360°近く回動してしまうことがあるが、前記の設定では、そのような回動を抑制することができる。
With this setting, the image processing sequence is executed, and between the coordinates of the center point of the
また、以下に、直線検出のプロパティーの具体例を示す。
例えば、図6に示すように、Propertyを「Value」、AngleTypeを「Absolute」、AngleStartを「0」、AngleRangeを「180」、Directedを「False」、NumberOfEdgesを「5」、Polarityを「LightToDark」、SearchWidthを「3」に設定する。
Also, specific examples of straight line detection properties are shown below.
For example, as shown in FIG. 6, Property is “Value”, AngleType is “Absolute”, AngleStart is “0”, AngleRange is “180”, Directed is “False”, NumberOfEdges is “5”, Polarity is “LightToDark” , Set SearchWidth to "3".
AngleTypeは、「角度表現を選択」である。また、AngleStartは、「所定の角度」である。また、AngleRangeは、「角度検出の範囲」である。また、Directedは、「向きの有無」である。また、NumberOfEdgesは、「エッジ検出ラインの本数」である。また、Polarityは、「検出するエッジ明暗の向き」であり、例えば、「明から暗」と「暗から明」とがある。また、SearchWidthは、「エッジ検出ラインの幅」である。この幅の中で明暗を平均化した上で、エッジ検出される。 AngleType is “select angle expression”. Also, AngleStart is a "predetermined angle". Also, AngleRange is “range of angle detection”. Moreover, Directed is "presence or absence". Also, NumberOfEdges is “the number of edge detection lines”. Also, Polarity is the “direction of edge contrast to be detected”, for example, “light to dark” and “dark to light”. Also, SearchWidth is “width of edge detection line”. Edges are detected after averaging the light and dark within this width.
〈パラメーターの組み合わせの説明〉
前述したように、角度表現には、Directedと、AngleTypeとがあるが、Directedのパラメーターと、AngleTypeのパラメーターとを組み合わせることも可能である。
<Description of combination of parameters>
As described above, there are Directed and AngleType in the angle expression, but it is also possible to combine the parameters of Directed and the parameters of AngleType.
この場合、Directedを「True」、AngleTypeを「Absolute」に設定する場合と、Directedを「True」、AngleTypeを「Nearest」に設定する場合と、Directedを「False」、AngleTypeを「Absolute」に設定する場合と、Directedを「False」、AngleTypeを「Nearest」に設定する場合の4つの組み合わせがある。 In this case, when Directed is set to True and AngleType is set to Absolute, and when Directed is set to True and AngleType is set to Nearest, Directed is set to False and AngleType is set to Absolute. There are four combinations, one for setting Directed to “False” and one for setting AngleType to “Nearest”.
以上説明したように、ロボットシステム100によれば、適確にロボット1を制御し、ロボット1を動作させることができる。これにより、ロボット1のロボットアーム10の先端部が大きい角度、回動してロボットアーム10に設けられているケーブルを損傷することを抑制することができる。
As described above, according to the
以上説明したように、ロボット制御装置2、コンピューター5および画像処理装置42で構成されるロボット制御装置は、ロボット1を制御する装置であり、対象物71を撮像して得られた画像を受け付ける外部入出力部423(画像受付部)と、画像に含まれる直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間の角度を計算する角度計算部421と、複数のモードのうち所定のモードの選択を受け付ける外部入出力部53(モード受付部)と、を備えている。また、複数のモードは、画像に含まれる直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間に所定の角度を有する直線との間の第1角度の絶対値が最も小さいとき、直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間の角度を直線26の検出角度とするように角度計算部421に計算させる第1モードを含む。
As described above, the robot control device configured by the robot control device 2, the
このようなロボット制御装置によれば、適確にロボット1を制御することができる。これにより、ロボット1のロボットアーム10の先端部が大きい角度、回動してロボットアーム10に設けられているケーブルを損傷することを抑制することができる。
According to such a robot control device, the
また、複数のモードは、画像に含まれる直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間の角度に対して180°減算または加算した修正角度が所定の範囲内にある場合、修正角度を検出角度とする第2モードを含む。これにより、第2モードでは、画像に含まれる直線26の向きが所定の方向に対して逆向きの場合を区別することなく、画像に含まれる直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間の角度を計算するので、ロボット1のロボットアーム10の先端部が大きい角度、回動してロボットアーム10に設けられているケーブルを損傷することを抑制することができる。
Further, in the plurality of modes, the correction angle obtained by subtracting or adding 180 ° to the angle between the
また、所定の範囲が0°以上180°未満、または−90°以上90°未満であることが好ましい。これにより、第2モードでは、画像に含まれる直線26の向きが所定の方向に対して逆向きの場合を区別することなく、画像に含まれる直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間の角度を計算するので、ロボット1のロボットアーム10の先端部が大きい角度、回動してロボットアーム10に設けられているケーブルを損傷することを抑制することができる。
Moreover, it is preferable that a predetermined range is 0 degree or more and less than 180 degrees, or -90 degrees or more and less than 90 degrees. Thereby, in the second mode, the
また、第1モードでは、角度計算部421は、画像に含まれる直線26と、撮像部座標系25(画像座標系)における座標軸に沿った直線との間に所定の角度を有する直線との間の第1角度の絶対値が所定の範囲内にある場合、その第1角度の絶対値の算出に使用した画像に含まれる直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間の角度を検出角度とする。これにより、撮像部座標系25(画像座標系)における座標軸に沿った直線との間に所定の角度を有する直線との間の第1角度の絶対値が最も小さい直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間の角度を容易かつ迅速に求めることができる。
Further, in the first mode, the
また、第1モードでは、角度計算部421は、像部座標系25(画像座標系)における座標軸に沿った直線との間に所定の角度を有する直線との間の第1角度の絶対値が所定の範囲内にない場合、その第1角度の絶対値の算出に使用した直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間の角度に対して360°減算または加算した修正角度を検出角度とする。これにより、撮像部座標系25における座標軸に沿った直線との間に所定の角度を有する直線との間の第1角度の絶対値が最も小さい直線26と撮像部座標系25(画像座標系)における座標軸に沿った直線との間の角度を容易かつ迅速に求めることができる。
Further, in the first mode, the
また、ロボット1は、ロボットアーム10を有し、ロボット制御装置2、コンピューター5および画像処理装置42で構成されるロボット制御装置により制御される。
Further, the
このようなロボット1によれば、ロボット制御装置の制御により、適切な動作を行うことができる。
According to such a
また、ロボットシステム100は、ロボットアーム10を有するロボット1と、対象物71を撮像する撮像部41と、ロボット1を制御するロボット制御装置2、コンピューター5および画像処理装置42で構成されるロボット制御装置と、を備える。
The
このようなロボットシステム100によれば、適確にロボット1を制御することができる。これにより、ロボット1のロボットアーム10の先端部が大きい角度、回動してロボットアーム10に設けられているケーブルを損傷することを抑制することができる。
According to such a
図14は、実施形態についてハードウェア(プロセッサー)を中心として説明するためのブロック図である。 FIG. 14 is a block diagram for describing the embodiment centering on hardware (processor).
図14には、ロボット1とコントローラー61とコンピューター62が接続されたロボットシステム100Aの全体構成が示されている。ロボット1の制御はコントローラー61にあるプロセッサーによりメモリーにある指令を読みだして実行されてもよいし、コンピューター62に存在するプロセッサーによりメモリーにある指令を読みだしてコントローラー61を介して実行されてもよい。
FIG. 14 shows the overall configuration of a
<変形例1>
図15は、本発明のロボットシステムの他の例1(変形例1)を示すブロック図である。
<
FIG. 15 is a block diagram showing another example 1 (modified example 1) of the robot system of the present invention.
図15には、ロボット1に直接コンピューター63が接続されたロボットシステム100Bの全体構成が示されている。ロボット1の制御はコンピューター63に存在するプロセッサーによりメモリーにある指令を読みだして直接実行される。
FIG. 15 shows the entire configuration of a robot system 100B in which a
<変形例2>
図16は、本発明のロボットシステムの他の例2(変形例2)を示すブロック図である。
<Modification 2>
FIG. 16 is a block diagram showing another example 2 (modified example 2) of the robot system of the present invention.
図16には、コントローラー61が内蔵されたロボット1とコンピューター66が接続され、コンピューター66がLAN等のネットワーク65を介してクラウド64に接続されているロボットシステム100Cの全体構成が示されている。ロボット1の制御はコンピューター66に存在するプロセッサーによりメモリーにある指令を読みだして実行されてもよいし、クラウド64上に存在するプロセッサーによりコンピューター66を介してメモリーにある指令を読みだして実行されてもよい。
FIG. 16 shows the overall configuration of a robot system 100C in which a
また、ロボットシステム100A、100B、100Cでは、各プロセッサーは、それぞれ、1つの装置で構成されていてもよく、また、複数の装置で構成されていてもよい、すなわち、複数の単位プロセッサーに分かれていてもよい。
Further, in the
以上、本発明のロボット制御装置、ロボットおよびロボットシステムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。 The robot control apparatus, robot and robot system of the present invention have been described above based on the illustrated embodiment, but the present invention is not limited to this, and the configuration of each part is an arbitrary one having the same function. It can be replaced by one of the configuration. Also, any other component may be added.
また、前述した実施形態では、ロボットとして、6軸の垂直多関節ロボットを例示したが、当該ロボットは、これに限らず、例えば、スカラーロボット等の水平多関節ロボット、脚部を有する脚式歩行(走行)ロボット等の他の形態のロボットであってもよい。また、当該ロボットは、単腕ロボットに限定されず、例えば、双腕ロボット等の他のロボットであってもよい。したがって、ロボットアーム(可動部)の数は、1つに限定されず、2つ以上であってもよい。また、ロボットアーム(可動部)が有するアームの数は、前述した実施形態では、6つであるが、1つ〜5つまたは7つ以上であってもよい。 In the embodiment described above, a six-axis vertical articulated robot is exemplified as the robot, but the robot is not limited to this, and, for example, a horizontal articulated robot such as a scalar robot, a leg type walking robot It may be a robot of another form such as a (traveling) robot. Moreover, the said robot is not limited to a single arm robot, For example, other robots, such as a double arm robot, may be used. Therefore, the number of robot arms (movable parts) is not limited to one, and may be two or more. Further, the number of arms included in the robot arm (movable part) is six in the above-described embodiment, but may be one to five or seven or more.
1…ロボット、2…ロボット制御装置、5…コンピューター、8…枠部、10…ロボットアーム、11…アーム、12…アーム、13…アーム、14…アーム、15…アーム、16…アーム、19…エンドエフェクター、21…制御部、22…記憶部、23…外部入出力部、25…撮像部座標系、26…直線、27…始点、28…終点、29…矢印、31…表示装置、32…入力装置、41…撮像部、42…画像処理装置、51…制御部、52…記憶部、53…外部入出力部、61…コントローラー、62…コンピューター、63…コンピューター、64…クラウド、65…ネットワーク、66…コンピューター、70…設置箇所、71…対象物、72…対象物、76…コンベア、77…対象物供給部、81…枠、82…矢印、83…長辺、84…長辺、85…短辺、86…短辺100…ロボットシステム、100A…ロボットシステム、100B…ロボットシステム、100C…ロボットシステム、110…基台、130…駆動部、140…角度センサー、171…関節、172…関節、173…関節、174…関節、175…関節、176…関節、261…直線、262…直線、421…角度計算部、422…記憶部、423…外部入出力部、721…穴、761…ロック機構、A0…角度、A1…角度、CX0…ロボット座標、CX1…ロボット座標、DW1…画面、P…ツールセンターポイント、P1…姿勢、P2…姿勢、
WD1…画面、θ…角度、θ1…角度、θ2…角度
DESCRIPTION OF
WD1 ... screen, θ ... angle, θ1 ... angle, θ2 ... angle
Claims (7)
対象物を撮像して得られた画像を受け付ける画像受付部と、
前記画像に含まれる第1の直線と前記画像の座標系における座標軸に沿った第2の直線との間の角度を計算する角度計算部と、
複数のモードのうち所定のモードの選択を受け付けるモード受付部と、
を備え、
前記複数のモードは、前記第2の直線との間に所定の角度を有する第3の直線と前記第1の直線との間の第1角度を算出し、前記第1角度の絶対値が最も小さい前記第1の直線と前記第2の直線との間の角度を前記第1の直線の検出角度とするように前記角度計算部に計算させる第1モードを含むことを特徴とするロボット制御装置。 A robot controller for controlling a robot,
An image reception unit that receives an image obtained by imaging an object;
An angle calculation unit that calculates an angle between a first straight line included in the image and a second straight line along a coordinate axis in a coordinate system of the image;
A mode reception unit that receives selection of a predetermined mode among a plurality of modes;
Equipped with
The plurality of modes calculate a first angle between a third straight line having a predetermined angle with the second straight line and the first straight line, and the absolute value of the first angle is most A robot control apparatus comprising: a first mode for causing the angle calculation unit to calculate an angle between the small first straight line and the second straight line as a detection angle of the first straight line .
請求項1ないし5のいずれか1項に記載のロボット制御装置により制御されることを特徴とするロボット。 Has a robot arm,
A robot controlled by the robot control device according to any one of claims 1 to 5.
対象物を撮像する撮像部と、
前記ロボットを制御する請求項1ないし5のいずれか1項に記載のロボット制御装置と、を備えることを特徴とするロボットシステム。 A robot having a robot arm,
An imaging unit for imaging an object;
The robot control device according to any one of claims 1 to 5, which controls the robot.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017250710A JP2019115950A (en) | 2017-12-27 | 2017-12-27 | Robot control device, robot, and robot system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017250710A JP2019115950A (en) | 2017-12-27 | 2017-12-27 | Robot control device, robot, and robot system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019115950A true JP2019115950A (en) | 2019-07-18 |
Family
ID=67303851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017250710A Pending JP2019115950A (en) | 2017-12-27 | 2017-12-27 | Robot control device, robot, and robot system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019115950A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114310063A (en) * | 2022-01-28 | 2022-04-12 | 长春职业技术学院 | Welding optimization method based on six-axis robot |
-
2017
- 2017-12-27 JP JP2017250710A patent/JP2019115950A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114310063A (en) * | 2022-01-28 | 2022-04-12 | 长春职业技术学院 | Welding optimization method based on six-axis robot |
CN114310063B (en) * | 2022-01-28 | 2023-06-06 | 长春职业技术学院 | Welding optimization method based on six-axis robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6966582B2 (en) | Systems and methods for automatic hand-eye calibration of vision systems for robot motion | |
JP5815761B2 (en) | Visual sensor data creation system and detection simulation system | |
JP6710946B2 (en) | Controllers, robots and robot systems | |
JP4844453B2 (en) | Robot teaching apparatus and teaching method | |
JP2018034242A (en) | Robot control device, robot, and robot system | |
US11027428B2 (en) | Simulation apparatus and robot control apparatus | |
CN109834710B (en) | Robot and robot system | |
CN109648605B (en) | Robot system | |
US10377043B2 (en) | Robot control apparatus, robot, and robot system | |
US20190077016A1 (en) | Programming device for welding robot and programming method for welding robot | |
US11679508B2 (en) | Robot device controller for controlling position of robot | |
JP2003117861A (en) | Position correcting system of robot | |
JP2006082171A (en) | Tool location correcting method for articulated robot | |
WO2020044760A1 (en) | Method for calibrating operation device, operation device system, and control device | |
JP2019115950A (en) | Robot control device, robot, and robot system | |
JP2018001332A (en) | Robot, control device, and robot system | |
JP3754340B2 (en) | Position detection device | |
JP6923688B2 (en) | Robots and robot systems | |
US11759955B2 (en) | Calibration method | |
KR102333281B1 (en) | Robot arm for teaching location where tools to move and operation method thereof | |
JP7384653B2 (en) | Control device for robot equipment that controls the position of the robot | |
JP2014065107A (en) | Device for correcting robot operation program | |
JP7173798B2 (en) | A robot controller that monitors variables in motion programs | |
JP2017113815A (en) | Image display method of robot system that holds object using robot | |
WO2023012894A1 (en) | Robot system, control device, diagnosis method, and diagnosis program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20180910 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20181121 |
|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20200807 |