Hur många sätt kan det röra sig?
Frihetsgrader: Geometri för Rörelse
En frihetsgrad (DOF) är en självständig möjlighet för ett objekt att röra sig. Förståelse av DOF är den första stegen för att förstå hur robotar interagerar med utrymme.
Position i 3D-utrymme kräver 3 DOF: x (vänster/höger), y (framåt/bak), z (upp/ned). Ett punkt i utrymme har 3 DOF.
Orientering lägger till 3 fler: rullning (rotation kring framåträta axeln), snedvinkel (rotation kring sidosidan), sidled (rotation kring vertikala axeln). Ett rätvinkligt objekt i utrymme har 6 DOF: 3 position + 3 orientering.
Robotar och DOF:
- En 6-axlig konisk arm (liksom en industrirobot) har 6 led, varje led lägger till 1 DOF. Med 6 DOF kan slutverktyget nå alla positioner och orienteringar inom arbetsytan: det har full utrymmesfrihet.
- En 4-axlig SCARA-robot har 4 DOF: den kan positionera överallt i en yta och rotera, men kan inte vinkla sin verktyg. Bra för att plocka och lägga på flacka ytor.
- En 3-axlig kartesisk/gångjärn-robot har 3 DOF: den kan positionera överallt i ett boxformat utrymme men kan inte orientera sin verktyg alls. Bra för 3D-skrivare.
Mer än 6 DOF: En 7-axlig robot är överskjutande: den har fler DOF än vad som krävs för fullständig positionering i utrymme. Det extra DOF:et låter den nå runt hinder, precis som en människas arm som räcker bakom något. Överskjutande är ett geometriskt fördel.
DOF och Uppgiftskrav
En fabrik behöver en robot för tre olika uppgifter: (A) spruta lim längs en 3D krökig bana på en bilstycke, (B) plocka upp korn från en konvojtåg och lägga dem på en plan panna, och (C) svetsa en komplex 3D knytnäv från flera vinklar.
Två riktningar för robotgeometri
Kinematik: Rörelse utan kraft
Kinematik är studerandet av rörelse utan att ta hänsyn till krafter. Inom robotik är det ren geometri: sambandet mellan vridningsvinklar och position för slutlig effekt.
Framåt kinematik (FK): Ge alla vridningsvinklar → beräkna slutlig effekts position & orientering. Detta är den 'lättare' riktningen.
För en 2-länkig planar arm: om vridningsvinkel för länk 1 är θ₁ & vridningsvinkel för länk 2 är θ₂, med länslängder L₁ & L₂, är slutlig effekten på:
- x = L₁ cos(θ₁) + L₂ cos(θ₁ + θ₂)
- y = L₁ sin(θ₁) + L₂ sin(θ₁ + θ₂)
För en 6-axlig arm använder FK en kedja av homogena transformationsmatriser: varje ax bidrar med en 4x4-matris som kodar rotation och translation. Multiplikera alla sex matriser för att få slutlig effekts position. Det är mekaniskt men ger alltid ett unikt svar.
Invers kinematik (IK): Ge önskad slutlig effekts position & orientering → beräkna vridningsvinklarna som uppnår det. Detta är den 'svåra' riktningen.
IK är svårt eftersom:
- Många lösningar: En 6-axlig arm kan ofta nå samma punkt i flera konfigurationer (underarm upp vs. underarm ned, handled vriden vs. inte). Det kan finnas 8 eller fler giltiga lösningar.
- Inga lösningar: Om målet ligger utanför arbetsytan fungerar inga vridningsvinklar.
- Singulärt: Vid vissa positioner är två axelalignade och roboten förlorar en DOF: som gimbal lock. Nära singulära konfigurationer krävs stora vridningshastigheter för små kartesiska rörelser.
Invers kinematik: Varför är det svårt?
Tänk på en enkel 2-länkig planar arm med L₁ = L₂ = 1 meter. Slutlig effekten måste nå punkten (1.0, 1.0).
Avståndet från basen till målet är sqrt(1² + 1²) = sqrt(2) ≈ 1.414 m. Eftersom L₁ + L₂ = 2 m > 1.414 m är punkten nåbar.
Formen av räckvidden
Arbetsvolym: Den geometriska volymen som robotens sluteffektör kan nå
Arbetsvolymens uppsättning är alla punkter som sluteffektorn kan nå. Dess form beror helt och hållet på robotens geometri.
Articulerad arm (6-axlig): Arbetsvolymen är ungefär en hållig sfär. Den yttre gränsen är vid maximal räckvidd (när alla led är utsträckta). Den inre gränsen finns eftersom armen inte kan vika tillbaka på sig själv nog att nå punkter som är för nära basen. Snitt ser ut som en donut (torus).
SCARA: Arbetsvolymen är en cylinder. Armen rör sig horisontellt (genererar en cirkelisk snitt) och Z-axeln rör sig vertikalt. Resultatet blir en platt cylindrisk volym: bred räckvidd horisontellt, begränsad vertikalt.
Cartesian/Gantry: Arbetsvolymen är en rektangulär låda. Varje axel rör sig linjärt längs en dimension. Enkelt, förutsägbart, lätt att programmera: men bulkigt eftersom roboten måste vara lika stor som dess arbetsvolym.
Singulära i arbetsvolymen: Vid vissa ställningar förlorar roboten en DOF. En fullständigt utsträckt artikulerad arm (vid den yttre gränsen av dess arbetsvolym) befinner sig i en singularity: den kan inte röra på sluteffektorn ytterligare. Ledartingsingulariteter uppstår när två ledaxel alignerar. Vid en singularity förlorar Jacobimatrixens rang och robotens effektiva DOF minskar tillfälligt.
Dexter arbetsvolym vs navigerbara arbetsvolym: Den nåbara arbetsvolymen är där sluteffektorn kan nå i minst en orientering. Den dexter arbetsvolymen är där den kan uppnå någon vilken viloläge. Den dexter arbetsvolymen är alltid en delmängd av den nåbara arbetsvolymen: och ofta mycket mindre.
Välj en robot baserat på arbetsvolym
En fabrikscell har tre stationer i L-form. Station A är till vänster, Station B är rakt framme, Station C är till höger och något högre (300 mm). Roboten måste plocka delar från A, utföra en operation på B och placera färdiga delar på C: allt från en enda monteringsposition.
Konfigurationsrum: Robots Abstracta Geometri
Konfigurationsrum: Där rörelseplanering bor
Konfigurationsrum (C-utrymmet) är en av de mest kraftfulla geometriska abstraktionerna inom robotik. Istället för att tänka på robots fysiska form representerar du dess hela tillstånd som en enda punkt i ett N-dimensional utrymme.
För en robot med N led, C-utrymmet har N dimensioner: en axel per ledvinkel. Varje möjlig position för roboten är en enda punkt i C-utrymmet. En rörelse (sekvens av positioner) är en kurva genom C-utrymmet.
Hinder i C-utrymmet: Ett fysiskt hinder i den verkliga världen blir ett förbjudet område i C-utrymmet. Om du placerar roboten i ledvinklar (θ₁, θ₂, ..., θN) skulle orsaka en kollision, är det en punkt inuti ett C-utrymme hinder. Formen av C-utrymme hinder är komplex: en enkel låda i den verkliga världen blir ett märkligt format område i C-utrymmet.
Vägplanering = hitta en kollisionsfri kurva: Med en startkonfiguration (punkt i C-utrymmet) & en målkonfiguration (en annan punkt), hitta en kontinuerlig kurva som ansluter dem och inte går in i något förbjudet område.
Algoritmer:
- A* (grid-based): Diskretisera C-utrymmet i en grid, sök efter kortaste väg. Fungerar bra i låga dimensioner (2-3 DOF) men exploderar gridstorleken exponentiellt med dimension.
- RRT (Rapidly-Exploring Random Tree): Bygg en trädstruktur av slumpmässiga prov i C-utrymmet, växa mot okända regioner. Fungerar i höga dimensioner (6+ DOF). Inte optimal men snabb vid hittande av genomförbara vägar.
- PRM (Probabilistic Roadmap): Förbereda en graf av slumpmässiga kollisionsfria konfigurationer, sedan sök i grafen. Bra för upprepade frågor i samma miljö.
Den geometriska insikten: en 6-DOF-robots vägplaneringsproblem är ett kurva-genom-6D-utrymme-problem. Dimensionaliteten gör exakta lösningar omöjliga: sannolikhetsmetoder (RRT, PRM) är den praktiska approachen.
Konfigurationsutrymme tänkande
En 2-länkad planar arm (2 DOF) fungerar i ett rum med ett enda rektangelförhinder. Led 1 sträcker sig från 0° till 360°, led 2 sträcker sig från 0° till 360°. Konfigurationsutrymmet är ett 2D fyrhörn: θ₁ på en axel, θ₂ på den andra.