JP2024028392A - 制御装置、制御方法、ロボットシステム、物品の製造方法、表示装置、プログラム及び記録媒体 - Google Patents
制御装置、制御方法、ロボットシステム、物品の製造方法、表示装置、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2024028392A JP2024028392A JP2024000566A JP2024000566A JP2024028392A JP 2024028392 A JP2024028392 A JP 2024028392A JP 2024000566 A JP2024000566 A JP 2024000566A JP 2024000566 A JP2024000566 A JP 2024000566A JP 2024028392 A JP2024028392 A JP 2024028392A
- Authority
- JP
- Japan
- Prior art keywords
- force
- data
- teaching
- robot arm
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 49
- 238000004519 manufacturing process Methods 0.000 title 1
- 230000008859 change Effects 0.000 claims description 29
- 239000012636 effector Substances 0.000 claims description 10
- 238000010586 diagram Methods 0.000 abstract description 33
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 21
- 238000012937 correction Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 16
- 230000009471 action Effects 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 7
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/06—Control stands, e.g. consoles, switchboards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
- G05B19/421—Teaching successive positions by mechanical means, e.g. by mechanically-coupled handwheels to position tool head or end effector
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
【課題】教示時のロボットアームの動作に基づいて所望の態様でロボットアームを制御する。【解決手段】ロボット200は、ハンドリング部203と、ロボットの先端部に作用する第1力データを取得する第1センサ251と、ハンドリング部203に作用する第2力データを取得する第2センサ252と、ロボットアーム201の先端部の位置姿勢データを取得する第3センサ253と、を備えている。ロボット200を制御する制御装置は、ロボットアーム201の教示時の第1力データ及び第2力データの解析結果に基づき、第3センサ253の位置姿勢のデータに基づいてロボットアーム201を位置姿勢制御する第1期間と、第1力データ及び第2力データに基づいてロボットアーム201を力制御する第2期間とを有する教示データを生成する。【選択図】図1
Description
本発明は、教示者がロボットアームを手動で操作してロボットアームの動作を教示するダイレクト教示が可能なロボットの制御装置、制御方法、ロボットシステム、プログラム及び記録媒体に関する。
従来、ロボットアームの動作を教示する際には、教示ペンダントのような操作装置を用いてエンドエフェクタなどを教示位置へ移動させる操作を行い、教示者が目視で位置を確認しつつ、教示位置を記憶させていた。その際、教示者が教示ペンダントに座標を入力するか教示ペンダントを操作して、ロボットアームを微小移動させる作業を繰り返す必要があり、作業が煩雑であったため、教示を効率的に行うことができなかった。
そこで、教示における操作性を改善する方法の一つとしてダイレクト教示という技術がある。ダイレクト教示は、教示者がロボットの所定の箇所を掴んでロボットアームを手動で操作し、そのときのロボットアームの先端の位置姿勢データを取得し、そのデータを基にロボットアームの動作指令値を生成し、教示時の組立動作を再現するものである。ダイレクト教示では、ロボットアームを手動で導くだけで直感的に教示できるため、煩雑な作業なく簡単にロボットアームを動作させる教示データを生成することができる。教示者がロボットアームを手動で操作する場合、ロボット制御装置は、一般的にコンプライアンス制御またはインピーダンス制御と呼ばれる制御を行う。例えばロボット制御装置は、ロボットアームの先端に加わる力がゼロになるようにロボットアームを制御することで教示者が力を掛けた方向にロボットアームを動作させる。
特許文献1には、教示者がロボットアームを手動で操作した際に、位置姿勢データとともに力トルクデータの時系列データを取得し、接触力に関する力教示データを生成するものが記載されている。
しかしながら、特許文献1に記載されている方法は、接触力に関する力教示データを生成するものである。そのため、特許文献1に記載された力教示データに従ってロボットアームを再生動作させても、組み付け作業などの精密な作業が必要な箇所において、教示者が指示したようにロボットアームが動作するとは限らなかった。
本発明は、教示時のロボットアームの動作に基づいて所望の態様でロボットアームを制御することを目的とする。
本発明は、ロボットアームの動作を教示する際に操作されるハンドリング部と、ロボットの先端部に作用する第1力データを取得する第1センサと、前記ハンドリング部に作用する第2力データを取得する第2センサと、前記ロボットアームの先端部の位置姿勢データを取得する第3センサと、を備えるロボットの制御装置であって、前記ロボットアームの教示時の前記第1力データ及び前記第2力データの解析結果に基づき、前記第3センサの前記位置姿勢のデータに基づいて前記ロボットアームを位置姿勢制御する第1期間と、前記第1力データ及び第2力データに基づいて前記ロボットアームを力制御する第2期間とを有する教示データを生成する生成手段と、生成された前記教示データを格納する記憶部と、を備えることを特徴とする。
また、本発明は、ロボットアームの動作を教示する際に操作されるハンドリング部が設けられたロボットを制御装置が制御する制御方法であって、教示時に、第1センサを用いて前記ロボットの先端部に作用する第1力データ、第2センサを用いて前記ハンドリング部に作用する第2力データ、及び第3センサを用いて前記ロボットアームの先端部の位置姿勢データを取得し、前記第1力データ及び前記第2力データの解析結果に基づき、前記第3センサの前記位置姿勢のデータに基づいて前記ロボットアームを位置姿勢制御する第1期間と、前記第1力データ及び第2力データに基づいて前記ロボットアームを力制御する第2期間とを有する教示データを生成する、ことを特徴とする。
本発明によれば、教示時のロボットアームの動作に基づいて所望の態様でロボットアームを制御することができる。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態に係るロボット装置の説明図である。図1に示すロボットシステムとしてのロボット装置100は、ロボット200と、ロボット200を制御する制御装置の一例である制御システム300と、を備える。制御システム300は、ロボット制御装置350及びサーボ制御装置360を有する。
[第1実施形態]
図1は、第1実施形態に係るロボット装置の説明図である。図1に示すロボットシステムとしてのロボット装置100は、ロボット200と、ロボット200を制御する制御装置の一例である制御システム300と、を備える。制御システム300は、ロボット制御装置350及びサーボ制御装置360を有する。
ロボット200は、垂直多関節の産業用ロボットである。ロボット200は、ロボットアーム201と、エンドエフェクタの一例であるハンド202と、ハンドリング部203とを有する。ロボットアーム201の先端には、ハンドリング部203が取り付けられている。ハンド202は、ハンドリング部203を介してロボットアーム201の先端に支持されている。つまり、ハンドリング部203は、ロボットアーム201の先端とハンド202との間に設けられている。ハンドリング部203は、ロボットアーム201の動作をダイレクト教示する時に教示者に操作される部位であり、教示者が掴んで操作することができるような形状となっている。
ロボットアーム201は、直列に連結された複数、例えば7つのリンク210~216を有し、例えば作業対象物が載置されるベースBに基端(固定端)が固定されている。本実施形態では、7つのリンク210~216が6つの関節J1~J6で連結されている。なお、リンクの数は、7つに限定するものではない。各関節J1~J6は、直動関節、旋回関節又は回転関節(捩り関節ともいう)のいずれかである。本実施形態では、関節J2,J3,J5が旋回関節であり、関節J1,J4,J6が回転関節である。リンク210は、ロボットアーム201の基端である。リンク216は、ロボットアーム201の先端(自由端)である。ハンド202は、複数のフィンガ220を有し、複数のフィンガ220を動作させることで、ワーク等を把持可能となっている。
ハンド202とハンドリング部203との間には、第1センサの一例である力覚センサ251が配置されている。ハンド202は力覚センサ251に支持され、力覚センサ251はハンドリング部203に支持されている。力覚センサ251は、ハンド202に内蔵されている。なお、本実施形態では、力覚センサ251は、ハンド202に内蔵されているが、ハンド202とハンドリング部203との間に配置されていればよく、ハンドリング部203に内蔵されていてもよい。力覚センサ251は、ハンド202に作用する6軸の力を測定するのに用いるセンサである。6軸の力とは、互いに直交する3軸方向の並進力と、各軸まわりの回転力、即ちモーメントとである。ハンド202に作用する力は、ハンド202又はハンドに把持された把持物が、作業対象物に接触した際にかかる反力(以下「接触力」という)である。接触力は、作業対象物に対してハンド202が印加した力でもある。
力覚センサ251は、自身に作用した力、即ち接触力に応じた信号を所定の周期で制御システム300のロボット制御装置350に出力する。ロボット制御装置350は、力覚センサ251から得られた信号に基づいて、ハンド202に作用する力を求める処理を行う。このように、制御システム300、即ちロボット制御装置350は、力覚センサ251を用いてハンド202に作用する力を測定することができる。即ち、力覚センサ251は、ロボット200の先端部に作用する第1力データを取得するように構成されている。なお、上述したように、本実施の形態では、エンドエフェクタを含めてロボットと呼んでいる。このため、エンドエフェクタがついていれば、エンドエフェクタの先端がロボットの先端部となる。
ロボットアーム201の各関節J1~J6には、駆動部230が配置されている。各駆動部230は、対応する関節を回転駆動するモータ231を有する。各関節J1~J6に配置されたモータ231が動作することにより、ロボットアーム201の姿勢が変更される。ロボットアーム201の姿勢を変更することにより、ロボットアーム201の先端に支持されたハンド202を、任意の位置姿勢に変更することができる。以下、ロボットアーム201の先端の「位置姿勢」を、単に「位置」ともいう。
また、各駆動部230は、トルクセンサ252を有する。即ち、ロボットアーム201の関節J1~J6には、第2センサの一例である複数のトルクセンサ252が配置されている。各トルクセンサ252は、各関節J1~J6に作用するトルク、即ち各関節J1~J6で連結された一対のリンクの間に作用するトルクに応じた信号を、所定の周期でロボット制御装置350に出力する。ロボット制御装置350は、複数のトルクセンサ252から得られた信号に基づき、ロボットアーム201の先端、即ちリンク216に取り付けられたハンドリング部203に作用する力を求める処理を行う。このように、ロボット制御装置350は、複数のトルクセンサ252を用いてロボットアーム201の先端、即ちハンドリング部203に作用する力を測定することができる。即ち、トルクセンサ252は、ハンドリング部203に作用する第2力データF2を取得するように構成されている。このハンドリング部203に作用する力には、教示者がハンドリング部203を掴んで操作するときにハンドリング部203に印加される操作力のほか、接触力が含まれる。なお、第1センサとしての力覚センサ251は、上述した第2センサとしてのトルクセンサ252よりもロボットの先端部寄り(エンドエフェクタ寄り)に配設されている。
また、各駆動部230は、エンコーダ253を有する。即ち、ロボットアーム201の関節J1~J6には、第3センサの一例である複数のエンコーダ253が配置されている。各エンコーダ253は、ロータリエンコーダであり、モータ231の回転軸の回転角度に応じた信号を所定の周期でロボット制御装置350及びサーボ制御装置360に出力する。ロボット制御装置350は、複数のエンコーダ253から得られた信号に基づき、ロボットアーム201の先端の位置を求める処理を行う。このように、ロボット制御装置350は、複数のエンコーダ253を用いてロボットアーム201の先端の位置を測定することができる。即ち、エンコーダ253は、ロボットアーム201の先端部の位置姿勢データを取得するように構成されている。
図2は、第1実施形態に係るロボット装置100の制御系を示すブロック図である。ロボット制御装置350は、コンピュータで構成されている。ロボット制御装置350は、処理部の一例であるCPU(Central Processing Unit)301を備えている。また、ロボット制御装置350は、ROM(Read Only Memory)302、RAM(Random Access Memory)303、及びHDD(Hard Disk Drive)304を備えている。また、ロボット制御装置350は、記録ディスクドライブ305、及び入出力インタフェースであるI/O311~314を備えている。
CPU301、ROM302、RAM303、HDD304、記録ディスクドライブ305、及びI/O311~314は、互いに通信可能にバス310で接続されている。I/O311には、サーボ制御装置360が接続され、I/O312には、エンコーダ253が接続されている。また、I/O313には、トルクセンサ252が接続され、I/O314には、力覚センサ251が接続されている。
サーボ制御装置360には、各関節J1~J6に対応するモータ231及びエンコーダ253が接続されている。なお、図2には、モータ231、エンコーダ253及びトルクセンサ252は、1つの関節分のみ図示しているが、第1実施形態では、6つの関節が存在する。したがって、図2において図示は省略するが、モータ231、エンコーダ253及びトルクセンサ252は、それぞれ6つ存在する。
CPU301は、ロボットアーム201の各関節J1~J6を駆動するモータ231を、サーボ制御装置360を介して制御することで、ロボットアーム201の動作を制御する。記憶部の一例であるHDD304は、制御及び演算用のプログラム325、及び教示データ320が記憶される。記録ディスクドライブ305は、記録ディスク326に記録された各種データやプログラム等を読み出すことができる。プログラム325は、CPU301に、後述する各種演算や各種制御を行わせるプログラムである。
教示データ320は、ロボットアーム201を教示したときにCPU301によって生成され、例えば1[ms]などの所定の周期で指令する動作指令値の時系列データである。CPU301は、ロボット制御装置350に設けられた不図示のスイッチが人によって操作されることで、教示モード及び再生動作モードのいずれかに設定される。
教示モードに設定された場合、CPU301は、ロボットアーム201をインピーダンス制御することで、ロボットアーム201に作用した力の方向にならって動作するようロボットアーム201を制御する。そして、CPU301は、教示データ320を生成してHDD304に記憶させる。再生動作モードに設定された場合、CPU301は、HDD304に記憶されている教示データ320に従ってロボットアーム201を動作させる。教示データ320は、軌道データともいう。
教示データ320に含まれている動作指令値は、位置指令値及び力指令値のいずれかである。位置指令値は、位置を示す3つのパラメータと、姿勢を示す3つのパラメータとで構成される。力指令値は、並進力を示す3つのパラメータと、モーメントを示す3つのパラメータとで構成される。
本実施形態では、位置指令値の時系列データが位置教示データ321、力指令値の時系列データが力教示データ322である。CPU301は、位置教示データ321に基づいてロボットアーム201を位置姿勢制御し、力教示データ322に基づいてロボットアーム201を力制御する。以下、「位置姿勢制御」を「位置制御」という。なお、位置教示データ321が位置指令値の代わりに、各関節J1~J6の目標角度を示す角度指令値、又は各モータ231の目標角度を示す角度指令値の時系列データで構成されていてもよい。
位置制御におけるフィードバック制御の一例について説明する。CPU301は、教示データ320の位置指令値を、各関節J1~J6の角度の目標値を示す角度指令値に変換する。更に、CPU301は、各関節J1~J6の角度指令値から、各関節J1~J6に配置したモータ231の回転角度の目標値を示す角度指令値に変換する。CPU301は、各関節J1~J6のモータ231に対する角度指令値を、所定の周期でサーボ制御装置360に出力する。サーボ制御装置360は、エンコーダ253により検出される角度が角度指令値に近づくようモータ231に供給する電流を制御する。以上の位置制御により、ロボットアーム201の先端の位置が位置指令値に近づけられる。
力制御におけるフィードバック制御の一例について説明する。CPU301は、ロボットアーム201の先端に発生する力が教示データ320の力指令値となるよう各モータ231に対するトルク指令値を算出し、算出したトルク指令値をサーボ制御装置360に出力する。サーボ制御装置360は、各エンコーダ253の角度値に基づき、各関節に発生させるトルクが各トルク指令値となるよう、各モータ231に供給する電流を制御する。各モータ231は、通電されることにより駆動力を発生し、これにより各関節にトルクを発生させることで、ロボットアーム201の先端に力を発生させる。各エンコーダ253は、各モータ231の角度値を示す信号をCPU301へ出力する。各トルクセンサ252は、各トルク値を示す信号をCPU301へ出力する。これにより、各エンコーダ253の角度値と各トルクセンサ252のトルク値は、CPU301にフィードバックされる。CPU301は、ロボットモデル及び各エンコーダ253の角度値に基づいて各関節J1~J6の角度値を算出する。CPU301は、ロボットモデル及び各関節J1~J6の角度値に基づいてロボットアーム201の先端の位置を算出する。CPU301は、ロボットモデル、各関節の角度値及び各関節のトルク値に基づき、ロボットアーム201の先端に発生する力を算出する。以上の力制御により、ロボットアーム201の先端に発生する力が力指令値に近づけられる。
CPU301がサーボ制御装置360に出力する角度指令値及びトルク指令値が駆動指令値である。CPU301は、教示データ320からロボットアーム201の各関節J1~J6のモータ231に対応する駆動指令値を生成してサーボ制御装置360に出力し、フィードバック制御によりロボットアーム201の位置制御や力制御を行うことができる。
図3は、力覚センサ251を用いて測定される力F1と、トルクセンサ252を用いて測定される力F2との関係を説明するための図である。教示者がハンドリング部203を操作する操作力をFとし、ハンド202又はハンド202に支持された支持物が作業対象物に接触するときの接触力をfとする。なお、図3に示すように、複数のトルクセンサ252をまとまった1つのセンサとして取り扱う。
図3に示すように、力覚センサ251とトルクセンサ252とが、ハンドリング部203を示す操作点Pを挟んで配置されている。力覚センサ251を用いて測定される力F1は、作業対象物との接触力fそのものである。これに対し、トルクセンサ252を用いて測定される力F2は、接触力fと、操作力Fとの合力(f+F)である。つまり、ハンドリング部203には、教示者が印加する操作力Fに加えて接触力fも作用する。
ロボット制御装置350は、接触力fおよび操作力Fに基づいて、各関節J1~J6のモータ231に対応する駆動指令値を変化させる力フィードバック制御を行うことができる。具体的には、ロボット制御装置350は、接触力fが所定力となるように各関節J1~J6のモータ231に対応する駆動指令値を変化させることで、所定力で把持物を作業対象物に押し付ける制御を行うことができる。また、ロボット制御装置350は、操作力Fの情報と仮想の粘性及び慣性によるインピーダンスモデルに基づき、各関節J1~J6のモータ231に対応する駆動指令値を変化させる。これにより、人がハンドリング部203に加えた操作力Fに基づいてロボットアーム201を動かすことが可能となる。即ち、教示時においては、ロボット制御装置350は、ロボットアーム201に作用した操作力Fの方向にならって動作するようロボットアーム201をインピーダンス制御する。
以下、ロボットアーム201をダイレクト教示する場合について説明する。図4は、図2に示す制御システム300の制御ブロック図である。図2に示すCPU301は、プログラム325を実行することにより、図4に示す各部331~344として機能する。図2に示すHDD304は、図4に示す記憶部346として機能する。ロボットモデル347は、ロボットアーム201の形状や寸法などの情報(データ)であり、HDD304に予め記憶されている。ハンド情報348は、ハンド202の形状や寸法などの情報(データ)であり、HDD304に予め記憶されている。
ダイレクト教示を行う場合、ロボット制御装置350は、ロボットアーム201に作用した操作力Fの方向にならって動作するようロボットアーム201をインピーダンス制御する。ダイレクト教示としては、ロボットアーム201を手動で操作したときに、教示者が要所で決定ボタンを押して教示点を決定し、これら教示点を結んで教示データを生成する方法もある。これに対し、本実施形態のダイレクト教示では、教示者がロボットアーム201を操作したときの一連の動作データを逐一取得し、一連の時系列データを取得後、このデータに基づいて教示データ320を生成する。これにより、ロボットアーム201を教示データ320に従って再生動作させる自動運転においては、教示者が教示したときのロボットアーム201の動作を再現する再現性が向上する。
以下、教示データ320を生成する処理について説明する。ロボット制御装置350は、教示時、即ち教示モードに設定されたときに、所定の周期、例えば1[ms]の周期で、力覚センサ251、トルクセンサ252及びエンコーダ253から出力された信号を受け取る。第1測定部331は、力覚センサ251からの信号に基づき、第1力である力F1を測定、即ち力F1のデータを算出して、力F1のデータを記憶部346に記憶させる。第2測定部332は、複数のトルクセンサ252からの信号に基づき、第2力である力F2を測定、即ち力F2のデータを算出して、力F2のデータを記憶部346に記憶させる。第3測定部333は、複数のエンコーダ253それぞれからの信号に基づき、複数のモータ231それぞれの回転角度を求め、複数のモータ231それぞれの回転角度のデータを記憶部346に記憶させる。記憶部346に記憶させる力F1のデータ、力F2のデータ、回転角度のデータは、例えば1[ms]毎の時系列データである。各データは、時間軸で互いに対応するように同期させてある。
姿勢算出部334は、ロボットモデル347及び記憶部346に記憶された各エンコーダ253の回転角度のデータに基づき、ロボットアーム201の姿勢を算出する。ロボットアーム201の姿勢とは、ロボットアーム201の各関節J1~J6の角度である。手先算出部335は、ロボットアーム201の姿勢のデータ及びハンド情報348に基づき、ロボットアーム201の先端、即ちハンドリング部203の座標を算出する。即ち、姿勢算出部334及び手先算出部335により、ロボットアーム201の先端の位置を時系列で測定したことになる。なお、ロボットアーム201の先端の位置の測定は、エンコーダ253を用いて行う場合に限定するものではない。例えば、ロボットアーム201の周囲に配置されたビジョンセンサを用いてロボットアーム201の先端の位置を測定するようにしてもよい。
接触力算出部336は、力覚センサ251を用いて測定した力F1から接触力fを算出する。本実施形態では、力覚センサ251を用いて測定した力F1が接触力fである。操作力算出部337は、力覚センサ251を用いて測定された力F1のデータと、トルクセンサ252を用いて測定された力F2のデータとの差分値(F2-F1)を算出する。本実施形態では、差分値(F2-F1)が操作力Fのデータである。このように、差分値(F2-F1)により操作力Fのデータのみを抽出することができる。
設定部338は、ロボットアーム201の位置の測定結果に基づいて、時系列データの全区間を、再生動作時にロボットアーム201を位置制御する第1区間と、再生動作時にロボットアーム201を力制御する第2区間とに区分けする。本実施形態では、設定部338は、時系列データの全区間に対し、算出した接触力fの大きさがゼロとなるかどうかで区分けする。具体的には、設定部338は、接触力fの大きさがゼロの区間を第1区間とし、接触力fの大きさがゼロ以外の区間を第2区間とする。なお、本実施の形態において、上記第1区間は、上述した第3センサ(本実施の形態では、エンコーダ253)の位置姿勢のデータを再現するようにロボットアーム201を位置姿勢制御する第1期間ということもできる。また、第2区間は、上述した第1力データ及び第2力データを再現するようにロボットアーム201を力制御する第2期間ということもできる。これら第1及び第2期間は、上述したように第1力データ及び第2力データの解析結果に基づいて、設定部338により設定される。なお、本実施の形態において「再現」とは、完全に同一のロボットの動きを実行することに留まらず、教示されたロボットの動作に基づいた動作を実行するのであれば、例え、教示されたロボットの動作とは異なっていても上記「再現」の概念の範囲に含まれる。即ち、第1期間の位置制御及び第2期間の力制御で、ロボットを適切に動作させることが出来れば、その動作は教示された動作から異なっていても良い。
図5は、操作力及び接触力の時系列データを示す説明図である。図5には、ハンド202に第1部品の一例であるコネクタW1を把持させ、第2部品の一例であるコネクタW2にコネクタW1を組み付ける組付動作について例示している。また、図5には、XYZ軸の直交座標系を基準とする操作力及び接触力を図示している。なお、説明を簡略にするため、操作力については、XYZ方向の3つの並進力である操作力Fx,Fy,Fzのみとする。同様に、接触力については、XYZ方向の3つの並進力である接触力fx,fy,fzのみとする。設定部338は、時系列データを測定したときの全区間を、3つの接触力fx,fy,fzの大きさが共にゼロとなる第1区間である区間S1と、3つの接触力fx,fy,fzの大きさがゼロ以外となる第2区間である区間S2とに区分けする。つまり、接触力がない場合は区間S1、接触力がある場合は区間S2とする。
区間S1においては、接触力が発生していない、即ち3つの接触力fx,fy,fzがゼロである。具体的には、コネクタW1,W2同士が接触する前の状態である。操作力Fx,Fy,Fzは、人がハンドリング部203に加える力に応じて変動する。コネクタW1,W2の組付において重要なのは、コネクタW1,W2同士が接触してからの挙動である。コネクタW1,W2同士が接触する前の動作軌跡や力変動は重要ではない。本実施形態では、接触力fと操作力Fとに分けることができる。そのため、コネクタW1,W2同士が接触していない区間S1と、コネクタW1,W2同士が接触する区間S2とに区分けすることが可能である。
コネクタW1,W2同士が接触する前は、上述したように接触力が発生していないため、ロボットアーム201を力制御する必要がない。よって、図4に示す位置教示データ生成部339は、区間S1において、ロボットアーム201の先端の位置のデータに基づいて、位置教示データ321を生成する。本実施形態では、位置教示データ生成部339は、区間S1の始点における位置のデータと、終点における位置のデータとの2点間を、所定の補間方法、例えば直線補間や関節補間により補間して、位置教示データ321を生成する。これにより、途中の軌道が単純化され、ロボットアーム201の動作をより高速化することができる。なお、位置教示データ321としては、測定した時系列の位置のデータそのものとしてもよい。このような場合であっても、力制御する場合に比べ、ロボットアーム201の動作を高速化することができる。また、本実施形態では、ロボット制御装置350が自動で区間S1,S2を区分けするため、教示者の手間が減る。なお、補間計算する始点及び終点の2点を、区間S1の始点及び終点とするのが好ましいが、これに限定するものではなく、区間S1の始点前後の点と、区間S1の終点前後の点としてもよい。
区間S2においては、接触力が発生している、即ち3つの並進力fx,fy,fzのいずれかがゼロではないため、ロボットアーム201を力制御する必要がある。図4に示す力教示データ生成部342は、区間S2において、再生動作時に差分値(F2-F1)、即ち操作力Fに応じた力(第3力)でロボットアーム201が動作するよう力教示データ322を生成する。
教示データ生成部343は、生成した位置教示データ321と力教示データ322とを時系列につないで、教示データ320を生成し、生成された教示データ320を格納する記憶部であるHDD304に記憶させる。本実施の形態において、教示データ生成部343は、位置教示データ生成部339、力教示データ生成部342及び後述する補正部340や、照合部341などと共に、上述した第1及び第2期間を有する教示データを生成する生成手段を構成している。
動作指令部344は、再生動作モードに設定されたとき、HDD304に格納された教示データ320を読み出して、動作指令値を生成し、サーボ制御装置360へ出力する。力教示データ322に従ってロボットアーム201を再生動作させることで、各関節J1~J6のモータ231には、ロボットアーム201の先端に操作力Fに相当する力が発生するようなトルクを発生させる。これにより、教示者(熟練者)がロボットアーム201を操作したときと同様の動作をロボットアーム201に再現させることができる。即ち、ロボットアーム201の一連の動作のうち、精密な作業が必要な箇所において、教示時のロボットアーム201の動作を正確に再現することができる。即ち、教示時のロボットアームの動作に基づいて所望の態様でロボットアームを制御することができる。
操作力Fのデータ、即ち差分値(F2-F1)を補正せずにそのまま力教示データ322としてもよいが、一連の時系列データの中には、教示者の手振れや、リトライ動作をした場合にその前の動作などの無駄な動作も含まれている。そこで、補正部340及び照合部341は、無駄な動作を除去すべく、操作力Fのデータを補正する。力教示データ生成部342は、操作力Fのデータが補正された場合は、補正された操作力Fのデータから力教示データ322に含まれる力指令値を生成する。
以下、力教示データ322、即ち力指令値の生成方法について具体的に説明する。補正部340は、力制御を行う区間S2を、複数の第3区間である複数の区間S3-1,S3-2,S3-3に区分けする。
区間S3-1においては、コネクタW1,W2同士が接触した直後の状態を表わしている。区間S3-1では、接触力fx,fy,fzが急峻に変化する。その後、y方向の操作力Fyが顕著に変化しており、人がy方向にロボットアーム201を動かそうとしている。操作力Fyについてさらに着目すると、大部分は+y方向に力が掛かっているが、一時的に-y方向に力が掛かっている。教示者は、一度動かした+y方向に対して意図的に-y方向に戻している。区間S3-1の終了付近では、操作力Fyが安定しており、+y方向に一定の力が掛かった状態である。安定している場合は組み付けに必要な力を教示者が教示時に発見していることが多い。
区間S3-2においては、x方向の操作力Fx及び接触力fxが急峻に変化している。操作力Fxの方向が高頻度で変わっており、教示者が振動的にハンドリング部203に操作力を加えていることが分かる。コネクタW1を振動させながら組み付けを行うと、コネクタW1,W2の組み付けがし易くなることがあり、この場合は教示者が意図して振動的にハンドリング部203を操作している。記録された力のデータにおいて、操作力の方向が反転し、それが連続している場合は意図した動作と判断し、その間の操作力データの除外などは行わずに力教示データ322を生成する。これによって教示者が意図した動作を再生時に反映することができる。仮に、この状態の操作力を移動平均などで単純に補正してしまうと、操作力の変化がないデータとなってしまい、教示者が意図した動作を再現することができなくなる。なお、上記の説明では、操作力の方向が反転し、それが連続していることで判断しているが、操作力の反転する周波数の高低で判断してもよい。数kHz以上の応答は人の操作によるものではないため、人が意図して振動的な動作を行う場合の周波数(数Hz程度)の前後に閾値を設けて補正の有無を区分けしてもよい。
区間S3-3においては、コネクタW1,W2同士の突き当て完了、即ち組み付けが完了しており、接触力の急峻な変化後に操作力がなくなっている。操作力がなくっているので教示動作が終了していることが分かる。
操作力Fのデータ、接触力fのデータ、及び位置のデータは、連続する区分けのないデータ群である。区間S2を複数の区間S3-1,S3-2,S3-3に区分けする方法について具体的に説明する。
人は、精密な作業ほど作業速度が低くなる傾向にある。そのため、ロボットアーム201を高速に動作させている区間は、緻密さを求めていない動作や制御的な揺れだと考えられる。そこで、本実施形態では、補正部340は、区間S2における操作力Fのデータを周波数分析し、その分析した結果に基づいて、区間S2を複数の区間S3-1,S3-2,S3-3に区分けする。具体例には、CPU301は、操作力Fのデータを周波数分析し、周波数の変化点を抽出し、周波数の変化点を区間を区切る箇所とする。これにより、教示者の動作の変化点を抽出する、即ち教示者の動作の変化点で区間S2を複数の区間に区分けすることが可能である。なお、操作力Fx、Fy、Fzの主となる力成分の変化や、それぞれの力の方向の正負の変化などからも人の動作の変化点を抽出することができる。例えば、操作力がx方向にのみ力が掛かっている状態からy方向に力が掛かっている状態に変化すれば、何かしら教示者が意図して動作を変更したことが分かる。
区間S2を区分けした複数の第3区間のうちの一つを区間S3とする。図6は、第3区間である区間S3の説明図である。CPU301は、図6に示すように、区間S3をさらに複数の細区間SAに区分けする。各細区間SAは、同じ時間間隔、本実施形態では、データのサンプリング周期、例えば1[ms]とする。
補正部340は、複数の細区間SAそれぞれにおいて、始点に対する終点の操作力Fの変化の大きさを求め、記憶部であるHDD304に記憶させる。図6に示すようにグラフで表せば、操作力Fの変化の大きさは、矢印で示すベクトルの角度に比例する。操作力Fの変化の大きさが予め設定された閾値を下回る場合は、「S」のラベル、上回る場合は「L」のラベルを付して、操作力Fの変化の大きさのデータと対応付けてHDD304に記憶させる。また、操作力Fの変化の方向について、ゼロから遠ざかる方向に「+」のラベル,ゼロに近づく方向に「-」のラベルを付す。記憶させたラベルについて、「S」のラベルが付された細区間SAが、予め設定した所定数以上連続している区間を連続区間SBとする。連続区間以外の区間を区間SCとする。
補正部340は、連続区間SBに含まれる、操作力Fのデータを平均化処理などで平滑化する。即ち、補正部340は、第1及び第2力のデータの解析によって設定された第2期間内の特定の期間については、教示時にハンドリング部203が操作された操作力Fを平滑化している。力教示データ生成部342は、その平滑化したデータ(操作力)から力教示データ322を生成する。このように、本実施形態では、補正部340及び力教示データ生成部342は、連続区間SBにおいて、ロボットアーム201に発生させる力が平滑化するよう力教示データ322を生成する。このように、微小な変化を平滑化することで、例えば教示者の手振れなどの無駄な動作を除去することができる。
補正部340は、連続区間SB以外の区間SCにおいては、以下のように処理する。図7(a)、図7(b)及び図7(c)は、区間S3における操作力のデータの説明図である。破線は、補正前の操作力Fのデータを示し、実線は、補正後の操作力Fのデータを示している。なお、破線と実線とが重なっている箇所は、操作力Fのデータを補正していないことを示している。
補正部340は、区間SCにおいて、操作力Fが図7(a)に示すようにゼロを跨いでいる場合は、操作力Fのデータを補正しない。このため、力教示データ生成部342は、操作力Fのデータをそのまま力教示データ322とする。操作力の正負が反転しているのは、操作者が意図的に振動させている場合など、組立を行う上で重要な動作の可能性があるからである。ここで、操作力Fのデータがゼロを跨ぐとは、操作力Fのデータの正負の符号が入れ替ることである。
補正部340は、区間SCにおいて、操作力Fが図7(b)に示すようにゼロを跨いでいない場合であっても、連続区間SBの終点の操作力Fが、ゼロを含む所定範囲Rの内側に存在する場合は、操作力Fのデータを補正しない。このため、力教示データ生成部342は、操作力Fのデータをそのまま力教示データ322とする。連続区間SBにおいて操作力Fがゼロ近傍の場合、仮にデータを平滑化して力教示データを生成すると、操作力の全てが無視された力ゼロの力教示データになってしまうためである。これを避けるため、図7(b)の場合、区間SCにおいて操作力Fのデータは補正しない。
補正部340は、区間SCにおいて、操作力Fが図7(c)に示すようにゼロを跨いでいない場合であって、連続区間SBの終点の操作力Fが、ゼロを含む所定範囲Rの外側に存在する場合、操作力Fのデータを平滑化する補正する。具体的には、補正部340は、区間SCにおいて、連続区間のSBの始点と同じ操作力に向かう前半の区間に対する後半の区間の操作力Fのデータを平滑化する。力教示データ生成部342は、補正された操作力Fのデータから力教示データ322を生成する。ここで、区間SCは、連続区間SBよりも前の細区間の集まりである。これにより、本実施形態では、補正部340及び力教示データ生成部342は、連続区間SBよりも前の区間において、ロボットアーム201に発生させる力(第3力)が平滑化するよう力教示データ322を生成する。図7(c)の例では、区間SCの前半において、力ベクトルの最大傾きで増加し、区間SCの後半において、連続区間SB内の力教示データを最終指令値とした力教示データ322を生成する。これにより、教示者が試行錯誤している間の力変動を除去し、最終的な操作力の結果を初めから反映させることができる。
次に、照合部341の処理について説明する。図8は、コネクタ接続する教示においてリトライ動作を行っている場合を示す説明図である。図8に示すコネクタW1,W2同士を接続する場合において、例えばフレキシブルフラットケーブルなどの柔軟物Wをハンド202に把持させた場合、力を掛け過ぎると柔軟物Wの変形量が大きくなる。コネクタW1の向きが、組付可能な方向に対してズレが大きくなる。このような場合、教示者は、元の位置に戻す動作を行い、リトライ動作を行って、掛かる力を調整する。
図9は、照合部341の処理の説明図である。図9に示すように、戻し動作が終了したときの位置データは、組み付け作業を行う前の位置データと同じ値となる。したがって、後半のリトライ動作を行う場合、前半の動作は全て不要である。
そこで、本実施形態では、照合部341は、区間S2において、時系列の位置データうち、同じ値となる2つの位置データ間のデータを除外するとともに、時系列の操作力データのうち除外した位置データに同期する操作力データを除外する。換言すると、照合部341は、補正部340で補正された操作力データと同期した位置データを参照し、類似した時系列の位置データがあるかどうかを判定する。類似した時系列の位置データがある場合は、類似した時系列の位置データを除外し、同期している力教示データも併せて除外する。力教示データ生成部342は、部分的に除外された操作力データから力教示データ322を生成する。このように、照合部341及び力教示データ生成部342は、区間S2において、時系列の位置データうち、同じ値となる2つの位置データ間のロボットアーム201の動作を省略するよう、力教示データ322を生成する。ここで、「同じ値」とは、予めHDD304等の記憶部に設定された許容差の範囲内で互いに位置データがずれている場合も含む。例えば、許容差が0.1[mm]に設定されている場合、座標X:200.0[mm]、Y:200.0[mm]、Z:200.0[mm]と、座標X:199.9[mm]、Y:200.0[mm]、Z:200.0[mm]とは同じ値であるものとする。なお、2つの位置データ間のロボットアーム201の動作を省略する場合には、2つの位置データのうちいずれか一方の位置データに対応する動作は省略し、他方の位置データに対応する動作は残しておくのが好ましい。図9の例では、組み付けに失敗した区間S4の動作を省略する。即ち、生成手段(341,342)は、第3センサによって取得した位置姿勢データに基づいてロボットアームの教示時のやり直し動作の有無を判定し、やり直し動作が有ると判定した場合には、失敗時の動作については、再現しないように教示データを生成する。このように、位置データも併せてデータ処理をすることにより、無駄な動作を効果的に除去することができる。
以上、ロボット制御装置350の動作を、図4に示すブロック図に沿って説明した。以下、ロボット制御装置350の一連の処理をまとめると、図10に示すフローチャートとなる。図10は、第1実施形態に係るロボット教示方法の一例を示すフローチャートである。
まず、CPU301は、教示時のロボットアーム201の時系列の位置データ、操作力データ及び接触力データを取得する(S101)。なお、CPU301は、事前に手動で設定した教示データの区間分割設定や細区間のラベル分けの閾値、位置データの類似判定の設定などを読み込む。
次に、CPU301は、教示時の各データを読み込んだ設定に従って区分け処理を行う(S102)。具体的には、CPU301は、図5の例に示すように区間S1,S3-1,S3-2,S3-3…のように区分けする。
CPU301は、区分けしたデータに対し、区間番号1~NMAXを時系列に付与する(S103)。以下、区間毎に教示データを生成する。CPU301は、区間処理番号Nを定義し、まずN=1とする(S104)。
CPU301は、N区間目における接触力の有無を判断する(S105)。接触力がない場合(S105:NO)、CPU301は、位置制御をベースとし(S106)、位置指令値を生成する処理を実行する(S107)。ステップS108において、CPU301は、N区間の始点の位置と終了の位置とを、所定の補間方法で結んで、即ち位置データを補正して、位置指令値を生成する。即ち、生成手段としてのCPU301は、第1期間(第1区間)にて再現する位置教示データを、第3センサが取得した位置姿勢データのうちの2点間を所定の補間方法により補間して生成する。
接触力がある場合(S105:YES)、CPU301は、力制御をベースとし(S108)、力指令値を生成する処理を実行する(S109)。CPU301は、位置指令値又は力指令値を生成後、N<NMAXであるかどうかを判断する(S110)。N<NMAXである場合(S110:YES)、CPU301は、Nを1つインクリメントし(S111)、ステップS105の処理に戻る。N=NMAXの場合(S110:NO)、CPU301は、全区間の指令値を時系列に並べた教示データ320を生成する(S112)。
以下、図10のステップS109の処理について具体的に説明する。図11は、力指令値生成処理を示すフローチャートである。CPU301は、位置データにおいて、類似箇所があるかどうかを判定する(S121)。CPU301は、類似箇所がある場合(S121:YES)、位置データが類似すると判定した箇所のデータを、類似箇所の最後のデータを除き、同時系列の力データも併せて削除する削除処理を実行する(S122)。
次にCPU301は、N区間目のデータを、力センサのサンプリング周期毎にさらに区分して細区間とする(S123)。CPU301は、各細区間に番号1~nMAXを付与する(S124)。なお、CPU301は、細区間における操作力データの変位が、大きいか小さいかを閾値から判定し、ラベル付けを行う。このとき、CPU301は、変位が小さい細区間が連続している細区間群を連続区間とする。
CPU301は、細区間処理番号nを定義し、まずn=1とする(S125)。CPU301は、n区間目の細区間が連続区間であるかどうかを判断する(S126)。連続区間である場合(S126:YES)、CPU301は、操作力データを平均化処理することで、平滑された力指令値を生成する(S127)。
CPU301は、連続区間でない場合(S126:NO)、操作力Fがゼロを跨ぐかどうかを判断する(S128)。操作力Fがゼロを跨ぐ場合(S128:YES)、CPU301は、操作力データの処理を行わず力指令値を生成する。操作力Fがゼロを跨がない場合(S128:NO)、CPU301は、N区間目における連続区間の有無や、操作力データが収束する値に応じて、操作力のデータ処理を行う(S129)。上述したように、N区間目に連続区間が存在する場合は、連続区間の開始時の値を目標にした力指令値を生成する。
CPU301は、n<nMAXであるかどうかを判断する(S130)。n<nMAXである場合(S130:YES)、CPU301は、nを1つインクリメントし(S131)、ステップS126の処理に戻る。n=nMAXの場合(S130:NO)、図10のステップS110の処理に移行する。
以上の説明では、例えば図5に示すコネクタW1,W2同士の組み付け動作について説明したが、ロボット200に行わせる作業はこれだけではなく、例えば、探り動作をロボットアーム201に行わせる場合もある。
人が視覚に頼らずに手の感覚で組立作業を行う場合がある。目視で大まかな目標位置を決めた後、手の感覚を頼りに組立を進めていく。これは部品に合わせて目視で目標位置を修正しながら組立を行うよりも、大まかな位置に部品を当接させ、ある方向に部品を押し当てながら部品がある状態に収束する組立方法を発見する方が効率的だからと思われる。ロボット200を用いた組立でも同じことが言える。
図12(a)~図12(d)は、ロボットアームの探り動作を教示する説明図である。ワークW12の上面に沿う方向の軸をX,Yとし、X,Y軸に直交する方向の軸をZとする。図12(a)に示すように、棒状物のワークW11を、ワークW12の挿入穴H12に挿入する際の探り動作(位置探索)をロボットアームに行わせる。ハンドに把持させたワークW11を挿入対象のワークW12の上面に当接させ、Z方向に一定の力で押し付けながら、XY方向に挿入位置を探索する。図12(b)に示すようにワークW11が挿入穴H12に差し掛かった場合、人は接触力の変化を感じ取り、操作力を変更して組立を図12(c)及び図12(d)に示すように次の段階に進める。操作力の変化時に接触力の変化がある場合、動作の歩進条件に接触力の変化を設定することで部品のズレなどを吸収できる組立動作を再現する。しかし、探り動作(位置探索)のように操作力が継続的に変動しているが接触力の変化がない又は少ない場合は、今までと異なる処理になる。教示時の挿入穴H12に差し掛かかるまでの動作範囲内に再生動作時の挿入穴H12がある場合、接触力の変化を動作の歩進条件にすることで組立動作を再現することができるが部品のズレが教示時の動作範囲外にあるときは動作の再現ができない。探り動作に関しては教示時から動作を補完して部品のズレにも対応できるようにする必要がある。
そこで、本実施形態では、CPU301は、操作力が継続的に変動しているが接触力の変化がない又は少ない動作は、探り動作と判断し、動作の傾向から再生動作の補完を行う。図13は、軌道を補完する具体例を示す説明図である。図13には、3つの探索動作α,β,γを図示している。CPU301は、挿入穴H12に到達する、即ち接触力が変化するまでの各座標の変位から探り動作の傾向を分析し、教示時にない動作を補完することで部品のずれなどに対応することができ、汎用性が高くなる。
[第2実施形態]
図14は、第2実施形態に係るロボット装置100Aの説明図である。第1実施形態では、第2センサである複数のトルクセンサであり、ロボットアーム201の各関節に配置される場合について説明した。第2実施形態では、第2センサが力覚センサ252Aである。力覚センサ252Aは、ロボットアーム201の先端とハンドリング部203との間に配置されているのが好ましい。本実施形態では、力覚センサ252Aは、ハンドリング部203に内蔵されている。力覚センサ252Aは、力覚センサ251と同様の構成である。力覚センサ252Aは、ハンドリング部203にかかる力に応じた信号をロボット制御装置350に所定の周期で出力する。第2実施形態においても、第1実施形態と同様、力覚センサ252Aを用いて測定される力F2から力覚センサ251を用いて測定される力F1を差し引くことで、操作力Fを算出することができる。
図14は、第2実施形態に係るロボット装置100Aの説明図である。第1実施形態では、第2センサである複数のトルクセンサであり、ロボットアーム201の各関節に配置される場合について説明した。第2実施形態では、第2センサが力覚センサ252Aである。力覚センサ252Aは、ロボットアーム201の先端とハンドリング部203との間に配置されているのが好ましい。本実施形態では、力覚センサ252Aは、ハンドリング部203に内蔵されている。力覚センサ252Aは、力覚センサ251と同様の構成である。力覚センサ252Aは、ハンドリング部203にかかる力に応じた信号をロボット制御装置350に所定の周期で出力する。第2実施形態においても、第1実施形態と同様、力覚センサ252Aを用いて測定される力F2から力覚センサ251を用いて測定される力F1を差し引くことで、操作力Fを算出することができる。
[第3実施形態]
図15は、第3実施形態に係るロボット装置100Bの説明図である。第1実施形態では、第1センサである力覚センサ251を、ロボット200に搭載した場合について説明した。第3実施形態では、第1センサは、作業対象物W22を載置するベースBに設けられた力覚センサ251Bである。力覚センサ251Bは、第1実施形態で説明した力覚センサ251と同様の構成である。
図15は、第3実施形態に係るロボット装置100Bの説明図である。第1実施形態では、第1センサである力覚センサ251を、ロボット200に搭載した場合について説明した。第3実施形態では、第1センサは、作業対象物W22を載置するベースBに設けられた力覚センサ251Bである。力覚センサ251Bは、第1実施形態で説明した力覚センサ251と同様の構成である。
ハンド202にワークW21を把持させた場合には、作業対象物W22には、ワークW21が接触する。力覚センサ251Bには、このときの接触力が作用する。力覚センサ251Bは、自身に作用した力に応じた信号をロボット制御装置350に所定の周期で出力する。よって、ロボット制御装置350は、力覚センサ251Bを用いて接触力を測定することができる。
[第4実施形態]
ついで、第4実施形態について、図16乃至図18(b)に基づいて説明をする。なお、以下の説明において、第1実施形態に対して異なる点についてのみ説明をし、第1実施形態と同様の構成については、同様の参照符号を用いることによって、その説明を省略する。図16は、第4実施形態に係るロボット装置の制御系を示すブロック図である。図16に示すように、本実施の形態では、バス310にI/O315を介して操作装置254が接続されている。即ち、操作装置254がロボット制御装置350と接続されており、このロボット制御装置350を介して、ロボット200の位置姿勢情報や力覚センサ251やトルクセンサ252などからの力センサ情報を操作装置254が取得できるように構成されている。
ついで、第4実施形態について、図16乃至図18(b)に基づいて説明をする。なお、以下の説明において、第1実施形態に対して異なる点についてのみ説明をし、第1実施形態と同様の構成については、同様の参照符号を用いることによって、その説明を省略する。図16は、第4実施形態に係るロボット装置の制御系を示すブロック図である。図16に示すように、本実施の形態では、バス310にI/O315を介して操作装置254が接続されている。即ち、操作装置254がロボット制御装置350と接続されており、このロボット制御装置350を介して、ロボット200の位置姿勢情報や力覚センサ251やトルクセンサ252などからの力センサ情報を操作装置254が取得できるように構成されている。
図17に示すように、上記操作装置254は、表示部256、操作部257、外部入出力部258、表示制御部259、通信インタフェース部260を備えている。操作装置254は、ロボット制御装置350から取得したデータを処理し、表示部256で表示を行うと共に、操作部257の状態変化をロボット制御装置350へ通知する。ここで、操作部257は、ユーザー(教示作業者)からの操作を受け付けて、表示部256に表示されている表示情報に対する変更操作を可能に制御する制御手段である。また、外部入出力部258は、任意のセンサ信号やトリガ信号などを外部に入出力する為のインタフェースである。更に、表示制御部259は、教示データ生成部343により生成した教示データに対応した表示情報を表示部に出力する出力手段となっている。表示制御部259は、表示部256に対して表示情報を、第1区間(第1期間)と第2区間(第2期間)とを識別可能な時系列情報として表示する。
ついで、表示部256の構成について詳しく説明を行う。表示部256は画面の描画を行い、図18(a)の教示データ確認画面に示すような教示時のデータを表示する。教示データ確認画面は常に表示部256に表示されていても良いし、画面の遷移を行うことで別の画面として切り替え表示されても良い。教示データ確認画面には、教示時のロボット200の位置情報、ロボット200の力センサ情報が時系列データ(時系列生データ)として表示される。また、取得した位置情報や力センサ情報から自動生成された教示データも時系列(時系列教示データ)と併せて表示される。このように取得された時系列生データと、生成された教示データとしての時系列教示データとを比較することで、作業者の意図が忠実に反映されている領域と、省略やスムージングや削除が行われた領域を区別して確認することができる。またこの表示を確認しながら、教示データの修正を行うことができるようにしてもよい。なお、図18(a)では便宜上、データを上下に配置しているが、同じグラフ上に重ねて表示しても良い。
時系列生データは前述したように自動的に区間分割され、区間毎に特徴に合わせてデータ処理が行われ教示データが生成される。上記区間分割は、少なくとも第1区間(第1期間)及び第2区間(第2期間)の単位では分割され、これら分割された区間は操作部257によって独立して選択及び変更操作が可能となっている。より具体的には、本実施形態では、上記区間分割は、第1区間及び第2区間を更に細分化して表示するようになっている。即ち、表示部256には、第1区間をさらに細分化した第1細区間(第1細期間)及び/又は第2期間をさらに細分化した第2細区間(第2細期間)が表示され、これら第1細区間及び第2細区間はそれぞれ独立して選択及び変更操作ができるようになっている。なお、本実施形態では、第1区間及び第2区間において、自動で細区間に分割するように構成しているが、手動で細区間に分割するように構成されてもよく、当然にこれらの細区間は、選択したり、編集や削除したり、することができるようにしてもよい。
教示データ確認画面では時系列生データと時系列教示データそれぞれで、区間の区切りが分かるように表示される。上記分割した区間は操作部257に設けられたボタンや、操作装置254の表示部256がタッチパネルになっている場合は、直接画面をクリックすることなどで選択することが可能になっている。選択された区間は選択されたことが分かるように網掛け表示や反転表示、その他色表示などで明示され、選択された区間における教示データ生成の方法が選択指示することを可能としている。ただし、区間の選択なしに常に教示データが時系列生データからどのように生成されたかがわかるような情報を表示していても良い。
また、ある区間が選択されると、選択UIを表示し、あらかじめ設定された各種処理から所望の処理を選択可能とする。例えば平均化処理、線形近似、ゼロ値化、省略、最速軌道生成、補正なし(教示生データを忠実に再現する)、などの教示データ生成方法を再選択し、教示データの再生成を行うこともできる。教示データの生成方法を再選択した場合には教示データを再生成するかの確認画面が表示される。ただし、再生成するかの確認画面をなくし、再生成は自動で行っても良い。教示データを再生成した場合には表示部256の時系列教示データが更新表示される。即ち、操作部257を介して、表示部256に表示されている表示情報に対する変更操作が実行されると、更新手段としての表示制御部259によって、上記変更操作に基づいて教示データが更新される。また、教示データの生成方法の再選択および再生成の確認画面はポップアップ画面を表示して行うか操作部257に割り付けられたボタンなどで選択しても良い。
また、区間の選択だけではなく、操作部257に設けられたボタンや操作装置254の表示部256がタッチパネルになっている場合は、直接画面をクリックすることなどで上述した区間の区切り自体を選択することも可能である。また自動的に処理生成された区間の区切りの時間軸上での移動や、区切りの削除および追加も行うことができるようにしており、区間の時間幅を変更可能にしている。区間の区切りの選択は上記区間の選択のときと同様の手段で行う。区切りの追加に関しては画面上の区切りがない場所を選択することで追加画面をポップアップ表示させても良いし、操作部257に割り付けられたボタンなどで行えるようにしても良い。なお、上記表示部256がタッチパネルになっている場合は、操作部257が表示部256と一体的に構成される。また、上述した変更操作は、操作部257のボタンもしくはタッチパネルの操作に基づき実行可能となっている。加えて、操作部257のボタンもしくはスイッチとは、物理的なボタン/スイッチであっても、タッチパネル上に画像として表示されるボタン/スイッチであっても、どちらでも良い。
ついで、図18(b)を用いて操作部257の構成について詳しく説明をする。なお、以下の説明においては、操作部257は、図16の操作装置254上の表示部256上に表示されているボタンを例として説明するが、操作装置254に設けられている物理ボタンであっても良い。
操作部257は、教示作業が有効か無効かを切り替える教示有効/無効スイッチ257aを備えており、この教示有効/無効スイッチ257aが有効時には時系列生データを更新表示する。常時、時系列生データを更新表示しても良いが、教示作業以外の不要なときに描画など制御装置の負荷が増大するのを避ける目的で、教示有効/無効スイッチ257aは設けられている。更新表示を行う期間はあらかじめ任意に設定できるが、期間が長すぎるとデータの表示密度が上がり、作業者にとって見難くなるため適度に設定する。
また、操作部257は、教示データ取得ボタン257bを備えており、この教示データ取得ボタン257bを操作することによって、表示されている時系列生データをリセットし、表示を一から行うことができるように構成されている。即ち、操作部257は、ハンドリング部203を操作しているときの第1力データ及び第2力データの取得の可否を選択可能な選択部によって、上記教示データ取得ボタン257bの機能を実現している。教示データ取得ボタン257bが押下される、もしくは、教示データ取得ボタンが解除された場合、ロボットはその場で即停止する。また教示データ取得ボタン257bは、ロボット側のハンドリング部203に設置されていても良い。
更に、操作部257は、時系列教示データを再現動作させる実行ボタン257cを備えており、実行ボタン257cが押下されるとロボット200(ロボットアーム201)は、選択されている時系列教示データに基づき動作を行うようになっている。
ついで、教示時の流れについて詳しく説明を行う。教示作業有効/無効スイッチ257aを有効にし、ロボット200の教示を開始する。教示作業有効/無効スイッチ257aを有効にすると、操作装置254の表示部256に時系列生データがあらかじめ設定した任意の期間、表示される。そして、教示作業者は時系列生データを見ながらワークの組立作業などの検討を進めていく。ついで、試行錯誤が終わり実際に教示データを生成する段階に達すると、教示作業者は教示データ取得ボタン257bを押下し、時系列生データを蓄積させていく。
蓄積表示された時系列生データは、上述したように複数の区間に分割して表示されており、教示作業有効中でも選択し削除することは可能である。削除した区間の始めから教示データを取得し直すことができ、削除した区間を選択した状態で教示データ取得ボタン257bを押下すれば教示データの結合が行われる。
ただし、削除した区間の直前の区間の最終の時系列生データ(特に位置姿勢情報)と再取得した時系列生データとの間に、予め設定した閾値以上の差がある場合は、警告の表示を行い、データの結合を回避する。また、データがうまく結合できるように作業者をアシストする機能を設けても良い。例えば、削除した区間の直前の区間をトレースするように低速で自動動作を行い、区間の最終区間近傍に到達すると到達を通知する表示を行うような機能である。この場合、作業者は通知が出てから教示データ取得ボタン257bを押下し教示作業を継続する。また削除した次の区間との結合に関しても同様なアシストを行い、教示データ取得ボタン257bが解放された時点で削除された区間の次の区間の始めの位置姿勢まで自動的に動作を補間する機能があっても良い。つまり、教示データの結合部分に急峻な位置姿勢の変化を発生させないことが重要である。ただし、力情報に関しては連続性が失われる為注意が必要である。
教示データ取得ボタン257bが押下されると、取得した時系列生データから自動的に時系列教示データが生成され、操作装置254の表示部256に表示される。作業者は表示されている時系列教示データを確認し、適宜編集を行い教示データの保存を行う。
ついで、教示データの再生について説明を行う。教示データの再生は実行ボタン257cの押下で行う。作業者は、教示作業時の各種条件、例えば組立対象物の初期位置やロボットの初期位置姿勢などを揃え、実行ボタン257cを押下する。操作装置254の表示部256の時系列教示データ上には再生している箇所が分かるように、時間軸上での位置が分かるように表示される。例えば、時間軸に垂直なバーが時間経過と共に移動していくなどの表示やハイライト表示されるなどである。それにより、教示作業のうまくいった箇所や問題のある箇所が確認でき、教示データの編集がより容易になる。
また、時系列生データと時系列教示データは操作装置から再読み込みおよび再編集が可能なようにロボット制御装置350の記憶部などにセットデータとして管理され、保存する教示データは任意のファイル名を付けることが可能である。上記のような操作はロボットのティーチングを行うティーチングペンダントで実行してもよいし、任意のコンピュータ上の所定のアプリケーションで実行するように構成してもよい。
以上の機能を有することで、教示データの自動生成や教示データの修正を簡単で分かりやすく実行することができる。そのため、ロボットの扱いに不慣れな初級ユーザーからロボットの扱いに慣れている熟練者まで、簡単に教示データの生成と修正を実行できるUIを提供することができる。また、ロボットの扱いに慣れている熟練者は教示データを確認しながら教示を行い、教示データの生成方法を試行錯誤することが可能な為、簡単な操作で高度な教示を実施することが可能になる。
[第5実施形態]
ついで、第5実施形態を図19に基づいて説明をする。なお、以下の説明では、第4実施形態と異なる点についてのみ説明し、同様の構成については、同じ参照符号を付すことによってその説明を省略する。本実施の形態では、表示部256において、時系列生データと時系列教示データが時間軸を合わせて並べて表示されないように構成されている。例えば、図19に示すように、不要な動作など時系列教示データの時間軸を一部圧縮し、時間軸のデータの短縮量が分かり易いように区間の対応箇所が認識できるような対応線400を表示している。
ついで、第5実施形態を図19に基づいて説明をする。なお、以下の説明では、第4実施形態と異なる点についてのみ説明し、同様の構成については、同じ参照符号を付すことによってその説明を省略する。本実施の形態では、表示部256において、時系列生データと時系列教示データが時間軸を合わせて並べて表示されないように構成されている。例えば、図19に示すように、不要な動作など時系列教示データの時間軸を一部圧縮し、時間軸のデータの短縮量が分かり易いように区間の対応箇所が認識できるような対応線400を表示している。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能であり、各実施形態に記載されている発明はどのように組み合わされても良い。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、上述の実施形態では、コンピュータ読み取り可能な記録媒体がHDD304の場合について説明したがこれに限らず、記録ディスク326等、いかなる記録媒体であってもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、光ディスク(例えばCD-ROM、DVD-ROM)、光磁気ディスク、磁気テープ、不揮発性のメモリ(例えばUSBメモリ)、ROM等、種々の記録媒体を用いることができる。また、上述の実施形態におけるプログラム325を、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述の実施形態の機能が実現される場合も含まれる。
100…ロボットシステム(ロボット装置)、200…ロボット、201…ロボットアーム、202…ハンド(エンドエフェクタ)、203…ハンドリング部、251…力覚センサ(第1センサ)、252…トルクセンサ(第2センサ)、253…エンコーダ(第3センサ)、256…表示部、257…操作部、259…出力手段/更新手段(表示制御部)、300…制御システム(制御装置)、301:生成手段(CPU)、320…教示データ、321…位置教示データ、322…力教示データ
本発明は、教示者がロボットアームを手動で操作してロボットアームの動作を教示するダイレクト教示が可能なロボットの制御装置、制御方法、ロボットシステム、プログラム及び記録媒体、等に関する。
本発明の一態様は、ユーザによって所定部位を移動させることが可能なロボットと、前記所定部位に作用する力に関する情報を第1情報として取得する第1センサと、前記所定部位の位置に関する情報を第2情報として取得する第2センサと、を備えるロボットシステムの制御装置であって、前記所定部位を前記ユーザが移動させている間における前記第1情報と前記第2情報とを取得し、前記第1情報に基づき、取得した前記第2情報に基づく前記所定部位の軌道を単純化させる、ことを特徴とする制御装置である。
また、本発明の別の一態様は、ユーザによって所定部位を移動させることが可能なロボットと、前記所定部位に作用する力に関する情報を第1情報として取得する第1センサと、前記所定部位の位置に関する情報を第2情報として取得する第2センサと、制御装置とを備えるロボットシステムであって、前記制御装置が、前記所定部位を前記ユーザが移動させている間における前記第1情報と前記第2情報とを取得し、前記第1情報に基づき、取得した前記第2情報に基づく前記所定部位の軌道を単純化させる、ことを特徴とするロボットシステムである。
CPU301は、N区間目における接触力の有無を判断する(S105)。接触力がない場合(S105:NO)、CPU301は、位置制御をベースとし(S106)、位置指令値を生成する処理を実行する(S107)。ステップS107において、CPU301は、N区間の始点の位置と終了の位置とを、所定の補間方法で結んで、即ち位置データを補正して、位置指令値を生成する。即ち、生成手段としてのCPU301は、第1期間(第1区間)にて再現する位置教示データを、第3センサが取得した位置姿勢データのうちの2点間を所定の補間方法により補間して生成する。
Claims (20)
- ロボットアームの動作を教示する際に操作されるハンドリング部と、ロボットの先端部に作用する第1力データを取得する第1センサと、前記ハンドリング部に作用する第2力データを取得する第2センサと、前記ロボットアームの先端部の位置姿勢データを取得する第3センサと、を備えるロボットの制御装置であって、
前記ロボットアームの教示時の前記第1力データ及び前記第2力データの解析結果に基づき、前記第3センサの前記位置姿勢のデータに基づいて前記ロボットアームを位置姿勢制御する第1期間と、前記第1力データ及び第2力データに基づいて前記ロボットアームを力制御する第2期間とを有する教示データを生成する生成手段と、
生成された前記教示データを格納する記憶部と、
を備えることを特徴とする制御装置。 - 前記生成手段は、前記第3センサが取得した位置姿勢データのうちの2点間を所定の補間方法により補間して位置教示データを生成し、前記ロボットアームは、前記位置教示データに基づいて前記第1期間において位置姿勢制御される、
ことを特徴とする請求項1記載の制御装置。 - 前記生成手段は、
前記第1及び第2力データに基づいて、教示時に前記ハンドリング部を操作した操作力を求めると共に、前記操作力に応じて前記第2期間において前記ロボットアームを力制御するための力教示データを生成し、
前記第2期間内の特定の期間については、前記操作力を平滑化し、この平滑化された操作力に応じて前記力教示データを生成する、
ことを特徴とする請求項1又は2記載の制御装置。 - 前記生成手段は、前記第3センサによって取得した前記位置姿勢データに基づいて、前記ロボットアームの教示時のやり直し動作の有無を判定し、前記やり直し動作が有ると判定した場合には、失敗時の動作については、再現しないように前記教示データを生成する、
ことを特徴とする請求項1乃至3のいずれか1項記載の制御装置。 - 前記第1センサは、前記ハンドリング部と、前記ロボットアームに支持されるエンドエフェクタとの間に設けられた力覚センサである、
ことを特徴とする請求項1乃至4のいずれか1項記載の制御装置。 - 前記第2センサは、前記ロボットアームと前記ハンドリング部との間に設けられた力覚センサである、
ことを特徴とする請求項1乃至5のいずれか1項記載の制御装置。 - 前記第1センサは、前記第2センサよりも、前記ロボットの先端部寄りに配設されている、
ことを特徴とする請求項1乃至6のいずれか1項記載の制御装置。 - 前記生成手段により生成した教示データに対応した表示情報を表示部に出力する出力手段を備えた、
ことを特徴とする請求項1乃至7のいずれか1項記載の制御装置。 - 前記出力手段は、前記表示部に対して前記表示情報を、前記第1期間と前記第2期間とを識別可能な時系列情報として表示する、
ことを特徴とする請求項8記載の制御装置。 - ユーザーからの操作を受け付けて、前記表示部に表示されている表示情報に対する変更操作を可能に制御する操作部と、
前記変更操作に基づき前記教示データを更新する更新手段と、を備えた、
ことを特徴とする請求項8又は9記載の制御装置。 - 前記操作部は、前記第1期間及び前記第2期間を独立して選択可能であり、選択した期間ごとに変更操作が可能となっている、
ことを特徴とする請求項10記載の制御装置。 - 前記操作部は、前記第1期間をさらに細分化した第1細期間または前記第2期間をさらに細分化した第2細期間をそれぞれ独立して選択可能であり、選択した期間ごとに変更操作が可能となっている、
ことを特徴とする請求項10又は11記載の制御装置。 - 前記操作部は、前記表示部に表示される期間の時間幅を変更可能に構成されている、
ことを特徴とする請求項10乃至12のいずれか1項記載の制御装置。 - 前記操作部は、前記ハンドリング部を操作しているときの前記第1力データ及び前記第2力データの取得の可否を選択可能な選択部を有する、
ことを特徴とする請求項10乃至13のいずれか1項記載の制御装置。 - 前記表示部はタッチパネルを備えており、前記変更操作は、前記タッチパネルの操作に基づき実行可能となっている、
ことを特徴とする請求項10乃至14のいずれか1項記載の制御装置。 - ロボットアームと、前記ロボットアームの動作を教示する際に操作されるハンドリング部と、ロボットの先端部に作用する第1力データを取得する第1センサと、前記ハンドリング部に作用する第2力データを取得する第2センサと、前記ロボットアームの先端部の位置姿勢データを取得する第3センサと、を備えるロボットと、
前記ロボットを制御する請求項1乃至15のいずれか1項記載の制御装置と、を備えた、
ことを特徴とするロボットシステム。 - 前記ロボットは、前記ロボットアームに支持されるエンドエフェクタを備え、前記第1センサは、前記エンドエフェクタに作用する前記第1力データを取得する、
ことを特徴とする請求項16記載のロボットシステム。 - ロボットアームの動作を教示する際に操作されるハンドリング部が設けられたロボットを制御装置が制御する制御方法であって、
教示時に、第1センサを用いて前記ロボットの先端部に作用する第1力データ、第2センサを用いて前記ハンドリング部に作用する第2力データ、及び第3センサを用いて前記ロボットアームの先端部の位置姿勢データを取得し、
前記第1力データ及び前記第2力データの解析結果に基づき、前記第3センサの前記位置姿勢のデータに基づいて前記ロボットアームを位置姿勢制御する第1期間と、前記第1力データ及び第2力データに基づいて前記ロボットアームを力制御する第2期間とを有する教示データを生成する、
ことを特徴とする制御方法。 - 請求項18記載の制御方法をコンピュータに実行させるプログラム。
- 請求項19記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018023368 | 2018-02-13 | ||
JP2018023368 | 2018-02-13 | ||
JP2018227346A JP7483321B2 (ja) | 2018-02-13 | 2018-12-04 | 制御装置、制御方法、ロボットシステム、物品の製造方法、表示装置、プログラム及び記録媒体 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018227346A Division JP7483321B2 (ja) | 2018-02-13 | 2018-12-04 | 制御装置、制御方法、ロボットシステム、物品の製造方法、表示装置、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024028392A true JP2024028392A (ja) | 2024-03-04 |
Family
ID=67540708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024000566A Pending JP2024028392A (ja) | 2018-02-13 | 2024-01-05 | 制御装置、制御方法、ロボットシステム、物品の製造方法、表示装置、プログラム及び記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11872698B2 (ja) |
JP (1) | JP2024028392A (ja) |
CN (2) | CN110154018B (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6484265B2 (ja) * | 2017-02-15 | 2019-03-13 | ファナック株式会社 | 学習制御機能を備えたロボットシステム及び学習制御方法 |
JP7427358B2 (ja) | 2017-07-20 | 2024-02-05 | キヤノン株式会社 | ロボットシステム、物品の製造方法、制御方法、制御プログラム、および記録媒体 |
JP6969447B2 (ja) * | 2018-03-05 | 2021-11-24 | 日本電産株式会社 | ロボット制御装置、記録の作成方法およびプログラム |
DE102019107975B3 (de) * | 2019-03-28 | 2020-08-13 | Franka Emika Gmbh | Einlernen einer Haltekraft für einen Gegenstand in einem robotischen Greifer |
JP7375345B2 (ja) * | 2019-06-27 | 2023-11-08 | セイコーエプソン株式会社 | ロボット |
JP7451940B2 (ja) * | 2019-10-31 | 2024-03-19 | セイコーエプソン株式会社 | 制御方法および算出装置 |
KR102386009B1 (ko) * | 2020-07-30 | 2022-04-13 | 네이버랩스 주식회사 | 로봇 작업의 학습 방법 및 로봇 시스템 |
US20220134557A1 (en) * | 2020-10-30 | 2022-05-05 | Sintokogio, Ltd. | Control device, robot control system, program, and control method |
US11673264B2 (en) * | 2021-03-25 | 2023-06-13 | Mitsubishi Electric Research Laboratories, Inc. | System and method for robotic assembly based on adaptive compliance |
US20220397884A1 (en) * | 2021-06-14 | 2022-12-15 | Mantis Robotics, Inc. | Servo Joint Safety Position Monitoring Apparatus and Method |
CN113771044B (zh) * | 2021-10-09 | 2022-11-11 | 北京卫星环境工程研究所 | 一种机器人末端负载动态受力感知方法 |
WO2023245600A1 (en) * | 2022-06-24 | 2023-12-28 | Abb Schweiz Ag | Method, device and computer readable media for use with robot |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0259287A (ja) | 1988-08-26 | 1990-02-28 | Nippon Telegr & Teleph Corp <Ntt> | マニピュレータの制御方法 |
JP3235535B2 (ja) * | 1997-09-26 | 2001-12-04 | 松下電器産業株式会社 | ロボット制御装置とその制御方法 |
JPH11231925A (ja) | 1998-02-10 | 1999-08-27 | Yaskawa Electric Corp | ダイレクトティーチング用ロボットの手先 |
JP2003136450A (ja) * | 2001-10-26 | 2003-05-14 | Communication Research Laboratory | 聴覚情報提示によるロボットアームの遠隔操作システム |
CN101432103B (zh) | 2006-07-04 | 2012-05-23 | 松下电器产业株式会社 | 机器人手臂的控制装置 |
JP2008134903A (ja) | 2006-11-29 | 2008-06-12 | Yaskawa Electric Corp | ロボットの教示再生装置 |
JP5338297B2 (ja) | 2008-12-19 | 2013-11-13 | 株式会社安川電機 | ロボットの制御装置 |
US20170028557A1 (en) * | 2015-07-28 | 2017-02-02 | Comprehensive Engineering Solutions, Inc. | Robotic navigation system and method |
WO2013035244A1 (ja) * | 2011-09-06 | 2013-03-14 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 |
CN104827469B (zh) * | 2013-10-10 | 2016-10-19 | 精工爱普生株式会社 | 机器人控制装置、机器人系统、机器人以及机器人控制方法 |
JP6100727B2 (ja) * | 2014-04-09 | 2017-03-22 | ファナック株式会社 | リードスルー機能を有する人協調型産業用ロボット |
JP6379874B2 (ja) | 2014-08-29 | 2018-08-29 | 株式会社安川電機 | ティーチングシステム、ロボットシステムおよびティーチング方法 |
JP6052918B2 (ja) | 2015-02-27 | 2016-12-27 | 株式会社神戸製鋼所 | 設定支援装置、設定支援方法及びプログラム |
JP6648469B2 (ja) | 2015-10-07 | 2020-02-14 | セイコーエプソン株式会社 | ロボットシステム、及びロボット制御装置 |
JP2017124455A (ja) | 2016-01-12 | 2017-07-20 | キヤノン株式会社 | ロボット装置、ロボット制御方法、プログラム及び記録媒体 |
JP6434446B2 (ja) * | 2016-04-28 | 2018-12-05 | ファナック株式会社 | 加工システム |
-
2019
- 2019-02-06 US US16/269,306 patent/US11872698B2/en active Active
- 2019-02-13 CN CN201910111920.3A patent/CN110154018B/zh active Active
- 2019-02-13 CN CN202310781806.8A patent/CN116604589A/zh active Pending
-
2023
- 2023-10-18 US US18/489,629 patent/US20240042603A1/en active Pending
-
2024
- 2024-01-05 JP JP2024000566A patent/JP2024028392A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US11872698B2 (en) | 2024-01-16 |
US20190248006A1 (en) | 2019-08-15 |
US20240042603A1 (en) | 2024-02-08 |
CN110154018A (zh) | 2019-08-23 |
CN116604589A (zh) | 2023-08-18 |
CN110154018B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2024028392A (ja) | 制御装置、制御方法、ロボットシステム、物品の製造方法、表示装置、プログラム及び記録媒体 | |
JP7483321B2 (ja) | 制御装置、制御方法、ロボットシステム、物品の製造方法、表示装置、プログラム及び記録媒体 | |
JP5545534B2 (ja) | ロボットの教示再生装置、教示再生方法、及び教示データ作成方法 | |
US11685042B2 (en) | Working robot and control method for working robot | |
JP2010058202A (ja) | ロボットの教示再生装置および教示再生方法 | |
US8744625B2 (en) | Robot controlling device | |
JPH0127442B2 (ja) | ||
JP2010142909A (ja) | ロボットの制御装置 | |
JP5583282B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 | |
WO2018212259A1 (ja) | ロボットシステム及びロボットシステムの制御方法 | |
JP2019136860A5 (ja) | 制御装置、制御方法、ロボットシステム、物品の製造方法、表示装置、プログラム及び記録媒体 | |
JP5593899B2 (ja) | ロボットによるバリ除去方法 | |
US11731272B2 (en) | Robot, control device, and information processing device | |
JPH08216074A (ja) | ロボットの直接教示装置 | |
JP7087632B2 (ja) | ロボット制御装置 | |
US20230027368A1 (en) | Collaborative device with optimised control | |
JPH077305B2 (ja) | ロボットの直接教示装置及び直接教示方法 | |
JPH0724758A (ja) | 位置決め機構の位置教示方式 | |
JP5506294B2 (ja) | アーク溶接ロボットの制御装置 | |
WO2023218536A1 (ja) | ロボット制御装置、ロボットシステム、及び教示装置 | |
US20240109188A1 (en) | Operation apparatus, robot system, manufacturing method, control method, and recording medium | |
JP7185749B2 (ja) | ロボットシステム及びロボットシステムの制御方法 | |
JP2001170778A (ja) | スポット溶接ロボット | |
JP3023432B2 (ja) | ロボット制御装置 | |
JP2024052515A (ja) | 操作装置、ロボットシステム、製造方法、制御方法、制御プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240201 |