JP2018034245A - Robot, robot control device, and robot system - Google Patents

Robot, robot control device, and robot system Download PDF

Info

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
Application number
JP2016168980A
Other languages
Japanese (ja)
Inventor
高志 南本
Takashi Minamimoto
高志 南本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2016168980A priority Critical patent/JP2018034245A/en
Publication of JP2018034245A publication Critical patent/JP2018034245A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a robot which can carry out work relating to a first object accurately.SOLUTION: A robot is provided with an arm, and moves the arm based on a position of the first object detected by using a first image which images a first range without the first object and a second image which images a second range overlapping with at least a part of the first range and including the first object.SELECTED DRAWING: Figure 3

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).

特開2014−161937号公報JP 2014-161937 A

しかしながら、このような姿勢検出装置では、対象物が撮像された撮像画像に含まれる当該対象物以外の背景(例えば、対象物を組み付ける物体)等が当該対象物として誤検出されてしまう場合があった。その結果、当該姿勢検出装置は、当該対象物の位置を精度よく検出することができない場合があった。   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.

実施形態に係るロボットシステム1の構成の一例を示す図である。It is a figure showing an example of composition of robot system 1 concerning an embodiment. ロボット制御装置30のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a robot control device 30. FIG. ロボット制御装置30の機能構成の一例を示す図である。2 is a diagram illustrating an example of a functional configuration of a robot control device 30. FIG. ロボット制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。4 is a flowchart illustrating an example of a flow of processing in which the robot control device 30 causes the robot 20 to perform a predetermined operation. 第1画像の一例である。It is an example of a 1st image. 第2画像の一例である。It is an example of a 2nd image. 第4画像の一例である。It is an example of a 4th image. 位置姿勢算出部46が生成した第1差分画像の一例である。It is an example of the 1st difference image which the position and orientation calculation part 46 produced | generated. 位置姿勢算出部46が生成した第2差分画像の一例である。It is an example of the 2nd difference image which the position and orientation calculation part 46 produced | generated. ロボット制御装置30がロボット20に所定の作業を行わせる処理の流れの他の例を示す図である。It is a figure which shows the other example of the flow of the process in which the robot control apparatus 30 makes the robot 20 perform predetermined work. 実施形態の変形例2に係るロボットシステム2の構成の一例を示す図である。It is a figure which shows an example of a structure of the robot system 2 which concerns on the modification 2 of embodiment. 実施形態の変形例2に係るロボットシステム2の構成の他の例を示す図である。It is a figure which shows the other example of a structure of the robot system 2 which concerns on the modification 2 of embodiment.

<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
<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 robot system 1 will be described.
FIG. 1 is a diagram illustrating an example of a configuration of a robot system 1 according to the embodiment. The robot system 1 includes an imaging unit 10, a robot 20, and a robot control device 30.

撮像部10は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、撮像部10は、ロボット20が作業可能な領域である作業領域を含む範囲である撮像範囲を撮像可能な位置に設置される。   The imaging unit 10 is a camera including, for example, a CCD (Charge Coupled Device), a CMOS (Complementary Metal Oxide Semiconductor), or the like, which is an imaging element that converts collected light into an electrical signal. In this example, the imaging unit 10 is installed at a position where an imaging range that is a range including a work area in which the robot 20 can work is taken.

撮像部10は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、撮像部10は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。   The imaging unit 10 is connected to the robot control device 30 through a cable so as to be communicable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB (Universal Serial Bus), for example. The imaging unit 10 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。単腕ロボットは、この一例におけるアームAのような1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、2本以上のアーム(例えば、2本以上のアームA)を備えるロボットである。なお、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアーム(例えば、3本以上のアームA)を備える複腕ロボットであってもよい。また、ロボット20は、スカラロボット、直交座標ロボット、円筒型ロボット等の他のロボットであってもよい。直交座標ロボットは、例えば、ガントリロボットである。   The robot 20 is a single-arm robot including an arm A and a support base B that supports the arm A. The single arm robot is a robot having one arm (arm) like the arm A in this example. The robot 20 may be a multi-arm robot instead of the single-arm robot. The multi-arm robot is a robot having two or more arms (for example, two or more arms A). Of the multi-arm robot, a robot having two arms is also referred to as a double-arm robot. That is, the robot 20 may be a double-arm robot having two arms or a multi-arm robot having three or more arms (for example, three or more arms A). The robot 20 may be another robot such as a SCARA robot, a Cartesian coordinate robot, or a cylindrical robot. The orthogonal coordinate robot is, for example, a gantry robot.

アーム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 robot control device 30 via a cable. Thereby, the end effector E performs an operation based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The end effector E may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

マニピュレーター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 robot controller 30 via a cable. Thereby, the actuator operates the manipulator M based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. In addition, a part or all of the six actuators included in the manipulator M may be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

ロボット制御装置30は、この一例において、ロボット20を制御する(動作させる)コントローラーである。ロボット制御装置30は、撮像部10に前述の作業領域を含む範囲を撮像させる。ロボット制御装置30は、撮像部10が撮像した撮像画像を撮像部10から取得する。ロボット制御装置30は、取得した撮像画像に基づいて、ロボット20に所定の作業を行わせる。   In this example, the robot control device 30 is a controller that controls (operates) the robot 20. The robot control device 30 causes the imaging unit 10 to image a range including the above-described work area. The robot control device 30 acquires a captured image captured by the imaging unit 10 from the imaging unit 10. The robot control device 30 causes the robot 20 to perform a predetermined operation based on the acquired captured image.

<ロボットが行う所定の作業の概要>
以下、ロボット20が行う所定の作業の概要について説明する。
<Outline of predetermined work performed by robot>
Hereinafter, an outline of predetermined work performed by the robot 20 will be described.

図1に示したように、ロボット20は、エンドエフェクターEにより予め操作対象物Nを把持している。なお、ロボット20は、所定の作業において、所定の配置場所に配置された操作対象物NをエンドエフェクターEにより把持する構成であってもよい。   As shown in FIG. 1, the robot 20 holds the operation target N by the end effector E in advance. Note that the robot 20 may be configured to hold the operation target N arranged at a predetermined arrangement place by the end effector E in a predetermined operation.

操作対象物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 robot 20 performs a work of assembling the operation target N gripped by the end effector E on the assembly target O as a predetermined work. The contour VN illustrated in FIG. 1 represents the contour of the operation target N when the operation target N is assembled to the assembly target O. Instead of this, the robot 20 may be configured to perform other work as a predetermined work.

ここで、以下では、説明を簡略化するため、ロボット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 robot 20 moves the operation target N along a plane perpendicular to the optical axis of the imaging unit 10 while the robot 20 performs a predetermined operation. . That is, in this example, the operation target N performs a two-dimensional movement along the plane until it is assembled to the assembly target O. The robot 20 may be configured to cause the operation target N to perform a three-dimensional motion in the work area while the robot 20 performs a predetermined work. In this case, the imaging unit 10 is a camera that can capture an image capable of acquiring three-dimensional information, such as a stereo camera or a light field camera.

<ロボット制御装置がロボットに所定の作業を行わせる処理の概要>
以下、ロボット制御装置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 robot control apparatus 30 causes the robot 20 to perform a predetermined operation will be described.

ロボット制御装置30は、エンドエフェクターEに予め対応付けられた位置に、エンドエフェクターEとともに動く制御点Tを設定する。エンドエフェクターEに予め対応付けられた位置は、ロボット座標系RCにおける位置である。エンドエフェクターEに予め対応付けられた位置は、例えば、エンドエフェクターEにより把持された操作対象物Nの重心の位置である。   The robot control device 30 sets a control point T that moves together with the end effector E at a position previously associated with the end effector E. The position previously associated with the end effector E is a position in the robot coordinate system RC. The position associated with the end effector E in advance is, for example, the position of the center of gravity of the operation target N gripped by the end effector E.

制御点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 robot control device 30 designates (determines) the control point position information and the control point posture information, the position and posture of the control point T are determined. The said position and the said attitude | position are the position and attitude | position in the robot coordinate system RC. The robot control device 30 operates the arm A to match the position of the control point T with the position indicated by the control point position information designated by the robot control device 30, and the control point posture information designated by the robot control device 30 indicates. The posture of the control point T is matched with the posture. Hereinafter, for convenience of explanation, the position indicated by the control point position information designated by the robot control device 30 will be referred to as a target position, and the posture indicated by the control point posture information designated by the robot control device 30 will be referred to as a target posture. That is, the robot control device 30 operates the robot 20 by designating the control point position information and the control point posture information, and matches the position and posture of the control point T with the target position and target posture.

この一例において、制御点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 robot control device 30 sets the control point T based on the control point setting information input in advance by the user. The control point setting information is, for example, information indicating a relative position and posture between the position and posture of the center of gravity of the end effector E and the position and posture of the control point T. Instead of this, the control point setting information may be information indicating a relative position and posture between any position and posture associated with the end effector E and the position and posture of the control point T. It may be information indicating a relative position and posture between any position and posture associated with the manipulator M and the position and posture of the control point T, and any position and posture associated with other parts of the robot 20 It may be information indicating a relative position and posture between the posture and the position and posture of the control point T.

ここで、ロボット制御装置30は、第1対象物を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された操作対象物Nの位置に基づいてアームAを動かす。この一例において、撮像部10が撮像可能な範囲が変化しないため、第2範囲は、第1範囲と同じ範囲である。また、以下では、一例として、第1対象物が操作対象物Nである場合について説明する。これにより、ロボット制御装置30は、第1対象物(この一例において、操作対象物N)に関する作業(この一例において、前述の所定の作業)を精度よく行うことができる。なお、第1対象物は、操作対象物Nに代えて、組付対象物Oであってもよい。   Here, the robot control device 30 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 A is moved based on the position of the operation target N detected using the second image obtained by capturing. In this example, since the range in which the imaging unit 10 can capture images does not change, the second range is the same range as the first range. Moreover, below, the case where the 1st target object is the operation target object N is demonstrated as an example. Thereby, the robot control apparatus 30 can perform the work (in this example, the above-described predetermined work) related to the first object (in this example, the operation object N) with high accuracy. The first object may be an assembly object O instead of the operation object N.

<ロボット制御装置のハードウェア構成>
以下、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。
<Hardware configuration of robot controller>
Hereinafter, the hardware configuration of the robot control device 30 will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a hardware configuration of the robot control device 30.

ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。また、ロボット制御装置30は、通信部34を介してロボット20と通信を行う。   The robot control device 30 includes, for example, a CPU (Central Processing Unit) 31, a storage unit 32, an input receiving unit 33, a communication unit 34, and a display unit 35. These components are connected to each other via a bus Bus so that they can communicate with each other. Further, the robot control device 30 communicates with the robot 20 via the communication unit 34.

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 CPU 31 executes various programs stored in the storage unit 32.
The storage unit 32 includes, for example, a hard disk drive (HDD), a solid state drive (SSD), an electrically erasable programmable read-only memory (EEPROM), a read-only memory (ROM), and a random access memory (RAM). The storage unit 32 may be an external storage device connected via a digital input / output port such as a USB instead of the one built in the robot control device 30. The storage unit 32 stores various information processed by the robot control device 30, various programs, various images, and the like.

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

<ロボット制御装置の機能構成>
以下、図3を参照し、ロボット制御装置30の機能構成について説明する。図3は、ロボット制御装置30の機能構成の一例を示す図である。
<Functional configuration of robot controller>
Hereinafter, the functional configuration of the robot control device 30 will be described with reference to FIG. 3. FIG. 3 is a diagram illustrating an example of a functional configuration of the robot control device 30.

ロボット制御装置30は、記憶部32と、制御部36を備える。   The robot control device 30 includes a storage unit 32 and a control unit 36.

制御部36は、ロボット制御装置30の全体を制御する。制御部36は、撮像制御部40と、画像取得部42と、位置姿勢算出部46と、ロボット制御部50を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。   The control unit 36 controls the entire robot control device 30. The control unit 36 includes an imaging control unit 40, an image acquisition unit 42, a position / orientation calculation unit 46, and a robot control unit 50. These functional units included in the control unit 36 are realized, for example, when the CPU 31 executes various programs stored in the storage unit 32. Further, some or all of the functional units may be hardware functional units such as LSI (Large Scale Integration) and ASIC (Application Specific Integrated Circuit).

撮像制御部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 imaging control unit 40 causes the imaging unit 10 to capture a range that can be captured by the imaging unit 10.
The image acquisition unit 42 acquires a captured image captured by the imaging unit 10 from the imaging unit 10.
The position / orientation calculation unit 46 calculates the position and orientation of the operation target N based on the captured image acquired by the image acquisition unit 42 from the imaging unit 10. Further, the position / orientation calculation unit 46 calculates the position and orientation of the assembly target object O based on the captured image acquired by the image acquisition unit 42 from the imaging unit 10. Note that the position and orientation calculation unit 46 may be configured to calculate the position of the operation target N and the position of the assembly target O based on the captured image. In this case, the posture of the operation target N and the posture of the assembly target O are fixed and do not change.
Based on the position and orientation of the operation target N calculated by the position / orientation calculation unit 46 and the position and orientation of the assembly target object O calculated by the position / orientation calculation unit 46, the robot control unit 50 applies predetermined information to the robot 20. Let's do the work.

<ロボット制御装置がロボットに所定の作業を行わせる処理>
以下、図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 robot control device 30 causes the robot 20 to perform a predetermined operation will be described. FIG. 4 is a flowchart illustrating an example of a process flow in which the robot control device 30 causes the robot 20 to perform a predetermined operation.

以下では、図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 imaging unit 10 can capture an image will be described as an example. In the following, the end effector E, the operation target N gripped by the end effector E, and the manipulator M are included in the range in the time zone before the process of step S160 in the flowchart is performed. The case where there is no case is described as an example. That is, in this time zone, the end effector E, the operation target N gripped by the end effector E, and the manipulator M are located outside the range of the angle of view of the imaging unit 10 in this example.

撮像制御部40は、撮像部10が撮像可能な範囲を撮像部10に撮像させる(ステップS110)。以下では、説明の便宜上、ステップS110において撮像部10が撮像した範囲を第1範囲と称して説明する。次に、画像取得部42は、ステップS110において撮像部10が撮像した撮像画像を第1画像として取得する(ステップS120)。ここで、図5を参照し、第1画像について説明する。   The imaging control unit 40 causes the imaging unit 10 to capture a range that can be captured by the imaging unit 10 (step S110). Hereinafter, for convenience of explanation, the range captured by the imaging unit 10 in step S110 will be referred to as a first range. Next, the image acquisition unit 42 acquires the captured image captured by the imaging unit 10 in step S110 as a first image (step S120). Here, the first image will be described with reference to FIG.

