JP2015131367A - Robot, control device, robot system and control method - Google Patents

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

Info

Publication number
JP2015131367A
JP2015131367A JP2014003956A JP2014003956A JP2015131367A JP 2015131367 A JP2015131367 A JP 2015131367A JP 2014003956 A JP2014003956 A JP 2014003956A JP 2014003956 A JP2014003956 A JP 2014003956A JP 2015131367 A JP2015131367 A JP 2015131367A
Authority
JP
Japan
Prior art keywords
jacobian
robot
orientation
feature amount
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014003956A
Other languages
Japanese (ja)
Other versions
JP6343938B2 (en
Inventor
金井 裕之
Hiroyuki Kanai
裕之 金井
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 JP2014003956A priority Critical patent/JP6343938B2/en
Publication of JP2015131367A publication Critical patent/JP2015131367A/en
Application granted granted Critical
Publication of JP6343938B2 publication Critical patent/JP6343938B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a robot, a control device, a robot system and a control method which reduce Jacobian operation loads in the control of a robot using an image.SOLUTION: A robot 100 comprises a control unit 110 which calculates a captured image feature quantity that is an image feature quantity of a captured image, and controls the robot 100 on the basis of the captured image feature quantity, a target feature quantity, and the Jacobian, and a storage unit 120 which stores the positional posture of a work object or an end effector 319 of the robot 100 in association with the Jacobian.

Description

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

産業用ロボットによる各種作業において、撮像画像(カメラ画像)を使って制御を行う手法が知られている。ゴール画像を使って位置合わせする方式としては、特許文献1がある。特許文献1には、成功時のゴール画像を覚えておいて、新規に動作時に、同じゴール画像となる場合には、その位置へ位置制御により直接ロボットを移動させるという手法が開示されている。   A technique for performing control using a picked-up image (camera image) in various operations by an industrial robot is known. As a method of aligning using a goal image, there is Patent Document 1. Japanese Patent Application Laid-Open No. 2004-151820 discloses a method of remembering a goal image at the time of success and moving the robot directly to the position by position control when the same goal image is obtained during a new operation.

また、撮像画像を用いて精密な位置合わせを行う技術としてビジュアルサーボと呼ばれるものがある。ビジュアルサーボは、ゴール画像と現在の画像との差分を無すくように制御(サーボ)することにより、目的の位置に近づける技術である。例えば特許文献2には、ビジュアルサーボを用いてロボットを制御する手法が開示されている。   In addition, there is a technique called visual servo as a technique for performing precise positioning using captured images. Visual servo is a technique that brings a target position closer to a target position by controlling (servoing) the difference between the goal image and the current image so as to eliminate the difference. For example, Patent Document 2 discloses a technique for controlling a robot using visual servo.

特開2003−231078号公報JP 2003-231078 A 特開2009−83094号公報JP 2009-83094 A

特許文献1は、それ以前のロボット動作で覚えておいた位置を利用して位置制御を行うものである。そのため、作業対象物の供給位置が異なる場合のように、作業環境にずれが生じた場合には正確な動作を行うことが困難である。   Patent Document 1 performs position control using a position memorized in a previous robot operation. Therefore, it is difficult to perform an accurate operation when a shift occurs in the work environment, such as when the supply position of the work object is different.

一方、特許文献2のビジュアルサーボでは、逐次撮像画像の情報を用いてフィードバックをかけるため、作業環境にずれが生じても精度の高いロボットの制御が可能である。しかし、ビジュアルサーボにおいてはヤコビアン(ヤコビ行列)が用いられることが多いが、特許文献2の手法ではヤコビアンをビジュアルサーボの度に演算している。そのため、ビジュアルサーボの実行に要する演算負荷が大きくなってしまい、ロボットの動作が低速になる等の影響が考えられる。   On the other hand, in the visual servo of Patent Document 2, since feedback is performed using information of sequentially captured images, it is possible to control the robot with high accuracy even if a shift occurs in the work environment. However, in the visual servo, a Jacobian (Jacobi matrix) is often used, but in the method of Patent Document 2, the Jacobian is calculated for each visual servo. For this reason, the calculation load required for executing the visual servo becomes large, and there may be an influence such as a low-speed operation of the robot.

本発明の一態様は、撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部と、作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、を含むロボットに関係する。   One embodiment of the present invention obtains a captured image feature amount that is an image feature amount of a captured image, and controls a robot based on the captured image feature amount, a target feature amount, and a Jacobian, The present invention relates to a robot that includes a storage unit that stores an object or the position and orientation of an end effector of the robot in association with the Jacobian.

本発明の一態様では、ロボットの制御に用いられるヤコビアンを、位置姿勢と対応付けて記憶する。そのため、状況に応じて記憶したヤコビアンを利用すること等ができるため、処理負荷の軽減やロボット動作の高速化等が可能になる。   In one embodiment of the present invention, a Jacobian used for robot control is stored in association with a position and orientation. Therefore, it is possible to use the Jacobian stored according to the situation, so that it becomes possible to reduce the processing load and speed up the robot operation.

また、本発明の一態様では、前記制御部は、前記記憶部に記憶された前記ヤコビアンを読み出し、前記ヤコビアンと、前記撮像画像特徴量と、前記目標特徴量とに基づいて、前記ロボットの制御を行ってもよい。   In the aspect of the invention, the control unit reads the Jacobian stored in the storage unit, and controls the robot based on the Jacobian, the captured image feature amount, and the target feature amount. May be performed.

これにより、記憶しておいたヤコビアンを再利用すること等が可能になる。   This makes it possible to reuse the stored Jacobian.

また、本発明の一態様では、前記制御部は、処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されているか否かの判定を行い、前記ヤコビアンが記憶されている場合に、前記撮像画像特徴量と前記目標特徴量との差分情報と、前記ヤコビアンとに基づいて、前記ロボットの動作パラメーターを求め、前記動作パラメーターに従って、前記ロボットの制御を行ってもよい。   In one aspect of the present invention, the control unit determines whether or not the Jacobian corresponding to the position and orientation of the work object or the end effector at a processing timing is stored in the storage unit. , When the Jacobian is stored, an operation parameter of the robot is obtained based on difference information between the captured image feature quantity and the target feature quantity, and the Jacobian, and according to the operation parameter, the robot Control may be performed.

これにより、所望のヤコビアンを記憶されている場合には、当該ヤコビアンを用いることで処理負荷を軽減すること等が可能になる。   Thereby, when a desired Jacobian is stored, the processing load can be reduced by using the Jacobian.

また、本発明の一態様では、前記制御部は、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記位置姿勢に対応する前記ヤコビアンを求め、前記記憶部は、前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶してもよい。   Moreover, in one aspect of the present invention, the control unit is configured such that the position when the Jacobian corresponding to the position and orientation of the work object or the end effector at the processing timing is not stored in the storage unit. The Jacobian corresponding to the posture may be obtained, and the storage unit may store the Jacobian in association with the position and posture of the work object or the end effector at the processing timing.

これにより、所望のヤコビアンが記憶されていない場合には、ヤコビアンを新規演算すること、及び演算結果であるヤコビアンを記憶すること等が可能になる。   As a result, when the desired Jacobian is not stored, it is possible to newly calculate the Jacobian and store the Jacobian that is the operation result.

また、本発明の一態様では、前記制御部は、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記処理タイミングにおける前記位置姿勢から、位置姿勢座標空間における空間距離が所与の距離範囲内である所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されているかの判定を行い、前記所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されている場合には、前記所定範囲内位置姿勢に対応する前記ヤコビアンを、前記処理タイミングにおける前記位置姿勢に対応する前記ヤコビアンとして求め、前記記憶部は、前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶してもよい。   In the aspect of the invention, the control unit may perform the processing when the Jacobian corresponding to the position and orientation of the work object or the end effector at the processing timing is not stored in the storage unit. From the position and orientation at the timing, it is determined whether the Jacobian corresponding to the position and orientation within a predetermined range whose spatial distance in the position and orientation coordinate space is within a given distance range is stored in the storage unit, and the predetermined When the Jacobian corresponding to the position / posture within the range is stored in the storage unit, the Jacobian corresponding to the position / posture within the predetermined range is obtained as the Jacobian corresponding to the position / posture at the processing timing. The storage unit stores the Jacobian as the work object or the engine at the processing timing. It may be stored in association with the position and orientation of the effector.

これにより、所望のヤコビアンが記憶されていない場合であっても、所定距離範囲内となるヤコビアンを用いることで処理負荷を軽減すること等が可能になる。   Thereby, even when the desired Jacobian is not stored, the processing load can be reduced by using the Jacobian within the predetermined distance range.

また、本発明の一態様では、前記制御部は、前記所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記処理タイミングにおける前記位置姿勢に対応する前記ヤコビアンを求め、前記記憶部は、前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶してもよい。   In the aspect of the invention, the control unit may include the Jacobian corresponding to the position and orientation at the processing timing when the Jacobian corresponding to the position and orientation within the predetermined range is not stored in the storage unit. The storage unit may store the Jacobian in association with the position and orientation of the work object or the end effector at the processing timing.

これにより、所定距離範囲内となるヤコビアンも記憶されていない場合には、ヤコビアンを新規演算すること、及び演算結果であるヤコビアンを記憶すること等が可能になる。   Thereby, when the Jacobian that falls within the predetermined distance range is not stored, it is possible to newly calculate the Jacobian and to store the Jacobian that is the calculation result.

また、本発明の一態様では、前記制御部は、前記ヤコビアンを用いた前記ロボットの制御を行うことで求められる前記撮像画像特徴量と、前記ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値よりも大きい場合に、前記ヤコビアンを修正し、前記記憶部は、修正後の前記ヤコビアンを、前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶してもよい。   In one aspect of the present invention, the control unit is configured to obtain a difference value between the captured image feature amount obtained by controlling the robot using the Jacobian and a provisional target feature amount estimated from the Jacobian. Is larger than a given threshold, the Jacobian is corrected, and the storage unit may store the corrected Jacobian in association with the position and orientation of the work object or the end effector. .

これにより、ヤコビアンの修正処理を行うこと等が可能になる。   This makes it possible to perform Jacobian correction processing and the like.

また、本発明の一態様では、前記記憶部は、前記ヤコビアンを用いた処理が行われたタイミングを表すタイムスタンプ情報を、前記ヤコビアンとを対応づけて記憶し、前記制御部は、前記ヤコビアンを用いた前記ロボットの制御を行った場合に、前記ヤコビアンに対応づけられた前記タイムスタンプ情報を更新してもよい。   In one aspect of the present invention, the storage unit stores time stamp information indicating timing at which processing using the Jacobian is performed in association with the Jacobian, and the control unit stores the Jacobian. When the used robot is controlled, the time stamp information associated with the Jacobian may be updated.

これにより、ヤコビアンをタイムスタンプと対応付けて記憶すること等が可能になる。   This makes it possible to store the Jacobian in association with the time stamp.

また、本発明の一態様では、前記制御部は、前記タイムスタンプ情報に基づいて、前記記憶部から削除される前記ヤコビアンを決定してもよい。   In the aspect of the invention, the control unit may determine the Jacobian to be deleted from the storage unit based on the time stamp information.

これにより、タイムスタンプを用いて削除対象となるヤコビアンを決定すること等が可能になる。   Thereby, it becomes possible to determine the Jacobian to be deleted using the time stamp.

また、本発明の一態様では、前記記憶部は、前記ヤコビアンを用いた前記ロボットの制御が行われた回数を表すカウンター情報を、前記ヤコビアンとを対応づけて記憶してもよい。   In the aspect of the invention, the storage unit may store counter information indicating the number of times the robot is controlled using the Jacobian in association with the Jacobian.

ヤコビアンをカウンター情報と対応付けて記憶すること等が可能になる。   The Jacobian can be stored in association with the counter information.

また、本発明の一態様では、前記制御部は、前記ヤコビアンを用いた前記ロボットの制御を行うことで求められる前記撮像画像特徴量と、前記ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値以下である場合に、前記ヤコビアンに対応づけられた前記カウンター情報を増加させてもよい。   In one aspect of the present invention, the control unit is configured to obtain a difference value between the captured image feature amount obtained by controlling the robot using the Jacobian and a provisional target feature amount estimated from the Jacobian. When is less than or equal to a given threshold, the counter information associated with the Jacobian may be increased.

これにより、所与の条件に基づいてカウンター情報を更新すること等が可能になる。   This makes it possible to update the counter information based on a given condition.

また、本発明の一態様では、前記制御部は、前記ヤコビアンを用いた処理により求められる動作パラメーターの値を、前記ヤコビアンに対応づけられた前記カウンター情報に基づいて調整してもよい。   In the aspect of the invention, the control unit may adjust the value of the operation parameter obtained by the processing using the Jacobian based on the counter information associated with the Jacobian.

これにより、カウンター情報に基づいて、動作パラメーターの値を調整すること等が可能になる。   This makes it possible to adjust the value of the operation parameter based on the counter information.

また、本発明の他の態様は、撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部と、作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、を含む制御装置に関係する。   According to another aspect of the present invention, a control unit that obtains a captured image feature amount that is an image feature amount of a captured image and controls a robot based on the captured image feature amount, a target feature amount, and a Jacobian. And a storage unit that stores the position and orientation of the work object or the end effector of the robot and the Jacobian in association with each other.

本発明の他の態様では、ロボットの制御に用いられるヤコビアンを、位置姿勢と対応付けて記憶する。そのため、状況に応じて記憶したヤコビアンを利用すること等ができるため、処理負荷の軽減やロボット動作の高速化等が可能になる。   In another aspect of the present invention, a Jacobian used for controlling the robot is stored in association with the position and orientation. Therefore, it is possible to use the Jacobian stored according to the situation, so that it becomes possible to reduce the processing load and speed up the robot operation.

また、本発明の他の態様は、ロボットと、撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、前記ロボットの制御を行う制御部と、作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、を含むロボットシステムに関係する。   In another aspect of the present invention, a robot, a captured image feature amount that is an image feature amount of the captured image is obtained, and the control of the robot is performed based on the captured image feature amount, the target feature amount, and the Jacobian. The robot system includes a control unit that performs the above and a storage unit that associates and stores the work object or the position and orientation of the end effector of the robot and the Jacobian.

本発明の他の態様では、ロボットの制御に用いられるヤコビアンを、位置姿勢と対応付けて記憶する。そのため、状況に応じて記憶したヤコビアンを利用すること等ができるため、処理負荷の軽減やロボット動作の高速化等が可能になる。   In another aspect of the present invention, a Jacobian used for controlling the robot is stored in association with the position and orientation. Therefore, it is possible to use the Jacobian stored according to the situation, so that it becomes possible to reduce the processing load and speed up the robot operation.

また、本発明の他の態様は、撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行うことと、作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶することと、を含む制御方法に関係する。   According to another aspect of the present invention, a captured image feature amount that is an image feature amount of a captured image is obtained, and the robot is controlled based on the captured image feature amount, the target feature amount, and the Jacobian. And a position and orientation of the work target or the end effector of the robot and the Jacobian in association with each other and storing the same.

本発明の他の態様では、ロボットの制御に用いられるヤコビアンを、位置姿勢と対応付けて記憶する。そのため、状況に応じて記憶したヤコビアンを利用すること等ができるため、処理負荷の軽減やロボット動作の高速化等が可能になる。   In another aspect of the present invention, a Jacobian used for controlling the robot is stored in association with the position and orientation. Therefore, it is possible to use the Jacobian stored according to the situation, so that it becomes possible to reduce the processing load and speed up the robot operation.

このように、本発明の幾つかの態様によれば、画像を用いたロボットの制御においてヤコビアンの演算負荷を軽減するロボット、制御装置、ロボットシステム及び制御方法等を提供することができる。   As described above, according to some aspects of the present invention, it is possible to provide a robot, a control device, a robot system, a control method, and the like that reduce a Jacobian computation load in controlling a robot using an image.

本実施形態に係るロボットのシステム構成例。The system structural example of the robot which concerns on this embodiment. 作業対象物とエンドエフェクターの相対関係の説明図。Explanatory drawing of the relative relationship between a work target object and an end effector. 本実施形態に係る制御装置及びロボットシステムの構成例。1 is a configuration example of a control device and a robot system according to the present embodiment. 本実施形態に係るロボットの構造の例。The example of the structure of the robot which concerns on this embodiment. 本実施形態に係るロボットの構造の他の例。The other example of the structure of the robot which concerns on this embodiment. 本実施形態に係る制御装置等をサーバーシステムにより実現する例。The example which implement | achieves the control apparatus etc. which concern on this embodiment with a server system. 画像特徴量、位置姿勢及び関節角の相互関係の説明図。Explanatory drawing of the mutual relationship of an image feature-value, a position orientation, and a joint angle. ビジュアルサーボ制御の説明図。Explanatory drawing of visual servo control. 位置姿勢空間に設定される局所領域の例。An example of a local region set in the position and orientation space. 図10(A)、図10(B)は関節角と画像特徴量の関係図。10A and 10B are diagrams showing the relationship between the joint angle and the image feature amount. 本実施形態の処理を説明するフローチャート。The flowchart explaining the process of this embodiment. 本実施形態の具体的な処理を説明する図。The figure explaining the specific process of this embodiment. ヤコビアンの修正処理を説明する図。The figure explaining the correction process of Jacobian. 記憶部に記憶されるデータ構造の例。The example of the data structure memorize | stored in a memory | storage part. 本実施形態の処理を説明する他のフローチャート。The other flowchart explaining the process of this 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のように実際の制御が位置制御である場合、手先位置等の精度を高くするには非常に剛性の高いロボットを用いたり、精度の高いキャリブレーションを実行しておく必要がある。また、ロボットの作業環境も一定としておかなくてはならない。例えば、作業対象物(ワーク)が給材される位置や、当該作業対象物に対して作業を行う位置、作業後の作業対象物を配置(除材)する位置等の精度も高くしておかなければ、精度のよいロボットの制御ができない。
1. First, the method of this embodiment will be described. As described above, a technique for controlling a robot using a captured image is widely known. However, when the actual control is position control as in Patent Document 1, it is necessary to use a very rigid robot or to perform highly accurate calibration in order to increase the accuracy of the hand position and the like. is there. Also, the working environment of the robot must be kept constant. For example, the position where the work object (work) is supplied, the position where work is performed on the work object, the position where the work object after work is placed (material removal), etc. should also be highly accurate. Without it, the robot cannot be accurately controlled.

特に本出願人は、種々の環境変化に応じて柔軟に動作することができるロボットを想定している。例えば、撮像部(撮像センサー)等の種々のセンサーを用いて周辺環境を認識し、認識結果を用いて動作内容を決定、修正するロボット等が考えられる。このようなロボットでは、例えばユーザーが作業対象物を給材エリアに配置する際に、その位置姿勢を厳密に決定しなくても適切なロボット動作が可能となる。逆に言えば、本出願人の想定するロボットでは、ユーザー負担を軽減する観点から、作業対象物等の厳密な位置決めがされないことになり、特許文献1のように過去に記憶しておいた位置を用いた位置制御では高精度なロボット制御は難しい。   In particular, the applicant assumes a robot that can operate flexibly according to various environmental changes. For example, a robot that recognizes the surrounding environment using various sensors such as an imaging unit (imaging sensor) and determines and corrects the operation content using the recognition result is conceivable. In such a robot, for example, when the user places a work object in the material supply area, an appropriate robot operation can be performed without deciding the position and orientation strictly. In other words, in the robot assumed by the present applicant, from the viewpoint of reducing the burden on the user, the work object or the like is not strictly positioned. It is difficult to control robots with high accuracy by using position control.

また、撮像画像を用いたロボット制御としては、特許文献2に示したようなビジュアルサーボが知られている。ビジュアルサーボでは、連続的に画像情報を取得し、当該画像情報から取得される情報と、目標となる情報との比較処理の結果をフィードバックする。具体的には、最新の画像情報から取得された情報と、目標となる情報との差が小さくなる方向にロボットを制御する。さらに具体的に言えば、目標に近づくような関節角の変化量等を求め、当該変化量等に従って関節を駆動する制御を行うことになる。   As a robot control using a captured image, a visual servo as shown in Patent Document 2 is known. In the visual servo, image information is continuously acquired, and a result of comparison processing between information acquired from the image information and target information is fed back. Specifically, the robot is controlled in such a direction that the difference between the information acquired from the latest image information and the target information is reduced. More specifically, the amount of change in the joint angle that approaches the target is obtained, and control for driving the joint according to the amount of change is performed.

ビジュアルサーボでは撮像画像に対する画像処理結果をフィードバックするため、人間が作業状況を目で見ながら腕や手の動かし方を微調整できるのと同様に、現在の位置姿勢が目標の位置姿勢からずれていたとしても、当該ずれを認識して修正することができる。そのため、高精度でのロボット制御が可能である。   Since visual servo feeds back the image processing results for the captured image, the current position / posture deviates from the target position / posture in the same way that humans can fine-tune how to move their arms and hands while viewing the work situation. Even so, the deviation can be recognized and corrected. Therefore, it is possible to control the robot with high accuracy.

ビジュアルサーボでは、処理においてヤコビアンが用いられることが多い。例えば目標位置や現在位置を表す特徴量ベクトルを[F]とし、ロボットの関節角ベクトルを[θ]とする。この場合、ヤコビアン[J]は特徴量ベクトルの差分[ΔF]及び関節角ベクトルの差分[Δθ]とを、[ΔF]=[J][Δθ]と関連づけるものである。フィードバック処理を用いたロボット制御においては、[ΔF]が目標値及び実測値等から求められた場合に、[Δθ]を制御パラメーターとして算出する必要があることから、ヤコビアンの逆行列である逆ヤコビアンを用いることになる。なお、図10(B)を用いて後述するように、本実施形態では[F]と[θ]の関係を、[F]と[P]、[P]と[θ]の2つの関係に分けて考えることで、ヤコビアンもJθPとJPFの2つに分けて考えることが想定されるが、ここでは説明を簡略化するため図10(A)のように[F]と[θ]の関係を考える。 In visual servoing, Jacobian is often used in processing. For example, the feature vector representing the target position or the current position is [F], and the joint angle vector of the robot is [θ]. In this case, the Jacobian [J] associates the feature vector difference [ΔF] and the joint angle vector difference [Δθ] with [ΔF] = [J] [Δθ]. In robot control using feedback processing, it is necessary to calculate [Δθ] as a control parameter when [ΔF] is obtained from a target value, an actual measurement value, and the like. Therefore, an inverse Jacobian that is an inverse matrix of Jacobian is used. Will be used. As will be described later with reference to FIG. 10B, in this embodiment, the relationship between [F] and [θ] is changed to two relationships between [F] and [P], and [P] and [θ]. By thinking separately, it is assumed that the Jacobian is considered as being divided into two groups of J θP and J PF , but here, in order to simplify the explanation, [F] and [θ] as shown in FIG. Think about the relationship.

ここで、[F]と[θ]は本来非線形な関係であり、ヤコビアンJは[F]と[θ]をそれぞれ所与の値を基準とした小さな変化幅に限定することで、[ΔF]と[Δθ]を線形な関係として表現するものである。つまり、ある[θi]の付近ではヤコビアンJiが精度のよい近似として用いることができたとしても、[θi]に比べてある程度値が異なる[θj]ではヤコビアンJiによる近似は精度のよいものとならない。そのため、ビジュアルサーボではアーム等の位置姿勢が変化するごとに、処理に用いるヤコビアンを変化させなくてはならない。   Here, [F] and [θ] are inherently non-linear relationships, and Jacobian J limits [F] and [θ] to a small change width based on a given value, whereby [ΔF] And [Δθ] are expressed as a linear relationship. That is, even if the Jacobian Ji can be used as an accurate approximation in the vicinity of a certain [θi], the approximation by the Jacobian Ji does not become accurate at [θj], which is somewhat different from [θi]. . Therefore, in the visual servo, the Jacobian used for processing must be changed every time the position and orientation of the arm or the like changes.

特許文献2では、一連のロボット作業(例えば作業対象物の給材エリアからの取得、作業対象物に対する処理、及び作業対象物の除材エリアへの退避を含む作業)を行うに当たり、必要なヤコビアンをその都度求めている。そのため、ヤコビアンを演算する負荷が過去の作業回数、作業内容等によらず常に大きいものとなり、ロボットの移動速度が遅くなる等の影響が考えられる。   In Patent Document 2, a necessary Jacobian is necessary for performing a series of robot operations (for example, operations including acquisition of a work object from a supply area, processing of the work object, and retreat of the work object to a material removal area). Is required every time. For this reason, the load for calculating the Jacobian is always large regardless of the number of past operations, the details of the operations, and the like, and the influence of slowing the movement speed of the robot can be considered.

そこで本出願人は、過去に演算したヤコビアンを作業対象物の位置姿勢又はロボットの手先の位置姿勢と関連づけて記憶しておき、必要に応じて再利用することで、ヤコビアン演算の負荷を軽減するロボット等を提案する。具体的には、本実施形態に係るロボット100は図1に示したように、撮像画像の画像特徴量である撮像画像特徴量を求め、撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部110と、作業対象物又はロボット100のエンドエフェクター319の位置姿勢と、ヤコビアンとを対応づけて記憶する記憶部120を含む。   Therefore, the applicant stores the Jacobian calculated in the past in association with the position and orientation of the work object or the position and orientation of the hand of the robot, and reuses them as necessary to reduce the load of the Jacobian calculation. Propose robots. Specifically, as illustrated in FIG. 1, the robot 100 according to the present embodiment obtains a captured image feature amount that is an image feature amount of a captured image, and obtains a captured image feature amount, a target feature amount, and a Jacobian. Based on this, the control unit 110 that controls the robot, and the storage unit 120 that stores the work object or the position and orientation of the end effector 319 of the robot 100 and the Jacobian in association with each other are included.

ここで、位置姿勢とは、例えばxyzの3軸における位置、及び各軸周りの回転角uvwにより表現することができる。作業対象物の位置姿勢とは、作業対象物に設定された基準位置のxyzの3軸における位置と、作業対象物の基準姿勢に対する各軸周りの回転角により表すことができる。エンドエフェクター319の位置姿勢も同様であり、エンドエフェクター319に設定された基準位置のxyzの3軸における位置と、エンドエフェクター319の基準姿勢に対する各軸周りの回転角により表すことができる。   Here, the position and orientation can be expressed by, for example, the position of xyz in three axes and the rotation angle uvw around each axis. The position and orientation of the work object can be represented by the position of the reference position set for the work object in the three axes xyz and the rotation angle around each axis with respect to the reference position of the work object. The position and orientation of the end effector 319 are the same, and can be represented by the position of the reference position set for the end effector 319 in the three axes xyz and the rotation angle around each axis with respect to the reference posture of the end effector 319.

エンドエフェクター319による作業対象物の把持位置姿勢が特定されていれば、作業対象物の位置姿勢と、エンドエフェクター319の位置姿勢は相互に変換可能である。例えば、作業対象物をOBとし、エンドエフェクター319による作業対象物OBの把持位置姿勢が図2に示したものであるとわかっていれば、作業対象物OBの位置姿勢とエンドエフェクター319の位置姿勢は、一方が決定されれば他方を一意に決定することができる。よって本明細書では、特に断りなく「位置姿勢」という用語を用いた場合には、作業対象物の位置姿勢及びエンドエフェクター319の位置姿勢のいずれを指してもよいものとする。   If the gripping position / posture of the work object by the end effector 319 is specified, the position / posture of the work object and the position / posture of the end effector 319 can be converted to each other. For example, if the work object is OB and the gripping position / posture of the work object OB by the end effector 319 is known as shown in FIG. 2, the position / posture of the work object OB and the position / posture of the end effector 319 are determined. Can uniquely determine the other if one is determined. Therefore, in this specification, when the term “position / posture” is used without particular notice, either the position / posture of the work object or the position / posture of the end effector 319 may be indicated.

また、目標特徴量とは、目標状態(ゴール状態)を表す特徴量である。目標特徴量は、例えば目標状態での画像(目標画像)に対する画像処理により取得される画像特徴量であってもよい。ただし、目標状態での特徴量が決定されればよいため、目標画像を用いなくてもよい。例えば、目標状態では作業対象物の画像上での座標値が(xg,yb)となることがわかっていれば、当該(xg,yb)をそのまま目標特徴量とすればよく、目標特徴量の設定において目標画像を用いる必要はない。   The target feature amount is a feature amount representing a target state (goal state). The target feature amount may be, for example, an image feature amount acquired by image processing on an image in the target state (target image). However, the target image need not be used because the feature amount in the target state may be determined. For example, if it is known that the coordinate value on the image of the work object is (xg, yb) in the target state, the (xg, yb) may be used as the target feature amount as it is. It is not necessary to use the target image in the setting.

図10(A)、図10(B)を用いて後述するように、[F]と[θ]の関係を作業対象物又はエンドエフェクターの位置姿勢[P]を介在させて捉えると、ヤコビアンはJθPとJPFに分けて考えることができる。このうち、JθPはロボットの構造から解析的に求めることができるため、ヤコビアン演算において負荷が高いのはJPFである。つまり位置姿勢が[Pk]となったときに、当該[Pk]に対応するヤコビアンJPkFを求める処理の負荷が大きいのであるから、JPkFが一度求められたのであれば、当該JPkFを[Pk]と対応付けて記憶しておく。そのようにすれば、それ以降の作業において位置姿勢が[Pk]に充分近い[Pk’]となったときには、対応するヤコビアンJPk’Fを一から演算する必要はなく、記憶されていたJPkFを利用すればよい。 As will be described later with reference to FIGS. 10A and 10B, when the relationship between [F] and [θ] is captured with the position and orientation [P] of the work object or the end effector, the Jacobian is obtained. it can be divided into J θP and J PF. Among, J [theta] P is because it can be determined from the structure of the robot analytically, the load in the Jacobian operation is high is J PF. That is, when the position and orientation becomes [Pk], the processing load for obtaining the Jacobian J PkF corresponding to the [Pk] is large. Therefore , if the J PkF is obtained once, the J PkF is set to [ Pk] is stored in association with it. By doing so, when the position and orientation become [Pk ′] sufficiently close to [Pk] in the subsequent work, it is not necessary to calculate the corresponding Jacobian J Pk′F from scratch , and the stored J PkF may be used.

つまり本実施形態では、ロボット100の制御部110は、記憶部120に記憶されたヤコビアンを読み出し、読み出したヤコビアンと、撮像画像特徴量と、目標特徴量とに基づいて、ロボット100の制御(具体的にはアーム310やエンドエフェクター319の制御)を行う。   That is, in this embodiment, the control unit 110 of the robot 100 reads the Jacobian stored in the storage unit 120, and controls the robot 100 based on the read Jacobian, the captured image feature amount, and the target feature amount (specifically, Specifically, the arm 310 and the end effector 319 are controlled).

このようにすれば、過去に演算したヤコビアンを再利用することができるため、ヤコビアン演算の負荷を軽減することができ、ロボット100の動作を高速化すること等が可能になる。なお、本実施形態の手法を用いた場合であっても、処理タイミングでの位置姿勢に近い位置姿勢でのヤコビアンが記憶されていなければ、処理に必要なヤコビアンを求める必要がある。よってロボット動作の回数が少なく、ヤコビアンの蓄積が充分でない場合には、ロボット動作に時間を要する場合がある。しかし、ロボット動作を繰り返しヤコビアンが蓄積されることで、処理負荷の軽減効果が高くなり、ロボット動作の高速化が可能となる。   In this way, since the Jacobian calculated in the past can be reused, the load of the Jacobian calculation can be reduced, and the operation of the robot 100 can be speeded up. Even when the method of the present embodiment is used, it is necessary to obtain the Jacobian necessary for the processing if the Jacobian at the position and orientation close to the position and orientation at the processing timing is not stored. Therefore, when the number of robot operations is small and the Jacobian is not sufficiently accumulated, the robot operation may take time. However, by repeating the robot operation and accumulating Jacobians, the effect of reducing the processing load increases, and the robot operation can be speeded up.

以下、本実施形態に係るロボット100や制御装置200のシステム構成例を説明し、その後本実施形態の処理の詳細について説明する。   Hereinafter, system configuration examples of the robot 100 and the control device 200 according to the present embodiment will be described, and then details of the processing of the present embodiment will be described.

2.システム構成例
図1に示したように、本実施形態に係るロボット100は、制御部110と、記憶部120と、ロボット機構300を含み、ロボット機構300は、例えばアーム310とエンドエフェクター319を含む。ただしロボット100は、図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また、種々の変形実施が可能な点は図3等の構成例についても同様である。
2. System Configuration Example As shown in FIG. 1, the robot 100 according to the present embodiment includes a control unit 110, a storage unit 120, and a robot mechanism 300. The robot mechanism 300 includes, for example, an arm 310 and an end effector 319. . However, the robot 100 is not limited to the configuration of FIG. 1, and various modifications such as omitting some of these components or adding other components are possible. Further, the points that can be variously modified are the same in the configuration example of FIG.

記憶部120は、制御部110等のワーク領域となるもので、その機能はRAM等のメモリーやHDD(ハードディスクドライブ)などにより実現できる。記憶部120は、上述したようにヤコビアンを位置姿勢と対応付けて記憶する。また、図14等を用いて後述するように、付加情報としてタイムスタンプやカウンター数、ゲイン量等をヤコビアン及び位置姿勢と対応付けて記憶してもよい。   The storage unit 120 serves as a work area for the control unit 110 and the like, and its function can be realized by a memory such as a RAM, an HDD (hard disk drive), or the like. The storage unit 120 stores the Jacobian in association with the position and orientation as described above. Further, as will be described later with reference to FIG. 14 and the like, as additional information, a time stamp, the number of counters, a gain amount, and the like may be stored in association with the Jacobian and the position and orientation.

また、本実施形態の手法は図3に示したように、撮像画像の画像特徴量である撮像画像特徴量を求め、撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボット100の制御を行う制御部210と、作業対象物又はロボット100のエンドエフェクター319の位置姿勢と、ヤコビアンとを対応づけて記憶する記憶部220を含む制御装置200に適用できる。この場合、制御装置200の制御部210は、適宜記憶部220に記憶されたヤコビアンを再利用して、ロボット100を動作させるための動作パラメーター(例えばアーム310に含まれる各関節の駆動量等)を求め、当該動作パラメーターを用いてロボット100のアーム310等の制御を行う。   Further, as shown in FIG. 3, the method of the present embodiment obtains a captured image feature amount that is an image feature amount of a captured image, and based on the captured image feature amount, the target feature amount, and the Jacobian, The present invention can be applied to a control unit 200 that includes a control unit 210 that performs the above-described control, and a storage unit 220 that stores the work object or the position and orientation of the end effector 319 of the robot 100 in association with the Jacobian. In this case, the control unit 210 of the control device 200 appropriately reuses the Jacobian stored in the storage unit 220 to operate the robot 100 (for example, the driving amount of each joint included in the arm 310). And the arm 310 of the robot 100 is controlled using the operation parameter.

また、本実施形態の手法は、ロボット100と、撮像画像の画像特徴量である撮像画像特徴量を求め、撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボット100の制御を行う制御部210と、作業対象物又はロボット100のエンドエフェクター319の位置姿勢と、ヤコビアンとを対応づけて記憶する記憶部220と、を含むロボットシステムに適用できる。ここでのロボットシステムとは、図3の全体に相当するシステムであってもよく、ロボット100と、ロボット100の制御を行う制御装置200を含んでもよい。また、ここでは制御部が制御装置200に含まれる制御部210であり、記憶部220が制御装置200に含まれる記憶部220であるものとしたがこれには限定されない。例えばロボットシステムの制御部は、ロボット100に含まれる制御部110であってもよいし、ロボットシステムの記憶部は、ロボット100に含まれる記憶部120であってもよい。或いは、制御部及び記憶部の機能が、ロボット100と制御装置200の分散処理により実現されてもよい。或いは、ロボットシステムが図3の不図示の他の機器(例えばサーバーシステム)を含む場合に、制御部や記憶部が当該他の機器に含まれてもよい。   Further, the method of the present embodiment obtains a captured image feature amount that is an image feature amount of the captured image with the robot 100, and controls the robot 100 based on the captured image feature amount, the target feature amount, and the Jacobian. The present invention can be applied to a robot system including a control unit 210 to perform, and a storage unit 220 that stores a work object or a position and orientation of an end effector 319 of the robot 100 and a Jacobian in association with each other. The robot system here may be a system corresponding to the whole of FIG. 3, and may include the robot 100 and a control device 200 that controls the robot 100. In addition, here, the control unit is the control unit 210 included in the control device 200 and the storage unit 220 is the storage unit 220 included in the control device 200. However, the present invention is not limited to this. For example, the control unit of the robot system may be the control unit 110 included in the robot 100, and the storage unit of the robot system may be the storage unit 120 included in the robot 100. Alternatively, the functions of the control unit and the storage unit may be realized by distributed processing of the robot 100 and the control device 200. Alternatively, when the robot system includes another device (not shown) (for example, a server system) not shown in FIG. 3, the control unit and the storage unit may be included in the other device.

ここでのロボットとは、図4に示したように、PC等の装置400と、ロボット本体500と、を含むロボットであってもよい。図4の構成であれば、装置400に図1等の制御部110が含まれる、或いは装置400が図3に示した制御装置200に対応することになる。そしてロボット本体500は、アーム310と、エンドエフェクター319を含む。   The robot here may be a robot including a device 400 such as a PC and a robot body 500 as shown in FIG. 4, the apparatus 400 includes the control unit 110 shown in FIG. 1 or the like, or the apparatus 400 corresponds to the control apparatus 200 shown in FIG. 3. The robot body 500 includes an arm 310 and an end effector 319.

なお、本実施形態に係るロボット100の構成例は図4に限定されない。例えば、図5に示したように、ロボット100は、ロボット本体500と、ベースユニット部550を含んでもよい。本実施形態に係るロボットは図5に示したように双腕ロボットであってもよく、頭部や胴体に相当する部分に加え、第1のアーム310と第2のアーム320を含む。図5では第1のアーム310は、関節311,313と、関節の間に設けられるフレーム315,317から構成され、第2のアーム320についても同様のものとしたがこれに限定されない。なお、図5では2本のアームを有する双腕ロボットの例を示したが、本実施形態のロボットは3本以上のアームを有してもよい。   Note that the configuration example of the robot 100 according to the present embodiment is not limited to FIG. For example, as illustrated in FIG. 5, the robot 100 may include a robot body 500 and a base unit unit 550. The robot according to the present embodiment may be a double-arm robot as shown in FIG. 5, and includes a first arm 310 and a second arm 320 in addition to portions corresponding to the head and the torso. In FIG. 5, the first arm 310 includes joints 311 and 313 and frames 315 and 317 provided between the joints, and the second arm 320 is similar, but is not limited thereto. In addition, although the example of the double-arm robot which has two arms was shown in FIG. 5, the robot of this embodiment may have three or more arms.

ベースユニット部550は、ロボット本体500の下部に設けられ、ロボット本体500を支持する。図5の例では、ベースユニット部550には車輪等が設けられ、ロボット全体が移動可能な構成となっている。ただし、ベースユニット部550が車輪等を持たず、床面等に固定される構成であってもよい。図5のロボットシステムでは、ベースユニット部550に図4に示した装置400が格納されることで、ロボット本体500と装置400とが一体として構成される。   The base unit 550 is provided below the robot body 500 and supports the robot body 500. In the example of FIG. 5, the base unit 550 is provided with wheels and the like so that the entire robot can move. However, the base unit 550 may be configured to be fixed to a floor surface or the like without having wheels or the like. In the robot system of FIG. 5, the robot main body 500 and the device 400 are integrally configured by storing the device 400 shown in FIG. 4 in the base unit 550.

或いは、PC等の装置400のように、特定の制御用の機器を設けることなく、ロボットに内蔵される基板(更に具体的には基板上に設けられるIC等)により、上記の制御部110を実現するとともに、ロボット制御を実行するロボットが考えられる。   Alternatively, the controller 110 may be provided by a substrate (more specifically, an IC or the like provided on the substrate) built in the robot without providing a specific control device like the device 400 such as a PC. A robot that realizes and executes robot control can be considered.

また、図6に示すように、制御装置200やロボットの制御部110等(以下制御装置等)の機能は、有線及び無線の少なくとも一方を含むネットワーク600を介して、ロボットと通信接続されたサーバー700により実現されてもよい。   Further, as shown in FIG. 6, the functions of the control device 200 and the control unit 110 of the robot (hereinafter referred to as the control device) are a server that is connected to the robot through a network 600 including at least one of wired and wireless. 700 may be realized.

或いは本実施形態では、本発明の制御装置等の処理の一部を、サーバー700側の制御装置等が行ってもよい。この場合には、ロボット側に設けられた制御装置等との分散処理により、当該処理を実現する。   Alternatively, in the present embodiment, a part of the processing of the control device or the like of the present invention may be performed by the control device or the like on the server 700 side. In this case, the processing is realized by distributed processing with a control device or the like provided on the robot side.

そして、この場合に、サーバー700側の制御装置等は、本発明の制御装置等における各処理のうち、サーバー700の制御装置等に割り当てられた処理を行う。一方、ロボットに設けられた制御装置等は、本発明の制御装置等の各処理のうち、ロボットの制御装置等に割り当てられた処理を行う。   In this case, the control device or the like on the server 700 side performs a process assigned to the control device or the like of the server 700 among the processes in the control device or the like of the present invention. On the other hand, a control device or the like provided in the robot performs a process assigned to the control device or the like of the robot among the processes of the control device or the like of the present invention.

例えば、本発明の制御装置等が第1〜第M(Mは整数)の処理を行うものであり、第1の処理がサブ処理1a及びサブ処理1bにより実現され、第2の処理がサブ処理2a及びサブ処理2bにより実現されるように、第1〜第Mの各処理が複数のサブ処理に分割できる場合を考える。この場合、サーバー700側の制御装置等がサブ処理1a、サブ処理2a、・・・サブ処理Maを行い、ロボット側に設けられた制御装置等がサブ処理1b、サブ処理2b、・・・サブ処理Mbを行うといった分散処理が考えられる。この際、本実施形態に係る制御装置等、すなわち、第1〜第Mの処理を実行する制御装置等とは、サブ処理1a〜サブ処理Maを実行する制御装置等であってもよいし、サブ処理1b〜サブ処理Mbを実行する制御装置等であってもよいし、サブ処理1a〜サブ処理Ma及びサブ処理1b〜サブ処理Mbの全てを実行する制御装置等であってもよい。更にいえば、本実施形態に係る制御装置等は、第1〜第Mの処理の各処理について、少なくとも1つのサブ処理を実行する制御装置等である。   For example, the control device or the like of the present invention performs the first to Mth (M is an integer) processes, the first process is realized by the subprocess 1a and the subprocess 1b, and the second process is the subprocess. Consider a case where each of the first to Mth processes can be divided into a plurality of sub-processes, as realized by 2a and sub-process 2b. In this case, the control device or the like on the server 700 side performs sub-processing 1a, sub-processing 2a,... Sub-processing Ma, and the control device or the like provided on the robot side performs sub-processing 1b, sub-processing 2b,. Distributed processing such as performing processing Mb is conceivable. At this time, the control device or the like according to the present embodiment, that is, the control device or the like that executes the first to Mth processes may be a control device or the like that executes the sub-process 1a to the sub-process Ma, A control device or the like that executes sub-processing 1b to sub-processing Mb may be used, or a control device or the like that executes all of sub-processing 1a to sub-processing Ma and sub-processing 1b to sub-processing Mb. Furthermore, the control device or the like according to the present embodiment is a control device or the like that executes at least one sub-process for each of the first to M-th processes.

これにより、例えばロボット側の端末装置(例えば図3の制御装置200)よりも処理能力の高いサーバー700が、処理負荷の高い処理を行うこと等が可能になる。さらに、サーバー700が各ロボットの動作を一括して制御することができ、例えば複数のロボットに協調動作をさせること等が容易になる。   As a result, for example, the server 700 having a higher processing capability than the terminal device on the robot side (for example, the control device 200 in FIG. 3) can perform processing with a high processing load. Furthermore, the server 700 can collectively control the operations of the robots, and for example, it is easy to cause a plurality of robots to perform coordinated operations.

また近年は、多品種少数の部品を製造することが増えてきている。そして、製造する部品の種類を変更する場合には、ロボットが行う動作を変更する必要がある。図6に示すような構成であれば、複数のロボットの各ロボットへ教示作業をし直さなくても、サーバー700が一括して、ロボットが行う動作を変更すること等が可能になる。さらに、各ロボットに対して一つの制御装置200等を設ける場合に比べて、制御装置200等のソフトウェアアップデートを行う際の手間を大幅に減らすこと等が可能になる。   In recent years, the production of a small number of various types of parts has been increasing. And when changing the kind of components to manufacture, it is necessary to change the operation | movement which a robot performs. With the configuration as shown in FIG. 6, it is possible to change the operations performed by the robot in a batch without the server 700 performing the teaching operation for each of the plurality of robots again. Furthermore, compared with the case where one control device 200 or the like is provided for each robot, it is possible to significantly reduce the trouble of performing software update of the control device 200 or the like.

3.処理の詳細
本実施形態の処理の詳細について説明する。まず前提として一般的に用いられているヤコビアンを利用したロボットの制御(ビジュアルサーボ)を説明する。次に、本実施形態の手法であるヤコビアンの記憶及び再利用について図11のフローチャート等を用いて説明する。さらに図11のS105に対応するヤコビアンの修正処理について説明した後、ヤコビアンに対応付けて記憶される付加的な情報について説明する。最後に、ヤコビアンの再利用における変形例を説明する。
3. Details of Processing Details of processing according to the present embodiment will be described. First, robot control (visual servo) using a Jacobian that is generally used as a premise will be described. Next, Jacobian storage and reuse, which is a method of the present embodiment, will be described with reference to the flowchart of FIG. Further, after describing the Jacobian correction process corresponding to S105 in FIG. 11, additional information stored in association with the Jacobian will be described. Finally, a modification of Jacobian reuse will be described.

3.1 ヤコビアンを用いたロボットの制御
本実施形態に係る手法を説明する前に、一般的なビジュアルサーボ制御について説明する。ビジュアルサーボに用いる画像特徴量の次元数をn(nは整数)とした場合に、画像特徴量FはF=[F1,F2,・・・,Fn]となる画像特徴量ベクトルで表現される。Fの各要素は、例えば特徴点(制御点)の画像における座標値等を用いればよい。この場合、目標特徴量Fgも同様に、Fg=[Fg1,Fg2,・・・,Fgn]と表現される。
3.1 Control of Robot Using Jacobian Before explaining the method according to this embodiment, general visual servo control will be described. When the dimension number of the image feature quantity used for the visual servo is n (n is an integer), the image feature quantity F is expressed by an image feature quantity vector F = [F1, F2,..., Fn] T. The For each element of F, for example, a coordinate value or the like in an image of a feature point (control point) may be used. In this case, the target feature amount Fg is similarly expressed as Fg = [Fg1, Fg2,..., Fgn] T.

また、関節角についても、ロボット100(狭義にはアーム310)に含まれる関節数に対応する次元数の関節角ベクトルとして表現される。例えば、アーム310が6つの関節を有する6自由度のアームであれば、関節角ベクトルθは、θ=[θ1,θ2,・・・,θ6]と表現される。 The joint angle is also expressed as a joint angle vector having a number of dimensions corresponding to the number of joints included in the robot 100 (arm 310 in a narrow sense). For example, if the arm 310 is a six-degree-of-freedom arm having six joints, the joint angle vector θ is expressed as θ = [θ1, θ2,..., Θ6] T.

ビジュアルサーボでは、現在の画像特徴量Fが取得された場合に、当該画像特徴量Fと目標特徴量Fgとの差分をロボットの動きへフィードバックする。具体的には、画像特徴量Fと目標特徴量Fgの差分を小さくする方向にロボットを動作させる。そのためには、関節角θをどのように動かせば、画像特徴量Fがどのように変化する、という関係性を知らなくてはならない。一般的にこの関係性は非線形となり、例えばF1=g(θ1,θ2,θ3,θ4,θ5,θ6)となる場合に、関数gは非線形関数となる。   In the visual servo, when the current image feature amount F is acquired, the difference between the image feature amount F and the target feature amount Fg is fed back to the movement of the robot. Specifically, the robot is operated in a direction to reduce the difference between the image feature amount F and the target feature amount Fg. For this purpose, it is necessary to know the relationship that the image feature amount F changes if the joint angle θ is moved. In general, this relationship is non-linear. For example, when F1 = g (θ1, θ2, θ3, θ4, θ5, θ6), the function g is a non-linear function.

そこで、ビジュアルサーボにおいてヤコビアンJを用いる手法が広く知られている。2つの空間が非線形な関係にあっても、それぞれの空間での微少な変化量の間は線形な関係で表現することができる。ヤコビアンJはその微少変化量同士を関連づけるものである。   Therefore, a technique using Jacobian J in the visual servo is widely known. Even if the two spaces are in a non-linear relationship, a minute amount of change in each space can be expressed in a linear relationship. Jacobian J associates the minute change amounts.

具体的には、ロボット100の手先の位置姿勢PをP=[x,y,z,u,v,w]とした場合に、関節角の変化量と位置姿勢の変化量の間のヤコビアンJθPは、下式(1)で表現され、位置姿勢の変化量と画像特徴量変化量の間のヤコビアンJPFは、下式(2)で表現される。

Figure 2015131367
Figure 2015131367
Specifically, when the position / posture P of the hand of the robot 100 is P = [x, y, z, u, v, w] T , the Jacobian between the change amount of the joint angle and the change amount of the position / posture J [theta] P is expressed by the following equation (1), the Jacobian J PF between the change amount and the image feature amount variation of the position and orientation is expressed by the following equation (2).
Figure 2015131367
Figure 2015131367

そして、JθP,JPFを用いることで、Δθ、ΔP、ΔFの関係を下式(3)、(4)のように表記できる。JθPは一般的にロボットヤコビアンと呼ばれるものであり、ロボット100のリンク長や回転軸等の機構情報があれば解析的に算出することが出来る。一方、JPFは事前にロボット100の手先の位置姿勢を微少量変化させた際の画像特徴量の変化などから推測することが出来るし、JPFを動作中に随時推定する手法も提案されている。
ΔP=JθPΔθ ・・・・・(3)
ΔF=JPFΔP ・・・・・(4)
Then, by using J θP and J PF , the relationship between Δθ, ΔP, and ΔF can be expressed as the following expressions (3) and (4). J θP is generally called a robot Jacobian, and can be calculated analytically if there is mechanism information such as the link length and rotation axis of the robot 100. Meanwhile, J PF is to can be inferred from such pre-image feature amount when the position and orientation was small change in the amount of the hand of the robot 100 changes, it is also proposed a technique for any time estimate J PF during operation Yes.
ΔP = J θP Δθ (3)
ΔF = J PF ΔP (4)

さらに、上式(3)、(4)を用いることで、画像特徴量変化量ΔFと、関節角の変化量Δθの関係を下式(5)のように表現できる。
ΔF=JθFΔθ ・・・・・(5)
Furthermore, by using the above equations (3) and (4), the relationship between the image feature amount change amount ΔF and the joint angle change amount Δθ can be expressed as the following equation (5).
ΔF = J θF Δθ (5)

ここで、JθF=JθPPFであり、関節角の変化量と画像特徴量変化量の間のヤコビアンを表す。また、JθFを画像ヤコビアンと表記することもある。上式(3)〜(5)の関係性を図示したものが図7である。 Here, J θF = J θP J PF and represents the Jacobian between the change amount of the joint angle and the change amount of the image feature amount. J θF may be expressed as an image Jacobian. FIG. 7 illustrates the relationships of the above equations (3) to (5).

以上をふまえると、制御部110では、FとFgの差分をΔFとして、関節角の駆動量(関節角の変化量)Δθを求めればよい。このようにすれば、画像特徴量FをFgに近づけるための関節角の変化量を求めることができる。具体的には、ΔFからΔθを求めるため、上式(5)の両辺に左からJθFの逆行列JθF −1をかければよいが、さらに制御ゲインをλを考慮して、下式(6)により目標となる関節角の変化量Δθgを求める。
Δθg=−λJθF −1(F−Fg) ・・・・・(6)
Based on the above, the control unit 110 may determine the joint angle drive amount (joint angle change amount) Δθ by using the difference between F and Fg as ΔF. In this way, it is possible to obtain the amount of change in the joint angle for bringing the image feature amount F close to Fg. Specifically, for determining the Δθ from [Delta] F, from left to both sides of the above equation (5) may be multiplied by the inverse matrix J .theta.F -1 of J .theta.F but further the control gain in consideration of lambda, the following formula ( In step 6), a target change amount Δθg of the joint angle is obtained.
Δθg = −λJ θF −1 (F−Fg) (6)

なお、上式(6)ではJθFの逆行列JθF −1を求められるものとしているが、JθF −1を求められない場合には、JθFの一般化逆行列(疑似逆行列)JθF を用いてもよい。 In the above equation (6), it is assumed that an inverse matrix J θF −1 of J θF can be obtained. However, when J θF −1 cannot be obtained, a generalized inverse matrix (pseudo inverse matrix) J of J θF is obtained. θF # may be used.

上式(6)を用いることで、新たな画像が取得されるごとに、新たなΔθgが求められる。よって、取得した画像を用いて、目標となる関節角を更新しながら、ゴール状態(画像特徴量がFgとなる状態)に近づける制御を行うことが可能になる。この流れを図示したものが図8である。第m−1の画像(mは整数)から画像特徴量Fm−1が求められれば、上式(6)のF=Fm−1とすることでΔθgm−1を求めることができる。そして、第m−1の画像と、次の画像である第mの画像の間で、求めたΔθgm−1を目標としてロボット100の制御を行えばよい。そして、第mの画像が取得されたら、当該第mの画像から画像特徴量Fmを求め、上式(6)により新たな目標であるΔθgmを算出する。算出したΔθgmは、第mの画像と第m+1の画像の間で制御に用いられる。以下、この処理を収束するまで(画像特徴量がFgに充分近づくまで)継続すればよい。 By using the above equation (6), a new Δθg is obtained each time a new image is acquired. Therefore, it is possible to perform control to approximate the goal state (state where the image feature amount is Fg) while updating the target joint angle using the acquired image. This flow is illustrated in FIG. If the image feature amount F m−1 is obtained from the m− 1th image (m is an integer), Δθ gm−1 can be obtained by setting F = F m−1 in the above equation (6). Then, the robot 100 may be controlled between the m 1th image and the mth image as the next image with the calculated Δθ gm−1 as a target. When the m-th image is acquired, an image feature amount Fm is obtained from the m-th image, and Δθ gm that is a new target is calculated by the above equation (6). The calculated Δθ gm is used for control between the m-th image and the (m + 1) -th image. Hereinafter, this process may be continued until the image converges (until the image feature amount is sufficiently close to Fg).

3.2 記憶部に記憶されたヤコビアンの利用
上述のビジュアルサーボの説明では、ヤコビアンとしてJθFを用いるものとしたが、本実施形態においては、上式(3)、(4)に示したように、ヤコビアンをJθPとJPFに分離して考える。
3.2 Use of Jacobian Stored in Storage Unit In the description of the visual servo described above, J θF is used as the Jacobian. In the present embodiment, as shown in the above equations (3) and (4) to, think to separate the Jacobian to J θP and J PF.

本来、θとFとの間の非線形性は非常に強いものである。そのため、JθFが精度のよい近似となる領域は狭くなってしまい、JθFを関節角θに対応付けて記憶しておいても、当該JθFを再利用することが困難になってしまう。具体的には、所与の関節角θk(ここでのθkは例えば7つの関節角により表現されるベクトル)に対応付けてヤコビアンJθFkが記憶されていたとしても、当該ヤコビアンJθFkを再利用できるのは、関節角がθkに非常に近い範囲に限定されてしまう。そのため、記憶しているヤコビアンが再利用される頻度が低くなってしまう。また、所与の関節角においてヤコビアンの一からの演算をスキップするためには、非常に多くのヤコビアンを記憶する(例えば関節角に関する空間を図9のように格子状に分割する際に、格子1つ当たりのサイズが非常に小さくなる)ことになりメモリー容量を圧迫する等のおそれがある。 Originally, the nonlinearity between θ and F is very strong. Therefore, the region where J θF is an accurate approximation becomes narrow, and even if J θF is stored in association with the joint angle θ, it becomes difficult to reuse J θF . Specifically, even Jacobian J ShitaFk has been stored in association with the (vector represented by .theta.k for example seven joint angle here) given joint angle .theta.k, reuse the Jacobian J ShitaFk What can be done is limited to a range in which the joint angle is very close to θk. Therefore, the frequency with which the stored Jacobian is reused decreases. In addition, in order to skip computation from one Jacobian at a given joint angle, a very large number of Jacobians are stored (for example, when a space related to a joint angle is divided into a lattice as shown in FIG. There is a risk of squeezing the memory capacity.

ここで、図10(A)に示すθとFの関係は、位置姿勢Pを介在させることで、図10(B)に示すように非線形性の非常に強いθとPの関係、及び非線形性の非常に弱いPとFの関係に分離して考えることができる。そして、JPFを位置姿勢Pと対応付けて記憶しておくものとすれば、PとFの非線形性は弱いため、JPFがよい近似となる領域を広くすることができ再利用が容易である。つまり本実施形態においては、再利用が容易なJPFをPと対応付けて記憶しておき、ΔFから実際のロボット制御に必要な動作パラメーター(例えばΔθ)を求める際には、必要に応じてJθPを解析的に求めて用いるものとする。 Here, the relationship between θ and F shown in FIG. 10A is obtained by interposing the position and orientation P, and as shown in FIG. Can be separated into the very weak relationship between P and F. Then, if that stored in association with J PF and the position and orientation P, since weak nonlinearity of P and F, easily it can be reused possible to widen the area where J PF is a good approximation is there. In other words, in the present embodiment, a JPF that can be easily reused is stored in association with P, and when an operation parameter (for example, Δθ) necessary for actual robot control is obtained from ΔF, as necessary. J θP is obtained analytically and used.

まず本実施形態では、位置姿勢Pに関する空間を局所領域に分割する。これは例えば図9に示したように空間を格子状に分割すればよい。この局所領域は、当該局所領域内の位置姿勢であれば1つのヤコビアンが精度のよい近似となるようにサイズ設定が行われる。このようにすれば、所与の局所領域内の1つの位置姿勢においてヤコビアンが求められた場合、当該ヤコビアンは当該所与の局所領域内の他の位置姿勢においても、精度のよい近似として再利用することが可能となる。上述したように、JPFを用いることで、JθFを用いる場合に比べて局所領域サイズを大きくすることが可能である。 First, in this embodiment, the space related to the position and orientation P is divided into local regions. For example, the space may be divided into a lattice as shown in FIG. The size of this local region is set so that one Jacobian can be approximated accurately if it is a position and orientation within the local region. In this way, when a Jacobian is obtained at one position and orientation in a given local region, the Jacobian is reused as an accurate approximation in other positions and orientations within the given local region. It becomes possible to do. As described above, by using the J PF, it is possible to increase the local region size as compared with the case of using the J .theta.F.

なお、図9では3次元空間に設定された格子状の領域を示したが、位置姿勢Pは(x,y,z,u,v,w)の6次元となるため、局所領域も6次元空間に対して設定されるものである。   Although FIG. 9 shows a lattice-shaped region set in a three-dimensional space, the position and orientation P is six dimensions (x, y, z, u, v, w), so the local region is also six dimensions. It is set for the space.

図11に本実施形態の処理を説明するフローチャートを示す。この処理が開始されると、まず目標となる情報が取得される(S101)。ここで目標となる情報とは、例えば目標特徴量や目標特徴量に対応する位置姿勢である。そして、現在の位置姿勢に対応するヤコビアンが記憶部120に記憶されているか否かの判定を行う(S102)。具体的には、現在の位置姿勢が含まれる局所領域に対して、ヤコビアンが記憶されているかを判定する。すなわち、現在の位置姿勢と、記憶されているヤコビアンに対応付けられた位置姿勢は完全一致する必要はなく、局所領域サイズに対応する程度の誤差があってもよい。上述したように、ヤコビアンを用いることによる誤差が問題とならないように、局所領域が設定されることを前提とするためである。   FIG. 11 shows a flowchart for explaining the processing of this embodiment. When this process is started, target information is first acquired (S101). Here, the target information is, for example, a target feature amount or a position and orientation corresponding to the target feature amount. Then, it is determined whether or not a Jacobian corresponding to the current position and orientation is stored in the storage unit 120 (S102). Specifically, it is determined whether a Jacobian is stored for the local region including the current position and orientation. That is, the current position / posture and the position / posture associated with the stored Jacobian need not completely match, and there may be an error corresponding to the local region size. This is because, as described above, it is assumed that the local region is set so that an error caused by using the Jacobian does not become a problem.

対応するヤコビアンが記憶されている場合には、当該ヤコビアンを記憶部120から読み出し(S103)、ビジュアルサーボを実行する。この際、本実施形態では、JPFが読み出されることになるため、実際の動作パラメーター(例えばΔθ)を求めるために、ロボットヤコビアンJθPが必要となる点は上述したとおりである。JθPは例えばその都度解析的に求めてもよいし、JθPはロボットの構造が既知であれば計算可能であるから、種々のθに対して、JθPを事前に(ロボット動作前に)求めておいてもよい。いずれにせよ、本実施形態におけるヤコビアン演算の負荷とは、解析的に求めることができないFに関するヤコビアンの負荷を問題としており、JθPの演算負荷は大きな問題とならない。 If the corresponding Jacobian is stored, the Jacobian is read from the storage unit 120 (S103), and visual servoing is executed. In this case, in the present embodiment, this means that J PF is read in order to determine the actual operating parameters (e.g. [Delta] [theta]), is that the robot Jacobian J [theta] P is required as described above. J [theta] P is may be analytically determined in each case for example, from J [theta] P can be calculated if the structure of the robot is known, for various theta, in advance J [theta] P (before robot operation) You may ask for it. In any case, the Jacobian calculation load in this embodiment is a problem of the Jacobian load related to F that cannot be obtained analytically, and the calculation load of JθP does not become a large problem.

ヤコビアンが取得されたら、ビジュアルサーボを行い、その結果ロボットがゴールに近づいたかを判定する(S104)。ゴールに近づいた場合(S104でYesの場合)には、処理に用いたヤコビアンは適切なものであるとして、カウンターの更新処理(S106)及びタイムスタンプの更新処理(S107)を行う。一方、ゴールに近づいていない場合(S104でNoの場合)には、処理に用いたヤコビアンが適切でないものとしてヤコビアンの修正処理を行う(S105)。S105の修正処理の詳細については後述する。S105の処理後はタイムスタンプの更新処理が行われる(S107)。   When the Jacobian is acquired, visual servo is performed, and it is determined whether the robot has approached the goal as a result (S104). When approaching the goal (Yes in S104), it is determined that the Jacobian used for the process is appropriate, and the counter update process (S106) and the time stamp update process (S107) are performed. On the other hand, when it is not approaching the goal (No in S104), the Jacobian correction process is performed assuming that the Jacobian used for the process is not appropriate (S105). Details of the correction processing in S105 will be described later. After the process of S105, a time stamp update process is performed (S107).

カウンター数及びタイムスタンプは、ヤコビアンに対応付けられて記憶部120に記憶される情報である。カウンター数及びタイムスタンプの詳細については後述する。また、S108及びS109の処理はカウンター数を用いたものであるため、この処理についても後述する。いずれにせよ、S103〜S109のステップは、現在の位置姿勢に対応するヤコビアンが記憶部120に記憶されているケースであり、この場合ヤコビアンを一から演算する必要がないため処理負荷を軽減することが可能である。   The counter number and the time stamp are information stored in the storage unit 120 in association with the Jacobian. Details of the counter number and the time stamp will be described later. Further, since the processing of S108 and S109 uses the number of counters, this processing will also be described later. In any case, the steps from S103 to S109 are cases in which the Jacobian corresponding to the current position and orientation is stored in the storage unit 120. In this case, it is not necessary to calculate the Jacobian from scratch, so that the processing load is reduced. Is possible.

以上をまとめると、本実施形態の制御部110は、処理タイミングにおける作業対象物又はエンドエフェクター319の位置姿勢に対応するヤコビアンが、記憶部120に記憶されているか否かの判定を行い、対応するヤコビアンが記憶されている場合に、撮像画像特徴量と目標特徴量との差分情報(ΔF)と、記憶部120から読み出したヤコビアンとに基づいて、ロボット100の動作パラメーター(例えばΔθ)を求め、動作パラメーターに従って、ロボット100の制御を行うものとなる。   In summary, the control unit 110 according to the present embodiment determines whether or not the Jacobian corresponding to the position or orientation of the work object or the end effector 319 at the processing timing is stored in the storage unit 120 and responds accordingly. When the Jacobian is stored, the operation parameter (for example, Δθ) of the robot 100 is obtained based on the difference information (ΔF) between the captured image feature quantity and the target feature quantity and the Jacobian read from the storage unit 120. The robot 100 is controlled according to the operation parameters.

一方、現在の位置姿勢に対応するヤコビアンが記憶部120に記憶されていない場合(S102でNoの場合)には、新規にヤコビアンを生成(演算)する(S110)。これは例えば、現在の位置姿勢から、(x,y,z,u,v,w)のそれぞれを独立に微小変化させた際の画像特徴量Fの変化を求めればよい。その他、実測値を用いてヤコビアンを演算する手法は種々知られているため、詳細な説明は省略する。   On the other hand, when the Jacobian corresponding to the current position and orientation is not stored in the storage unit 120 (No in S102), a new Jacobian is generated (calculated) (S110). For example, the change in the image feature amount F when (x, y, z, u, v, w) is slightly changed independently from the current position and orientation may be obtained. In addition, since various methods for calculating the Jacobian using the actually measured values are known, detailed description thereof is omitted.

S110でヤコビアンが演算されたら、記憶部120のうちヤコビアンに関する記憶領域(エントリー)に空きがあるか否かを判定する(S111)。空きがある場合(S111でYesの場合)には、当該空き領域に、ヤコビアンを現在の位置姿勢に対応付けて記憶するとともに、当該ヤコビアンに対応するタイムスタンプを現時刻に設定し、カウンターを初期値にリセットする(S113)。ここでのカウンター数やタイムスタンプはS106等で用いられるものと同様であり、詳細については後述する。   When the Jacobian is calculated in S110, it is determined whether or not there is an empty storage area (entry) related to the Jacobian in the storage unit 120 (S111). If there is a vacancy (Yes in S111), the Jacobian is stored in the vacant area in association with the current position and orientation, the time stamp corresponding to the Jacobian is set to the current time, and the counter is initialized. The value is reset (S113). The number of counters and the time stamp here are the same as those used in S106 and the details will be described later.

一方、エントリーに空きがない場合(S111でNoの場合)には、いずれかのエントリーを削除して空きを作り(S112)、当該空き領域に対してS110で求めたヤコビアンを、位置姿勢やカウンター数等と対応付けて記憶する(S113)。S112の処理の詳細については後述する。   On the other hand, if there is no vacancy in the entry (No in S111), one of the entries is deleted to create a vacancy (S112), and the Jacobian obtained in S110 for the vacant area is replaced with the position / posture and counter. The number is stored in association with the number (S113). Details of the process of S112 will be described later.

以上をまとめると、本実施形態の制御部110は、処理タイミングにおける作業対象物又はエンドエフェクター319の位置姿勢に対応するヤコビアンが、記憶部120に記憶されていない場合に、処理タイミングの位置姿勢に対応するヤコビアンを求め、記憶部120は、求めたヤコビアンを、処理タイミングにおける作業対象物又はエンドエフェクター319の位置姿勢に対応づけて記憶するものとなる。   In summary, the control unit 110 according to the present embodiment sets the position / posture of the processing timing when the Jacobian corresponding to the position / posture of the work object or the end effector 319 at the processing timing is not stored in the storage unit 120. The corresponding Jacobian is obtained, and the storage unit 120 stores the obtained Jacobian in association with the work object or the position and orientation of the end effector 319 at the processing timing.

このような処理を行うことで、現在の位置姿勢に対応するヤコビアンが既にある場合には、S103〜S109のように当該ヤコビアンを再利用し、対応するヤコビアンがない場合にはS110〜S113のようにヤコビアンを新規に演算することができる。よって、ヤコビアンを用いたロボット制御(ビジュアルサーボ)を適切に行いつつ、特許文献2等の従来手法に比べてヤコビアン演算に関する負荷を軽減することが可能になる。   By performing such processing, when there is already a Jacobian corresponding to the current position and orientation, the Jacobian is reused as in S103 to S109, and when there is no corresponding Jacobian as in S110 to S113. A new Jacobian can be calculated. Therefore, it is possible to reduce the load related to the Jacobian calculation as compared with the conventional method disclosed in Patent Document 2 while appropriately performing robot control (visual servo) using the Jacobian.

図11の処理の流れを具体例を用いて説明する。以下では、説明を簡略化するために図12に示すように位置姿勢を2次元空間として、平面格子状の領域を局所領域とするが、上述したように処理上は6次元空間等に拡張して考えればよい。   The process flow of FIG. 11 will be described using a specific example. In the following, in order to simplify the explanation, as shown in FIG. 12, the position and orientation is set as a two-dimensional space, and the planar grid area is set as a local area. However, as described above, the processing is expanded to a six-dimensional space or the like. Think about it.

図12に示したようにa1〜f6の局所領域が設定されている場合に、f1をスタートとしてa5まで移動するロボット制御を行うことを考える。その際、過去のロボット制御において演算が行われ、且つ現在まで削除されていないヤコビアンとして、Ja2,Jb2,Jd3,Je2,Je3,Jf1,Jf2が記憶部120に記憶されているとする。ここでJxy(xはa〜fのいずれかであり、yは1から5のいずれか)とは、局所領域xyに対応するヤコビアンを表す。   As shown in FIG. 12, when local regions a1 to f6 are set, it is assumed that robot control is performed to move to a5 starting from f1. At this time, it is assumed that Ja2, Jb2, Jd3, Je2, Je3, Jf1, and Jf2 are stored in the storage unit 120 as Jacobians that have been calculated in the past robot control and have not been deleted until now. Here, Jxy (x is any one of a to f and y is any one of 1 to 5) represents a Jacobian corresponding to the local region xy.

この場合、スタート後は位置姿勢がf1に含まれるため、対応するヤコビアンJf1は記憶部120に記憶されている。よって、S103〜S109に対応する処理が行われることになり、Jf1(及び対応するロボットヤコビアンJθP)を用いて動作パラメーターを求め、当該動作パラメーターに基づきロボット100が制御される。 In this case, since the position and orientation are included in f1 after the start, the corresponding Jacobian Jf1 is stored in the storage unit 120. Therefore, processing corresponding to S103 to S109 is performed, and an operation parameter is obtained using Jf1 (and corresponding robot Jacobian J θP ), and the robot 100 is controlled based on the operation parameter.

その後、図12の曲線に示したように、位置姿勢が局所領域f2に含まれるものとなった場合、f2に対応するヤコビアンが記憶されているかの判定が行われる。この場合もJf2は記憶されているため、S103〜S109に対応する処理となる。   After that, as shown by the curve in FIG. 12, when the position / posture is included in the local region f2, it is determined whether the Jacobian corresponding to f2 is stored. Also in this case, since Jf2 is stored, the processing corresponds to S103 to S109.

このようにロボットを制御していった結果、作業対象物又はエンドエフェクター319は、図12の曲線の軌道に従い、f1→f2→e2→d3と移動していき、この間は対応するヤコビアンが記憶済みであるため、ヤコビアンの新規演算は不要となる。しかし、図12の例では、Jd3を用いて制御を行った結果、位置姿勢はc3に含まれる位置姿勢となり、この場合、対応するJc3は記憶部120に記憶されていない。   As a result of controlling the robot in this way, the work object or the end effector 319 moves in the order of f1 → f2 → e2 → d3 according to the curved path of FIG. 12, during which the corresponding Jacobian is stored. Therefore, a new Jacobian operation is not necessary. However, in the example of FIG. 12, as a result of performing control using Jd3, the position and orientation become the position and orientation included in c3. In this case, the corresponding Jc3 is not stored in the storage unit 120.

このような状況では、図11のS110〜S113に対応する処理が行われることになり、具体的には現在の位置姿勢に対応するヤコビアンを新規演算し、Jc3として位置姿勢に対応付けて記憶する。この際、S112の処理が行われるのであれば、既存のヤコビアンのいずれかを削除してからJc3が記憶されることになる。   In such a situation, processing corresponding to S110 to S113 in FIG. 11 is performed. Specifically, a Jacobian corresponding to the current position and orientation is newly calculated and stored as Jc3 in association with the position and orientation. . At this time, if the process of S112 is performed, Jc3 is stored after deleting any of the existing Jacobians.

図12の例では、求めたJc3を用いた制御により位置姿勢が局所領域b3に移動し、ここでも対応するヤコビアンが記憶されていないためJb3を新規演算する。以下同様であり、a3,a4,a5についてもヤコビアンを新規演算しつつロボットを制御することで、a5まで作業対象物又はエンドエフェクター319を移動させることになる。   In the example of FIG. 12, the position and orientation is moved to the local region b3 by the control using the obtained Jc3, and the corresponding Jacobian is not stored in this case, so Jb3 is newly calculated. Hereinafter, the same applies to a3, a4, and a5, and the work target or the end effector 319 is moved to a5 by controlling the robot while newly calculating the Jacobian.

図12に示したロボット動作が終了し、さらに次のロボット動作が行われる場合には、図12のロボット動作終了時のヤコビアンが再利用の対象となる。例えば、S112の削除処理が行われなかったのであれば、図12の動作以前に記憶されていたJa2,Jb2,Jd3,Je2,Je3,Jf1,Jf2に加えて、Jc3,Jb3,Ja3,Ja4,Ja5もそれ以降のロボット動作において再利用可能となる。つまり、記憶容量の許す限りにおいては、ロボット動作を繰り返すほどヤコビアンの蓄積が進む傾向となるため、後の動作ほどヤコビアンの新規演算の可能性が低く、高速でのロボット動作等が可能となる。   When the robot operation shown in FIG. 12 is completed and the next robot operation is performed, the Jacobian at the end of the robot operation in FIG. 12 becomes the target of reuse. For example, if the deletion process in S112 has not been performed, in addition to Ja2, Jb2, Jd3, Je2, Je3, Jf1, Jf2 stored before the operation of FIG. 12, Jc3, Jb3, Ja3, Ja4 Ja5 can also be reused in subsequent robot operations. In other words, as long as the storage capacity permits, the accumulation of Jacobian tends to progress as the robot operation is repeated. Therefore, the possibility of new calculation of Jacobian is lower in later operations, and high-speed robot operations and the like are possible.

なお、以上の説明では現在の位置姿勢に対応するヤコビアンが記憶部120されているか否かを、(x,y,z,u,v,w)の6次元空間における局所領域を用いて判定していた。これは言い換えれば、各ヤコビアンを(x,y,z,u,v,w)をインデックスとして記憶しておき、現在の位置姿勢に対応するヤコビアンの有無をインデックスを利用して探索する処理と考えることができる。しかし、インデックスとして位置姿勢の6次元を全て用いる必要はなく、(x,y,z)の3次元だけを用いてもよい。この場合、xyzの3次元空間を局所領域に分割し、現在の位置に対応する局所領域に対応するヤコビアンが記憶されているか否かを判定すればよいことになる。   In the above description, whether or not the Jacobian corresponding to the current position and orientation is stored in the storage unit 120 is determined using the local region in the six-dimensional space (x, y, z, u, v, w). It was. In other words, each Jacobian is stored as an index (x, y, z, u, v, w), and the presence / absence of a Jacobian corresponding to the current position and orientation is searched using the index. be able to. However, it is not necessary to use all six dimensions of the position and orientation as the index, and only the three dimensions (x, y, z) may be used. In this case, it is only necessary to divide the xyz three-dimensional space into local regions and determine whether or not the Jacobian corresponding to the local region corresponding to the current position is stored.

これは例えば、局所領域が設定される3次元空間に設定される直交座標系と、ロボットのエンドエフェクター319の姿勢(ロボットの手先座標系)の間で変換処理を行うことで実現できる。具体的には、所与の位置姿勢(x,y,z,u,v,w)に対応するヤコビアンが演算された場合に、位置姿勢のうちの姿勢部分(u,v,w)をxyz空間に規定される所与の直交座標系に対応する姿勢とする変換処理を行った上で記憶しておく。演算されたヤコビアンに対応する姿勢は通常一定ではなく、種々の姿勢が考えられるが、これを所与の基準姿勢に統一してしまう処理に対応する。この場合、ヤコビアンの記憶において姿勢を考慮しなくてもよいため、ヤコビアンに対応付けられるインデックスはxyzの3つでよく、これは図9に示したように局所領域が3次元空間に設定されることに相当する。   This can be realized, for example, by performing a conversion process between an orthogonal coordinate system set in a three-dimensional space in which a local region is set and a posture of a robot end effector 319 (robot hand coordinate system). Specifically, when a Jacobian corresponding to a given position / posture (x, y, z, u, v, w) is calculated, the posture portion (u, v, w) of the position / posture is represented by xyz. It is memorized after performing a conversion process to obtain a posture corresponding to a given orthogonal coordinate system defined in the space. The posture corresponding to the calculated Jacobian is usually not constant, and various postures are conceivable. This corresponds to a process of unifying this into a given reference posture. In this case, since it is not necessary to consider the posture in the memory of the Jacobian, the index associated with the Jacobian may be three, xyz, and the local region is set in the three-dimensional space as shown in FIG. It corresponds to that.

そして記憶したヤコビアンを読み出して利用する際に、その際のロボットの姿勢と上記基準姿勢との関係を用いて変換処理を行う。xyzの3つをインデックスとしたヤコビアンは、エンドエフェクター319の姿勢が上記基準姿勢であるという条件で精度よく用いることができるものであり、任意の姿勢で用いることができるものではない。しかし、ロボット自身はエンドエフェクター319の姿勢を知ることができるのであるから、当該姿勢と上記基準姿勢との間での相互変換は容易なことである。つまり、xyzをインデックスとして記憶されたヤコビアンを、現在のxyzを用いて探索するとともに、対応するヤコビアンが見つかった場合には、そのまま利用するのではなく、上記基準姿勢を現在の姿勢とするような変換処理を加えた上で利用すればよい。このようにすれば、ヤコビアンに対応付けて記憶する位置姿勢(インデックス)は、(x,y,z,u,v,w)の6つではなく、(x,y,z)の3つとすることができるため、所望のヤコビアンの探索を容易にすることが可能である。   When the stored Jacobian is read and used, conversion processing is performed using the relationship between the robot posture at that time and the reference posture. The Jacobian with the three xyz as an index can be used with high accuracy under the condition that the posture of the end effector 319 is the reference posture, and cannot be used in any posture. However, since the robot itself can know the posture of the end effector 319, mutual conversion between the posture and the reference posture is easy. In other words, the Jacobian stored using xyz as an index is searched using the current xyz, and when the corresponding Jacobian is found, it is not used as it is, but the reference posture is set as the current posture. You may use it after adding conversion processing. In this way, the position and orientation (index) stored in association with the Jacobian is not (x, y, z, u, v, w), but three (x, y, z). Therefore, it is possible to easily search for a desired Jacobian.

なお、インデックスを(x,y,z)の3つだけにすると言っても、姿勢を所与の基準姿勢に統一して処理を行っているに過ぎず、姿勢に関する情報が完全に失われているものではない。つまりこの場合であっても、各ヤコビアンに対して姿勢に関する情報が関連づけられている点に変わりはない。よって、本明細書における「作業対象物又はロボットのエンドエフェクターの位置姿勢と、ヤコビアンとを対応づけて記憶する」との記載は、ヤコビアンのインデックスとして(x,y,z,u,v,w)の6つを用いるケースと、(x,y,z)の3つを用いるケースの両方を含む概念である。   Note that even if only three indexes (x, y, z) are used, the processing is only performed by unifying the posture to the given reference posture, and information on the posture is completely lost. It is not. That is, even in this case, there is no change in that information regarding the posture is associated with each Jacobian. Therefore, the description “store the position and orientation of the work target or the robot end effector and the Jacobian in association with each other” in the present specification is (x, y, z, u, v, w) as the Jacobian index. ), And a case using three (x, y, z).

3.3 ヤコビアンの修正処理
次に、図11のS105に対応するヤコビアンの修正処理について説明する。S105に示したように、制御部110は、ビジュアルサーボが成功していない場合に、ヤコビアンを修正する修正処理を行い、記憶部120は、修正処理後のヤコビアンを、作業対象物又はエンドエフェクター319の位置姿勢に対応づけて記憶する。ここで、ビジュアルサーボが成功したか否かは、ヤコビアンを用いたロボット100の制御を行うことで求められる撮像画像特徴量と、ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値よりも大きいか否かを判定すればよく、差分値が閾値以下である場合にビジュアルサーボが成功したと判定する。
3.3 Jacobian Correction Processing Next, the Jacobian correction processing corresponding to S105 in FIG. 11 will be described. As shown in S105, the control unit 110 performs a correction process for correcting the Jacobian when the visual servo is not successful, and the storage unit 120 converts the Jacobian after the correction process into a work object or an end effector 319. It is stored in association with the position and orientation of. Here, whether or not the visual servo has succeeded is determined by a difference value between the captured image feature amount obtained by controlling the robot 100 using the Jacobian and the provisional target feature amount estimated from the Jacobian. What is necessary is just to determine whether it is larger than a threshold value, and when a difference value is below a threshold value, it determines with visual servo having succeeded.

説明を容易にするため、以下ではまず図13に示したように1次元の場合を考える。図13のxは実際にはP或いはθに対応するため、6次元や7次元の変数となる。また、Fについても実際には画像特徴量に対応するため、一般的に次数は1次よりも大きいものとなる。   In order to facilitate the explanation, the following will first consider the one-dimensional case as shown in FIG. Since x in FIG. 13 actually corresponds to P or θ, it becomes a 6-dimensional or 7-dimensional variable. Since F also actually corresponds to the image feature amount, the order is generally larger than the first order.

図13に示したように、所与のタイミングnにおいて、変数の値がxであり、画像特徴量はF(x)=Fであったとする。さらに、xでのヤコビアンがJであり、Jは図13のA1に示した直線に対応するものであったとする。なお、ヤコビアンは1次微分項の係数に対応するものであるため、図13の例であればJは直線A1の傾きに対応する。 As shown in FIG. 13, at a given timing n, the value of the variable is x n, an image feature amount is assumed to be F (x n) = F n . Furthermore, Jacobian at x n is the J n, and J n are corresponded to the straight line shown in A1 of FIG. 13. Since the Jacobian corresponds to the coefficient of the first-order differential term, J n corresponds to the slope of the straight line A1 in the example of FIG.

この場合、次のタイミングn+1での画像特徴量の目標値がFn+1であったとすると、A1に対応するヤコビアンJを用いることで、変数xをΔxだけ変更すれば、変更後の変数xn+1(=x+Δx)において画像特徴量が目標値Fn+1となることが期待されるxn+1(或いはΔx)を求めることができる。ここでのFn+1が上述した暫定目標特徴量に対応する。 In this case, if the target value of the image feature amount at the next timing n + 1 is F n + 1 , the variable x n after the change can be obtained by changing the variable x n by Δx by using the Jacobian J n corresponding to A1. It is possible to obtain x n + 1 (or Δx) at which the image feature amount is expected to be the target value F n + 1 at n + 1 (= x n + Δx). Here, F n + 1 corresponds to the provisional target feature amount described above.

しかしながら、ヤコビアンJには誤差が含まれたため、変数をxn+1に変更した場合に、画像特徴量は期待したFn+1にはならず、F n+1=F(xn+1)となってしまった。この場合、xにおいて用いるべきであったヤコビアンJは、A1ではなくA2の方が適切と考えられる。A2は図13からわかるように、xからxn+1に変数を変更した場合に、画像特徴量Fの変化を正確に(少なくとも実測値に合致するように)変更するものだからである。 However, since the Jacobian J n includes an error, when the variable is changed to x n + 1 , the image feature amount does not become the expected F n + 1, but becomes F * n + 1 = F (x n + 1 ). . In this case, the Jacobian J n that was to be used in x n is considered to be more appropriate for the A1 rather A2. This is because, as can be seen from FIG. 13, when the variable is changed from xn to xn + 1 , A2 changes the change in the image feature amount F accurately (at least so as to match the actual measurement value).

よってヤコビアンの修正処理としては、実際に用いた変数xとxn+1(Δx)、及び実際に取得された特徴量F、F n+1、及び期待された特徴量Fn+1を用いて、A1に対応するJをA2に対応するJn+1に変更する処理を行えばよい。具体的には、修正後のヤコビアンJn+1は、直線A2の傾きとなるのであるから、下式(7)或いは下式(7)を変形した下式(8)を用いればよい。

Figure 2015131367
Figure 2015131367
Therefore, as the Jacobian correction processing, A1 using the variables x n and x n + 1 (Δx) actually used, the actually acquired feature amounts F n and F * n + 1 , and the expected feature amount F n + 1 are used. the J n corresponding to processing may be performed to change J n + 1 corresponding to A2. Specifically, since the corrected Jacobian J n + 1 has an inclination of the straight line A2, the following expression (7) or the following expression (8) obtained by modifying the following expression (7) may be used.
Figure 2015131367
Figure 2015131367

実際の処理に用いる際には、上述したようにFを画像特徴量の次元数に拡張するとともに、XをP又はθの次元数に拡張すればよい。具体的には、上式(7)を下式(9)に拡張する、或いは上式(8)を下式(10)に拡張すればよい。

Figure 2015131367
Figure 2015131367
When used in actual processing, as described above, F may be expanded to the number of dimensions of the image feature amount, and X may be expanded to the number of dimensions of P or θ. Specifically, the above equation (7) may be expanded to the following equation (9), or the above equation (8) may be expanded to the following equation (10).
Figure 2015131367
Figure 2015131367

なお、ここで説明したヤコビアンの修正処理は一例であり、他の手法を用いてもよい。具体的には、Broyden's method等の非線形最適化手法を広く適用することが可能である。   The Jacobian correction process described here is merely an example, and other methods may be used. Specifically, nonlinear optimization methods such as Broyden's method can be widely applied.

3.4 付加的な情報
次に、ヤコビアンに対応付けて記憶される付加的な情報について説明する。図11のS106に示したように、記憶部120は、ヤコビアンを用いたロボット100の制御が行われた回数を表すカウンター情報を、ヤコビアンとを対応づけて記憶する。
3.4 Additional Information Next, additional information stored in association with the Jacobian will be described. As illustrated in S106 of FIG. 11, the storage unit 120 stores counter information indicating the number of times the robot 100 is controlled using the Jacobian in association with the Jacobian.

なお、S106の処理が、S104でYesの場合(ビジュアルサーボが成功した場合)に行われ、S104でNoの場合に行われないことから、カウンター情報(カウンター数)は、対応するヤコビアンが処理に用いられ、且つ当該処理が成功した(例えば当該処理により目標状態に適切に近づいた)回数であると考えることができる。   In addition, since the process of S106 is performed when Yes in S104 (when the visual servo is successful) and is not performed when No in S104, the corresponding Jacobian is processed by the corresponding Jacobian. It can be considered that this is the number of times that the process has been used successfully (for example, the process has appropriately approached the target state).

つまり、本実施形態の制御部110は、ヤコビアンを用いたロボット100の制御を行うことで求められる撮像画像特徴量と、ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値以下である場合に、ヤコビアンに対応づけられたカウンター情報を増加させる更新処理を行う。ここで暫定目標特徴量とは、図13におけるFn+1に対応するものであり、当該ヤコビアンに全く誤差がなければ、撮像画像特徴量が当該値となることが期待される特徴量である。なお、上式(6)に示したように、一般的には1以下のゲイン量λが演算に用いられるため、暫定目標特徴量はゴール状態に対応する目標特徴量とは異なる値となる。 That is, the control unit 110 according to the present embodiment has a difference value between a captured image feature amount obtained by controlling the robot 100 using a Jacobian and a provisional target feature amount estimated from the Jacobian equal to or less than a given threshold value. If it is, an update process for increasing the counter information associated with the Jacobian is performed. Here, the provisional target feature amount corresponds to F n + 1 in FIG. 13, and is a feature amount that the captured image feature amount is expected to be the value when there is no error in the Jacobian. Note that, as shown in the above equation (6), since a gain amount λ of 1 or less is generally used for calculation, the provisional target feature amount is different from the target feature amount corresponding to the goal state.

つまり、ヤコビアンに対応付けられたカウンター数が大きいことは、当該ヤコビアンにより適切な処理が多くの回数行われたことを表す。よって本実施形態では、制御部110は、ヤコビアンを用いた処理により求められる動作パラメーターの値を、ヤコビアンに対応づけられたカウンター情報に基づいて調整してもよい。具体的には、上式(6)に示したゲイン量λの値を大きくすることが考えられる。ゲイン量を大きくすることで、対応するヤコビアンを用いた処理において一度にロボット100を移動させる距離が大きくなる。通常、移動距離を大きくしてしまうと理想的な移動に対する誤差が大きくなってしまうが、カウンター数が大きく、精度が高いと推定されるヤコビアンについては、当該誤差を小さく抑えることが可能である。また、ゲイン量を大きくし、それに伴い移動量を大きくすれば、ロボット100を高速で目標状態とすること等も可能になる。   That is, a large number of counters associated with a Jacobian indicates that appropriate processing has been performed many times by the Jacobian. Therefore, in the present embodiment, the control unit 110 may adjust the value of the operation parameter obtained by the processing using the Jacobian based on the counter information associated with the Jacobian. Specifically, it is conceivable to increase the value of the gain amount λ shown in the above equation (6). By increasing the gain amount, the distance for moving the robot 100 at a time in the processing using the corresponding Jacobian increases. Normally, when the movement distance is increased, an error for ideal movement is increased. However, for a Jacobian estimated to have a large number of counters and high accuracy, the error can be suppressed to a small value. Further, if the gain amount is increased and the movement amount is increased accordingly, the robot 100 can be brought into a target state at a high speed.

この処理を示したものが図11のS108及びS109であり、S108ではカウンター数と所与の閾値との比較処理を行い、カウンター数が閾値よりも大きければゲイン量を更新する(S109)。具体的にはゲイン量を大きくする更新処理を行えばよい。なお、S109ではゲイン量を大きくするとともに、カウンター数をリセットしている。このようにすれば、所与のヤコビアンに対応付けられたゲイン量が連続的に大きくなることを抑止できる。また、ゲイン量を大きくすることで誤差も大きくなるため、そのような状況でも当該ヤコビアンが精度の高いものか否かを再度判定することが可能になる。   This process is shown in S108 and S109 in FIG. 11. In S108, the counter number is compared with a given threshold value. If the counter number is larger than the threshold value, the gain amount is updated (S109). Specifically, an update process for increasing the gain amount may be performed. In S109, the gain amount is increased and the counter number is reset. In this way, it is possible to prevent the gain amount associated with a given Jacobian from increasing continuously. Further, since the error increases as the gain amount is increased, it is possible to determine again whether or not the Jacobian is highly accurate even in such a situation.

また、S107に示したように付加情報としてタイムスタンプを用いてもよい。具体的には、記憶部120は、ヤコビアンを用いた処理が行われたタイミングを表すタイムスタンプ情報を、ヤコビアンとを対応づけて記憶し、制御部110は、ヤコビアンを用いたロボット100の制御を行った場合に、ヤコビアンに対応づけられたタイムスタンプ情報を更新する処理を行う。さらに具体的には、S107において、ヤコビアンを用いた処理のタイミング(例えばS103における演算タイミングであってもよいし、S107の処理が行われるタイミングであってもよい)を用いてタイムスタンプ情報を上書きする処理を行えばよい。このようにすれば、記憶部120に記憶されるヤコビアンのそれぞれについて、当該ヤコビアンが最後に処理に用いられたタイミングを特定することが可能になる。   Further, as shown in S107, a time stamp may be used as additional information. Specifically, the storage unit 120 stores time stamp information indicating the timing at which processing using the Jacobian is performed in association with the Jacobian, and the control unit 110 controls the robot 100 using the Jacobian. If so, processing is performed to update the time stamp information associated with the Jacobian. More specifically, in S107, the time stamp information is overwritten using the processing timing using the Jacobian (for example, the calculation timing in S103 or the timing at which the processing in S107 is performed). The processing to be performed may be performed. In this way, for each Jacobian stored in the storage unit 120, it is possible to specify the timing at which the Jacobian was last used for processing.

その場合、S112に示したように、記憶容量に限界がある場合に、タイムスタンプを基準として削除対象のヤコビアンを決定することが可能になる。具体的には、制御部110は、タイムスタンプ情報に基づいて、記憶部120から削除されるヤコビアンを決定する処理を行う。さらに具体的には、記憶されたヤコビアンのうち、タイムスタンプが最も古いヤコビアンを削除対象とすればよい。   In that case, as shown in S112, when the storage capacity is limited, it is possible to determine the Jacobian to be deleted based on the time stamp. Specifically, the control unit 110 performs processing for determining a Jacobian to be deleted from the storage unit 120 based on the time stamp information. More specifically, among the stored Jacobians, the Jacobian with the oldest time stamp may be set as the deletion target.

なお、図11のフローチャート及び以上の説明では、カウンター数はゲイン量の設定に用いられ、タイムスタンプが削除対象の決定に用いられるものとしたがこれには限定されない。カウンター数を削除対象の決定に用いたり、タイムスタンプに応じてゲイン量の変動度合いを制御することも可能であるし、カウンター数やタイムスタンプを他の指標値に関する処理において用いることも可能である。   In the flowchart of FIG. 11 and the above description, the counter number is used to set the gain amount, and the time stamp is used to determine the deletion target. However, the present invention is not limited to this. The number of counters can be used to determine the deletion target, the degree of gain variation can be controlled according to the time stamp, and the counter number and time stamp can also be used in processing related to other index values. .

図14に本実施形態の記憶部120に記憶されるデータ構造の例を示す。記憶部120は、ヤコビアンを、位置姿勢と、カウンター数と、タイムスタンプと、ゲイン量とに関連づけて記憶する。ヤコビアンは、例えば位置姿勢の変化量と画像特徴量の変化量を対応付けるものであり、位置姿勢の次元数及び画像特徴量の次元数に対応する行列となる。位置姿勢は例えば(x,y,z,u,v,w)の6次元により表現される。ただし、上述したように所与の基準姿勢をインデックスとして用いる例であれば、姿勢情報については所与の基準姿勢(ur,vr,wr)に統一できるため、データ構造にはxyzだけ記憶するものとしてもよい。カウンター数は例えば所与の整数を用いて表現できる。タイムスタンプは、年日時分を用いて表現される情報でもよいし、所与のタイミングを基準とした相対時間(経過時間)であってもよい。ゲイン量は例えば1以下の数であり、上式(6)等に処理に用いられる情報である。ただし、記憶部120に記憶されるデータの構造は図14に限定されるものではなく、一部を省略(例えばカウンター数、タイムスタンプ、ゲイン量の少なくとも1つを省略)してもよい。   FIG. 14 shows an example of the data structure stored in the storage unit 120 of this embodiment. The storage unit 120 stores the Jacobian in association with the position and orientation, the counter number, the time stamp, and the gain amount. The Jacobian, for example, associates the amount of change in position and orientation with the amount of change in image feature, and is a matrix corresponding to the number of dimensions of the position and orientation and the number of dimensions of the image feature. The position and orientation are expressed by, for example, six dimensions (x, y, z, u, v, w). However, in the example using a given reference posture as an index as described above, the posture information can be unified to the given reference posture (ur, vr, wr), so only xyz is stored in the data structure. It is good. The number of counters can be expressed using, for example, a given integer. The time stamp may be information expressed using the date and time, or may be a relative time (elapsed time) based on a given timing. The gain amount is, for example, a number of 1 or less, and is information used for processing in the above equation (6). However, the structure of the data stored in the storage unit 120 is not limited to that shown in FIG. 14, and a part thereof may be omitted (for example, at least one of the counter number, time stamp, and gain amount is omitted).

3.5 変形例
最後に本実施形態の変形例について説明する。上述の説明では、処理タイミングにおける位置姿勢に対応する局所領域を特定し、当該局所領域に対応するヤコビアンが記憶されている場合に当該ヤコビアンを再利用するものとしていた。つまり、誤差を考慮して、ヤコビアンを再利用できる位置姿勢の範囲を狭いものに限定し、当該範囲外であればヤコビアンを新規演算するものとしていた。
3.5 Modified Example Finally, a modified example of the present embodiment will be described. In the above description, the local area corresponding to the position and orientation at the processing timing is specified, and when the Jacobian corresponding to the local area is stored, the Jacobian is reused. That is, in consideration of errors, the position and orientation range in which the Jacobian can be reused is limited to a narrow range, and if it is outside the range, the Jacobian is newly calculated.

しかし本実施形態の手法はこれに限定されず、対応する局所領域のヤコビアンが記憶されていなくても、近傍の(例えば隣接する)局所領域のヤコビアンを流用してもよい。具体的には、制御部110は、処理タイミングにおける作業対象物又はエンドエフェクター319の位置姿勢に対応するヤコビアンが、記憶部120に記憶されていない場合に、処理タイミングにおける位置姿勢から、位置姿勢座標空間における空間距離が所与の距離範囲内である所定範囲内位置姿勢に対応するヤコビアンが、記憶部120に記憶されているかの判定を行う。そして、所定範囲内位置姿勢に対応するヤコビアンが、記憶部120に記憶されている場合には、所定範囲内位置姿勢に対応するヤコビアンを、処理タイミングにおける位置姿勢に対応するヤコビアンとして求め、記憶部120は、ヤコビアンを処理タイミングにおける作業対象物又はエンドエフェクターの位置姿勢に対応づけて記憶する。図12の例であれば、局所領域c3に対応するヤコビアンJc3が記憶されていない場合に、ヤコビアンを新規演算するのではなく、Jd3やJb2をc3に対応するヤコビアンとして利用する。   However, the method of the present embodiment is not limited to this, and the Jacobian of the local region in the vicinity (for example, adjacent) may be used even if the corresponding local region Jacobian is not stored. Specifically, when the Jacobian corresponding to the position or orientation of the work object or the end effector 319 at the processing timing is not stored in the storage unit 120, the control unit 110 calculates the position and orientation coordinates from the position and orientation at the processing timing. It is determined whether a Jacobian corresponding to a position / posture within a predetermined range in which the spatial distance in the space is within a given distance range is stored in the storage unit 120. When the Jacobian corresponding to the position / posture within the predetermined range is stored in the storage unit 120, the Jacobian corresponding to the position / posture within the predetermined range is obtained as the Jacobian corresponding to the position / posture at the processing timing, and the storage unit 120 stores the Jacobian in association with the position and orientation of the work object or the end effector at the processing timing. In the example of FIG. 12, when the Jacobian Jc3 corresponding to the local region c3 is not stored, the Jacobian is not newly calculated, but Jd3 or Jb2 is used as the Jacobian corresponding to c3.

このようにすれば、ヤコビアンを再利用できる距離範囲が広くとれるため、ヤコビアンを新規演算する頻度を低くでき、処理負荷軽減及びロボット動作の高速化が可能になる。ここで位置姿勢座表空間における空間距離とは、例えば(x,y,z,u,v,w)の6次元空間における空間距離である。空間距離は、ユークリッド距離やマハラビノス距離等、種々の距離を用いることができる。   In this way, since the distance range in which the Jacobian can be reused can be widened, the frequency of newly calculating the Jacobian can be reduced, and the processing load can be reduced and the robot operation speeded up. Here, the spatial distance in the position / posture coordinate space is, for example, a spatial distance in a six-dimensional space of (x, y, z, u, v, w). Various distances such as Euclidean distance and Mahalanobis distance can be used as the spatial distance.

ただし、ヤコビアンを再利用する距離範囲が広くなれば、当該ヤコビアンを本来使うべき位置姿勢と、処理タイミングでの位置姿勢の差異が大きくなり、ヤコビアンを用いた処理の精度が低下する(目標特徴量に適切に近づかなくなる)おそれがある。よって、図13等を用いて上述したように、近傍のヤコビアンを流用するだけではなく、誤差を小さくする修正処理を行うことが望ましい。   However, if the distance range in which the Jacobian is reused becomes wider, the difference between the position and orientation at which the Jacobian should be used and the position and orientation at the processing timing will increase, and the accuracy of processing using the Jacobian will decrease (target feature value) You may not be able to get close to it properly). Therefore, as described above with reference to FIG. 13 and the like, it is desirable not only to use the nearby Jacobian but also to perform a correction process that reduces the error.

