La robotica è una miscela unica di scienza e tecnologia che produce macchine che imitano le azioni degli esseri umani.
All'inizio degli anni 2000, il 90% dei robot si trovava negli stabilimenti di produzione di automobili sostituendo gli esseri umani per compiti ripetitivi. Ora i robot possono aspirare le case e persino servire nei ristoranti.
Un robot di solito è costituito da tre tipi di componenti; il corpo meccanico; lo scheletro elettrico e infine un cervello fatto con il codice.
Questi componenti consentono a un robot di raccogliere dati (spesso dai sensori), prendere decisioni tramite la logica programmata per adattare il comportamento e completare le attività.
I robot possono avere tre tipi di programmi; Telecomando (RC), Intelligenza Artificiale (AI) o Ibrido.
I programmi RC richiedono l'intervento di un essere umano che può dare il segnale di avvio e/o di arresto per l'esecuzione del codice al robot. I programmi sono costituiti da vari tipi di algoritmi, ciascuno con una funzione diversa.
Che cos'è un algoritmo?
Un algoritmo è una serie di righe di codice che un robot può utilizzare per eseguire determinate istruzioni. Traduce le idee dello sviluppatore in un linguaggio compreso dai robot.
Gli algoritmi possono essere espressi in molti tipi di notazioni, inclusi pseudocodice, diagrammi di flusso, linguaggi di programmazioneo tabelle di controllo.
In questo articolo discuteremo alcuni tipi comuni di algoritmi utilizzati in questi programmi.
Tipi di algoritmi utilizzati in robotica
1. Algoritmo A* in qualsiasi momento
L'algoritmo A* è un algoritmo di ricerca del percorso che viene utilizzato per trovare il percorso più ottimale tra due punti, cioè con il minor costo.
L'algoritmo Anytime A* ha un costo di tempo flessibile e può restituire il percorso più breve anche se viene interrotto poiché prima genera una soluzione non ottimale e poi la ottimizza.
Ciò consente un processo decisionale più rapido poiché il robot può basarsi su calcoli precedenti invece di ricominciare da zero.
Come funziona?
Lo fa formando un "albero" che si estende dal nodo iniziale fino a quando non viene attivato il criterio di terminazione, il che significa che è disponibile un percorso meno costoso.
Viene creata una griglia 2D con ostacoli e una cella iniziale e le celle target sono individuate.
L'algoritmo definisce il 'valore' di un nodo con f che è la somma dei parametri g (il costo dello spostamento dal nodo iniziale al nodo in questione) e h (il costo dello spostamento dal nodo in questione al nodo di destinazione).
Applicazioni
Molti giochi e mappe basate sul Web utilizzano questo algoritmo per trovare il percorso più breve in modo efficiente. Può essere utilizzato anche per robot mobili.
Puoi anche risolvere problemi complessi come il Newton-Raphson iterazione applicata per trovare la radice quadrata di un numero.
Viene anche utilizzato nei problemi di traiettoria per prevedere il movimento e la collisione di un oggetto nello spazio.
2. Algoritmo D*
D*, Focused D* e D* Lite sono algoritmi di ricerca incrementale per trovare il percorso più breve tra due punti.
Tuttavia, sono una miscela di algoritmi A* e nuove scoperte che consentono loro di aggiungere informazioni alle loro mappe per ostacoli sconosciuti.
Possono quindi ricalcolare un percorso in base a nuove informazioni, proprio come il Mars Rover.
Come funziona?
Il funzionamento dell'algoritmo D* è simile a quello di A*, l'algoritmo prima definisce f, he crea una lista aperta e una chiusa.
Dopodiché, l'algoritmo D* determina il valore g del nodo corrente utilizzando il valore g dei suoi nodi vicini.
Ogni nodo vicino fa un'ipotesi sul valore g di quello corrente e il valore g più breve viene adattato come nuovo valore g.
Applicazioni
D* e le sue varianti sono ampiamente utilizzate per robot mobili e veicolo autonomo navigazione.
Tali sistemi di navigazione includono un prototipo di sistema testato sui rover Mars Opportunity e Spirit e il sistema di navigazione che ha vinto il DARPA Sfida Urbana.
3. Algoritmo PRM
Una PRM, o roadmap probabilistica, è un grafico di rete di possibili percorsi basato su spazi liberi e occupati su una data mappa.
Sono utilizzati in complessi sistemi di pianificazione e anche per trovare percorsi a basso costo attorno agli ostacoli.
I PRM utilizzano un campione casuale di punti sulla loro mappa in cui un dispositivo robotico può eventualmente spostarsi e quindi viene calcolato il percorso più breve.
Come funziona?
Il PRM consiste in una fase di costruzione e interrogazione.
Nella prima fase, viene rappresentata graficamente una tabella di marcia che approssima i possibili movimenti in un ambiente. Viene quindi creata una configurazione casuale e collegata ad alcuni neighbor.
Le configurazioni di inizio e obiettivo sono collegate al grafico in fase di interrogazione. Il percorso è quindi ottenuto da a Il percorso più breve di Dijkstra interrogazione.
Applicazioni
Il PRM viene utilizzato nei pianificatori locali, dove l'algoritmo calcola un percorso in linea retta tra due punti, ovvero il punto iniziale e il punto obiettivo.
L'algoritmo può essere utilizzato anche per migliorare la pianificazione del percorso e le applicazioni di rilevamento delle collisioni.
4. Algoritmo Punto Momento Zero (ZMP).
Zero Moment Point (tecnica ZMP) è un algoritmo utilizzato dai robot per mantenere l'inerzia totale opposta alla forza di reazione del pavimento.
Questo algoritmo utilizza il concetto di calcolo dello ZMP e lo applica in modo da bilanciare i robot bipedi. L'utilizzo di questo algoritmo su una superficie liscia del pavimento sembra consentire al robot di camminare come se non ci fosse un momento.
Aziende manifatturiere come ASIMO (Honda) utilizzano questa tecnica.
Come funziona?
Il movimento di un robot che cammina è pianificato utilizzando l'equazione del momento angolare. Fa in modo che il movimento articolare generato garantisca la stabilità posturale dinamica del robot.
Questa stabilità è quantificata dalla distanza del punto di momento zero (calcolato dall'algoritmo) entro i confini di una regione di stabilità predefinita.
Applicazioni
I punti di momento zero possono essere utilizzati come metrica per valutare la stabilità contro il ribaltamento di robot come iRobot PackBot durante la navigazione su rampe e ostacoli.
5. Algoritmo di controllo del differenziale integrale proporzionale (PID).
Il controllo differenziale integrale proporzionale o PID crea un circuito di feedback del sensore per regolare le impostazioni dei componenti meccanici calcolando il valore dell'errore.
Questi algoritmi combinano tutti e tre i coefficienti di base, cioè proporzione, integrale e derivata in modo da produrre un segnale di controllo.
Funziona in tempo reale e applica le correzioni dove necessario. Questo può essere visto in automobili auto-guida.
Come funziona?
Il controller PID utilizza tre termini di controllo di proporzionalità, influenza integrale e derivativa sulla sua uscita per applicare un controllo accurato e ottimale.
Questo controller calcola continuamente un valore di errore come differenza tra un setpoint desiderato e una variabile di processo misurata.
Quindi applica una correzione per ridurre al minimo l'errore nel tempo mediante la regolazione della variabile di controllo.
Applicazioni
Questo controller può controllare qualsiasi processo che abbia un'uscita misurabile, un valore ideale noto per quell'uscita e un input per il processo che influenzerà l'uscita misurabile.
I controller vengono utilizzati nell'industria per regolare temperatura, pressione, forza, peso, posizione, velocità e qualsiasi altra variabile per la quale esiste una misurazione.
Conclusione
Quindi, questi erano alcuni degli algoritmi più comuni utilizzati nella robotica. Tutti questi algoritmi sono piuttosto complessi con una miscela di fisica, algebra lineare e statistica utilizzata per mappare azioni e movimenti.
Tuttavia, man mano che la tecnologia avanza, gli algoritmi di robotica si svilupperanno per diventare ancora più complessi. I robot saranno in grado di completare più compiti e pensare di più da soli.
Se ti è piaciuto questo articolo, iscriviti a HashDork's Weekly aggiornamenti via e-mail, dove condividiamo le ultime notizie su AI, ML, DL, programmazione e tecnologia futura.
Lascia un Commento