図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 imaging control unit 40 continues until the assembly target object O is attached to the jig F by the user or another device (until the assembly target object O is supported by the jig F). ) Wait (step S130). The state of the assembly target object O and the jig F shown in FIG. 1 is determined after the assembly target object O is attached to the jig F by the user or another device in step S130. It is in a state after being supported by F.

ステップ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 imaging control unit 40 causes the imaging unit 10 to image a range that can be imaged by the imaging unit 10 (step S140). Hereinafter, for convenience of description, the range captured by the imaging unit 10 in step S140 will be referred to as a second range. As described above, the second range is the same as the first range because the imageable range of the imaging unit 10 in this example does not change. Next, the image acquisition unit 42 acquires the captured image captured by the imaging unit 10 in step S140 from the imaging unit 10 as a second image (step S150). Here, the second image will be described with reference to FIG.

図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 imaging unit 10 in a third range that does not include the operation target N. . For this reason, below, the case where the robot control apparatus 30 utilizes the 2nd image P2 also as a 3rd image is demonstrated as an example. Note that the robot control device 30 again sets the range that can be imaged by the imaging unit 10 as the third range in the imaging unit 10 after the process of step S150 and before the process of step S160 is performed. It may be configured to take an image. In this case, the robot control apparatus 30 acquires the image captured by the imaging unit 10 from the imaging unit 10 as a third image. In this example, the imageable range of the imaging unit 10 does not change, so the third range is the same range as the first range.

ステップS150の処理が行われた後、ロボット制御部50は、記憶部32に予め記憶された初期位置姿勢情報を記憶部32から読み出す。初期位置姿勢情報は、予め決められた初期位置及び初期姿勢を示す情報である。初期位置及び初期姿勢は、制御点Tの位置及び姿勢を初期位置及び初期姿勢と一致させた場合において撮像部10の撮像可能な範囲の内側に操作対象物Nの全体が含まれる位置及び姿勢であれば、如何なる位置及び姿勢であってもよい。ロボット制御部50は、読み出した初期位置姿勢情報に基づいてロボット20を動作させ、制御点Tの位置及び姿勢を初期位置及び初期姿勢と一致させることにより、撮像部10が撮像可能な範囲の内側に操作対象物Nを移動させる(ステップS160)。   After the process of step S150 is performed, the robot control unit 50 reads out the initial position and orientation information stored in advance in the storage unit 32 from the storage unit 32. The initial position / posture information is information indicating a predetermined initial position and initial posture. The initial position and the initial posture are positions and postures in which the entire operation target N is included within the imageable range of the imaging unit 10 when the position and posture of the control point T are matched with the initial position and initial posture. Any position and orientation may be used. The robot control unit 50 operates the robot 20 based on the read initial position and orientation information, and matches the position and orientation of the control point T with the initial position and initial orientation, so that the inside of the range that can be imaged by the imaging unit 10. The operation target N is moved to (step S160).

次に、撮像制御部40は、撮像部10が撮像可能な範囲を撮像部10に撮像させる(ステップS170)。以下では、説明の便宜上、ステップS170において撮像部10が撮像した範囲を第4範囲と称して説明する。次に、画像取得部42は、ステップS170において撮像部10が撮像した撮像画像を第4画像として取得する(ステップS180)。ここで、図7を参照し、第4画像について説明する。   Next, the imaging control unit 40 causes the imaging unit 10 to capture a range that can be captured by the imaging unit 10 (step S170). Hereinafter, for convenience of explanation, the range captured by the imaging unit 10 in step S170 will be referred to as a fourth range. Next, the image acquisition unit 42 acquires the captured image captured by the imaging unit 10 in step S170 as a fourth image (step S180). Here, the fourth image will be described with reference to FIG.

図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 / orientation calculation unit 46 generates a first difference image based on the first image P1 and the second image P2 acquired by the image acquisition unit 42. Further, the position / orientation calculation unit 46 generates a second difference image based on the third image (in this example, the second image P2) and the fourth image P4 (step S190). Here, the process of step S190 will be described.

まず、第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 imaging unit 10 by (x1, y1). The position / orientation calculation unit 46 generates an image having the same number of pixels on the captured image captured by the imaging unit 10 and the same arrangement (position) of the pixels as the first difference image. In addition, the position / orientation calculation unit 46 displays the pixel value p1 (x1, y1) of the pixel indicated by the coordinates (x1, y1) on the first image P1 and the pixel indicated by the coordinates (x1, y1) on the second image P2. The difference from the pixel value p2 (x1, y1) is calculated as the first difference. The pixel value of a certain pixel is, for example, the luminance value of the pixel. Note that the pixel value of a certain pixel may be another value associated with the pixel, such as the brightness value of the pixel or the saturation value of the pixel. The position / orientation calculation unit 46 performs such calculation of the first difference for each of all the pixels of the first image P1 and the second image P2.

位置姿勢算出部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 / orientation calculation unit 46 calculates an average value of pixel values corresponding to each of the first differences that are equal to or greater than a predetermined first threshold value pt among the plurality of calculated first differences. The first threshold value pt is about 5, for example. The first threshold value may be a value smaller than 5 or a value larger than 5 instead of 5. The position / orientation calculation unit 46 determines whether or not the calculated average value is greater than or equal to an intermediate value between the maximum value of the pixel value in the captured image captured by the imaging unit 10 and the minimum value of the pixel value. Below, the case where the said maximum value is 255 and the said minimum value is 0 is demonstrated as an example. When the average value is equal to or greater than the intermediate value, the position / orientation calculation unit 46 sets the predetermined pixel value px used in the process described below to 0. On the other hand, when the average value is less than the intermediate value, the position / orientation calculation unit 46 sets the predetermined pixel value px used in the processing described below as 255. Below, the case where the said average value is more than the said intermediate value is demonstrated as an example. Note that one or both of 0 and 255, which are the values of px described above, are merely examples, and may be other values.

また、位置姿勢算出部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 / orientation calculation unit 46 determines whether or not the first difference is less than a predetermined first threshold value pt for each of the calculated first differences. Here, the pixel indicated by the coordinates (x1, y1) on the first image P1 and the pixel indicated by the coordinates (x1, y1) on the second image P2 will be described as an example again. When the position / orientation calculation unit 46 determines that the first difference based on these pixels is less than the first threshold value pt, the pixel value ps () of the pixel indicated by the coordinates (x1, y1) on the generated first difference image. x1, y1) is changed to the predetermined pixel value px described above (in this example, 0). On the other hand, when the position / orientation calculation unit 46 determines that the first difference is greater than or equal to the first threshold value pt, the position / orientation calculation unit 46 changes the pixel value ps (x1, y1) to the pixel value p2 (x1, y1). The position / orientation calculation unit 46 changes the pixel value on the first difference image based on the first difference for each of all the pixels of the first image P1, the second image P2, and the first difference image. Do it. That is, when a coordinate indicating an arbitrary pixel on the captured image captured by the imaging unit 10 is represented as (x, y), the pixel value ps (px) of the pixel indicated by the coordinate (x, y) on the first difference image. x, y) is expressed as the following formula (1).

Figure 2018034245
Figure 2018034245

すなわち、位置姿勢算出部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 / orientation calculation unit 46 uses the first image P1 as a second image of the background that is an image portion other than the image portion of the assembly target object O in the second image P2. It is an image removed from P2. FIG. 8 is an example of a first difference image generated by the position / orientation calculation unit 46. The first difference image P12 illustrated in FIG. 8 is an example of the first difference image. Here, the area in which dots are drawn in FIG. 8 represents an area filled in black. As shown in FIG. 8, the first difference image P12 includes the assembly target object O. In this example, the image portion other than the image portion of the assembly target object O in the first difference image P12 is blacked out because the predetermined pixel value px is 0. Thereby, the robot control apparatus 30 can extract only the image portion of the assembly target object O from the captured image captured by the imaging unit 10.

位置姿勢算出部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 / orientation calculation unit 46 uses the same method as the first difference image generation method, based on the third image (in this example, the second image P2) and the fourth image P4. Is generated. That is, in the description of the generation method, “first image P1” is “third image”, “second image P2” is “fourth image P4”, and “pixel value p1 (x1, y1)” is “pixel value p3”. (X1, y1) ”,“ pixel value p2 (x1, y1) ”is“ pixel value p4 (x1, y1) ”, and“ pixel value p1 (x, y) ”is“ pixel value p3 (x, y) ”. The description of the case where “pixel value p2 (x, y)” is read as “pixel value p4 (x, y)” is a method for generating the second difference image. For this reason, description of the method is omitted below.

第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 / orientation calculation unit 46 is an image of each of the operation target N, the end effector E, and the manipulator M held by the end effector E in the fourth image P4. This is an image obtained by removing the background, which is an image portion other than the portion, from the fourth image P4 using the third image. FIG. 9 is an example of the second difference image generated by the position / orientation calculation unit 46. Here, the area in which dots are drawn in FIG. 9 represents an area filled in black. The second difference image P34 illustrated in FIG. 9 is an example of a second difference image. As shown in FIG. 9, the second difference image P34 includes each of the operation target N, the end effector E, and the manipulator M (not shown in FIG. 9) held by the end effector E. In this second example, the image portions other than the image portions of the operation target N, the end effector E, and the manipulator M in the second difference image P34 are blacked out because the predetermined pixel value px is 0 in this example. Thereby, the robot control device 30 can extract only the image portions of the operation target N, the end effector E, and the manipulator M from the captured image captured by the imaging unit 10.

ステップS190の処理が行われた後、位置姿勢算出部46は、ステップS190において生成した第1差分画像P12に基づいて、組付対象物Oの位置及び姿勢を算出する。また、位置姿勢算出部46は、ステップS190において生成した第2差分画像P34に基づいて、操作対象物Nの位置及び姿勢を算出する(ステップS200)。ここで、ステップS200の処理について説明する。   After the process of step S190 is performed, the position / orientation calculation unit 46 calculates the position and orientation of the assembly target object O based on the first difference image P12 generated in step S190. Further, the position / orientation calculation unit 46 calculates the position and orientation of the operation target N based on the second difference image P34 generated in step S190 (step S200). Here, the process of step S200 will be described.

まず、組付対象物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 / orientation calculation unit 46 reads the assembly target model stored in advance in the storage unit 32 from the storage unit 32. The assembly target model is an image (for example, CG (Computer Graphics) or the like) representing the outline of the assembly target O. In this example, the position / orientation calculation unit 46 performs edge detection on the first difference image P12 generated in step S190. The position / orientation calculation unit 46 calculates the position and orientation of the assembly target object O by pattern matching based on the detected edge and the read assembly target object model. The position and orientation are the position and orientation in the imaging unit coordinate system CC which is a coordinate system representing the position on the first difference image P12 (that is, the coordinate system representing the position on the captured image captured by the imaging unit 10). is there. The position / orientation calculation unit 46 may be configured to calculate the position and orientation of the assembly target object O in the imaging unit coordinate system CC by another method instead of edge detection and pattern matching.

また、位置姿勢算出部46は、記憶部32に予め記憶された操作対象物モデルを記憶部32から読み出す。操作対象物モデルは、操作対象物Nの輪郭を表す画像(例えば、CG等)である。位置姿勢算出部46は、この一例において、ステップS190において生成した第2差分画像P34に対してエッジ検出を行う。そして、位置姿勢算出部46は、検出されたエッジと、読み出した操作対象物モデルとに基づくパターンマッチングにより操作対象物Nの位置及び姿勢を算出する。当該位置及び姿勢は、第2差分画像P34上の位置を表す座標系(すなわち、撮像部10により撮像された撮像画像上の位置を表す座標系)である撮像部座標系CCにおける位置及び姿勢である。なお、位置姿勢算出部46は、エッジ検出及びパターンマッチングに代えて、他の方法によって操作対象物Nの撮像部座標系CCにおける位置及び姿勢を算出する構成であってもよい。   Further, the position / orientation calculation unit 46 reads out the operation object model stored in advance in the storage unit 32 from the storage unit 32. The operation target object model is an image (for example, CG or the like) representing the contour of the operation target object N. In this example, the position / orientation calculation unit 46 performs edge detection on the second difference image P34 generated in step S190. The position / orientation calculation unit 46 calculates the position and orientation of the operation target N by pattern matching based on the detected edge and the read operation target object model. The position and orientation are the position and orientation in the imaging unit coordinate system CC which is a coordinate system representing the position on the second difference image P34 (that is, the coordinate system representing the position on the captured image captured by the imaging unit 10). is there. The position / orientation calculation unit 46 may be configured to calculate the position and orientation of the operation target N in the imaging unit coordinate system CC by another method instead of edge detection and pattern matching.

ステップ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 robot control unit 50 reads out target position information and target posture information stored in advance in the storage unit 32. The target position information is information indicating a relative position between the position of the assembly target object O and the position of the operation target object N in a state where the operation target object N is assembled to the assembly target object O. The target posture information is information indicating a relative posture between the posture of the assembly target object O and the posture of the operation target object N in a state where the operation target object N is assembled to the assembly target object O. Based on the read target position information and the position of the assembly target object O calculated by the position / orientation calculation unit 46 in step S200, the robot control unit 50 has assembled the operation target object N into the assembly target object O. The position of the operation target N in the state in the imaging unit coordinate system CC is calculated as a target position that is a target for changing the position of the operation target N. Further, the robot control unit 50 assembles the operation target N to the assembly target object O based on the read target posture information and the posture of the assembly target object O calculated by the position / posture calculation unit 46 in step S200. The posture of the operation target N in the imaging unit coordinate system CC in the obtained state is calculated as a target posture that is a target for changing the posture of the operation target N. Then, the robot control unit 50 changes the position of the operation target N based on the vector representing the difference between the calculated target position and the position of the operation target N calculated by the position / orientation calculation unit 46 in step S200. Calculated as the amount of movement. Further, the robot control device 30 changes the posture of the operation target N based on the vector representing the difference between the calculated target posture and the posture of the operation target N calculated by the position / posture calculation unit 46 in step S200. The amount of movement is calculated (step S210). In the following, for convenience of explanation, unless there is a need to distinguish between the first movement amount and the second movement amount, they will be collectively referred to as a movement amount.