この場合、制御部110は、所定範囲内位置姿勢に対応するヤコビアンが、記憶部120に記憶されていない場合に、処理タイミングにおける位置姿勢に対応するヤコビアンを求め(新規に演算し)、記憶部120は、ヤコビアンを、処理タイミングにおける作業対象物又はエンドエフェクター319の位置姿勢に対応づけて記憶する。   In this case, when the Jacobian corresponding to the position and orientation within the predetermined range is not stored in the storage unit 120, the control unit 110 obtains (newly calculates) the Jacobian corresponding to the position and orientation at the processing timing, and stores the storage unit. 120 stores the Jacobian in association with the work object or the position and orientation of the end effector 319 at the processing timing.

以上の変形例の処理を説明するフローチャートが図15である。図15のS201〜S209は図11のS101〜S109と同様である。処理タイミングの位置姿勢を含む局所領域に対応するヤコビアンが記憶されていれば、当該ヤコビアンを用いればよい。一方、処理タイミングの位置姿勢を含む局所領域に対応するヤコビアンが記憶されていない場合には、即座にヤコビアンを新規演算するのではなく、上述したように所与の距離範囲内となるヤコビアンを探索する(S210)。ここでヤコビアンが見つかれば、当該ヤコビアンを用いて処理を行い(S211)、ビジュアルサーボが成功したか否かを判定する(S212)。成功した場合には、そのまま当該ヤコビアンを記憶すればよいし、成功でない場合にはS205と同様に修正処理を行ってから(S213)、記憶すればよい。ヤコビアンの記憶については新規演算を行った場合と同様であり、S215〜S217に示したように、S111〜S113と同様の処理を行えばよい。   FIG. 15 is a flowchart for explaining the processing of the above modification. S201 to S209 in FIG. 15 are the same as S101 to S109 in FIG. If the Jacobian corresponding to the local region including the position and orientation at the processing timing is stored, the Jacobian may be used. On the other hand, when the Jacobian corresponding to the local region including the position and orientation of the processing timing is not stored, instead of immediately calculating a new Jacobian, the Jacobian that falls within the given distance range is searched as described above. (S210). If a Jacobian is found here, processing is performed using the Jacobian (S211), and it is determined whether the visual servo is successful (S212). If successful, the Jacobian may be stored as it is, and if not successful, the correction processing may be performed as in S205 (S213) and stored. The storage of the Jacobian is the same as in the case of performing a new calculation, and as shown in S215 to S217, the same processing as S111 to S113 may be performed.

