JP4235214B2 - ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法 - Google Patents

ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法 Download PDF

Info

Publication number
JP4235214B2
JP4235214B2 JP2006184609A JP2006184609A JP4235214B2 JP 4235214 B2 JP4235214 B2 JP 4235214B2 JP 2006184609 A JP2006184609 A JP 2006184609A JP 2006184609 A JP2006184609 A JP 2006184609A JP 4235214 B2 JP4235214 B2 JP 4235214B2
Authority
JP
Japan
Prior art keywords
workpiece
work
hand
holder
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.)
Expired - Fee Related
Application number
JP2006184609A
Other languages
English (en)
Other versions
JP2008015683A (ja
Inventor
亮 二瓶
哲朗 加藤
浩次 西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC 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 FANUC Corp filed Critical FANUC Corp
Priority to JP2006184609A priority Critical patent/JP4235214B2/ja
Priority to EP07013016A priority patent/EP1876503B1/en
Priority to DE602007013974T priority patent/DE602007013974D1/de
Priority to US11/822,209 priority patent/US20080009972A1/en
Priority to CN2007101282058A priority patent/CN101100060B/zh
Publication of JP2008015683A publication Critical patent/JP2008015683A/ja
Application granted granted Critical
Publication of JP4235214B2 publication Critical patent/JP4235214B2/ja
Expired - Fee Related 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/39105Manipulator cooperates with moving machine, like press brake
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40014Gripping workpiece to place it in another place
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40383Correction, modification program by detection type workpiece
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40503Input design parameters of workpiece into path, trajectory planner
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40543Identification and location, position of components, objects
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50125Configurable fixture, jig
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Description

本発明は、ロボットによるワークの搬送作業プログラムを作成するためのロボットプログラミング装置に関する。本発明はまた、ロボットによるワークの搬送作業プログラムを作成するためのプログラム及び記録媒体に関する。本発明はさらに、ロボットによるワークの搬送作業プログラムを作成するためのロボットプログラミング方法に関する。
産業用ロボット(以下、ロボットと略称する)は、生産システムにおいて、ワークの溶接・加工、部品・機器類の組み立て、加工機械へのワークのローディング/アンローディング、工程間のワークのハンドリングといった種々の作業に使用されることで、生産システムの高度な自動化に寄与している。これら作業に際し、ロボットは、作業内容に対応するツール(すなわちエンドエフェクタ)を手首端に装着して、特定の作業プログラム(すなわちタスクプログラム)に従い動作する。
生産システムでロボットが実行する種々の作業において、作業領域内の予め定めた位置に、ワークを固定保持するワーク保持具(治具と略称する場合もある)が用意され、ハンド(すなわち把持用ツール)を装着したロボットが、ハンドに把持したワークを、ワーク保持具に対し取り付けたり取り外したりする動作を伴いながら、指定位置間で搬送する作業は知られている。例えば、溶接ロボットシステムにおいて、搬送用のロボットが、パレットから複数のワーク(車体パネル等)をワーク保持具まで搬送し、それらワークを組み合わせてワーク保持具に固定した状態で、溶接用のロボットがそれらワークに溶接を実行する構成が公知である。また、部品・機器類の組み立て作業において、ロボットが1つの部品をワーク保持具に取り付けて固定し、その部品に対し、同じロボットが他の部品を組みつけてボルト結合する構成が知られている。また、加工機械へのワークのローディング/アンローディング作業に際して、ハンドリングロボットが、パレットから取り出した素材ワークを加工機械に装備したワーク保持具(例えばチャック)に取り付けたり、加工済ワークを加工機械のワーク保持具から取り外して他のパレットに置いたりする構成が公知である。
上記したロボットによるワーク搬送システムにおいて、ワーク保持具は、作業対象のワークを強固に安定して保持できるように、ワークの形状に合致した形状及び構造の保持部(一般に当接面及びクランプ要素)を備える必要がある。同様に、ロボットに装着したハンドは、作業対象のワークを強固に安定して把持できるように、ワークの形状に合致した形状及び構造の指(又はワークに直接接触する指先)を備える必要がある。作業対象となるワークの種類が多い場合は、指の交換や増減が可能なハンドを使用することもある。
また、ワーク形状に合わせてワーク保持具やハンド(又は指)を設計する際には、ワーク保持具とハンド(又は指)との相互干渉を防止できるようにすることが肝要である。一般にワーク保持具は、ワークを強固に安定保持できる保持部として、ワーク表面に当接される複数の当接面と、それら当接面にワークを押し当てて固定する複数のクランプ要素とを備える。ロボットは、ハンドに把持したワークを、ワーク保持具の複数の当接面に同時に接触させてワーク保持具に取り付けることが要求されるが、その状態でクランプによりワークを固定する間、及びワークを解放してハンドを退避動作させる間、ワーク保持具(特にクランプ)とハンド(又は指)との相互干渉を防止する必要がある。
ワークをワーク保持具に適正に取り付けるためには、ハンドでワークを把持したときの動作によって決まるロボットのワーク把持姿勢を適正化する必要がある。同様に、ワーク保持具に保持したワークをハンドで把持するときのロボットの姿勢は、その後のロボット作業に影響を及ぼす。このように、ワークの形状とワーク保持具及びハンドの形状及び構造(例えば当接面及びクランプの個数や配置、指の本数や配置等)とは、互いに密接な関係があり、また、ワーク保持具に対するハンドの接近/離反動作やワークの取り付け/取り外し動作等のロボット動作に対し、有意な関連性を示す。
ワーク保持具の設計は、ワーク保持具に保持したワークへの加工工程に対しても、有意な関連性を示す。例えば、ワーク保持具に保持したワークをスポット溶接又はアーク溶接する場合、ワークの溶接箇所を当接面に当接させたりクランプで固定したりすることは困難である。加工機械へのワークのローディング/アンローディング作業においても、ワークの加工面をワーク保持具(チャック)で保持することは困難である。
一般に生産システムでは、同一設備で複数種類の生産品を生産することが求められている。その要求に答えるべく、予め想定されていたワークとは異なる形状の新規ワークを生産システムに導入する際には、ロボットによるワーク搬送作業に関しても、新規ワークの形状に合わせて、ワーク保持具やロボットハンド(又は指)を新たに設計する必要がある。このとき、新規ワークへの一連の作業工程を考慮して、ワーク保持具に保持されるワークの位置及び姿勢(ワーク上のクランプ又はチャック位置に関与する)、ハンドがワークを把持するときのハンドの位置及び姿勢(ワーク上の指先位置に関与する)、ワーク保持具に対するロボットのワーク取り付け及び取り外し動作の経路等を、総合的に検討して、ロボットによる新規ワークの搬送作業プログラムを作成することが要求される。このように、従来、新規ワークを生産システムに追加導入する都度、ワーク保持具及びロボットハンド(又は指)の設計、並びにロボットのワーク搬送動作を指令する搬送作業プログラムの作成を、適宜行なっていた。
作業対象のワークの形状やワークに対する一連の作業工程を考慮して、ワーク保持具及びロボットハンド(又は指)を設計し、ロボットのワーク搬送作業プログラムを作成することは、一般に、様々な生産システムの立上げを経験した熟練オペレータによって行なわれる。このような熟練オペレータの技術は、ワークの同異、作業工程の同異に応じて、適宜な処置を施すものであって、普遍化して継承することが困難である。したがって、オペレータの育成に時間を要し、熟練オペレータが慢性的に不足することになって、ロボットによる生産システムの自動化の推進を妨げている。
ワークの形状や作業工程に対応してロボットの作業プログラムを作成する際の、オペレータの負担を軽減する技術として、ワークの形状データに基づき作業プログラムを自動作成するオフラインプログラミングが知られている。例えば特許文献1は、バリ取り工具を装着したロボットにバリ取り作業を行なわせるバリ取りロボットプログラムの生成方法を開示する。このプログラム生成方法では、まず、CADシステムに記憶されている製品の図形データから、バリ取りの対象となる図形データが選択されて、マイクロプロセッサに入力される。マイクロプロセッサは、図形を構成する直線や円弧等の要素データに基づいて、教示点毎の工具姿勢を算出し、それら工具姿勢を記憶してロボットの教示プログラムを自動生成する。
また、特許文献2は、複数の溶接ロボットを用いて複雑形状のワークを溶接する際の、CAD/CAMシステムを利用した溶接プログラムの自動生成システムを開示する。このプログラム生成システムでは、CAD/CAMシステムに登録されているCADデータのワーク形状情報からワークモデルが生成され、同CADデータの溶接線情報から溶接モデルが生成され、溶接ロボットの動作範囲を定める領域分割線でワークモデルを分割することによりセルモデルが生成される。ここで、基本溶接線毎に、ワークと溶接ロボットとの干渉の有無がチェックされ、干渉が有る場合には干渉が生じない範囲に短縮した溶接線が生成される。そして、領域分割線で分割した領域毎に、溶接線の溶接方向、溶接順序、溶接経路が決定される。さらに、CADデータの形状的な特性を利用して、あらかじめデータベース化されている動作パターンと呼ばれる動作シーケンスを選択することで溶接に必要なデータが与えられ、一連の動作プログラムが生成される。
特開平6−59720号公報 特開平10−187223号公報
前述したように、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するためには、作業対象のワークの形状やワークに対する一連の作業工程を考慮して、ワーク保持具及びロボットハンド(又は指)を設計するとともに、ワーク保持具に保持されるワークの位置及び姿勢、ハンドがワークを把持するときのハンドの位置及び姿勢、ワーク保持具に対するロボットのワーク取り付け及び取り外し動作の経路等を、総合的に検討する必要がある。この点で、前述した特許文献1及び2に記載されるプログラミング技術は、バリ取りや溶接のように、ロボットがワークに作業を施す部位を、ワークの形状データから比較的容易に特定できる場合に適用されるものである。したがって、ワーク保持具に保持されるワークの位置及び姿勢やハンドがワークを把持するときのハンドの位置及び姿勢といった、ワークの形状データだけに基づいて特定することが不都合な位置及び姿勢のデータを、ロボットの動作を規定するために必要とするワーク搬送作業プログラムを、特許文献1及び2に記載されるプログラミング技術によって自動作成することは困難である。
本発明の目的は、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するためのロボットプログラミング装置であって、新規ワークに対する最適な搬送作業プログラムを、オペレータの熟練を要することなく、少ない工数で容易かつ確実に作成できるロボットプログラミング装置を提供することにある。
本発明の他の目的は、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するためのプログラム及び記録媒体であって、新規ワークに対する最適な搬送作業プログラムを、オペレータの熟練を要することなく、少ない工数で容易かつ確実に作成するように、コンピュータを機能させることができるプログラム、及び同プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することにある。
本発明のさらに他の目的は、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するためのロボットプログラミング方法であって、コンピュータを用いて、新規ワークに対する最適な搬送作業プログラムを、オペレータの熟練を要することなく、少ない工数で容易かつ確実に作成できるロボットプログラミング方法を提供することにある。
上記目的を達成するために、請求項1に記載の発明は、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するためのロボットプログラミング装置において、ワークの3次元形状データから、ワークの幾何学的特徴を表すワーク特徴情報を取得するワーク特徴取得部と、ワークをワーク保持具に取り付けたときの、ワークとワーク保持具との相対位置情報を取得する保持具位置取得部と、ワークをハンドで把持したときの、ワークとハンドとの相対位置情報を取得するハンド位置取得部と、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を指令する動作パターン指令値を取得する動作パターン取得部と、ワーク特徴取得部が取得したワーク特徴情報と、保持具位置取得部が取得したワークとワーク保持具との相対位置情報と、ハンド位置取得部が取得したワークとハンドとの相対位置情報と、動作パターン取得部が取得した動作パターン指令値とを、一組の既得データとして互いに関連付けて、複数種類のワークに関する複数組の既得データを記憶する記憶部と、新規ワークの3次元形状データから得られた新規ワーク特徴情報を用いて、記憶部に記憶した複数組の既得データの中から、新規ワーク特徴情報との合致度が最も高いワーク特徴情報を含む最適既得データを検索する既得データ検索部と、既得データ検索部が検索した最適既得データを用いて、新規ワークに対する搬送作業プログラムを生成するプログラム生成部と、を具備することを特徴とするロボットプログラミング装置を提供する。
請求項に記載の発明は、請求項1に記載のロボットプログラミング装置において、ハンドの指先の3次元形状データを取得する指先形状取得部をさらに具備し、記憶部は、指先形状取得部が取得したハンドの指先の3次元形状データを、ワーク特徴情報、ワークとワーク保持具との相対位置情報、及びワークとハンドとの相対位置情報と共に、一組の既得データとして互いに関連付けて記憶する、ロボットプログラミング装置を提供する。
請求項に記載の発明は、請求項1又は2に記載のロボットプログラミング装置において、ハンドの図面データを取得するハンド図面取得部をさらに具備し、記憶部は、ハンド図面取得部が取得したハンドの図面データを、ワーク特徴情報、ワークとワーク保持具との相対位置情報、及びワークとハンドとの相対位置情報と共に、一組の既得データとして互いに関連付けて記憶する、ロボットプログラミング装置を提供する。
請求項に記載の発明は、請求項1〜のいずれか1項に記載のロボットプログラミング装置において、ワーク保持具の図面データを取得する保持具図面取得部をさらに具備し、記憶部は、保持具図面取得部が取得したワーク保持具の図面データを、ワーク特徴情報、ワークとワーク保持具との相対位置情報、及びワークとハンドとの相対位置情報と共に、一組の既得データとして互いに関連付けて記憶する、ロボットプログラミング装置を提供する。
請求項に記載の発明は、請求項1〜のいずれか1項に記載のロボットプログラミング装置において、ワークの3次元形状データを取得するワーク形状取得部をさらに具備し、記憶部は、ワーク形状取得部が取得したワークの3次元形状データを、ワーク特徴情報、ワークとワーク保持具との相対位置情報、及びワークとハンドとの相対位置情報と共に、一組の既得データとして互いに関連付けて記憶し、プログラム生成部は、既得データ検索部が検索した最適既得データに含まれるワークの3次元形状データと、新規ワークの3次元形状データとの差に基づいて、最適既得データに含まれるワークとワーク保持具との相対位置情報及びワークとハンドとの相対位置情報を補正し、それら補正した相対位置情報を用いて新規ワークに対する搬送作業プログラムを生成する、ロボットプログラミング装置を提供する。
請求項に記載の発明は、請求項1〜のいずれか1項に記載のロボットプログラミング装置において、ワーク特徴取得部は、ワーク特徴情報として、ワークの形状の変化を時系列的に表すワーク形状遷移情報を取得し、既得データ検索部は、新規ワーク特徴情報として、新規ワークの形状の変化を時系列的に表す新規ワーク形状遷移情報を用いて、最適既得データを検索する、ロボットプログラミング装置を提供する。
請求項に記載の発明は、ワーク搬送作業の途中にワークの加工工程が介在する搬送作業プログラムを作成する、請求項に記載のロボットプログラミング装置であって、ワーク形状遷移情報は、ワークの加工前及び加工後を含む複数の異なる段階における幾何学的特徴を表す、ロボットプログラミング装置を提供する。
請求項に記載の発明は、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するために、コンピュータを、ワークの3次元形状データから、ワークの幾何学的特徴を表すワーク特徴情報を取得するワーク特徴取得部、ワークをワーク保持具に取り付けたときの、ワークとワーク保持具との相対位置情報を取得する保持具位置取得部、ワークをハンドで把持したときの、ワークとハンドとの相対位置情報を取得するハンド位置取得部、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を指令する動作パターン指令値を取得する動作パターン取得部、ワーク特徴取得部が取得したワーク特徴情報と、保持具位置取得部が取得したワークとワーク保持具との相対位置情報と、ハンド位置取得部が取得したワークとハンドとの相対位置情報と、動作パターン取得部が取得した動作パターン指令値とを、一組の既得データとして互いに関連付けて、複数種類のワークに関する複数組の既得データを記憶する記憶部、新規ワークの3次元形状データから得られた新規ワーク特徴情報を用いて、記憶部に記憶した複数組の既得データの中から、新規ワーク特徴情報との合致度が最も高いワーク特徴情報を含む最適既得データを検索する既得データ検索部、及び既得データ検索部が検索した最適既得データを用いて、新規ワークに対する搬送作業プログラムを生成するプログラム生成部、として機能させるためのロボットプログラミング用プログラムを提供する。
請求項に記載の発明は、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するために、コンピュータを、ワークの3次元形状データから、ワークの幾何学的特徴を表すワーク特徴情報を取得するワーク特徴取得部、ワークをワーク保持具に取り付けたときの、ワークとワーク保持具との相対位置情報を取得する保持具位置取得部、ワークをハンドで把持したときの、ワークとハンドとの相対位置情報を取得するハンド位置取得部、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を指令する動作パターン指令値を取得する動作パターン取得部、ワーク特徴取得部が取得したワーク特徴情報と、保持具位置取得部が取得したワークとワーク保持具との相対位置情報と、ハンド位置取得部が取得したワークとハンドとの相対位置情報と、動作パターン取得部が取得した動作パターン指令値とを、一組の既得データとして互いに関連付けて、複数種類のワークに関する複数組の既得データを記憶する記憶部、新規ワークの3次元形状データから得られた新規ワーク特徴情報を用いて、記憶部に記憶した複数組の既得データの中から、新規ワーク特徴情報との合致度が最も高いワーク特徴情報を含む最適既得データを検索する既得データ検索部、及び既得データ検索部が検索した最適既得データを用いて、新規ワークに対する搬送作業プログラムを生成するプログラム生成部、として機能させるためのロボットプログラミング用プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
請求項1に記載の発明は、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを、コンピュータを用いて作成するためのロボットプログラミング方法において、ワークの3次元形状データから、ワークの幾何学的特徴を表すワーク特徴情報を、コンピュータのワーク特徴取得部が取得するステップと、ワークをワーク保持具に取り付けたときの、ワークとワーク保持具との相対位置情報を、コンピュータの保持具位置取得部が取得するステップと、ワークをハンドで把持したときの、ワークとハンドとの相対位置情報を、コンピュータのハンド位置取得部が取得するステップと、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を指令する動作パターン指令値を、コンピュータの動作パターン取得部が取得するステップと、ワーク特徴取得部が取得したワーク特徴情報と、保持具位置取得部が取得したワークとワーク保持具との相対位置情報と、ハンド位置取得部が取得したワークとハンドとの相対位置情報と、動作パターン取得部が取得した動作パターン指令値とを、コンピュータの記憶部が、一組の既得データとして互いに関連付けて、複数種類のワークに関する複数組の既得データを記憶するステップと、新規ワークの3次元形状データから得られた新規ワーク特徴情報を用いて、記憶部に記憶した複数組の既得データの中から、新規ワーク特徴情報との合致度が最も高いワーク特徴情報を含む最適既得データを、コンピュータの既得データ検索部が検索するステップと、既得データ検索部が検索した最適既得データを用いて、新規ワークに対する搬送作業プログラムを、コンピュータのプログラム生成部が生成するステップと、を具備することを特徴とするロボットプログラミング方法を提供する。
請求項1に記載の発明によれば、ロボットによるワークの搬送作業プログラムを作成する際に、従来、熟練オペレータが行なっていた、作業対象のワークの形状やワークに対する一連の作業工程を考慮した上での、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢の、総合的な検討が、記憶部に記憶した過去のワーク搬送作業に関する既得データを利用することで、不要になる。しかも、ワーク保持具に保持されるワークの位置及び姿勢やハンドがワークを把持するときのハンドの位置及び姿勢といった、ワークの形状データだけに基づいて特定することが不都合な(つまりワーク形状に応じて相違する)位置及び姿勢のデータを、ワーク特徴情報をキーワードとして、オペレータの熟練を要することなく、既得データから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラムを、少ない工数で容易かつ確実に作成することが可能になり、その結果、ロボットを用いて高度に自動化された生産システムにおける、臨機の多品種対応が実現される。
また、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢に加えて、ワーク保持具に対するロボットのワーク取り付け動作やワーク取り外し動作を、総合的に検討することが不要になる。しかも、ワーク保持具に対するロボットのワーク取り付け動作やワーク取り外し動作といった、ワーク形状に応じて相違する動作データを、ワーク特徴情報をキーワードとして、オペレータの熟練を要することなく、既得データから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラムを、少ない工数で一層確実に作成することが可能になる。
請求項に記載の発明によれば、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢に加えて、ワークの形状に合致することが要求されるハンドの指先の形状を、総合的に検討することが不要になる。しかも、ハンドの指先の形状といった、ワーク形状に応じて相違するデータを、ワーク特徴情報をキーワードとして、オペレータの熟練を要することなく、既得データから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラムを、少ない工数で一層確実に作成することが可能になる。
請求項に記載の発明によれば、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢に加えて、ワークの形状に合致することが要求されるハンドの形状及び構造を、総合的に検討することが不要になる。しかも、ハンドの形状及び構造といった、ワーク形状に応じて相違するデータを、ワーク特徴情報をキーワードとして、オペレータの熟練を要することなく、既得データから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラムを、少ない工数で一層確実に作成することが可能になる。
請求項に記載の発明によれば、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢に加えて、ワークの形状に合致することが要求されるワーク保持具の形状及び構造を、総合的に検討することが不要になる。しかも、ワーク保持具の形状及び構造といった、ワーク形状に応じて相違するデータを、ワーク特徴情報をキーワードとして、オペレータの熟練を要することなく、既得データから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラムを、少ない工数で一層確実に作成することが可能になる。
請求項に記載の発明によれば、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢を、ワーク形状に高精度に適合するように総合的に検討することが不要になる。特に、既得データ検索部が検索した最適既得データを有するワークに対し、新規ワークが、幾何学的相似形であったり高さや長さのみが異なるものであったりしたときには、過去のワークの3次元形状データと新規ワークの3次元形状データとの差が容易かつ正確に求められるので、オペレータの熟練を要することなく、新規ワークに高精度に適合する搬送作業プログラムを作成できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラムを、少ない工数で一層確実に作成することが可能になる。
請求項に記載の発明によれば、ワーク搬送作業の途中でワークの形状が変化するような工程が介在する搬送作業プログラムを作成する場合に、最適既得データの検索精度を著しく向上させることができる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラムを、少ない工数で一層確実に作成することが可能になる。
請求項に記載の発明によれば、加工による同一ワークの形状変化を正確に表すワーク形状遷移情報をキーワードとして、最適既得データを高精度に検索することができる。
請求項〜1のいずれかに記載の発明によれば、請求項1に記載の発明と同等の作用効果が奏される。
以下、添付図面を参照して、本発明の実施の形態を詳細に説明する。全図面に渡り、対応する構成要素には共通の参照符号を付す。
なお、以下の説明において、「相対位置」、「絶対位置」、「基準位置」等の位置関連の用語は、特に断りの無い限り、位置及び姿勢の双方を総称するものとする。
図面を参照すると、図1は、本発明に係るロボットプログラミング装置10の基本構成を機能ブロック図で示す。ロボットプログラミング装置10は、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するための、下記の特徴的構成を有する。すなわち、ロボットプログラミング装置10は、ワークの3次元形状データから、ワークの幾何学的特徴を表すワーク特徴情報12を取得するワーク特徴取得部14と、ワークをワーク保持具に取り付けたときの、ワークとワーク保持具との相対位置情報16を取得する保持具位置取得部18と、ワークをハンドで把持したときの、ワークとハンドとの相対位置情報20を取得するハンド位置取得部22と、ワーク特徴取得部14が取得したワーク特徴情報12と、保持具位置取得部18が取得したワークとワーク保持具との相対位置情報16と、ハンド位置取得部22が取得したワークとハンドとの相対位置情報20とを、一組の既得データDとして互いに関連付けて、複数種類のワークに関する複数組の既得データDを記憶する記憶部24と、新規ワークの3次元形状データから得られた新規ワーク特徴情報26を用いて、記憶部24に記憶した複数組の既得データDの中から、新規ワーク特徴情報26との合致度が最も高いワーク特徴情報12を含む最適既得データSDを検索する既得データ検索部28と、既得データ検索部28が検索した最適既得データSDを用いて、新規ワークに対する搬送作業プログラム30を生成するプログラム生成部32とを備えて構成される。
上記基本構成を有するロボットプログラミング装置10においては、ワーク保持具に保持されるワークの位置及び姿勢のデータ(ワーク上のクランプ又はチャック位置に関与するデータ)が、ワークをワーク保持具に取り付けたときのワークとワーク保持具との相対位置情報16として、保持具位置取得部18により取得されて、記憶部24に記憶される。また、ワークを把持するロボットのハンドの位置及び姿勢のデータ(ワーク上の指先位置に関与するデータ)が、ワークをハンドで把持したときのワークとハンドとの相対位置情報20として、ハンド位置取得部22により取得されて、記憶部24に記憶される。記憶部24では、1つのワークに対するこれら相対位置情報16、20が、当該ワークの幾何学的特徴を表すワーク特徴情報12と共に、一組の既得データDとして記憶される。したがって、過去に実行されたワーク搬送作業における、ワークとワーク保持具及びワークとハンドとの相対的な位置及び姿勢のデータを、当該ワークのワーク特徴情報12に関連付けて、既得データDとして記憶することができる。
ここで、ワーク特徴情報12は、過去の搬送作業の対象となったワークの図面データ(例えばCADデータ)や画像データ(例えばCCD撮像データ)等の3次元形状データから、種々の特徴抽出手法によって取得することができる。また、ワークとワーク保持具との相対位置情報16及びワークとハンドとの相対位置情報20は、過去のワーク搬送作業を実行したときの搬送作業プログラムから取得することができる。そして、過去の複数回のワーク搬送作業に関して、これらワーク特徴情報12及び相対位置情報16、20を取得することにより、複数組の既得データDが記憶部24に記憶される。なお、「取得」という行為は、例えば個々の取得部14、18、22が適当な記憶媒体から自発的に入手したり、オペレータが必要に応じて個々の取得部14、18、22に入力したりすることによって実現される。ワーク特徴情報12及び相対位置情報16、20の具体的な取得手順については、後に詳述する。
新規ワークを追加導入する際には、当該新規ワークの3次元形状データ(図面データ又は画像データ)から(例えば種々の特徴抽出手法によって)得られた新規ワーク特徴情報26が、既得データ検索部28に(検索部28による自発的な入手又は検索部28へのオペレータの入力により)与えられる。そこで、既得データ検索部28が、新規ワーク特徴情報26に基づき、記憶部24に記憶した複数組の既得データDから、ワーク特徴情報12をキーワードとして、最適既得データSDを検索する。この最適既得データSDには、新規ワークに対する形状特徴の合致度が最も高い(つまり極めて類似した形状を有する)過去のワークに関する相対位置情報16、20が含まれている。したがって、プログラム生成部32が生成した搬送作業プログラム30は、新規ワークに対し、ワークとワーク保持具及びワークとハンドとの相対的な位置及び姿勢の関係が、過去に実行した類似ワークの搬送作業と同一である搬送作業を、ロボットに実行させるものとなる。
このように、ロボットプログラミング装置10によれば、ロボットによるワークの搬送作業プログラムを作成する際に、従来、熟練オペレータが行なっていた、作業対象のワークの形状やワークに対する一連の作業工程を考慮した上での、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢の、総合的な検討が、記憶部24に記憶した過去のワーク搬送作業に関する既得データDを利用することで、不要になる。しかも、ワーク保持具に保持されるワークの位置及び姿勢やハンドがワークを把持するときのハンドの位置及び姿勢といった、ワークの形状データだけに基づいて特定することが不都合な(つまりワーク形状に応じて相違する)位置及び姿勢のデータを、ワーク特徴情報12をキーワードとして、オペレータの熟練を要することなく、既得データDから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラム30を、少ない工数で容易かつ確実に作成することが可能になり、その結果、ロボットを用いて高度に自動化された生産システムにおける、臨機の多品種対応が実現される。
図2は、図1のロボットプログラミング装置10の第1の発展的構成を機能ブロック図で示す。図2のロボットプログラミング装置10は、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を指令する動作パターン指令値34を取得する動作パターン取得部36をさらに備える。この構成では、記憶部24は、動作パターン取得部36が取得した動作パターン指令値34を、ワーク特徴情報12、ワークとワーク保持具との相対位置情報16、及びワークとハンドとの相対位置情報20と共に、一組の既得データDとして互いに関連付けて記憶する。
図2に示すロボットプログラミング装置10においては、ワーク保持具に対するロボットのワーク取り付け動作及びワーク取り外し動作の少なくとも一方を表すデータが、そのような動作をロボットに実際に指令する動作パターン指令値34として、動作パターン取得部36により取得されて、記憶部24に記憶される。記憶部24では、1つのワークに対する動作パターン指令値34が、前述したワーク特徴情報12及び相対位置情報16、20と共に、一組の既得データDとして記憶される。したがって、過去に実行されたワーク搬送作業における、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を表すデータを、当該ワークのワーク特徴情報12に関連付けて、既得データDとして記憶することができる。
ここで、動作パターン指令値34は、過去のワーク搬送作業を実行したときの搬送作業プログラムから取得することができる。そして、過去の複数回のワーク搬送作業に関して、動作パターン指令値34をそれぞれに取得することにより、複数組の既得データDが記憶部24に記憶される。なお、上記構成における「取得」という行為も、例えば動作パターン取得部36が適当な記憶媒体から自発的に入手したり、オペレータが必要に応じて動作パターン取得部36に入力したりすることによって実現される。動作パターン指令値34の具体的な取得手順については、後に詳述する。
新規ワークを追加導入する際に、前述したようにして既得データ検索部28が検索した最適既得データSDには、新規ワークに対する形状特徴の合致度が最も高い(つまり極めて類似した形状を有する)過去のワークに関する動作パターン指令値34が含まれている。したがって、プログラム生成部32が生成した搬送作業プログラム30は、新規ワークに対し、ワークとワーク保持具及びワークとハンドとの相対的な位置及び姿勢の関係に加えて、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作が、過去に実行した類似ワークの搬送作業と同一である搬送作業を、ロボットに実行させるものとなる。
このように、図2に示すロボットプログラミング装置10によれば、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢に加えて、ワーク保持具に対するロボットのワーク取り付け動作やワーク取り外し動作を、総合的に検討することが不要になる。しかも、ワーク保持具に対するロボットのワーク取り付け動作やワーク取り外し動作といった、ワーク形状に応じて相違する動作データを、ワーク特徴情報12をキーワードとして、オペレータの熟練を要することなく、既得データDから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラム30を、少ない工数で一層確実に作成することが可能になる。
なお、ロボットによるワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作は、作業対象のワークの形状やワークに対する一連の作業工程を考慮してロボットのワーク搬送作業プログラムを作成する際に、通常は、ワークとワーク保持具及びワークとハンドとの相対的な位置及び姿勢の関係と合わせて、詳細に検討すべき重要な項目である。しかし、多種多様な生産システムにおいては、ワーク搬送作業に際し、例えばロボットがワーク保持具に対して常に真上から接近し、また真上に離反するといった、極めて単純な動作を遂行するようにプログラミングされる場合がある。そのような場合には、新規ワークの搬送作業プログラムを作成する際に、ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を改めて指定する必要が無いので、動作パターン取得部36を省略することができる。
図3は、図1のロボットプログラミング装置10の第2の発展的構成を機能ブロック図で示す。図3のロボットプログラミング装置10は、ハンドの指先の3次元形状データ38を取得する指先形状取得部40をさらに備える。この構成では、記憶部24は、指先形状取得部40が取得したハンドの指先の3次元形状データ38を、ワーク特徴情報12、ワークとワーク保持具との相対位置情報16、及びワークとハンドとの相対位置情報20と共に、一組の既得データDとして互いに関連付けて記憶する。
図3に示すロボットプログラミング装置10においては、ワークの形状に合致した形状を有することが要求されるハンドの指先のデータが、指先の3次元形状データ38として、指先形状取得部40により取得されて、記憶部24に記憶される。記憶部24では、1つのワークに対する指先の3次元形状データ38が、前述したワーク特徴情報12及び相対位置情報16、20と共に、一組の既得データDとして記憶される。したがって、過去に実行されたワーク搬送作業における、ワーク形状に合致したハンドの指先の形状データを、当該ワークのワーク特徴情報12に関連付けて、既得データDとして記憶することができる。
ここで、ハンドの指先の3次元形状データ38は、指先の図面データ(例えばCADデータ)や画像データ(例えばCCD撮像データ)として、既設のCADシステムやビジョンシステムから、指先形状取得部40が自発的に入手したり、オペレータが必要に応じて指先形状取得部40に入力したりすることによって、取得できる。そして、過去の複数回のワーク搬送作業に関して、ハンドの指先の3次元形状データ38をそれぞれに取得することにより、複数組の既得データDが記憶部24に記憶される。
新規ワークを追加導入する際に、前述したようにして既得データ検索部28が検索した最適既得データSDには、新規ワークに対する形状特徴の合致度が最も高い(つまり極めて類似した形状を有する)過去のワークに関する、ハンドの指先の3次元形状データ38が含まれている。したがって、プログラム生成部32が生成した搬送作業プログラム30は、新規ワークに対し、ワークとワーク保持具及びワークとハンドとの相対的な位置及び姿勢の関係に加えて、ワークに直接接触するハンドの指先の形状が、過去に実行した類似ワークの搬送作業と同一である搬送作業を、ロボットに実行させるものとなる。
このように、図3に示すロボットプログラミング装置10によれば、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢に加えて、ワークの形状に合致することが要求されるハンドの指先の形状を、総合的に検討することが不要になる。しかも、ハンドの指先の形状といった、ワーク形状に応じて相違するデータを、ワーク特徴情報12をキーワードとして、オペレータの熟練を要することなく、既得データDから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラム30を、少ない工数で一層確実に作成することが可能になる。なお、搬送作業プログラム30の実行に際しては、最適既得データSDに含まれているハンドの指先の3次元形状データ38を参照して、対応の指を有するハンドをロボットに装着すればよい。
図4は、図1のロボットプログラミング装置10の第3の発展的構成を機能ブロック図で示す。図4のロボットプログラミング装置10は、ハンドの図面データ42を取得するハンド図面取得部44をさらに備える。この構成では、記憶部24は、ハンド図面取得部44が取得したハンドの該図面データ42を、ワーク特徴情報12、ワークとワーク保持具との相対位置情報16、及びワークとハンドとの相対位置情報20と共に、一組の既得データDとして互いに関連付けて記憶する。
図4に示すロボットプログラミング装置10においては、ワークの形状に合致した形状及び構造(指の本数や配置等)を有することが要求されるハンドのデータが、ハンドの図面データ42として、ハンド図面取得部44により取得されて、記憶部24に記憶される。記憶部24では、1つのワークに対するハンドの図面データ42が、前述したワーク特徴情報12及び相対位置情報16、20と共に、一組の既得データDとして記憶される。したがって、過去に実行されたワーク搬送作業における、ワーク形状に合致したハンドのデータを、当該ワークのワーク特徴情報12に関連付けて、既得データDとして記憶することができる。
ここで、ハンドの図面データ42は、ハンド図面取得部44が適当な記憶媒体から自発的に入手したり、オペレータが必要に応じてハンド図面取得部44に入力したりすることによって、取得することができる。そして、過去の複数回のワーク搬送作業に関して、ハンドの図面データ42をそれぞれに取得することにより、複数組の既得データDが記憶部24に記憶される。
新規ワークを追加導入する際に、前述したようにして既得データ検索部28が検索した最適既得データSDには、新規ワークに対する形状特徴の合致度が最も高い(つまり極めて類似した形状を有する)過去のワークに関する、ハンドの図面データ42が含まれている。したがって、プログラム生成部32が生成した搬送作業プログラム30は、新規ワークに対し、ワークとワーク保持具及びワークとハンドとの相対的な位置及び姿勢の関係に加えて、ワークを把持するハンドの形状及び構造が、過去に実行した類似ワークの搬送作業と同一である搬送作業を、ロボットに実行させるものとなる。
このように、図4に示すロボットプログラミング装置10によれば、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢に加えて、ワークの形状に合致することが要求されるハンドの形状及び構造を、総合的に検討することが不要になる。しかも、ハンドの形状及び構造といった、ワーク形状に応じて相違するデータを、ワーク特徴情報12をキーワードとして、オペレータの熟練を要することなく、既得データDから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラム30を、少ない工数で一層確実に作成することが可能になる。なお、搬送作業プログラム30の実行に際しては、最適既得データSDに含まれているハンドの図面データ42を参照して、対応のハンドをロボットに装着すればよい。
図5は、図1のロボットプログラミング装置10の第4の発展的構成を機能ブロック図で示す。図5のロボットプログラミング装置10は、ワーク保持具の図面データ46を取得する保持具図面取得部48をさらに備える。この構成では、記憶部24は、保持具図面取得部48が取得したワーク保持具の図面データ46を、ワーク特徴情報12、ワークとワーク保持具との相対位置情報16、及びワークとハンドとの相対位置情報20と共に、一組の既得データDとして互いに関連付けて記憶する。
図5に示すロボットプログラミング装置10においては、ワークの形状に合致した形状及び構造(当接面及びクランプの個数や配置等)を有することが要求されるワーク保持具のデータが、ワーク保持具の図面データ46として、保持具図面取得部48により取得されて、記憶部24に記憶される。記憶部24では、1つのワークに対するワーク保持具の図面データ46が、前述したワーク特徴情報12及び相対位置情報16、20と共に、一組の既得データDとして記憶される。したがって、過去に実行されたワーク搬送作業における、ワーク形状に合致したワーク保持具のデータを、当該ワークのワーク特徴情報12に関連付けて、既得データDとして記憶することができる。
ここで、ワーク保持具の図面データ46は、保持具図面取得部48が適当な記憶媒体から自発的に入手したり、オペレータが必要に応じて保持具図面取得部48に入力したりすることによって、取得することができる。そして、過去の複数回のワーク搬送作業に関して、ワーク保持具の図面データ46をそれぞれに取得することにより、複数組の既得データDが記憶部24に記憶される。
新規ワークを追加導入する際に、前述したようにして既得データ検索部28が検索した最適既得データSDには、新規ワークに対する形状特徴の合致度が最も高い(つまり極めて類似した形状を有する)過去のワークに関する、ワーク保持具の図面データ46が含まれている。したがって、プログラム生成部32が生成した搬送作業プログラム30は、新規ワークに対し、ワークとワーク保持具及びワークとハンドとの相対的な位置及び姿勢の関係に加えて、ワークを保持するワーク保持具の形状及び構造が、過去に実行した類似ワークの搬送作業と同一である搬送作業を、ロボットに実行させるものとなる。
このように、図5に示すロボットプログラミング装置10によれば、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢に加えて、ワークの形状に合致することが要求されるワーク保持具の形状及び構造を、総合的に検討することが不要になる。しかも、ワーク保持具の形状及び構造といった、ワーク形状に応じて相違するデータを、ワーク特徴情報12をキーワードとして、オペレータの熟練を要することなく、既得データDから容易に入手できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラム30を、少ない工数で一層確実に作成することが可能になる。なお、搬送作業プログラム30の実行に際しては、最適既得データSDに含まれているワーク保持具の図面データ46を参照して、対応のワーク保持具をロボットの作業領域に設置すればよい。
図6は、図1のロボットプログラミング装置10の第5の発展的構成を機能ブロック図で示す。図6のロボットプログラミング装置10は、ワークの3次元形状データ50を取得するワーク形状取得部52をさらに備える。この構成では、記憶部24は、ワーク形状取得部52が取得したワークの3次元形状データ50を、ワーク特徴情報12、ワークとワーク保持具との相対位置情報16、及びワークとハンドとの相対位置情報20と共に、一組の既得データDとして互いに関連付けて記憶する。そして、プログラム生成部32は、既得データ検索部28が検索した最適既得データSDに含まれるワークの3次元形状データ50と、新規ワークの3次元形状データ54との差に基づいて、最適既得データSDに含まれるワークとワーク保持具との相対位置情報16及びワークとハンドとの相対位置情報20を補正し、それら補正した相対位置情報16、20を用いて新規ワークに対する搬送作業プログラム30を生成する。
図6に示すロボットプログラミング装置10においては、ワークの形状自体のデータが、ワークの3次元形状データ50として、ワーク形状取得部52により取得されて、記憶部24に記憶される。記憶部24では、1つのワークに対するワークの3次元形状データ50が、前述したワーク特徴情報12及び相対位置情報16、20と共に、一組の既得データDとして記憶される。したがって、過去に実行されたワーク搬送作業における、ワークの形状データを、当該ワークのワーク特徴情報12に関連付けて、既得データDとして記憶することができる。
ここで、ワークの3次元形状データ50は、ワークの図面データ(例えばCADデータ)や画像データ(例えばCCD撮像データ)として、既設のCADシステムやビジョンシステムから、ワーク形状取得部52が自発的に入手したり、オペレータが必要に応じてワーク形状取得部52に入力したりすることによって、取得できる。この3次元形状データ50は、ワーク特徴取得部14が取得するワーク特徴情報12の抽出元のデータと同じものであってもよい。そして、過去の複数回のワーク搬送作業に関して、ワークの3次元形状データ50をそれぞれに取得することにより、複数組の既得データDが記憶部24に記憶される。
新規ワークを追加導入する際に、前述したようにして既得データ検索部28が検索した最適既得データSDには、新規ワークに対する形状特徴の合致度が最も高い(つまり極めて類似した形状を有する)過去のワークの3次元形状データ50が含まれている。そこで、プログラム生成部32が、過去のワークの3次元形状データ50と新規ワークの3次元形状データ54との差に基づいて相対位置情報16、20を補正し、それら相対位置情報16、20を用いて生成した搬送作業プログラム30は、過去に実行した類似ワークの搬送作業に比べて、ワークとワーク保持具及びワークとハンドとの相対的な位置及び姿勢の関係が、新規ワークに高精度に適合するように改変された搬送作業を、ロボットに実行させるものとなる。
このように、図6に示すロボットプログラミング装置10によれば、ロボットによるワークの搬送作業プログラムを作成する際に、ワーク保持具に保持されるワークの位置及び姿勢並びにハンドがワークを把持するときのハンドの位置及び姿勢を、ワーク形状に高精度に適合するように総合的に検討することが不要になる。特に、既得データ検索部28が検索した最適既得データSDを有するワークに対し、新規ワークが、幾何学的相似形であったり高さや長さのみが異なるものであったりしたときには、過去のワークの3次元形状データ50と新規ワークの3次元形状データ54との差が容易かつ正確に求められるので、オペレータの熟練を要することなく、新規ワークに高精度に適合する搬送作業プログラム30を作成できる。したがって、ロボットを用いた生産システムにおける新規ワークの追加導入時に、新規ワークに対する最適な搬送作業プログラム30を、少ない工数で一層確実に作成することが可能になる。
次に、図7〜図17を参照して、本発明の好適な実施形態によるロボットプログラミング装置の構成を、ロボットが実行する作業例に関連して説明する。
図7は、本発明の一実施形態によるロボットプログラミング装置60を組み込んだ、ロボットを用いた生産システムの全体概要図である。ロボット(すなわちロボット機構部)62の手首先端には、ハンド64が取り付けられる。パレットP1には、複数のワークW1が置かれ、パレットP2には、ワークW1とは種類の異なる複数のワークW2が置かれる。ロボット62は、走行軸66上に設置され、走行軸66に沿って移動して、パレットP1のワークW1又はパレットP2のワークW2をハンド64に把持し、仮置台68まで搬送してそこに一時的に載置する。仮置台68には、パレットP1から運んだワークW1を所定位置に位置決めして保持するワーク保持具68aと、パレットP2から運んだワークW2を所定位置に位置決めして保持するワーク保持具68bとが設置される。また、仮置台68に隣接して、ワーク保持具(例えばチャック)70aを装備した加工機械70が配置される。ロボット62は、仮置台68のワーク保持具68a、68bと加工機械70のワーク保持具70aとの間で、ワークW1、W2を搬送する(ローディング/アンローディング作業)。
加工機械70が加工中でなければ、ロボット62は、仮置台68に置かれたワークW1又はW2をハンド64に把持して加工機械70に供給する。加工機械70は、ロボット62からの加工開始命令により、ワークの加工を開始する。加工が完了すると、加工機械70はロボット62に、加工完了信号を送信する。加工完了信号を受け取ったロボット62は、加工済みのワークW1又はW2を加工機械70から取り出して、ワークW1はパレットP3に置き、ワークW2はパレットP4に置く。
ロボット62及び走行軸66は、それぞれ通信ケーブル72及び74を介して制御装置76に接続され、ロボット62及び走行軸66の動作が制御装置76により制御される。制御装置76は、ネットワークケーブル78により、ロボットプログラミング装置60に接続される。ロボット62の手首先端には、ハンド64に隣接してカメラ80が装着され、カメラ80はカメラケーブル82を介して画像処理装置84に接続される。画像処理装置84は、ネットワークケーブル86、88によって、制御装置76及びロボットプログラミング装置60にそれぞれ接続される。仮置台68に設置されたワーク保持具68a、68bはそれぞれ、ディジタル信号入出力ケーブル(図示せず)を介して制御装置76に接続される。
図8は、図7の生産システムにおける主として制御系の構成を示すブロック図である。制御装置76は、バス90で相互接続されたCPU92、メモリ94、ネットワークインタフェース96、ディジタル信号入出力回路98、操作盤インタフェース100及びサーボインタフェース102を備える。図9に示すように、メモリ94には、CPU92により実行され、制御装置76の全体を制御する制御プログラム104と、ロボット62を動作させる作業プログラム106及び108とが格納される。作業プログラム106は、ワークW1に関する作業をロボット62がハンド64を用いて行うためのものであり、作業プログラム108は、ワークW2に関する作業をロボット62がハンド64を用いて行うためのものである。作業プログラム106及び108は、いずれも制御プログラム104を用いて解釈され、ロボット62及びハンド64の動作に変換される。これら作業プログラム106及び108は、ロボットプログラミング装置60によって作成される。
ネットワークインタフェース96には、ネットワークケーブル78を介してロボットプログラミング装置60が接続されるとともに、ネットワークケーブル86を介して画像処理装置84が接続される。また、ディジタル信号入出力回路98には、ディジタル信号入出力ケーブル110を介して、仮置台68のワーク保持具68a、68bが個々に接続され、ディジタル信号入出力ケーブル112を介して、加工機械70が接続され、ディジタル信号入出力ケーブル114を介して、ロボット62に装着されたハンド64が接続される。
操作盤インタフェース100には、操作盤ケーブル116を介して、教示操作盤118が接続される。教示操作盤118は、表示器118a及び入力ボタン118bを備え、教示操作盤118をオペレータが操作することにより、制御装置76を介してロボット62を手動モードで動作させることができる。また、サーボインタフェース102には、通信ケーブル72、74を介して、ロボット62の各制御軸及び走行軸66のサーボモータ等のサーボ機構が接続される。
ロボットプログラミング装置60には、ハードディスク装置120が接続される。或いはロボットプログラミング装置60は、ハードディスク装置120を内蔵していても良い。図10に示すように、ハードディスク装置120には、加工対象の複数種類のワークW1、W2のそれぞれに関連して、ロボット62の動作を概括的に表現する作業プログラム定義データ1221、1222と、具体的な位置及び姿勢を表現する作業部位定義データ1241、1242と、ワークW1、W2の図面データ1261、1262とが格納される。
画像処理装置84には、ハードディスク装置128が接続される。或いは画像処理装置84は、ハードディスク装置128を内蔵していても良い。ハードディスク装置128には、作業対象のワークW1、W2を検出するためのそれぞれの基準となるワーク画像データ1301、1302が格納される。ワーク画像データ1301、1302は、ロボット62の手首先端に取り付けたカメラ80を用いてワークW1、W2を撮影することにより得られる。
図11は、上記生産システムで使用される加工機械70のワーク保持具70aの構成の一例を、作業対象のワークWと共に示す。また、図12は、上記生産システムで使用されるハンド64の構成の一例を、ワーク保持具70a及びワークWと共に示す。なお、仮置台68のワーク保持具68a、68bも、図示のワーク保持具70aと同様の構成を有することができる。
ワーク保持具70aは、未加工の素材ワークWを強固に安定保持できる第1保持部132と、加工工程を経た加工済ワークW′を強固に安定保持できる第2保持部134とを備える。第1保持部132は、素材ワークWの表面に当接される当接面を先端に有する複数の支柱136と、それら支柱136の当接面に素材ワークWを押し当てて固定する複数のクランプ要素138とを備える。複数の支柱136の当接面は、図面上で素材ワークWの底面、一斜面及び一側面のそれぞれに当接される。複数のクランプ要素138は、支柱136の当接面に当接されていない素材ワークWの他斜面及び他側面のそれぞれに係合して、複数の支柱136との協働により素材ワークWを強固に安定してクランプする。また、第2保持部134は、加工済ワークW′の表面に当接される当接面を有する基台140を備え、クランプ要素として作用する図示しない複数のボルトにより、加工済ワークW′が基台140に強固に安定して固定される。これら支柱(当接面)136、クランプ要素138、基台(当接面)140は、対象となるワークW、W′の形状に合致する形状及び構造(個数や配置等)を有する。
他方、ハンド64は、ロボット62(図7)の手首端に装着される基部142と、基部142に移動可能かつ着脱可能に設置される2本の指144とを備える。それら指144は、各々の先端に、作業対象となるワークW、W′に直接接触する指先146を有する。指144の形状及び構造(本数や配置等)並びに指先146の形状は、対象となるワークW、W′の形状に合致するものとなっている。
ロボット62(図7)は、ハンド64に把持した素材ワークWを、第1保持部132の複数の支柱(当接面)136に同時に接触させるようにしてワーク保持具70aに取り付け、また、第1保持部132に置かれている素材ワークWを、ハンド64に把持してワーク保持具70aから取り外す。同様に、ロボット62(図7)は、ハンド64に把持した加工済ワークW′を、第2保持部134の基台(当接面)140に一様に接触させるようにしてワーク保持具70aに取り付け、また、第2保持部134に置かれている加工済ワークW′を、ハンド64に把持してワーク保持具70aから取り外す。
上記生産システム(図7)でロボット62が実行するワーク搬送作業において、ワーク保持具70aに保持されるワークW、W′の位置及び姿勢、ハンド64がワークW、W′を把持するときのハンド64の位置及び姿勢、並びにワーク保持具70aに対するロボット62のワーク取り付け動作及びワーク取り外し動作は、前述したように、ワークW、W′の形状やワークW、W′に対する一連の作業工程に対応して最適化される。本発明の実施形態によるロボットプログラミング装置60は、図1〜図6のロボットプログラミング装置10に関連して説明したように、ワークW、W′の形状や作業工程に対応して最適化された搬送作業プログラムを作成する際の、オペレータの負担を著しく軽減するものである。
次に、図13、図14及び図15のフローチャートに従い、上記生産システム(図7)において、ロボット62が制御装置76の制御下で実行するワーク搬送作業の一例を詳細に説明する。なお、以下の作業例は、パレットP1から取り出したワークW1(素材ワークW)を、仮置台68を経て加工機械70に取り付ける作業と、加工機械70から取り出したワークW1(加工済ワークW′)を、仮置台68を経てパレットP3に載せる作業とを、ロボット62が、メモリ94に格納された作業プログラム106に従って交互的に実行するものである。
まず、走行軸66を起動して、パレットP1の正面にロボット62を移動する(ステップS200)。次いで、ロボット62のアームを旋回し、ハンド64(例えば図12のハンド64)をパレットP1の真上に移動する(ステップS201)。そして、ディジタル信号入出力回路98を介して、ハンド64に対し「ハンド開」のディジタル信号を出力し、ハンド64を開く(ステップS202)。
次に、ハンド64を、ワークW1(素材ワークW)への把持動作を行なう把持位置に向けて移動する。このとき、ハンド64を、把持位置の真上の位置に移動した後、その真下の把持位置に向けて低速で移動する(ステップS203)。そして、ディジタル信号入出力回路98を介して、ハンド64に対し「ハンド閉」のディジタル信号を出力し、ハンド64を閉じてワークW1を把持する(ステップS204)。続いて、ハンド64を上方へ移動してワークW1をパレットP1から取り出す。このとき、ハンド64を、把持位置の真上の位置に低速で移動した後、速度を上げてさらに上方にワークW1を持ち上げる(ステップS205)。
次に、ロボット62のアームを右旋回するとともに走行軸66を動作させて、ロボット62を仮置台68の正面に移動し(ステップS206)、次いでハンド64を、ワーク保持具68aの上方位置に移動する(ステップS207)。続いて、ハンド64を、ワーク保持具68aの保持部(例えば図11の第1保持部132)に向けて低速で移動し、ワーク保持具68aにワークW1を取り付ける(ステップS208)。そして、ディジタル信号入出力回路98を介して、ハンド64に対し「ハンド開」のディジタル信号を出力し、ハンド64を開いてワークW1を解放する(ステップS209)。
次に、ハンド64を上方へ移動して、ワーク保持具68aから引き離す(ステップS210)。そこで、ディジタル信号入出力回路98を介して、ワーク保持具68aに対し「クランプ閉」のディジタル信号を出力し、ワーク保持具68aをクランプ閉動させて、ワークW1を所定位置に正確に位置決めした状態でワーク保持具68aに固定保持させる(ステップS211)。
続いて、ロボット62のアームを旋回して、開状態のハンド64を加工機械70の正面に移動する(ステップS212)。次いで、加工機械70のドア開口部を通して、加工機械70の内部にハンド64を挿入する。このとき、加工機械70にハンド64が接触しないように、ロボット62のアームを真直ぐに伸ばして進入させる(ステップS213)。次に、ハンド64を、加工機械70のワーク保持具70a(例えば図11のワーク保持具70a)に固定されたワークW1(加工済ワークW′)への把持動作を行なう把持位置に向けて移動する(ステップS214)。次いで、把持位置でハンド64を閉じて、ワークW1を把持する(ステップS215)。
次に、ディジタル信号入出力回路98を介して、加工機械70に対し「クランプ開」のディジタル信号を出力し、ワーク保持具70aのクランプ(又はチャック)を開動させて、ワークW1(加工済ワークW′)を解放させる(ステップS216)。次いで、ハンド64を把持位置から僅かに移動して、加工機械70のワーク保持具70aから、干渉を回避する動作でワークW1を取り外す(ステップS217)。続いて、加工機械70からドア開口部を通してハンド64を引き出す。このとき、加工機械70にハンド64及びワークW1が接触しないように、ロボット62のアームを真直ぐに伸ばして後退させる(ステップS218)。
次に、ハンド64を、仮置台68のワーク保持具68bの上方位置に移動する(ステップS219)。続いて、ハンド64を、ワーク保持具68bの保持部(例えば図11の第2保持部134)に向けて低速で移動し、ワーク保持具68bにワークW1(加工済ワークW′)を取り付ける(ステップS220)。そして、ハンド64を開いて、ワークW1を解放する(ステップS221)。
次に、ハンド64を上方へ移動して、ワーク保持具68bから引き離す(ステップS222)。そこで、ワーク保持具68bをクランプ閉動させて、ワークW1を所定位置に正確に位置決めした状態でワーク保持具68bに固定保持させる(ステップS223)。続いて、ハンド64を、仮置台68のワーク保持具68aの真上に移動する(ステップS224)。
次に、ハンド64を、ワーク保持具68aに保持されたワークW1(素材ワークW)への把持動作を行なう把持位置に向けて移動し、把持位置でハンド64を閉じて、ワークW1を把持する(ステップS225)。そこで、ワーク保持具68aをクランプ開動させて、ワークW1を解放させる(ステップS226)。続いて、ハンド64を上方へ移動して、ワークW1をワーク保持具68aから取り出す。このとき、ワーク保持具68aに対してハンド64を、干渉を回避するように低速で斜め上方へ移動した後、速度を上げてさらに上方にワークW1を持ち上げる(ステップS227)。
次に、ロボット62のアームを旋回して、ワークW1(素材ワークW)を把持したハンド64を加工機械70の正面に移動する(ステップS228)。次いで、加工機械70のドア開口部から、加工機械70の内部にハンド64を挿入する。このとき、加工機械70にハンド64及びワークW1が接触しないように、ロボット62のアームを真直ぐに伸ばして進入させる(ステップS229)。続いて、ハンド64を、加工機械70のワーク保持具70aの保持部(例えば図11の第1保持部132)の手前で一旦停止させた後、低速動作でワーク保持具70aにワークW1を装着する。その状態で、加工機械70にワーク保持具70aのクランプ(又はチャック)を閉動させて、ワークW1を固定的に把持させる(ステップS230)。
次に、ハンド64を開いてワークW1を解放する(ステップS231)。次いで、ハンド64を、低速の干渉回避動作で、ワーク保持具70aから僅かに離れた位置に移動する(ステップS232)。続いて、加工機械70にハンド64を接触させないように、ロボット62のアームを真直ぐに伸ばして、加工機械70からドア開口部を通してハンド64を引き出す(ステップS233)。そして、ディジタル信号入出力回路98を介して、加工機械70に対し、「ワークW1の加工開始」のディジタル信号を出力する(ステップS234)。
次に、ハンド64を、仮置台68のワーク保持具68bの真上に移動する(ステップS235)。次いで、ハンド64を、ワーク保持具68bに保持されたワークW1(加工済ワークW′)への把持動作を行なう把持位置に向けて移動し、把持位置でハンド64を閉じて、ワークW1を把持する(ステップS236)。そこで、ワーク保持具68bをクランプ開動させて、ワークW1を解放させる(ステップS237)。続いて、ハンド64を上方へ移動して、ワークW1をワーク保持具68bから取り出す。このとき、ワーク保持具68bに対してハンド64を、干渉を回避するように低速で斜め上方へ移動した後、速度を上げてさらに上方にワークW1を持ち上げる(ステップS238)。
次に、ロボット62のアームを右旋回させるとともに、走行軸66を起動して、パレットP3の正面にロボット62を移動させる(ステップS239)。次いで、ワークW1(加工済ワークW′)を把持したハンド64を、パレットP3の真上に移動する(ステップS240)。続いて、ハンド64を、パレットP3上のワークW1を載置する置き位置に移動した後、その真下の置き位置に向けて低速で移動して、ワークW1をパレットP3に載せる(ステップS241)。
次に、ハンド64を開いて、ワークW1を解放する(ステップS242)。次いで、ハンド64を、低速で置き位置の真上に移動した後、速度を上げてさらに上方に移動する(ステップS243)。最後に、ロボット62のアームをロボット正面に向けて旋回するとともに、走行軸66を動作させて、ロボット62を初期の待機位置に移動する(ステップS244)。以上で、ワークW1(素材ワークW及び加工済ワークW′)に対する作業プログラム106が終了する。
上記したワーク搬送作業を統御する作業プログラム106(108)を作成するための、ロボットプログラミング装置60で実行される本発明の一実施形態によるロボットプログラミング方法を、以下に具体的に説明する。なお、ロボットプログラミング装置60は、図1〜図6に示すロボットプログラミング装置10におけるワーク特徴取得部14、保持具位置取得部18、ハンド位置取得部22、既得データ検索部28、プログラム生成部32、動作パターン取得部36、指先形状取得部40、ハンド図面取得部44、保持具図面取得部48及びワーク形状取得部52の機能を有するCPU(図示せず)を備えている。また、ハードディスク装置120が、図1〜図6に示すロボットプログラミング装置10における記憶部24を構成する。
ロボットプログラミング装置60は、作業プログラム定義データ1221及び作業部位定義データ1241(いずれもハードディスク装置120に格納)を使用して、ワークW1のための作業プログラム106を作成し、作業プログラム定義データ1222及び作業部位定義データ1242(いずれもハードディスク装置120に格納)を使用して、ワークW2のための作業プログラム108を作成する。1つの具体例として、ハードディスク装置120に格納される作業プログラム定義データ1221において、前述したステップS212〜S218の動作は、以下のように記述される。
1:カクジク イチ[1] 100% ナメラカ100
2:タイキ %Machine.DoorOpen%=オン
3:チョクセン %Machine.EnterPos% 1000mm/sec イチギメ
4:チョクセン %Work.ApproachPos% 500mm/sec イチギメ
5:チョクセン %Work.GripPos% 200mm/sec イチギメ
6:%Robot.Hand.Grip%=オン
7:タイキ %Robot.Hand.GripDone%=オン
8:%Machine.Fixture.Release%=オン
9:タイキ %Machine.Fixture.ReleaseDone%=オン
10:チョクセン %Work.RetrievePos% 200mm/sec イチギメ
11:チョクセン %Machine.ExitPos% 1000mm/sec イチギメ
12:イチ[1]{X=1688.40mm,Y=30.30mm,Z=1331.45mm,W=64.62deg,P=−85.60deg,R=116.35deg};
各行(冒頭の数字は行番号)において、一対の%で挟まれた部分は変数であり、作業プログラム定義データにおいては未定義のデータである。これら変数のうち、「Work」を含むものはワークW1に関連した変数であり、「Robot.Hand」を含むものはロボット62のハンド64に関連した変数であり、「Machine」及び「Machine.Fixture」を含むものはそれぞれ加工機械70及びワーク保持具70aに関連した変数である。そして、ワークW1及び加工機械70に関連する位置及び姿勢を示す変数が、「ApproachPos」、「GripPos」、「RetrievePos」、「EnterPos」、「ExitPos」で記述されている。また、ハンド64及び加工機械70(及びワーク保持具70a)に対する制御信号を示す変数が、「Grip」、「GripDone」、「DoorOpen」、「Release」、「ReleaseDone」で記述されている。
各行の記述の意味は、下記の通りである。
第1行は、ステップS212の定義データである。加工機械70のドア正面の位置であるイチ[1]に、ロボット62を移動する動作を定義する。
第2行及び第3行は、ステップS213の定義データである。ディジタル信号入出力ケーブル112を通してディジタル信号入出力回路98に送信される加工機械70のドア開閉状態を示すディジタル入力信号%Machine.DoorOpen%を参照し、この信号がドア開放を表すオン状態になるまで、ロボット62をドア正面の位置で待機させる。次いで、加工機械70の内部に侵入する位置%Machine.EnterPos%に、ロボットを移動する。
第4行及び第5行は、ステップS214の定義データである。ロボット62のハンド64を、ワークW1(加工済ワークW′)の把持位置の少し手前の位置%Work.ApproachPos%に移動した後、把持位置%Work.GripPos%に移動する。
第6行及び第7行は、ステップS215の定義データである。ロボット62のハンド64を閉じる指令を表すディジタル出力信号%Robot.Hand.Grip%をオンし、このオン信号を、ディジタル信号入出力回路98及びディジタル信号入出力ケーブル114を介してロボット62に送り、ハンド64を閉じる。さらに、ハンド64に装備した近接センサや接触スイッチにより、ハンド64が正しく閉じたか否かを検出し、センサやスイッチの状態を表すディジタル入力信号%Robot.Hand.GripDone%を参照することで、ハンド64が正常に閉じてワークW1を把持したことを確認する。
第8行及び第9行は、ステップS216の定義データである。加工機械70のワーク保持具70aのクランプ(又はチャック)を開動させる指令を表すディジタル出力信号%Machine.Fixture.Release%をオンし、このオン信号を加工機械70に送ってワーク保持具70aを開動させる。さらに、ワーク保持具70aに装備した近接センサや接触スイッチにより、ワーク保持具70aが正しく開いたか否かを検出し、センサやスイッチの状態を表すディジタル入力信号%Machine.Fixture.ReleaseDone%を参照することで、ワーク保持具70aが正常に開いてワークW1を解放したことを確認する。
第10行は、ステップS217の定義データである。ワークW1の把持位置から少し離れた位置%Work.RetrievePos%にハンド64を移動することで、ワークW1をワーク保持具70aから取り外す。
第11行は、ステップS218の定義データである。ハンド64を、加工機械70の内部から引き出すための位置%Machine.ExitPos%に移動する。
第12行は、第1行のイチ[1]の具体的データを記述する。このデータは、ワークの種類(形状)が変更されても常に同一の値に設定されるから、予め作業プログラム定義データ1221に記述される。
作業部位定義データ1241は、上記した作業プログラム定義データ1221の個々の変数に代入されるべき位置及び姿勢のデータ並びに制御信号を記述する。ここで、位置及び姿勢のデータは、ロボット62に教示される空間上の点を示すものであって、生産システム内の基準となる1つの直交座標系(例えばワールド座標系)において位置を表すX、Y、Z値及び姿勢を表すW(ヨー)、P(ピッチ)、R(ロール)値を含む。作業部位定義データ1241の一例を、下記に示す。
%Work.ApproachPos%{X=1241.51mm,Y=−17.91mm,Z=900.07mm,W=15.24deg,P=−90.40deg,R=130.08deg};
%Work.GripPos%{X=1341.51mm,Y=−17.91mm,Z=890.07mm,W=15.24deg,P=−90.40deg,R=130.08deg};
%Work.RetrievePos%{X=1241.51mm,Y=−17.91mm,Z=990.07mm,W=15.24deg,P=−90.40deg,R=130.08deg};
%Machine.EnterPos%{X=1679.51mm,Y=−17.91mm,Z=1200.05mm,W=29.18deg,P=−88.69deg,R=150.21deg};
%Machine.ExitPos%{X=1679.51mm,Y=−17.91mm,Z=1200.05mm,W=29.18deg,P=−88.69deg,R=150.21deg};
%Machine.DoorOpen%=SDI[1];
%Machine.Fixture.Release%=SDO[1];
%Machine.Fixture.ReleaseDone%=SDI[2];
%Robot.Hand.Grip%=RDO[1];
%Robot.Hand.GripDone%=RDI[1];
ロボットプログラミング装置60は、上記した作業プログラム定義データ1221の個々の変数を、作業部位定義データ1241によって決定することにより、ワークW1のための下記の作業プログラム106を作成する。
1:カクジク イチ[1] 100% ナメラカ100
2:タイキ SDI[1]=オン
3:チョクセン イチ[2] 1000mm/sec イチギメ
4:チョクセン イチ[3] 500mm/sec イチギメ
5:チョクセン イチ[4] 200mm/sec イチギメ
6:RDO[1]=オン
7:タイキ RDI[1]=オン
8:SDO[1]=オン
9:タイキ SDI[2]=オン
10:チョクセン イチ[5] 200mm/sec イチギメ
11:チョクセン イチ[6] 1000mm/sec イチギメ
12:イチ[1]{X=1688.40mm,Y=30.30mm,Z=1331.45mm,W=64.62deg,P=−85.60deg,R=116.35deg};
13:イチ[2]{X=1679.51mm,Y=−17.91mm,Z=1200.05mm,W=29.18deg,P=−88.69deg,R=150.21deg};
14:イチ[3]{X=1241.51mm,Y=−17.91mm,Z=900.07mm,W=15.24deg,P=−90.40deg,R=130.08deg};
15:イチ[4]{X=1341.51mm,Y=−17.91mm,Z=890.07mm,W=15.24deg,P=−90.40deg,R=130.08deg};
16:イチ[5]{X=1241.51mm,Y=−17.91mm,Z=990.07mm,W=15.24deg,P=−90.40deg,R=130.08deg};
17:イチ[6]{X=1679.51mm,Y=−17.91mm,Z=1200.05mm,W=29.18deg,P=−88.69deg,R=150.21deg};
ロボットプログラミング装置60において、作業部位定義データ1241は、以下のようにして用意される。
上記した作業部位定義データ1241で定義される%Machine.DoorOpen%、%Machine.Fixture.Release%、%Machine.Fixture.ReleaseDone%、%Robot.Hand.Grip%、%Robot.Hand.GripDone%(いずれも制御信号の状態を記述する)は、加工機械70のための信号ケーブル112及びロボット62のハンド64のための信号ケーブル114と、制御装置76のディジタル信号入出力回路98との接続形態に対応して、信号番号が決まるものであり、したがって、ロボット62を含む生産システムの構築時に設定される。また、作業部位定義データ1241で定義される%Machine.EnterPos%及び%Machine.ExitPos%(加工機械70に対しワークW1を出し入れする位置及び姿勢を記述する)も、生産システムの構築時に、ロボット62と加工機械70との相互の位置関係が確定することにより設定される。
したがって、作業部位定義データ1241においては、%Work.ApproachPos%、%Work.GripPos%、%Work.RetrievePos%の3つの変数に代入するデータより、ハンド64がワークW1を搬送する動作が規定される。これら3つの変数は、ハンド64がワークW1を把持する把持位置を基準として、この基準位置(把持位置)に対する相対位置のデータで、それぞれ表すことができる。そして、基準となる把持位置(すなわち座標系における絶対位置)を表す変数が、%Work.GripPos%であるから、これら3つの変数は、下記のように表すことができる。
%Work.ApproachPos%=%Work.GripPos%+%Work.GripPath.Node1%
%Work.GripPos%=%Work.GripPos%+%Work.GripPath.Node2%
%Work.RetrievePos%=%Work.GripPos%+%Work.GripPath.Node3%
ここで、%Work.GripPath.Node1%、%Work.GripPath.Node2%、%Work.GripPath.Node3%は、ロボット62がハンド64でワークW1を搬送するための動作を、把持位置(絶対位置)を基準とする相対的な位置及び姿勢のデータで表現するための変数であって、本出願で「動作パターン」と称する(%Work.GripPath%と総称する)。上記変数%Work.GripPos%、%Work.GripPath.Node1%、%Work.GripPath.Node2%、%Work.GripPath.Node3%に代入される位置及び姿勢のデータの一例を、下記に示す。
%Work.GripPos%{X=1341.51mm,Y=−17.91mm,Z=890.07mm,W=15.24deg,P=−90.40deg,R=130.08deg};
%Work.GripPath.Node1%{X=−100.00mm,Y=0.00mm,Z=10.00mm,W=0.00deg,P=0.00deg,R=0.00deg};
%Work.GripPath.Node2%{X=0.00mm,Y=0.00mm,Z=0.00mm,W=0.00deg,P=0.00deg,R=0.00deg};
%Work.GripPath.Node3%{X=−100.00mm,Y=0.00mm,Z=100.00mm,W=0.00deg,P=0.00deg,R=0.00deg};
上記データを記述する動作パターン%Work.GripPath%は、位置%Work.ApproachPos%から把持位置%Work.GripPos%に向かって、X方向に100mm、Z方向に−10mm移動し、把持位置%Work.GripPos%でワークW1を把持した後に、位置%Work.RetrievePos%に向かって、X方向に−100mm、Z方向に100mm移動するという、ロボット62の動作を規定している。
このように、ロボット62がハンド64でワークW1を把持して搬送する動作は、ロボット62の動作パターン%Work.GripPath%と、ハンド64がワークW1を把持する把持位置(絶対位置)%Work.GripPos%とによって、定義できる。さらに、把持位置%Work.GripPos%は、ワークW1が加工機械70のワーク保持具70aに保持されているときの保持位置を基準として、この基準位置(保持位置)に対する相対位置のデータで、下記のように表すことができる。
%Work.GripPos%=%Work.BasePos%+%Work.GripOffset%
ここで、%Work.BasePos%は、ワーク保持具70a上でのワークW1の保持位置(座標系における絶対位置)を位置及び姿勢のデータで表現するための変数であり、%Work.GripOffset%は、ハンド64がワークW1を把持する把持位置を、保持位置を基準とする相対的な位置及び姿勢のデータで表現するための変数である。これら変数に代入される値の一例を、下記に示す。
%Work.BasePos%{X=1241.51mm,Y=−117.91mm,Z=390.07mm,W=0.00deg,P=0.00deg,R=0.00deg}
%Work.GripOffset%{X=100.00mm,Y=100.00mm,Z=500.00mm,W=15.24deg,P=−90.40deg,R=130.08deg};
さらに、ワークW1の保持位置%Work.BasePos%は、加工機械70に装備されるワーク保持具70aの設置位置を基準として、この基準位置(設置位置)に対する相対位置のデータで、下記のように表すことができる。
%Work.BasePos%=%Machine.Fixture.BasePos%+%Work.FixOffset%
ここで、%Machine.Fixture.BasePos%は、加工機械70内でのワーク保持具70aの設置位置(座標系における絶対位置)を位置及び姿勢のデータで表現するための変数であり、%Work.FixOffset%は、ワーク保持具70a上でのワークW1の保持位置を、設置位置を基準とする相対的な位置及び姿勢のデータで表現するための変数である。これら変数のうち、%Machine.Fixture.BasePos%は、加工機械70の内部にワーク保持具70aを搭載することにより決まるものであり、生産システムの構築時に設定される。これら変数に代入される値の一例を、下記に示す。
%Machine.Fixture.BasePos%{X=1241.00mm,Y=−117.00mm,Z=240.00mm,W=0.00deg,P=0.00deg,R=0.00deg}
%Work.FixOffset%{X=0.51mm,Y=−0.91mm,Z=150.07mm,W=0.00deg,P=0.00deg,R=0.00deg};
このように、ロボット62がハンド64でワークW1を把持して搬送する動作は、ロボット62の動作パターン%Work.GripPath%と、ハンド64がワークW1を把持する把持位置(相対位置)%Work.GripOffset%と、ワーク保持具70aがワークW1を保持する保持位置(相対位置)%Work.FixOffset%と、生産システムの構築時にロボット62、加工機械70及びワーク保持具70aの相互の位置関係によって設定される他の既知データ(絶対位置及び制御信号)とによって確定される。したがって、新規ワークの導入時に新規ワークに対するロボットの搬送動作を決定するためには、%Work.GripPath%、%Work.GripOffset%、%Work.FixOffset%の3つの変数を特定すればよいことになる。
ロボットプログラミング装置60において、ロボット62の動作パターン%Work.GripPath%と、ハンド64とワークW1との相対位置%Work.GripOffset%と、ワーク保持具70aとワークW1との相対位置%Work.FixOffset%とは、例えば下記のようにして取得される。
ロボットプログラミング装置60は、例えば3D−CADのような、3次元形状データの作成機能を有するものとする。この場合、ワークW1、W2、ロボット62のハンド64、ハンド64の指144(図12)、仮置台68のワーク保持具68a、68b、加工機械70のワーク保持具70a等の、3次元形状(図面)データを、ロボットプログラミング装置60が作成して、ハードディスク装置120に格納しておくことができる。さらにロボットプログラミング装置60は、複数の3次元形状データを組み合わせて1つの3次元仮想空間に適当に配置する機能により、ハードディスク装置120内にワーク図面データ1261、1262を作成することができる。このワーク図面データ1261、1262は、例えば図12に示すものであって、ハンド64の指先146の形状データ、ハンド64の設計図面データ、加工機械70のワーク保持具70aの設計図面データ、ワークW1、W2の形状データを含むことができる。
オペレータは、例えば図12の仮想空間において、ワークW1を、ワーク保持具70aに固定的に取り付けられる位置に配置し、ハンド64の指144を、ハンド64に装着される位置に配置し、ハンド64及び指144を、ワークW1を把持する位置に配置する。このとき、ハンド64及び指144は、ワークW1を把持する前の位置、把持するときの位置、把持した後のワーク保持具70aから離反した位置等の、幾つかの異なる位置(すなわち教示点)に配置する。これにより、ワークW1を把持して搬送するロボット62の動作パターンが指定される。なお、図12に示すワーク図面データ1261では、未加工の素材ワークWと、第1工程の加工が完了して第2工程の加工が行われる前の加工済(半加工)ワークW′との、2つの異なる加工段階のワークW、W′の形状データが入力され、表示されている。
オペレータは、例えば図12に示す仮想空間に、ハンド64、指144、指先146、ワーク保持具70a及びワークW1の3次元形状データを、実際の生産システムに対応させて配置することで、ワークW1とワーク保持具70aとの相対的な位置及び姿勢を入力する。また、同仮想空間内で、ハンド64の指144にワークW1を把持させることで、ワークW1と指144及び指144とハンド64(基部142)との相対的な位置及び姿勢を入力する。さらに、同仮想空間内で、ハンド64の指144をワークW1に接近させ、指144にワークW1を把持させ、ハンド64にワークW1を持ち上げさせるように動作させることで、各教示点でのワークW1とハンド64との相対的な位置及び姿勢のデータを用いて、ロボット62の動作パターンを入力する。
図12の構成例では、ハンド64の指144を交換又は増減することができる。この場合、ワークW1とハンド64との相対的な位置及び姿勢のデータは、ワークW1と指144との相対的な位置及び姿勢のデータ、並びに指144とハンド64(基部142)との相対的な位置及び姿勢のデータによって表される。このようにして用意されたワーク図面データ1261は、ワークW1とワーク保持具70aとの相対的な位置及び姿勢のデータ、ワークW1とハンド64との相対的な位置及び姿勢のデータ、ロボット62の動作パターン、ハンド64の3次元形状(図面)データ、ハンド64の指先146の3次元形状(図面)データ、並びにワーク保持具70aの3次元形状(図面)データを含んでいる。ロボットプログラミング装置60は、ハードディスク装置120内のワーク図面データ1261から、これらデータを個別に取得することができる。
ロボットプログラミング装置60は、例えば作業プログラム106を作成する際に、まずワーク図面データ1261から、ワークW1とワーク保持具70aとの相対的な位置及び姿勢のデータを取得して、前述した変数%Work.FixOffset%の値とし、また、ワークW1とハンド64との相対的な位置及び姿勢のデータを取得して、前述した変数%Work.GripOffset%の値とし、また、ワークW1とハンド64との相対的な位置及び姿勢のデータを複数個組み合わせて表されるロボット62の動作パターンのデータを取得して、前述した変数%Work.GripPath%の値とする。これにより、作業部位定義データ1241における前述した未知の変数%Work.ApproachPos%、%Work.GripPos%、%Work.RetrievePos%が決定する。さらにロボットプログラミング装置60は、作業部位定義データ1241における前述した既知の変数の値を、作業プログラム定義データ1221に代入する。このようにして、作業プログラム106が作成される。
ロボットプログラミング装置60は、図1〜図6のロボットプログラミング装置10に関連して説明したように、既存のワークW1、W2の3次元形状データから取得したワーク特徴情報と、作業プログラム106、108の作成時に使用した作業プログラム定義データ1221、1222、作業部位定義データ1241、1242、及びワーク図面データ1261、1262とを互いに関連付けて、複数組の既得データとしてハードディスク装置120に記憶する。そして、生産システムに新規ワークが導入されるときに、新規ワークの3次元形状データから得た新規ワーク特徴情報を用いて、新規ワークに対する形状特徴の合致度が最も高いワークW1、W2に関する最適既得データを、複数組の既得データからワーク特徴情報12をキーワードとして検索し、この最適既得データを用いて、新規ワークのための搬送作業プログラムを作成する。
ワークW1、W2の3次元形状データからワーク特徴情報を取得する方法として、下記のような画像処理による特徴抽出方法を採用できる。なお、ワークW1、W2の3次元形状データは、3D−CAD図面等から得られたワーク図面データ1261、1262に限らず、カメラ80で撮影したデータを画像処理装置84が処理することにより得られたワーク画像データ1301、1302であってもよい。
この特徴抽出方法では、まず、ワーク図面データ1261、1262又はワーク画像データ1301、1302から、ワークW1、W2の輪郭線を抽出する。ワーク図面データ1261、1262では、ワークW1、W2の輪郭線が明確であるから、輪郭線を容易に抽出できる。他方、ワーク画像データ1301、1302を用いる場合には、画像内で急激な輝度変化が生じている部位を、輪郭線として抽出する。次に、抽出した輪郭線の情報から、ワークW1、W2の形状を特定する手掛かりとなる頂点及び線分を抽出する。次いで、抽出した頂点及び線分の情報から、それら頂点及び線分によって構成できる面を抽出し、さらに、抽出した面によって構成できる基本立体(直方体、円柱、円錐、球体等)を抽出する。そして、抽出した基本立体の集合体として、ワークW1、W2のソリッドモデルを表現する。
基本立体の集合体により表現されたワークW1、W2のソリッドモデルは、例えばCSG(Constructive Solid Geometry)モデルと称される。図16に例示するワークW1のCSGモデルは、ワーク図面データ1261又はワーク画像データ1301から2つの八角柱及び1つの円柱を検出して、それら基本立体を和及び差の演算により組み合わせたものである。八角柱は、底面を形成する八角形の中心座標、この中心座標から個々の角部までの距離、柱の延びる方向、及び柱の高さをパラメータとして、詳細に表現できる。また円柱は、底面を形成する円の中心座標、半径、柱の延びる方向、及び柱の高さをパラメータとして、詳細に表現できる。したがってこれらのパラメータを、ワーク図面データ1261又はワーク画像データ1301から抽出すればよい。
このようなCSGモデルを用いる特徴抽出方法によれば、元のワーク図面データ1261、1262又はワーク画像データ1301、1302におけるワークW1、W2の描画方向に関わらず、ワークW1、W2を構成する基本立体(すなわちワーク特徴情報)をキーワードとして、形状特徴の合致度を判断できる。また、幾何学的相似形のワーク同士であっても、形状特徴の合致度を判断できる。
ここで、本発明に係るロボットプログラミング装置10(60)は、ワーク特徴取得部14が、ワーク特徴情報12として、ワークの形状の変化を時系列的に表すワーク形状遷移情報12T(図1)を取得し、既得データ検索28が、新規ワーク特徴情報26として、新規ワークの形状の変化を時系列的に表す新規ワーク形状遷移情報26T(図1)を用いて、最適既得データSDを検索するように構成できる。この構成によれば、ワーク搬送作業の途中でワークW1、W2の形状が変化するような工程が介在する搬送作業プログラム30、106、108を作成する場合に、最適既得データSDの検索精度を著しく向上させることができる。特に、ワーク搬送作業の途中にワークの加工工程が介在する場合には、ワーク形状遷移情報12Tが、ワークの加工前及び加工後を含む複数の異なる段階における幾何学的特徴を表すものとすることにより、加工による同一ワークの形状変化を正確に表すワーク形状遷移情報12Tをキーワードとして、最適既得データSDを高精度に検索することができる。
例えば、図17に示すように、素材ワークWに対して第1工程及び第2工程を施すことで完成品W″に至る加工工程が、ワークW1の搬送作業の途中に介在する場合には、加工前の素材ワークW、第1工程完了後の中間ワークW′、第2工程完了後の完成ワークW″の3段階におけるそれぞれの3次元形状データを用意して、それら個々の段階の3次元形状データから上記手法でワーク特徴情報を抽出することができる。図示の例では、ワークW1のCSGモデルとして、素材ワークWを表現する直方体(Block)と、中間ワークW′を表現する八角柱(Prism1)と、完成ワークW″を表現する基本立体の組み合わせ(Prism2+Prism3−Cylinder)とが、それぞれの3次元形状データから抽出されている。さらに、第1工程の内容(すなわち素材ワークWから中間ワークW′への遷移)が、直方体(Block)から4つの楔形(Wedge)を差し引いて八角柱(Prism1)を得ることを示すCSGモデルにより表現されている。同様に、第2工程の内容(すなわち中間ワークW′から完成ワークW″への遷移)が、八角柱(Prism1)から8つの楔形(Wedge)と1つの円柱(Cylinder)とを差し引いて最終形状(Prism2+Prism3−Cylinder)を得ることを示すCSGモデルにより表現されている。
この例では、ロボットプログラミング装置10(60)は、上記した素材ワークW、中間ワークW′、完成ワークW″、第1工程及び第2工程の、それぞれを表現するCSGモデル(ワーク形状遷移情報12T)を全て、既得データDのキーワードとなるワーク特徴情報12として、記憶部24(ハードディスク装置120)に記憶することができる。新規ワークの導入時には、ロボットプログラミング装置10(60)は、新規ワークの3次元形状データから同様の手法で抽出した新規ワーク形状遷移情報26Tを用いて、新規ワーク形状遷移情報26Tとの合致度が最も高いワーク形状遷移情報12Tを含む最適既得データSDを検索する。そして、記憶部24(ハードディスク装置120)から読み出した最適既得データSDを用いて、新規ワークに対する搬送作業を実行するための、ハンド64、ハンド64の指144、仮置台68のワーク保持具68a、68b、加工機械70のワーク保持具70a、及び搬送作業プログラム30を作成する。なお、最適既得データSDを検索する際には、抽出した複数段階のCSGモデルのうち、所望の段階のCSGモデルのみを指定して検索することや、加工工程中の一部分の作業だけを指定して検索することもできる。
ワーク特徴情報12(ワーク形状遷移情報12T)と新規ワーク特徴情報26(新規ワーク形状遷移情報26T)との合致度の判断は、例えばファジー推論に基づく曖昧検索により遂行できる。この検索手法では、CSGモデルを構成する基本立体の種類や数が一致しているか否かを判断するだけでなく、基本立体の種類毎に、合致度を評価するためのメンバーシップ関数が用意される。例えば、基本立体の直方体の合致度を、薄板か否かを判断基準として評価する場合、直方体の6面の中で最大面積の2面を上面及び下面と規定して、上面又は下面の面積と上下面間の距離(すなわち高さ)との比率に合致度を割り当てるメンバーシップ関数を用意する。また、円柱の合致度を、細穴か否かを判断基準として評価する場合には、円柱の底面の半径と高さとの比率に合致度を割り当てるメンバーシップ関数を用意する。このように、1つのCSGモデルにおいて、種々の判断基準に関する合致度をそれぞれに固有のメンバーシップ関数により評価し、それら判断基準の合致度を総合して全体合致度を算出する。そして、新規ワーク特徴情報26(新規ワーク形状遷移情報26T)に対し、このような全体合致度が最も高いワーク特徴情報12(ワーク形状遷移情報12T)を含む既得データDを、最適既得データSDとして特定する。
実際のところ、生産システムにおいて、加工機械で加工されるワークの種類が変わる場合には、既存ワークに対し幾何学的に類似の範囲にある新規ワークが対象となることが多いので、過去に準備したロボットハンド、ハンドの指、ワーク保持具、搬送作業プログラムを、そのままの内容で再利用できる場合がある。このような場合に、本発明に係るロボットプログラミング装置10(60)では、前述したように、オペレータの熟練度に影響されること無く、ワークの3次元形状データから得たワーク特徴情報12をキーワードとして、新規ワークにとって最適な過去のデータを容易かつ確実に検索することができる。
過去のデータがそのままの内容では再利用できない場合にも、実績が有る過去のデータを参考できることは非常に有意義である。例えば、特に、過去に搬送作業プログラムを作成したワークに対し、新規ワークが、幾何学的相似形であったり高さや長さのみが異なるものであったりしたときには、図6に関連して説明したように、過去のワークの3次元形状データ50と新規ワークの3次元形状データ54との差を算出し、この差により、過去のデータを補正することができる。具体的には、過去に搬送作業プログラムを作成したときに設定した%Work.FixOffset%の値(ワークとワーク保持具との相対的な位置及び姿勢のデータ)及び%Work.GripOffset%の値(ワークとハンドとの相対的な位置及び姿勢のデータ)とを、過去のワークの3次元形状データ50と新規ワークの3次元形状データ54との差によって補正する。それにより、新規ワークの搬送作業プログラムの作成時に、新たに%Work.FixOffset%及び%Work.GripOffset%を入力する必要が無くなる。
以上の説明から明らかなように、本発明によれば、既存の生産システムに新規ワークを導入する際に、既存ワークに対応したロボットハンド、ハンドの指、ワーク保持具、搬送作業プログラムの諸情報を有効に利用して、新規ワークに対する最適な搬送作業プログラムを、オペレータの熟練を要することなく、少ない工数で容易かつ確実に作成できる。特に、過去のワーク搬送作業に関する既得データの数が十分に多くなれば、新規ワークをロボットに見せるだけで、新規ワークに適した搬送作業プログラムが自動的に作成されるようになり、延いては、ロボットへの搬送作業の教示が不要になる。
以上、本発明の好適な実施形態を説明したが、ロボットプログラミング装置10、60をパーソナルコンピュータで構成できることから、上記実施形態に則して、本発明を下記のように規定することもできる。
すなわち、本発明は、ワーク保持具68a、68b、70aに対するワークW1、W2の取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンド64を装着したロボット62に実行させる搬送作業プログラム30、106、108を作成するために、コンピュータ10、60を、ワークW1、W2の3次元形状データから、ワークW1、W2の幾何学的特徴を表すワーク特徴情報12を取得するワーク特徴取得部14、ワークW1、W2をワーク保持具68a、68b、70aに取り付けたときの、ワークW1、W2とワーク保持具68a、68b、70aとの相対位置情報16を取得する保持具位置取得部18、ワークW1、W2をハンド64で把持したときの、ワークW1、W2とハンド64との相対位置情報20を取得するハンド位置取得部22、ワーク特徴取得部14が取得したワーク特徴情報12と、保持具位置取得部18が取得したワークとワーク保持具との相対位置情報16と、ハンド位置取得部22が取得したワークとハンドとの相対位置情報20とを、一組の既得データDとして互いに関連付けて、複数種類のワークW1、W2に関する複数組の既得データDを記憶する記憶部24、新規ワークの3次元形状データから得られた新規ワーク特徴情報26を用いて、記憶部24に記憶した複数組の既得データDの中から、新規ワーク特徴情報26との合致度が最も高いワーク特徴情報12を含む最適既得データSDを検索する既得データ検索部28、及び既得データ検索部28が検索した最適既得データSDを用いて、新規ワークに対する搬送作業プログラム30を生成するプログラム生成部32、として機能させるためのロボットプログラミング用プログラムである。
また、本発明は、ワーク保持具68a、68b、70aに対するワークW1、W2の取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンド64を装着したロボット62に実行させる搬送作業プログラム30、106、108を作成するために、コンピュータ10、60を、ワークW1、W2の3次元形状データから、ワークW1、W2の幾何学的特徴を表すワーク特徴情報12を取得するワーク特徴取得部14、ワークW1、W2をワーク保持具68a、68b、70aに取り付けたときの、ワークW1、W2とワーク保持具68a、68b、70aとの相対位置情報16を取得する保持具位置取得部18、ワークW1、W2をハンド64で把持したときの、ワークW1、W2とハンド64との相対位置情報20を取得するハンド位置取得部22、ワーク特徴取得部14が取得したワーク特徴情報12と、保持具位置取得部18が取得したワークとワーク保持具との相対位置情報16と、ハンド位置取得部22が取得したワークとハンドとの相対位置情報20とを、一組の既得データDとして互いに関連付けて、複数種類のワークW1、W2に関する複数組の既得データDを記憶する記憶部24、新規ワークの3次元形状データから得られた新規ワーク特徴情報26を用いて、記憶部24に記憶した複数組の既得データDの中から、新規ワーク特徴情報26との合致度が最も高いワーク特徴情報12を含む最適既得データSDを検索する既得データ検索部28、及び既得データ検索部28が検索した最適既得データSDを用いて、新規ワークに対する搬送作業プログラム30を生成するプログラム生成部32、として機能させるためのロボットプログラミング用プログラムを記録したコンピュータ読み取り可能な記録媒体である。
また、本発明は、ワーク保持具68a、68b、70aに対するワークW1、W2の取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンド64を装着したロボット62に実行させる搬送作業プログラム30、106、108を、コンピュータ10、60を用いて作成するためのロボットプログラミング方法において、ワークW1、W2の3次元形状データから、ワークW1、W2の幾何学的特徴を表すワーク特徴情報12を、コンピュータ10、60のワーク特徴取得部14が取得するステップと、ワークW1、W2をワーク保持具68a、68b、70aに取り付けたときの、ワークW1、W2とワーク保持具68a、68b、70aとの相対位置情報16を、コンピュータ10、60の保持具位置取得部18が取得するステップと、ワークW1、W2をハンドで把持したときの、ワークW1、W2とハンド64との相対位置情報20を、コンピュータ10、60のハンド位置取得部22が取得するステップと、ワーク特徴取得部14が取得したワーク特徴情報12と、保持具位置取得部18が取得したワークとワーク保持具との相対位置情報16と、ハンド位置取得部22が取得したワークとハンドとの相対位置情報20とを、コンピュータ10、60の記憶部24が、一組の既得データDとして互いに関連付けて、複数種類のワークW1、W2に関する複数組の既得データDを記憶するステップと、新規ワークの3次元形状データから得られた新規ワーク特徴情報26を用いて、記憶部24に記憶した複数組の既得データDの中から、新規ワーク特徴情報26との合致度が最も高いワーク特徴情報12を含む最適既得SDデータを、コンピュータ10、60の既得データ検索部28が検索するステップと、既得データ検索部28が検索した最適既得データSDを用いて、新規ワークに対する搬送作業プログラム30を、コンピュータ10、60のプログラム生成部32が生成するステップと、を具備することを特徴とするロボットプログラミング方法である。
本発明に係るロボットプログラミング装置の基本構成を示す機能ブロック図である。 図1のロボットプログラミング装置の第1の発展的構成を示す機能ブロック図である。 図1のロボットプログラミング装置の第2の発展的構成を示す機能ブロック図である。 図1のロボットプログラミング装置の第3の発展的構成を示す機能ブロック図である。 図1のロボットプログラミング装置の第4の発展的構成を示す機能ブロック図である。 図1のロボットプログラミング装置の第5の発展的構成を示す機能ブロック図である。 本発明の一実施形態によるロボットプログラミング装置を組み込んだ、ロボットを用いた生産システムの全体概要図である。 図7の生産システムにおける制御系の構成を示すブロック図である。 図8の制御系における制御装置のメモリの図である。 図8の制御系におけるロボットプログラミング装置のハードディスク装置の図である。 図7の生産システムで使用されるワーク保持具の一例を、ワークと共に示す斜視図である。 図7の生産システムで使用されるハンドの一例を、ワーク及びワーク保持具と共に示す斜視図である。 図7の生産システムにおいてロボットが実行するワーク搬送作業の手順を示すフローチャートである。 図7の生産システムにおいてロボットが実行するワーク搬送作業の手順を示すフローチャートである。 図7の生産システムにおいてロボットが実行するワーク搬送作業の手順を示すフローチャートである。 本発明の一実施形態によるロボットプログラミング方法で用いられるワークのCSGモデルを例示する図である。 本発明の一実施形態によるロボットプログラミング方法で用いられるワーク形状遷移情報をCSGモデルで例示する図である。
符号の説明
10、60 ロボットプログラミング装置
12 ワーク特徴情報
14 ワーク特徴取得部
16 ワークとワーク保持具との相対位置情報
18 保持具位置取得部
20 ワークとハンドとの相対位置情報
22 ハンド位置取得部
24 記憶部
26 新規ワーク特徴情報
28 既得データ取得部
30 搬送作業プログラム
32 プログラム生成部
34 動作パターン指令値
36 動作パターン取得部
38 指先の3次元形状データ
40 指先形状取得部
42 ハンドの図面データ
44 ハンド図面取得部
46 ワーク保持具の図面データ
48 保持具図面取得部
50 ワークの3次元形状データ
52 ワーク形状取得部
54 新規ワークの3次元形状データ
62 ロボット
64 ハンド
68 仮置台
68a、68b、70a ワーク保持具
70 加工機械
76 制御装置
94 メモリ
106、108 作業プログラム
120 ハードディスク装置
1221、1222 作業プログラム定義データ
1241、1242 作業部位定義データ
1261、1262 ワーク図面データ

Claims (10)

  1. ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するためのロボットプログラミング装置において、
    ワークの3次元形状データから、該ワークの幾何学的特徴を表すワーク特徴情報を取得するワーク特徴取得部と、
    ワークをワーク保持具に取り付けたときの、該ワークと該ワーク保持具との相対位置情報を取得する保持具位置取得部と、
    ワークをハンドで把持したときの、該ワークと該ハンドとの相対位置情報を取得するハンド位置取得部と、
    ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を指令する動作パターン指令値を取得する動作パターン取得部と、
    前記ワーク特徴取得部が取得した前記ワーク特徴情報と、前記保持具位置取得部が取得した前記ワークと前記ワーク保持具との前記相対位置情報と、前記ハンド位置取得部が取得した前記ワークと前記ハンドとの前記相対位置情報と、前記動作パターン取得部が取得した前記動作パターン指令値とを、一組の既得データとして互いに関連付けて、複数種類のワークに関する複数組の該既得データを記憶する記憶部と、
    新規ワークの3次元形状データから得られた新規ワーク特徴情報を用いて、前記記憶部に記憶した前記複数組の既得データの中から、該新規ワーク特徴情報との合致度が最も高い前記ワーク特徴情報を含む最適既得データを検索する既得データ検索部と、
    前記既得データ検索部が検索した前記最適既得データを用いて、前記新規ワークに対する前記搬送作業プログラムを生成するプログラム生成部と、
    を具備することを特徴とするロボットプログラミング装置。
  2. 前記ハンドの指先の3次元形状データを取得する指先形状取得部をさらに具備し、前記記憶部は、該指先形状取得部が取得した該ハンドの該指先の該3次元形状データを、前記ワーク特徴情報、前記ワークと前記ワーク保持具との前記相対位置情報、及び前記ワークと前記ハンドとの前記相対位置情報と共に、前記一組の既得データとして互いに関連付けて記憶する、請求項1に記載のロボットプログラミング装置。
  3. 前記ハンドの図面データを取得するハンド図面取得部をさらに具備し、前記記憶部は、該ハンド図面取得部が取得した該ハンドの該図面データを、前記ワーク特徴情報、前記ワークと前記ワーク保持具との前記相対位置情報、及び前記ワークと前記ハンドとの前記相対位置情報と共に、前記一組の既得データとして互いに関連付けて記憶する、請求項1又は2に記載のロボットプログラミング装置。
  4. 前記ワーク保持具の図面データを取得する保持具図面取得部をさらに具備し、前記記憶部は、該保持具図面取得部が取得した該ワーク保持具の該図面データを、前記ワーク特徴情報、前記ワークと前記ワーク保持具との前記相対位置情報、及び前記ワークと前記ハンドとの前記相対位置情報と共に、前記一組の既得データとして互いに関連付けて記憶する、請求項1〜のいずれか1項に記載のロボットプログラミング装置。
  5. 前記ワークの前記3次元形状データを取得するワーク形状取得部をさらに具備し、前記記憶部は、該ワーク形状取得部が取得した該ワークの該3次元形状データを、前記ワーク特徴情報、前記ワークと前記ワーク保持具との前記相対位置情報、及び前記ワークと前記ハンドとの前記相対位置情報と共に、前記一組の既得データとして互いに関連付けて記憶し、前記プログラム生成部は、前記既得データ検索部が検索した前記最適既得データに含まれる前記ワークの前記3次元形状データと、前記新規ワークの3次元形状データとの差に基づいて、該最適既得データに含まれる前記ワークと前記ワーク保持具との前記相対位置情報及び前記ワークと前記ハンドとの前記相対位置情報を補正し、それら補正した相対位置情報を用いて前記新規ワークに対する前記搬送作業プログラムを生成する、請求項1〜のいずれか1項に記載のロボットプログラミング装置。
  6. 前記ワーク特徴取得部は、前記ワーク特徴情報として、前記ワークの形状の変化を時系列的に表すワーク形状遷移情報を取得し、前記既得データ検索部は、前記新規ワーク特徴情報として、前記新規ワークの形状の変化を時系列的に表す新規ワーク形状遷移情報を用いて、前記最適既得データを検索する、請求項1〜のいずれか1項に記載のロボットプログラミング装置。
  7. 前記ワーク搬送作業の途中に前記ワークの加工工程が介在する前記搬送作業プログラムを作成する、請求項に記載のロボットプログラミング装置であって、前記ワーク形状遷移情報は、前記ワークの加工前及び加工後を含む複数の異なる段階における幾何学的特徴を表す、請求項に記載のロボットプログラミング装置。
  8. ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するために、コンピュータを、
    ワークの3次元形状データから、該ワークの幾何学的特徴を表すワーク特徴情報を取得するワーク特徴取得部、
    ワークをワーク保持具に取り付けたときの、該ワークと該ワーク保持具との相対位置情報を取得する保持具位置取得部、
    ワークをハンドで把持したときの、該ワークと該ハンドとの相対位置情報を取得するハンド位置取得部、
    ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を指令する動作パターン指令値を取得する動作パターン取得部、
    前記ワーク特徴取得部が取得した前記ワーク特徴情報と、前記保持具位置取得部が取得した前記ワークと前記ワーク保持具との前記相対位置情報と、前記ハンド位置取得部が取得した前記ワークと前記ハンドとの前記相対位置情報と、前記動作パターン取得部が取得した前記動作パターン指令値とを、一組の既得データとして互いに関連付けて、複数種類のワークに関する複数組の該既得データを記憶する記憶部、
    新規ワークの3次元形状データから得られた新規ワーク特徴情報を用いて、前記記憶部に記憶した前記複数組の既得データの中から、該新規ワーク特徴情報との合致度が最も高い前記ワーク特徴情報を含む最適既得データを検索する既得データ検索部、及び
    前記既得データ検索部が検索した前記最適既得データを用いて、前記新規ワークに対する前記搬送作業プログラムを生成するプログラム生成部、
    として機能させるためのロボットプログラミング用プログラム。
  9. ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを作成するために、コンピュータを、
    ワークの3次元形状データから、該ワークの幾何学的特徴を表すワーク特徴情報を取得するワーク特徴取得部、
    ワークをワーク保持具に取り付けたときの、該ワークと該ワーク保持具との相対位置情報を取得する保持具位置取得部、
    ワークをハンドで把持したときの、該ワークと該ハンドとの相対位置情報を取得するハンド位置取得部、
    ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を指令する動作パターン指令値を取得する動作パターン取得部、
    前記ワーク特徴取得部が取得した前記ワーク特徴情報と、前記保持具位置取得部が取得した前記ワークと前記ワーク保持具との前記相対位置情報と、前記ハンド位置取得部が取得した前記ワークと前記ハンドとの前記相対位置情報と、前記動作パターン取得部が取得した前記動作パターン指令値とを、一組の既得データとして互いに関連付けて、複数種類のワークに関する複数組の該既得データを記憶する記憶部、
    新規ワークの3次元形状データから得られた新規ワーク特徴情報を用いて、前記記憶部に記憶した前記複数組の既得データの中から、該新規ワーク特徴情報との合致度が最も高い前記ワーク特徴情報を含む最適既得データを検索する既得データ検索部、及び
    前記既得データ検索部が検索した前記最適既得データを用いて、前記新規ワークに対する前記搬送作業プログラムを生成するプログラム生成部、
    として機能させるためのロボットプログラミング用プログラムを記録したコンピュータ読み取り可能な記録媒体。
  10. ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を含むワーク搬送作業を、ハンドを装着したロボットに実行させる搬送作業プログラムを、コンピュータを用いて作成するためのロボットプログラミング方法において、
    ワークの3次元形状データから、該ワークの幾何学的特徴を表すワーク特徴情報を、コンピュータのワーク特徴取得部が取得するステップと、
    ワークをワーク保持具に取り付けたときの、該ワークと該ワーク保持具との相対位置情報を、コンピュータの保持具位置取得部が取得するステップと、
    ワークをハンドで把持したときの、該ワークと該ハンドとの相対位置情報を、コンピュータのハンド位置取得部が取得するステップと、
    ワーク保持具に対するワークの取り付け及び取り外しの少なくとも一方の動作を指令する動作パターン指令値を、コンピュータの動作パターン取得部が取得するステップと、
    前記ワーク特徴取得部が取得した前記ワーク特徴情報と、前記保持具位置取得部が取得した前記ワークと前記ワーク保持具との前記相対位置情報と、前記ハンド位置取得部が取得した前記ワークと前記ハンドとの前記相対位置情報と、前記動作パターン取得部が取得した前記動作パターン指令値とを、コンピュータの記憶部が、一組の既得データとして互いに関連付けて、複数種類のワークに関する複数組の該既得データを記憶するステップと、
    新規ワークの3次元形状データから得られた新規ワーク特徴情報を用いて、前記記憶部に記憶した前記複数組の既得データの中から、該新規ワーク特徴情報との合致度が最も高い前記ワーク特徴情報を含む最適既得データを、コンピュータの既得データ検索部が検索するステップと、
    前記既得データ検索部が検索した前記最適既得データを用いて、前記新規ワークに対する前記搬送作業プログラムを、コンピュータのプログラム生成部が生成するステップと、
    を具備することを特徴とするロボットプログラミング方法。
JP2006184609A 2006-07-04 2006-07-04 ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法 Expired - Fee Related JP4235214B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006184609A JP4235214B2 (ja) 2006-07-04 2006-07-04 ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法
EP07013016A EP1876503B1 (en) 2006-07-04 2007-07-03 Device, program, recording medium and method for preparing robot program
DE602007013974T DE602007013974D1 (de) 2006-07-04 2007-07-03 Vorrichtung, Programm, Aufzeichnungsmittel und Verfahren zur Erzeugung eines Roboterprogramms
US11/822,209 US20080009972A1 (en) 2006-07-04 2007-07-03 Device, program, recording medium and method for preparing robot program
CN2007101282058A CN101100060B (zh) 2006-07-04 2007-07-04 用于生成机器人程序的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006184609A JP4235214B2 (ja) 2006-07-04 2006-07-04 ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法

Publications (2)

Publication Number Publication Date
JP2008015683A JP2008015683A (ja) 2008-01-24
JP4235214B2 true JP4235214B2 (ja) 2009-03-11

Family

ID=38616344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006184609A Expired - Fee Related JP4235214B2 (ja) 2006-07-04 2006-07-04 ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法

Country Status (5)

Country Link
US (1) US20080009972A1 (ja)
EP (1) EP1876503B1 (ja)
JP (1) JP4235214B2 (ja)
CN (1) CN101100060B (ja)
DE (1) DE602007013974D1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390203B2 (en) * 2004-06-15 2016-07-12 Abb Ab Method and system for off-line programming of multiple interacting robots
JP4347386B2 (ja) * 2008-01-23 2009-10-21 ファナック株式会社 加工用ロボットプラグラムの作成装置
US20100017026A1 (en) * 2008-07-21 2010-01-21 Honeywell International Inc. Robotic system with simulation and mission partitions
JP5268495B2 (ja) * 2008-08-21 2013-08-21 株式会社神戸製鋼所 オフライン教示データの作成方法及びロボットシステム
JP2010052067A (ja) * 2008-08-27 2010-03-11 Kawasaki Heavy Ind Ltd 自動仕上げ装置とその制御方法
US8221186B2 (en) * 2008-10-24 2012-07-17 Peek-A-Boo Wonderwear Garment
JP2010131711A (ja) * 2008-12-05 2010-06-17 Honda Motor Co Ltd ロボットアームの制御方法
US20100179689A1 (en) * 2009-01-09 2010-07-15 National Taiwan University Of Science And Technology Method of teaching robotic system
JP4621789B2 (ja) * 2009-06-02 2011-01-26 ファナック株式会社 物品搬送ロボットシステム
JP5715809B2 (ja) * 2010-03-29 2015-05-13 株式会社ダイヘン ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及びロボット制御システム
CA2799042A1 (en) * 2010-05-12 2011-11-17 Avant-Garde Technologie Cfma Inc. Method and system for generating instructions for an automated machine
CN102338624B (zh) * 2010-07-19 2014-07-09 鸿富锦精密工业(深圳)有限公司 应用机械手臂测试物体的系统及方法
KR101453234B1 (ko) 2010-11-17 2014-10-22 미쓰비시덴키 가부시키가이샤 워크 취출 장치
DE102011005513A1 (de) * 2011-03-14 2012-09-20 Kuka Laboratories Gmbh Roboter und Verfahren zum Betreiben eines Roboters
WO2014008949A1 (en) * 2012-07-13 2014-01-16 Abb Technology Ltd A method for programming an industrial robot in a virtual environment
DE102012024934B4 (de) * 2012-12-19 2016-03-10 Audi Ag Verfahren und Programmiersystem zur erstmaligen Erstellung eines auf einem Messroboter ausführbaren Messprogramms für die Messung eines neuen Messobjekts
JP5765355B2 (ja) * 2013-03-18 2015-08-19 株式会社安川電機 ロボットピッキングシステム及び被加工物の製造方法
US10482191B2 (en) * 2014-10-15 2019-11-19 Honda Motor Co., Ltd. Jig information setting method and jig information setting device
CN104898470B (zh) * 2015-04-01 2017-09-15 湖北骐通智能科技股份有限公司 机器人示教数据生成系统和方法
CN105598966B (zh) * 2016-01-12 2019-02-05 重庆世纪精信实业(集团)有限公司 基于可调节抱具的自动调节系统及其方法
CN105598967B (zh) * 2016-01-12 2019-01-01 重庆世纪精信实业(集团)有限公司 基于可调节抱具的智能提示系统及方法
CN105584015A (zh) * 2016-01-12 2016-05-18 重庆世纪精信实业(集团)有限公司 基于可调节抱具的抱具调节系统及其方法
JP6370821B2 (ja) * 2016-02-12 2018-08-08 ファナック株式会社 ロボットプログラムの教示を行うロボットプログラミング装置
US20180021890A1 (en) * 2016-07-22 2018-01-25 Caterpillar Inc. System and method to produce a structure for a weld joint using additive manufacturing
JP6412179B2 (ja) 2017-02-03 2018-10-24 ファナック株式会社 加工機に対して移動ロボットが物品の搬入及び搬出を行う加工システム、及び機械制御装置
JP6418359B1 (ja) * 2017-03-24 2018-11-07 三菱電機株式会社 ロボットプログラムの生成装置及び生成方法
DE112017007903B4 (de) 2017-10-03 2022-04-14 Mitsubishi Electric Corporation Haltepositions- und Orientierungslehreinrichtung, Haltepositions- und Orientierungslehrverfahren und Robotersystem
US11065707B2 (en) * 2017-11-29 2021-07-20 Lincoln Global, Inc. Systems and methods supporting predictive and preventative maintenance
JP6693939B2 (ja) * 2017-12-14 2020-05-13 ファナック株式会社 ロボットシステム
US10751882B1 (en) * 2018-05-14 2020-08-25 Amazon Technologies, Inc. End effector for autonomous object retrieval
JP6816068B2 (ja) 2018-07-06 2021-01-20 ファナック株式会社 ロボットプログラム生成装置
CN109760080B (zh) * 2018-12-27 2021-12-03 大族激光科技产业集团股份有限公司 一种机械夹具组及相关方法
US11148289B1 (en) 2019-01-08 2021-10-19 Amazon Technologies, Inc. Entanglement end effector for autonomous object retrieval
JP7189064B2 (ja) * 2019-03-29 2022-12-13 株式会社神戸製鋼所 溶接システム、制御装置、制御プログラム及び溶接方法
JP7343329B2 (ja) * 2019-08-05 2023-09-12 ファナック株式会社 ワーク選定及びロボット作業を同時に行うロボット制御システム
US20230161317A1 (en) * 2021-11-24 2023-05-25 Hexagon Metrology, Inc. Parametric and Modal Work-holding Method for Automated Inspection

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325468A (en) * 1990-10-31 1994-06-28 Sanyo Electric Co., Ltd. Operation planning system for robot
JPH0659720A (ja) 1992-08-06 1994-03-04 Fanuc Ltd バリ取りロボットプログラム生成方法
US5822207A (en) * 1996-05-06 1998-10-13 Amadasoft America, Inc. Apparatus and method for integrating intelligent manufacturing system with expert sheet metal planning and bending system
JPH10187223A (ja) 1996-12-26 1998-07-14 Nkk Corp 溶接ロボット動作プログラムの自動生成システム
JP3377465B2 (ja) * 1999-04-08 2003-02-17 ファナック株式会社 画像処理装置
JP3691032B2 (ja) * 2002-08-23 2005-08-31 ファナック株式会社 加工装置
JP2004284002A (ja) * 2003-01-31 2004-10-14 Fujitsu Ltd 加工制御装置
JP3905075B2 (ja) * 2003-11-17 2007-04-18 ファナック株式会社 作業プログラム作成装置

Also Published As

Publication number Publication date
EP1876503A3 (en) 2010-04-21
US20080009972A1 (en) 2008-01-10
CN101100060A (zh) 2008-01-09
CN101100060B (zh) 2010-06-16
EP1876503B1 (en) 2011-04-20
EP1876503A2 (en) 2008-01-09
DE602007013974D1 (de) 2011-06-01
JP2008015683A (ja) 2008-01-24

Similar Documents

Publication Publication Date Title
JP4235214B2 (ja) ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法
JP4083554B2 (ja) 3次元モデルデータ生成装置
JP6662746B2 (ja) 機械学習部を備えた作業補助システム
JP6785931B1 (ja) 生産システム
JP2006004128A (ja) 干渉確認装置
JP2010142910A (ja) ロボットシステム
Onstein et al. Deburring using robot manipulators: A review
JP2019126894A (ja) ロボット制御装置及びロボットシステム
CN114080590A (zh) 使用先进扫描技术的机器人料箱拾取系统和方法
JP2006289580A (ja) プログラムの教示点修正方法及びプログラム教示点修正装置
CN113319859B (zh) 一种机器人示教方法、系统、装置及电子设备
KR20180076966A (ko) 용접로봇의 작업대상물 용접선 검출방법
CN110914021A (zh) 带有用于执行至少一个工作步骤的操纵设备的操纵装置以及方法和计算机程序
WO2023032400A1 (ja) 自動搬送装置、及びシステム
Cserteg et al. Assisted assembly process by gesture controlled robots
EP3457238A1 (en) Machining devices
Spenrath et al. Statistical analysis of influencing factors for heuristic grip determination in random bin picking
JP7012181B1 (ja) ロボットシステム
JP2007025991A (ja) ワークの自動加工方法およびワークの自動加工システム
CN115515762A (zh) 工件取出装置
JP7260001B2 (ja) プログラム生成装置、プログラム生成方法、及び生成プログラム
JP6832408B1 (ja) 生産システム
JP2007021635A (ja) ワークの自動ハンドリング方法およびワークの自動ハンドリングシステム
JP7112528B2 (ja) 作業座標作成装置
JP2022530589A (ja) ロボット搭載移動装置、システム及び工作機械

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080129

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080616

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081212

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees