NO149366B - Anordning til styring av bevegelsen av et funksjonselement - Google Patents

Anordning til styring av bevegelsen av et funksjonselement Download PDF

Info

Publication number
NO149366B
NO149366B NO2493/73A NO249373A NO149366B NO 149366 B NO149366 B NO 149366B NO 2493/73 A NO2493/73 A NO 2493/73A NO 249373 A NO249373 A NO 249373A NO 149366 B NO149366 B NO 149366B
Authority
NO
Norway
Prior art keywords
coordinate
path
signals
calculation device
point
Prior art date
Application number
NO2493/73A
Other languages
English (en)
Other versions
NO149366C (no
Inventor
Richard Edward Hohn
Original Assignee
Cincinnati Milacron Inc
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 Cincinnati Milacron Inc filed Critical Cincinnati Milacron Inc
Publication of NO149366B publication Critical patent/NO149366B/no
Publication of NO149366C publication Critical patent/NO149366C/no

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • 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/33Director till display
    • G05B2219/33099Computer numerical control [CNC]; Software control [SWC]
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35354Polar coordinates, turntable
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35543Cartesian to polar and vice versa
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41477Servo loop with analog position sensor for continuous path control
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43006Acceleration, deceleration control
    • 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/45051Transfer line

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)
  • Pinball Game Machines (AREA)
  • Toilet Supplies (AREA)
  • Electrochromic Elements, Electrophoresis, Or Variable Reflection Or Absorption Elements (AREA)

Description