また、本変形例では、S202でNoであり且つS210でNoの場合、すなわち処理タイミングでの局所領域に対応するヤコビアンも、近傍でのヤコビアンも記憶されていない場合に、ヤコビアンを新規演算する(S214)。S214後の処理は、S215〜S217の処理を行えばよい。   Further, in this modification, when No in S202 and No in S210, that is, when neither the Jacobian corresponding to the local area at the processing timing nor the nearby Jacobian is stored, the Jacobian is newly calculated ( S214). The processing after S214 may be performed from S215 to S217.

また、以上の説明ではヤコビアンを新規演算する際には、位置姿勢の各値を独立に微小変化させた場合の実測値を用いる等、ある程度妥当性の高い値を求めるものとしていた。しかし、図13を用いて上述したように、ヤコビアンは逐次的に修正していくことが可能である。つまり、ヤコビアンの初期値としてランダムに発生させた値を用いてもよい。この場合、ランダム生成の直後はヤコビアンを用いた処理によりロボットがどの方向に移動するか(撮像画像特徴量がどの方向に変化するか)を規定できないため、ロボットを目標状態に近づけていくことが難しい。しかし、ヤコビアンを用いた処理を繰り返し、修正処理が行われていけば、当該ヤコビアンは精度の高いものとなっていく。   In the above description, when a new Jacobian is calculated, a value with a certain degree of validity is obtained, such as using an actual measurement value when each value of position and orientation is minutely changed independently. However, as described above with reference to FIG. 13, the Jacobian can be corrected sequentially. That is, a randomly generated value may be used as the initial value of the Jacobian. In this case, immediately after random generation, it is not possible to define in which direction the robot moves (by which direction the captured image feature value changes) by processing using the Jacobian, so the robot can be brought closer to the target state. difficult. However, if the process using the Jacobian is repeated and the correction process is performed, the Jacobian becomes highly accurate.

