JP2016013610A - Robot, and control method - Google Patents

Robot, and control method Download PDF

Info

Publication number
JP2016013610A
JP2016013610A JP2014138127A JP2014138127A JP2016013610A JP 2016013610 A JP2016013610 A JP 2016013610A JP 2014138127 A JP2014138127 A JP 2014138127A JP 2014138127 A JP2014138127 A JP 2014138127A JP 2016013610 A JP2016013610 A JP 2016013610A
Authority
JP
Japan
Prior art keywords
image
robot
unit
jacobian matrix
imaging unit
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
JP2014138127A
Other languages
Japanese (ja)
Inventor
智紀 原田
Tomonori Harada
智紀 原田
慎吾 鏡
Shingo Kagami
慎吾 鏡
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 JP2014138127A priority Critical patent/JP2016013610A/en
Publication of JP2016013610A publication Critical patent/JP2016013610A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a robot which can calculate a Jacobian matrix without moving an imaging unit or an object.SOLUTION: A robot acquires a first image of an object disposed at a second position captured by an imaging unit disposed at a first position, and operates using a plurality of second images corresponding to the images obtained by capturing the object from a plurality of positions different from the first position.

Description

この発明は、ロボット、及び制御方法に関する。   The present invention relates to a robot and a control method.

撮像部により撮像された撮像画像に基づいてロボットに所定の作業を行わせる技術が研究・開発されている。特に、工場における組立作業の自動化において、撮像部により撮像された撮像画像から作業対象の位置及び姿勢を推定することは、必要不可欠である。   A technique for causing a robot to perform a predetermined operation based on a captured image captured by an imaging unit has been researched and developed. In particular, in automating assembly work in a factory, it is indispensable to estimate the position and orientation of a work target from a captured image captured by an imaging unit.

これに関連し、ESM(Efficient Second-order Minimization Method)法を用いて作業対象の位置及び姿勢を推定するロボット装置が知られている(特許文献1参照)。   In relation to this, a robot apparatus that estimates the position and orientation of a work target using an ESM (Efficient Second-order Minimization Method) method is known (see Patent Document 1).

特開2012−185752号公報JP2012-185752A

しかしながら、従来のロボット装置が三次元物体の位置及び姿勢を推定するためには、その三次元物体のヤコビ行列を導出する必要がある。ヤコビ行列を導出するためには、一般的には、撮像部もしくは物体を微小に動かす必要がある。そのため、撮像部もしくは物体を微小に動かすことができない状況下では、ヤコビ行列を導出することができず、ESM法を用いた、三次元物体の位置及び姿勢を推定することができなかった。   However, in order for a conventional robot apparatus to estimate the position and orientation of a three-dimensional object, it is necessary to derive a Jacobian matrix of the three-dimensional object. In order to derive the Jacobian matrix, it is generally necessary to move the imaging unit or the object minutely. Therefore, in a situation where the imaging unit or the object cannot be moved minutely, the Jacobian matrix cannot be derived, and the position and orientation of the three-dimensional object cannot be estimated using the ESM method.

そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、撮像部もしくは物体を動かすことなく作業を行うことができるロボット、及び制御方法を提供する。   Accordingly, the present invention has been made in view of the above-described problems of the prior art, and provides a robot that can perform an operation without moving an imaging unit or an object, and a control method.

本発明の一態様は、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、前記物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する、ロボットである。
この構成により、ロボットは、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する。これにより、ロボットは、撮像部もしくは物体を動かすことなく作業を行うことができる。
One embodiment of the present invention acquires a first image of an object placed at a second position taken by an imaging unit placed at a first position, and picks up the object from a plurality of positions different from the first position. This is a robot that operates using a plurality of second images corresponding to the obtained images.
With this configuration, the robot acquires the first image of the object arranged at the second position captured by the imaging unit arranged at the first position, and images the object from a plurality of positions different from the first position. It operates using a plurality of second images corresponding to. Thereby, the robot can perform work without moving the imaging unit or the object.

また、本発明の他の態様は、ロボットにおいて、複数の前記第2画像を用いて算出されたヤコビ行列に基づいて動作する、構成が用いられてもよい。
この構成により、ロボットは、複数の第2画像を用いて算出されたヤコビ行列に基づいて動作する。これにより、ロボットは、撮像部もしくは物体を動かすことなく算出されたヤコビ行列によって作業を行うことができる。
In another aspect of the present invention, the robot may be configured to operate based on a Jacobian matrix calculated using the plurality of second images.
With this configuration, the robot operates based on the Jacobian matrix calculated using the plurality of second images. As a result, the robot can perform work using the calculated Jacobian matrix without moving the imaging unit or the object.

また、本発明の他の態様は、ロボットにおいて、前記ヤコビ行列は、前記物体のリファレンスモデルと、前記第1画像との差分画像に基づいてステップサイズを算出し、算出された前記ステップサイズに基づいて算出される、構成が用いられてもよい。
この構成により、ロボットは、物体のリファレンスモデルと、前記第1画像との差分画像に基づいてステップサイズを算出し、算出された前記ステップサイズに基づいてヤコビ行列を算出する。これにより、ロボットは、最適化の進行度に応じた適切なステップサイズに基づいてヤコビ行列を算出することができる。
According to another aspect of the present invention, in the robot, the Jacobian matrix calculates a step size based on a difference image between the reference model of the object and the first image, and is based on the calculated step size. The configuration calculated in the above may be used.
With this configuration, the robot calculates a step size based on a difference image between the reference model of the object and the first image, and calculates a Jacobian matrix based on the calculated step size. Accordingly, the robot can calculate the Jacobian matrix based on an appropriate step size corresponding to the degree of progress of optimization.

また、本発明の他の態様は、ロボットにおいて、複数の前記第2画像は、前記第1画像に含まれる前記物体に微小回転を行うことで生成される、構成が用いられてもよい。
この構成により。ロボットは、第1画像に含まれる物体に微小回転を行うことで、複数の第2画像を生成する。これにより、ロボットは、撮像部10を動かすことなく、撮像部10を動かした場合に得られる複数の画像を得ることができる。
In another aspect of the present invention, the robot may have a configuration in which the plurality of second images are generated by performing a minute rotation on the object included in the first image.
With this configuration. The robot generates a plurality of second images by performing micro rotation on the object included in the first image. Thereby, the robot can obtain a plurality of images obtained when the imaging unit 10 is moved without moving the imaging unit 10.

また、本発明の他の態様は、ロボットにおいて、複数の前記第2画像は、前記微小回転を行った後、前記第1画像に含まれる前記物体に微小並進を行うことで生成される、構成が用いられてもよい。
この構成により、ロボットは、第1画像に含まれる物体に微小回転を行った後、第1画像に含まれる物体に微小並進を行うことで、複数の前記第2画像を生成する。これにより、ロボットは、誤差の小さな画像であって撮像部を動かした場合に得られるであろう複数の画像を得ることができる。
According to another aspect of the present invention, in the robot, the plurality of second images are generated by performing minute translation on the object included in the first image after performing the minute rotation. May be used.
With this configuration, the robot performs a minute rotation on the object included in the first image and then performs a minute translation on the object included in the first image, thereby generating a plurality of the second images. Thereby, the robot can obtain a plurality of images that are images with small errors and that would be obtained when the imaging unit is moved.

また、本発明の他の態様は、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、前記物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて、ロボットを動作させる、制御方法である。
この構成により、制御方法は、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて、ロボットを動作させる。これにより、制御方法は、撮像部もしくは物体を動かすことなく作業を行うことができる。
According to another aspect of the present invention, a first image of an object arranged at a second position captured by an imaging unit arranged at a first position is acquired, and the object is a plurality of different images from the first position. In this control method, the robot is operated using a plurality of second images corresponding to images picked up from a position.
With this configuration, the control method acquires the first image of the object arranged at the second position picked up by the image pickup unit arranged at the first position, and picks up the object from a plurality of positions different from the first position. The robot is operated using a plurality of second images corresponding to the images. Thereby, the control method can perform work without moving the imaging unit or the object.

以上により、ロボット、及び制御方法は、第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、物体を第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する。これにより、ロボット、及び制御方法は、撮像部もしくは物体を動かすことなく作業を行うことができる。   As described above, the robot and the control method acquire the first image of the object arranged at the second position captured by the imaging unit arranged at the first position, and move the object from a plurality of positions different from the first position. It operates using a plurality of second images corresponding to the captured images. Thereby, the robot and the control method can perform work without moving the imaging unit or the object.

本実施形態に係るロボットシステム1の一例を示す構成図である。It is a lineblock diagram showing an example of robot system 1 concerning this embodiment. 制御装置30のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a control device 30. FIG. 制御装置30の機能構成の一例を示す図である。3 is a diagram illustrating an example of a functional configuration of a control device 30. FIG. 制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。3 is a flowchart illustrating an example of a flow of processing in which a control device 30 causes a robot 20 to perform a predetermined operation. 画像生成部38により生成される6枚の異方向画像のうちの3枚の異方向画像と、ホモグラフィー変換による微小回転が行われる前の撮像画像を例示する図である。It is a figure which illustrates three different-direction images among the six different-direction images generated by the image generation unit and a captured image before micro rotation by homography conversion is performed.

<実施形態>
以下、本発明の本実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボットシステム1の一例を示す構成図である。ロボットシステム1は、撮像部10と、ロボット20と、制御装置30を具備する。
<Embodiment>
Hereinafter, this embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a configuration diagram illustrating an example of a robot system 1 according to the present embodiment. The robot system 1 includes an imaging unit 10, a robot 20, and a control device 30.

ロボットシステム1は、テーブルTB上に設置された物体Oを撮像部10により撮像し、撮像された撮像画像に基づいて、物体Oの位置及び姿勢を算出する。テーブルTBは、物体Oが配置される台等である。物体Oとは、ロボット20により行われる作業に係る物体であり、例えば、ネジやボルト、歯車、治具等の工業用の部品や、工業部品等を入れる容器等であるが、これらに限られず、ロボット20により行われる作業に係る物体であれば他の物体であってもよい。図1では、この物体Oを、直方体形状の物体として表す。なお、以下では、説明の便宜上、物体Oの位置及び姿勢を物体位置姿勢と称して説明する。また、物体Oが設置されるテーブルTB上の位置は、第2位置の一例である。   The robot system 1 images the object O placed on the table TB by the imaging unit 10, and calculates the position and orientation of the object O based on the captured image. The table TB is a table on which the object O is placed. The object O is an object related to work performed by the robot 20, and is, for example, industrial parts such as screws, bolts, gears, jigs, containers for storing industrial parts, etc., but is not limited thereto. Other objects may be used as long as they are objects related to work performed by the robot 20. In FIG. 1, the object O is represented as a rectangular parallelepiped object. Hereinafter, for convenience of explanation, the position and orientation of the object O will be referred to as the object position and orientation. The position on the table TB where the object O is installed is an example of the second position.

ロボットシステム1は、物体位置姿勢を算出すると、算出された物体位置姿勢に基づいてロボット20に物体Oを把持させる。そして、ロボットシステム1は、ロボット20に物体Oを図示しない所定の配置位置Xに配置させる。以下では、説明の便宜上、撮像部10による物体Oの撮像から、物体Oを配置位置Xに配置させるまでのロボットシステム1の一連の動作を所定の作業と称して説明する。   When calculating the object position and orientation, the robot system 1 causes the robot 20 to grip the object O based on the calculated object position and orientation. Then, the robot system 1 causes the robot 20 to place the object O at a predetermined placement position X (not shown). Hereinafter, for convenience of explanation, a series of operations of the robot system 1 from imaging of the object O by the imaging unit 10 to arranging the object O at the arrangement position X will be referred to as predetermined work.

撮像部10は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。また、撮像部10は、1台のカメラによって構成される単眼のカメラであるが、例えば、2台以上のカメラによって構成されてもよい。   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. Moreover, although the imaging part 10 is a monocular camera comprised by one camera, for example, you may be comprised by two or more cameras.

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

撮像部10には、光学中心を原点とする三次元座標系Σが設定される。三次元座標系ΣのZ軸は、撮像部10の光軸方向と一致するように設定される。また、三次元座標系ΣのX軸及びY軸は、互いに直交し、且つZ軸と直交するように設定される。この三次元座標系Σは、撮像部10により撮像された撮像画像(すなわち、撮像素子)上の座標を表す。撮像部10は、例えば、光軸(すなわち、Z軸)が物体Oに予め設定される仮想的な平面と直交するように設置される。   A three-dimensional coordinate system Σ with the optical center as the origin is set in the imaging unit 10. The Z axis of the three-dimensional coordinate system Σ is set to coincide with the optical axis direction of the imaging unit 10. Further, the X axis and the Y axis of the three-dimensional coordinate system Σ are set to be orthogonal to each other and orthogonal to the Z axis. The three-dimensional coordinate system Σ represents coordinates on a captured image (that is, an image sensor) captured by the imaging unit 10. The imaging unit 10 is installed, for example, so that the optical axis (that is, the Z axis) is orthogonal to a virtual plane set in advance on the object O.

この仮想的な平面は、物体Oと対応付けられた点を含む面であり、例えば、物体Oの角等を含む平面である。また、撮像部10は、テーブルTB上に設置された物体Oを含む範囲(以下、撮像範囲と称する)を撮像可能な位置に設置される。撮像範囲を撮像可能な撮像部10が設置される位置は、第1位置の一例である。なお、ロボットシステム1において、撮像部10は、ロボット20の腕(例えば、マニピュレーターMNPと把持部HNDの間等)に設置される構成であってもよい。   This virtual plane is a plane including a point associated with the object O, for example, a plane including a corner of the object O and the like. In addition, the imaging unit 10 is installed at a position where a range including the object O installed on the table TB (hereinafter referred to as an imaging range) can be imaged. The position where the imaging unit 10 capable of imaging the imaging range is installed is an example of a first position. In the robot system 1, the imaging unit 10 may be configured to be installed on the arm of the robot 20 (for example, between the manipulator MNP and the gripping unit HND).

ロボット20は、例えば、把持部HNDと、マニピュレーターMNPと、図示しない複数のアクチュエーターを備えた単腕のロボットである。単腕のロボットとは、把持部HNDとマニピュレーターMNPにより構成される1本の腕を有するロボットを示す。また、ロボットシステム1は、単腕のロボットを具備する構成に代えて、スカラーロボット(水平多関節ロボット)や双腕のロボット等であってもよい。スカラーロボットとは、マニピュレーターが水平方向にのみ動き、マニピュレーターの先端のスライド軸のみが上下に動くロボットである。また、双腕のロボットとは、把持部HNDとマニピュレーターMNPによりそれぞれ構成される2本の腕を有するロボットを示す。   The robot 20 is, for example, a single-arm robot including a gripping unit HND, a manipulator MNP, and a plurality of actuators (not shown). The single-arm robot refers to a robot having one arm composed of a gripping unit HND and a manipulator MNP. Further, the robot system 1 may be a scalar robot (horizontal articulated robot), a double-arm robot, or the like, instead of a configuration including a single-arm robot. A scalar robot is a robot in which the manipulator moves only in the horizontal direction and only the slide shaft at the tip of the manipulator moves up and down. Further, the double-armed robot refers to a robot having two arms each constituted by a gripper HND and a manipulator MNP.

ロボット20の腕は、6軸垂直多関節型となっており、支持台とマニピュレーターMNPと把持部HNDとがアクチュエーターによる連携した動作よって6軸の自由度の動作を行うことができる。なお、ロボット20の腕は、5自由度(5軸)以下で動作するものであってもよいし、7自由度(7軸)以上で動作するものであってもよい。以下では、把持部HND及びマニピュレーターMNPを備えた腕によって行われるロボット20の動作について説明する。
ロボット20の把持部HNDは、物体を把持可能な爪部を備える。把持部HNDは、ハンドの一例である。
The arm of the robot 20 is a 6-axis vertical articulated type, and can operate with 6 degrees of freedom by an operation in which the support base, the manipulator MNP, and the gripper HND are linked by an actuator. The arm of the robot 20 may operate with 5 degrees of freedom (5 axes) or less, or may operate with 7 degrees of freedom (7 axes) or more. Below, the operation | movement of the robot 20 performed with the arm provided with the holding part HND and the manipulator MNP is demonstrated.
The grip part HND of the robot 20 includes a claw part that can grip an object. The gripping part HND is an example of a hand.

ロボット20は、例えばケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、ロボット20と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続されてもよい。また、ロボットシステム1では、ロボット20は、図1に示したようにロボット20の外部に設置された制御装置30と接続されている構成とするが、この構成に代えて、制御装置30がロボット20に内蔵されている構成であってもよい。
ロボット20は、制御装置30から制御信号を取得し、取得した制御信号に基づいて物体Oを把持し、把持した物体Oを配置位置Xに配置する。
The robot 20 is communicably connected to the control device 30 by a cable, for example. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The robot 20 and the control device 30 may be connected by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark). Further, in the robot system 1, the robot 20 is configured to be connected to the control device 30 installed outside the robot 20 as shown in FIG. The structure built in 20 may be sufficient.
The robot 20 acquires a control signal from the control device 30, grips the object O based on the acquired control signal, and places the gripped object O at the placement position X.

制御装置30は、撮像部10に前述の撮像範囲を静止画像又は動画像として撮像させ、撮像された撮像画像(前述の静止画像又は動画像)に基づいてビジュアルサーボによって物体Oをロボット20に把持させ、把持させた物体Oを配置位置Xに配置させる。より具体的には、制御装置30は、撮像部10により撮像された撮像画像と、図1に示した距離dとに基づいて物体位置姿勢を算出する。   The control device 30 causes the imaging unit 10 to capture the above-described imaging range as a still image or a moving image, and grips the object O to the robot 20 by visual servoing based on the captured image (the above-described still image or moving image). The gripped object O is placed at the placement position X. More specifically, the control device 30 calculates the object position and orientation based on the captured image captured by the imaging unit 10 and the distance d illustrated in FIG.

ここで、距離dとは、撮像部10に設定された三次元座標系Σの原点と、前述した物体Oに予め設定された仮想的な面との間の距離を示す。なお、制御装置30には、この距離dを示す情報が予め登録されているとする。制御装置30は、撮像部10により撮像された撮像画像と、予め登録されている距離dと、予め登録されている物体Oのリファレンスモデルとに基づいて、物体Oのヤコビ行列を算出する。なお、距離dは、近似的に撮像部10とテーブルTBとの間の距離としてもよく、撮像部10とテーブルTBとの間の距離よりも所定の距離だけ短い又は長い距離としてもよい。   Here, the distance d indicates a distance between the origin of the three-dimensional coordinate system Σ set in the imaging unit 10 and a virtual plane set in advance on the object O described above. It is assumed that information indicating the distance d is registered in the control device 30 in advance. The control device 30 calculates the Jacobian matrix of the object O based on the captured image captured by the imaging unit 10, the distance d registered in advance, and the reference model of the object O registered in advance. Note that the distance d may be approximately the distance between the imaging unit 10 and the table TB, or may be a distance shorter or longer than the distance between the imaging unit 10 and the table TB by a predetermined distance.

リファレンスモデルとは、物体O又は物体Oの形状、色彩、模様等を三次元モデル化して得られた三次元モデルデータのことである。リファレンスモデルは、撮像部10により撮像された物体Oとの比較対象となるものであり、例えば、三次元コンピューターグラフィックス(Computer Graphics;CG)で表現される。この三次元CGは、例えば、ポリゴンデータの集合として表される。   The reference model is three-dimensional model data obtained by three-dimensional modeling of the object O or the shape, color, pattern, etc. of the object O. The reference model is a comparison target with the object O imaged by the imaging unit 10, and is represented by, for example, three-dimensional computer graphics (CG). This three-dimensional CG is represented as a set of polygon data, for example.

制御装置30は、算出された物体Oのヤコビ行列に基づいて物体位置姿勢を算出する。制御装置30は、算出された物体位置姿勢に基づいて把持部HNDにより物体Oを把持するようにロボット20を制御する。そして、制御装置30は、把持部HNDにより把持された物体Oを配置位置Xに配置するようにロボット20を制御する。   The control device 30 calculates the object position and orientation based on the calculated Jacobian matrix of the object O. The control device 30 controls the robot 20 to hold the object O by the holding unit HND based on the calculated object position and orientation. Then, the control device 30 controls the robot 20 so that the object O grasped by the grasping unit HND is arranged at the arrangement position X.

次に、図2を参照して、制御装置30のハードウェア構成について説明する。図2は、制御装置30のハードウェア構成の一例を示す図である。制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34を備え、通信部34を介して制御装置30と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。CPU31は、記憶部32に格納された各種プログラムを実行する。   Next, the hardware configuration of the control device 30 will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a hardware configuration of the control device 30. The control device 30 includes, for example, a CPU (Central Processing Unit) 31, a storage unit 32, an input reception unit 33, and a communication unit 34, and communicates with the control device 30 via the communication unit 34. These components are connected to each other via a bus Bus so that they can communicate with each other. The CPU 31 executes various programs stored in the storage unit 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)などを含み、制御装置30が処理する各種情報や画像、プログラム、前述した距離dを示す情報、前述したリファレンスモデルを示す情報等を格納する。なお、記憶部32は、制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。   The storage unit 32 includes, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a ROM (Read-Only Memory), a RAM (Random Access Memory), and the like. Various information, images, programs, information indicating the distance d described above, information indicating the reference model described above, and the like are stored. Note that the storage unit 32 may be an external storage device connected by a digital input / output port such as a USB instead of the one built in the control device 30.

入力受付部33は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部33は、表示部として機能することでタッチパネルとして構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
The input receiving unit 33 is, for example, a keyboard, a mouse, a touch pad, or other input device. Note that the input receiving unit 33 may be configured as a touch panel by functioning as a display unit.
The communication unit 34 includes, for example, a digital input / output port such as USB, an Ethernet (registered trademark) port, and the like.

次に、図3を参照して、制御装置30の機能構成について説明する。図3は、制御装置30の機能構成の一例を示す図である。制御装置30は、記憶部32と、画像取得部35と、制御部36を備える。制御部36が備える機能部のうち一部又は全部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。   Next, the functional configuration of the control device 30 will be described with reference to FIG. FIG. 3 is a diagram illustrating an example of a functional configuration of the control device 30. The control device 30 includes a storage unit 32, an image acquisition unit 35, and a control unit 36. Part or all of the functional units included in the control unit 36 is realized by the CPU 31 executing various programs stored in the storage unit 32, for example. Some or all of these functional units may be hardware functional units such as LSI (Large Scale Integration) and ASIC (Application Specific Integrated Circuit).

画像取得部35は、撮像部10から撮像画像を取得する。画像取得部35は、取得された撮像画像を制御部36に出力する。
制御部36は、制御装置30の全体を制御する。制御部36は、撮像制御部37と、画像生成部38と、ヤコビ行列算出部39と、ロボット制御部40を備える。
撮像制御部37は、撮像部10に物体Oを含む範囲を撮像させる。
The image acquisition unit 35 acquires a captured image from the imaging unit 10. The image acquisition unit 35 outputs the acquired captured image to the control unit 36.
The control unit 36 controls the entire control device 30. The control unit 36 includes an imaging control unit 37, an image generation unit 38, a Jacobian matrix calculation unit 39, and a robot control unit 40.
The imaging control unit 37 causes the imaging unit 10 to image a range including the object O.

画像生成部38は、記憶部32から距離dを示す情報を読み込む。また、画像生成部38は、記憶部32からリファレンスモデルを示す情報を読み込む。また、画像生成部38は、画像取得部35から撮像画像を取得する。画像生成部38は、画像取得部35から取得された撮像画像と、記憶部32から読み込まれた距離dと、記憶部32から読み込まれたリファレンスモデルとに基づいて、物体Oが異なる方向から撮像された場合に得られる撮像画像(以下、異方向画像と称する)を画像処理によって生成する。以下では、画像生成部38が行うこれらの処理をまとめて画像生成処理と称して説明する。なお、画像取得部35から取得される撮像画像は、第1画像の一例である。また、画像生成部38により生成される異方向画像は、第2画像の一例である。   The image generation unit 38 reads information indicating the distance d from the storage unit 32. Further, the image generation unit 38 reads information indicating the reference model from the storage unit 32. Further, the image generation unit 38 acquires a captured image from the image acquisition unit 35. The image generation unit 38 captures the object O from different directions based on the captured image acquired from the image acquisition unit 35, the distance d read from the storage unit 32, and the reference model read from the storage unit 32. A captured image (hereinafter, referred to as a different direction image) obtained in such a case is generated by image processing. Hereinafter, these processes performed by the image generation unit 38 will be collectively referred to as an image generation process. The captured image acquired from the image acquisition unit 35 is an example of a first image. In addition, the different direction image generated by the image generation unit 38 is an example of a second image.

ヤコビ行列算出部39は、記憶部32からリファレンスモデルを示す情報を読み込み、読み込まれたリファレンスモデルに基づいて、物体位置姿勢をESM法によって算出するためのヤコビ行列を算出する。本発明におけるヤコビ行列とは、画像特徴ベクトルを剛体運動パラメーターで微分したもの (画像特徴ベクトルは,単純に画素値を並べたものでもよい)を示す。以下では、説明の便宜上、このヤコビ行列を基準ヤコビ行列と称して説明する。   The Jacobian matrix calculation unit 39 reads information indicating a reference model from the storage unit 32, and calculates a Jacobian matrix for calculating the object position and orientation by the ESM method based on the read reference model. The Jacobian matrix in the present invention refers to a product obtained by differentiating an image feature vector with a rigid body motion parameter (the image feature vector may be a simple array of pixel values). Hereinafter, for convenience of explanation, this Jacobian matrix will be referred to as a reference Jacobian matrix.

なお、ヤコビ行列は、例えば、物体位置姿勢を推定するために利用される非線形最小化手法に必要なパラメーターを含む行列である。非線形最小化手法とは、例えば、ESM法やレーベンバーグ・マルカート法、ニュートン法、ガウス・ニュートン法等である。これらの非線形最小化手法のうち、ESM法は、他の手法に比べて反復計算の回数が少ないため、物体位置姿勢をより高速に推定したい場合に、好適に用いることができる。そこで、以下では、非線形最小化手法としてESM法を採用し、算出したヤコビ行列は、ESM法に用いるパラメーターであるものとして説明する。   The Jacobian matrix is a matrix including parameters necessary for a nonlinear minimization method used for estimating an object position and orientation, for example. Nonlinear minimization methods include, for example, the ESM method, the Levenberg-Marquardt method, the Newton method, the Gauss-Newton method, and the like. Of these nonlinear minimization methods, the ESM method has a smaller number of iterative calculations than other methods, and can be suitably used when it is desired to estimate the object position and orientation at a higher speed. Therefore, in the following description, it is assumed that the ESM method is adopted as the nonlinear minimization method and the calculated Jacobian matrix is a parameter used for the ESM method.

また、ヤコビ行列算出部39は、読み込まれたリファレンスモデルと、画像取得部35により取得された撮像画像と、画像生成部38により生成された複数の異方向画像とに基づいて、物体Oに係るヤコビ行列を算出する。以下では、説明の便宜上、このヤコビ行列を算出ヤコビ行列と称して説明する。なお、ヤコビ行列算出部39は、算出部の一例である。   Further, the Jacobian matrix calculation unit 39 relates to the object O based on the read reference model, the captured image acquired by the image acquisition unit 35, and the plurality of different direction images generated by the image generation unit 38. Calculate the Jacobian matrix. Hereinafter, for convenience of explanation, this Jacobian matrix will be referred to as a calculated Jacobian matrix. The Jacobian matrix calculation unit 39 is an example of a calculation unit.

ロボット制御部40は、ヤコビ行列算出部39により算出された基準ヤコビ行列と、ヤコビ行列算出部39により算出された算出ヤコビ行列に基づいてESM法により物体位置姿勢を算出する。また、ロボット制御部40は、算出された物体位置姿勢に基づいて把持部HNDにより物体Oを把持するようにロボット20を制御する。ロボット20が把持部HNDにより物体Oを把持した後、ロボット制御部40は、物体Oを配置位置Xに配置するようにロボット20を制御する。   The robot control unit 40 calculates the object position and orientation by the ESM method based on the reference Jacobian matrix calculated by the Jacobian matrix calculation unit 39 and the calculated Jacobian matrix calculated by the Jacobian matrix calculation unit 39. Further, the robot control unit 40 controls the robot 20 so that the object O is gripped by the gripping unit HND based on the calculated object position and orientation. After the robot 20 grips the object O by the gripping unit HND, the robot control unit 40 controls the robot 20 so as to place the object O at the placement position X.

以下、図4を参照して、制御装置30がロボット20に所定の作業を行わせる処理について説明する。図4は、制御装置30がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。まず、撮像制御部37は、物体Oを含む範囲を撮像するように撮像部10を制御する(ステップS100)。   Hereinafter, with reference to FIG. 4, a process in which the 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 control device 30 causes the robot 20 to perform a predetermined operation. First, the imaging control unit 37 controls the imaging unit 10 so as to image a range including the object O (step S100).

次に、画像取得部35は、撮像部10により撮像された撮像画像を撮像部10から取得する(ステップS110)。次に、画像生成部38は、画像取得部35により取得された撮像画像に対して画像生成処理を行う(ステップS120)。ここで、画像生成処理について説明する。画像生成部38は、記憶部32から距離dを示す情報を読み込む。画像生成部38は、読み込まれた距離dに基づいて画像取得部35により取得された撮像画像に対してホモグラフィー変換を行う。   Next, the image acquisition unit 35 acquires the captured image captured by the imaging unit 10 from the imaging unit 10 (step S110). Next, the image generation unit 38 performs image generation processing on the captured image acquired by the image acquisition unit 35 (step S120). Here, the image generation process will be described. The image generation unit 38 reads information indicating the distance d from the storage unit 32. The image generation unit 38 performs homography conversion on the captured image acquired by the image acquisition unit 35 based on the read distance d.

ホモグラフィー変換とは、第1平面を、射影変換を用いて第1平面とは異なる第2平面に射影する変換のことである。画像生成部38は、このホモグラフィー変換により、ある方向から撮像部10により物体Oを含む範囲が撮像された撮像画像(前述の第1平面)を、他の方向から撮像部10により物体Oを含む範囲が撮像された時に取得される撮像画像(前述の第2平面)に近似的に変換する。   The homography conversion is a conversion in which the first plane is projected onto a second plane different from the first plane by using projective conversion. By this homography conversion, the image generation unit 38 captures a captured image (the first plane described above) in which a range including the object O is captured by the imaging unit 10 from a certain direction, and the object O from the other direction by the imaging unit 10. Approximately converted to a captured image (the above-described second plane) acquired when the range to be captured is captured.

換言すると、画像生成部38は、他の方向から撮像部10により物体Oを含む範囲を撮像した場合に画像取得部35から取得されるであろう撮像画像を、画像取得部35から取得された撮像画像に対してホモグラフィー変換を行うことによって近似的に生成する。なお、画像生成部38は、このホモグラフィー変換を、撮像画像に含まれる物体Oに対して行う。これにより、画像生成部38は、ホモグラフィー変換を撮像画像全体に対して行う場合と比較して、このホモグラフィー変換に伴う計算量を抑制することができる。   In other words, the image generation unit 38 has acquired, from the image acquisition unit 35, a captured image that would be acquired from the image acquisition unit 35 when the imaging unit 10 captured a range including the object O from another direction. Approximately generated by performing homography conversion on the captured image. The image generation unit 38 performs this homography conversion on the object O included in the captured image. Thereby, the image generation part 38 can suppress the calculation amount accompanying this homography conversion compared with the case where homography conversion is performed with respect to the whole captured image.

他の方向とは、図1に示した三次元座標系ΣのX軸、Y軸、Z軸のうちいずれか一つの軸周りで撮像部10を仮想的に微小回転及び微小並進させた時に、撮像部10の光軸が向く方向である。以下では、他の方向から撮像部10により物体Oを含む範囲が撮像された撮像画像を、異方向画像と称して説明する。撮像部10を仮想的に微小回転及び微小並進させた時の複数の仮想的な撮像部10の位置は、第1位置とは異なる複数の位置の一例である。   When the imaging unit 10 is virtually micro-rotated and micro-translated around any one of the X, Y, and Z axes of the three-dimensional coordinate system Σ shown in FIG. This is the direction in which the optical axis of the imaging unit 10 faces. Hereinafter, a captured image in which a range including the object O is captured by the imaging unit 10 from another direction will be referred to as a different direction image. The positions of the plurality of virtual imaging units 10 when the imaging unit 10 is virtually micro-rotated and micro-translated are examples of a plurality of positions different from the first position.

なお、三次元座標系ΣのX軸、Y軸、Z軸のそれぞれの周りで撮像部10を微小回転させる方向は、正方向と負方向の2つの方向がある。従って、画像生成部38は、撮像画像に含まれる物体Oを、三次元座標系ΣのX軸、Y軸、Z軸のそれぞれの周りで正方向と負方向に微小回転させるため、ホモグラフィー変換によって6枚の異方向画像を生成する。なお、画像生成部38は、予め記憶部32に記憶されたX軸、Y軸、Z軸のそれぞれに係る微小回転量を読み込み、読み込まれた微小回転量に基づいて撮像画像に映る物体Oを微小回転させる。   There are two directions in which the imaging unit 10 is slightly rotated around each of the X axis, the Y axis, and the Z axis of the three-dimensional coordinate system Σ, a positive direction and a negative direction. Therefore, the image generation unit 38 rotates the object O included in the captured image slightly in the positive direction and the negative direction around the X axis, the Y axis, and the Z axis of the three-dimensional coordinate system Σ. To generate six different-direction images. Note that the image generation unit 38 reads the minute rotation amount relating to each of the X axis, the Y axis, and the Z axis stored in the storage unit 32 in advance, and the object O reflected in the captured image based on the read minute rotation amount. Slightly rotate.

ここで、図5を参照して、画像生成部38が異方向画像を生成する処理について説明する。図5は、画像生成部38により生成される6枚の異方向画像のうち、ホモグラフィー変換により前述した三次元座標系ΣのX軸、Y軸、Z軸のそれぞれの周りで正方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な3枚の異方向画像と、ホモグラフィー変換による微小回転が行われる前の画像取得部35から取得された撮像画像を例示する図である。なお、X軸、Y軸、Z軸のそれぞれの周りで負方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な3枚の異方向画像の生成に係る処理は、図5に示した3枚の異方向画像の生成に係る処理と同様なため、説明を省略する。   Here, with reference to FIG. 5, the process in which the image generation part 38 produces | generates a different direction image is demonstrated. FIG. 5 shows images in the positive direction around the X axis, Y axis, and Z axis of the three-dimensional coordinate system Σ described above by homography conversion among the six different-direction images generated by the image generation unit 38. Examples of three different-direction images that can be approximately used as images picked up when the unit 10 is slightly rotated and a captured image acquired from the image acquisition unit 35 before the minute rotation by the homography conversion is illustrated. It is a figure to do. Note that the processing related to the generation of three different-direction images that can be approximately used as an image captured when the imaging unit 10 is slightly rotated in the negative direction around each of the X, Y, and Z axes is as follows. Since it is the same as the process related to the generation of the three different-direction images shown in FIG.

図5(A)に示した画像Pは、ホモグラフィー変換が行われる前の画像取得部35から取得された撮像画像の一例である。画像Pには、物体Oが含まれている(映っている)。図5(B)に示した画像PXは、X軸の周りで正方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な異方向画像の一例である。画像PXには、画像Pに含まれる物体Oにホモグラフィー変換による微小回転が行われた後の物体Oが映っている。また、画像PX上の点線POは、ホモグラフィー変換による微小回転が行われる前の物体Oの輪郭(すなわち、画像Pに含まれる物体Oの輪郭)を示す。   An image P shown in FIG. 5A is an example of a captured image acquired from the image acquisition unit 35 before the homography conversion is performed. The image P includes (images) the object O. An image PX shown in FIG. 5B is an example of a different direction image that can be approximately used as an image captured when the imaging unit 10 is slightly rotated in the positive direction around the X axis. In the image PX, the object O after the minute rotation by the homography conversion is performed on the object O included in the image P is shown. A dotted line PO on the image PX indicates the contour of the object O (that is, the contour of the object O included in the image P) before the minute rotation by the homography conversion is performed.

図5(B)に示したように、画像PXは、ホモグラフィー変換による微小並進が行われる前の画像であるため、物体Oは、点線POからずれている。このずれは、撮像部10の光軸と前述した仮想的な平面とが交差する位置が、ホモグラフィー変換による微小回転の影響で、その微小回転の前後でずれてしまうことにより生じる。また、このずれの大きさΔdyは、ホモグラフィー変換によって微小角度Δθだけ微小回転を行った場合、撮像部10と前述の仮想的な平面との間の距離dに応じて、以下に示した式(1)によって算出することができる。   As shown in FIG. 5B, since the image PX is an image before the minute translation by the homography conversion is performed, the object O is deviated from the dotted line PO. This shift occurs because the position where the optical axis of the imaging unit 10 intersects the above-described virtual plane is shifted before and after the micro rotation due to the micro rotation due to the homography conversion. Further, the magnitude Δdy of this deviation is expressed by the following equation in accordance with the distance d between the imaging unit 10 and the above-described virtual plane when the minute rotation is performed by the minute angle Δθ by homography conversion. It can be calculated by (1).

Δdy=d×tan(Δθ)≒dΔθ ・・・(1) Δdy = d × tan (Δθ) ≈dΔθ (1)

ここで、上記の式(1)の最右辺は、Δθが微小角度であることによる近似を示す。従って、画像生成部38は、ホモグラフィー変換によって三次元座標系ΣのX軸の周りで正方向に撮像部10を微小角度Δθだけ微小回転させた時に撮像される画像として近似的に利用可能な異方向画像を生成する時、画像Pに含まれる物体Oにホモグラフィー変換による微小回転を行って画像PXを生成した後、上記の式(1)に基づいてY軸方向にΔdyだけ画像PXに含まれる物体Oを、撮像部10を微小角度Δθだけ微小回転させた時に撮像部10の光軸が動いた方向と反対方向に微小並進させる。これにより、画像生成部38は、ヤコビ行列を算出するために必要な異方向画像のうち、三次元座標系ΣのX軸の周りで正方向に撮像部10を微小角度Δθだけ微小回転させた時に撮像される画像として利用可能な異方向画像を生成する。   Here, the rightmost side of the above equation (1) indicates an approximation due to Δθ being a minute angle. Therefore, the image generation unit 38 can be approximately used as an image captured when the imaging unit 10 is slightly rotated by a small angle Δθ around the X axis of the three-dimensional coordinate system Σ by homography conversion. When generating the different direction image, the object O included in the image P is rotated slightly by homography conversion to generate the image PX, and then the image PX is changed by Δdy in the Y-axis direction based on the above equation (1). The contained object O is slightly translated in the direction opposite to the direction in which the optical axis of the imaging unit 10 is moved when the imaging unit 10 is slightly rotated by a minute angle Δθ. Thereby, the image generation unit 38 slightly rotates the imaging unit 10 by a small angle Δθ in the positive direction around the X axis of the three-dimensional coordinate system Σ among the different direction images necessary for calculating the Jacobian matrix. A different direction image that can be used as an image that is sometimes captured is generated.

また、図5(B)に示した画像PYは、Y軸の周りで正方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な異方向画像の一例である。画像PYには、画像Pに含まれる物体Oにホモグラフィー変換による微小回転が行われた後の物体Oが映っている。また、画像PY上の点線POは、ホモグラフィー変換が行われる前の物体Oの輪郭を示す。   An image PY shown in FIG. 5B is an example of a different direction image that can be used approximately as an image captured when the imaging unit 10 is slightly rotated in the positive direction around the Y axis. The image PY shows the object O after the object O included in the image P has been finely rotated by homography conversion. A dotted line PO on the image PY indicates the contour of the object O before the homography conversion is performed.

画像PXの場合と同様に、画像生成部38は、ホモグラフィー変換によって三次元座標系ΣのY軸の周りで正方向に撮像部10を微小角度Δφだけ微小回転させた時に撮像される画像として近似的に利用可能な異方向画像を生成する時、画像Pに含まれる物体Oにホモグラフィー変換による微小回転を行って画像PYを生成した後、以下の式(2)に基づいてX軸方向にΔdxだけ画像PXに含まれる物体Oを、撮像部10を微小角度Δφだけ微小回転させた時に撮像部10の光軸が動いた方向と反対方向に微小並進させる。   As in the case of the image PX, the image generation unit 38 is an image captured when the imaging unit 10 is slightly rotated by a small angle Δφ in the positive direction around the Y axis of the three-dimensional coordinate system Σ by homography conversion. When generating an approximately usable different-direction image, an object P included in the image P is micro-rotated by homography conversion to generate an image PY, and then the X-axis direction based on the following equation (2) The object O included in the image PX by Δdx is slightly translated in the direction opposite to the direction in which the optical axis of the imaging unit 10 moved when the imaging unit 10 is slightly rotated by the minute angle Δφ.

Δdx=d×tan(Δφ)≒dΔφ ・・・(2) Δdx = d × tan (Δφ) ≈dΔφ (2)

ここで、上記の式(1)の最右辺は、Δθが微小角度であることによる近似を示す。これにより、画像生成部38は、ヤコビ行列を算出するために必要な異方向画像のうち、三次元座標系ΣのY軸の周りで正方向に撮像部10を微小角度Δφだけ微小回転させた時に撮像される画像として利用可能な異方向画像を生成する。   Here, the rightmost side of the above equation (1) indicates an approximation due to Δθ being a minute angle. Thereby, the image generation unit 38 slightly rotates the imaging unit 10 by a small angle Δφ in the positive direction around the Y axis of the three-dimensional coordinate system Σ among the different direction images necessary for calculating the Jacobian matrix. A different direction image that can be used as an image that is sometimes captured is generated.

また、図5(B)に示した画像PZは、Z軸の周りで正方向に撮像部10を微小回転させた時に撮像される画像として近似的に利用可能な異方向画像の一例である。画像PZには、画像Pに含まれる物体Oに対してホモグラフィー変換による微小回転が行われた後の物体Oが映っている。また、画像PZ上の点線POは、ホモグラフィー変換が行われる前の物体Oの輪郭を示す。   An image PZ shown in FIG. 5B is an example of a different direction image that can be used approximately as an image captured when the imaging unit 10 is slightly rotated in the positive direction around the Z axis. The image PZ shows the object O after a minute rotation by homography conversion is performed on the object O included in the image P. A dotted line PO on the image PZ indicates the contour of the object O before the homography conversion is performed.

Z軸周りに撮像部10を回転させた場合、撮像部10の光軸周りに撮像部10を回転させることになるため、撮像部10の光軸と前述した仮想的な平面とが交差する位置が、ホモグラフィー変換による微小回転の影響でずれてしまうことがない。従って、画像生成部38は、ヤコビ行列を算出するために必要な異方向画像のうち、画像PXや画像PYの場合と異なり、微小並進を行うことなく三次元座標系ΣのZ軸の周りで正方向に撮像部10を微小角度Δφだけ微小回転させた時に撮像される画像として近似的に利用可能な異方向画像を生成する。   When the imaging unit 10 is rotated around the Z axis, the imaging unit 10 is rotated around the optical axis of the imaging unit 10, and thus the position where the optical axis of the imaging unit 10 and the above-described virtual plane intersect. However, it does not shift due to the influence of minute rotation by homography conversion. Accordingly, the image generation unit 38 differs from the image PX or the image PY among the different-direction images necessary for calculating the Jacobian matrix around the Z-axis of the three-dimensional coordinate system Σ without performing a minute translation. A different direction image that can be approximately used as an image captured when the imaging unit 10 is slightly rotated by a minute angle Δφ in the positive direction is generated.

次に、ヤコビ行列算出部39は、基準ヤコビ行列と、算出ヤコビ行列を算出する(ステップS130)。より具体的には、ヤコビ行列算出部39は、記憶部32からリファレンスモデルを読み込む。なお、ヤコビ行列算出部39は、画像生成部38によりリファレンスモデルが読み込まれている場合、それを用いて以下で説明する処理を行ってもよい。ヤコビ行列算出部39は、基準ヤコビ行列を算出していない場合、リファレンスモデルに基づいて基準ヤコビ行列を算出する。   Next, the Jacobian matrix calculation unit 39 calculates a reference Jacobian matrix and a calculated Jacobian matrix (step S130). More specifically, the Jacobian matrix calculation unit 39 reads the reference model from the storage unit 32. When the reference model is read by the image generation unit 38, the Jacobian matrix calculation unit 39 may perform processing described below using the reference model. When the reference Jacobian matrix is not calculated, the Jacobian matrix calculation unit 39 calculates a reference Jacobian matrix based on the reference model.

ここで、基準ヤコビ行列の導出について説明する。ヤコビ行列算出部39は、リファレンスモデルを読み込み、読み込まれたリファレンスモデルがある任意の位置に存在するときのヤコビ行列を導出する。なお、ヤコビ行列算出部39は、基準ヤコビ行列を算出するための処理を全てCG上で行うため、算出ヤコビ行列を導出する際に行ったようなホモグラフィー変換を行う必要は無く、CG上で撮像部を微小移動させた時に得られる画像を生成する。この時、CG上においても微小回転変化に伴うずれが発生するため、ヤコビ行列算出部39は、算出ヤコビ行列を求める際に行う微小並進させる処理(段落[0046]〜[0054])を、基準ヤコビ行列を導出するときについてもCG上で行う必要がある。   Here, the derivation of the reference Jacobian matrix will be described. The Jacobian matrix calculation unit 39 reads a reference model and derives a Jacobian matrix when the read reference model exists at an arbitrary position. The Jacobian matrix calculation unit 39 performs all the processing for calculating the reference Jacobian matrix on the CG. Therefore, it is not necessary to perform the homography conversion that is performed when the calculated Jacobian matrix is derived. An image obtained when the imaging unit is moved minutely is generated. At this time, since a shift due to a minute rotation change also occurs on the CG, the Jacobian matrix calculation unit 39 performs the process of performing the minute translation (paragraphs [0046] to [0054]) performed when obtaining the calculated Jacobian matrix. When deriving the Jacobian matrix, it is necessary to perform it on the CG.

基準ヤコビ行列を算出した後、ヤコビ行列算出部39は、記憶部32に基準ヤコビ行列を示す情報を出力して記憶させる。ヤコビ行列算出部39は、すでに基準ヤコビ行列を算出している場合、記憶部32から基準ヤコビ行列を読み込む。また、ヤコビ行列算出部39は、画像取得部35から取得された撮像画像と、画像生成部38により生成された6枚の異方向画像とに基づいて、算出ヤコビ行列を算出する。   After calculating the reference Jacobian matrix, the Jacobian matrix calculation unit 39 outputs and stores information indicating the reference Jacobian matrix in the storage unit 32. The Jacobian matrix calculation unit 39 reads the reference Jacobian matrix from the storage unit 32 when the reference Jacobian matrix has already been calculated. Further, the Jacobian matrix calculation unit 39 calculates a calculation Jacobian matrix based on the captured image acquired from the image acquisition unit 35 and the six different-direction images generated by the image generation unit 38.

なお、ヤコビ行列算出部39は、予め登録されているステップサイズに基づいてヤコビ行列の計算に用いる数値微分を行い、三次元算出ヤコビ行列を算出する。ただし、リファレンスモデルと、画像取得部35から取得された撮像画像との隔たりが大きい場合、ヤコビ行列算出部39は、ヤコビ行列の計算に用いる数値微分のステップサイズΔを以下の式(3)に基づいて算出する構成であってもよい。   The Jacobian matrix calculation unit 39 performs numerical differentiation used for the calculation of the Jacobian matrix based on a pre-registered step size to calculate a three-dimensional calculation Jacobian matrix. However, when the distance between the reference model and the captured image acquired from the image acquisition unit 35 is large, the Jacobian matrix calculation unit 39 sets the numerical differentiation step size Δ used for calculating the Jacobian matrix to the following equation (3). The configuration may be calculated based on the above.

Δ=u(x)×(1.0+α×(E/E)×Δ) ・・・(3) Δ = u (x) × (1.0 + α × (E / E 0 ) × Δ 0 ) (3)

ここで、αは、設計定数を示し、例えば、200である。Eは、リファレンスモデルと、画像取得部35から取得された撮像画像との差分画像における非ゼロ画素数を示す。Eは、画像取得部35から取得された撮像画像中の物体Oの輪郭内に含まれる全画素数を示す。u(x)は、階段関数であり、例えば、引数xの値に応じて1、2、4、8のいずれかの値となる関数である。例えば、u(x)は、x>8の時に8、4<x≦8の時に4、2<x≦4の時に2、xがその他の値の時に1となる。Δは、設計段階で設定する基本ステップサイズを示す。なお、α、u(x)、Δのそれぞれは、パラメーター情報として予め記憶部32に記憶されているとする。 Here, α indicates a design constant, for example, 200. E indicates the number of non-zero pixels in the difference image between the reference model and the captured image acquired from the image acquisition unit 35. E 0 indicates the total number of pixels included in the contour of the object O in the captured image acquired from the image acquisition unit 35. u (x) is a step function, for example, a function that takes one of 1, 2, 4, and 8 depending on the value of the argument x. For example, u (x) is 8 when x> 8, 4 when 4 <x ≦ 8, 2 when 2 <x ≦ 4, and 1 when x is any other value. Δ 0 indicates a basic step size set in the design stage. Incidentally, α, u (x), each delta 0, and are stored in advance in the storage section 32 as a parameter information.

上記の式(3)に基づいてステップサイズΔを算出する場合、ヤコビ行列算出部39は、記憶部32からリファレンスモデルを読み込む。画像生成部38は、記憶部32から読み込まれたリファレンスモデルと、画像取得部35から取得された撮像画像との差分画像を生成する。そして、ヤコビ行列算出部39は、記憶部32からパラメーター情報を読み込み、読み込まれたパラメーター情報と、生成された差分画像と、画像取得部35から取得された撮像画像とに基づいて、上記の式(3)を用いてステップサイズΔを算出する。   When calculating the step size Δ based on the above equation (3), the Jacobian matrix calculation unit 39 reads the reference model from the storage unit 32. The image generation unit 38 generates a difference image between the reference model read from the storage unit 32 and the captured image acquired from the image acquisition unit 35. The Jacobian matrix calculation unit 39 reads the parameter information from the storage unit 32, and based on the read parameter information, the generated difference image, and the captured image acquired from the image acquisition unit 35, the above formula The step size Δ is calculated using (3).

ヤコビ行列算出部39は、算出されたステップサイズΔを用いて算出ヤコビ行列を算出する。これにより、ヤコビ行列算出部39は、上記の式(3)に基づいてステップサイズΔを算出しない場合と比較して、ステップサイズΔを大きくすることができる。その結果、ヤコビ行列算出部39は、画像取得部35から取得される撮像画像に映る物体Oと、リファレンスモデルとの隔たりを収束させるために掛かる計算量を抑制することができる。   The Jacobian matrix calculation unit 39 calculates a calculated Jacobian matrix using the calculated step size Δ. Thereby, the Jacobian matrix calculation unit 39 can increase the step size Δ as compared with the case where the step size Δ is not calculated based on the above equation (3). As a result, the Jacobian matrix calculation unit 39 can suppress the amount of calculation required to converge the distance between the object O reflected in the captured image acquired from the image acquisition unit 35 and the reference model.

次に、ロボット制御部40は、ステップS130で算出された基準ヤコビ行列と、算出ヤコビ行列とに基づいて物体位置姿勢を算出する。そして、ロボット制御部40は、算出された物体位置姿勢に基づいて把持部HNDにより物体Oを把持するようにロボット20を制御する(ステップS140)。次に、ロボット制御部40は、把持部HNDにより把持された物体Oを前述の配置位置Xに配置するようにロボット20を制御する(ステップS150)。   Next, the robot control unit 40 calculates the object position and orientation based on the reference Jacobian matrix calculated in Step S130 and the calculated Jacobian matrix. Then, the robot control unit 40 controls the robot 20 so as to grip the object O by the gripping unit HND based on the calculated object position and orientation (step S140). Next, the robot controller 40 controls the robot 20 so that the object O gripped by the gripper HND is placed at the placement position X described above (step S150).

以上説明したように、本実施形態におけるロボットシステム1は、撮像画像であってテーブルTB上に設置された物体Oを含む撮像画像を取得し、物体Oを撮像部10が設置された位置とは異なる複数の位置から撮像した画像に相当する複数の異方向画像を生成し、生成された複数の異方向画像を用いてロボット20を動作させる。これにより、ロボットシステム1は、撮像部10もしくは物体Oを動かすことなくロボット20に作業を行わせることができる。   As described above, the robot system 1 according to the present embodiment acquires a captured image that is a captured image and includes the object O installed on the table TB, and the object O is a position where the imaging unit 10 is installed. A plurality of different direction images corresponding to images taken from a plurality of different positions are generated, and the robot 20 is operated using the generated plurality of different direction images. Accordingly, the robot system 1 can cause the robot 20 to perform an operation without moving the imaging unit 10 or the object O.

また、ロボットシステム1は、複数異方向画像を用いて算出されたヤコビ行列に基づいてロボット20を動作させる。これにより、ロボットシステム1は、撮像部10もしくは物体Oを動かすことなく算出されたヤコビ行列によってロボット20に作業を行わせることができる。   Further, the robot system 1 operates the robot 20 based on the Jacobian matrix calculated using a plurality of different direction images. As a result, the robot system 1 can cause the robot 20 to perform work using the Jacobian matrix calculated without moving the imaging unit 10 or the object O.

また、ロボットシステム1は、物体Oのリファレンスモデルと、画像取得部35から取得された撮像画像との差分画像に基づいてステップサイズを算出し、算出されたステップサイズに基づいて算出ヤコビ行列を算出する。これにより、ロボットシステム1は、算出ヤコビ行列を算出するための計算量を抑制することができる。   The robot system 1 calculates a step size based on a difference image between the reference model of the object O and the captured image acquired from the image acquisition unit 35, and calculates a calculated Jacobian matrix based on the calculated step size. To do. Thereby, the robot system 1 can suppress the calculation amount for calculating the calculated Jacobian matrix.

また、ロボットシステム1は、画像取得部35から取得される撮像画像に含まれる物体Oに微小回転を行うことで、複数の異方向画像を生成する。これにより、ロボットシステム1は、撮像部10を動かすことなく、撮像部10を動かした場合に得られるであろう複数の画像を得ることができる。   Further, the robot system 1 generates a plurality of different-direction images by performing minute rotation on the object O included in the captured image acquired from the image acquisition unit 35. Thereby, the robot system 1 can obtain a plurality of images that would be obtained when the imaging unit 10 is moved without moving the imaging unit 10.

また、ロボットシステム1は、画像取得部35から取得される撮像画像に含まれる物体Oに微小回転を行った後、その撮像画像に含まれる物体Oに微小並進を行うことで、複数の異方向画像を生成する。これにより、ロボットシステム1は、誤差の小さな画像であって撮像部10を動かした場合に得られるであろう複数の画像を複数の異方向画像として得ることができる。   In addition, the robot system 1 performs a minute rotation on the object O included in the captured image acquired from the image acquisition unit 35 and then performs a minute translation on the object O included in the captured image, so that a plurality of different directions are obtained. Generate an image. Thereby, the robot system 1 can obtain a plurality of images that are images with small errors and that would be obtained when the imaging unit 10 is moved as a plurality of different-direction images.

以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and changes, substitutions, deletions, and the like are possible without departing from the gist of the present invention. May be.

また、以上に説明した装置(例えば、ロボットシステム1の制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM:Random Access Memory)のように、一定時間プログラムを保持しているものも含むものとする。   Further, a program for realizing the function of an arbitrary component in the apparatus described above (for example, the control apparatus 30 of the robot system 1) is recorded on a computer-readable recording medium, and the program is read into the computer system. May be executed. Here, the “computer system” includes hardware such as an OS (Operating System) and peripheral devices. “Computer-readable recording medium” means a portable disk such as a flexible disk, a magneto-optical disk, a ROM (Read Only Memory), a CD (Compact Disk) -ROM, or a hard disk built in a computer system. Refers to the device. Further, the “computer-readable recording medium” means a volatile memory (RAM: Random Access) inside a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. Memory that holds a program for a certain period of time, such as Memory).

また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
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 ロボットシステム、10 撮像部、20 ロボット、30 制御装置、31 CPU、32 記憶部、33 入力受付部、34 通信部、35 画像取得部、36 制御部、37 撮像制御部、38 画像生成部、39 ヤコビ行列算出部、40 ロボット制御部 DESCRIPTION OF SYMBOLS 1 Robot system, 10 Imaging part, 20 Robot, 30 Control apparatus, 31 CPU, 32 Storage part, 33 Input reception part, 34 Communication part, 35 Image acquisition part, 36 Control part, 37 Imaging control part, 38 Image generation part, 39 Jacobian matrix calculation unit, 40 Robot control unit

Claims (6)

第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、
前記物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて動作する、
ロボット。
Obtaining a first image of an object placed at a second position imaged by an imaging unit placed at a first position;
Operating using a plurality of second images corresponding to images obtained by imaging the object from a plurality of positions different from the first position;
robot.
請求項1に記載のロボットであって、
複数の前記第2画像を用いて算出されたヤコビ行列に基づいて動作する、
ロボット。
The robot according to claim 1,
Operating based on a Jacobian matrix calculated using a plurality of the second images;
robot.
請求項2に記載のロボットであって、
前記ヤコビ行列は、前記物体のリファレンスモデルと、前記第1画像との差分画像に基づいてステップサイズを算出し、算出された前記ステップサイズに基づいて算出される、
ロボット。
The robot according to claim 2,
The Jacobian matrix calculates a step size based on a difference image between the reference model of the object and the first image, and is calculated based on the calculated step size.
robot.
請求項1又は2に記載のロボットであって、
複数の前記第2画像は、前記第1画像に含まれる前記物体に微小回転を行うことで生成される、
ロボット。
The robot according to claim 1 or 2,
The plurality of second images are generated by performing a minute rotation on the object included in the first image.
robot.
請求項4に記載のロボットであって、
複数の前記第2画像は、前記微小回転を行った後、前記第1画像に含まれる前記物体に微小並進を行うことで生成される、
ロボット。
The robot according to claim 4,
The plurality of second images are generated by performing minute translation on the object included in the first image after performing the minute rotation.
robot.
第1位置に配置された撮像部が撮像した第2位置に配置された物体の第1画像を取得し、
前記物体を前記第1位置とは異なる複数の位置から撮像した画像に相当する複数の第2画像を用いて、ロボットを動作させる、
制御方法。
Obtaining a first image of an object placed at a second position imaged by an imaging unit placed at a first position;
Operating the robot using a plurality of second images corresponding to images obtained by imaging the object from a plurality of positions different from the first position;
Control method.
JP2014138127A 2014-07-03 2014-07-03 Robot, and control method Pending JP2016013610A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014138127A JP2016013610A (en) 2014-07-03 2014-07-03 Robot, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014138127A JP2016013610A (en) 2014-07-03 2014-07-03 Robot, and control method

Publications (1)

Publication Number Publication Date
JP2016013610A true JP2016013610A (en) 2016-01-28

Family

ID=55230233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014138127A Pending JP2016013610A (en) 2014-07-03 2014-07-03 Robot, and control method

Country Status (1)

Country Link
JP (1) JP2016013610A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113313707A (en) * 2021-06-25 2021-08-27 西安紫光展锐科技有限公司 Original image processing method, device, equipment and readable storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113313707A (en) * 2021-06-25 2021-08-27 西安紫光展锐科技有限公司 Original image processing method, device, equipment and readable storage medium

Similar Documents

Publication Publication Date Title
JP6380828B2 (en) Robot, robot system, control device, and control method
JP6180086B2 (en) Information processing apparatus and information processing method
JP6427972B2 (en) Robot, robot system and control device
US20160184996A1 (en) Robot, robot system, control apparatus, and control method
JP2017170571A (en) Robot, robot control apparatus, and robot system
JP6364836B2 (en) Robot, robot system, and control device
JP6443837B2 (en) Robot, robot system, control device, and control method
JP2018051704A (en) Robot control device, robot, and robot system
CN111801198A (en) Hand-eye calibration method, system and computer storage medium
JP2013036988A (en) Information processing apparatus and information processing method
JP2017071018A (en) Robot system, robot, and robot controlling device
JP6699097B2 (en) Robot and control device
US20170203434A1 (en) Robot and robot system
JP2018015855A (en) Robot control device, robot, and robot system
US20180215044A1 (en) Image processing device, robot control device, and robot
Kuo et al. Pose determination of a robot manipulator based on monocular vision
JP2015182212A (en) Robot system, robot, control device, and control method
JP6488571B2 (en) Teaching apparatus and robot system
JP2018017653A (en) Three-dimensional measuring device, robot, robot controlling device, and robot system
JP2017047479A (en) Robot, control device and robot system
JP6455869B2 (en) Robot, robot system, control device, and control method
JP2018017610A (en) Three-dimensional measuring device, robot, robot controlling device, and robot system
JP2016013610A (en) Robot, and control method
JP2016120530A (en) Robot and robot calibration system
JP2016120558A (en) Robot and robot system