[go: up one dir, main page]

JP6322948B2 - Robot control apparatus, robot system, robot, robot control method, and program - Google Patents

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

Info

Publication number
JP6322948B2
JP6322948B2 JP2013212919A JP2013212919A JP6322948B2 JP 6322948 B2 JP6322948 B2 JP 6322948B2 JP 2013212919 A JP2013212919 A JP 2013212919A JP 2013212919 A JP2013212919 A JP 2013212919A JP 6322948 B2 JP6322948 B2 JP 6322948B2
Authority
JP
Japan
Prior art keywords
end point
image
command value
robot
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.)
Expired - Fee Related
Application number
JP2013212919A
Other languages
Japanese (ja)
Other versions
JP2015074058A (en
Inventor
政司 相磯
政司 相磯
長谷川 浩
浩 長谷川
稲積 満広
満広 稲積
信宏 狩戸
信宏 狩戸
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 JP2013212919A priority Critical patent/JP6322948B2/en
Priority to CN201410524815.XA priority patent/CN104552291B/en
Priority to CN201510141455.XA priority patent/CN104827469B/en
Priority to CN201810330449.2A priority patent/CN108621156B/en
Priority to US14/510,591 priority patent/US9492925B2/en
Priority to EP14188281.1A priority patent/EP2859999A3/en
Publication of JP2015074058A publication Critical patent/JP2015074058A/en
Application granted granted Critical
Publication of JP6322948B2 publication Critical patent/JP6322948B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

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

特許文献1には、ロボットのインピーダンス制御において、ロボット先端に作用する押し当て反力が所定の大きさを超えると、押し当て反力が設定された制限値となるような仮目標位置を求め、当該仮目標位置に押し当て反力に応じた位置補正量を加算して目標位置を求める、ロボット制御装置が記載されている。   In Patent Document 1, in the impedance control of the robot, when the pressing reaction force acting on the robot tip exceeds a predetermined magnitude, a temporary target position is obtained so that the pressing reaction force becomes a set limit value, A robot control device is described in which a target position is obtained by adding a position correction amount corresponding to a pressing reaction force to the temporary target position.

特開2000−301479号公報JP 2000-301479 A

しかしながら、特許文献1の技術では、ワークなどの対象物の現在位置が目標位置から想定以上に大きくずれてしまった場合には、対象物を目標位置へ移動することが困難になる。例えば、ワークを穴に嵌める嵌め合い作業では、インピーダンス制御によりワークを穴の縁などに押し当てることで、作業を完了することができる。しかしながら、ワークの位置が穴から遠くにずれている場合には、インピーダンス制御ではワークが穴に対してどのようにずれているか(方向や距離など)を検出することができないため、現在位置を修正して作業を完了することが困難である。ロボットの作業を完了するには、ロボットの軌道をユーザーが修正して再度教示するなどのユーザーの作業が発生する。   However, with the technique of Patent Document 1, when the current position of an object such as a workpiece has deviated more than expected from the target position, it is difficult to move the object to the target position. For example, in the fitting work for fitting the work into the hole, the work can be completed by pressing the work against the edge of the hole by impedance control. However, if the workpiece position is far from the hole, the current position is corrected because the impedance control cannot detect how the workpiece is displaced (direction, distance, etc.) from the hole. It is difficult to complete the work. In order to complete the robot work, the user's work occurs, for example, the user corrects the robot trajectory and teaches again.

そこで、本発明は、ロボットによる作業において、対象物の位置ずれなどが発生した場合でも、効率よく対象物を目標位置へ移動させることを目的とする。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to efficiently move an object to a target position even when the position of the object is shifted in the operation by the robot.

上記の課題を解決する本発明の第一の態様は、ロボットの可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる指令値を生成する第一制御部と、前記可動部に作用する力を検出する力検出部からの出力に基づいて、前記エンドポイントを移動させる指令値を生成する第二制御部と、前記第一制御部により生成された指令値と、前記第二制御部により生成された指令値とを用いて前記可動部を移動させる第三制御部と、を有することを特徴とするロボット制御装置である。これにより、対象物の位置ずれなどが発生した場合であっても、第一制御部の指令値により精度よく可動部の位置を修正することができる。また、第一制御部の指令値に基づく可動部の軌道が非効率になる場合であっても、第二制御部の指令値により効率の良い軌道に修正することができる。   A first aspect of the present invention that solves the above problem is that a target image that is an image including the end point when the end point of the movable part of the robot is at the target position, and the end point is at the current position An image acquisition unit that acquires a current image that is an image including the end point, and a command value that moves the end point from the current position to the target position based on the current image and the target image Generated by a first control unit, a second control unit that generates a command value for moving the end point based on an output from a force detection unit that detects a force acting on the movable unit, and the first control unit And a third control unit that moves the movable unit using the command value generated and the command value generated by the second control unit. That. Thereby, even if the position shift of the target object occurs, the position of the movable part can be corrected with high accuracy by the command value of the first control part. Further, even when the trajectory of the movable part based on the command value of the first control unit becomes inefficient, it can be corrected to an efficient trajectory by the command value of the second control unit.

上記の課題を解決する本発明の第二の態様は、ロボットの可動部のエンドポイントを目標位置に近付けるように前記可動部を制御する制御部と、前記エンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、を有し、前記制御部は、前記現在画像及び前記目標画像と、前記可動部に作用する力を検出する力検出部からの出力とに基づいて、前記可動部の移動を制御する、ことを特徴とするロボット制御装置である。これにより、対象物の位置ずれなどが発生した場合であっても、画像に基づく制御により精度よく可動部の位置を修正することができる。また、画像に基づく制御による可動部の軌道が非効率になる場合であっても、力に基づく制御により効率の良い軌道に修正することができる。   The second aspect of the present invention that solves the above-described problem is a control unit that controls the movable unit so as to bring the end point of the movable unit of the robot closer to the target position, and the end point when the end point is at the target position. An image acquisition unit that acquires a target image that is an image including an end point, and a current image that is an image including the end point when the end point is at a current position, and the control unit includes the The robot control apparatus is characterized in that the movement of the movable part is controlled based on a current image and the target image and an output from a force detection part that detects a force acting on the movable part. As a result, even when a positional deviation of the object occurs, the position of the movable part can be corrected with high accuracy by the control based on the image. Further, even when the trajectory of the movable part by the control based on the image becomes inefficient, it can be corrected to an efficient trajectory by the control based on the force.

上記のロボット制御装置であって、前記第三制御部は、前記第一制御部により生成された指令値と、前記第二制御部により生成された指令値とを、それぞれ所定の重みで足し合わせた指令値を用いて前記可動部を移動させる、ことを特徴としてもよい。これにより、可動部の軌道や作業の精度が所望の軌道や作業の精度となるように調整することができる。   In the above robot control device, the third control unit adds the command value generated by the first control unit and the command value generated by the second control unit with predetermined weights, respectively. The movable portion may be moved using the command value. Thereby, the trajectory of the movable part and the accuracy of the work can be adjusted so as to become the desired trajectory and the work accuracy.

上記のロボット制御装置であって、前記所定の重みの設定をユーザーから受け付ける入力部、を有することを特徴としてもよい。これにより、ユーザーの希望する軌道や作業の精度となるように重みを設定することができる。   The robot control apparatus may include an input unit that receives a setting of the predetermined weight from a user. Thereby, the weight can be set so as to be the trajectory desired by the user and the accuracy of the work.

上記のロボット制御装置であって、前記第三制御部は、前記所定の重みを、前記現在位置と前記目標位置との距離に基づいて決定する、ことを特徴としてもよい。これにより、距離に応じて重みが変化するため、精度よく制御を行うことができる。また、距離に応じて連続的に重みが変化するため、制御を滑らかに切り替えることができる。   In the robot control apparatus, the third control unit may determine the predetermined weight based on a distance between the current position and the target position. Thereby, since a weight changes according to distance, it can control accurately. Further, since the weight changes continuously according to the distance, the control can be switched smoothly.

上記のロボット制御装置であって、前記第三制御部は、前記画像取得部が取得した画像に基づいて前記距離を決定する、ことを特徴としてもよい。これにより、第一制御部が使用する画像と同じ画像に基づいて距離を決定することができるため、画像処理の負荷の増加を防ぐことができる。   In the robot control apparatus, the third control unit may determine the distance based on an image acquired by the image acquisition unit. Thereby, since a distance can be determined based on the same image as the image used by the first control unit, an increase in image processing load can be prevented.

上記のロボット制御装置であって、前記第三制御部は、前記距離が小さくなるほど、前記第二制御部により生成された指令値に対応する所定の重みを大きくする、ことを特徴としてもよい。目的位置に近い位置のように力制御による効果が効果的に得られる位置では、第一制御部による非効率な軌道を修正して、より効率的に可動部の移動を行うことができる。   In the robot control apparatus, the third control unit may increase a predetermined weight corresponding to the command value generated by the second control unit as the distance decreases. At a position where the effect of force control is effectively obtained, such as a position close to the target position, the inefficient trajectory by the first control unit can be corrected, and the movable unit can be moved more efficiently.

上記のロボット制御装置であって、前記第三制御部は、前記距離が所定値より大きい場合には、前記第二制御部により生成された指令値に対応する所定の重みを0にする、ことを特徴としてもよい。目的位置から遠い位置のように力制御による効果が効果的に得られない位置では、第一制御部により効率的に可動部の移動を行うことができる。   In the robot control apparatus, the third control unit sets a predetermined weight corresponding to the command value generated by the second control unit to 0 when the distance is larger than a predetermined value. May be a feature. In a position where the effect of force control cannot be effectively obtained, such as a position far from the target position, the movable part can be efficiently moved by the first control part.

上記の課題を解決する本発明の第三の態様は、可動部と、前記可動部に作用する力を検出する力検出部と、前記可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる指令値を生成する第一制御部と、前記力検出部からの出力に基づいて、前記エンドポイントを移動させる指令値を生成する第二制御部と、前記第一制御部により生成された指令値と、前記第二制御部により生成された指令値とを用いて前記可動部を移動させる第三制御部と、を有することを特徴とするロボットである。これにより、対象物の位置ずれなどが発生した場合であっても、第一制御部の指令値により精度よく可動部の位置を修正することができる。また、第一制御部の指令値に基づく可動部の軌道が非効率になる場合であっても、第二制御部の指令値により効率の良い軌道に修正することができる。   A third aspect of the present invention that solves the above-described problems is a movable portion, a force detection portion that detects a force acting on the movable portion, and the end point when the end point of the movable portion is at a target position. An image acquisition unit that acquires a target image that is an image including the current image and a current image that is the image including the end point when the end point is at the current position, and based on the current image and the target image, A first control unit that generates a command value for moving the end point from the current position to the target position, and a second control unit that generates a command value for moving the end point based on an output from the force detection unit And a third control unit that moves the movable unit using the command value generated by the first control unit and the command value generated by the second control unit. It is a robot. Thereby, even if the position shift of the target object occurs, the position of the movable part can be corrected with high accuracy by the command value of the first control part. Further, even when the trajectory of the movable part based on the command value of the first control unit becomes inefficient, it can be corrected to an efficient trajectory by the command value of the second control unit.

上記の課題を解決する本発明の第四の態様は、可動部と、前記可動部に作用する力を検出する力検出部と、前記可動部のエンドポイントを目標位置に近付けるように前記可動部を制御する制御部と、前記エンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、を有し、前記制御部は、前記現在画像及び前記目標画像と、前記力検出部からの出力とに基づいて、前記可動部の移動を制御する、ことを特徴とするロボットである。これにより、対象物の位置ずれなどが発生した場合であっても、画像に基づく制御により精度よく可動部の位置を修正することができる。また、画像に基づく制御による可動部の軌道が非効率になる場合であっても、力に基づく制御により効率の良い軌道に修正することができる。   According to a fourth aspect of the present invention for solving the above-mentioned problems, a movable part, a force detection part for detecting a force acting on the movable part, and the movable part so as to bring an end point of the movable part closer to a target position. A control unit that controls, a target image that is an image including the end point when the end point is at a target position, and a current image that is an image including the end point when the end point is at a current position; An image acquisition unit that acquires the image, and the control unit controls the movement of the movable unit based on the current image, the target image, and an output from the force detection unit. It is a robot. As a result, even when a positional deviation of the object occurs, the position of the movable part can be corrected with high accuracy by the control based on the image. Further, even when the trajectory of the movable part by the control based on the image becomes inefficient, it can be corrected to an efficient trajectory by the control based on the force.

上記の課題を解決する本発明の第五の態様は、可動部を有するロボットと、前記可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる指令値を生成する第一制御部と、前記可動部に作用する力を検出する力検出部からの出力に基づいて、前記エンドポイントを移動させる指令値を生成する第二制御部と、前記第一制御部により生成された指令値と、前記第二制御部により生成された指令値とを用いて前記可動部を移動させる第三制御部と、を有することを特徴とするロボットシステムである。これにより、対象物の位置ずれなどが発生した場合であっても、第一制御部の指令値により精度よく可動部の位置を修正することができる。また、第一制御部の指令値に基づく可動部の軌道が非効率になる場合であっても、第二制御部の指令値により効率の良い軌道に修正することができる。   A fifth aspect of the present invention that solves the above problem is a robot having a movable part, a target image that is an image including the end point when the end point of the movable part is at a target position, and the end point. An image acquisition unit that acquires a current image that is an image including the end point when the is at the current position, and the end point is moved from the current position to the target position based on the current image and the target image A first control unit for generating a command value to be generated, a second control unit for generating a command value for moving the end point based on an output from a force detection unit for detecting a force acting on the movable unit, And a third control unit that moves the movable unit using the command value generated by the first control unit and the command value generated by the second control unit. A robot system. Thereby, even if the position shift of the target object occurs, the position of the movable part can be corrected with high accuracy by the command value of the first control part. Further, even when the trajectory of the movable part based on the command value of the first control unit becomes inefficient, it can be corrected to an efficient trajectory by the command value of the second control unit.

上記の課題を解決する本発明の第六の態様は、可動部を有するロボットと、前記可動部のエンドポイントを目標位置に近付けるように前記可動部を制御する制御部と、前記エンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、を有し、前記制御部は、前記現在画像及び前記目標画像と、前記可動部に作用する力を検出する力検出部からの出力とに基づいて、前記可動部の移動を制御する、ことを特徴とするロボットシステムである。これにより、対象物の位置ずれなどが発生した場合であっても、画像に基づく制御により精度よく可動部の位置を修正することができる。また、画像に基づく制御による可動部の軌道が非効率になる場合であっても、力に基づく制御により効率の良い軌道に修正することができる。   A sixth aspect of the present invention that solves the above-described problems is a robot having a movable part, a control unit that controls the movable part so that the end point of the movable part approaches a target position, and the end point is a target. An image acquisition unit that acquires a target image that is an image including the end point when in a position and a current image that is an image including the end point when the end point is in a current position; The control unit controls the movement of the movable unit based on the current image and the target image, and an output from a force detection unit that detects a force acting on the movable unit. System. As a result, even when a positional deviation of the object occurs, the position of the movable part can be corrected with high accuracy by the control based on the image. Further, even when the trajectory of the movable part by the control based on the image becomes inefficient, it can be corrected to an efficient trajectory by the control based on the force.

上記の課題を解決する本発明の第七の態様は、ロボットの可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得ステップと、前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる指令値を生成する第一制御ステップと、前記可動部に作用する力を検出する力検出部からの出力に基づいて、前記エンドポイントを移動させる指令値を生成する第二制御ステップと、前記第一制御部により生成された指令値と、前記第二制御部により生成された指令値とを用いて前記可動部を移動させる第三制御ステップと、を含むことを特徴とするロボット制御方法である。これにより、対象物の位置ずれなどが発生した場合であっても、第一制御ステップの指令値により精度よく可動部の位置を修正することができる。また、第一制御ステップの指令値に基づく可動部の軌道が非効率になる場合であっても、第二制御ステップの指令値により効率の良い軌道に修正することができる。   The seventh aspect of the present invention that solves the above problem is that a target image that is an image including the end point when the end point of the movable part of the robot is at the target position, and the end point is at the current position An image acquisition step of acquiring a current image that is an image including the end point, and generating a command value for moving the end point from the current position to the target position based on the current image and the target image Generated by the first control step, the second control step for generating a command value for moving the end point based on the output from the force detection unit for detecting the force acting on the movable unit, and the first control unit And a third control step of moving the movable part using the command value generated and the command value generated by the second control unit, That is a robot control method. As a result, even when a position shift of the object occurs, the position of the movable part can be corrected with high accuracy by the command value of the first control step. Further, even when the trajectory of the movable part based on the command value of the first control step becomes inefficient, it can be corrected to an efficient trajectory by the command value of the second control step.

上記の課題を解決する本発明の第八の態様は、ロボットの可動部のエンドポイントを目標位置に近付けるように前記可動部を制御する制御ステップと、前記エンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得ステップと、を含み、前記制御ステップは、前記現在画像及び前記目標画像と、前記可動部に作用する力を検出する力検出部からの出力とに基づいて、前記可動部の移動を制御する、ことを特徴とするロボット制御方法である。これにより、対象物の位置ずれなどが発生した場合であっても、画像に基づく制御により精度よく可動部の位置を修正することができる。また、画像に基づく制御による可動部の軌道が非効率になる場合であっても、力に基づく制御により効率の良い軌道に修正することができる。   An eighth aspect of the present invention that solves the above-described problem is a control step of controlling the movable unit so that the end point of the movable unit of the robot is brought close to the target position; and the control unit when the end point is at the target position. An image acquisition step of acquiring a target image that is an image including an end point and a current image that is an image including the end point when the end point is at a current position, and the control step includes the current step The robot control method is characterized in that the movement of the movable part is controlled based on an image, the target image, and an output from a force detection part that detects a force acting on the movable part. As a result, even when a positional deviation of the object occurs, the position of the movable part can be corrected with high accuracy by the control based on the image. Further, even when the trajectory of the movable part by the control based on the image becomes inefficient, it can be corrected to an efficient trajectory by the control based on the force.

上記の課題を解決する本発明の第九の態様は、ロボットの可動部のエンドポイントを含む画像に基づく前記可動部の制御と、前記可動部に作用する力を検出する力検出部からの出力に基づく前記可動部の制御とを、並列制御するロボット制御方法である。これにより、対象物の位置ずれなどが発生した場合であっても、画像に基づく制御により精度よく可動部の位置を修正することができる。また、画像に基づく制御による可動部の軌道が非効率になる場合であっても、力に基づく制御により効率の良い軌道に修正することができる。   The ninth aspect of the present invention that solves the above-described problem is the control of the movable part based on the image including the end point of the movable part of the robot, and the output from the force detection part that detects the force acting on the movable part. And a control method of the movable part based on the robot control method. As a result, even when a positional deviation of the object occurs, the position of the movable part can be corrected with high accuracy by the control based on the image. Further, even when the trajectory of the movable part by the control based on the image becomes inefficient, it can be corrected to an efficient trajectory by the control based on the force.

上記の課題を解決する本発明の第十の態様は、ロボット制御装置のプログラムであって、ロボットの可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる指令値を生成する第一制御部と、前記可動部に作用する力を検出する力検出部からの出力に基づいて、前記エンドポイントを移動させる指令値を生成する第二制御部と、前記第一制御部により生成された指令値と、前記第二制御部により生成された指令値とを用いて前記可動部を移動させる第三制御部として、前記ロボット制御装置を機能させる、ことを特徴とするプログラムである。これにより、対象物の位置ずれなどが発生した場合であっても、第一制御部の指令値により精度よく可動部の位置を修正することができる。また、第一制御部の指令値に基づく可動部の軌道が非効率になる場合であっても、第二制御部の指令値により効率の良い軌道に修正することができる。   A tenth aspect of the present invention that solves the above problem is a program for a robot control device, and a target image that is an image including the end point when the end point of the movable part of the robot is at the target position; An image acquisition unit that acquires a current image that is an image including the end point when the end point is at the current position; and based on the current image and the target image, the end point is moved from the current position to the target. A first control unit that generates a command value to move to a position, and a second control unit that generates a command value to move the end point based on an output from a force detection unit that detects a force acting on the movable unit And a third control unit that moves the movable unit using the command value generated by the first control unit and the command value generated by the second control unit, Serial to function robot controller, a program, characterized in that. Thereby, even if the position shift of the target object occurs, the position of the movable part can be corrected with high accuracy by the command value of the first control part. Further, even when the trajectory of the movable part based on the command value of the first control unit becomes inefficient, it can be corrected to an efficient trajectory by the command value of the second control unit.

本発明の実施形態に係るロボットシステム1の概略構成の一例を示す図である。1 is a diagram illustrating an example of a schematic configuration of a robot system 1 according to an embodiment of the present invention. ロボットシステム1の機能構成の一例を示す図である。2 is a diagram illustrating an example of a functional configuration of a robot system 1. FIG. ロボットシステム1におけるデータ及び制御の流れの一例を示す図である。It is a figure which shows an example of the flow of data and control in the robot system. 指令値を合成する比率を示す重みの設定方法の一例を説明する図である。It is a figure explaining an example of the setting method of the weight which shows the ratio which synthesize | combines command value. 力制御による嵌め合い作業の一例を説明する図である。It is a figure explaining an example of the fitting operation | work by force control. 力制御による嵌め合い作業の一例を説明する図である。It is a figure explaining an example of the fitting operation | work by force control. ビジュアルサーボによる嵌め合い作業の一例を説明する図である。It is a figure explaining an example of the fitting operation | work by a visual servo. 力制御およびビジュアルサーボの並列制御による嵌め合い作業の一例を説明する図である。It is a figure explaining an example of the fitting operation | work by parallel control of force control and visual servo. ロボット制御装置10の動作の一例を示すフロー図である。FIG. 6 is a flowchart showing an example of the operation of the robot control apparatus 10. ロボット制御装置10の機能を実現するハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration that realizes functions of a robot control device 10. FIG.

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

図1は、本発明の実施形態に係るロボットシステム1の概略構成の一例を示す図である。図1に示すように、ロボットシステム1は、ロボット制御装置10と、ロボット20と、撮像装置30とを備える。ロボット制御装置10は、ロボット20及び撮像装置30と通信可能に接続される。   FIG. 1 is a diagram illustrating an example of a schematic configuration of a robot system 1 according to an embodiment of the present invention. As shown in FIG. 1, the robot system 1 includes a robot control device 10, a robot 20, and an imaging device 30. The robot control apparatus 10 is communicably connected to the robot 20 and the imaging apparatus 30.

ロボット制御装置10は、ロボット20の全体を制御する。また、ロボット制御装置10は、撮像装置30による撮像を制御する。   The robot control device 10 controls the entire robot 20. In addition, the robot control device 10 controls imaging by the imaging device 30.

ロボット20は、ロボット制御装置10からの制御信号に従って動作し、作業を行う。ロボットの作業内容は、特に限定されないが、例えば、作業台T上でワークW1をワークW2の穴Hに嵌める作業などが考えられる。ワークは、作業の対象物と呼ぶことができる。   The robot 20 operates according to a control signal from the robot control apparatus 10 and performs work. The work content of the robot is not particularly limited. For example, a work of fitting the work W1 on the work table T in the hole H of the work W2 can be considered. The workpiece can be called a work object.

ロボット20は、一以上のジョイント23及び一以上のリンク24を含むアーム22と、アーム22の先端部に設けられたハンド26と、アーム22の先端部とハンド26との間(手首部分と呼ぶこともできる。)に設けられた力覚センサー25と、を有する。   The robot 20 includes an arm 22 including one or more joints 23 and one or more links 24, a hand 26 provided at the tip of the arm 22, and between the tip of the arm 22 and the hand 26 (referred to as a wrist portion). And a force sensor 25 provided in (1).

力覚センサー25は、例えば、ハンド26に作用する力や、モーメントを検出する。力覚センサー25の出力は、ロボット制御装置10に送られ、ロボット制御装置10によるロボット20のインピーダンス制御などに用いられる。力覚センサー25としては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。もちろん、力覚センサー25の軸数は特に限定されず、例えば3軸でもよい。なお、力覚センサー25は、力検出部と呼ぶこともできる。   The force sensor 25 detects a force and a moment acting on the hand 26, for example. The output of the force sensor 25 is sent to the robot controller 10 and used for impedance control of the robot 20 by the robot controller 10. As the force sensor 25, for example, a 6-axis force sensor capable of simultaneously detecting six components of a force component in the translational three-axis direction and a moment component around the three rotation axes can be used. Of course, the number of axes of the force sensor 25 is not particularly limited, and may be three axes, for example. The force sensor 25 can also be referred to as a force detection unit.

ハンド26は、例えば、複数の指を備え、少なくとも2本の指で対象物W(W1、W2)を把持することができる。ハンド26は、アーム22の先端部に対して着脱可能であってもよい。なお、ハンド26は、エンドエフェクターの一種ということができる。エンドエフェクターは、対象物を把持したり、持ち上げたり、吊り上げたり、吸着したり、ワークを加工したりするための部材である。エンドエフェクターは、ハンド、フック、吸盤など、様々な形態をとることができる。また、エンドエフェクターは、一本のアームに対して複数設けるようにしてもよい。   The hand 26 includes, for example, a plurality of fingers, and can hold the object W (W1, W2) with at least two fingers. The hand 26 may be detachable from the distal end portion of the arm 22. The hand 26 can be said to be a kind of end effector. The end effector is a member for gripping, lifting, lifting, adsorbing, or processing a workpiece. The end effector can take various forms such as a hand, a hook, and a suction cup. Further, a plurality of end effectors may be provided for one arm.

アーム22、力覚センサー25、及びハンド26を含むユニットを、可動部やマニピュレータと呼ぶこともできる(以下では、可動部と呼ぶ。)。図1の例では、ロボット20は可動部21を2本有する。可動部21には、ジョイント23やハンド26等の各部を動作させるため、例えば、アクチュエーター(図示せず)が備えられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、例えば、ロボット制御装置10や後述するロボット20の駆動制御部200(図2参照)によるロボット20のフィードバック制御などに用いられる。   A unit including the arm 22, the force sensor 25, and the hand 26 can also be referred to as a movable part or a manipulator (hereinafter referred to as a movable part). In the example of FIG. 1, the robot 20 has two movable parts 21. In order to operate each part, such as the joint 23 and the hand 26, the movable part 21 is provided with an actuator (not shown), for example. The actuator includes, for example, a servo motor and an encoder. The encoder value output by the encoder is used for, for example, feedback control of the robot 20 by the robot control device 10 or a drive control unit 200 (see FIG. 2) of the robot 20 described later.

ロボット20は、ロボット制御装置10から与えられる制御命令に従って、各ジョイント23を連動させて駆動することにより、アーム22の先端部などに設定された注目位置(以下、エンドポイントという。)を、所定の可動範囲内で自在に移動させたり自由な方向へ向けたりすることができる。また、ハンド26で対象物などを把持したり解放したりすることができる。   The robot 20 drives each joint 23 in conjunction with each other according to a control command given from the robot controller 10, thereby setting a target position (hereinafter referred to as an end point) set at the tip of the arm 22 or the like. It can be moved freely within the movable range or directed in any direction. Further, an object or the like can be grasped or released with the hand 26.

なお、エンドポイントの位置は、アームの先端部に限定されず、例えば、エンドエフェクターの先端部などに設定されてもよい。   Note that the position of the end point is not limited to the tip of the arm, and may be set to the tip of the end effector, for example.

撮像装置30は、ロボット20の作業領域(例えば、作業台T上の可動部21により作業可能な範囲である3次元空間)を撮像して、画像データを生成する。図1の例では、2台の撮像装置30がそれぞれ異なる角度で作業台T上に設置されている。撮像装置30は、例えば可視光カメラ、赤外線カメラ等を採用することができる。撮像装置30により撮像された画像はロボット制御装置10に入力される。   The imaging device 30 captures a work area of the robot 20 (for example, a three-dimensional space that is a workable range by the movable unit 21 on the work table T), and generates image data. In the example of FIG. 1, two imaging devices 30 are installed on the work table T at different angles. The imaging device 30 can employ, for example, a visible light camera or an infrared camera. An image captured by the imaging device 30 is input to the robot control device 10.

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

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

また、例えば、撮像装置30の設置位置は、特に限定されず、天井や壁に設置されてもよい。また、撮像装置30に替えて又は加えて、ロボット20のアーム22の先端部分、胴体部、あるいは頭部などに、撮像装置を設けるようにしてもよい。また、例えば、撮像装置30は、ロボット20に接続されるようにしてもよい。この場合には、撮像装置30により撮像された画像は、ロボット20を介してロボット制御装置10に入力される。また、ロボット制御装置10は、ロボット20に内蔵されるようにしてもよい。   For example, the installation position of the imaging device 30 is not particularly limited, and may be installed on a ceiling or a wall. Further, instead of or in addition to the imaging device 30, the imaging device may be provided at the tip portion, the body portion, or the head portion of the arm 22 of the robot 20. For example, the imaging device 30 may be connected to the robot 20. In this case, an image captured by the imaging device 30 is input to the robot control device 10 via the robot 20. Further, the robot control device 10 may be built in the robot 20.

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

ロボット20は、駆動制御部200を有する。   The robot 20 has a drive control unit 200.

駆動制御部200は、ロボット制御装置10から出力された制御命令と、アクチュエーターのエンコーダー値及びセンサーのセンサー値等とに基づいて、エンドポイントの位置が制御命令で指示される目標位置となるように、アクチュエーターを駆動させる。なお、エンドポイントの現在位置は、例えばアクチュエーターにおけるエンコーダー値等から求めることができる。   Based on the control command output from the robot control device 10, the encoder value of the actuator, the sensor value of the sensor, and the like, the drive control unit 200 makes the end point position the target position indicated by the control command. Drive the actuator. The current position of the end point can be obtained from, for example, an encoder value in the actuator.

ロボット制御装置10は、ビジュアルサーボ部(第一制御部)100と、力制御部(第二制御部)110と、画像取得部120と、第三制御部130とを有する。ビジュアルサーボ部100は、画像処理部102と、第一の軌道生成部104とを有する。力制御部110は、センサー情報取得部112と、第二の軌道生成部114とを有する。   The robot control apparatus 10 includes a visual servo unit (first control unit) 100, a force control unit (second control unit) 110, an image acquisition unit 120, and a third control unit 130. The visual servo unit 100 includes an image processing unit 102 and a first trajectory generation unit 104. The force control unit 110 includes a sensor information acquisition unit 112 and a second trajectory generation unit 114.

ビジュアルサーボ部100は、撮像装置30が撮像した画像を、画像取得部120を介して取得する。また、ビジュアルサーボ部100は、取得した画像に基づいて、目標物との相対的な位置の変化を視覚情報として計測し、それをフィードバック情報として用いることによって目標物を追跡する制御手法であるビジュアルサーボを実行して、アーム22を移動させる。なお、本実施形態では、ビジュアルサーボとして、視差が生じるような2枚の画像を利用して画像を立体として認識させるステレオグラム等の方法を用いて計算した対象の3次元位置情報に基づいてロボットを制御する位置ベース法を採用する。なお、ビジュアルサーボとしては、目標の画像から抽出した特徴量と現在の画像から抽出した特徴量とに基づいてロボットを制御する画像ベース法を採用してもよい。   The visual servo unit 100 acquires an image captured by the imaging device 30 via the image acquisition unit 120. The visual servo unit 100 is a visual control method for tracking a target by measuring a change in position relative to the target as visual information based on the acquired image and using it as feedback information. Servo is executed to move the arm 22. In this embodiment, the robot based on the three-dimensional position information of the target calculated using a method such as a stereogram for recognizing an image as a three-dimensional image using two images causing parallax as visual servo. Adopt a position-based method to control As the visual servo, an image-based method for controlling the robot based on the feature amount extracted from the target image and the feature amount extracted from the current image may be employed.

画像処理部102は、画像取得部120から取得した画像からエンドポイントを認識し、当該認識したエンドポイントを含む画像を抽出する。なお、画像処理部102が行う画像認識処理は、一般的な様々な技術を用いることができるため、説明を省略する。   The image processing unit 102 recognizes an end point from the image acquired from the image acquisition unit 120 and extracts an image including the recognized end point. Note that image recognition processing performed by the image processing unit 102 can use various general techniques, and thus description thereof is omitted.

第一の軌道生成部104は、画像処理部102により抽出された画像(以下、現在画像という)と、エンドポイントが目標位置にある時の画像(以下、目標画像という)とに基づいて、エンドポイントの軌道、すなわちエンドポイントの移動量及び移動方向を設定する。なお、目標画像は、予め取得したものをメモリー等の記憶部に格納しておけばよい。   Based on the image extracted by the image processing unit 102 (hereinafter referred to as the current image) and the image when the end point is at the target position (hereinafter referred to as the target image), the first trajectory generation unit 104 The trajectory of the point, that is, the amount and direction of movement of the end point are set. The target image may be acquired in advance in a storage unit such as a memory.

また、第一の軌道生成部104は、設定したエンドポイントの移動量及び移動方向に基づいて、各ジョイント23に設けられた各アクチュエーターの目標角度を決定する。さらに、第一の軌道生成部104は、目標角度だけアーム22を移動させるような指令値を生成し、第三制御部130へ出力する。なお、第一の軌道生成部104が行う軌道の生成処理、目標角度の決定処理、指令値の生成処理等は、一般的な様々な技術を用いることができるため、詳細な説明を省略する。   Further, the first trajectory generation unit 104 determines a target angle of each actuator provided in each joint 23 based on the set movement amount and movement direction of the end point. Further, the first trajectory generation unit 104 generates a command value that moves the arm 22 by the target angle and outputs the command value to the third control unit 130. The trajectory generation process, the target angle determination process, the command value generation process, and the like performed by the first trajectory generation unit 104 can use various general techniques, and thus will not be described in detail.

力制御部110は、ロボット20の力覚センサー25からのセンサー情報(力情報やモーメント情報を示すセンサー値)に基づいて、力制御(力覚制御ともいう)を行う。本実施形態では、力制御としてインピーダンス制御を行う。インピーダンス制御は、ロボットの手先(ハンド26等)に外から力を加えた場合に生じる機械的なインピーダンス(慣性、減衰係数、剛性)を、目的とする作業に都合の良い値に設定するための位置と力の制御手法である。具体的には、例えば、ロボットのエンドエフェクター部に質量と粘性係数と弾性要素が接続されるモデルにおいて、目標として設定した質量と粘性係数と弾性係数で物体に接触するようにする制御である。   The force control unit 110 performs force control (also referred to as force sense control) based on sensor information (sensor values indicating force information and moment information) from the force sensor 25 of the robot 20. In this embodiment, impedance control is performed as force control. Impedance control is used to set the mechanical impedance (inertia, damping coefficient, stiffness) generated when external force is applied to the robot hand (hand 26, etc.) to a value convenient for the intended work. It is a position and force control technique. Specifically, for example, in a model in which a mass, a viscosity coefficient, and an elastic element are connected to an end effector unit of a robot, control is performed so as to contact an object with a set mass, viscosity coefficient, and elastic coefficient.

なお、力制御を行うためには、ハンド26等のエンドエフェクターに加わる力やモーメントを検出する必要があるが、エンドエフェクターに加わる力やモーメントを検出する方法は力覚センサーを用いるものに限られない。例えば、アーム22の各軸トルク値からエンドエフェクターに及ぼす外力を推定することもできる。したがって、力制御を行うためには、直接または間接的にエンドエフェクターに加わる力を取得する手段を、アーム22が有していればよい。   In order to perform force control, it is necessary to detect the force and moment applied to the end effector such as the hand 26, but the method of detecting the force and moment applied to the end effector is limited to that using a force sensor. Absent. For example, it is possible to estimate the external force exerted on the end effector from each axis torque value of the arm 22. Therefore, in order to perform force control, the arm 22 only needs to have means for acquiring a force applied directly or indirectly to the end effector.

センサー情報取得部112は、ロボット20の力覚センサー25から出力されるセンサー情報(検出されたセンサー値など)を取得する。なお、センサー情報取得部112は、力検出部と呼ぶこともできる。   The sensor information acquisition unit 112 acquires sensor information (such as detected sensor values) output from the force sensor 25 of the robot 20. The sensor information acquisition unit 112 can also be called a force detection unit.

第二の軌道生成部114は、インピーダンス制御によりエンドポイントの移動方向及び移動量を決定する。また、第二の軌道生成部114は、エンドポイントの移動方向及び移動量に基づいて、各ジョイント23に設けられた各アクチュエーターの目標角度を決定する。また、第二の軌道生成部114は、目標角度だけアーム22を移動させるような指令値を生成し、第三制御部130へ出力する。なお、第二の軌道生成部114が行う軌道の生成処理、目標角度の決定処理、指令値の生成処理等は、一般的な様々な技術を用いることができるため、詳細な説明を省略する。   The second trajectory generation unit 114 determines the moving direction and moving amount of the end point by impedance control. Further, the second trajectory generation unit 114 determines a target angle of each actuator provided in each joint 23 based on the moving direction and moving amount of the end point. Further, the second trajectory generation unit 114 generates a command value that moves the arm 22 by the target angle, and outputs the command value to the third control unit 130. The trajectory generation process, the target angle determination process, the command value generation process, and the like performed by the second trajectory generation unit 114 can use various general techniques, and thus detailed description thereof is omitted.

なお、関節を持つロボット20では、各関節の角度を決定すると、フォワードキネマティクス処理によりエンドポイントの位置は一意に決定される。つまり、N関節ロボットではN個の関節角度により1つの目標位置を表現できることになるから、当該N個の関節角度の組を1つの目標関節角度とすれば、エンドポイントの軌道を目標関節角度の集合と考えることができる。よって、第一の軌道生成部104及び第二の軌道生成部114から出力される指令値は、位置に関する値(目標位置)であってもよいし、関節の角度に関する値(目標角度)であってもよい。   In the robot 20 having joints, when the angle of each joint is determined, the position of the end point is uniquely determined by forward kinematics processing. In other words, an N-joint robot can express one target position by N joint angles. Therefore, if the set of N joint angles is set as one target joint angle, the trajectory of the end point becomes the target joint angle. Think of it as a set. Therefore, the command values output from the first trajectory generation unit 104 and the second trajectory generation unit 114 may be values related to positions (target positions) or values related to joint angles (target angles). May be.

画像取得部120は、撮像装置30が撮像した画像を取得し、ビジュアルサーボ部100及び第三制御部130に出力する。   The image acquisition unit 120 acquires an image captured by the imaging device 30 and outputs the acquired image to the visual servo unit 100 and the third control unit 130.

第三制御部130は、ビジュアルサーボ部(第一制御部)100から出力される指令値と、力制御部(第二制御部)110から出力される指令値とを、それぞれに設定した重みを用いて合成する。また、第三制御部130は、合成した指令値に基づいて、エンドポイントの位置、すなわち可動部21を移動させるように、ロボット20に指示を出力する。   The third control unit 130 has weights set for the command value output from the visual servo unit (first control unit) 100 and the command value output from the force control unit (second control unit) 110, respectively. To synthesize. Further, the third control unit 130 outputs an instruction to the robot 20 to move the position of the end point, that is, the movable unit 21 based on the combined command value.

また、第三制御部130は、画像取得部120から取得した画像から、2つの位置(例えば、エンドポイントの現在位置とエンドポイントの目標位置)を認識し、現在位置から目標位置までの距離を計算する。そして、当該計算した距離の長さに応じて、指令値を合成する重みの比率を設定する。また、第三制御部130は、ロボット20の力覚センサー25から出力されるセンサー情報を取得する機能(「力検出部」と呼んでもよい。)を有する。第三制御部130の処理の詳細は後述する。   The third control unit 130 also recognizes two positions (for example, the current position of the end point and the target position of the end point) from the image acquired from the image acquisition unit 120, and determines the distance from the current position to the target position. calculate. And the ratio of the weight which synthesize | combines command value is set according to the length of the said calculated distance. The third control unit 130 has a function of acquiring sensor information output from the force sensor 25 of the robot 20 (may be referred to as a “force detection unit”). Details of the processing of the third control unit 130 will be described later.

図3は、ロボットシステム1におけるデータ及び制御の流れの一例を示す図である。   FIG. 3 is a diagram illustrating an example of the flow of data and control in the robot system 1.

ビジュアルサーボ部100では、撮像装置30からの情報を用いて現在位置を目標位置に近づけるためのビジュアルフィードバックループが回っている。第一の軌道生成部104は、目標位置に関する情報として目標画像を取得する。また、第一の軌道生成部104は、現在画像及び現在画像上における目標位置は画像上における座標系で表されているため、これをロボットにおける座標系に変換する。また、第一の軌道生成部104は、変換後の現在の現在画像及び目標画像に基づいて、軌道及び指令値(ここでは目標角度)を生成する。   In the visual servo unit 100, a visual feedback loop for making the current position close to the target position using information from the imaging device 30 is rotating. The first trajectory generation unit 104 acquires a target image as information regarding the target position. Further, the first trajectory generation unit 104 converts the current image and the target position on the current image into a coordinate system on the robot because the target position is represented on the coordinate system on the image. Further, the first trajectory generation unit 104 generates a trajectory and a command value (here, a target angle) based on the current current image and the target image after conversion.

力制御部110では、力覚センサー25からのセンサー情報に基づいて、目標として設定したインピーダンス(目標インピーダンス)で、ロボットの手先を物体に接触させるためのフィードバックループが回っている。第二の軌道生成部114は、取得するセンサー情報の値が、目標インピーダンスとなるように軌道及び指令値(ここでは目標角度)を生成する。   In the force control unit 110, a feedback loop for bringing the hand of the robot into contact with an object with an impedance set as a target (target impedance) based on sensor information from the force sensor 25 is rotating. The second trajectory generation unit 114 generates a trajectory and a command value (here, a target angle) so that the value of the acquired sensor information becomes the target impedance.

第三制御部130は、第一の軌道生成部104から出力された指令値と、第二の軌道生成部114から出力された指令値とに基づいた指令値をロボット20に出力する。具体的には、第三制御部130は、第一の軌道生成部104から出力された指令値に重みα(0≦α≦1)を掛け、第二の軌道生成部114から出力された指令値に重みβ(β=1−α)を掛け、これらを合成した指令値をロボット20に出力する。重みα及び重みβは、ビジュアルサーボの指令値及び力制御の指令値を合成する比率を示す値であると言える。αとβの比率の設定方法については、後述する。   The third control unit 130 outputs a command value based on the command value output from the first trajectory generation unit 104 and the command value output from the second trajectory generation unit 114 to the robot 20. Specifically, the third control unit 130 multiplies the command value output from the first trajectory generation unit 104 by the weight α (0 ≦ α ≦ 1), and outputs the command output from the second trajectory generation unit 114. The value is multiplied by the weight β (β = 1−α), and a command value obtained by combining these is output to the robot 20. It can be said that the weight α and the weight β are values indicating a ratio for combining the visual servo command value and the force control command value. A method for setting the ratio of α and β will be described later.

なお、一般的に画像処理の負荷は高いため、ビジュアルサーボ100が指令値を出力する間隔(例えば30ミリ秒(msec)毎)は、力制御部110が指令値を出力する間隔(例えば、1ミリ秒(msec)毎)よりも長いことが想定される。この場合、第三制御部130は、ビジュアルサーボ100から指令値が出力されていないときには、力制御部110から出力された指令値に重みαを掛け、最後にビジュアルサーボ100から出力された指令値に重みβを掛け、これらを合成したものをロボット20に出力すればよい。第三制御部130は、最後にビジュアルサーボ100から出力された指令値をメモリー等の記憶部に一時的に記憶しておき、この指令値を読み出して使用するようにすればよい。   Since the load of image processing is generally high, the interval at which the visual servo 100 outputs the command value (for example, every 30 milliseconds (msec)) is the interval at which the force control unit 110 outputs the command value (for example, 1 It is assumed that it is longer than every millisecond (msec). In this case, when the command value is not output from the visual servo 100, the third control unit 130 multiplies the command value output from the force control unit 110 by the weight α, and finally the command value output from the visual servo 100. Is multiplied by the weight β, and a combination of these is output to the robot 20. The third control unit 130 may temporarily store the command value finally output from the visual servo 100 in a storage unit such as a memory, and read and use the command value.

駆動制御部200は、ロボット制御装置10から指令値(目標角度)を取得する。駆動制御部200は、各ジョイント23に設けられた各アクチュエーターのエンコーダー値等に基づいて現在角度を取得し、目標角度と現在角度の差分(偏差角度)を算出する。また、駆動制御部200は、偏差角度に基づいてアーム22の移動速度を算出し(例えば、偏差角度が大きいほど移動速度を速くする)、算出した移動速度で算出した偏差角度だけ可動部21を移動させる。   The drive control unit 200 acquires a command value (target angle) from the robot control device 10. The drive control unit 200 acquires the current angle based on the encoder value of each actuator provided in each joint 23 and calculates the difference (deviation angle) between the target angle and the current angle. Further, the drive control unit 200 calculates the moving speed of the arm 22 based on the deviation angle (for example, the higher the deviation angle, the faster the moving speed), and the movable unit 21 is moved by the deviation angle calculated by the calculated moving speed. Move.

図4は、指令値を合成する比率を示す重みの設定方法の一例を説明する図である。図4では、縦軸を重みα及び重みβの比率、横軸を現在位置から目標位置までの距離とするグラフを示している。なお、上述のようにα+β=1である。   FIG. 4 is a diagram illustrating an example of a method for setting a weight indicating a ratio for combining command values. FIG. 4 shows a graph in which the vertical axis represents the ratio of weight α and weight β, and the horizontal axis represents the distance from the current position to the target position. Note that α + β = 1 as described above.

現在位置は、例えば、エンドポイントの現在位置とすることができる。また、目標位置は、例えば、エンドポイントの目標画像における位置とすることができる。もちろん、現在位置と目標位置はエンドポイントの位置に限られず、例えば、現在位置は、ハンド26が把持するワークWの特定の点の位置とし、目標位置は、ワークWの目標画像における位置としてもよい。   The current position can be, for example, the current position of the endpoint. Further, the target position can be, for example, the position of the end point in the target image. Of course, the current position and the target position are not limited to the position of the end point. For example, the current position is the position of a specific point of the workpiece W gripped by the hand 26, and the target position is also the position of the workpiece W in the target image. Good.

図4の例では、現在位置から目標位置までの距離dと重みの比率との関係は、現在位置から目標位置までの距離dが小さくなるに従って、係数αの比率が単調減少(βの比率が単調増加)する関係となっている。比率の変化の仕方は、曲線的であってもよいし直線的であってもよい。ロボット制御装置10は、例えば、キーボード等の入力部を介して、ユーザーから比率の変化の仕方の設定を受け付けることができる。   In the example of FIG. 4, the relationship between the distance d from the current position to the target position and the weight ratio is such that the ratio of the coefficient α decreases monotonically (the ratio of β decreases as the distance d from the current position to the target position decreases). Monotonous increase). The method of changing the ratio may be curvilinear or linear. For example, the robot control apparatus 10 can receive a setting of how to change the ratio from the user via an input unit such as a keyboard.

また、図4の例では、距離dが所定距離cよりも小さくなった場合に、係数αの比率が最大値1から減少に転じる。所定距離cには、力制御の効果が効果的に得られると想定される距離を設定することができる。所定距離の設定方法について、図5〜8を参照して、ワークW2の穴HにワークW1を嵌める作業を例に挙げながら説明する。   Further, in the example of FIG. 4, when the distance d is smaller than the predetermined distance c, the ratio of the coefficient α starts to decrease from the maximum value 1. The predetermined distance c can be set to a distance that is expected to effectively obtain the force control effect. A method for setting the predetermined distance will be described with reference to FIGS. 5 to 8 by taking as an example the operation of fitting the workpiece W1 into the hole H of the workpiece W2.

例えば図5(力制御による嵌め合い作業の一例を説明する図)に示すように、ワークW1が移動した結果、ワークW1とワークW2の接触面の位置が、穴Hの縁にも届かない遠い位置にずれてしまった場合を考える。この場合、ワークW1がワークW2に接触した時点でインピーダンス制御を開始してワークW1をワークW2に対して押し付けても、ワークW1が穴Hに入ることはない。すなわち、インピーダンス制御の効果が得られない。一方、図6(力制御による嵌め合い作業の一例を説明する図)に示すように、ワークW1が移動した結果、ワークW1とワークW2の接触面の位置が、穴Hの縁に届く位置にある場合を考える。この場合、ワークW1がワークW2に接触した時点でインピーダンス制御を開始してワークW1をワークW2に対して押し付けると、ワークW1が穴Hに嵌り易くなる。すなわち、インピーダンス制御の効果を得ることができる。このように、距離dが小さいほど、インピーダンス制御の効果を得られる可能性が高まる。   For example, as shown in FIG. 5 (a diagram illustrating an example of a fitting operation by force control), the position of the contact surface between the workpiece W1 and the workpiece W2 is far from reaching the edge of the hole H as a result of the movement of the workpiece W1. Consider a case where the position has shifted. In this case, even if the impedance control is started when the workpiece W1 contacts the workpiece W2 and the workpiece W1 is pressed against the workpiece W2, the workpiece W1 does not enter the hole H. That is, the effect of impedance control cannot be obtained. On the other hand, as shown in FIG. 6 (a diagram for explaining an example of the fitting operation by force control), the position of the contact surface between the workpiece W1 and the workpiece W2 reaches the edge of the hole H as a result of the movement of the workpiece W1. Consider a case. In this case, when impedance control is started when the workpiece W1 contacts the workpiece W2 and the workpiece W1 is pressed against the workpiece W2, the workpiece W1 is easily fitted into the hole H. That is, the effect of impedance control can be obtained. Thus, the smaller the distance d, the higher the possibility of obtaining the effect of impedance control.

そこで、例えば、インピーダンス制御の効果が得られない距離をc1(例えば2mm)、ロボット20の動作の精度誤差をc2(例えば3mm)とすると、距離c=c1+c2と定義することができる。距離cの設定は、作業内容やロボット仕様に応じて、ユーザーが調整することが望ましい。ロボット制御装置10は、例えば、キーボード等の入力部を介して、ユーザーから距離cの設定を受け付けることができる。   Therefore, for example, if the distance at which the impedance control effect cannot be obtained is c1 (for example, 2 mm) and the accuracy error of the operation of the robot 20 is c2 (for example, 3 mm), the distance can be defined as c = c1 + c2. The setting of the distance c is preferably adjusted by the user according to the work content and the robot specifications. The robot control apparatus 10 can accept the setting of the distance c from the user via an input unit such as a keyboard, for example.

なお、例えば図7(ビジュアルサーボによる嵌め合い作業の一例を説明する図)に示すように、ワークW1が移動した結果、ワークW1とワークW2の接触面の位置が、穴Hの縁に届く位置にある場合を考える。この場合、ワークW1がワークW2に接触した時点でインピーダンス制御を開始せずに、ビジュアルサーボによりワークW1の移動を行うと、場合によってはエンドポイントが最短ではない遠回りな、すなわち非効率な軌道で移動する可能性がある。一方、図8(力制御およびビジュアルサーボの並列制御による嵌め合い作業の一例を説明する図)に示すように、ワークW1が移動した結果、ワークW1とワークW2の接触面の位置が、穴Hの縁に届く位置にある場合を考える。この場合、ワークW1がワークW2に接触した時点でインピーダンス制御を開始した場合、ビジュアルサーボによるエンドポイントの軌道がインピーダンス制御による軌道により修正されるため、より効率的な軌道でワークW1を穴Hに嵌められる可能性が高まる。   Note that, for example, as shown in FIG. 7 (a diagram illustrating an example of a fitting operation by visual servo), the position of the contact surface between the workpiece W1 and the workpiece W2 reaches the edge of the hole H as a result of the movement of the workpiece W1. Consider the case. In this case, when the workpiece W1 is moved by visual servoing without starting impedance control when the workpiece W1 contacts the workpiece W2, depending on the situation, the end point may not be the shortest, that is, an inefficient trajectory. There is a possibility to move. On the other hand, as shown in FIG. 8 (a diagram for explaining an example of the fitting operation by the parallel control of force control and visual servo), the position of the contact surface between the workpiece W1 and the workpiece W2 is changed to the hole H as a result of the movement of the workpiece W1. Consider the case where it reaches the edge of In this case, when the impedance control is started when the workpiece W1 comes into contact with the workpiece W2, the trajectory of the end point by the visual servo is corrected by the trajectory by the impedance control. Therefore, the workpiece W1 is moved to the hole H with a more efficient trajectory. The possibility of being fitted increases.

第三制御部130は、例えば力制御部110が指令値を出力する間隔などの任意の間隔で、画像取得部120から画像を取得し、2つの位置(例えば、エンドポイントの現在位置とエンドポイントの目標位置)を画像処理により認識し、現在位置から目標位置までの距離を計算する。また、第三制御部130は、当該計算した距離と、距離と重み比率の関係とに基づいて、当該計算した距離に対応する重みα及び重みβの値を取得し、指令値の合成に使用する重みとして設定する。なお、距離と重み比率の関係を定義したテーブルを予め記憶部に記憶しておき、第三制御部130がこのテーブルを参照することで重み比率を決定するようにしてもよいし、第三制御部130が所定の関数式により重み比率を決定するようにしてもよい。   The third control unit 130 acquires an image from the image acquisition unit 120 at an arbitrary interval such as an interval at which the force control unit 110 outputs a command value, and acquires two positions (for example, the current position of the end point and the end point) Are recognized by image processing, and the distance from the current position to the target position is calculated. Further, the third control unit 130 acquires the values of the weight α and the weight β corresponding to the calculated distance based on the calculated distance and the relationship between the distance and the weight ratio, and uses them for the synthesis of the command value. Set as the weight to be used. A table defining the relationship between the distance and the weight ratio may be stored in advance in the storage unit, and the third control unit 130 may determine the weight ratio by referring to this table. The unit 130 may determine the weight ratio using a predetermined function formula.

このように、ビジュアルサーボと力制御の各指令値を同時に用いる(並列制御を行う)ことで、対象物の位置ずれが発生した場合であってもビジュアルサーボにより精度よく位置を修正することができる。また、ビジュアルサーボによる軌道が非効率になる場合であっても、力制御により効率の良い軌道に修正することができる。   In this way, by using the visual servo and force control command values at the same time (performing parallel control), the position can be accurately corrected by the visual servo even if the position of the object is displaced. . Even when the visual servo trajectory becomes inefficient, it can be corrected to an efficient trajectory by force control.

また、現在位置と目標位置の距離が大きくなるほど、力制御の指令値の割合がビジュアルサーボの指令値の割合よりも小さくなる。そのため、目的位置から遠い位置のように力制御による効果が効果的に得られない位置では、ビジュアルサーボにより効率的に可動部の移動を行うことができる。   Further, as the distance between the current position and the target position increases, the ratio of the command value for force control becomes smaller than the ratio of the command value for visual servo. Therefore, at a position where the effect of force control cannot be effectively obtained, such as a position far from the target position, the movable part can be efficiently moved by the visual servo.

また、現在位置と目標位置の距離が小さくなるほど、ビジュアルサーボの指令値の割合が力制御の指令値の割合よりも小さくなる。そのため、目的位置に近い位置のように力制御による効果がより効果的に得られる位置では、ビジュアルサーボによる非効率な軌道を修正して、より効率的に可動部の移動を行うことができる。   Further, as the distance between the current position and the target position becomes smaller, the ratio of the visual servo command value becomes smaller than the ratio of the force control command value. Therefore, at a position where the effect of force control is more effectively obtained, such as a position close to the target position, the inefficient trajectory by the visual servo can be corrected, and the movable part can be moved more efficiently.

また、目的位置までの距離に応じて連続的に重みを変化(単調増加又は単調減少)させる。そのため、ビジュアルサーボから力制御への切り替えを滑らかにすることができる。   Further, the weight is continuously changed (monotonically increased or monotonously decreased) according to the distance to the target position. Therefore, switching from visual servo to force control can be made smooth.

図9は、ロボット制御装置10の動作の一例を示すフロー図である。この処理は、例えば、図示しないボタン等を介して動作開始指示が入力されることにより開始される。図9では、ワークW1をワークW2の穴Hに嵌めこむ作業を考える。この作業では、例えば、ビジュアルサーボにより初期位置からワークW1が移動し、ワークW2の穴Hの近辺に一旦ワークW1が接触し、その後ビジュアルサーボ及びインピーダンス制御によりワークW1が穴Hに嵌められる、という流れを経る。   FIG. 9 is a flowchart showing an example of the operation of the robot control apparatus 10. This process is started, for example, when an operation start instruction is input via a button or the like (not shown). In FIG. 9, the operation | work which fits the workpiece | work W1 in the hole H of the workpiece | work W2 is considered. In this work, for example, the work W1 is moved from the initial position by visual servo, and the work W1 once contacts the vicinity of the hole H of the work W2, and then the work W1 is fitted into the hole H by visual servo and impedance control. Go through the flow.

図9のフローが開始されると、第三制御部130は、ビジュアルサーボ部100を用いてエンドポイントを移動させる(ステップS1)。また、第三制御部130は、ロボット20の力覚センサー25からのセンサー情報を取得し、当該取得したセンサー情報に基づいてロボットの手先に外力が加わったか否かを判定する(ステップS2)。ロボットの手先に外力が加わっていない場合(ステップS2でN)、第三制御部130は、ステップS1の処理を継続する。   When the flow of FIG. 9 is started, the third control unit 130 moves the end point using the visual servo unit 100 (step S1). The third control unit 130 acquires sensor information from the force sensor 25 of the robot 20 and determines whether or not an external force is applied to the hand of the robot based on the acquired sensor information (step S2). If no external force is applied to the hand of the robot (N in step S2), the third control unit 130 continues the process of step S1.

ロボットの手先に外力が加わった場合(ステップS2でY)、第三制御部130は、エンドポイントの現在位置から目標位置までの距離dを計測する(ステップS3)。また、第三制御部130は、ステップS3で計測した距離dと、距離と重みα及び重みβの関係を定義したテーブルとに基づいて、計測した距離dに対応する重み比率を設定する(ステップS4)。   When an external force is applied to the hand of the robot (Y in step S2), the third control unit 130 measures a distance d from the current position of the end point to the target position (step S3). The third control unit 130 sets a weight ratio corresponding to the measured distance d based on the distance d measured in step S3 and a table defining the relationship between the distance and the weight α and weight β (step S4).

それから、第三制御部130は、ビジュアルサーボ部100と力制御部110とを用いてエンドポイントを移動させる(ステップS5)。具体的には、上述したように、ビジュアルサーボ部100及び力制御部110は、それぞれ指令値を算出する。第三制御部130は、ビジュアルサーボ部100から出力された指令値にステップS4で設定した係数αを掛け、力制御部110から出力された指令値にステップS4で設定した係数βを掛け、これらを合成した指令値をロボット20に出力する。   Then, the third control unit 130 moves the end point using the visual servo unit 100 and the force control unit 110 (step S5). Specifically, as described above, the visual servo unit 100 and the force control unit 110 each calculate a command value. The third control unit 130 multiplies the command value output from the visual servo unit 100 by the coefficient α set in step S4 and multiplies the command value output from the force control unit 110 by the coefficient β set in step S4. Is output to the robot 20.

また、ビジュアルサーボ部100は、ビジュアルサーボを終了する条件が成立するか否かを判定する(ステップS6)。例えば、ビジュアルサーボ部100は、目標画像と現在画像との差分を求め、当該差分が所定の閾値以下である場合に、ビジュアルサーボを終了すると判定する。ビジュアルサーボを終了する条件が成立しない場合(ステップS6でN)、ビジュアルサーボ部100は、処理をステップS2に戻す。   Further, the visual servo unit 100 determines whether or not a condition for terminating the visual servo is satisfied (step S6). For example, the visual servo unit 100 obtains a difference between the target image and the current image, and determines that the visual servo is to be ended when the difference is equal to or less than a predetermined threshold. If the condition for ending the visual servo is not satisfied (N in step S6), the visual servo unit 100 returns the process to step S2.

ビジュアルサーボを終了する条件が成立する場合(ステップS6でY)、力制御部110は、力制御を終了する条件が成立するか否かを判定する(ステップS7)。例えば、力制御部110は、力覚センサー25からのセンサー情報に基づいて、ロボットの手先に外力が所定の閾値以上である場合に、力制御を終了すると判定する。力制御を終了する条件が成立しない場合(ステップS7でN)、力制御部110は、処理をステップS2に戻す。力制御を終了する条件が成立する場合(ステップS7でY)、力制御部110は、図9のフローチャートの処理を終了する。   When the condition for ending the visual servo is satisfied (Y in step S6), the force control unit 110 determines whether the condition for ending the force control is satisfied (step S7). For example, based on the sensor information from the force sensor 25, the force control unit 110 determines to end the force control when the external force at the hand of the robot is equal to or greater than a predetermined threshold. When the condition for ending the force control is not satisfied (N in Step S7), the force control unit 110 returns the process to Step S2. When the condition for ending the force control is satisfied (Y in step S7), the force control unit 110 ends the process of the flowchart of FIG.

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

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

例えば、ビジュアルサーボ部100、力制御部110、画像取得部120、第三制御部130などの機能は、補助記憶装置93などから主記憶装置92にロードされた所定のプログラムを演算装置91が実行することで実現される。入力部は、例えば、演算装置91が入力装置95を利用することで実現される。記憶部は、例えば、演算装置91が主記憶装置92又は補助記憶装置93を利用することで実現される。ロボット20や撮像装置30との通信機能は、例えば、演算装置91が通信I/F94利用することで実現される。なお、上記の所定のプログラムは、例えば、読み書き装置97により読み取られた記憶媒体からインストールされてもよいし、通信I/F94を介してネットワークからインストールされてもよい。   For example, the functions of the visual servo unit 100, the force control unit 110, the image acquisition unit 120, the third control unit 130, etc. are executed by the arithmetic unit 91 by executing a predetermined program loaded from the auxiliary storage device 93 or the like into the main storage device 92. It is realized by doing. The input unit is realized, for example, when the arithmetic device 91 uses the input device 95. The storage unit is realized by the arithmetic device 91 using the main storage device 92 or the auxiliary storage device 93, for example. The communication function with the robot 20 and the imaging device 30 is realized by the arithmetic device 91 using the communication I / F 94, for example. The predetermined program may be installed from, for example, a storage medium read by the read / write device 97 or may be installed from the network via the communication I / F 94.

ロボット20の駆動制御部200は、例えば、演算装置、記憶装置、回路などを備えるASIC(Application Specific Integrated Circuit)を備えるコントローラー基板等により実現することができる。   The drive control unit 200 of the robot 20 can be realized by, for example, a controller board including an application specific integrated circuit (ASIC) including an arithmetic device, a storage device, a circuit, and the like.

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

また、ロボット制御装置10及びロボット20の機能及び処理の分担は、図示した例に限られない。例えば、ロボット制御装置10の少なくとも一部の機能は、ロボット20に含まれ、ロボット20により実現されてもよい。また、例えば、ロボット20の少なくとも一部の機能は、ロボット制御装置10に含まれ、ロボット制御装置10により実現されてもよい。   Further, the functions and processing sharing of the robot control device 10 and the robot 20 are not limited to the illustrated example. For example, at least a part of the functions of the robot control device 10 may be included in the robot 20 and realized by the robot 20. Further, for example, at least a part of the functions of the robot 20 may be included in the robot control device 10 and realized by the robot control device 10.

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

以上、本発明の実施形態について説明した。本実施形態によれば、ロボットによる作業において、対象物の位置ずれなどが発生した場合でも、効率よく対象物を目標位置へ移動させることができる。   The embodiment of the present invention has been described above. According to the present embodiment, even when a position shift of the object occurs in the operation by the robot, the object can be efficiently moved to the target position.

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

1:ロボットシステム、10:ロボット制御装置、20:ロボット、21:可動部、22:アーム、23:ジョイント、24:リンク、25:力覚センサー、26:ハンド、30:撮像装置、90:コンピューター、91:演算装置、92:主記憶装置、93:補助記憶装置、94:通信I/F、95:入力装置、96:表示装置、97:読み書き装置、100:ビジュアルサーボ部、102:画像処理部、104:第一の軌道生成部、110:力制御部、112:センサー情報取得部、114:第二の軌道生成部、120:画像取得部、130:第三制御部、200:駆動制御部 1: Robot system, 10: Robot control device, 20: Robot, 21: Movable part, 22: Arm, 23: Joint, 24: Link, 25: Force sensor, 26: Hand, 30: Imaging device, 90: Computer 91: arithmetic device, 92: main storage device, 93: auxiliary storage device, 94: communication I / F, 95: input device, 96: display device, 97: read / write device, 100: visual servo unit, 102: image processing 104: first trajectory generation unit 110: force control unit 112: sensor information acquisition unit 114: second trajectory generation unit 120: image acquisition unit 130: third control unit 200: drive control Part

Claims (9)

ロボットの可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、
前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる第一指令値を生成する第一制御部と、
前記可動部に作用する力を検出する力検出部からの出力に基づいて、前記エンドポイントを移動させる第二指令値を生成する第二制御部と、
前記第一指令値と、前記第指令値とを、それぞれ前記目標位置までの距離に対応して変化させた所定の重みで足し合わせた第三指令値を用いて前記可動部を移動させる第三制御部と、
を有することを特徴とするロボット制御装置。
A target image that is an image including the end point when the end point of the movable part of the robot is at the target position, and a current image that is an image including the end point when the end point is at the current position are acquired. An image acquisition unit;
A first control unit that generates a first command value for moving the end point from the current position to the target position based on the current image and the target image;
A second control unit that generates a second command value for moving the end point based on an output from a force detection unit that detects a force acting on the movable unit;
The first command value and the second command value are respectively moved by using a third command value obtained by adding a predetermined weight that is changed corresponding to the distance to the target position . Three control units;
A robot control apparatus comprising:
請求項に記載のロボット制御装置であって、
前記所定の重みの設定をユーザーから受け付ける入力部、
を有することを特徴とするロボット制御装置。
The robot control device according to claim 1 ,
An input unit for receiving a setting of the predetermined weight from a user;
A robot control apparatus comprising:
請求項に記載のロボット制御装置であって、
前記第三制御部は、前記画像取得部が取得した画像に基づいて前記距離を決定する、
ことを特徴とするロボット制御装置。
The robot control device according to claim 1 ,
The third control unit determines the distance based on the image acquired by the image acquisition unit;
A robot controller characterized by that.
請求項に記載のロボット制御装置であって、
前記第三制御部は、前記距離が小さくなるほど、前記第二指令値に対応する重みを大きくする、
ことを特徴とするロボット制御装置。
The robot control device according to claim 1 ,
The third control unit increases the weight corresponding to the second command value as the distance decreases.
A robot controller characterized by that.
請求項に記載のロボット制御装置であって、
前記第三制御部は、前記距離が所定値より大きい場合には、前記第二指令値に対応するみを0にする、
ことを特徴とするロボット制御装置。
The robot control device according to claim 1 ,
The third control unit, when said distance is larger than the predetermined value, the weighting corresponding to the second command value to 0,
A robot controller characterized by that.
可動部と、
前記可動部に作用する力を検出する力検出部と、
前記可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、
前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる第一指令値を生成する第一制御部と、
前記力検出部からの出力に基づいて、前記エンドポイントを移動させる第二指令値を生成する第二制御部と、
前記第一指令値と、前記第二指令値とを、それぞれ前記目標位置までの距離に対応して変化させた所定の重みで足し合わせた第三指令値を用いて前記可動部を移動させる第三制御部と、
を有することを特徴とするロボット。
Moving parts;
A force detection unit for detecting a force acting on the movable unit;
An image for acquiring a target image that is an image including the end point when the end point of the movable unit is at a target position, and a current image that is an image including the end point when the end point is at the current position. An acquisition unit;
A first control unit that generates a first command value for moving the end point from the current position to the target position based on the current image and the target image;
A second control unit that generates a second command value for moving the end point based on an output from the force detection unit;
The first command value and the second command value are respectively moved by using a third command value obtained by adding a predetermined weight that is changed corresponding to the distance to the target position . Three control units;
A robot characterized by comprising:
可動部を有するロボットと、
前記可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、
前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる第一指令値を生成する第一制御部と、
前記可動部に作用する力を検出する力検出部からの出力に基づいて、前記エンドポイントを移動させる第二指令値を生成する第二制御部と、
前記第一指令値と、前記第二指令値とを、それぞれ前記目標位置までの距離に対応して変化させた所定の重みで足し合わせた第三指令値を用いて前記可動部を移動させる第三制御部と、
を有することを特徴とするロボットシステム。
A robot having moving parts;
An image for acquiring a target image that is an image including the end point when the end point of the movable unit is at a target position, and a current image that is an image including the end point when the end point is at the current position. An acquisition unit;
A first control unit that generates a first command value for moving the end point from the current position to the target position based on the current image and the target image;
A second control unit that generates a second command value for moving the end point based on an output from a force detection unit that detects a force acting on the movable unit;
The first command value and the second command value are respectively moved by using a third command value obtained by adding a predetermined weight that is changed corresponding to the distance to the target position . Three control units;
A robot system characterized by comprising:
ロボットの可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得ステップと、
前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる第一指令値を生成する第一制御ステップと、
前記可動部に作用する力を検出する力検出部からの出力に基づいて、前記エンドポイントを移動させる第二指令値を生成する第二制御ステップと、
前記第一指令値と、前記第二指令値とを、それぞれ前記目標位置までの距離に対応して変化させた所定の重みで足し合わせた第三指令値を用いて前記可動部を移動させる第三制御ステップと、
を含むことを特徴とするロボット制御方法。
A target image that is an image including the end point when the end point of the movable part of the robot is at the target position, and a current image that is an image including the end point when the end point is at the current position are acquired. An image acquisition step;
A first control step for generating a first command value for moving the end point from the current position to the target position based on the current image and the target image;
A second control step of generating a second command value for moving the end point based on an output from a force detection unit that detects a force acting on the movable unit;
The first command value and the second command value are respectively moved by using a third command value obtained by adding a predetermined weight that is changed corresponding to the distance to the target position . Three control steps;
A robot control method comprising:
ロボット制御装置のプログラムであって、
ロボットの可動部のエンドポイントが目標位置にあるときの前記エンドポイントを含む画像である目標画像と、前記エンドポイントが現在位置にあるときの前記エンドポイントを含む画像である現在画像とを取得する画像取得部と、
前記現在画像及び前記目標画像に基づいて、前記エンドポイントを前記現在位置から前記目標位置に移動させる第一指令値を生成する第一制御部と、
前記可動部に作用する力を検出する力検出部からの出力に基づいて、前記エンドポイントを移動させる第二指令値を生成する第二制御部と、
前記第一指令値と、前記第二指令値とを、それぞれ前記目標位置までの距離に対応して変化させた所定の重みで足し合わせた第三指令値を用いて前記可動部を移動させる第三制御部として、
前記ロボット制御装置を機能させる、
ことを特徴とするプログラム。
A program for a robot controller,
A target image that is an image including the end point when the end point of the movable part of the robot is at the target position, and a current image that is an image including the end point when the end point is at the current position are acquired. An image acquisition unit;
A first control unit that generates a first command value for moving the end point from the current position to the target position based on the current image and the target image;
A second control unit that generates a second command value for moving the end point based on an output from a force detection unit that detects a force acting on the movable unit;
The first command value and the second command value are respectively moved by using a third command value obtained by adding a predetermined weight that is changed corresponding to the distance to the target position . As three control units
Causing the robot control device to function;
A program characterized by that.
JP2013212919A 2013-10-10 2013-10-10 Robot control apparatus, robot system, robot, robot control method, and program Expired - Fee Related JP6322948B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2013212919A JP6322948B2 (en) 2013-10-10 2013-10-10 Robot control apparatus, robot system, robot, robot control method, and program
CN201410524815.XA CN104552291B (en) 2013-10-10 2014-10-08 Robot controller, robot system, robot and robot control method
CN201510141455.XA CN104827469B (en) 2013-10-10 2014-10-08 Robot control device, robot system, robot and robot control method
CN201810330449.2A CN108621156B (en) 2013-10-10 2014-10-08 Robot control device, robot system, robot, and robot control method
US14/510,591 US9492925B2 (en) 2013-10-10 2014-10-09 Robot controller, robot system, robot, robot control method, and program
EP14188281.1A EP2859999A3 (en) 2013-10-10 2014-10-09 Robot controller, robot system, robot, robot control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013212919A JP6322948B2 (en) 2013-10-10 2013-10-10 Robot control apparatus, robot system, robot, robot control method, and program

Publications (2)

Publication Number Publication Date
JP2015074058A JP2015074058A (en) 2015-04-20
JP6322948B2 true JP6322948B2 (en) 2018-05-16

Family

ID=52999330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013212919A Expired - Fee Related JP6322948B2 (en) 2013-10-10 2013-10-10 Robot control apparatus, robot system, robot, robot control method, and program

Country Status (1)

Country Link
JP (1) JP6322948B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6851837B2 (en) * 2017-01-20 2021-03-31 キヤノン株式会社 Manufacturing methods for control devices, robot systems, control methods, programs, recording media and articles
JP7351667B2 (en) * 2019-08-01 2023-09-27 ファナック株式会社 Robot control system, control method, computer program, and control device that performs multi-point mating
JP2023104375A (en) * 2022-01-17 2023-07-28 倉敷紡績株式会社 robot control system
CN116834038B (en) * 2023-07-31 2024-02-02 沈阳新光航宇安全系统有限公司 Intelligent visual identification control system for rupture disc
JP7576890B1 (en) * 2024-04-26 2024-11-01 株式会社CoLab Control device, control method, and program

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2770982B2 (en) * 1989-05-25 1998-07-02 株式会社豊田中央研究所 Manipulator position and force coordination controller
JPH05318363A (en) * 1992-05-21 1993-12-03 Sanyo Electric Co Ltd Method for controlling robot
JP2000301479A (en) * 1999-04-19 2000-10-31 Denso Corp Robot control device
US20080027580A1 (en) * 2006-07-28 2008-01-31 Hui Zhang Robot programming method and apparatus with both vision and force
EP2271465A1 (en) * 2008-03-31 2011-01-12 Abb Research Robot parts assembly on a workpiece moving on an assembly line
JP5549129B2 (en) * 2009-07-06 2014-07-16 セイコーエプソン株式会社 Position control method, robot
JP2012254518A (en) * 2011-05-16 2012-12-27 Seiko Epson Corp Robot control system, robot system and program
JP5904635B2 (en) * 2012-03-02 2016-04-13 セイコーエプソン株式会社 Control apparatus, control method, and robot apparatus

Also Published As

Publication number Publication date
JP2015074058A (en) 2015-04-20

Similar Documents

Publication Publication Date Title
US11090814B2 (en) Robot control method
US9492925B2 (en) Robot controller, robot system, robot, robot control method, and program
CN106945007B (en) Robot system, robot, and robot controller
CN107717981B (en) Control device of mechanical arm and teaching system and method thereof
JP6380828B2 (en) Robot, robot system, control device, and control method
JP5505138B2 (en) Robot apparatus and gripping method using robot apparatus
JP6322948B2 (en) Robot control apparatus, robot system, robot, robot control method, and program
JP7049069B2 (en) Robot system and control method of robot system
JP6322949B2 (en) Robot control apparatus, robot system, robot, robot control method, and robot control program
JP2009066683A (en) Robot hand, control method, and program
JP2013071231A (en) Teaching device of robot arm, robot apparatus, teaching method, control device of robot arm, control program of robot arm, and integrated electronic circuit
CN111037553B (en) control device
JP6003312B2 (en) Robot system
JP2015186834A (en) Robot control apparatus, holding unit control device, robot, holding unit, robot control method and program
JP2021045810A (en) Motion information generation device, end effector, robot and robot system
JP2005144573A (en) Control method for gripping force of robot hand
JP2019126879A (en) Gripping device
JP7178994B2 (en) gripping system
JP2015074059A (en) Robot control device, robot system, robot, robot control method and program
JP7185749B2 (en) ROBOT SYSTEM AND ROBOT SYSTEM CONTROL METHOD
JP2014054692A (en) State discrimination method, robot, control device, and program
JP2006315128A (en) Robot hand holding and gripping control method.
JP2020157475A (en) Control device, robot system, and robot control method
JP2024111358A (en) Direct teaching device and direct teaching method
WO2025023078A1 (en) Robot system and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170921

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: 20180313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180326

R150 Certificate of patent or registration of utility model

Ref document number: 6322948

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees