SE531104C2 - Metod och system för programmering av en industrirobot - Google Patents

Metod och system för programmering av en industrirobot

Info

Publication number
SE531104C2
SE531104C2 SE0203909A SE0203909A SE531104C2 SE 531104 C2 SE531104 C2 SE 531104C2 SE 0203909 A SE0203909 A SE 0203909A SE 0203909 A SE0203909 A SE 0203909A SE 531104 C2 SE531104 C2 SE 531104C2
Authority
SE
Sweden
Prior art keywords
robot
waypoints
information
path
graphical representation
Prior art date
Application number
SE0203909A
Other languages
English (en)
Other versions
SE0203909L (sv
SE0203909D0 (sv
Inventor
John Pretlove
Charlotte Skorup
Thomas Pettersen
Original Assignee
Abb Research Ltd
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 Abb Research Ltd filed Critical Abb Research Ltd
Priority to SE0203909A priority Critical patent/SE531104C2/sv
Publication of SE0203909D0 publication Critical patent/SE0203909D0/sv
Priority to EP03079134A priority patent/EP1435280B1/en
Priority to DE60323043T priority patent/DE60323043D1/de
Priority to AT03079134T priority patent/ATE405387T1/de
Priority to JP2004000707A priority patent/JP4817603B2/ja
Publication of SE0203909L publication Critical patent/SE0203909L/sv
Publication of SE531104C2 publication Critical patent/SE531104C2/sv

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/4202Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine preparation of the programme medium using a drawing, a model
    • G05B19/4207Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine preparation of the programme medium using a drawing, a model in which a model is traced or scanned and corresponding data recorded
    • 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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36452Touch points with handheld probe, camera detects position and orientation probe
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36453Handheld tool like probe
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36492Record position and orientation, posture of probe, tool
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36495Recording position and other parameters, current, tool diameter, voltage
    • 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/40515Integration of simulation and planning
    • 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/45Nc applications
    • G05B2219/45013Spraying, coating, painting
    • 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/45Nc applications
    • G05B2219/45065Sealing, painting robot
    • 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

531 1Ü4 TEKNIKENS STANDPUNKT Robotar används ofta för att behandla ytan pà ett objekt.
Befintlig praxis för programmering av en robot innebär att lära roboten en sekvens av vägpunkter. Vägpunkterna defini- erar banan som roboten skall följa under behandlingen av ob- jektet. En vägpunkt innefattar tredimensionell läges- och tredimensionell orienteringsinformation. Roboten lärs att utföra uppgiften genom att ledas genom de olika vägpunkterna utmed den önskade manövreringsbanan under programmeringen.
Dessa vägpunkter inlagras sàsom instruktioner i ett minne i robotstyrenheten. Under robotens manövrering utförs program- instruktionerna, varvid roboten fas att manövrera pà önskat sätt.
I allmänhet programmeras roboten att utföra en uppgift av en mänsklig operatör som manuellt manövrerar roboten till de önskade lägena utmed banan med användning av en rörlig pro- grammeringsenhet, en sà kallad programmeringslàda (teach pendant). En industrirobot uppbär vanligen ett arbetsdon innefattande ett verktyg för att utföra behandlingen, exempelvis ett svetsningsverktyg eller ett màlningsverktyg.
Under programmeringen av banan mäste operatören positionera och orientera arbetsdonet i varje vägpunkt utmed banan.
Alternativt, om det finns en tredimensionell CAD-modell av objektet, lär en person med datavetenskaplig bakgrund in vägpunkterna i ett robotsimuleringssystem, så kallad off- line-programmering. Befintliga metoder baserade pà CAD- metoden omfattar visuell àterkoppling i en helt virtuell värld, dvs en virtuell framställning av bàde den verkliga världen och objektet.
Hur som helst är inlärningsprocessen tidskrävande, krånglig, felbenägen och i kräver i nästan samtliga fall àtskilliga iterationer innan programmet är acceptabelt. CAD-metoden är kostsam, den kräver en tredimensionell CAD-modell av objek- tet och den är inte alltid intuitiv att använda. Komplexi- teten i CAD-systemet kräver att operatören som programmerar roboten har kunskap i datavetenskap. En sàdan person har 53? 104 vanligen liten eller ingen kunskap om processen. I fallet manuell inlärning är styrningen av processen ofta svàr att optimera, men den har fördelen att den indirekt utnyttjar implicit processkunskap hos operatören. En annan nackdel med den manuella inlärningsmetoden är att inte omfattar nàgon visuell återkoppling till operatören som àskàdliggör vad som har programerats. Operatören maste använda ”trial-and- error”-metoden tills programmet är acceptabelt. Om t ex roboten skall läras att mala ett objekt och hela ytan hos objektet måste täckas med färg, är det omöjligt för operatö- ren, utan att köra programet efteràt, att se om han har missat nagon del av ytan. Sàledes krävs ett antal iteratio- ner innan kvaliteten i behandlingen, ningen, är tillfredsställande. i detta exempel mäl- Genom det japanska patentet JPl00lll22 är en förbättrat metod för att lära en industrirobot känt. Metoden innebär att en visuell àterkoppling visas för operatören av den respons som är resultatet av en manövrering innan roboten manövreras. Den visuella àterkopplingen framställs till- sammans med det verkliga objektet. Metoden innefattar: mätning av det aktuella tillståndet för roboten och dess omgivning genom en CCD-kamera, operatören inmatar robot- manövreringsinformation av programeringsenheten, utvärde- ring av ett svar efter manövreringen av roboten baserat pà den inmatade informationen, omvandling av den utvärderade manövreringen till information som skall visas som en bild, förberedande av bildinformation relaterad till robotens svar baserat pà informationen som hänför sig till kameran och den utvärderade informationen, syntetisering av det utvärderade svaret baserat pà den bildinformation som uppmätts av CCD- kameran och den bildinformation som hänför sig till robotens svar, samt visning av en vy innefattande roboten, dess om- givning och robotens utvärderade svar. Metoden visar sàlunda nästa manövrering som skall utföras av roboten, men det ger inte någon visuell återkoppling till operatören beträffande vad som programmerats. 531 104 REDoGöRELsE FÖR UPPFINNINGEN Ändamälet med föreliggande uppfinning är att tillhandahålla en förbättrad lösning för industrirobotprogrammering, vilken minskar inlärningstiden för inlärningsprocessen och ökar kvaliteten pà behandlingsresultatet.
Enligt en aspekt av föreliggande uppfinning àstadkoms ända- màlet genom den inledningsvis definierade metoden som inne- fattar: inhämtande av information om läget hos vägpunkterna i förhållande till objektet, lagring av informationen om läget hos vägpunkterna, simulering av robotbanan baserat pà den erhållna informationen om vägpunkterna och en modell av roboten, generering av en grafisk framställning av robot- banan baserat pà den simulerade robotbanan samt visning av en vy innefattande objektet och nämnda grafiska framställ- ning av robotbanan projicerad pà objektet. Denna metod för- bättrar inlärningsprocessen genom att visualisera robotbanan i förhällande till det verkliga objektet som skall behand- las.
Uppenbarligen är det inte effektivt om roboten förflyttar verktyget i räta linjer mellan de av operatören specifice- rade vägpunkterna. För att uppnà ett effektivt robotprogram, som får verktyget att passera genom den specificerade väg- punkten med den önskade hastigheten och riktningen mäste en robotbana genereras. Robotbanan genereras av en vägsimulator som simulerar robotbanan baserat pa specificerade vägpunkter och en modell av roboten. Datorgenererad information, som representerar den genererade robotbanan, visas projicerad pà det verkliga objektet eller pà en bild av det verkliga ob- jektet. Det är således möjligt för operatören att fa utökad visuell àterkoppling medan han gör ett nytt robotprogram relaterat till ett specifikt objekt. Det är inte längre nöd- vändigt att köra robotprogrammet för att se resultatet av programmeringen. Därmed minskas det nödvändiga antalet ite- rationer och sàlunda inlärningstiden. Metoden är särskilt fördelaktig under off-line-programmering. En annan fördel med metoden är att ingen tredimensionell CAD-modell av 521V! 'H34 objektet behövs eftersom den genererade grafiken projiceras på det verkliga objektet eller på en bild av det verkliga objektet. Programmeringstiden kommer att minskas avsevärt eftersom operatören kommer att kunna göra ett robotprogram på högre kvalitetsnivå under den första iterationen jämfört med dagens metod.
Enligt en ytterligare utföringsform av uppfinningen inne- fattar metoden att inhämta information om läget för ett visningsorgan i förhållande till objektet och visa nämnda vy i beroende av läget för visningsorganet i förhållande till objektet. Företrädesvis hämtas även orienteringen av vis- ningsorganet och nämnda vy visas i beroende av läget och orienteringen av visningsorganet. Således är den på vis- ningsorganet visade vyn beroende av sitt läge och oriente- ring i förhållande till objektet. Operatören kan således gå runt det verkliga objektet och se resultatet av vad han har lärt på det verkliga objektet ur olika synvinklar.
Enligt en annan utföringsform av uppfinningen innefattar metoden: inhämtning av information om verktygets oriente- ringar i vägpunkterna och generering av en grafisk fram- ställning av verktygets orienteringar i vägpunkterna. Under programmeringen av roboten behöver också operatören lära roboten hur man skall orientera verktyget. Programmeringen förenklas ytterligare om orienteringarna av verktyget i väg- punkterna visualiseras för operatören.
Enligt en ytterligare utföringsform av uppfinningen inne- fattar metoden: inhämtning av information om processen som skall utföras av roboten i samband med robotbanan, simule- ring av resultatet av processen baserat på den inhämtade informationen om vägpunkterna, den inhämtade information om processen och en modell av processen, generering av en gra- fisk framställning av det simulerade resultatet av proces- sen, och presentation av en vy som visar den grafiska fram- ställningen av det simulerade resultatet av processen proji- cerad på objektet. Den erhållna informationen är exempelvis information om verktygskonfigurationen, såsom den pensel som 531 'lfifiï skall användas i en màlningsprocess. Därvid är det möjligt för operatören att utvärdera om den valda verktygskonfigura- tionen uppnàr det önskade resultatet. Slutresultatet för den process som utförs av roboten presenteras för operatören i den verkliga arbetsmiljön. I màlningsexemplet visas resulta- tet av màlningen pà objektets yta. Metoden visualiserar re- sultatet av programmeringsprocessen för operatören utan att robotprogrammet behöver köras eller processen startas. Före- trädesvis är det möjligt för operatören att välja mellan att visualisera robotbanan, resultatet av processen eller bade robotbanan och resultatet av processen samtidigt.
Visualiseringen av robotbanan och/eller utgången av proces- sen kan antingen visualiseras medan operatören lär in ett nytt robotprogram eller också kan robotbanan och/eller ut- gàngen av processen visualiseras som funktion av tiden efter att operatören har fullbordat inlärningen, men innan robot- programkoden genereras och nedladdas till robotstyrenheten.
I bàda fallen kan operatören undersöka det simulerade resul- tatet av robotprogrammet utan att behöva utföra det nya ro- botprogrammet i verkligheten.
Under visualiseringen av robotprocessen som funktion av ti- den understöder metoden stopp, paus, omstart och bakàtspel- ning av simuleringen.
Enligt en vidare utföringsform av uppfinningen innefattar metoden: inhämtning av information om vilket verktyg som skall användas för att utföra processen och om orienteringen av verktyget i vägpunkterna, simulering av verktyget som ut- för processen, generering av en grafisk framställning av verktyget som utför processen utmed en robotbana baserat pà den inhämtade informationen om läget för vägpunkterna och orientering av verktyget, samt presentation av en vy som visar verktyget som rör sig utmed robotbanan och utför pro- cessen, baserat pà den genererade grafiska framställningen av simuleringen av verktyget som utför processen. Om proces- sen är målning visas t ex en virtuell sprutpistol som rör sig utmed robotbanan och utför màlningsproceduren och färgen 53'l 'm4 som appliceras pà objektet visas. Denna visualisering av verktyget som utför processen hjälper operatören att utvär- dera det inlärda robotprogrammet.
Enligt en ytterligare utföringsform av uppfinningen visas vyn av robotbanan och/eller resultatet av processen som funktion av tiden och vyn visas proportionell mot realtid.
Realtid är den verkliga tid det tar för roboten att röra sig genom banan och utföra processen. I en föredragen utförings- form innefattar metoden vidare: mottagning av information om en önskad hastighet för visning av vyn, och visning av vyn i enlighet med den önskade hastigheten. Företrädesvis ändras hastigheten i förhållande till realtiden. Ibland kan opera- tören finna att realtiden är för snabb och således vilja bromsa ned hastigheten. Denna utföringsform av uppfinningen gör det möjligt att ändra hastigheten för visningen.
Enligt en vidare utföringsform av uppfinningen innefattar metoden generering av olika grafiska framställningar be- roende av huruvida resultatet av processen visas fràn en framsida eller en baksida i förhållande till objektet. Det är sålunda lätt för operatören att urskilja mellan bak och fram. En àtergiven sprutningspuls visas exempelvis med en framsida och en baksida med baksidan àtergiven med trans- parent grafik. Detta gör det möjligt att stänga av den gra- fiska processinformationen, exempelvis genereringen av sprutningspuls, när baksidan av sprutningspulsen visas.
Enligt en ytterligare utföringsform av uppfinningen inne- fattar metoden simulering av kvaliteten pà resultatet av processen baserat pà en eller ett flertal fördefinierade kvalitetsparametrar och modellen av processen, generering av en grafisk framställning av kvaliteten pà resultatet av pro- cessen, samt visning av vyn baserat pà den genererade gra- fiska framställningen av simnleringen av kvaliteten pà re- sultatet av processen. Företrädesvis innefattar metoden vidare en utvärdering av huruvida kvaliteten pà resultatet inte uppfyller ett eller flera kvalitetskrav, baserat pà nämnda simulering av kvaliteten pà resultatet av processen, l0 531 104 samt generering av nämnda grafiska framställning med en visuell återkoppling till operatören när processkvaliteten bedöms att inte uppfylla kvalitetskraven. sen är kvalitetsparametrarna t ex överlappning mellan sprut- I målningsproces- pulser, delar av objektet som inte täcks av målningen, färg- tjockleken, färgbredden samt svikt hos färgen. Om färgen således bedöms vara sviktande eller att inte täcka objektet kommer detta att visas av den genererade grafiken. Denna ut- föringsform gör det möjligt för operatören att generera robotprogram med hög kvalitet utan behov att utföra den egentliga processen.
Enligt en vidare utföringsform av uppfinningen innefattar metoden att bestämma av huruvida en punkt på robotbanan är inom arbetsområdet för roboten och att underrätta operatören om punkten är utanför arbetsområdet. Huruvida en punkt är inom eller utom robotens arbetsområde bestäms på grundval av en modell av roboten. När operatören specificerar nya väg- punkter eller redigerar lagrade vägpunkter är det väsentligt att vägpunkterna befinner sig inom robotens arbetsområde. Om en specificerad vägpunkt är utanför arbetsområdet underrät- tas operatören. Det är också möjligt att undersöka om någon av punkterna på den av simulatorn genererade robotbanan be- finner sig utanför arbetsomràdet. När en punkt orsakar en singularitet hos roboten är punkten utanför arbetsområdet.
Enligt en ytterliggare utföringsform av uppfinningen inne- fattar metoden att inhämta en bild av objektet, registrera den genererade grafiska framställningen till bilden av objektet för att tillhandahålla en sammansatt förstärkt verklighetsbild och presentera nämnda vy baserat på den sammansatta förstärkta verklighetsbilden. Företrädesvis inhämtas bilden av objektet med hjälp av en kamera. Ett förstärkt verklighetssystem sammansmälter datorgenererad grafik av objekt med användarens utrymme i den verkliga världen. I denna utföringsform smälts den datorgenererade grafiken av vägpunkterna och banorna samman med bilden av det verkliga objektet. Alternativt visas den datorgenererade grafiken av vägpunkter och banor på genomskinliga glasögon 531 ¶Ü4 som operatören bär. Den genererade grafiken projiceras på glasögonen så att operatören kan se de projicerade vägpunkt- erna och banorna i förhållande till den verkliga världen och objektet. För att utföra en korrekt grafikregistrering an- vänds ett spårningssystem för att erhålla posen hos vis- ningsanordningens projektionsyta i förhållande till objek- tets koordinatram.
Enligt en ytterligare utföringsform av uppfinningen inne- fattar metoden att skaffa information om läget för ett pek- don som pekar på punkter på eller i närheten av objektet, att bestämma läget hos punkterna i förhållande till objek- tets koordinatram baserat på nämnda införskaffade informa- tion, samt att lagra den punkt som för närvarande pekas ut av pekdonet som en vägpunkt vid mottagande av en registre- ringssignal. Operatören kan sålunda specificera vägpunkterna genom att gå runt objektet och peka ut vägpunkterna med an- vändning av pekdonet. Operatören behöver inte någon speciell datorkunskap och han använder sin kunskap och erfarenhet om processen under inlärningen av roboten.
Enligt en ytterligare aspekt av uppfinningen uppnås ända- målet genom en datorprogramprodukt som kan laddas in direkt i datorns internminne, innefattande programvarukoddelar för utförande av stegen i metoden enligt uppfinningen, när nämnda produkt körs på en dator. Datorprogramprodukten till- handahålls antingen på ett datorläsbart medium eller genom ett nät såsom Internet.
Enligt en annan aspekt av uppfinningen uppnås ändamålet genom ett datorläsbart medium med ett därpå inspelat pro- gram, där programmet skall förmå en dator att utföra stegen i metoden enligt uppfinningen, när nämnda program körs på datorn.
Enligt ännu en aspekt av uppfinningen uppnås ändamålet genom det inledningsvis definierade systemet kännetecknat av att det innefattar en simuleringsenhet, som simulerar robotbanan baserat på den inhämtade informationen om vägpunkterna och 531 'ID/il en modell av roboten, att grafikgeneratorn är anpassad för generering av en grafisk framställning av den simulerade ro- botbanan, företrädesvis tillsammans med processrelaterad in- formation, samt att visningsorganet är anpassad för att pre- sentera en vy som visar nämnda grafiska framställning av den simulerade robotbanan projicerad pä objektet.
FIGURBESKRIVNING Uppfinningen skall nu förklaras närmare genom beskrivning av olika utföringsformer därav och under hänvisning till bifo- gade ritningar.
Figur 1 visar ett system för användning i samband med pro- gramering av en industrirobot enligt en utförings- form av uppfinningen.
Figur 2 visar ett blockdiagram över systemet enligt en ut- föringsform av uppfinningen.
Figur 3 visar exempel pà en förstärkt verklighetsbild som visar en grafisk framställning av robotbanan proji- cerad pà ett verkligt objekt samt baninformation.
Figur 4a och 4b visar flödesscheman över en metod enligt uppfinningen för att lära en industrirobot en bana enligt en utföringsform av uppfinningen.
BESKRIVNING AV FÖREDRAGNA UTFÖRINGSEXEMPEL Figur l illustrerar ett system för användning i samband med programmering av en industrirobot enligt föreliggande upp- finning. Systemet innefattar ett pekdon 1 som utnyttjas av en mänsklig operatör 2 för att lära roboten hur ett objekt 3 skall behandlas. Pekdonet kan antingen vara det egentliga behandlingsverktyget eller ett don speciellt anpassat för ändamålet att lära in behandlingen av objektet. innefattar att lära in ett antal vägpunkter som ges i en specifik sekvens och som är placerade pà eller i nära an- Inlärningen 531 ¶O4 ll slutning till objektet 3. Varje vägpunkt innefattar läget hos en punkt pa eller i nära anslutning till objektet, orienteringen av ett behandlingsverktyg, pensel, sasom en malar- i punkten, samt data relaterade till processen.
Operatören haller pekdonet l i handen och pekar pa den punkt han vill skall inga i banan och orienterar pekdonet som han vill att behandlingsverktyget skall orienteras i punkten.
Operatören registrerar en punkt genom att aktivera ett aktiveringsorgan, vilket genererar en registreringssignal.
Vid mottagande av registreringssignalen lagrar systemet punkten som en vägpunkt. Pekdonet l är försett med atmin- stone en markör 5, benämnd pekmarkör, Pek- markören 5 används för att bestämma läget och orienteringen av pekdonet 1 i förhallande till objektet. Alternativt kan pekdonet generera lägen och orienteringar pa ett antal olika fäst vid denna. sätt, t ex med tröghetssensorer, gyron, magnetiska följare. laserbaserade sparningssystem samt ultraljudsföljare som alstrar lägen och orienteringar hos pekdonet i förhallande till ett fast koordinatsystem.
Systemet är baserat pa bildigenkänning och kräver atminstone en referensmarkör 6 som är fast i förhallande till objektet.
Funktionen hos referensmarkören 6 är att utgöra en referens- punkt för bildigenkänningsalgoritmer och en referenspunkt till vilken datorgenererad grafik skall relateras. innefattar vidare en kameraenhet 8.
Systemet Kameraenheten 8 innefat- tar en optisk kamera och en bildfàngare som matar systemet med bilddata i realtid. Kameran kan antingen vara fast i rymden eller flyttas runt. Kameran kan exempelvis vara fäs- tad vid operatörens huvud eller nagon annan stans pa hans kropp. I denna utföringsform är kameran fäst vid ett par glasögon som operatören har pa sig. Alla typer av kameror kan användas, men kravet pa noggrannhet för läge och orien- tering bestämer typen av kamera. En webbkamera, kamera eller en CCD-kamera kan t ex användas. I en annan utföringsform kan fler än en kamera användas; t ex skulle tva kameror kunna användas anordnade för att tillhandahålla stereoskopiska bilder. en video- 531 'IOÅ 12 Kameran ger antingen en analog eller en digital videosignal, vilken överförs till en dator 10 som innehåller en proces- sor. Datorns 10 processor utnyttjas för att köra bildigen- känningsalgoritmerna för bestämning av läge och orientering hos pekdonet 1 i förhållande till objektet, för att köra algoritmer som genererar en grafisk framställning av väg- punkter utpekade av operatören, för att kombinera den gene- rerade grafiken över vägpunkterna med bilden som tillhanda- hålls av kameran för att ge en samansatt förstärkt verklig- hetsbild och för att köra simuleringen av robotbanan och re- sultatet av processen.
Systemet innefattar vidare ett grafiskt visningsorgan 12 på vilken datorgenererad grafik visas för operatören. Det gra- fiska visningsorganet 12 visualiserar kamerans vy kombinerat med den datorgenererade grafiken. I denna utföringsform bär operatören en huvudmonterad enhet innefattande ett huvudmon- terat grafiskt visningsorgan 12 med kameran fästad vid vis- ningsorganet. Den huvudmonterade enheten är ett par använd- bara glasögon på vilka den datorgenererade informationen projiceras i förhållande till operatörens läge i rummet. Den visade vyn beror av läget för visningsorganet i förhållande till objektet. Läget för visningsorganet i förhållande till objektet bestäms av bildigenkänning baserad på bilden fràn kameran som är monterad på visningsorganet och markörer (icke visade) som anordnas på objektet, eller nagot annat följningssystem, exempelvis med tröghetssensorer, gyron, magnetiska följare, laserbaserade följningssystem, ultra- ljudsföljare eller spårning av särdrag baserad på synför- måga. Alternativt används ett huvudmonterat visningsorgan. I denna utföringsform är kameran monterad vid visningsorganet och producerar samma vy som operatören skulle se. Den dator- genererade informationen registreras sedan med kamerabilden innan den visas för operatören. I en annan utföringsform är visningsorganet exempelvis en handmanövrerad skärm, såsom en skärm hos en hand- eller fickdator av typen Personal Digital Computer (PDA), eller en skärm hos en bärbar dator. Vid en PDA håller operatören PDA:n i sin hand medan han programme- rar och utgången av programmeringen kommer att visualiseras 53"! 'IG-fl 13 pà PDA-skärmen. Visningsorganet skulle antingen kunna ge en enkel vy eller en stereoskopisk framställning av grafiken.
Pekdonet 1 innefattar ett antal interaktionsmedel, sàsom tryckknappar, vilka är anpassade för interaktion mellan ope- ratören och systemet. Ett av interaktionsmedlen innefattar ett aktiveringsorgan som vid aktivering genererar en regis- treringssignal för registrering av punkten som en vägpunkt.
Ett andra interaktionsmedel används för att ange huruvida behandlingen skall vara pà eller av mellan vägpunkterna. Om t ex processen är mälning anger interaktionsmedlet huruvida målningen är pà eller av. Systemet är försett med ett tredje interaktionsmedel för inmatning av information relaterad till processen i systemet. I t ex ett àlningsförfarande är det möjligt att välja ett eller flera alternativ för den sprutningspuls som är lagrad i robotstyrenheten. För andra applikationer, t ex polering, är valen relaterade till kon- figurationen hos polerborsten.
Förhållandet mellan markören 5 och spetsen 4 hos pekdonet 1 mäste vara känt sà att läget och orienteringen av spetsen kan bestämmas. Bildigenkänningsalgoritmerna känner igen pek- markören 5. Läget för spetsen hos pekdonet och orienteringen av stommen av pekdonet i referensmarkörens koordinatsystem bestäms av igenkänningen av markörerna 5, 6. Igenkänningen är baserad pà storleken och vinkeln hos mönstret pà markören i förhållande till det kända mönstret som lärts genom bild- igenkänningsalgoritmerna. Läget ges tredimensionellt [x, y, z]. Orienteringen ges tredimensionellt, exempelvis som en rotationsmatris [en 3x3-matris].
Medan operatören lär roboten registrerar han vägpunkter som skall passeras under behandlingen av objektet och han re- gistrerar ocksa processrelaterad information i samband med vägpunkterna genom att använda interaktionsmedlen. Förutom läget registreras orienteringen av pekdonet och den regis- trerade orienteringen representerar robotverktygets orien- tering. Den registrerade sekvensen av vägpunkter skapar där- med basen för robotbanan i robotprogrammet.
EM 1D!! 14 Figur 2 visar ett blockdiagram för ett system enligt en ut- föringsform av uppfinningen. Systemet innefattar en spär- ningsenhet 14 som bestämmer lägena och orienteringarna hos vägpunkterna som operatören lär ut. Spàrningsenheten gör det möjligt att specificera poseinformation (3-dimensionellt läge och 3-dimensionell orientering) i förhållande till ett koordinatsystem för ett fast objekt. I denna utföringsform bestäms läge och orientering med hjälp av bildigenkänning.
Exempel pä andra spärningsenheter är ultraljudsföljnings- system, magnetiska följningssystem, följningssystem baserade pà tröghetsnavigering, som använder sig av accelerometrar och gyron, mekaniska armar, system baserade pà synförmàga och optiska system samt hybridsystem som kombinerar de tidi- gare nämnda teknikerna. I denna utföringsform är inmatning- data till spàrningsenheten 14 videosignaler fràn kameraen- heten 8 och information fràn pekdonets l aktiveringsorgan, sàsom en registreringssignal och processrelaterad informa- tion. Alternativt laddas vägpunkterna in i systemet fràn ett yttre system, t ex en CAD-applikation, eller fràn en databas med lagrade vägpunkter och processinformation.
Systemet innefattar vidare en punktgenerator 15 som genere- rar en följd av punkter pà robotbanan med därmed förknippad processrelaterad information baserad pà de vägpunkter som specificerats fràn följningssystemet. För ett malningsför- arande bestär punktdata typiskt sett av läge och orientering hos penseln, fläktbeskrivning, màlningsfärg, màlning av/pà osv. Pekgeneratorn modifierar de av operatören specificerade vägpunkterna beroende av den processrelaterade informatio- nen, sàsom penselnummer och konfigureringsparametrar. Indata till punktgeneratorn är vägpunkter med därmed förknippad processinformation tillhandahàllen av spàrningsenheten 14.
Utdata fràn punktgeneratorn 15 är en följd av modifierade vägpunkter med processpecifik information. Punktgeneratorn lägger även till nya vägpunkter till följden vägpunkter som redan specificerats av operatören. Följden vägpunkter som genererats av punktgeneratorn lagras i en lagringsenhet 16 vilken även används för lagring av systeminformation. 534 fiüfl En robotbansimulator 18 simulerar den egentliga robotbanan baserat pa listan över vägpunkter och processinformation genererad av punktgeneratorn 15. Robotbansimulatorn inne- fattar en modell av roboten och robotens styrsystem. Robot- bansimulatorn genererar den egentliga robotbanan baserat pà vägpunkterna, processinformationen och modellen av roboten och robotstyrsystemet. Den genererade robotbanan används bade för visualisering av robotrörelserna i realtid, dvs som funktion av tiden, och för visualisering av ett spar av den egentliga robotbanan. Indata till robotbansimulatorn är följden vägpunkter fràn punktgeneratorn och robotkonfigu- reringsdata. Utdata fràn robotbansimulatorn är den egentliga robotbanan innefattande läge och orientering för verktyget.
En nàbarhetsenhet 20 kontrollerar huruvida en punkt är nàbar för robotarbetsdonet. Nàbarhetsenheten 20 kontrollerar huru- vida en punkt ligger inom robotens arbetsområde och om punk- ten är en singularitet. När operatören specificerar nya väg- punkter eller redigerar lagrade vägpunkter är det väsentligt att vägpunkterna och banan mellan vägpunkterna är nàbara.
Att specificera en vägpunkt eller en bana som inte är nàbar resulterar i ett visuellt meddelande till operatören, t ex genom att àterge den omöjliga punkten eller banan med en dedicerad färg, mönster eller animation. I en utföringsform av systemet kontrolleras nàbarheten hos de av operatören specificerade vägpunkterna. I en annan utföringsform av sys- temet kontrolleras nàbarheten hos den egentliga robotbanan som genererats fràn bansimulatorn 18. Detta är fördelaktigt eftersom de specificerade vägpunkterna kan vara möjliga men den genererade banan mellan vägpunkterna kanske inte är möj- lig, t ex pa grund av singulariteter eller begränsningar i nàbarheten. Nàbarheten beräknas baserat pà en modell av ro- boten och robotstyrenheten, vilken modell är den samma som den som användes av robotbansimulatorn 18. Beräkningarna är möjliga tack vare kunskap om robotens läge i förhållande till koordinatsystemet för objektet. Singulariteter är möj- liga att upptäcka tack vare modellen av robotstyrenheten. 531 104 16 En processimulator 22 simulerar resultatet av processen baserat på vägpunkterna, processinformationen från punkt- generatorn 15, den egentliga robotbanan samt en modell av processen. Simuleringen beror således på vilken process som skall simuleras. Processimulatorn använder en modell av processen som skall simuleras. Processimulatorn kan inne- fatta mer än en processmodell. Den kan t ex innefatta en modell för ett målningsförfarande, en modell för en fräs- ningsapplikation och en modell för en svetsningapplikation.
Som exempel innefattar modellen för målningsförfarandet en kombination av en matematisk modell och ett neuronnät, där den matematiska modellen simulerar målningsförfarandet, och neuronnätet simulerar målningsresultatet vid objektets yta.
Exempelvis beräknas bredden hos den simulerade sprutnings- pulsen ur penselnumret och avståndet från verktygets cen- trumspets (tool center point, TCP) till objektet. Avståndet från TCP till objektet är fast och specificeras genom pek- donet.
Processimulatorn 22 beräknar också processkvaliteten baserat på en eller flera fördefinierade kvalitetsparametrar. För målningsförfaranden är exempel på relevanta kvalitetspara- metrar överlappning mellan sprutningspulser, delar av objek- tet som inte är täckta av färgen, färgtjocklek, färgbredd samt färgdropp. Kvalitetssimuleringen baseras på den tidi- gare nämnda modellen av processen. För målningsförfaranden kan en modell av målningsprocessen parameteriseras ur en uppsättning prov som tagits med olika system och omgivnings- parametrar, färgtyp, tur. Baserat på dessa fakta genereras en modell av processen och färgtjockleken och/eller pulsbredden beräknas. För att beräkna dessa egenskaper kan en modell av objektet vara nöd- såsom penslar, fuktighet och tempera- - vändigt. En sådan objektsmodell kan tillhandahållas på olika sätt. Exempelvis med användning av en CAD-modell, ett op- tiskt system som genererar en 3D-modell av objektet genom automatisk inspektion eller genom användning av spårnings- enheten för att specificera punkter på objektet och från dessa data generera en förenklad 3D-modell av objektet.
Processresultatet bör ta hänsyn till om sprutningspulser 531 'H34 17 överlappar varandra. Om det finns en 3D-modell av objektet visas bredden pà sprutningspulserna som den skulle vara vid ett verkligt objekt.
Baserat pà simuleringen av kvaliteten pà processen görs en utvärdering om huruvida kvaliteten pà resultatet uppfyller eller inte uppfyller ett eller flera fördefinierade kvali- tetskrav. Kvalitetskraven är t ex ett minimi- och ett maxi- mivärde pà tjocklek hos färgen och ett intervall för över- lappningen mellan tvà sprutningspulser. Om utvärderingen visar att processkvaliteten inte uppfyller kvalitetskraven genereras en grafisk framställning med en visuell varning till operatören. För màlningsförfaranden återges färgtjock- leken pà olika sätt, t ex genom en annorlunda färg eller ett annorlunda mönster beroende pà om processresultatet uppfyl- ler eller inte uppfyller kvalitetskravet, eller också kan den simnlerade färgtjockleken illustreras kontinuerligt utmed sprutningspulserna genom en grafisk egenskap, sàsom färg, färgintensitet eller färgmättnad.
En grafikgenerator 23 genererar en tredimensionell grafisk framställning av den virtuella informationen som skall visas baserat pà information om robotbanan fràn robotbansimulatorn och information om processen som erhållits fràn processimu- latorn 22. Grafikgeneratorn 23 genererar en grafisk fram- ställning av den simulerade robotbanan och en grafisk fram- ställning av det simulerade resultatet av processen. Grafik- generatorn 23 genererar ocksa en grafisk framställning av det verktyg som utför processen utmed den simulerade robot- banan. De grafiska framställningarna är beskrivningar av de tredimensionella grafiska elementen, specificerade i för- hållande till objektets koordinatram. Systemet innefattar vidare en registreringsenhet 25, som registrerar den genere- rade grafiska framställningen till bilden av objektet som erhållits fràn kameraenheten 8, och som ger en sammansatt förstärkt verklighetsbild. Indata till registreringsenheten är den grafiska framställningen fràn grafikgeneratorn 23, videosignaler fràn kameraenheten 8 samt läget för visnings- anordningen fràn objektspàrningsenheten 24. Utdata fràn re- 531 194 18 gistreringsenheten 25 är en sammansatt förstärkt verklig- hetsbild, som visas pà visningsorganet 12.
Grafikgeneratorn 23, registreringsenheten 25 och kameraenhe- ten 8 bildar ett grafikàtergivningssystem vilket konfigure- ras för en transparent videoskärm, dvs datorgenererad grafik kombineras med en upptagen verklighetsbild. Alternativt skulle grafikàtergivningssystemet kunna konfigureras för en optisk transparent visningsanordning, för vilken endast datorgenererad grafik àterges. Vidare konfigureras grafik- àtergivningssystemet för antingen ett enkelkamerasystem eller för ett stereoskopiskt kamerasystem, som har tva kame- ror som upptar verkliga bilder fràn nagot olika positioner vilket ger en tredimensionell framställning av verkligheten.
Den grafik som ges av grafikàtergivningssystemet visas för operatören pà dent grafiska visningsorganet 12. Systemet projicerar sàledes datorgenererad information, som simulerar den specifika processen, direkt pà och/eller i relation till det verkliga objektet som skall behandlas. Denna information representerar robotbanan och processrelaterad information som lärts ut av operatören.
Systemet innefattar en objektspárningsenhet 24, som avger information om lägesförhàllandet mellan objektet och vis- ningsorganet 12. Denna information matas in till registre- ringsenheten 25. Företrädesvis baseras objektspàrningen pà samma spàrningsmetod som vägpunktsspàrningsenheten och an- vänder samma spàrningsanordning. I denna utföringsform ba- seras objektspàrningen pà bildigenkänning hos den bild som mottagits från kameraenheten 8. Objektspàrningsenheten skulle även kunna vara nagot av de tidigare nämnda exemplen pà spàrningssystem. En objektspàrningsenhet behövs om den bild som skall visas skulle vara beroende av operatörens läge i förhållande till objektet, vilket är fallet för hand- manövrerade visningsorgan och visningsorgan som bärs av ope- ratören. Detta ger operatören flexibiliteten att röra sig kring det verkliga objektet och omedelbart se resultatet pà det verkliga objektet av vad han har lärt ut. 522V! 'IOII 19 I det följande ges en beskrivning av den information som skall presenteras för operatören i samband med ett màlnings- förfarande. Den grafiska framställningen av det simulerade resultatet av processen visas normalt mot pekriktningen hos verktyget utmed banan, dvs normalt mot en TCP. Sprutnings-l pulser bör t ex àterges vinkelrätt mot längdriktningen hos penseln utmed banan.
Grafik som fördunklas av ett främmande objekt, eller av ob- jektet självt, bör inte àterges eller återges pà ett annat sätt, t ex genom att använda en annan färg eller genom att använda transparent grafik. Alternativt återges inte grafi- ken. En metod enligt uppfinningen innefattar bestämning av huruvida en del eller delar av den genererade grafiken är dold och generering av nämnda grafiska framställning baserat pà huruvida den är dold eller inte. Närhelst ett datorgene- rerat grafiskt element är dolt genom objektet eller nàgot annat objekt, t ex operatörens hand eller pekdonet, bör den överlagrade datorgenererade grafiken inte àterges, eller återges pà nagot annat sätt, sä att operatören kan urskilja den grafiska hierarkin.
Grafikgeneratorn är anpassad för att generera olika grafiska framställningar beroende pà om resultatet av processen visas fràn en framsida eller en baksida i förhållande till objek- tet. Exempelvis bör àtergivna sprutningspulser ha en fram- sida och en baksida, vilket gör det lättare för operatören att urskilja mellan bak och fram. Användaren kan välja att visualisera sprutningspulserna med den aktuella simulerade färgbredden eller också kan sprutningspulserna visualiseras som ett enfärgad linjesegment. Banans bredd visualiserar exempelvis sprutningspulsen när mälningen är pà.
För varje vägpunkt som specificeras av operatören visas det specificerade penselnumret. En lista över penslar definieras för programmeringsproceduren och bestär typiskt av tre eller fyra parametrar som mäste avstämmas mot varandra. Typiska parametrar är fläktbredd, färgflöde, finfördelat luftflöde, formluftflöde, högspänningsnivà, màlningstyp samt màlarfärg. 531 'IG-å Det slutliga màlet är att ha en pensel med en definierad bredd som ger en enhetlig màlningstjocklek inom maximi- och minimivärden vid en given màlningshastighet. Åtminstone en specifik pensel kan definieras som ”målning av", där färg- flöde, fläktbredd och luftflöde samtliga är ”O”, alternativt färgflöde är ”O”, medan de andra penselparametrarna inte är noll.
In en utföringsform av uppfinningen visas en grafisk fram- ställning av det aktuella verktyget som rör sig genom den genererade robotbanan i realtid. Den aktuella processinfor- mationen överlagras pà robotbanan, där detta specificeras i programmet, sa att operatören kan verifiera det resulterande robotprogrammet i realtid. Hastigheten pà visningen defini- eras i de grafiska inställningarna och kan ändras under den aktuella visningen. Operatören kan specificera hur snabbt simuleringen bör utföras i förhållande till realtid. Opera- tören kan t ex välja att visa simuleringen i ”slow motion”.
Det är möjligt att stoppa, pausa, spela bakat samt äter- starta visningen av simuleringen.
Det är möjligt att konfigurera hur grafik presenteras pà det grafiska visningsorganet. Operatören kan t ex antingen välja att acceptera eller avvisa en eller fler av de grafiska be- skrivningarna.
Figur 3 är ett exempel pà en vy som visas pà skärmen. Vyn innefattar objektet 3 och en grafisk framställning av de registrerade vägpunkterna 30, 32 och banan mellan vägpunk- terna, projicerade pà objektet och baninformation. vägpunkt 30, Varje 32 som lärs ut av operatören visas som en punkt. Varje punkt är försedd med processinformation relate- rad till denna vägpunkt, sàsom penselnumret. Om det visade penselnumret är ”O” är màlningen frànkopplad. Den simulerade robotbanan 34 visas som en linje mellan vägpunkterna 30, 32.
Notera att den genererade banan inte är en rak linje mellan vägpunkterna. Robotbansimulatorn genererar robotbanan så att verktyget passerar genom vägpunkterna med den önskade has- 531 104 21 tigheten och riktningen och då är en mjuk kurva att föredra framför en vinkel.
För varje vägpunkt som specificeras av operatören visas in- formation beträffande orienteringen av verktyget. Detta in- dikeras genom ett litet oktagonalt koordinatsystem som visar x-, y- och z-riktningarna. Företrädesvis har varje riktning en specifik färgkod. Den grafiska generatorn genererar också grafik som representerar riktningen hos robotrörelsen genom att lägga till pilar till den visade robotbanan. Om màlnin- gen är pàkopplad mellan tva närliggande vägpunkter 32, 36, visualiseras sprutningspulsen mellan de tva vägpunkterna.
Vyn visar en simulering av den resulterande robotbanan och màlningsresultatet.
Figur 4a och 4b är illustrationer i form av flödesscheman över metoden och datorprogramprodukten enligt en utförings- form av föreliggande uppfinning. Det skall förstås att varje block i flödesschemat kan genomföras genom datorprogramin- struktioner. Systemet kan inta tre driftlägen: ett program- meringsläge, ett simuleringsläge och ett redigeringsläge.
Operatören väljer systemläget. I programeringsläget speci- ficerar användaren vägpunkterna och ingangsinformation om processen. I simuleringsläget simuleras robotbanan och/eller processen och visas för operatören. Efter att vägpunkterna har specificerats av operatören, alternativt efter att ro- botprogrammet har laddats in i datorns minne fràn lagrings- enheten kan användaren försätta systemet i redigeringsläge.
I redigeringsläge är det möjligt att ta bort lagrade väg- punkter, ändra läget för lagrade vägpunkter, ändra oriente- ringen hos lagrade vägpunkter och ändra processrelaterad data, sàsom penselnummer hos lagrade vägpunkter.
Figur 4a visar metodstegen när systemet är i programme- ringsläge. I block 30 mottas en kontinuerlig ström av video- signaler fràn kameraenheten 8. Den bild som fàs innefattar objektet och markörerna. I block 32 mottar systemet en re- gistreringssignal fràn operatören och en bild infàngas för användning av bildigenkänningssystemet. Processinformation 531 104 22 specificerad av operatören mottas och lagras. I block 34 igenkänns markörerna av bildigenkänningssystemet, och läget och orienteringen hos pekdonet beräknas i förhållande till läget hos objektet och lagras. När operatören har registre- rat vägpunkterna genererar punktgeneratorn en lista över punkter på banan, block 36. I block 38 undersöks det om punkterna på listan är nåbara, dvs är inom robotens arbets- område och inte är singulariteter. Om en punkt är utanför arbetsområdet eller är en singularitet underrättas operatö- ren, block 40, erna kan han ändra till simuleringsläge. 42. När operatören har registrerat vägpunkt- Figur 4b visar metoden när simuleringsläge har valts. Innan simulering startar måste operatören specificera vad han vill skall simuleras. Han skulle kunna välja antingen att simule- ra enbart robotbanan eller simulera både robotbanan och pro- cessen. I block 50 utförs simnleringen baserat på listan över vägpunkter med processpecifik information genererad under programmeringsläge och en modell av roboten, en modell av robotstyrenheten och en modell av processen. Simuleringen är beroende av vad operatören väljer att vilja se. En gra- fisk framställning genereras över robotbanan och/eller re- sultatet av processen baserat på simuleringen, block 52. Som syns i block 54 kombineras den mottagna videosignalen med den genererade grafiken inklusive registrering av den gene- rerade grafiska framställningen till bilden av objektet för att tillhandahålla en sammansatt förstärkt verklighetsbild.
En vy av den kombinerade videosignalen och grafiken visas, block 56. Den genererade grafiken visar t ex huruvida be- handlingen är pà eller av. Visningen visualiserar kamerans vy kombinerat med den genererade grafiken.
Den programvara som används för att genomföra metoden enligt uppfinningen är delvis baserad pà för fackmän känd program- vara. Läget och orienteringen kan t ex genereras i ARToolKit baserat på läget och orienteringen hos pekmarkören i förhål- lande till referensmarkören. ARToolKit har utvecklats av Washington University och University of Hiroshima och är ett öppet programvarubibliotek som gör det möjligt att bygga 53'! 'IÜII 23 applikationer för förstärkt verklighet med användning av noggranna datoriserade spárningstekniker baserade pà synför- màga. För applikationsgränssnittet kan programvaran Open GL användas. OpenGl tillhandahåller ett bibliotek av tvàdimen- sionella och tredimensionella funktioner inklusive modelle- ring av ändringar, färg, ljus och skuggfunktioner. Microsoft Vision SDK är ett bibliotek för att skriva program för att utföra bildmanipulation och analyser pà datorer. Program- varan för förstärkt verklighet omfattar algoritmer för att rita grafik, såsom punkter och linjer, överföra lägen och orienteringar mellan olika koordinatsystem, extrahera och generera en sekvenslista över lägen och orienteringar, in- fànga processrelaterad information samt rita avancerad gra- fik, sàsom färgkodade punkter och linjer som representerar sprutningspulser med olika bredd och orienteringar.
Metoden enligt uppfinningen är en off-1ine-programmerings- metod, dvs metoden kan användas utanför roboten och robot- styrenheten.
Föreliggande uppfinning är inte begränsad till de beskrivna utföringsformerna utan kan varieras och modifieras inom ra- men för följande patentkrav. Exempelvis är föreliggande sys- tem inte begränsat till system för förstärkt verklighet som utnyttjar en sammansatt videobild utan kan ocksa utnyttjas i transparenta system för förstärkt verklighet där endast den datorgenererade grafiken presenteras för användaren som be- traktar grafiken pà en transparent lins med den verkliga världen i bakgrunden. Den enda skillnaden mellan de tvà sys- temen är översättningen av kamerakoordinaterna till ögonko- ordinater för att kompensera för förändringen i perspektiv mellan kamerabilderna och det egentliga verklighetsperspek- tivet hos användaren. I vilket fall som helst registreras datorgenererad grafik till objekt i den verkliga världen. I det genomskinliga fallet kombineras den datorgenererade gra- fiken med det verkliga objektet av användaren snarare än vid skapandet av en sammansatt videobild. 531 104 24 Alternativt laddas vägpunkterna in i systemet fràn ett ex- ternt system, t ex en CAD-applikation, eller fràn en databas över lagrade vägpunkter och processinfonnation.

Claims (24)

'E-Bfi 104 flfš
1. Metod i samband med programmering av en industrirobot, innefattande att lära roboten en bana med ett antal vägpunkter placerade pá eller i närheten av ett objekt (3) som skall behandlas av roboten, varvid metoden innefattar: - att inhämta information om läget för vägpunkterna i förhållande till objektet, - att lagra informationen om läget för vägpunkterna, och metoden kännetecknas av: - att simulera robotbanan baserat pà den mottagna informationen om vägpunkterna och en modell av roboten, - att generera en grafisk framställning av robotbanan baserat på den simulerade robotbanan, och - att i ett visningsorgan (12) visa nämnda grafiska framställning av robotbanan i förhållande till den verkliga världen och objektet.
2. Metod enligt patentkrav 1, kännetecknat av att metoden innefattar: - att inhämta information om verktygsorienteringar i vägpunkterna, och - att generera en grafisk framställning av verktygsorienteringarna i vägpunkterna.
3. Metod enligt patentkrav 1 eller 2, kännetecknat av att metoden innefattar: - att inhämta information om processen som skall utföras av roboten i samband med robotbanan, - att simulera resultatet av processen baserat på den inhämtade informationen om vägpunkterna, den inhämtade informationen om processen och en modell av processen, - att generera en grafisk framställning av det simulerade resultatet av processen, och 531 104 “Dia - att i visningsorganet (12) även presentera den grafiska framställningen av det simulerade resultatet av processen i förhållande till den verkliga världen och objektet.
4. Metod enligt patentkrav 3, kännetecknat av att metoden innefattar: - att inhämta information om vilket verktyg som skall användas för att utföra processen och om orienteringen av verktyget i vägpunkterna, - att simulera verktyget som utför processen, - att generera en grafisk framställning av verktyget som utför processen utmed robotbanan baserat på den inhämtade informationen om läget för vägpunkterna, orienteringen av verktyget, och - att i visningsorganet (12) presentera den genererade grafiska framställningen av simuleringen av verktyget som rör sig utmed robotbanan och utför processen i förhållande till den verkliga världen och objektet.
5. Metod enligt något av patentkrav 3-4, kännetecknat av att metoden innefattar: - att simulera kvaliteten på resultatet av processen baserat på en eller ett flertal fördefinierade kvalitetsparametrar och modellen av processen, - att generera en grafisk framställning av kvaliteten pá resultatet av processen, och - att i visningsorganet (12) presentera den genererade grafiska framställningen av simuleringen av kvaliteten pá resultatet av processen i förhållande till den verkliga världen och objektet.
6. Metod enligt patentkrav 5, kännetecknat av att metoden innefattar: Eflfi 104 1,117? - att utvärdera huruvida kvaliteten på resultatet inte uppfyller ett eller ett flertal kvalitetskrav, baserat på nämnda simulering av kvaliteten på resultatet av processen, och - att generera nämnda grafiska framställning med en visuell varning till operatören när processkvaliteten bedöms att inte uppfylla kvalitetskraven.
7. Metod enligt något av föregående patentkrav, kännetecknat av att nämnda grafiska framställningen presenteras i visningsorganet (12) som funktion av tiden och presenteras proportionell mot robotrörelserna i förhållande till den verkliga världen och objektet i realtid.
8. Metod enligt patentkrav 7, kännetecknat av att metoden innefattar: - att motta information om en önskad hastighet i visningen av nämnda grafiska framställningen i förhållande till den verkliga världen och objektet i visningsorganet (12), och - att visa nämnda grafiska framställningen i förhållande till den verkliga världen och objektet i visningsorganet (12) i enlighet med den önskade hastigheten.
9. Metod enligt något av föregående patentkrav, kännetecknat av att metoden innefattar att bestämma huruvida en punkt på robotbanan är innanför robotens arbetsområde samt att underrätta operatören om punkten befinner sig utanför robotens arbetsområde.
10. Metod enligt något av föregående patentkrav, kännetecknat av att metoden innefattar att inhämta en bild av objektet, registrera den genererade grafiska framställningen till bilden av objektet för att tillhandahålla en sammansatt förstärkt verklighets bild i_visningsorganet. 531 104 l
11. Metod enligt patentkrav 10, kännetecknat av att bilden av objektet fås med hjälp av en kamera (8).
12. Metod enligt något av föregående patentkrav, kännetecknat av att stegen att hämta och lagra information om läget hos vägpunkterna i förhållande till objektet vidare innefattar: - att inhämta information om läget för ett pekdon (1) som pekar på punkter på eller i närheten av objektet, - att bestämma läget för punkterna i förhållande till objektet baserat på nämnda inhämtade information, - att lagra den punkt som för tillfället utpekas av pekdonet som en vägpunkt vid mottagandet av en registreringssignal.
13. En datorprogramprodukt som kan laddas ned direkt i internminnet hos en dator, kännetecknat av att datorprogramprodukten innefattar programvarukoddelar för utförande av stegen i något av patentkraven 1-13, när nämnda produkt körs på en dator.
14. Ett datorläsbart medium som har ett därpå inspelat program, kännetecknat av att programmet skall förmå en dator att utföra stegen enligt något av patentkrav 1-13, när nämnda program körs på datorn.
15. System för användning i samband med programmering av en industrirobot, varvid programmeringen innefattar att lära roboten en bana som har ett antal vägpunkter placerade på eller i närheten av ett objekt (3) som skall behandlas av roboten, varvid systemet innefattar: 531 'm4 “M - informationsinhämtande medel (10) som hämtar information om vägpunterna hos banan i förhållande till objektet, - en lagringsenhet (16) för lagring av den inhämtade informationen, - en grafikgenerator (23) som genererar en grafisk framställning, och - ett visningsorgan (12) som visar den grafiska framställningen som genererats av grafikgeneratorn i förhållande till den verkliga världen och objektet, kännetecknat av att systemet vidare innefattar en simuleringsenhet (18) som simulerar robotbanan baserat på den inhämtade informationen om vägpunkterna och en modell av roboten, att grafikgeneratorn (23) är anpassad för att generera en grafisk framställning av den simulerade robotbanan, och att visningsorganet (12) är anpassat att visa nämnda grafiska framställning av robotbanan i förhållande till den verkliga världen och objektet.
16. System enligt patentkrav 15, kännetecknat av att nämnda informationsinhämtande medel (10) är anpassat för att inhämta information om processen som skall utföras av roboten i samband med robotbanan, varvid systemet innefattar en andra simuleringsenhet (22) som simulerar resultatet av processen baserat på den inhämtade informationen om vägpunkterna, den inhämtade informationen om processen och en modell av pro cessen, samt att grafikgeneratorn (23) är anpassad för att generera en grafisk framställning av det simulerade resultatet av processen.
17. System enligt patentkrav 16, kännetecknat av att nämnda informationsinhämtande medel (10) är anpassat för att inhämta information om vilket verktyg som skall användas för 531 104 ßfifi: att utföra processen och om orienteringen av verktyget i vägpunkterna, den andra simuleringsenheten (22) är anpassad att simulera verktyget som utför processen, och att nämnda grafikgeneratorn (23) är anpassad till att generera en grafisk framställning av verktyget som utför processen utmed robotbanan baserat pà den inhämtade informationen.
18. System enligt något av patentkrav 15-17, kännetecknat av att det innefattar en nàbarhetsenhet (20), som baserat på en modell av roboten bestämmer huruvida en vägpunkt är innanför robotens arbetsområde och underrättar operatören om vägpunkten är utanför det specificerade arbetsområdet.
19. System enligt nàgot av patentkrav 15-18, kännetecknat av att det vidare innefattar ett pekdon (1) anpassat att peka ut punkter pà eller i närheten av objektet, ett lägesbestämmande medel (1) som bestämmer läget hos nämnda punkter i förhållande till objektet, samt ett aktiveringsorgan som lagrar en punkt som en vägpunkt vid aktivering,
20. System enligt något av patentkrav 15-19, kânnetecknat av att det innefattar en kamera (8) anpassad att avge en bild av objektet och att visningsorganet (12) visar den genererade grafiska framställningen av den simulerade robotbanan och bilden av objektet som en sammansatt förstärkt verklighetsbild.
21. System enligt patentkrav 20, kännetecknat av att det innefattar en registreringsenhet (25) som registrerar den genererade grafiska framställningen till bilden av objektet för att tillhandahålla en sammansatt förstärkt verklighetsbild och visningsorganet (12) är anpassad för visning av en sammansatt förstärkt verklighetsbild. 531 104 H
22. System enligt något av patentkrav 15-21, kännetecknat av att visningsorganet (12) är anpassad för visning av nämnda grafiska framställning av robotbanan i förhållande till den verkliga världen och objektet som funktion av tiden, vilken är proportionell mot den realtid det tar för roboten att förflytta sig genom banan.
23. System enligt patentkrav 22, kännetecknat av att det är anpassat att motta information om en önskad hastighet för visningen av nämnda grafiska framställning av robotbanan i förhållande till den verkliga världen och objektet i förhållande till den realtid det tar för roboten att förflytta sig genom banan, och visningsorganet (12) är anpassat for visning av vyn i enlighet med den önskade hastigheten.
24. Användning av metoden enligt något av patentkrav 1- 13 för ett målningsförfarande.
SE0203909A 2002-12-30 2002-12-30 Metod och system för programmering av en industrirobot SE531104C2 (sv)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SE0203909A SE531104C2 (sv) 2002-12-30 2002-12-30 Metod och system för programmering av en industrirobot
EP03079134A EP1435280B1 (en) 2002-12-30 2003-12-19 A method and a system for programming an industrial robot
DE60323043T DE60323043D1 (de) 2002-12-30 2003-12-19 Verfahren und Vorrichtung zum Programmieren eines Industrieroboters
AT03079134T ATE405387T1 (de) 2002-12-30 2003-12-19 Verfahren und vorrichtung zum programmieren eines industrieroboters
JP2004000707A JP4817603B2 (ja) 2002-12-30 2004-01-05 工業ロボットをプログラミングするための方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0203909A SE531104C2 (sv) 2002-12-30 2002-12-30 Metod och system för programmering av en industrirobot

Publications (3)

Publication Number Publication Date
SE0203909D0 SE0203909D0 (sv) 2002-12-30
SE0203909L SE0203909L (sv) 2004-08-28
SE531104C2 true SE531104C2 (sv) 2008-12-16

Family

ID=20290054

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0203909A SE531104C2 (sv) 2002-12-30 2002-12-30 Metod och system för programmering av en industrirobot

Country Status (5)

Country Link
EP (1) EP1435280B1 (sv)
JP (1) JP4817603B2 (sv)
AT (1) ATE405387T1 (sv)
DE (1) DE60323043D1 (sv)
SE (1) SE531104C2 (sv)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112400199A (zh) * 2018-03-07 2021-02-23 西伯利北美公司 模拟机器人接合操作的系统及方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10305384A1 (de) * 2003-02-11 2004-08-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
SE526119C2 (sv) * 2003-11-24 2005-07-05 Abb Research Ltd Metod och system för programmering av en industrirobot
JP2009279699A (ja) * 2008-05-21 2009-12-03 Nagaoka Univ Of Technology 位置・力再現方法および位置・力再現装置
GB0917309D0 (en) * 2009-10-02 2009-11-18 Twi Ltd Method and system of programming a robot
JP2011104759A (ja) * 2009-11-20 2011-06-02 Idec Corp ロボット制御システムの教示用補助具、その教示用補助具を用いた教示方法、およびその教示方法によって教示を行うロボット制御システム
WO2011080882A1 (ja) * 2009-12-28 2011-07-07 パナソニック株式会社 動作空間提示装置、動作空間提示方法およびプログラム
AT509927B1 (de) * 2010-06-08 2015-05-15 Keba Ag Verfahren zum programmieren oder vorgeben von bewegungen oder abläufen eines industrieroboters
JP5573537B2 (ja) * 2010-09-17 2014-08-20 株式会社デンソーウェーブ ロボットのティーチングシステム
CN104520076B (zh) * 2012-08-08 2017-10-10 Abb技术有限公司 用于确定材料分配机器人的最优轨迹的系统和方法
JP5549749B1 (ja) 2013-01-16 2014-07-16 株式会社安川電機 ロボット教示システム、ロボット教示プログラムの生成方法および教示ツール
EP2835249B1 (en) * 2013-08-08 2019-03-06 ABB Schweiz AG Printing system for three-dimensional objects
CN105637435B (zh) 2013-10-07 2018-04-17 Abb技术有限公司 用于验证针对可移动的机械单元的一个或多个安全容积的方法和装置
DE102014213262A1 (de) * 2014-07-08 2016-01-14 Kuka Roboter Gmbh Maschine und Verfahren zum Betreiben einer Maschine
US9919427B1 (en) 2015-07-25 2018-03-20 X Development Llc Visualizing robot trajectory points in augmented reality
US9916506B1 (en) 2015-07-25 2018-03-13 X Development Llc Invisible fiducial markers on a robot to visualize the robot in augmented reality
KR101876845B1 (ko) * 2015-08-26 2018-07-11 주식회사 뉴로메카 로봇 제어 장치
WO2017085811A1 (ja) * 2015-11-18 2017-05-26 富士機械製造株式会社 ティーチング装置及び制御情報の生成方法
US10296675B2 (en) 2015-12-30 2019-05-21 Abb Schweiz Ag System and method for determining dynamic motion data in robot trajectory
US10031654B2 (en) * 2016-04-12 2018-07-24 Honeywell International Inc. Apparatus and method for generating industrial process graphics
US10518405B2 (en) 2016-06-29 2019-12-31 Abb Schweiz Ag Industrial robot system comprising a dual arm robot
JP6883392B2 (ja) * 2016-07-29 2021-06-09 川崎重工業株式会社 ロボットシステム
IL247360B (en) 2016-08-18 2021-09-30 Veeride Ltd A device and method for augmented reality
CN106945036A (zh) * 2017-03-21 2017-07-14 深圳泰坦创新科技有限公司 机器人动作生成方法和装置
JP7151713B2 (ja) * 2017-09-26 2022-10-12 日本電産株式会社 ロボットシミュレータ
WO2019064916A1 (ja) * 2017-09-26 2019-04-04 日本電産株式会社 ロボットシミュレータ
JP6495989B1 (ja) * 2017-10-02 2019-04-03 株式会社アマダホールディングス プログラム作成装置、溶接システム、及びプログラム作成方法
JP7035555B2 (ja) * 2018-01-23 2022-03-15 セイコーエプソン株式会社 教示装置、及びシステム
DE102018201589A1 (de) * 2018-02-01 2019-08-01 KORIS Vision & Force GmbH Verfahren zur Programmierung der Steuerung eines Industrieroboters, Verfahren zum Betreiben eines Industrieroboters, Programmiervorrichtung sowie Industrierobotersystem mit einer solchen Programmiervorrichtung
JP6787966B2 (ja) 2018-10-02 2020-11-18 ファナック株式会社 拡張現実と複合現実を用いたロボット制御装置及び表示装置
DE102019105820A1 (de) * 2019-03-07 2020-09-10 Matheus Service GmbH Verfahren, System sowie nichtflüchtiges Speichermedium
CN110076752A (zh) * 2019-04-01 2019-08-02 安徽师范大学 仿真六自由度机器人与实体六自由度机器人同步运动装置
JP7409848B2 (ja) * 2019-12-04 2024-01-09 ファナック株式会社 表示装置及び表示プログラム
DE102020103885A1 (de) 2020-02-14 2021-08-19 " SWMS Systemtechnik Ingenieurgesellschaft mbH " Verfahren zur Steuerung mindestens einer Bearbeitungsvorrichtung durch einen Nutzer
JP7366264B2 (ja) 2020-06-23 2023-10-20 川崎重工業株式会社 ロボット教示方法及びロボット作業方法
WO2023061552A1 (en) * 2021-10-11 2023-04-20 Abb Schweiz Ag A responsive teach interface for programming an industrial robot
CN114129263B (zh) * 2021-11-29 2023-07-25 武汉联影智融医疗科技有限公司 手术机器人路径规划方法、系统、设备及存储介质
JP2023157679A (ja) * 2022-04-15 2023-10-26 川崎重工業株式会社 遠隔操作システム及び遠隔操作方法
WO2023248060A1 (en) * 2022-06-20 2023-12-28 Comau S.P.A. Method for carrying out industrial working operations within a work
CN115922688A (zh) * 2022-06-21 2023-04-07 北京小米移动软件有限公司 机械手的操作方法、装置及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53136263A (en) * 1977-04-30 1978-11-28 Tokico Ltd Industrial robot
JP3448951B2 (ja) 1993-08-25 2003-09-22 マツダ株式会社 塗装における塗装タレの評価方法及び塗装制御装置
DE19626459C2 (de) * 1996-07-02 1999-09-02 Kuka Schweissanlagen Gmbh Verfahren und Vorrichtung zum Teachen eines programmgesteuerten Roboters
US6256597B1 (en) * 1998-07-10 2001-07-03 General Electric Company Three dimensional spray coating method and simulation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112400199A (zh) * 2018-03-07 2021-02-23 西伯利北美公司 模拟机器人接合操作的系统及方法
CN112400199B (zh) * 2018-03-07 2024-01-26 西伯利解决方案公司 模拟机器人操作的系统及方法

Also Published As

Publication number Publication date
JP2004209641A (ja) 2004-07-29
DE60323043D1 (de) 2008-10-02
EP1435280B1 (en) 2008-08-20
EP1435280A2 (en) 2004-07-07
SE0203909L (sv) 2004-08-28
ATE405387T1 (de) 2008-09-15
SE0203909D0 (sv) 2002-12-30
JP4817603B2 (ja) 2011-11-16
EP1435280A3 (en) 2007-04-18

Similar Documents

Publication Publication Date Title
SE531104C2 (sv) Metod och system för programmering av en industrirobot
US7236854B2 (en) Method and a system for programming an industrial robot
US7353081B2 (en) Method and a system for programming an industrial robot
Ong et al. Augmented reality-assisted robot programming system for industrial applications
JP4680516B2 (ja) ロボットの情報を現実環境の画像へとフェードインするための方法、およびロボットの情報を現実環境の画像に視覚化するための装置
SE526119C2 (sv) Metod och system för programmering av en industrirobot
Pettersen et al. Augmented reality for programming industrial robots
JP5113666B2 (ja) ロボット教示システム及びロボットの動作のシミュレーション結果の表示方法
Tokuda et al. Convolutional neural network-based visual servoing for eye-to-hand manipulator
CN113116386A (zh) 超声成像引导方法、超声设备及存储介质
CN210361314U (zh) 一种基于增强现实技术的机器人示教装置
Lloyd et al. Programming contact tasks using a reality-based virtual environment integrated with vision
Mellado et al. VirtualRobot: An open general-purpose simulation tool for robotics
JP7376318B2 (ja) アノテーション装置
JP3076841B1 (ja) 実環境適応型ロボットの教示プログラム作成方法
KR101475207B1 (ko) 로봇조종 훈련용 시뮬레이션장치
CN115916476A (zh) 利用由多关节系统承载的工具对物体自动执行操作的方法
US11826908B2 (en) Process agnostic robot teaching using 3D scans
JP2020012858A (ja) 技能訓練装置、および、技能訓練方法
US20230409149A1 (en) Virtual buttons for augmented reality light guided assembly system and calibration method
Gillespie et al. POSE ESTIMATION USING AUGMENTED REALITY FOR PARTS UNDER ROBOTIC REPAIR
Johnston et al. Manipulator autonomy for eod robots
TW202246927A (zh) 機器人模擬裝置
JP2023117358A (ja) 塗装ロボットの動作プログラム生成システム
Kanayama et al. A robot task design and management system for industrial applications

Legal Events

Date Code Title Description
NUG Patent has lapsed