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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 36
- 238000001514 detection method Methods 0.000 claims description 21
- 230000007423 decrease Effects 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 description 46
- 238000012545 processing Methods 0.000 description 24
- 238000003384 imaging method Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 239000012636 effector Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
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
しかしながら、特許文献1の技術では、ワークなどの対象物の現在位置が目標位置から想定以上に大きくずれてしまった場合には、対象物を目標位置へ移動することが困難になる。例えば、ワークを穴に嵌める嵌め合い作業では、インピーダンス制御によりワークを穴の縁などに押し当てることで、作業を完了することができる。しかしながら、ワークの位置が穴から遠くにずれている場合には、インピーダンス制御ではワークが穴に対してどのようにずれているか(方向や距離など)を検出することができないため、現在位置を修正して作業を完了することが困難である。ロボットの作業を完了するには、ロボットの軌道をユーザーが修正して再度教示するなどのユーザーの作業が発生する。
However, with the technique of
そこで、本発明は、ロボットによる作業において、対象物の位置ずれなどが発生した場合でも、効率よく対象物を目標位置へ移動させることを目的とする。 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.
本発明の実施形態について、図面を参照しながら説明する。 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
ロボット制御装置10は、ロボット20の全体を制御する。また、ロボット制御装置10は、撮像装置30による撮像を制御する。
The
ロボット20は、ロボット制御装置10からの制御信号に従って動作し、作業を行う。ロボットの作業内容は、特に限定されないが、例えば、作業台T上でワークW1をワークW2の穴Hに嵌める作業などが考えられる。ワークは、作業の対象物と呼ぶことができる。
The
ロボット20は、一以上のジョイント23及び一以上のリンク24を含むアーム22と、アーム22の先端部に設けられたハンド26と、アーム22の先端部とハンド26との間(手首部分と呼ぶこともできる。)に設けられた力覚センサー25と、を有する。
The
力覚センサー25は、例えば、ハンド26に作用する力や、モーメントを検出する。力覚センサー25の出力は、ロボット制御装置10に送られ、ロボット制御装置10によるロボット20のインピーダンス制御などに用いられる。力覚センサー25としては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。もちろん、力覚センサー25の軸数は特に限定されず、例えば3軸でもよい。なお、力覚センサー25は、力検出部と呼ぶこともできる。
The
ハンド26は、例えば、複数の指を備え、少なくとも2本の指で対象物W(W1、W2)を把持することができる。ハンド26は、アーム22の先端部に対して着脱可能であってもよい。なお、ハンド26は、エンドエフェクターの一種ということができる。エンドエフェクターは、対象物を把持したり、持ち上げたり、吊り上げたり、吸着したり、ワークを加工したりするための部材である。エンドエフェクターは、ハンド、フック、吸盤など、様々な形態をとることができる。また、エンドエフェクターは、一本のアームに対して複数設けるようにしてもよい。
The
アーム22、力覚センサー25、及びハンド26を含むユニットを、可動部やマニピュレータと呼ぶこともできる(以下では、可動部と呼ぶ。)。図1の例では、ロボット20は可動部21を2本有する。可動部21には、ジョイント23やハンド26等の各部を動作させるため、例えば、アクチュエーター(図示せず)が備えられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、例えば、ロボット制御装置10や後述するロボット20の駆動制御部200(図2参照)によるロボット20のフィードバック制御などに用いられる。
A unit including the
ロボット20は、ロボット制御装置10から与えられる制御命令に従って、各ジョイント23を連動させて駆動することにより、アーム22の先端部などに設定された注目位置(以下、エンドポイントという。)を、所定の可動範囲内で自在に移動させたり自由な方向へ向けたりすることができる。また、ハンド26で対象物などを把持したり解放したりすることができる。
The
なお、エンドポイントの位置は、アームの先端部に限定されず、例えば、エンドエフェクターの先端部などに設定されてもよい。 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
上記のロボットシステム1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記した構成例に限られない。また、一般的なロボットシステムが備える構成を排除するものではない。
The configuration of the
例えば、図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
図2は、ロボットシステム1の機能構成の一例を示す図である。
FIG. 2 is a diagram illustrating an example of a functional configuration of the
ロボット20は、駆動制御部200を有する。
The
駆動制御部200は、ロボット制御装置10から出力された制御命令と、アクチュエーターのエンコーダー値及びセンサーのセンサー値等とに基づいて、エンドポイントの位置が制御命令で指示される目標位置となるように、アクチュエーターを駆動させる。なお、エンドポイントの現在位置は、例えばアクチュエーターにおけるエンコーダー値等から求めることができる。
Based on the control command output from the
ロボット制御装置10は、ビジュアルサーボ部(第一制御部)100と、力制御部(第二制御部)110と、画像取得部120と、第三制御部130とを有する。ビジュアルサーボ部100は、画像処理部102と、第一の軌道生成部104とを有する。力制御部110は、センサー情報取得部112と、第二の軌道生成部114とを有する。
The
ビジュアルサーボ部100は、撮像装置30が撮像した画像を、画像取得部120を介して取得する。また、ビジュアルサーボ部100は、取得した画像に基づいて、目標物との相対的な位置の変化を視覚情報として計測し、それをフィードバック情報として用いることによって目標物を追跡する制御手法であるビジュアルサーボを実行して、アーム22を移動させる。なお、本実施形態では、ビジュアルサーボとして、視差が生じるような2枚の画像を利用して画像を立体として認識させるステレオグラム等の方法を用いて計算した対象の3次元位置情報に基づいてロボットを制御する位置ベース法を採用する。なお、ビジュアルサーボとしては、目標の画像から抽出した特徴量と現在の画像から抽出した特徴量とに基づいてロボットを制御する画像ベース法を採用してもよい。
The
画像処理部102は、画像取得部120から取得した画像からエンドポイントを認識し、当該認識したエンドポイントを含む画像を抽出する。なお、画像処理部102が行う画像認識処理は、一般的な様々な技術を用いることができるため、説明を省略する。
The
第一の軌道生成部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
また、第一の軌道生成部104は、設定したエンドポイントの移動量及び移動方向に基づいて、各ジョイント23に設けられた各アクチュエーターの目標角度を決定する。さらに、第一の軌道生成部104は、目標角度だけアーム22を移動させるような指令値を生成し、第三制御部130へ出力する。なお、第一の軌道生成部104が行う軌道の生成処理、目標角度の決定処理、指令値の生成処理等は、一般的な様々な技術を用いることができるため、詳細な説明を省略する。
Further, the first
力制御部110は、ロボット20の力覚センサー25からのセンサー情報(力情報やモーメント情報を示すセンサー値)に基づいて、力制御(力覚制御ともいう)を行う。本実施形態では、力制御としてインピーダンス制御を行う。インピーダンス制御は、ロボットの手先(ハンド26等)に外から力を加えた場合に生じる機械的なインピーダンス(慣性、減衰係数、剛性)を、目的とする作業に都合の良い値に設定するための位置と力の制御手法である。具体的には、例えば、ロボットのエンドエフェクター部に質量と粘性係数と弾性要素が接続されるモデルにおいて、目標として設定した質量と粘性係数と弾性係数で物体に接触するようにする制御である。
The
なお、力制御を行うためには、ハンド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
センサー情報取得部112は、ロボット20の力覚センサー25から出力されるセンサー情報(検出されたセンサー値など)を取得する。なお、センサー情報取得部112は、力検出部と呼ぶこともできる。
The sensor
第二の軌道生成部114は、インピーダンス制御によりエンドポイントの移動方向及び移動量を決定する。また、第二の軌道生成部114は、エンドポイントの移動方向及び移動量に基づいて、各ジョイント23に設けられた各アクチュエーターの目標角度を決定する。また、第二の軌道生成部114は、目標角度だけアーム22を移動させるような指令値を生成し、第三制御部130へ出力する。なお、第二の軌道生成部114が行う軌道の生成処理、目標角度の決定処理、指令値の生成処理等は、一般的な様々な技術を用いることができるため、詳細な説明を省略する。
The second
なお、関節を持つロボット20では、各関節の角度を決定すると、フォワードキネマティクス処理によりエンドポイントの位置は一意に決定される。つまり、N関節ロボットではN個の関節角度により1つの目標位置を表現できることになるから、当該N個の関節角度の組を1つの目標関節角度とすれば、エンドポイントの軌道を目標関節角度の集合と考えることができる。よって、第一の軌道生成部104及び第二の軌道生成部114から出力される指令値は、位置に関する値(目標位置)であってもよいし、関節の角度に関する値(目標角度)であってもよい。
In the
画像取得部120は、撮像装置30が撮像した画像を取得し、ビジュアルサーボ部100及び第三制御部130に出力する。
The
第三制御部130は、ビジュアルサーボ部(第一制御部)100から出力される指令値と、力制御部(第二制御部)110から出力される指令値とを、それぞれに設定した重みを用いて合成する。また、第三制御部130は、合成した指令値に基づいて、エンドポイントの位置、すなわち可動部21を移動させるように、ロボット20に指示を出力する。
The
また、第三制御部130は、画像取得部120から取得した画像から、2つの位置(例えば、エンドポイントの現在位置とエンドポイントの目標位置)を認識し、現在位置から目標位置までの距離を計算する。そして、当該計算した距離の長さに応じて、指令値を合成する重みの比率を設定する。また、第三制御部130は、ロボット20の力覚センサー25から出力されるセンサー情報を取得する機能(「力検出部」と呼んでもよい。)を有する。第三制御部130の処理の詳細は後述する。
The
図3は、ロボットシステム1におけるデータ及び制御の流れの一例を示す図である。
FIG. 3 is a diagram illustrating an example of the flow of data and control in the
ビジュアルサーボ部100では、撮像装置30からの情報を用いて現在位置を目標位置に近づけるためのビジュアルフィードバックループが回っている。第一の軌道生成部104は、目標位置に関する情報として目標画像を取得する。また、第一の軌道生成部104は、現在画像及び現在画像上における目標位置は画像上における座標系で表されているため、これをロボットにおける座標系に変換する。また、第一の軌道生成部104は、変換後の現在の現在画像及び目標画像に基づいて、軌道及び指令値(ここでは目標角度)を生成する。
In the
力制御部110では、力覚センサー25からのセンサー情報に基づいて、目標として設定したインピーダンス(目標インピーダンス)で、ロボットの手先を物体に接触させるためのフィードバックループが回っている。第二の軌道生成部114は、取得するセンサー情報の値が、目標インピーダンスとなるように軌道及び指令値(ここでは目標角度)を生成する。
In the
第三制御部130は、第一の軌道生成部104から出力された指令値と、第二の軌道生成部114から出力された指令値とに基づいた指令値をロボット20に出力する。具体的には、第三制御部130は、第一の軌道生成部104から出力された指令値に重みα(0≦α≦1)を掛け、第二の軌道生成部114から出力された指令値に重みβ(β=1−α)を掛け、これらを合成した指令値をロボット20に出力する。重みα及び重みβは、ビジュアルサーボの指令値及び力制御の指令値を合成する比率を示す値であると言える。αとβの比率の設定方法については、後述する。
The
なお、一般的に画像処理の負荷は高いため、ビジュアルサーボ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
駆動制御部200は、ロボット制御装置10から指令値(目標角度)を取得する。駆動制御部200は、各ジョイント23に設けられた各アクチュエーターのエンコーダー値等に基づいて現在角度を取得し、目標角度と現在角度の差分(偏差角度)を算出する。また、駆動制御部200は、偏差角度に基づいてアーム22の移動速度を算出し(例えば、偏差角度が大きいほど移動速度を速くする)、算出した移動速度で算出した偏差角度だけ可動部21を移動させる。
The
図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
図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
また、図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
例えば図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
なお、例えば図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
このように、ビジュアルサーボと力制御の各指令値を同時に用いる(並列制御を行う)ことで、対象物の位置ずれが発生した場合であってもビジュアルサーボにより精度よく位置を修正することができる。また、ビジュアルサーボによる軌道が非効率になる場合であっても、力制御により効率の良い軌道に修正することができる。 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
図9のフローが開始されると、第三制御部130は、ビジュアルサーボ部100を用いてエンドポイントを移動させる(ステップS1)。また、第三制御部130は、ロボット20の力覚センサー25からのセンサー情報を取得し、当該取得したセンサー情報に基づいてロボットの手先に外力が加わったか否かを判定する(ステップS2)。ロボットの手先に外力が加わっていない場合(ステップS2でN)、第三制御部130は、ステップS1の処理を継続する。
When the flow of FIG. 9 is started, the
ロボットの手先に外力が加わった場合(ステップ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
それから、第三制御部130は、ビジュアルサーボ部100と力制御部110とを用いてエンドポイントを移動させる(ステップS5)。具体的には、上述したように、ビジュアルサーボ部100及び力制御部110は、それぞれ指令値を算出する。第三制御部130は、ビジュアルサーボ部100から出力された指令値にステップS4で設定した係数αを掛け、力制御部110から出力された指令値にステップS4で設定した係数βを掛け、これらを合成した指令値をロボット20に出力する。
Then, the
また、ビジュアルサーボ部100は、ビジュアルサーボを終了する条件が成立するか否かを判定する(ステップS6)。例えば、ビジュアルサーボ部100は、目標画像と現在画像との差分を求め、当該差分が所定の閾値以下である場合に、ビジュアルサーボを終了すると判定する。ビジュアルサーボを終了する条件が成立しない場合(ステップS6でN)、ビジュアルサーボ部100は、処理をステップS2に戻す。
Further, the
ビジュアルサーボを終了する条件が成立する場合(ステップ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
図10は、ロボット制御装置10の機能を実現するハードウェア構成の一例を示す図である。
FIG. 10 is a diagram illustrating an example of a hardware configuration that implements the functions of the
ロボット制御装置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
例えば、ビジュアルサーボ部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
ロボット20の駆動制御部200は、例えば、演算装置、記憶装置、回路などを備えるASIC(Application Specific Integrated Circuit)を備えるコントローラー基板等により実現することができる。
The
上述したロボットシステム1の機能構成は、ロボットシステム1の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボットシステム1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
The functional configuration of the
また、ロボット制御装置10及びロボット20の機能及び処理の分担は、図示した例に限られない。例えば、ロボット制御装置10の少なくとも一部の機能は、ロボット20に含まれ、ロボット20により実現されてもよい。また、例えば、ロボット20の少なくとも一部の機能は、ロボット制御装置10に含まれ、ロボット制御装置10により実現されてもよい。
Further, the functions and processing sharing of the
また、上述したフローチャートの各処理単位は、ロボット制御装置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
以上、本発明の実施形態について説明した。本実施形態によれば、ロボットによる作業において、対象物の位置ずれなどが発生した場合でも、効率よく対象物を目標位置へ移動させることができる。 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.
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)
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)
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 |
-
2013
- 2013-10-10 JP JP2013212919A patent/JP6322948B2/en not_active Expired - Fee Related
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 |