つまり、ヤコビアンの逐次修正を前提とする場合であれば、S110,或いはS214におけるヤコビアンの演算はランダムに発生させた値を用いるだけであってもよく、この場合ヤコビアンの演算に要する処理負荷を非常に軽いものとすることができる。例えば、上述したように位置姿勢を微小変化させる手法であれば、1つのヤコビアンを求める際にロボット動作を実行する必要があるが、ランダム生成であればロボットを動作させることなくヤコビアンを生成可能である。   In other words, if it is assumed that the Jacobian is sequentially corrected, the Jacobian calculation in S110 or S214 may use only a randomly generated value. In this case, the processing load required for the Jacobian calculation is extremely high. Can be light. For example, as described above, if the method is to change the position and orientation slightly, it is necessary to execute a robot operation when obtaining one Jacobian, but if it is generated randomly, the Jacobian can be generated without operating the robot. is there.

なお、本実施形態の制御装置200等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の制御装置200等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。   Note that the control device 200 or the like according to the present embodiment may realize part or most of the processing by a program. In this case, the control device 200 of this 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.

なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またロボット、制御装置等の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。   Although the present embodiment has been described in detail as described above, it will be easily understood by those skilled in the art that many modifications can be made without departing from the novel matters and effects of the present invention. Accordingly, all such modifications are intended to be included in the scope of the present invention. For example, a term described at least once together with a different term having a broader meaning or the same meaning in the specification or the drawings can be replaced with the different term in any part of the specification or the drawings. Further, the configuration and operation of the robot, the control device, and the like are not limited to those described in the present embodiment, and various modifications can be made.

100 ロボット、110 制御部、120 記憶部、200 制御装置、
210 制御部、220 記憶部、300 ロボット機構、310 アーム、
311,313 関節、315,317 フレーム、319 エンドエフェクター、
320 アーム、400 装置、500 ロボット本体、550 ベースユニット部、
600 ネットワーク、700 サーバー
100 robot, 110 control unit, 120 storage unit, 200 control device,
210 control unit, 220 storage unit, 300 robot mechanism, 310 arm,
311,313 joint, 315,317 frame, 319 end effector,
320 arm, 400 device, 500 robot body, 550 base unit,
600 networks, 700 servers

Claims (15)

撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部と、
作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、
を含むことを特徴とするロボット。
A control unit that obtains a captured image feature amount that is an image feature amount of the captured image, and that controls the robot based on the captured image feature amount, the target feature amount, and the Jacobian;
A storage unit for storing a work object or a position and orientation of an end effector of the robot in association with the Jacobian;
A robot characterized by including:
請求項1において、
前記制御部は、
前記記憶部に記憶された前記ヤコビアンを読み出し、前記ヤコビアンと、前記撮像画像特徴量と、前記目標特徴量とに基づいて、前記ロボットの制御を行うことを特徴とするロボット。
In claim 1,
The controller is
A robot that reads the Jacobian stored in the storage unit and controls the robot based on the Jacobian, the captured image feature quantity, and the target feature quantity.
請求項2において、
前記制御部は、
処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されているか否かの判定を行い、前記ヤコビアンが記憶されている場合に、前記撮像画像特徴量と前記目標特徴量との差分情報と、前記ヤコビアンとに基づいて、前記ロボットの動作パラメーターを求め、前記動作パラメーターに従って、前記ロボットの制御を行うことを特徴とするロボット。
In claim 2,
The controller is
It is determined whether or not the Jacobian corresponding to the position and orientation of the work object or the end effector at the processing timing is stored in the storage unit, and the captured image is stored when the Jacobian is stored. A robot characterized in that an operation parameter of the robot is obtained based on difference information between a feature value and the target feature value and the Jacobian, and the robot is controlled according to the operation parameter.
請求項3において、
前記制御部は、
前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記位置姿勢に対応する前記ヤコビアンを求め、
前記記憶部は、
前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶することを特徴とするロボット。
In claim 3,
The controller is
When the Jacobian corresponding to the position and orientation of the work object or the end effector at the processing timing is not stored in the storage unit, the Jacobian corresponding to the position and orientation is obtained.
The storage unit
The robot storing the Jacobian in association with the position and orientation of the work object or the end effector at the processing timing.
請求項3において、
前記制御部は、
前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、
前記処理タイミングにおける前記位置姿勢から、位置姿勢座標空間における空間距離が所与の距離範囲内である所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されているかの判定を行い、
前記所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されている場合には、前記所定範囲内位置姿勢に対応する前記ヤコビアンを、前記処理タイミングにおける前記位置姿勢に対応する前記ヤコビアンとして求め、
前記記憶部は、
前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶することを特徴とするロボット。
In claim 3,
The controller is
When the Jacobian corresponding to the position and orientation of the work object or the end effector at the processing timing is not stored in the storage unit,
From the position and orientation at the processing timing, it is determined whether the Jacobian corresponding to the position and orientation within a predetermined range in which the spatial distance in the position and orientation coordinate space is within a given distance range is stored in the storage unit,
When the Jacobian corresponding to the position / posture within the predetermined range is stored in the storage unit, the Jacobian corresponding to the position / posture within the predetermined range is changed to the Jacobian corresponding to the position / posture at the processing timing. As sought
The storage unit
The robot storing the Jacobian in association with the position and orientation of the work object or the end effector at the processing timing.
請求項5において、
前記制御部は、
前記所定範囲内位置姿勢に対応する前記ヤコビアンが、前記記憶部に記憶されていない場合に、前記処理タイミングにおける前記位置姿勢に対応する前記ヤコビアンを求め、
前記記憶部は、
前記ヤコビアンを、前記処理タイミングにおける前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶することを特徴とするロボット。
In claim 5,
The controller is
When the Jacobian corresponding to the position and orientation within the predetermined range is not stored in the storage unit, the Jacobian corresponding to the position and orientation at the processing timing is obtained,
The storage unit
The robot storing the Jacobian in association with the position and orientation of the work object or the end effector at the processing timing.
請求項1乃至6のいずれかにおいて、
前記制御部は、
前記ヤコビアンを用いた前記ロボットの制御を行うことで求められる前記撮像画像特徴量と、前記ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値よりも大きい場合に、前記ヤコビアンを修正し、
前記記憶部は、
修正後の前記ヤコビアンを、前記作業対象物又は前記エンドエフェクターの前記位置姿勢に対応づけて記憶することを特徴とするロボット。
In any one of Claims 1 thru | or 6.
The controller is
When the difference value between the captured image feature amount obtained by controlling the robot using the Jacobian and the provisional target feature amount estimated from the Jacobian is larger than a given threshold, the Jacobian is determined. correct,
The storage unit
A robot characterized in that the corrected Jacobian is stored in association with the position and orientation of the work object or the end effector.
請求項1乃至7のいずれかにおいて、
前記記憶部は、
前記ヤコビアンを用いた処理が行われたタイミングを表すタイムスタンプ情報を、前記ヤコビアンとを対応づけて記憶し、
前記制御部は、
前記ヤコビアンを用いた前記ロボットの制御を行った場合に、前記ヤコビアンに対応づけられた前記タイムスタンプ情報を更新することを特徴とするロボット。
In any one of Claims 1 thru | or 7,
The storage unit
Time stamp information indicating the timing at which the processing using the Jacobian is performed is stored in association with the Jacobian,
The controller is
A robot that updates the time stamp information associated with the Jacobian when the robot is controlled using the Jacobian.
請求項8において、
前記制御部は、
前記タイムスタンプ情報に基づいて、前記記憶部から削除される前記ヤコビアンを決定することを特徴とするロボット。
In claim 8,
The controller is
The robot that determines the Jacobian to be deleted from the storage unit based on the time stamp information.
請求項1乃至9のいずれかにおいて、
前記記憶部は、
前記ヤコビアンを用いた前記ロボットの制御が行われた回数を表すカウンター情報を、前記ヤコビアンとを対応づけて記憶することを特徴とするロボット。
In any one of Claims 1 thru | or 9,
The storage unit
Counter information representing the number of times the robot is controlled using the Jacobian is stored in association with the Jacobian.
請求項10において、
前記制御部は、
前記ヤコビアンを用いた前記ロボットの制御を行うことで求められる前記撮像画像特徴量と、前記ヤコビアンから推定される暫定目標特徴量との差分値が所与の閾値以下である場合に、前記ヤコビアンに対応づけられた前記カウンター情報を増加させることを特徴とするロボット。
In claim 10,
The controller is
When the difference value between the captured image feature amount obtained by controlling the robot using the Jacobian and the provisional target feature amount estimated from the Jacobian is equal to or less than a given threshold, the Jacobian A robot characterized by increasing the counter information associated therewith.
請求項10又は11において、
前記制御部は、
前記ヤコビアンを用いた処理により求められる動作パラメーターの値を、前記ヤコビアンに対応づけられた前記カウンター情報に基づいて調整することを特徴とするロボット。
In claim 10 or 11,
The controller is
A robot characterized in that an operation parameter value obtained by processing using the Jacobian is adjusted based on the counter information associated with the Jacobian.
撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行う制御部と、
作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、
を含むことを特徴とする制御装置。
A control unit that obtains a captured image feature amount that is an image feature amount of the captured image, and that controls the robot based on the captured image feature amount, the target feature amount, and the Jacobian;
A storage unit for storing a work object or a position and orientation of an end effector of the robot in association with the Jacobian;
The control apparatus characterized by including.
ロボットと、
撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、前記ロボットの制御を行う制御部と、
作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶する記憶部と、
を含むことを特徴とするロボットシステム。
With robots,
A control unit that obtains a captured image feature amount that is an image feature amount of the captured image and controls the robot based on the captured image feature amount, the target feature amount, and the Jacobian;
A storage unit for storing a work object or a position and orientation of an end effector of the robot in association with the Jacobian;
A robot system characterized by including:
撮像画像の画像特徴量である撮像画像特徴量を求め、前記撮像画像特徴量と、目標特徴量と、ヤコビアンとに基づいて、ロボットの制御を行うことと、
作業対象物又は前記ロボットのエンドエフェクターの位置姿勢と、前記ヤコビアンとを対応づけて記憶することと、
を含むことを特徴とする制御方法。
Obtaining a captured image feature amount that is an image feature amount of the captured image, and controlling the robot based on the captured image feature amount, the target feature amount, and the Jacobian;
Storing the work object or the position and orientation of the end effector of the robot in association with the Jacobian;
The control method characterized by including.
JP2014003956A 2014-01-14 2014-01-14 Robot, control apparatus, robot system, and control method Expired - Fee Related JP6343938B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014003956A JP6343938B2 (en) 2014-01-14 2014-01-14 Robot, control apparatus, robot system, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014003956A JP6343938B2 (en) 2014-01-14 2014-01-14 Robot, control apparatus, robot system, and control method

Publications (2)

Publication Number Publication Date
JP2015131367A true JP2015131367A (en) 2015-07-23
JP6343938B2 JP6343938B2 (en) 2018-06-20

Family

ID=53899048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014003956A Expired - Fee Related JP6343938B2 (en) 2014-01-14 2014-01-14 Robot, control apparatus, robot system, and control method

Country Status (1)

Country Link
JP (1) JP6343938B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112414299A (en) * 2019-08-22 2021-02-26 纳博特斯克有限公司 Information processing system, information processing method, and construction machine

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6770887B2 (en) * 2016-12-28 2020-10-21 株式会社Screenホールディングス Board processing equipment and board processing system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06320455A (en) * 1993-05-19 1994-11-22 Nec Corp Robot arm control circuit
JPH07248209A (en) * 1994-03-11 1995-09-26 Natl Space Dev Agency Japan<Nasda> Object position and attitude measuring device and part assembling apparatus loading the device
JPH11184526A (en) * 1997-12-19 1999-07-09 Toshiba Corp Three-dimensional position correcting method and remote manipulator system using the method
JP2009083094A (en) * 2007-09-29 2009-04-23 Ihi Corp Control method of robot device, and the robot device
JP2010214479A (en) * 2009-03-13 2010-09-30 Denso Wave Inc Robot system
JP2013010155A (en) * 2011-06-28 2013-01-17 Canon Inc Target object gripping apparatus, method of controlling the same, and program
US20130041508A1 (en) * 2011-08-12 2013-02-14 Georgia Tech Research Corporation Systems and methods for operating robots using visual servoing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06320455A (en) * 1993-05-19 1994-11-22 Nec Corp Robot arm control circuit
JPH07248209A (en) * 1994-03-11 1995-09-26 Natl Space Dev Agency Japan<Nasda> Object position and attitude measuring device and part assembling apparatus loading the device
JPH11184526A (en) * 1997-12-19 1999-07-09 Toshiba Corp Three-dimensional position correcting method and remote manipulator system using the method
JP2009083094A (en) * 2007-09-29 2009-04-23 Ihi Corp Control method of robot device, and the robot device
JP2010214479A (en) * 2009-03-13 2010-09-30 Denso Wave Inc Robot system
JP2013010155A (en) * 2011-06-28 2013-01-17 Canon Inc Target object gripping apparatus, method of controlling the same, and program
US20130041508A1 (en) * 2011-08-12 2013-02-14 Georgia Tech Research Corporation Systems and methods for operating robots using visual servoing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112414299A (en) * 2019-08-22 2021-02-26 纳博特斯克有限公司 Information processing system, information processing method, and construction machine

Also Published As

Publication number Publication date
JP6343938B2 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
US10525598B2 (en) Positioning system using robot
US9724801B2 (en) Deburring device including visual sensor and force sensor
US9221176B2 (en) Robot system and method for controlling the same
US10035268B2 (en) Measurement system used for calibrating mechanical parameters of robot
US10456917B2 (en) Robot system including a plurality of robots, robot controller and robot control method
EP3157715B1 (en) Method for calibrating a robot and a robot system
JP6429473B2 (en) Robot system, robot system calibration method, program, and computer-readable recording medium
EP2891547A2 (en) Robot, control apparatus, robot system, and control method
JP5450242B2 (en) Manipulator calibration method and robot control system
JP2014024162A (en) Robot system, robot control device, robot control method and robot control program
CN109465817B (en) Robot system, robot control device, and method for manufacturing workpiece
JP2017056546A (en) Measurement system used for calibrating mechanical parameters of robot
US11679508B2 (en) Robot device controller for controlling position of robot
JP2017077609A (en) Calibration device and calibration method for calibrating mechanism parameter of wrist part of robot
JP7293267B2 (en) Information processing device, information processing method, and robot system
JP2021049607A (en) Controller of robot device for adjusting position of member supported by robot
JP6343938B2 (en) Robot, control apparatus, robot system, and control method
JP6825026B2 (en) Information processing equipment, information processing methods and robot systems
JP2012086341A (en) Automatic assembling device, automatic assembling method, and program
JP6217322B2 (en) Robot control apparatus, robot, and robot control method
JP2015134407A (en) Visual sensor and deburring device provided with force sensor
JP6410411B2 (en) Pattern matching apparatus and pattern matching method
CN115135466A (en) Burr removing device and control system
JP5574805B2 (en) Sensor calibration method and robot control system for manipulator with visual sensor
TW202222518A (en) 3d printer using robot and control apparatus for robot

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160617

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160624

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180507

R150 Certificate of patent or registration of utility model

Ref document number: 6343938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees