Robotik är en unik blandning av vetenskap och teknik som producerar maskiner som efterliknar människors handlingar.
I början av 2000-talet var 90 % av robotarna i biltillverkningsanläggningar och ersatte människor för repetitiva uppgifter. Nu kan robotar dammsuga hus och till och med servera på restauranger.
En robot består vanligtvis av tre typer av komponenter; den mekaniska kroppen; det elektriska skelettet, och slutligen en hjärna gjord med kod.
Dessa komponenter tillåter en robot att samla in data (ofta från sensorer), fatta beslut via programmerad logik för att anpassa beteendet och slutföra uppgifter.
Robotar kan ha tre typer av program; Fjärrkontroll (RC), Artificiell intelligens (AI), eller Hybrid.
RC-program kräver ingripande av en människa som kan ge start- och/eller stoppsignalen för exekvering av kod till roboten. Program består av olika typer av algoritmer, alla med olika funktioner.
Vad är en algoritm?
En algoritm är en serie kodrader som en robot kan använda för att utföra vissa instruktioner. Den översätter utvecklarens idéer till ett språk som förstås av robotar.
Algoritmer kan uttryckas i många typer av notation, inklusive pseudokod, flödesscheman, programmeringsspråk, eller kontrolltabeller.
I den här artikeln kommer vi att diskutera några vanliga typer av algoritmer som används i dessa program.
Typer av algoritmer som används inom robotik
1. När som helst A*-algoritm
A*-algoritmen är en sökvägsalgoritm som används för att hitta den mest optimala vägen mellan två punkter, dvs med den lägsta kostnaden.
Anytime A* Algorithm har en flexibel tidskostnad och kan returnera den kortaste vägen även om den avbryts eftersom den genererar en icke-optimal lösning först och sedan optimerar den.
Detta möjliggör snabbare beslutsfattande eftersom roboten kan bygga på tidigare beräkningar istället för att börja från början.
Hur fungerar det?
Den gör detta genom att bilda ett "träd" som sträcker sig in från startnoden tills kriterierna för avslutning triggas vilket innebär att det finns en billigare väg tillgänglig.
Ett 2D-rutnät görs med hinder och en startcell och målceller är utpekade.
Algoritmen definierar en nods "värde" med f som är summan av parametrarna g (kostnaden för att flytta från startnoden till noden i fråga) och h (kostnaden för att flytta från noden i fråga till målnoden).
Applikationer
Många spel och webbaserade kartor använder denna algoritm för att hitta den kortaste vägen effektivt. Den kan även användas för mobila robotar.
Du kan också lösa komplexa problem som Newton-Raphson iteration används för att hitta kvadratroten ur ett tal.
Det används också i banaproblem för att förutsäga rörelse och kollision av ett objekt i rymden.
2. D* Algoritm
D*, Focused D* och D* Lite är inkrementella sökalgoritmer för att hitta den kortaste vägen mellan två punkter.
De är dock en blandning av A*-algoritmer och nya upptäckter som gör att de kan lägga till information till sina kartor för okända hinder.
De kan sedan räkna om en rutt baserat på ny information, ungefär som Mars Rover.
Hur fungerar det?
Funktionen för D*-algoritmen liknar den för A*, algoritmen definierar först f, h och skapar en öppen och stängd lista.
Efter detta bestämmer D*-algoritmen den aktuella nodens g-värde med hjälp av g-värdet för dess närliggande noder.
Varje angränsande nod gör en gissning om den nuvarandes g-värde och det kortaste g-värdet anpassas som det nya g-värdet.
Applikationer
D* och dess varianter används ofta för mobil robot och autonomt fordon navigering.
Sådana navigationssystem inkluderar ett prototypsystem som testats på Mars rovers Opportunity och Spirit och navigationssystemet som vann DARPA Urban Challenge.
3. PRM-algoritm
En PRM, eller probabilistisk färdplan, är en nätverksgraf över möjliga vägar baserat på lediga och upptagna utrymmen på en given karta.
De används i komplexa planeringssystem och även för att hitta billiga vägar runt hinder.
PRM använder ett slumpmässigt urval av punkter på sin karta där en robotenhet eventuellt kan röra sig och sedan beräknas den kortaste vägen.
Hur fungerar det?
PRM består av en konstruktions- och frågefas.
I den första fasen ritas en färdplan som approximerar möjliga rörelser i en miljö. En slumpmässig konfiguration skapas sedan och kopplas till några grannar.
Start- och målkonfigurationerna är kopplade till grafen i frågefasen. Vägen erhålls sedan av en Dijkstras kortaste väg fråga.
Applikationer
PRM används i lokala planerare, där algoritmen beräknar en rak linje mellan två punkter, nämligen initial- och målpunkter.
Algoritmen kan också användas för att förbättra vägplanering och kollisionsdetekteringstillämpningar.
4. Zero Moment Point (ZMP) Algoritm
Zero Moment Point (ZMP-teknik) är en algoritm som används av robotar för att hålla den totala trögheten motsatt golvets reaktionskraft.
Denna algoritm använder konceptet att beräkna ZMP och tillämpar det på ett sätt för att balansera tvåfota robotar. Genom att använda denna algoritm på en slät golvyta verkar roboten gå som om det inte fanns något ögonblick.
Tillverkningsföretag som ASIMO (Honda) använder denna teknik.
Hur fungerar det?
En gående robots rörelse planeras med hjälp av vinkelmomentekvationen. Den ser till att den genererade ledrörelsen garanterar robotens dynamiska ställningsstabilitet.
Denna stabilitet kvantifieras av avståndet för nollmomentpunkten (beräknad av algoritmen) inom gränserna för ett fördefinierat stabilitetsområde.
Applikationer
Nollmomentpoäng kan användas som ett mått för att bedöma stabiliteten mot vältning av robotar som iRobot PackBot vid navigering på ramper och hinder.
5. Proportional Integral Differential (PID) kontrollalgoritm
Proportional Integral Differential Control eller PID, skapar en sensoråterkopplingsslinga för att justera inställningar för mekaniska komponenter genom att beräkna felvärdet.
Dessa algoritmer kombinerar alla tre grundläggande koefficienter, dvs proportion, integral och derivata så att den producerar en styrsignal.
Det fungerar i realtid och tillämpar korrigeringar där det behövs. Detta kan ses i själv köra bil.
Hur fungerar det?
PID-regulatorn använder tre styrtermer: proportionalitet, integral och derivativ påverkan på dess uteffekt för att tillämpa exakt och optimal styrning.
Denna regulator beräknar kontinuerligt ett felvärde som skillnaden mellan ett önskat börvärde och en uppmätt processvariabel.
Den tillämpar sedan en korrigering för att minimera felet över tid genom justering av kontrollvariabeln.
Applikationer
Denna styrenhet kan styra vilken process som helst som har en mätbar utgång, ett känt idealvärde för den utgången och en ingång till processen som kommer att påverka den mätbara utgången.
Regulatorer används inom industrin för att reglera temperatur, tryck, kraft, vikt, position, hastighet och alla andra variabler för vilka det finns en mätning.
Slutsats
Så dessa var några av de vanligaste algoritmerna som används inom robotik. Alla dessa algoritmer är ganska komplexa med en blandning av fysik, linjär algebra och statistik som används för att kartlägga handlingar och rörelser.
Men allt eftersom tekniken går framåt kommer robotalgoritmer att utvecklas till att bli ännu mer komplexa. Robotarna kommer att kunna utföra fler uppgifter och tänka mer själva.
Om du gillade den här artikeln, prenumerera på HashDork's Weekly uppdateringar via e-post, där vi delar de senaste AI, ML, DL, Programmering & Future Tech nyheterna.
Kommentera uppropet