Robotika je jedinstvena mješavina nauke i tehnologije koja proizvodi mašine koje oponašaju radnje ljudi.
Početkom 2000-ih, 90% robota je bilo u pogonima za proizvodnju automobila koji su zamijenili ljude za zadatke koji se ponavljaju. Sada roboti mogu usisavati kuće, pa čak i služiti u restoranima.
Robot se obično sastoji od tri vrste komponenti; mehaničko tijelo; električni skelet i konačno mozak napravljen kodom.
Ove komponente omogućavaju robotu da prikuplja podatke (često od senzora), donosi odluke putem programirane logike kako bi prilagodio ponašanje i izvršio zadatke.
Roboti mogu imati tri vrste programa; daljinski upravljač (RC), Umjetna inteligencija (AI) ili hibrid.
RC programi zahtijevaju intervenciju ljudskog bića koje robotu može dati startni i/ili stop signal za izvršenje koda. Programi se sastoje od različitih tipova algoritama, od kojih svaki ima različitu funkciju.
Šta je algoritam?
Algoritam je niz linija koda koje robot može koristiti za izvršavanje određenih instrukcija. Prevodi ideje programera na jezik koji roboti razumiju.
Algoritmi se mogu izraziti u mnogim vrstama zapisa, uključujući pseudokod, dijagrame toka, programski jezici, ili kontrolnim stolovima.
U ovom članku ćemo raspravljati o nekim uobičajenim tipovima algoritama koji se koriste u ovim programima.
Vrste algoritama koji se koriste u robotici
1. Bilo kada A* algoritam
Algoritam A* je algoritam za traženje putanje koji se koristi za pronalaženje najoptimalnijeg puta između dve tačke, tj. uz najmanju cenu.
Algoritam A* Anytime ima fleksibilnu vremensku cijenu i može vratiti najkraći put čak i ako je prekinut jer prvo generiše neoptimalno rješenje, a zatim ga optimizira.
Ovo omogućava brže donošenje odluka jer robot može da se oslanja na prethodne proračune umesto da počne od nule.
Kako funkcioniše?
To radi tako što formira 'stablo' koje se proteže od početnog čvora sve dok se ne aktiviraju kriteriji za završetak, što znači da je dostupan jeftiniji put.
2D mreža je napravljena sa preprekama i početna ćelija i ciljne ćelije su precizirane.
Algoritam definira 'vrijednost' čvora pomoću f koji je zbir parametara g (cijena pomjeranja od početnog čvora do dotičnog čvora) i h (cijena pomjeranja od dotičnog čvora do ciljnog čvora).
Aplikacije
Mnoge igre i web-bazirane karte koriste ovaj algoritam za efikasno pronalaženje najkraćeg puta. Može se koristiti i za mobilne robote.
Također možete riješiti složene probleme kao što su Newton–Raphson iteracija primijenjena za pronalaženje kvadratnog korijena broja.
Također se koristi u problemima trajektorije za predviđanje kretanja i sudara objekta u prostoru.
2. D* algoritam
D*, Focused D* i D* Lite su inkrementalni algoritmi pretraživanja za pronalaženje najkraćeg puta između dvije tačke.
Oni su, međutim, mješavina A* algoritama i novih otkrića koja im omogućavaju da dodaju informacije na svoje karte za nepoznate prepreke.
Zatim mogu ponovo izračunati rutu na osnovu novih informacija, slično kao Mars Rover.
Kako funkcioniše?
Rad D* algoritma je sličan onome kod A*, algoritam prvo definiše f, h i kreira otvorenu i zatvorenu listu.
Nakon toga, D* algoritam određuje g vrijednost trenutnog čvora koristeći g vrijednost njegovih susjednih čvorova.
Svaki susjedni čvor nagađa trenutnu g vrijednost i najkraća g vrijednost se prilagođava kao nova g vrijednost.
Aplikacije
D* i njegove varijante se široko koriste za mobilne robote i autonomno vozilo navigacija.
Takvi navigacijski sistemi uključuju prototip sistema testiranog na Mars roverima Opportunity i Spirit i navigacijski sistem koji je osvojio DARPA Urban Challenge.
3. PRM algoritam
PRM, ili vjerovatnoća mapa puta, je mrežni graf mogućih putanja zasnovan na slobodnim i zauzetim prostorima na datoj mapi.
Koriste se u složenim sistemima planiranja i za pronalaženje jeftinih puteva oko prepreka.
PRM-ovi koriste nasumični uzorak tačaka na svojoj karti gdje se robotski uređaj može kretati i tada se izračunava najkraća putanja.
Kako funkcioniše?
PRM se sastoji od faze izgradnje i upita.
U prvoj fazi, crta se mapa puta koja aproksimira moguća kretanja u okruženju. Zatim se kreira nasumična konfiguracija koja se povezuje sa nekim susjedima.
Konfiguracije početka i cilja su povezane s grafom u fazi upita. Put se tada dobija pomoću a Dijkstrin najkraći put upit.
Aplikacije
PRM se koristi u lokalnim planerima, gdje algoritam izračunava pravu putanju između dvije tačke, odnosno početne i ciljne tačke.
Algoritam se također može koristiti za poboljšanje aplikacija za planiranje putanje i detekciju sudara.
4. Algoritam nulte tačke (ZMP).
Zero Moment Point (ZMP tehnika) je algoritam koji koriste roboti da zadrže ukupnu inerciju suprotnu sili reakcije poda.
Ovaj algoritam koristi koncept izračunavanja ZMP-a i primjenjuje ga na način za balansiranje dvonožnih robota. Korištenje ovog algoritma na glatkoj površini poda naizgled omogućava robotu da hoda kao da ne postoji trenutak.
Proizvodne kompanije kao što je ASIMO (Honda) koriste ovu tehniku.
Kako funkcioniše?
Kretanje hodajućeg robota planirano je pomoću jednadžbe ugaonog momenta. Osigurava da generirani zglobni pokret garantuje dinamičku posturalnu stabilnost robota.
Ova stabilnost je kvantifikovana rastojanjem tačke nultog momenta (izračunate algoritmom) unutar granica unapred definisanog regiona stabilnosti.
Aplikacije
Nulti moment tačke se mogu koristiti kao metrika za procjenu stabilnosti protiv prevrtanja robota kao što je iRobot PackBot prilikom navigacije rampama i preprekama.
5. Proporcionalni integralni diferencijalni (PID) kontrolni algoritam
Proporcionalna integralna diferencijalna kontrola ili PID, stvara petlju povratne informacije senzora za podešavanje postavki za mehaničke komponente izračunavanjem vrijednosti greške.
Ovi algoritmi kombinuju sva tri osnovna koeficijenta, tj. proporciju, integral i derivaciju, tako da proizvodi kontrolni signal.
Radi u realnom vremenu i primjenjuje ispravke gdje je potrebno. Ovo se može videti u auto-auta.
Kako funkcioniše?
PID regulator koristi tri kontrolna člana proporcionalnosti, integralnog i derivativnog utjecaja na svoj izlaz da bi primijenio preciznu i optimalnu regulaciju.
Ovaj kontroler kontinuirano izračunava vrijednost greške kao razliku između željene zadane vrijednosti i izmjerene procesne varijable.
Zatim primjenjuje korekciju kako bi se smanjila greška tokom vremena podešavanjem kontrolne varijable.
Aplikacije
Ovaj kontroler može kontrolirati bilo koji proces koji ima mjerljiv izlaz, poznatu idealnu vrijednost za taj izlaz i ulaz u proces koji će utjecati na mjerljiv izlaz.
Kontroleri se koriste u industriji za regulaciju temperature, pritiska, sile, težine, položaja, brzine i bilo koje druge varijable za koju postoji mjerenje.
zaključak
Dakle, ovo su bili neki od najčešćih algoritama koji se koriste u robotici. Svi ovi algoritmi su prilično složeni sa mješavinom fizike, linearne algebre i statistike koja se koristi za mapiranje radnji i kretanja.
Međutim, kako tehnologija bude napredovala, robotički algoritmi će se razvijati i postati još složeniji. Roboti će moći obavljati više zadataka i razmišljati više za sebe.
Ako ste uživali u ovom članku, pretplatite se na HashDork's Weekly ažuriranja putem e-pošte, gdje dijelimo najnovije vijesti o AI, ML, DL, programiranju i tehnologiji budućnosti.
Ostavite odgovor