次に、ロボット制御部50は、撮像部座標系CCの姿勢とロボット座標系RCの姿勢との相対的な姿勢に基づいて、ステップS210において算出した移動量を、ロボット座標系RCにおける移動量に変換する(ステップS220)。より具体的には、ロボット制御部50は、記憶部32に予め記憶された当該姿勢を示す情報を読み出し、読み出した当該情報に基づいて、ステップS210において算出した移動量を、ロボット座標系RCにおける移動量に変換する。次に、ロボット制御部50は、ステップS220において変換した移動量に基づいてロボット20を動作させ、操作対象物Nを組付対象物Oに組み付け(ステップS230)、処理を終了する。   Next, the robot control unit 50 converts the movement amount calculated in step S210 to the movement amount in the robot coordinate system RC based on the relative posture between the posture of the imaging unit coordinate system CC and the posture of the robot coordinate system RC. Conversion is performed (step S220). More specifically, the robot control unit 50 reads information indicating the posture stored in advance in the storage unit 32, and based on the read information, the movement amount calculated in step S210 in the robot coordinate system RC. Convert to travel. Next, the robot controller 50 operates the robot 20 based on the movement amount converted in step S220, assembles the operation target N to the assembly target O (step S230), and ends the process.

このように、ロボット制御装置30は、第1対象物(この一例において、操作対象物N)を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された操作対象物Nの位置に基づいてアームAを動かす。これにより、ロボット制御装置30は、第1対象物に関する作業(この一例において、前述の所定の作業)を精度よく行うことができる。   As described above, the robot control device 30 overlaps at least a part of the first range with the first image obtained by capturing the first range that does not include the first target (in this example, the operation target N). The arm A is moved based on the position of the operation target N detected using the second image in which the second range including the first target is captured. Thereby, the robot control apparatus 30 can accurately perform the work relating to the first object (in this example, the predetermined work described above).

なお、ロボット制御装置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 robot control device 30 replaces the first difference image P12 with a configuration that calculates the position and orientation of the assembly target object O and the position and orientation of the operation target object N from the second difference image P34. The structure which calculates the position of the assembly | attachment target object O from the difference image P12 and the position of the operation target object N from the 2nd difference image P34 may be sufficient. In this case, the robot control device 30 calculates the first movement amount in step S210 based on the calculated position of the assembly target object O, the position of the operation target object N, and the target position information in step S210. Calculated as the amount of movement in CC. Then, the robot control device 30 converts the calculated movement amount into a movement amount in the robot coordinate system RC, operates the robot 20 based on the converted movement amount, and changes the operation target N to the assembly target O. Assemble. In this case, as described above, the posture of the operation target N and the posture of the assembly target O are fixed and do not change.

また、ロボット制御装置30は、第1差分画像P12から組付対象物Oの位置及び姿勢と、第2差分画像P34から操作対象物Nの位置及び姿勢とを算出する構成に代えて、第1差分画像P12から組付対象物Oの位置及び姿勢を算出する構成であってもよい。この場合、ステップS160〜ステップS180の処理は、省略される。また、当該場合、ロボット制御装置30は、操作対象物Nの位置及び姿勢を示す情報が予め記憶している、又は他の装置から当該情報を取得する。   In addition, the robot control device 30 replaces the first difference image P12 with the configuration for calculating the position and orientation of the assembly target object O and the second difference image P34 with the position and orientation of the operation target object N. The structure which calculates the position and attitude | position of the assembly target object O from the difference image P12 may be sufficient. In this case, the processes in steps S160 to S180 are omitted. In this case, the robot control device 30 stores information indicating the position and orientation of the operation target N in advance or acquires the information from another device.

また、ロボット制御装置30は、第1差分画像P12から組付対象物Oの位置及び姿勢と、第2差分画像P34から操作対象物Nの位置及び姿勢とを算出する構成に代えて、第1差分画像P12から組付対象物Oの位置を算出する構成であってもよい。この場合、ステップS160〜ステップS180の処理は、省略される。また、当該場合、ロボット制御装置30は、操作対象物Nの位置を示す情報が予め記憶している、又は他の装置から当該情報を取得する。また、当該場合、操作対象物Nの姿勢と、組付対象物Oの姿勢とは、固定されており、変化しない。   In addition, the robot control device 30 replaces the first difference image P12 with the configuration for calculating the position and orientation of the assembly target object O and the second difference image P34 with the position and orientation of the operation target object N. The structure which calculates the position of the assembly | attachment target object O from the difference image P12 may be sufficient. In this case, the processes in steps S160 to S180 are omitted. In this case, the robot control device 30 stores information indicating the position of the operation target N in advance, or acquires the information from another device. In this case, the posture of the operation target N and the posture of the assembly target O are fixed and do not change.

また、ロボット制御装置30は、第1差分画像P12から組付対象物Oの位置及び姿勢と、第2差分画像P34から操作対象物Nの位置及び姿勢とを算出する構成に代えて、第2差分画像P34から操作対象物Nの位置及び姿勢を算出する構成であってもよい。この場合、ステップS110〜ステップS120の処理は、省略される。また、当該場合、ロボット制御装置30は、組付対象物Oの位置及び姿勢を示す情報が予め記憶している、又は他の装置から当該情報を取得する。   Further, the robot control device 30 replaces the configuration in which the position and orientation of the assembly object O are calculated from the first difference image P12 and the position and orientation of the operation object N from the second difference image P34. The structure which calculates the position and attitude | position of the operation target N from the difference image P34 may be sufficient. In this case, the processes in steps S110 to S120 are omitted. In this case, the robot control device 30 stores information indicating the position and orientation of the assembly target object O in advance or acquires the information from another device.

また、ロボット制御装置30は、第1差分画像P12から組付対象物Oの位置及び姿勢と、第2差分画像P34から操作対象物Nの位置及び姿勢とを算出する構成に代えて、第2差分画像P34から操作対象物Nの位置を算出する構成であってもよい。この場合、ステップS110〜ステップS120の処理は、省略される。また、当該場合、ロボット制御装置30は、組付対象物Oの位置を示す情報が予め記憶している、又は他の装置から当該情報を取得する。また、当該場合、操作対象物Nの姿勢と、組付対象物Oの姿勢とは、固定されており、変化しない。   Further, the robot control device 30 replaces the configuration in which the position and orientation of the assembly object O are calculated from the first difference image P12 and the position and orientation of the operation object N from the second difference image P34. The structure which calculates the position of the operation target N from the difference image P34 may be sufficient. In this case, the processes in steps S110 to S120 are omitted. In this case, the robot control device 30 stores information indicating the position of the assembly target object O in advance, or acquires the information from another device. In this case, the posture of the operation target N and the posture of the assembly target O are fixed and do not change.

また、組付対象物Oは、治具Fに支持される構成に代えて、ロボット20以外の他のロボットによって把持される構成であってもよい。この場合、ステップS130において、組付対象物Oは、当該ロボットによって撮像部10が撮像可能な範囲の内側に移動させられる。   Further, the assembly object O may be configured to be held by a robot other than the robot 20 instead of the configuration supported by the jig F. In this case, in step S <b> 130, the assembly target object O is moved by the robot to the inside of the range that can be imaged by the imaging unit 10.

<実施形態の変形例1>
以下、図10を参照し、実施形態の変形例について説明する。なお、実施形態の変形例1では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
<Modification 1 of Embodiment>
Hereinafter, a modification of the embodiment will be described with reference to FIG. In addition, in the modification 1 of embodiment, the same code | symbol is attached | subjected with respect to the component similar to embodiment, and description is abbreviate | omitted.

実施形態の変形例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 robot control unit 50 to perform a predetermined operation, the robot control device 30 performs the process of the flowchart shown in FIG. 10 instead of the process of the flowchart shown in FIG. Specifically, the robot control device 30 in the embodiment operates the robot 20 by position control based on each of the first image P1, the second image P2, the third image, and the fourth image P4 captured by the imaging unit 10. The operation object N is assembled to the assembly object O. On the other hand, the robot control device 30 according to the first modification of the embodiment controls the robot 20 by visual servoing based on each of the first image P1, the second image P2, the third image, and the fourth image P4 captured by the imaging unit 10. The operation target N is assembled to the assembly target O by operating.

図10は、ロボット制御装置30がロボット20に所定の作業を行わせる処理の流れの他の例を示す図である。なお、図10に示したステップS110〜ステップS210の処理は、図4に示したステップS110〜ステップS210の処理と同様の処理であるため、説明を省略する。   FIG. 10 is a diagram illustrating another example of a process flow in which the robot control device 30 causes the robot 20 to perform a predetermined operation. Note that the processing in steps S110 to S210 illustrated in FIG. 10 is the same as the processing in steps S110 to S210 illustrated in FIG.

ステップS210の処理が行われた後、ロボット制御部50は、ステップS210において位置姿勢算出部46が算出した移動量の大きさが所定の閾値未満であるか否かを判定する(ステップS240)。移動量の大きさは、この一例において、移動量を表すベクトルのノルムの平方根である。なお、移動量の大きさは、これに代えて、当該ノルム等の当該ベクトルに基づく他の量であってもよい。ここで、ステップS240の処理について説明する。   After the process of step S210 is performed, the robot control unit 50 determines whether or not the amount of movement calculated by the position / orientation calculation unit 46 in step S210 is less than a predetermined threshold (step S240). In this example, the magnitude of the moving amount is the square root of the norm of the vector representing the moving amount. Instead of this, the amount of movement may be another amount based on the vector such as the norm. Here, the process of step S240 will be described.

ロボット制御部50は、ステップS210において位置姿勢算出部46が算出した移動量のうちの第1移動量を表すベクトルのノルムの平方根を第1残差として算出する。以下では、一例として、当該ベクトルが有する成分を、撮像部座標系CCにおけるX軸方向に操作対象物Nを並進させるX方向並進量Δx、撮像部座標系CCにおけるY軸方向に操作対象物Nを並進させるY方向並進量Δy、撮像部座標系CCにおけるZ軸方向に操作対象物Nを並進させるZ方向並進量Δzのそれぞれを有する場合について説明する。この場合、当該平方根は、以下の式(2)にように表される。   The robot control unit 50 calculates the square root of the norm of the vector representing the first movement amount among the movement amounts calculated by the position / orientation calculation unit 46 in step S210 as the first residual. In the following, as an example, the component of the vector includes an X-direction translation amount Δx for translating the operation target N in the X-axis direction in the imaging unit coordinate system CC, and an operation target N in the Y-axis direction in the imaging unit coordinate system CC. A Y direction translation amount Δy for translating the Z direction and a Z direction translation amount Δz for translating the operation target N in the Z axis direction in the imaging unit coordinate system CC will be described. In this case, the square root is expressed as the following formula (2).

Figure 2018034245
Figure 2018034245

また、ロボット制御部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 robot control unit 50 calculates the square root of the norm of the vector representing the second movement amount among the movement amounts calculated by the position / orientation calculation unit 46 in step S210 as the second residual. In the following, as an example, the components of the vector include the U-direction rotation amount Δu that rotates the operation target N in the U-axis direction in the imaging unit coordinate system CC, and the operation target N in the V-axis direction in the imaging unit coordinate system CC. A description will be given of a case where each has a V-direction rotation amount Δv for rotating the rotation direction and a W-direction translation amount Δw for rotating the operation target N in the W-axis direction in the imaging unit coordinate system CC. In this case, the square root is expressed as the following formula (3). The U axis is a coordinate axis that represents the amount of rotation about the X axis in the imaging unit coordinate system CC, and the V axis is a coordinate axis that represents the amount of rotation about the Y axis in the imaging unit coordinate system CC. The axis is a coordinate axis representing a rotation amount around the Z axis in the imaging unit coordinate system CC.

Figure 2018034245
Figure 2018034245

そして、ロボット制御部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 robot control unit 50 determines whether or not the calculated first residual is less than a predetermined second threshold th1 and the calculated second residual is less than a predetermined third threshold th2. By determining, it is determined whether or not the amount of movement calculated by the position / orientation calculating unit 46 in step S210 is less than a predetermined threshold. In step S240, the robot controller 50 determines whether the calculated first residual is less than a predetermined second threshold th1, or the calculated second residual is a predetermined third threshold th2. Even if it is the structure which determines whether the magnitude | size of the movement amount which the position / orientation calculation part 46 calculated in step S210 is less than a predetermined | prescribed threshold value by any one of determining whether it is less than. Good.

ステップ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 / orientation calculation unit 46 is less than a predetermined threshold (YES in step S240), the robot control unit 50 sets the operation target object as the assembly target object O. It is determined that N is assembled, and the process is terminated. On the other hand, when it is determined that the magnitude of the movement amount calculated by the position / orientation calculation unit 46 is greater than or equal to a predetermined threshold (step S240—NO), the robot control unit 50 determines the orientation of the imaging unit coordinate system CC and the robot coordinate system. Based on the posture relative to the posture of RC, the first movement amount and the second movement amount calculated in step S210 are converted into the first movement amount and the second movement amount in the robot coordinate system RC (step S250). More specifically, the robot control unit 50 reads information indicating the posture stored in advance in the storage unit 32, and based on the read information, the movement amount calculated in step S210 in the robot coordinate system RC. Convert to travel.

次に、ロボット制御部50は、ステップS250において変換した第1移動量及び第2移動量のそれぞれに対し、操作対象物N(すなわち、アームA)を動かす移動量に関する所定のゲインであってビジュアルサーボのゲインを乗算する(ステップS260)。ゲインは、0より大きく1より小さい値であれば、如何なる値であってもよい。なお、第1移動量に乗算するゲインと、第2移動量に乗算するゲインとは、同じ値であってもよく、異なる値であってもよい。   Next, the robot control unit 50 has a predetermined gain related to the amount of movement for moving the operation target N (that is, the arm A) with respect to each of the first movement amount and the second movement amount converted in step S250, and is visual. The servo gain is multiplied (step S260). The gain may be any value as long as it is a value larger than 0 and smaller than 1. The gain multiplied by the first movement amount and the gain multiplied by the second movement amount may be the same value or different values.

次に、ロボット制御部50は、ステップS260においてゲインが乗算された第1移動量及び第2移動量に基づいてロボット20を動作させ、操作対象物Nを組付対象物Oに近づける(ステップS270)。そして、撮像制御部40は、ステップS170に遷移し、再び撮像部10に撮像可能な範囲を撮像部10に撮像させる。   Next, the robot control unit 50 operates the robot 20 based on the first movement amount and the second movement amount multiplied by the gain in step S260 to bring the operation target N closer to the assembly target O (step S270). ). Then, the imaging control unit 40 proceeds to step S <b> 170, and causes the imaging unit 10 to capture the range that can be captured by the imaging unit 10 again.

このように、実施形態の変形例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 robot control device 30 according to the first modification of the embodiment includes the position of the first object (the operation object N in this example) detected using the first image P1 and the second image P2. Then, the arm A is moved based on the gain relating to the movement amount for moving the arm A (that is, the movement amount for moving the operation target N). Thereby, the robot control device 30 performs an operation related to the first object (in this example, based on the position and gain of the first object detected using the first image P1 and the second image P2). It is possible to cause the robot 20 to perform the above-described predetermined operation) with high accuracy. That is, the robot control apparatus 30 can operate the robot 20 by visual servo and cause the robot 20 to perform the work with high accuracy. Further, even if a conversion error that cannot be ignored occurs in the conversion of the movement amount in step S250, the robot control device 30 causes the assembly object O to be attached by such visual servo (ie, feedback control). The operation target N can be assembled with high accuracy. As a result, when the operation object N is assembled to the assembly object O, it is guaranteed that the magnitude of the movement amount is less than the predetermined threshold value in step S240.

<実施形態の変形例2>
以下、図11を参照し、実施形態の変形例2について説明する。なお、実施形態の変形例2では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
<Modification 2 of Embodiment>
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 robot system 2 according to the second modification of the embodiment. The robot system 2 includes a robot 60 that incorporates a robot control device 30.

ロボット60は、第1アームと、第2アームと、第1アーム及び第2アームを支持する支持台と、当該支持台の内側にロボット制御装置30を備える双腕ロボットである。なお、ロボット60は、双腕ロボットに代えて、3本以上のアームを備える複腕ロボットであってもよい。   The robot 60 is a double-arm robot including a first arm, a second arm, a support base that supports the first arm and the second arm, and a robot control device 30 inside the support base. The robot 60 may be a multi-arm robot having three or more arms instead of the double-arm robot.

第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 robot controller 30 via a cable. Thus, the first end effector E1 performs an operation based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The first end effector E1 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

第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 first imaging unit 61. Each of the seven joints includes an actuator (not shown). That is, the first arm including the first manipulator M1 is a 7-axis vertical articulated arm. The first arm performs a motion with seven degrees of freedom by a coordinated operation of the support, the first end effector E1, the first manipulator M1, and the actuators of the seven joints included in the first manipulator M1. The first arm may be configured to operate with a degree of freedom of 6 axes or less, or may be configured to operate with a degree of freedom of 8 axes or more.

第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 robot controller 30 via a cable so as to be communicable. Accordingly, the actuator operates the first manipulator M1 based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. Further, some or all of the seven actuators included in the first manipulator M1 may be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark). Good.

第1撮像部61は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。この一例において、第1撮像部61は、第1マニピュレーターM1の一部に備えられる。そのため、第1撮像部61は、第1アームの動きに応じて移動する。また、第1撮像部61が撮像可能な範囲は、第1アームの動きに応じて変化する。第1撮像部61は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。   The first imaging unit 61 is, for example, a camera including a CCD, a CMOS, or the like that is an imaging element that converts collected light into an electrical signal. In this example, the first imaging unit 61 is provided in a part of the first manipulator M1. Therefore, the first imaging unit 61 moves according to the movement of the first arm. In addition, the range in which the first imaging unit 61 can image changes according to the movement of the first arm. The first imaging unit 61 may be configured to capture a still image in the range, or may be configured to capture a moving image in the range.

また、第1撮像部61は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第1撮像部61は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。   The first imaging unit 61 is communicably connected to the robot control device 30 via a cable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The first imaging unit 61 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

第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 robot controller 30 via a cable. Accordingly, the second end effector E2 performs an operation based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The second end effector E2 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

第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 second imaging unit 62. Each of the seven joints includes an actuator (not shown). That is, the second arm provided with the second manipulator M2 is a 7-axis vertical articulated arm. The second arm performs an operation with seven degrees of freedom by a coordinated operation of the support, the second end effector E2, the second manipulator M2, and the actuators of the seven joints included in the second manipulator M2. The second arm may be configured to operate with a degree of freedom of 6 axes or less, or may be configured to operate with a degree of freedom of 8 axes or more.

第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 robot controller 30 via a cable. Thus, the actuator operates the second manipulator M2 based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. Further, some or all of the seven actuators included in the second manipulator M2 may be configured to be connected to the robot controller 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark). Good.

第2撮像部62は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。この一例において、第2撮像部62は、第2マニピュレーターM2の一部に備えられる。そのため、第2撮像部62は、第2アームの動きに応じて移動する。また、第2撮像部62が撮像可能な範囲は、第2アームの動きに応じて変化する。第2撮像部62は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。   The second imaging unit 62 is, for example, a camera that includes a CCD, a CMOS, or the like that is an imaging element that converts collected light into an electrical signal. In this example, the second imaging unit 62 is provided in a part of the second manipulator M2. Therefore, the second imaging unit 62 moves according to the movement of the second arm. In addition, the range that can be imaged by the second imaging unit 62 changes according to the movement of the second arm. The second imaging unit 62 may be configured to capture a still image within the range, or may be configured to capture a moving image within the range.

また、第2撮像部62は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2撮像部62は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。   The second imaging unit 62 is communicably connected to the robot control device 30 via a cable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. Note that the second imaging unit 62 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

また、ロボット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 robot 60 includes a third imaging unit 63 and a fourth imaging unit 64.
The third imaging unit 63 is, for example, a camera provided with a CCD, a CMOS, or the like that is an imaging element that converts collected light into an electrical signal. The third imaging unit 63 is provided in a region that includes the above-described work area and that can be imaged by the fourth imaging unit 64 together with the fourth imaging unit 64. The third imaging unit 63 is communicably connected to the robot control device 30 via a cable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The third imaging unit 63 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

第4撮像部64は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第4撮像部64は、作業領域を含む範囲であって第3撮像部63が撮像可能な範囲を第3撮像部63とともにステレオ撮像可能な部位に備えられる。第4撮像部64は、ケーブルによって通信可能にロボット制御装置30と接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第4撮像部64は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。   The fourth imaging unit 64 is, for example, a camera that includes a CCD, a CMOS, or the like that is an imaging element that converts collected light into an electrical signal. The fourth imaging unit 64 is provided in a region that includes the work area and can be imaged by the third imaging unit 63 in a portion that can be imaged in stereo with the third imaging unit 63. The fourth imaging unit 64 is connected to the robot control device 30 via a cable so as to be able to communicate. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The fourth imaging unit 64 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

上記で説明したロボット60が備える各機能部は、この一例において、ロボット60に内蔵されたロボット制御装置30から制御信号を取得する。そして、当該各機能部は、取得した制御信号に基づいた動作を行う。なお、ロボット60は、ロボット制御装置30を内蔵する構成に代えて、外部に設置されたロボット制御装置30により制御される構成であってもよい。この場合、ロボット60と、ロボット制御装置30とは、ロボットシステムを構成する。また、ロボット60は、第1撮像部61と第2撮像部62のいずれか一方又は両方を備えない構成であってもよい。   In this example, each functional unit included in the robot 60 described above acquires a control signal from the robot control device 30 built in the robot 60. Then, each functional unit performs an operation based on the acquired control signal. The robot 60 may be configured to be controlled by the robot control device 30 installed outside, instead of the configuration incorporating the robot control device 30. In this case, the robot 60 and the robot control device 30 constitute a robot system. Further, the robot 60 may be configured not to include one or both of the first imaging unit 61 and the second imaging unit 62.

ここで、この一例における操作対象物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 robot control device 30 controls the first arm in the same manner as the arm A in the embodiment. Further, the robot control apparatus 30 in this example causes the third imaging unit 63 and the fourth imaging unit 64 to perform stereo imaging of the work area instead of the imaging unit 10 in the embodiment, and the third imaging unit 63 and the fourth imaging unit. The first image P1, the second image P2, the third image, and the fourth image P4 are obtained from each of 64. In this case, the robot control device 30 generates the first difference image and the second difference image based on the first image P1, the second image P2, the third image, and the fourth image P4 captured by the third imaging unit 63. In addition, a first difference image and a second difference image are generated based on the first image P1, the second image P2, the third image, and the fourth image P4 captured by the fourth imaging unit 64. Then, the robot control device 30 determines the position and orientation of the assembly target object O in the imaging unit coordinate system CC and the operation target object N in the imaging unit coordinate system CC based on the first difference image and the second difference image. Is calculated. The position and orientation of the assembly target object O are a three-dimensional position and a three-dimensional orientation calculated based on the two first difference images (that is, stereo images). Further, the position and orientation of the operation target N are a three-dimensional position and a three-dimensional orientation calculated based on the two second difference images (that is, stereo images).

また、この一例における組付対象物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 robot control device 30 operates the second arm in step S130 described above to move the assembly object O to the inside of the range where the third imaging unit 63 and the fourth imaging unit 64 can perform stereo imaging. Thereby, the robot control apparatus 30 can omit the process of waiting until the user attaches the assembly target object O to the jig F in the process of step S130 shown in FIG. As a result, the robot control device 30 can cause the robot 20 to perform a predetermined operation without causing the user to perform the operation.

このように、実施形態の変形例2におけるロボット制御装置30は、単腕ロボットであるロボット20に代えて、双腕ロボットであるロボット60を制御する場合であっても、第1対象物(この一例において、操作対象物N)を含まない第1範囲が撮像された第1画像と、第1範囲の少なくとも一部と重なる範囲であって第1対象物を含む第2範囲が撮像された第2画像とを用いて検出された第1対象物の位置に基づいてアーム(この一例において、第1アーム)を動かす。これにより、ロボット制御装置30は、第1対象物に関する作業をロボット60に精度よく行わせることができる。   As described above, the robot control apparatus 30 according to the second modification of the embodiment replaces the robot 20 that is a single-arm robot with the first object (this object) In one example, a first image in which a first range that does not include the operation target N) is captured, and a second range that includes at least a part of the first range and that includes the first target is captured. The arm (in this example, the first arm) is moved based on the position of the first object detected using the two images. Thereby, the robot control apparatus 30 can make the robot 60 perform the work on the first object with high accuracy.

なお、ロボット制御装置30は、ステップS220において変換した移動量、又はステップS260においてゲインを乗算した移動量に基づいて第1アームを動かす構成に代えて、ステップS220において変換した移動量、又はステップS260においてゲインを乗算した移動量に基づいて第2アームを動かす構成であってもよい。すなわち、ロボット制御装置30は、第2アームを動作させ、操作対象物Nに対して組付対象物Oを組み付ける作業を所定の作業としてロボット60に行わせる構成であってもよい。   Note that the robot control device 30 replaces the configuration in which the first arm is moved based on the movement amount converted in step S220 or the movement amount multiplied by the gain in step S260, or the movement amount converted in step S220 or step S260. The second arm may be moved based on the amount of movement multiplied by the gain. That is, the robot control device 30 may be configured to operate the second arm and cause the robot 60 to perform the work of assembling the assembly object O to the operation object N as a predetermined work.

また、ロボットシステム2では、実施形態同様に、組付対象物Oが治具Fに取り付けられる構成であってもよい。この場合、ロボット60は、第1アームと第2アームのいずれか一方又は両方によって操作対象物Nを予め把持する。   Moreover, in the robot system 2, the structure by which the assembly target object O is attached to the jig | tool F may be sufficient like embodiment. In this case, the robot 60 holds the operation target N in advance by either one or both of the first arm and the second arm.

また、ロボットシステム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 robot system 2 may be configured to further include an imaging unit 10 as shown in FIG. FIG. 12 is a diagram illustrating another example of the configuration of the robot system 2 according to the second modification of the embodiment. In this case, the robot control device 30 captures the first image P1, the second image P2, the third image, and the fourth image P4 by the imaging unit 10, and the first image P1 and the second image P2 from the imaging unit 10. Each of the image P2, the third image, and the fourth image P4 is acquired.

以上のように、ロボット(この一例において、ロボット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 robot 20 or the robot 60) is configured such that the first image (in this example) in which the first range not including the first object (in this example, the operation target N) is captured. , The first image P1) and a second image (in this example, the second image P2) in which the second range including the first object is captured and overlaps at least a part of the first range. The arm (in this example, the arm A or the first arm) is moved based on the position of the first object detected in this way. Thereby, the robot can perform the work (the predetermined work in this example) related to the first object with high accuracy.

また、ロボットは、第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 SYMBOLS 1, 2 ... Robot system, 10 ... Imaging part, 20, 60 ... Robot, 30 ... Robot control apparatus, 31 ... CPU, 32 ... Memory | storage part, 33 ... Input reception part, 34 ... Communication part, 35 ... Display part, 36 DESCRIPTION OF SYMBOLS ... Control part, 40 ... Imaging control part, 42 ... Image acquisition part, 46 ... Position and orientation calculation part, 50 ... Robot control part, 61 ... 1st imaging part, 62 ... 2nd imaging part, 63 ... 3rd imaging part, 64: Fourth imaging unit

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画像と前記第2画像との差分に基づく差分画像が生成され、生成された前記差分画像を用いて検出された前記第1対象物の位置に基づいて前記アームを動かす、
請求項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画像とを用いて検出された前記第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対象物は、前記アームにより把持されており、
前記第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.
前記第1対象物は、前記アームにより第2対象物に組み付ける物体であり、
前記第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.
前記第3画像は、前記第2画像である、
請求項5に記載のロボット。
The third image is the second image;
The robot according to claim 5.
前記第1画像と前記第2画像とを用いて検出された前記第1対象物の姿勢に基づいて前記アームを動かす、
請求項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.
前記第1画像と前記第2画像とを用いて検出された前記第1対象物の姿勢と、前記第1対象物の姿勢を変化させる目標となる目標姿勢との差に基づいて前記アームを動かす、
請求項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画像とを用いて検出された前記第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.
前記第1画像と前記第2画像とを用いて検出された前記第1対象物の位置と、前記目標位置情報と、前記第2対象物を含まない第3範囲が撮像された第3画像、及び前記第3範囲の少なくとも一部と重なる範囲であって前記第2対象物を含む第4範囲が撮像された第4画像を用いて検出された前記第2対象物の位置とに基づいて前記第1対象物と前記第2対象物とを組み付ける、
請求項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.
前記第1画像と前記第2画像とを用いて検出された前記第1対象物の姿勢と、当該姿勢と前記第2対象物の姿勢を変化させる目標となる目標姿勢との相対的な姿勢を示す目標姿勢情報とに基づいて前記アームを動かす、
請求項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.
請求項1から11のうちいずれか一項に記載のロボットを制御する、
ロボット制御装置。
Controlling the robot according to any one of claims 1 to 11,
Robot control device.
請求項1から11のうちいずれか一項に記載のロボットと、
前記ロボットを制御するロボット制御装置と、
を備えるロボットシステム。
A robot according to any one of claims 1 to 11,
A robot controller for controlling the robot;
A robot system comprising:
JP2016168980A 2016-08-31 2016-08-31 Robot, robot control device, and robot system Pending JP2018034245A (en)

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)

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