JP2017124470A - ロボット、及びロボットシステム - Google Patents
ロボット、及びロボットシステム Download PDFInfo
- Publication number
- JP2017124470A JP2017124470A JP2016005019A JP2016005019A JP2017124470A JP 2017124470 A JP2017124470 A JP 2017124470A JP 2016005019 A JP2016005019 A JP 2016005019A JP 2016005019 A JP2016005019 A JP 2016005019A JP 2017124470 A JP2017124470 A JP 2017124470A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- teaching
- unit
- posture
- information
- 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
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/0081—Programme-controlled manipulators with master teach-in means
-
- 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
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- 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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39054—From teached different attitudes for same point calculate tool tip position
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40425—Sensing, vision based motion planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
Abstract
【課題】検出位置と記憶位置との間に位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができるロボットを提供すること。
【解決手段】アームを備え、検出部により検出された対象物の位置である検出位置と、記憶部により記憶された前記対象物の位置である記憶位置とに基づいて、前記アームを移動させる、ロボット。
【選択図】図4
【解決手段】アームを備え、検出部により検出された対象物の位置である検出位置と、記憶部により記憶された前記対象物の位置である記憶位置とに基づいて、前記アームを移動させる、ロボット。
【選択図】図4
Description
この発明は、ロボット、及びロボットシステムに関する。
ロボットを動作させるロボット制御装置にロボットの動作を教示する方法の研究や開発が行われている。
これに関し、ロボットを人手で動作させてその位置・姿勢をロボット制御装置に記憶させる直接教示装置が知られている(特許文献1参照)。
しかしながら、この直接教示装置によってロボットの動作を教示されたロボット制御装置は、ロボットのアームの位置及び姿勢を、教示された位置及び姿勢と一致させるため、教示が行われた際の対象物の位置と、ロボットを動作させる際の対象物の位置との間に位置ずれが生じた場合、ロボットによる作業の精度が低下してしまう場合があった。
上記課題の少なくとも一つを解決するために本発明の一態様は、アームを備え、検出部により検出された対象物の位置である検出位置と、記憶部により記憶された前記対象物の位置である記憶位置とに基づいて、前記アームを移動させる、ロボットである。
この構成により、ロボットは、検出部により検出された対象物の位置である検出位置と、記憶部により記憶された対象物の位置である記憶位置とに基づいて、アームを移動させる。これにより、ロボットは、検出位置と記憶位置との位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、検出部により検出された対象物の位置である検出位置と、記憶部により記憶された対象物の位置である記憶位置とに基づいて、アームを移動させる。これにより、ロボットは、検出位置と記憶位置との位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記検出位置及び前記記憶位置は、前記対象物の一部、又は前記対象物に設けられたマーカーの少なくともいずれか一方に基づいた位置である、構成が用いられてもよい。
この構成により、ロボットは、対象物の一部、又は対象物に設けられたマーカーの少なくともいずれか一方に基づいた位置である検出位置及び記憶位置に基づいて、アームを移動させる。これにより、ロボットは、対象物の一部、又は対象物に設けられたマーカーの少なくともいずれか一方に基づいた位置である検出位置及び記憶位置との間に位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、対象物の一部、又は対象物に設けられたマーカーの少なくともいずれか一方に基づいた位置である検出位置及び記憶位置に基づいて、アームを移動させる。これにより、ロボットは、対象物の一部、又は対象物に設けられたマーカーの少なくともいずれか一方に基づいた位置である検出位置及び記憶位置との間に位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記検出部は、撮像部であり、前記検出位置は、前記撮像部により撮像された撮像画像に基づいて検出される、構成が用いられてもよい。
この構成により、ロボットは、撮像部により撮像された撮像画像に基づいて検出される検出位置と、記憶位置とに基づいて、アームを移動させる。これにより、ロボットは、撮像部により撮像された撮像画像に基づいて検出される検出位置と記憶位置との位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、撮像部により撮像された撮像画像に基づいて検出される検出位置と、記憶位置とに基づいて、アームを移動させる。これにより、ロボットは、撮像部により撮像された撮像画像に基づいて検出される検出位置と記憶位置との位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記対象物を前記アームにより移動させる、構成が用いられてもよい。
この構成により、ロボットは、対象物をアームにより移動させる。これにより、ロボットは、検出位置と記憶位置との位置ずれが生じた場合であっても、対象物をアームにより移動させる作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、対象物をアームにより移動させる。これにより、ロボットは、検出位置と記憶位置との位置ずれが生じた場合であっても、対象物をアームにより移動させる作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、力を検出する力検出部を備え、前記力検出部の出力に基づいたダイレクトティーチングによる教示によって、位置を示す情報である位置情報を含む教示点情報が前記記憶部に記憶される、構成が用いられてもよい。
この構成により、ロボットは、力検出部の出力に基づいたダイレクトティーチングによる教示によって、位置を示す情報である位置情報を含む教示点情報が記憶部に記憶される。これにより、ロボットは、ダイレクトティーチングによる教示によって記憶された教示点情報に基づいてアームを移動させることができる。
この構成により、ロボットは、力検出部の出力に基づいたダイレクトティーチングによる教示によって、位置を示す情報である位置情報を含む教示点情報が記憶部に記憶される。これにより、ロボットは、ダイレクトティーチングによる教示によって記憶された教示点情報に基づいてアームを移動させることができる。
また、本発明の他の態様は、ロボットにおいて、前記教示点情報は、前記教示において所定の時間が経過する毎に前記記憶部に記憶される、構成が用いられてもよい。
この構成により、ロボットは、教示点情報を、ダイレクトティーチングによる教示において所定の時間が経過する毎に記憶部に記憶される。これにより、ロボットは、ダイレクトティーチングによる教示において所定の時間が経過する毎に記憶部に記憶された教示点情報に基づいてアームを移動させることができる。
この構成により、ロボットは、教示点情報を、ダイレクトティーチングによる教示において所定の時間が経過する毎に記憶部に記憶される。これにより、ロボットは、ダイレクトティーチングによる教示において所定の時間が経過する毎に記憶部に記憶された教示点情報に基づいてアームを移動させることができる。
また、本発明の他の態様は、ロボットにおいて、前記位置情報が示す位置に、前記アームに対応付けられた位置である制御点を一致させる位置制御によって前記アームを移動させる、構成が用いられてもよい。
この構成により、ロボットは、位置情報が示す位置に、アームに対応付けられた位置である制御点を一致させる位置制御によってアームを移動させる。これにより、ロボットは、位置制御により行われる作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、位置情報が示す位置に、アームに対応付けられた位置である制御点を一致させる位置制御によってアームを移動させる。これにより、ロボットは、位置制御により行われる作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記位置制御と前記力検出部の出力に基づく制御とによって前記アームを移動させる、構成が用いられてもよい。
この構成により、ロボットは、位置制御と力検出部の出力に基づく制御とによってアームを移動させる。これにより、ロボットは、位置制御と力検出部の出力に基づく制御とにより行われる作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、位置制御と力検出部の出力に基づく制御とによってアームを移動させる。これにより、ロボットは、位置制御と力検出部の出力に基づく制御とにより行われる作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記力検出部の出力に基づいて前記教示の開始又は前記教示の終了のうち少なくとも一方を行う、構成が用いられてもよい。
この構成により、ロボットは、力検出部の出力に基づいてダイレクトティーチングによる教示の開始又はダイレクトティーチングによる教示の終了のうち少なくとも一方を行う。これにより、ロボットは、作業の効率を向上させることができる。
この構成により、ロボットは、力検出部の出力に基づいてダイレクトティーチングによる教示の開始又はダイレクトティーチングによる教示の終了のうち少なくとも一方を行う。これにより、ロボットは、作業の効率を向上させることができる。
また、本発明の他の態様は、ロボットにおいて、前記検出位置と前記記憶位置との位置ずれと前記教示点情報とに基づいて、前記アームを移動させる、構成が用いられてもよい。
この構成により、ロボットは、検出位置と記憶位置との位置ずれと教示点情報とに基づいて、アームを移動させる。これにより、ロボットは、検出位置と記憶位置との位置ずれと教示点情報とに基づいて、作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、検出位置と記憶位置との位置ずれと教示点情報とに基づいて、アームを移動させる。これにより、ロボットは、検出位置と記憶位置との位置ずれと教示点情報とに基づいて、作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記位置ずれに基づいて前記教示点情報を補正して、前記アームを移動させる、構成が用いられてもよい。
この構成により、ロボットは、位置ずれに基づいて教示点情報を補正して、アームを移動させる。これにより、ロボットは、補正した教示点情報に基づいて、作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、位置ずれに基づいて教示点情報を補正して、アームを移動させる。これにより、ロボットは、補正した教示点情報に基づいて、作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、座標変換により前記教示点情報を補正する、構成が用いられてもよい。
この構成により、ロボットは、座標変換により教示点情報を補正する。これにより、ロボットは、座標変換により補正した教示点情報に基づいて、作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、座標変換により教示点情報を補正する。これにより、ロボットは、座標変換により補正した教示点情報に基づいて、作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記検出部により検出された前記対象物の姿勢である検出姿勢及び前記検出位置と、前記記憶部により記憶された前記対象物の姿勢である記憶姿勢及び前記記憶位置とに基づいて、前記アームを移動させる、構成が用いられてもよい。
この構成により、ロボットは、検出部により検出された対象物の姿勢である検出姿勢及び検出位置と、記憶部により記憶された対象物の姿勢である記憶姿勢及び記憶位置とに基づいて、アームを移動させる。これにより、ロボットは、検出位置と記憶位置との位置ずれ及び検出姿勢と記憶姿勢との姿勢ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットは、検出部により検出された対象物の姿勢である検出姿勢及び検出位置と、記憶部により記憶された対象物の姿勢である記憶姿勢及び記憶位置とに基づいて、アームを移動させる。これにより、ロボットは、検出位置と記憶位置との位置ずれ及び検出姿勢と記憶姿勢との姿勢ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
また、本発明の他の態様は、上記に記載のロボットと、前記ロボットを制御するロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、検出部により検出された対象物の位置である検出位置と、記憶部により記憶された対象物の位置である記憶位置とに基づいて、アームを移動させる。これにより、ロボットシステムは、検出位置と記憶位置との位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
この構成により、ロボットシステムは、検出部により検出された対象物の位置である検出位置と、記憶部により記憶された対象物の位置である記憶位置とに基づいて、アームを移動させる。これにより、ロボットシステムは、検出位置と記憶位置との位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
以上により、ロボット、及びロボットシステムは、検出部により検出された対象物の位置である検出位置と、記憶部により記憶された対象物の位置である記憶位置とに基づいて、アームを移動させる。これにより、ロボット、及びロボットシステムは、検出位置と記憶位置との位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
<第1実施形態>
以下、本発明の第1実施形態について、図面を参照して説明する。
以下、本発明の第1実施形態について、図面を参照して説明する。
<ロボットシステムの構成>
まず、ロボットシステム1の構成について説明する。
図1は、第1実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、撮像部10と、ロボット20と、ロボット制御装置30を備える。
まず、ロボットシステム1の構成について説明する。
図1は、第1実施形態に係るロボットシステム1の構成の一例を示す図である。ロボットシステム1は、撮像部10と、ロボット20と、ロボット制御装置30を備える。
撮像部10は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、撮像部10は、ロボット20が作業を行うことが可能な領域を含む範囲を撮像可能な位置に設置される。
撮像部10は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、撮像部10は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。撮像部10は、検出部の一例である。
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。単腕ロボットは、この一例におけるアームAのような1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、2本以上のアーム(例えば、2本以上のアームA)を備えるロボットである。なお、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアーム(例えば、3本以上のアームA)を備える複腕ロボットであってもよい。
アームAは、エンドエフェクターEと、マニピュレーターMと、力検出部21を備える。
エンドエフェクターEは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターEは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能な他のエンドエフェクターであってもよい。
エンドエフェクターEは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターEは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能な他のエンドエフェクターであってもよい。
また、この一例において、エンドエフェクターEの重心の位置には、当該重心とともに動くTCP(Tool Center Point)である制御点TC1が設定される。なお、制御点TC1が設定される位置は、エンドエフェクターEの重心の位置に代えて、エンドエフェクターEに対応付けられた他の位置であってもよい。この一例において、当該重心の位置は、エンドエフェクターEの位置を表す。なお、エンドエフェクターEの位置は、これに代えて、エンドエフェクターEに対応付けられた他の位置によって表される構成であってもよい。
制御点TC1には、制御点TC1の位置及び姿勢(すなわち、エンドエフェクターEの位置及び姿勢)を表す三次元局所座標系である制御点座標系TCが設定される。制御点TC1の位置及び姿勢は、制御点TC1のロボット座標系における位置及び姿勢のことである。制御点座標系TCの原点は、制御点TC1の位置、すなわちエンドエフェクターEの位置を表す。また、制御点座標系TCの各座標軸の方向は、制御点TC1の姿勢、すなわちエンドエフェクターEの姿勢を表す。以下では、一例として、制御点座標系TCにおけるZ軸と、エンドエフェクターEが設けられたマニピュレーターMが有する関節のうちのエンドエフェクターEを回転させる関節の回転軸とを一致させている場合について説明する。当該関節は、この一例において、マニピュレーターMの端部のうちの支持台Bと反対側の端部に最も近い関節である。
エンドエフェクターEは、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、エンドエフェクターEは、ロボット制御装置30から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、エンドエフェクターEは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
マニピュレーターMは、前述のエンドエフェクターEを回転させる関節を含む7つの関節を備える。また、7つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターMを備えるアームAは、7軸垂直多関節型のアームである。アームAは、支持台Bと、エンドエフェクターEと、マニピュレーターMと、マニピュレーターMが備える7つの関節それぞれのアクチュエーターとによる連携した動作によって7軸の自由度の動作を行う。なお、アームAは、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
アームAが7軸の自由度で動作する場合、アームAは、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これによりアームAは、例えば、動作が滑らかになり、更にアームAの周辺に存在する物体との干渉を容易に回避することができる。また、アームAが7軸の自由度で動作する場合、アームAの制御は、アームAが8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
マニピュレーターMが備える7つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、マニピュレーターMを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、マニピュレーターMが備える7つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
力検出部21は、エンドエフェクターEとマニピュレーターMの間に備えられる。力検出部21は、例えば、力センサーである。力検出部21は、エンドエフェクターE、又はエンドエフェクターEにより把持された物体に作用した力やモーメント(トルク)を検出する。力検出部21は、検出した力やモーメントの大きさを示す値を出力値として含む力検出情報を通信によりロボット制御装置30へ出力する。
力検出情報は、ロボット制御装置30によるアームAの力検出情報に基づく制御に用いられる。力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部21は、トルクセンサー等のエンドエフェクターE、又はエンドエフェクターEにより把持された物体に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。
力検出部21は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、力検出部21とロボット制御装置30とは、力センサーインターフェイスユニットを介して接続される構成であってもよい。また、力検出部21とロボット制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。
ロボット制御装置30は、ロボット20に制御信号を送信することにより、ロボット20を動作させる。これにより、ロボット制御装置30は、ロボット20に所定の作業を行わせる。なお、ロボット制御装置30は、ロボット20の外部に設置される構成に代えて、ロボット20に内蔵される構成であってもよい。
<ロボットが行う所定の作業の概要>
以下、第1実施形態においてロボット20が行う所定の作業である第1作業の概要について説明する。図1において、ロボット20は、エンドエフェクターEによって対象物O1を予め把持している。なお、ロボット20は、予め対象物O1を把持しておらず、所定の給材領域に配置された対象物O1を把持する構成であってもよい。
以下、第1実施形態においてロボット20が行う所定の作業である第1作業の概要について説明する。図1において、ロボット20は、エンドエフェクターEによって対象物O1を予め把持している。なお、ロボット20は、予め対象物O1を把持しておらず、所定の給材領域に配置された対象物O1を把持する構成であってもよい。
対象物O1は、例えば、産業用の部品や部材、製品等である。以下では、一例として、対象物O1が、板状の部位である板部位と、円筒状の部位である円筒部位との2つの部位によって形成される部品である場合について説明する。当該板部位は、4隅が丸みを帯びた矩形平板状の部位である。対象物O1が有する当該矩形状の2つの面のうちの一方には、当該円筒部位が形成されている。また、当該円筒部位の中心軸は、当該面の中心を通っている。また、対象物O1が有する面のうちの円筒部位が設けられた面と対向する面には、マーカーMKが設けられている。
マーカーMKは、対象物O1の位置及び姿勢を表す三次元局所座標系である第1対象物座標系を示す印である。対象物O1の位置及び姿勢は、対象物O1のロボット座標系における位置及び姿勢のことである。第1対象物座標系の原点の位置は、例えば、対象物O1の位置として、対象物O1の重心の位置を表す。また、第1対象物座標系の各座標軸それぞれの方向は、対象物O1の姿勢を表す。
なお、マーカーMKは、第1対象物座標系を示すことができる印であれば、如何なる印であってもよく、対象物O1の一部であってもよい。また、対象物O1は、図1に示した産業用の部品に代えて、産業用と異なる他の部品や部材、製品等や、生体等の他の物体であってもよい。また、対象物O1の形状は、上記において説明した形状に代えて、他の形状であってもよい。
図1に示した例では、ロボット20は、エンドエフェクターEにより対象物O1の円筒部位を把持している。なお、ロボット20は、これに代えて、対象物O1の他の部位を把持している構成であってもよい。
この一例におけるロボット20は、第1作業として、ツールT1を用いて対象物O1の外周部を研磨する。対象物O1の外周部は、対象物O1の板部位が有する矩形状の2つの面のうちの一方(例えば、円筒部位が設けられている面)を上面とし、他方を下面とした場合の側面のことである。ツールT1は、例えば、研磨ベルトを転回させることにより物体の表面を研磨するベルトサンダーである。ツールT1は、ロボット20が作業を行うことが可能な領域内のテーブルや床面等の設置面に、ロボット座標系における位置及び姿勢が変化しないように設置(固定)されている。
ここで、図2を参照し、第1作業においてロボット20がツールT1を用いて対象物O1の外周部を研磨する動作について説明する。図2は、ロボット20がツールT1を用いて対象物O1の外周部を研磨している様子の一例を示す図である。
図2に示した例では、ツールT1が有する研磨ベルトVSが、研磨ベルトVSを支持する部材の周りを、図2に示した矢印が示す方向である方向A1に回転している。方向A1は、例えば、ロボット座標系におけるZ軸の負の方向に向かってツールT1を見た場合、反時計回りに回転する方向である。すなわち、研磨ベルトVSの研磨面は、この一例において、ロボット座標系におけるXY平面と直交する。なお、方向A1は、これに代えて、他の方向であってもよい。
ロボット20は、エンドエフェクターEにより把持している対象物O1の外周部をツールT1の研磨ベルトVSに接触させることによって研磨する。この一例において、ロボット20は、作業部位T1Eに当該外周部の一部を接触させる。作業部位T1Eは、物体を研磨ベルトVSに接触させるためにツールT1に形成されている部位である。そして、ロボット20は、当該外周部のうちの作業部位T1Eに接触している部分が当該一部から当該外周部に沿って一周するように制御点TC1の位置及び姿勢を変化させる。すなわち、当該一部は、当該外周部のうちの当該外周部が研磨され始める始点となる部分である始点部分である。このように、ロボット20は、第1作業として、対象物O1の外周部をツールT1によって研磨する。
第1作業においてロボット20が対象物O1の外周部をツールT1によって研磨する際、ロボット制御装置30は、予め記憶された教示点情報を読み出す。教示点情報は、位置情報と、姿勢情報と、順序情報とが対応付けられた情報である。位置情報は、基準となる位置である基準位置とロボット20がアームAを動かす際に制御点TC1を一致させる点である教示点を示す位置との相対的な位置を示す情報である。姿勢情報は、基準となる姿勢である基準姿勢と当該位置における制御点TC1の姿勢との相対的な姿勢を示す情報である。順序情報は、当該位置に制御点TC1を一致させる順を示す情報である。ロボット制御装置30は、読み出した教示点情報に基づいて位置制御によりアームAを動かすことによって制御点TC1の位置及び姿勢、すなわちエンドエフェクターEの位置及び姿勢を変化させることにより、ロボット20に対象物O1の外周部をツールT1によって研磨させる。
位置制御は、教示点情報に含まれる位置情報が示す位置(すなわち、教示点)に制御点TC1の位置を一致させることにより、アームAを移動させる制御である。具体的には、この一例における位置制御は、教示点情報に含まれる順序情報が示す順に、当該教示点情報に含まれる位置情報が示す位置(すなわち、教示点)に制御点TC1の位置を一致させるとともに、当該教示点情報に含まれる姿勢情報が示す姿勢に制御点TC1の姿勢を一致させることにより、アームAを移動させる制御である。
また、ロボット制御装置30は、ダイレクトティーチングによる教示によって教示点情報を記憶する。この一例におけるダイレクトティーチングによる教示は、ロボット20のアームAの制御点TC1の位置及び姿勢をユーザーが手で変化させ、変化させた後の当該位置及び姿勢に基づく教示点情報をロボット制御装置30に記憶させることである。以下では、一例として、このようなダイレクトティーチングにおいて、ロボット制御装置30が、力検出部21によって検出された力であってユーザーが手でエンドエフェクターEに加えた力に基づく制御によって制御点TC1の位置及び姿勢を変化させる場合について説明する。なお、ロボット制御装置30は、これに代えて、トルクセンサーの出力やサーボモーターの電流に基づく制御によって制御点TC1の位置及び姿勢を変化させる構成であってもよい。なお、ロボット制御装置30は、ダイレクトティーチングによる教示によって教示点情報を記憶する構成に代えて、オンラインティーチングによる教示等の他の方法によって教示点情報を記憶する構成であってもよい。
基準位置は、この一例において、ダイレクトティーチングによる教示点情報の教示時において制御点TC1の位置が初期位置と一致している場合の対象物O1の位置、すなわちマーカーMKの位置である。初期位置は、ダイレクトティーチングによる教示点情報の教示時及び第1作業時においてロボット20が最初に制御点TC1の位置を一致させる位置のことである。初期位置は、エンドエフェクターEによって把持された対象物O1に設けられたマーカーMKを撮像部10が撮像可能な位置であれば、如何なる位置であってもよい。基準姿勢は、ダイレクトティーチングによる教示点情報の教示時において制御点TC1の位置が初期位置と一致している場合の制御点TC1の姿勢(初期姿勢)、すなわちマーカーMKの姿勢である。
第1作業時において制御点TC1の位置及び姿勢が初期位置及び初期姿勢と一致している場合の対象物O1の位置及び姿勢と、基準位置及び基準姿勢とが一致している場合、ロボット制御装置30は、読み出した教示点情報に基づいて位置制御によりアームAを動かすことによって制御点TC1の位置及び姿勢、すなわちエンドエフェクターEの位置及び姿勢を変化させることにより、ロボット20に対象物O1の外周部をツールT1によって研磨させることができる。
しかし、実際には対象物O1をエンドエフェクターEによって把持する際の誤差等によって、基準位置及び基準姿勢と、第1作業時において制御点TC1の位置及び姿勢が初期位置及び初期姿勢と一致している場合の対象物O1の位置及び姿勢とは、必ずしも一致しない。この場合、ロボット制御装置30が予め記憶された教示点情報に基づいてロボット20を動かすと、ロボット20による第1作業の精度が低下してしまう。
そこで、この一例におけるロボット制御装置30は、第1作業時において制御点TC1の位置及び姿勢を初期位置及び初期姿勢に一致させた後、撮像部10により対象物O1に設けられたマーカーMKを含む範囲を撮像範囲として撮像する。ロボット制御装置30は、撮像した撮像画像に含まれるマーカーMKに基づいて対象物O1の位置及び姿勢を検出する。なお、ロボット制御装置30は、この一例における検出部の一例である撮像部10により撮像された撮像画像に基づいて検出位置を検出する構成に代えて、検出部としてレーザーセンサーや接触センサー、力センサー等を用いることよって検出位置を検出する構成であってもよい。ロボット制御装置30は、検出した当該位置である検出位置と予め記憶された基準位置とのずれである位置ずれを算出するとともに、検出した当該姿勢である検出姿勢と予め記憶された基準姿勢とのずれである姿勢ずれを算出する。
ロボット制御装置30は、算出した位置ずれ及び姿勢ずれに基づいて、読み込んだ教示点情報を補正し、補正した教示点情報に基づいてアームAを移動させ、ロボット20に第1作業を行わせる。これにより、ロボット制御装置30は、第1作業において、検出位置と基準位置との位置ずれ及び検出姿勢と基準姿勢との姿勢ずれが生じた場合であっても、第1作業の精度が低下してしまうことを抑制することができる。なお、基準位置は、記憶位置の一例である。また、基準姿勢は、記憶姿勢の一例である。
また、第1作業時において対象物O1の外周部のうちの作業部位T1Eに接触している部分を始点部分から当該外周部に沿って一周させる際、ロボット制御装置30は、位置制御とともに力検出部21から取得された力検出情報に基づく制御によって、マニピュレーターMが有するフランジであってエンドエフェクターEを取り付けるフランジを回転させるアクチュエーターを、図2に示した矢印が示す方向である方向A2に回転させるとともに、作業部位T1Eに近づく方向に向かって対象物O1を押させる。これにより、ロボット制御装置30は、位置制御における誤差によってツールT1により対象物O1を意図せずに変形させてしまうことを抑制することができる。図2に示した回転軸CA1は、当該アクチュエーターの回転軸である。方向A2は、方向A1が示す転回方向と逆方向である。
この一例において、方向A1及び方向A2はそれぞれ、ロボット座標系におけるXY平面に沿った方向である。このため、対象物O1の外周部の何処かが作業部位T1Eに接触している場合、力検出部21は、制御点座標系TCにおけるX軸に沿った方向に向かう力と、制御点座標系TCにおけるY軸に沿った方向に向かう力との少なくとも一方を検出する。なお、ロボット制御装置30は、位置制御のみによってロボット20に対象物O1の外周部をツールT1によって研磨させる構成であってもよい。
以下では、ロボット制御装置30がロボット20に第1作業を行わせる際に、検出位置及び検出姿勢と、基準位置及び基準姿勢とに基づいてアームAを移動させる処理について詳しく説明する。なお、ロボット制御装置30は、撮像部10により撮像された撮像画像(に含まれるマーカーMK)に基づいて対象物O1の位置及び姿勢を検出する構成に代えて、レーザーや赤外線等によって当該位置及び姿勢を検出するセンサー等の他の手段によって当該位置及び姿勢を検出する構成であってもよい。また、以下では、ロボット制御装置30が基準位置及び基準姿勢と、教示点情報とを記憶する処理について説明する。
<ロボット制御装置のハードウェア構成>
以下、図3を参照し、ロボット制御装置30のハードウェア構成について説明する。図3は、ロボット制御装置30のハードウェア構成の一例を示す図である。ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。また、ロボット制御装置30は、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。
以下、図3を参照し、ロボット制御装置30のハードウェア構成について説明する。図3は、ロボット制御装置30のハードウェア構成の一例を示す図である。ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。また、ロボット制御装置30は、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、ロボット制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、ロボット制御装置30が処理する各種情報や画像、プログラム、教示点情報、基準位置及び基準姿勢を示す基準位置姿勢情報等を格納する。基準位置姿勢情報は、この一例において、原点の位置が基準位置であり当該原点に基準姿勢を表す座標軸を有する三次元局所座標系によって基準位置及び基準姿勢を示す情報である。なお、基準位置姿勢情報は、これに代えて、基準位置及び基準姿勢を示す他の情報であってもよい。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、ロボット制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、ロボット制御装置30が処理する各種情報や画像、プログラム、教示点情報、基準位置及び基準姿勢を示す基準位置姿勢情報等を格納する。基準位置姿勢情報は、この一例において、原点の位置が基準位置であり当該原点に基準姿勢を表す座標軸を有する三次元局所座標系によって基準位置及び基準姿勢を示す情報である。なお、基準位置姿勢情報は、これに代えて、基準位置及び基準姿勢を示す他の情報であってもよい。
入力受付部33は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部33は、タッチパネルとして表示部35と一体に構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
<ロボット制御装置の機能構成>
以下、図4を参照し、ロボット制御装置30の機能構成について説明する。図4は、ロボット制御装置30の機能構成の一例を示す図である。ロボット制御装置30は、記憶部32と、制御部36を備える。
以下、図4を参照し、ロボット制御装置30の機能構成について説明する。図4は、ロボット制御装置30の機能構成の一例を示す図である。ロボット制御装置30は、記憶部32と、制御部36を備える。
制御部36は、ロボット制御装置30の全体を制御する。制御部36は、撮像制御部40と、画像取得部41と、力検出情報取得部42と、位置姿勢検出部43と、補正部44と、計時部45と、教示制御部46と、ロボット制御部47を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、これらの機能部のうち一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
撮像制御部40は、撮像部10に撮像範囲を撮像させる。
画像取得部41は、撮像部10が撮像した撮像画像を撮像部10から取得する。
力検出情報取得部42は、力検出部21から力検出情報を取得する。
画像取得部41は、撮像部10が撮像した撮像画像を撮像部10から取得する。
力検出情報取得部42は、力検出部21から力検出情報を取得する。
位置姿勢検出部43は、画像取得部41が取得した撮像画像に含まれるマーカーMKに基づいて、対象物O1の位置及び姿勢を、検出位置及び検出姿勢として検出する。例えば、位置姿勢検出部43は、パターンマッチング等によって検出位置及び検出姿勢を検出する。
補正部44は、記憶部32から基準位置姿勢情報を読み出す。補正部44は、記憶部32から読み出した基準位置姿勢情報に基づいて、記憶部32に記憶された教示点情報を補正する。
計時部45は、時刻を計時する。
計時部45は、時刻を計時する。
教示制御部46は、力検出情報取得部42が取得した力検出情報に基づいて、ダイレクトティーチングによる教示の開始を行う。また、力検出情報取得部42が取得した力検出情報に基づいて、ダイレクトティーチングによる教示の終了を行う。また、教示制御部46は、ダイレクトティーチングによる教示を開始してから当該教示を終了するまでの間、計時部45による計時によって所定の時間が経過する毎に、基準位置と現在の制御点TC1の位置との相対的な位置を示す位置情報と、基準姿勢と現在の制御点TC1の姿勢との相対的な姿勢を示す姿勢情報と、現在の時刻とを対応付けた教示点情報を記憶部32に記憶させる。すなわち、この一例では、現在の時刻が順序情報である。所定の時間は、この一例において、0.5秒である。なお、所定の時間は、これに代えて、他の時間であってもよい。また、順序情報は、これに代えて、制御点TC1を各教示点に一致させる順を示す番号等の他の情報であってもよい。また、教示制御部46は、ダイレクトティーチングによる教示を開始してから当該教示を終了するまでの間、計時部45による計時によって所定の時間が経過する毎に教示点情報を記憶部32に記憶させる構成に代えて、他のタイミングに教示情報を記憶部32に記憶させる構成であってもよい。この場合、例えば、教示制御部46は、教示点情報を記憶させるための操作を入力受付部33やティーチングペンダントを介して受け付ける毎に教示点情報を記憶部32に記憶させる。また、教示制御部46は、力検出情報取得部42が取得した力検出情報に基づいてダイレクトティーチングによる教示の開始及びダイレクトティーチングによる教示の終了を行う構成に代えて、力検出情報取得部42が取得した力検出情報に基づいてダイレクトティーチングによる教示の開始又はダイレクトティーチングによる教示の終了のうちいずれか一方を行う構成であってもよい。この場合、教示制御部46は、ダイレクトティーチングによる教示の開始又はダイレクトティーチングによる教示の終了のうちの力検出情報に基づいて行わない方を、入力受付部33やティーチングペンダントを介して受け付けた操作に基づいて行う。
ロボット制御部47は、制御点TC1の位置及び姿勢を、予め記憶された初期位置及び初期姿勢と一致させる。ロボット制御部47は、記憶部32から教示点情報を読み出す。ロボット制御部47は、補正部44が補正した教示点情報に基づいて、ロボット20に所定の作業を行わせる。
<ロボット制御装置がロボットに第1作業を行わせる処理>
以下、図5を参照し、第1実施形態におけるロボット制御装置30がロボット20に第1作業を行わせる処理について説明する。図5は、第1実施形態におけるロボット制御装置30がロボット20に第1作業を行わせる処理の流れの一例を示すフローチャートである。
以下、図5を参照し、第1実施形態におけるロボット制御装置30がロボット20に第1作業を行わせる処理について説明する。図5は、第1実施形態におけるロボット制御装置30がロボット20に第1作業を行わせる処理の流れの一例を示すフローチャートである。
ロボット制御部47は、制御点TC1の位置及び姿勢を、予め記憶された初期位置及び初期姿勢と一致させる(ステップS5)。次に、撮像制御部40は、撮像部10に前述の撮像範囲を撮像させる(ステップS10)。次に、画像取得部41は、ステップS10において撮像部10が撮像した撮像画像を撮像部10から取得する(ステップS20)。次に、位置姿勢検出部43は、ステップS20において画像取得部41が取得した撮像画像に含まれるマーカーMKに基づいて、パターンマッチング等によって検出位置及び検出姿勢を検出する(ステップS30)。
次に、補正部44は、記憶部32から基準位置姿勢情報を読み出す(ステップS40)。次に、補正部44は、ステップS40において読み出した基準位置姿勢情報に基づいて、ステップS30において検出した検出位置及び検出姿勢と、基準位置姿勢情報が示す基準位置及び基準姿勢との位置ずれ及び姿勢ずれを算出する。また、補正部44は、記憶部32から教示点情報を読み出す。そして、補正部44は、算出した位置ずれ及び姿勢ずれに基づいて、読み出した教示点情報を補正する(ステップS50)。当該位置ずれは、例えば、検出位置と基準位置とのずれを表す変位ベクトルである。また、当該姿勢ずれは、例えば、検出姿勢と記憶姿勢とのずれを表すオイラー角のそれぞれを成分として有する角度ベクトルである。ここで、ステップS50の処理について説明する。
この一例において、補正部44は、教示点情報に含まれる位置情報を、基準位置と教示点を示す位置との相対的な位置を、位置ずれの分だけずらすことによって補正する。また、補正部44は、教示点情報に含まれる姿勢情報を、基準姿勢と当該教示点の位置における制御点TC1の姿勢との相対的な姿勢を、姿勢ずれの分だけずらすことによって補正する。より具体的には、この一例では、位置情報が示す位置が前述の第1対象物座標系における教示点の位置であるため、補正部44は、当該位置ずれに基づいて第1対象物座標系の原点の位置をずらす座標変換を行うとともに、当該姿勢ずれに基づいて第1対象物座標系の姿勢をずらす座標変換を行うことにより、教示点情報を補正する。これにより、ロボット制御装置30は、検出位置と記憶位置との位置ずれが生じた場合であっても、容易に第1作業の精度が低下してしまうことを抑制することができる。
次に、ロボット制御部47は、ステップS50において補正された(座標変換された)教示点情報に基づいてロボット20を動作させ、ロボット20に第1作業を行わせる(ステップS60)。この際、ロボット制御部47は、当該教示点情報に基づく位置制御と、力検出情報取得部42が取得した力検出情報に基づく制御とによって、ロボット20に第1作業を行わせる。
以上のように、ロボット制御装置30は、対象物O1の位置及び姿勢を検出位置及び検出姿勢として検出し、検出した検出位置及び検出姿勢と、記憶部により記憶された基準位置及び基準姿勢とに基づいて、アームAを移動させる。これにより、ロボット制御装置30は、検出位置と基準位置との位置ずれ及び検出姿勢と基準姿勢との姿勢ずれが生じた場合であっても、第1作業の精度が低下してしまうことを抑制することができる。なお、ロボット制御装置30は、これに代えて、対象物O1の位置を検出位置として検出し、検出した検出位置と、記憶部により記憶された基準位置とに基づいてアームAを移動させる構成であってもよい。この場合、ロボット制御装置30は、第1作業において、検出位置と基準位置との位置ずれが生じた場合であっても、第1作業の精度が低下してしまうことを抑制することができる。ただし、この場合、ロボット20は、例えば、対象物O1を把持する際において、制御点TC1の姿勢とマーカーMKの姿勢との相対的な姿勢が常に略同じ姿勢となる治具を用いて対象物O1を把持する。
<ロボット制御装置が基準位置姿勢情報及び教示点情報を記憶する処理>
以下、図6を参照し、第1実施形態におけるロボット制御装置30が基準位置姿勢情報と、教示点情報とを記憶する処理について説明する。図6は、第1実施形態におけるロボット制御装置30が基準位置姿勢情報と、教示点情報とを記憶する処理の流れの一例を示すフローチャートである。なお、図6に示したフローチャートの処理は、ロボット制御装置30の動作モードがダイレクトティーチングによる教示を行う動作モードに切り替えられた後の処理である。ロボット制御装置30の動作モードの切り替えは、例えば、表示部35に表示されたロボット制御装置30の制御画面に基づいて、ユーザーが入力受付部33を介して行う。
以下、図6を参照し、第1実施形態におけるロボット制御装置30が基準位置姿勢情報と、教示点情報とを記憶する処理について説明する。図6は、第1実施形態におけるロボット制御装置30が基準位置姿勢情報と、教示点情報とを記憶する処理の流れの一例を示すフローチャートである。なお、図6に示したフローチャートの処理は、ロボット制御装置30の動作モードがダイレクトティーチングによる教示を行う動作モードに切り替えられた後の処理である。ロボット制御装置30の動作モードの切り替えは、例えば、表示部35に表示されたロボット制御装置30の制御画面に基づいて、ユーザーが入力受付部33を介して行う。
ロボット制御装置30の動作モードがダイレクトティーチングによる教示を行う動作モードに切り替えられた後、ロボット制御部47は、制御点TC1の位置及び姿勢を、予め記憶された初期位置及び初期姿勢と一致させる(ステップS90)。次に、撮像制御部40は、撮像部10に撮像範囲を撮像させる(ステップS100)。次に、画像取得部41は、ステップS100において撮像部10が撮像した撮像画像を撮像部10から取得する(ステップS110)。次に、位置姿勢検出部43は、ステップS110において画像取得部41が取得した撮像画像に含まれるマーカーMKに基づいて、パターンマッチング等によって検出位置及び検出姿勢を検出する(ステップS120)。
次に、位置姿勢検出部43は、ステップS120において検出した検出位置及び検出姿勢に基づいて、原点の位置が当該検出位置であり当該原点に当該検出姿勢を表す座標軸を有する三次元局所座標系を第1対象物座標系として、第1対象物座標系を示す情報を基準位置姿勢情報として記憶部32に記憶させる(ステップS125)。そして、ロボット制御部47は、制御点TC1の位置及び姿勢を、所定の教示開始位置及び教示開始姿勢と一致させる。教示開始位置は、制御点TC1が移動可能な位置であれば如何なる位置であってもよいが、例えば、第1作業をロボット20に行わせる時間を早くしたい場合、ツールT1の近くの位置であることが望ましい。この一例において、ツールT1の近くの位置は、ツールT1の位置を中心とした半径50センチメートル以内の位置である。なお、ツールT1の近くの位置は、これに代えて、他の位置であってもよい。また、教示開始姿勢は、制御点TC1が変更可能な姿勢であれば如何なる姿勢であってもよい。
次に、教示制御部46は、ダイレクトティーチングによる教示の開始を行わせる操作を受け付けるまで待機する(ステップS130)。この一例において、当該操作は、所定の方向に向かってエンドエフェクターEに対して所定の閾値以上の力を加えることである。所定の方向は、例えば、第1作業においてエンドエフェクターEに対して力が加わらない方向である。この一例において、当該方向は、制御点座標系TCにおけるZ軸の負の方向である。なお、力検出部21又は力検出情報取得部42は、ダイレクトティーチングによる教示の開始を行わせる操作を行う際の力検出情報に含まれる力であってエンドエフェクターEに対して加わる重力をゼロとするように調整されている。
すなわち、ユーザーは、エンドエフェクターEを制御点座標系TCにおけるZ軸の正の方向が鉛直下方向を向いている場合、エンドエフェクターEを下から上に向かって押すことにより、ダイレクトティーチングによる教示を開始することができる。その結果、ユーザーは、ダイレクトティーチングによる教示を開始するたびにエンドエフェクターEの近くから離れる必要がなく、ロボット制御装置30にロボット20の動作を教示する作業の効率を向上させることができる。
なお、所定の方向は、第1作業においてエンドエフェクターEに対して力が加わらない方向に代えて、第1作業においてエンドエフェクターEに対して力が加わる方向であってもよい。この場合、所定の閾値は、第1作業において当該方向に向かってエンドエフェクターEに対して加わる力よりも大きな力とする必要がある。また、ダイレクトティーチングによる教示の開始を行わせる操作は、所定の方向に向かってエンドエフェクターEに対して所定の閾値以上の力を加えることに代えて、ティーチングペンダントやロボット制御装置30が有するダイレクトティーチングによる教示の開始を行わせるボタンを押下する等の他の操作であってもよい。当該ボタンは、ソフトウェアボタンであってもよく、ハードウェアボタンであってもよい。
ステップS130において、ダイレクトティーチングによる教示の開始を行わせる操作を受け付けたと位置姿勢検出部43が判定した場合(ステップS130−YES)、教示制御部46は、記憶部32に記憶された基準位置姿勢情報が示す基準位置と現在の時刻におけるエンドエフェクターEのロボット座標系における位置を示す位置情報との相対的な位置を示す位置情報と、記憶部32に記憶された基準位置姿勢情報が示す基準姿勢と現在の時刻におけるエンドエフェクターEのロボット座標系における姿勢との相対的な姿勢を示す姿勢情報と、現在の時刻を示す情報(この一例における順序情報)とを対応付けた教示点情報を記憶部32に記憶させる(ステップS140)。
ここで、図7を参照し、ステップS140の処理について説明する。図7は、ステップS140の処理が開始された後にダイレクトティーチングによる教示によって対象物O1と作業部位T1Eとが接触させられている様子の一例を示す図である。図7に示した図は、制御点座標系TCにおけるZ軸の負の方向に向かって対象物O1を見た場合の図である。図7に示したように、ユーザーは、ダイレクトティーチングによる教示において、エンドエフェクターE(すなわち、制御点TC1)の第1対象物座標系MKCにおける位置及び姿勢を、対象物O1の外周部のうちの作業部位T1Eに接触している部分が始点部分から当該外周部に沿って一周するように変化させる。また、図7において、エンドエフェクターEの姿勢は、第1対象物座標系MKCにおいて制御点座標系TCの各座標軸のそれぞれが向いている方向によって表されている。
ユーザーがダイレクトティーチングによる教示において、エンドエフェクターEの位置及び姿勢を、対象物O1の外周部のうちの作業部位T1Eに接触している部分が始点部分から当該外周部に沿って一周するように変化させている間、教示制御部46は、所定の時間が経過する毎に、記憶部32に記憶された基準位置姿勢情報が示す基準位置と現在の時刻におけるエンドエフェクターEの位置を示す位置情報との相対的な位置を示す位置情報と、記憶部32に記憶された基準位置姿勢情報が示す基準姿勢と現在の時刻におけるエンドエフェクターEの姿勢との相対的な姿勢を示す姿勢情報と、現在の時刻を示す情報(この一例における順序情報)とを対応付けた教示点情報を記憶部32に記憶させる。
この教示点情報は、現在のエンドエフェクターEの位置及び姿勢と、基準位置及び基準姿勢との相対的な位置及び姿勢に対応した教示点情報である。このため、ロボット制御装置30は、図5に示したステップS50において検出位置及び検出姿勢と基準位置及び基準姿勢との位置ずれ及び姿勢ずれに基づいて教示点情報を補正することにより、第1作業の精度が低下してしまうことを抑制することができる。
また、教示制御部46は、所定の時間が経過した場合であっても、基準位置と現在のエンドエフェクターEの位置との相対的な位置と直前に記憶した教示点情報に含まれる位置情報が示す位置との差と、基準姿勢と現在のエンドエフェクターEの姿勢との相対的な姿勢と直前に記憶した教示点情報に含まれる姿勢情報が示す姿勢との差との両方が微小量であった場合、教示点情報を記憶部32に記憶させず、再び所定の時間が経過するまで待機する。これにより、ロボット制御装置30は、意図せずしてエンドエフェクターEの動きが止まってしまう等の意図していない動作をロボット20に行わせてしまうことを抑制することができる。なお、教示制御部46は、当該両方が微小量であった場合であっても、所定の時間が経過する毎に教示点情報を記憶部32に記憶させる構成であってもよい。
ここで、教示制御部46は、例えば、基準位置と現在のエンドエフェクターEの位置との相対的な位置と、直前に記憶した教示点情報に含まれる位置情報が示す位置との差を表すベクトルのノルムが1ミリメートル未満であった場合、当該差を微小量と判定する。また、教示制御部46は、例えば、基準姿勢と現在のエンドエフェクターEの姿勢との相対的な姿勢と、直前に記憶した教示点情報に含まれる姿勢情報が示す姿勢との差を表すオイラー角のそれぞれを成分として有するベクトルのノルムが1°未満であった場合、当該差を微小量と判定する。
この一例において、教示制御部46は、マニピュレーターMが備える各アクチュエーターの回転角を、当該各アクチュエーターのそれぞれが有するエンコーダーから取得することにより、現在のエンドエフェクターE(すなわち、制御点TC1)の位置及び姿勢を順運動学に基づいて算出する。また、教示制御部46は、計時部45による計時によって所定の時間が経過したか否かを判定する。
ステップS140において教示点情報が記憶された後、教示制御部46は、計時部45による計時に基づいて、所定の時間が経過したか否かを判定する(ステップS150)。所定の時間が経過したと判定した場合(ステップS150−YES)、教示制御部46は、基準位置と現在のエンドエフェクターEの位置との相対的な位置と直前に記憶した教示点情報に含まれる位置情報が示す位置との差と、基準姿勢と現在のエンドエフェクターEの姿勢との相対的な姿勢と直前に記憶した教示点情報に含まれる姿勢情報が示す姿勢との差との両方が微小量であるか否かを判定する(ステップS155)。
当該両方が微小量であると判定した場合(ステップS155−YES)、教示制御部46は、ステップS150に遷移し、再び所定の時間が経過したか否かを判定する。一方、当該両方が微小量ではないと判定した場合(ステップS155−NO)、教示制御部46は、ステップS140に遷移し、再び教示点情報を記憶部32に記憶させる。なお、教示制御部46は、当該両方が微小量であった場合であっても、所定の時間が経過する毎に教示点情報を記憶部32に記憶させる構成であってもよい。この場合、教示制御部46は、ステップS155の処理を省略し、ステップS150−YESの後、ステップS140に遷移する。
一方、ステップS150において所定の時間が経過していないと判定した場合(ステップS150−NO)、教示制御部46は、ダイレクトティーチングによる教示の終了を行わせる操作を受け付けたか否かをする(ステップS160)。ダイレクトティーチングによる教示の終了を行わせる操作を受け付けていないと判定した場合(ステップS160−NO)、教示制御部46は、ステップS150に遷移し、再び所定の時間が経過したか否かを判定する。
一方、ダイレクトティーチングによる教示の終了を行わせる操作を受け付けたと教示制御部46が判定した場合(ステップS160−YES)、制御部36は、処理を終了する。この一例において、当該操作は、所定の方向に向かってエンドエフェクターEに対して所定の閾値以上の力を加えることである。所定の方向は、例えば、第1作業においてエンドエフェクターEに対して力が加わらない方向である。この一例において、当該方向は、制御点座標系TCにおけるZ軸の負の方向である。なお、力検出部21又は力検出情報取得部42は、ダイレクトティーチングによる教示の終了を行わせる操作を行う際の力検出情報に含まれる力であってエンドエフェクターEに対して加わる重力をゼロとするように調整されている。
例えば、ユーザーは、エンドエフェクターEを制御点座標系TCにおけるZ軸の正の方向が鉛直下方向を向いている場合、エンドエフェクターEを下から上に向かって押すことにより、ダイレクトティーチングによる教示を終了することができる。その結果、ユーザーは、ダイレクトティーチングによる教示を終了するたびにエンドエフェクターEの近くから離れる必要がなく、ロボット制御装置30にロボット20の動作を教示する作業の効率を向上させることができる。
なお、所定の方向は、第1作業においてエンドエフェクターEに対して力が加わらない方向に代えて、第1作業においてエンドエフェクターEに対して力が加わる方向であってもよい。この場合、所定の閾値は、第1作業において当該方向に向かってエンドエフェクターEに対して加わる力よりも大きな力とする必要がある。また、ダイレクトティーチングによる教示の終了を行わせる操作は、所定の方向に向かってエンドエフェクターEに対して所定の閾値以上の力を加えることに代えて、ティーチングペンダントやロボット制御装置30が有するダイレクトティーチングによる教示の終了を行わせるボタンを押下する等の他の操作であってもよい。当該ボタンは、ソフトウェアボタンであってもよく、ハードウェアボタンであってもよい。
以上のように、ロボット制御装置30は、基準位置姿勢情報と教示点情報を記憶部32に記憶する。なお、ダイレクトティーチングによる教示を行っている場合、ツールT1は、作業部位T1Eの位置と同じ位置に対象物O1の外周部の一部を接触させることが可能な他の物体に置き換えてもよい。このような置き換えを行うことにより、ダイレクトティーチングによる教示を行っている際に対象物O1がツールT1の研磨ベルトによって削れてしまうことを抑制することができる。また、この一例において、ロボット20は、ツールT1を用いて対象物O1の研磨を第1作業として行う構成であったが、これに代えて、他のツールを用いて、対象物O1の接着や塗装、溶接、組み立て、検査等の作業を第1作業として行う構成であってもよい。
<第2実施形態>
以下、本発明の第2実施形態について、図面を参照して説明する。なお、第2実施形態におけるロボット20の構成は、第1実施形態におけるロボット20の構成と同様な構成であるため、説明を省略する。
以下、本発明の第2実施形態について、図面を参照して説明する。なお、第2実施形態におけるロボット20の構成は、第1実施形態におけるロボット20の構成と同様な構成であるため、説明を省略する。
<ロボットが行う所定の作業の概要>
以下、第2実施形態においてロボット20が行う所定の作業である第2作業の概要について説明する。
図8は、第2実施形態に係るロボットシステム1の構成の一例を示す図である。図8において、第2実施形態におけるロボット20は、第1実施形態におけるロボット20と異なり、エンドエフェクターEによってツールT2を予め把持している。なお、ロボット20は、予めツールT2を把持しておらず、所定のツール置き場に配置されたツールT2を把持する構成であってもよい。
以下、第2実施形態においてロボット20が行う所定の作業である第2作業の概要について説明する。
図8は、第2実施形態に係るロボットシステム1の構成の一例を示す図である。図8において、第2実施形態におけるロボット20は、第1実施形態におけるロボット20と異なり、エンドエフェクターEによってツールT2を予め把持している。なお、ロボット20は、予めツールT2を把持しておらず、所定のツール置き場に配置されたツールT2を把持する構成であってもよい。
ツールT2は、この一例において、円筒形状の研磨装置である。ツールT2は、当該円筒の端部のうちのエンドエフェクターE側と反対側の端部の側面にヤスリが設けられている。また、ツールT2は、当該ヤスリが設けられた部分である研磨部を当該円筒の中心軸を回転軸として回転させることができる。なお、ツールT2は、これに代えて、接着剤を吐出する吐出装置等の他のツールであってもよい。また、ツールT2の形状は、円筒形状に代えて、他の形状であってもよい。
ロボット20は、第2作業として、エンドエフェクターEによってツールT2を移動させ、ツールT2によって対象物O2を研磨する。対象物O2は、例えば、産業用の部品や部材、製品等である。以下では、一例として、対象物O2が、T字型の平板形状の部品である場合について説明する。対象物O2を当該平板形状の面に向かって見た場合における対象物O2が有する角は、丸みを帯びている。
また、当該面のうちの一方の面における外周の部分である外周部は、当該面の当該部分と異なる部分に比べて、当該面から当該面の裏面に向かう方向と反対の方向に向かう高さが高くなっている。なお、対象物O2は、これに代えて、産業用と異なる他の部品や部材、製品等や、生体等の他の物体であってもよい。また、対象物O2の形状は、これに代えて、他の形状であってもよい。この一例において、対象物O2は、ロボット20が作業を行うことが可能な領域内のテーブルや床面等に設置された治具GBに、ロボット座標系における位置及び姿勢が変化しないように固定されている。
また、対象物O2が有する面のうちの当該外周部が形成された面には、マーカーMK2が設けられている。マーカーMK2は、対象物O2の位置及び姿勢を表す三次元局所座標系である第2対象物座標系を示す印である。対象物O2の位置及び姿勢は、対象物O2のロボット座標系における位置及び姿勢のことである。第2対象物座標系の原点の位置は、例えば、対象物O2の位置として、対象物O2の重心の位置を表す。また、第2対象物座標系の各座標軸それぞれの方向は、対象物O2の姿勢を表す。
なお、マーカーMK2は、第2対象物座標系を示すことができる印であれば、如何なる印であってもよく、対象物O2の一部であってもよい。
ロボット20は、ツールT2を用いて対象物O2の内周面を研磨する。対象物O2の内周面は、当該外周部が有する面のうちの当該外周部によって囲まれた領域側の面である。ここで、図9を参照し、第2実施形態においてロボット20がツールT2を用いて対象物O2の内周面を研磨する動作について説明する。なお、ロボット20は、ツールT2を用いて対象物O2の外周面を研磨する構成であってもよい。図9は、ロボット20がツールT2を用いて対象物O2の内周面を研磨している様子の一例を示す図である。
図9に示した例では、ツールT2の研磨部が、図9に示した矢印が示す方向である方向A4に向かって回転している。ロボット20は、エンドエフェクターEにより把持しているツールT2の研磨部を対象物O2が有する内周面に接触させることによって当該内周面を研磨する。この一例において、ロボット20は、ツールT2の研磨部を当該内周面の一部に接触させる。そして、ロボット20は、当該内周面のうちの当該研磨部と接触している部分が当該一部から当該内周面に沿って一周するように制御点TC1の位置及び姿勢を変化させる。すなわち、当該一部は、当該内周面が研磨され始める始点となる部分である始点部分である。このように、ロボット20は、第2作業として、対象物O2が有する内周面をツールT2によって研磨する。
第2作業においてロボット20がツールT2によって対象物O2が有する内周面を研磨する際、ロボット制御装置30は、予め記憶された教示点情報を読み出す。ロボット制御装置30は、読み出した教示点情報に基づいて位置制御によりアームAを動かすことによって制御点TC1の位置及び姿勢、すなわちエンドエフェクターEの位置及び姿勢を変化させることにより、ロボット20に対象物O2の内周面をツールT2によって研磨させる。ここで、この一例における基準位置は、ロボット制御装置30に教示点情報を記憶させるためにダイレクトティーチングによる教示が行われた際の対象物O2の位置、すなわちマーカーMK2の位置である。また、この一例における基準姿勢は、ロボット制御装置30に教示点情報を記憶させるためにダイレクトティーチングによる教示が行われた際の対象物O2の姿勢、すなわちマーカーMK2の姿勢である。
基準位置及び基準姿勢とマーカーMK2の位置及び姿勢との相対的な位置及び姿勢が常に変化せずに一定の場合、ロボット制御装置30は、読み出した教示点情報に基づいて位置制御によりアームAを動かすことによって制御点TC1の位置及び姿勢、すなわちエンドエフェクターEの位置及び姿勢を変化させることにより、ロボット20に対象物O2が有する内周面をツールT2によって研磨させることができる。
しかし、実際には対象物O2を治具GBに設置する際の誤差等によって、基準位置及び基準姿勢と第2作業時におけるマーカーMK2の位置及び姿勢との相対的な位置及び姿勢は、必ずしも変化しないわけではない。当該相対的な位置及び姿勢が変化した場合、ロボット制御装置30が予め記憶された教示点情報に基づいてロボット20を動かすと、ロボット20による第2作業の精度が低下してしまう。
そこで、この一例におけるロボット制御装置30は、撮像部10により対象物O2に設けられたマーカーMK2を含む範囲を撮像範囲として撮像する。ロボット制御装置30は、撮像した撮像画像に含まれるマーカーMK2に基づいて対象物O2の位置及び姿勢を検出する。ロボット制御装置30は、検出した当該位置である検出位置と予め記憶された基準位置とのずれである位置ずれを算出するとともに、検出した当該姿勢である検出姿勢と予め記憶された基準姿勢とのずれである姿勢ずれを算出する。
ロボット制御装置30は、算出した位置ずれ及び姿勢ずれに基づいて、読み込んだ教示点情報を補正し、補正した教示点情報に基づいてアームAを移動させ、ロボット20に第2作業を行わせる。これにより、ロボット制御装置30は、第2作業において、検出位置と基準位置との位置ずれ及び検出姿勢と基準姿勢との姿勢ずれが生じた場合であっても、第2作業の精度が低下してしまうことを抑制することができる。
また、第2作業において対象物O2が有する内周面にツールT2の研磨部が接触している部分を始点部分から当該内周面に沿って一周させる際、ロボット制御装置30は、位置制御とともに力検出部21から取得された力検出情報に基づく制御によって、ツールT2と当該内周面とが接触している状態を保ったまま、図9に示した矢印が示す方向である方向A5に向かって制御点TC1を移動させる。
この一例において、方向A4及び方向A5はそれぞれ、ロボット座標系におけるXY平面に沿った方向である。このため、対象物O2の内周面の何処かがツールT2の研磨部に接触している場合、力検出部21は、制御点座標系TCにおけるX軸に沿った方向に向かう力と、制御点座標系TCにおけるY軸に沿った方向に向かう力との少なくとも一方を検出する。なお、ロボット制御装置30は、位置制御のみによってロボット20に対象物O2の内周面をツールT2によって研磨させる構成であってもよい。
以下では、ロボット制御装置30がロボット20に第2作業を行わせる際に、検出位置及び検出姿勢と、基準位置及び基準姿勢とに基づいてアームAを移動させる処理について詳しく説明する。なお、ロボット制御装置30は、撮像部10により撮像された撮像画像(に含まれるマーカーMK2)に基づいて対象物O2のロボット座標系における位置及び姿勢を検出する構成に代えて、レーザーや赤外線等によって当該位置及び姿勢を検出するセンサー等の他の手段によって当該位置及び姿勢を検出する構成であってもよい。
また、以下では、ロボット制御装置30が基準位置及び基準姿勢と、教示点情報とを記憶する処理について説明する。この一例において、ロボット制御装置30が教示点情報を記憶する処理は、ダイレクトティーチングによる教示によって行われる。なお、ロボット制御装置30は、ダイレクトティーチングによる教示によって教示点情報を記憶する構成に代えて、オンラインティーチングによる教示等の他の方法によって教示点情報を記憶する構成であってもよい。
<ロボット制御装置のハードウェア構成及び機能構成>
第2実施形態におけるロボット制御装置30のハードウェア構成及び機能構成は、第1実施形態におけるロボット制御装置30のハードウェア構成及び機能構成と同様であるため、説明を省略する。ただし、位置姿勢検出部43は、画像取得部41が取得した撮像画像に基づいて、対象物O2のロボット座標系における位置及び姿勢を、検出位置及び検出姿勢として検出する。
第2実施形態におけるロボット制御装置30のハードウェア構成及び機能構成は、第1実施形態におけるロボット制御装置30のハードウェア構成及び機能構成と同様であるため、説明を省略する。ただし、位置姿勢検出部43は、画像取得部41が取得した撮像画像に基づいて、対象物O2のロボット座標系における位置及び姿勢を、検出位置及び検出姿勢として検出する。
<ロボット制御装置がロボットに第2作業を行わせる処理>
以下、図10を参照し、第2実施形態におけるロボット制御装置30がロボット20に第2作業を行わせる処理について説明する。図10は、第2実施形態におけるロボット制御装置30がロボット20に第2作業を行わせる処理の流れの一例を示すフローチャートである。
以下、図10を参照し、第2実施形態におけるロボット制御装置30がロボット20に第2作業を行わせる処理について説明する。図10は、第2実施形態におけるロボット制御装置30がロボット20に第2作業を行わせる処理の流れの一例を示すフローチャートである。
撮像制御部40は、撮像部10に前述の撮像範囲を撮像させる(ステップS200)。この一例におけるロボット制御部47は、ステップS200の処理が行われる前に、制御点TC1の位置及び姿勢を予め記憶された初期位置及び初期姿勢と一致させてもさせなくてもよい。次に、画像取得部41は、ステップS200において撮像部10が撮像した撮像画像を撮像部10から取得する(ステップS210)。次に、位置姿勢検出部43は、ステップS20において画像取得部41が取得した撮像画像に含まれるマーカーMK2に基づいて、パターンマッチング等によって検出位置及び検出姿勢を検出する(ステップS220)。
次に、補正部44は、記憶部32から基準位置姿勢情報を読み出す(ステップS230)。次に、補正部44は、ステップS230において読み出した基準位置姿勢情報に基づいて、ステップS220において検出した検出位置及び検出姿勢と、基準位置姿勢情報が示す基準位置及び基準姿勢との位置ずれ及び姿勢ずれを算出する。また、補正部44は、記憶部32から教示点情報を読み出す。そして、補正部44は、算出した位置ずれ及び姿勢ずれに基づいて、読み出した教示点情報を補正する(ステップS240)。ステップS240の処理は、図5に示したステップS50の処理における第1対象物座標系を、第2対象物座標系に置き換えた場合の処理と同様であるため説明を省略する。
次に、ロボット制御部47は、ステップS240において補正された(座標変換された)教示点情報に基づいてロボット20を動作させ、ロボット20に第2作業を行わせる(ステップS250)。この際、ロボット制御部47は、当該教示点情報に基づく位置制御と、力検出情報取得部42が取得した力検出情報に基づく制御とによって、ロボット20に第2作業を行わせる。
以上のように、ロボット制御装置30は、対象物O2の位置及び姿勢を検出位置及び検出姿勢として検出し、検出した検出位置及び検出姿勢と、記憶部により記憶された基準位置及び基準姿勢とに基づいて、アームAを移動させる。これにより、ロボット制御装置30は、検出位置と基準位置との位置ずれ及び検出姿勢と基準姿勢との姿勢ずれが生じた場合であっても、第2作業の精度が低下してしまうことを抑制することができる。なお、ロボット制御装置30は、これに代えて、対象物O2の位置を検出位置として検出し、検出した検出位置と、記憶部により記憶された基準位置とに基づいてアームAを移動させる構成であってもよい。この場合、ロボット制御装置30は、第2作業において、検出位置と基準位置との位置ずれが生じた場合であっても、第2作業の精度が低下してしまうことを抑制することができる。ただし、この場合、ユーザーは、例えば、対象物O2を治具GBに設置する際において、基準姿勢とマーカーMK2の姿勢との相対的な姿勢が常に略同じ姿勢となる治具GBに対象物O2を設置する。
<ロボット制御装置が基準位置姿勢情報及び教示点情報を記憶する処理>
以下、図11を参照し、第2実施形態におけるロボット制御装置30が基準位置姿勢情報と、教示点情報とを記憶する処理について説明する。図11は、第2実施形態におけるロボット制御装置30が基準位置姿勢情報と、教示点情報とを記憶する処理の流れの一例を示すフローチャートである。なお、図11に示したフローチャートの処理は、ロボット制御装置30の動作モードがダイレクトティーチングによる教示を行う動作モードに切り替えられた後の処理である。ロボット制御装置30の動作モードの切り替えは、例えば、表示部35に表示されたロボット制御装置30の制御画面に基づいて、ユーザーが入力受付部33を介して行う。
以下、図11を参照し、第2実施形態におけるロボット制御装置30が基準位置姿勢情報と、教示点情報とを記憶する処理について説明する。図11は、第2実施形態におけるロボット制御装置30が基準位置姿勢情報と、教示点情報とを記憶する処理の流れの一例を示すフローチャートである。なお、図11に示したフローチャートの処理は、ロボット制御装置30の動作モードがダイレクトティーチングによる教示を行う動作モードに切り替えられた後の処理である。ロボット制御装置30の動作モードの切り替えは、例えば、表示部35に表示されたロボット制御装置30の制御画面に基づいて、ユーザーが入力受付部33を介して行う。
ロボット制御装置30の動作モードがダイレクトティーチングによる教示を行う動作モードに切り替えられた後、撮像制御部40は、撮像部10に撮像範囲を撮像させる(ステップS300)。この一例におけるロボット制御部47は、ステップS300の処理が行われる前に、制御点TC1の位置及び姿勢を予め記憶された初期位置及び初期姿勢と一致させてもさせなくてもよい。
次に、画像取得部41は、ステップS300において撮像部10が撮像した撮像画像を撮像部10から取得する(ステップS310)。次に、位置姿勢検出部43は、ステップS310において画像取得部41が取得した撮像画像に含まれるマーカーMK2に基づいて、パターンマッチング等によって検出位置及び検出姿勢を検出する(ステップS320)。
次に、位置姿勢検出部43は、ステップS320において検出した検出位置及び検出姿勢に基づいて、原点の位置が当該検出位置であり当該原点に当該検出姿勢を表す座標軸を有する三次元局所座標系を第2対象物座標系として、第2対象物座標系を示す情報を基準位置姿勢情報として記憶部32に記憶させる(ステップS325)。そして、ロボット制御部47は、制御点TC1の位置及び姿勢を、所定の教示開始位置及び教示開始姿勢と一致させる。
次に、教示制御部46は、ダイレクトティーチングによる教示の開始を行わせる操作を受け付けるまで待機する(ステップS330)。次に、ダイレクトティーチングによる教示の開始を行わせる操作を受け付けたと位置姿勢検出部43が判定した場合(ステップS330−YES)、教示制御部46は、記憶部32に記憶された基準位置姿勢情報が示す基準位置と現在の時刻におけるエンドエフェクターEのロボット座標系における位置を示す位置情報との相対的な位置を示す位置情報と、記憶部32に記憶された基準位置姿勢情報が示す基準姿勢と現在の時刻におけるエンドエフェクターEのロボット座標系における姿勢との相対的な姿勢を示す姿勢情報と、現在の時刻を示す情報(この一例における順序情報)とを対応付けた教示点情報を記憶部32に記憶させる(ステップS340)。
ここで、図12を参照し、ステップS340の処理について説明する。図12は、ステップS340の処理が開始された後にダイレクトティーチングによる教示によって対象物O2とツールT2の研磨部とが接触させられている様子の一例を示す図である。図12に示した図は、制御点座標系TCにおけるZ軸の負の方向に向かって対象物O2を見た場合の図である。図12に示したように、ユーザーは、ダイレクトティーチングによる教示において、エンドエフェクターE(すなわち、制御点TC1)の第2対象物座標系MK2Cにおける位置及び姿勢を、対象物O2の内周面のうちのツールT2の研磨部に接触している部分が始点部分から当該内周面に沿って一周するように変化させる。図12において、エンドエフェクターEの姿勢は、第2対象物座標系MK2Cの各座標軸それぞれの方向に対する制御点座標系TCの各座標軸それぞれの相対的な方向によって表されている。
ユーザーがダイレクトティーチングによる教示において、エンドエフェクターEの位置及び姿勢を、対象物O2の内周面のうちのツールT2の研磨部が接触している部分が始点部分から当該内周面に沿って一周するように変化させている間、教示制御部46は、所定の時間が経過する毎に、記憶部32に記憶された基準位置姿勢情報が示す基準位置と現在の時刻におけるエンドエフェクターEの位置を示す位置情報との相対的な位置を示す位置情報と、記憶部32に記憶された基準位置姿勢情報が示す基準姿勢と現在の時刻におけるエンドエフェクターEの姿勢との相対的な姿勢を示す姿勢情報と、現在の時刻を示す情報(この一例における順序情報)とを対応付けた教示点情報を記憶部32に記憶させる。
また、教示制御部46は、所定の時間が経過した場合であっても、基準位置と現在のエンドエフェクターEの位置との相対的な位置と直前に記憶した教示点情報に含まれる位置情報が示す位置との差と、基準姿勢と現在のエンドエフェクターEの姿勢との相対的な姿勢と直前に記憶した教示点情報に含まれる姿勢情報が示す姿勢との差との両方が微小量であった場合、教示点情報を記憶部32に記憶させず、再び所定の時間が経過するまで待機する。これにより、ロボット制御装置30は、意図せずしてエンドエフェクターEの動きが止まってしまう等の意図していない動作をロボット20に行わせてしまうことを抑制することができる。
ステップS340において教示点情報が記憶された後、教示制御部46は、計時部45による計時に基づいて、所定の時間が経過したか否かを判定する(ステップS350)。所定の時間が経過したと判定した場合(ステップS350−YES)、教示制御部46は、基準位置と現在のエンドエフェクターEの位置との相対的な位置と直前に記憶した教示点情報に含まれる位置情報が示す位置との差と、基準姿勢と現在のエンドエフェクターEの姿勢との相対的な姿勢と直前に記憶した教示点情報に含まれる姿勢情報が示す姿勢との差との両方が微小量であるか否かを判定する(ステップS355)。
当該両方が微小量であると判定した場合(ステップS355−YES)、教示制御部46は、ステップS350に遷移し、再び所定の時間が経過したか否かを判定する。一方、当該両方が微小量ではないと判定した場合(ステップS355−NO)、教示制御部46は、ステップS340に遷移し、再び教示点情報を記憶部32に記憶させる。なお、教示制御部46は、当該両方が微小量であった場合であっても、所定の時間が経過する毎に教示点情報を記憶部32に記憶させる構成であってもよい。この場合、教示制御部46は、ステップS355の処理を省略し、ステップS350−YESの後、ステップS340に遷移する。
一方、ステップS350において所定の時間が経過していないと判定した場合(ステップS350−NO)、教示制御部46は、ダイレクトティーチングによる教示の終了を行わせる操作を受け付けたか否かをする(ステップS360)。ダイレクトティーチングによる教示の終了を行わせる操作を受け付けていないと判定した場合(ステップS360−NO)、教示制御部46は、ステップS350に遷移し、再び所定の時間が経過したか否かを判定する。一方、ダイレクトティーチングによる教示の終了を行わせる操作を受け付けたと教示制御部46が判定した場合(ステップS360−YES)、制御部36は、処理を終了する。
以上のように、ロボット制御装置30は、基準位置姿勢情報と教示点情報を記憶部32に記憶する。なお、ダイレクトティーチングによる教示を行っている場合、ツールT2は、ツールT2の形状と同じ形状を有する他の物体に置き換えてもよい。このような置き換えを行うことにより、ダイレクトティーチングによる教示を行っている際に対象物O2がツールT2の研磨部によって削れてしまうことを抑制することができる。また、この一例において、ロボット20は、ツールT2を用いて対象物O2の研磨を第2作業として行う構成であったが、これに代えて、他のツールを用いて、対象物O2の接着や塗装、溶接、組み立て、検査等の作業を第2作業として行う構成であってもよい。
以上説明したように、第1実施形態及び第2実施形態におけるロボット制御装置30を内蔵したロボット20は、検出部(この一例において、撮像部10)により検出された対象物(第1実施形態において対象物O1、第2実施形態において対象物O2)の位置である検出位置と、記憶部(第1実施形態及び第2実施形態において記憶部32)により記憶された対象物の位置である記憶位置とに基づいて、アーム(第1実施形態及び第2実施形態において、アームA)を移動させる。これにより、ロボット20は、検出位置と記憶位置との位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
また、ロボット20は、対象物の一部、又は対象物に設けられたマーカー(第1実施形態においてマーカーMK、第2実施形態においてマーカーMK2)の少なくともいずれか一方に基づいた位置である検出位置及び記憶位置に基づいて、アームを移動させる。これにより、ロボット20は、対象物の一部、又は対象物に設けられたマーカーの少なくともいずれか一方に基づいた位置である検出位置及び記憶位置との間に位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
また、ロボット20は、撮像部(第1実施形態及び第2実施形態において撮像部10)により撮像された撮像画像に基づいて検出される検出位置と、記憶位置とに基づいて、アームを移動させる。これにより、ロボット20は、撮像部により撮像された撮像画像に基づいて検出される検出位置と記憶位置との位置ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
また、ロボット20は、対象物をアームにより移動させる。これにより、ロボット20は、検出位置と記憶位置との位置ずれが生じた場合であっても、対象物をアームにより移動させる作業の精度が低下してしまうことを抑制することができる。
また、ロボット20は、対象物をアームにより移動させる。これにより、ロボット20は、力検出部の出力(第1実施形態及び第2実施形態において力検出情報)に基づいたダイレクトティーチングによる教示によって、位置を示す情報である位置情報を含む教示点情報が記憶部に記憶される。これにより、ロボット20は、ダイレクトティーチングによる教示によって記憶された教示点情報に基づいてアームを移動させることができる。
また、ロボット20は、教示点情報を、ダイレクトティーチングによる教示において所定の時間が経過する毎に記憶部に記憶される。これにより、ロボット20は、ダイレクトティーチングによる教示において所定の時間が経過する毎に記憶部に記憶された教示点情報に基づいてアームを移動させることができる。
また、ロボット20は、位置情報が示す位置にアームに対応付けられた位置である制御点を一致させる位置制御によってアームを移動させる。これにより、ロボット20は、位置制御により行われる作業の精度が低下してしまうことを抑制することができる。
また、ロボット20は、位置制御と力検出部(第1実施形態及び第2実施形態において力検出部21)の出力に基づく制御とによってアームを移動させる。これにより、ロボット20は、位置制御と力検出部の出力に基づく制御とにより行われる作業の精度が低下してしまうことを抑制することができる。
また、ロボット20は、力検出部の出力に基づいてダイレクトティーチングによる教示の開始又はダイレクトティーチングによる教示の終了のうち少なくとも一方を行う。これにより、ロボット20は、作業の効率を向上させることができる。
また、ロボット20は、検出位置と記憶位置との位置ずれと教示点情報とに基づいて、アームを移動させる。これにより、ロボット20は、検出位置と記憶位置との位置ずれと教示点情報とに基づいて、作業の精度が低下してしまうことを抑制することができる。
また、ロボット20は、位置ずれに基づいて教示点情報を補正して、アームを移動させる。これにより、ロボット20は、補正した教示点情報に基づいて、作業の精度が低下してしまうことを抑制することができる。
また、ロボット20は、座標変換により教示点情報を補正する。これにより、ロボット20は、座標変換により補正した教示点情報に基づいて、作業の精度が低下してしまうことを抑制することができる。
また、ロボット20は、検出部により検出された対象物の姿勢である検出姿勢及び検出位置と、記憶部により記憶された対象物の姿勢である記憶姿勢及び記憶位置とに基づいて、アームを移動させる。これにより、ロボット20は、検出位置と記憶位置との位置ずれ及び検出姿勢と記憶姿勢との姿勢ずれが生じた場合であっても、作業の精度が低下してしまうことを抑制することができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボット制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…ロボットシステム、10…撮像部、20…ロボット、21…力検出部、30…ロボット制御装置、31…CPU、32…記憶部、33…入力受付部、34…通信部、35…表示部、36…制御部、40…撮像制御部、41…画像取得部、42…力検出情報取得部、43…位置姿勢検出部、44…補正部、45…計時部、46…教示制御部、47…ロボット制御部
Claims (14)
- アームを備え、
検出部により検出された対象物の位置である検出位置と、記憶部により記憶された前記対象物の位置である記憶位置とに基づいて、前記アームを移動させる、
ロボット。 - 前記検出位置及び前記記憶位置は、前記対象物の一部、又は前記対象物に設けられたマーカーの少なくともいずれか一方に基づいた位置である、
請求項1に記載のロボット。 - 前記検出部は、撮像部であり、
前記検出位置は、前記撮像部により撮像された撮像画像に基づいて検出される、
請求項1又は2に記載のロボット。 - 前記対象物を前記アームにより移動させる、
請求項1から3のうちいずれか一項に記載のロボット。 - 力を検出する力検出部を備え、
前記力検出部の出力に基づいたダイレクトティーチングによる教示によって、位置を示す情報である位置情報を含む教示点情報が前記記憶部に記憶される、
請求項1から4のうちいずれか一項に記載のロボット。 - 前記教示点情報は、前記教示において所定の時間が経過する毎に前記記憶部に記憶される、
請求項5に記載のロボット。 - 前記位置情報が示す位置に、前記アームに対応付けられた位置である制御点を一致させる位置制御によって前記アームを移動させる、
請求項5又は6に記載のロボット。 - 前記位置制御と前記力検出部の出力に基づく制御とによって前記アームを移動させる、
請求項7に記載のロボット。 - 前記力検出部の出力に基づいて前記教示の開始又は前記教示の終了のうち少なくとも一方を行う、
請求項5から8のうちいずれか一項に記載のロボット。 - 前記検出位置と前記記憶位置との位置ずれと前記教示点情報とに基づいて、前記アームを移動させる、
請求項5から9のうちいずれか一項に記載のロボット。 - 前記位置ずれに基づいて前記教示点情報を補正して、前記アームを移動させる、
請求項10に記載のロボット。 - 座標変換により前記教示点情報を補正する、
請求項11に記載のロボット。 - 前記検出部により検出された前記対象物の姿勢である検出姿勢及び前記検出位置と、前記記憶部により記憶された前記対象物の姿勢である記憶姿勢及び前記記憶位置とに基づいて、前記アームを移動させる、
請求項1から12のうちいずれか一項に記載のロボット。 - 請求項1から13のうちいずれか一項に記載のロボットと、
前記ロボットを制御するロボット制御装置と、
を備えるロボットシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016005019A JP2017124470A (ja) | 2016-01-14 | 2016-01-14 | ロボット、及びロボットシステム |
US15/404,612 US20170203434A1 (en) | 2016-01-14 | 2017-01-12 | Robot and robot system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016005019A JP2017124470A (ja) | 2016-01-14 | 2016-01-14 | ロボット、及びロボットシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017124470A true JP2017124470A (ja) | 2017-07-20 |
Family
ID=59313525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016005019A Pending JP2017124470A (ja) | 2016-01-14 | 2016-01-14 | ロボット、及びロボットシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170203434A1 (ja) |
JP (1) | JP2017124470A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019217607A (ja) * | 2018-06-21 | 2019-12-26 | 三菱電機株式会社 | ティーチング装置、ロボット制御システム及びティーチング方法 |
JP2021143877A (ja) * | 2020-03-10 | 2021-09-24 | 株式会社大気社 | 検査装置及び検査方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9666465B2 (en) * | 2013-12-12 | 2017-05-30 | Seagate Technology Llc | Positioning apparatus |
JP6542629B2 (ja) * | 2015-09-18 | 2019-07-10 | 川崎重工業株式会社 | 加工ツールの位置決め装置及び位置決め方法 |
JP6500852B2 (ja) * | 2016-07-11 | 2019-04-17 | 株式会社安川電機 | ロボットシステム、ロボットの制御方法、ロボットコントローラ |
JP2018069361A (ja) * | 2016-10-27 | 2018-05-10 | セイコーエプソン株式会社 | 力制御座標軸設定装置、ロボットおよび力制御座標軸設定方法 |
AU2018306475A1 (en) * | 2017-07-25 | 2020-03-05 | Mbl Limited | Systems and methods for operations a robotic system and executing robotic interactions |
US11141855B2 (en) * | 2018-01-15 | 2021-10-12 | Canon Kabushiki Kaisha | Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article |
CN116075399A (zh) * | 2020-09-14 | 2023-05-05 | 三菱电机株式会社 | 机器人控制装置 |
-
2016
- 2016-01-14 JP JP2016005019A patent/JP2017124470A/ja active Pending
-
2017
- 2017-01-12 US US15/404,612 patent/US20170203434A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019217607A (ja) * | 2018-06-21 | 2019-12-26 | 三菱電機株式会社 | ティーチング装置、ロボット制御システム及びティーチング方法 |
JP2021143877A (ja) * | 2020-03-10 | 2021-09-24 | 株式会社大気社 | 検査装置及び検査方法 |
JP7426858B2 (ja) | 2020-03-10 | 2024-02-02 | 株式会社大気社 | 検査装置及び検査方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170203434A1 (en) | 2017-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017124470A (ja) | ロボット、及びロボットシステム | |
CN107414842B (zh) | 控制装置、机器人以及机器人系统 | |
US20170182665A1 (en) | Robot, robot control device, and robot system | |
CN105269578B (zh) | 指示装置以及机器人系统 | |
JP6427972B2 (ja) | ロボット、ロボットシステム及び制御装置 | |
US20160184996A1 (en) | Robot, robot system, control apparatus, and control method | |
US20180085923A1 (en) | Robot control device, robot, and robot system | |
JP2017159426A (ja) | ロボット制御装置、ロボット、及びロボットシステム | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
JP2017100202A (ja) | ロボットシステム、制御装置、制御方法、及びプログラム | |
JP2016203280A (ja) | ロボット、及び制御装置 | |
JP6665450B2 (ja) | ロボット、制御装置、及びロボットシステム | |
JP6488571B2 (ja) | 教示装置、及びロボットシステム | |
JP2016120530A (ja) | ロボット、及びロボット校正システム | |
US11759955B2 (en) | Calibration method | |
JP2016120558A (ja) | ロボット、及びロボットシステム | |
JP2017100197A (ja) | ロボット、及び制御方法 | |
JP6578671B2 (ja) | ロボット、ロボットの制御方法、及びロボットの制御装置 | |
JP2018015856A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2016013590A (ja) | 教示装置、及びロボットシステム | |
JP2019042837A (ja) | ロボット、ロボット制御装置、ロボットシステム、及びロボット制御方法 | |
JP2019042902A (ja) | 撮像方法及びロボットシステム | |
JP2018001321A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2015226954A (ja) | ロボット、ロボットの制御方法、及びロボットの制御装置 | |
JP2016120557A (ja) | ロボット、及びロボット校正システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20180906 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20181119 |