JP2015182210A - Robot control device, robot, robot system, robot control method, and program - Google Patents

Robot control device, robot, robot system, robot control method, and program Download PDF

Info

Publication number
JP2015182210A
JP2015182210A JP2014063225A JP2014063225A JP2015182210A JP 2015182210 A JP2015182210 A JP 2015182210A JP 2014063225 A JP2014063225 A JP 2014063225A JP 2014063225 A JP2014063225 A JP 2014063225A JP 2015182210 A JP2015182210 A JP 2015182210A
Authority
JP
Japan
Prior art keywords
image
robot
target
background
control
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
JP2014063225A
Other languages
Japanese (ja)
Inventor
郁馬 降旗
Ikuma Furihata
郁馬 降旗
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 セイコーエプソン株式会社
Priority to JP2014063225A priority Critical patent/JP2015182210A/en
Publication of JP2015182210A publication Critical patent/JP2015182210A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To easily and effectively perform visual servo even if work content is changed.SOLUTION: A robot control device performs visual servo of a robot by using, as a target image, an overlapped image obtained by overlapping a background image being an image imaging a background and a model image of an object.

Description

本発明は、ロボット制御装置、ロボット、ロボットシステム、ロボット制御方法、及びプログラムに関する。   The present invention relates to a robot control device, a robot, a robot system, a robot control method, and a program.

特許文献1には、ビジュアルサーボを行うロボット装置において、教示の際に、ロボットアームの先端に固定されたCCDカメラを用いて対象物を撮像し、CCDカメラからの画像に基づいて画像特徴量を抽出することが記載されている。   In Patent Document 1, in a robot apparatus that performs visual servoing, an object is imaged using a CCD camera fixed to the tip of a robot arm at the time of teaching, and an image feature amount is calculated based on an image from the CCD camera. Extracting is described.

特開2002−18754号公報JP 2002-18754 A

ところで、例えば多品種少量生産においては、ロボットの作業内容が部品等の対象物の変更に応じてより頻繁に変更される。また、ビジュアルサーボを行う場合には、目標画像(「参照画像」、「ゴール画像」などともいう)を用意するため、対象物が変更されるたびにロボットを操作して当該対象物を撮像する教示作業が必要となる。また、教示作業では、ロボットの操作が伴うため、熟練したスキルの作業者が必要である。このように、従来のビジュアルサーボは、作業時間などの面で効率が悪い。   By the way, in, for example, high-mix low-volume production, the work content of the robot is changed more frequently in response to changes in objects such as parts. When visual servoing is performed, a target image (also referred to as a “reference image”, a “goal image”, or the like) is prepared, so that each time the target is changed, the robot is operated to image the target. Teaching work is required. In addition, since teaching operations involve robot operations, skilled workers are required. Thus, the conventional visual servo is inefficient in terms of work time and the like.

そこで、本発明は、作業内容が変更されても、より簡単に効率よくビジュアルサーボを行うことを目的とする。   Therefore, an object of the present invention is to perform visual servoing more easily and efficiently even when work contents are changed.

上記の課題を解決する本発明の第一態様は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う、ロボット制御装置である。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更(対象物の変更など)が発生しても簡単に目標画像を作成することができる。   A first aspect of the present invention that solves the above-described problems is a robot that performs visual servoing of a robot using a superimposed image obtained by superimposing a background image that is an image of a background and a model image of an object as a target image. It is a control device. Thus, if a target image is created by superimposing a model image of an object on a background image, visual servoing can be executed easily and efficiently without actually operating the robot to capture the target image with the imaging device. In addition, since a model image of the object is used, a target image can be easily created even if a change in work content (such as a change in the object) occurs.

上記のロボット制御装置であって、前記重畳画像は、前記対象物を把持した前記ロボットの部分のモデル画像が重ね合わされていてもよい。これにより、背景画像にロボットのモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、ロボットのモデル画像を使用するため、作業内容の変更(ロボットの姿勢の変更など)が発生しても簡単に目標画像を作成することができる。   In the above robot control device, the superimposed image may be a model image of a part of the robot that holds the object. Thus, if a target image is created by superimposing a robot model image on a background image, visual servo can be executed easily and efficiently without actually operating the robot and capturing the target image with the imaging device. In addition, since a robot model image is used, a target image can be easily created even if a change in work content (such as a change in the posture of the robot) occurs.

上記のロボット制御装置であって、予め用意された複数の対象物のモデル画像から、一の対象物のモデル画像の選択を受け付け、前記選択された対象物のモデル画像を用いて前記重畳画像を生成してもよい。これにより、対象物の変更が発生しても簡単に目標画像を作成することができる。   In the robot control apparatus, the selection of a model image of one object is received from a plurality of model images of the object prepared in advance, and the superimposed image is obtained using the model image of the selected object. It may be generated. Thereby, even if the change of the object occurs, the target image can be easily created.

上記のロボット制御装置であって、前記対象物及び前記ロボットが取り得る姿勢のうち、一の姿勢の選択を受け付け、前記選択された姿勢の対象物のモデル画像及び前記ロボットの部分のモデル画像を用いて前記重畳画像を生成してもよい。これにより、対象物やロボットの姿勢の変更が発生しても簡単に目標画像を作成することができる。   The robot control apparatus, wherein a selection of one posture among the postures that the object and the robot can take is received, and a model image of the object in the selected posture and a model image of the part of the robot are obtained. The superimposed image may be generated by using this. Thereby, a target image can be easily created even if a change in the posture of an object or a robot occurs.

上記のロボット制御装置であって、前記対象物を撮像した撮像画像を取得する画像取得部を備え、前記ビジュアルサーボは、前記ロボットが第一の姿勢から第二の姿勢へ移る間に、前記画像取得部により前記撮像画像を複数回取得し、前記目標画像と前記撮像画像とに基づいて、前記ロボットを制御する第一の処理を含んでいてもよい。背景画像とモデル画像とを重ね合わせた目標画像を用いることで、画像から抽出できる特徴量が増えるため、より精度の高いビジュアルサーボを行うことができる。   The robot control apparatus includes an image acquisition unit that acquires a captured image obtained by capturing the object, and the visual servo is configured to display the image while the robot moves from a first posture to a second posture. The acquisition unit may include a first process of acquiring the captured image a plurality of times and controlling the robot based on the target image and the captured image. By using the target image obtained by superimposing the background image and the model image, the amount of features that can be extracted from the image increases, so that more accurate visual servoing can be performed.

上記のロボット制御装置であって、前記ビジュアルサーボは、前記ロボットが前記第一の姿勢から前記第二の姿勢へ移る間に、前記画像取得部により前記撮像画像を複数回取得し、前記撮像画像と、前記背景画像を省略した前記対象物のモデル画像を含む目標画像とに基づいて、前記ロボットを制御する第二の処理を含んでいてもよい。背景画像を省略した目標画像を用いることで、特徴量の算出に掛かる演算処理量を減るため、ビジュアルサーボの処理時間を短くすることができる。   In the robot control apparatus, the visual servo acquires the captured image a plurality of times by the image acquisition unit while the robot moves from the first posture to the second posture, and the captured image And a second process for controlling the robot based on a target image including a model image of the object from which the background image is omitted. By using the target image from which the background image is omitted, the processing time for visual servoing can be shortened because the amount of calculation processing required to calculate the feature amount is reduced.

上記のロボット制御装置であって、前記撮像画像及び前記目標画像から抽出した所定の特徴点間の距離、又は前記撮像画像及び前記目標画像から抽出した所定の領域の重なり度合、の少なくとも一方に基づいて、前記第二の処理を前記第一の処理に切り替えてもよい。これにより、例えば、作業の前半までは、演算処理量が少ないビジュアルサーボを行い、作業の後半からは、精度の高いビジュアルサーボを行うことができる。   In the above robot control device, based on at least one of a distance between predetermined feature points extracted from the captured image and the target image, or an overlapping degree of predetermined regions extracted from the captured image and the target image Then, the second process may be switched to the first process. Thereby, for example, visual servo with a small amount of calculation processing can be performed until the first half of the work, and high-precision visual servo can be performed from the second half of the work.

上記のロボット制御装置であって、前記目標画像を表示する表示部、を備えていてもよい。これにより、ユーザーは、背景画像とモデル画像とを重ね合わせた目標画像、あるいは、背景画像を省略した目標画像を確認することができる。   The robot control apparatus may include a display unit that displays the target image. Thereby, the user can confirm the target image obtained by superimposing the background image and the model image or the target image from which the background image is omitted.

上記の課題を解決する本発明の第二態様は、背景を撮像した画像である背景画像を記憶する背景画像記憶部と、対象物のモデル画像を記憶するモデル画像記憶部と、前記背景画像と、前記対象物のモデル画像とを重ね合わせた目標画像を生成する目標画像生成部と、前記対象物を撮像した撮像画像を取得する画像取得部と、前記撮像画像と前記目標画像とに基づいてビジュアルサーボによりロボットを制御する制御部と、を備えるロボット制御装置である。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更(対象物の変更など)が発生しても簡単に目標画像を作成することができる。   The second aspect of the present invention that solves the above problems is a background image storage unit that stores a background image that is an image of a background, a model image storage unit that stores a model image of an object, and the background image. A target image generation unit that generates a target image obtained by superimposing the model image of the target object, an image acquisition unit that acquires a captured image obtained by capturing the target object, and the captured image and the target image. And a control unit that controls the robot by visual servo. Thus, if a target image is created by superimposing a model image of an object on a background image, visual servoing can be executed easily and efficiently without actually operating the robot to capture the target image with the imaging device. In addition, since a model image of the object is used, a target image can be easily created even if a change in work content (such as a change in the object) occurs.

上記の課題を解決する本発明の第三態様は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ビジュアルサーボを行う、ロボットである。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更(対象物の変更など)が発生しても簡単に目標画像を作成することができる。   The third aspect of the present invention that solves the above-described problem is a robot that performs visual servoing using a superimposed image obtained by superimposing a background image that is an image of a background and a model image of an object as a target image. . Thus, if a target image is created by superimposing a model image of an object on a background image, visual servoing can be executed easily and efficiently without actually operating the robot to capture the target image with the imaging device. In addition, since a model image of the object is used, a target image can be easily created even if a change in work content (such as a change in the object) occurs.

上記の課題を解決する本発明の第四態様は、ロボットと、前記ロボットを制御するロボット制御装置とを備えるロボットシステムであって、前記ロボット制御装置は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、前記ロボットのビジュアルサーボを行う、ロボットシステムである。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更(対象物の変更など)が発生しても簡単に目標画像を作成することができる。   A fourth aspect of the present invention that solves the above problem is a robot system including a robot and a robot control device that controls the robot, wherein the robot control device includes a background image that is an image of a background image, and The robot system performs visual servoing of the robot using a superimposed image obtained by superimposing a model image of an object as a target image. Thus, if a target image is created by superimposing a model image of an object on a background image, visual servoing can be executed easily and efficiently without actually operating the robot to capture the target image with the imaging device. In addition, since a model image of the object is used, a target image can be easily created even if a change in work content (such as a change in the object) occurs.

上記の課題を解決する本発明の第五態様は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う、ロボット制御方法である。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更(対象物の変更など)が発生しても簡単に目標画像を作成することができる。   A fifth aspect of the present invention that solves the above-described problem is a robot that performs visual servoing of a robot using a superimposed image obtained by superimposing a background image that is an image of a background and a model image of an object as a target image. It is a control method. Thus, if a target image is created by superimposing a model image of an object on a background image, visual servoing can be executed easily and efficiently without actually operating the robot to capture the target image with the imaging device. In addition, since a model image of the object is used, a target image can be easily created even if a change in work content (such as a change in the object) occurs.

上記の課題を解決する本発明の第六態様は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う処理を、演算装置に実行させるプログラムである。これにより、背景画像に対象物のモデル画像を重ねた目標画像を作成すれば、実際にロボットを操作して撮像装置で目標画像を撮像しなくても、簡単に効率よくビジュアルサーボを実行できる。また、対象物のモデル画像を使用するため、作業内容の変更(対象物の変更など)が発生しても簡単に目標画像を作成することができる。   The sixth aspect of the present invention that solves the above problem is a process of performing visual servoing of a robot using a superimposed image obtained by superimposing a background image that is an image of a background and a model image of an object as a target image. This is a program to be executed by the arithmetic device. Thus, if a target image is created by superimposing a model image of an object on a background image, visual servoing can be executed easily and efficiently without actually operating the robot to capture the target image with the imaging device. In addition, since a model image of the object is used, a target image can be easily created even if a change in work content (such as a change in the object) occurs.

本発明の一実施形態に係るロボットシステムの概略構成の一例を示す図である。It is a figure which shows an example of schematic structure of the robot system which concerns on one Embodiment of this invention. ロボットシステムの機能構成の一例を示す図である。It is a figure which shows an example of a function structure of a robot system. ロボット制御装置の機能を実現するハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions which implement | achieve the function of a robot control apparatus. 教示処理の一例を示すフロー図である。It is a flowchart which shows an example of a teaching process. ビジュアルサーボ処理の一例を示すフロー図である。It is a flowchart which shows an example of a visual servo process. 背景画像、目標モデル画像、及び目標画像の一例を説明する図である。It is a figure explaining an example of a background image, a target model image, and a target image.

本発明の一実施形態について、図面を参照して説明する。   An embodiment of the present invention will be described with reference to the drawings.

図1は、本発明の一実施形態に係るロボットシステムの概略構成の一例を示す図である。   FIG. 1 is a diagram illustrating an example of a schematic configuration of a robot system according to an embodiment of the present invention.

ロボットシステム1は、ロボット2と、ロボット制御装置3とを有する。ロボット2とロボット制御装置3は、通信可能に接続される。また、ロボット制御装置3には、撮像装置4が通信可能に接続される。   The robot system 1 includes a robot 2 and a robot control device 3. The robot 2 and the robot control device 3 are connected to be communicable. In addition, an imaging device 4 is communicably connected to the robot control device 3.

ロボット2は、ロボット制御装置3からの指示に従って作業を行う。ロボット2は、例えば、作業台Tの近くに配置され、作業台T上の所定の作業領域内で作業を行う。ロボット2の作業内容は特に限定されないが、以下では、二つの対象物Wをそれぞれ左右のハンドで把持し、これらの対象物Wを組み付ける作業を例に挙げて説明する。   The robot 2 performs work according to instructions from the robot control device 3. The robot 2 is disposed near the work table T, for example, and performs work in a predetermined work area on the work table T. Although the work content of the robot 2 is not particularly limited, the following description will be given by taking as an example the work of holding the two objects W by the left and right hands and assembling these objects W.

ロボット2は、胴部20と、アーム21と、ハンド22と、脚部24と、頭部25とを有する。   The robot 2 includes a body part 20, an arm 21, a hand 22, a leg part 24, and a head part 25.

アーム21は、胴部20に設けられる。アーム21は、一以上のジョイント(「回転軸」ともいう)21a及び一以上のアーム部材(「リンク」ともいう)21bを含む。   The arm 21 is provided on the trunk portion 20. The arm 21 includes one or more joints (also referred to as “rotary shafts”) 21 a and one or more arm members (also referred to as “links”) 21 b.

ジョイント21aには、それらを動作させるためのアクチュエーター(図示せず)が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、ロボット2のフィードバック制御などに使用される。   The joint 21a is provided with an actuator (not shown) for operating them. The actuator includes, for example, a servo motor and an encoder. The encoder value output from the encoder is used for feedback control of the robot 2 and the like.

また、アーム21の先端には、力覚センサー21cが設けられる。力覚センサー21cは、ロボット2が出している力に対する反力として受けている力や、モーメントを検出するセンサーである。力覚センサー21cとしては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。なお、力覚センサーは、6軸に限らず、例えば3軸でもよい。   A force sensor 21 c is provided at the tip of the arm 21. The force sensor 21c is a sensor that detects a force and a moment received as a reaction force with respect to the force generated by the robot 2. As the force sensor 21c, for example, a 6-axis force sensor capable of simultaneously detecting 6 components of a force component in the translational 3 axis direction and a moment component around the 3 rotation axes can be used. The force sensor is not limited to six axes, and may be, for example, three axes.

各回転軸を連動させることにより、アーム部材21bの姿勢を変化させ、アーム21の先端部などに設定された注目位置(「エンドポイント」ともいう)を、所定の可動範囲内で自在に移動させたり自由な方向へ向けたりすることができる。なお、エンドポイントの位置は、アームの先端部に限定されず、例えば、ハンド22の先端部などに設定されてもよい。   By linking each rotation axis, the posture of the arm member 21b is changed, and the position of interest (also referred to as “end point”) set at the tip of the arm 21 is freely moved within a predetermined movable range. Can be directed in any direction. Note that the position of the end point is not limited to the tip of the arm, and may be set at the tip of the hand 22, for example.

なお、アーム21は、マニピュレーターの一種ということができる。マニピュレーターは、エンドポイントの位置を移動させる機構であり、アームに限られず様々な形態をとることができる。また、マニピュレーターは、図示するように2本に限られず、1本あるいは3本以上設けるようにしてもよい。   The arm 21 can be said to be a kind of manipulator. The manipulator is a mechanism that moves the position of the end point, and is not limited to an arm and can take various forms. Further, the number of manipulators is not limited to two as shown in the figure, and one or three or more manipulators may be provided.

ハンド22は、アーム21の先端に設けられる。ハンド22は、例えば、複数の指を備え、少なくとも2本の指で作業対象物を把持したり解放したりすることができる。ハンド22は、アーム21の先端部に対して着脱可能であってもよい。なお、各指には、それらを動作させるためのアクチュエーター(図示せず)が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。   The hand 22 is provided at the tip of the arm 21. The hand 22 includes, for example, a plurality of fingers, and can hold or release the work object with at least two fingers. The hand 22 may be detachable from the tip of the arm 21. Each finger is provided with an actuator (not shown) for operating them. The actuator includes, for example, a servo motor and an encoder.

なお、ハンド22は、エンドエフェクターの一種ということができる。エンドエフェクターは、作業対象物を把持したり、持ち上げたり、吊り上げたり、吸着したり、ワークを加工したりするための部材である。エンドエフェクターは、ハンド、フック、吸盤など、様々な形態をとることができる。また、エンドエフェクターは、一本のアームに対して複数設けるようにしてもよい。   The hand 22 can be said to be a kind of end effector. The end effector is a member for gripping, lifting, lifting, adsorbing, or processing a work object. The end effector can take various forms such as a hand, a hook, and a suction cup. Further, a plurality of end effectors may be provided for one arm.

もちろん、ロボット2の構成は図示した例に限られない。例えば、図1ではジョイント数が6個(6軸)の例が示されているが、ジョイントの数(「軸数」ともいう)やリンクの数を増減させてもよい。また、ジョイント、リンク、ハンド等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。   Of course, the configuration of the robot 2 is not limited to the illustrated example. For example, FIG. 1 shows an example in which the number of joints is six (six axes), but the number of joints (also referred to as “number of axes”) and the number of links may be increased or decreased. In addition, the shape, size, arrangement, structure, and the like of various members such as joints, links, and hands may be changed as appropriate.

ロボット制御装置3は、ロボット2の動作を制御する。例えば、ロボット制御装置3は、ユーザーの操作により、ロボット2に実行させる作業内容の教示を受け付ける。また、ロボット制御装置3は、教示に基づいて、ビジュアルサーボ等によりロボット2を動作させる制御命令を生成し、生成した制御命令をロボット2に出力する。ロボット2は、ロボット制御装置3から出力された制御命令に従ってアクチュエーターを駆動させることで動作する。また、ロボット制御装置3は、撮像装置4を制御し、ビジュアルサーボ等に使用する撮像画像を取得する。ロボット制御装置3については、後に詳述する。   The robot control device 3 controls the operation of the robot 2. For example, the robot control device 3 accepts teaching of work contents to be executed by the robot 2 by a user operation. Further, the robot control device 3 generates a control command for operating the robot 2 by visual servo or the like based on the teaching, and outputs the generated control command to the robot 2. The robot 2 operates by driving an actuator in accordance with a control command output from the robot control device 3. Further, the robot control device 3 controls the imaging device 4 and acquires a captured image used for visual servo or the like. The robot controller 3 will be described in detail later.

撮像装置4は、例えば作業台T上の作業領域を撮像して、撮像画像データを生成し、ロボット制御装置3に出力する。撮像装置4は、例えば、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等を有するカメラである。   For example, the imaging device 4 images a work area on the work table T, generates captured image data, and outputs the captured image data to the robot control device 3. The imaging device 4 is a camera having, for example, a CCD (Charge Coupled Device), a CMOS (Complementary Metal Oxide Semiconductor), or the like.

上記のロボットシステム1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成例に限られない。また、一般的なロボットシステムが備える構成を排除するものではない。   The configuration of the robot system 1 described above is the main configuration in describing the features of the present embodiment, and is not limited to the above configuration example. Further, the configuration of a general robot system is not excluded.

例えば、撮像装置4の設置位置は、特に限定されず、天井、壁などに設置することができる。また、撮像装置4は、ロボット2の頭部25、アーム21の先端部分、胴部20などに設けられてもよい。また、例えば、撮像装置4に加えて、他の撮像装置を設けるようにしてもよい。また、例えば、ロボット制御装置3は、制御部としてロボット2に内蔵されていてもよい。また、例えば、ロボット制御装置3の教示に関する機能は、ロボット制御装置3とは別の教示装置として設けられ、当該教示装置からロボット制御装置3又はロボット2の制御部に対して教示又は制御命令を送るようにしてもよい。   For example, the installation position of the imaging device 4 is not particularly limited, and can be installed on a ceiling, a wall, or the like. In addition, the imaging device 4 may be provided on the head 25 of the robot 2, the tip of the arm 21, the trunk 20, and the like. Further, for example, another imaging device may be provided in addition to the imaging device 4. For example, the robot control apparatus 3 may be incorporated in the robot 2 as a control unit. Further, for example, the function related to teaching of the robot control device 3 is provided as a teaching device different from the robot control device 3, and a teaching or control command is sent from the teaching device to the control unit of the robot control device 3 or the robot 2. You may make it send.

図2は、ロボットシステムの機能構成の一例を示す図である。   FIG. 2 is a diagram illustrating an example of a functional configuration of the robot system.

ロボット2は、動作制御部200等を備える。ロボット制御装置3は、画像記憶部300、入力部310、出力部320、画像取得部330、目標画像生成部340、ビジュアルサーボ制御部350等を備える。   The robot 2 includes an operation control unit 200 and the like. The robot control device 3 includes an image storage unit 300, an input unit 310, an output unit 320, an image acquisition unit 330, a target image generation unit 340, a visual servo control unit 350, and the like.

動作制御部200は、例えば、ロボット制御装置3から出力される移動指令値を含む制御命令と、各ジョイント21aのアクチュエーターのエンコーダー値等とに基づいて、エンドポイントの現在位置が移動指令値が示す目標位置となるように、各ジョイント21aのアクチュエーターを駆動させる。なお、エンドポイントの現在位置は、例えば各ジョイント21aのアクチュエーターにおけるエンコーダー値等から求めることができる。また、動作制御部200は、例えば、ロボット制御装置3から出力されるハンド22の各指に対する制御命令に従って、指定された移動量だけ指を閉じたり開いたりする。   The motion control unit 200 indicates the current position of the end point by the movement command value based on, for example, the control command including the movement command value output from the robot control device 3 and the encoder value of the actuator of each joint 21a. The actuator of each joint 21a is driven so that it may become a target position. Note that the current position of the end point can be obtained from, for example, an encoder value in the actuator of each joint 21a. Further, the operation control unit 200 closes or opens the finger by a designated movement amount in accordance with, for example, a control command for each finger of the hand 22 output from the robot control device 3.

画像記憶部300は、背景画像記憶部として、背景画像を格納する。   The image storage unit 300 stores a background image as a background image storage unit.

本実施形態では、対象物Wやロボット2の部分などの動的な物を含まない状態で、ロボット2が作業を行う作業領域を撮像し、これを背景画像として使用する。すなわち、背景画像の内容は、作業環境が変わらない限りは静的である。また、本実施形態では、当該背景画像に、対象物Wやロボット2の部分などの動的な物のモデル画像を重畳することで、ビジュアルサーボで用いる目標画像を生成する。また、本実施形態では、背景画像を省略し、対象物Wやロボット2の部分などの動的な物のモデル画像を、ビジュアルサーボで用いる目標画像として生成する。   In the present embodiment, a work area in which the robot 2 performs work is captured without using dynamic objects such as the object W and the robot 2 portion, and this is used as a background image. That is, the content of the background image is static unless the work environment changes. In the present embodiment, a target image used in visual servoing is generated by superimposing a model image of a dynamic object such as the object W or the robot 2 on the background image. In the present embodiment, the background image is omitted, and a model image of a dynamic object such as the object W or the robot 2 is generated as a target image used in the visual servo.

また、画像記憶部300は、モデル画像記憶部として、対象物Wやロボット2の部分などの動的な物のモデル画像を記憶する。モデル画像は、例えば、より実物に近い3次元リアルCG(コンピューターグラフィックス)であるのが好ましい。具体的には、例えば、対象物Wやロボット2の3次元CADデータに実物の写真データをテクスチャーマッピングしたCGである。対象物Wのモデル画像は、ロボット2の異なる複数の作業内容に対応できるように、対象物Wごとに用意することができる。なお、後述するように、3次元リアルCGをユーザーが操作することで、様々な姿勢の対象物Wやロボット2の部分のモデル画像を作成することができる。   The image storage unit 300 stores a model image of a dynamic object such as the object W or the robot 2 as a model image storage unit. The model image is preferably, for example, a three-dimensional real CG (computer graphics) that is closer to the real object. Specifically, for example, a CG obtained by texture-mapping real photograph data on the three-dimensional CAD data of the object W or the robot 2. A model image of the object W can be prepared for each object W so that it can correspond to a plurality of different work contents of the robot 2. Note that, as will be described later, a model image of the object W in various postures or a part of the robot 2 can be created by the user operating the three-dimensional real CG.

また、画像記憶部300は、入力部310を介して設定された目標画像を記憶する。本実施形態では、画像記憶部300に記憶される目標画像は、例えば、背景画像と、対象物W及びロボットの部分の目標姿勢(ビジュアルサーボにおける目標)を表すモデル画像(目標モデル画像ともいう)とを関連付けた画像である。   The image storage unit 300 stores the target image set via the input unit 310. In the present embodiment, the target image stored in the image storage unit 300 is, for example, a background image and a model image (also referred to as a target model image) representing a target posture (target in visual servo) of the object W and the robot part. Is an image associated with.

入力部310は、ユーザーから情報の入力を受け付ける。入力部310は、例えば、出力部320により出力されるユーザーインターフェイス画面などを介して、背景画像の設定、目標モデル画像の設定などを受け付ける。   The input unit 310 receives input of information from the user. The input unit 310 accepts setting of a background image, setting of a target model image, and the like via, for example, a user interface screen output by the output unit 320.

出力部320は、ユーザーに対して情報を出力する。出力部320は、例えば、ユーザーインターフェイス画面、背景画像、撮像画像、目標モデル画像、目標画像等を表示する。なお、出力部320は、本発明の表示部に相当する。   The output unit 320 outputs information to the user. The output unit 320 displays, for example, a user interface screen, a background image, a captured image, a target model image, a target image, and the like. The output unit 320 corresponds to the display unit of the present invention.

画像取得部330は、撮像装置4を制御して撮像を行い、撮像画像を取得し、他の機能部に出力する。   The image acquisition unit 330 controls the imaging device 4 to perform imaging, acquires a captured image, and outputs it to other functional units.

目標画像生成部340は、画像記憶部300に格納されている背景画像と目標モデル画像とに基づいて、背景画像に目標モデル画像を重畳する(背景画像と目標モデル画像を重ね合わせる)ことで、ビジュアルサーボで用いる目標画像(重畳画像)を生成する。また、目標画像生成部340は、画像記憶部300に格納されている目標モデル画像に基づいて、目標モデル画像を、背景画像を省略した目標画像として生成する。   The target image generation unit 340 superimposes the target model image on the background image (superimposes the background image and the target model image) based on the background image and the target model image stored in the image storage unit 300. A target image (superimposed image) used for visual servoing is generated. Further, the target image generation unit 340 generates the target model image as a target image from which the background image is omitted based on the target model image stored in the image storage unit 300.

ビジュアルサーボ制御部350は、画像取得部330から取得した撮像画像(現在画像)と、目標画像生成部340が生成した目標画像とに基づいて、ビジュアルサーボを実行して、ロボット2のエンドポイントを次に移動させる移動指令値を生成し、ロボット2に出力する。ビジュアルサーボとしては、例えば、目標画像から抽出した特徴量と現在画像から抽出した特徴量が所定の条件を満たすようにエンドポイントの次の移動指令値を決定する画像ベース法(特徴ベース法)を用いることができる。なお、特徴抽出では、ビジュアルサーボ系への入力情報(制御量)として、画像の特徴量を求める。   The visual servo control unit 350 executes visual servoing based on the captured image (current image) acquired from the image acquisition unit 330 and the target image generated by the target image generation unit 340, and determines the end point of the robot 2. Next, a movement command value to be moved is generated and output to the robot 2. As the visual servo, for example, an image-based method (feature-based method) that determines the next movement command value of the endpoint so that the feature amount extracted from the target image and the feature amount extracted from the current image satisfy a predetermined condition. Can be used. In the feature extraction, the feature amount of the image is obtained as input information (control amount) to the visual servo system.

なお、関節を持つロボット2では、各関節の角度を決定すると、フォワードキネマティクス処理によりエンドポイントの位置は一意に決定される。つまり、N関節ロボットではN個の関節角度により1つの位置を表現できることになるから、当該N個の関節角度の組を1つの目標関節角度とすれば、エンドポイントの軌道を目標関節角度の集合と考えることができる。よって、移動指令値は、位置に関する値(目標位置)であってもよいし、関節の角度に関する値(目標角度)であってもよい。   In the robot 2 having a joint, when the angle of each joint is determined, the position of the end point is uniquely determined by forward kinematics processing. In other words, an N-joint robot can express one position by N joint angles, and if the set of N joint angles is one target joint angle, the trajectory of the end point is a set of target joint angles. Can be considered. Therefore, the movement command value may be a value related to the position (target position) or a value related to the joint angle (target angle).

図3は、ロボット制御装置の機能を実現するハードウェア構成の一例を示す図である。   FIG. 3 is a diagram illustrating an example of a hardware configuration for realizing the functions of the robot control device.

ロボット制御装置3は、例えば、図3に示すような、CPU(Central Processing Unit)等の演算装置91と、RAM(Random Access Memory)等の主記憶装置92と、HDD(Hard Disk Drive)等の補助記憶装置93と、有線又は無線により通信ネットワークと接続するための通信インターフェイス(I/F)94と、マウス、キーボード、タッチセンサーやタッチパネルなどの入力装置95と、液晶ディスプレイなどの表示装置96と、DVD(Digital Versatile Disk)などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置97と、を備えるコンピューター90で実現することができる。   The robot controller 3 includes, for example, an arithmetic device 91 such as a CPU (Central Processing Unit), a main storage device 92 such as a RAM (Random Access Memory), an HDD (Hard Disk Drive), and the like as shown in FIG. An auxiliary storage device 93, a communication interface (I / F) 94 for connecting to a communication network by wire or wireless, an input device 95 such as a mouse, keyboard, touch sensor, and touch panel, and a display device 96 such as a liquid crystal display It can be realized by a computer 90 including a read / write device 97 that reads and writes information from and on a portable storage medium such as a DVD (Digital Versatile Disk).

入力部310、出力部320、画像取得部330、目標画像生成部340、ビジュアルサーボ制御部350等は、例えば、補助記憶装置93等から主記憶装置92にロードされた所定のプログラムを演算装置91が実行することで実現される。画像記憶部300は、例えば、演算装置91が主記憶装置92又は補助記憶装置93を利用することで実現されてもよい。入力部310は、例えば、演算装置91が入力装置95を利用することで実現されてもよい。出力部320は、例えば、演算装置91が表示装置96を利用することで実現されてもよい。ロボット2との通信は、例えば、演算装置91が通信I/F94を利用することで実現される。なお、上記の所定のプログラムは、例えば、読み書き装置97により読み取られた記憶媒体からインストールされてもよいし、通信I/F94を介してネットワークからインストールされてもよい。   The input unit 310, the output unit 320, the image acquisition unit 330, the target image generation unit 340, the visual servo control unit 350, and the like, for example, execute a predetermined program loaded from the auxiliary storage device 93 or the like into the main storage device 92. It is realized by executing. The image storage unit 300 may be realized by the arithmetic device 91 using the main storage device 92 or the auxiliary storage device 93, for example. The input unit 310 may be realized, for example, when the arithmetic device 91 uses the input device 95. The output unit 320 may be realized, for example, when the arithmetic device 91 uses the display device 96. Communication with the robot 2 is realized, for example, when the arithmetic device 91 uses the communication I / F 94. The predetermined program may be installed from, for example, a storage medium read by the read / write device 97 or may be installed from the network via the communication I / F 94.

なお、動作制御部200は、例えば、演算装置、記憶装置、処理回路、駆動回路などを備えるコントローラー基板等により実現することができる。   The operation control unit 200 can be realized by, for example, a controller board including an arithmetic device, a storage device, a processing circuit, a driving circuit, and the like.

上述したロボットシステム1の機能構成は、ロボットシステム1の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボットシステム1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。   The functional configuration of the robot system 1 described above is classified according to main processing contents in order to facilitate understanding of the configuration of the robot system 1. The present invention is not limited by the way of classification and names of the constituent elements. The configuration of the robot system 1 can be classified into more components depending on the processing content. Moreover, it can also classify | categorize so that one component may perform more processes. Further, the processing of each component may be executed by one hardware or may be executed by a plurality of hardware.

また、ロボットシステム1の機能及び処理の分担は、説明した例に限られない。例えば、ロボット制御装置3の少なくとも一部の機能は、ロボット2に含まれ、ロボット2により実現されてもよい。また、例えば、ロボット2の少なくとも一部の機能は、ロボット制御装置3に含まれ、ロボット制御装置3により実現されてもよい。   Further, the sharing of functions and processes of the robot system 1 is not limited to the example described. For example, at least a part of the functions of the robot control device 3 may be included in the robot 2 and realized by the robot 2. Further, for example, at least a part of the functions of the robot 2 may be included in the robot control device 3 and realized by the robot control device 3.

図4は、教示処理の一例を示すフロー図である。適宜図6(背景画像、目標モデル画像、及び目標画像の一例を説明する図)を参照して説明する。   FIG. 4 is a flowchart showing an example of the teaching process. Description will be made with reference to FIG. 6 (a diagram illustrating an example of a background image, a target model image, and a target image) as appropriate.

まず、ロボット制御装置3は、背景画像の設定を行う(ステップS1)。具体的には、入力部310は、出力部320が表示した所定のインターフェイス画面を介して、背景画像の撮像の指示をユーザーから受け付ける。例えば、ユーザーは、ロボット2の作業で使用する作業領域等が撮像範囲に含まれるように撮像装置4を作業台T上に設置し、対象物Wやロボット2等の動的な物が撮像範囲に含まれない状態で、撮像を指示する。画像取得部330は、入力部310を介した指示に応じて、撮像装置4を制御して撮像を行い、背景画像として画像記憶部300に格納する。   First, the robot control device 3 sets a background image (step S1). Specifically, the input unit 310 receives an instruction to capture a background image from the user via a predetermined interface screen displayed by the output unit 320. For example, the user installs the imaging device 4 on the work table T such that the work area used in the work of the robot 2 is included in the imaging range, and dynamic objects such as the object W and the robot 2 are in the imaging range. The imaging is instructed in a state not included in. In response to an instruction via the input unit 310, the image acquisition unit 330 controls the imaging device 4 to perform imaging, and stores the image in the image storage unit 300 as a background image.

図6(A)には、背景画像Bが示してある。背景画像Bには、後述する対象物Wのモデル画像とロボット2のモデル画像が含まれていない。   FIG. 6A shows a background image B. The background image B does not include a model image of the object W and a model image of the robot 2 described later.

それから、ロボット制御装置3は、目標モデル画像の設定を行う(ステップS2)。具体的には、入力部310は、出力部320が表示した所定のインターフェイス画面を介して、目標モデル画像の設定をユーザーから受け付ける。例えば、入力部310は、画像記憶部300に格納されている複数の対象物Wのモデル画像のうち、ロボット2が行う作業で使用する対象物Wのモデル画像の選択を受け付ける。また、例えば、入力部310は、選択された対象物Wのモデル画像とロボット2のモデル画像とに対する操作を受け付け、所望の目標姿勢を表すモデルの作成を行う。本実施形態では、ユーザーは、二つの対象物Wをそれぞれ左右のハンドで把持し、これらの対象物Wを組み付けた状態を目標姿勢として、モデルを作成する。ロボット2のモデル画像には、ロボット2全体が含まれていなくてもよく、ハンド22やアーム21の一部などが含まれていればよい。使用するロボット2のパーツのモデル画像を選択できてもよい。なお、3次元リアルCGを操作して様々な姿勢を作成することには、一般的な技術を採用することができるため、詳細な説明は省略する。   Then, the robot control device 3 sets a target model image (step S2). Specifically, the input unit 310 receives a target model image setting from the user via a predetermined interface screen displayed by the output unit 320. For example, the input unit 310 accepts selection of a model image of the target object W used in the work performed by the robot 2 from among a plurality of model images of the target object W stored in the image storage unit 300. In addition, for example, the input unit 310 receives an operation on the model image of the selected object W and the model image of the robot 2 and creates a model representing a desired target posture. In the present embodiment, the user holds the two objects W with the left and right hands, respectively, and creates a model with the state in which these objects W are assembled as a target posture. The model image of the robot 2 does not need to include the entire robot 2, and only needs to include the hand 22, a part of the arm 21, and the like. It may be possible to select model images of parts of the robot 2 to be used. It should be noted that a general technique can be employed to create various postures by operating the three-dimensional real CG, and thus detailed description thereof is omitted.

なお、対象物Wをロボット2のハンドで把持した状態の、様々な姿勢のモデル画像を、予め画像記憶部300に格納しておいてもよい。そして、入力部310は、これらの複数の姿勢のモデル画像の中から、目標モデル画像の選択を受け付けるようにしてもよい。また例えば、対象物Wの様々な姿勢のモデル画像と、ロボット2の部分の様々な動作状態(様々な姿勢)のモデル画像とを、予め画像記憶部300に格納しておいてもよい。そして、入力部310は、これらの複数の姿勢のモデル画像の中から、対象物Wのモデル画像とロボット2のモデル画像の選択を受け付け、これらの組み合わせを目標モデル画像として受け付けるようにしてもよい。このようにすれば、ユーザーは、モデル画像を選択することで、簡単に目標モデル画像を作成することができる。   Note that model images of various postures in a state where the object W is held by the hand of the robot 2 may be stored in the image storage unit 300 in advance. Then, the input unit 310 may accept selection of a target model image from among the model images having a plurality of postures. Further, for example, model images of various postures of the object W and model images of various motion states (various postures) of the robot 2 may be stored in the image storage unit 300 in advance. Then, the input unit 310 may accept selection of the model image of the object W and the model image of the robot 2 from among the model images of the plurality of postures, and may accept a combination of these as a target model image. . In this way, the user can easily create a target model image by selecting the model image.

図6(B)には、背景画像B上に、目標モデル画像Mを重ねた画像が表示されている。目標モデル画像Mには、目標姿勢の対象物W及びロボット2の部分のモデルが含まれている。   In FIG. 6B, an image in which the target model image M is superimposed on the background image B is displayed. The target model image M includes a target posture target W and a model of the robot 2 portion.

入力部310は、上述のようにして作成された対象物W及びロボット2の目標姿勢を表す目標モデル画像を、ステップS1で撮像された背景画像に関連付けて、画像記憶部300に格納し、図4に示すフローチャートの処理を終了する。   The input unit 310 stores the target model image representing the target posture of the target object W and the robot 2 created as described above in the image storage unit 300 in association with the background image captured in step S1. The process of the flowchart shown in FIG.

このように、ロボット制御装置3上で、3次元リアルCG等のモデルを使って作業内容に応じた目標モデル画像を生成することができるため、実際にロボット2を動かす必要がなく、簡単に効率的に作業を行うことができる。また、作業内容の変更により対象物W等が変更されても、3次元リアルCG等のモデルを使って簡単に目標モデル画像を作り直すことができる。   As described above, since a target model image corresponding to the work content can be generated using a model such as a three-dimensional real CG on the robot control device 3, there is no need to actually move the robot 2, and the efficiency can be improved easily. Work can be performed. In addition, even if the object W or the like is changed by changing the work content, a target model image can be easily recreated using a model such as a three-dimensional real CG.

なお、ステップS2では、出力部320は、ステップS1で設定された背景画像を所定のインターフェイス画面に表示してもよい。また、入力部310は、表示された背景画像上で、目標モデル画像の作成を受け付けるようにしてもよい。このようにすれば、背景画像に表われている作業領域等と目標モデルとの相対的な距離や位置関係等を考慮して、目標モデルの位置、大きさ、姿勢等を決定することができる。入力部310は、このように作成された背景画像に対する目標モデルの相対的な位置等を、画像記憶部300に格納してもよい。   In step S2, the output unit 320 may display the background image set in step S1 on a predetermined interface screen. Further, the input unit 310 may accept the creation of the target model image on the displayed background image. In this way, the position, size, posture, etc. of the target model can be determined in consideration of the relative distance, positional relationship, etc. between the work area etc. appearing in the background image and the target model. . The input unit 310 may store the relative position of the target model with respect to the background image created in this way in the image storage unit 300.

図5は、ビジュアルサーボ処理の一例を示すフロー図である。適宜図6を参照して説明する。   FIG. 5 is a flowchart showing an example of the visual servo process. This will be described with reference to FIG.

なお、図5のフローの前段階として、ロボット制御装置3は、ロボット2を制御し、ハンド22で対象物Wを把持し、ビジュアルサーボを開始する所定位置までエンドポイントを移動する。この制御には、例えば軌道計画に基づく位置制御などを用いればよい。従って、図5のフローの処理は、例えば、エンドポイントが前記所定位置まで移動した場合に、開始される。   As the previous stage of the flow of FIG. 5, the robot control device 3 controls the robot 2, grasps the object W with the hand 22, and moves the end point to a predetermined position where visual servoing is started. For this control, for example, position control based on a trajectory plan may be used. Therefore, the process of the flow of FIG. 5 is started when the end point moves to the predetermined position, for example.

まず、ロボット制御装置3は、第一目標画像を生成する(ステップS10)。具体的には、目標画像生成部340は、図4のステップS2で画像記憶部300に格納された、背景画像に関連付けられた目標モデル画像を取得する。また、目標画像生成部340は、取得した目標モデル画像をレンダリングし(例えば、背景画像と同サイズの、背景が存在しない画像にレンダリングし)、2次元画像データ(第一目標画像)を生成する。   First, the robot control device 3 generates a first target image (step S10). Specifically, the target image generation unit 340 acquires the target model image associated with the background image stored in the image storage unit 300 in step S2 of FIG. In addition, the target image generation unit 340 renders the acquired target model image (for example, renders an image having the same size as the background image and no background), and generates two-dimensional image data (first target image). .

図6(C)には、第一目標画像が示してある。第一目標画像では、背景画像Bが省略され、目標モデル画像Mがレンダリングされている。   FIG. 6C shows a first target image. In the first target image, the background image B is omitted and the target model image M is rendered.

また、ロボット制御装置3は、第二目標画像を生成する(ステップS11)。具体的には、目標画像生成部340は、図4のステップS1及びステップS2で画像記憶部300に格納された背景画像と当該背景画像に関連付けられた目標モデル画像とを取得する。また、目標画像生成部340は、取得した目標モデル画像を取得した背景画像にレンダリングし、2次元画像データ(第二目標画像)を生成する。   Further, the robot control device 3 generates a second target image (step S11). Specifically, the target image generation unit 340 acquires the background image stored in the image storage unit 300 in step S1 and step S2 of FIG. 4 and the target model image associated with the background image. In addition, the target image generation unit 340 renders the acquired target model image on the acquired background image, and generates two-dimensional image data (second target image).

図6(D)には、第二目標画像が示してある。第二目標画像では、背景画像Bに目標モデル画像Mがレンダリングされている。   FIG. 6D shows a second target image. In the second target image, the target model image M is rendered on the background image B.

それから、ロボット制御装置3は、現在画像を取得する(ステップS12)。具体的には、ビジュアルサーボ制御部350は、画像取得部330に撮像を指示する。画像取得部330は、撮像装置4に撮像を行わせ、撮像画像を取得する。ビジュアルサーボ制御部350は、画像取得部330から撮像画像(現在画像)を取得する。   Then, the robot control device 3 acquires a current image (step S12). Specifically, the visual servo control unit 350 instructs the image acquisition unit 330 to perform imaging. The image acquisition unit 330 causes the imaging device 4 to perform imaging and acquires a captured image. The visual servo control unit 350 acquires a captured image (current image) from the image acquisition unit 330.

それから、ロボット制御装置3は、特徴抽出を行う(ステップS13)。具体的には、ビジュアルサーボ制御部350は、例えば、ステップS10で生成された第一目標画像から、特徴量を抽出する。また、ステップS12で取得した現在画像から、特徴量を抽出する。なお、第一目標画像の特徴量は、ステップS10で抽出しておき、これをステップS13で取得してもよい。   Then, the robot control device 3 performs feature extraction (step S13). Specifically, the visual servo control unit 350 extracts a feature amount from the first target image generated in step S10, for example. In addition, feature amounts are extracted from the current image acquired in step S12. Note that the feature amount of the first target image may be extracted in step S10 and acquired in step S13.

それから、ロボット制御装置3は、画像を比較し(ステップS14)、第一条件を満たすか否かを判定する(ステップS15)。具体的には、ビジュアルサーボ制御部350は、ステップS13で抽出された第一目標画像の特徴量と現在画像の特徴量とを比較する。また、ビジュアルサーボ制御部350は、比較結果が所定の第一条件を満たすか否かを判定する。例えば、ビジュアルサーボ制御部350は、第一目標画像の特徴量と現在画像の特徴量の関係を距離で表した評価値(例えば、所定の特徴点間の距離)を算出し、この評価値が予め定めた閾値を超えるか否かを判定する(超えていなければ、第一条件を満たす)。なお、距離で表した評価値に加えて又は替えて、ビジュアルサーボ制御部350は、第一目標画像の特徴量と現在画像の特徴量とに基づいて、第一目標画像と現在画像とからハンド22等の所定の領域を抽出し、これらの二つの領域の重なり度合を表す評価値を算出し、この評価値が予め定めた閾値を超えるか否かを判定するようにしてもよい(超えていなければ、第一条件を満たす)。   Then, the robot control device 3 compares the images (step S14) and determines whether or not the first condition is satisfied (step S15). Specifically, the visual servo control unit 350 compares the feature amount of the first target image extracted in step S13 with the feature amount of the current image. Further, the visual servo control unit 350 determines whether or not the comparison result satisfies a predetermined first condition. For example, the visual servo control unit 350 calculates an evaluation value (for example, a distance between predetermined feature points) that represents the relationship between the feature amount of the first target image and the feature amount of the current image as a distance. It is determined whether or not a predetermined threshold is exceeded (if not, the first condition is satisfied). Note that, in addition to or instead of the evaluation value represented by the distance, the visual servo control unit 350 performs hand movement from the first target image and the current image based on the feature amount of the first target image and the feature amount of the current image. A predetermined area such as 22 may be extracted, an evaluation value representing the degree of overlap between these two areas may be calculated, and it may be determined whether or not the evaluation value exceeds a predetermined threshold. Otherwise, the first condition is met).

第一条件を満たさない場合(ステップS15でN)、ロボット制御装置3は、指令を生成し(ステップS16)、ロボット2に指令を送信し(ステップS17)、処理をステップS12に戻す。具体的には、ビジュアルサーボ制御部350は、ステップS13で抽出し第一目標画像の特徴量と現在画像の特徴量とに基づいて、エンドポイントの次の移動指令値を生成し、ロボット2に送信する。   When the first condition is not satisfied (N in step S15), the robot control device 3 generates a command (step S16), transmits the command to the robot 2 (step S17), and returns the process to step S12. Specifically, the visual servo control unit 350 generates the next movement command value for the end point based on the feature amount of the first target image extracted in step S13 and the feature amount of the current image, and sends it to the robot 2. Send.

一方、第一条件を満たす場合(ステップS15でY)、ロボット制御装置3は、現在画像を取得する(ステップS18)。ステップS18の処理は、ステップS12と同じなので、説明を省略する。なお、ステップS15からステップS18に最初に遷移する場合は、ステップS18では、ステップS12で最後に取得された現在画像を使用するようにしてもよい。   On the other hand, when the first condition is satisfied (Y in step S15), the robot control device 3 acquires a current image (step S18). Since the process of step S18 is the same as step S12, description is abbreviate | omitted. In the case of first transition from step S15 to step S18, in step S18, the current image last acquired in step S12 may be used.

それから、ロボット制御装置3は、特徴抽出を行う(ステップS19)。具体的には、ビジュアルサーボ制御部350は、例えば、ステップS11で生成された第二目標画像から、特徴量を抽出する。また、ステップS18で取得した現在画像から、特徴量を抽出する。なお、第二目標画像の特徴量は、ステップS11で抽出しておき、これをステップS19で取得してもよい。   Then, the robot control device 3 performs feature extraction (step S19). Specifically, the visual servo control unit 350 extracts a feature amount from, for example, the second target image generated in step S11. In addition, feature amounts are extracted from the current image acquired in step S18. Note that the feature amount of the second target image may be extracted in step S11 and acquired in step S19.

それから、ロボット制御装置3は、画像を比較し(ステップS20)、第二条件を満たすか否かを判定する(ステップS21)。具体的には、ビジュアルサーボ制御部350は、ステップS19で抽出された第二目標画像の特徴量と現在画像の特徴量とを比較する。また、ビジュアルサーボ制御部350は、比較結果が所定の第二条件を満たすか否かを判定する。例えば、ビジュアルサーボ制御部350は、第二目標画像の特徴量と現在画像の特徴量の関係を距離で表した評価値(例えば、所定の特徴点間の距離)を算出し、この評価値が予め定めた閾値を超えるか否かを判定する(超えていなければ、第二条件を満たす)。なお、距離で表した評価値に加えて又は替えて、ビジュアルサーボ制御部350は、第二目標画像の特徴量と現在画像の特徴量とに基づいて、第二目標画像と現在画像とからハンド22等の所定の領域を抽出し、これらの二つの領域の重なり度合を表す評価値を算出し、この評価値が予め定めた閾値を超えるか否かを判定するようにしてもよい(超えていなければ、第二条件を満たす)。   Then, the robot control device 3 compares the images (step S20) and determines whether or not the second condition is satisfied (step S21). Specifically, the visual servo control unit 350 compares the feature amount of the second target image extracted in step S19 with the feature amount of the current image. Further, the visual servo control unit 350 determines whether or not the comparison result satisfies a predetermined second condition. For example, the visual servo control unit 350 calculates an evaluation value (for example, a distance between predetermined feature points) that represents the relationship between the feature amount of the second target image and the feature amount of the current image as a distance. It is determined whether or not a predetermined threshold is exceeded (if not, the second condition is satisfied). In addition to or instead of the evaluation value represented by the distance, the visual servo control unit 350 performs hand movement from the second target image and the current image based on the feature amount of the second target image and the feature amount of the current image. A predetermined area such as 22 may be extracted, an evaluation value representing the degree of overlap between these two areas may be calculated, and it may be determined whether or not the evaluation value exceeds a predetermined threshold. Otherwise, the second condition is met).

第二条件を満たさない場合(ステップS21でN)、ロボット制御装置3は、指令を生成し(ステップS22)、ロボット2に指令を送信し(ステップS23)、処理をステップS18に戻す。具体的には、ビジュアルサーボ制御部350は、ステップS19で抽出し第二目標画像の特徴量と現在画像の特徴量とに基づいて、エンドポイントの次の移動指令値を生成し、ロボット2に送信する。   When the second condition is not satisfied (N in step S21), the robot control device 3 generates a command (step S22), transmits the command to the robot 2 (step S23), and returns the process to step S18. Specifically, the visual servo control unit 350 generates the next movement command value of the end point based on the feature amount of the second target image extracted in step S19 and the feature amount of the current image, and sends it to the robot 2. Send.

一方、第二条件を満たす場合(ステップS21でY)、ロボット制御装置3は、図5に示すフローを終了する。   On the other hand, when the second condition is satisfied (Y in step S21), the robot control device 3 ends the flow shown in FIG.

このように、目標モデル画像をレンダリングした目標画像を用いて、ビジュアルサーボを実行してロボット2を動作させることができる。また、背景画像を省略した第一目標画像を用いることで、特徴量の算出に掛かる演算処理量を減らすことができるため、ビジュアルサーボの処理時間を短くすることができる。また、第一条件を満たした後は背景画像を含む第二目標画像を用いることで、画像から抽出できる特徴量が増えるため、より精度の高いビジュアルサーボを行うことができる。   In this manner, the robot 2 can be operated by executing visual servo using the target image obtained by rendering the target model image. In addition, by using the first target image in which the background image is omitted, it is possible to reduce the amount of calculation processing required for calculating the feature amount, so that the processing time of the visual servo can be shortened. In addition, by using the second target image including the background image after satisfying the first condition, the feature amount that can be extracted from the image is increased, so that more accurate visual servoing can be performed.

なお、ステップS11の処理は、例えば、ステップS15の次など、ステップS15とステップS18の間に実行するようにしてもよい。このようにすれば、第一目標画像を用いたビジュアルサーボ(ステップS12〜ステップS17)をより早く開始することができる。   In addition, you may make it perform the process of step S11 between step S15 and step S18, for example, following step S15. In this way, the visual servo (step S12 to step S17) using the first target image can be started earlier.

図4及び図5に示した各フローチャートの各処理単位は、ロボット制御装置3の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。ロボット制御装置3の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。また、各処理単位の順序も、図示した例に限られない。   Each processing unit of each flowchart shown in FIGS. 4 and 5 is divided according to the main processing contents in order to facilitate understanding of the processing of the robot control device 3. The present invention is not limited by the way of dividing the processing unit or the name. The processing of the robot control device 3 can be divided into more processing units according to the processing content. Moreover, it can also divide | segment so that one process unit may contain many processes. Further, the order of each processing unit is not limited to the illustrated example.

以上、本発明の一実施形態について説明した。本実施形態によれば、作業内容が変更されても、より簡単に効率よくビジュアルサーボを行うことができる。   The embodiment of the present invention has been described above. According to the present embodiment, visual servo can be performed more easily and efficiently even if the work content is changed.

なお、上記の実施形態では、二つの対象物Wをそれぞれ左右のハンドで把持し、これらの対象物Wを組み付ける作業を例に説明したが、作業内容はこれに限られない。例えば、対象物Wをハンドで把持し、対象物Wを所定位置に置く、という作業が考えられる。この場合、対象物Wをハンドで把持した状態の目標モデル画像を用意すればよい。このとき、背景画像内に所定位置を定め、当該所定位置に対象物Wが位置するように目標モデル画像の位置を設定し、画像記憶部300に格納すればよい。また、例えば、所定位置に置かれた対象物Wをハンドで把持する、という作業が考えられる。この場合も、対象物Wをハンドで把持した状態の目標モデル画像を用意すればよい。このとき、背景画像内に所定位置を定め、当該所定位置に対象物Wが位置するように目標モデル画像の位置を設定し、画像記憶部300に格納すればよい。   In the above embodiment, the operation of gripping the two objects W with the left and right hands and assembling these objects W has been described as an example, but the work content is not limited thereto. For example, an operation of holding the object W with a hand and placing the object W at a predetermined position can be considered. In this case, a target model image in a state where the object W is held with a hand may be prepared. At this time, a predetermined position may be set in the background image, the position of the target model image may be set so that the object W is positioned at the predetermined position, and stored in the image storage unit 300. Further, for example, an operation of holding the object W placed at a predetermined position with a hand can be considered. In this case as well, a target model image in a state where the object W is held by a hand may be prepared. At this time, a predetermined position may be set in the background image, the position of the target model image may be set so that the object W is positioned at the predetermined position, and stored in the image storage unit 300.

以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。本発明の提供の態様にも、様々な態様が取り得る。本発明は、例えば、ロボット制御装置の機能が含まれるロボットとして提供してもよい。また、例えば、ロボット制御装置の教示に関する機能を、教示装置に含め、教示装置と、ロボット制御装置と、ロボットとを別個に有するロボットシステムとして提供してもよい。また、例えば、教示装置と、ロボット制御装置の機能が含まれるロボットとを含むロボットシステムとして提供してもよい。また、本発明は、ロボット制御方法、プログラム、当該プログラムを記憶した記憶媒体などとしても提供することもできる。   As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be made to the above embodiment. In addition, it is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention. Various aspects of the provided aspects of the invention can also be employed. For example, the present invention may be provided as a robot including the function of the robot control device. Further, for example, a function related to teaching of the robot control device may be included in the teaching device, and provided as a robot system having the teaching device, the robot control device, and the robot separately. Further, for example, a robot system including a teaching device and a robot including the function of the robot control device may be provided. The present invention can also be provided as a robot control method, a program, a storage medium storing the program, and the like.

1:ロボットシステム
2:ロボット
3:ロボット制御装置
4:撮像装置
20:胴部
21:アーム
21a:ジョイント
21b:アーム部材
21c:力覚センサー
22:ハンド
24:脚部
25:頭部
90:コンピューター
91:演算装置
92:主記憶装置
93:補助記憶装置
94:通信I/F
95:入力装置
96:表示装置
97:読み書き装置
200:動作制御部
300:画像記憶部
310:入力部
320:出力部
330:画像取得部
340:目標画像生成部
350:ビジュアルサーボ制御部
B:背景画像
M:目標モデル画像
T:作業台
W:対象物
1: Robot system 2: Robot 3: Robot controller 4: Imaging device 20: Body 21: Arm 21a: Joint 21b: Arm member 21c: Force sensor 22: Hand 24: Leg 25: Head 90: Computer 91 : Arithmetic device 92: Main storage device 93: Auxiliary storage device 94: Communication I / F
95: Input device 96: Display device 97: Read / write device 200: Operation control unit 300: Image storage unit 310: Input unit 320: Output unit 330: Image acquisition unit 340: Target image generation unit 350: Visual servo control unit B: Background Image M: Target model image T: Work table W: Object

Claims (13)

背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う、
ロボット制御装置。
Performs visual servoing of the robot with a target image as a superimposed image obtained by superimposing a background image that is an image of the background and a model image of the object.
Robot control device.
請求項1に記載のロボット制御装置であって、
前記重畳画像は、前記対象物を把持した前記ロボットの部分のモデル画像が重ね合わされている、
ロボット制御装置。
The robot control device according to claim 1,
In the superimposed image, a model image of the part of the robot that holds the object is superimposed,
Robot control device.
請求項1又は2に記載のロボット制御装置であって、
予め用意された複数の対象物のモデル画像から、一の対象物のモデル画像の選択を受け付け、
前記選択された対象物のモデル画像を用いて前記重畳画像を生成する、
ロボット制御装置。
The robot control device according to claim 1 or 2,
Accepting selection of a model image of one object from model images of a plurality of objects prepared in advance,
Generating the superimposed image using a model image of the selected object;
Robot control device.
請求項3に記載のロボット制御装置であって、
前記対象物及び前記ロボットが取り得る姿勢のうち、一の姿勢の選択を受け付け、
前記選択された姿勢の対象物のモデル画像及び前記ロボットの部分のモデル画像を用いて前記重畳画像を生成する、
ロボット制御装置。
The robot control device according to claim 3,
Among the postures that the object and the robot can take, accept selection of one posture,
Generating the superimposed image using a model image of the object in the selected posture and a model image of a part of the robot;
Robot control device.
請求項1〜4いずれか一項に記載のロボット制御装置であって、
前記対象物を撮像した撮像画像を取得する画像取得部を備え、
前記ビジュアルサーボは、前記ロボットが第一の姿勢から第二の姿勢へ移る間に、前記画像取得部により前記撮像画像を複数回取得し、前記目標画像と前記撮像画像とに基づいて、前記ロボットを制御する第一の処理を含む、
ロボット制御装置。
The robot control device according to any one of claims 1 to 4,
An image acquisition unit that acquires a captured image obtained by imaging the object;
The visual servo acquires the captured image a plurality of times by the image acquisition unit while the robot moves from the first posture to the second posture, and based on the target image and the captured image, the robot Including a first process to control
Robot control device.
請求項5に記載のロボット制御装置であって、
前記ビジュアルサーボは、前記ロボットが前記第一の姿勢から前記第二の姿勢へ移る間に、前記画像取得部により前記撮像画像を複数回取得し、前記撮像画像と、前記背景画像を省略した前記対象物のモデル画像を含む目標画像とに基づいて、前記ロボットを制御する第二の処理を含む、
ロボット制御装置。
The robot control device according to claim 5,
The visual servo acquires the captured image a plurality of times by the image acquisition unit while the robot moves from the first posture to the second posture, and omits the captured image and the background image. A second process for controlling the robot based on a target image including a model image of an object;
Robot control device.
請求項6に記載のロボット制御装置であって、
前記撮像画像及び前記目標画像から抽出した所定の特徴点間の距離、又は前記撮像画像及び前記目標画像から抽出した所定の領域の重なり度合、の少なくとも一方に基づいて、前記第二の処理を前記第一の処理に切り替える、
ロボット制御装置。
The robot control device according to claim 6,
Based on at least one of a distance between predetermined feature points extracted from the captured image and the target image, or an overlapping degree of a predetermined region extracted from the captured image and the target image, the second processing is performed Switch to the first process,
Robot control device.
請求項1〜7に記載のロボット制御装置であって、
前記目標画像を表示する表示部、
を備えるロボット制御装置。
The robot control device according to claim 1,
A display unit for displaying the target image;
A robot control device comprising:
背景を撮像した画像である背景画像を記憶する背景画像記憶部と、
対象物のモデル画像を記憶するモデル画像記憶部と、
前記背景画像と、前記対象物のモデル画像とを重ね合わせた目標画像を生成する目標画像生成部と、
前記対象物を撮像した撮像画像を取得する画像取得部と、
前記撮像画像と前記目標画像とに基づいてビジュアルサーボによりロボットを制御する制御部と、
を備えるロボット制御装置。
A background image storage unit that stores a background image that is an image of the background;
A model image storage unit for storing a model image of the object;
A target image generating unit that generates a target image obtained by superimposing the background image and the model image of the object;
An image acquisition unit that acquires a captured image obtained by imaging the object;
A control unit for controlling the robot by visual servoing based on the captured image and the target image;
A robot control device comprising:
背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ビジュアルサーボを行う、
ロボット。
Visual servo is performed with a superimposed image obtained by superimposing a background image that is an image of the background and a model image of an object as a target image.
robot.
ロボットと、前記ロボットを制御するロボット制御装置とを備えるロボットシステムであって、
前記ロボット制御装置は、背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、前記ロボットのビジュアルサーボを行う、
ロボットシステム。
A robot system comprising a robot and a robot control device that controls the robot,
The robot control device performs visual servoing of the robot with a background image that is an image obtained by capturing a background and a superimposed image obtained by superimposing a model image of an object as a target image.
Robot system.
背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う、
ロボット制御方法。
Performs visual servoing of the robot with a target image as a superimposed image obtained by superimposing a background image that is an image of the background and a model image of the object.
Robot control method.
背景を撮像した画像である背景画像と、対象物のモデル画像とを重ね合わせた重畳画像を目標画像として、ロボットのビジュアルサーボを行う処理を、
演算装置に実行させるプログラム。
The process of performing visual servoing of the robot using a superimposed image obtained by superimposing a background image that is an image of the background and a model image of an object as a target image,
A program to be executed by an arithmetic unit.
JP2014063225A 2014-03-26 2014-03-26 Robot control device, robot, robot system, robot control method, and program Pending JP2015182210A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014063225A JP2015182210A (en) 2014-03-26 2014-03-26 Robot control device, robot, robot system, robot control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014063225A JP2015182210A (en) 2014-03-26 2014-03-26 Robot control device, robot, robot system, robot control method, and program

Publications (1)

Publication Number Publication Date
JP2015182210A true JP2015182210A (en) 2015-10-22

Family

ID=54349352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014063225A Pending JP2015182210A (en) 2014-03-26 2014-03-26 Robot control device, robot, robot system, robot control method, and program

Country Status (1)

Country Link
JP (1) JP2015182210A (en)

Similar Documents

Publication Publication Date Title
JP6361213B2 (en) Robot control apparatus, robot, robot system, teaching method, and program
JP6788593B2 (en) Manipulator system
JP6450960B2 (en) Robot, robot system and teaching method
US20150151431A1 (en) Robot simulator, robot teaching device, and robot teaching method
JP6343353B2 (en) Robot motion program generation method and robot motion program generation device
JP6733239B2 (en) Controller and robot system
CN109834709B (en) Robot control device for setting micro-motion coordinate system
JP2006289531A (en) Movement control device for teaching robot position, teaching device of robot position, movement control method for teaching robot position, teaching method for robot position, and movement control program for teaching robot position
CN110573308A (en) mixed reality assisted space programming for robotic systems
JP6445092B2 (en) Robot system displaying information for teaching robots
JP2018144228A (en) Robot control apparatus, robot, robot system, teaching method, and program
JP2018034242A (en) Robot control device, robot, and robot system
JP2018111155A (en) Robot control device, robot and robot system
JP2015071206A (en) Control device, robot, teaching data generation method, and program
JP2015186834A (en) Robot control apparatus, holding unit control device, robot, holding unit, robot control method and program
JP6455869B2 (en) Robot, robot system, control device, and control method
JP6326765B2 (en) Teaching apparatus, robot, robot system, method, and program
JP2017019068A (en) Teaching device, robot, and robot system
JP2013226602A (en) Industrial machine system
JP2015182210A (en) Robot control device, robot, robot system, robot control method, and program
Badrinath et al. Computer vision based semi-intuitive robotic arm
US20180085920A1 (en) Robot control device, robot, and robot system
US20210162582A1 (en) Teaching Apparatus, Robot System, And Teaching Program
WO2020179416A1 (en) Robot control device, robot control method, and robot control program
JP2015054378A (en) Information processing device, robot, scenario information creation method and program

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160617

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160624