JP2018034245A - Robot, robot control device, and robot system - Google Patents
Robot, robot control device, and robot system Download PDFInfo
- Publication number
- JP2018034245A JP2018034245A JP2016168980A JP2016168980A JP2018034245A JP 2018034245 A JP2018034245 A JP 2018034245A JP 2016168980 A JP2016168980 A JP 2016168980A JP 2016168980 A JP2016168980 A JP 2016168980A JP 2018034245 A JP2018034245 A JP 2018034245A
- Authority
- JP
- Japan
- Prior art keywords
- image
- robot
- target
- arm
- posture
- 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)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Description
この発明は、ロボット、ロボット制御装置、及びロボットシステムに関する。 The present invention relates to a robot, a robot control device, and a robot system.
撮像部により撮像された撮像画像に基づいてロボットを制御する技術の研究や開発が行われている。 Research and development of a technique for controlling a robot based on a captured image captured by an imaging unit has been performed.
これに関し、第1の撮像装置が対象物を撮像して得た第1の撮像画像と、第1の撮像装置が撮像した空間に対応する第1の仮想空間における対象物のモデル画像との相違度を示す第1の相違度を、第1の仮想空間における対象物の複数の異なる姿勢毎に算出し、第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、第2の撮像装置が撮像した空間に対応する第2の仮想空間における対象物のモデル画像との相違度を示す第2の相違度を、第2の仮想空間における対象物の複数の姿勢毎に算出し、算出した複数の第1の相違度と、算出した複数の第2の相違度とに基づいて第1の撮像座標系における対象物の姿勢を推定する姿勢検出装置が知られている(特許文献1参照)。 In this regard, the difference between the first captured image obtained by imaging the object by the first imaging device and the model image of the object in the first virtual space corresponding to the space imaged by the first imaging device. A first degree of difference indicating a degree is calculated for each of a plurality of different postures of the object in the first virtual space, and the second imaging device arranged at a position different from the first imaging device selects the object. A second dissimilarity indicating a dissimilarity between the second captured image obtained by imaging and the model image of the object in the second virtual space corresponding to the space captured by the second imaging device is expressed as the second difference. The orientation of the object in the first imaging coordinate system is calculated for each of the plurality of postures of the object in the virtual space, and based on the calculated plurality of first differences and the calculated plurality of second differences. There is known an attitude detection device that estimates the angle (see Patent Document 1).
しかしながら、このような姿勢検出装置では、対象物が撮像された撮像画像に含まれる当該対象物以外の背景(例えば、対象物を組み付ける物体)等が当該対象物として誤検出されてしまう場合があった。その結果、当該姿勢検出装置は、当該対象物の位置を精度よく検出することができない場合があった。 However, in such a posture detection apparatus, a background other than the target object (for example, an object to which the target object is assembled) included in the captured image obtained by capturing the target object may be erroneously detected as the target object. It was. As a result, the posture detection device may not be able to accurately detect the position of the object.
上記課題の少なくとも一つを解決するために本発明の一態様は、アームを備え、第1対象物を含まない第1範囲が撮像された第1画像と、前記第1範囲の少なくとも一部と重なる範囲であって前記第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された前記第1対象物の位置に基づいて前記アームを動かす、ロボットである。
この構成により、ロボットは、第1対象物を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された第1対象物の位置に基づいてアームを動かす。これにより、ロボットは、第1対象物に関する作業を精度よく行うことができる。
In order to solve at least one of the above problems, one embodiment of the present invention includes a first image that includes an arm and includes a first range that does not include a first object, and at least a part of the first range A robot that moves the arm based on a position of the first object detected using a second image obtained by imaging a second range that is an overlapping range and includes the first object.
With this configuration, the robot captures the first image in which the first range that does not include the first object is captured, and the second range that includes at least a part of the first range and includes the first object. The arm is moved based on the position of the first object detected using the second image. Thereby, the robot can perform the work regarding the first object with high accuracy.
また、本発明の他の態様は、ロボットにおいて、前記第1画像と前記第2画像との差分に基づく差分画像が生成され、生成された前記差分画像を用いて検出された前記第1対象物の位置に基づいて前記アームを動かす、構成が用いられてもよい。
この構成により、ロボットは、第1画像と第2画像との差分に基づく差分画像が生成され、生成された差分画像を用いて検出された第1対象物の位置に基づいてアームを動かす。これにより、ロボットは、差分画像を用いて検出された第1対象物の位置に基づいて、第1対象物に関する作業を精度よく行うことができる。
According to another aspect of the present invention, in the robot, a difference image based on a difference between the first image and the second image is generated, and the first object detected using the generated difference image. A configuration in which the arm is moved based on the position may be used.
With this configuration, the robot generates a difference image based on the difference between the first image and the second image, and moves the arm based on the position of the first object detected using the generated difference image. Thereby, the robot can perform the work regarding the first object with high accuracy based on the position of the first object detected using the difference image.
また、本発明の他の態様は、ロボットにおいて、前記第1画像と前記第2画像とを用いて検出された前記第1対象物の位置と、前記アームを動かす移動量に関するゲインであってビジュアルサーボの前記ゲインとに基づいて前記アームを動かす、構成が用いられてもよい。
この構成により、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、アームを動かす移動量に関するゲインであってビジュアルサーボのゲインとに基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、ゲインとに基づいて、第1対象物に関する作業を精度よく行うことができる。
According to another aspect of the present invention, there is provided a gain relating to a position of the first object detected using the first image and the second image and a movement amount for moving the arm in the robot. A configuration in which the arm is moved based on the gain of the servo may be used.
With this configuration, the robot moves the arm based on the position of the first object detected using the first image and the second image, and a gain related to the amount of movement for moving the arm and the gain of the visual servo. . Thereby, the robot can perform the work regarding the first object with high accuracy based on the position and gain of the first object detected using the first image and the second image.
また、本発明の他の態様は、ロボットにおいて、前記第1対象物は、前記アームにより把持されており、前記第1画像と前記第2画像とを用いて検出された前記第1対象物の位置と、前記第1対象物の位置を変化させる目標となる目標位置との差に基づいて前記アームを動かす、構成が用いられてもよい。
この構成により、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、第1対象物の位置を変化させる目標となる目標位置との差に基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と目標位置との差に基づいて、第1対象物に関する作業を精度よく行うことができる。
According to another aspect of the present invention, in the robot, the first object is gripped by the arm, and the first object detected using the first image and the second image is detected. A configuration in which the arm is moved based on a difference between a position and a target position that is a target for changing the position of the first object may be used.
With this configuration, the robot can move the arm based on the difference between the position of the first object detected using the first image and the second image and the target position that is the target for changing the position of the first object. Move. Thereby, the robot can perform the work regarding the first object with high accuracy based on the difference between the position of the first object detected using the first image and the second image and the target position.
また、本発明の他の態様は、ロボットにおいて、前記第1対象物は、前記アームにより第2対象物に組み付ける物体であり、前記第2対象物を含まない第3範囲が撮像された第3画像、及び前記第3範囲の少なくとも一部と重なる範囲であって前記第2対象物を含む第4範囲が撮像された第4画像を用いて検出された前記第2対象物の位置と、当該位置と前記目標位置との相対的な位置を示す目標位置情報とに基づいて前記第1対象物と前記第2対象物とを組み付ける、構成が用いられてもよい。
この構成により、ロボットは、第3画像、及び第4画像を用いて検出された第2対象物の位置と、目標位置情報とに基づいて第1対象物と第2対象物とを組み付ける。これにより、ロボットは、第3画像、及び第4画像を用いて検出された第2対象物の位置と、目標位置情報とに基づいて、第1対象物と第2対象物とを組み付ける作業を精度よく行うことができる。
According to another aspect of the present invention, in the robot, the first object is an object assembled to the second object by the arm, and a third range that does not include the second object is imaged. A position of the second object detected using a fourth image in which an image and a fourth range including the second object are imaged and overlapping with at least a part of the third range; A configuration may be used in which the first object and the second object are assembled based on target position information indicating a relative position between the position and the target position.
With this configuration, the robot assembles the first object and the second object based on the position of the second object detected using the third image and the fourth image and the target position information. Thereby, the robot performs an operation of assembling the first object and the second object based on the position of the second object detected using the third image and the fourth image and the target position information. It can be performed with high accuracy.
また、本発明の他の態様は、ロボットにおいて、前記第3画像は、前記第2画像である、構成が用いられてもよい。
この構成により、ロボットでは、第3画像は、第2画像である。これにより、ロボットは、第1対象物の位置に基づく作業に要する時間を短縮することができる。
According to another aspect of the present invention, in the robot, a configuration in which the third image is the second image may be used.
With this configuration, in the robot, the third image is the second image. Thereby, the robot can shorten the time required for the work based on the position of the first object.
また、本発明の他の態様は、ロボットにおいて、前記第1画像と前記第2画像とを用いて検出された前記第1対象物の姿勢に基づいて前記アームを動かす、構成が用いられてもよい。
この構成により、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢に基づいてアームを動かす。これにより、ロボットは、第1対象物の位置及び姿勢に基づいて、第1対象物に関する作業を精度よく行うことができる。
In another aspect of the present invention, the robot may be configured to move the arm based on the posture of the first object detected using the first image and the second image. Good.
With this configuration, the robot moves the arm based on the posture of the first object detected using the first image and the second image. Thereby, the robot can perform the work regarding the first object with high accuracy based on the position and orientation of the first object.
また、本発明の他の態様は、ロボットにおいて、前記第1画像と前記第2画像とを用いて検出された前記第1対象物の姿勢と、前記第1対象物の姿勢を変化させる目標となる目標姿勢との差に基づいて前記アームを動かす、構成が用いられてもよい。
この構成により、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢と、第1対象物の姿勢を変化させる目標となる目標姿勢との差に基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢と、目標姿勢との差に基づいて、第1対象物に関する作業を精度よく行うことができる。
According to another aspect of the present invention, in the robot, the posture of the first object detected using the first image and the second image, and a target for changing the posture of the first object. A configuration may be used in which the arm is moved based on a difference from a target posture.
With this configuration, the robot can move the arm based on the difference between the posture of the first object detected using the first image and the second image and the target posture that is a target for changing the posture of the first object. Move. As a result, the robot can accurately perform the work on the first object based on the difference between the posture of the first object detected using the first image and the second image and the target posture. .
また、本発明の他の態様は、ロボットにおいて、前記第1対象物は、前記アームにより把持された第2対象物が組み付けられる物体であり、前記第1画像と前記第2画像とを用いて検出された前記第1対象物の位置と、当該位置と前記第2対象物の位置を変化させる目標となる目標位置との相対的な位置を示す目標位置情報と、前記第2対象物の位置とに基づいて前記アームを動かす、構成が用いられてもよい。
この構成により、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、目標位置情報と、第2対象物の位置とに基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、目標位置情報と、第2対象物の位置とに基づいて、第1対象物に関する作業を精度よく行うことができる。
According to another aspect of the present invention, in the robot, the first object is an object to which the second object held by the arm is assembled, and the first image and the second image are used. Target position information indicating a detected position of the first object, a relative position between the position and a target position to be a target for changing the position of the second object, and the position of the second object A configuration may be used that moves the arm based on
With this configuration, the robot moves the arm based on the position of the first object detected using the first image and the second image, target position information, and the position of the second object. As a result, the robot can work on the first object based on the position of the first object detected using the first image and the second image, the target position information, and the position of the second object. Can be performed with high accuracy.
また、本発明の他の態様は、ロボットにおいて、前記第1画像と前記第2画像とを用いて検出された前記第1対象物の位置と、前記目標位置情報と、前記第2対象物を含まない第3範囲が撮像された第3画像、及び前記第3範囲の少なくとも一部と重なる範囲であって前記第2対象物を含む第4範囲が撮像された第4画像を用いて検出された前記第2対象物の位置とに基づいて前記第1対象物と前記第2対象物とを組み付ける、構成が用いられてもよい。
この構成により、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、目標位置情報と、第3画像、及び第4画像を用いて検出された第2対象物の位置とに基づいて前記第1対象物と前記第2対象物とを組み付ける。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、目標位置情報と、第3画像、及び第4画像を用いて検出された第2対象物の位置とに基づいて、第1対象物に関する作業を精度よく行うことができる。
According to another aspect of the present invention, in the robot, the position of the first object detected using the first image and the second image, the target position information, and the second object Detected using a third image in which a third range not included is captured, and a fourth image in which a fourth range including at least a part of the third range and including the second object is captured. In addition, a configuration in which the first object and the second object are assembled based on the position of the second object may be used.
With this configuration, the robot detects the position of the first object detected using the first image and the second image, target position information, the second image detected using the third image, and the fourth image. The first object and the second object are assembled based on the position of the object. Thereby, the robot detects the position of the first object detected using the first image and the second image, the target position information, the third image, and the second object detected using the fourth image. Based on the position of the object, the work related to the first object can be accurately performed.
また、本発明の他の態様は、ロボットにおいて、前記第1画像と前記第2画像とを用いて検出された前記第1対象物の姿勢と、当該姿勢と前記第2対象物の姿勢を変化させる目標となる目標姿勢との相対的な姿勢を示す目標姿勢情報とに基づいて前記アームを動かす、構成が用いられてもよい。
この構成により、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢と、目標姿勢情報とに基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢と、目標姿勢情報とに基づいて、第1対象物に関する作業を精度よく行うことができる。
According to another aspect of the present invention, in the robot, the posture of the first object detected using the first image and the second image, and the posture and the posture of the second object are changed. The structure which moves the said arm based on the target attitude | position information which shows a relative attitude | position with the target attitude | position used as the target to be made may be used.
With this configuration, the robot moves the arm based on the posture of the first object detected using the first image and the second image and the target posture information. Thereby, the robot can perform the work regarding the first object with high accuracy based on the posture of the first object detected using the first image and the second image and the target posture information.
また、本発明の他の態様は、上記に記載のロボットを制御する、ロボット制御装置である。
この構成により、ロボット制御装置は、第1対象物を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された第1対象物の位置に基づいてアームを動かす。これにより、ロボット制御装置は、第1対象物に関する作業をロボットに精度よく行わせることができる。
Another aspect of the present invention is a robot control apparatus that controls the robot described above.
With this configuration, the robot control device includes a first image in which a first range that does not include the first object is captured, and a second range that includes at least a part of the first range and includes the first object. The arm is moved based on the position of the first object detected using the second image obtained by capturing. Thereby, the robot control apparatus can cause the robot to accurately perform the work related to the first object.
また、本発明の他の態様は、上記に記載のロボットと、上記に記載のロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、第1対象物を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された第1対象物の位置に基づいてアームを動かす。これにより、ロボットシステムは、第1対象物に関する作業をロボットに精度よく行わせることができる。
Another aspect of the present invention is a robot system including the robot described above and the robot control device described above.
With this configuration, the robot system includes a first image in which the first range that does not include the first object is captured, and a second range that includes at least a part of the first range and includes the first object. The arm is moved based on the position of the first object detected using the captured second image. Accordingly, the robot system can cause the robot to perform the work related to the first object with high accuracy.
以上により、ロボットは、第1対象物を含む範囲が撮像された第1画像と、第1対象物を含まない当該範囲が撮像された第2画像とを用いて検出された第1対象物の位置に基づいてアームを動かす。これにより、ロボットは、第1対象物の位置に基づいて行う作業を精度よく行うことができる。
また、ロボット制御装置、及びロボットシステムは、第1対象物を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された第1対象物の位置に基づいてアームを動かす。これにより、ロボット制御装置、及びロボットシステムは、第1対象物に関する作業をロボットに精度よく行わせることができる。
As described above, the robot detects the first object detected using the first image in which the range including the first object is captured and the second image in which the range not including the first object is captured. Move the arm based on the position. Thereby, the robot can perform the work performed based on the position of the first object with high accuracy.
In addition, the robot control device and the robot system include a first image in which a first range that does not include the first target is captured, and a first range that overlaps at least a part of the first range and includes the first target. The arm is moved based on the position of the first object detected using the second image obtained by imaging the two ranges. Thereby, the robot control device and the robot system can cause the robot to accurately perform the work related to the first object.
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
<Embodiment>
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<ロボットシステムの構成>
まず、ロボットシステム1の構成について説明する。
図1は、実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、撮像部10と、ロボット20と、ロボット制御装置30を備える。
<Robot system configuration>
First, the configuration of the
FIG. 1 is a diagram illustrating an example of a configuration of a
撮像部10は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、撮像部10は、ロボット20が作業可能な領域である作業領域を含む範囲である撮像範囲を撮像可能な位置に設置される。
The
撮像部10は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、撮像部10は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。単腕ロボットは、この一例におけるアームAのような1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、2本以上のアーム(例えば、2本以上のアームA)を備えるロボットである。なお、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアーム(例えば、3本以上のアームA)を備える複腕ロボットであってもよい。また、ロボット20は、スカラロボット、直交座標ロボット、円筒型ロボット等の他のロボットであってもよい。直交座標ロボットは、例えば、ガントリロボットである。
The
アームAは、エンドエフェクターEと、マニピュレーターMを備える。
エンドエフェクターEは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターEは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
The arm A includes an end effector E and a manipulator M.
In this example, the end effector E is an end effector including a finger portion that can grip an object. The end effector E may be an end effector capable of lifting an object by air suction, a magnetic force, a jig or the like, or another end effector, instead of the end effector including the finger portion.
エンドエフェクターEは、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、エンドエフェクターEは、ロボット制御装置30から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、エンドエフェクターEは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The end effector E is communicably connected to the
マニピュレーターMは、6つの関節を備える。また、当該6つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターMを備えるアームAは、6軸垂直多関節型のアームである。アームAは、支持台Bと、エンドエフェクターEと、マニピュレーターMと、マニピュレーターMが備える6つの関節それぞれのアクチュエーターとによる連携した動作によって6軸の自由度の動作を行う。なお、アームAは、5軸以下の自由度で動作する構成であってもよく、7軸以上の自由度で動作する構成であってもよい。 The manipulator M includes six joints. Each of the six joints includes an actuator (not shown). That is, the arm A including the manipulator M is a 6-axis vertical articulated arm. The arm A performs an operation with six degrees of freedom by a coordinated operation by the support base B, the end effector E, the manipulator M, and the actuators of each of the six joints included in the manipulator M. The arm A may be configured to operate with a degree of freedom of 5 axes or less, or may be configured to operate with a degree of freedom of 7 axes or more.
マニピュレーターMが備える6つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、マニピュレーターMを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、マニピュレーターMが備える6つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
Each of the six actuators (provided at the joints) included in the manipulator M is communicably connected to the
ロボット制御装置30は、この一例において、ロボット20を制御する(動作させる)コントローラーである。ロボット制御装置30は、撮像部10に前述の作業領域を含む範囲を撮像させる。ロボット制御装置30は、撮像部10が撮像した撮像画像を撮像部10から取得する。ロボット制御装置30は、取得した撮像画像に基づいて、ロボット20に所定の作業を行わせる。
In this example, the
<ロボットが行う所定の作業の概要>
以下、ロボット20が行う所定の作業の概要について説明する。
<Outline of predetermined work performed by robot>
Hereinafter, an outline of predetermined work performed by the
図1に示したように、ロボット20は、エンドエフェクターEにより予め操作対象物Nを把持している。なお、ロボット20は、所定の作業において、所定の配置場所に配置された操作対象物NをエンドエフェクターEにより把持する構成であってもよい。
As shown in FIG. 1, the
操作対象物Nは、作業領域の床面に設置された治具Fに支持された組付対象物Oに組み付ける物体である。操作対象物Nは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。図1では、図の簡略化のため、操作対象物Nを、エンドエフェクターEの指部により把持可能な程度の高さを有する六角柱形状の物体として表している。なお、操作対象物Nは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、操作対象物Nの形状は、六角柱形状に代えて、他の形状であってもよい。操作対象物Nは、組付対象物Oが第2対象物の一例である場合における第1対象物の一例であり、組付対象物Oが第1対象物の一例である場合における第2対象物の一例である。 The operation target N is an object to be assembled to the assembly target O supported by the jig F installed on the floor surface of the work area. The operation target N is, for example, an industrial part or member such as a plate, screw, or bolt that is assembled to a product. In FIG. 1, for simplification of the drawing, the operation target N is represented as a hexagonal prism-shaped object having a height that can be gripped by the finger portion of the end effector E. The operation target N may be other objects such as daily necessities and living bodies instead of industrial parts and members. Further, the shape of the operation target N may be another shape instead of the hexagonal prism shape. The operation object N is an example of the first object when the assembly object O is an example of the second object, and the second object when the assembly object O is an example of the first object It is an example of a thing.
組付対象物Oは、操作対象物Nが組み付けられる凹部を有する物体である。組付対象物Oは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。なお、組付対象物Oは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、組付対象物Oの形状は、図1に示した形状に代えて、他の形状であってもよい。また、組付対象物Oは、前述した通り、作業領域の床面に設置された治具Fに支持されている。なお、組付対象物Oは、これに代えて、テーブルや何らかの台等の他の場所に設置される構成であってもよい。また、治具Fは、当該床面に設置される構成に代えて、作業領域内におけるテーブルや何らかの台等の他の場所に設置される構成であってもよい。組付対象物Oは、操作対象物Nが第1対象物の一例である場合における第2対象物の一例であり、操作対象物Nが第2対象物の一例である場合における第1対象物の一例である。 The assembly target object O is an object having a recess in which the operation target object N is assembled. The assembly object O is, for example, an industrial part or member such as a plate, screw, or bolt that is assembled to a product. The assembly object O may be other objects such as daily necessities and living bodies instead of industrial parts and members. Further, the shape of the assembly object O may be another shape instead of the shape shown in FIG. Moreover, the assembly | attachment target object O is supported by the jig | tool F installed in the floor surface of a work area as mentioned above. Note that the assembly object O may be configured to be installed in another place such as a table or some table instead. Further, the jig F may be configured to be installed in another place such as a table or some table in the work area, instead of the configuration installed on the floor surface. The assembly object O is an example of the second object when the operation object N is an example of the first object, and the first object when the operation object N is an example of the second object It is an example.
この一例において、ロボット20は、エンドエフェクターEにより把持された操作対象物Nを、組付対象物Oに組み付ける作業を所定の作業として行う。図1に示した輪郭VNは、操作対象物Nが組付対象物Oに組み付けられた場合における操作対象物Nの輪郭を表している。なお、ロボット20は、これに代えて、他の作業を所定の作業として行う構成であってもよい。
In this example, the
ここで、以下では、説明を簡略化するため、ロボット20が所定の作業を行う間、ロボット20が、操作対象物Nを撮像部10の光軸に直交する平面に沿って動かす場合について説明する。すなわち、操作対象物Nは、この一例において、組付対象物Oに組み付けられるまでの間、当該平面に沿った二次元運動を行う。なお、ロボット20が所定の作業を行う間、ロボット20は、作業領域内において操作対象物Nに三次元運動を行わせる構成であってもよい。この場合、撮像部10は、例えば、ステレオカメラ、ライトフィールドカメラ等の三次元情報を取得可能な画像を撮像可能なカメラである。
Here, in order to simplify the description, a case will be described in which the
<ロボット制御装置がロボットに所定の作業を行わせる処理の概要>
以下、ロボット制御装置30がロボット20に所定の作業を行わせる処理の概要について説明する。
<Outline of the process in which the robot control device causes the robot to perform a predetermined work>
Hereinafter, an outline of processing in which the
ロボット制御装置30は、エンドエフェクターEに予め対応付けられた位置に、エンドエフェクターEとともに動く制御点Tを設定する。エンドエフェクターEに予め対応付けられた位置は、ロボット座標系RCにおける位置である。エンドエフェクターEに予め対応付けられた位置は、例えば、エンドエフェクターEにより把持された操作対象物Nの重心の位置である。
The
制御点Tは、例えば、TCP(Tool Center Point)である。なお、制御点Tは、TCPに代えて、アームAの一部に対応付けられた仮想的な点等の他の仮想的な点であってもよい。すなわち、制御点Tは、エンドエフェクターEに対応付けられた位置に代えて、エンドエフェクターEの他の部位の位置に設定される構成であってもよく、マニピュレーターMに対応付けられた何らかの位置に設定される構成であってもよい。 The control point T is, for example, a TCP (Tool Center Point). The control point T may be another virtual point such as a virtual point associated with a part of the arm A instead of TCP. That is, the control point T may be configured to be set at the position of another part of the end effector E instead of the position associated with the end effector E, and at a certain position associated with the manipulator M. The configuration may be set.
制御点Tには、制御点Tの位置を示す情報である制御点位置情報と、制御点Tの姿勢を示す情報である制御点姿勢情報とが対応付けられている。当該位置は、ロボット座標系RCにおける位置である。当該姿勢は、ロボット座標系RCにおける姿勢である。なお、制御点Tには、これらに加えて、他の情報が対応付けられる構成であってもよい。制御点位置情報及び制御点姿勢情報をロボット制御装置30が指定(決定)すると、制御点Tの位置及び姿勢が決まる。当該位置及び当該姿勢は、ロボット座標系RCにおける位置及び姿勢である。ロボット制御装置30は、アームAを動作させ、ロボット制御装置30が指定した制御点位置情報が示す位置に制御点Tの位置を一致させるとともに、ロボット制御装置30が指定した制御点姿勢情報が示す姿勢に制御点Tの姿勢を一致させる。以下では、説明の便宜上、ロボット制御装置30が指定した制御点位置情報が示す位置を目標位置と称し、ロボット制御装置30が指定した制御点姿勢情報が示す姿勢を目標姿勢と称して説明する。すなわち、ロボット制御装置30は、制御点位置情報及び制御点姿勢情報を指定することにより、ロボット20を動作させ、制御点Tの位置及び姿勢を目標位置及び目標姿勢と一致させる。
The control point T is associated with control point position information, which is information indicating the position of the control point T, and control point attitude information, which is information indicating the attitude of the control point T. The position is a position in the robot coordinate system RC. The posture is a posture in the robot coordinate system RC. The control point T may be configured to be associated with other information in addition to these. When the
この一例において、制御点Tの位置は、制御点座標系TCの原点のロボット座標系RCにおける位置によって表される。また、制御点Tの姿勢は、制御点座標系TCの各座標軸のロボット座標系RCにおける方向によって表される。制御点座標系TCは、制御点Tとともに動くように制御点Tに対応付けられた三次元局所座標系である。 In this example, the position of the control point T is represented by the position of the origin of the control point coordinate system TC in the robot coordinate system RC. The attitude of the control point T is represented by the direction in the robot coordinate system RC of each coordinate axis of the control point coordinate system TC. The control point coordinate system TC is a three-dimensional local coordinate system associated with the control point T so as to move with the control point T.
ロボット制御装置30は、ユーザーから予め入力された制御点設定情報に基づいて制御点Tを設定する。制御点設定情報は、例えば、エンドエフェクターEの重心の位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報である。なお、制御点設定情報は、これに代えて、エンドエフェクターEに対応付けられた何らかの位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、マニピュレーターMに対応付けられた何らかの位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、ロボット20の他の部位に対応付けられた何らかの位置及び姿勢と制御点Tの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
The
ここで、ロボット制御装置30は、第1対象物を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された操作対象物Nの位置に基づいてアームAを動かす。この一例において、撮像部10が撮像可能な範囲が変化しないため、第2範囲は、第1範囲と同じ範囲である。また、以下では、一例として、第1対象物が操作対象物Nである場合について説明する。これにより、ロボット制御装置30は、第1対象物(この一例において、操作対象物N)に関する作業(この一例において、前述の所定の作業)を精度よく行うことができる。なお、第1対象物は、操作対象物Nに代えて、組付対象物Oであってもよい。
Here, the
<ロボット制御装置のハードウェア構成>
以下、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。
<Hardware configuration of robot controller>
Hereinafter, the hardware configuration of the
ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。また、ロボット制御装置30は、通信部34を介してロボット20と通信を行う。
The
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、ロボット制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、ロボット制御装置30が処理する各種情報、各種プログラム、各種画像等を格納する。
The
The
入力受付部33は、例えば、表示部35と一体に構成されたタッチパネルである。なお、入力受付部33は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
The input receiving unit 33 is, for example, a touch panel configured integrally with the
The
The
<ロボット制御装置の機能構成>
以下、図3を参照し、ロボット制御装置30の機能構成について説明する。図3は、ロボット制御装置30の機能構成の一例を示す図である。
<Functional configuration of robot controller>
Hereinafter, the functional configuration of the
ロボット制御装置30は、記憶部32と、制御部36を備える。
The
制御部36は、ロボット制御装置30の全体を制御する。制御部36は、撮像制御部40と、画像取得部42と、位置姿勢算出部46と、ロボット制御部50を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
The
撮像制御部40は、撮像部10が撮像可能な範囲を撮像部10に撮像させる。
画像取得部42は、撮像部10が撮像した撮像画像を撮像部10から取得する。
位置姿勢算出部46は、画像取得部42が撮像部10から取得した撮像画像に基づいて、操作対象物Nの位置及び姿勢を算出する。また、位置姿勢算出部46は、画像取得部42が撮像部10から取得した撮像画像に基づいて、組付対象物Oの位置及び姿勢を算出する。なお、位置姿勢算出部46は、当該撮像画像に基づいて、操作対象物Nの位置と、組付対象物Oの位置とを算出する構成であってもよい。この場合、操作対象物Nの姿勢と、組付対象物Oの姿勢とは、固定されており、変化しない。
ロボット制御部50は、位置姿勢算出部46が算出した操作対象物Nの位置及び姿勢と、位置姿勢算出部46が算出した組付対象物Oの位置及び姿勢とに基づいて、ロボット20に所定の作業を行わせる。
The
The
The position /
Based on the position and orientation of the operation target N calculated by the position /
<ロボット制御装置がロボットに所定の作業を行わせる処理>
以下、図4を参照し、ロボット制御装置30がロボット20に所定の作業を行わせる処理について説明する。図4は、ロボット制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
<Process in which the robot controller causes the robot to perform a predetermined work>
Hereinafter, with reference to FIG. 4, a process in which the
以下では、図4に示したフローチャートにおけるステップS130の処理が行われるよりも前の時間帯では、前述した治具Fに組付対象物Oが取り付けられておらず(すなわち、組付対象物Oが治具Fに支持されておらず)、撮像部10が撮像可能な範囲に組付対象物Oが含まれていない場合を例に挙げて説明する。また、以下では、当該フローチャートにおけるステップS160の処理が行われるよりも前の時間帯では、エンドエフェクターE、エンドエフェクターEにより把持された操作対象物N、マニピュレーターMのそれぞれが当該範囲に含まれていない場合を例に挙げて説明する。すなわち、当該時間帯では、エンドエフェクターE、エンドエフェクターEにより把持された操作対象物N、マニピュレーターMのそれぞれは、この一例において、撮像部10の画角の範囲外に位置している。
In the following, in the time zone before the process of step S130 in the flowchart shown in FIG. 4 is performed, the assembly object O is not attached to the jig F described above (that is, the assembly object O). Is not supported by the jig F), and the case where the assembly target object O is not included in the range in which the
撮像制御部40は、撮像部10が撮像可能な範囲を撮像部10に撮像させる(ステップS110)。以下では、説明の便宜上、ステップS110において撮像部10が撮像した範囲を第1範囲と称して説明する。次に、画像取得部42は、ステップS110において撮像部10が撮像した撮像画像を第1画像として取得する(ステップS120)。ここで、図5を参照し、第1画像について説明する。
The
図5は、第1画像の一例である。図5に示した第1画像P1は、第1画像の一例である。前述した通り、この一例における第1範囲には、組付対象物O、エンドエフェクターEにより把持された操作対象物N、エンドエフェクターE、マニピュレーターMのそれぞれが含まれていない。このため、第1画像P1には、図5に示したように、治具Fと、図示しない他の物体(例えば、床面や作業台等)が含まれている。 FIG. 5 is an example of the first image. The first image P1 illustrated in FIG. 5 is an example of the first image. As described above, the first range in this example does not include the assembly target object O, the operation target object N gripped by the end effector E, the end effector E, and the manipulator M. For this reason, as shown in FIG. 5, the first image P <b> 1 includes a jig F and other objects (not shown) (for example, a floor surface or a work table).
ステップS120の処理が行われた後、撮像制御部40は、ユーザー又は他の装置によって治具Fに組付対象物Oが取り付けられるまで(組付対象物Oが治具Fに支持されるまで)待機する(ステップS130)。図1に示した組付対象物O及び治具Fの状態は、ステップS130においてユーザー又は他の装置によって治具Fに組付対象物Oが取り付けられた後(組付対象物Oが治具Fに支持された後)の状態である。
After the processing of step S120 is performed, the
ステップS130において治具Fに組付対象物Oが取り付けられた後、撮像制御部40は、撮像部10が撮像可能な範囲を撮像部10に撮像させる(ステップS140)。以下では、説明の便宜上、ステップS140において撮像部10が撮像した範囲を第2範囲と称して説明する。前述した通り、第2範囲は、この一例における撮像部10の撮像可能な範囲が変化しないため、第1範囲と同じ範囲である。次に、画像取得部42は、ステップS140において撮像部10が撮像した撮像画像を第2画像として撮像部10から取得する(ステップS150)。ここで、図6を参照し、第2画像について説明する。
After the assembly target object O is attached to the jig F in step S130, the
図6は、第2画像の一例である。図6に示した第2画像P2は、第2画像の一例である。この一例における第2範囲では、治具Fに組付対象物Oが取り付けられており、エンドエフェクターEにより把持された操作対象物N、エンドエフェクターE、マニピュレーターMのそれぞれが含まれていない。このため、第2画像P2には、図6に示したように、治具Fと、治具Fに支持された組付対象物Oと、図示しない他の物体(床面や作業台等)が含まれている。図6に示した輪郭VNは、操作対象物Nが組付対象物Oに組み付けられた場合における操作対象物Nの輪郭を表している。 FIG. 6 is an example of the second image. The second image P2 illustrated in FIG. 6 is an example of a second image. In the second range in this example, the assembly object O is attached to the jig F, and each of the operation object N, the end effector E, and the manipulator M gripped by the end effector E is not included. Therefore, in the second image P2, as shown in FIG. 6, the jig F, the assembly object O supported by the jig F, and other objects not shown (floor surface, work table, etc.) It is included. The contour VN shown in FIG. 6 represents the contour of the operation target N when the operation target N is assembled to the assembly target O.
ここで、第2画像P2は、操作対象物Nが含まれていない画像であるため、操作対象物Nを含まない第3範囲が撮像部10により撮像された第3画像として利用することができる。このため、以下では、一例として、ロボット制御装置30が第2画像P2を第3画像としても利用する場合について説明する。なお、ロボット制御装置30は、ステップS150の処理が行われた後からステップS160の処理が行われる前までの時間帯において、撮像部10に撮像可能な範囲を第3範囲として撮像部10に再び撮像させる構成であってもよい。この場合、ロボット制御装置30は、撮像部10が撮像した画像を第3画像として撮像部10から取得する。この一例において、撮像部10の撮像可能な範囲が変化しないため、第3範囲は、第1範囲と同じ範囲である。
Here, since the second image P2 is an image that does not include the operation target N, it can be used as a third image that is captured by the
ステップS150の処理が行われた後、ロボット制御部50は、記憶部32に予め記憶された初期位置姿勢情報を記憶部32から読み出す。初期位置姿勢情報は、予め決められた初期位置及び初期姿勢を示す情報である。初期位置及び初期姿勢は、制御点Tの位置及び姿勢を初期位置及び初期姿勢と一致させた場合において撮像部10の撮像可能な範囲の内側に操作対象物Nの全体が含まれる位置及び姿勢であれば、如何なる位置及び姿勢であってもよい。ロボット制御部50は、読み出した初期位置姿勢情報に基づいてロボット20を動作させ、制御点Tの位置及び姿勢を初期位置及び初期姿勢と一致させることにより、撮像部10が撮像可能な範囲の内側に操作対象物Nを移動させる(ステップS160)。
After the process of step S150 is performed, the
次に、撮像制御部40は、撮像部10が撮像可能な範囲を撮像部10に撮像させる(ステップS170)。以下では、説明の便宜上、ステップS170において撮像部10が撮像した範囲を第4範囲と称して説明する。次に、画像取得部42は、ステップS170において撮像部10が撮像した撮像画像を第4画像として取得する(ステップS180)。ここで、図7を参照し、第4画像について説明する。
Next, the
図7は、第4画像の一例である。図7に示した第4画像P4は、第4画像の一例である。この一例における第4範囲では、治具Fに組付対象物Oが取り付けられており、且つエンドエフェクターEにより把持された操作対象物Nが含まれている。このため、第4画像P4には、図7に示したように、治具Fと、治具Fに支持された組付対象物Oと、エンドエフェクターEにより把持された操作対象物Nと、エンドエフェクターEと、図示しないマニピュレーターMの一部と、図示しない他の物体(床面や作業台等)が含まれている。図7に示した輪郭VNは、操作対象物Nが組付対象物Oに組み付けられた場合における操作対象物Nの輪郭を表している。 FIG. 7 is an example of the fourth image. The fourth image P4 illustrated in FIG. 7 is an example of a fourth image. In the fourth range in this example, the assembly object O is attached to the jig F, and the operation object N gripped by the end effector E is included. Therefore, in the fourth image P4, as shown in FIG. 7, the jig F, the assembly object O supported by the jig F, the operation object N gripped by the end effector E, An end effector E, a part of a manipulator M (not shown), and other objects (a floor surface, a work table, etc.) not shown are included. The contour VN shown in FIG. 7 represents the contour of the operation target N when the operation target N is assembled to the assembly target O.
ステップS180の処理が行われた後、位置姿勢算出部46は、画像取得部42が取得した第1画像P1及び第2画像P2に基づいて、第1差分画像を生成する。また、位置姿勢算出部46は、第3画像(この一例において、第2画像P2)及び第4画像P4に基づいて、第2差分画像を生成する(ステップS190)。ここで、ステップS190の処理について説明する。
After the process of step S180 is performed, the position /
まず、第1差分画像について説明する。以下では、撮像部10により撮像された撮像画像上におけるある画素を示す座標を(x1,y1)によって表すことにより、当該差分の算出方法について具体的に説明する。位置姿勢算出部46は、撮像部10により撮像される撮像画像上の各画素の数が同数であり、当該各画素の配置(位置)が同一である画像を第1差分画像として生成する。また、位置姿勢算出部46は、第1画像P1上における座標(x1,y1)が示す画素の画素値p1(x1,y1)と、第2画像P2上における座標(x1,y1)が示す画素の画素値p2(x1,y1)との差分を第1差分として算出する。ある画素の画素値は、例えば、当該画素の輝度値である。なお、ある画素の画素値は、当該画素の明度値、当該画素の彩度値等の当該画素に対応付けられた他の値であってもよい。位置姿勢算出部46は、このような第1差分の算出を、第1画像P1及び第2画像P2のすべての画素のそれぞれに対して行う。
First, the first difference image will be described. Hereinafter, the calculation method of the difference will be specifically described by representing coordinates indicating a certain pixel on the captured image captured by the
位置姿勢算出部46は、算出した複数の第1差分のうち所定の第1閾値pt以上の第1差分のそれぞれに対応する画素の画素値の平均値を算出する。第1閾値ptは、例えば、5程度である。なお、第1閾値は、5に代えて、5より小さい値でもよく、5より大きい値であってもよい。位置姿勢算出部46は、算出した当該平均値が、撮像部10により撮像された撮像画像における画素値の最大値と、当該画素値の最小値との中間値以上か否かを判定する。以下では、一例として、当該最大値が255であり、当該最小値が0である場合について説明する。位置姿勢算出部46は、当該平均値が当該中間値以上である場合、以下において説明する処理において用いる所定の画素値pxを、0と設定する。一方、位置姿勢算出部46は、当該平均値が当該中間値未満である場合、以下において説明する処理において用いる所定の画素値pxを、255と設定する。以下では、一例として、当該平均値が当該中間値以上である場合について説明する。なお、上記において説明したpxの値である0、255のうちいずれか一方又は両方は、一例に過ぎず、他の値であってもよい。
The position /
また、位置姿勢算出部46は、算出した複数の第1差分のそれぞれについて、第1差分が所定の第1閾値pt未満であるか否かを判定する。ここで、再び前述した第1画像P1上における座標(x1,y1)が示す画素、及び第2画像P2上における座標(x1,y1)が示す画素を例に挙げて説明する。位置姿勢算出部46は、これらの画素に基づく第1差分が第1閾値pt未満であると判定した場合、生成した第1差分画像上における座標(x1,y1)が示す画素の画素値ps(x1,y1)を、前述した所定の画素値px(この一例において、0)に変化させる。一方、位置姿勢算出部46は、当該第1差分が第1閾値pt以上であると判定した場合、画素値ps(x1,y1)を、画素値p2(x1,y1)に変化させる。位置姿勢算出部46は、このような第1差分に基づく第1差分画像上の画素値の変化を、第1画像P1、第2画像P2、第1差分画像それぞれのすべての画素のそれぞれに対して行う。すなわち、撮像部10により撮像された撮像画像上の任意の画素を示す座標を(x,y)と表した場合、第1差分画像上における座標(x,y)が示す画素の画素値ps(x,y)は、以下の式(1)のように表される。
Further, the position /
すなわち、位置姿勢算出部46により生成される第1差分画像は、第2画像P2のうち組付対象物Oの画像部分以外の画像部分である背景を、第1画像P1を用いて第2画像P2から除去した画像である。図8は、位置姿勢算出部46が生成した第1差分画像の一例である。図8に示した第1差分画像P12は、第1差分画像の一例である。ここで、図8においてドットが描かれた領域は、黒く塗り潰された領域を表している。図8に示したように、第1差分画像P12には、組付対象物Oが含まれている。第1差分画像P12のうち組付対象物Oの画像部分以外の画像部分は、この一例において、所定の画素値pxが0であるため、黒く塗り潰されている。これにより、ロボット制御装置30は、撮像部10により撮像された撮像画像の中から、組付対象物Oの画像部分のみを抽出することができる。
That is, the first difference image generated by the position /
位置姿勢算出部46は、このような第1差分画像の生成方法と同じ方法を用いて、第3画像(この一例において、第2画像P2)及び第4画像P4に基づいて、第2差分画像を生成する。すなわち、当該生成方法の説明における「第1画像P1」を「第3画像」、「第2画像P2」を「第4画像P4」、「画素値p1(x1,y1)」を「画素値p3(x1,y1)」、「画素値p2(x1,y1)」を「画素値p4(x1,y1)」、「画素値p1(x,y)」を「画素値p3(x,y)」、「画素値p2(x,y)」を「画素値p4(x,y)」とそれぞれ読み替えた場合の説明が、第2差分画像を生成する方法である。このため、以下では、当該方法の説明を省略する。
The position /
第1差分画像と同様に、位置姿勢算出部46により生成される第2差分画像は、第4画像P4のうちエンドエフェクターEにより把持された操作対象物N、エンドエフェクターE、マニピュレーターMそれぞれの画像部分以外の画像部分である背景を、第3画像を用いて第4画像P4から除去した画像である。図9は、位置姿勢算出部46が生成した第2差分画像の一例である。ここで、図9においてドットが描かれた領域は、黒く塗り潰された領域を表している。図9に示した第2差分画像P34は、第2差分画像の一例である。図9に示したように、第2差分画像P34には、エンドエフェクターEにより把持された操作対象物N、エンドエフェクターE、マニピュレーターM(図9において不図示)のそれぞれが含まれている。第2差分画像P34のうち操作対象物N、エンドエフェクターE、マニピュレーターMのそれぞれの画像部分以外の画像部分は、この一例において、所定の画素値pxが0であるため、黒く塗り潰されている。これにより、ロボット制御装置30は、撮像部10により撮像された撮像画像の中から、操作対象物N、エンドエフェクターE、マニピュレーターMのそれぞれの画像部分のみを抽出することができる。
Similar to the first difference image, the second difference image generated by the position /
ステップS190の処理が行われた後、位置姿勢算出部46は、ステップS190において生成した第1差分画像P12に基づいて、組付対象物Oの位置及び姿勢を算出する。また、位置姿勢算出部46は、ステップS190において生成した第2差分画像P34に基づいて、操作対象物Nの位置及び姿勢を算出する(ステップS200)。ここで、ステップS200の処理について説明する。
After the process of step S190 is performed, the position /
まず、組付対象物Oの位置及び姿勢を算出する処理について説明する。位置姿勢算出部46は、記憶部32に予め記憶された組付対象物モデルを記憶部32から読み出す。組付対象物モデルは、組付対象物Oの輪郭を表す画像(例えば、CG(Computer Graphics)等)である。位置姿勢算出部46は、この一例において、ステップS190において生成した第1差分画像P12に対してエッジ検出を行う。そして、位置姿勢算出部46は、検出されたエッジと、読み出した組付対象物モデルとに基づくパターンマッチングにより組付対象物Oの位置及び姿勢を算出する。当該位置及び姿勢は、第1差分画像P12上の位置を表す座標系(すなわち、撮像部10により撮像された撮像画像上の位置を表す座標系)である撮像部座標系CCにおける位置及び姿勢である。なお、位置姿勢算出部46は、エッジ検出及びパターンマッチングに代えて、他の方法によって組付対象物Oの撮像部座標系CCにおける位置及び姿勢を算出する構成であってもよい。
First, processing for calculating the position and orientation of the assembly target object O will be described. The position /
また、位置姿勢算出部46は、記憶部32に予め記憶された操作対象物モデルを記憶部32から読み出す。操作対象物モデルは、操作対象物Nの輪郭を表す画像(例えば、CG等)である。位置姿勢算出部46は、この一例において、ステップS190において生成した第2差分画像P34に対してエッジ検出を行う。そして、位置姿勢算出部46は、検出されたエッジと、読み出した操作対象物モデルとに基づくパターンマッチングにより操作対象物Nの位置及び姿勢を算出する。当該位置及び姿勢は、第2差分画像P34上の位置を表す座標系(すなわち、撮像部10により撮像された撮像画像上の位置を表す座標系)である撮像部座標系CCにおける位置及び姿勢である。なお、位置姿勢算出部46は、エッジ検出及びパターンマッチングに代えて、他の方法によって操作対象物Nの撮像部座標系CCにおける位置及び姿勢を算出する構成であってもよい。
Further, the position /
ステップS200の処理が行われた後、ロボット制御部50は、記憶部32に予め記憶された目標位置情報及び目標姿勢情報を読み出す。目標位置情報は、組付対象物Oに操作対象物Nが組み付けられた状態における組付対象物Oの位置と操作対象物Nの位置との相対的な位置を示す情報である。また、目標姿勢情報は、組付対象物Oに操作対象物Nが組み付けられた状態における組付対象物Oの姿勢と操作対象物Nの姿勢との相対的な姿勢を示す情報である。ロボット制御部50は、読み出した目標位置情報と、ステップS200において位置姿勢算出部46が算出した組付対象物Oの位置とに基づいて、組付対象物Oに操作対象物Nが組み付けられた状態における操作対象物Nの撮像部座標系CCにおける位置を、操作対象物Nの位置を変化させる目標となる目標位置として算出する。また、ロボット制御部50は、読み出した目標姿勢情報と、ステップS200において位置姿勢算出部46が算出した組付対象物Oの姿勢とに基づいて、組付対象物Oに操作対象物Nが組み付けられた状態における操作対象物Nの撮像部座標系CCにおける姿勢を、操作対象物Nの姿勢を変化させる目標となる目標姿勢として算出する。そして、ロボット制御部50は、算出した目標位置と、ステップS200において位置姿勢算出部46が算出した操作対象物Nの位置との差分を表すベクトルを、操作対象物Nの位置を変化させる第1移動量として算出する。また、ロボット制御装置30は、算出した目標姿勢と、ステップS200において位置姿勢算出部46が算出した操作対象物Nの姿勢との差分を表すベクトルを、操作対象物Nの姿勢を変化させる第2移動量として算出する(ステップS210)。以下では、説明の便宜上、第1移動量及び第2移動量を区別する必要がない限り、まとめて移動量と称して説明する。
After the process of step S200 is performed, the
次に、ロボット制御部50は、撮像部座標系CCの姿勢とロボット座標系RCの姿勢との相対的な姿勢に基づいて、ステップS210において算出した移動量を、ロボット座標系RCにおける移動量に変換する(ステップS220)。より具体的には、ロボット制御部50は、記憶部32に予め記憶された当該姿勢を示す情報を読み出し、読み出した当該情報に基づいて、ステップS210において算出した移動量を、ロボット座標系RCにおける移動量に変換する。次に、ロボット制御部50は、ステップS220において変換した移動量に基づいてロボット20を動作させ、操作対象物Nを組付対象物Oに組み付け(ステップS230)、処理を終了する。
Next, the
このように、ロボット制御装置30は、第1対象物(この一例において、操作対象物N)を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された操作対象物Nの位置に基づいてアームAを動かす。これにより、ロボット制御装置30は、第1対象物に関する作業(この一例において、前述の所定の作業)を精度よく行うことができる。
As described above, the
なお、ロボット制御装置30は、第1差分画像P12から組付対象物Oの位置及び姿勢と、第2差分画像P34から操作対象物Nの位置及び姿勢とを算出する構成に代えて、第1差分画像P12から組付対象物Oの位置と、第2差分画像P34から操作対象物Nの位置とを算出する構成であってもよい。この場合、ロボット制御装置30は、算出した組付対象物Oの位置と、操作対象物Nの位置と、目標位置情報とに基づいて、前述の第1移動量をステップS210において撮像部座標系CCにおける移動量として算出する。そして、ロボット制御装置30は、算出した当該移動量をロボット座標系RCにおける移動量に変換し、変換した当該移動量に基づいてロボット20を動作させ、操作対象物Nを組付対象物Oに組み付ける。また、当該場合、前述した通り、操作対象物Nの姿勢と、組付対象物Oの姿勢とは、固定されており、変化しない。
Note that the
また、ロボット制御装置30は、第1差分画像P12から組付対象物Oの位置及び姿勢と、第2差分画像P34から操作対象物Nの位置及び姿勢とを算出する構成に代えて、第1差分画像P12から組付対象物Oの位置及び姿勢を算出する構成であってもよい。この場合、ステップS160〜ステップS180の処理は、省略される。また、当該場合、ロボット制御装置30は、操作対象物Nの位置及び姿勢を示す情報が予め記憶している、又は他の装置から当該情報を取得する。
In addition, the
また、ロボット制御装置30は、第1差分画像P12から組付対象物Oの位置及び姿勢と、第2差分画像P34から操作対象物Nの位置及び姿勢とを算出する構成に代えて、第1差分画像P12から組付対象物Oの位置を算出する構成であってもよい。この場合、ステップS160〜ステップS180の処理は、省略される。また、当該場合、ロボット制御装置30は、操作対象物Nの位置を示す情報が予め記憶している、又は他の装置から当該情報を取得する。また、当該場合、操作対象物Nの姿勢と、組付対象物Oの姿勢とは、固定されており、変化しない。
In addition, the
また、ロボット制御装置30は、第1差分画像P12から組付対象物Oの位置及び姿勢と、第2差分画像P34から操作対象物Nの位置及び姿勢とを算出する構成に代えて、第2差分画像P34から操作対象物Nの位置及び姿勢を算出する構成であってもよい。この場合、ステップS110〜ステップS120の処理は、省略される。また、当該場合、ロボット制御装置30は、組付対象物Oの位置及び姿勢を示す情報が予め記憶している、又は他の装置から当該情報を取得する。
Further, the
また、ロボット制御装置30は、第1差分画像P12から組付対象物Oの位置及び姿勢と、第2差分画像P34から操作対象物Nの位置及び姿勢とを算出する構成に代えて、第2差分画像P34から操作対象物Nの位置を算出する構成であってもよい。この場合、ステップS110〜ステップS120の処理は、省略される。また、当該場合、ロボット制御装置30は、組付対象物Oの位置を示す情報が予め記憶している、又は他の装置から当該情報を取得する。また、当該場合、操作対象物Nの姿勢と、組付対象物Oの姿勢とは、固定されており、変化しない。
Further, the
また、組付対象物Oは、治具Fに支持される構成に代えて、ロボット20以外の他のロボットによって把持される構成であってもよい。この場合、ステップS130において、組付対象物Oは、当該ロボットによって撮像部10が撮像可能な範囲の内側に移動させられる。
Further, the assembly object O may be configured to be held by a robot other than the
<実施形態の変形例1>
以下、図10を参照し、実施形態の変形例について説明する。なお、実施形態の変形例1では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
<
Hereinafter, a modification of the embodiment will be described with reference to FIG. In addition, in the
実施形態の変形例1では、ロボット制御装置30は、ロボット制御部50に所定の作業を行わせる際、図4に示したフローチャートの処理に代えて、図10に示したフローチャートの処理を行う。具体的には、実施形態におけるロボット制御装置30は、撮像部10により撮像された第1画像P1、第2画像P2、第3画像、第4画像P4のそれぞれに基づく位置制御によってロボット20を動作させ、操作対象物Nを組付対象物Oに組み付ける構成であった。一方、実施形態の変形例1におけるロボット制御装置30は、撮像部10により撮像された第1画像P1、第2画像P2、第3画像、第4画像P4のそれぞれに基づくビジュアルサーボによってロボット20を動作させ、操作対象物Nを組付対象物Oに組み付ける。
In the first modification of the embodiment, when causing the
図10は、ロボット制御装置30がロボット20に所定の作業を行わせる処理の流れの他の例を示す図である。なお、図10に示したステップS110〜ステップS210の処理は、図4に示したステップS110〜ステップS210の処理と同様の処理であるため、説明を省略する。
FIG. 10 is a diagram illustrating another example of a process flow in which the
ステップS210の処理が行われた後、ロボット制御部50は、ステップS210において位置姿勢算出部46が算出した移動量の大きさが所定の閾値未満であるか否かを判定する(ステップS240)。移動量の大きさは、この一例において、移動量を表すベクトルのノルムの平方根である。なお、移動量の大きさは、これに代えて、当該ノルム等の当該ベクトルに基づく他の量であってもよい。ここで、ステップS240の処理について説明する。
After the process of step S210 is performed, the
ロボット制御部50は、ステップS210において位置姿勢算出部46が算出した移動量のうちの第1移動量を表すベクトルのノルムの平方根を第1残差として算出する。以下では、一例として、当該ベクトルが有する成分を、撮像部座標系CCにおけるX軸方向に操作対象物Nを並進させるX方向並進量Δx、撮像部座標系CCにおけるY軸方向に操作対象物Nを並進させるY方向並進量Δy、撮像部座標系CCにおけるZ軸方向に操作対象物Nを並進させるZ方向並進量Δzのそれぞれを有する場合について説明する。この場合、当該平方根は、以下の式(2)にように表される。
The
また、ロボット制御部50は、ステップS210において位置姿勢算出部46が算出した移動量のうちの第2移動量を表すベクトルのノルムの平方根を第2残差として算出する。以下では、一例として、当該ベクトルが有する成分を、撮像部座標系CCにおけるU軸方向に操作対象物Nを回転させるU方向回転量Δu、撮像部座標系CCにおけるV軸方向に操作対象物Nを回転させるV方向回転量Δv、撮像部座標系CCにおけるW軸方向に操作対象物Nを回転させるW方向並進量Δwのそれぞれを有する場合について説明する。この場合、当該平方根は、以下の式(3)にように表される。なお、当該U軸は、撮像部座標系CCにおけるX軸周りの回転量を表す座標軸であり、当該V軸は、撮像部座標系CCにおけるY軸周りの回転量を表す座標軸であり、当該W軸は、撮像部座標系CCにおけるZ軸周りの回転量を表す座標軸である。
Further, the
そして、ロボット制御部50は、ステップS240において、算出した第1残差が所定の第2閾値th1未満であり、且つ算出した第2残差が所定の第3閾値th2未満であるか否かを判定することにより、ステップS210において位置姿勢算出部46が算出した移動量の大きさが所定の閾値未満であるか否かを判定する。なお、ロボット制御部50は、ステップS240において、算出した第1残差が所定の第2閾値th1未満であるか否かを判定すること、又は算出した第2残差が所定の第3閾値th2未満であるか否かを判定することのいずれか一方により、ステップS210において位置姿勢算出部46が算出した移動量の大きさが所定の閾値未満であるか否かを判定する構成であってもよい。
Then, in step S240, the
ステップS240において、位置姿勢算出部46が算出した移動量の大きさが所定の閾値未満であると判定した場合(ステップS240−YES)、ロボット制御部50は、組付対象物Oに操作対象物Nが組み付けられたと判定し、処理を終了する。一方、位置姿勢算出部46が算出した移動量の大きさが所定の閾値以上であると判定した場合(ステップS240−NO)、ロボット制御部50は、撮像部座標系CCの姿勢とロボット座標系RCの姿勢との相対的な姿勢に基づいて、ステップS210において算出した第1移動量及び第2移動量のそれぞれを、ロボット座標系RCにおける第1移動量及び第2移動量に変換する(ステップS250)。より具体的には、ロボット制御部50は、記憶部32に予め記憶された当該姿勢を示す情報を読み出し、読み出した当該情報に基づいて、ステップS210において算出した移動量を、ロボット座標系RCにおける移動量に変換する。
If it is determined in step S240 that the amount of movement calculated by the position /
次に、ロボット制御部50は、ステップS250において変換した第1移動量及び第2移動量のそれぞれに対し、操作対象物N(すなわち、アームA)を動かす移動量に関する所定のゲインであってビジュアルサーボのゲインを乗算する(ステップS260)。ゲインは、0より大きく1より小さい値であれば、如何なる値であってもよい。なお、第1移動量に乗算するゲインと、第2移動量に乗算するゲインとは、同じ値であってもよく、異なる値であってもよい。
Next, the
次に、ロボット制御部50は、ステップS260においてゲインが乗算された第1移動量及び第2移動量に基づいてロボット20を動作させ、操作対象物Nを組付対象物Oに近づける(ステップS270)。そして、撮像制御部40は、ステップS170に遷移し、再び撮像部10に撮像可能な範囲を撮像部10に撮像させる。
Next, the
このように、実施形態の変形例1におけるロボット制御装置30は、第1画像P1と第2画像P2とを用いて検出された第1対象物(この一例において、操作対象物N)の位置と、アームAを動かす移動量(すなわち、操作対象物Nを動かす移動量)に関するゲインとに基づいてアームAを動かす。これにより、ロボット制御装置30は、第1画像P1と第2画像P2とを用いて検出された第1対象物の位置と、ゲインとに基づいて、第1対象物に関する作業(この一例において、前述の所定の作業)を精度よくロボット20に行わせることができる。すなわち、ロボット制御装置30は、ビジュアルサーボによってロボット20を動作させ、当該作業をロボット20に精度よく行わせることができる。また、ロボット制御装置30は、ステップS250における移動量の変換において無視できないほどの変換誤差が発生する場合であっても、このようなビジュアルサーボ(すなわち、フィードバック制御)により、組付対象物Oに操作対象物Nを精度よく組み付けることができる。その結果、組付対象物Oに操作対象物Nが組み付けられた場合にステップS240において移動量の大きさが所定の閾値未満になることが保証される。
As described above, the
<実施形態の変形例2>
以下、図11を参照し、実施形態の変形例2について説明する。なお、実施形態の変形例2では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
<
Hereinafter, a second modification of the embodiment will be described with reference to FIG. In the second modification of the embodiment, the same reference numerals are given to the same components as those in the embodiment, and the description thereof is omitted.
図11は、実施形態の変形例2に係るロボットシステム2の構成の一例を示す図である。ロボットシステム2は、ロボット制御装置30を内蔵するロボット60を備える。
FIG. 11 is a diagram illustrating an example of a configuration of the
ロボット60は、第1アームと、第2アームと、第1アーム及び第2アームを支持する支持台と、当該支持台の内側にロボット制御装置30を備える双腕ロボットである。なお、ロボット60は、双腕ロボットに代えて、3本以上のアームを備える複腕ロボットであってもよい。
The
第1アームは、第1エンドエフェクターE1と、第1マニピュレーターM1を備える。 The first arm includes a first end effector E1 and a first manipulator M1.
第1エンドエフェクターE1は、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、第1エンドエフェクターE1は、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。 In this example, the first end effector E1 is an end effector including a finger portion that can grip an object. The first end effector E1 may be an end effector capable of lifting an object by air suction, a magnetic force, a jig or the like, or another end effector, instead of the end effector provided with the finger portion. .
第1エンドエフェクターE1は、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、第1エンドエフェクターE1は、ロボット制御装置30から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第1エンドエフェクターE1は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The first end effector E1 is communicably connected to the
第1マニピュレーターM1は、7つの関節と、第1撮像部61を備える。また、当該7つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、第1マニピュレーターM1を備える第1アームは、7軸垂直多関節型のアームである。第1アームは、支持台と、第1エンドエフェクターE1と、第1マニピュレーターM1と、第1マニピュレーターM1が備える7つの関節それぞれのアクチュエーターとによる連携した動作によって7軸の自由度の動作を行う。なお、第1アームは、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
The first manipulator M1 includes seven joints and a
第1アームが7軸の自由度で動作する場合、第1アームは、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第1アームは、例えば、動作が滑らかになり、更に第1アームの周辺に存在する物体との干渉を容易に回避することができる。また、第1アームが7軸の自由度で動作する場合、第1アームの制御は、第1アームが8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。 When the first arm operates with a degree of freedom of seven axes, the posture that the first arm can take is increased as compared with a case where the first arm operates with a degree of freedom of six axes or less. Thereby, for example, the first arm can be smoothly operated, and interference with an object existing around the first arm can be easily avoided. In addition, when the first arm operates with a degree of freedom of 7 axes, the control of the first arm is easy and requires a smaller amount of calculation than when the first arm operates with a degree of freedom of 8 axes or more.
第1マニピュレーターM1が備える7つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、第1マニピュレーターM1を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第1マニピュレーターM1が備える7つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
Each of the seven actuators (provided at the joints) included in the first manipulator M1 is connected to the
第1撮像部61は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。この一例において、第1撮像部61は、第1マニピュレーターM1の一部に備えられる。そのため、第1撮像部61は、第1アームの動きに応じて移動する。また、第1撮像部61が撮像可能な範囲は、第1アームの動きに応じて変化する。第1撮像部61は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
The
また、第1撮像部61は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第1撮像部61は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The
第2アームは、第2エンドエフェクターE2と、第2マニピュレーターM2を備える。 The second arm includes a second end effector E2 and a second manipulator M2.
第2エンドエフェクターE2は、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、第2エンドエフェクターE2は、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。 In this example, the second end effector E2 is an end effector including a finger portion that can grip an object. The second end effector E2 may be an end effector capable of lifting an object by air suction, a magnetic force, a jig, or the like, instead of the end effector provided with the finger portion, or other end effector. .
第2エンドエフェクターE2は、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、第2エンドエフェクターE2は、ロボット制御装置30から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第2エンドエフェクターE2は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The second end effector E2 is communicably connected to the
第2マニピュレーターM2は、7つの関節と、第2撮像部62を備える。また、当該7つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、第2マニピュレーターM2を備える第2アームは、7軸垂直多関節型のアームである。第2アームは、支持台と、第2エンドエフェクターE2と、第2マニピュレーターM2と、第2マニピュレーターM2が備える7つの関節それぞれのアクチュエーターとによる連携した動作によって7軸の自由度の動作を行う。なお、第2アームは、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
The second manipulator M <b> 2 includes seven joints and a
第2アームが7軸の自由度で動作する場合、第2アームは、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第2アームは、例えば、動作が滑らかになり、更に第2アームの周辺に存在する物体との干渉を容易に回避することができる。また、第2アームが7軸の自由度で動作する場合、第2アームの制御は、第2アームが8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。 When the second arm operates with a degree of freedom of 7 axes, the posture that the second arm can take is increased as compared with a case where the second arm operates with a degree of freedom of 6 axes or less. Thereby, for example, the operation of the second arm becomes smooth, and interference with an object existing around the second arm can be easily avoided. Further, when the second arm operates with a degree of freedom of 7 axes, the control of the second arm is easy and requires a smaller amount of calculation than when the second arm operates with a degree of freedom of 8 axes or more.
第2マニピュレーターM2が備える7つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、第2マニピュレーターM2を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第2マニピュレーターM2が備える7つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
Each of the seven actuators (provided at the joints) included in the second manipulator M2 is communicably connected to the
第2撮像部62は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。この一例において、第2撮像部62は、第2マニピュレーターM2の一部に備えられる。そのため、第2撮像部62は、第2アームの動きに応じて移動する。また、第2撮像部62が撮像可能な範囲は、第2アームの動きに応じて変化する。第2撮像部62は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
The
また、第2撮像部62は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2撮像部62は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The
また、ロボット60は、第3撮像部63と、第4撮像部64を備える。
第3撮像部63は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第3撮像部63は、前述の作業領域を含む範囲であって第4撮像部64が撮像可能な範囲を第4撮像部64とともにステレオ撮像可能な部位に備えられる。第3撮像部63は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第3撮像部63は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The
The
第4撮像部64は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第4撮像部64は、作業領域を含む範囲であって第3撮像部63が撮像可能な範囲を第3撮像部63とともにステレオ撮像可能な部位に備えられる。第4撮像部64は、ケーブルによって通信可能にロボット制御装置30と接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第4撮像部64は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The
上記で説明したロボット60が備える各機能部は、この一例において、ロボット60に内蔵されたロボット制御装置30から制御信号を取得する。そして、当該各機能部は、取得した制御信号に基づいた動作を行う。なお、ロボット60は、ロボット制御装置30を内蔵する構成に代えて、外部に設置されたロボット制御装置30により制御される構成であってもよい。この場合、ロボット60と、ロボット制御装置30とは、ロボットシステムを構成する。また、ロボット60は、第1撮像部61と第2撮像部62のいずれか一方又は両方を備えない構成であってもよい。
In this example, each functional unit included in the
ここで、この一例における操作対象物Nは、図1に示したように、第1アームの第1エンドエフェクターE1によって予め把持されている。従って、ロボット制御装置30は、第1アームを実施形態におけるアームAと同様に制御する。また、この一例におけるロボット制御装置30は、実施形態における撮像部10に代えて、第3撮像部63及び第4撮像部64に作業領域をステレオ撮像させ、第3撮像部63及び第4撮像部64のそれぞれから第1画像P1、第2画像P2、第3画像、第4画像P4のそれぞれを取得する。この場合、ロボット制御装置30は、第3撮像部63によって撮像された第1画像P1、第2画像P2、第3画像、第4画像P4に基づいて第1差分画像及び第2差分画像を生成するとともに、第4撮像部64によって撮像された第1画像P1、第2画像P2、第3画像、第4画像P4に基づいて第1差分画像及び第2差分画像を生成する。そして、ロボット制御装置30は、これらの第1差分画像及び第2差分画像に基づいて、撮像部座標系CCにおける組付対象物Oの位置及び姿勢と、撮像部座標系CCにおける操作対象物Nの位置及び姿勢とを算出する。当該組付対象物Oの位置及び姿勢は、2枚の第1差分画像(すなわち、ステレオ画像)に基づいて算出された三次元位置及び三次元姿勢である。また、当該操作対象物Nの位置及び姿勢は、2枚の第2差分画像(すなわち、ステレオ画像)に基づいて算出された三次元位置及び三次元姿勢である。
Here, the operation target N in this example is gripped in advance by the first end effector E1 of the first arm, as shown in FIG. Accordingly, the
また、この一例における組付対象物Oは、図1に示したように、第2アームの第2エンドエフェクターE2によって予め把持されている。従って、ロボット制御装置30は、前述のステップS130において、第2アームを動作させ、第3撮像部63及び第4撮像部64がステレオ撮像可能な範囲の内側に組付対象物Oを移動させる。これにより、ロボット制御装置30は、図4又は図10に示したステップS130の処理において、ユーザーが組付対象物Oを治具Fに取り付けるまで待機する処理を省略することができる。その結果、ロボット制御装置30は、ユーザーに作業を行わせることなく、ロボット20に所定の作業を行わせることができる。
Further, the assembly object O in this example is gripped in advance by the second end effector E2 of the second arm, as shown in FIG. Accordingly, the
このように、実施形態の変形例2におけるロボット制御装置30は、単腕ロボットであるロボット20に代えて、双腕ロボットであるロボット60を制御する場合であっても、第1対象物(この一例において、操作対象物N)を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された第1対象物の位置に基づいてアーム(この一例において、第1アーム)を動かす。これにより、ロボット制御装置30は、第1対象物に関する作業をロボット60に精度よく行わせることができる。
As described above, the
なお、ロボット制御装置30は、ステップS220において変換した移動量、又はステップS260においてゲインを乗算した移動量に基づいて第1アームを動かす構成に代えて、ステップS220において変換した移動量、又はステップS260においてゲインを乗算した移動量に基づいて第2アームを動かす構成であってもよい。すなわち、ロボット制御装置30は、第2アームを動作させ、操作対象物Nに対して組付対象物Oを組み付ける作業を所定の作業としてロボット60に行わせる構成であってもよい。
Note that the
また、ロボットシステム2では、実施形態同様に、組付対象物Oが治具Fに取り付けられる構成であってもよい。この場合、ロボット60は、第1アームと第2アームのいずれか一方又は両方によって操作対象物Nを予め把持する。
Moreover, in the
また、ロボットシステム2は、図12に示したように、撮像部10を更に備える構成であってもよい。図12は、実施形態の変形例2に係るロボットシステム2の構成の他の例を示す図である。この場合、ロボット制御装置30は、撮像部10により前述の第1画像P1、第2画像P2、第3画像、第4画像P4のそれぞれを撮像し、撮像部10から第1画像P1、第2画像P2、第3画像、第4画像P4のそれぞれを取得する。
Further, the
以上のように、ロボット(この一例において、ロボット20又はロボット60)は、第1対象物(この一例において、操作対象物N)を含まない第1範囲が撮像された第1画像(この一例において、第1画像P1)と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像(この一例において、第2画像P2)とを用いて検出された第1対象物の位置に基づいてアーム(この一例において、アームA又は第1アーム)を動かす。これにより、ロボットは、第1対象物に関する作業(この一例において、所定の作業)を精度よく行うことができる。
As described above, the robot (in this example, the
また、ロボットは、第1画像と第2画像との差分に基づく差分画像(この一例において、第1差分画像P12、第2差分画像P34)が生成され、生成された差分画像を用いて検出された第1対象物の位置に基づいてアームを動かす。これにより、ロボットは、差分画像を用いて検出された第1対象物の位置に基づいて、第1対象物に関する作業を精度よく行うことができる。 In addition, the robot generates a difference image based on the difference between the first image and the second image (in this example, the first difference image P12 and the second difference image P34), and is detected using the generated difference image. The arm is moved based on the position of the first object. Thereby, the robot can perform the work regarding the first object with high accuracy based on the position of the first object detected using the difference image.
また、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、アームを動かす移動量に関するゲインであってビジュアルサーボのゲインとに基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、ゲインとに基づいて、第1対象物に関する作業を精度よく行うことができる。 Further, the robot moves the arm based on the position of the first object detected using the first image and the second image, and a gain related to the amount of movement for moving the arm and the gain of the visual servo. Thereby, the robot can perform the work regarding the first object with high accuracy based on the position and gain of the first object detected using the first image and the second image.
また、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、第1対象物の位置を変化させる目標となる目標位置との差に基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と目標位置との差に基づいて、第1対象物に関する作業を精度よく行うことができる。 The robot moves the arm based on a difference between the position of the first object detected using the first image and the second image and a target position that is a target for changing the position of the first object. . Thereby, the robot can perform the work regarding the first object with high accuracy based on the difference between the position of the first object detected using the first image and the second image and the target position.
また、ロボットは、第3画像(この一例において、第2画像P2)、及び第4画像(この一例において、第4画像P4)を用いて検出された第2対象物(この一例において、組付対象物O)の位置と、目標位置情報とに基づいて第1対象物と第2対象物とを組み付ける。これにより、ロボットは、第3画像、及び第4画像を用いて検出された第2対象物の位置と、目標位置情報とに基づいて、第1対象物と第2対象物とを組み付ける作業を精度よく行うことができる。 The robot also detects the second object (in this example, assembly in this example) detected using the third image (in this example, second image P2) and the fourth image (in this example, fourth image P4). The first object and the second object are assembled based on the position of the object O) and the target position information. Thereby, the robot performs an operation of assembling the first object and the second object based on the position of the second object detected using the third image and the fourth image and the target position information. It can be performed with high accuracy.
また、ロボットは、では、第3画像は、第2画像である。これにより、ロボットは、第1対象物の位置に基づく作業に要する時間を短縮することができる。 In the robot, the third image is the second image. Thereby, the robot can shorten the time required for the work based on the position of the first object.
また、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢に基づいてアームを動かす。これにより、ロボットは、第1対象物の位置及び姿勢に基づいて、第1対象物に関する作業を精度よく行うことができる。 In addition, the robot moves the arm based on the posture of the first object detected using the first image and the second image. Thereby, the robot can perform the work regarding the first object with high accuracy based on the position and orientation of the first object.
また、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢と、第1対象物の姿勢を変化させる目標となる目標姿勢との差に基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢と、目標姿勢との差に基づいて、第1対象物に関する作業を精度よく行うことができる。 The robot moves the arm based on a difference between the posture of the first object detected using the first image and the second image and a target posture that is a target for changing the posture of the first object. . As a result, the robot can accurately perform the work on the first object based on the difference between the posture of the first object detected using the first image and the second image and the target posture. .
また、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、目標位置情報と、第2対象物の位置とに基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、目標位置情報と、第2対象物の位置とに基づいて、第1対象物に関する作業を精度よく行うことができる。 Further, the robot moves the arm based on the position of the first object detected using the first image and the second image, target position information, and the position of the second object. As a result, the robot can work on the first object based on the position of the first object detected using the first image and the second image, the target position information, and the position of the second object. Can be performed with high accuracy.
また、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、目標位置情報と、第3画像、及び第4画像を用いて検出された第2対象物の位置とに基づいて前記第1対象物と前記第2対象物とを組み付ける。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の位置と、目標位置情報と、第3画像、及び第4画像を用いて検出された第2対象物の位置とに基づいて、第1対象物に関する作業を精度よく行うことができる。 The robot also detects the position of the first object detected using the first image and the second image, the target position information, the third image, and the second object detected using the fourth image. The first object and the second object are assembled on the basis of the positions. Thereby, the robot detects the position of the first object detected using the first image and the second image, the target position information, the third image, and the second object detected using the fourth image. Based on the position of the object, the work related to the first object can be accurately performed.
また、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢と、目標姿勢情報とに基づいてアームを動かす。これにより、ロボットは、第1画像と第2画像とを用いて検出された第1対象物の姿勢と、目標姿勢情報とに基づいて、第1対象物に関する作業を精度よく行うことができる。 Further, the robot moves the arm based on the posture of the first object detected using the first image and the second image and the target posture information. Thereby, the robot can perform the work regarding the first object with high accuracy based on the posture of the first object detected using the first image and the second image and the target posture information.
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。 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.
また、以上に説明した装置(例えば、ロボット制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。 Further, a program for realizing the function of an arbitrary component in the above-described apparatus (for example, robot control apparatus 30) is recorded on a computer-readable recording medium, and the program is read into a computer system and executed. You may make it do. Here, the “computer system” includes hardware such as an OS (Operating System) and peripheral devices. The “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD (Compact Disk) -ROM, or a storage device such as a hard disk built in the computer system. . Furthermore, “computer-readable recording medium” means a volatile memory (RAM) inside a computer system that becomes a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
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…ロボットシステム、10…撮像部、20、60…ロボット、30…ロボット制御装置、31…CPU、32…記憶部、33…入力受付部、34…通信部、35…表示部、36…制御部、40…撮像制御部、42…画像取得部、46…位置姿勢算出部、50…ロボット制御部、61…第1撮像部、62…第2撮像部、63…第3撮像部、64…第4撮像部
DESCRIPTION OF
Claims (13)
第1対象物を含まない第1範囲が撮像された第1画像と、前記第1範囲の少なくとも一部と重なる範囲であって前記第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された前記第1対象物の位置に基づいて前記アームを動かす、
ロボット。 With an arm,
A first image in which a first range that does not include the first object is captured, and a second image in which a second range that includes at least a part of the first range and includes the first object is captured Moving the arm based on the position of the first object detected using
robot.
請求項1に記載のロボット。 A difference image based on the difference between the first image and the second image is generated, and the arm is moved based on the position of the first object detected using the generated difference image.
The robot according to claim 1.
請求項1又は2に記載のロボット。 Moving the arm based on the position of the first object detected using the first image and the second image and a gain relating to a moving amount for moving the arm and the gain of the visual servo;
The robot according to claim 1 or 2.
前記第1画像と前記第2画像とを用いて検出された前記第1対象物の位置と、前記第1対象物の位置を変化させる目標となる目標位置との差に基づいて前記アームを動かす、
請求項1から3のうちいずれか一項に記載のロボット。 The first object is gripped by the arm;
The arm is moved based on a difference between a position of the first object detected using the first image and the second image and a target position which is a target for changing the position of the first object. ,
The robot according to any one of claims 1 to 3.
前記第2対象物を含まない第3範囲が撮像された第3画像、及び前記第3範囲の少なくとも一部と重なる範囲であって前記第2対象物を含む第4範囲が撮像された第4画像を用いて検出された前記第2対象物の位置と、当該位置と前記目標位置との相対的な位置を示す目標位置情報とに基づいて前記第1対象物と前記第2対象物とを組み付ける、
請求項4に記載のロボット。 The first object is an object to be assembled to the second object by the arm,
A third image in which a third range not including the second object is captured, and a fourth image in which a fourth range including the second object is captured in a range that overlaps at least a part of the third range. Based on the position of the second object detected using an image and target position information indicating a relative position between the position and the target position, the first object and the second object are Assemble,
The robot according to claim 4.
請求項5に記載のロボット。 The third image is the second image;
The robot according to claim 5.
請求項1から6のうちいずれか一項に記載のロボット。 Moving the arm based on a posture of the first object detected using the first image and the second image;
The robot according to any one of claims 1 to 6.
請求項7に記載のロボット。 The arm is moved based on a difference between a posture of the first object detected using the first image and the second image and a target posture that is a target for changing the posture of the first object. ,
The robot according to claim 7.
前記第1画像と前記第2画像とを用いて検出された前記第1対象物の位置と、当該位置と前記第2対象物の位置を変化させる目標となる目標位置との相対的な位置を示す目標位置情報と、前記第2対象物の位置とに基づいて前記アームを動かす、
請求項1から3のうちいずれか一項に記載のロボット。 The first object is an object to which a second object gripped by the arm is assembled,
A relative position between the position of the first object detected using the first image and the second image, and a target position that is a target for changing the position of the second object. Moving the arm based on the indicated target position information and the position of the second object;
The robot according to any one of claims 1 to 3.
請求項9に記載のロボット。 A third image in which a position of the first object detected using the first image and the second image, the target position information, and a third range not including the second object are captured; And the position of the second object detected using a fourth image in which a fourth range including the second object is captured and is a range that overlaps at least a part of the third range. Assembling the first object and the second object,
The robot according to claim 9.
請求項9又は10に記載のロボット。 A relative posture between the posture of the first object detected using the first image and the second image and a target posture which is a target for changing the posture and the posture of the second object. Moving the arm based on the target posture information shown,
The robot according to claim 9 or 10.
ロボット制御装置。 Controlling the robot according to any one of claims 1 to 11,
Robot control device.
前記ロボットを制御するロボット制御装置と、
を備えるロボットシステム。 A robot according to any one of claims 1 to 11,
A robot controller for controlling the robot;
A robot system comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016168980A JP2018034245A (en) | 2016-08-31 | 2016-08-31 | Robot, robot control device, and robot system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016168980A JP2018034245A (en) | 2016-08-31 | 2016-08-31 | Robot, robot control device, and robot system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018034245A true JP2018034245A (en) | 2018-03-08 |
Family
ID=61565195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016168980A Pending JP2018034245A (en) | 2016-08-31 | 2016-08-31 | Robot, robot control device, and robot system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018034245A (en) |
-
2016
- 2016-08-31 JP JP2016168980A patent/JP2018034245A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11090814B2 (en) | Robot control method | |
US10589424B2 (en) | Robot control device, robot, and robot system | |
JP6380828B2 (en) | Robot, robot system, control device, and control method | |
JP6427972B2 (en) | Robot, robot system and control device | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
US20170312921A1 (en) | Robot and robot system | |
JP2017071018A (en) | Robot system, robot, and robot controlling device | |
JP6364836B2 (en) | Robot, robot system, and control device | |
US11440197B2 (en) | Robot system and imaging method | |
US20170203434A1 (en) | Robot and robot system | |
US20180215044A1 (en) | Image processing device, robot control device, and robot | |
US20180085920A1 (en) | Robot control device, robot, and robot system | |
JP2017006990A (en) | Robot, control device, and control method | |
JP2017219365A (en) | Position and posture detection device, robot controller, and robot | |
JP6488571B2 (en) | Teaching apparatus and robot system | |
JP2017047479A (en) | Robot, control device and robot system | |
CN111745639B (en) | Information processing method and device, object detection device and robot system | |
JP2018015856A (en) | Robot, robot control device, and robot system | |
JP2017202549A (en) | Robot control device, robot, and robot system | |
JP2018034245A (en) | Robot, robot control device, and robot system | |
JP2018017610A (en) | Three-dimensional measuring device, robot, robot controlling device, and robot system | |
JP2019027921A (en) | Three-dimensional shape measuring device, robot system, and three-dimensional shape measuring method | |
JP2019111588A (en) | Robot system, information processor, and program | |
JP2015226954A (en) | Robot, control method of the same and control unit of the same | |
JP2016013590A (en) | Teaching device, and robot system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20180910 |