[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2021190972A - Three-dimensional measurement device - Google Patents

Three-dimensional measurement device Download PDF

Info

Publication number
JP2021190972A
JP2021190972A JP2020098180A JP2020098180A JP2021190972A JP 2021190972 A JP2021190972 A JP 2021190972A JP 2020098180 A JP2020098180 A JP 2020098180A JP 2020098180 A JP2020098180 A JP 2020098180A JP 2021190972 A JP2021190972 A JP 2021190972A
Authority
JP
Japan
Prior art keywords
camera
robot
control signal
convergence angle
angle
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
JP2020098180A
Other languages
Japanese (ja)
Inventor
壮 石過
Takeshi Ishika
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.)
Toshiba Development and Engineering Corp
Original Assignee
Toshiba Development and Engineering 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 Toshiba Development and Engineering Corp filed Critical Toshiba Development and Engineering Corp
Priority to JP2020098180A priority Critical patent/JP2021190972A/en
Publication of JP2021190972A publication Critical patent/JP2021190972A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Stereoscopic And Panoramic Photography (AREA)
  • Studio Devices (AREA)

Abstract

To suppress or prevent the variation of the congestion angle of a stereoscopic camera due to change in the position and/or the posture of a mobile body.SOLUTION: A three-dimensional measurement device according to one embodiment of the present invention comprises: a stereoscopic camera provided at a mobile body; a congestion angle detection unit for detecting the congestion angle of the stereoscopic camera; and a congestion angle control unit which controls the congestion angle of the stereoscopic camera on the basis of a mobile body control signal for controlling the position and/or the posture of the mobile body and the detected congestion angle of the stereoscopic camera.SELECTED DRAWING: Figure 2

Description

本発明は、被写体の三次元情報を得る技術に関する。 The present invention relates to a technique for obtaining three-dimensional information of a subject.

従来、ピッキングやパッキングなどのアクションを行うロボットを制御する制御装置は、ステレオカメラでワークを撮影した画像間でステレオマッチングを行い、ワークの三次元(3D)形状を推定する。続いて、制御装置は、予め用意されたワークの3Dモデルとのマッチングにより、ワークの位置及び姿勢を推定する。制御装置は、ワークの位置及び姿勢の推定結果に基づいてロボットを制御する。 Conventionally, a control device that controls a robot that performs an action such as picking or packing performs stereo matching between images taken by a stereo camera and estimates a three-dimensional (3D) shape of the work. Subsequently, the control device estimates the position and orientation of the work by matching with the 3D model of the work prepared in advance. The control device controls the robot based on the estimation result of the position and posture of the work.

一般に、視野を広くするためと、ステレオマッチングの効率を高めるために、ステレオカメラの輻輳角は、同じ被写体(ワーク)が左右カメラの画像上で近い位置に映るように設定される。 Generally, in order to widen the field of view and improve the efficiency of stereo matching, the convergence angle of the stereo camera is set so that the same subject (work) is projected at a close position on the images of the left and right cameras.

ステレオカメラの輻輳角を制御する技術は、例えば、特許文献1に開示されている。特許文献1に開示された立体映像装置は、立体感が十分に得られるようにステレオカメラの輻輳角を調整する。 A technique for controlling the convergence angle of a stereo camera is disclosed in, for example, Patent Document 1. The stereoscopic image apparatus disclosed in Patent Document 1 adjusts the convergence angle of the stereo camera so as to obtain a sufficient stereoscopic effect.

特開平10−23467号公報Japanese Unexamined Patent Publication No. 10-23467

ステレオカメラがロボットに設置される場合、ロボットの加減速によりステレオカメラに機械的な衝撃が加わる。このような衝撃によりカメラが意図せず回転し、ステレオカメラの輻輳角が変わってしまうことがある。 When the stereo camera is installed on the robot, the acceleration / deceleration of the robot exerts a mechanical impact on the stereo camera. Such an impact may cause the camera to rotate unintentionally and change the convergence angle of the stereo camera.

本発明は、ロボットなどの移動体の位置及び姿勢の少なくとも一方の変更によるステレオカメラの輻輳角の変化を抑制又は防止することを目的とする。 An object of the present invention is to suppress or prevent a change in the convergence angle of a stereo camera due to a change in at least one of the position and posture of a moving object such as a robot.

本発明の一実施形態に係る三次元計測装置は、移動体に設けられるステレオカメラと、前記ステレオカメラの輻輳角を検出する輻輳角検出部と、前記移動体の位置及び姿勢の少なくとも一方を変更するための移動体制御信号と前記ステレオカメラの前記検出された輻輳角とに基づいて、前記ステレオカメラの前記輻輳角を制御する輻輳角制御部と、を備える。 The three-dimensional measuring device according to the embodiment of the present invention changes at least one of a stereo camera provided in the moving body, a convergence angle detecting unit for detecting the convergence angle of the stereo camera, and a position and an attitude of the moving body. It is provided with a convergence angle control unit that controls the convergence angle of the stereo camera based on the moving body control signal for the purpose and the detected convergence angle of the stereo camera.

本発明によれば、移動体の位置及び姿勢の少なくとも一方の変更によるステレオカメラの輻輳角の変化を抑制又は防止することができる。 According to the present invention, it is possible to suppress or prevent a change in the convergence angle of a stereo camera due to a change in at least one of the position and the posture of the moving body.

一実施形態に係る三次元計測装置を含むロボットシステムを示す図。The figure which shows the robot system which includes the 3D measuring apparatus which concerns on one Embodiment. 図1に示したカメラ制御部を示すブロック図。The block diagram which shows the camera control part shown in FIG. 図1に示したロボットの位置及び姿勢の少なくとも一方の変更によってステレオカメラとワークとの距離が変化する様子を示す図。FIG. 3 is a diagram showing how the distance between the stereo camera and the work changes by changing at least one of the position and the posture of the robot shown in FIG. 1. ロボットの位置及び姿勢の少なくとも一方の変更により生じる衝撃によってカメラが意図せずに回転するメカニズムを説明する図。The figure explaining the mechanism which the camera unintentionally rotates by the impact generated by the change of at least one of the position and the posture of a robot. ロボットの位置及び姿勢の少なくとも一方の変更により生じる衝撃によってカメラが意図せずに回転するメカニズムを説明する図。The figure explaining the mechanism which the camera unintentionally rotates by the impact generated by the change of at least one of the position and the posture of a robot. フィードフォワード制御において使用する関連付け情報を作成するための学習処理を説明する図。The figure explaining the learning process for creating the association information used in feedforward control. 他の実施形態に係る三次元計測装置を含むロボットシステムを示す図。The figure which shows the robot system which includes the 3D measuring apparatus which concerns on other embodiment. 図6に示したマーカの一例を示す図。The figure which shows an example of the marker shown in FIG. カメラの輻輳角と画像上でのマーカの位置との関係を示す図。The figure which shows the relationship between the convergence angle of a camera and the position of a marker on an image. 近くに焦点を合わせた場合と遠くに焦点を合わせた場合で、画像上でマーカの大きさ及びぼけ具合が変わるメカニズムを説明する図。The figure explaining the mechanism that the size and the degree of blurring of a marker change on an image depending on whether the focus is near or far. 近くに焦点を合わせた場合と遠くに焦点を合わせた場合で、画像上でマーカの大きさ及びぼけ具合が変わるメカニズムを説明する図。The figure explaining the mechanism that the size and the degree of blurring of a marker change on an image depending on whether the focus is near or far. 図6に示した画像処理部を示すブロック図。The block diagram which shows the image processing part shown in FIG. 図10に示したマーカ検出部によるマーカ検出処理を説明するための図。The figure for demonstrating the marker detection process by the marker detection part shown in FIG. 図6に示したカメラユニットの輻輳角を設定する方法を示すフローチャート。The flowchart which shows the method of setting the convergence angle of the camera unit shown in FIG. さらなる実施形態に係る三次元計測装置を含むロボットシステムを示す図。The figure which shows the robot system which includes the 3D measuring apparatus which concerns on a further embodiment. 実施形態に係るコントローラを実現するハードウェア構成例を示すブロック図。The block diagram which shows the hardware configuration example which realizes the controller which concerns on embodiment.

以下、図面を参照しながら本発明の実施形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、一実施形態に係る三次元計測装置を含むロボットシステム10を概略的に示している。図1に示すロボットシステム10は、台などの領域16に載置されたワーク17を処理するものである。ここで、ワーク17はロボット11により処理される物品を指す。例えば、ロボットシステム10は、領域16から別の領域にワーク17を移動させる。具体的には、ロボットシステム10は、領域16からワーク17を取り出し、図示しないベルトコンベアに載せる。図1に示すように、ロボットシステム10は、ロボット11、カメラユニット12、及びコントローラ13を備える。 FIG. 1 schematically shows a robot system 10 including a three-dimensional measuring device according to an embodiment. The robot system 10 shown in FIG. 1 processes a work 17 placed on an area 16 such as a table. Here, the work 17 refers to an article processed by the robot 11. For example, the robot system 10 moves the work 17 from the area 16 to another area. Specifically, the robot system 10 takes out the work 17 from the area 16 and puts it on a belt conveyor (not shown). As shown in FIG. 1, the robot system 10 includes a robot 11, a camera unit 12, and a controller 13.

コントローラ13は、ロボット11を制御するロボット制御部131、カメラユニット12を制御するカメラ制御部132、及びカメラユニット12により得られた画像を処理する画像処理部133を備える。カメラ制御部132は、カメラユニット12を用いてワーク17を撮像する。画像処理部133は、カメラユニット12により得られたステレオ画像に基づいてワーク17の三次元形状を推定し、三次元形状の推定結果に基づいてワーク17の位置及び姿勢を推定する。三次元形状の推定は、ステレオ画像に含まれる画像間でのステレオマッチングを含む。ロボット制御部131は、画像処理部133により得られたワーク17の位置及び姿勢の推定結果に基づいて、ロボット11を動作させる。カメラユニット12、カメラ制御部132、及び画像処理部133が、被写体の三次元情報を得る三次元計測装置に相当する。 The controller 13 includes a robot control unit 131 that controls the robot 11, a camera control unit 132 that controls the camera unit 12, and an image processing unit 133 that processes an image obtained by the camera unit 12. The camera control unit 132 uses the camera unit 12 to take an image of the work 17. The image processing unit 133 estimates the three-dimensional shape of the work 17 based on the stereo image obtained by the camera unit 12, and estimates the position and orientation of the work 17 based on the estimation result of the three-dimensional shape. The estimation of the three-dimensional shape includes stereo matching between the images contained in the stereo image. The robot control unit 131 operates the robot 11 based on the estimation result of the position and the posture of the work 17 obtained by the image processing unit 133. The camera unit 12, the camera control unit 132, and the image processing unit 133 correspond to a three-dimensional measuring device that obtains three-dimensional information of the subject.

ロボット11は、アーム111、及びアーム111の先端に設けられたエンドエフェクタ112を備える。アーム111は、例えば多関節アームであり、エンドエフェクタ112の位置及び姿勢を変更させる。エンドエフェクタ112は、例えば、ワーク17を把持するように構成されたグリッパであり得る。図1に示す例では、エンドエフェクタ112は領域16の上方に位置する。 The robot 11 includes an arm 111 and an end effector 112 provided at the tip of the arm 111. The arm 111 is, for example, an articulated arm, and changes the position and posture of the end effector 112. The end effector 112 can be, for example, a gripper configured to grip the work 17. In the example shown in FIG. 1, the end effector 112 is located above the region 16.

カメラユニット12はアーム111の先端に設けられている。カメラユニット12はエンドエフェクタ112とともに移動する。カメラユニット12は、領域16を見下ろす形で、被写体としてのワーク17を撮像する。 The camera unit 12 is provided at the tip of the arm 111. The camera unit 12 moves together with the end effector 112. The camera unit 12 takes an image of the work 17 as a subject while looking down at the area 16.

