JP2012183606A - ロボット位置検出装置及びロボットシステム - Google Patents

ロボット位置検出装置及びロボットシステム Download PDF

Info

Publication number
JP2012183606A
JP2012183606A JP2011047863A JP2011047863A JP2012183606A JP 2012183606 A JP2012183606 A JP 2012183606A JP 2011047863 A JP2011047863 A JP 2011047863A JP 2011047863 A JP2011047863 A JP 2011047863A JP 2012183606 A JP2012183606 A JP 2012183606A
Authority
JP
Japan
Prior art keywords
robot
position data
timing
unit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011047863A
Other languages
English (en)
Other versions
JP5803155B2 (ja
Inventor
Atsushi Asada
篤 浅田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2011047863A priority Critical patent/JP5803155B2/ja
Priority to US13/371,810 priority patent/US8768508B2/en
Priority to CN201210041445.5A priority patent/CN102653099B/zh
Publication of JP2012183606A publication Critical patent/JP2012183606A/ja
Priority to US14/286,526 priority patent/US9586319B2/en
Application granted granted Critical
Publication of JP5803155B2 publication Critical patent/JP5803155B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34153Linear interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39206Joint space position control

Abstract

【課題】移動中のロボットから検出される該ロボットの位置に対してその精度を高めることが可能なロボット位置検出装置及びロボットシステムを提供する。
【解決手段】位置算出部60は、トリガー信号が入力されるトリガー信号入力部61と、エンコーダーから出力された位置データが通信時間の分だけ遅れて入力される位置データ入力部62と、入力された位置データを取得してトリガー信号検出時におけるロボットの位置を算出するデータ処理部63とを備えている。データ処理部63は、トリガー信号が検出される前に取得した第1の位置データとそのタイミング、及び、トリガー信号が検出された後の第2の位置データとそのタイミングを用いてロボットの位置を線形補間し、トリガー信号が入力されたタイミングよりも通信時間だけ後の位置をトリガー信号検出時におけるロボットの位置として算出する。
【選択図】図3

Description

この発明は、ロボットの位置を検出するロボット位置検出装置、及び該ロボット位置認識装置を備えたロボットシステムに関する。
従来から、ワークを把持するロボットの目標位置を補正する方法として、例えば特許文献1のような技術が知られている。特許文献1では、ワークを撮像する撮像装置の撮像範囲に、ロボットに把持されているワークと該ロボットに設けられた基準マークとが配置されるように撮像装置及びロボットをそれぞれ所定の位置に移動させる。そして、撮像装置によって撮像された画像を画像処理することによって、基準マークに対するワークの中心座標や傾きなどを取得し、その取得した中心座標等に基づいてロボットの目標位置に関する位置補正量が算出されている。
特許第4539685号公報
ところで、特許文献1の方法では、ロボットの目標位置に関する位置補正量を確実に算出することが可能ではあるものの、位置補正量を算出するための画像を撮像する際にロボットを止めておく必要がある。位置補正量を算出するためとはいえロボットを所定の位置に止めておくことになれば、その止まっている時間の分だけ装置のスループットが低下することになる。こうしたスループットの低下を抑えるうえでは、ロボットを止めることなく移動中のワークを撮像してその撮像時におけるロボットの位置と撮像したワークの画像とに基づいてロボットの位置補正量を取得することが望ましい。
一方、ロボットの位置を示すエンコーダーからのデータは、通常、シリアル通信によってロボットコントローラーに入力される。そのため、該データが出力されたタイミングよりも、シリアル通信の通信周期及びデータ量等に応じたエンコーダーとロボットコントローラーとの通信時間だけ遅れたタイミングでロボットコントローラーに入力される。この際、上述したようにロボットが絶えず移動していることとなれば、エンコーダーに基づいて算出される位置と画像から得られる位置とが時間軸において互いに異なるものとなる。
本発明は上記実状を鑑みてなされたものであり、その目的は、移動中のロボットから検出される該ロボットの位置に対してその精度を高めることが可能なロボット位置検出装置及びロボットシステムを提供することにある。
本発明のロボット位置検出装置は、ロボットの位置を示す位置データがエンコーダーから入力される位置データ入力部と、前記入力された位置データを取得してロボットの位置を算出する位置算出部とを備え、前記位置算出部は、前記ロボットの位置を検出するための指令を受けて、前記指令よりも前の第1のタイミングで取得した第1の位置データと、前記指令よりも後の第2のタイミングで取得した第2の位置データと、前記エンコーダーと前記位置データ入力部との通信に要する通信時間とを用い、前記指令が入力されたタイミングよりも前記通信時間だけ後のタイミングにおける位置を前記第1の位置データと前記第2の位置データとの線形補間によって算出し、該算出結果を前記指令が入力されたと
きの前記ロボットの位置として出力する。
このロボット位置検出装置によれば、指令の入力されたタイミングよりも、エンコーダーと位置データ入力部との通信に要する通信時間だけ後のタイミングに基づいて線形補間によりロボットの位置が出力されるため、線形補間に用いられる各データのタイミングが略等しい時間軸上でのタイミングになる。それゆえに、第1の位置データと第2の位置データとを用いる線形補間によって算出されるロボットの位置は、通信時間にてロボットの移動する移動量が補正されたものとなる。そのため、移動中のロボットの位置を精度よく検出することができる。
このロボット位置検出装置において、前記位置算出部は、1つのエンコーダーから前記位置データ入力部に入力された前記位置データを取得する所定の周期Tよりも短い周期Tsで該指令を検出可能な指令検出部を備える。
このロボット位置検出装置によれば、1つのエンコーダーから位置データが入力されるタイミングよりも指令を検出可能なタイミングの方が多くなる。その結果、指令が入力されたタイミングにより近い時期におけるロボットの位置を検出することができる。
このロボット位置検出装置において、前記位置算出部は、前記所定の周期Tを1以上の整数nでn等分割した周期T/nごとに互いに異なるエンコーダーからの位置データを取得し、前記指令が入力されたときの前記ロボットの位置を前記エンコーダーごとに出力する。
このロボット位置検出装置によれば、互いに異なるエンコーダーごとにロボットの位置が算出されることから、指令の入力時におけるロボットの位置をより高い精度で検出することができる。
このロボット位置検出装置において、前記位置算出部は、取得した前記位置データが正常か否かを判断するとともに、前記指令を検出したときの直前における前記位置データが正常でないと判断される場合には、当該位置データの直前に取得した位置データを前記第1の位置データとして用いる。
エンコーダーから入力される位置データは、電気的な信号であるため例えばノイズなどの影響を受けてしまう虞がある。こうした影響を受けた位置データを用いてロボットの位置を算出するとなれば、位置算出部によって算出されたロボットの位置に対する信頼性が低下してしまう。この点、上記構成のロボット位置検出装置によれば、位置算出部は、取得した位置データが正常か否かを判断するとともに指令を検出したときの直前における位置データが正常でないと判断される場合には、当該位置データの直前に取得した位置データを第1の位置データとして用いることから、正常な位置データを用いてロボットの位置が算出することができる。
このロボット位置検出装置において、前記位置算出部は、前記指令を検出したときの直後における前記位置データが正常でないと判断される場合には、当該位置データの直後に取得した位置データを前記第2の位置データとして用いる。
通常、第1のタイミングと第2のタイミングとが離れるほど、これらの間の位置における線形性が失われる。このロボット位置検出装置では、こうした線形補間を用いているために第1のタイミングと第2のタイミングとが時間的に離間しているほど、位置算出部によって算出されたロボットの位置と実際のロボットの位置とに大きな誤差が生じやすい。この点、上記構成によれば、例えば、位置データが入力されるタイミングであって指令を
検出した直後のタイミングを基準タイミングとするとき、第1のタイミングと第2のタイミングとが時間的に最も離間する場合であっても、第1の位置データは基準タイミングよりも2つ前のタイミングで入力された位置データであり、第2の位置データは基準タイミングよりも2つ後のタイミングで入力された位置データである。その結果、当該第1のタイミングよりも前に取得された位置データと当該第2のタイミングよりも後に取得された位置データとに基づいてロボットの位置が算出される場合に比べて、算出されるロボットの位置の精度を高めることができる。
本発明のロボットシステムは、ワークを搬送するロボットと、前記ロボットの位置を示す位置データを出力するエンコーダーと、前記ロボットの位置を検出するための指令を出力する指令出力部と、前記位置データと前記指令とが入力され、前記指令が入力されたときの前記ロボットの位置を前記位置データに基づいて検出するロボット位置検出部とを備えるロボットシステムであって、前記ロボット位置検出部が、前記ロボット位置検出部が上述したロボット位置検出装置である。
本発明のロボットシステムによれば、ロボットの移動中に指令出力部が指令を出力したとしても、該ロボットの位置を精度よく検出することができる。
このロボットシステムは、予め定められた撮像範囲を前記指令出力部からの指令が入力されたタイミングで撮像することにより、目標位置へ移動中の前記ロボットが搬送しているワークを含む画像を取得するカメラと、前記カメラが取得した画像に基づいて前記ワークの位置を取得するワーク位置取得部と、前記ワーク位置取得部が取得した前記ワークの位置と、前記ロボット位置検出部が検出した前記ロボットの位置とに基づいて、前記目標位置を補正する目標位置補正部とをさらに備えている。
このロボットシステムによれば、指令出力部からの指令が入力されたタイミングにおけるロボットの位置とワークの位置との相対位置に基づいて、ロボットの目標位置を補正することができる。上述したようにロボット位置検出部で検出されるロボットの位置は、ロボットを移動させながら検出されたものであって、なおかつその精度が高められたものである。すなわち、目標位置を補正するためにロボットを止める必要がなくなるとともに、ロボットの目標位置に対する補正量の精度も高めることができる。その結果、ロボットシステムのスループットの低下を抑えつつ、搬送すべき位置にワークを搬送することができる。
本発明の一実施の形態にかかるロボットシステムの概略構成を示す斜視図。 ロボットの正面構造を示す正面図。 ロボットシステムのシステム構成を示す機能ブロック図。 各エンコーダーの位置データが取得されるタイミングを示すタイミングチャート。 データ処理部の記憶部が記憶するデータを示す図。 ロボットの位置を時間に対応付けた図であって、ロボットの位置を算出する算出過程を概念的に説明するための説明図。 ロボットの位置を算出する処理の手順を示すフローチャート。 ロボットの位置を算出する処理の手順を示すフローチャート。
以下、本発明にかかるロボット位置検出装置及びロボットシステムの一実施の形態について、図1〜図8を参照して説明する。まず、本発明にかかるロボットシステムの概略構成について図1及び図2を参照して説明する。
図1に示されるように、ロボットシステム10には、ワークWを搬送方向Cvに沿って所定の搬送速度で搬送するコンベヤー11の側方に、コンベヤー11で搬送されるワークWを選択的に把持して所定の作業を行う水平多関節型のロボット12が配置されている。搬送方向Cvにおけるロボット12の上流側には、コンベヤー11上を搬送されるワークWを上方から撮像するカメラ13が設置されている。このロボットシステム10では、カメラ13によって撮像された画像に基づいて作業対象となるワークWが選択されるとともに、該画像とコンベヤー11の搬送量を測定するエンコーダー14とに基づいて、作業対象に選択されたワークWの位置が把握される。作業対象に選択されたワークWは、ロボット12によって所定の高さまで上昇させられた状態で当該ロボット12の可動範囲内に設置された作業台15上における所定位置まで搬送される。
図2に示されるように、ロボット12において、床面等に設置される基台21の上端部には、垂直方向に沿う制御軸C1を中心にして基台21に対して回動可能な基台軸22が設けられている。基台軸22は、基台21内に設けられた第1モーター23が正逆回転されることによって制御軸C1を中心にして回動する。
基台軸22には、水平方向に延びる第1の水平アーム24の基端部が連結固定されている。第1の水平アーム24の先端部には、支持軸25が連結固定されている。支持軸25は、垂直方向に沿う制御軸C2を中心にして支持軸25に対して回動可能に第2の水平アーム26を支持している。
第2の水平アーム26の基端部には、第2モーター27が配設されている。第2の水平アーム26は、第2モーター27が正逆回転することによって当該第2モーター27が支持軸25から受ける反力によって、制御軸C2を中心にして第1の水平アーム24に対して水平方向に回動する。
第2の水平アーム26の先端部には、第2の水平アーム26を貫通する上下回転軸29が設けられている。上下回転軸29は、第2の水平アーム26に対して回転可能に、かつ、上下方向に移動可能に支持されている。また上下回転軸29は、第2の水平アーム26に備えられた昇降モーター30が正逆回転されることによって垂直方向の制御軸C3に沿って昇降される。上下回転軸29は、第2の水平アーム26に備えられた回転モーター31が正逆回転させることによって垂直方向に沿う自らの制御軸C4を中心にして正逆回転される。上下回転軸29の作業部32には、ツール、例えば被搬送物を把持するハンドや被加工物を加工するハンド等の取り付けが可能になっている。
また、作業台15へと搬送されるワークWの搬送経路には、検出ラインFLをワークWが通過したことを検出する検出センサー35が設けられている。検出センサー35は、指向性や収束生の高いレーザー光からなる検出光LBを水平方向に沿って出射する出射部36と、出射部36から出射された検出光LBを受光する受光部37とを備えている。出射部36及び受光部37は、ロボット12の可動範囲を挟むように、且つコンベヤー11から作業台15に向かって搬送されるワークWによって検出光LBが一時的に遮断されるように設置されている。
検出センサー35の下側には、検出センサー35によるワークWの検出と同時期に当該ワークWを下方から撮像するカメラ39が設置されている。このロボットシステム10においては、このカメラ39によって撮像された画像とその時のロボット12の位置とに基づいてロボット12に対するワークWの相対位置が把握されて、予め定めた位置にワークWが搬送されるようにロボット12の目標位置が補正される。
次に、上述した構成のロボットシステム10のシステム構成について図3〜図8を参照
して説明する。
図3に示されるように、上述したロボットシステム10は、コントローラー50によって統括制御される。コントローラー50は、ロボット12を駆動制御する制御装置であり、ロボット12が目標位置に移動する位置決め動作を制御したり、コンベヤー11上を移動しているワークWにロボット12が追従する追従動作を制御したりする。
コントローラー50には予め、ロボット12の構造や動作特性、可動範囲内の領域であってコンベヤー11上のワークWを追従可能な追従領域などを示すロボットデータが設定されている。また、コンベヤー11とロボット12の相対位置やコンベヤー11とカメラ39の相対位置、ロボット12とカメラ39の相対位置等を示す各種位置に関するデータ、及びワークの種類や形状を示すワークデータなどが設定されている。そして、これらロボットデータ、各種位置に関するデータ及びワークデータがロボット12の駆動制御に用いられる。
コントローラー50は、ユーザープログラムを記憶するユーザープログラム記憶部51と、該ユーザープログラム記憶部51に記憶されたユーザープログラムを実行するユーザープログラム実行部52とを備えている。また、カメラ13により認識されたワークWの初期位置が格納されるワーク位置記憶部53と、該ワーク位置記憶部53のワークWの現在位置をコンベヤー11の移動量に基づいて算出させるワーク位置更新部54とを備えている。さらに、作業部32の軌道(各制御軸C1〜C4の関節角度)を生成し、これをモーター指令値(パルス)に変換して後述のモーター制御部57に出力する指令値生成部55とを備えている。またさらに、追従領域とワークWの位置関係などから作業対象となるワークWを検出する作業対象検出部56と、指令値生成部55からのモーター指令値に従って各制御軸C1〜C4のモーター23,27,30,31を制御するモーター制御部57とを備えている。
ユーザープログラム記憶部51のユーザープログラムは、作業対象のワークWに追従するようにロボット12の作業部32を移動させるために必要な各種処理を実行するプログラムである。また、作業部32が把持したワークWを作業台15の所定位置まで移動させるために必要な各種処理を実行するプログラムである。
ユーザープログラム実行部52は、ユーザープログラムを実行する。ユーザープログラム実行部52は、作業対象検出部56の検出結果から作業対象として検出されたワークWを作業対象として取り扱う。さらに、ユーザープログラム実行部52は、選択されたワークWにロボット12を追従等させるために必要な情報を算出するとともに、ロボット12を目標位置まで移動させるために必要な情報を算出して、それら算出したデータを指令値生成部55に伝達する。
また、目標位置補正部としてのユーザープログラム実行部52には、後述するワーク位置取得部58から搬送中のワークWの位置が入力されるとともに、位置算出部60で算出された移動中のロボット12の位置が入力される。ユーザープログラム実行部52は、ワーク位置取得部58から入力されたワークWの位置と位置算出部60から入力されたロボット12の位置とに基づいてロボット12の目標位置を補正するとともに、その補正した目標位置まで移動させるために必要な情報を算出し、その算出されたデータを指令値生成部55に伝達する。
ワーク位置更新部54は、カメラ13が撮影したコンベヤー11上のワークWの撮影画像からワークWの初期位置を求めてその初期位置の情報をワーク位置記憶部53に格納する。一方、ワーク位置更新部54は、エンコーダー14から入力されるコンベヤーパルスの積算によるコンベヤーパルス数に基づいてコンベヤー11によるワークWの搬送量を算
出する。そして、ワークWの撮影時(初期位置)のコンベヤーパルス数と現在のコンベヤーパルス数との差を求め、このパルス数の差と、予め設定された単位コンベヤーパルスあたりの搬送量との積によりワークWの初期位置に対する搬送量を求める。ワーク位置更新部54は、ワーク位置記憶部53に記憶されている撮影時に算出されたワークWの初期位置(X軸方向の座標)に、上述のようにして算出したワークWの搬送量を加算することなどにより、コンベヤー11上を搬送されているワークWの現在位置を逐次計算できるようにしている。
作業対象検出部56は、所定の実行周期で、ワークWの現在位置と追従領域とを比較する。そして、ワークWの現在位置が追従領域内に到達(進入)したとき当該ワークWを作業対象として検出するとともに、ワークWの現在位置が追従領域内に含まれなくなるとき当該ワークWを作業対象外として検出する。そして、検出された結果をユーザープログラム実行部52や指令値生成部55に伝達する。
指令値生成部55は、入力される各種データに基づいて、ロボット12を目標位置まで移動させるための軌道を生成するとともに当該軌道をロボット12が追従するための各制御軸C1〜C4の関節角度を計算する。指令値生成部55は、ロボット12を軌道に沿わせるための各制御軸C1〜C4の関節角度を目標関節角度としてモーター制御部57に出力する。本実施形態においてモーター制御部57は、1つのモーターを制御周期Tで制御するとともに各モーターを異なるタイミングで制御する。本実施形態のモーター制御部57は、各モーター23,27,30,31を制御周期Tを制御軸数n(nは1以上の整数であって、本実施形態ではn=4)で除算した周期T/nで順次制御するとともに、指令値生成部55から出力された各モーターの目標関節角度に応じた出力を周期T/nで順次出力する。すなわち、コントローラー50は、制御対象となるモーターを周期T/nで第1モーター23、第2モーター27、昇降モーター30、回転モーター31の順で切り替えている。
さらに、コントローラー50は、検出センサー35によるワークWの検出時における当該ワークWの位置を取得するワーク位置取得部58と、同検出時におけるロボット12の位置を算出する位置算出部60とを有している。
ワーク位置取得部58は、検出ラインFLに到達したワークWを下方から撮像するカメラ39から入力される画像データを画像処理することによってワークWの位置データを取得する。ワーク位置取得部58は、上記画像処理によって、撮像範囲におけるワークWの中心位置の座標値を求めてユーザープログラム実行部52に出力する。
カメラ39は、指令出力部としてのトリガー信号生成部59に電気的に接続されており、該トリガー信号生成部59から指令としてのトリガー信号が入力されると、その撮像範囲を撮像し、その撮像した画像の画像データをワーク位置取得部58に出力する。
トリガー信号生成部59は、検出センサー35によってワークWが検出されると、指令としてのトリガー信号を生成する。トリガー信号生成部59は、その生成したトリガー信号をカメラ39と、後述するトリガー信号入力部61とに同時に出力する。
次に、ロボット位置検出装置及びロボット位置検出部としての位置算出部60について詳しく説明する。
図3に示されるように、位置算出部60は、指令検出部としてのトリガー信号入力部61と、位置データ入力部62と、データ処理部と63を有している。
トリガー信号入力部61には、トリガー信号生成部59が出力したトリガー信号が入力
される。トリガー信号入力部61は、トリガー信号の検出周期でトリガー信号の状態を検出し、データ処理部63では、モーターの制御周期Tを制御軸数n(本実施形態ではn=4)で除算した検出周期Ts(=T/n)でトリガー信号入力部61が検出したトリガー信号の状態を検出する。
位置データ入力部62には、各モーター23,27,30,31の絶対位置に基づいて、各制御軸C1,C2,C3,C4の関節角度を検出する第1エンコーダー64、第2エンコーダー65、第3エンコーダー66、第4エンコーダー67が接続されている。各エンコーダー64〜67は、対応する関節角度をモーターの制御周期Tの半分の時間(=T/2)であってエンコーダーと位置データ入力部62との通信に要する通信時間Td毎に検出し、その検出した関節角度を示す位置データを位置データ入力部62に出力する。
また、位置データ入力部62は、入力された位置データが正常であるか否かを判定する判定部68を有している。そして、位置データ入力部62は、各エンコーダー64〜67から入力された位置データに対し、該位置データに対する判定部68の判定結果を対応付ける。
データ処理部63は、位置データ入力部62に入力された位置データと該位置データに対応付けられた判定結果とを取得する。なお、各々のエンコーダーに対応する位置データをデータ処理部63が位置データ入力部62から同時に取得するとなれば、各位置データに対応するようにデータ処理部63を構成する必要があり、データ処理部63の構成が複雑化してしまう虞がある。そこで、データ処理部63には、周期T/n毎にインクリメントされるカウンターであって、制御対象となる制御軸に応じたカウント値が示されるカウンターが内蔵されている。そして、図4に示されるように、データ処理部63は、該カウンターのカウント値が示す制御軸と、位置データ入力部62に入力された位置データに対応する制御軸とが整合するように、制御周期T毎に、各エンコーダー64〜67からの位置データを順次取得する。
なお、エンコーダーからの位置データが通信時間Tdのシリアル通信によって位置データ入力部62に入力される。そのため、データ処理部63が取得する位置データは、該位置データを取得したタイミングよりも通信時間Tdだけ前のタイミングでエンコーダーによって検出された位置を示す位置データである。
図5に示されるように、データ処理部63は、制御軸C1における関節角度、制御軸C2における関節角度、制御軸C3における関節角度、制御軸C4における関節角度に関する各種データの記憶される領域が予め設けられた記憶部70を有している。
本実施形態では、エンコーダーからの位置データが位置データ入力部62に入力されるタイミングのうち、トリガー信号が検出された次のタイミングを当該エンコーダーにおける基準タイミングとしている。記憶部70には、上記基準タイミングよりも前に取得された位置データである第1の位置が記憶される領域が制御軸C1〜C4毎に設けられている。第1の位置73aは、第1エンコーダー64から入力された位置データである。第1の位置73bは、第2エンコーダー65から入力された位置データである。第1の位置73cは、第3エンコーダー66から入力された位置データである。第1の位置73dは、第4エンコーダー67から入力された位置データである。また、記憶部70には、上記基準タイミングよりも後に取得された位置データである第2の位置が記憶される領域が制御軸C1〜C4毎に設けられている。第2の位置74aは、第1エンコーダー64から入力された位置データである。第2の位置74bは、第2エンコーダー65から入力された位置データである。第2の位置74cは、第3エンコーダー66から入力された位置データである。第2の位置74dは、第4エンコーダーから入力された位置データである。
また記憶部70には、第1の位置を示す位置データに関して、当該位置データが正常であるか否かを示す第1のフラグを制御軸C1〜C4毎に記憶する領域が設けられている。第1のフラグ75aは、第1エンコーダー64から入力される位置データに対応付けられている。第1のフラグ75bは、第2エンコーダー65から入力される位置データに対応付けられている。第1のフラグ75cは、第3エンコーダー66から入力される位置データに対応付けられている。第1のフラグ75dは、第4エンコーダー67から入力される位置データに対応付けられている。また記憶部70には、第2の位置を示す位置データに関して、当該位置データが正常であるか否かを示す第2のフラグを制御軸C1〜C4毎に記憶する領域が設けられている。第2のフラグ76aは、第1エンコーダー64から入力される位置データに対応付けられている。第2のフラグ76bは、第2エンコーダー65から入力される位置データに対応付けられている。第2のフラグ76cは、第3エンコーダー66に関する位置データに対応付けられている。第2のフラグ76dは、第4エンコーダー67から入力される位置データに対応付けられている。
そして、データ処理部63は、位置データを取得するたびに、該位置データの正否を判断する。この際、上記基準タイミングよりも前のタイミングにて、位置データが正常であると判断すると、データ処理部63は、該位置データを第1の位置として更新するとともに、第1のフラグを「0」に設定する。一方、上記基準タイミングよりも前のタイミングにて、位置データが異常であると判断すると、データ処理部63は、第1の位置を更新することなく、第1のフラグを「1」に設定する。なお、データ処理部63は、トリガー信号が検出されるまで上述した第1の位置の更新及び第1のフラグの設定を制御軸C1〜C4に対して順次実行する。そしてデータ処理部63は、トリガー信号が検出されると、該検出時における各第1の位置及び第1のフラグを第1のタイミングデータ77として記憶部70の所定領域に保存する。
また、上記基準タイミングの直後のタイミングにて、位置データが正常であると判断すると、データ処理部63は、該位置データを第2の位置として更新するとともに、第2のフラグを「0」に設定する。一方、上記基準タイミングの直後のタイミングにて、位置データが異常であると判断すると、データ処理部63は、該位置データを第2の位置として更新することなく、第2のフラグを「1」に設定する。そしてデータ処理部63は、上記直後のタイミングの次のタイミングにおける位置データを取得して、当該位置データが正常であるか否かに関わらず、当該位置データを第2の位置として更新する。そしてデータ処理部63は、全ての第2の位置が更新されると、各第2の位置及び第2のフラグを第2のタイミングデータ78として記憶部70の所定領域に保存する。
また、記憶部70には、トリガー信号が検出されたか否かを示す検出フラグ79を記憶する領域が設けられている。データ処理部63は、トリガー信号が検出されると検出フラグ79を「1」に設定するとともに、算出したロボット12の位置をユーザープログラム実行部52に出力すると検出フラグ79を「0」に設定する。
また、図5に示されるように、記憶部70には、トリガー信号の検出時に制御対象であった制御軸を示すデータである制御軸データ80が記憶される領域が設けられている。データ処理部63は、内蔵されたカウンターのカウント値に基づいて、トリガー信号の検出時における制御軸を示すデータを制御軸データ80に保存する。そして、トリガー信号が検出されるたびに、データ処理部63は、上記第1のタイミングデータ77、第2のタイミングデータ78、制御軸データ80に基づいて、トリガー信号の検出時における各制御軸C1〜C4の関節角度を算出しロボット12の位置を検出する。
次に、位置算出部60によるロボット12の位置の算出方法について図6を参照して説
明する。なお、図6においては、第1のタイミングにおける関節角度である第1の位置をPa、第2のタイミングにおける関節角度である第2の位置をPb、トリガー信号の検出時における関節角度をP(k)と表現する。また、本実施形態における通信時間Tdは、モーターの制御周期Tの半分の時間(T/2)となっている。
データ処理部63は、第2のタイミングデータ78が保存されると、制御軸C1〜C4毎に、第1のフラグと第2のフラグとの組み合わせに基づいて、当該組み合わせに応じて予め設定された4つの算出式の中から1つの算出式を選択する。そして、その選択した算出式に第1の位置と、第2の位置と、制御軸データ80に基づく定数kとを代入することにより、トリガー信号検出時における各制御軸C1〜C4の関節角度を求める。ここでいう定数kとは、算出対象となる制御軸とトリガー信号の検出時に制御対象となっている制御軸との関係に基づいて制御軸毎に決定される定数であって、周期T/nを基準単位として、トリガー信号が検出されたタイミングから基準タイミングまでの期間が「T/n×k」で示される定数である。
例えば、トリガー信号の検出時における制御対象が制御軸C1(第1モーター23)であった場合、算出対象が制御軸C2(第2モーター27)であれば、第2エンコーダー65に関する基準タイミングよりも「周期T/n」だけ前にトリガー信号が検出されているため定数kは「1」となる。また算出対象が制御軸C3(昇降モーター30)であれば、第3エンコーダー66の基準タイミングよりも「2×周期T/n」だけ前にトリガー信号が検出されているため定数kは「2」となる。また算出対象が制御軸C4(回転モーター31)であれば、基準タイミングよりも「3×周期T/n」だけ前にトリガー信号が検出されているため定数kは「3」となる。また算出対象が制御軸C1(第1モーター23)であれば、基準タイミングから制御周期Tだけ前にトリガー信号が検出されているため、定数kは「4」となる。
データ処理部63は、算出対象となる制御軸の第1のフラグ及び第2のフラグがともに「0」である場合、すなわち第1のタイミングと基準タイミングとが「制御周期T」、基準タイミングと第2のタイミングとが「制御周期T」だけ離れている場合、下記に示す数式(1)を用いてトリガー信号検出時における該制御軸の関節角度を算出する。
Figure 2012183606
またデータ処理部63は、算出対象となる制御軸の第1のフラグが「0」、第2のフラグが「1」である場合、すなわち第1のタイミングと基準タイミングとが「制御周期T」、基準タイミングと第2のタイミングとが「2×制御周期T」だけ離れている場合、下記に示す数式(2)を用いてトリガー信号検出時における該制御軸の関節角度を算出する。
Figure 2012183606
またデータ処理部63は、算出対象となる制御軸の第1のフラグが「1」、第2のフラグが「0」である場合、すなわち第1のタイミングと基準タイミングとが「2×制御周期T」、基準タイミングと第2のタイミングとが「制御周期T」だけ離れている場合、下記に示す数式(3)を用いてトリガー信号検出時における該制御軸の関節角度を算出する。
Figure 2012183606
またデータ処理部63は、算出対象となる制御軸の第1のフラグ及び第2のフラグがともに「1」である場合、すなわち第1のタイミングと基準タイミングとが「2×制御周期T」、基準タイミングと第2のタイミングとが「2×制御周期T」だけ離れている場合、下記に示す数式(4)を用いてトリガー信号検出時における該制御軸の関節角度を算出する。
Figure 2012183606
すなわち、上記数式(1)〜(4)では、第1のタイミングにおける位置データと第2のタイミングにおける位置データとを用いた線形補間によって、トリガー信号検出時における関節角度を算出している。また、その線形補間に基づく関節角度の変化率を用いて上記通信時間Tdの期間における関節角度の変化量を算出している。そして、上記線形補間によって算出されるトリガー信号検出時の関節角度と上記通信時間Tdの期間における関節角度の変化量とを加算することによって、トリガー信号検出時における実際の関節角度を求めている。
詳述すると、図6に示されるように、関節角度Paは、実際には、第1のタイミングよりも通信時間Tdだけ前の時刻における関節角度である。また関節角度Pbも、実際には、第2のタイミングよりも通信時間Tdだけ前の時刻における関節角度である。そのため、上記線形補間によって示される直線81は、第1のタイミングから第2のタイミングまでの期間よりも通信時間Tdだけ前の期間における関節角度を示している。すなわち、直線81を通信時間Tdの分だけ平行移動させた直線82が、第1のタイミング及び第2の
タイミングによって取得された関節角度と、該関節角度が具現化されている実際のタイミングとの関係を示している。そのため、これら直線82と直線81との差が上記関節角度の変化率にて通信時間Tdの分だけ関節角度が変化した量であることから、直線81で示される関節角度に対して上記関節角度の変化量を加算することによって、トリガー信号検出時における実際の関節角度が算出される。言い換えれば、第1のタイミングにおける位置データと第2のタイミングにおける位置データとを用いた線形補間によって示される直線81において、トリガー信号検出時よりも通信時間Tdだけ後のタイミングにおける関節角度を、トリガー信号検出時における実際の関節角度として算出している。
次に、上述した構成のデータ処理部63において、ロボットの位置を算出する際の処理の手順について図7及び図8を参照して説明する。なお、この処理は、繰り返し実行されている。
図7に示されるように、まず、内蔵されたカウンターのカウント値が示す制御軸に関し、判定部68の判定結果が対応付けられた位置データが、第1のタイミングの位置データとして取得される(ステップS10)。次いで、上記ステップS10において取得した位置データに基づいて、該位置データが正常であるか否かの判断がなされる(ステップS11)。
上記ステップS11において位置データが正常であると判断された場合(ステップS11:YES)、第1のフラグが「0」に設定されるとともに第1の位置が当該位置データに更新されて(ステップS12)、次のステップS14に移行する。一方、ステップS11において位置データが異常であると判断された場合(ステップS11:NO)、第1のフラグが「1」に設定されるとともに第1の位置が更新されることなく(ステップS13)、次のステップS14に移行する。
次のステップS14では、トリガー信号入力部61を介して、今回の検出タイミングでトリガー信号が検出されたか否かが判断される。
上記ステップS14においてトリガー信号が検出されなかった場合(ステップS14:NO)、再びステップS10に移行して、カウンターのカウント値によって次に示される制御軸に関する第1のタイミングの位置データが位置データ入力部62を介して取得される。すなわち、ステップS14においてトリガー信号が検出されるまで、第1の位置の更新及び第1のフラグの設定が制御軸C1〜C4に対して順次実行される。
上記ステップS14においてトリガー信号が検出された場合(ステップS14:YES)、検出フラグ79が「1」に設定されるとともに(ステップS15)、カウンターのカウント値に基づいて、トリガー信号検出時における制御軸を示すデータが制御軸データ80に保存される(ステップS16)。また、トリガー信号検出時に記憶されている各第1の位置及び第1のフラグの状態を示すデータが第1のタイミングデータ77として記憶部70の所定領域に保存される(ステップS17)。
次いで、基準タイミングにおける各制御軸C1〜C4の位置データが順次取得される(ステップS18)。続けて、基準タイミング直後のタイミングにおける各制御軸の位置データが第2のタイミングの位置データとして順次取得される(ステップS19)。
次のステップS20においては、基準タイミング直後のタイミングで取得された位置データに基づいて、該位置データが正常であるか否かの判断がなされる。上記ステップS20において、取得された位置データが正常であると判断された制御軸に関しては、第2のフラグが「0」に設定されたうえで(ステップS21)、取得した位置データに第2の位置が更新される(ステップS24)。
一方、上記ステップS20において、取得された位置データが異常であると判断された制御軸に関しては、第2のフラグが「1」に設定される(ステップS22)。そして、次のタイミングにおける位置データが第2のタイミングの位置データとして取得され(ステップS23)、第2のフラグの状態が「1」に維持されたまま、その取得した位置データに第2の位置が更新される(ステップS24)。
次に、図8に示されるように、制御軸C1〜C4に関して第2の位置の更新が全て終了すると、各第2の位置及び第2のフラグの状態を示すデータが第2のタイミングデータ78として、記憶部70の所定領域に保存される(ステップS25)。
第2のタイミングデータ78が保存されると、各制御軸C1〜C4に関する第1及び第2のフラグの状態が確認される(ステップS26)。そして第1及び第2のフラグに応じて算出式が選択される。すなわち、第1のフラグと第2のフラグとがともに「0」である制御軸に関しては(ステップS27:YES、ステップS28:YES)、上記数式(1)が選択される(ステップS30)。また第1のフラグが「0」であり(ステップS27:YES)、且つ第2のフラグが「1」である(ステップS28:NO)制御軸には、数式(2)が選択される(ステップS31)。また第1のフラグが「1」であり(ステップS27:NO)、且つ第2のフラグが「0」である(ステップS28:YES)制御軸には、数式(3)が選択される(ステップS32)。また第1のフラグが「1」であり(ステップS27:NO)、且つ第2のフラグが「1」である(ステップS28:NO)制御軸には、数式(4)が選択される(ステップS33)。
各制御軸C1〜C4に対して算出式が選択されると、第1の位置、第2の位置、制御軸データ80に基づく定数kが、選択された各数式に代入される(ステップS34)。これにより、各制御軸C1〜C4の関節角度によって示されるロボット12の位置が算出される(ステップS35)。そして、算出されたロボット12の位置をユーザープログラム実行部52に出力すること(ステップS36)によって、検出フラグ79が「0」に設定されたうえで一連の処理を一旦終了させる。
次に、上述した構成のロボットシステム10の作用について説明する。
上述した構成のロボットシステム10では、コンベヤー11によって搬送されるワークWがロボット12によって選択的に把持される。そして、該ワークWを作業台15上における所定位置まで搬送している際に検出センサー35によってワークWが検出される。すなわちロボット12を該ロボット12の目標位置まで移動させている際に、ワークWが検出センサー35によって検出される。ワークWが検出されると、カメラ39によって撮像された画像データに基づいて、ワーク検出時におけるワークWの位置が取得される。また位置算出部60によって、ワーク検出時の前後におけるロボット12の位置に基づき該検出時におけるロボット12の実際の位置が算出される。そして、これらワークWの位置とロボット12の実際の位置とに基づいて、ロボット12の目標位置が補正される。
以上説明したように、本実施の形態に係るロボットシステム10によれば、以下に列挙する効果を得ることができる。
(1)上記実施形態の位置算出部60では、各制御軸に関し、第1のタイミングにおける位置データ、第2のタイミングにおける位置データを用いた線形補間によって取得されるトリガー信号検出時の関節角度に対して、その線形補間に基づく関節角度の変化率を用いて算出される、通信時間Tdにおける関節角度の変化量を加算することにより、トリガー信号検出時における実際の関節角度を求めている。言い換えれば、第1のタイミングにおける位置データ、第2のタイミングにおける位置データを用いた線形補間によって取得される関節角度に関し、トリガー信号検出時よりも通信時間Tdだけ後のタイミングにお
ける関節角度を、トリガー信号検出時における実際の関節角度として算出している。こうした構成によれば、ロボット12が移動中であっても、トリガー信号検出時における各制御軸C1〜C4の関節角度を精度よく検出することができる。つまり、移動中のロボット12の位置を精度よく検出することができる。
(2)位置算出部60のデータ処理部63は、制御軸C1の関節角度に関する位置データ、制御軸C2の関節角度に関する位置データ、制御軸C3の関節角度に関する位置データ、制御軸C4の関節角度に関する位置データがそれぞれ異なるタイミングで取得する。そして位置算出部60は、各制御軸C1〜C4に対してトリガー信号検出時における実際の関節角度を算出する。その結果、制御軸C1の関節角度、制御軸C2の関節角度、制御軸C3の関節角度、制御軸C4の関節角度がそれぞれ算出されることから、トリガー信号の検出時におけるロボットの実際の位置をより高い精度で検出することができる。
(3)位置算出部60は、位置データ入力部62に入力された位置データが正常であるか否かを判断し、その判断に応じて選択された算出式を用いて各制御軸C1〜C4の関節角度を算出している。これにより、例えばノイズなど位置データの伝送に関わる不具合の影響を受けた位置データによって、ロボット12の位置が検出されることを抑えることができる。その結果、位置算出部60で検出されるロボット12の位置に関し、その精度を高めることができる。
(4)ここで、ロボットシステムにおいては、通常、位置データが異常であると判断する機会が連続することは非常に希であって、例えば、位置データ入力部62とエンコーダーとを接続するケーブルやエンコーダーそのものに不具合が生じている場合である。そのため、例えば位置データ入力部62に異常な位置データが同一のエンコーダーから連続して入力された場合などに特別な処理を実行するとなれば、その処理を実行するための新たな構成が別途必要となり、位置算出部60の構成が複雑になってしまう虞がある。この点、上記実施形態では、同一のエンコーダーから出力される位置データであって連続する2つの位置データのうち、少なくとも一方が正常なデータであることを前提に構成されている。その結果、位置算出部60をより簡易な構成とすることができる。
(5)また、線形補間を用いてロボット12の位置を算出しているため、第1のタイミングと第2のタイミングとが時間的に離間しているほど、算出されるロボット12の位置と、実際のロボット12の位置とに大きな誤差が生じやすくなる。この点、上記位置算出部60では、第1のタイミングと第2のタイミングとが時間的に最も離間する場合であっても、第1の位置データは基準タイミングよりも2つ前のタイミングで入力された位置データであり、第2の位置データは基準タイミングよりも2つ後のタイミングで入力された位置データである。その結果、当該第1のタイミングよりも前に取得された位置データと当該第2のタイミングよりも後に取得された位置データとに基づいてロボット12の位置が算出される場合に比べて、算出されるロボット12の位置の精度を高めることができる。
(6)上記実施形態では、通信時間Tdをモーターの制御周期Tの半分の時間とするとともに、各エンコーダーからの位置データをデータ処理部63が取得する周期をモーターの制御周期Tとした。ここで、各エンコーダーの出力周期が通信時間Tdよりも小さい場合、第2のタイミングが基準タイミングから通信時間Tdだけ経過したタイミングよりも前のタイミングになってしまう場合がある。こうした場合、図6に示した直線81を通信時間Tdだけ平行移動させた直線82を第1のタイミングから基準タイミングまでの全期間に対応させることができなくなり、基準タイミングの直前におけるロボット12の位置が算出できなくなる虞がある。この点、上記実施形態では、各エンコーダーからの位置データをデータ処理部63が取得する周期が通信時間Tdよりも大きい制御周期Tであるこ
とから、図6において直線81を通信時間Tdだけ平行移動させた直線82を第1のタイミングから基準タイミングまでの全期間に対応させることが可能である。その結果、トリガー信号検出時におけるロボット12の位置を確実に算出することができる。
(7)ロボットシステム10においては、ワークWを移動させながらロボット12の目標位置を補正することができる。すなわち、目標位置の補正量を取得するためにロボット12を止める必要がない。その結果、ロボットシステム10のスループットが低下することを抑えることができる。
(8)しかも、トリガー信号検出時におけるロボット12の実際の位置に基づいてロボット12の目標位置が補正される。これにより、ワークWを高い精度の下で作業台15の所定位置に配置することができる。
なお、上記実施の形態は、以下のように適宜変更して実施することも可能である。
・上記実施形態のように、位置算出部60は、ロボットを移動させながら該ロボットの位置を検出するロボットシステムに適用することが可能である。
・上述したように、ロボットシステムにおいては、位置データが異常であると判断する機会が連続することは非常に希であるため、上記実施形態の位置算出部60は、同一のエンコーダーから連続して取得される2つの位置データのうち、少なくとも一方が正常な位置データであることを前提として構成されている。ただし、これを変更して、異常である位置データが連続して入力されることを想定して位置算出部60を構成してもよい。
例えば、データ処理部63に、第1のタイミングにおける位置データと第2のタイミングにおける位置データとに関し、位置データの異常が連続する回数をカウントするカウンターを制御軸C1〜C4毎に設ける。そして、データ処理部63は、第1のタイミングにおける位置データとして、正常な位置データが取得されるまで前回取得された正常な位置データを記憶する。また、データ処理部63は、第2のタイミングにおける位置データとして、基準タイミングよりも後のタイミングではじめて正常なデータが取得されたときに第2の位置を更新する。こうした構成の下では、第1のタイミングから基準タイミングまでの期間、及び基準タイミングから第2のタイミングまでの期間を上記各カウンターのカウント値に基づいて求める。そして、それら求めた期間、第1のタイミングにおける正常な位置データ、第2のタイミングにおける正常な位置データに基づいて線形補間し、トリガー信号検出時におけるロボット12の位置を算出するとよい。
また、上記構成であれば、カウンターのカウント値に基づいて、異常な位置データを連続して取得した場合には、算出されるロボット12の位置の精度が低いものとして、一連の処理を終了させることもできる。また、異常な位置データが連続して取得されたことをユーザーに通知することにより、ロボット12のメンテナンスを促すこともできる。
・上記実施形態の位置算出部60において、基準タイミングの直前あるいは直後のタイミングで取得された位置データが異常であると判断された場合、トリガー信号検出時におけるロボット12の位置を算出しない構成であってもよい。
・上記実施形態の位置算出部60は、検出対象が互いに異なるエンコーダーから入力される位置データに基づいて、制御軸C1〜C4の関節角度の各々を算出している。これに限らず、上記実施形態であれば、例えば、制御軸C1の関節角度及び制御軸C2の関節角度のみを算出するようにしてもよい。こうした構成によれば、ロボット12の目標位置のうち、X軸方向及びY軸方向に関わる関節角度が補正されることから、例えば円盤状のワークなど、ワークを配置するときにその向きが重要視されない場合に位置算出部60に対
する負荷を低減することができる。
・上記実施形態のトリガー信号入力部61は、モーターの制御周期Tを制御軸数n(nは1以上の整数であって本実施形態ではn=4)で除算した検出周期Ts(=T/n)で、上記トリガー信号を検出可能に構成されている。これに限らず、トリガー信号入力部61は、上記周期T/nよりも短い周期でトリガー信号を検出可能に構成されていてもよい。こうした構成であれば、検出センサー35によってワークWが検出された時刻と、データ処理部63によってトリガー信号が検出された時刻との差を小さくすることが可能であることから、トリガー信号検出時におけるロボット12の位置をさらに高い精度で算出することができる。また、上記周期T/nよりも長い周期でトリガー信号が検出可能に構成されていてもよい。この構成では、上述した構成よりも、検出センサー35によってワークWが検出された時刻とデータ処理部63によってトリガー信号が検出された時刻との差が大きくなってしまい、算出されるロボット12の位置の精度が低下してしまう。とはいえ、通信時間Tdを考慮した線形補間によってロボット12の位置が算出されることから、エンコーダーからの位置データのみでロボット12の位置が検出される構成よりも、実際の位置に近い位置を得ることができる。
・上記実施形態の位置算出部60は、エンコーダーから入力される位置データが正常であるか否かを判断したうえでトリガー信号検出時における各関節角度を算出している。これに限らず、位置算出部60は、例えば位置データの信頼性が十分に担保されるのであれば、位置データが正常であるか否かを判断することなく、各関節角度を算出してもよい。こうした構成によれば、位置データ入力部62の判定部68を割愛することが可能であることから、位置算出部60の構成をより簡易なものとすることができる。
・上記実施形態の位置算出部60は、トリガー信号が検出されることを契機として、該トリガー信号検出時におけるロボット12の位置を算出した。これに限らず、位置算出部60は、例えば搬送するワークWを把持したことを契機として計時を開始するタイマーを設けることによって、該ワークWを把持してから所定時間経過後におけるロボット12の位置を検出するようにしてもよい。すなわち、ロボットの位置を検出するための指令は、位置算出部60の外部から入力されることに限らず、予め定めた制御プログラムに基づいて、位置算出部60の内部で生成される構成であってもよい。
・上記実施形態では、トリガー信号の入力に基づく基準タイミングとして、該トリガー信号が検出された直後のタイミングを基準タイミングとした。これに限らず、基準タイミングは、トリガー信号の検出によって規定されるタイミングであればよく、例えばトリガー信号の検出時を基準タイミングとしてもよい。
・上記実施形態では、ロボット位置検出装置としての位置算出部60を、4つの制御軸を有する水平多関節型のロボット12を備えたロボットシステム10に具体化した。これに限らず、ロボット位置検出装置は、ワークWを搬送するロボットを備えたロボットシステムに具体化することが可能であり、例えば6つの制御軸を有する多関節ロボットを備えたロボットシステムに具体化してもよい。
T…制御周期、W…ワーク、C1,C2,C3,C4…制御軸、FL…検出ライン、LB…検出光、Pa,Pb…関節角度、Td…通信時間、Ts…検出周期、10…ロボットシステム、11…コンベヤー、12…ロボット、13…カメラ、14…エンコーダー、15…作業台、21…基台、22…基台軸、23…第1モーター、24…第1の水平アーム、25…支持軸、26…第2の水平アーム、27…第2モーター、29…上下回転軸、30…昇降モーター、31…回転モーター、32…作業部、35…検出センサー、36…出
射部、37…受光部、39…カメラ、50…コントローラー、51…ユーザープログラム記憶部、52…ユーザープログラム実行部、53…ワーク位置記憶部、54…ワーク位置更新部、55…指令値生成部、56…作業対象検出部、57…モーター制御部、58…ワーク位置取得部、59…トリガー信号生成部、60…位置算出部、61…トリガー信号入力部、62…位置データ入力部、63…データ処理部、64…第1エンコーダー、65…第2エンコーダー、66…第3エンコーダー、67…第4エンコーダー、68…判定部、70…記憶部、73a,73b,73c,73d…第1の位置、74a,74b,74c,74d…第2の位置、75a,75b,75c,75d…第1のフラグ、76a,76b,76c,76d…第2のフラグ、77…第1のタイミングデータ、78…第2のタイミングデータ、79…検出フラグ、80…制御軸データ、81,82…直線。

Claims (7)

  1. ロボットの位置を示す位置データがエンコーダーから入力される位置データ入力部と、
    前記入力された位置データを取得してロボットの位置を算出する位置算出部とを備え、
    前記位置算出部は、
    前記ロボットの位置を検出するための指令を受けて、
    前記指令よりも前の第1のタイミングで取得した第1の位置データと、
    前記指令よりも後の第2のタイミングで取得した第2の位置データと、
    前記エンコーダーと前記位置データ入力部との通信に要する通信時間と
    を用い、
    前記指令が入力されたタイミングよりも前記通信時間だけ後のタイミングにおける位置を前記第1の位置データと前記第2の位置データとを用いた線形補間によって算出し、該算出結果を前記指令が入力されたときの前記ロボットの位置として出力する
    ことを特徴とするロボット位置検出装置。
  2. 前記位置算出部は、
    1つのエンコーダーから前記位置データ入力部に入力された前記位置データを取得する所定の周期Tよりも短い周期Tsで該指令を検出可能な指令検出部を備える
    請求項1に記載のロボット位置検出装置。
  3. 前記位置算出部は、
    前記所定の周期Tを1以上の整数nでn等分割した周期T/nごとに互いに異なるエンコーダーからの位置データを取得し、前記指令が入力されたときの前記ロボットの位置を前記エンコーダーごとに出力する
    請求項2に記載のロボット位置検出装置。
  4. 前記位置算出部は、
    取得した前記位置データが正常か否かを判断するとともに、
    前記指令を検出したときの直前における前記位置データが正常でないと判断される場合には、当該位置データの直前に取得した位置データを前記第1の位置データとして用いる
    請求項1〜3のいずれか一項に記載のロボット位置検出装置。
  5. 前記位置算出部は、
    前記指令を検出したときの直後における前記位置データが正常でないと判断される場合には、当該位置データの直後に取得した位置データを前記第2の位置データとして用いる
    請求項4に記載のロボット位置検出装置。
  6. ワークを搬送するロボットと、
    前記ロボットの位置を示す位置データを出力するエンコーダーと、
    前記ロボットの位置を検出するための指令を出力する指令出力部と、
    前記位置データと前記指令とが入力され、前記指令が入力されたときの前記ロボットの位置を前記位置データに基づいて検出するロボット位置検出部と
    を備えるロボットシステムであって、
    前記ロボット位置検出部が請求項1〜5のいずれか一項に記載のロボット位置検出装置である
    ことを特徴とするロボットシステム。
  7. 予め定められた撮像範囲を前記指令出力部からの指令が入力されたタイミングで撮像することにより、目標位置へ移動中の前記ロボットが搬送しているワークを含む画像を取得するカメラと、
    前記カメラが取得した画像に基づいて前記ワークの位置を取得するワーク位置取得部と、
    前記ワーク位置取得部が取得した前記ワークの位置と、前記ロボット位置検出部が検出した前記ロボットの位置とに基づいて、前記目標位置を補正する目標位置補正部と
    をさらに備えた
    請求項6に記載のロボットシステム。
JP2011047863A 2011-03-04 2011-03-04 ロボット位置検出装置及びロボットシステム Active JP5803155B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011047863A JP5803155B2 (ja) 2011-03-04 2011-03-04 ロボット位置検出装置及びロボットシステム
US13/371,810 US8768508B2 (en) 2011-03-04 2012-02-13 Robot-position detecting device and robot system
CN201210041445.5A CN102653099B (zh) 2011-03-04 2012-02-21 机械手位置检测装置以及机械手系统
US14/286,526 US9586319B2 (en) 2011-03-04 2014-05-23 Robot-position detecting device and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011047863A JP5803155B2 (ja) 2011-03-04 2011-03-04 ロボット位置検出装置及びロボットシステム

Publications (2)

Publication Number Publication Date
JP2012183606A true JP2012183606A (ja) 2012-09-27
JP5803155B2 JP5803155B2 (ja) 2015-11-04

Family

ID=46728908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011047863A Active JP5803155B2 (ja) 2011-03-04 2011-03-04 ロボット位置検出装置及びロボットシステム

Country Status (3)

Country Link
US (2) US8768508B2 (ja)
JP (1) JP5803155B2 (ja)
CN (1) CN102653099B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018083284A (ja) * 2016-11-11 2018-05-31 セイコーエプソン株式会社 ロボット制御装置、ロボット、ロボットシステム、及び、ロボット制御方法
CN108778637A (zh) * 2016-04-15 2018-11-09 欧姆龙株式会社 致动器控制系统、致动器控制方法、信息处理程序及记录介质
JP2019101724A (ja) * 2017-12-01 2019-06-24 ファナック株式会社 エンコーダ及び制御システム
JP2021509178A (ja) * 2018-02-28 2021-03-18 ディーダブリュー・フリッツ・オートメーション・インコーポレイテッド 測定機器の為のトリガ管理デバイス

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5803155B2 (ja) * 2011-03-04 2015-11-04 セイコーエプソン株式会社 ロボット位置検出装置及びロボットシステム
US8868231B2 (en) * 2011-08-10 2014-10-21 Xerox Corporation Flexible production collating system
CN105329485A (zh) * 2014-08-11 2016-02-17 达和机械(昆山)有限公司 包装物自动抓取输送装置
CN104354157B (zh) * 2014-10-29 2016-03-02 南京航空航天大学 一种轮胎搬运机器人及其控制方法
CN106144524B (zh) * 2016-08-24 2020-03-24 东莞市三瑞自动化科技有限公司 一种高速运动中用ccd视觉定位方法及装置
JP6418359B1 (ja) * 2017-03-24 2018-11-07 三菱電機株式会社 ロボットプログラムの生成装置及び生成方法
US11420323B2 (en) * 2017-05-16 2022-08-23 Abb Schweiz Ag Method and control system for controlling movement sequences of a robot
CN107486858A (zh) * 2017-08-08 2017-12-19 浙江工业大学 基于RoboDK的多机械臂协同离线编程方法
JP6795471B2 (ja) * 2017-08-25 2020-12-02 ファナック株式会社 ロボットシステム
US20190247959A1 (en) * 2018-02-15 2019-08-15 Triton Automation Group, LLC Part Marking System And Method Of Marking Parts
CN108545459B (zh) * 2018-03-23 2024-04-16 广州纬纶信息科技有限公司 一种自动化下料系统、方法及计算机可读存储介质
JP6805199B2 (ja) * 2018-03-26 2020-12-23 株式会社東芝 設備監視システム
EP3804918A4 (en) * 2018-05-25 2022-03-30 Kawasaki Jukogyo Kabushiki Kaisha ROBOT SYSTEM AND ADDITIONAL LEARNING METHOD
EP3814075A4 (en) * 2018-06-26 2022-03-30 Fanuc America Corporation AUGMENTED REALITY VISUALIZATION FOR A ROBOTIC PICKING SYSTEM
CN109164754B (zh) * 2018-08-06 2021-01-15 大族激光科技产业集团股份有限公司 一种伺服驱动器位置命令的平滑方法及其控制装置
CN110893999A (zh) * 2018-09-12 2020-03-20 泰科电子(上海)有限公司 图像采集系统和图像采集方法
JP7103200B2 (ja) * 2018-12-18 2022-07-20 株式会社安川電機 搬送システム及び搬送制御方法
CN109507570A (zh) * 2018-12-21 2019-03-22 东莞华贝电子科技有限公司 集成测试系统
CN111516384A (zh) * 2019-02-01 2020-08-11 湖南华庆科技有限公司 一种光学膜片生产设备及方法
CN110773450A (zh) * 2019-10-30 2020-02-11 珠海格力智能装备有限公司 筛选方法及装置、筛选系统
CN112025706B (zh) * 2020-08-26 2022-01-04 北京市商汤科技开发有限公司 机器人的状态确定方法及装置、机器人及存储介质
CN114302348B (zh) * 2022-01-13 2023-05-05 Oppo广东移动通信有限公司 消息生成方法、装置、电子设备和计算机可读存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63251192A (ja) * 1987-04-08 1988-10-18 株式会社日立製作所 手先視覚付ロボットの制御方法
JPH03104588A (ja) * 1989-09-20 1991-05-01 Mitsubishi Electric Corp ロボットの制御装置
JPH06175715A (ja) * 1992-12-03 1994-06-24 Fanuc Ltd 視覚センサ座標系設定治具及び設定方法
JPH071368A (ja) * 1993-06-17 1995-01-06 Sankyo Seiki Mfg Co Ltd ロボットの位置・姿勢認識方法及び装置
JPH0866881A (ja) * 1994-08-29 1996-03-12 Toyoda Mach Works Ltd ロボット制御装置
JPH08194541A (ja) * 1995-01-20 1996-07-30 Yaskawa Electric Corp 位置制御装置
JPH10301630A (ja) * 1997-04-28 1998-11-13 Okuma Mach Works Ltd 検出位置データ送信出力装置
JPH11175118A (ja) * 1997-10-08 1999-07-02 Denso Corp ロボット制御装置
US20040162639A1 (en) * 2003-02-19 2004-08-19 Fanuc Ltd. Workpiece conveying apparatus
JP2004301376A (ja) * 2003-03-28 2004-10-28 Sumitomo Heavy Ind Ltd 演算装置
JP2008183690A (ja) * 2007-01-31 2008-08-14 Nachi Fujikoshi Corp ロボット制御装置及びロボット制御システム
US20100017032A1 (en) * 2007-02-23 2010-01-21 Abb Technology Ag Device for controlling a robot
US20110218675A1 (en) * 2010-03-05 2011-09-08 Fanuc Corporation Robot system comprising visual sensor

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4210270B2 (ja) * 2005-06-07 2009-01-14 ファナック株式会社 ロボット制御装置及びロボット制御方法
WO2008108788A2 (en) * 2006-05-31 2008-09-12 Trx Systems, Inc. Method and system for locating and monitoring first responders
US20080304053A1 (en) * 2007-06-05 2008-12-11 Snow Gerald F Apparatus and method for coating and inspecting objects
JP4539685B2 (ja) 2007-06-22 2010-09-08 セイコーエプソン株式会社 部品搬送装置及びicハンドラ
WO2009052143A1 (en) * 2007-10-16 2009-04-23 Accu-Sort Systems, Inc. Dimensioning and barcode reading system
DE102007060653A1 (de) * 2007-12-15 2009-06-18 Abb Ag Positionsermittlung eines Objektes
US20090177302A1 (en) * 2008-01-07 2009-07-09 Sony Corporation Sensor information obtaining apparatus, sensor device, information presenting apparatus, mobile information apparatus, sensor control method, sensor processing method, and information presenting method
CN101952087B (zh) 2008-02-06 2013-01-16 松下电器产业株式会社 机器人、机器人的控制装置及控制方法
JP4705128B2 (ja) * 2008-04-15 2011-06-22 オリンパスメディカルシステムズ株式会社 マニピュレータ
DE112009001414T5 (de) * 2008-06-05 2011-04-21 Toshiba Kikai K.K. Bearbeitungssystem, Steuerungseinrichtung, Steuerungsverfahren und Programm
NZ592994A (en) 2008-10-21 2012-12-21 Animal Health Trust Diagnostic test for Streptococcus equi comprising assessing the presence or absence of the S. equi eqbE gene
US8150624B2 (en) * 2008-11-11 2012-04-03 Northrop Grumman Systems Corporation System and method for tracking a moving person
KR101622579B1 (ko) * 2009-09-10 2016-05-20 삼성전자주식회사 휴대용 단말기에서 위치 정보 서비스를 제공하기 위한 장치 및 방법
US20110141269A1 (en) * 2009-12-16 2011-06-16 Stephen Michael Varga Systems And Methods For Monitoring On-Line Webs Using Line Scan Cameras
CN102884539B (zh) * 2010-03-12 2016-08-03 日升研发控股有限责任公司 用于产品识别的系统和方法
US8746564B2 (en) * 2011-01-24 2014-06-10 Datalogic ADC, Inc. Tunnel or portal scanner and method of scanning for automated checkout
JP5803155B2 (ja) * 2011-03-04 2015-11-04 セイコーエプソン株式会社 ロボット位置検出装置及びロボットシステム
KR101683925B1 (ko) * 2011-12-08 2016-12-07 현대자동차주식회사 친환경 차량의 레졸버 비정상 출력 보상 방법

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63251192A (ja) * 1987-04-08 1988-10-18 株式会社日立製作所 手先視覚付ロボットの制御方法
JPH03104588A (ja) * 1989-09-20 1991-05-01 Mitsubishi Electric Corp ロボットの制御装置
JPH06175715A (ja) * 1992-12-03 1994-06-24 Fanuc Ltd 視覚センサ座標系設定治具及び設定方法
US5570190A (en) * 1992-12-03 1996-10-29 Fanuc Ltd. Visual sensor coordinate system setting jig and setting method
JPH071368A (ja) * 1993-06-17 1995-01-06 Sankyo Seiki Mfg Co Ltd ロボットの位置・姿勢認識方法及び装置
JPH0866881A (ja) * 1994-08-29 1996-03-12 Toyoda Mach Works Ltd ロボット制御装置
JPH08194541A (ja) * 1995-01-20 1996-07-30 Yaskawa Electric Corp 位置制御装置
JPH10301630A (ja) * 1997-04-28 1998-11-13 Okuma Mach Works Ltd 検出位置データ送信出力装置
JPH11175118A (ja) * 1997-10-08 1999-07-02 Denso Corp ロボット制御装置
US6091219A (en) * 1997-10-08 2000-07-18 Denso Corporation Structure of robot control system
US20040162639A1 (en) * 2003-02-19 2004-08-19 Fanuc Ltd. Workpiece conveying apparatus
JP2004249391A (ja) * 2003-02-19 2004-09-09 Fanuc Ltd ワーク搬送装置
JP2004301376A (ja) * 2003-03-28 2004-10-28 Sumitomo Heavy Ind Ltd 演算装置
JP2008183690A (ja) * 2007-01-31 2008-08-14 Nachi Fujikoshi Corp ロボット制御装置及びロボット制御システム
US20100017032A1 (en) * 2007-02-23 2010-01-21 Abb Technology Ag Device for controlling a robot
US20110218675A1 (en) * 2010-03-05 2011-09-08 Fanuc Corporation Robot system comprising visual sensor
JP2011201007A (ja) * 2010-03-05 2011-10-13 Fanuc Ltd 視覚センサを備えたロボットシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108778637A (zh) * 2016-04-15 2018-11-09 欧姆龙株式会社 致动器控制系统、致动器控制方法、信息处理程序及记录介质
CN108778637B (zh) * 2016-04-15 2021-07-13 欧姆龙株式会社 致动器控制系统、致动器控制方法及记录介质
US11209790B2 (en) 2016-04-15 2021-12-28 Omron Corporation Actuator control system, actuator control method, information processing program, and storage medium
JP2018083284A (ja) * 2016-11-11 2018-05-31 セイコーエプソン株式会社 ロボット制御装置、ロボット、ロボットシステム、及び、ロボット制御方法
JP7314475B2 (ja) 2016-11-11 2023-07-26 セイコーエプソン株式会社 ロボット制御装置、及び、ロボット制御方法
JP2019101724A (ja) * 2017-12-01 2019-06-24 ファナック株式会社 エンコーダ及び制御システム
US11015959B2 (en) 2017-12-01 2021-05-25 Fanuc Corporation Encoder and control system
JP2021509178A (ja) * 2018-02-28 2021-03-18 ディーダブリュー・フリッツ・オートメーション・インコーポレイテッド 測定機器の為のトリガ管理デバイス
JP7167399B2 (ja) 2018-02-28 2022-11-09 ディーダブリュー・フリッツ・オートメーション・インコーポレイテッド 測定機器の為のトリガ管理デバイス

Also Published As

Publication number Publication date
JP5803155B2 (ja) 2015-11-04
US9586319B2 (en) 2017-03-07
CN102653099B (zh) 2014-12-17
US20140257561A1 (en) 2014-09-11
CN102653099A (zh) 2012-09-05
US8768508B2 (en) 2014-07-01
US20120226382A1 (en) 2012-09-06

Similar Documents

Publication Publication Date Title
JP5803155B2 (ja) ロボット位置検出装置及びロボットシステム
US9457472B2 (en) Position detection device for robot, robotic system, and position detection method for robot
JP4837116B2 (ja) 視覚センサを備えたロボットシステム
US10723020B2 (en) Robotic arm processing method and system based on 3D image
CN108214454B (zh) 机器人系统、机器人控制装置及机器人控制方法
JP5316563B2 (ja) 画像処理装置および画像処理システム
US20170043477A1 (en) Robot system with visual sensor and a plurality of robots
JP6661028B2 (ja) 作業位置補正方法
JP6308248B2 (ja) コンベアトラッキング等に向けられたガイダンス装置
JP2019038075A (ja) ロボットシステム
JP2018121007A5 (ja)
JP2024009106A (ja) ツールの作業位置のずれ量を取得する装置、及び方法
CN109834710B (zh) 机器人和机器人系统
US10864628B2 (en) Robot system, robot controller, and method for producing to-be-worked material
CN109382839B (zh) 机器人系统以及机器人控制装置
US20200189108A1 (en) Work robot and work position correction method
JP2019188508A (ja) 作業ロボットシステムおよび作業ロボット
JP5446887B2 (ja) 制御装置、ロボット、ロボットシステム及びロボットの追従方法
JP6816060B2 (ja) 作業ロボットシステムおよび作業ロボット
US20170305012A1 (en) Conveyance method and conveyance device
JP6923688B2 (ja) ロボットおよびロボットシステム
KR102006829B1 (ko) 로봇의 교정 시스템 및 이를 이용한 교정 방법
CN111052337B (zh) 机器人的诊断方法
CN109328126B (zh) 拍摄装置及拍摄系统
TWI809532B (zh) 機器人控制裝置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150223

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150817

R150 Certificate of patent or registration of utility model

Ref document number: 5803155

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350