Robotiikka on ainutlaatuinen sekoitus tiedettä ja teknologiaa, joka tuottaa koneita, jotka jäljittelevät ihmisten toimintaa.
2000-luvun alussa 90 % roboteista oli autonvalmistuslaitoksissa korvaten ihmisiä toistuvissa tehtävissä. Nyt robotit voivat imuroida taloja ja jopa palvella ravintoloissa.
Robotti koostuu yleensä kolmen tyyppisistä komponenteista; mekaaninen runko; sähköinen luuranko ja lopulta koodilla tehdyt aivot.
Näiden komponenttien avulla robotti voi kerätä tietoja (usein sensoreista), tehdä päätöksiä ohjelmoidun logiikan avulla käyttäytymisen mukauttamiseksi ja tehtävien suorittamiseksi.
Roboteilla voi olla kolmenlaisia ohjelmia; Kaukosäädin (RC), Tekoäly (AI) tai hybridi.
RC-ohjelmat vaativat ihmisen, joka voi antaa koodin suorittamisen aloitus- ja/tai lopetussignaalin robotille. Ohjelmat koostuvat erityyppisistä algoritmeista, joista jokaisella on erilainen toiminto.
Mikä on algoritmi?
Algoritmi on sarja koodirivejä, joita robotti voi käyttää tiettyjen ohjeiden suorittamiseen. Se kääntää kehittäjän ideat kielelle, jota robotit ymmärtävät.
Algoritmit voidaan ilmaista monenlaisilla merkinnöillä, mukaan lukien pseudokoodi, vuokaaviot, ohjelmointikielet, tai ohjauspöydät.
Tässä artikkelissa käsittelemme joitain yleisiä näissä ohjelmissa käytettyjä algoritmeja.
Robotiikassa käytettyjen algoritmien tyypit
1. A*-algoritmi milloin tahansa
A*-algoritmi on polunhakualgoritmi, jota käytetään löytämään optimaalinen polku kahden pisteen välillä eli pienimmällä hinnalla.
Anytime A* -algoritmilla on joustava aikakustannukset ja se voi palauttaa lyhimmän polun, vaikka se keskeytyy, koska se luo ensin ei-optimaalisen ratkaisun ja sitten optimoi sen.
Tämä mahdollistaa nopeamman päätöksenteon, koska robotti voi rakentaa aiempia laskelmia tyhjästä aloittamisen sijaan.
Miten tämä toimii?
Se tekee tämän muodostamalla "puun", joka ulottuu aloitussolmusta siihen asti, kunnes lopetuskriteerit laukeavat, mikä tarkoittaa, että käytettävissä on halvempi polku.
2D-ruudukko tehdään esteistä ja aloitussolu ja kohdesolut on pisteytetty.
Algoritmi määrittää solmun 'arvon' f:llä, joka on parametrien g (lähtösolmusta kyseiseen solmuun siirtymisen hinta) ja h (kyseisestä solmusta kohdesolmuun siirtymisen hinta) summa.
Sovellukset
Monet pelit ja verkkopohjaiset kartat käyttävät tätä algoritmia löytääkseen lyhimmän polun tehokkaasti. Sitä voidaan käyttää myös mobiiliroboteissa.
Voit myös ratkaista monimutkaisia ongelmia, kuten Newton-Raphson iteraatio, jota käytetään luvun neliöjuuren löytämiseen.
Sitä käytetään myös lentorataongelmissa ennustamaan esineen liikettä ja törmäystä avaruudessa.
2. D*-algoritmi
D*, Focused D* ja D* Lite ovat inkrementaalisia hakualgoritmeja lyhimmän polun löytämiseksi kahden pisteen välillä.
Ne ovat kuitenkin sekoitus A*-algoritmeja ja uusia löytöjä, joiden avulla he voivat lisätä karttoihinsa tietoa tuntemattomista esteistä.
He voivat sitten laskea reitin uudelleen uusien tietojen perusteella, aivan kuten Mars Rover.
Miten tämä toimii?
D*-algoritmin toiminta on samanlainen kuin A*:n, algoritmi määrittelee ensin f, h ja luo avoimen ja suljetun listan.
Tämän jälkeen D*-algoritmi määrittää nykyisen solmun g-arvon käyttämällä sen naapurisolmujen g-arvoa.
Jokainen naapurisolmu tekee arvauksen nykyisen g-arvon ja lyhin g-arvo sovitetaan uudeksi g-arvoksi.
Sovellukset
D* ja sen muunnelmia käytetään laajalti mobiiliroboteissa ja itsenäinen ajoneuvo navigointi.
Tällaisia navigointijärjestelmiä ovat prototyyppijärjestelmä, joka on testattu Mars-kulkijoilla Opportunity ja Spirit, ja navigointijärjestelmä, joka voitti DARPA Urban Challenge.
3. PRM-algoritmi
PRM tai todennäköisyyspohjainen tiekartta on verkkokaavio mahdollisista poluista, jotka perustuvat tietyn kartan vapaisiin ja miehitettyihin tiloihin.
Niitä käytetään monimutkaisissa suunnittelujärjestelmissä ja myös edullisien esteiden kiertämiseen.
Liikuntarajoitteiset henkilöt käyttävät kartallaan satunnaista otosta pisteistä, joissa robottilaite voi mahdollisesti liikkua, ja sitten lasketaan lyhin reitti.
Miten tämä toimii?
PRM koostuu rakennus- ja kyselyvaiheesta.
Ensimmäisessä vaiheessa piirretään tiekartta, joka arvioi mahdollisia liikkeitä ympäristössä. Sitten luodaan satunnainen kokoonpano ja se yhdistetään joihinkin naapureihin.
Alku- ja tavoitekonfiguraatiot yhdistetään kaavioon kyselyvaiheessa. Polku saadaan sitten a Dijkstran lyhin polku kysely.
Sovellukset
PRM:ää käytetään paikallisissa suunnittelijoissa, joissa algoritmi laskee suoran viivapolun kahden pisteen, nimittäin alkupisteen ja maalipisteen, välillä.
Algoritmia voidaan käyttää myös parantamaan polun suunnittelu- ja törmäyshavaitsemissovelluksia.
4. Zero Moment Point (ZMP) -algoritmi
Zero Moment Point (ZMP-tekniikka) on algoritmi, jota robotit käyttävät pitämään kokonaisinertia vastakkaisena lattian reaktiovoimaan nähden.
Tämä algoritmi käyttää ZMP:n laskentakonseptia ja soveltaa sitä tavalla, joka tasapainottaa kaksijalkaisia robotteja. Tämän algoritmin käyttäminen tasaisella lattiapinnalla näyttää mahdollistavan robotin kävelevän ikään kuin hetkeä ei olisi.
Valmistusyritykset, kuten ASIMO (Honda), käyttävät tätä tekniikkaa.
Miten tämä toimii?
Kävelevän robotin liike suunnitellaan kulmamomenttiyhtälön avulla. Se varmistaa, että synnytetty nivelliike takaa robotin dynaamisen asennon vakauden.
Tämä stabiilisuus kvantifioidaan nollahetken pisteen etäisyydellä (algoritmilla laskettu) ennalta määritellyn stabiilisuusalueen rajoissa.
Sovellukset
Nollamomenttipisteitä voidaan käyttää mittarina arvioitaessa robottien, kuten iRobot PackBotin, kaatumista vastaan, kun navigoidaan ramppeja ja esteitä.
5. Suhteellisen integraalisen differentiaalin (PID) ohjausalgoritmi
Proportional Integral Differential Control tai PID, luo anturin takaisinkytkentäsilmukan mekaanisten komponenttien asetusten säätämiseksi laskemalla virhearvon.
Nämä algoritmit yhdistävät kaikki kolme peruskerrointa, eli osuuden, integraalin ja derivaatan, niin että se tuottaa ohjaussignaalin.
Se toimii reaaliajassa ja korjaa tarvittaessa. Tämä on nähtävissä mm itse ajaa autoa.
Miten tämä toimii?
PID-säätäjä käyttää kolmea säätötermiä, suhteellisuus-, integraali- ja johdannaisvaikutus sen ulostuloon tarkan ja optimaalisen ohjauksen soveltamiseksi.
Tämä säädin laskee jatkuvasti virhearvon halutun asetusarvon ja mitatun prosessimuuttujan välisenä erona.
Se soveltaa sitten korjausta minimoimaan virheen ajan kuluessa säätämällä ohjausmuuttujaa.
Sovellukset
Tämä ohjain voi ohjata mitä tahansa prosessia, jolla on mitattavissa oleva lähtö, tälle lähdölle tunnettu ihanteellinen arvo ja prosessiin syöte, joka vaikuttaa mitattavaan ulostuloon.
Säätimiä käytetään teollisuudessa säätämään lämpötilaa, painetta, voimaa, painoa, sijaintia, nopeutta ja kaikkia muita muuttujia, joille on olemassa mittaus.
Yhteenveto
Nämä olivat siis joitain yleisimmistä robotiikassa käytetyistä algoritmeista. Kaikki nämä algoritmit ovat varsin monimutkaisia, ja toimintojen ja liikkeen kartoittamiseen käytetään sekoitus fysikaalia, lineaarista algebraa ja tilastoja.
Teknologian kehittyessä robotiikkaalgoritmit kuitenkin kehittyvät entistä monimutkaisemmiksi. Robotit pystyvät suorittamaan enemmän tehtäviä ja ajattelemaan enemmän itse.
Jos pidit tästä artikkelista, tilaa HashDork's Weekly päivitykset sähköpostitse, joissa jaamme viimeisimmät AI-, ML-, DL-, ohjelmointi- ja tulevaisuuden tekniikan uutiset.
Jätä vastaus