NO20111715A1 - Fremgangsmate for a kontrollere industrielle roboter i et arbeidsomrade - Google Patents
Fremgangsmate for a kontrollere industrielle roboter i et arbeidsomrade Download PDFInfo
- Publication number
- NO20111715A1 NO20111715A1 NO20111715A NO20111715A NO20111715A1 NO 20111715 A1 NO20111715 A1 NO 20111715A1 NO 20111715 A NO20111715 A NO 20111715A NO 20111715 A NO20111715 A NO 20111715A NO 20111715 A1 NO20111715 A1 NO 20111715A1
- Authority
- NO
- Norway
- Prior art keywords
- robot
- task
- program
- data
- node
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000033001 locomotion Effects 0.000 claims abstract description 51
- 238000004590 computer program Methods 0.000 claims abstract description 19
- 238000006243 chemical reaction Methods 0.000 claims abstract description 12
- 238000004891 communication Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 10
- 238000010200 validation analysis Methods 0.000 claims description 6
- 230000005055 memory storage Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 239000002023 wood Substances 0.000 claims 1
- 238000009434 installation Methods 0.000 description 11
- 230000002085 persistent effect Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013439 planning Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 239000002253 acid Substances 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000000078 claw Anatomy 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000004171 remote diagnosis Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39146—Swarm, multiagent, distributed multitask fusion, cooperation multi robots
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39252—Autonomous distributed control, task distributed into each subsystem, task space
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40178—Distributed top, resource availability in network
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
Det er beskrevet en fremgangsmåte for en eller flere brukere til å kontrollere minst en robot i et robotarbeidsområde, idet nevnte arbeidsområde omfatter nevnte robot, en robotkontrollør (7a-n) og minst et verktøy og/eller sensor for å utføre en eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører nevnte robotkontrollør. Fremgangsmåten omfatter å motta (51), i en distribuert node (5a-n), et oppgaveprogram for å utføre minst en del av nevnte oppgave basert på en konvertering (19) av en brukerkommando fra en bruker (12,12'), og sende (54) fra den distribuerte noden til nevnte robotkontrollør (7a-n) et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot (71,81,91) til å utføre en eller flere bevegelser. En distribuert node (5a), en sentral node (3), et system for å utføre fremgangsmåten og dataprogrammer er også beskrevet.
Description
Fremgangsmåte for å kontrollere industrielle roboter i et arbeidsområde
TEKNISK OMRÅDE
Foreliggende oppfinnelse vedrører fremgangsmåter og et system for å kontrollere, styre, kommisjonere og understøtte multiple roboter lokalisert i fysisk forskjellige lokasjoner fra en sentral server. Konstriksjonen av systemet er fokusert på å tilføre sikkerhet og robusthet for å forenkle fjernstyring av robotoperasjoner. Særlig ved-rører den sikker og robust kontroll av industrielle roboter for å forenkle fjernstyring av roboter av én eller flere brukere.
TEKNISK BAKGRUNN
Bruk av industrielle roboter har tradisjonelt vært i kontrollerte omgivelser, slik som
i fabrikkinstallasjoner eller laboratorier. Som oftest har industrielle roboter blitt in-stallert for å utføre mer eller mindre den samme operasjon eller operasjoner kontinuerlig i en produksjonslinje eller robotcelle. Med andre ord en produksjonsomgi-velse med en fysisk utforming som er vesentlig fiksert eller statisk.
Innen området olje og gass har robotteknikk generelt bare blitt brukt sporadisk. Oljeselskaper søker kontinuerlig å frembringe og øke forretningsverdi av olje- og gassinstallasjoner, mens de også opprettholde et absolutt fokus på å holde høye standarder for helse, sikkerhet og miljø (HSE). For å adressere disse spørsmål kreves det en større omvurdering av den konvensjonelle operasjon og støtte av olje-og gassinstallasjoner. Det er godt dokumentert at industrielle roboter med fleksible manipulatorer er velegnet til å utføre farlige og arbeidsintensive oppgaver under hasardiøse forhold med en høy grad av nøyaktighet.
Kontroll av multiroboter, hvilket betyr kontroll av mer enn én robot som arbeider nær ved eller i samme lokasjon medfører utfordringer for å unngå kollisjoner mellom roboter. Særlig er dette tilfellet når en rekke industrielle roboter kontrolleres fra en fjerntliggende lokasjon, eller ved operasjon i en omgivelse hvor den fysiske plassering ikke er fiksert eller statisk, når den sammenlignes med en fabrikksitua-sjon.
US 2010094459 med tittel: «System for cooperation of multiple robots using dy-namic behavior binding and method thereof» og med søker Korea Electronics Tele-com, nevner i sammenheng med anvendelser og et system for samarbeid av mul- timobile roboter hvordan visse typer mobile roboter kan velges og fås til å samar-beide for å fullføre en oppgave. Imidlertid tilveiebringer ikke metodene og systemet som er beskrevet informasjon om overvåkning eller kontrahering av faktiske fysiske roboter i reelle fysiske omgivelser.
US 2004210330 med tittel: «Control method and industrial production installation with web control systems», og med søker Kuka Schweissanlagen GmbH beskriver en styringsmetode for en industriell produksjonsinstallasjon, særlig for produksjon av deler av uferdige kjøretøyskarosserier. Særlig beskrives det bruk av en webser-ver og websider for intelligente applikasjoner, og nevner fjerndiagnose og vedlikehold via weben.
Det er behov for at en menneskelig operatør, en bruker, skal være i stand til å bed-re kontrollere operasjoner med en industriell robot i industrielle omgivelser eller utvinningsomgivelser.
SAMMENFATNING AV OPPFINNELSEN
Hensikten med foreliggende oppfinnelse er å utbedre ett eller flere av de ovenfor nevnte problemer. Dette og andre hensikter oppnås ved en fremgangsmåtekarakterisert vedkrav 1.
Ifølge et første aspekt av oppfinnelsen er det tilveiebrakt en fremgangsmåte for å kontrollere minst én robot i et robotarbeidsområde, idet nevnte arbeidsområde omfatter nevnte robot, en robotkontroller og minst et verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontroller. Fremgangsmåten omfatter å motta, i en distribuert eller lokal node, et oppgaveprogram for å utføre i det minste deler av nevnte oppgave basert på en konvertering av en brukerkommando fra en bruker, og sende fra den distribuerte noden til nevnte robotkontroller et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot for å utføre én eller flere bevegelser. På denne måte tilveiebringes det en sikker og robust menneskelig samvirkning med en industriell robot for å kontrollere bevegelser av roboten for å utføre en oppgave slik som in-struert av den menneskelige brukeren.
Ifølge en annen utførelse av oppfinnelsen er det tilveiebrakt en fremgangsmåte for å kontrollere minst én robot i et robotarbeidsområde, idet nevnte arbeidsområde omfatter nevnte robot, minst en robotkontroller og minst et verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontroller. Fremgangsmåten omfatter å motta, i en distribuert eller lokal node, et oppgaveprogram for å utføre i det minste deler av nevnte oppgave basert på en konvertering av en brukerkommando fra en bruker og sende fra den distribuerte noden til nevnte robotkontroller et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot til å utføre én eller flere bevegelser og ved å validere på en sentral node oppgaveprogrammet mot varige (persistent) kontrolldata for nevnte robot. På denne måte blir et robotprogram validert før det anvendes på en robot mot varige data for robotkonfigurasjonen, spesifikasjonen, inneholdt i en fjerntliggende og/eller sentral lokasjon.
Ifølge en annen utførelse av oppfinnelsen er det tilveiebrakt en fremgangsmåte for å kontrollere minst én robot i et robotarbeidsområde, idet nevnte arbeidsområde omfatter nevnte robot, minst en robotkontroller og minst et verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontroller. Fremgangsmåten omfatter å motta, i en distribuert eller lokal node, et oppga veprog ram for å utføre i det minste deler av nevnte oppgave basert på en konvertering av en brukerkommando fra en bruker og sender fra den distribuerte noden til nevnte robotkontroller et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot til å utføre én eller flere bevegelser og ved å validere på den distribuerte node oppgaveprogrammet mot varige kontrolldata lagret i assosiasjon med den distribuerte node for nevnte robot eller mot data lest av nevnte distribuerte node fra nevnte robotkontroller. På denne måte kan en lokal validering gjøres med varige data lagret lokalt for å sikre at robotprogrammet nedlastet lokalt passer overens med lokalt inneholdte varige data, særlig data om robotkonfigurasjonen.
Ifølge en annen foretrukket utførelse av oppfinnelsen er det tilveiebrakt en fremgangsmåte for å kontrollere minst én robot i et robotarbeidsområde, idet nevnte arbeidsområde omfatter nevnte robot, en robotkontroller og minst ett verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontroller, fremgangsmåten omfatter å motta, i en distribuert eller lokal node, et oppga veprog ram for å utføre minst deler av nevnte oppgave basert på en omforming av en brukerkommando for en bruker, og sende fra den distribu erte noden til nevnte robotkontroller et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot til å utføre én eller flere bevegelser, og ved å motta i ro bot kontrolleren fra den distribuerte noden data relatert til utførelsen av en eller flere bevegelser fra nevnte robotarbeidsområde, og sende dataene fra nevnte arbeidsområde til i det minste den distribuerte noden.
Ifølge en annen utførelse av oppfinnelsen er det tilveiebrakt en fremgangsmåte for å kontrollere minst én robot i et robotarbeidsområde, idet nevnte arbeidsområde omfatter nevnte robot, minst en robotkontroller og minst et verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontroller. Fremgangsmåten omfatter å motta, i en distribuert eller lokal node, et oppga veprog ram for å utføre i det minste deler av nevnte oppgave basert på en konvertering av en brukerkommando fra en bruker og sender fra den distribuerte noden til nevnte robotkontroller et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot til å utføre én eller flere bevegelser, og ved å validere i en sentral node oppgaveprogrammet mot varige kontrolldata for nevnte robot og ved å synkronisere oppgaveprogresjonen i nevnte arbeidsområde med bevegelser i andre arbeidsområder basert på data relatert til utførelsen av én eller flere bevegelser av nevnte robot og/eller nevnte verktøy i oppgaveprogrammet med data fra én eller flere andre distribuerte noder. Aktiv synkronisering basert på oppga veprog resjonsdata inneholdt fjerntliggende eller sentralt, tillater parallell kontroll av mer enn én robot i det samme eller et nærliggende arbeidsområde.
Ifølge en annen utførelse av oppfinnelsen er det tilveiebrakt en fremgangsmåte for å kontrollere minst én robot i et robotarbeidsområde, idet nevnte arbeidsområde omfatter nevnte robot, en robotkontroller og minst ett verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontroller, fremgangsmåten omfatter å motta, i en distribuert eller lokal node, et oppgaveprogram for å utføre minst deler av nevnte oppgave basert på en konvertering av en brukerkommando for en bruker, og sende fra den distribuerte noden til nevnte robotkontroller et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot til å utføre én eller flere bevegelser og ved å validere i en sentral node oppgaveprogrammet mot varige kontrolldata for nevnte robot og ved å motta minst i den distribuerte noden data fra innretninger i nevnte robotarbeidsområde, og overvåke fremdrift av oppgaven og/eller oppdatere oppgaveprogrammet.
Ifølge en foretrukket utførelse av oppfinnelsen er det tilveiebrakt en fremgangsmåte for å kontrollere minst én robot i et robotarbeidsområde, idet nevnte arbeidsområde omfatter nevnte robot, en robotkontroller og minst ett verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontroller, fremgangsmåten omfatter å motta, i en distribuert eller lokal node, et oppga veprog ram for å utføre minst deler av nevnte oppgave basert på en konvertering av en brukerkommando for en bruker, og sende fra den distribuerte noden til nevnte robotkontroller et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot til å utføre én eller flere bevegelser og ved å validere i en sentral node oppgaveprogrammet mot varige kontrolldata for nevnte robot og ved å oppdatere, avhengig av data relatert til utførelsen av én eller flere bevegelser nevnte robot og/eller nevnte verktøy i oppgaveprogrammet, en oppgavelogg for registrering av alle hendelser for oppgaven.
Denne oppfinnelsen kan beskrives som en fremgangsmåte og et system som benyt-ter robotteknikk som forklares ved bruk av anvendelser i olje- og gassindustrien som et eksempelvis eksempel. Oppfinnelsen kan også praktiseres i andre industri-grener, så som operasjoner innen gruvedrift. De beskrevne fremgangsmåter og systemer er innrettet til å være i stand til å kontrollere, håndtere, kondisjonere og understøtte multiple roboter lokalisert på fysisk forskjellige lokasjoner og nettverk fra en sentral server. Konstruksjonen av systemet er fokusert på å opprettholde sikkerhet og robusthet for samvirkningen med robotene for å forenkle integrasjon med og forbindelse til brukere på kundenettverk for fjerntliggende operasjon av roboter.
Hoveddelene av systemet omfatter sentrale noder, distribuerte noder, robotkontrol-lere og industrielle roboter. Når det gjelder infrastruktur er det et antall sentrale noder som samvirker med distribuerte noder over en sikker kanal. Selv om funksjonaliteten til systemet bare krever én enkelt sentral node, overveies flere noder basert på betraktninger om robusthet.
De distribuerte nodene er koblet til robotkontrollerne i hvert arbeidsområde, fortrinnsvis på et fysisk sikret nettverk. Kort sagt reagerer den sentrale noden på anmodninger i form av brukerkommandoer fra brukere, den allokerer roboter, verktøy og sensorer nødvendig for å oppfylle anmodningen og planer for hvordan de anmo-dede handlinger kan utføres. Den sentrale noden utsteder bevegelsesprogrammer (i form av et eller flere oppgaveprogrammer) basert på denne planleggingsprosessen. Den primære funksjon av den lokale noden er å utføre operasjoner fra den sentrale noden på en spesifisert robot. En distribuert node kan koble til flere roboter og en robot kan også kobles til flere distribuerte noder, hvilket tilbyr redundans og derfor robusthet i systemet. De distribuerte nodene kan også lese og skrive data og konfigurasjoner til robotsystemet.
Systemet tillater at kontroll av roboten utføres med forskjellige grader av autonomi, fra fjerntliggende manuell kontroll via for eksempel streaming av data, til autonom kontroll hvor systemet kan utføre operasjoner uten input fra brukeren.
Systemet kan utstyres med ekstensiv støtte for styring av og ingeniørarbeid på installasjonen på et sentralt nivå, hvilket gjør det tilgjengelig for brukere både direkte koblet til den sentrale noden men også for fjerntliggende brukere, så som, for eksempel, en ABB-støttetjeneste. Via dette grensesnittet kan brukerne utføre kondi-sjonering sentralt, så som konfigurasjon av enheter (roboter, verktøy og sensorer) legge til og slette en robot, verktøy eller annen enhet i systemet, klone konfigurasjoner fra en enhet til en annen osv. Dette er mulig siden systemet inneholder varige data om installasjonen og kan sende videre informasjon fra disse data til de distribuerte nodene som i sin tur kan sende dem videre til robotsystemet. Systemet kan også inkludere ekstensiv støtte og diagnostiske egenskaper for støtte og feilfinning, siden alle data kan samles fra de distribuerte nodene og presenteres for brukeren via den sentrale noden.
Fremgangsmåtene og systemet utviser følgende egenskaper:
- Sikker kommunikasjon til og isolasjon av robotkontroller fra brukernettverk,
- Sentral kommisjonering, styring og konfigurasjon av flere roboter,
- Sentral støtte og vedlikehold av flere roboter,
- Fjernkontroll av flere roboter,
- Tillate forskjellige grader av autonomi av kontrollen av robotene
- Tillate flere brukere å samvirke og kontrollere robotene med innebygget allokering av ressurser, - Direkte samvirkning av bruker med en robot sikret ved validering mot varige data på det distribuerte nivået og på det sentrale nivået.
Relevante scenarier for anvendelse av denne oppfinnelsen inkluderer fjerninspek-sjon, vedlikehold og operasjon av olje- og/eller gassfelt i barske og fjerntliggende områder, så som det arktiske området, og andre områder hvor menneskelig tilste- deværelse må normaliseres. Robotiserte innretninger er en løsning for å operere slike innretninger med lite eller intet personell på lokasjonen i lengre perioder, en løsning som tillater sikker og effektiv kommisjonering og operasjon av en slik robo-tisert innretning. Fordeler ved praktisering ved denne oppfinnelsen i en olje- og gassapplikasjon inkluderer: - Forbedret HSE (redusert antall personell på stedet, redusert individuell risiko for helse og sikkerhet for personellet, osv.) - Gjennomførbare operasjoner gjort mulig i omgivelser inneholdende en høy grad av sur gass, som tidligere ikke var gjennomførbart å utnytte,
- Effektivt system for å utføre fjernoperasjoner.
Ifølge et andre aspekt ved oppfinnelsen er det tilveiebrakt en distribuert node eller lokal kontrollenhet for å kontrollere minst én robot i et robotarbeidsområde idet nevnte arbeidsområde omfatter nevnte robot, en robotkontroller og minst ett verk-tøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontroller. Fremgangsmåten omfatter å motta, i en distribuert eller lokal node, et oppga veprog ram for å utføre minst deler av nevnte oppgave basert på en konvertering av en brukerkommando for en bruker, og er koblet til et datanettverk for å sende fra nevnte distribuerte node til nevnte robotkontroller et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot for å utføre én eller flere bevegelser.
Ifølge et tredje aspekt ved oppfinnelsen er det tilveiebrakt en sentral node, eller fjernkontrollenhet for å kontrollere minst én robot i et robotarbeidsområde omfattende nevnte robot, minst én robotkontroller (7a-n) og minst ett verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontroller, og nevnte sentrale node omfatter minst én prosessor og dataprogram for å sende, til minst én distribuert node, og et oppgaveprogram for å utføre i det minste deler av nevnte oppgave basert på en omforming av en brukerkommando for en brukerinput til nevnte fjerntliggende eller sentrale node.
De sentrale nodene er typisk steder på et nettverk tilgjengelige for brukere direkte eller via sikre datatunneler. Selv om systemets funksjonalitet bare krever én enkelt sentral node, overveies flere noder basert på betraktninger om robusthet.
Den grunnleggende funksjonalitet av den sentral node er å transformere bruker-kommandoene til robotoperasjoner. Når en anmodning kommer inn fra en bruker, allokerer data programvare og applikasjoner eller programmer i noden en robot og verktøy(er) nødvendig for å utføre anmodningen. Anmodningen oversettes til en operasjon dannet av oppgaver som skal utføres i sekvens. For hver oppgave plan-legger noden en bane for hvordan roboten skal beveges for å utføre oppgaven. Oppgavene kan også inkludere lesing av sensorverdier eller være avhengig av tidligere sensordata. Den sentrale noden har tilgang til varige data inneholdende informasjon om for eksempel utlegg, roboter, verktøy og sensorer som er nødvendig for å konstruere operasjonen og oppgavene.
Når operasjonen konstrueres og oppgavene planlegges, vil noden synkronisere bevegelser og oppgaver for operasjonene med andre operasjoner i utvikling slik at roboter for det første ikke kolliderer eller begrenser andre roboter i deres operasjoner. For det andre brukes synkronisering for å overvåke oppgaveutvikling som i sin tur tillater koordinering av roboter som arbeider sammen i multirobotoppgaver. Operasjoner blir også sjekket mot varige konfigurasjonsdata for å sikre at hver operasjon er gyldig før den sendes videre. En av de unike egenskaper ved dette systemet er den uvanlige evnen til å kjøre multiple roboter parallelt. En bruker må heller ikke spesifisere en robot, idet den neste tilgjengelige robot med de rette egenskaper allokeres automatisk ifølge prioritet. Denne planlegging og synkronisering er hovedfunksjonaliteten til den sentrale noden.
Den sentrale noden kobler seg dynamisk til distribuerte noder og opprettholder for-bindelsen slik at hvis en distribuert node går ned vil den sentrale noden være klar over dette. Så snart den distribuerte noden er oppe igjen vil den sentrale noden kobler seg til den igjen.
Kommunikasjon mellom sentral og distribuerte noder. Den sentrale noden er koblet til de distribuerte nodene via sikre datakanaler. Den sikre kanalen kan oppnås ved bruk av applikasjoner eller prosesser slik som virtuelle nettverk, brannmurer eller lignende for å tilveiebringe sikre kommunikasjon. De sikre kanalene kan, men er ikke begrenset til, å være dedikerte transmisjonslinjer. Fortrinnsvis brukes en kombinasjon av apparater og applikasjoner eller prosesser. For ytterligere å fremme sikkerheten vil den distribuerte noden bare akseptere et begrenset antall kommandoer, f.eks. bare et antall spesifikke kommandoer, spesifisert i et grensesnitt og bare akseptere anmodninger fra den sentrale noden. Kommunikasjonskanalen kan også koble streamingdata til og fra den sentrale noden til de distribuerte nodene, hvilket tillater både kontroll og overvåkning av spesifikke sensorer og data på et sentralt nivå.
Distribuerte node(r). Den distribuerte noden blir typisk plassert innen et sikkert område nær roboten(e) og plasseres på samme datanettverk som robotene, kalt RobotNetwork, hvilket gir den direkte tilgang til kommunikasjon med robotsyste-mene. En distribuert node kan håndtere én eller flere roboter. En robot kan imidlertid også kobles til flere distribuerte noder, man kan derfor plassere flere distribuerte noder på det samme nettverket for å addere redundans til systemet. Den primære funksjonen av den lokale noden er å utføre operasjoner fra den sentrale noden på en robot spesifisert av den sentrale noden. Operasjonen integritetssjekkes mot konfigurasjonsdata også på dette nivået for å addere en redundant integritetssjekk før operasjonen utføres. Oppgavene i operasjonen blir deretter oversatt til koder som kan utføres på robotkontrolløren, programmer for roboten blir slik automatisk generert. Under utførelse vil noden overvåke robotsystemet for å sikre at oppgavene fullføres som forventet. Fremgang for hver oppgave blir logget. Hvis ikke fullført som forventet håndterer den unntak og rapporterer fremgang tilbake til den sentrale noden.
De distribuerte nodene leser også data og konfigurasjoner fra robotsystemet som leveres videre til den sentrale noden på anmodning. Siden den distribuerte noden er plassert lokalt, kan den også kjøre funksjonalitet som krever lav latens slik som sensorbasert kollisjonsdeteksjon, sporing osv.
Den distribuerte noden har også tilgang til varige data om installasjonen, men ikke
i den fulle utstrekning som den sentrale noden. I integritetssjekken nevnt ovenfor kan den distribuerte noden også validere disse varige data med den faktiske konfi-gurasjonen av roboten, og rapportere tilbake forskjeller til den sentrale noden.
En nyttig egenskap i den distribuerte noden er også evnen til å skrive data og spesielt konfigurasjoner til robotsystemet. På denne måten kan brukeren rekonfigurere systemet ved å sende en ny konfigurasjon til den distribuerte noden.
Avhengig av hvilket robotsystem som er koblet til den distribuerte noden utnytter noden systemet og det leverandørspesifikke grensesnitt for kommunikasjon til systemet. Robotsystemet er abstrahert slik at forskjellige roboter fra forskjellige leve-randører har de samme eller lignende egenskaper fra et sentralt og bruker perspek-tiv.
Kommunikasjon med roboter, RobotNetwork. Kommunikasjonen mellom de distribuerte node(ne) og robotsystem(et) skjer på RobotNetwork. Robotnettet er fortrinnsvis et begrenset LAN, reelt eller virtuelt, som kobler den distribuerte noden til én eller flere roboter. Kommunikasjonen mellom den distribuerte noden og robotene kan være usikret siden dette LAN er dedikert og fysisk lokalisert i et begrenset og sikret område.
Kommisjonering og ingeniørarbeid. Systemet kan utstyres med ekstensiv støtte for styring og ingeniørarbeid på installasjonen på et sentralt nivå, hvilket gjør det tilgjengelig for brukere både direkte koblet til den sentrale noden, men også for fjerntliggende brukere slik som f.eks. ABB support. Via dette grensesnitt kan brukerne, sentralt, utføre kommisjonering slik som konfigurasjon av enhetene (roboter, verktøy og sensorer), addere og slette enheter i systemet, klone konfigurasjoner fra én enhet til en annen, osv. Dette er mulig siden systemet inneholder varige data over installasjonen og kan levere disse data videre til de distribuerte nodene som i sin tur kan levere dem videre til robotsystemet.
Støtte og diagnoser. Systemet kan også inkludere ekstensiv støtte og diagnostiske egenskaper for støtte og feilfinning, siden alle data kan samles fra de distribuerte nodene og presenteres for brukeren via den sentrale noden. Eksempel på funksjonalitet som kan inkluderes er sentral tilgang til hendelseslogger, tilstand og diagnostiske data fra alle tilkoblede roboter. På toppen av dette kan applikasjoner for service og støtte konstrueres for å øke lettheten for støtte.
Et dataprogram, og et dataprogram registrert på et datalesbart medium er beskrevet i et annet aspekt ved oppfinnelsen.
KORTFATTET BESKRIVELSE AV TEGNINGENE
En mer fullstendig forståelse av fremgangsmåten og systemet ifølge foreliggende oppfinnelse kan fås ved henvisning til den etterfølgende detaljerte beskrivelse når den tas i sammenheng med de vedføyde tegninger, hvor: Figur 1 viser et skjematisk flytskjema for en fremgangsmåte ifølge en utførelse av oppfinnelsen med fremgangsmåtetrinn for å håndtere et ro botop pga ve program omfattende et bevegelsesprogram for roboten basert på konverterte brukerkommandoer på en distribuert node ifølge en utførelse av oppfinnelsen; Figur 2 viser et skjematisk flytskjema for en fremgangsmåte ifølge oppfinnelsen i Figur 1 og som særlig viser fremgangsmåtetrinn for å håndtere instruksjoner i et robotprogram i en robotkontrollør ifølge en annen utførelse av oppfinnelsen; Figur 3 viser et skjematisk blokkdiagram for oppfinnelsen i Figur 1 og særlig et sys-temutlegg som inkluderer én eller flere distribuerte noder og robotkontrollører iføl-ge en annen utførelse av oppfinnelsen; Figur 4 viser et skjematisk blokkdiagram for oppfinnelsen i Figur 1 og særlig et funksjonelt utlegg som inkluderer én eller flere distribuerte noder, robotkontrollører og roboter i arbeidsområder ifølge en annen utførelse av oppfinnelsen; Figur 5 viser et skjematisk flytskjema for en fremgangsmåte ifølge oppfinnelsen i Figur 1, og særlig fremgangsmåtetrinn for å håndtere robotprogram met i en fjerntliggende eller sentra I lokasjon og kommunikasjoner med distribuerte noder og arbeidsområder ifølge en utførelse av oppfinnelsen; Figur 6 er et skjematisk diagram for et system for å utføre fremgangsmåten i Figur 1 i én eller flere av en flerhet av distribuerte noder og særlig med relasjoner mellom de distribuerte nodene og en fjerntliggende eller sentrallokasjon ifølge en annen utførelse av oppfinnelsen.
BESKRIVELSE AV FORETRUKNE UTFØRELSER
Foreliggende oppfinnelse vil nå bli beskrevet mer fullstendig i det etterfølgende med henvisning til de vedføyde tegningene, hvor visse utførelser av oppfinnelsen er vist. Denne oppfinnelsen kan imidlertid virkeliggjøres i mange forskjellige former og må ikke oppfattes å være begrenset til utførelsene som her er presentert, i stedet er disse utførelsene tilveiebrakt som eksempel slik at denne beskrivelse vil være grundig og fullstendig.
Figur 3 viser et system med roboter arrangert i arbeidsområder. Figuren viser et arbeidsområde 71 med en robot 71, arrangert med sensorer 71S, verktøy 71T. Arbeidsområdet kan omfatte én eller flere feltanordninger 71TFD. Figur 3 viser også en robotkontrollør 7a koblet til roboten 71 i arbeidsområdet 71a og til et første datanettverk 16 for robotkommunikasjon. Et datanettverk eller feltbuss (Fieldbus) 18 kobler robotene, verktøyene og sensorene til en robotkontrollør 7a. En lokal kontrollør 9 er vist koblet til et robotnettverk 16 og til en feltbuss 18. Figuren viser også en distribuert node 5a som er arrangert koblet til robotnettverket 16 og til et andre datanettverk, et klient/servernettverk 14, ved hjelp av en sikker data ka na I 15. Den distribuerte noden er typisk plassert innen et sikret område nære ved roboten(e) og er plassert på det samme datanettverket 16 som robotene. Robotnettverket er fortrinnsvis et begrenset LAN, reelt eller virtuelt, som kobler den distribuerte noden til én eller flere roboter. Kommunikasjonen mellom den distribuerte noden og robotene kan være usikret når dette LAN er dedikert og når det er fysisk lokalisert i et begrenset og sikret område. En distribuert node kan håndtere én eller flere roboter. En robot kan imidlertid være koblet til mer en én distribuert node.
En fjerntliggende eller sentral node 3 er vist som er koblet av den sikre datakanalen 15 til distribuert node 5a. Den sikre kanalen kan være en dedikert transmisjonslin-je. Den sikre kanalen kan også eller isteden oppnås ved bruk av applikasjoner eller prosesser slik som virtuelle nettverk, virtuelle private nettverk, brannmurer og lignende for å tilveiebringe sikre kommunikasjon. For å fremme sikkerheten kan den distribuerte noden være konfigurert til å akseptere bare et begrenset antall kommandoer spesifisert i et grensesnitt, distribuerte noder kan også konfigureres til bare å akseptere anmodninger fra den sentrale noden. Den sentrale noden 3 er også koblet via klientservernettverket 14 til én eller flere brukere 12 og til brukere 12' tilknyttet via andre datalinker eller nettverk, f.eks. via en forbindelse 13 gjennom internett.
Figur 4 viser de distribuerte nodene 5a-n i nærmere detalj. Den viser tre distribuerte noder 51, 5b og 5n. I denne eksempelvisse tegning er det en robotkontrollør, f.eks. 7a, for én distribuert node, f.eks. 5a, og én industriell robot, f.eks. 71, men dette er en forenkling. Hver distribuert node kan samvirke med et antall robotkont-rollører. Hver robotkontrollør kan samvirke med mer en én distribuert node. Hver robotkontrollør, f.eks. 7a, kan samvirke med en rekke roboter, f.eks. 71. F.eks. én distribuert node slik som node 5a kan samvirke med en rekke robotkontrollører 7a, 7b, 7n og hver av nevnte robotkontrollører kan samvirke med en rekke roboter 71, 71-1, 71-n (ikke vist). Figuren viser 3 industrielle roboter 71, 81, 91 som kan samvirke med forskjellige distribuerte noder i dette eksempel. Hver robot kan være
arrangert med ett eller flere verktøy slik som 71T med robot 71, det kan være sensorer slik som 71S og det kan være én eller flere feltanordninger 71TFD arrangert i arbeidsområdet av én eller flere roboter.
En eller flere roboter kan være utstyrt med et felles robotverktøy slik som en gri-per, klemmer, tang, klo eller manipulator. En robot kan også være utstyrt med et mer spesialisert verktøy slik som en malepistol eller en sveisepistol. Slike verktøy kan monteres på den siste aksen av manipulatoren eller roboten, f.eks. i/på vristen av en robotarm. En robot kan være arrangert og programmert til å bruke forskjellige verktøy og sensorer ved utnyttelse av f.eks. et system for å bytte verktøy. Roboten har da en pneumatisk, hydraulisk eller elektrisk anordning til å plukke opp verktøyene fra en verktøystand. En slik verktøystand kan også deles mellom roboter med overlappende arbeidsområder, slik at alle roboter som deler en verktøy-stand kan bruke de samme verktøy.
Figuren viser at i hver distribuert node 5a, kan det mottas et oppgaveprogram, idet det det etter validering osv. (ikke vist) blir utført og data relatert til oppgaven sendes tilbake til den distribuerte noden. Roboten drives av et robotprogram for å pas-se en spesifikk robottype nedlastet fra distribuert node 5a til en robotkontrollør, i dette eksempel 7a, som sender bevegelsesinstruksjoner til roboten 71. Robot 71 og ethvert verktøy 71T krever en operand ifølge robotprogrammet (utledet fra oppgaveprogrammet, et ikke-robotspesifikt bevegelsesprogram utviklet i den sentrale noden 3). Fordi oppgaveprogrammet valideres av den distribuerte noden mot lokalt holdte varige data, data som f.eks. holdes av robotkontrolløren, før et robotspesifikt program genereres fra oppgaveprogrammet, kan det håndteres forskjellige robot-typer, f.eks. roboter fra forskjellige produsenter. I tillegg til posisjonen og robot -
konfigurasjonsdata for utførelse av oppgaver holder robotkontrolløren 7a sensordata og andre data, til og med verktøydata fra arbeidsområder kan også lagres lokalt i assosiasjon med den distribuerte noden. Sensor og/eller verktøydata kan også holdes eller leses av en lokal kontrollør 9 og gjøres tilgjengelig til i det minste den distribuerte noden.
Figuren viser at under operasjon kan hver robot 71, 81, 91 drives av robotprogrammer til å utføre Oppgave 1, Oppgave 2 ... til Oppgave n. Data fra robot/verktøy-operasjon under utførelsen av et robotprogram vil derfor inkludere po-sisjonsinformasjon 62-1 fra roboten, robotakser og/eller robotverktøypunktet etter-som den beveger seg langs en programmert bane gjennom veipunkter og videre under f.eks. Oppgave 1, 61-1. Data innsamlet under oppgave 1 sendes tilbake til den distribuerte noden, vist som Data 1, referanse 62-1. Slike data innsamlet under en oppgave omfatter sensoravlesninger, hendelser, alarmer, statusinformasjon og konfigurasjonsinformasjon som kan evalueres som tilbakemelding. Slike data innsamlet under en oppgave kan også brukes til å verifisere at en konfigurasjon er korrekt ved å sammenligne i en prosess i den distribuerte noden en fullført del av en oppgave med varige konfigurasjonsdata for nevnte robot.
Den samme prosessen skjer for etterfølgende oppgaver, slik blir for Oppgave n referanse 62-n Data n informasjon og Posisjon n informasjon 62-n samlet inn og sendt tilbake til den distribuerte noden. Ved dette middel blir status av operasjoner og andre data samlet inn og benyttet. Den sentrale noden rapporterer deretter status av operasjoner og andre data tilbake til brukergrensesnittet, om hendelser slik som fullført operasjon eller om anmodning fra grensesnittet, slik som f.eks. ved oppdatering av gjeldende posisjon av en robot slik at brukeren, om det er en fjerntliggende eller en lokal bruker, kan overvåke progresjon av en oppgave.
Figur 5 viser en serie fremgangsmåtetrinn som skjer i en sentral node, begynnende med å motta en kommando fra en bruker. Denne fremgangsmåte for å kontrollere en robot er basert på en brukerkommando som kan vedrøre en oppgave som er planlagt på forhånd, slik som en oppgave om å «bevege roboten til inspeksjons-punkt B»; «åpne/lukke ventil 33», eller til og med en komplisert oppgave slik som «erstatt ventil 33». Brukerkommandoen kan også være med henblikk på en oppgave som f.eks. avhenger av et resultat av sensoravlesning, eller andre data. F.eks. kan en oppgave være «plukk opp objekt C i posisjon D», i hvilket tilfelle posisjonen av objektet har blitt bestemt i et tidligere trinn. Oppgavene i en operasjon utføres sekvensielt og hvis én oppgave svikter kan sannsynligvis ikke den neste kommende oppgave utføres. Fordelen med de beskrevne fremgangsmåtene er imidlertid at enhver bruker kan overvåke progresjon av en oppgave, og en bruker kan inngi en brukerkommando for å be om en robotoperasjon for å rette opp eller på annen måte håndtere en oppgave som ikke ble fullført med suksess.
Brukerkommandoen mottas i et datakontrollert system i den sentrale noden 3 og fremgangsmåten for å håndtere denne brukerkommando og konvertere den til et oppga veprog ram for en robot (respektivt robot og verktøy) omfatter noen eller alle de etterfølgende trinn: 19 Konvertér brukerkommandoer til robotoperasjoner bestående av oppgaver
20 Allokér én eller flere roboter og verktøy til oppgavene i operasjonen og
21 For hver oppgave i operasjonen, planlegg en bane for robotbevegelser
22 Sjekk at hver robot og/eller verktøy er tilgjengelig;
Deretter for hver oppgave i operasjonen:
23 Motta sensorinngang (trinn 54 fra robot og arbeidsområde, fra idet minste distribuert node 5a) og fullfør oppgaveplanlegging for foreliggende oppgave; 24 Synkronisér oppga veprog resjon med andre distribuerte noder, f.eks. 5b-5n (inkluderer å motta data (55b, 55n) om oppga veprog resjon fra andre noder), 25 OK å gå videre? (sjekking av inngangsdata fra andre noder, f.eks. å sjekke at en bane i gjeldende arbeidsområdet (71a) er ledig eller på annen måte unngå kollisjoner, eller å sjekke oppgaveprogresjon for å koordinere med andre roboter når mer enn én robot samarbeider om samme oppgave), 26 Validér mot varige data (sjekk med varige data lagret sentralt, f.eks. robotstatus, robotposisjon, fritt rom som kreves rundt robot, posisjon av andre roboter, verktøy i forhold til gjeldende arbeidsområder, verktøystatus), 27 Last ned gjeldende oppgaveprogram x til en distribuert node (f.eks. 5a).
Operasjonene som skjer i en sentral lokasjon eller fjerntliggende lokasjon i assosiasjon med en sentral node 3 beskrives som følger. Sensordata fra en sensor slik som 71S i Figur 3, posisjonsdata, robotoperasjonsdata og andre data tilveiebringes i arbeidsområder og roboten, sendes til sentral node, analyseres, gjøres tilgjengelig og lagres i assosiasjon med den sentrale noden 3. De varige data om hver robot og verktøy blir også lagret i assosiasjon med sentral node 3. Dette inkluderer data slik som robotstatus, robotposisjon, ledig rom som kreves rundt robot, utlegg av robot i arbeidsområde, CAD-data eller 3-D modelldata av anlegget eller lokasjonen, posisjon av andre roboter, verktøy i forhold til gjeldende arbeidsområde, verktøystatus. De varige data lagret sentralt utnyttes i den sentrale noden for å planlegge banene, allokere roboter, verktøy og sensorer ifølge behov i operasjonen. Under allokering av oppgaver til roboter, så vel som valg av en robot på en basis slik som fysisk spesifikasjon og evne (rekkevidde, snudiameter, hastighet, løftekapasitet osv.) blir også type verktøy tatt i betraktning. Når et bestemt verktøy er påkrevet blir derfor kapasiteten av verktøyet sammenlignet med oppgaven så vel som til hvilken robot eller roboter det allerede er festet, eller til hvilken robot det kan monteres effektivt på. Ved bruk av de varige data kan hvert oppgaveprogram også valideres sentralt for å sikre at roboten kan utføre de nødvendige bevegelser for å utføre én eller flere brukerkommandoer slik som; at oppgaven utføres, data innsamles om progresjo-nen av oppgaven, og slik at det ikke vil være noen kollisjoner med roboten eller objekter i arbeidsområder. Bruk av varige data for validering og for overvåkning av progresjon betyr at mer enn to eller flere industrielle roboter kan opereres i parallell på grunn av den tilgjengelige funksjonalitet for synkronisering av robotoperasjoner.
Høynivå bevegelsesplanlegning utføres i den sentrale noden slik at kommandoer
laget av en fjerntliggende operatør slik som 12, 12' i figur 3 konverteres til en serie oppgaver. Data fra arbeidsplassene, mottatt og analysert i den sentrale noden, blir benyttet for å lage ett eller flere oppgaveprogram mer (som essensielt er bevegelsesprogrammer) for at minst én robot og/eller robot pluss verktøy skal lage en serie bevegelser langs en forhåndsprogrammert bane omfattende veipunkter, verk-tøyoperasjonspunkter osv., for å utføre hver oppgave. Bevegelseskontrollfunksjo-nen mottar oppgaveprogrammene som generiske robotprogrammer og sender oppgaveprogrammene til en distribuert node slik som 5a, hvor det generiske oppgaveprogrammet konverteres til et program for å kjøre på en bestemt robot. Node 5a laster deretter ned det spesifikke robotprogrammet til en robotkontrollør slik som 7a i en robot 71 i et arbeidsområde slik som 71a, som indikert av robotmanipula-torfunksjonen.
Figur 6 viser i et diagram trinn og funksjoner som skjer i en sentralnode slik som sentralnode 3 og i en distribuert node slik som nodene 5a, 5b og 5n. Figuren viser noen av de samme trinnene vist i figur 5, dette er trinnene 19 til 21, deretter:
19 Brukerkommandoer konvertert til robotoperasjoner
20 Allokér robotoperasjoner til oppgaver for en robot, verktøy, sensorer
21 Planlegg robot (og verktøy)-bane for oppgaveprogram
23 Få sensorinngang og lag oppgaveprogram
24 Synkronisér oppga veprog resjon med andre distribuerte noder
27 Last ned oppgaveprogram til distribuert node (f.eks. 5a)
51 Motta oppgaveprogram i distribuert node
28 Overvåk oppgaveprogram på distribuert node (f.eks. 5a)
54 Utfør arbeidsprogram på robot (+ verktøy, + sensorer)
40 Sammenlign oppga veprog resjon, sensordata, i f.eks. 5a til brukerkomman-do/robotoperasjon 55 Send data relatet til oppgave fra distribuert node (f.eks. 5a) til sentralnode 3 29 Synkronisér oppga veprog resjon på 5a med hendelser i andre noder 5b, 5n
41 Last ned oppdatert oppgaveprogram til distribuert node (f.eks. 5a)
Figurer 1 og 2 viser fremgangsmåtetrinn som respektivt skjer i den distribuerte noden slik som 5a og i robotkontrolløren slik som 7a. Det vises også til figur 3. Figur 1 viser en prosess i en distribuert node som begynner med 51 Motta oppgaveprogram i distribuert node (f.eks. 5a)
52 Validér oppgaveprogram lokalt mot robotkonfigurasjon (f.eks. for 71 eller 71-1 eller 71-n) lagret separat (programmet valideres mot varige data i forhold til hver robot og verktøy holdt i en robotkontrollør slik som 7a og/eller i den distribuerte noden slik som 5a for å sikre at programmet kan utføres på en robot, f.eks. 71) 53 Konvertér oppgaveprogrammet til et robotprogram, som er et bevegelsesprogram for en bestemte robot, 54 Utfør - start robotbevegelser for å utføre oppgave og send data til robot-kontrollør (f.eks. 7a), 55 Data fra kjøring av robotprogram met for å utføre oppgave sendes også til en prosess i den distribuerte noden (f.eks. 5a) for å overvåke progresjon og/eller oppdatere gjeldende oppgaveprogram, 56 Data fra kjøring av robotprogram met for å utføre oppgave og sensordata sendes også til separat- eller sentralnode 3 (for sentraIvalidering og for synkronisering med operasjoner i andre distribuerte noder og arbeidsområder).
Data fra kjøring av robotprogram met samlet inn i en distribuert node slik som 5a kan skrives til en logg som registrere at alle elementer i en oppgave har blitt utført. Oppgaveloggen kan lagres lokalt i den distribuerte node: fortrinnsvis blir den også, eller i stedet, lagret sentralt i en sentralnode, f.eks. for revisjonsformål. Fordelen med oppgaveloggen er å registrere at hver separat operasjon i en oppgave har blitt utført med suksess. Dette sikrer at under sikkerhetsrelaterte prosedyrer slik som prosedyrer når det er menneskelige operatører til stede i et arbeidsområde, eller sikkerhetsrelaterte prosedyrer som inkluderer en kritisk operasjon, f.eks. åpning eller lukking av en ventil, at det er en permanent registrering av at hver operasjon eller element i en oppgave har blitt fullført. Dette (a) sikrer at den etterfølgende operasjon eller element deretter kan tillates å skje; og også (b) å registrere at oppgaven som helhet har blitt fullført. Loggen kan også inneholde data om hvilke me-kaniske enheter, datoen, tiden, handlingene og kritiske data per del av den fullførte oppgave.
Figur 2 viser en prosess i en robotkontrollør i et arbeidsområde slik som 71a, som har godtatt et bevegelsesprogram i form av et robotprogram fra en distribuert node slik som node 5a, som begynner med trinnene: 60 Motta robotprogram i lokal robotkontrollør 7a fra distribuert node 5a (robotprogrammet har blitt konvertert fra et oppgaveprogram, basert på en konvertering for én eller flere brukerkommandoer, og det har instruksjoner for en bestemt robot for å utføre deler av en oppgave) 61 Utfør robotprogram på robot (71) med verktøy (71T) (med verktøy og med instruksjoner for verktøy som påkrevet)
62 Send data relatert til oppgave tilbake til distribuert node 5a
65 Progresjon av robotprogram overvåket og oppgaveprogram/robotprogram oppdatert av distribuert node 5a.
I en annen utførelse av oppfinnelsen kan den distribuerte noden være arrangert integrert med en robotkontrollør istedenfor som en frittstående enhet. Funksjonene til den distribuerte enheten er i denne utførelsen arrangert som én eller flere kretser, kretskort sammen med fastvare eller annen datamaskinkode, dataprogrammer for å utføre funksjonaliteten inkludert i en robotkontrollør (7a, 7b, 7n)-enhet.
I en annen utførelse av oppfinnelsen kan oppgaveprogrammet sendt fra den sentrale noden til den distribuerte noden allerede være arrangert til å kjøres på en kjent robot. Den kjente roboten er en forhåndsbestemt type robot. Den forhåndsbestem-te type robot kan være den eneste typen robot på en installasjon eller arbeidsområde. Den distribuerte noden laster derfor oppgaveprogrammet ned som et robotprogram som allerede er egnet for å kjøres på en robot koblet til robotkontrolløren.
Fremgangsmåtene for å kontrollere én eller flere industrielle roboter som beskrevet i denne beskrivelse kan utføres av én eller flere dataapplikasjoner omfattende da-ta programelementer eller programvarekode som, når den lastes i en prosessor eller datamaskin, forårsaker at datamaskin eller prosessøren utfører fremgangsmåte-trinnene, f.eks. fremgangsmåtene beskrevet i forhold til figur 1, 2, 5 og 4. Noen av fremgångsmåtetrinnene ovenfor kan utføres ved prosessering av digitale funksjoner, algoritmer og/eller dataprogrammer og/eller av analoge komponenter eller analoge kretser eller ved en kombinasjon av både digitale og analoge funksjoner. Prosessorer kan være standardprosessorer og/eller kan være maskinvare eller kon-figurerbar maskinvare slik som en «Field-Programmable Gate Array» (FPGA). Pro-sessorene eller mikroprosessorene kan også eller i stedet omfatte maskinvare slik som en «Complex Programmable Logic Device» (CPLD) eller det kan brukes en
«Application Specific Integrated Circuit» (ASIC).
Fremgangsmåtene ifølge oppfinnelsen kan som tidligere beskrevet utføres ved hjelp av ett av flere dataprogrammer omfattende data program kode eller programvarede-ler som kjører på en datamaskin eller en prosessor. Mikroprosessoren (eller proses-sorene) omfatter en sentralprosesseringsenhet CPU som utfører trinnene i fremgangsmåten ifølge én eller flere sider av oppfinnelsen. Dette utføres ved hjelp av ett eller flere av nevnte dataprogram, slik som er lagret i det minste delvis i minne og som sådan tilgjengelig av den ene eller flere prosessorer. Prosessoren eller hver prosessor kan være i en minnelagringsenhet i en prosessorsystemkontrollenhet eller en kontrollør 9 eller kontrollenhet eller en PLC (Programmable Logic Control-ler) i arbeidsområdet eller en annen systemdel av dette, eller kan i tillegg kjøre i en sentralnode eller fjerntliggende kontrollenhetssystem i et lokalt eller distribuert da-tastyrt kontrollsystem. Det er å forstå at nevnte dataprogram også kan kjøres på én eller flere standard industrielle mikroprosessører eller datamaskiner istedenfor én eller flere spesielt innrettede datamaskiner eller prosessorer.
Dataprogrammet omfatter dataprogramkodeelementer eller programvarekodedeler som får datamaskinen til å utføre fremgangsmåten ved bruk av ligninger, algoritmer, data, lagrede verdier og beregninger som tidligere beskrevet. En del av programmet kan lagres i en prosessor som nevnt ovenfor, men også i en ROM, RAM, PROM, EPROM eller EEPROM-brikke eller tilsvarende minnemidler. Programmet kan delvis eller som helhet også lagres på eller i, andre egnede datalesbare medier slik som en magnetisk disk, slik som en CD (kompaktdisk) eller en DVD (digital versati-le dise), hard disk, magnetooptiskminnelagringsmidler, i volatilt minne, i flashmin-ne, som «firmware», lagret på en dataserver eller på én eller flere rekker av data-servere. Andre kjente og egnede medier, inkludert fjernbare minnemedier slik som Sony memory stick (TM) og andre fjernbare flashminner, harddisker osv. kan også brukes. De beskrevne dataprogrammene kan også arrangeres delvis som en distribuert applikasjon med evne til å kjøres på flere forskjellige datamaskiner eller data-systemer mer eller mindre samtidig. Data kan aksesseres ved hjelp av enhver av: OPC, OPC-servere, en «Object Request Broker» slik som COM, DCOM eller CORBA, en webtjeneste.
Legg merke til at mens det ovenfor er beskrevet eksempelvise utførelser av oppfinnelsen, er det flere variasjoner og modifikasjoner, særlig for datakommunikasjons-arkitekturer og protokoller mellom en fjerntliggende og én eller flere lokale noder som kan utføres på den beskrevne løsning uten å avvike fra omfanget av foreliggende oppfinnelse som definert i de vedføyde patentkrav.
Claims (18)
1. Fremgangsmåte for å kontrollere minst én robot i en robotarbeidsområde, hvor nevnte arbeidsområde omfatter nevnte robot, en robotkontrollør (7a-n) og minst ett verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet roboten kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontrollør,
karakterisert vedå motta (51), i en distribuert node (5a-n), et oppgaveprogram for å utføre minst en del av nevnte oppgave basert på en konvertering (19) av en brukerkommando fra en bruker (12, 12'), validering (26) i en sentral node av oppgaveprogrammet mot varige kontrolldata for nevnte robot og sende (54) fra den distribuerte noden til nevnte robotkontrollør (7a-n) et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot (71, 81, 91) for å utføre én eller flere bevegelser.
2. Fremgangsmåte ifølge krav 1,
karakterisert vedå validere (52) i den distribuerte noden (5a) oppgaveprogrammet mot varige kontrolldata lagret i assosiasjon med den distribuerte noden for nevnte robot, eller mot data lest av nevnte distribuerte node fra nevnte robotkontrollør (7a-n).
3. Fremgangsmåte ifølge krav 1,
karakterisert vedå motta i robotkontrolløren (7a-n) fra den distribuerte noden data relatert til utførelsen av én eller flere bevegelser av nevnte robot i oppgaveprogrammet fra nevnte robotarbeidsområde, og sende (62) dataene fra nevnte arbeidsområdet til minst den distribuerte noden (5a).
4. Fremgangsmåte ifølge krav 1,
karakterisert vedå motta i minst den distribuerte noden (5a) data fra anordninger (71S, 71T, 9) i nevnte robotarbeidsområde, overvåkning av progresjon av oppgaven i den distribuerte noden og/eller oppdatering av oppgaveprogrammet.
5. Fremgangsmåte ifølge krav 1,
karakterisert vedå sende (56) fra den distribuerte noden til en sentral node (3) data relatert til utførelsen av én eller flere bevegelser av nevnte robot i oppgaveprogrammet og/eller data fra anordninger (71S, 71T, 9) i nevnte robotarbeidsområde og lagring av nevnte data.
6. Fremgangsmåte ifølge krav 5,
karakterisert vedå motta (23) fra den distribuerte noden data relatert til utførelsen av én eller flere bevegelser av nevnte robot i oppgaveprogrammet og/eller data fra anordninger (71S, 71T, 9) i nevnte robotarbeidsområde og lagring av nevnte data i den sentrale noden (3).
7. Fremgangsmåte ifølge krav 1,
karakterisert vedoppdatering av nevnte oppgaveprogram (55, 40, 41) avhengig av data mottatt i den sentrale noden relatert til utførelsen av én eller flere bevegelser av nevnte robot ifølge oppgaveprogrammet.
8. Fremgangsmåte ifølge ett av kravene 1-7,
karakterisert vedsynkronisering (24, 29) av oppga veprog resjon i nevnte arbeidsområde (71a) med bevegelser i andre arbeidsområder basert på data relatert til utførelsen av én eller flere bevegelser av nevnte robot og/eller nevnte verktøy i oppgaveprogrammet med data fra én eller flere andre distribuerte noder (5b, 5n).
9. Fremgangsmåte ifølge krav 1,
karakterisert vedå oppdatere, avhengig av data relatert til utførelsen av én eller flere bevegelser av nevnte robot og/eller nevnte verktøy i oppgaveprogrammet, en oppgavelogg for registrering av alle hendelser for oppgaven.
10. Distribuert node for å kontrollere minst én robot i et robotarbeidsområde omfattende nevnte robot, en robotkontrollør (7a-n) og minst et verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robotkontrollør,
karakterisert vedat nevnte distribuerte node (5a-n) omfatter en kontrollenhet og dataprogrammer for å motta (51) et oppgaveprogram for å utføre minst en del av nevnte oppgave basert på en konvertering (19) av en brukerkommando fra en bruker (12, 12') og dataprogrammer for å validere (52) oppgaveprogrammet mot lokalt holdte varige kontrolldata for minst én robot og mot data lest av nevnte distribuerte node fra nevnte robotkontrollør (7a-n), og som er koblet til et datanettverk (16) for å sende (54) fra nevnte distribuerte node til nevnte robot-kontrollør (7a-n) et robotprogram basert på oppgaveprogrammet med instruksjoner for nevnte robot (71, 71n) til å utføre én eller flere bevegelser.
11. Distribuert node ifølge krav 10,
karakterisert vedat nevnte enhet er koblet til én eller flere datanettverk (16, 15, 14) for å sende (56) fra den distribuerte noden til en fjerntliggende kontrollenhet eller sentralnode (3), data relatert til utførelsen av én eller flere bevegelser av nevnte robot i oppgaveprogrammet og lagre utførelsesdata for nevnte oppgave.
12. Distribuert node ifølge krav 10,
karakterisert vedat nevnte enhet er koblet til et sikkert datanettverk (15) arrangert med innretninger og/eller prosesser for å tilveiebringe sikker kommunikasjon med den sentrale kontrollenheten eller den sentrale noden (3).
13. Distribuert node ifølge krav 10,
karakterisert vedat nevnte distribuerte enhet er arrangert som én eller flere kretser og dataprogrammer inkorporert som én eller flere moduler av en ro-botkontrollør (7a, 7b, 7n).
14. Sentral node for å kontrollere minst én robot i en robotarbeidsområde omfattende nevnte robot, en robotkontrollør (7a-n) og minst et verktøy og/eller sensor for å utføre én eller flere bevegelser for å utføre en oppgave, idet nevnte robot kontrolleres ved hjelp av instruksjoner i et robotprogram som kjører i nevnte robot-kontrollør,
karakterisert vedat nevnte sentrale node (5a-n) omfatter minst én prosessor og dataprogram for å validere (26) på den sentrale noden et oppgaveprogram mot varige kontrolldata for nevnte robot og sende (27), til minst én distribuert node (5a-n), oppgaveprogrammet for å utføre minst en del av nevnte oppgave basert på en konvertering (19) av en brukerkommando fra en bruker (12, 12').
15. Sentral node ifølge krav 14,
karakterisert vedat den omfatter en minnelagringsenhet inneholdende dataprogramvareapplikasjoner for å konvertere (19) brukerkommandoer til robotoperasjoner.
16. Sentral node ifølge krav 14,
karakterisert veden dataforbindelse til datalesbare lagrede varige kontrolldata for minst én nevnte robot og ved en minnelagringsenhet inneholdende data programvare for å validere oppgaveprogrammet med de varige kontrolldatae-ne.
17. Sentral node ifølge krav 14,
karakterisert vedat nevnte enhet er koblet til én eller flere datanettverk (13, 14, 15) for å motta brukerkommandoer fra minst én eller flere brukere (12, 12') som inngang for brukerkommandoer til minst én nevnte robot.
18. Dataprogram lagret på et datalesbart medium, hvilket dataprogram når det utføres utfører trinnene i ethvert av kravene 1-9.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10195004A EP2466404A1 (en) | 2010-12-14 | 2010-12-14 | Method for controlling industrial robots in a work area |
Publications (1)
Publication Number | Publication Date |
---|---|
NO20111715A1 true NO20111715A1 (no) | 2012-06-15 |
Family
ID=43836666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20111715A NO20111715A1 (no) | 2010-12-14 | 2011-12-13 | Fremgangsmate for a kontrollere industrielle roboter i et arbeidsomrade |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP2466404A1 (no) |
NO (1) | NO20111715A1 (no) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103676797B (zh) * | 2012-09-07 | 2016-09-21 | 南京理工大学 | 模块化分动式多足机器人运动控制器及其控制方法 |
DE102014112639C5 (de) * | 2014-09-02 | 2020-07-02 | Cavos Bagatelle Verwaltungs Gmbh & Co. Kg | System zum Erstellen von Steuerungsdatensätzen für Roboter |
CN104460609A (zh) * | 2014-11-18 | 2015-03-25 | 中国石油天然气股份有限公司 | 一种用于油气生产的远程监控的方法及*** |
CN105988398A (zh) * | 2015-03-03 | 2016-10-05 | 上海电气自动化设计研究所有限公司 | 一种基于pc的无人值守机房工业机器人控制***及方法 |
CN105988447B (zh) * | 2015-03-03 | 2019-05-07 | 上海电气自动化设计研究所有限公司 | 一种基于工业机器人进行服务器机柜维护的***及方法 |
DE102015219564A1 (de) * | 2015-10-09 | 2017-04-13 | Robert Bosch Gmbh | Werkzeuganalyseeinrichtung und verfahren zur analyse einer bearbeitung eines werkstücks mit einem werkzeug |
JP6514252B2 (ja) | 2017-03-02 | 2019-05-15 | ファナック株式会社 | ロボットのデータ設定システム、データ設定方法及びプログラム |
EP3373231A1 (en) * | 2017-03-07 | 2018-09-12 | Siemens Aktiengesellschaft | Operating industrial plant machines preventing collisions |
WO2020141638A1 (ko) * | 2019-01-03 | 2020-07-09 | 엘지전자 주식회사 | 서버 및 이를 포함하는 로봇 시스템 |
DE202022105610U1 (de) | 2022-10-04 | 2024-01-05 | Kuka Deutschland Gmbh | Robotersteuerungssystem |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE20004370U1 (de) | 2000-03-10 | 2001-07-19 | Kuka Schweissanlagen Gmbh | Industrielle Produktionsanlage mit WEB-Steuersystem |
US7590680B2 (en) * | 2006-06-29 | 2009-09-15 | Microsoft Corporation | Extensible robotic framework and robot modeling |
KR100974907B1 (ko) * | 2007-12-17 | 2010-08-09 | 한국전자통신연구원 | 로봇 네트워크 시스템에서의 컨텐츠 전송/실행 장치 및방법 |
KR101021836B1 (ko) | 2008-10-09 | 2011-03-17 | 한국전자통신연구원 | 동적 행위 바인딩을 통한 다수 로봇의 협업 구현 시스템 및그 구현 방법 |
-
2010
- 2010-12-14 EP EP10195004A patent/EP2466404A1/en not_active Ceased
-
2011
- 2011-12-13 NO NO20111715A patent/NO20111715A1/no not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP2466404A1 (en) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO20111715A1 (no) | Fremgangsmate for a kontrollere industrielle roboter i et arbeidsomrade | |
CN111386179B (zh) | 硬件模块、机器人***以及用于操作机器人***的方法 | |
CN111386178B (zh) | 机器人***的硬件模块的基于计算机的储存器的操作方法 | |
Togias et al. | Virtual reality environment for industrial robot control and path design | |
Sanfilippo et al. | A universal control architecture for maritime cranes and robots using genetic algorithms as a possible mapping approach | |
Øvern | Industry 4.0-Digital twins and OPC UA | |
JP5815504B2 (ja) | 安全コントローラおよび自動化設備を制御する方法 | |
Diachenko et al. | Industrial collaborative robot Digital Twin integration and control using Robot Operating System | |
Zieliński et al. | Mechatronic design of open-structure multi-robot controllers | |
Garcia et al. | Flexible robotic teleoperation architecture under iec 61499 standard for oil & gas process | |
TW201512795A (zh) | 可程式控制器及可程式控制器之控制方法 | |
Elshatarat et al. | MATLAB Toolbox implementation and interface for motion control of KUKA KR6-R900-SIXX robotic manipulator | |
Franklin Salazar et al. | Teleoperation and remote monitoring of a SCORBOT ER-4U robotic arm in an academic environment | |
JP6861895B1 (ja) | データ処理装置、データ処理システム、データ処理方法およびプログラム | |
Tóth et al. | Studying the Communication Possibilities Between a Collaborative Robot and an Industrial Computer | |
Arnarson | Digital twin simulation with Visual Components | |
WO2023068351A1 (ja) | ロボットデータ処理サーバ及び軌跡データ算出方法 | |
Yakimovich et al. | Increasing of the efficiency of flexible manufacturing system | |
Tlach et al. | Possibilities of a robotic end of arm tooling control within the software platform ROS | |
JP2019197449A (ja) | 機器管理装置およびタグ名検証方法 | |
Wrütz et al. | Robot Offline Programming Tool (RoBO-2L) for Model-Based Design with MATLAB | |
Zólkiewski et al. | Handheld Device Applications for Remote Control of Industrial Robots. | |
JP2023062782A (ja) | ロボットデータ処理サーバ及び干渉データ提供方法 | |
Zubizarreta et al. | Real-time environment design for testing advanced control approaches in parallel robots: Application to the 5R parallel robot prototype | |
Prasanth | Implementation of ROS-I on industrial robot simulation environment “ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
CHAD | Change of the owner's name or address (par. 44 patent law, par. patentforskriften) |
Owner name: ABB SCHWEIZ AG, CH |
|
FC2A | Withdrawal, rejection or dismissal of laid open patent application |