JP2014140941A - Robot control system, robot, robot control method, and program - Google Patents

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

Info

Publication number
JP2014140941A
JP2014140941A JP2013011783A JP2013011783A JP2014140941A JP 2014140941 A JP2014140941 A JP 2014140941A JP 2013011783 A JP2013011783 A JP 2013011783A JP 2013011783 A JP2013011783 A JP 2013011783A JP 2014140941 A JP2014140941 A JP 2014140941A
Authority
JP
Japan
Prior art keywords
robot
joint angle
jacobian
feature amount
image
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.)
Withdrawn
Application number
JP2013011783A
Other languages
Japanese (ja)
Inventor
Mitsuhiro Inazumi
満広 稲積
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 JP2013011783A priority Critical patent/JP2014140941A/en
Publication of JP2014140941A publication Critical patent/JP2014140941A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a robot control system that selects an appropriate relationship of association between an image sampling timing and joint angle sampling timing, a robot, a robot control method, and a program.SOLUTION: A robot control system includes: an image feature quantity information acquisition unit (feature quantity vector acquisition unit 20) that acquires image feature quantity information at plural image sampling timings; a joint angle information acquisition unit (joint angle vector acquisition unit 10) that acquires joint angle information of a robot at sampling timings that are plural joint angle sampling timings and are asynchronous with the image sampling timings; and a robot control unit 200 that controls the robot on the basis of image feature quantities and pieces of joint angle information acquired at the image sampling timings and joint angle sampling timings respectively which have a selective relationship of association selected from among plural relationships of association.

Description

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

ロボットの応用においては、より正確に期待する位置へロボットを移動させることが要求される。例えば、産業用用途においては、部品を把持した手先を、より正確に組み付け位置へ移動させることが要求される。従来の場合、この要求はより剛性の高いロボットをより正確に校正することによって実現されてきた。   In robot applications, it is required to move the robot to the expected position more accurately. For example, in industrial applications, it is required to move the hand holding the part to the assembly position more accurately. In the past, this requirement has been realized by calibrating more rigid robots more accurately.

しかし、どれだけ剛性を高くしても、発熱による熱膨張等、種々の要因により高精度での作業を迅速に行うことが困難な場合が考えられる。また、正確な校正作業には時間を要するという問題もある。   However, no matter how high the rigidity is, it may be difficult to quickly perform work with high accuracy due to various factors such as thermal expansion due to heat generation. There is also a problem that accurate calibration work takes time.

そのため、目標位置(目標状態)と、現在位置(現在状態)との差分をロボットの動きへフィードバックするフィードバック制御が広く用いられている。この場合、目標位置と現在位置との差分を、ロボットの動きへフィードバックするための変換処理に、ヤコビアンと呼ばれるパラメーターを用いる手法が知られている。   Therefore, feedback control that feeds back the difference between the target position (target state) and the current position (current state) to the movement of the robot is widely used. In this case, a method using a parameter called Jacobian for conversion processing for feeding back the difference between the target position and the current position to the movement of the robot is known.

例えば特許文献1には、ロボットをヤコビアンを使って動作させながら、実際の動作が想定した動作とどの程度異なっているのかという情報を用いてヤコビアンを再推定するon-the-fly方式を用いたロボット制御手法が開示されている。   For example, Patent Document 1 uses an on-the-fly method that re-estimates the Jacobian using information on how much the actual motion differs from the assumed motion while operating the robot using the Jacobian. A robot control technique is disclosed.

特開2006−318301号公報JP 2006-318301 A

目標位置や現在位置を表す特徴量ベクトルを[f]とし、ロボットの関節角ベクトルを[θ]とする。この場合、ヤコビアン[J]は特徴量ベクトルの差分[Δf]及び関節角ベクトルの差分[Δθ]とを、[Δf]=[J][Δθ]と関連づけるものである。フィードバック処理を用いたロボット制御においては、[Δf]が目標値及び実測値等から求められた場合に、[Δθ]を制御パラメーターとして算出する必要があることから、ヤコビアンの逆行列である逆ヤコビアンを用いることになる。   A feature vector representing the target position and the current position is [f], and the joint angle vector of the robot is [θ]. In this case, the Jacobian [J] associates the difference [Δf] in the feature vector and the difference [Δθ] in the joint angle vector with [Δf] = [J] [Δθ]. In robot control using feedback processing, when [Δf] is obtained from a target value, an actual measurement value, and the like, it is necessary to calculate [Δθ] as a control parameter. Therefore, an inverse Jacobian that is an inverse matrix of Jacobian is used. Will be used.

特許文献1では、所望のロボットの動作と実際のロボットの動作の差である追従誤差eを定義し、それを用いてヤコビアンをon-the-flyで推定する手法が開示されている。この手法によれば、ロボットがある姿勢(つまり関節角ベクトルがある状態)のときに、特徴量ベクトルがどのような値であったか、というデータの組を得ることができれば、それを用いてヤコビアンを推定することができる。   Patent Document 1 discloses a method of defining a tracking error e, which is the difference between a desired robot motion and an actual robot motion, and using that to estimate the Jacobian on-the-fly. According to this method, if we can obtain a set of data such as what value of the feature vector when the robot is in a certain posture (that is, in a state where there is a joint angle vector), the Jacobian can be calculated using that. Can be estimated.

しかし、ここには同期という問題がある。つまり特許文献1等の手法によりヤコビアンを計算するためには、「関節角ベクトルがある状態の時に、特徴量ベクトルがどのような値であったか」というデータが必要である。もしも関節角ベクトルと特徴量ベクトルとの時間的な対応が取れていない場合、つまり同期が取れていない場合には、特許文献1の手法であれば追従誤差eを正確に求めることはできず、その結果、ヤコビアンを正確に求めることはできない。   But here is the problem of synchronization. That is, in order to calculate the Jacobian by the method of Patent Document 1 or the like, data “what value the feature vector was when the joint angle vector was present” is necessary. If the temporal correspondence between the joint angle vector and the feature vector is not taken, that is, if the synchronization is not taken, the tracking error e cannot be accurately obtained by the method of Patent Document 1. As a result, the Jacobian cannot be determined accurately.

特許文献1等のように同期がとれていることを仮定しても問題ないとするためには、ロボット制御系から撮像系(ここでは特徴量として撮像画像から取得される画像特徴量情報を想定している)へ同期信号、シャッター信号を送るという手法を用いることが考えられる。しかしこれには、新たにコストの問題や、配線などの問題が発生する。   In order to assume that there is no problem even if it is assumed that synchronization is achieved as in Patent Document 1, etc., it is assumed that image feature amount information acquired from a captured image is taken as a feature amount from the robot control system. It is conceivable to use a method of sending a synchronization signal and a shutter signal to However, this causes new cost problems and wiring problems.

本発明の幾つかの態様によれば、画像サンプリングタイミングと関節角サンプリングタイミングの適切な対応関係を選択するロボット制御システム、ロボット、ロボット制御方法及びプログラム等を提供することができる。   According to some aspects of the present invention, it is possible to provide a robot control system, a robot, a robot control method, a program, and the like that select an appropriate correspondence between an image sampling timing and a joint angle sampling timing.

本発明の一態様は、複数の画像サンプリングタイミングにおける画像特徴量情報を取得する画像特徴量情報取得部と、複数の関節角サンプリングタイミングであって、前記画像サンプリングタイミングと非同期のサンプリングタイミングにおいて、ロボットの関節角情報を取得する関節角情報取得部と、前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での前記画像特徴量情報と前記関節角情報に基づいて、前記ロボットを制御するロボット制御部と、を含むロボット制御システムに関係する。   One aspect of the present invention is an image feature amount information acquisition unit that acquires image feature amount information at a plurality of image sampling timings, a plurality of joint angle sampling timings, and a robot that is asynchronous with the image sampling timings. A joint angle information acquisition unit for acquiring the joint angle information, and the image feature amount information and the joint in a selection correspondence selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing The present invention relates to a robot control system including a robot control unit that controls the robot based on angle information.

本発明の一態様では、画像サンプリングタイミングと関節角サンプリングタイミングの間の複数の対応関係の中から適切な対応関係(選択対応関係)を選択し、当該選択対応関係での画像特徴量情報と関節角情報を用いてロボット制御を行う。よって、ロボットやカメラに対して特定のハードウェア等を追加することなく、データ間の同期をとることができ、非同期の場合に比べて高精度でのロボット制御を行うこと等が可能になる。   In one aspect of the present invention, an appropriate correspondence (selection correspondence) is selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing, and the image feature amount information and the joint in the selection correspondence are selected. Robot control is performed using angle information. Therefore, it is possible to synchronize data without adding specific hardware or the like to the robot or camera, and it is possible to perform robot control with higher accuracy than in the case of asynchronous.

また、本発明の一態様では、前記ロボット制御部は、前記選択対応関係での前記画像特徴量情報と前記関節角情報に基づいて、前記選択対応関係でのヤコビアンを推定し、推定した前記ヤコビアンに基づいて前記ロボットを制御してもよい。   In one aspect of the present invention, the robot control unit estimates a Jacobian in the selection correspondence based on the image feature information and the joint angle information in the selection correspondence, and the estimated Jacobian The robot may be controlled based on the above.

これにより、ヤコビアンを用いてロボット制御を行うこと等が可能になる。   This makes it possible to perform robot control using a Jacobian.

また、本発明の一態様では、前記ロボット制御部は、前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の前記対応関係の各対応関係において前記ヤコビアンを推定し、推定した前記ヤコビアンの評価値を求め、前記評価値の比較処理に基づいて、複数の前記対応関係の中から前記選択対応関係を選択してもよい。   In one aspect of the present invention, the robot control unit estimates the Jacobian in each of the plurality of correspondences between the image sampling timing and the joint angle sampling timing, and evaluates the estimated Jacobian A value may be obtained, and the selection correspondence may be selected from the plurality of correspondences based on the evaluation value comparison process.

これにより、複数の対応関係の各対応関係におけるヤコビアンを推定し、推定したヤコビアンの評価値に基づいて選択対応関係を決定すること等が可能になる。   Thereby, it is possible to estimate the Jacobian in each correspondence relationship of a plurality of correspondence relationships, and to determine the selection correspondence relationship based on the estimated evaluation value of the Jacobian.

また、本発明の一態様では、前記ロボット制御部は、前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の前記対応関係の各対応関係において正規化方程式を作成し、作成した前記正規化方程式の解である最小自乗解を求めることで前記ヤコビアンを推定してもよい。   In one aspect of the present invention, the robot control unit creates a normalization equation in each correspondence relationship of the plurality of correspondence relationships between the image sampling timing and the joint angle sampling timing, and the created normalization The Jacobian may be estimated by obtaining a least square solution that is a solution of the equation.

これにより、正規化方程式の解である最小自乗解としてヤコビアンを推定すること等が可能になる。   This makes it possible to estimate the Jacobian as a least squares solution that is a solution of the normalized equation.

また、本発明の一態様では、前記ロボット制御部は、推定した前記ヤコビアンを用いて、前記ヤコビアンを推定したタイミングの次のタイミングである比較タイミングにおける前記画像特徴量情報を算出し、算出した前記画像特徴量情報と、前記画像特徴量情報取得部で取得された前記比較タイミングでの前記画像特徴量情報とに基づいて、前記評価値を求めてもよい。   In one aspect of the present invention, the robot control unit uses the estimated Jacobian to calculate the image feature amount information at a comparison timing that is a timing next to the timing at which the Jacobian is estimated. The evaluation value may be obtained based on the image feature amount information and the image feature amount information at the comparison timing acquired by the image feature amount information acquisition unit.

これにより、ヤコビアンを用いて推定した画像特徴量情報と、実際に取得された画像特徴量情報とを用いてヤコビアンの評価値を求めること等が可能になる。   This makes it possible to obtain an evaluation value of the Jacobian using the image feature amount information estimated using the Jacobian and the image feature amount information actually acquired.

また、本発明の一態様では、前記ロボット制御部は、推定した前記ヤコビアンを用いて、前記正規化方程式の自乗誤差を前記評価値として求めてもよい。   In the aspect of the invention, the robot control unit may obtain a square error of the normalization equation as the evaluation value using the estimated Jacobian.

これにより、最小自乗解として求められたヤコビアンを自乗誤差を求める式に戻すことで、ヤコビアンの評価値を求めること等が可能になる。   Accordingly, it is possible to obtain the evaluation value of the Jacobian by returning the Jacobian obtained as the least square solution to the equation for obtaining the square error.

また、本発明の一態様では、前記ロボット制御部は、前記画像特徴量情報の差分により表されるベクトル又は行列をFとし、前記関節角情報の差分により表される行列をBとし、前記ヤコビアンを表すベクトル又は行列をJとして、F=BJの最小自乗解を与える前記正規化方程式を作成し、前記行列Bに対して、BBの前記固有ベクトルを列ベクトルとする行列をVとし、BBの前記固有ベクトルを前記列ベクトルとする行列をUとし、BBの固有値λの逆数を対角要素とする行列をdiag[1/λ]とした場合に、B=Vdiag[1/λ]V、又はB=BUdiag[1/λ]Uにより、前記行列Bの前記一般化逆行列Bを求め、求めた前記一般化逆行列Bから、J=BFに従って前記行列Jを求めることで前記ヤコビアンを推定してもよい。 In the aspect of the invention, the robot control unit may set the vector or matrix represented by the difference in the image feature information as F, the matrix represented by the difference in the joint angle information as B, and the Jacobian. A normalization equation that gives a least squares solution of F = BJ is created, where J is a vector or matrix representing, V is a matrix having the eigenvector of B T B as a column vector for the matrix B, and BB When the matrix having the eigenvector of T as the column vector is U and the matrix having the inverse of the eigenvalue λ of B T B as a diagonal element is diag [1 / λ], B + = Vdiag [1 / λ ] V T B T , or B + = B T Udiag [1 / λ] U T is used to determine the generalized inverse matrix B + of the matrix B, and from the determined generalized inverse matrix B + , J = B + Find the matrix J according to F The Jacobian may be estimated.

これにより、行列Bの一般化逆行列Bを高速且つ安定して求めること等が可能になる。 As a result, the generalized inverse matrix B + of the matrix B can be obtained quickly and stably.

また、本発明の一態様では、前記ロボット制御部は、前記ロボットのエンドポイント位置と前記関節角情報とを対応づけるロボットヤコビアンを求め、求めた前記ロボットヤコビアンに基づいて前記正規化方程式を作成してもよい。   In one aspect of the present invention, the robot control unit obtains a robot Jacobian that associates the end point position of the robot with the joint angle information, and creates the normalization equation based on the obtained robot Jacobian. May be.

これにより、ロボットヤコビアンを用いることで、より高精度に画像特徴量ヤコビアンを推定すること等が可能になる。   Thus, by using the robot Jacobian, it is possible to estimate the image feature amount Jacobian with higher accuracy.

また、本発明の一態様では、前記ロボット制御部は、基準タイミングでの前記ロボットヤコビアンと、所与のタイミングでの前記ロボットヤコビアンとの比較処理に基づいて、前記所与のタイミングでの前記画像特徴量情報の差分値と前記関節角情報の差分値の組についての重み付けを設定し、設定された重み付けを用いて前記正規化方程式を作成してもよい。   In one embodiment of the present invention, the robot control unit may compare the image at the given timing based on a comparison process between the robot Jacobian at a reference timing and the robot Jacobian at a given timing. A weighting may be set for a set of the difference value of the feature amount information and the difference value of the joint angle information, and the normalization equation may be created using the set weighting.

これにより、2つのロボットヤコビアンの比較処理の結果得られる重み付けを用いて正規化方程式を作成することで、より高精度に画像特徴量ヤコビアンを推定すること等が可能になる。   Accordingly, it is possible to estimate the image feature amount Jacobian with higher accuracy by creating a normalization equation using the weights obtained as a result of the comparison processing of the two robot Jacobians.

また、本発明の一態様では、前記ロボット制御部は、前記ロボットヤコビアンを解析的に求め、求めた前記ロボットヤコビアンに基づいて前記正規化方程式を作成してもよい。   In the aspect of the invention, the robot control unit may analytically obtain the robot Jacobian and create the normalization equation based on the obtained robot Jacobian.

これにより、解析的に求めたロボットヤコビアンを用いて、より高精度に画像特徴量ヤコビアンを推定すること等が可能になる。   Accordingly, it is possible to estimate the image feature amount Jacobian with higher accuracy by using the robot Jacobian obtained analytically.

また、本発明の一態様では、前記画像特徴量情報取得部における前記画像サンプリングタイミングのサンプリング周波数をf、前記関節角情報取得部における前記関節角サンプリングタイミングの前記サンプリング周波数をfとした場合に、前記関節角情報取得部は、f≧fを満たす前記サンプリング周波数で前記関節角情報を取得してもよい。 Moreover, in one aspect of the present invention, when the sampling frequency of the image sampling timing in the image feature amount information acquisition unit is f A , and the sampling frequency of the joint angle sampling timing in the joint angle information acquisition unit is f B In addition, the joint angle information acquisition unit may acquire the joint angle information at the sampling frequency that satisfies f B ≧ f A.

これにより、関節角サンプリングタイミングのサンプリング周波数が、画像サンプリングタイミングのサンプリング周波数より大きい場合を対象として処理を行うこと等が可能になる。   This makes it possible to perform processing for a case where the sampling frequency of the joint angle sampling timing is larger than the sampling frequency of the image sampling timing.

また、本発明の他の態様は、複数の画像サンプリングタイミングにおける画像特徴量情報を取得する画像特徴量情報取得部と、複数の関節角サンプリングタイミングにおけるロボットの関節角情報を取得する関節角情報取得部と、前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での前記画像特徴量情報と前記関節角情報に基づいて、前記ロボットを制御するロボット制御部と、を含むロボット制御システムに関係する。   Another aspect of the present invention provides an image feature amount information acquisition unit that acquires image feature amount information at a plurality of image sampling timings, and joint angle information acquisition that acquires joint angle information of a robot at a plurality of joint angle sampling timings. And controlling the robot based on the image feature amount information and the joint angle information in a selection correspondence selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing. And a robot control unit.

また、本発明の他の態様は、上記のロボット制御システムを含むロボットに関係する。   Another aspect of the present invention relates to a robot including the above robot control system.

また、本発明の他の態様は、複数の画像サンプリングタイミングにおける画像特徴量情報を取得し、複数の関節角サンプリングタイミングであって、前記画像サンプリングタイミングと非同期のサンプリングタイミングにおいて、ロボットの関節角情報を取得し、前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での前記画像特徴量と前記関節角情報に基づいて、前記ロボットを制御するロボット制御方法に関係する。   According to another aspect of the present invention, image feature amount information at a plurality of image sampling timings is acquired, and at a plurality of joint angle sampling timings, the robot joint angle information at a sampling timing asynchronous with the image sampling timings. And controlling the robot based on the image feature amount and the joint angle information in a selected correspondence selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing. Related to robot control method.

また、本発明の他の態様は、上記の各部としてコンピューターを機能させるプログラムに関係する。   Moreover, the other aspect of this invention is related with the program which functions a computer as said each part.

また、本発明の他の態様は、複数の画像サンプリングタイミングにおける画像特徴量情報を取得し、複数の関節角サンプリングタイミングであって、前記画像サンプリングタイミングと非同期のサンプリングタイミングにおいて、アームの関節角情報を取得し、前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での前記画像特徴量と前記関節角情報に基づいて、前記アームを制御するロボットに関係する。   According to another aspect of the present invention, image feature amount information at a plurality of image sampling timings is acquired, and a plurality of joint angle sampling timings, wherein the arm joint angle information is asynchronous with the image sampling timings. And controlling the arm based on the image feature quantity and the joint angle information in a selection correspondence selected from among a plurality of correspondences between the image sampling timing and the joint angle sampling timing. Related to robots.

図1(A)〜図1(C)はヤコビアンとその具体例を説明する図。1A to 1C are diagrams illustrating a Jacobian and a specific example thereof. look-then-move型のヤコビアン推定手法を説明する図。The figure explaining the Jacobian estimation method of look-then-move type. 図3(A)は同期データの例、図3(B)〜図3(D)は非同期データの例。FIG. 3A shows an example of synchronous data, and FIGS. 3B to 3D show examples of asynchronous data. 特徴量ベクトルと関節角ベクトルの組み合わせの探索例。A search example of a combination of a feature vector and a joint angle vector. ロボット制御システムの構成例。The structural example of a robot control system. 図6(A)、図6(B)はロボット制御システムを含むロボットの構成例。6A and 6B are configuration examples of a robot including a robot control system. 図7(A)、図7(B)は複数の組み合わせを用いたヤコビアン推定の手法を説明する図。7A and 7B are diagrams illustrating a Jacobian estimation method using a plurality of combinations. 一般化逆行列を算出するブロックのシステム構成例。The system structural example of the block which calculates a generalized inverse matrix. 評価処理の一例を説明する図。The figure explaining an example of an evaluation process. 第1の実施形態のロボット制御処理を説明するフローチャート。The flowchart explaining the robot control processing of 1st Embodiment. 画像特徴量ヤコビアンとロボットヤコビアンの関係を説明する図。The figure explaining the relationship between image feature-value Jacobian and robot Jacobian. ロボットヤコビアンを用いた重み付け後の連立方程式の例。An example of weighted simultaneous equations using the robot Jacobian. 第2の実施形態のロボット制御処理を説明するフローチャート。The flowchart explaining the robot control processing of 2nd Embodiment.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.

1.本実施形態の手法
まず本実施形態の手法について説明する。ロボットの応用においては、より正確に期待する位置へ移動させることが要求される。例えば、産業用用途においては、部品を把持した手先を、より正確に組み付け位置へ移動させることが要求される。
1. First, the method of this embodiment will be described. In robot applications, it is required to move to the expected position more accurately. For example, in industrial applications, it is required to move the hand holding the part to the assembly position more accurately.

従来の場合、この要求は、より剛性の高いロボットを、より正確に校正することによって実現されてきた。つまり、剛性の低さは制御の困難な非線形性の原因となるため、より剛性の高いロボットが要求されてきた。また、ロボットの剛性が高くとも残る種々の誤差に対応するために、より正確な校正が要求されてきた。   In the past, this requirement has been realized by more accurately calibrating a stiffer robot. That is, since the low rigidity causes non-linearity that is difficult to control, a robot with higher rigidity has been required. In addition, more accurate calibration has been required to cope with various errors that remain even if the rigidity of the robot is high.

しかし、このような対応には多くの制限や限界がある。例えば、ロボットを駆動するモーターが発熱することは避けられず、それによる熱膨張などのために数100ミクロン単位での誤差が発生する。これを避けるためには、予め、ロボットを熱平衡状態とするためのウォームアップが必要となる。つまり高精度が要求される場合に、作業をすぐに開始できないという制限がある。また、ウォームアップ後の校正作業も、非常に作業時間を要求するものである。また、個々のロボットの設置状況に対応して、個々のロボットそれぞれに対して個別に校正を行う必要もあった。   However, there are many limitations and limitations to such a response. For example, it is inevitable that the motor that drives the robot generates heat, and an error in the order of several hundreds of microns occurs due to thermal expansion due to this. In order to avoid this, it is necessary to warm up in advance to bring the robot into a thermal equilibrium state. That is, there is a limitation that work cannot be started immediately when high accuracy is required. Also, the calibration work after warm-up requires a very long work time. In addition, it is necessary to calibrate each robot individually according to the installation status of each robot.

これらに対応するための方法としては、何らかのセンサーからの出力をロボットの制御処理に組み込んだフィードバック制御を行う方法がある。例えば、カメラなどの撮像手段により、目標位置(状態)と現在位置(状態)との差分を検出し、それをロボットの姿勢、動きへフィードバックすることにより、ロボットの非線形性などへ対応する方法である。この方法が理想的に動作するならば、熱膨張などの変動要因に対しても容易に対応が可能であり、更には校正作業なども不要とすることが可能である。   As a method for dealing with these problems, there is a method of performing feedback control in which an output from any sensor is incorporated in a robot control process. For example, by detecting the difference between the target position (state) and the current position (state) with an imaging means such as a camera, and feeding it back to the posture and movement of the robot, it is possible to cope with the nonlinearity of the robot. is there. If this method works ideally, it is possible to easily cope with fluctuation factors such as thermal expansion, and it is possible to eliminate the need for calibration work.

上記の「目標位置と現在位置との差分」を「ロボットの動きへフィードバック」するための変換処理にはいくつかの種類が存在する。その中でも最も直接的に変換を行う手法は、ヤコビアンと呼ばれるパラメーターを用いる手法である。   There are several types of conversion processing for “feeding back the difference between the target position and the current position” to the robot motion. Among them, the most direct conversion method is a method using a parameter called Jacobian.

目標位置や現在位置を表現する特徴量をまとめたものを特徴ベクトル[f]とし、ロボットの姿勢を表現するロボットの関節角をまとめたものを関節角ベクトル[θ]とする。これらは一般的には非線形なベクトル関数[F]を用いて関連付けられる。ヤコビアン、あるいはヤコビ行列[J]は、ある点[θ]の周りで、このベクトル関数を展開した1次の項である。つまり、ヤコビアンとは図1(A)又は図1(B)に示したように、関節角空間での微少変位を、特徴量空間へと写像するものとなる。なお、本実施形態では特徴量として画像特徴量情報を用いるため、ヤコビアンとしては図1(B)に示した画像特徴量ヤコビアンを用いることになる。そして、ヤコビアンを表す式としては、例えば図1(C)に示した式が考えられる。ただし第2の実施形態で後述するように、画像特徴量ヤコビアンの推定精度の向上のために、図1(A)に示したロボットヤコビアンを解析的に求めて処理に用いてもよい。 A feature vector [f] is a set of feature amounts representing the target position and the current position, and a joint angle vector [θ] is a set of joint angles of the robot expressing the posture of the robot. These are generally related using a non-linear vector function [F]. The Jacobian or Jacobian matrix [J] is a first-order term obtained by expanding this vector function around a certain point [θ 0 ]. In other words, as shown in FIG. 1A or FIG. 1B, the Jacobian maps a minute displacement in the joint angle space to the feature amount space. In this embodiment, since image feature amount information is used as a feature amount, the image feature amount Jacobian shown in FIG. 1B is used as the Jacobian. And as a formula showing Jacobian, the formula shown in Drawing 1 (C) can be considered, for example. However, as will be described later in the second embodiment, the robot Jacobian shown in FIG. 1A may be analytically obtained and used for processing in order to improve the estimation accuracy of the image feature amount Jacobian.

目標とする特徴量ベクトルを[f]、現在の特徴量ベクトルを[f]とすると、下式(1)が得られる。 When the target feature vector is [f 0 ] and the current feature vector is [f], the following equation (1) is obtained.

[f]−[f]=[Δf]=[J][Δθ] ・・・・・(1)
従って、[J]の一般化逆行列(あるいは疑似逆行列とも呼ばれる)[J]−1を求めることができれば、下式(2)が得られる。
[F] − [f 0 ] = [Δf] = [J] [Δθ] (1)
Therefore, if the generalized inverse matrix [J] −1 [J] −1 of [J] can be obtained, the following expression (2) is obtained.

[Δθ]=[J]−1[Δf] ・・・・・(2)
上式(2)で得られる[Δθ](或いは[Δθ]にゲイン等を乗じた値)を、現在のロボットの姿勢である[θ]に加算する処理を行う、つまり[Δθ]分だけロボットの関節角を動作させることにより、[Δf]を小さくすることができ、ロボットを目標とする位置や状態に近づけることが可能となる。
[Δθ] = [J] −1 [Δf] (2)
A process of adding [Δθ] (or a value obtained by multiplying [Δθ] by a gain or the like) obtained by the above equation (2) to [θ] that is the current posture of the robot, that is, the robot by [Δθ]. [Δf] can be reduced by moving the joint angle, and the robot can be brought close to the target position and state.

従来、look-then-move型のヤコビアン推定手法として、例えば図2に示した手法を用いる例が見られた。つまり、特定の関節を微小に変化させた場合の特徴量ベクトルの変化は、ヤコビアン行列の特定の列の値に対応する。これを、すべての関節について行えば、ヤコビアン行列を求めることが可能となる。実際にこのようにして求めたヤコビアンでロボットを制御することが可能である。またこのように特定の関節を単独で動作させるのではなく、複数の関節を同時に動作させても、その動作が線形独立であれば、同様の処理を行うことが可能である。   Conventionally, as a look-then-move type Jacobian estimation method, for example, an example using the method shown in FIG. 2 has been seen. That is, the change in the feature vector when the specific joint is changed minutely corresponds to the value of a specific column of the Jacobian matrix. If this is performed for all joints, a Jacobian matrix can be obtained. It is possible to actually control the robot with the Jacobian thus obtained. In addition, even if a specific joint is not operated independently as described above, even if a plurality of joints are operated simultaneously, the same processing can be performed as long as the operation is linearly independent.

しかし、このような方法においては、ヤコビアンを推定する動作と、実際にロボットを目標位置へ動かす動作が分離されるという問題がある。つまり、止まって、見て、ヤコビアンを推定し、それを用いてロボットを動作させる、と言う動作が繰り返されることになる。これはロボットの動作速度を著しく遅くするという問題がある。   However, in such a method, there is a problem that the operation of estimating the Jacobian and the operation of actually moving the robot to the target position are separated. That is, the operation of stopping, watching, estimating the Jacobian, and operating the robot using the Jacobian is repeated. This has a problem that the operation speed of the robot is remarkably reduced.

それに対して特許文献1では、所望のロボットの動作と実際のロボットの動作の差である追従誤差eを定義し、それを用いてヤコビアンをon-the-flyで推定する手法が開示されている。この手法によれば、ロボットがある姿勢(つまり関節角ベクトルがある状態)のときに、特徴量ベクトルがどのような値であったか、というデータの組を得ることができれば、それを用いてヤコビアンを推定することができる。   On the other hand, Patent Document 1 discloses a method of defining a tracking error e, which is a difference between desired robot motion and actual robot motion, and estimating the Jacobian on-the-fly using the error. . According to this method, if we can obtain a set of data such as what value of the feature vector when the robot is in a certain posture (that is, in a state where there is a joint angle vector), the Jacobian can be calculated using that. Can be estimated.

つまり従来手法においては、図3(A)に示したように画像データ(ビジュアルサーボ等を想定しているため、当該画像データから特徴量ベクトルを取得する)と、その画像データを取得したときのロボット姿勢(関節角ベクトル)がタイミング的にあっている同期データであるということを仮定している。   That is, in the conventional method, as shown in FIG. 3A, image data (feature vector is acquired from the image data because visual servo or the like is assumed) and the image data is acquired. It is assumed that the robot posture (joint angle vector) is synchronized data that matches timing.

ロボット制御系から撮像系へ同期信号、シャッター信号を送るという手法を用いることで、従来手法のように同期を仮定しても問題ないと考えられる。しかしこれには、コストの問題や、配線などの問題が発生する。そして同期信号、シャッター信号等を用いないものとすれば、図3(B)〜図3(D)を用いて後述するように、データ間の非同期が生じることになり、正確なヤコビアンの推定が困難となる。   By using a method of sending a synchronization signal and a shutter signal from the robot control system to the imaging system, it is considered that there is no problem even if synchronization is assumed as in the conventional method. However, this causes problems such as cost and wiring. Assuming that no synchronization signal, shutter signal, or the like is used, as will be described later with reference to FIGS. 3B to 3D, asynchronism between data occurs, and accurate Jacobian estimation is possible. It becomes difficult.

そこで本出願人は、高コストで複雑な機器を用いない場合にも、特徴量ベクトルと関節角ベクトルとの間の同期を取って、正確にヤコビアンを推定する手法を提案する。具体的には、データ間は図3(B)〜図3(D)を用いて後述するように、原点ずれや揺らぎ、或いはその両方に起因して非同期となる。そこでここでは、原点ずれの発生しうる範囲及び揺らぎの発生しうる範囲を設定し、当該範囲で考えられる特徴量ベクトルと関節角ベクトルとの間の複数の組み合わせについてヤコビアンを推定する。例えば、あるタイミングの特徴量ベクトル(画像データ)に対して、4つの関節角ベクトル(関節角データ)が対応するような揺らぎが発生する場合には、図4に示したように、いくつもの組み合わせの候補が考えられる中、そのうちの最適な組み合わせ(図4の例であれば太い線で示した矢印により表される組み合わせ)を探索する問題を解くことになる。   Therefore, the present applicant proposes a method for accurately estimating the Jacobian by synchronizing the feature vector and the joint angle vector even when a high-cost and complicated device is not used. Specifically, as will be described later with reference to FIGS. 3B to 3D, the data becomes asynchronous due to origin deviation, fluctuation, or both. Therefore, here, a range where the origin deviation can occur and a range where the fluctuation can occur are set, and the Jacobian is estimated for a plurality of combinations between the feature vector and the joint angle vector considered in the range. For example, when fluctuation occurs such that four joint angle vectors (joint angle data) correspond to a feature amount vector (image data) at a certain timing, as shown in FIG. Are considered, the problem of searching for the optimum combination (in the example of FIG. 4, the combination represented by the arrow indicated by the thick line) is solved.

具体的には、複数の対応関係の各対応関係で推定した複数のヤコビアンを、所与の評価手法で評価し、最適なヤコビアンを当該タイミングでのヤコビアンとして採用する。なお、本実施形態は、画像サンプリングタイミングの周期性及び関節角サンプリングタイミングの周期性は仮定した上での処理となる。   Specifically, a plurality of Jacobians estimated by each correspondence relationship of a plurality of correspondence relationships are evaluated by a given evaluation method, and the optimum Jacobian is adopted as the Jacobian at the timing. In the present embodiment, the processing is performed assuming the periodicity of the image sampling timing and the periodicity of the joint angle sampling timing.

ただし、本実施形態の手法では、所与のタイミングでのヤコビアンを決定するためには、ある程度の数の組み合わせ(例えば数万通りの組み合わせ)についてヤコビアンを推定する必要が生じる。そのため1回1回のヤコビアン推定の高速性が要求されることになる。そこで本出願人は、後述する式(13)を用いて高速且つ安定して(ロバストに)一般化逆行列を求め、求めた一般化逆行列を用いてヤコビアンを推定する手法を合わせて提案する。   However, in the method of this embodiment, in order to determine the Jacobian at a given timing, it is necessary to estimate the Jacobian for a certain number of combinations (for example, tens of thousands of combinations). For this reason, high speed of Jacobian estimation once is required. Therefore, the present applicant proposes a method for obtaining a generalized inverse matrix at high speed and stably (robustly) by using Equation (13) described later, and estimating the Jacobian using the obtained generalized inverse matrix. .

以下、第1の実施形態及び第2の実施形態について説明する。第1の実施形態では、下式(13)を用いたヤコビアンの推定を含め、基本的な手法について説明する。第2の実施形態では、解析的に求めたロボットヤコビアンを用いて、ヤコビアン(狭義には画像特徴量ヤコビアン)の推定精度を向上させる第1の実施形態の変形例について説明する。   Hereinafter, the first embodiment and the second embodiment will be described. In the first embodiment, a basic method will be described, including Jacobian estimation using the following equation (13). In the second embodiment, a modified example of the first embodiment that improves the accuracy of estimating the Jacobian (image feature amount Jacobian in a narrow sense) using the robot Jacobian obtained analytically will be described.

2.第1の実施形態
第1の実施形態について説明する。ロボット制御システムの構成例について説明した後、画像特徴量情報と関節角情報の複数の対応関係を設定する手法について説明する。そして設定された各対応関係におけるヤコビアンを推定する手法を説明し、推定した複数のヤコビアンの中から適切なヤコビアンを選択する(つまり適切な対応関係を選択する)手法について説明する。最後に図10を用いて本実施形態の処理の詳細を説明する。
2. First Embodiment A first embodiment will be described. After describing a configuration example of the robot control system, a method for setting a plurality of correspondence relationships between image feature amount information and joint angle information will be described. Then, a method for estimating the Jacobian in each set correspondence relationship will be described, and a method for selecting an appropriate Jacobian from a plurality of estimated Jacobians (that is, selecting an appropriate correspondence relationship) will be described. Finally, details of the processing of this embodiment will be described with reference to FIG.

2.1 システム構成例
図5に本実施形態のロボット制御システムのシステム構成例を示す。ロボット制御システムは、関節角ベクトル取得部(関節角情報取得部)10と、特徴量ベクトル取得部(画像特徴量情報取得部)20と、記憶部30と、ロボット制御部200とを含む。ただし、ロボット制御システム及びロボット制御システムを構成する各部は、図5の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
2.1 System Configuration Example FIG. 5 shows a system configuration example of the robot control system of this embodiment. The robot control system includes a joint angle vector acquisition unit (joint angle information acquisition unit) 10, a feature amount vector acquisition unit (image feature amount information acquisition unit) 20, a storage unit 30, and a robot control unit 200. However, the robot control system and each part constituting the robot control system are not limited to the configuration shown in FIG. 5, and various modifications such as omitting some of these components or adding other components are possible. Is possible.

関節角ベクトル取得部10は、ロボットの関節角情報を取得する。関節角情報は種々の形式により表現可能であるが、例えば1回の関節角サンプリングタイミングにおいて、ロボットの自由度(関節数)に相当する個数の値を要素とする関節角ベクトルを取得してもよい。具体的には、7自由度ロボットであれば1つの関節角情報は、θ〜θの7つの値を要素として有する関節角ベクトルである。 The joint angle vector acquisition unit 10 acquires joint angle information of the robot. Although the joint angle information can be expressed in various formats, for example, even when a joint angle vector having a number of values corresponding to the degree of freedom (number of joints) of the robot as an element at one joint angle sampling timing is acquired. Good. Specifically, in the case of a seven-degree-of-freedom robot, one joint angle information is a joint angle vector having seven values of θ 0 to θ 6 as elements.

特徴量ベクトル取得部20は、センサー値等から特徴量情報を取得する。特徴量情報はロボットの位置(或いは状態)を表現するものであるが、本実施形態ではビジュアルサーボ等の画像を用いた制御を想定しているため、撮像した画像から取得される画像特徴量を特徴量情報とする。なお、取得した画像に対して所与の画像処理を行うことで特徴量情報を取得する場合が考えられるように、特徴量情報の取得には何らかの前処理が必要となる場合もある。本実施形態の特徴量ベクトル取得部20はそのような前処理を行うものであってもよい。或いは画像そのもの(例えば各画素の画素値の集合)を画像特徴量情報として取得してもよい。   The feature quantity vector acquisition unit 20 acquires feature quantity information from sensor values and the like. The feature amount information expresses the position (or state) of the robot, but in this embodiment, since control using an image such as a visual servo is assumed, an image feature amount acquired from the captured image is obtained. This is feature amount information. It should be noted that some pre-processing may be required to acquire feature amount information, as may be the case where feature amount information is acquired by performing given image processing on the acquired image. The feature vector acquisition unit 20 of the present embodiment may perform such preprocessing. Alternatively, the image itself (for example, a set of pixel values of each pixel) may be acquired as image feature amount information.

記憶部30は、種々の情報を記憶するものであり、その機能はRAM等のメモリーやHDD(ハードディスクドライブ)などにより実現できる。記憶部30は、関節角ベクトル列記憶部31と、特徴量ベクトル列記憶部33と、目標特徴量記憶部35を含む。   The storage unit 30 stores various information, and its function can be realized by a memory such as a RAM, an HDD (hard disk drive), or the like. The storage unit 30 includes a joint angle vector sequence storage unit 31, a feature amount vector sequence storage unit 33, and a target feature amount storage unit 35.

関節角ベクトル列記憶部31は、複数の関節角ベクトルを例えばFIFOの形で記憶する。本実施形態では、後述するように図7(B)に示した式(或いはそれに相当する式)を解くことでヤコビアンを取得することを想定しているため、関節角ベクトルの差分値が図7(A)に示したように少なくとも7つ(広義にはロボットの自由度に対応するだけ)必要となる。よってここでは、関節角ベクトル列記憶部31は少なくとも8つの関節角ベクトルを記憶する必要がある。   The joint angle vector sequence storage unit 31 stores a plurality of joint angle vectors, for example, in the form of FIFO. In the present embodiment, it is assumed that the Jacobian is obtained by solving the equation shown in FIG. 7B (or an equation corresponding to the equation) shown in FIG. As shown in (A), at least seven (in a broad sense, only corresponding to the degree of freedom of the robot) is required. Therefore, here, the joint angle vector sequence storage unit 31 needs to store at least eight joint angle vectors.

特徴量ベクトル列記憶部33は、複数の特徴量ベクトルを例えばFIFOの形で記憶する。関節角ベクトル列記憶部31と同様に、特徴量ベクトル列記憶部33は少なくとも8つの特徴量ベクトルを記憶する必要がある。   The feature vector sequence storage unit 33 stores a plurality of feature vectors, for example, in the form of FIFO. Similar to the joint angle vector sequence storage unit 31, the feature quantity vector sequence storage unit 33 needs to store at least eight feature quantity vectors.

目標特徴量記憶部35は、目標となる特徴量を記憶する。本実施形態ではフィードバック処理を行うロボット制御手法を想定しているため、各タイミングでの特徴量情報が、目標特徴量記憶部35に記憶されている目標特徴量に近づくように(差が小さくなるように)制御を行うことになる。   The target feature amount storage unit 35 stores a target feature amount. In this embodiment, since a robot control method for performing feedback processing is assumed, the feature amount information at each timing approaches the target feature amount stored in the target feature amount storage unit 35 (the difference is reduced). Control).

ロボット制御部200は、画像サンプリングタイミングと関節角サンプリングタイミングの適切な対応関係を選択するとともに、選択対応関係でのヤコビアンに基づいてロボットの制御を行う。ロボット制御部200は、対応関係設定部210と、ヤコビアン推定部220と、評価処理部230と、逆ヤコビアン算出部240と、目標差分ベクトル算出部250と、行列・ベクトル積算出部260と、制御データ出力部270とを含む。   The robot control unit 200 selects an appropriate correspondence between the image sampling timing and the joint angle sampling timing, and controls the robot based on the Jacobian in the selection correspondence. The robot control unit 200 includes a correspondence setting unit 210, a Jacobian estimation unit 220, an evaluation processing unit 230, an inverse Jacobian calculation unit 240, a target difference vector calculation unit 250, a matrix / vector product calculation unit 260, a control Data output unit 270.

対応関係設定部210は、データ間の非同期の要因(ここでは原点ずれと揺らぎ)に基づいて、画像サンプリングタイミングと関節角サンプリングタイミングの複数の対応関係を設定する。   The correspondence setting unit 210 sets a plurality of correspondences between the image sampling timing and the joint angle sampling timing based on asynchronous factors between data (here, origin deviation and fluctuation).

ヤコビアン推定部220は、対応関係設定部210で設定された複数の対応関係の各対応関係におけるヤコビアンを推定する。本実施形態では下式(13)等を用いてヤコビアンを推定するものであり、詳細については後述する。   The Jacobian estimation unit 220 estimates a Jacobian in each correspondence relationship of the plurality of correspondence relationships set by the correspondence relationship setting unit 210. In the present embodiment, the Jacobian is estimated using the following equation (13), and the details will be described later.

評価処理部230は、ヤコビアン推定部220において推定された複数の(狭義には対応関係設定部210で設定された全ての対応関係に相当する数の)ヤコビアンについて評価値を算出し、最適なヤコビアンを決定するとともに、当該最適なヤコビアンに対応するデータ間の対応関係を選択対応関係とすることでデータ間の同期をとる。   The evaluation processing unit 230 calculates an evaluation value for a plurality of Jacobians estimated by the Jacobian estimation unit 220 (in a narrow sense, the number corresponding to all the correspondences set by the correspondence relationship setting unit 210), and the optimum Jacobian is calculated. In addition, the correspondence between the data corresponding to the optimum Jacobian is selected as the selected correspondence, thereby synchronizing the data.

逆ヤコビアン算出部240は、評価処理部230により決定された最適なヤコビアンの逆ヤコビアン(上式(2)の[J]−1に相当)を算出する。逆ヤコビアンの算出には種々の手法が知られており、本実施形態でも従来手法のいずれかを用いてもよい。ただし、ヤコビアン推定部220における一般化逆行列を求める処理(下式(13))は、ヤコビアンを入力とし、その一般化逆行列である逆ヤコビアンを求める処理に用いることも可能である。つまり、本実施形態の逆ヤコビアン算出部240は、下式(13)を用いて逆ヤコビアンを算出してもよい。 The inverse Jacobian calculating unit 240 calculates the optimal Jacobian inverse Jacobian determined by the evaluation processing unit 230 (corresponding to [J] −1 in the above equation (2)). Various methods are known for calculating the inverse Jacobian, and any of the conventional methods may be used in this embodiment. However, the process for obtaining the generalized inverse matrix (the following expression (13)) in the Jacobian estimation unit 220 can also be used for the process for obtaining the inverse Jacobian that is the generalized inverse matrix with the Jacobian as an input. That is, the inverse Jacobian calculating unit 240 of the present embodiment may calculate the inverse Jacobian using the following equation (13).

目標差分ベクトル算出部250は、処理タイミングでの画像特徴量情報と、目標特徴量記憶部35に記憶された目標特徴量情報との差分を算出する。目標差分ベクトル算出部250の出力は上式(2)の[Δf]に相当する。   The target difference vector calculation unit 250 calculates a difference between the image feature amount information at the processing timing and the target feature amount information stored in the target feature amount storage unit 35. The output of the target difference vector calculation unit 250 corresponds to [Δf] in the above equation (2).

行列・ベクトル積算出部260は、逆ヤコビアン算出部240から出力された逆ヤコビアン[J]−1と、目標差分ベクトル算出部250から出力された目標差分ベクトル[Δf]との積を算出する。つまりここでは上式(2)の[Δθ]を求める処理を行う。 The matrix / vector product calculation unit 260 calculates the product of the inverse Jacobian [J] −1 output from the inverse Jacobian calculation unit 240 and the target difference vector [Δf] output from the target difference vector calculation unit 250. That is, here, the process of obtaining [Δθ] in the above equation (2) is performed.

制御データ出力部270は、求めた[Δθ]、或いはそれにゲイン等を乗じた値を制御データとして出力する。具体的には、ロボットに対して各関節を制御データに相当する角度だけ変更する指示を出力することになる。   The control data output unit 270 outputs the obtained [Δθ] or a value obtained by multiplying it by a gain or the like as control data. Specifically, an instruction to change each joint by an angle corresponding to the control data is output to the robot.

図6(A)に本実施形態のロボット制御システムを含むロボット(ロボットシステム)の例を示す。このロボットシステムは、制御装置300(上述のロボット制御システムに相当)と、ロボット本体310(広義にはロボット)とを含む。制御装置300はロボット本体310の制御処理を行う。具体的には、ロボット本体310に含まれる駆動部(例えば関節毎に設けられる関節駆動モーター等)に対して、関節角を上記[Δθ]に相当する角度だけ変化させる指示を、上記制御データとして出力することで、ロボット本体310が目標位置(目標状態)に移行する制御を行う。ロボット本体310は、アーム320及びハンド(把持部)330を有する。そして制御装置300からの動作指示にしたがって動作する。例えば、図示しないパレットに載せられたワークを把持したり、移動するなどの動作を行う。また、図示しない撮像装置で取得された撮像画像情報に基づいて、ロボット本体310の姿勢やワークの位置などの情報が検出され、検出された情報が制御装置300に送られる。   FIG. 6A shows an example of a robot (robot system) including the robot control system of this embodiment. This robot system includes a control device 300 (corresponding to the above-described robot control system) and a robot main body 310 (a robot in a broad sense). The control device 300 performs control processing for the robot body 310. Specifically, an instruction to change a joint angle by an angle corresponding to the above [Δθ] to a drive unit (for example, a joint drive motor provided for each joint) included in the robot main body 310 is the control data. By outputting, the robot main body 310 performs control to shift to the target position (target state). The robot body 310 includes an arm 320 and a hand (gripping unit) 330. Then, it operates according to an operation instruction from the control device 300. For example, operations such as gripping or moving a workpiece placed on a pallet (not shown) are performed. Further, information such as the posture of the robot body 310 and the position of the workpiece is detected based on captured image information acquired by an imaging device (not shown), and the detected information is sent to the control device 300.

本実施形態のロボット制御システムは例えば図6(A)の制御装置300に設けられ、例えば制御装置300のハードウェアやプログラムによりロボット制御システムが実現される。そして本実施形態のロボット制御システムによれば、制御装置300などの制御ハードウェアに対する性能要求を低減できると共に、ロボット本体310を高い応答性で動作させることなどが可能になる。   The robot control system of this embodiment is provided in, for example, the control device 300 in FIG. 6A, and the robot control system is realized by, for example, the hardware or program of the control device 300. According to the robot control system of the present embodiment, it is possible to reduce performance requirements for control hardware such as the control device 300 and to operate the robot body 310 with high responsiveness.

なお、図6(A)では、ロボット本体310(ロボット)と制御装置300(ロボット制御システム)とが別体に構成されているが、図6(B)に示すようにロボット本体310と制御装置300とが一体に構成されていてもよい。具体的には図6(B)では、ロボット本体310を支えるベースユニット部に制御装置300が格納されている。そして、ベースユニット部には車輪等が設けられ、ロボット全体が移動可能な構成となっている。また図6(A)は単腕型のロボットの例であるが、本実施形態のロボットは図6(B)に示すような双腕型等の多腕型のロボットであってもよい。   In FIG. 6A, the robot body 310 (robot) and the control device 300 (robot control system) are configured separately. However, as shown in FIG. 6B, the robot body 310 and the control device. 300 may be integrally formed. Specifically, in FIG. 6B, the control device 300 is stored in the base unit portion that supports the robot body 310. The base unit portion is provided with wheels and the like so that the entire robot can move. 6A shows an example of a single arm type robot, the robot of this embodiment may be a multi-arm type robot such as a double arm type as shown in FIG. 6B.

2.2 対応関係設定処理
対応関係設定部210で行われる、画像サンプリングタイミングと関節角サンプリングタイミングの対応関係の設定処理について説明する。ここでの画像サンプリングタイミングとは、画像データ(及びそれに基づく画像特徴量情報)が取得されるタイミングを表し、具体的なレートはカメラの性能等に依存することになるが、例えば10ミリ秒程度の周期であることが考えられる。また、関節角サンプリングタイミングとは、ロボットの姿勢データである関節角情報が取得されるタイミングを表し、例えば1ミリ秒程度の周期である。
2.2 Correspondence Setting Processing The correspondence setting processing performed between the image sampling timing and the joint angle sampling timing performed by the correspondence setting unit 210 will be described. The image sampling timing here represents the timing at which image data (and image feature amount information based on the image data) is acquired, and the specific rate depends on the performance of the camera and the like, for example, about 10 milliseconds. It is conceivable that the period is. The joint angle sampling timing represents the timing at which joint angle information, which is posture data of the robot, is acquired, and has a period of about 1 millisecond, for example.

本実施形態では、画像サンプリングタイミングの周期性、及び関節角サンプリングタイミングの周期性を仮定する。つまり、同一のカメラを同一の条件で用いている限り、画像特徴量情報の取得間隔が9ミリ秒になったり、11ミリ秒になったりという変動は起こらないものとしており、実際のカメラやロボットの特性を考慮してもこの仮定による問題は考えにくい。   In this embodiment, the periodicity of the image sampling timing and the periodicity of the joint angle sampling timing are assumed. In other words, as long as the same camera is used under the same conditions, the fluctuation of the image feature amount information acquisition interval of 9 milliseconds or 11 milliseconds does not occur. Considering this characteristic, it is difficult to think about this assumption.

同期がとれた理想的なデータ(同期データ)であれば、画像サンプリングタイミングと関節角サンプリングタイミングの関係は図3(A)に示したようになり、矢印で結ばれたタイミングの画像特徴量情報と関節角情報を処理に用いればよい。これに対して本実施形態では、何らかの遅延に起因して原点ずれが生じる可能性を考慮する。具体的には図3(B)に示したように、ある関節角サンプリングタイミングの関節角情報が、当該関節角サンプリングタイミングと同時や直近ではなく、離れた時点の画像サンプリングタイミングの画像特徴量情報に対応することが考えられる。つまり、所与の画像サンプリングタイミングに対応する関節角サンプリングタイミングとしては、ある程度の範囲(例えば関節角サンプリング周期が1ミリ秒であり、原点ずれの範囲が50ミリ秒であるとすれば50サンプリング分)を対応関係の候補として設定する必要がある。   In the case of synchronized ideal data (synchronous data), the relationship between the image sampling timing and the joint angle sampling timing is as shown in FIG. 3A, and the image feature amount information at the timing connected by arrows. And joint angle information may be used for processing. On the other hand, in this embodiment, the possibility of origin deviation due to some delay is considered. Specifically, as shown in FIG. 3B, the image feature amount information of the image sampling timing at a point in time when the joint angle information at a certain joint angle sampling timing is not the same as or nearest to the joint angle sampling timing. It can be considered that In other words, the joint angle sampling timing corresponding to a given image sampling timing has a certain range (for example, if the joint angle sampling period is 1 millisecond and the origin deviation range is 50 milliseconds, 50 joints). ) As a candidate for correspondence.

また、カメラとロボットの動作周期が適当な整数比にならない場合等には、揺らぎに起因する非同期も考慮する必要がある。例えば、安価なNTSC型のカメラのフレームレートは毎秒29.97フレームであるし、ロボットの動作周期も128マイクロ秒×8の1.024ミリ秒の場合もある。さらにはハードウェアに起因して揺らぎが発生する場合もある。具体的には、原点ずれがない場合であっても図3(C)に示したように、所与の画像サンプリングタイミングに対応する関節角サンプリングタイミングが、同時のものではなく、その前後にずれることが考えられる。例えば関節角サンプリング周期が1ミリ秒であり、相対的な周期揺らぎを±1ミリ秒とすれば、前後1サンプルを含めた3サンプリング分については対応関係の候補として設定する必要がある。   In addition, when the operation cycle of the camera and the robot does not have an appropriate integer ratio, it is necessary to consider asynchrony caused by fluctuations. For example, the frame rate of an inexpensive NTSC type camera is 29.97 frames per second, and the robot operation cycle may be 128 microseconds × 8, 1.024 milliseconds. Furthermore, fluctuations may occur due to hardware. Specifically, even when there is no deviation of the origin, as shown in FIG. 3C, the joint angle sampling timing corresponding to a given image sampling timing is not the same, but deviates before and after that. It is possible. For example, if the joint angle sampling period is 1 millisecond and the relative period fluctuation is ± 1 millisecond, it is necessary to set three samplings including one sample before and after as candidates for correspondence.

本実施形態では、図3(D)に示したように原点ずれと揺らぎの両方を考慮して対応関係を設定する。例えば最初の処理タイミングにおいては、原点ずれを考慮する必要があるため、画像サンプリングタイミングと関節角サンプリングタイミングの対応関係としては原点ずれの範囲に相当する数(上記の例であれば50個)を設定する。一方、一回最適なヤコビアンが推定されれば、その際の原点ずれの程度はわかり、以降の処理においても当該原点ずれの値を用いることができる。つまり一度原点を合わせてしまえば、それ以降は揺らぎだけを考えればよいので、画像サンプリングタイミングと関節角サンプリングタイミングの対応関係としては揺らぎの範囲に相当する数(上記の例であれば3個)を設定する。   In the present embodiment, as shown in FIG. 3D, the correspondence is set in consideration of both origin deviation and fluctuation. For example, since it is necessary to consider the origin deviation at the first processing timing, the correspondence between the image sampling timing and the joint angle sampling timing is a number corresponding to the origin deviation range (50 in the above example). Set. On the other hand, once an optimal Jacobian is estimated, the degree of origin deviation at that time can be known, and the value of the origin deviation can be used in the subsequent processing. In other words, once the origin is set, only fluctuations need to be considered after that, and the correspondence between the image sampling timing and the joint angle sampling timing is a number corresponding to the fluctuation range (three in the above example). Set.

ただし、本実施形態では後述するように、ヤコビアンの推定において画像特徴量情報の差分値と関節角情報の差分値の組を少なくとも7つ用いるものとしている。つまり対応関係設定部210においては、少なくとも8組の画像サンプリングタイミングと関節角サンプリングタイミングの対応関係を(狭義には全て網羅するように)設定する必要がある。   However, in this embodiment, as will be described later, at least seven sets of difference values of image feature amount information and difference values of joint angle information are used in the estimation of Jacobian. That is, in the correspondence setting unit 210, it is necessary to set at least eight sets of correspondence between the image sampling timing and the joint angle sampling timing (so as to cover all in a narrow sense).

この場合、最初の処理タイミングにおいては、原点ずれを考慮する必要があるため、8組のうち1組の対応関係について原点ずれに相当するだけの数(例えば50通り)を設定し、他の7組の対応関係について揺らぎに相当するだけの数(例えばそれぞれ3通りの3通り)を設定する。つまり、具体的な数値例でいえば50×3通りの対応関係を設定し、設定した対応関係をヤコビアン推定部220に出力する。一方、原点合わせが終わっているのであれば、8組の対応関係についてそれぞれ揺らぎに相当するだけの数(例えばそれぞれ3通りの3通り)を設定すればよい。 In this case, since it is necessary to consider the origin deviation at the first processing timing, a number corresponding to the origin deviation (for example, 50 ways) is set for one of the 8 sets of correspondence, and the other 7 for the set corresponding relationship set the number of only corresponding to the fluctuation (e.g., 3 7 kinds of triplicate respectively). That is, in terms of the specific numerical values to set the correspondence between the 50 × 3 7 ways, and outputs a corresponding relationship set in Jacobian estimation unit 220. On the other hand, if the home position alignment is finished, it is sufficient to set the number of only correspond to fluctuations respectively (e.g. 3 eight triplicate respectively) for eight sets of correspondence.

2.3 ヤコビアンの算出処理
対応関係設定部210で設定された複数の対応関係の各対応関係におけるヤコビアンを推定する手法について説明する。以下の説明では、特徴量情報(特徴量ベクトル)としてf〜fからなる6次元ベクトルを考え、関節角情報(関節角ベクトル)としてθ〜θからなる7次元ベクトルを考えるものとするが、これに限定されず任意の特徴量情報、関節角情報に対して以下の手法を適用可能である。
2.3 Jacobian Calculation Processing A method for estimating the Jacobian in each correspondence relationship among a plurality of correspondence relationships set by the correspondence relationship setting unit 210 will be described. In the following description, a 6-dimensional vector composed of f 0 to f 5 is considered as feature amount information (feature amount vector), and a 7-dimensional vector composed of θ 0 to θ 6 is considered as joint angle information (joint angle vector). However, the present invention is not limited to this, and the following method can be applied to arbitrary feature amount information and joint angle information.

ヤコビアンは上式(1)を満たすものであるから、下式(3)が成り立つ。   Since the Jacobian satisfies the above equation (1), the following equation (3) is established.

Figure 2014140941
ここでΔf〜Δfは2つの(狭義には隣り合うタイミングでの)特徴量ベクトルの差分を表し、Δθ〜Δθは2つの関節角ベクトルの差分を表すものである。つまり対応関係設定部210により、対応付けされた画像特徴量情報と関節角情報の組が2組設定されれば、2つの画像特徴量情報の差分をとることで1つのΔf〜Δfが求められ、2つの関節角情報の差分をとることで1つのΔθ〜Δθが求められるため、上式(3)を設定することができる。
Figure 2014140941
Here, Δf 0 to Δf 5 represent the difference between the two feature quantity vectors (at the timing adjacent to each other in a narrow sense), and Δθ 0 to Δθ 6 represent the difference between the two joint angle vectors. That is, if two sets of associated image feature amount information and joint angle information are set by the correspondence setting unit 210, one Δf 0 to Δf 5 is obtained by taking the difference between the two image feature amount information. Since one Δθ 0 to Δθ 6 is obtained by obtaining the difference between the two joint angle information, the above equation (3) can be set.

ここで下式(4)のように両辺の転置を考えることで下式(5)が成り立つ。   Here, the following equation (5) is established by considering transposition of both sides as in the following equation (4).

[Δf]=[Δθ][J] ・・・・・(4) [Δf] T = [Δθ] T [J] T (4)

Figure 2014140941
上式(5)に示したように、Δf〜Δf及びΔθ〜Δθが既知の値として取得することができた場合には、それらの値を用いてJを求めることになる。しかし、上式(5)では未知数がJ00〜J56の42個あるのに対して、方程式の数は6個である。よって条件が十分でないため近似的に解くことしかできない。そのため、本実施形態では1次独立な成分を持つ式を7組以上まとめることで、より正確な解を求めるものとする。
Figure 2014140941
As shown in the above equation (5), when Δf 0 to Δf 5 and Δθ 0 to Δθ 6 can be acquired as known values, J is obtained using these values. However, in the above formula (5), there are 42 unknowns J 00 to J 56 , while the number of equations is 6. Therefore, since the condition is not sufficient, it can only be solved approximately. Therefore, in this embodiment, a more accurate solution is obtained by collecting seven or more sets of equations having primary independent components.

具体的には、対応関係の設定処理において説明したように、画像特徴量情報と関節角情報の組を少なくとも8組対応づける対応関係を設定する。そして隣り合う画像特徴量情報同士の差分、及び隣り合う関節角情報同士の差分を求めることで、Δf〜Δf及びΔθ〜Δθをそれぞれ7組取得することができる。 Specifically, as described in the correspondence setting process, a correspondence that associates at least eight sets of image feature amount information and joint angle information is set. Then, seven sets of Δf 0 to Δf 5 and Δθ 0 to Δθ 6 can be obtained by obtaining the difference between adjacent image feature amount information and the difference between adjacent joint angle information.

これを示したものが図7(A)、図7(B)である。図7(A)の(1)〜(7)に示したように、Δf〜Δfの各組を行要素とする7行の行列、及びΔθ〜Δθの各組を行要素とする7行の行列を考えれば、それらの行列は図7(B)に示した式を満たすことになる。この場合、42個の未知数に対して42個の方程式(ここでは上述したようにそれぞれが線形独立であることを前提としている)を設定することができるため、ヤコビアンを正確に求めることが可能である。 This is shown in FIGS. 7A and 7B. As shown in (1) to (7) of FIG. 7A, a matrix of 7 rows having each set of Δf 0 to Δf 5 as row elements, and each set of Δθ 0 to Δθ 6 as row elements. When the 7-row matrix is considered, these matrices satisfy the equation shown in FIG. In this case, since 42 equations (assuming that each is linearly independent as described above) can be set for 42 unknowns, the Jacobian can be accurately obtained. is there.

また、対応関係設定部210により、対応付けされた画像特徴量情報と関節角情報の組を9組以上設定することで、Δf〜Δf及びΔθ〜Δθをそれぞれ8組以上取得するものとしてもよい。この場合、未知数に対して条件式が過剰となるため、全ての方程式を満足するJを求めることができない可能性が出てくる。ここで、xがn次元ベクトル、yがm次元ベクトル、Aがm×nの行列である場合に、下式(6)の線形連立方程式を考える。 In addition, the correspondence setting unit 210 sets nine or more sets of associated image feature information and joint angle information, thereby acquiring eight or more sets of Δf 0 to Δf 5 and Δθ 0 to Δθ 6. It may be a thing. In this case, since the conditional expression becomes excessive with respect to the unknown, there is a possibility that J that satisfies all the equations cannot be obtained. Here, when x is an n-dimensional vector, y is an m-dimensional vector, and A is an m × n matrix, a linear simultaneous equation of the following equation (6) is considered.

y=Ax ・・・・・(6)
この場合、下式(7)で与えられる自乗誤差を最小にする最小自乗解は、下式(8)の正規化方程式の解として与えられるため、最小自乗解xは下式(9)となる。
y = Ax (6)
In this case, since the least squares solution that minimizes the square error given by the following equation (7) is given as the solution of the normalized equation of the following equation (8), the least squares solution x * is expressed by the following equation (9): Become.

||y−Ax||=(y−Ax)(y−Ax) ・・・・・(7)
Ax=Ay ・・・・・(8)
=(AA)−1y ・・・・・(9)
上式(9)は同時に、一般的には正方行列ではないAの逆行列(一般化逆行列)Aが下式(10)で与えられることを示している。
|| y−Ax || 2 = (y−Ax) T (y−Ax) (7)
A T Ax = A T y (8)
x * = (A T A) −1 A T y (9)
The above equation (9) indicates that the inverse matrix (generalized inverse matrix) A + of A which is not generally a square matrix is given by the following equation (10).

=(AA)−1 ・・・・・(10)
つまり、行列とベクトルという違いはあるが、Δfにより決定される行列をy、Δθにより決定される行列をA、ヤコビアンにより決定される行列をxとすれば、図7(B)の式は上式(6)の形式であると考えることができ、ヤコビアンは正規化方程式の解である最小自乗解として求めることが可能である。
A + = (A T A) −1 A T (10)
That is, although there is a difference between a matrix and a vector, if the matrix determined by Δf is y, the matrix determined by Δθ is A, and the matrix determined by the Jacobian is x, the equation in FIG. The Jacobian can be obtained as a least squares solution that is a solution of the normalization equation.

ここで上式(9)、(10)は、行列Aの一般化逆行列Aを求めることができれば、x=Ayにより最小自乗解を求めることができるということを示しており、一般化逆行列は上式(10)の形式に限定されるものではない。 Here, the above equations (9) and (10) indicate that if the generalized inverse matrix A + of the matrix A can be obtained, the least squares solution can be obtained by x * = A + y. The generalized inverse matrix is not limited to the form of the above formula (10).

例えば、任意のm×n行列Aは、下式(11)の形式に特異値分解を行うことができる
A=UΣV ・・・・・(11)
ここで、Uはm次元の正規直交基底であり、Vはn次元の正規直交基底であり、Σは特異値を対角項に持つ行列となる。なお、Uは正方行列AAのm個の固有ベクトルを列ベクトルとして有する行列、Vは正方行列AAのn個の固有ベクトルを列ベクトルとして有する行列であり、ΣはUとVで共有される固有値の平方根を対角項に持つ行列であると言い換えることができる。
For example, an arbitrary m × n matrix A can be subjected to singular value decomposition in the form of the following equation (11): A = UΣV T (11)
Here, U is an m-dimensional orthonormal basis, V is an n-dimensional orthonormal basis, and Σ is a matrix having singular values in diagonal terms. Incidentally, U is a matrix having m eigenvectors of the square matrix AA T as a column vector, V is a matrix with n eigenvectors of a square matrix A T A as a column vector, sigma is shared by U and V In other words, it is a matrix having the square root of the eigenvalue as a diagonal term.

このことから、上式(11)のAの逆行列と同様の性質を持つ行列として下式(12)のAを考えることが可能となる。 From this, it is possible to consider A + in the following equation (12) as a matrix having the same properties as the inverse matrix of A in the above equation (11).

=VΣ−1 ・・・・・(12)
つまり、上式(11)のAとしてΔθにより決定される行列(以下行列Bと記載する)の特異値分解を行い、上式(12)に従って行列Bの一般化逆行列Bを求めてもよい。この場合にも、ヤコビアンを表す最小自乗解は、x=Ay(具体的には[J]=B[Δf])により求めることが可能である。
A + = VΣ −1 U T (12)
That is, even if singular value decomposition of a matrix (hereinafter referred to as matrix B) determined by Δθ is performed as A in the above equation (11), a generalized inverse matrix B + of the matrix B is obtained according to the above equation (12). Good. Also in this case, the least square solution representing the Jacobian can be obtained by x * = A + y (specifically, [J] T = B + [Δf]).

しかし上式(10)により一般化逆行列を求める手法には安定的に逆ヤコビアンを求めることができないという問題が生じうる。上式(10)では、AAの逆行列(AA)−1を求める必要がある。ここで、AAは正方行列ではあるものの、そのランク(階数)は対象とする具体的な行列の値(ここではΔθの値)に依存するものであり、場合によってはフルランクではない。その場合、逆行列(AA)−1を適切に求めることができないため、一般化逆行列も適切なものとならない。ロボットの制御においては、不適切なパラメーターによる制御は衝突等の深刻な問題を生じうるものであるから、上式(10)を一般化逆行列の算出に用いることはできない。 However, the method for obtaining the generalized inverse matrix by the above equation (10) may cause a problem that the inverse Jacobian cannot be obtained stably. In the above equation (10), it is necessary to obtain the inverse matrix of A T A (A T A) -1. Here, although A T A is a square matrix, its rank (rank) depends on the value of a specific target matrix (here, the value of Δθ) and may not be a full rank in some cases. In that case, since the inverse matrix (A T A) −1 cannot be obtained appropriately, the generalized inverse matrix is not appropriate. In the control of the robot, since control with an inappropriate parameter can cause a serious problem such as a collision, the above equation (10) cannot be used for calculating the generalized inverse matrix.

また、上式(12)により一般化逆行列を求める手法では、通常の逆行列処理を行わないため、安定的に(ロバストに)一般化逆行列を求めることができるものの、計算量が大きく高速処理が難しいという問題が生じうる。例えば、行列Bの行の数(上記の例ではm)は対応付けされた画像特徴量情報と関節角情報の組の数に対応し、列の数(上記の例ではn)はロボットの自由度(例えば関節数)に対応する。この際、ヤコビアンの推定精度を高めるためにmの値をnに比べて大きいものとすると、上記Uとして巨大な行列を求める必要があり、計算量も膨大なものになってしまうという問題がある。   Further, in the method of obtaining the generalized inverse matrix by the above equation (12), since the normal inverse matrix processing is not performed, the generalized inverse matrix can be obtained stably (robustly), but the calculation amount is large and the speed is high. The problem that processing is difficult may arise. For example, the number of rows in the matrix B (m in the above example) corresponds to the number of sets of the associated image feature information and joint angle information, and the number of columns (n in the above example) is the freedom of the robot. Corresponds to the degree (for example, the number of joints). At this time, if the value of m is larger than n in order to increase the Jacobian estimation accuracy, it is necessary to obtain a huge matrix as U, and the calculation amount becomes enormous. .

そこで本実施形態では、下式(13)により行列Aの一般化逆行列Aを求めるものとする。下式(13)で、diag[1/λ]とは下式(14)に示すように固有値λの逆数を対角値に持つ行列を表す。ただし、λ=0の場合にはその逆数も0であるものとする。 Therefore, in this embodiment, the generalized inverse matrix A + of the matrix A is obtained by the following equation (13). In the following equation (13), diag [1 / λ] represents a matrix having the inverse of the eigenvalue λ as a diagonal value as shown in the following equation (14). However, when λ = 0, the reciprocal thereof is also 0.

=Vdiag[1/λ]V ・・・・・(13) A + = Vdiag [1 / λ] V T A T (13)

Figure 2014140941
上式(13)を用いれば、上式(10)に示した例とは異なり、通常の逆行列処理を行う必要がない。よって、行列Bのランクによらず一般化逆行列Bを安定的に求めることが可能である。また、上式(12)に示した例とは異なり、正規直交基底Uを求める必要がない。つまりmの値が大きくなったとしても、m次元の行列を計算する必要がなくなるため高速に一般化逆行列Bを求めることが可能である。
Figure 2014140941
If the above equation (13) is used, unlike the example shown in the above equation (10), it is not necessary to perform normal inverse matrix processing. Therefore, the generalized inverse matrix B + can be obtained stably regardless of the rank of the matrix B. Further, unlike the example shown in the above equation (12), there is no need to obtain the orthonormal basis U. That is, even if the value of m becomes large, it is not necessary to calculate an m-dimensional matrix, so that the generalized inverse matrix B + can be obtained at high speed.

なお、用いるロボット等の設定によっては、m及びnの値は異なるものになる。よって、上述の例とは異なりmに比べてnが非常に大きくなるケースにおいては、下式(15)を用いて一般化逆行列を求めてもよい。この場合にも、安定的に一般化逆行列Bを求めることが可能であり、且つ非常に大きいn次元の行列を扱う必要がないため高速で処理を行うことが可能である。 Note that the values of m and n differ depending on the setting of the robot to be used. Therefore, unlike the above example, in a case where n is much larger than m, the generalized inverse matrix may be obtained using the following equation (15). Also in this case, the generalized inverse matrix B + can be stably obtained, and since it is not necessary to handle a very large n-dimensional matrix, it is possible to perform processing at high speed.

=AUdiag[1/λ]U ・・・・・(15)
つまりヤコビアン推定部220は、関節角ベクトル列記憶部31及び特徴量ベクトル列記憶部33から、対応関係設定部210により対応づけられた関節角ベクトルと特徴量ベクトルをそれぞれ8つ以上読み出し、その差分をとることでΔf〜Δf及びΔθ〜Δθをそれぞれ7組以上取得する。そして7組以上のΔθ〜Δθ(図7(B)の例ではθ00〜θ66)から決定される行列Bの一般化逆行列Bを求める。
A + = A T Udiag [1 / λ] U T (15)
That is, the Jacobian estimation unit 220 reads out eight or more joint angle vectors and feature amount vectors associated by the correspondence setting unit 210 from the joint angle vector sequence storage unit 31 and the feature amount vector sequence storage unit 33, and the difference between them. As a result, seven or more sets of Δf 0 to Δf 5 and Δθ 0 to Δθ 6 are acquired. Then, a generalized inverse matrix B + of the matrix B determined from seven or more sets of Δθ 0 to Δθ 600 to θ 66 in the example of FIG. 7B) is obtained.

ヤコビアン推定部220は、一般化逆行列取得部を含んでもよく、一般化逆行列取得部は、図8に示したように、分散行列算出部221と、固有値算出部222と、逆数算出部223と、固有ベクトル行列算出部224と、転置行列算出部225−1,225−2と、行列・ベクトル積算出部226と、行列積算出部227−1,227−2を含む。   The Jacobian estimation unit 220 may include a generalized inverse matrix acquisition unit, and the generalized inverse matrix acquisition unit includes a variance matrix calculation unit 221, an eigenvalue calculation unit 222, and an inverse calculation unit 223 as illustrated in FIG. And eigenvector matrix calculation unit 224, transposed matrix calculation units 225-1 and 225-2, matrix / vector product calculation unit 226, and matrix product calculation units 227-1 and 227-2.

分散行列算出部221は、行列Bを取得し、分散行列を求める。ここでの分散行列とは、上式(13)を用いる場合であればBBであり、上式(15)を用いる場合であればBBである。算出した分散行列は、固有値算出部222と、固有ベクトル行列算出部224に出力される。 The variance matrix calculation unit 221 acquires the matrix B and obtains the variance matrix. The covariance matrix herein is a B T B in the case of using the above equation (13), a BB T in the case of using the above equation (15). The calculated dispersion matrix is output to the eigenvalue calculation unit 222 and the eigenvector matrix calculation unit 224.

固有値算出部222は、分散行列の固有値λを算出する。逆数算出部223は、固有値λの逆数1/λを算出する。ただし、λ=0の場合には、当該固有値の逆数も0であるものとする。   The eigenvalue calculation unit 222 calculates the eigenvalue λ of the variance matrix. The reciprocal calculation unit 223 calculates the reciprocal 1 / λ of the eigenvalue λ. However, when λ = 0, the reciprocal of the eigenvalue is also 0.

固有ベクトル行列算出部224は、分散行列の固有ベクトルを算出し、固有ベクトルからなる固有ベクトル行列を算出する。固有ベクトル行列とは、上式(13)のV又は上式(15)のUに相当する。   The eigenvector matrix calculation unit 224 calculates an eigenvector of the variance matrix and calculates an eigenvector matrix composed of eigenvectors. The eigenvector matrix corresponds to V in the above equation (13) or U in the above equation (15).

行列・ベクトル積算出部226は、固有ベクトル行列算出部224からの出力であるV又はUと、逆数算出部223の出力であるdiag[1/λ]の積を求める。具体的には、上式(13)のうちのVdiag[1/λ]、又は上式(15)のうちのUdiag[1/λ]を求める。   The matrix / vector product calculation unit 226 calculates a product of V or U output from the eigenvector matrix calculation unit 224 and diag [1 / λ] output from the reciprocal calculation unit 223. Specifically, Vdiag [1 / λ] in the above equation (13) or Udiag [1 / λ] in the above equation (15) is obtained.

転置行列算出部225−1は、固有ベクトル行列算出部224の出力の転置行列を求める。具体的にはV又はUを求める。行列積算出部227−1は、行列・ベクトル積算出部226の出力と、転置行列算出部225−1の出力の積を求める。具体的には、上式(13)のうちのVdiag[1/λ]V、又は上式(15)のうちのUdiag[1/λ]Uを求める。 The transposed matrix calculation unit 225-1 obtains the transpose matrix of the output of the eigenvector matrix calculation unit 224. Specifically, V T or U T is obtained. The matrix product calculation unit 227-1 obtains the product of the output of the matrix / vector product calculation unit 226 and the output of the transposed matrix calculation unit 225-1. Specifically, finding a Udiag [1 / λ] U T of the Vdiag [1 / λ] V T of the equation (13), or the above equation (15).

また、転置行列算出部225−2は、行列Bの転置行列Bを求める。行列積算出部227−2は、行列積算出部227−1の出力と、転置行列算出部225−2の出力の積を求める。具体的には、Vdiag[1/λ]V又はBUdiag[1/λ]Uを求めることになり、行列積算出部227−2の出力が、行列Bの一般化逆行列Bとなる。 Further, the transposed matrix calculation unit 225-2 obtains a transposed matrix B T of the matrix B. The matrix product calculation unit 227-2 obtains the product of the output of the matrix product calculation unit 227-1 and the output of the transposed matrix calculation unit 225-2. Specifically, Vdiag [1 / λ] V T B T or B T Udiag [1 / λ] U T is obtained, and the output of the matrix product calculation unit 227-2 is the generalized inverse matrix of the matrix B. B + .

Δθにより決定される行列Bの一般化逆行列Bを求めることができたら、求めた一般化逆行列BをΔfにより決定される行列に左からかけることで、ヤコビアンを求めることが可能である。 Once the generalized inverse matrix B + of the matrix B determined by Δθ can be obtained, the Jacobian can be obtained by multiplying the determined generalized inverse matrix B + from the left by the matrix determined by Δf. is there.

2.4 最適な対応関係の選択処理
上述の手法により、対応関係設定部210で設定された複数の対応関係(例えば50×3通りの対応関係)のそれぞれについてヤコビアンが推定される。次にその複数のヤコビアンの中から最適なヤコビアン、及びそれに対応する最適な対応関係(選択対応関係)を選択する。
The 2.4 optimal for the corresponding selection process relationships above technique, Jacobian is estimated for each of the plurality of correspondence relationships set by the correspondence relationship setting unit 210 (e.g., 50 × 3 of 7 types correspondence). Next, an optimum Jacobian and an optimum correspondence (selective correspondence) corresponding to the Jacobian are selected from the plurality of Jacobians.

具体的には各ヤコビアンについて評価値(誤差情報)を求め、当該評価値の比較処理を行うことで最適なヤコビアン等を選択する。評価値算出処理の一例を図9に示す。図9に示すように、特徴量情報のうち最新のもの(図9のA1)については評価用情報として用い、対応関係の設定やヤコビアンの推定は行わない。そして、それ以前の特徴量情報に対して、関節角情報との対応付けを行い(ここでは対応づけられた画像特徴量情報と関節角情報の組を9組設定することで、ΔfとΔθの組を8組設定している)、上述の手法によりヤコビアンを推定する。   Specifically, an evaluation value (error information) is obtained for each Jacobian, and an optimum Jacobian or the like is selected by performing comparison processing of the evaluation values. An example of the evaluation value calculation process is shown in FIG. As shown in FIG. 9, the latest feature amount information (A1 in FIG. 9) is used as evaluation information, and no correspondence setting or Jacobian estimation is performed. Then, the previous feature amount information is associated with the joint angle information (here, nine sets of image feature amount information and joint angle information associated with each other are set, so that Δf and Δθ Eight sets are set), and the Jacobian is estimated by the above-described method.

ヤコビアンが推定されたら、当該ヤコビアンを用いて1つ前のタイミングのデータから最新の画像特徴量を推定する。具体的には1つ前の関節角情報の差分値に対して、上式(1)に示したようにその際のヤコビアンを作用させれば、最新の画像サンプリングタイミングでの画像特徴量情報を推定することができる(厳密には最新の画像特徴量と1タイミング前の画像特徴量の差分がまず求まり、そこから最新の画像特徴量を求めることになる)。さらに具体的には、画像サンプリングタイミング(A2)に対応する関節角サンプリングタイミング(対応関係設定部210での設定によるが、例えばB2)での関節角情報と、その1つ前の関節角情報(A3に対応するB3)との差分値にヤコビアンを作用させればよい。ここで、推定したヤコビアンが適切であるほど、当該ヤコビアンを用いて推定した最新タイミングでの画像特徴量情報(推定値)は、実測値である画像特徴量情報に近くなるはずである。よって本実施形態では、例えば推定した画像特徴量情報と、実測した画像特徴量情報との誤差(各成分の差分の自乗和等)を評価値とすればよい。   When the Jacobian is estimated, the latest image feature amount is estimated from the data at the previous timing using the Jacobian. Specifically, if the Jacobian at that time is applied to the difference value of the previous joint angle information as shown in the above equation (1), the image feature amount information at the latest image sampling timing is obtained. (Strictly speaking, the difference between the latest image feature quantity and the image feature quantity one timing before is first obtained, and the latest image feature quantity is obtained therefrom). More specifically, the joint angle information at the joint angle sampling timing corresponding to the image sampling timing (A2) (for example, B2 depending on the setting in the correspondence setting unit 210) and the previous joint angle information ( What is necessary is just to make a Jacobian act on the difference value with B3) corresponding to A3. Here, as the estimated Jacobian is appropriate, the image feature amount information (estimated value) at the latest timing estimated using the Jacobian should be closer to the image feature amount information that is a measured value. Therefore, in this embodiment, for example, an error (e.g., the sum of squares of differences between components) between the estimated image feature information and the measured image feature information may be used as the evaluation value.

この評価値算出処理を推定した複数のヤコビアンについて行い、評価値が最適なもの(ここでは誤差情報であるため値が最小のもの)を最適なヤコビアンとして選択し、その際の対応関係を選択対応関係とする。   This evaluation value calculation process is performed on multiple estimated Jacobians, and the one with the best evaluation value (here, the smallest value because it is error information) is selected as the optimum Jacobian, and the correspondence at that time is selected and supported It is related.

なお、ヤコビアンの評価値は上述のものには限定されない。上述の手法により求めたヤコビアンは、上式(7)の自乗誤差を最小にする最小自乗解である。よって、求められたヤコビアンを上式(7)のxに代入して値を計算すれば、当該ヤコビアンを用いた場合の自乗誤差の値を求めることができる。ヤコビアンが適切であるほど自乗誤差の値は小さいと考えられるため、上式(7)の自乗誤差の値をヤコビアンの評価値としてもよい。この場合も、評価値が最小のものを最適なヤコビアンとして選択し、その際の対応関係を選択対応関係とする。   Note that the Jacobian evaluation value is not limited to the above. The Jacobian obtained by the above method is a least squares solution that minimizes the square error of the above equation (7). Therefore, if the value is calculated by substituting the obtained Jacobian for x in the above equation (7), the value of the square error when the Jacobian is used can be obtained. Since the square error value is considered to be smaller as the Jacobian is appropriate, the square error value of the above equation (7) may be used as the evaluation value of the Jacobian. Also in this case, the one with the smallest evaluation value is selected as the optimum Jacobian, and the corresponding relationship at that time is set as the selected corresponding relationship.

ただし、図7(A)、図7(B)に示したように、画像特徴量情報と関節角情報の組を7組(広義にはロボットの自由度に対応する数の組)だけ用いた場合には、未知数の数と、互いに1次独立な方程式の数が一致することになり、図7(B)の式で表される連立方程式をそのまま解くことが可能になる。この場合、上式(6)の等号が成立するのであるから、上式(7)の自乗誤差は必ず0となる。つまり、条件を過不足なく設定した場合には、推定される複数のヤコビアンの上式(7)による自乗誤差は全て0になってしまい、その妥当性について比較することができない。そのため、この場合の評価値としては上式(7)の自乗誤差ではなく、図9に示した手法により求めた値を用いるとよい。一方、方程式の数が過剰な場合には、一般的には上式(6)の等号は成立せず、上式(7)の自乗誤差の値として0以外の有意な値を取得することができる。その場合の評価値は、図9の手法により求めてもよいし、上式(7)の自乗誤差の値を用いてもよいということになる。   However, as shown in FIGS. 7A and 7B, only 7 sets of image feature amount information and joint angle information (a set corresponding to the degree of freedom of the robot in a broad sense) were used. In this case, the number of unknowns and the number of linearly independent equations coincide with each other, and the simultaneous equations represented by the equation of FIG. 7B can be solved as they are. In this case, since the equal sign of the above equation (6) holds, the square error of the above equation (7) is always zero. That is, when the conditions are set without excess or deficiency, the square errors according to the above equation (7) of a plurality of estimated Jacobians are all 0, and their validity cannot be compared. Therefore, as an evaluation value in this case, a value obtained by the method shown in FIG. 9 may be used instead of the square error of the above equation (7). On the other hand, if the number of equations is excessive, the equal sign of the above formula (6) is not generally established, and a significant value other than 0 is acquired as the square error value of the above formula (7). Can do. In this case, the evaluation value may be obtained by the method of FIG. 9, or the square error value of the above equation (7) may be used.

2.5 処理の詳細
本実施形態の処理の流れを図10のフローチャートを用いて説明する。この処理が開始されると、まず最小評価値、及び最小評価値に対応するヤコビアンである推定ヤコビアンを初期化する(ステップS101,ステップS102)。そして、対応関係設定部210で設定される全対応関係(例えば50×3通りの対応関係)を検討範囲として、当該検討範囲の全てを検討したかを判定する(ステップS103)。
2.5 Processing Details The processing flow of this embodiment will be described with reference to the flowchart of FIG. When this process is started, first, a minimum evaluation value and an estimated Jacobian that is a Jacobian corresponding to the minimum evaluation value are initialized (step S101, step S102). Then, the study scope all correspondence (e.g. 50 × 3 of 7 types correspondence) set by the correspondence relationship setting unit 210 judges whether it has examined all of the examined range (step S103).

検討していない対応関係がある場合(ステップS103でNoの場合)には、未検討の対応関係を1つ選択し(ステップS104)、選択した対応関係での画像特徴量情報と関節角情報とを用いて上述した手法によりヤコビアンを推定する(ステップS105)。そして推定したヤコビアンを用いて評価値を算出する(ステップS106)。具体的には、図9の手法、或いは上式(7)により自乗誤差を求めればよい。   If there is a correspondence relationship that has not been examined (No in step S103), one unconsidered correspondence relationship is selected (step S104), and image feature amount information and joint angle information in the selected correspondence relationship are selected. Is used to estimate the Jacobian by the method described above (step S105). Then, an evaluation value is calculated using the estimated Jacobian (step S106). Specifically, the square error may be obtained by the method of FIG. 9 or the above equation (7).

その後、求められた評価値とその時点で保持されている最小評価値との比較処理を行う(ステップS107)。ここで、求められた評価値が最小評価値よりも小さい場合(ステップS107でYesの場合)には、最小評価値をステップS106求めた評価値で更新し(ステップS108)、推定ヤコビアンをステップS105で推定したヤコビアンで更新する(ステップS109)。一方、求められた評価値が最小評価値以上の場合(ステップS107でNoの場合)には、最小評価値、推定ヤコビアンの更新を行わずにステップS103に戻る。   Thereafter, a comparison process is performed between the obtained evaluation value and the minimum evaluation value held at that time (step S107). If the obtained evaluation value is smaller than the minimum evaluation value (Yes in step S107), the minimum evaluation value is updated with the evaluation value obtained in step S106 (step S108), and the estimated Jacobian is obtained in step S105. It is updated with the Jacobian estimated in (Step S109). On the other hand, when the obtained evaluation value is equal to or greater than the minimum evaluation value (No in step S107), the process returns to step S103 without updating the minimum evaluation value and the estimated Jacobian.

ステップS104〜ステップS109の処理を繰り返し、全ての対応関係について検討を行った場合には、ステップS103の判定でYesとなり、最小評価値か初期値から更新されているかを判定する(ステップS110)。最小評価値が更新されていない場合には、適切な対応関係を選択できなかったものとして処理を終了する。一方、最小評価値が更新されている場合には、ステップS110時点での最小評価値を与える推定ヤコビアンが最適なヤコビアンであるものとして出力するとともに、当該ヤコビアンに対応する対応関係を選択対応関係とする(ステップS111)。   If the processing of step S104 to step S109 is repeated and all correspondences are examined, the determination in step S103 is Yes, and it is determined whether the minimum evaluation value or the initial value has been updated (step S110). If the minimum evaluation value has not been updated, it is determined that an appropriate correspondence cannot be selected, and the process ends. On the other hand, if the minimum evaluation value has been updated, the estimated Jacobian that gives the minimum evaluation value at Step S110 is output as the optimal Jacobian, and the correspondence corresponding to the Jacobian is selected as the selection correspondence. (Step S111).

以上の本実施形態では、ロボット制御システムは図5に示したように、複数の画像サンプリングタイミングにおける画像特徴量情報を取得する画像特徴量情報取得部(特徴量ベクトル取得部)20と、複数の関節角サンプリングタイミングにおけるロボットの関節角情報を取得する関節角情報取得部(関節角ベクトル取得部)10と、画像サンプリングタイミングと関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での画像特徴量情報と関節角情報に基づいて、ロボット(例えば図6(A)のロボット本体310)を制御するロボット制御部200を含む。なお、複数の関節角サンプリングタイミングは、画像サンプリングタイミングと非同期のサンプリングタイミングであることが想定される。   In the above embodiment, as shown in FIG. 5, the robot control system includes an image feature amount information acquisition unit (feature amount vector acquisition unit) 20 that acquires image feature amount information at a plurality of image sampling timings, and a plurality of image feature amount information acquisition units. A joint angle information acquisition unit (joint angle vector acquisition unit) 10 that acquires joint angle information of the robot at the joint angle sampling timing, and a selection selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing A robot control unit 200 that controls a robot (for example, the robot main body 310 in FIG. 6A) based on the image feature amount information and the joint angle information in the correspondence relationship is included. Note that the plurality of joint angle sampling timings are assumed to be sampling timings asynchronous with the image sampling timing.

ここで、画像特徴量情報とは画像特徴量を表す情報であり、例えば画像特徴量を表す値を要素として持つ特徴量ベクトルであってもよい。この場合、特徴量ベクトルの要素は画像データから取得される種々の値が考えられ、エッジを表す情報、空間周波数を表す情報、画素値そのもの等であってもよい。また、関節角情報とはロボットの関節角を表す情報であり、各関節の角度を表す値を要素として持つ関節角ベクトルであってもよい。関節角ベクトルとは、狭義にはロボットの自由度に相当する数の値を、その要素として持つことになる。   Here, the image feature amount information is information representing the image feature amount, and may be, for example, a feature amount vector having a value representing the image feature amount as an element. In this case, the element of the feature vector may be various values acquired from image data, and may be information representing an edge, information representing a spatial frequency, a pixel value itself, or the like. The joint angle information is information representing the joint angle of the robot, and may be a joint angle vector having elements representing values of the angles of the respective joints. The joint angle vector has, as its elements, a value corresponding to the degree of freedom of the robot in a narrow sense.

これにより、関節角サンプリングタイミングと画像サンプリングタイミングの間(つまりは関節角情報と画像特徴量情報との間)の適切な対応関係を選択し、データ間の同期を取ることが可能になる。高性能なカメラを用いる等の条件が満たされない場合、図3(B)に示した原点ずれや図3(C)に示した揺らぎ等に起因する非同期が発生する可能性が高いため、なんらその点を考慮せずにデータ間の同期を仮定してしまうと、適切なロボット制御は困難である。そこで本実施形態では、データ間の適切な対応関係を選択した上で、選択された対応関係での画像特徴量情報及び関節角情報を用いてロボット制御を行うものとする。   Accordingly, it is possible to select an appropriate correspondence between the joint angle sampling timing and the image sampling timing (that is, between the joint angle information and the image feature amount information) and to synchronize the data. If conditions such as using a high-performance camera are not satisfied, there is a high possibility that asynchronism will occur due to the origin deviation shown in FIG. 3B or the fluctuation shown in FIG. 3C. Appropriate robot control is difficult if the synchronization between data is assumed without considering the points. Therefore, in this embodiment, it is assumed that an appropriate correspondence relationship between data is selected, and then robot control is performed using image feature amount information and joint angle information in the selected correspondence relationship.

また、ロボット制御部200は、選択対応関係での画像特徴量情報と関節角情報に基づいて、選択対応関係でのヤコビアンを推定し、推定したヤコビアンに基づいてロボットを制御してもよい。   Further, the robot control unit 200 may estimate the Jacobian in the selection correspondence based on the image feature amount information and the joint angle information in the selection correspondence, and control the robot based on the estimated Jacobian.

これにより、ヤコビアンを用いたロボット制御を行うことが可能になる。上述したように、ヤコビアンは所与の空間での微少変位(差分)を他の空間での微少変位(差分)として写像するものであるから、画像特徴量情報を2つ以上用いて画像特徴量情報の差分を求めるとともに、関節角情報を2つ以上用いて関節角情報の差分を求める必要がある。よってここでは、画像特徴量情報と関節角情報を少なくとも2組以上対応づける対応関係を選択することが想定される。   This makes it possible to perform robot control using a Jacobian. As described above, the Jacobian maps a minute displacement (difference) in a given space as a minute displacement (difference) in another space, and therefore, image feature values using two or more pieces of image feature amount information. It is necessary to obtain a difference in information and obtain a difference in joint angle information using two or more pieces of joint angle information. Therefore, it is assumed here that a correspondence relationship that associates at least two sets of image feature amount information and joint angle information is selected.

また、ロボット制御部200は、画像サンプリングタイミングと関節角サンプリングタイミングの間の複数の対応関係の各対応関係においてヤコビアンを推定し、推定したヤコビアンの評価値を求め、評価値の比較処理に基づいて、複数の対応関係の中から選択対応関係を選択してもよい。   Further, the robot control unit 200 estimates a Jacobian in each of the plurality of correspondences between the image sampling timing and the joint angle sampling timing, obtains an estimated value of the estimated Jacobian, and based on the evaluation value comparison processing The selected correspondence relationship may be selected from a plurality of correspondence relationships.

これにより、各対応関係においてヤコビアンを推定し、推定したヤコビアンの妥当性を判定することで、最適な対応関係(上記選択対応関係)を選択することが可能になる。ヤコビアンを用いたロボット制御では、ロボット制御信号(具体的には関節角をどれだけ変更すればよいかを指示する情報)がヤコビアンにより決定されることから、ヤコビアンが正確か否かはロボット制御の精度を決定する重要な指標となる。よってここでは、複数の対応関係を設定した場合に、それらについての(狭義にはその全てについての)ヤコビアンを算出し、当該ヤコビアンの評価値を用いて選択対応関係を決定するものとする。   Accordingly, it is possible to select an optimum correspondence (the above-mentioned selection correspondence) by estimating the Jacobian in each correspondence and determining the validity of the estimated Jacobian. In robot control using the Jacobian, the robot control signal (specifically, information indicating how much the joint angle should be changed) is determined by the Jacobian. Therefore, whether or not the Jacobian is accurate is determined by the robot control. It is an important indicator for determining accuracy. Therefore, here, when a plurality of correspondence relationships are set, the Jacobians (for all of them in a narrow sense) are calculated, and the selected correspondence relationship is determined using the evaluation value of the Jacobian.

また、ロボット制御部200は、画像サンプリングタイミングと関節角サンプリングタイミングの間の複数の対応関係の各対応関係において正規化方程式を作成し、作成した正規化方程式の解である最小自乗解を求めることでヤコビアンを推定してもよい。   Further, the robot controller 200 creates a normalization equation in each of the plurality of correspondences between the image sampling timing and the joint angle sampling timing, and obtains a least squares solution that is a solution of the created normalization equation. You may estimate the Jacobian.

これにより、正規化方程式を解くことでヤコビアンを推定することが可能になる。ヤコビアンはその定義より上式(1)が成り立ち、その表現形式を変えることで上式(4)等が成り立つ。この場合、上式(6)の最小自乗解が正規化方程式の解として与えられることが知られていることから、本実施形態においても正規化方程式を解くことで、最小自乗解としてヤコビアンを推定する。なお、上式(4)は上式(1)の両辺の転置行列を求めたものであるが、他の形式により上式(1)を変形し、上式(6)に相当する連立方程式を求めてもよい。   This makes it possible to estimate the Jacobian by solving the normalization equation. In the Jacobian, the above expression (1) is established from the definition, and the above expression (4) is established by changing the expression form. In this case, since it is known that the least square solution of the above equation (6) is given as a solution of the normalized equation, the Jacobian is estimated as the least square solution by solving the normalized equation in this embodiment as well. To do. The above equation (4) is obtained by obtaining the transpose matrix on both sides of the above equation (1), but the above equation (1) is modified by another form, and the simultaneous equations corresponding to the above equation (6) are obtained. You may ask for it.

また、ロボット制御部200は、推定したヤコビアンを用いて、ヤコビアンを推定したタイミングの次のタイミングである比較タイミングにおける画像特徴量情報を算出し、算出した画像特徴量情報と、画像特徴量情報取得部20で取得された比較タイミングでの画像特徴量情報とに基づいて、評価値を求めてもよい。   In addition, the robot control unit 200 uses the estimated Jacobian to calculate image feature amount information at a comparison timing that is a timing next to the timing at which the Jacobian is estimated, and obtains the calculated image feature amount information and image feature amount information. The evaluation value may be obtained based on the image feature amount information at the comparison timing acquired by the unit 20.

ここで、比較タイミングとはヤコビアンの推定タイミングの次のタイミングを表し、例えば図9のA1に相当する。推定したヤコビアンを、当該ヤコビアンに対応するタイミングでの関節角情報の差分値(Δθ)に作用させることで、当該タイミングと次のタイミングの間での画像特徴量情報の差分値(Δf)を推定することができる。   Here, the comparison timing represents a timing next to the Jacobian estimation timing, and corresponds to, for example, A1 in FIG. By causing the estimated Jacobian to act on the difference value (Δθ) of the joint angle information at the timing corresponding to the Jacobian, the difference value (Δf) of the image feature amount information between the timing and the next timing is estimated. can do.

これにより、図9に示した手法により推定したヤコビアンの評価値を求めることが可能になる。A1で取得された画像特徴量情報はいわば実測値であり、B2とB3の関節角情報の差分に対してヤコビアンを作用させて得られた画像特徴量情報はいわば推定値である。ヤコビアンの精度が高いほど、推定値は実測値に近くなると考えられるため、実測値と推定値の差に応じて評価値を決定すればよい。例えば、値が小さいほど評価が高くなるような評価値を用いるのであれば、ヤコビアンの評価値は実測値と推定値の差を表す値(例えば画像特徴量情報(特徴量ベクトル)の各要素の差の自乗和等を評価値とすればよい。この場合、未知数の数に対して条件式が過不足ない場合(図7(B)に示した場合等)であっても、適切に評価値を求めることができる。   Thereby, it is possible to obtain the evaluation value of the Jacobian estimated by the method shown in FIG. The image feature amount information acquired in A1 is an actual measurement value, and the image feature amount information obtained by applying Jacobian to the difference between the joint angle information of B2 and B3 is an estimated value. As the accuracy of the Jacobian is higher, the estimated value is considered to be closer to the actually measured value. Therefore, the evaluation value may be determined according to the difference between the actually measured value and the estimated value. For example, if an evaluation value is used such that the smaller the value is, the higher the evaluation is, the Jacobian evaluation value is a value representing the difference between the actual measurement value and the estimated value (for example, each element of the image feature amount information (feature amount vector)). The sum of squares of the differences may be used as the evaluation value, in this case, even if the conditional expression is not excessive or insufficient with respect to the number of unknowns (such as the case shown in FIG. 7B), the evaluation value is appropriately set. Can be requested.

また、ロボット制御部200は、推定したヤコビアンを用いて、正規化方程式の自乗誤差を評価値として求めてもよい。   Further, the robot control unit 200 may obtain the square error of the normalized equation as an evaluation value using the estimated Jacobian.

これにより、上式(7)により表される自乗誤差をヤコビアンの評価値とすることが可能になる。複数のヤコビアンは全て最小自乗解として求められるものであるが、当該最小自乗解を上式(7)に代入した場合の自乗誤差の値についてはヤコビアンに応じて異なるものである。この場合、自乗誤差の値が小さいほど当該ヤコビアンの推定精度は高いと考えることができるため、上式(7)の自乗誤差の値をヤコビアンの評価値とすることができる。なおこの場合にも、評価値の値が小さいほど、ヤコビアンの妥当性が高いということになる。   As a result, the square error expressed by the above equation (7) can be used as the Jacobian evaluation value. The plurality of Jacobians are all obtained as least squares solutions, but the value of the square error when the least squares solution is substituted into the above equation (7) differs depending on the Jacobian. In this case, it can be considered that the smaller the square error value, the higher the estimation accuracy of the Jacobian, and therefore the square error value of the above equation (7) can be used as the Jacobian evaluation value. In this case as well, the smaller the evaluation value, the higher the validity of the Jacobian.

また、ロボット制御部200は、画像特徴量情報の差分により表されるベクトル又は行列をFとし、関節角情報の差分により表される行列をBとし、ヤコビアンを表すベクトル又は行列をJとして、F=BJの最小自乗解を与える正規化方程式を作成し、行列Bに対して、BBの固有ベクトルを列ベクトルとする行列をVとし、BBの固有ベクトルを前記列ベクトルとする行列をUとし、BBの固有値λの逆数を対角要素とする行列をdiag[1/λ]とした場合に、B=Vdiag[1/λ]V、又はB=BUdiag[1/λ]Uにより、行列Bの一般化逆行列Bを求め、求めた一般化逆行列Bから、J=BFに従って行列Jを求めることでヤコビアンを推定してもよい。 Further, the robot control unit 200 sets F as a vector or matrix represented by the difference in image feature information, B as a matrix represented by the difference in joint angle information, and J as a vector or matrix representing Jacobian. = creates a normal equation which gives the least squares solution for BJ, for matrices B, and eigenvectors of B T B the matrix of a column vector and V, and a matrix of eigenvectors of BB T and the column vectors and U , Where B + = Vdiag [1 / λ] V T B T or B + = B T Udiag [, where diag [1 / λ] is a matrix whose diagonal element is the inverse of the eigenvalue λ of B T B the 1 / λ] U T, generalized determined inverse matrix B + of the matrix B, and the obtained generalized inverse matrix B +, may be estimated Jacobian by obtaining matrix J in accordance with J = B + F.

これにより、一般化逆行列Bを求める際に、上式(10)により求める場合と異なり一般的な逆行列演算を行う必要がなくなり、行列Bのランクによらず安定して(ロバストに)処理を行うことが可能になる。また、上式(12)の特異値分解を行う手法と比較した場合、上式(12)では正規直交基底U,Vの両方を演算に用いる必要があるが、本実施形態の手法であればどちらか一方で逆ヤコビアンの演算が可能である。画像特徴量情報と関節角情報の組を何組用いるか等に応じてU,Vの大きさが決定されるが、本実施形態の手法によればそれらの状況に合わせて演算量の少ない正規直交基底を適宜選択することができるため、上式(12)に比べて高速に一般化逆行列Bを求めることが可能になる。 Thus, when obtaining the generalized inverse matrix B + , unlike the case of obtaining by the above equation (10), it is not necessary to perform a general inverse matrix operation, and it is stable (robustly) regardless of the rank of the matrix B. Processing can be performed. Further, when compared with the method of performing singular value decomposition of the above equation (12), in the above equation (12), it is necessary to use both orthonormal bases U and V for the calculation. Either one can perform inverse Jacobian operations. The sizes of U and V are determined according to how many sets of image feature amount information and joint angle information are used. According to the method of the present embodiment, a normal amount with a small amount of calculation according to the situation. Since the orthogonal basis can be appropriately selected, the generalized inverse matrix B + can be obtained at a higher speed than in the above equation (12).

また、画像特徴量情報取得部20における画像サンプリングタイミングのサンプリング周波数をf、関節角情報取得部10における関節角サンプリングタイミングのサンプリング周波数をfとした場合に、関節角情報取得部10は、f≧fを満たすサンプリング周波数で関節角情報を取得してもよい。 When the sampling frequency of the image sampling timing in the image feature amount information acquisition unit 20 is f A and the sampling frequency of the joint angle sampling timing in the joint angle information acquisition unit 10 is f B , the joint angle information acquisition unit 10 The joint angle information may be acquired at a sampling frequency satisfying f B ≧ f A.

これにより、関節角情報が画像特徴量情報に比べて高い頻度で取得される場合に本実施形態の処理を行うことが可能になる。この場合、数の少ない画像サンプリングタイミングを基準として、当該画像サンプリングタイミングと対応関係を持ちうる複数の関節角サンプリングタイミングを探索することで最適な対応関係を選択することで効率的に処理を行うことが可能となる。揺らぎの範囲が狭い場合には、1つの画像特徴量情報に対応する関節角情報の数が少ない(上述した図3(C)の例であれば1つの画像特徴量情報に対しては、3つの関節角情報を考慮すればよい)ため、処理対象とする必要のない関節角サンプリングタイミングについては処理をスキップすることが可能となるためである。   As a result, it is possible to perform the processing of the present embodiment when the joint angle information is acquired more frequently than the image feature amount information. In this case, processing is efficiently performed by selecting an optimum correspondence by searching for a plurality of joint angle sampling timings that can have a correspondence with the image sampling timing with reference to a small number of image sampling timings. Is possible. When the range of fluctuation is narrow, the number of joint angle information corresponding to one piece of image feature amount information is small (in the above example of FIG. 3C, three pieces of information are obtained for one piece of image feature amount information. This is because it is possible to skip processing for joint angle sampling timings that do not need to be processed.

また、以上の本実施形態は上記のロボット制御システムを含むロボットに適用できる。   Further, the present embodiment described above can be applied to a robot including the above robot control system.

ここでのロボット(ロボットシステム)は、図6(A)に示したようにロボット本体310と、制御装置300(上記のロボット制御システムに相当)により構成されてもよい。なお、ロボット本体310と制御装置300は、図6(B)に示したように一体として構成されてもよい。また、本実施形態におけるロボット制御とは、狭義にはアームの制御であってもよい。   The robot (robot system) here may be constituted by a robot main body 310 and a control device 300 (corresponding to the robot control system described above) as shown in FIG. Note that the robot body 310 and the control device 300 may be configured integrally as shown in FIG. Further, the robot control in the present embodiment may be arm control in a narrow sense.

なお、本実施形態のロボット制御システム等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態のロボット制御システム等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。   Note that the robot control system or the like according to the present embodiment may realize part or most of the processing by a program. In this case, the robot control system or the like of the present embodiment is realized by a processor such as a CPU executing a program. Specifically, a program stored in a non-temporary information storage medium is read, and a processor such as a CPU executes the read program. Here, the information storage medium (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (DVD, CD, etc.), HDD (hard disk drive), or memory (card type). It can be realized by memory, ROM, etc. A processor such as a CPU performs various processes according to the present embodiment based on a program (data) stored in the information storage medium. That is, in the information storage medium, a program for causing a computer (an apparatus including an operation unit, a processing unit, a storage unit, and an output unit) to function as each unit of the present embodiment (a program for causing the computer to execute processing of each unit) Is memorized.

3.第2の実施形態
本実施形態では解析的に求めたロボットヤコビアンに基づいて正規化方程式に重み付けを行い、ヤコビアンの推定精度を向上させる実施例について説明する。
3. Second Embodiment In the present embodiment, an example will be described in which a normalization equation is weighted based on analytically obtained robot Jacobian to improve Jacobian estimation accuracy.

3.1 ロボットヤコビアン
第1の実施形態で説明したように、ヤコビアンの推定には画像特徴量情報と関節角情報の組を複数対応づける必要がある。これは言い換えれば、所与のタイミングでのヤコビアンを求める際に、ある程度の時間(例えば7タイミング前までのデータを用い、画像サンプリングタイミングが10ミリ秒周期であれば70ミリ秒)のデータを用いる必要があるということになる。この間、ヤコビアンが一定であれば、推定されるヤコビアンの精度に問題はないが、上記時間の中でもロボット姿勢の変動等によりヤコビアンは変化しうる。一定時間におけるデータを用い1つのヤコビアンを求めようとするのに、その間でヤコビアンが変動しうるのであれば、推定されたヤコビアンの精度に問題が生じうる。しかし、第1の実施形態ではこの点について特に考慮されてはいない。そこで第2の実施形態ではロボットヤコビアンを用いて精度向上を図るものとする。
3.1 Robot Jacobian As described in the first embodiment, for the estimation of the Jacobian, it is necessary to associate a plurality of sets of image feature amount information and joint angle information. In other words, when obtaining the Jacobian at a given timing, data of a certain amount of time (for example, data up to 7 timings before and 70 milliseconds when the image sampling timing is a 10 ms cycle) is used. It will be necessary. During this time, if the Jacobian is constant, there is no problem with the accuracy of the estimated Jacobian, but the Jacobian can change due to a change in the robot posture during the above time. If one Jacobian is to be obtained using data at a certain time and the Jacobian can vary between them, a problem may occur in the accuracy of the estimated Jacobian. However, this point is not particularly considered in the first embodiment. Therefore, in the second embodiment, accuracy is improved by using a robot Jacobian.

まずロボットヤコビアンについて説明する。ヤコビアンとは、多変数の非線形ベクトル関数を所与の点の近傍で展開したときの1次の係数を表すものである。つまりヤコビアンとは、ある座標系での微小変位を、非線形ベクトル関数で写像される座標系にどのように写像されるか線形近似を与えるものということもできる。   First, the robot Jacobian will be described. Jacobian represents a first-order coefficient when a multivariable nonlinear vector function is expanded in the vicinity of a given point. That is, Jacobian can be said to give a linear approximation of how a small displacement in a certain coordinate system is mapped to a coordinate system mapped by a nonlinear vector function.

よって、非線形ベクトル関数(及びそれにより写像される座標系)は種々考えられ、ヤコビアンとしては関節角空間での微少変位を手先位置空間へ写像するロボットヤコビアン(図1(A))を考えることもできるし、関節角空間での微少変位を画像特徴量空間へ写像する画像特徴量ヤコビアン(図1(B))を考えることもできる。なお、特徴量情報として画像特徴量情報を用いている以上、第1の実施形態の手法により求めているヤコビアンは画像特徴量ヤコビアンである。   Therefore, various nonlinear vector functions (and coordinate systems mapped thereby) can be considered, and as a Jacobian, a robot Jacobian (FIG. 1 (A)) that maps a minute displacement in a joint angle space to a hand position space can be considered. It is also possible to consider an image feature amount Jacobian (FIG. 1B) that maps a minute displacement in the joint angle space to the image feature amount space. Note that as long as image feature amount information is used as feature amount information, the Jacobian obtained by the method of the first embodiment is an image feature amount Jacobian.

ここで、ビジュアルサーボ等のように画像特徴量情報に基づいてロボットの手先姿勢を制御することができるのは、画像特徴量情報と手先姿勢の間での変換処理が可能である(言い換えれば一方を他方に写像する関数を定義することができる)ということである。つまり、関節角空間での微少変位を画像特徴量空間に写像することを考えた場合、直接写像する(画像特徴量ヤコビアンJθ―fによる変換)ものと、関節角空間での微少変位を手先姿勢空間に写像した上で(ロボットヤコビアンJθ―pによる変換)、手先姿勢空間での微少変位を画像特徴量空間に写像する(便宜的にヤコビアンJp−fと表記する)ものとは同等のものと考えることができ、下式(16)が成り立つ。つまり、画像特徴量ヤコビアンは、ロボットヤコビアンを用いて図11に示したように分解することが可能である。 Here, it is possible to control the hand posture of the robot based on the image feature amount information as in visual servo, etc., because conversion processing between the image feature amount information and the hand posture is possible (in other words, A function that maps to the other). In other words, when mapping the minute displacement in the joint angle space to the image feature amount space, direct mapping (conversion by the image feature amount Jacobian J θ-f ) and the minute displacement in the joint angle space on the hand on mapped onto the pose space (converted by a robot Jacobian J θ-p), equivalent to what a minute displacement in the hand pose space maps to the image feature amount space (referred to as convenience Jacobian J p-f) The following formula (16) is established. That is, the image feature amount Jacobian can be decomposed as shown in FIG. 11 using the robot Jacobian.

θ―f=Jθ―pp−f ・・・・・(16)
ここで、ビジュアルサーボ等においては、カメラの位置は通常固定されるものであり、ロボットの手先姿勢が同一であれば画像特徴量情報も同一のものとできることが一般的である。つまり、ヤコビアン推定に用いる情報の取得期間(上記例では70ミリ秒)で画像ヤコビアンJθ―fが変化する場合には、ロボットヤコビアンJθ―pの変化が支配的であると考えられる。
J θ-f = J θ- p J p-f ····· (16)
Here, in the visual servo or the like, the position of the camera is normally fixed, and it is general that the image feature amount information can be the same if the hand posture of the robot is the same. That is, when the image Jacobian J θ-f changes during the acquisition period of information used for Jacobian estimation (70 milliseconds in the above example), it is considered that the change of the robot Jacobian J θ-p is dominant.

そして、ロボットヤコビアンJθ―pは、ロボットが関節角に対して理論通りのリンク径として応答をする場合には、解析に求めることが可能であることが知られている。つまり本実施形態では、解析的に求めたロボットヤコビアンに基づいて、画像ヤコビアンJθ―fの変動度合いを推定し、推定結果に応じて重み付けをすることで画像ヤコビアンJθ―fの推定精度を向上させる。なお、ロボットヤコビアンを解析的に求めるための手法としては種々のものが知られているため、詳細な説明は省略する。実際のロボットは理想的な動作を行うものではなく、解析的に求められるロボットヤコビアンには誤差が生じうるが、本実施形態でのロボットヤコビアンは重み係数の設定を行うためのものであり、ロボットヤコビアンに誤差が生じたとしても特に問題とはならない。 It is known that the robot Jacobian J θ-p can be obtained by analysis when the robot responds to the joint angle as a theoretical link diameter. That is, in the present embodiment, the degree of fluctuation of the image Jacobian J θ-f is estimated based on the analytically obtained robot Jacobian, and the estimation accuracy of the image Jacobian J θ-f is increased by weighting according to the estimation result. Improve. Since various methods for analytically obtaining the robot Jacobian are known, detailed description is omitted. An actual robot does not perform an ideal motion, and an error may occur in the robot Jacobian that is analytically determined. However, the robot Jacobian in this embodiment is for setting a weighting coefficient, and the robot Even if an error occurs in the Jacobian, it is not a problem.

3.2 重み付けした正規化方程式
本実施形態では、ロボットヤコビアンを用いて重み係数を算出し、当該重み係数を用いて正規化方程式を作成するものとする。具体的には、対応関係設定部210により対応関係が設定された場合には、関節角情報の差分値を用いて、各差分ベクトル(関節角ベクトルの差分と、画像特徴量ベクトルの差分)に対応するロボットヤコビアンを解析的に求める。
3.2 Weighted Normalization Equation In this embodiment, a weighting coefficient is calculated using a robot Jacobian, and a normalization equation is created using the weighting coefficient. Specifically, when the correspondence relationship is set by the correspondence relationship setting unit 210, each difference vector (the difference between the joint angle vectors and the difference between the image feature amount vectors) is used using the difference value of the joint angle information. Find the corresponding robot Jacobian analytically.

そして所与の差分ベクトルに対応するロボットヤコビアンを基準ロボットヤコビアンとする。各差分ベクトルに対する重み付けは、当該差分ベクトルに対応するロボットヤコビアンと、基準ロボットヤコビアンとの差異により設定すればよい。差異が大きいほど、ロボットヤコビアンの変動が大きいということであるから、対応する差分ベクトルについての重みは小さくなる(処理結果への当該差分ベクトルの寄与が小さくなる)ように設定する。   The robot Jacobian corresponding to the given difference vector is set as the reference robot Jacobian. The weighting for each difference vector may be set by the difference between the robot Jacobian corresponding to the difference vector and the reference robot Jacobian. The larger the difference is, the larger the variation of the robot Jacobian is. Therefore, the weight for the corresponding difference vector is set to be small (the contribution of the difference vector to the processing result is small).

具体的には、図7(A)の(1)のロボットヤコビアンを基準とした場合に、(1)〜(7)のそれぞれについて下式(17)により相違度を求め、下式(18)により正規化のための値を求める。そして重み係数としては下式(19)等の値を用いればよい。なお、(1)同士を比較する場合には、相違度は0となるため重み係数は1となる。また、ロボットヤコビアン同士の相違度が大きいほど、重み係数は0に近づく。   Specifically, when the robot Jacobian of (1) in FIG. 7A is used as a reference, the degree of difference is obtained by the following expression (17) for each of (1) to (7), and the following expression (18) To obtain a value for normalization. A value such as the following formula (19) may be used as the weighting factor. When comparing (1), the degree of difference is 0, so the weighting factor is 1. Further, the weight coefficient approaches 0 as the degree of difference between the robot Jacobians increases.

Err(J,J)=Σ(abs(J(k)−J(k))) ・・・・・(17)
N=sqrt(Σ(Err(J,J))) ・・・・・(18)
=1.0−abs(Err(J,J))/N ・・・・・(19)
このようにすれば、図7(B)で示した連立方程式の代わりに、図12に示した式を用いることが可能になる。図12の式が得られた後は、第1の実施形態と同様に当該式の最小自乗解を、正規化方程式の解として求めればよい。具体的には、重み付けがされた後のΔθにより決定される行列Bに対して、一般化逆行列を求める処理を行えばよい。
Err (J i , J j ) = Σ k (abs (J i (k) −J j (k))) (17)
N = sqrt (Σ j (Err (J 0 , J j )) 2 ) (18)
w i = 1.0−abs (Err (J 0 , J i )) / N (19)
In this way, the equation shown in FIG. 12 can be used instead of the simultaneous equations shown in FIG. After the equation of FIG. 12 is obtained, the least square solution of the equation may be obtained as a solution of the normalized equation as in the first embodiment. Specifically, a process for obtaining a generalized inverse matrix may be performed on the matrix B determined by Δθ after weighting.

3.3 処理の詳細
本実施形態の処理の流れを図13のフローチャートを用いて説明する。図13から明らかなように、ステップS201〜ステップS204は、図10のステップS101〜ステップS104と同様であり、ステップS208〜ステップS213は、図10のステップS106〜S111と同様であるため詳細な説明は省略する。
3.3 Processing Details The processing flow of this embodiment will be described with reference to the flowchart of FIG. As is clear from FIG. 13, steps S201 to S204 are the same as steps S101 to S104 in FIG. 10, and steps S208 to S213 are the same as steps S106 to S111 in FIG. Is omitted.

本実施形態では、ステップS204で1つの対応関係が選択された後に、その際の情報を用いて解析的にロボットヤコビアンを計算する(ステップS205)。そして上式(17)〜(19)等の手法により、ロボットヤコビアンに基づいて重み係数を算出する(ステップS206)。そして図12に示したように重み係数を用いて正規化方程式を作成し、当該正規化方程式の解である最小自乗解としてヤコビアンを推定する(ステップS207)。   In this embodiment, after one correspondence is selected in step S204, the robot Jacobian is calculated analytically using the information at that time (step S205). Then, a weighting coefficient is calculated based on the robot Jacobian by a method such as the above formulas (17) to (19) (step S206). Then, as shown in FIG. 12, a normalization equation is created using the weighting coefficient, and a Jacobian is estimated as a least squares solution that is a solution of the normalization equation (step S207).

ヤコビアンが推定された後の処理は第1の実施形態と同様である。   The processing after the Jacobian is estimated is the same as in the first embodiment.

以上の本実施形態では、ロボット制御部200は、ロボットのエンドポイント位置と関節角情報とを対応づけるロボットヤコビアンを求め、求めたロボットヤコビアンに基づいて正規化方程式を作成してもよい。また、ロボット制御部200は、ロボットヤコビアンを解析的に求め、求めた前記ロボットヤコビアンに基づいて前記正規化方程式を作成してもよい。   In the present embodiment described above, the robot control unit 200 may obtain a robot Jacobian that associates the end point position of the robot with the joint angle information, and may create a normalization equation based on the obtained robot Jacobian. The robot control unit 200 may analytically obtain a robot Jacobian and create the normalization equation based on the obtained robot Jacobian.

これにより、(狭義には解析的に)求めたロボットヤコビアンに基づいて正規化方程式を作成し、当該正規化方程式に基づいて画像特徴量ヤコビアンを推定することが可能になる。上述したように、画像特徴量ヤコビアンの推定に用いるデータはある程度の期間にわたって取得されたものを用いる必要があり、当該期間内で画像特徴量ヤコビアンが変化している場合には、その変化したタイミングに対応する差分値(画像特徴量情報及び関節角情報の差分値)は画像特徴量ヤコビアンの推定において精度低下等の悪影響を及ぼす可能性がある。上述したように、画像特徴量ヤコビアンを、ロボットヤコビアンを含む複数の項の積として表現した場合、画像特徴量ヤコビアンの変動度合いは主としてロボットヤコビアンの変動度合いにより表される。つまり、ロボットヤコビアンの変動が大きいほど、その際の差分値の画像特徴量ヤコビアンの推定処理での寄与を小さくすることで、より精度の高い処理が可能になる。   This makes it possible to create a normalization equation based on the obtained robot Jacobian (analytical in a narrow sense) and estimate the image feature amount Jacobian based on the normalization equation. As described above, it is necessary to use the data acquired for estimating the image feature amount Jacobian over a certain period, and when the image feature amount Jacobian has changed within the period, the timing of the change is used. The difference value corresponding to (the difference value between the image feature amount information and the joint angle information) may have an adverse effect such as a decrease in accuracy in the estimation of the image feature amount Jacobian. As described above, when the image feature amount Jacobian is expressed as a product of a plurality of terms including the robot Jacobian, the variation degree of the image feature amount Jacobian is mainly represented by the variation degree of the robot Jacobian. That is, the greater the fluctuation of the robot Jacobian, the smaller the contribution of the difference value in the image feature amount Jacobian estimation process at that time, thereby enabling more accurate processing.

また、ロボット制御部200は、基準タイミング(例えば上式(19)でのタイミング0)でのロボットヤコビアンと、所与のタイミング(上式(19)でのタイミングiであり、狭義にはi=0〜7)でのロボットヤコビアンとの比較処理に基づいて、当該所与のタイミングでの画像特徴量情報の差分値(Δf)と関節角情報の差分値(Δθ)の組についての重み付けを設定し、設定された重み付けを用いて正規化方程式を作成してもよい。   Further, the robot control unit 200 includes a robot Jacobian at a reference timing (for example, timing 0 in the above equation (19)) and a given timing (timing i in the above equation (19), i == in the narrow sense. 0-7) Based on the comparison processing with the robot Jacobian, the weighting is set for the set of the difference value (Δf) of the image feature amount information and the difference value (Δθ) of the joint angle information at the given timing. The normalization equation may be created using the set weighting.

これにより、重み付けを用いて正規化方程式を作成することで、画像特徴量ヤコビアンの推定精度を向上させることが可能になる。重み付けの例としては、上式(17)〜(19)により求められた重み係数を用いてもよく、その場合図12に示した式の最小自乗解を解くことでヤコビアンを求めることになる。なお、ロボットヤコビアンの変動が大きいほど重み係数の値が小さくなればよく、その具体的な算出手法は上式(17)〜(19)に限定されるものではない。   Accordingly, it is possible to improve the estimation accuracy of the image feature amount Jacobian by creating a normalization equation using weighting. As an example of weighting, the weighting coefficient obtained by the above equations (17) to (19) may be used. In that case, the Jacobian is obtained by solving the least squares solution of the equation shown in FIG. It should be noted that the larger the fluctuation of the robot Jacobian, the smaller the value of the weighting factor is, and the specific calculation method is not limited to the above equations (17) to (19).

10 関節角ベクトル取得部、20 特徴量ベクトル取得部、30 記憶部、
31 関節角ベクトル列記憶部、33 特徴量ベクトル列記憶部、
35 目標特徴量記憶部、200 ロボット制御部、210 対応関係設定部、
220 ヤコビアン推定部、221 分散行列算出部、222 固有値算出部、
223 逆数算出部、224 固有ベクトル行列算出部、
225−1,225−2 転置行列算出部、226 行列・ベクトル積算出部、
227−1,227−2 行列積算出部、230 評価処理部、
240 逆ヤコビアン算出部、250 目標差分ベクトル算出部、
260 行列・ベクトル積算出部、270 制御データ出力部、300 制御装置、
310 ロボット本体、320 アーム
10 joint angle vector acquisition unit, 20 feature vector acquisition unit, 30 storage unit,
31 joint angle vector sequence storage unit, 33 feature vector sequence storage unit,
35 target feature amount storage unit, 200 robot control unit, 210 correspondence setting unit,
220 Jacobian estimator, 221 variance matrix calculator, 222 eigenvalue calculator,
223 inverse calculation unit, 224 eigenvector matrix calculation unit,
225-1, 225-2 transpose matrix calculation unit, 226 matrix / vector product calculation unit,
227-1, 227-2 matrix product calculation unit, 230 evaluation processing unit,
240 inverse Jacobian calculation unit, 250 target difference vector calculation unit,
260 matrix / vector product calculation unit, 270 control data output unit, 300 control device,
310 robot body, 320 arms

Claims (16)

複数の画像サンプリングタイミングにおける画像特徴量情報を取得する画像特徴量情報取得部と、
複数の関節角サンプリングタイミングであって、前記画像サンプリングタイミングと非同期のサンプリングタイミングにおいて、ロボットの関節角情報を取得する関節角情報取得部と、
前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での前記画像特徴量情報と前記関節角情報に基づいて、前記ロボットを制御するロボット制御部と、
を含むことを特徴とするロボット制御システム。
An image feature amount information acquisition unit for acquiring image feature amount information at a plurality of image sampling timings;
A joint angle information acquisition unit that acquires joint angle information of the robot at a plurality of joint angle sampling timings at a sampling timing asynchronous with the image sampling timing;
A robot control unit that controls the robot based on the image feature amount information and the joint angle information in a selection correspondence selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing When,
A robot control system comprising:
請求項1において、
前記ロボット制御部は、
前記選択対応関係での前記画像特徴量情報と前記関節角情報に基づいて、前記選択対応関係でのヤコビアンを推定し、推定した前記ヤコビアンに基づいて前記ロボットを制御することを特徴とするロボット制御システム。
In claim 1,
The robot controller is
A robot control characterized in that a Jacobian in the selection correspondence is estimated based on the image feature amount information and the joint angle information in the selection correspondence, and the robot is controlled based on the estimated Jacobian. system.
請求項2において、
前記ロボット制御部は、
前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の前記対応関係の各対応関係において前記ヤコビアンを推定し、推定した前記ヤコビアンの評価値を求め、
前記評価値の比較処理に基づいて、複数の前記対応関係の中から前記選択対応関係を選択することを特徴とするロボット制御システム。
In claim 2,
The robot controller is
Estimating the Jacobian in each of the plurality of correspondences between the image sampling timing and the joint angle sampling timing, and obtaining an estimated value of the estimated Jacobian,
The robot control system, wherein the selection correspondence is selected from a plurality of the correspondences based on the evaluation value comparison process.
請求項3において、
前記ロボット制御部は、
前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の前記対応関係の各対応関係において正規化方程式を作成し、作成した前記正規化方程式の解である最小自乗解を求めることで前記ヤコビアンを推定することを特徴とするロボット制御システム。
In claim 3,
The robot controller is
A normalization equation is created in each of the plurality of correspondence relationships between the image sampling timing and the joint angle sampling timing, and the Jacobian is obtained by obtaining a least square solution that is a solution of the created normalization equation. A robot control system characterized by estimating.
請求項4において、
前記ロボット制御部は、
推定した前記ヤコビアンを用いて、前記ヤコビアンを推定したタイミングの次のタイミングである比較タイミングにおける前記画像特徴量情報を算出し、算出した前記画像特徴量情報と、前記画像特徴量情報取得部で取得された前記比較タイミングでの前記画像特徴量情報とに基づいて、前記評価値を求めることを特徴とするロボット制御システム。
In claim 4,
The robot controller is
Using the estimated Jacobian, the image feature amount information at a comparison timing that is a timing next to the timing at which the Jacobian is estimated is calculated, and the calculated image feature amount information and the image feature amount information acquisition unit acquire The robot control system characterized in that the evaluation value is obtained based on the image feature amount information at the comparison timing.
請求項4において、
前記ロボット制御部は、
推定した前記ヤコビアンを用いて、前記正規化方程式の自乗誤差を前記評価値として求めることを特徴とするロボット制御システム。
In claim 4,
The robot controller is
A robot control system characterized in that a square error of the normalization equation is obtained as the evaluation value using the estimated Jacobian.
請求項4乃至6のいずれかにおいて、
前記ロボット制御部は、
前記画像特徴量情報の差分により表されるベクトル又は行列をFとし、前記関節角情報の差分により表される行列をBとし、前記ヤコビアンを表すベクトル又は行列をJとして、
F=BJ ・・・・・式(1)
の最小自乗解を与える前記正規化方程式を作成し、
前記行列Bに対して、BBの前記固有ベクトルを列ベクトルとする行列をVとし、BBの前記固有ベクトルを前記列ベクトルとする行列をUとし、BBの固有値λの逆数を対角要素とする行列をdiag[1/λ]とした場合に、
=Vdiag[1/λ]V ・・・・・式(2)
又は
=BUdiag[1/λ]U ・・・・・式(3)
により、前記行列Bの前記一般化逆行列Bを求め、求めた前記一般化逆行列Bと前記式(1)から、
J=BF ・・・・・式(4)
に従って前記行列Jを求めることで前記ヤコビアンを推定することを特徴とするロボット制御システム。
In any one of Claims 4 thru | or 6.
The robot controller is
The vector or matrix represented by the difference between the image feature information is F, the matrix represented by the joint angle information difference is B, and the vector or matrix representing the Jacobian is J.
F = BJ Equation (1)
Create the normalized equation that gives the least squares solution of
With respect to the matrix B, and a matrix of the eigenvectors of B T B column vector and V, and matrix with the column vector of the eigenvectors of BB T and U, diagonal the inverse of the eigenvalue λ of B T B When the matrix as an element is diag [1 / λ],
B + = Vdiag [1 / λ] V T B T Equation (2)
Or B + = B T Udiag [1 / λ] U T (3)
To obtain the generalized inverse matrix B + of the matrix B, and from the obtained generalized inverse matrix B + and the equation (1),
J = B + F (4)
The Jacobian is estimated by obtaining the matrix J in accordance with the robot control system.
請求項4乃至7のいずれかにおいて、
前記ロボット制御部は、
前記ロボットのエンドポイント位置と前記関節角情報とを対応づけるロボットヤコビアンを求め、求めた前記ロボットヤコビアンに基づいて前記正規化方程式を作成することを特徴とするロボット制御システム。
In any of claims 4 to 7,
The robot controller is
A robot control system characterized in that a robot Jacobian that associates the end point position of the robot with the joint angle information is obtained, and the normalization equation is created based on the obtained robot Jacobian.
請求項8において、
前記ロボット制御部は、
基準タイミングでの前記ロボットヤコビアンと、所与のタイミングでの前記ロボットヤコビアンとの比較処理に基づいて、前記所与のタイミングでの前記画像特徴量情報の差分値と前記関節角情報の差分値の組についての重み付けを設定し、設定された重み付けを用いて前記正規化方程式を作成することを特徴とするロボット制御システム。
In claim 8,
The robot controller is
Based on the comparison process between the robot Jacobian at the reference timing and the robot Jacobian at the given timing, the difference value of the image feature amount information and the difference value of the joint angle information at the given timing A robot control system characterized by setting a weight for a set and creating the normalization equation using the set weight.
請求項8又は9において、
前記ロボット制御部は、
前記ロボットヤコビアンを解析的に求め、求めた前記ロボットヤコビアンに基づいて前記正規化方程式を作成することを特徴とするロボット制御システム。
In claim 8 or 9,
The robot controller is
A robot control system characterized by analytically obtaining the robot Jacobian and creating the normalization equation based on the obtained robot Jacobian.
請求項1乃至10のいずれかにおいて、
前記画像特徴量情報取得部における前記画像サンプリングタイミングのサンプリング周波数をf、前記関節角情報取得部における前記関節角サンプリングタイミングの前記サンプリング周波数をfとした場合に、
前記関節角情報取得部は、
≧fを満たす前記サンプリング周波数で前記関節角情報を取得することを特徴とするロボット制御システム。
In any one of Claims 1 thru | or 10.
When the sampling frequency of the image sampling timing in the image feature amount information acquisition unit is f A , and the sampling frequency of the joint angle sampling timing in the joint angle information acquisition unit is f B ,
The joint angle information acquisition unit
The robot control system, wherein the joint angle information is acquired at the sampling frequency satisfying f B ≧ f A.
複数の画像サンプリングタイミングにおける画像特徴量情報を取得する画像特徴量情報取得部と、
複数の関節角サンプリングタイミングにおけるロボットの関節角情報を取得する関節角情報取得部と、
前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での前記画像特徴量情報と前記関節角情報に基づいて、前記ロボットを制御するロボット制御部と、
を含むことを特徴とするロボット制御システム。
An image feature amount information acquisition unit for acquiring image feature amount information at a plurality of image sampling timings;
A joint angle information acquisition unit for acquiring joint angle information of the robot at a plurality of joint angle sampling timings;
A robot control unit that controls the robot based on the image feature amount information and the joint angle information in a selection correspondence selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing When,
A robot control system comprising:
請求項1乃至12のいずれかに記載のロボット制御システムを含むことを特徴とするロボット。   A robot comprising the robot control system according to claim 1. 複数の画像サンプリングタイミングにおける画像特徴量情報を取得し、
複数の関節角サンプリングタイミングであって、前記画像サンプリングタイミングと非同期のサンプリングタイミングにおいて、ロボットの関節角情報を取得し、
前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での前記画像特徴量と前記関節角情報に基づいて、前記ロボットを制御することを特徴とするロボット制御方法。
Obtain image feature information at multiple image sampling timings,
It is a plurality of joint angle sampling timing, and at the sampling timing asynchronous with the image sampling timing, acquires the robot joint angle information,
The robot is controlled based on the image feature amount and the joint angle information in a selection correspondence selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing. Robot control method.
複数の画像サンプリングタイミングにおける画像特徴量情報を取得する画像特徴量情報取得部と、
複数の関節角サンプリングタイミングであって、前記画像サンプリングタイミングと非同期のサンプリングタイミングにおいて、ロボットの関節角情報を取得する関節角情報取得部と、
前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での前記画像特徴量と前記関節角情報に基づいて、前記ロボットを制御するロボット制御部として、
コンピューターを機能させることを特徴とするプログラム。
An image feature amount information acquisition unit for acquiring image feature amount information at a plurality of image sampling timings;
A joint angle information acquisition unit that acquires joint angle information of the robot at a plurality of joint angle sampling timings at a sampling timing asynchronous with the image sampling timing;
As a robot control unit that controls the robot based on the image feature amount and the joint angle information in a selection correspondence selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing ,
A program characterized by operating a computer.
複数の画像サンプリングタイミングにおける画像特徴量情報を取得し、
複数の関節角サンプリングタイミングであって、前記画像サンプリングタイミングと非同期のサンプリングタイミングにおいて、アームの関節角情報を取得し、
前記画像サンプリングタイミングと前記関節角サンプリングタイミングの間の複数の対応関係の中から選択された選択対応関係での前記画像特徴量と前記関節角情報に基づいて、前記アームを制御することを特徴とするロボット。
Obtain image feature information at multiple image sampling timings,
It is a plurality of joint angle sampling timing, and at the sampling timing asynchronous with the image sampling timing, arm joint angle information is acquired,
The arm is controlled based on the image feature amount and the joint angle information in a selection correspondence selected from a plurality of correspondences between the image sampling timing and the joint angle sampling timing. Robot to do.
JP2013011783A 2013-01-25 2013-01-25 Robot control system, robot, robot control method, and program Withdrawn JP2014140941A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013011783A JP2014140941A (en) 2013-01-25 2013-01-25 Robot control system, robot, robot control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013011783A JP2014140941A (en) 2013-01-25 2013-01-25 Robot control system, robot, robot control method, and program

Publications (1)

Publication Number Publication Date
JP2014140941A true JP2014140941A (en) 2014-08-07

Family

ID=51422708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013011783A Withdrawn JP2014140941A (en) 2013-01-25 2013-01-25 Robot control system, robot, robot control method, and program

Country Status (1)

Country Link
JP (1) JP2014140941A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018514403A (en) * 2015-05-01 2018-06-07 ゼネラル・エレクトリック・カンパニイ System and method for controlling robot operation
JP2020011360A (en) * 2018-07-20 2020-01-23 オムロン株式会社 Control system, control system control method and control system program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005046942A1 (en) * 2003-11-13 2005-05-26 Japan Science And Technology Agency Robot drive method
JP2006318301A (en) * 2005-05-13 2006-11-24 Toyota Motor Corp Adaptive visual feedback control method
JP2007011978A (en) * 2005-07-04 2007-01-18 Toyota Motor Corp Motion controller for robot
JP2012130977A (en) * 2010-12-20 2012-07-12 Toshiba Corp Robot control apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005046942A1 (en) * 2003-11-13 2005-05-26 Japan Science And Technology Agency Robot drive method
JP2006318301A (en) * 2005-05-13 2006-11-24 Toyota Motor Corp Adaptive visual feedback control method
JP2007011978A (en) * 2005-07-04 2007-01-18 Toyota Motor Corp Motion controller for robot
JP2012130977A (en) * 2010-12-20 2012-07-12 Toshiba Corp Robot control apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018514403A (en) * 2015-05-01 2018-06-07 ゼネラル・エレクトリック・カンパニイ System and method for controlling robot operation
JP2020011360A (en) * 2018-07-20 2020-01-23 オムロン株式会社 Control system, control system control method and control system program
WO2020017426A1 (en) * 2018-07-20 2020-01-23 オムロン株式会社 Control system, method for controlling control system, and control system program
JP7131162B2 (en) 2018-07-20 2022-09-06 オムロン株式会社 Control system, control system control method, and control system program

Similar Documents

Publication Publication Date Title
Sun et al. Observability index selection for robot calibration
JP7437081B2 (en) Multi-load adaptive gravity compensation method, apparatus and control device for robot arm
CN108908327B (en) Robot positioning error grading compensation method
Park Fourier-based optimal excitation trajectories for the dynamic identification of robots
US10890892B2 (en) Abnormality determination apparatus, non-transitory computer readable medium encoded with a program, abnormality determination system and abnormality determination method
WO2012127845A1 (en) Robot control apparatus, robot control method, program, and recording medium
Briot et al. Global identification of joint drive gains and dynamic parameters of parallel robots
Koenings et al. A data-driven computation method for the gap metric and the optimal stability margin
US11550291B2 (en) Advanced thermal compensation of mechanical processes
Ostrowski et al. Estimation of constant thermal conductivity by use of proper orthogonal decomposition
CN113254858B (en) Resolving method for ill-conditioned separable nonlinear least square problem and application thereof
KR101234797B1 (en) Robot and method for localization of the robot using calculated covariance
US20210055240A1 (en) Machine learning device, control system, and machine learning method
Ila et al. Fast incremental bundle adjustment with covariance recovery
Russo et al. A calibration procedure for reconfigurable Gough-Stewart manipulators
Gautier et al. Global identification of joint drive gains and dynamic parameters of robots
JP5255924B2 (en) Power system reduction model creation device, power system reduction model creation method, and power system reduction model creation program
JP2014140941A (en) Robot control system, robot, robot control method, and program
JP6617771B2 (en) Linear parameter variation model estimation system, method and program
Deutschmann et al. A method to identify the nonlinear stiffness characteristics of an elastic continuum mechanism
Wodtko et al. Globally optimal multi-scale monocular hand-eye calibration using dual quaternions
Gupta et al. Nonlinear space–time varying parameter estimation using consensus-based in-network distributed strategy
JP2014140942A (en) Robot control system, robot, robot control method, and program
Verdonck Experimental robot and payload identification with application to dynamic trajectory compensation.
WO2020246531A1 (en) Information processing device, program, and calculation method

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160121

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160610

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20170119