Foreliggende oppfinnelse angår en anordning til styring av bevegelsen av et funksjonselement som bæres av en maskin med en flerhet av deler og bevegelsesakser for disse, til ut-førelse av'bevegelsen av funksjonselementet, og minst en del med en rotasjonsakse, hvilke deler beveges av aktuatorer ved påvirkning fra styresignaler der delene og bevegelsesaksene fastlegger et første koordinatsystem, omfattende et lager for lagring av signaler som fastlegger posisjonene av et punkt knyttet til funksjonselementet og knyttet til banehastigheter der posisjonene er ,fastlagt i forhold til et andre koordinatsystem som er uavhengig av det første, og omfattende en omformningsanordning for overføring av koordinatsignaler i det andre koordinatsystem til koordinatsignaler i det første koordinatsystem.
Punksjonselementer av denne art finnes i automater og roboter, og det er tidligere kjent en lang rekke forskjellige mekaniske oppbygninger av slike. En automat krever typisk tre frihetsgrader eller tre kontrollerte bevegelsesakser for å styre posisjonen av et element i et punkt i rommet. I tillegg til elementets posisjon kan det være ønskelig å styre orienteringen av elementet under plasseringen av dette eller etter-plasseringen. Derfor kan elementet kreve ytterligere én, to eller tre frihetsgrader uavhengig av bevegelsesaksene. F.eks. for å styre orienteringen av funksjonselementet langs en vektor gjennom et punkt i rommet, kreves minst fem frihetsgrader, og hvis elementet er plane karakteristika, kreves seks frihetsgrader for å styre et funksjonselement i et plan gjennom et punkt i rommet. Det funksjonselement som her skal beskrives, har tre kontrollerte bevegelsesakser for å styre posisjonen av funksjonselementet i rommet. Ytterligere to kontrollerte bevegelsesakser og én fremføringsakse styrer orienteringen av elementet.
I praksis må en automat eller en robot operere i en menneske-orientert verden. En slik verden er dominert av vertikale og horisontale plan. Den mest naturlige oppbygning er derfor en der frihetsgradene for posisjonsstyring ligger i et rektangulært koordinatsystem. En slik oppbygning er i alminnelighet benyttet som grunnlag for maskinskonstruk-) sjoner og gir en anordning som i kombinasjon med eksisterende styresystemer på en enkel måte muliggjør bevegelse i et hvilket som helst horisontalt eller vertikalt plan.
Til tross for de åpenbare fordeler ved et stort antall generelle anvendelser, har imidlertid det rektangulære koordinatsystem en rekke ulemper. Por det første kan passende, rettlinjede drivverk være forholdsvis kompliserte og kost-bare. Dessuten blir en anordning av denne type nødvendigvis omfangsrik og opptar betydelig gulvplass. Endelig er ar-beidsområdet begrenset til et rektangulært volum, noe som går ut over anvendelsesmulighetene.
Formålet med foreliggende oppfinnelse er å oppheve disse ulemper, noe som er oppnådd ved å bytte ut en eller flere av de linjære bevegelsesakser med rotasjonsaksjer, slik at operasjonsområdet utvides til et sylindrisk eller kule-formet volum. En ytterligere fordel er at drivmekanisme for dreiebevegelse i alminnelighet er enklere og billigere. Ved bruk av dreieledd, vil dessuten den totale størrelse
og gulvplass som kreves for anordningen, reduseres. En slik anordning har imidlertid en stor ulempe. Når rotasjons-. aksene benyttes enten alene eller i kombinasjon med linjære bevegelsesakser, får man en betydelig vanskelighet med å koordinere bevegelsesaksene slik at de definerer den ønskede bane for automaten. Det er dette problem som søkerens oppfinnelse løser. Av hensyn til illustrasjonen, består søker-ens .automat av fem styrte rotasjonsakser. Søkerens apparat kan imidlertid benyttes for ethvert system med en eller flere dreieakser som bestemmer funksjonselementets posisjon.
Som ovenfor nevnt må roboten fungere i en verden av horisontale og vertikale plan. Søkeren har funnet at det ville være hensiktsmessig å bevege et punkt på funksjonselementet i en rettlinjet bane mellom to bestemte punkter i rommet, mens elementet opprettholder en bestemt orientering. Som man vil forstå, kan det i bestemte anvendelser være ønskelig å styre et punkt på funksjonselementet langs en annen bestemt bane i rommet, mens orienteringen opp-rettholdes. Imidlertid har'Søkerens valg av en rettlinjet bane en rekke iboende fordeler. Ved at det kun er nødvendig å definere de to endepunkter, reduseres problemet med å lære opp automaten. Videre kan de nødvendige hastig-hetsendringer enkelt beregnes for å gi jevn starting og stopping langs den ønskede bane. Ettersom et punkt på funksjonselementet også alltid beveger seg langs en rett linje, vil et objekt i funksjonselementet ikke utsettes for treghetskrefter på tvers av bevegelsesbanen,hvilket ellers måtte forventes i et system med dreieakser. Når et tungt objekt beveges, er dette et trekk av betydelig viktighet.
Oppfinnelsen er kjennetegnet ved de i kravene gjengitte trekk og vil i det følgende bli forklart nærmere under henvisning til-tegningene der: Fig. 1 er en oversiktgstegning av automaten og viser dens forhold til et generelt blokkdiagram som representerer styringen.. Fig. 2 er en grafisk fremstilling av automaten som viser forholdet mellom et rektangulært koordinatsystem og det generaliserte koordinatsystem. Fig. 3 er et detaljert blokkdiagram for en regnemaskin-styring av automaten, som er vist i generelle blokker. Fig. \\ er et flytediagram som viser styringsmetodikken. Fig. 5a,- 5b, 5c og 5d viser et detaljert flytediagram for styringen. Fig 6- er et detaljert flytediagram for en rutine som om-former rektangulære koordinatverdier til generaliserte koordinatverdier. Fig. 7 er et detaljert flytediagram som viser søkerens fremgangsmåte for å generere utgangssignaler til en servio-mekanismekrets.
Beskrivelse av foretrukken utførelsesform.
Fig. 1 er et generelt blokkdiagram for apparatet i henhold til oppfinnelsen, hvor den generelle oppbygning av automaten 10 er vist. Den detaljerte konstruksjon av automaten er ikke av betydning i forbindelse med den foreliggende søk-nad. Oppfinnelsen kan anvendes for enhver automat som har minst én rotasjonsakse som influerer på posisjonen av et funksjonselement. Søkeren har valgt å illustrere en automat som utelukkende har akser for rotasjonsbevegelse. En base 12 inneholder en aktivator 14 som er forbundet ved hjelp av en kopling 16 til en dreibart montert plate 18. Det bemerkes på dette punkt at arten av aktivatoren 14 er uten betydning i forbindelse med foreliggende søknad. Kjente styringsmetoder for aktivatoren, hvor aktivatoren er elek-trisk, hydraulisk, pneumatisk etc. kan anvendes. Til platen 18 er stivt-festet en aktivator 20 som danner en annen rotasjonsakse. Til arbeidskammeret for aktivatoren 20 er festet en øvre arm 22. Det mekaniske ledd mellom den øvre arm 22 og aktivatoren 20, vil generelt refereres til som skulderleddet 23- Til den øvre arm 22 er festet en aktivator 24 som gir rotasjon av et nedre armelement 26 om den øvre arm 22. Det mekaniske ledd som føyer den øvre arm 22 til den nedre arm 26, kalles albueleddet 25-
Aktivatorene 14, 20 og 24 er tilstrekkelig - til å bevege enden av armen 26 til ethvert punkt i rommet innenfor robotens operasjonsområde. Når det derfor i det følgende tales om robotens posisjon, refereres det til disse tre rotasjonsaksjer. Likeledes må disse tre rotasjonsakser styres for å definere robotens bane. En hånd 27 består av dreieaktivatorer 28, 30 og 32 og et funksjonselement 34, f.eks. en griper. I tillegg til posisjon i rommet,
kan det kreves at et objekt i funksjonselementet opprettholder et visst forhold til et fiksert objekt mens posisjonen endres. Dette krav refereres generelt til som orientering. I motsetning til dette kan det kreves at belastningen i funksjonselementet inntar en ny orientering med en ny posisjon. Apparatet vist av søkeren er istand til å endre orienteringen av funksjonselementet i forhold til posisjonsendringer av elementet langs en bestemt bane.
Det bemerkes at skillet mellom posisjon og orientering
som ovenfor definert, ikke er absolutt. Det er klart at når det er nødvendig å endre orienteringen, vil mange gan-ger aktivatorene' 14, 20 og 24 måtte modifisere posisjonen av funksjonselementet for å tilpasse seg den nye orientering. Omvendt, når "en endring i posisjon er nødvendig, må aktivatorene 28, 30 og 32 aktiveres for å bibeholde den samme orientering når posisjonen av funksjonselementet endres. I søkerens system, er på hånden 27 kun aktivatorene 28 og 30 styrte bevegelsesakser. Aktivatoren 32 gir funksjonselementet bevegelse ved indeksering gjennom forutbestemte inkrementer. Primære formål er å snu et objekt i funksjonselementet. Endelig har funksjonselementet 34 en liten aktivator for å generere funksjon, såsom en gripeaksjon. I den utstrekning i den viste utførelses form aktivatoren 32 og aktivatoren for funksjonslementet 34
ikke representerer styrte bevegelsesakser, vil deres konstruksjon ikke bli beskrevet i ytterligere detalj.
En konsollenhet J>6 er foranstaltet som et kommunikasjonsledd til roboten. Konsollen kan omfatte generelle styrings-funksjoner og innganger for å generere et inngangssignal som muliggjør en bestemt operasjonssyklus. Den kan videre omfatte styringsorganer for å lære automaten en operasjonssyklus ved hjelp av en gjennomføringsmetode eller annen programmeringsteknikk. En regnemaskin 38 benytter et program fra et programbibliotek 40 og inngangssignaler som produseres ved hjelp av konsollenheten 36 for å generere en bestemt bane derfra, og således frembringe elektriske signaler til drivkretsen 42 for en servomekanisme. Drivkretsen 42 kommanderer aktivatorene på roboten til å bevege funksjonselementet med en bestemt hastighet langs den bestemte bane mellom endepunkter som er gitt ved inngangssignaler.
Siden drivkretsen for servomekanismen kan være av enhver standardtype som vanligvis brukes for numerisk konstrollerte maskinverktøy, vil de omtales generelt, men ikke vises i detalj. Enhver typisk servomekanisme kan brukes, men søkeren foretrekker et fasemodulasjonssystem. I søkerens system overføres et utgangssignal for hver koordinatakse fra regnemaskinen til et register eller en annen lagrings-anordning. Et kommandosignal for hver koordinatakse genereres som har en faseforandring proporsjonal med stør-relsen av et tilsvarende utgangssignal. Faseforandringen for hver koordinatakse frembringer et drivsignal til en korresponderende aktivator. Aktivatoren får automaten til å bevege seg, idet det produseres en proporsjonal faseforandring i et tilbakematningssignal generert av en tilbake-matningsanordning koplet til aktivatoren. Når tilbake-matningssignalet er i fase med kommandosignalet, reduseres drivsignalet til null, og aktivatoren stopper. Som et resultat herav, har automaten blitt beveget en inkrementell avstand i rommet, svarende til størrelsen av utgangssignalene. I virkeligheten følger automaten den forutbestemte bane i rommet mellom to forutbestemte punkter med en forutbestemt hastighet.
Fig. 2 er en systemtegning som viser et generalisert koordinatsystem for roboten innen et rektangulært koordinatsystem. Origo 11 for det rektangulære koordinatsystem befinner seg i skjæringspunktet mellom rotasjonsaksen for basen og rotasjonsaksen i skulderleddet. Linjesegmentet 13 representerer den øvre arm 22, skjæringspunktet 15 tilsvarer albueleddet 25, og linjesegmentet 17 tilsvarer den nedre arm 26. Aktivatorene 28 og 30 er representert ved skjæringene i punktene 19 og 21. Linjesegmentet 23 representerer avstanden mellom aktivatorene 28 og 30, og linjesegmentet 25 representerer avstanden mellom punktet 76 på fig. 1 og aktivatoren 30. Hensikten med oppfinnelsen er å kontinuerlig styre posisjonen, orienteringen og hastigheten av funksjonselementet 34. Som ovenfor nevnt, har søkeren valgt en rett linje for bevegelsesbanen, og søkeren har videre funnet at den rette linje skal genereres fra koordinatverdiene til linjens endepunkter. Posisjonen av punktet 76 kan uttrykkes ved x, y og z koordinater. Videre kan orienteringen av funksjonselementet som defineres i forhold til linjesegmentet 25 bestemmes av vinkelkoordinater m og n. Vinkelen m er vinkelen mellom segmentet 25 og et segment 33 som er parallelt med z-aksen. Vinkelen n defineres mellom segmentet 29 som er en projek-sjon av segmentet 25 i XY-planet og et segment 31 som er en linje parallell med X-aksen. Følgelig definerer de rektangulære koordinatverdier (x, y, z) posisjonen av punktet 76 i rommet, og verdiene av vinkelkoordinatene m og n definerer orienteringen av segmentet 25 i rommet.
Problemet er nå å styre bevegelsen av robotens dreieakser med de rektangulære koordinatdata som definerer posisjon og orientering. Man ser lett at de dreieakser som er inne-bygget i roboten ikke kan direkte defineres av et rektangulært koordinatsystem, og man må derfor ty til et generalisert koordinatsystem hvis parametere og grensebetingel-ser har en funksjon av systemets geometriske oppbygning. I det foreliggende tilfelle er parametrene i det generaliserte koordinatsystem vinklene som defineres av rotasjonsaksene a, b, c, d og e, og de linjære segmenter som ligger
mellom rotasjonsaksene.
Fig 3 er et detaljblokkdiagram for styring av roboten med denne vist i blokkform. Konsollenheten på fig. 1 består av en inngangs-utgangssignalenhet 44 for styring av syste-met og en opplæringsenhet 46. Styringsenheten 44 gir operatøren de nødvendige styringsmuligheter og visuelle signaler som er nødvendige for å betjene roboten. Opplæringsenhet en 46 gir operatøren den nødvendige styring og de nødvendige visuelle signaler for å lære opp automaten til en operasjonssyklus. Roboten kan læres opp ved gjennomføring eller ved annen kjent programmeringsteknikk. Gjennomføring er en kjent fremgangsmåte som kan benyttes
i dette tilfelle. Ved definering av hastigheten og de rektangulære.koordinatverdier og vinkelkoordinatene ved endepunktene, lagres disse som inngangssignaler i et data-lager 47. Det er klart at når roboten skal læres opp,
kan operatøren være forsynt med ethvert passende koordinatsystem. Imidlertid krever søkerens utførelsesform at de rektangulære koordinatverdier og vinkelkoordinatene befinner seg i datalageret 47- En maskin inngang-utgangs-innretning 48 opererer i forbindelse med sentralenheten 52 for styring av roboten. Maskin inngangs-utgangsinnretningen 48 befatter seg primært med maskinorienterte funksjoner, d.v.s. grensebrytere, solenoider, trykkbrytere og andre anordninger som er anbragt på selve roboten.
Endelig benyttes en prosess inngangs-utgangsenhet 49 for å integrere roboten inn i den prosessen som den er en del av. F.eks. dersom roboten skal operere med eksisterende maskiner, må det være kommunikasjonsledd mellom roboten og maskinene. Prosess inngangs-utgangsinnretningen 49 danner disse kommunikasjonsledd. En inngangs-utgangsgrenseflate 50 reagerer på inngangs-utgangssignalene fra de forskjellige enheter og danner et kommunikasjonsledd mellom disse og sentralenheten 52. Typiske inngangs-og ytgangsenheter og deres tilsvarende grenseflater er vel kjent og vil ikke bli drøftet nærmere her.
Etter å ha mottatt inngangsinformasjonen, vil sentralenheten 52 operere med programmer som er lagret i programlageret 54 for å styre operasjonene av aktivatormekanismene 56 på roboten 58. Programlageret 54 er en lagerenhet som lagrer alle de programmer som kreves for å operere roboten. Som vist på fig. 3> er kun en del av programlageret 54
vist og kun de programmer som er av betydning for det patentsøkte apparat. Den fysiske ut førelsesform av pro-grammene og rutinene vil være en funksjon av selve programlageret eller programbanken. Programbanken 54 og datalageret 47 kan ha form av hullkort, magnetkjerner eller magnetbånd, plater, tromler eller andre lagermedia av kjent type. Lagrede programmer er unike fysiske elementer som består av et sett instruksjoner som er definert av flyte-diagrammene vist på fig. 4 til og med 7. Sentralenheten 52 sammen med et første program 60 og inngangssignalene frembringer et første flertall av signalsett som representerer koordinatverdier i et antall punkter hvis geometriske sted definerer en bestemt bane mellom endepunktene som tidligere er definert av operatøren. Sentralenheten 52 sammen med et annet program 62 og det første flertall av punktsett gir et annet flertall av signalsett som representerer generalisert koordinatverdier av de ovennevnte koordinatverdier. Endelig reagerer drivverket for en servomekanisme og forbindelseskretsene 64 på det annet flertall av signalsett og tilbakeføringssignaler fra innretningene 65 anbragt på roboten for å bevege roboten langs den ønskede bane.
De første og andre programmer henholdsvis 60 og 62 kan deles opp i et antall generelle underprogrammer eller under-rutiner. Det første større underprogram for det første program 60 er en retningstallrutine 66. Sentralenheten 52 i kombinasjon med retningstallrutinen 66 reagerer på inngangssignalene som definerer de programmerte endepunkter og frembringer fra disse retningstallsignaler med et fortegn som representerer retningen av den ønskede robot-bevegelse og med en størrelse som er proporsjonal med en koordinatkomponent av den totale bane mellom de programmerte endepunkter. Deretter opererer en inkrementell forskyvningsrutine 68 med sentralenheten 52 sammen med signaler som definerer endepunktene og den forutsatte hastighet, for å frembringe et flertall av signaler som representerer inkrementene forskyvninger langs den forutbestemte bane. Dette skje i to deler. Først beregnes et antall distanseparametere, f.eks. for et fiksert tidsinkrement, antallet av iterasjoner som kreves for å definere banen mellom de programmerte endepunkter. Deretter beregnes forskyvningen langs banen under hver iteras jon. Signaler som definerer endringer i avstanden langs banen benyttes sammen med en koordinatrutine 70, retningstallsignaler og sentralenheten 52 for å frembringe et første flertall av signalsett som representerer koordinatverdier for mellomliggende punkter, samt definerer den inkrementene forskyvning under hver iteras jon. En første rutine 72 i det annet program 62 benyttes av sentralenheten 52 i respons til det første flertall av signalsett, for derved å frembringe et annet flertall av signalsett som representerer de tilsvarende generaliserte koordinatverdier for de opprinnelige koordinatverdier. Deretter reagerer en rutine 74 i henhold til det annet flertall av signalsett og opererer sammen med sentralenheten 52 for å beregne forandringen av de generaliserte koordinater under hver iterasjon. Denne forandring i de generaliserte koordinater lagres så i et mellomlager. En servoavbryter-rutine 75 reagerer på et avbruddssignal fra servomekanismens drivverk og overgangskretsene 64 og genererer sammen med sentralenheten 52 signaler som representerer forandringen i generaliserte koordinater som så mates til servomekanismens drivverk og overgangskretsen 64. Kretsen 64 reagerer på signaler fra sentralenheten 52 og frembringer utgangssignaler til aktivatorene, hvilket bevirker at roboten beveger seg -langs den forutbestemte bane mellom de programmerte endepunkter. Den alminnelige oppbygning av elementene på fig. 3 som består av grensesnitt mellom inngang og utgang, drivkretser, henholdsvis 50 og 64, lågere 47 og 54 og sentralenheten 52 utgjør de typiske kom-ponenter i en alminnelig regnemaskin for prosesstyring.
Fig. 4 viser de trinn som er nødvendige for å utføre søkerens metode. Prosessblokken 80 krever at koordinatverdiene ved forutbestemte endepunkter og den forutbestemte hastighet hentes fra datalageret. Deretter kan man som vist i blokk 92, beregne retningstall. Hvert retningstall har et fortegn som representerer bevegelsens retning og en større som er proporsjonal med en koordinatkomponent i banen mellom de programmerte endepunkter. Fortegnet på retningstallet indikerer retningen av endringen langs nevnte akse. Når spesifikasjonen spesielt refererer til de rektangulære koordinatakser som definerer posisjonen, vil uttrykke posisjonsretningstall benyttes for å definere disse dimensjonsstørrelser. Videre når spesifikasjonen refererer spesielt til orienteringsvinkler m og n, vil uttrykket generalisert retningstall benyttes for å skille disse størrelser fra de dimensjonsløse størrelser. Generelt vil imidlertid uttrykket retningstall referere såvel til rektangulære koordinatakser som definerer posisjon såvel som de angulære bevegelsesakser som definerer orientering.
I blokk 94, beregnes avstandsparametrene som er nødvendige for å beregne banen mellom programmerte endepunkter. Prosessblokken 96 krever beregning av forandringen i avstand langs banen under hver iterasjon. Deretter beregnes koordinat verdiene som definerer posisjon og orientering i et mellomliggende punkt for hver endring i distanse og dette gjøres i prosessblokken 98. Dette skjer ved å benytte retningstallene. Derfor krever beregning av koordinatverdiene for et mellomliggende punkt langs banen under hver iterasjon de operasjoner som er definert i prosess-blokkene 92, 94, 96 og 98. Deretter krever operasjonsblokk 100 beregning av generaliserte koordinatverdier som tilsvarer de koordinatverdier som er beregnet i operasjonsblokk 98. Endelig beregner operasjonsblokk 102 forandringen i generaliserte koordinatverdier fra det nåværende punkt til det neste punkt og lagrer disse endringer i et mellomlager i påvente av et avbrudd fra servomekanismens drivverk og mellomflatekretsen 64.
Som det fremgår, opererer den ovenfor beskreven prosess asynkront med servomekanismens drivverk og mellomflatekretsen 64. Kretsen 64 opererer på den måten at ved fikserte og forutbestemte tidsintervaller, krever servomekanismen ny informasjon fra regnemaskinen. Ved å operere servomekanismen med tidsfikserte informasjonskrav, oppnår man en rekke fordeler. F. eks. ved å kjenne lengden av den programmerte bane, den forutsatte hastighet og den fikserte lengde av informaskinsintervallet, er regnemaskinen istand til, i prosessblokken 94, å beregne antallet iterasjoner som kreves for å utføre den programmerte bane. Følgelig kan regnemaskinen med denne informasjon beregne avstands-forandringen langs den programmerte bane under hver iterasjon. Som man videre vil forstå, muliggjør bruk av tidsfikserte informaskinsintervallet at maskinen kan utøve mange andre funksjoner i tillegg til å generere den forutsatte bane. Fordi regnemaskinen er betydelig hurtigere enn de perifere innretninger som er tilknyttet denne, vil en opphopning av informasjon som skal mates ut av maskinen, oppstå. Følgelig benyttes et system av avbruddstilkoplinger, hver med en bes°temt prioritet.
Formålet med servo-avbruddsrutinen som definert 1 blokk
82, er å overføre data fra mellomlageret i respons til et avbruddssignal fra servomekanismens drivverk og mellomflatekretsen 64. Avbruddet kan oppstå på ethvert tids-punkt under behandlingen.
Når et avbrudd finner sted, overføres styringen av prosessen fra hovedprogrammet til servo-avbruddsrutinen 82. Innenfor rutinen 82, krever prosessblokken 84 at endringen i de generaliserte koordinatverdier overføres fra mellomlageret til servomekanismens drivverk og mellomflatekretsen 64. Deretter i bestemmelsesblokken 88 foretas en kontroll for å se om banen mellom de to programmerte endepunkter er fullført. Dersom banen ikke er fullført, vil servo-avbruddsrutinen tilbakeføre prosess-kontroll til hovedprogrammet i det punkt hvor avbruddet fant sted, og prosessen fortsetter. Dersom banen er full-ført, krever prosessblokk 90 at et bestemt punkt utføres, hvoretter prosessen returneres til blokk 80 for å begynne den neste programmerte bane.
Fig. 5a, 5b, 5c og 5d er et detaljert flytediagram for prosessen som er beskrevet i forbindelse med fig. 4. Det er relativt enkelt å omforme flytediagrammet på fig. 5 til et kodet regnemaskinsprogram dersom man har rimelig kjenn-skal til programmeringsspråket som regnemaskinen er pro-grammerbar for. Man ser av fig. 5 når man sammenligner denne med det generelle flytediagram vist på fig. 4, at størstedelen av operasjonene vist på fig. 5a til og med 5c kan klassifiseres under de generelle prosesstrinn som går ut på beregning av avstandsparametere vist i opera-sjonsblokken 94 på fig. 4. Dette skyldes problemet med å bestemme hvorvidt en hastighetsendring er nødvendig, og videre størrelsen av nevnte hastighetsendring.
Generelt kan en bane mellom to programmerte punkter deles opp i tre separate spenn. Det første spenn kan kreve en akselerering eller decelering, avhengig av hastigheten ved inngangen til spennet og den programmerte hastighet. Et annet spenn kan bestå av en fase med konstant hastighet, og i det tredje spenn kan det gjennomføres en decelering til stopp. Derfor, ved å undersøke hastighetene ved endepunktene av den programmerte bane, er regnemaskinen istand til å bestemme hvorvidt to eller tre hastighetsavhengige spenn er nødvendige. Når denne beslutning er tatt, er det imidlertid et videre problem. Dersom man kjenner de nød-vendige hastigheter såvel som den tillatelige hastighetsendring, kan lengden av hvert hastighetsavhengig spenn beregnes. Imidlertid kan man ha den situasjon hvor summen av de ideelle hastighetsavhengige spenn overskrider lengden av banen mellom de programmerte endepunkter. Disse spesi-elle tilfeller må registreres og håndteres individuelt. Følgelig kan man lett se hvordan beregning av avstandsparametere blir et større problem. Videre er problemet ikke så mye et spørsmål om en løsningsmetode, men om behandlingstiden som kreves, for å utføre de nødvendige løsninger. Søkerens løsning på beregningen av avstandsparametere er noe tilfeldig. Det fremsettes intet krav på at denne løsning er enestående, men det er nødvendig å vise hvordan problemet er løst for å gi en praktisk utførbar versjon av oppfinnelsen.
På fig. 5a er første trinn i prosessen å hente frem og stille disponible de koordinatverdier som definerer posisjonen og orienteringen av det nåværende punkt, og koordinatverdier for det neste programmerte punkt, samt den programmerte hastighet. Deretter krever prosessblokken 104 beregning av lengden av den totale bane. Etter å ha beregnet retningstallene i prosessblokk 106, beregnes lengden av den initielle hastighetsforandring i spenn s^. Prosessblokk 109 bestemmer hvorvidt hastigheten i punkt p^ er null eller Ikke. Med andre ord, er der en stopp mellom utførelsen av de suksessive programmerte baner eller ut-føres disse kontinuerlig. Dersom den endelige hastighet er null, undersøkes det om initialhastigheten er null via bestemmelsesblokken 110. Dersom den initielle hastighet og endelige hastighet begge er null, setter operasjonsblokk 112 lengden av den endelige hastighetsforandring i hastighetsspenn s^ beregnet i prosessblokk 108. Dersom den endelige hastighet er lik null, man initialhastigheten ikke er null, vil prosessblokk 114 beregne lengden av den endelige endring i hastighetsspenn. På dette punkt, kontrol-lerer blokk ll6 om summen av endringene i hastighetsspenn som opptil nu er beregnet, er mindre, enn lengden av den programmerte bane. Dersom -summen av lengdene av hastighetene i hastighetsspennene er mindre enn lengden av den programmerte bane, fortsetter prosessen via forbindelsen A. Det bemerkes på dette punkt at lengden av spennet med konstant hastighet, vil være lik forskjellen mellom lengden av den totale bane og lengden av summen av den initielle og endelige endring i hastighetsspenn. Forbindelsen A fortsetter på fig. 5b. Dersom lengdene av hvert av spennene som utgjør den programmerte bane og den fikserte tids-basis for kontrollsystemet er kjent, er det nå mulig å beregne antallet iterasjoner som kreves for å utføre hvert av spennene. Disse beregninger utføres av prosessblokker 118, 120 og 122. Deretter beregner blokkene 124, 126 og 128 konstanter som deretter benyttes i prosessen.
For å returnere til bestemmelsesblokken 109 på fig. 5a,
så innebærer den erkjennelse at den endelige hastighet ikke er null, at banen beveger seg kontinuerlig mellom suksessive programspenn. I betraktning av robotens dynamiske karakteristikk, kan dette være fysisk mulig eller ikke fysisk mulig, avhengig av retningsendringen eller den inkluderte vinkel mellom-suksessive baner. Søkeren har vilkårlig valgt en inkludert vinkel på 120° som kriterium i bestemmelsesblokken 130. Dersom vinkelen mellom suksessive baner er større enn 120°, utføres de suksessive baner på en kontinuerlig basis. Dersom vinkelen imidlertid er mindre enn 120°, innfører prosessen automatisk et stoppe-punkt, og de suksessive baner utføres diskontinuerlig. Cosinusregelen benyttes for å bestemme om den inkluderte vinkel er større eller mindre enn 120°. Deretter bestemmer blokk 132 om lengden av den initielle endring i hastighetsspenn er mindre enn lengden av den programmerte bane. Dersom s ikke er mindre enn den programmerte bane, setter
prosessblokken 134 vilkårlig lengden av den initielle endring' i hastighetsspenn til halve lengden av den programmerte bane. Videre, i prosessblokk 136 beregnes en ny hastighet. Det bemerkes på dette punkt at dersom de suksessive programbaner skal utføres kontinuerlig, er det definisjonsmessig ingen endelig endring av hastighetsspennet s^. Pr. definisjon -er videre antallet iterasjoner som kreves for å utføre den endelige endring i hastighetsspenn lik null. Dersom lengden av den initielle endring i hastighetsspenn er mindre enn den programmerte bane, vil antallet nødvendige iterasjoner for utførelse av den initielle endring i hastighetsspennet, bli beregnet i operasjonsblokk 138. Programgren B er vist på fig. 5c. I pro-sessblokkene 140, 142, og 144, beregnes konstanter som benyttes senere i prosessen og som derfor på dette punkt ikke vil drøftes nærmere.
Por å returnere til fig. 5a, så skulle betydningen av beregningen av avstandsparametere være klar. Et spesialtilfelle er ikke blitt drøftet i detalj. Dette tilfelle oppstår med bestemmelsesblokken ll6, hvor summen av lengdene av den initielle og endelige endring av hastighetsspenn ikke er mindre, enn lengden av den totale bane. I dette tilfelle, vil programgren C føre til fig. 5b. Blokkene 146 til og med 166 definerer et annet spesialtilfelle som har lignende løsning som de andre spesialtilfeller beskrevet tidligere i detalj. Prosessen vil derfor på dette punkt ikke bli beskrevet i detalj, og beskrivelsen av blokkene 146 til og med 166 ansees å være tilstrekkelig. Etter utførelse, vil denne del av prosessen fortsette via gren E til blokk 124. Prosessen følger så gren F til fig. 5c. Igjen definerer prosessblokker 168 til og med 174 konstanter som benyttes senere i prosessen.
Fra gren D fortsetter prosessen til fig. 5d. Bestemmelsesblokken 176 bestemmer hvorvidt den initielle endring i hastighetsspenn er fullført. Dersom den ikke er det, går programmet til blokk 178 som initierer den første iterasjon. Forandringen i avstand langs den programmerte bane for hver iterasjon i den første forandring i hastighetsspenn, bestemmes av formelen som er forbundet med operasjonsblokk 182. Generelt indikerer formelen at en endring i avstand langs banen for den aktuelle iterasjon er lik endringen i avstand langs banen under den tidligere iterasjon pluss en viss konstant (tidligere beregnet). Problemet oppstår under beregning av avstandsendring langs den første forandring i hastighetsspenn under den første iterasjon. Dette er en spesiell situasjon som håndteres i henhold til formelen forbundet med prosessblokk l80. Som formelen viser, er lengden av forandring i avstand langs banen under den
første iterasjon lik en av de konstanter som tidligere var iberegnet. Etter at den første iterasjon er utført, håndteres alle suksessive iterasjoner via program-blokk 182, inntil antall iterasjoner k tilsvarer antallet iterasjoner beregnet for den initielle forandring i hastighetsspenn m^. I henhold til programblokk 184, beregnes de rektangulære koordinater i vinkelkoordinatene for hver forandring
i avstand langs banen, eller med andre ord for hver iterasjon. Videre krever program-blokk 186 at disse rektangulære koordinatverdier og vinkelkoordinatverdier omformes
til tilsvarende generaliserte koordinatverdier. I blokk 188, beregnes forandringen i generaliserte koordinater langs den programmerte bane og disse lagres slik at de er klare for et avbrudd av servomekanismens drivverk og mellomflatekretsen 64. Servo-avbruddsrutinen ble omtalt under henvisning til fig. 4, og behøver ikke ytterligere å omtales
på dette punkt.
Når antallet iterasjoner er lik antallet iterasjoner beregnet for den initielle forandring i hastighetsspenn, beveger programmet seg til bestemmelsesblokk 190 som kon-trollerer om det konstante hastighetsspenn er fullført. Dersom dette ikke er tilfelle, vil programmet eksekvere blokker 192 til og med 200 på iterativ måte, inntil antallet iterasjoner er lik summen av iterasjoner som kreves for å utføre den initielle forandring i hastighetsspenn m-^ og det konstante hastighetsspenn m^- Når dette har skjedd, beveger programmet seg til blokken 202, hvor programmet bestemmer om den endelige endring i hastighetsspennet er fullført. I det tilfelle hvor det er en kontinuerlig bevegelse mellom de suksessive programmerte baner, er det ingen endelig endring i hastighetsspenn, og derfor er k.-, lik k^. I dette tilfelle, når det konstante hastighetsspenn er fullført, går programmet videre til avgrenings-punkt G. Dersom imidlertid bevegelsen mellom suksessive programbaner er diskontinuerlig, må den endelige endring i hastighetsspenn beregnes på iterativ måte lignende de andre hastighetsavhengige spenn. Følgelig kan man se hvordan programmet beveger seg fra et nåværende punkt til et følgende programmert punkt på iterativ måte med alle de tilhørende hastighets- og hastighetsendrende parametere. Når den endelige endring i hastighetsspenn er fullført, beveger programmet seg via forbindelsespunkt G tilbake til fig. 5a og til program-blokken 103.
Fig. 6 er et detaljert flytediagram for en fremgangsmåte for å omforme de rektangulære koordinatverdier og vinkelkoordinatverdier til generaliserte koordinatverdier. Det er mange måter å løse dette problemet på. Den åpenbare løsning er å skrive ligninger som definerer de generaliserte koordinater ved de rektangulære koordinater og vinkelkoordinater. Med et passende løsningapparat, kan disse ligninger løses og transformasjonen kan utføres. Imidlertid involverer disse uttrykk inverse trigonometriske funksjoner som er vanskelig å løse med søkerens system. Derfor har søkeren■valgt en annen og mer spesiell løsningsmetode. Søkeren utledet de inverse trans formasjonsligninger. Med andre ord, uttrykkene som definerer de rektangulære koordinater og vinkelkoordinatene ved de generaliserte koordinater. Disse ligninger løses så med en suksessiv tilnærmingsmetode som benytter Newton-Raphsons metode for løsning av ikke-lineære ligninger. Det bemerkes, at søker-ens bruk av de indirekte transformasjonsligninger er tilfeldig og ikke er å betrakte som en av-grensning av oppfinnelsen. Likeledes er valget av Newton-Raphsonmetoden for løsning av transformasjonsligningen vilkårlig, og enhver passende fremgangsmåte for å løse ikke-lineære ligninger kan benyttes.
I søkerens system er de rektangulære og generaliserte ko-ordinatsystemer knyttet sammen ved et sett transformasjonsligninger (1), (2) og (3)3 og et sett begrensningsligninger (4), (5) og (6) som representerer orienteringsbegrensninger på funksjonselementet 3^> slik som gngitt nedenfor:
Pra ligningene over kan man se at det er seks ligninger og fem ukjente. Løsningsmetoden for disse ligninger er noe vilkårlig, men av hensyn til begrensningene på søkerens regnemaskin, har han valgt en egen teknikk som er beskrevet nedenfor.
Dersom de rektangulære koordinater og vinkelkoordinater (x^y^z^m^n) ,er .gitt :,og dersom de rektangulære koordinater av punkt 19 i forhold til origo kan bestemmes, kan de første to ledd av ligningene (1), (2) og (3) som representerer koordinattransformasjonene av punktet 19 løses simultant ved å bestemme de generaliserte koordinater a, , b, og d, .
k k & k
Deretter kan med denne løsningen de rektangulære koordi-
nater for punkt 21 i forhold til punkt 19, og tredje ledd av ligningene (1), (2) og (3)> den generaliserte koordinat ,bestemmes. Endelig kan man ved å benytte løsningene for de generaliserte koordinater a^, b^, og d^ og ligningene (4), (5) og (6) bestemme den generaliserte koordinat e^..
Derfor, som indikert i blokk 204, ved å substituere de beregnede vinkelkoordinater m^. og n^ ofr verdiene av m og n,
kan koordinatene av punkt 76 i forhold til punkt 21, bestemmes. Deretter, som indikert i blokk 206, bestemmes koordinatene av punkt 21. Som indikert i blokk 207, bestemmes koordinatene for punkt 19. Dette skjer ved å trekke fra koordinatverdiene av punkt 21 i forhold til punkt 19
fra koordinatverdiene for punkt 21. De rektangulære koordinater for punkt 21 i forhold til punkt 19 bestemmes ved å multiplisere lengden av elementet 1^ mellom nevnte punkter med konstanter som representerer retningscosiner for dette elementet.
Problemet er nå hvordan man løser ligningene for de generaliserte koordinatverdier i de første to ledd av de første tre trans formasjonsligninger. Som ovenfor indikert, skjønt en rekke forskjellige teknikker kan benyttes, har søkeren valgt å benytte Newton-Raphsons metode. Som indikert i blokk 208, har søkeren definert nye funksjoner H^, H,-, og H-, som tilsvarer de første to ledd av ligningene (1),- (2) og (3) og representerer koordinattransformasjonene for punkt 19. Videre defineres en feilfunksjon som representerer forskjellen mellom de kjente ledd x^^, y^g og z.^, og de ukjente ledd H^, og H^. Generelt vil første trinn i løsningen være å anta en verdi for de generaliserte koordinatverdier for de ukjente ledd og deretter løse feilfunksjonen. Verdien av feilfunksjonen og de antatte generaliserte koordinatverdier benyttes i Newton-Raphsons løsningsmetode for å finne en ny verdi for de generaliserte koordinater. Deretter, ved å benytte de nye generaliserte koordinater, beregnes en ny feilfunksjon. Dersom den nye feilfunksjon blir lik null, eller mindre enn en forutbestemt toleranseverdi, anses de generaliserte koordinater å være riktige. Dersom verdien av den nye feilfunksjon ikke er innenfor toleransene, benyttes igjen Newton-Raphsonløsningen for å bestemme et ytterligere sett av generaliserte koordinatverdier, som igjen definerer en ny verdi for feilfunksjonen. Prosessen fortsetter inntil feilfunksjonen er drevet til en verdi som er mindre enn den forutbestemte toleranseverdi.
Som indikert i teksten på programblokk 208, har søkeren valgt å benytte de generaliserte koordinatverdier av det tidligere punkt som den første antagelse for verdien av de ukjente ledd i funksjonenen H^, H2 °g H Etter at et indeksregister er nullstilt som krevet i blokk 210, krever blokk 212 beregning av et nytt sett generaliserte koordinater og benytter feilfunksjonen som er beregnet i programblokk 208.
Denne prosess fortsetter inntil bestemmelsesblokken 216 finner at feilfunksjonen er innenfor toleransegrensen. Når dette skjer, defineres de siste beregnede verdier av de generaliserte koordinatverdier som vinklene a^, b^ og d^ som definerer posisjonen av punktet 19 tilsvarende de rektangulære koordinatverdiene som er beregnet i prosessblokk 207. Størrelsene av vinklene a^> b^ og d^ representerer et første sett generaliserte koordinatverdier som beskriver hvor i rommet funksjonselementet befinner seg.
Programmet fortsetter så til blokk 218, hvor den generaliserte koordinat c. beregnes. Igjen har søkeren valgt å benytte Newton-Raphsons løsningsmetode. Derfor bemerkes det at blokk 218 inkluderer de trinn i Newton-Raphson-løsningen som tidligere er definert i programblokker 208 til og med 216. En feilfunksjon G defineres som forskjellen mellom de rektangulære koordinater av punkt 21
i forhold til punkt 19 og de tilsvarende koordinattransformasjoner som representert ved tredje ledd av ligningene (1), (2) og (3). Et ytterligere punkt bemerkes med hensyn til denne løsning. Skjønt det er kun en ukjent som skal beregnes, er det tre feilligninger. Under iterasjons-prosessen for Newton-Raphsonløsningen, kan sinus-og cosi-nusverdiene bli lik null og derfor kan regnemaskinen få beskjed om å dividere med null. Dette problem elimineres ved at det foretas prøve på feilfunksjonen med sikte på å velge en feilfunksjon hvis deriverte ikke går til null.
Som vist i blokk 219, bestemmes den siste generaliserte koordinat e^. Igjen har søkeren valgt å benytte Newton-Raphsons løsningsmetode, og derfor er det klart av blokk 219 omfatter de generelle beregningstrinn som er vist i programblokker 208 til og med 216. Videre representerer feilfunksjonen J forskjellen mellom de rektangulære koordinatverdier av punkt 76 i forhold til punkt 21 og de tilsvarende koordinattransformasjoner representert ved siste ledd i ligningene (1), (2) og (3). Som ovenfor beskrevet, undersøkes disse feilfunksjoner, og det velges en som ikke har en derivert som er lik null. Etter at verdiene av de generaliserte koordinater a^, b^, c^, d^ og e^ er bestemt, lagres disse og benyttes som de antatte koordinatverdier, for å transformere det neste sett av beregnede rektangulære koordinater og vinkelkoordinater.
På fig. 1, etter at de generaliserte koordinater er blitt beregnet som beskrevet under henvisning til fig. 6, under-søkes hver koordinatverdi av programblokk 220 for å bestemme om den overskrider en bestemt maksimums-eller mini-mumsverdi. Dersom koordinaten ikke er innenfor de fore-skrevne grenser, krever blokk 222 at den generaliserte koordinatverdi settes lik grenseverdien. Deretter i henhold til blokk 224, beregnes vinkelforandringen av den generaliserte koordinat. Dette skjer ved å trekke den nye koordinatverdi fra den tidligere koordinatverdi. Forandringen i den generaliserte koordinatverdi lagres så slik som angitt i blokk 226. Programblokk 228 bestemmer om alle de nye generaliserte koordinat forskyvninger har blitt beregnet og lagret. Hvis ikke, vender programmet tilbake til blokk 220 og begynner igjen. Etter at alle de generaliserte ko-ordinatforandringer er beregnet og lagret, bestemmer blokk 230 at disse nye verdier kan overføres til et mellomlager. Som beskrevet på fig. 4, når et avbrudd finner sted, over-føres data fra mellomlageret til servomekanismens drivverk og mellomflatekretsen 64, derfor krever prosessblokk 232 etter et avbrudd at endringen i de generaliserte koordinater overføres til mellomlageret.
Skjønt oppfinnelsen er vist og beskrevet i noe detalt under henvisning til de foretrukne utførelses former som er vist på tegningene, og mens disse utførelsesformer er blitt beskrevet i noen detalj, er dette ikke ment å skulle inne-bære noen begrensning av oppfinnelsen til disse detaljer. Tvert imot tas det sikte på at oppfinnelsen dekker alle modifikasjoner, endringer og ekvivalente utførelsesformer som ligger innenfor de følgende patentkrav.

Claims (4)

1. Anordning til styring av bevegelsen av et funksjonselement som bæres av en maskin med en flerhet av deler og bevegelsesaksler for disse, til utførelse av bevegelsen av funksjonselementet og minst en del med en rotasjonsakse, hvilke deler beveges av aktuatorer med påvirkning fra styresignaler, der delene og bevegelsesaksene fastlegger et første koordinatsystem, omfattende et lager for lagring av signaler som fastlegger posisjonene av et punkt knyttet til funksjonselementet og knyttet til banehastigheter, der posisjonene er fastlagt i forhold til et andre koordinatsystem som er uavhengig av det første, og omfattende en omformningsanordning for overføring av koordinatsignaler i det andre koordinatsystem til koordinatsignaler i det første koordinatsystem, Karakterisert ved: (a) et lager (47) som er innrettet til å lagre posisjons-signalene som fastlegger utelukkende start og endeposi-sjonene av en lineær bane, (b) en beregningsanordning (52, 68) for mellominkrementer til gjentatt frembringelse av signaler som fastlegger størrelsen på på hverandre følgende inkrementale forskyvninger av punktet (76) for funksjonselementet (34) langs banen i overensstemmelse med banehastigheten, (c) en beregningsanordning (52, 70) for mellomkoordinater forbundet med inkrementberegningsanordningen til frembringelse av signaler som fastlegger koordinatene målt i forhold til det annet koordinatsystem for mellomstil-lingen som bestemmes av et inkrement, (d) en beregningsanordning (52, 72) for koordinatomform-ning koplet til beregningsanordningen for mellomkoordinater til frembringelse av signaler som fastlegger koordinater i forhold til det første koordinatsystem når det gjelder hver enkelt mellomposisjon, og (e) en beregningsanordning (52, 74) for mellomforskyvning-av aktuatorer koplet til beregningsanordningen for koordinat-omformning til frembringelse av styresignaler for aktua-torene (14, 20, 24, 28, 30, 32) til frembringelse av bevegelse av maskinens deler (18, 22, 26, 27) for å bevege funksjonselementpunktet (76) langs banen ved hver inkrementale forskyvning.
2. Anordning som angitt i krav 1, karakterisert ved at beregningsanordningen for mellominkre-mentene omfatter: (a) en beregningsanordning (52, 104) for banelengde til frembringelse av signaler som fastlegger en lengde av den lineære bane, (b) en beregningsanordning (52, 180, 194) for inkremental lengde koplet til beregningsanordningen for banelengde til frembringelse av signaler som fastlegger lengden av et inkrement av forskyvning i en på forhånd bestemt gjentag-elsesperiode i overensstemmelse med banehastigheten, og (c) en beregningsanordning (52, 138, 122, 156) for gjen-tagelsesantall, koplet til banelengdeanordningen og den inkrementale lengdeanordning til frembringelse av signaler som fastlegger antallet av på hverandre følgende inkrementale forskyvninger, og derfor det antall gjentagelser som er nødvendig for å bevege punktet (76) fra startposisjon til endeposisjon.
3. Anordning som angitt i krav 2, karakteri sert ved at beregningsanordningen for mellomkoordi-natene omfatter: (a) en beregningsanordning (52, 66) for retningstall til frembringelse av signaler som fastlegger koordinatkompo-nentforholdet i forhold til det annet koordinatsystem for den lineære bane, og (b) en beregningsanordning (52, 70, 184, 196, 199) for koordinatkomponenter koplet til beregningsanordningen for retningstall, og innrettet til å bli påvirket av mellom-forskyvningssignalene til frembringelse av signaler som fastlegger koordinatkomponentene for den stilling som fremkommer ved hver inkrementale forskyvning.
4. Anordning som angitt i krav 1, karakterisert ved at beregningsanordningen for koordinat-omformningen omfatter: (a) en beregningsanordning (52, 208) for koordinatfeil til frembringelse av signaler som bestemmer koordinatkom-ponentfeil i forhold til det annet koordinatsystem, og (b) en beregningsanordning (52, 212, 214', 216, 213) for feilreduksjon koplet til beregningsanordningen for feil for gjentatt frembringelse av signaler som fastlegger koordinatkomponenter i forhold til det første koordinatsystem for å utføre reduksjon av feilsignalene.
NO2493/73A 1972-06-26 1973-06-15 Anordning til styring av bevegelsen av et funksjonselement NO149366C (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26598472A 1972-06-26 1972-06-26
US364381A US3909600A (en) 1972-06-26 1973-05-31 Method and apparatus for controlling an automation along a predetermined path

Publications (2)

Publication Number Publication Date
NO149366B true NO149366B (no) 1983-12-27
NO149366C NO149366C (no) 1984-04-04

Family

ID=26951534

Family Applications (1)

Application Number Title Priority Date Filing Date
NO2493/73A NO149366C (no) 1972-06-26 1973-06-15 Anordning til styring av bevegelsen av et funksjonselement

Country Status (6)

Country Link
US (1) US3909600A (no)
JP (1) JPS612964B2 (no)
CA (1) CA992652A (no)
DE (1) DE2330054C2 (no)
GB (1) GB1408666A (no)
NO (1) NO149366C (no)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3920972A (en) * 1974-07-16 1975-11-18 Cincinnati Milacron Inc Method and apparatus for programming a computer operated robot arm
IT1043940B (it) * 1974-12-20 1980-02-29 Fiat Spa Apparecchaitura per il controllo di una macchina operatrice del tipo robot
US3986007A (en) * 1975-08-20 1976-10-12 The Bendix Corporation Method and apparatus for calibrating mechanical-visual part manipulating system
IT1047161B (it) * 1975-09-03 1980-09-10 Olivetti & Co Spa Centro di lavorazione per automazione programmabile con dispositivo tattile autoadattivo
US4163183A (en) * 1975-10-28 1979-07-31 Unimation, Inc. Programmable automatic assembly system
US4115858A (en) * 1976-01-12 1978-09-19 Houdaille Industries, Inc. Machine tool controller employing microprocessor system for controlling Z axis
SE401637B (sv) * 1976-03-29 1978-05-22 Asea Ab Forfarande och anordning for att bringa en industrirobot att utfora en komplex rorelse
DE2656433C3 (de) * 1976-12-14 1983-11-17 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V., 8000 Muenchen Verfahren und Anordnung zur Regelung von Manipulatoen und industriellen Robotern
DE2745404A1 (de) * 1977-10-08 1979-06-13 Grisebach Hans Theodor Handhabungsgeraet
EP0001163B1 (en) 1977-09-06 1982-07-28 Imperial Chemical Industries Plc A straight-line linkage mechanism for an industrial manipulator
EP0003025B1 (de) * 1977-12-08 1984-04-18 Siemens Aktiengesellschaft Regelung für Drehwerks- oder Hubwerksantriebe eines Krans
US4178632A (en) * 1978-03-06 1979-12-11 Cincinnati Milacron Inc. Method for controlling the operation of a computer operated robot arm
US4338672A (en) * 1978-04-20 1982-07-06 Unimation, Inc. Off-line teach assist apparatus and on-line control apparatus
JPS5840761B2 (ja) * 1978-12-20 1983-09-07 工業技術院長 人間腕形マニピュレ−タの制御装置
US4258425A (en) * 1979-03-08 1981-03-24 A. O. Smith Corporation Self-programmed mechanical working apparatus
JPS5621794A (en) * 1979-07-30 1981-02-28 Fujitsu Fanuc Ltd Controlling system for industrial robot
US4420812A (en) * 1979-09-14 1983-12-13 Tokico, Ltd. Teaching- playback robot
US4509143A (en) * 1980-01-14 1985-04-02 Mitsubishi Denki Kabushiki Kaisha Computer control system for selecting a desired control program from a plurality of control programs
US4445184A (en) * 1980-07-19 1984-04-24 Shin Meiwa Industry Co., Ltd. Articulated robot
US4356554A (en) * 1980-09-12 1982-10-26 Thermwood Corporation Method and apparatus for compensating for system error in an industrial robot control
DE3038436C2 (de) * 1980-10-11 1985-08-29 Jungheinrich Unternehmensverwaltung Kg, 2000 Hamburg Positionierregelkreis für Manipulatoren
JPS5773402A (en) * 1980-10-23 1982-05-08 Fanuc Ltd Numerical control system
US4379335A (en) * 1980-10-28 1983-04-05 Auto-Place, Inc. Electronic controller and portable programmer system for a pneumatically-powered point-to-point robot
CH657561A5 (en) * 1980-12-18 1986-09-15 Kaunassk Polt Inst Antanasa Method of determining the position of a point according to its coordinates and apparatus for carrying out this method
JPS57113114A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
JPS57113111A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
JPS584377A (ja) * 1981-03-18 1983-01-11 株式会社安川電機 関節形産業用ロボツトの制御装置
US4403281A (en) * 1981-04-03 1983-09-06 Cincinnati Milacron Industries, Inc. Apparatus for dynamically controlling the tool centerpoint of a robot arm off a predetermined path
JPS57175692A (en) * 1981-04-21 1982-10-28 Takenaka Komuten Co Crane having automatic positioning controlling function
IT1144707B (it) * 1981-05-15 1986-10-29 Dea Spa Unita a braccio operativo controllata da un sistema a calcolatore
US4550383A (en) * 1981-09-24 1985-10-29 Hitachi, Ltd. Parabolic position and attitude interpolation for a robot hand
JPS5856003A (ja) * 1981-09-30 1983-04-02 Hitachi Ltd 工業用ロボツトの制御方法
JPH0695294B2 (ja) * 1981-10-05 1994-11-24 株式会社日立製作所 産業用ロボットの軌跡補間方法
US4486840A (en) * 1981-10-14 1984-12-04 Houdaille Industries, Inc. Computer numeric control for metal forming
US4488241A (en) * 1981-12-08 1984-12-11 Zymark Corporation Robot system with interchangeable hands
JPS58143981A (ja) * 1982-02-19 1983-08-26 株式会社日立製作所 産業用ロボツトの制御方法
JPS58155148A (ja) * 1982-03-05 1983-09-14 Okuma Mach Works Ltd 工作機械における刃物台刃先の軌跡監視方法
JPS58177289A (ja) * 1982-04-12 1983-10-17 株式会社三協精機製作所 工業用ロボツトの動作制御装置
US4453221A (en) * 1982-05-13 1984-06-05 Cincinnati Milacron Inc. Manipulator with adaptive velocity controlled path motion
US4506335A (en) * 1982-06-10 1985-03-19 Cincinnati Milacron Inc. Manipulator with controlled path motion
SE452719B (sv) * 1982-06-29 1987-12-14 Asea Ab Industrirobot
EP0108511A3 (en) * 1982-11-04 1985-12-18 EMI Limited Improvements in or relating to robot control systems
JPS59107884A (ja) * 1982-12-10 1984-06-22 株式会社日立製作所 ロボツトの制御方式
JPS59114609A (ja) * 1982-12-22 1984-07-02 Hitachi Ltd ロボットの制御装置
JPS59189415A (ja) * 1983-04-13 1984-10-27 Hitachi Ltd 工業用ロボツトの動作教示方法および装置
JPS59218513A (ja) * 1983-05-26 1984-12-08 Fanuc Ltd 工業用ロボツトの円弧制御法
US4547858A (en) * 1983-06-13 1985-10-15 Allied Corporation Dynamic control for manipulator
US4661039A (en) * 1983-10-20 1987-04-28 Donaldson Company Flexible-frame robot
JPS60175108A (ja) * 1984-02-20 1985-09-09 Fanuc Ltd 等速制御方法
US4734866A (en) * 1984-07-05 1988-03-29 Siemens Aktiengesellschaft Computer controller for an industrial multiaxis robot
US4598380A (en) * 1984-08-13 1986-07-01 Cincinnati Milacron Inc. Method and apparatus for controlling manipulator and workpiece positioner
JPS61110204A (ja) * 1984-11-02 1986-05-28 Hitachi Ltd 自動化装置の制御方法
US4718078A (en) * 1985-08-19 1988-01-05 Siemens Aktiengesellschaft System for controlling motion of a robot
US5022952A (en) * 1985-12-13 1991-06-11 Cincinnati Milacron Inc. Fiber placement machine
EP0261106B1 (en) * 1986-02-25 1989-11-02 Trallfa Robot A/S Method and robot installation for programmed control of a working tool
JPH0789286B2 (ja) * 1986-02-28 1995-09-27 株式会社日立製作所 多関節マニピユレ−タの作業原点決定方法
JP2506760B2 (ja) * 1986-05-12 1996-06-12 松下電器産業株式会社 ロボットの制御装置
US4835710A (en) * 1987-07-17 1989-05-30 Cincinnati Milacron Inc. Method of moving and orienting a tool along a curved path
JP2511072B2 (ja) * 1987-10-23 1996-06-26 三菱重工業株式会社 ロボットにおける教示デ―タの記録・再生方法
US5062755A (en) * 1988-02-23 1991-11-05 Macmillan Bloedel Limited Articulated arm control
JP2664205B2 (ja) * 1988-06-10 1997-10-15 株式会社日立製作所 マニピュレータ制御システム
JP2824588B2 (ja) * 1989-08-24 1998-11-11 株式会社エスジー サーボモータ同期制御方式
US5110395A (en) * 1989-12-04 1992-05-05 Cincinnati Milacron Inc. Fiber placement head
AU665000B2 (en) * 1991-06-04 1995-12-14 Anca Pty Ltd Improved control of CNC machine tools
US5410638A (en) * 1993-05-03 1995-04-25 Northwestern University System for positioning a medical instrument within a biotic structure using a micromanipulator
SE501867C2 (sv) * 1993-11-15 1995-06-12 Asea Brown Boveri Förfarande och system för kalibrering av en industrirobot utnyttjande en sfärisk kalibreringskropp
US5584646A (en) * 1994-08-31 1996-12-17 Wiseda Ltd. Handling apparatus
JP2000066706A (ja) * 1998-08-21 2000-03-03 Matsushita Electric Ind Co Ltd ロボット制御装置とその制御方法
US7097540B1 (en) 2005-05-26 2006-08-29 General Electric Company Methods and apparatus for machining formed parts to obtain a desired profile
US20080058990A1 (en) * 2006-08-31 2008-03-06 General Electric Company Robotic programming control using multiple binary input
DE102008061153A1 (de) * 2008-12-09 2010-06-17 Renate Grünfeld Verfahren zur mehrdimensionalen automatischen, elektromotorischen Bewegung einer kartesisch geführten Sonde zu einem Objekt
CN110815225B (zh) * 2019-11-15 2020-12-25 江南大学 电机驱动单机械臂系统的点对点迭代学习优化控制方法
CN116945178B (zh) * 2023-08-08 2025-09-12 海南大学 三轮全向移动机械臂加速度层的神经动力学姿态调整方法
CN117921683B (zh) * 2024-03-19 2024-05-31 库卡机器人(广东)有限公司 关节机器人及其控制方法、装置和可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3123657A (en) * 1964-03-03 Automatic control apparatus
US3128374A (en) * 1960-12-08 1964-04-07 Bendix Corp Control system
US3543910A (en) * 1968-07-30 1970-12-01 George C Devol Work-head automatic motions controls
US3656124A (en) * 1968-09-26 1972-04-11 Giddings & Lewis Linear and circular interpolation contouring control using repeated computation
US3618742A (en) * 1970-05-18 1971-11-09 Stanley J Blanchard Automatic object adjustment
US3699317A (en) * 1970-05-22 1972-10-17 Westinghouse Electric Corp Sampled data numerical contouring machine controller apparatus and method providable with on line capability for contour cornering deceleration and acceleration
DE2155267C3 (de) * 1971-11-06 1980-01-31 Indramat Gesellschaft Fuer Industrie- Rationalisierung Und Automatisierung Mbh, 8770 Lohr Funktionsgenerator, insbesondere für ein stetiges Nachformsystem mit Auswertung des Betrages der Fühlerauslenkung
US3843875A (en) * 1973-03-07 1974-10-22 Remington Arms Co Inc Numerical control checkering system

Also Published As

Publication number Publication date
DE2330054A1 (de) 1974-01-17
DE2330054C2 (de) 1982-05-13
NO149366C (no) 1984-04-04
US3909600A (en) 1975-09-30
JPS612964B2 (no) 1986-01-29
CA992652A (en) 1976-07-06
JPS4950376A (no) 1974-05-16
GB1408666A (en) 1975-10-01

Similar Documents

Publication Publication Date Title
NO149366B (no) Anordning til styring av bevegelsen av et funksjonselement
Mason Manipulator grasping and pushing operations
US4166543A (en) Method and means for controlling an industrial robot
US4433382A (en) Apparatus for automatically adjusting the programmed location of a robot arm
Nevins et al. The force vector assembler concept
US3920972A (en) Method and apparatus for programming a computer operated robot arm
US4887222A (en) Method for controlling operation of industrial robot
Paul WAVE A model based language for manipulator control
Flacco et al. Discrete-time redundancy resolution at the velocity level with acceleration/torque optimization properties
US20220305646A1 (en) Simulation-in-the-loop Tuning of Robot Parameters for System Modeling and Control
EP2105263A2 (en) Real time control method and device for robots in virtual projection
JPH05506948A (ja) 別個に連結されたパラレル機構を幾何学的に簡易に制御する方法及び装置
US11904473B2 (en) Transformation mode switching for a real-time robotic control system
CN105598968A (zh) 一种并联机械臂的运动规划与控制方法
Saków et al. Self-sensing teleoperation system based on 1-dof pneumatic manipulator
González-Palacios Advanced engineering platform for industrial development
JPS5815801B2 (ja) 工業用ロボツトの軌跡制御方式
Hopkins et al. Kinematics, design and control of the 6‐PSU platform
Thomas et al. Minimum displacement motion planning for movable obstacles
US4543635A (en) Process and switching circuit for the positional control of radial drilling machines
Shadmehr Learning virtual equilibrium trajectories for control of a robot arm
Pajak et al. Planning of a point to point collision-free trajectory for mobile manipulators
Glazkov et al. Dynamic error reduction via continuous robot control using the neural network technique
Wang et al. Time-optimal motion of spatial Dubins systems
CN119610115B (zh) 基于模型预测控制的多指灵巧手可泛化物体操作方法与系统