カメラユニット12は、筐体121、複数のカメラを有するステレオカメラ122、モータ123、124、及び傾きセンサ125、126を備える。図1に示す例では、ステレオカメラ122は2台のカメラ1221、1222を有する。ステレオカメラ122、モータ123、124、及び傾きセンサ125、126は筐体121に取り付けられる。具体的には、カメラ1221、1222は、それぞれの回転軸まわりに回転可能に筐体121に設置され、モータ123、124及び傾きセンサ125、126は筐体121に固定される。カメラ1221、1222の回転軸は、互いに平行であり、さらに、ステレオカメラ122のベースライン1223に垂直である。ベースライン1223は、カメラ1221のレンズとカメラ1222のレンズを結ぶ線分を指す。 The camera unit 12 includes a housing 121, a stereo camera 122 having a plurality of cameras, motors 123 and 124, and tilt sensors 125 and 126. In the example shown in FIG. 1, the stereo camera 122 has two cameras 1221 and 1222. The stereo camera 122, the motors 123, 124, and the tilt sensors 125, 126 are attached to the housing 121. Specifically, the cameras 1221 and 1222 are rotatably installed in the housing 121 around their respective rotation axes, and the motors 123 and 124 and the tilt sensors 125 and 126 are fixed to the housing 121. The axes of rotation of the cameras 1221 and 1222 are parallel to each other and are perpendicular to the baseline 1223 of the stereo camera 122. The baseline 1223 refers to a line segment connecting the lens of the camera 1221 and the lens of the camera 1222.

モータ123は、カメラ1221の輻輳角θを調整するために、カメラ1221を回転駆動する。図1に示す例では、カメラ1221は回転可能に筐体121に設置されたギアに取り付けられ、このギアはモータ123の出力軸に取り付けられたギアに歯合しており、モータ123の回転によってカメラ1221が回転する。輻輳角θは、カメラ1221の光軸1225とカメラ1221の仮想光軸1224とが成す角度である。仮想光軸1224は、カメラ1221の回転軸及びステレオカメラ122のベースライン1223に垂直である。 The motor 123 rotates and drives the camera 1221 in order to adjust the convergence angle θ 1 of the camera 1221. In the example shown in FIG. 1, the camera 1221 is rotatably attached to a gear mounted in the housing 121, and this gear meshes with a gear attached to the output shaft of the motor 123 due to the rotation of the motor 123. The camera 1221 rotates. The convergence angle θ 1 is an angle formed by the optical axis 1225 of the camera 1221 and the virtual optical axis 1224 of the camera 1221. The virtual optical axis 1224 is perpendicular to the axis of rotation of the camera 1221 and the baseline 1223 of the stereo camera 122.

モータ124は、カメラ1222の輻輳角θを調整するために、カメラ1222を回転駆動する。図1に示す例では、カメラ1222は回転可能に筐体121に設置されたギアに取り付けられ、このギアはモータ124の出力軸に取り付けられたギアに歯合しており、モータ124の回転によってカメラ1222が回転する。輻輳角θは、カメラ1222の光軸1227とカメラ1222の仮想光軸1226とが成す角度である。仮想光軸1226は、カメラ1222の回転軸及びステレオカメラ122のベースライン1223に垂直である。光軸1225、1227は角度(θ+θ)で交差する。通常はθ=θに設定される。モータ123、124及びギアは、ステレオカメラ122の輻輳角(カメラ1221、1222の輻輳角θ、θ)を調整する輻輳角調整部に相当する。 The motor 124 rotationally drives the camera 1222 in order to adjust the convergence angle θ 2 of the camera 1222. In the example shown in FIG. 1, the camera 1222 is rotatably attached to a gear mounted in the housing 121, and this gear meshes with a gear attached to the output shaft of the motor 124 by rotation of the motor 124. The camera 1222 rotates. The convergence angle θ 2 is an angle formed by the optical axis 1227 of the camera 1222 and the virtual optical axis 1226 of the camera 1222. The virtual optical axis 1226 is perpendicular to the rotation axis of the camera 1222 and the baseline 1223 of the stereo camera 122. The optical axes 1225 and 1227 intersect at an angle (θ 1 + θ 2). Normally, θ 1 = θ 2 is set. The motors 123, 124 and gears correspond to a convergence angle adjusting unit that adjusts the convergence angles of the stereo cameras 122 (convergence angles θ 1 and θ 2 of the cameras 1221 and 1222).

傾きセンサ125は、カメラ1221の輻輳角θを検出する。傾きセンサ126は、カメラ1222の輻輳角θを検出する。傾きセンサ125、126はステレオカメラ122の輻輳角を検出する輻輳角検出部に相当する。 The tilt sensor 125 detects the convergence angle θ 1 of the camera 1221. The tilt sensor 126 detects the convergence angle θ 2 of the camera 1222. The tilt sensors 125 and 126 correspond to a congestion angle detection unit that detects the convergence angle of the stereo camera 122.

ワーク17の三次元情報を得るために使用するステレオ画像を撮影する場合、ステレオカメラ122の輻輳角は、カメラユニット12とワーク17との間の距離に依存する理想的な角度に設定される。ステレオ画像は、カメラ1221により得られた画像及びカメラ1222により得られた画像を含む。以降では、カメラ1221により得られた画像を右カメラ画像と称し、カメラ1222により得られた画像を左カメラ画像と称する。ステレオカメラ122の輻輳角が理想的な角度に設定されている場合、右カメラ画像及び左カメラ画像の各々においてワーク17が中央に位置する。これにより、視野が広くなり、右カメラ画像と左カメラ画像との間でのステレオマッチングの効率が向上する。 When capturing a stereo image used to obtain three-dimensional information on the work 17, the convergence angle of the stereo camera 122 is set to an ideal angle depending on the distance between the camera unit 12 and the work 17. Stereo images include images obtained by camera 1221 and images obtained by camera 1222. Hereinafter, the image obtained by the camera 1221 is referred to as a right camera image, and the image obtained by the camera 1222 is referred to as a left camera image. When the convergence angle of the stereo camera 122 is set to an ideal angle, the work 17 is located at the center of each of the right camera image and the left camera image. This widens the field of view and improves the efficiency of stereo matching between the right camera image and the left camera image.

アーム111の加減速時に、カメラユニット12に機械的な衝撃が加わり、ステレオカメラ122の輻輳角が意図せず変わることがある。このため、ステレオカメラ122の輻輳角を特定の角度に設定するためには、ステレオカメラ122の輻輳角を測定する必要がある。カメラ制御部132は、傾きセンサ125、126を用いてカメラ1221、1222の輻輳角θ、θを測定する。 During acceleration / deceleration of the arm 111, a mechanical impact is applied to the camera unit 12, and the convergence angle of the stereo camera 122 may change unintentionally. Therefore, in order to set the convergence angle of the stereo camera 122 to a specific angle, it is necessary to measure the convergence angle of the stereo camera 122. The camera control unit 132 measures the convergence angles θ 1 and θ 2 of the cameras 1221 and 1222 using the tilt sensors 125 and 126.

さらに、コントローラ13は、後に詳細に説明するように、ステレオカメラ122の輻輳角の意図しない変化を抑制又は防止するために、ロボット11の位置及び姿勢の少なくとも一方(具体的にはアーム111の動き)を制御するためのロボット制御信号を用いてフィードフォワード制御を行う。衝撃は、ロボット11の加速又は減速によるものであり、したがってロボット制御信号に連動する。このため、ロボット制御信号を用いてフィードフォワード制御を行うことにより、ステレオカメラ122の輻輳角の意図しない変化を抑制又は防止することが可能である。具体的には、カメラ制御部132は、衝撃による回転と逆相の回転を発生させるようにモータ123、124を制御する。 Further, as will be described in detail later, the controller 13 moves at least one of the position and the posture of the robot 11 (specifically, the movement of the arm 111) in order to suppress or prevent an unintended change in the convergence angle of the stereo camera 122. ) Is used for feedforward control. The impact is due to the acceleration or deceleration of the robot 11 and is therefore linked to the robot control signal. Therefore, by performing feedforward control using the robot control signal, it is possible to suppress or prevent an unintended change in the convergence angle of the stereo camera 122. Specifically, the camera control unit 132 controls the motors 123 and 124 so as to generate rotation due to an impact and rotation in the opposite phase.

画像処理部133は、輻輳角θ、θが理想的な角度に設定された状態で得られたステレオ画像に基づいて、ワーク17の三次元情報を得る。画像処理部133は、ステレオ画像に対して平行化(レクティフィケーション)を含む前処理を行う。平行化は、カメラ1221、1222のレンズ歪みを補正し、かつ、カメラ1221、1222の光軸1225、1227が互いに平行な状態で得られた画像となるように、画像を変換する処理を指す。平行化は周知技術であるので、その詳細な説明は省略する。 The image processing unit 133 obtains three-dimensional information of the work 17 based on a stereo image obtained in a state where the convergence angles θ 1 and θ 2 are set to ideal angles. The image processing unit 133 performs preprocessing including parallelization (rectification) on the stereo image. Parallelization refers to a process of correcting the lens distortion of the cameras 1221 and 1222 and converting the image so that the optical axes 1225 and 1227 of the cameras 1221 and 1222 are obtained in a state of being parallel to each other. Since parallelization is a well-known technique, detailed description thereof will be omitted.

続いて、画像処理部133は、前処理が施されたステレオ画像に基づいて視差を推定して視差情報を生成する。視差情報は、複数の画素位置にそれぞれ対応付けられた複数の視差値を含む。具体的には、画像処理部133は、前処理が施された右カメラ画像及び左カメラ画像間でステレオマッチングを行い、右カメラ画像中の画素のそれぞれについて視差を推定する。ステレオマッチングとして、例えば、差分絶対値和(SAD;Sum of Absolute Differences)に基づいたマッチングアルゴリズムを使用することができる。画像処理部133は、視差情報を三次元情報としてロボット制御部131に送出してよい。 Subsequently, the image processing unit 133 estimates the parallax based on the preprocessed stereo image and generates the parallax information. The parallax information includes a plurality of parallax values associated with each of the plurality of pixel positions. Specifically, the image processing unit 133 performs stereo matching between the preprocessed right camera image and the left camera image, and estimates the parallax for each of the pixels in the right camera image. As stereo matching, for example, a matching algorithm based on the sum of absolute values (SAD) can be used. The image processing unit 133 may send the parallax information as three-dimensional information to the robot control unit 131.

画像処理部133は、視差情報に基づいてカメラ(例えばカメラ1221)からワーク17までの距離を画素位置ごとに算出して、距離情報を生成してもよい。距離は、視差に反比例し、予め用意された式に視差値を代入することで算出される。距離情報は、複数の画素位置にそれぞれ対応付けられた複数の距離を含む。この場合、画像処理部133は、距離情報を三次元情報としてロボット制御部131に送出してよい。 The image processing unit 133 may generate distance information by calculating the distance from the camera (for example, camera 1221) to the work 17 for each pixel position based on the parallax information. The distance is inversely proportional to the parallax and is calculated by substituting the parallax value into a formula prepared in advance. The distance information includes a plurality of distances associated with each of the plurality of pixel positions. In this case, the image processing unit 133 may send the distance information as three-dimensional information to the robot control unit 131.

図2は、カメラ制御部132を概略的に示している。図2に示すように、カメラ制御部132は、目標値決定部21、減算器22、フィードバック制御部23、フィードフォワード制御部24、結合部25、及びモータドライバ26を備える。目標値決定部21、減算器22、フィードバック制御部23、フィードフォワード制御部24、結合部25、モータドライバ26、及びモータ123が、ステレオカメラ122の輻輳角を制御する輻輳角制御部に相当する。カメラ1221、1222の輻輳角は個別に制御される。図2には、カメラ1221の輻輳角を制御するための構成要素が示されている。輻輳角制御部は、カメラ1222の輻輳角を制御するための構成要素をさらに備える。カメラ1222の輻輳角を制御するための構成要素は、カメラ1221の輻輳角を制御するための構成要素と同様であり得る。 FIG. 2 schematically shows the camera control unit 132. As shown in FIG. 2, the camera control unit 132 includes a target value determination unit 21, a subtractor 22, a feedback control unit 23, a feedforward control unit 24, a coupling unit 25, and a motor driver 26. The target value determination unit 21, the subtractor 22, the feedback control unit 23, the feedforward control unit 24, the coupling unit 25, the motor driver 26, and the motor 123 correspond to the congestion angle control unit that controls the congestion angle of the stereo camera 122. .. The convergence angles of the cameras 1221 and 1222 are individually controlled. FIG. 2 shows a component for controlling the convergence angle of the camera 1221. The congestion angle control unit further includes components for controlling the congestion angle of the camera 1222. The component for controlling the convergence angle of the camera 1222 may be the same as the component for controlling the convergence angle of the camera 1221.

ロボット制御部131は、ロボット11の位置及び姿勢の少なくとも一方を制御するためのロボット制御信号をロボット11及びフィードフォワード制御部24に送出する。ロボット11は、ロボット制御部131から受け取ったロボット制御信号に従って動作する。カメラ1221にはロボット11の位置及び姿勢の少なくとも一方の変更に起因した機械的な衝撃が加わり、カメラ1221が意図せずに回転することがある。カメラ1221の重心とカメラ1221の回転中心(回転軸)が一致していない場合には、衝撃により回転モーメントが発生し、カメラ1221が意図せず回転する。カメラ1221の意図しない回転は、カメラ1221の重心とカメラ1221の回転中心とのずれが大きいほど起こりやすい。 The robot control unit 131 sends a robot control signal for controlling at least one of the position and the posture of the robot 11 to the robot 11 and the feedforward control unit 24. The robot 11 operates according to the robot control signal received from the robot control unit 131. A mechanical impact is applied to the camera 1221 due to a change in at least one of the positions and postures of the robot 11, and the camera 1221 may rotate unintentionally. If the center of gravity of the camera 1221 and the center of rotation (rotation axis) of the camera 1221 do not match, a rotation moment is generated by the impact, and the camera 1221 unintentionally rotates. Unintended rotation of the camera 1221 is more likely to occur as the deviation between the center of gravity of the camera 1221 and the center of rotation of the camera 1221 is larger.

目標値決定部21は、ステレオカメラ122の輻輳角に関する目標値θを決定する。目標値決定部21は、ステレオカメラ122とワーク17との距離に基づいて目標値θを決定する。一例として、目標値決定部21は、ロボット制御部131から、アーム111の先端の位置を示す位置情報を取得し、取得した位置情報に基づいてステレオカメラ122とワーク17との距離を推定する。 The target value determination unit 21 determines the target value θ 0 regarding the convergence angle of the stereo camera 122. The target value determination unit 21 determines the target value θ 0 based on the distance between the stereo camera 122 and the work 17. As an example, the target value determination unit 21 acquires position information indicating the position of the tip of the arm 111 from the robot control unit 131, and estimates the distance between the stereo camera 122 and the work 17 based on the acquired position information.

減算器22は、目標値決定部21から輻輳角に関する目標値θを示す情報を受け取り、傾きセンサ125からカメラ1221の輻輳角θを示す情報を受け取る。減算器22は、目標値θと輻輳角θとの差を計算する。例えば、減算器22は、目標値θから輻輳角θを引く。 The subtractor 22 receives information indicating the target value θ 0 regarding the convergence angle from the target value determining unit 21, and receives information indicating the congestion angle θ 1 of the camera 1221 from the tilt sensor 125. The subtractor 22 calculates the difference between the target value θ 0 and the convergence angle θ 1. For example, the subtractor 22 subtracts the convergence angle θ 1 from the target value θ 0 .

フィードバック制御部23は、減算器22から角度差(θ−θ)を示す情報を受け取る。フィードバック制御部23は、受け取った情報により示される角度差(θ−θ)に基づいて、カメラ1221の輻輳角を目標値θに設定する回転を発生させるためのフィードバック制御信号を生成する。例えば、フィードバック制御部23は、(θ−θ)の角度だけカメラ1221を回転させるためのモータ123の回転角度を示す情報であるモータ123への指示値を含むフィードバック制御信号を生成する。 The feedback control unit 23 receives information indicating an angle difference (θ 0 − θ 1) from the subtractor 22. The feedback control unit 23 generates a feedback control signal for generating a rotation that sets the convergence angle of the camera 1221 to the target value θ 0 based on the angle difference (θ 0 − θ 1 ) indicated by the received information. .. For example, the feedback control unit 23 generates a feedback control signal including an instruction value to the motor 123, which is information indicating the rotation angle of the motor 123 for rotating the camera 1221 by an angle of (θ 0 − θ 1).

フィードフォワード制御部24は、ロボット制御部131から受け取ったロボット制御信号に基づいて、ロボット11がロボット制御信号に従って位置及び姿勢の少なくとも一方を変更したことにより生じるカメラ1221の輻輳角の変化を相殺する回転を発生させるためのフィードフォワード制御信号を生成する。例えば、ロボット制御信号とフィードフォワード制御信号の複数の組とを関連付けた関連付け情報を事前に作成しておく。フィードフォワード制御部24は、ロボット制御部131から受け取ったロボット制御信号を元に関連付け情報を参照することにより、フィードフォワード制御信号を生成する。フィードフォワード制御部24は、関連付け情報を元にロボット制御部131から受け取ったロボット制御信号に対応したフィードフォワード制御信号を近似的に算出して出力する。フィードフォワード制御信号は、モータ123への指示値を含む。例えば、モータ123への指示値は、モータ123の回転角度(回転量)を示す情報である。 The feedforward control unit 24 cancels out the change in the convergence angle of the camera 1221 caused by the robot 11 changing at least one of the position and the posture according to the robot control signal based on the robot control signal received from the robot control unit 131. Generates a feedforward control signal to generate rotation. For example, the association information in which a plurality of sets of the robot control signal and the feedforward control signal are associated is created in advance. The feedforward control unit 24 generates a feedforward control signal by referring to the association information based on the robot control signal received from the robot control unit 131. The feedforward control unit 24 approximately calculates and outputs a feedforward control signal corresponding to the robot control signal received from the robot control unit 131 based on the association information. The feedforward control signal includes an instruction value to the motor 123. For example, the indicated value to the motor 123 is information indicating the rotation angle (rotation amount) of the motor 123.

結合部25は、フィードフォワード制御部24からのフィードフォワード制御信号をフィードバック制御部23からのフィードバック制御信号と結合してモータ制御信号を生成する。例えば、結合部25は、フィードフォワード制御信号に含まれる指示値にフィードバック制御信号により示される指示値を足し、得られた指示値を含むモータ制御信号を生成する。 The coupling unit 25 combines the feedforward control signal from the feedforward control unit 24 with the feedback control signal from the feedback control unit 23 to generate a motor control signal. For example, the coupling unit 25 adds the instruction value indicated by the feedback control signal to the instruction value included in the feedforward control signal, and generates a motor control signal including the obtained instruction value.

モータドライバ26は、結合部25から受け取ったモータ制御信号に含まれる指示値に基づいてモータ123を駆動する。具体的には、モータドライバ26は、指示値に応じた電流をモータ123に印加する。モータ123は印加された電流により駆動され、その結果としてカメラ1221が回転する。 The motor driver 26 drives the motor 123 based on the indicated value included in the motor control signal received from the coupling portion 25. Specifically, the motor driver 26 applies a current corresponding to the indicated value to the motor 123. The motor 123 is driven by the applied current, resulting in rotation of the camera 1221.

図3は、ロボット11の位置及び姿勢の少なくとも一方の変更によってカメラユニット12とワーク17との距離が変化する様子を示している。図3に示すように、エンドエフェクタ112がワーク17に近づくようにロボット11が移動すると、カメラユニット12とワーク17との距離が小さくなる。この場合、各画像においてワーク17が中央に位置するようにするために、ステレオカメラ122の輻輳角はより大きい角度に設定される。 FIG. 3 shows how the distance between the camera unit 12 and the work 17 changes by changing at least one of the position and the posture of the robot 11. As shown in FIG. 3, when the robot 11 moves so that the end effector 112 approaches the work 17, the distance between the camera unit 12 and the work 17 becomes smaller. In this case, the convergence angle of the stereo camera 122 is set to a larger angle so that the work 17 is located at the center in each image.

カメラ制御部132は、ロボット11が位置及び姿勢の少なくとも一方を変更した後の距離から理想的な輻輳角を求めて、それを目標値として使用して、ロボット11が位置及び姿勢の少なくとも一方を変更している間にステレオカメラ122の輻輳角を目標値に調整する。ロボット11が位置及び姿勢の少なくとも一方を変更している間にステレオカメラ122の輻輳角を調整することにより、処理時間を短縮することができる。例えば、カメラ制御部132は、ロボット11が停止した後すぐにステレオ画像の撮影を開始することができる。 The camera control unit 132 obtains an ideal convergence angle from the distance after the robot 11 changes at least one of the position and the posture, and uses it as a target value so that the robot 11 can change at least one of the position and the posture. While changing, adjust the convergence angle of the stereo camera 122 to the target value. The processing time can be shortened by adjusting the convergence angle of the stereo camera 122 while the robot 11 is changing at least one of the position and the posture. For example, the camera control unit 132 can start taking a stereo image immediately after the robot 11 has stopped.

図4A及び図4Bを参照して、ロボット11の運動により生じる衝撃によってカメラ1221、1222が想定外に回転するメカニズムを説明する。図4A及び図4Bにおいて、外力Fはロボット11の運動により生じる衝撃を表す。 With reference to FIGS. 4A and 4B, the mechanism by which the cameras 1221 and 1222 rotate unexpectedly due to the impact generated by the movement of the robot 11 will be described. In FIGS. 4A and 4B, the external force F represents an impact generated by the movement of the robot 11.

カメラ1221、1222には予圧バネ41、42が取り付けられている。予圧バネ41、42は、ギアの遊びなどによるバックラッシュを相殺するために一方向の予圧を加える。これにより、カメラ1221、1222が滑らかに回転する。外力Fがない場合には、与圧によるモーメントとモータの保持力によるモーメントがバランスしていて想定外の回転は起こらない。保持力(保持トルク)は、ステッピングモータの場合は、静止時の駆動電流におおよそ比例するし、サーボモータの場合は、サーボロック機能の駆動電流におおよそ比例する。外力Fが加わると、バランスが崩れて想定外の回転が起こる。その際、外力Fによるモーメントが予圧によるモーメントと同じ方向になると、バランスは崩れやすい。特にステッピングモータの場合は一旦バランスが崩れると脱調して予圧方向に回転する。このことを考慮して、フィードフォワード制御部24は、外力Fによるモーメント(r×F)と予圧によるモーメントの加算値に対してフォードフォアワード制御を行ってよい。ここで、rは、各カメラ1221、1222の回転中心から各カメラ1221、1222の重心へ向かうベクトルを表す。フィードフォワード制御部24は、ロボット制御信号に基づいて外力Fによるモーメントを算出し、算出した外力Fによるモーメントと、予圧によるモーメントと、各カメラ1221、1222の回転中心と各カメラ1221、1222の重心とのずれを表すベクトルrと、に基づいて、各モータ123、124への指示値を算出してよい。 Preload springs 41 and 42 are attached to the cameras 1221 and 1222. The preload springs 41 and 42 apply a unidirectional preload in order to offset backlash caused by gear play or the like. As a result, the cameras 1221 and 1222 rotate smoothly. When there is no external force F, the moment due to pressurization and the moment due to the holding force of the motor are balanced and unexpected rotation does not occur. In the case of a stepping motor, the holding force (holding torque) is approximately proportional to the drive current at rest, and in the case of a servo motor, it is approximately proportional to the drive current of the servo lock function. When an external force F is applied, the balance is lost and unexpected rotation occurs. At that time, if the moment due to the external force F is in the same direction as the moment due to the preload, the balance is likely to be lost. Especially in the case of a stepping motor, once the balance is lost, it desteps and rotates in the preload direction. In consideration of this, the feedforward control unit 24 may perform ford forward control with respect to the added value of the moment (r × F) due to the external force F and the moment due to the preload. Here, r represents a vector from the rotation center of each camera 1221, 1222 toward the center of gravity of each camera 1221, 1222. The feedforward control unit 24 calculates the moment due to the external force F based on the robot control signal, the calculated moment due to the external force F, the moment due to the preload, the rotation center of each camera 1221 and 1222, and the center of gravity of each camera 1221 and 1222. The indicated value to each of the motors 123 and 124 may be calculated based on the vector r representing the deviation from the above.

図5を参照して、フィードフォワード制御において使用する関連付け情報を作成するための学習処理を説明する。 A learning process for creating association information used in feedforward control will be described with reference to FIG.

コントローラ13は、ロボット11を動かし(ステップS51)、カメラ1221を回転させる(ステップS52)。具体的には、ロボット制御部131は、予め用意されたロボット11への指示値のうちの1つを選択し、選択した指示値をロボット11に与える。予め用意されたロボット11への指示値は、例えば、ロボット11を一定の加速で動かすための指示値を含む。カメラ制御部132は、ある角度だけカメラ1221を回転させるための指示値をモータ123に与える。これにより、ロボット11が位置及び姿勢の少なくとも一方を変更すると同時に、カメラ1221が回転する。 The controller 13 moves the robot 11 (step S51) and rotates the camera 1221 (step S52). Specifically, the robot control unit 131 selects one of the instruction values to the robot 11 prepared in advance, and gives the selected instruction value to the robot 11. The instruction value to the robot 11 prepared in advance includes, for example, an instruction value for moving the robot 11 at a constant acceleration. The camera control unit 132 gives the motor 123 an instruction value for rotating the camera 1221 by a certain angle. As a result, the camera 1221 rotates at the same time that the robot 11 changes at least one of the position and the posture.

コントローラ13は、カメラ1221が回転したか否かを判定する(ステップS53)。カメラ1221が回転した場合(ステップS53;Yes)、ロボット制御部131は、モータ123への指示値を変更する(ステップS54)。具体的には、カメラ制御部132は、異なる角度だけカメラ1221を回転させるための指示値を生成する。コントローラ13は、前回と同様にロボット11を動かし(ステップS51)、変更後の指示値に基づいてカメラ1221を回転させる(ステップS52)。 The controller 13 determines whether or not the camera 1221 has rotated (step S53). When the camera 1221 is rotated (step S53; Yes), the robot control unit 131 changes the instruction value to the motor 123 (step S54). Specifically, the camera control unit 132 generates an instruction value for rotating the camera 1221 by different angles. The controller 13 moves the robot 11 in the same manner as the previous time (step S51), and rotates the camera 1221 based on the changed indicated value (step S52).

カメラ1221が回転しなかった場合(ステップS53;No)、コントローラ13は、ロボット11への指示値及びモータ123への指示値を互いに関連付けて図示しない記憶部に記憶する(ステップS55)。ロボット11への指示値は、意図しない回転を打ち消す回転を発生させるモータ123への指示値に関連付けられる。 When the camera 1221 does not rotate (step S53; No), the controller 13 stores the instruction value to the robot 11 and the instruction value to the motor 123 in a storage unit (not shown) in association with each other (step S55). The instruction value to the robot 11 is associated with the instruction value to the motor 123 that generates the rotation that cancels the unintended rotation.

コントローラ13は学習を続けるか否かを判断する(ステップS56)。具体的には、コントローラ13は、予め用意されたロボット11への指示値の中に未処理のものがある場合に学習を続けると判断する。学習を続ける場合(ステップS56;Yes)、ロボット制御部131は、予め用意されたロボット11への指示値のうちの別の1つを選択する。選択したロボット11への指示値についてステップS51〜S55の処理が実行される。 The controller 13 determines whether or not to continue learning (step S56). Specifically, the controller 13 determines that learning is continued when there is an unprocessed value among the instructed values to the robot 11 prepared in advance. When continuing the learning (step S56; Yes), the robot control unit 131 selects another one of the instruction values to the robot 11 prepared in advance. The processes of steps S51 to S55 are executed for the indicated values for the selected robot 11.

コントローラ13は、予め用意されたロボット11への指示値のすべてについて処理を行った後に学習を終了すると判断する(ステップS56;No)。 The controller 13 determines that the learning is finished after processing all the instructed values to the robot 11 prepared in advance (step S56; No).

このようにして、ロボット11への指示値(ロボット制御信号)がモータ123への指示値(フィードフォワード制御信号)にそれぞれ関連付けられた関連付け情報が生成される。 In this way, the association information in which the instruction value to the robot 11 (robot control signal) is associated with the instruction value to the motor 123 (feedforward control signal) is generated.

次に、ロボットシステム10の動作例を説明する。 Next, an operation example of the robot system 10 will be described.

ロボット制御部131は、エンドエフェクタ112及びカメラユニット12をワーク17に近づかせるために、ロボット11の位置及び姿勢の少なくとも一方を制御するためのロボット制御信号を生成し、ロボット制御信号をロボット11及びフィードフォワード制御部24に送出する。さらに、ロボット制御部131は、エンドエフェクタ112及びカメラユニット12がワーク17に近づいた後におけるステレオカメラ122とワーク17との距離を示す距離情報を目標値決定部21に送出する。 The robot control unit 131 generates a robot control signal for controlling at least one of the position and the posture of the robot 11 in order to bring the end effector 112 and the camera unit 12 closer to the work 17, and the robot control signal is transmitted to the robot 11 and the robot 11. It is sent to the feedforward control unit 24. Further, the robot control unit 131 sends distance information indicating the distance between the stereo camera 122 and the work 17 after the end effector 112 and the camera unit 12 approach the work 17 to the target value determination unit 21.

フィードフォワード制御部24は、ロボット11がロボット制御信号に従って位置及び姿勢の少なくとも一方を変更したことにより生じるステレオカメラ122の輻輳角の変化を相殺する回転を発生させるためのフィードフォワード制御信号を生成する。例えば、フィードフォワード制御部24は、複数のロボット制御信号と複数のフィードフォワード制御信号とを関連付けた関連付け情報をロボット制御部131から受け取ったロボット制御信号で参照することにより、フィードフォワード制御信号を生成する。フィードフォワード制御信号は、カメラ1221の輻輳角の変化を相殺する回転を発生させるための第1のフィードフォワード制御信号と、カメラ1222の輻輳角の変化を相殺する回転を発生させるための第2のフィードフォワード制御信号と、を含む。 The feedforward control unit 24 generates a feedforward control signal for generating a rotation that cancels the change in the convergence angle of the stereo camera 122 caused by the robot 11 changing at least one of the position and the posture according to the robot control signal. .. For example, the feedforward control unit 24 generates a feedforward control signal by referring to the association information associated with the plurality of robot control signals and the plurality of feedforward control signals with the robot control signal received from the robot control unit 131. do. The feedforward control signal is a first feedforward control signal for generating a rotation that cancels the change in the convergence angle of the camera 1221 and a second rotation for generating a rotation that cancels the change in the convergence angle of the camera 1222. Includes feedforward control signals.

目標値決定部21は、ロボット制御部131から受け取った距離情報により示される距離に基づいて、ステレオカメラ122の輻輳角に関する目標値θを決定する。 The target value determination unit 21 determines the target value θ 0 regarding the convergence angle of the stereo camera 122 based on the distance indicated by the distance information received from the robot control unit 131.

傾きセンサ125は、カメラ1221の現在の輻輳角θを検出し、傾きセンサ126は、カメラ1222の現在の輻輳角θを検出する。 The tilt sensor 125 detects the current convergence angle θ 1 of the camera 1221, and the tilt sensor 126 detects the current convergence angle θ 2 of the camera 1222.

フィードバック制御部23は、ステレオカメラ122の現在の輻輳角と目標値θとの差に基づいて、ステレオカメラ122の輻輳角を目標値θに設定する回転を発生させるためのフィードバック制御信号を生成する。フィードバック制御信号は、カメラ1221の輻輳角を目標値θに設定する回転を発生させるための第1のフィードバック制御信号と、カメラ1222の輻輳角を目標値θに設定する回転を発生させるための第2のフィードバック制御信号と、を含む。例えば、フィードバック制御部23は、(θ−θ)の角度だけカメラ1221を回転させる回転をモータ123に発生させるための第1のフィードバック制御信号を生成し、(θ−θ)の角度だけカメラ1222を回転させる回転をモータ124に発生させるための第2のフィードバック制御信号を生成する。 Feedback control unit 23, based on the difference between the current convergence angle and the target value theta 0 of the stereo camera 122, a feedback control signal for generating a rotation to set the convergence angle of the stereo camera 122 to the target value theta 0 Generate. The feedback control signal is for generating a first feedback control signal for generating a rotation for setting the convergence angle of the camera 1221 to the target value θ 0 and a rotation for setting the convergence angle of the camera 1222 to the target value θ 0. Second feedback control signal, and includes. For example, the feedback control unit 23 generates a first feedback control signal for causing the motor 123 to rotate the camera 1221 by an angle of (θ 0 − θ 1 ), and generates a first feedback control signal (θ 0 − θ 2 ). A second feedback control signal is generated to cause the motor 124 to rotate the camera 1222 by an angle.

ロボット制御部131がロボット11を動かす。ロボット11が位置及び姿勢の少なくとも一方を変更している間に、モータ123、124を含む輻輳角調整部は、フィードフォワード制御信号及びフィードバック制御信号に基づいて、ステレオカメラ122の輻輳角を調整する。例えば、モータドライバ26が第1のフィードフォワード制御信号及び第1のフィードバック制御信号に基づいてモータ123を駆動し、モータ123の回転によりカメラ1221が回転する。図示しないモータドライバが第2のフィードフォワード制御信号及び第2のフィードバック制御信号に基づいてモータ124を駆動し、モータ124の回転によりカメラ1222が回転する。 The robot control unit 131 moves the robot 11. While the robot 11 is changing at least one of the position and the posture, the convergence angle adjusting unit including the motors 123 and 124 adjusts the convergence angle of the stereo camera 122 based on the feedforward control signal and the feedback control signal. .. For example, the motor driver 26 drives the motor 123 based on the first feedforward control signal and the first feedback control signal, and the rotation of the motor 123 causes the camera 1221 to rotate. A motor driver (not shown) drives the motor 124 based on the second feedforward control signal and the second feedback control signal, and the rotation of the motor 124 causes the camera 1222 to rotate.

ロボット11の位置及び姿勢の少なくとも一方の変更が終了した後には、ステレオカメラ122はその輻輳角が角度θに設定された状態になることになる。カメラ制御部132は、傾きセンサ125を用いてカメラ1221の現在の輻輳角θを検出し、傾きセンサ126を用いてカメラ1222の現在の輻輳角θを検出する。例えば、カメラ1221の現在の輻輳角θが目標値θと異なる場合には、フィードバック制御部23は、カメラ1221の輻輳角が目標値θになるように、モータ123を用いてカメラ1221を回転させる。 After the change of at least one of the position and the posture of the robot 11 is completed, the stereo camera 122 is in a state where the convergence angle is set to the angle θ 0. The camera control unit 132 detects the current convergence angle θ 1 of the camera 1221 using the tilt sensor 125, and detects the current convergence angle θ 2 of the camera 1222 using the tilt sensor 126. For example, when the current convergence angle θ 1 of the camera 1221 is different from the target value θ 0 , the feedback control unit 23 uses the motor 123 so that the convergence angle of the camera 1221 becomes the target value θ 0. To rotate.

カメラ制御部132は、ステレオカメラ122の輻輳角が角度θであることを確認すると、ステレオカメラ122を用いてワーク17を撮像する。画像処理部133は、カメラ制御部132により得られたステレオ画像に基づいてワーク17の三次元情報を生成する。ロボット制御部131は、画像処理部133から三次元情報を受け取り、受け取った三次元情報に基づいてロボット11を制御してワーク17に対する処理を行う。 When the camera control unit 132 confirms that the convergence angle of the stereo camera 122 is an angle θ 0 , the camera control unit 132 takes an image of the work 17 using the stereo camera 122. The image processing unit 133 generates three-dimensional information of the work 17 based on the stereo image obtained by the camera control unit 132. The robot control unit 131 receives three-dimensional information from the image processing unit 133, controls the robot 11 based on the received three-dimensional information, and performs processing on the work 17.

以上のように、本実施形態に係るロボットシステム10では、ステレオカメラ122がロボット11に設置されており、輻輳角制御部がロボット11の位置及び姿勢の少なくとも一方を制御するためのロボット制御信号に基づいてステレオカメラ122の輻輳角を制御する。具体的には、フィードフォワード制御部24は、ロボット11がロボット制御信号に従って位置及び姿勢の少なくとも一方を変更したことにより生じるステレオカメラ122の輻輳角の変化を相殺する回転を発生させるためのフィードフォワード制御信号を生成し、ロボット11が位置及び姿勢の少なくとも一方を変更している間にモータ123、124を駆動する。これにより、ロボット11の位置及び姿勢の少なくとも一方の変更に起因して生じるステレオカメラ122の輻輳角の変化を抑制又は防止することができる。 As described above, in the robot system 10 according to the present embodiment, the stereo camera 122 is installed in the robot 11, and the convergence angle control unit serves as a robot control signal for controlling at least one of the position and the posture of the robot 11. Based on this, the convergence angle of the stereo camera 122 is controlled. Specifically, the feedforward control unit 24 is a feedforward for generating a rotation that cancels the change in the convergence angle of the stereo camera 122 caused by the robot 11 changing at least one of the position and the posture according to the robot control signal. It generates a control signal and drives the motors 123, 124 while the robot 11 changes at least one of its position and orientation. Thereby, it is possible to suppress or prevent the change in the convergence angle of the stereo camera 122 caused by the change in at least one of the position and the posture of the robot 11.

さらに、目標値決定部21は、ロボット11の位置及び姿勢の少なくとも一方の変更後におけるステレオカメラ122とワーク17との距離に基づいてステレオカメラ122の輻輳角に関する目標値を決定し、フィードバック制御部23は、ステレオカメラ122の輻輳角が目標値に一致する回転を発生させるためのフィードバック制御信号を生成し、ロボット11が位置及び姿勢の少なくとも一方を変更している間にモータ123、124を駆動する。これにより、ロボット11の位置及び姿勢の少なくとも一方の変更後にステレオカメラ122の輻輳角が所望の角度になる。その結果、ロボット11の位置及び姿勢の少なくとも一方の変更後すぐにステレオ画像を撮像することが可能となるなどして、処理時間を短縮することができる。 Further, the target value determination unit 21 determines a target value regarding the convergence angle of the stereo camera 122 based on the distance between the stereo camera 122 and the work 17 after changing at least one of the position and the posture of the robot 11, and the feedback control unit 21. 23 generates a feedback control signal for generating a rotation in which the convergence angle of the stereo camera 122 matches the target value, and drives the motors 123 and 124 while the robot 11 changes at least one of the position and the posture. do. As a result, the convergence angle of the stereo camera 122 becomes a desired angle after changing at least one of the position and the posture of the robot 11. As a result, it is possible to take a stereo image immediately after changing at least one of the position and the posture of the robot 11, and the processing time can be shortened.

本発明は、上述した実施形態に限定されない。 The present invention is not limited to the embodiments described above.

上述した実施形態では、ステレオカメラ122の輻輳角は傾きセンサ125、126により検出される。ステレオカメラ122の輻輳角は、ステレオカメラ122により得られたステレオ画像に対して画像処理を施すことにより検出するようにしてもよい。 In the above-described embodiment, the convergence angle of the stereo camera 122 is detected by the tilt sensors 125 and 126. The convergence angle of the stereo camera 122 may be detected by performing image processing on the stereo image obtained by the stereo camera 122.

図6は、他の実施形態に係る三次元計測装置を含むロボットシステム60を概略的に示している。図6において、図1に示した部分と同様の部分に同様の符号を付して、重複する説明を省略する。図6に示すように、ロボットシステム60は、ロボット11、カメラユニット61、及びコントローラ13を備える。コントローラ13は、ロボット制御部131、カメラ制御部132、及び画像処理部65を備える。 FIG. 6 schematically shows a robot system 60 including a three-dimensional measuring device according to another embodiment. In FIG. 6, the same parts as those shown in FIG. 1 are designated by the same reference numerals, and duplicate description will be omitted. As shown in FIG. 6, the robot system 60 includes a robot 11, a camera unit 61, and a controller 13. The controller 13 includes a robot control unit 131, a camera control unit 132, and an image processing unit 65.

カメラユニット61は、筐体121、カメラ1221、1222を有するステレオカメラ122、モータ123、124、傾きセンサ125、126、及びマーカ62、63を備える。マーカ62、63は筐体121に固定される。マーカ62は、カメラ1221の視野内に入るように配置され、マーカ63は、カメラ1222の視野内に入るように配置されている。 The camera unit 61 includes a housing 121, a stereo camera 122 having cameras 1221, 1222, motors 123, 124, tilt sensors 125, 126, and markers 62, 63. The markers 62 and 63 are fixed to the housing 121. The marker 62 is arranged so as to be in the field of view of the camera 1221, and the marker 63 is arranged so as to be in the field of view of the camera 1222.

マーカ62、63は任意の形状を有してよい。マーカ62、63は各々、細い線状の構造物で形成されてよい。図6に示す例では、マーカ62、63は各々、第1の方向に長い第1の線状構造物と、第1の線状構造物から第1の方向と直交する第2の方向に延びる3つの第2の線状構造物と、を含む。マーカ62、63は、上記の第2の方向がカメラ1221、1222の回転軸に平行になるように配置される。マーカ62、63は、透明な板の上に形成されてよい。例えば、マーカ62、63は、透明な板にインクを塗布することにより形成されてよい。図7は、マーカ62、63の他の構造例であるマーカ70を概略的に示している。図7に示すように、マーカ70は、透明な板71上に配置された複数のドット72(この例では3つのドット72−1、72−2、72−3)により形成される。マーカを線状構造体にしたり、透明な板上に形成するのは、マーカに照明を直接的に照射することが難しいからである。 The markers 62 and 63 may have any shape. The markers 62 and 63 may each be formed of a thin linear structure. In the example shown in FIG. 6, the markers 62 and 63 extend from the first linear structure in a second direction orthogonal to the first direction, respectively, with the first linear structure long in the first direction. Includes three second linear structures. The markers 62 and 63 are arranged so that the above-mentioned second direction is parallel to the rotation axis of the cameras 1221 and 1222. The markers 62, 63 may be formed on a transparent plate. For example, the markers 62 and 63 may be formed by applying ink to a transparent plate. FIG. 7 schematically shows the marker 70, which is another structural example of the markers 62 and 63. As shown in FIG. 7, the marker 70 is formed by a plurality of dots 72 (three dots 72-1, 72-2, 72-3 in this example) arranged on the transparent plate 71. The reason why the marker is made into a linear structure or formed on a transparent plate is that it is difficult to directly illuminate the marker.

図6に示す画像処理部65は、図1に示した画像処理部133と同様に、ステレオカメラ122により得られたステレオ画像に基づいてワーク17の三次元形状を推定し、三次元形状の推定結果に基づいてワーク17の位置及び姿勢を推定するように構成されている。さらに、画像処理部65は、後に詳細に説明するように、マーカ62を含む右カメラ画像に基づいてカメラ1221の輻輳角θを検出し、マーカ63を含む左カメラ画像に基づいてカメラ1222の輻輳角θを検出するように構成されている。 Similar to the image processing unit 133 shown in FIG. 1, the image processing unit 65 shown in FIG. 6 estimates the three-dimensional shape of the work 17 based on the stereo image obtained by the stereo camera 122, and estimates the three-dimensional shape. It is configured to estimate the position and posture of the work 17 based on the result. Further, as will be described in detail later, the image processing unit 65 detects the convergence angle θ 1 of the camera 1221 based on the right camera image including the marker 62, and the image processing unit 65 detects the convergence angle θ 1 of the camera 1221 based on the left camera image including the marker 63. It is configured to detect the convergence angle θ 2.

図8は、カメラの輻輳角と画像におけるマーカの位置との関係を概略的に示している。図8において、上段の4枚の画像は、カメラユニット61の近くに設置した被写体(ワーク17)に焦点を合わせたときに得られる画像であり、下段の4枚の画像は、カメラユニット61の遠くに設置した被写体(ワーク17)に焦点を合わせたときに得られる画像である。遠くの被写体に焦点を合わせたときに得られる画像では、近くの被写体に焦点を合わせたときに得られる画像に対して、マーカ62、63が小さくなり、さらにマーカ62、63のぼけ具合もひどくなる。 FIG. 8 schematically shows the relationship between the convergence angle of the camera and the position of the marker in the image. In FIG. 8, the upper four images are images obtained when the subject (work 17) installed near the camera unit 61 is focused, and the lower four images are the images of the camera unit 61. This is an image obtained when the subject (work 17) installed at a distance is focused. In the image obtained when focusing on a distant subject, the markers 62 and 63 are smaller than the image obtained when focusing on a nearby subject, and the degree of blurring of the markers 62 and 63 is also severe. Become.

左下の2枚の画像は、カメラ1221、1222の輻輳角が左上の2枚の画像を得たときと同じ角度に設定された状態で得られたものである。右下の2枚の画像は、カメラ1221、1222の輻輳角が理想的な角度に設定された状態で得られたものである。左下の2枚の画像と右下の2枚の画像とから明らかなように、カメラ1221、1222の輻輳角を調整すると、画像上でのマーカ62、63の位置がずれる。 The two images on the lower left are obtained in a state where the convergence angles of the cameras 1221 and 1222 are set to the same angles as when the two images on the upper left are obtained. The two images on the lower right are obtained with the convergence angles of the cameras 1221 and 1222 set to ideal angles. As is clear from the two images on the lower left and the two images on the lower right, when the convergence angles of the cameras 1221 and 1222 are adjusted, the positions of the markers 62 and 63 on the images are displaced.

図9A及び図9Bを参照して、近くに焦点を合わせた場合と遠くに焦点を合わせた場合で、画像上でのマーカの大きさ及びぼけ具合が変わるメカニズムを簡単な例で説明する。ここでは、単レンズでセンサ上に投影するモデルを想定する。図9Aにおいて、近くの被写体(ワーク17)に焦点を合わせた場合、マーカ62(又はマーカ63)の結像点は、センサ31よりも右側に位置するが、センサ31から大きく離れてはいない。このときのレンズ32の位置を基準とする。被写体がカメラユニット61から遠くに離れると、被写体の結像点は図中で左にずれる。このため、図9Bに示すように、レンズ32の位置を右へずらして被写体がセンサ31上に結像するように焦点を制御する。このとき、マーカ62の結像点はさらに右へずれ、それによりぼけ具合がはなはだしくなる。レンズ32の位置を右へずらすことは結像倍率を下げることになるので、センサ31上での被写体の像が小さくなると同時に、センサ31上でのマーカ62の像も小さくなる。 With reference to FIGS. 9A and 9B, the mechanism by which the size and the degree of blurring of the marker on the image change depending on whether the focus is near or far will be described by a simple example. Here, we assume a model that projects onto a sensor with a single lens. In FIG. 9A, when the focus is on a nearby subject (work 17), the imaging point of the marker 62 (or the marker 63) is located on the right side of the sensor 31, but not far from the sensor 31. The position of the lens 32 at this time is used as a reference. When the subject is far away from the camera unit 61, the imaging point of the subject shifts to the left in the drawing. Therefore, as shown in FIG. 9B, the position of the lens 32 is shifted to the right to control the focus so that the subject forms an image on the sensor 31. At this time, the imaging point of the marker 62 is further shifted to the right, and the degree of blurring becomes noticeable. Since shifting the position of the lens 32 to the right lowers the image magnification, the image of the subject on the sensor 31 becomes smaller, and at the same time, the image of the marker 62 on the sensor 31 also becomes smaller.

フォーカス制御は前記の例以外にも液体レンズや液晶レンズを用いてもできる。これらのレンズではレンズの位置は変わらないが、実効焦点距離が変わることで、結像倍率は前記の例と同じように変化する。 Focus control can also be performed by using a liquid lens or a liquid crystal lens in addition to the above example. With these lenses, the position of the lens does not change, but the image magnification changes in the same way as in the above example by changing the effective focal length.

マーカ(マーカ62、63)がカメラユニット61の筐体121に設置されているため、画像上でのマーカの大きさは、レンズ32の位置を表すフォーカス制御値に一対一に対応する。フォーカス制御値を変化させながら画像上でのマーカの大きさを測定することで、フォーカス制御値と画像上でのマーカの大きさとの関係を示す情報を予め生成してもよい。マーカは輻輳角方向(図6に示す例ではステレオカメラ122のベースラインに平行な方向)の直線上の複数の点を指し示すものであればよく、マーカの大きさはこれらの点を含むエリアを指す。具体的には、図7に示したような透明な板上に配置された複数のドットからなるマーカの場合、マーカの大きさはそれら複数のドット全体を指す。図7に示す例では、マーカ70の大きさはドット72−1とドット72−3との距離であり得る。 Since the markers (markers 62 and 63) are installed in the housing 121 of the camera unit 61, the size of the marker on the image has a one-to-one correspondence with the focus control value representing the position of the lens 32. By measuring the size of the marker on the image while changing the focus control value, information indicating the relationship between the focus control value and the size of the marker on the image may be generated in advance. The marker may point to a plurality of points on a straight line in the direction of the angle of convergence (the direction parallel to the baseline of the stereo camera 122 in the example shown in FIG. 6), and the size of the marker covers the area including these points. Point to. Specifically, in the case of a marker composed of a plurality of dots arranged on a transparent plate as shown in FIG. 7, the size of the marker refers to the entire plurality of dots. In the example shown in FIG. 7, the size of the marker 70 may be the distance between the dots 72-1 and the dots 72-3.

図10は、画像処理部65を概略的に示している。図10に示すように、画像処理部65は、カメラ制御部132を介してカメラユニット61から、右カメラ画像及び左カメラ画像を含むステレオ画像を取得する。図10に示す例では、画像処理部65は、マーカ検出部651、輻輳角検出部652、及び三次元情報生成部653を備える。 FIG. 10 schematically shows the image processing unit 65. As shown in FIG. 10, the image processing unit 65 acquires a stereo image including a right camera image and a left camera image from the camera unit 61 via the camera control unit 132. In the example shown in FIG. 10, the image processing unit 65 includes a marker detection unit 651, a convergence angle detection unit 652, and a three-dimensional information generation unit 653.

マーカ検出部651は、カメラごとに、そのカメラにより得られた画像におけるマーカの位置を検出してマーカ検出情報を生成する。例えば、マーカ検出部651は、画像処理により画像からマーカの輪郭を抽出し、輪郭の抽出結果からマーカの中心を求めることにより、画像上でのマーカの位置を検出する。画像上でのマーカの位置は、例えば、マーカの中心に対応する画素のY座標であり得る。マーカ検出部651は、右カメラ画像におけるマーカ62の位置を検出し、左カメラ画像におけるマーカ63の位置を検出する。マーカ検出情報は、右カメラ画像上でのマーカ62の位置及び左カメラ画像上でのマーカ63の位置を示す情報を含む。 The marker detection unit 651 detects the position of the marker in the image obtained by the camera for each camera and generates marker detection information. For example, the marker detection unit 651 detects the position of the marker on the image by extracting the contour of the marker from the image by image processing and obtaining the center of the marker from the extraction result of the contour. The position of the marker on the image may be, for example, the Y coordinate of the pixel corresponding to the center of the marker. The marker detection unit 651 detects the position of the marker 62 in the right camera image and detects the position of the marker 63 in the left camera image. The marker detection information includes information indicating the position of the marker 62 on the right camera image and the position of the marker 63 on the left camera image.

上述したように、ワーク17が遠くにある場合には、画像においてマーカがぼける。マーカがぼけた場合、図11に示すように、マーカ検出部651は、画像に含まれる画素値を予め設定された閾値と比較することで画像を二値化し、二値化した画像からマーカの輪郭を復元するようにしてよい。これにより、画像上でのマーカの位置を正しく検出することができる。また、マーカが独立した画像である場合は、その重心はぼけによって変化が少ないので、マーカがぼけた画像においてマーカの重心を求めることでマーカの位置を求めることができる。 As described above, when the work 17 is far away, the marker is blurred in the image. When the marker is blurred, as shown in FIG. 11, the marker detection unit 651 binarizes the image by comparing the pixel value included in the image with a preset threshold value, and converts the binarized image into a marker. You may try to restore the contour. This makes it possible to correctly detect the position of the marker on the image. Further, when the marker is an independent image, the center of gravity of the marker does not change much due to blurring, so that the position of the marker can be obtained by obtaining the center of gravity of the marker in the image in which the marker is blurred.

輻輳角検出部652は、カメラ制御部132からカメラ1221、1222の画像撮影時のフォーカス制御値を取得し、マーカ検出部651からマーカ検出情報を取得する。フォーカス制御値は、カメラに含まれるレンズの位置を表す情報であってもよいし、液体レンズ又は液晶レンズの実効焦点距離を表す情報であってもよい。図9Aに示す例では、結像倍率はレンズ32の位置にほぼ対応し、フォーカス制御値として、基準位置(例えばセンサ31)とレンズ32との距離を用いてよい。輻輳角検出部652は、フォーカス制御値とマーカの位置と輻輳角との関係を示すテーブル(情報)を保持する。例えば、テーブルは、フォーカス制御値及び輻輳角を変化させながら画像上でのマーカの位置を測定することにより事前に作成される。 The congestion angle detection unit 652 acquires the focus control values of the cameras 1221 and 1222 at the time of image capture from the camera control unit 132, and acquires the marker detection information from the marker detection unit 651. The focus control value may be information representing the position of the lens included in the camera, or may be information representing the effective focal length of the liquid lens or the liquid crystal lens. In the example shown in FIG. 9A, the imaging magnification substantially corresponds to the position of the lens 32, and the distance between the reference position (for example, the sensor 31) and the lens 32 may be used as the focus control value. The congestion angle detection unit 652 holds a table (information) showing the relationship between the focus control value, the position of the marker, and the congestion angle. For example, the table is created in advance by measuring the position of the marker on the image while changing the focus control value and the convergence angle.

輻輳角検出部652は、カメラごとに、マーカ検出情報により示されるマーカの検出された位置と、フォーカス制御値と、に基づいて、そのカメラの輻輳角を検出する。輻輳角検出部652は、マーカ検出情報により示される右カメラ画像上でのマーカ62の位置とカメラ1221のフォーカス制御値とでテーブルを参照することにより、カメラ1221の輻輳角θを検出する。輻輳角検出部652は、マーカ検出情報により示される左カメラ画像上でのマーカ63の位置とカメラ1222のフォーカス制御値とでテーブルを参照することにより、カメラ1222の輻輳角θを検出する。輻輳角検出部652は、輻輳角θ、θの検出結果をカメラ制御部132に通知する。 The congestion angle detection unit 652 detects the congestion angle of each camera based on the detected position of the marker indicated by the marker detection information and the focus control value. The congestion angle detection unit 652 detects the congestion angle θ 1 of the camera 1221 by referring to the table with the position of the marker 62 on the right camera image indicated by the marker detection information and the focus control value of the camera 1221. The congestion angle detection unit 652 detects the congestion angle θ 2 of the camera 1222 by referring to the table with the position of the marker 63 on the left camera image indicated by the marker detection information and the focus control value of the camera 1222. The congestion angle detection unit 652 notifies the camera control unit 132 of the detection results of the congestion angles θ 1 and θ 2.

三次元情報生成部653は、カメラ1221、1222の輻輳角θ、θが理想的な角度θに設定された状態で得られたステレオ画像に基づいて、ワーク17の三次元情報を生成する。三次元情報は、ロボット制御部131に与えられる。 The three-dimensional information generation unit 653 generates three-dimensional information of the work 17 based on a stereo image obtained in a state where the convergence angles θ 1 and θ 2 of the cameras 1221 and 1222 are set to the ideal angle θ 0. do. The three-dimensional information is given to the robot control unit 131.

図12は、ロボットシステム60の三次元計測装置により実行される、ステレオカメラ122の輻輳角を設定する方法を概略的に示している。ここでは、カメラ1221の輻輳角θを設定する例を説明する。カメラ1222の輻輳角θは、カメラ1222に関して同様の処理を実行することにより設定される。 FIG. 12 schematically shows a method of setting the convergence angle of the stereo camera 122 executed by the three-dimensional measuring device of the robot system 60. Here, an example of setting the convergence angle θ 1 of the camera 1221 will be described. The convergence angle θ 2 of the camera 1222 is set by performing the same processing with respect to the camera 1222.

まず、カメラ制御部132は、カメラ1221でワーク17を撮像する。撮像の際には、カメラ1221のオートフォーカス機能により、その焦点がワーク17に合わされる。画像処理部133は、カメラ制御部132から、右カメラ画像のデータ及び右カメラ画像の撮影時のフォーカス制御値を示すフォーカス制御情報を取得する(ステップS121)。画像処理部65のマーカ検出部651は、右カメラ画像におけるマーカ62の位置を検出する(ステップS122)。 First, the camera control unit 132 takes an image of the work 17 with the camera 1221. At the time of imaging, the autofocus function of the camera 1221 focuses on the work 17. The image processing unit 133 acquires the data of the right camera image and the focus control information indicating the focus control value at the time of shooting the right camera image from the camera control unit 132 (step S121). The marker detection unit 651 of the image processing unit 65 detects the position of the marker 62 in the right camera image (step S122).

画像処理部65の輻輳角検出部652は、ステップS121で取得されたフォーカス制御情報により示されるフォーカス制御値と、ステップS122で検出されたマーカ62の位置と、でテーブルを参照することにより、カメラ1221の現在の輻輳角θを検出する(ステップS123)。 The congestion angle detection unit 652 of the image processing unit 65 refers to the table by referring to the table with the focus control value indicated by the focus control information acquired in step S121 and the position of the marker 62 detected in step S122. The current convergence angle θ 1 of 1221 is detected (step S123).

続いて、カメラ制御部132の目標値決定部21は、ロボット制御部131からの位置情報に基づいてカメラユニット61からワーク17までの概略距離を求め、その概略距離から理想的な輻輳角に近い輻輳角を算出する(ステップS124)。カメラ制御部132により算出された理想的な輻輳角に近い輻輳角をθ’と表し、輻輳角検出部652により検出されたカメラ1221の現在の輻輳角をθ10と表す。カメラ制御部132はモータ123を制御し、モータ123は(θ’−θ10)の角度だけカメラ1221を回転させる。この状態で、カメラ制御部132は、カメラユニット61からワーク17までの正確な距離を測定して、測定結果に基づいて理想的な輻輳角θを算出して再度カメラ1221を回転させてもよい。 Subsequently, the target value determination unit 21 of the camera control unit 132 obtains an approximate distance from the camera unit 61 to the work 17 based on the position information from the robot control unit 131, and the approximate distance is close to the ideal convergence angle. The congestion angle is calculated (step S124). The convergence angle close to the ideal convergence angle calculated by the camera control unit 132 is represented by θ 0 ', and the current convergence angle of the camera 1221 detected by the congestion angle detection unit 652 is represented by θ 10. The camera control unit 132 controls the motor 123, the motor 123 rotates the camera 1221 by an angle (θ 0 '-θ 10). In this state, the camera control unit 132 measures the accurate distance from the camera unit 61 to the work 17 , calculates the ideal convergence angle θ 0 based on the measurement result, and rotates the camera 1221 again. good.

上述したように、ステレオカメラ122の輻輳角は、ロボット11の加減速により生じた衝撃により変わることがある。また、画像における被写体のずれはカメラユニット61の位置及び姿勢の少なくとも一方の変更によっても生じる。従来では、画像における被写体のずれが、ステレオカメラの輻輳角の変化により生じたのか、カメラユニットの位置及び姿勢の少なくとも一方の変更によって生じたのかを区別することができず、ステレオカメラの輻輳角を正しく設定することができない。本実施形態では、マーカ62、63がカメラ1221、1222の視野内に入るようにカメラユニット61の筐体121に設けられている。これにより、図1に示した傾きセンサ125、126などのセンサを使用することなしに、ステレオカメラ122の輻輳角を検出することが可能になる。その結果、ステレオカメラ122の輻輳角を正しく設定することができる。 As described above, the convergence angle of the stereo camera 122 may change due to the impact generated by the acceleration / deceleration of the robot 11. Further, the displacement of the subject in the image is also caused by changing at least one of the position and the posture of the camera unit 61. Conventionally, it is not possible to distinguish whether the deviation of the subject in the image is caused by the change of the convergence angle of the stereo camera or the change of at least one of the position and the posture of the camera unit, and the convergence angle of the stereo camera cannot be distinguished. Cannot be set correctly. In the present embodiment, the markers 62 and 63 are provided in the housing 121 of the camera unit 61 so as to be within the field of view of the cameras 1221 and 1222. This makes it possible to detect the convergence angle of the stereo camera 122 without using sensors such as the tilt sensors 125 and 126 shown in FIG. As a result, the convergence angle of the stereo camera 122 can be set correctly.

テーブルは、マーカの位置とマーカの大きさと輻輳角との関係を示すものであってもよい。上述したように、フォーカス制御値はマーカの大きさに一対一に対応する。輻輳角検出部652は、フォーカス制御値をマーカの大きさに変換し、マーカの大きさとマーカ検出情報により示されるマーカの位置とでテーブルを参照し、それにより輻輳角を検出してよい。代替として、マーカ検出部651が、画像におけるマーカの位置及び大きさを検出してもよい。この場合、マーカ検出情報は、右カメラ画像上でのマーカ62の位置及び大きさ並びに左カメラ画像上でのマーカ63の位置及び大きさを示す情報を含む。例えば、画像におけるマーカの大きさは、例えば、画像のX軸に沿ったマーカの長さであり得る。輻輳角検出部652は、マーカ検出情報により示されるマーカの位置及びマーカの大きさでテーブルを参照し、それによりカメラの輻輳角を検出する。 The table may show the relationship between the position of the marker, the size of the marker, and the convergence angle. As described above, the focus control value has a one-to-one correspondence with the size of the marker. The congestion angle detection unit 652 may convert the focus control value into the size of the marker, refer to the table with the size of the marker and the position of the marker indicated by the marker detection information, and detect the congestion angle accordingly. Alternatively, the marker detection unit 651 may detect the position and size of the marker in the image. In this case, the marker detection information includes information indicating the position and size of the marker 62 on the right camera image and the position and size of the marker 63 on the left camera image. For example, the size of the marker in the image can be, for example, the length of the marker along the X axis of the image. The congestion angle detection unit 652 refers to the table by the position of the marker and the size of the marker indicated by the marker detection information, thereby detecting the congestion angle of the camera.

モータとして、ステッピングモータを使用することができる。輻輳角制御部は、ステレオカメラ122の輻輳角を調整する(具体的にはカメラ1221、1222を回転させる)ことに代えて、ロボット11の加減速時にステッピングモータの保持力を高めるようにステッピングモータを制御してよい。具体的には、ロボット制御信号がロボット11が位置及び姿勢の少なくとも一方を変更するタイミングを示すタイミング情報を含み、カメラ制御部132は、ロボット制御信号に含まれるタイミング情報に基づいて、ステレオカメラ122に衝撃が加わると想定されるタイミングを含む期間を設定し、設定した期間の間、ステッピングモータが所定以上の保持力を有するように、モータドライバ26によりステッピングモータにドライブ電流を印加する。このようにステッピングモータへのドライブ電流を増やしてステッピングモータの保持力を高めることによっても、ステレオカメラ122の輻輳角の意図しない変化を抑制又は防止することが可能である。定常時にドライブ電流を増やすと消費電力が増えるが、ドライブ電流の増大をロボット11の加減速時に限定することで、消費電力やモータの発熱を抑えることができる。 A stepping motor can be used as the motor. Instead of adjusting the convergence angle of the stereo camera 122 (specifically, rotating the cameras 1221 and 1222), the congestion angle control unit increases the holding force of the stepping motor during acceleration / deceleration of the robot 11. May be controlled. Specifically, the robot control signal includes timing information indicating the timing at which the robot 11 changes at least one of the position and the posture, and the camera control unit 132 includes the stereo camera 122 based on the timing information included in the robot control signal. A period including a timing in which an impact is expected to be applied to the motor is set, and a drive current is applied to the stepping motor by the motor driver 26 so that the stepping motor has a holding force of a predetermined value or more during the set period. By increasing the drive current to the stepping motor in this way to increase the holding force of the stepping motor, it is possible to suppress or prevent an unintended change in the convergence angle of the stereo camera 122. If the drive current is increased in the steady state, the power consumption increases, but by limiting the increase in the drive current to the acceleration / deceleration of the robot 11, the power consumption and the heat generation of the motor can be suppressed.

上述した実施形態では、カメラ1221、1222の回転によりステレオカメラ122の輻輳角を変更する。他の実施形態では、カメラに対向してミラーを設け、ミラーの回転によりカメラの輻輳角を変更するようにしてもよい。 In the above-described embodiment, the convergence angle of the stereo camera 122 is changed by rotating the cameras 1221 and 1222. In another embodiment, a mirror may be provided facing the camera, and the convergence angle of the camera may be changed by rotating the mirror.

図13は、さらなる実施形態に係る三次元計測装置を含むロボットシステム90を概略的に示している。図13において、図1に示した部分と同様の部分に同様の符号を付して、重複する説明を省略する。図13に示すように、ロボットシステム90は、ロボット11、カメラユニット91、及びコントローラ13を備える。 FIG. 13 schematically shows a robot system 90 including a three-dimensional measuring device according to a further embodiment. In FIG. 13, the same parts as those shown in FIG. 1 are designated by the same reference numerals, and duplicate description will be omitted. As shown in FIG. 13, the robot system 90 includes a robot 11, a camera unit 91, and a controller 13.

カメラユニット91は、筐体121、カメラ1221、1222を有するステレオカメラ122、ミラー92、93、モータ123、124、及び傾きセンサ125、126を備える。カメラ1221、1222は筐体121に固定される。ミラー92、93は、カメラ1221、1222に対向して配置され、回転可能に筐体121に設置される。モータ123、124は、ミラー92、93を回転駆動する。具体的には、ミラー92は回転可能に筐体121に設置されたギアに取り付けられ、このギアはモータ123の出力軸に取り付けられたギアに歯合しており、モータ123の回転によってミラー92が回転する。また、ミラー93は回転可能に筐体121に設置されたギアに取り付けられ、このギアはモータ124の出力軸に取り付けられたギアに歯合しており、モータ124の回転によってミラー93が回転する。カメラユニット91では、ミラー92、93の回転を制御することにより、ステレオカメラ122の輻輳角が設定される。図13に示す例では、ミラー92、93、モータ123、124、及びギアが輻輳角調整部に相当する。 The camera unit 91 includes a housing 121, a stereo camera 122 having cameras 1221, 1222, mirrors 92, 93, motors 123, 124, and tilt sensors 125, 126. The cameras 1221 and 1222 are fixed to the housing 121. The mirrors 92 and 93 are arranged to face the cameras 1221 and 1222 and are rotatably installed in the housing 121. The motors 123 and 124 rotate and drive the mirrors 92 and 93. Specifically, the mirror 92 is rotatably attached to a gear installed in the housing 121, and this gear meshes with a gear attached to the output shaft of the motor 123, and the rotation of the motor 123 causes the mirror 92 to rotate. Rotates. Further, the mirror 93 is rotatably attached to a gear installed in the housing 121, and this gear meshes with a gear attached to the output shaft of the motor 124, and the mirror 93 is rotated by the rotation of the motor 124. .. In the camera unit 91, the convergence angle of the stereo camera 122 is set by controlling the rotation of the mirrors 92 and 93. In the example shown in FIG. 13, the mirrors 92, 93, the motors 123, 124, and the gear correspond to the convergence angle adjusting unit.

図1から図5を参照して説明した輻輳角設定処理は、図13に示したロボットシステム90に適用することができる。ロボットシステム60は、図6から図12を参照して説明した輻輳角検出方法を利用してもよい。この場合、カメラユニット61は、傾きセンサ125、126に代えて図6に示したマーカ62、63を備える。 The congestion angle setting process described with reference to FIGS. 1 to 5 can be applied to the robot system 90 shown in FIG. The robot system 60 may use the convergence angle detection method described with reference to FIGS. 6 to 12. In this case, the camera unit 61 includes the markers 62 and 63 shown in FIG. 6 instead of the tilt sensors 125 and 126.

ロボット11は、カメラユニットが設けられる移動体の一例であり、ロボット制御信号は、移動体の位置及び姿勢の少なくとも一方を制御するための移動体制御信号に相当する。移動体の例は、自動車及びフォークリフトを含む。 The robot 11 is an example of a moving body provided with a camera unit, and the robot control signal corresponds to a moving body control signal for controlling at least one of the position and the posture of the moving body. Examples of mobiles include automobiles and forklifts.

図14は、コントローラ13を実現するハードウェア構成の一例であるコンピュータ装置80を概略的に示している。図14に示すように、コンピュータ装置80は、プロセッサ81、RAM(Random Access Memory)82、プログラムメモリ83、ストレージデバイス84、入出力インタフェース85、及びバス86を備える。プロセッサ81は、バス86を介して、RAM82、プログラムメモリ83、ストレージデバイス84、及び入出力インタフェース85と信号をやり取りする。 FIG. 14 schematically shows a computer device 80 which is an example of a hardware configuration for realizing the controller 13. As shown in FIG. 14, the computer device 80 includes a processor 81, a RAM (Random Access Memory) 82, a program memory 83, a storage device 84, an input / output interface 85, and a bus 86. The processor 81 exchanges signals with the RAM 82, the program memory 83, the storage device 84, and the input / output interface 85 via the bus 86.

プロセッサ81は、典型的には、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などの汎用回路を含む。RAM82はワーキングメモリとしてプロセッサ81により使用される。RAM82はSDRAM(Synchronous Dynamic Random Access Memory)などの揮発性メモリを含む。プログラムメモリ83は、輻輳角設定プログラムや三次元計測プログラムなど、プロセッサ81により実行されるプログラムを記憶する。プログラムはコンピュータ実行可能命令を含む。プログラムメモリ83として、例えば、ROM(Read-Only Memory)が使用される。 The processor 81 typically includes a general-purpose circuit such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The RAM 82 is used by the processor 81 as a working memory. The RAM 82 includes a volatile memory such as an SDRAM (Synchronous Dynamic Random Access Memory). The program memory 83 stores programs executed by the processor 81, such as a congestion angle setting program and a three-dimensional measurement program. The program contains computer executable instructions. As the program memory 83, for example, a ROM (Read-Only Memory) is used.

プロセッサ81は、プログラムメモリ83に記憶されたプログラムをRAM82に展開し、プログラムを解釈及び実行する。輻輳角設定プログラムは、プロセッサ81により実行されたときに、図1から図5を参照して説明した処理をプロセッサ81に実行させる。輻輳角設定プログラムは、プロセッサ81により実行されたときに、図6から図12を参照して説明した輻輳角検出処理をプロセッサ81にさらに実行させてよい。 The processor 81 expands the program stored in the program memory 83 into the RAM 82, interprets and executes the program. When executed by the processor 81, the congestion angle setting program causes the processor 81 to execute the process described with reference to FIGS. 1 to 5. When the congestion angle setting program is executed by the processor 81, the processor 81 may further execute the congestion angle detection process described with reference to FIGS. 6 to 12.

ストレージデバイス84はデータを記憶する。ストレージデバイス84は、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)などの不揮発性メモリを含む。ストレージデバイス84の一部領域がプログラムメモリ83として使用されてもよい。 The storage device 84 stores data. The storage device 84 includes a non-volatile memory such as a hard disk drive (HDD) or a solid state drive (SSD). A part of the storage device 84 may be used as the program memory 83.

入出力インタフェース85は、外部装置を接続するためのインタフェースである。コンピュータ装置80は、入出力インタフェース85によってロボット11及びカメラユニット12に接続される。コンピュータ装置80とロボット11及びカメラユニット12との間での通信は、有線通信であってもよく、無線通信であってもよい。入出力インタフェース85は、ディスプレイ装置などの周辺機器を接続するための端子を含んでよい。 The input / output interface 85 is an interface for connecting an external device. The computer device 80 is connected to the robot 11 and the camera unit 12 by the input / output interface 85. The communication between the computer device 80 and the robot 11 and the camera unit 12 may be wired communication or wireless communication. The input / output interface 85 may include terminals for connecting peripheral devices such as display devices.

輻輳角設定プログラムなどのプログラムは、コンピュータで読み取り可能な記憶媒体に記憶された状態でコンピュータ装置80に提供されてよい。この場合、例えば、コンピュータ装置80は、記憶媒体からデータを読み出すドライブを備え、記憶媒体からプログラムを取得する。記憶媒体の例は、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD−ROM、DVD−Rなど)、光磁気ディスク(MOなど)、半導体メモリを含む。また、プログラムをネットワーク上のサーバに格納し、コンピュータ装置80がサーバからプログラムをダウンロードするようにしてもよい。 A program such as a congestion angle setting program may be provided to the computer device 80 in a state of being stored in a storage medium readable by a computer. In this case, for example, the computer device 80 includes a drive for reading data from the storage medium and acquires a program from the storage medium. Examples of storage media include magnetic disks, optical disks (CD-ROM, CD-R, DVD-ROM, DVD-R, etc.), magneto-optical disks (MO, etc.), and semiconductor memories. Further, the program may be stored in a server on the network, and the computer device 80 may download the program from the server.

なお、コントローラ13は、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)などの専用回路で実施されてもよい。 The controller 13 may be implemented by a dedicated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.

10…ロボットシステム、11…ロボット、111…アーム、112…エンドエフェクタ、12…カメラユニット、121…筐体、122…ステレオカメラ、1221,1222…カメラ、123,124…モータ、125,126…傾きセンサ、13…コントローラ、131…ロボット制御部、132…カメラ制御部、133…画像処理部、16…領域、17…ワーク、21…目標値決定部、22…減算器、23…フィードバック制御部、24…フィードフォワード制御部、25…結合部、26…モータドライバ、31…センサ、32…レンズ、41,42…予圧バネ、60…ロボットシステム、61…カメラユニット、62,63…マーカ、65…画像処理部、651…マーカ検出部、652…輻輳角検出部、653…三次元情報生成部、70…マーカ、71…透明な板、72…ドット、80…コンピュータ装置、81…プロセッサ、82…RAM、83…プログラムメモリ、84…ストレージデバイス、85…入出力インタフェース、86…バス、90…ロボットシステム、91…カメラユニット、92,93…ミラー。 10 ... Robot system, 11 ... Robot, 111 ... Arm, 112 ... End effector, 12 ... Camera unit, 121 ... Housing, 122 ... Stereo camera, 1221,1222 ... Camera, 123, 124 ... Motor, 125, 126 ... Tilt Sensor, 13 ... controller, 131 ... robot control unit, 132 ... camera control unit, 133 ... image processing unit, 16 ... area, 17 ... work, 21 ... target value determination unit, 22 ... subtractor, 23 ... feedback control unit, 24 ... Feed forward control unit, 25 ... Coupling unit, 26 ... Motor driver, 31 ... Sensor, 32 ... Lens, 41, 42 ... Preload spring, 60 ... Robot system, 61 ... Camera unit, 62, 63 ... Marker, 65 ... Image processing unit, 651 ... Marker detection unit, 652 ... Convergence angle detection unit, 653 ... Three-dimensional information generation unit, 70 ... Marker, 71 ... Transparent plate, 72 ... Dots, 80 ... Computer device, 81 ... Processor, 82 ... RAM, 83 ... program memory, 84 ... storage device, 85 ... input / output interface, 86 ... bus, 90 ... robot system, 91 ... camera unit, 92, 93 ... mirror.

Claims (6)

移動体に設けられるステレオカメラと、
前記ステレオカメラの輻輳角を検出する輻輳角検出部と、
前記移動体の位置及び姿勢の少なくとも一方を制御するための移動体制御信号と前記ステレオカメラの前記検出された輻輳角とに基づいて、前記ステレオカメラの前記輻輳角を制御する輻輳角制御部と、
を備える、三次元計測装置。
A stereo camera installed on a mobile body and
A congestion angle detection unit that detects the convergence angle of the stereo camera, and
With a convergence angle control unit that controls the convergence angle of the stereo camera based on the moving body control signal for controlling at least one of the position and the posture of the moving body and the detected convergence angle of the stereo camera. ,
A three-dimensional measuring device equipped with.
前記輻輳角制御部は、前記移動体が前記移動体制御信号に従って前記位置及び姿勢の少なくとも一方を変更したことにより生じる前記ステレオカメラの前記輻輳角の変化を相殺する回転を発生させるためのフィードフォワード制御信号を生成する信号生成部を備える、請求項1に記載の三次元計測装置。 The convergence angle control unit is a feedforward for generating a rotation that cancels the change in the congestion angle of the stereo camera caused by the moving body changing at least one of the position and the posture according to the moving body control signal. The three-dimensional measuring device according to claim 1, further comprising a signal generation unit that generates a control signal. 前記信号生成部は、移動体制御信号とフィードフォワード制御信号の複数の組とを関連付けた関連付け情報を、前記移動体制御信号を元に参照することにより、前記フィードフォワード制御信号を生成する、請求項2に記載の三次元計測装置。 The signal generation unit generates the feedforward control signal by referring to the association information associated with the plurality of sets of the mobile control signal and the feedforward control signal based on the mobile control signal. Item 2. The three-dimensional measuring device according to Item 2. 前記信号生成部は、前記移動体制御信号と、前記ステレオカメラに含まれる各カメラの重心と前記各カメラの回転軸とのずれと、に基づいて、前記フィードフォワード制御信号を生成する、請求項2に記載の三次元計測装置。 The signal generation unit generates the feedforward control signal based on the moving body control signal and the deviation between the center of gravity of each camera included in the stereo camera and the rotation axis of each camera. The three-dimensional measuring device according to 2. 前記輻輳角制御部は、前記移動体が前記移動体制御信号に従って前記位置及び姿勢の少なくとも一方を変更している間に前記ステレオカメラの前記輻輳角を、前記位置及び姿勢の少なくとも一方の変更後に設定すべき値になるように制御する、請求項1乃至4のいずれか1項に記載の三次元計測装置。 The convergence angle control unit changes the convergence angle of the stereo camera after changing at least one of the position and the posture while the moving body changes at least one of the position and the posture according to the moving body control signal. The three-dimensional measuring device according to any one of claims 1 to 4, which is controlled so as to be a value to be set. 前記輻輳角制御部は、前記ステレオカメラの前記輻輳角を制御するためのモータを備え、前記移動体制御信号に基づいて設定される期間の間、前記モータの保持力を高めるために前記モータに所定の電流を印加する、請求項1に記載の三次元計測装置。 The congestion angle control unit includes a motor for controlling the congestion angle of the stereo camera, and the motor is provided with a motor for increasing the holding power of the motor for a period set based on the mobile control signal. The three-dimensional measuring device according to claim 1, wherein a predetermined current is applied.
JP2020098180A 2020-06-05 2020-06-05 Three-dimensional measurement device Pending JP2021190972A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020098180A JP2021190972A (en) 2020-06-05 2020-06-05 Three-dimensional measurement device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020098180A JP2021190972A (en) 2020-06-05 2020-06-05 Three-dimensional measurement device

Publications (1)

Publication Number Publication Date
JP2021190972A true JP2021190972A (en) 2021-12-13

Family

ID=78847723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020098180A Pending JP2021190972A (en) 2020-06-05 2020-06-05 Three-dimensional measurement device

Country Status (1)

Country Link
JP (1) JP2021190972A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023110832A1 (en) 2023-04-27 2024-10-31 Cynlr SA Method for assessing an object, method for handling an object, optical system and handling system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023110832A1 (en) 2023-04-27 2024-10-31 Cynlr SA Method for assessing an object, method for handling an object, optical system and handling system
WO2024223799A1 (en) 2023-04-27 2024-10-31 Cynlr SA Method for assessing an object method for manipulating an object, optical system and manipulation system

Similar Documents

Publication Publication Date Title
CN111801198B (en) Hand-eye calibration method, system and computer storage medium
JP5567908B2 (en) Three-dimensional measuring apparatus, measuring method and program
US12042942B2 (en) Robot hand-eye calibration method and apparatus, computing device, medium and product
JP6222898B2 (en) Three-dimensional measuring device and robot device
JP6317618B2 (en) Information processing apparatus and method, measuring apparatus, and working apparatus
JP6805904B2 (en) Measuring equipment, measuring methods and robots
EP2543483A1 (en) Information processing apparatus and information processing method
JP6504274B2 (en) Three-dimensional shape data and texture information generation system, imaging control program, three-dimensional shape data and texture information generation method, and information recording medium
JP2014014912A (en) Robot system, robot, robot control device, robot control method and robot control program
WO2021012124A1 (en) Robot hand-eye calibration method and apparatus, computing device, medium and product
JP2022500956A (en) 3D calibration method for movable visual system
JP7172305B2 (en) Three-dimensional measuring device and robot system
US20230123629A1 (en) 3d computer-vision system with variable spatial resolution
CN115761011A (en) Full-automatic calibration method and device for line laser 3D camera system
JP2019049467A (en) Distance measurement system and distance measurement method
JP7195801B2 (en) Image processing device and its control method, distance detection device, imaging device, program
JP2021190972A (en) Three-dimensional measurement device
KR101641711B1 (en) Distance adaptive 3d camera
CN114415195B (en) Motion imaging compensation device and motion compensation method
JP2020190411A (en) Imaging device, image processing device, image processing method, calibration method of imaging device, robot device, manufacturing method of articles using robot device, control program and recording medium
JP7229719B2 (en) Image processing system
CN108616744B (en) Bionic binocular vision calibration system and calibration method
JP2021183921A (en) Three-dimensional measurement device
JP2018083270A (en) Robot attitude calibration device, robot attitude calibration method, robot attitude calibration program and recording medium
JP6841297B2 (en) Visual servo system

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230201