TW202235239A - 調整參數的裝置、機器人系統、方法及電腦程式 - Google Patents

調整參數的裝置、機器人系統、方法及電腦程式 Download PDF

Info

Publication number
TW202235239A
TW202235239A TW110141851A TW110141851A TW202235239A TW 202235239 A TW202235239 A TW 202235239A TW 110141851 A TW110141851 A TW 110141851A TW 110141851 A TW110141851 A TW 110141851A TW 202235239 A TW202235239 A TW 202235239A
Authority
TW
Taiwan
Prior art keywords
workpiece
image data
aforementioned
processor
model
Prior art date
Application number
TW110141851A
Other languages
English (en)
Inventor
和田潤
Original Assignee
日商發那科股份有限公司
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 日商發那科股份有限公司 filed Critical 日商發那科股份有限公司
Publication of TW202235239A publication Critical patent/TW202235239A/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/04Viewing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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/40053Pick 3-D object from pile of 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm
    • 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/40564Recognize shape, contour of object, extract position and orientation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)
  • Image Processing (AREA)

Abstract

以往,為了調整用於對照視覺感測器所拍攝的工件的工件特徵與該工件的工件模型之參數,需要具有專門知識的操作人員。 裝置(50)具備:圖像生成部(52),生成顯示有視覺感測器所拍攝的工件的工件特徵之圖像資料;位置檢測部(54),使用用於將工件模型與工件特徵對照的參數,求出圖像資料中的工件的位置來作為檢測位置;匹配位置取得部(58),取得在圖像資料中將工件模型配置成和工件特徵一致時該圖像資料中的該工件模型的位置來作為匹配位置;及參數調整部(60),依據表示檢測位置與匹配位置的差的資料來調整參數。

Description

調整參數的裝置、機器人系統、方法及電腦程式
本發明是有關於一種調整參數的裝置、機器人系統、方法及電腦程式,前述參數是用於在圖像資料中對照工件的工件特徵與工件模型。
已知有一種取得參數的技術,前述參數是用於檢測視覺感測器所拍攝的圖像資料中所顯現的工件的位置(例如,專利文獻1)。 先前技術文獻 專利文獻
專利文獻1:日本專利特開平2-210584號公報
發明欲解決之課題
有時會使用參數來互相對照視覺感測器所拍攝的圖像資料所顯現的工件的工件特徵、以及已將工件模型化的工件模型,藉此求出圖像資料所顯現的工件的位置。以往,為了調整像這樣的對照用的參數,需要具有專門知識的操作人員。 用以解決課題之手段
在本揭示的一態樣中,裝置具備:位置檢測部,使用參數求出圖像資料中的工件的位置,來作為檢測位置,前述參數是用於在顯示有視覺感測器所拍攝的工件的工件特徵之圖像資料中,將已將工件模型化的工件模型和工件特徵進行對照;匹配位置取得部,取得在圖像資料中將工件模型配置成和工件特徵一致時該圖像資料中的該工件模型的位置,來作為匹配位置;及參數調整部,依據表示檢測位置與匹配位置的差的資料來調整參數,以使位置檢測部可以將檢測位置作為對應於匹配位置的位置來求出。
在本揭示的其他態樣中,方法是由處理器進行下述內容:使用參數求出圖像資料中的工件的位置來作為檢測位置,前述參數是用於在顯示有視覺感測器所拍攝的工件的工件特徵之圖像資料中,將已將工件模型化的工件模型和工件特徵進行對照,取得在圖像資料中將工件模型配置成和工件特徵一致時該圖像資料中的該工件模型的位置,來作為匹配位置,依據表示檢測位置與匹配位置的差的資料來調整參數,以可以將檢測位置作為對應於匹配位置的位置來求出。 發明效果
根據本揭示,使用在圖像資料中使工件模型匹配於工件特徵時所取得的匹配位置來調整參數。因此,即使是沒有與參數的調整相關的專門知識之操作人員,也可以取得匹配位置,藉此即可以調整參數。
用以實施發明之形態
以下,依據圖式來詳細地說明本揭示的實施形態。另外,在以下所說明的各種實施形態中,對於同樣的要素是附加相同的符號,並且省略重複的說明。首先,參照圖1及圖2,說明一實施形態之機器人系統10。機器人系統10具備機器人12、視覺感測器14、及控制裝置16。
在本實施形態中,機器人12為垂直多關節機器人,並且具有機器人基座18、旋繞體20、下臂部22、上臂部24、手腕部26、及端接器28。機器人基座18是固定在作業單元的地板之上。旋繞體20是在機器人基座18上設置成可繞著鉛直軸旋繞。
下臂部22是在旋繞體20上設置成可繞著水平軸旋動,上臂部24是在下臂部22的前端部上設置成可旋動。手腕部26具有在上臂部24的前端部上設置成可旋動的手腕基座26a、與在該手腕基座26a上設置成可繞著手腕軸A1旋動的手腕凸緣26b。
端接器28是可裝卸地安裝於手腕凸緣26b上,並且對於工件W進行預定的作業。在本實施形態中,端接器28是可以把持工件W的機械手,並且具有例如可開閉的複數個手指部、或吸附部(負壓產生裝置、吸盤、電磁鐵等)。
在機器人12的各構成要素(機器人基座18、旋繞體20、下臂部22、上臂部24、手腕部26)中設置有伺服馬達29(圖2)。這些伺服馬達29是因應於來自控制裝置16的指令,使機器人12的各可動要素(旋繞體20、下臂部22、上臂部24、手腕部26、手腕凸緣26b)繞著驅動軸來旋動。其結果,機器人12可以使端接器28移動,而配置於任意的位置及姿勢。
視覺感測器14是對端接器28(或手腕凸緣26b)固定。例如,視覺感測器14為具有拍攝感測器(CMOS、CCD等)、以及將被拍攝體像導光至該拍攝感測器的光學透鏡(準直透鏡、聚焦透鏡等)的三維視覺感測器,且構成為沿著光軸A2來拍攝被拍攝體像,並且測定到該被拍攝體像的距離d。
如圖1所示,在機器人12中設定有機器人座標系統C1及工具座標系統C2。機器人座標系統C1是用於控制機器人12的各可動要素的動作的控制座標系統。在本實施形態中,機器人座標系統C1是相對於機器人基座18而固定成:其原點是配置於機器人基座18的中心,其z軸是和鉛直方向平行。
另一方面,工具座標系統C2是用於控制機器人座標系統C1中的端接器28的位置之控制座標系統。在本實施形態中,工具座標系統C2是相對於端接器28而設定成:其原點(所謂的TCP)是配置在端接器28的作業位置(工件把持位置),其z軸是和手腕軸A1平行(具體而言為一致)。
使端接器28移動時,控制裝置16是在機器人座標系統C1中設定工具座標系統C2,並且生成對於機器人12的各伺服馬達29的指令,以將端接器28配置在由已設定的座標系統C2所表示的位置。如此,控制裝置16可以將端接器28定位至機器人座標系統C1中的任意位置上。另外,在本說明書中,「位置」會有指位置及姿勢的情況。
另一方面,在視覺感測器14中設定有感測器座標系統C3。感測器座標系統C3規定視覺感測器14所拍攝的圖像資料(或拍攝感測器)的各像素的座標。在本實施形態中,感測器座標系統C3是相對於視覺感測器14而設定成:其原點是配置在拍攝感測器的中心,其z軸是和光軸A2平行(具體而言為一致)。
感測器座標系統C3及工具座標系統C2的位置關係是藉由校正而得知,因此,感測器座標系統C3的座標與工具座標系統C2的座標可以透過已知的轉換矩陣(例如,齊次轉換矩陣)來互相轉換。又,由於工具座標系統C2與機器人座標系統C1的位置關係為已知,因此感測器座標系統C3的座標與機器人座標系統C1的座標可以透過工具座標系統C2來相互轉換。
控制裝置16控制機器人12的動作。具體而言,控制裝置16是具有處理器30、記憶體32、及I/O介面34的電腦。處理器30是透過匯流排36而以可通訊的方式連接於記憶體32及I/O介面34,可一面與這些組件通訊,一面進行用於實現後述的各種功能的運算處理。
記憶體32具有RAM或ROM等,且暫時地或永久地記憶各種資料。I/O介面34具有例如乙太網路(註冊商標)埠、USB埠、光纖連接器、或HDMI(註冊商標)端子,並且在來自處理器30的指令下,以有線或無線方式與外部機器之間進行資料通訊。機器人12的各伺服馬達29及視覺感測器14是以可通訊的方式連接於I/O介面34。
又,在控制裝置16中設置有顯示裝置38及輸入裝置40。顯示裝置38及輸入裝置40是以可通訊的方式連接於I/O介面34。顯示裝置38具有液晶顯示器或有機EL顯示器等,並且在來自處理器30的指令下,以可視覺辨識的方式顯示各種資料。
輸入裝置40具有鍵盤、滑鼠、或觸控面板等,並且受理來自操作人員的輸入資料。另外,顯示裝置38及輸入裝置40亦可一體地組入於控制裝置16的殼體、或者亦可獨立於控制裝置16的殼體而外接於該殼體。
在本實施形態中,處理器30使機器人12動作來執行:藉由端接器28來把持並拿起散裝在容器B內的工件W之工件處理作業。為了執行此工件處理作業,處理器30首先是藉由視覺感測器14來拍攝容器B內的工件W。
此時,視覺感測器14所拍攝的圖像資料ID1包含以下資訊:工件特徵WP,顯現已拍攝的各個工件W的視覺上的特徵點(邊緣、輪廓、面、邊、角、孔、突部等);距離d,是從視覺感測器14(具體而言為感測器座標系統C3的原點)到該工件特徵WP的各像素所表示的工件W上的點為止的距離。
接著,處理器30取得參數PM,前述參數PM是用於將已將工件W模型化的工件模型WM和視覺感測器14所拍攝的工件W的工件特徵WP進行對照。然後,處理器30將該參數PM應用於預定的演算法AL(軟體),並且依照該演算法AL來對照工件模型WM與工件特徵WP,藉此取得顯現於圖像資料ID1之工件W在感測器座標系統C3中的位置(具體而言為位置及姿勢)的資料(具體而言為座標)。然後,處理器30將已取得的感測器座標系統C3的位置轉換成機器人座標系統C1,藉此取得已拍攝的工件W在機器人座標系統C1中的位置資料。
在此,為了以高精確度的方式取得顯現於圖像資料ID1中的工件W的位置,必須將參數PM最佳化。在本實施形態中,處理器30是使用視覺感測器14所拍攝的工件W的工件特徵WP,將參數PM調整為最佳化。
以下,參照圖3,針對調整參數PM的方法進行說明。圖3所示的流程是在例如控制裝置16啟動時開始。另外,在圖3的流程的開始時間點,上述演算法AL與事先準備的參數PM 1已保存於記憶體32中。
在步驟S1中,處理器30判定是否已受理參數調整指令。例如,操作人員操作輸入裝置40,以手動方式輸入參數調整指令。當處理器30透過I/O介面34而從輸入裝置40受理參數調整指令時,則判定為「是」,並進入至步驟S2。另一方面,處理器30在未受理到參數調整指令的情況下是判定為「否」,並進入至步驟S6。
在步驟S2中,處理器30藉由視覺感測器14來拍攝工件W。具體而言,處理器30使機器人12動作,而如圖1所示地將視覺感測器14定位到至少1個工件W落在該視覺感測器14的視野中之拍攝位置。
接著,處理器30對視覺感測器14發送拍攝指令,因應於該拍攝指令,視覺感測器14拍攝工件W來取得圖像資料ID1。如上述,圖像資料ID1包含已拍攝的各個工件W的工件特徵WP與上述距離d的資訊。處理器30從視覺感測器14取得圖像資料ID1。圖像資料ID1的各像素是以感測器座標系統C3的座標來表示。
在步驟S3中,處理器30生成顯示有工件特徵WP的圖像資料ID2。具體而言,處理器30依據從視覺感測器14取得的圖像資料ID1生成圖像資料ID2,來作為操作人員可視覺辨識工件特徵WP的圖形使用者介面(GUI)。將此圖像資料ID2的一例顯示於圖4。
在圖4所示的例子中,在圖像資料ID2中,工件特徵WP是顯示為三維點群。又,在圖像資料ID2中設定有感測器座標系統C3,該圖像資料ID2的各像素是和視覺感測器14所拍攝的圖像資料ID1同樣地以感測器座標系統C3的座標來表示。
並且,由於構成工件特徵WP的複數個點分別具有上述距離d的資訊,因此可以以感測器座標系統C3的三維座標(x‚y‚z)來表示。亦即,在本實施形態中,圖像資料ID2為三維的圖像資料。另外,在圖4中,雖然為了容易理解而顯示在圖像資料ID2中顯示有合計3個工件特徵WP的例子,但是希望可以理解在實際上能顯示更多的工件特徵WP(亦即工件W)。
處理器30亦可將圖像資料ID2作為視覺辨識性比圖像資料ID1更優異的GUI而生成為和該圖像資料ID1不同的圖像資料。例如,處理器30亦可將圖像資料ID2生成為:一方面將圖像資料ID1所顯現的工件特徵WP以外的區域設為無色,另一方面對工件特徵WP上色(黑色、藍色、紅色等),藉此使操作人員可以容易地識別出工件特徵WP。
處理器30使顯示裝置38顯示已生成的圖像資料ID2。如此,操作人員即可以視覺辨識如圖4所示的圖像資料ID2。像這樣,在本實施形態中,處理器30是作為圖像生成部52(圖2)來發揮功能,前述圖像生成部52生成顯示有工件特徵WP的圖像資料ID2。
另外,處理器30亦可以如下方式來更新顯示裝置38所顯示的圖像資料ID2:因應於操作人員對輸入裝置40的操作,來改變觀看圖像資料ID2上顯現的工件W之方向(例如,像3DCAD資料一樣)。在此情況下,操作人員即可以藉由操作輸入裝置40,從期望的方向來視覺辨識顯現於圖像資料ID2中的工件W。
再次參照圖3,在步驟S4中,處理器30執行取得匹配位置的程序。參照圖5來說明此步驟S4。在步驟S11中,處理器30是在上述步驟S3所生成的圖像資料ID2中更進一步地顯示工件模型WM。在本實施形態中,工件模型WM為3DCAD資料。
在圖6中顯示此步驟S11所生成的圖像資料ID2的一例。在步驟S11中,處理器30將工件模型WM配置在感測器座標系統C3所規定的虛擬空間中,並且生成配置有工件W的工件特徵WP與工件模型WM的虛擬空間的圖像資料ID2。又,處理器30在感測器座標系統C3中,隨著工件模型WM一起設定工件座標系統C4。此工件座標系統C4是規定工件模型WM的位置(具體而言為位置及姿勢)的座標系統。
在本實施形態中,處理器30是在此步驟S11中,使用在該步驟S11的開始時間點已保存在記憶體32的參數PM 1,求出圖像資料ID2中的工件W的位置來作為檢測位置DP 1。求出檢測位置DP 1時,處理器30是將參數PM 1應用於演算法AL,並且依照該演算法AL,將工件模型WM和顯現於圖像資料ID2的工件特徵WP進行對照。
更具體而言,處理器30是依照應用了參數PM 1的演算法AL,在感測器座標系統C3所規定的虛擬空間中,使工件模型WM的位置逐漸地以預定的位移量E來變化,來檢索工件模型WM的特徵點(邊緣、輪廓、面、邊、角、孔、突部等)與對應於該特徵點的工件特徵WP的特徵點為互相一致之工件模型WM的位置。
然後,處理器30在工件模型WM的特徵點與對應的工件特徵WP的特徵點為一致時,檢測出設定於該工件模型WM的工件座標系統C4在感測器座標系統C3中的座標(x,y,z,W,P,R),來作為檢測位置DP 1。在此,座標(x,y,z)表示感測器座標系統C3中之工件座標系統C4的原點位置,座標(W,P,R)表示相對於感測器座標系統C3之工件座標系統C4的姿勢(所謂的偏轉(yaw)、俯仰(pitch)、滾轉(roll))。
上述參數PM 1是用於將工件模型WM和工件特徵WP對照的參數,包含例如:上述位移量E、界定在圖像資料ID2中檢索互相對照的特徵點的範圍之視窗的尺寸SZ、對照時的圖像粗度(或解析度)σ、及特定出要互相對照工件模型WM與工件特徵WP的哪個特徵點的資料(例如,特定出要對照工件模型WM及工件特徵WP的「輪廓」之資料)。
如此,處理器30使用參數PM 1來互相對照工件模型WM與工件特徵WP,藉此取得檢測位置DP 1(x,y,z,W,P,R)。從而,在本實施形態中,處理器30是作為使用參數PM 1來求出檢測位置DP 1的位置檢測部54(圖2)而發揮功能。
接著,處理器30是作為圖像生成部52來發揮功能,而在圖像資料ID2中,在已取得的檢測位置DP 1上顯示工件模型WM。具體而言,處理器30是在以下位置上顯示工件WM:配置在作為檢測位置DP 1而檢測出的感測器座標系統C3的座標(x,y,z,W,P,R)上且由工件座標系統C4所表示的位置。
如此,如圖6所示,在圖像資料ID2中,分別在對應於3個工件特徵WP的位置上,顯示有3個工件模型WM。在此,在參數PM 1未被最佳化的情況下,如圖6所示,可能會發生已取得的檢測位置DP 1(亦即,顯示於圖6的工件模型WM的位置)偏離工件特徵WP的情況。
再次參照圖5,在步驟S12中,處理器30判定是否已受理輸入資料IP1(第1輸入資料),前述輸入資料IP1是用於在圖像資料ID2中使工件模型WM的位置位移的資料。具體而言,操作人員為了一面視覺辨識顯示裝置38所顯示之圖6所示的圖像資料ID2,一面使該圖像資料ID2所顯示的工件模型WM在圖像上移動至與對應的工件特徵WP一致的位置,而操作輸入裝置40來輸入輸入資料IP1。
當處理器30透過I/O介面34而從輸入裝置40受理輸入資料IP1時,則判定為「是」,並進入至步驟S13。另一方面,在未從輸入裝置40受理輸入資料IP1的情況下是判定為「否」,並進入至步驟S14。如此,在本實施形態中,處理器30是作為輸入受理部56(圖2)來發揮功能,前述輸入受理部56受理用於在圖像資料ID2中使工件模型WM的位置位移的輸入資料IP1。
在步驟S13中,處理器30是因應於輸入資料IP1,使圖像資料ID2所顯示的工件模型WM的位置位移。具體而言,處理器30是作為圖像生成部52來發揮功能,而以在感測器座標系統C3所規定的虛擬空間內,因應於輸入資料IP1使工件模型WM的位置位移的方式,來更新圖像資料ID2。如此,操作人員可以一面視覺辨識顯示裝置38所顯示的圖像資料ID2一面操作輸入裝置40,藉此在圖像資料ID2中使工件模型WM以接近對應的工件特徵WP的方式位移。
在步驟S14中,處理器30判定是否已受理用於取得匹配位置MP的輸入資料IP2。具體而言,當操作人員在步驟S13中使工件模型WM位移,最後在圖像資料ID2中工件模型WM的位置與工件特徵WP的位置一致時,則操作輸入裝置40來輸入用於取得匹配位置MP的輸入資料IP2。
在圖7中顯示在圖像資料ID2中工件模型WM的位置與工件特徵WP一致的狀態。當處理器30透過I/O介面34而從輸入裝置40受理輸入資料IP2時,則判定為「是」,並進入至步驟S15,另一方面,在未從輸入裝置40受理輸入資料IP2的情況下是判定為「否」,並返回至步驟S12。如此,處理器30在步驟S14中判定為「是」為止,會循環進行步驟S12~S14。
在步驟S15中,處理器30取得工件模型WM的位置來作為匹配位置MP,前述工件模型WM的位置是當受理了輸入資料IP2時之圖像資料ID2中的工件模型WM的位置。如上述,當處理器30受理了輸入資料IP2時,如圖7所示,在圖像資料ID2中,工件模型WM分別與對應的工件特徵WP一致。
處理器30取得設定於圖7所示的各個工件模型WM的工件座標系統C4在感測器座標系統C3中的座標(x,y,z,W,P,R)來作為匹配位置MP,並記憶至記憶體32。如此,在本實施形態中,處理器30是作為取得匹配位置MP的匹配位置取得部58(圖2)來發揮功能。
再次參照圖3,在步驟S5中,處理器30執行調整參數PM的程序。參照圖8來說明此步驟S5。在步驟S21中,處理器30是將特定出參數PM n的更新次數的編號「n」設定為「1」。
在步驟S22中,處理器30是作為位置檢測部54來發揮功能,並取得檢測位置DP n。具體而言,處理器30是使用在此步驟S22的開始時間點已保存在記憶體32的參數PM n來求出檢測位置DP n。假設,在此步驟S22的開始時間點設定為n=1的情況下(亦即,執行第1次的步驟S22的情況下),處理器30是和上述步驟S11同樣地使用參數PM 1來求出圖6所示的檢測位置DP 1
在步驟S23中,處理器30取得表示差的資料Δ n,前述差是在最近一次的步驟S22所求出的檢測位置DP n與在上述步驟S4所取得的匹配位置MP的差。此資料Δ n例如為表示感測器座標系統C3中的檢測位置DP n與匹配位置MP的差之目標函數的值。此目標函數可為例如表示相互對應的一對檢測位置DP n及匹配位置MP的差之和、平方和、平均值、或平方平均值的函數。處理器30將已取得的資料Δ n記憶於記憶體32。
假設,在此步驟S23的開始時間點設定為n=1的情況下(亦即,執行第1次的步驟S23的情況下),處理器30取得表示檢測位置DP 1與匹配位置MP的差的資料Δ 1。此資料Δ 1是表示圖6所示的工件模型WM的感測器座標系統C3的位置(亦即,檢測位置DP 1)、與圖7所示的工件模型WM的感測器座標系統C3的位置(亦即,匹配位置MP)之差。
在步驟S24中,處理器30判定在最近一次的步驟S23所取得的資料Δ n的值,是否為事先規定的閾值Δ th以下(Δ n≦Δ th)。此閾值Δ th是由操作人員所規定,並且事先保存於記憶體32。處理器30在Δ n≦Δ th的情況下是判定為「是」,且結束步驟S5,並且進入至圖3中的步驟S6。
在此步驟S24中判定為「是」時,在最近一次的步驟S22所求出的檢測位置DP n實質上與匹配位置MP一致,因此可以視為參數PM n已最佳化。另一方面,處理器30在Δ n>Δ th的情況下是判定為「否」,而進入至步驟S25。
在步驟S25中,處理器30是依據在最近一次的步驟S23所取得的資料Δ n,來決定可以在圖像資料ID2中縮小檢測位置DP n與匹配位置MP的差之參數PM n的變化量α n。具體而言,處理器30是從最近一次的步驟S23所取得的資料Δ n,來決定在重覆執行圖8中的步驟S22~S28的迴圈時可以使步驟S23所取得的資料Δ n的值朝向零收斂之參數PM n(例如,位移量E、尺寸SZ、或圖像粗度σ)的變化量α n。處理器30可以藉由使用資料Δ n與預定的演算法來求出此變化量α n
在步驟S26中,處理器30更新參數PM n。具體而言,處理器30是使參數PM n(例如,位移量E、尺寸SZ、或圖像粗度σ)變化在最近一次的步驟S25所決定的變化量α n,藉此更新該參數PM n而設為新的參數PM n +1。處理器30將更新後的參數PM n +1記憶至記憶體32。假設,在步驟S26的開始時間點已設定為n=1的情況下,處理器30是使事先準備的參數PM 1僅變化變化量α 1而更新成參數PM 2
在步驟S27中,處理器30將特定出參數PM n的更新次數之編號「n」增加「1」(n=n+1)。在步驟S28中,處理器30是判定:特定出參數PM n的更新次數之編號「n」是否已超過最大值n MAX(n>n MAX),或者,在最近一次的步驟S25所決定的變化量α n是否已成為事先規定的閾值α th以下(α n≦α th)。此最大值n MAX及閾值α th是藉由操作人員來事先規定而保存於記憶體32。
在此,如圖8所示,處理器30在步驟S24或S28中判定為「是」為止,會重複執行步驟S22~S28的迴圈。在上述步驟S25中,由於處理器30是以可以縮小檢測位置DP n與匹配位置MP的差(亦即,資料Δ n的值)的方式來決定變化量α n,因此每重覆步驟S22~S28的迴圈,步驟S23所取得的資料Δ n的值、以及步驟S25所決定的變化量α n會越來越小。
從而,當變化量α n已成為閾值α th以下的情況下,可以視為參數PM n已最佳化。另一方面,即使重複執行了步驟S22~S28的迴圈多次,仍然會有變化量α n收斂至某個值(>α th),而不成為閾值α th以下的情況。在像這樣的情況下,也可以視為參數PM n已充分地最佳化。
據此,處理器30是在此步驟S28中,判定是否為n>n MAX或α n≦α th,在滿足n>n MAX或α n≦α th的情況下是判定為「是」而結束步驟S5。另一方面,處理器30是在n≦n MAX且α n>α th的情況下判定為「否」,而返回到步驟S22,並且使用更新後的參數PM n +1來執行步驟S22~S28的迴圈。
如此,處理器30在步驟S24或S28中判定為「是」為止,重複執行步驟S22~S28之一系列的動作,藉此依據資料Δ n來更新並調整參數PM n。從而,在本實施形態中,處理器30是作為依據資料Δ n來調整參數PM n的參數調整部60(圖2)而發揮功能。
處理器30在作為位置檢測部54來發揮功能而從圖像資料ID2求出檢測位置DP n的情況下,藉由使用如上述地已最佳化的參數PM n,可以求出圖像資料ID2中的檢測位置DP n,來作為對應(例如,實質上一致)於匹配位置MP的位置。
再次參照圖3,在步驟S6中,處理器30判定是否已受理動作結束指令。例如,操作人員操作輸入裝置40,以手動方式輸入動作結束指令。當處理器30透過I/O介面34而從輸入裝置40受理動作結束指令時,則判定為「是」,並結束控制裝置16的動作。另一方面,處理器30在未受理動作結束指令的情況下是判定為「否」,並返回至步驟S1。
例如,操作人員在步驟S5結束後,在不輸入動作結束指令的情形下,使圖1所示的容器B內的工件W的配置變化。接著,操作人員操作輸入裝置40,來輸入上述參數調整指令。如此一來,處理器30是在步驟S1中判定為「是」,而對於容器B內的配置已變化後的工件W執行步驟S2~S5來調整參數PM n。如此,每當使容器B內的工件W的配置變化時就執行步驟S2~S5,藉此即可以針對配置於各種位置的工件W,對參數PM n進行最佳化。
如以上,在本實施形態中,處理器30是作為圖像生成部52、位置檢測部54、輸入受理部56、匹配位置取得部58、及參數調整部60來發揮功能,並且調整參數PM。從而,圖像生成部52、位置檢測部54、輸入受理部56、匹配位置取得部58、及參數調整部60構成用於調整參數PM的裝置50(圖2)。
根據此裝置50,使用在圖像資料ID2中使工件模型WM匹配於工件特徵WP時取得的匹配位置MP來調整參數PM。因此,即使是沒有與參數PM的調整相關的專門知識的操作人員,也可以取得匹配位置MP,藉此即可以調整參數PM。
又,在本實施形態中,處理器30是重複執行圖8中的步驟S22~S28之一系列的動作,藉此來調整參數PM n。根據此構成,即能夠以自動的方式來調整參數PM n,並且可以迅速地對該參數PM n進行最佳化。
又,在本實施形態中,處理器30是作為圖像生成部52來發揮功能,而在圖像資料ID2中進一步顯示工件模型WM(步驟S11),並且因應於輸入資料IP1,使圖像資料ID2所顯示的工件模型WM的位置位移(步驟S13)。並且,處理器30是在圖像資料ID2中當工件模型WM已配置成和工件特徵WP一致時,作為匹配位置取得部58來發揮功能,而取得匹配位置MP(步驟S15)。
根據此構成,操作人員可以一面視覺辨識顯示裝置38所顯示的圖像資料ID2一面操作輸入裝置40,藉此在圖像資料ID2中容易地使工件模型WM和工件特徵WP一致,而可以據此取得匹配位置MP。從而,即使是沒有與參數PM的調整相關的專門知識的操作人員,只要在圖像上將工件模型WM對位於工件特徵WP,即可以容易地取得匹配位置MP。
如上述地調整了參數PM n後,處理器30使用調整後的參數PM n,使機器人12執行對於工件W的作業(具體而言為工件處理作業)。以下,針對機器人12所執行之對於工件W的作業進行說明。當處理器30從操作人員、上位控制器、或電腦程式受理作業開始指令後,則使機器人12動作,將視覺感測器14定位至可以拍攝容器B內的工件W的拍攝位置,並且使視覺感測器14動作來拍攝工件W。
此時,在視覺感測器14所拍攝的圖像資料ID3中,顯示有至少1個工件W的工件特徵WP。處理器30是透過I/O介面34而從視覺感測器14取得圖像資料ID3,並且依據該圖像資料ID3,來生成用於使機器人12動作的動作指令CM。
更具體而言,處理器30是作為位置檢測部54來發揮功能,而將調整後的參數PM n應用於演算法AL,並且依照該演算法AL,將工件模型WM和圖像資料ID3所顯現的工件特徵WP進行對照。其結果,處理器30是以感測器座標系統C3的座標來取得圖像資料ID3中的檢測位置DP ID3
接著,處理器30將已取得的檢測位置DP ID3轉換為機器人座標系統C1(或工具座標系統C2),藉此取得已拍攝的工件W在機器人座標系統C1(或工具座標系統C2)中的位置資料PD。接著,處理器30是依據已取得的位置資料PD來生成用於控制機器人12的動作指令CM,並且依照該動作指令CM來控制各伺服馬達29,藉此使機器人12執行藉由端接器28來把持並拿起已取得位置資料PD的工件W之工件處理作業。
像這樣,在本實施形態中,處理器30是作為生成動作指令CM的指令生成部62來發揮功能。由於藉由使用調整後的參數PM n,即可以檢測出正確的檢測位置DP ID3(亦即,位置資料PD),因此處理器30可以使機器人12以高精確度的方式來執行工件處理作業。
接著,參照圖9,說明上述步驟S4(亦即,取得匹配位置的程序)的其他例。另外,在圖9所示的流程中,對於和圖5所示的流程同樣的程序是附上相同的步驟編號,並且省略重複的說明。在圖9所示的步驟S4中,處理器30是在步驟S11之後執行步驟S31及S32。
具體而言,在步驟S31中,處理器30是判定是否已受理用於從圖像資料ID2刪除工件模型WM的輸入資料IP3(第2輸入資料)、或用於將其他工件模型WM追加至圖像資料ID2的輸入資料IP4(第2輸入資料)。
在此,在上述步驟S11中,處理器30會有將工件模型WM錯誤地顯示在不適當的位置之情況。在圖10中,顯示工件模型WM顯示在不適當的位置的圖像資料ID2的例子。在圖10所示的圖像資料ID2中,有拍到和工件W不同的構件的特徵F。
處理器30在使用參數PM 1來求出檢測位置DP 1時,會有將特徵F誤認為工件W的工件特徵WP,而求出對應於特徵F的檢測位置DP 1之情況。在像這樣的情況下,操作人員必須從圖像資料ID2刪除對應於特徵F的位置所顯示的工件模型WM。
另一方面,在上述步驟S11中,處理器30會有無法辨識出圖像資料ID2所顯現的工件特徵WP,而沒有顯示出工件模型WM的情況。將像這樣的例子顯示於圖11。在圖11所示的圖像資料ID2中,在合計3個工件特徵WP當中,並未顯示與右上的工件特徵WP對應的工件模型WM。在像這樣的情況下,操作人員必須將工件模型WM追加至圖像資料ID2。
於是,在本實施形態中,處理器30構成為受理用於從圖像資料ID2刪除工件模型WM的輸入資料IP3、及用於將其他工件模型WM追加至圖像資料ID2的輸入資料IP4。具體而言,在步驟S11中顯示了圖10所示的圖像資料ID2的情況下,操作人員是一面視覺辨識該圖像資料ID2一面操作輸入裝置40,來輸入指定應刪除的工件模型WM的輸入資料IP3。
又,在步驟S11中顯示了圖11所示的圖像資料ID2的情況下,操作人員是一面視覺辨識該圖像資料ID2一面操作輸入裝置40,來輸入輸入資料IP4,前述輸入資料IP4是指定應追加的工件模型WM在圖像資料ID2(感測器座標系統C3)中的位置(例如,座標)。
當處理器30在此步驟S31中透過I/O介面34而從輸入裝置40受理輸入資料IP3或IP4時,則判定為「是」,並進入至步驟S32。另一方面,在未從輸入裝置40受理輸入資料IP3或IP4的情況下是判定為「否」,並進入至步驟S12。
在步驟S32中,處理器30是作為圖像生成部52來發揮功能,而依照已受理的輸入資料IP3或IP4,從圖像資料ID2刪除已顯示的工件模型WM、或將其他工件模型WM追加至圖像資料ID2來顯示。例如,當已受理輸入資料IP3時,處理器30是從圖10所示的圖像資料ID2刪除對應於特徵F的位置所顯示的工件模型WM。其結果,如圖12所示,可更新圖像資料ID2。
另一方面,當已受理輸入資料IP4時,處理器30是在圖11所示的圖像資料ID2中,在輸入資料IP4所指定的位置上追加並顯示工件模型WM。其結果,如圖6所示,會變成合計3個工件模型WM顯示在圖像資料ID2中來對應於全部的工件特徵WP。
在步驟S32之後,處理器30是和圖5的流程同樣地執行步驟S12~S15。另外,在圖9所示的流程中,處理器30在步驟S14中判定為「否」的情況下,即返回至步驟S31。如以上,根據本實施形態,操作人員可以在步驟S11所顯示的圖像資料ID2中,因應需要來刪除或追加工件模型WM。
另外,在圖9中的步驟S11中,處理器30亦可在圖像資料ID2中隨機決定的位置上顯示工件模型WM。在圖13中顯示處理器30將工件模型WM隨機地顯示在圖像資料ID2的例子。在此情況下,處理器30亦可隨機地決定要配置在圖像資料ID2的工件模型WM的個數,或者,操作人員亦可事先規定該個數。
作為替代方案,在圖9中的步驟S11中,處理器30亦可在圖像資料ID2中,在依照事先規定的規則而決定的位置上顯示工件模型WM。例如,此規則可規定成下述規則:在圖像資料ID2中將工件模型WM等間隔地配置成格子狀。在圖14中顯示處理器30依照等間隔地配置成格子狀的規則,將工件模型WM顯示在圖像資料ID2的例子。
當處理器30在步驟S11中隨機或依照預定的規則來配置了工件模型WM後,操作人員可以在步驟S31中將輸入資料IP3或IP4輸入至輸入裝置40,藉此因應需要來刪除或追加顯示在圖像資料ID2的工件模型WM。
接著,參照圖15,說明上述步驟S4(取得匹配位置的程序)的另一其他例。在圖15所示的步驟S4中,處理器30是在步驟S11之後執行步驟S41及S42。在步驟S41中,處理器30判定在圖像資料ID2中,是否有滿足設為刪除對象的條件G1的工件模型WM。
具體而言,處理器30是針對圖像資料ID2所顯現的各個工件模型WM,算出存在於該工件模型WM的佔有區域內之構成工件特徵WP的三維點群的點(或拍到工件特徵WP的像素)的數量N。然後,處理器30在此步驟S41中,針對各個工件模型WM,判定已算出的數量N是否為事先規定的閾值N th以下(N≦N th),在有判定為N≦N th的工件模型WM的情況下,則將該工件模型WM特定為刪除對象,並且判定為「是」。亦即,在本實施形態中,條件G1是規定為數量N為閾值N th以下。
例如,假設處理器30在步驟S11中生成圖14所示的圖像資料ID2。在此情況下,在圖像資料ID2所顯現的工件模型WM當中,有關於從上列的左側數來第2個及第4個的工件模型WM、以及從下列的左側數來第1個、第3個、及第4個的工件模型WM,存在於其專有區域內的工件特徵WP的點(像素)較少。從而,在此情況下,處理器30是在步驟S11中將這些合計5個工件模型WM特定為刪除對象,而判定為「是」。
在步驟S42中,處理器30是作為圖像生成部52來發揮功能,而自動地從圖像資料ID2中刪除在步驟S41中已特定為刪除對象的工件模型WM。在圖14所示的例子的情況下,處理器30是自動地從圖像資料ID2中,將已特定為刪除對象之上述合計5個工件模型WM刪除。在圖16中,顯示已刪除這5個工件模型WM的圖像資料ID2的例子。像這樣,在本實施形態中,處理器30是依照事先規定的條件G1,從圖像資料ID2自動地刪除已顯示的工件模型WM。
作為替代方案,處理器30亦可在步驟S41中,判定是否滿足在圖像資料ID2中追加工件模型WM的條件G2。例如,假設處理器30在步驟S11中生成圖11所示的圖像資料ID2。處理器30針對各個工件特徵WP,來判定是否具有包含於工件模型WM的專有區域的點(或像素)。
然後,處理器30在有不具有包含於工件模型WM的專有區域的點(像素)之工件特徵WP的情況下,將該工件特徵WP特定作為模型追加對象,並判定為「是」。亦即,在本實施形態中,條件G2是規定為:存在有不具有包含於工件模型WM的專有區域的點(像素)之工件特徵WP。例如在圖11所示的例子的情況下,處理器30在此步驟S41中,將圖像資料ID2的右上所示的工件特徵WP特定為模型追加對象,並判定為「是」。
然後,在步驟S42中,處理器30是作為圖像生成部52來發揮功能,而在與步驟S41中已特定為模型追加對象的工件特徵WP相對應的位置上,以自動的方式將工件模型WM追加至圖像資料ID2中。其結果,例如如圖6所示地追加了工件模型WM。
像這樣,在本實施形態中,處理器30是依照事先規定的條件G2,將工件模型WM追加並顯示於圖像資料ID2。根據圖15所示的流程,由於處理器30可以依照條件G1或G2來自動地刪除或追加工件模型WM,因此可以減少操作人員的作業。
接著,參照圖17及圖18,說明機器人系統10的其他功能。在本實施形態中,處理器30首先是執行圖17所示的圖像取得程序。在步驟S51中,處理器30是將識別視覺感測器14所拍攝的圖像資料ID1 _i的編號「i」設定為「1」。
在步驟S52中,處理器30判定是否已受理拍攝開始指令。例如,操作人員操作輸入裝置40來輸入拍攝開始指令。當處理器30透過I/O介面34而從輸入裝置40受理拍攝開始指令時,則判定為「是」,並進入至步驟S53。另一方面,處理器30在未受理到拍攝開始指令的情況下是判定為「否」,並進入至步驟S56。
在步驟S53中,處理器30是和上述步驟S2同樣地藉由視覺感測器14來拍攝工件W。其結果,視覺感測器14拍攝第i個圖像資料ID1 _i,並供給至處理器30。在步驟S54中,處理器30將最近一次的步驟S53取得的第i個圖像資料ID1 _i與識別編號「i」一起記憶至記憶體32。在步驟S55中,處理器30將識別編號「i」增加「1」(i=i+1)。
在步驟S56中,處理器30判定是否已受理拍攝結束指令。例如,操作人員操作輸入裝置40來輸入拍攝結束指令。當處理器30受理拍攝結束指令時,則判定為「是」,並結束圖17所示的流程。另一方面,處理器30在未受理拍攝結束指令的情況下是判定為「否」,並返回至步驟S52。
例如,操作人員在步驟S55結束後,在不輸入拍攝結束指令的情形下,使圖1所示的容器B內的工件W的配置變化。接著,操作人員操作輸入裝置40來輸入拍攝開始指令。如此一來,處理器30是在步驟S52中判定為「是」,而對於容器B內的配置已變化後的工件W執行步驟S53~S55,來取得第i+1個圖像資料ID1 _i +1
在圖17所示的流程的結束後,處理器30執行圖18所示的流程。另外,在圖18所示的流程中,對於和圖3及圖17所示的流程同樣的程序是附上相同的步驟編號,並且省略重複的說明。處理器30在步驟S1中已判定為「是」的情況下是進入至步驟S51,另一方面,在判定為「否」的情況下是進入至步驟S6。
然後,處理器30在步驟S6中判定為「是」的情況下,則結束圖18所示的流程,另一方面,在判定為「否」的情況下,則返回至步驟S1。在步驟S51中,處理器30是將圖像資料ID1 _i的識別編號「i」設定為「1」。
在步驟S62中,處理器30生成顯示有工件特徵WP的圖像資料ID2 _i。具體而言,處理器30是從記憶體32中讀出以識別編號「i」識別的第i個圖像資料ID1 _i。並且,處理器30依據第i個圖像資料ID1 _i,將第i個圖像資料ID1 _i所顯現的工件特徵WP設為操作人員可以視覺辨識的GUI,來生成例如如圖4所示的第i個圖像資料ID2 _i
在步驟S62之後,處理器30使用第i個圖像資料ID2 _i來依序執行上述步驟S4及S5,而針對第i個圖像資料ID2 _i來將參數PM n調整成最佳化。接著,處理器30執行步驟S55,將識別編號「i」增加「1」(i=i+1)。
在步驟S64中,處理器30判定識別編號「i」是否已超過最大值i MAX(i>i MAX)。此最大值i MAX是在圖17的流程中處理器30取得的圖像資料ID1 _i的總數。處理器30在步驟S64中在i>i MAX的情況下是判定為「是」,並結束圖18所示的流程,另一方面,在i≦i MAX的情況下是判定為「否」,並返回至步驟S62。如此,處理器30在步驟S64中判定為「是」為止,重複執行步驟S62、S4、S5、S55、及S64的迴圈,針對全部的圖像資料ID2 _i(i=1,2,3,…i MAX)來調整參數PM n
如以上,在本實施形態中,是藉由圖17所示的流程,來累積複數個已配置在各種位置的工件W的圖像資料ID1 _i,之後,在圖18所示的流程中,使用已累積的複數個圖像資料ID1 _i來調整參數PM。根據此構成,即可以針對配置在各種位置的工件W,將參數PM最佳化。
另外,在圖17所示的流程中,處理器30亦可省略步驟S52,並且取代步驟S56而執行上述步驟S64,來判定識別編號「i」是否已超過最大值i MAX(i>i MAX)。在此時的步驟S64中使用的閾值i MAX是藉由操作人員而事先規定為2以上的整數。
然後,處理器30在步驟S64中判定為「是」的情況下,結束圖17所示的流程,另一方面,在判定為「否」的情況下,則返回至步驟S53。在此,處理器30在像這樣的圖17的流程的變形例中,亦可在每次執行步驟S53時,變更視覺感測器14的位置(具體而言為位置及姿勢),而從不同的位置及視線方向A2來拍攝工件W。根據此變形例,即使操作人員未以手動方式改變工件W的配置,仍然可以自動地取得並累積已拍攝各種配置的工件W的圖像資料ID1 _i
另外,處理器30亦可依照事先保存於記憶體32的電腦程式,來執行圖3、圖17、及圖18所示的流程。此電腦程式包含用於使處理器30執行圖3、圖17、及圖18所示的流程之命令語句,且是事先保存於記憶體32。
在上述實施形態中,說明了處理器30藉由實機的機器人12及視覺感測器14來取得實物的工件W的圖像資料ID1之情況。然而,處理器30亦可藉由已將視覺感測器14模型化的視覺感測器模型14M,來虛擬地拍攝工件模型WM,藉此取得圖像資料ID1。
在此情況下,處理器30亦可在虛擬空間內配置將機器人12模型化的機器人模型12M、以及固定在該機器人模型12M的端接器模型28M之視覺感測器模型14M,使機器人模型12M及視覺感測器模型14M在虛擬空間內模擬地動作,來執行圖3、圖17、及圖18所示的流程(亦即模擬(simulation))。根據此構成,可以在不使用實機的機器人12及視覺感測器14的情形下,藉由所謂的離線動作來調整參數PM。
另外,也可以從上述裝置50省略輸入受理部56。在此情況下,處理器30亦可省略圖5的步驟S12~S14,從步驟S11中所生成的圖像資料ID2中以自動方式取得匹配位置MP。例如,亦可將學習模型LM事先保存於記憶體32中,前述學習模型LM顯示圖像資料ID所顯現的工件特徵WP與匹配位置MP的相關性。
可以對機械學習裝置反覆地給予例如顯現有至少1個工件特徵WP的圖像資料ID、以及該圖像資料ID中的匹配位置MP的資料之學習資料集(data set),藉此來建構此學習模型LM(例如,監督式學習)。處理器30將步驟S11中所生成的圖像資料ID2輸入至學習模型LM。如此一來,學習模型LM輸出與已輸入的圖像資料ID2所顯現的工件特徵WP對應的匹配位置MP。如此,處理器30可以從圖像資料ID2自動地取得匹配位置MP。又,處理器30亦可構成為執行此機械學習裝置的功能。
另外,在上述實施形態中,說明了在圖像資料ID2中,由三維點群來構成工件特徵WP的情況。但是,並不限定於此,處理器30亦可在步驟S3中,將圖像資料ID2生成為距離圖像,前述距離圖像是表示成:拍到工件特徵WP的各像素的顏色或色調(濃淡)因應於上述距離d而變化。
又,處理器30亦可在步驟S3中,在不新生成圖像資料ID2的情形下,將已從視覺感測器14取得的圖像資料ID1,生成為用於顯示在顯示裝置38上的圖像資料,並使其顯示於顯示裝置38。並且,處理器30亦可使用圖像資料ID1來執行步驟S3及S4。
又,亦可從上述裝置50省略圖像生成部52,而對外部機器(例如,視覺感測器14或PC)要求該圖像生成部52的功能。例如,處理器30亦可將視覺感測器14所拍攝的圖像資料ID1,在不加入任何變更的情形下作為原本的資料形式來使用,並調整參數PM。在此情況下,視覺感測器14會變成要負責圖像生成部52的功能。
視覺感測器14並不限定於三維視覺感測器,亦可為二維相機。在此情況下,處理器30亦可依據二維的圖像資料ID1來生成二維的圖像資料ID2,並且執行步驟S3及S4。在此情況下,感測器座標系統C3為二維的座標系統(x,y)。
在上述實施形態中,說明了裝置50組裝於控制裝置16的情況。但是,並不限定於此,裝置50亦可組裝在獨立於控制裝置16的電腦(例如,桌上型PC、平板終端裝置或智慧型手機等之行動電子機器、或用於教示機器人12的教示裝置)。在此情況下,該獨立的電腦亦可具有作為裝置50來發揮功能的處理器,且以可通訊的方式連接於控制裝置16的I/O介面34。
另外,上述端接器28並不限定於機械手,亦可為進行對工件的作業之任何裝置(雷射加工頭、熔接炬、塗料塗佈器等)。以上,已透過實施形態來說明了本揭示,但上述實施形態並不是要限定申請專利範圍之發明。
10:機器人系統 12:機器人 14:視覺感測器 16:控制裝置 18:機器人基座 20:旋繞體 22:下臂部 24:上臂部 26:手腕部 26a:手腕基座 26b:手腕凸緣 28:端接器 29:伺服馬達 30:處理器 32:記憶體 34:I/O介面 36:匯流排 38:顯示裝置 40:輸入裝置 50:裝置 52:圖像生成部 54:位置檢測部 56:輸入受理部 58:匹配位置取得部 60:參數調整部 62:指令生成部 A1:手腕軸 A2:光軸(視線方向) B:容器 C1:機器人座標系統 C2:工具座標系統 C3:感測器座標系統 C4:工件座標系統 F:特徵 ID2:圖像資料 S1~S6,S11~S15,S21~S28,S31,S32,S41,S42,S51~S56,S62,S64:步驟 W:工件 WM:工件模型 WP:工件特徵 x:x軸 y:y軸 z:z軸
圖1是一實施形態之機器人系統的概略圖。 圖2是圖1所示的機器人系統的方塊圖。 圖3是顯示一實施形態之參數調整方法的流程圖。 圖4是顯示在圖3中的步驟S3中生成的圖像資料的一例。 圖5是顯示圖3中的步驟S4的流程的一例。 圖6是顯示在圖5中的步驟S11中生成的圖像資料的一例。 圖7是顯示在圖像資料內工件模型匹配於工件特徵的狀態。 圖8是顯示圖3中的步驟S5的流程的一例。 圖9是顯示圖3中的步驟S4的流程的其他例。 圖10是顯示在圖9中的步驟S11中生成的圖像資料的一例。 圖11是顯示在圖9中的步驟S11中生成的圖像資料的其他例。 圖12是顯示在圖9中的步驟S32中生成的圖像資料的例子。 圖13是顯示在圖9中的步驟S11中生成的圖像資料中,隨機顯示工件模型的狀態。 圖14是顯示在圖9中的步驟S11中生成的圖像資料中,依照事先規定的規則來顯示工件模型的狀態。 圖15是顯示圖3中的步驟S4的流程的另一例。 圖16是顯示在圖15中的步驟S42中生成的圖像資料的例子。 圖17是顯示藉由視覺感測器取得圖像資料的流程的一例。 圖18是顯示其他實施形態之參數調整方法的流程圖。
12:機器人
14:視覺感測器
16:控制裝置
29:伺服馬達
30:處理器
32:記憶體
34:I/O介面
36:匯流排
38:顯示裝置
40:輸入裝置
50:裝置
52:圖像生成部
54:位置檢測部
56:輸入受理部
58:匹配位置取得部
60:參數調整部
62:指令生成部

Claims (11)

  1. 一種裝置,具備: 位置檢測部,使用參數求出圖像資料中的工件的位置來作為檢測位置,前述參數是用於在顯示有視覺感測器所拍攝的前述工件的工件特徵之前述圖像資料中,將已將前述工件模型化的工件模型和前述工件特徵進行對照; 匹配位置取得部,取得在前述圖像資料中將前述工件模型配置成和前述工件特徵一致時該圖像資料中的該工件模型的位置,來作為匹配位置;及 參數調整部,依據表示前述檢測位置與前述匹配位置的差的資料來調整前述參數,以使前述位置檢測部可以將前述檢測位置作為對應於前述匹配位置的位置來求出。
  2. 如請求項1之裝置,其更具備生成前述圖像資料的圖像生成部。
  3. 如請求項2之裝置,其中前述圖像生成部是在前述圖像資料中進一步顯示前述工件模型, 前述裝置更具備受理第1輸入資料的輸入受理部,前述第1輸入資料是用於在前述圖像資料中使前述工件模型的位置位移的資料, 前述匹配位置取得部是當前述圖像生成部因應於前述第1輸入資料使前述圖像資料所顯示的前述工件模型的位置位移,而將該工件模型配置成與前述工件特徵一致時,取得前述匹配位置。
  4. 如請求項3之裝置,其中前述圖像生成部是進行下述動作: 在前述位置檢測部所取得的前述檢測位置上顯示前述工件模型;或 在前述圖像資料中隨機決定的位置上顯示前述工件模型;或 在前述圖像資料中在依照事先規定的規則而決定的位置上顯示前述工件模型。
  5. 如請求項3或4之裝置,其中前述輸入受理部是進一步受理第2輸入資料,前述第2輸入資料是用於從前述圖像資料刪除前述工件模型、或將第2前述工件模型追加至前述圖像資料, 前述圖像生成部是依照前述第2輸入資料,將已顯示的前述工件模型從前述圖像資料刪除、或將前述第2工件模型追加並顯示於前述圖像資料。
  6. 如請求項3或4之裝置,其中前述圖像生成部是依照事先規定的條件,將已顯示的前述工件模型從前述圖像資料刪除、或將第2前述工件模型追加並顯示於前述圖像資料。
  7. 如請求項1至6中任一項之裝置,其中前述參數調整部是藉由重複執行下述一系列的動作來調整前述參數: 依據表示前述差的資料來決定可以縮小前述差的前述參數的變化量, 藉由使前述參數變化已決定的前述變化量來更新該參數, 使用更新後的前述參數來取得表示前述位置檢測部所求出的前述檢測位置與前述匹配位置的差之資料。
  8. 如請求項1至7中任一項之裝置,其中前述工件特徵是藉由下述方式取得:藉由已將前述視覺感測器模型化的視覺感測器模型,來虛擬地拍攝前述工件模型。
  9. 一種機器人系統,具備: 視覺感測器,拍攝工件; 機器人,執行對前述工件的作業; 指令生成部,依據前述視覺感測器所拍攝的圖像資料,來生成用於使前述機器人動作的動作指令;及 如請求項1至8中任一項之裝置, 前述位置檢測部是使用前述參數調整部已調整的前述參數,取得前述視覺感測器所拍攝的前述圖像資料中的前述工件的位置來作為檢測位置, 前述指令生成部是依據前述位置檢測部使用前述已調整的參數所取得的前述檢測位置,來取得用於控制前述機器人的控制座標系統中的前述工件的位置資料, 依據前述位置資料來生成前述動作指令。
  10. 一種方法,是由處理器進行下述內容: 使用參數求出圖像資料中的工件的位置來作為檢測位置,前述參數是用於在顯示有視覺感測器所拍攝的前述工件的工件特徵之前述圖像資料中,將已將前述工件模型化的工件模型和前述工件特徵進行對照, 取得在前述圖像資料中將前述工件模型配置成和前述工件特徵一致時該圖像資料中的該工件模型的位置,來作為匹配位置, 依據表示前述檢測位置與前述匹配位置的差的資料來調整前述參數,以可以將前述檢測位置作為對應於前述匹配位置的位置來求出。
  11. 一種電腦程式,使前述處理器執行如請求項10之方法。
TW110141851A 2020-11-18 2021-11-10 調整參數的裝置、機器人系統、方法及電腦程式 TW202235239A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-191918 2020-11-18
JP2020191918 2020-11-18

Publications (1)

Publication Number Publication Date
TW202235239A true TW202235239A (zh) 2022-09-16

Family

ID=81708874

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110141851A TW202235239A (zh) 2020-11-18 2021-11-10 調整參數的裝置、機器人系統、方法及電腦程式

Country Status (6)

Country Link
US (1) US20230405850A1 (zh)
JP (1) JPWO2022107684A1 (zh)
CN (1) CN116472551A (zh)
DE (1) DE112021004779T5 (zh)
TW (1) TW202235239A (zh)
WO (1) WO2022107684A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248353A1 (ja) * 2022-06-21 2023-12-28 ファナック株式会社 ワークの位置データを取得する装置、制御装置、ロボットシステム、方法、及びコンピュータプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02210584A (ja) 1989-02-10 1990-08-21 Fanuc Ltd 視覚センサにおける画像処理用教示データ設定方法及び視覚センサ
JP5245937B2 (ja) * 2009-03-12 2013-07-24 オムロン株式会社 3次元計測処理のパラメータの導出方法および3次元視覚センサ
JP7250489B2 (ja) * 2018-11-26 2023-04-03 キヤノン株式会社 画像処理装置およびその制御方法、プログラム
CN113811740B (zh) * 2019-06-17 2023-11-21 欧姆龙株式会社 计测装置、计测方法以及计测程序

Also Published As

Publication number Publication date
US20230405850A1 (en) 2023-12-21
WO2022107684A1 (ja) 2022-05-27
CN116472551A (zh) 2023-07-21
JPWO2022107684A1 (zh) 2022-05-27
DE112021004779T5 (de) 2023-07-06

Similar Documents

Publication Publication Date Title
KR20200093464A (ko) 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법
US20170072566A1 (en) Measurement system used for calibrating mechanical parameters of robot
US11833697B2 (en) Method of programming an industrial robot
JP6235664B2 (ja) ロボットの機構パラメータを校正するために使用される計測装置
US20080013825A1 (en) Simulation device of robot system
US10306149B2 (en) Image processing apparatus, robot system, robot, and image processing method
JP2016221645A (ja) ロボット、ロボット制御装置およびロボットシステム
JP6740288B2 (ja) 物体検査装置、物体検査システム、及び検査位置を調整する方法
JP2016099257A (ja) 情報処理装置及び情報処理方法
JP6680720B2 (ja) ロボットの動作軌跡を自動で生成する装置、システム、および方法
CN113664835B (zh) 机器人自动手眼标定方法与***
JP2018051634A (ja) ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置
TW202235239A (zh) 調整參數的裝置、機器人系統、方法及電腦程式
CN109227531B (zh) 生成动作程序的编程装置以及程序生成方法
US11559888B2 (en) Annotation device
CN112643718B (zh) 图像处理设备及其控制方法和存储其控制程序的存储介质
JP6343930B2 (ja) ロボットシステム、ロボット制御装置、及びロボット制御方法
WO2023248353A1 (ja) ワークの位置データを取得する装置、制御装置、ロボットシステム、方法、及びコンピュータプログラム
Xu et al. A fast and straightforward hand-eye calibration method using stereo camera
JP2019036072A (ja) 画像処理方法、画像処理装置、および製造方法
WO2024042619A1 (ja) 装置、ロボットの制御装置、ロボットシステム、方法
WO2023105637A1 (ja) 産業機械の動作を検証するための装置、及び方法
WO2023100282A1 (ja) データ生成システム、モデル生成システム、推定システム、学習済みモデルの製造方法、ロボット制御システム、データ生成方法、およびデータ生成プログラム
JP7481432B2 (ja) ロボットの教示位置を修正するための装置、教示装置、ロボットシステム、教示位置修正方法、及びコンピュータプログラム
US20230398688A1 (en) Motion trajectory generation method for robot, motion trajectory generation apparatus for robot, robot system, and program