Come modellare un robot?


8

Le risposte che ho ricevuto alla domanda sull'addestramento di una linea seguendo il robot usando tecniche di apprendimento di rinforzo , mi hanno fatto pensare a come addestrare un robot. Credo che ci siano essenzialmente due modi:

  1. Addestra il robot fisico.
  2. Modella il robot e simula l'allenamento.
  3. Ho dimenticato qualcosa?

L'approccio 2 è sicuramente l'approccio migliore. Tuttavia, una conoscenza a priori del movimento (risposta), un certo segnale PWM (stimolo) causerebbe quando il robot si trova in un determinato stato. Il movimento causato da un segnale PWM può dipendere dalla ( 1 ) tensione della batteria corrente, ( 2 ) dalla massa del robot e dalla ( 3 ) velocità della corrente (mi sono perso qualcosa?).

Come modellare un robot del genere? E come posso modellarlo velocemente? Se cambio la batteria o aggiungo alcune schede e altre periferiche e cambio la massa del robot, dovrei rimodellare e riqualificare il robot. Posso farlo fornendo alcuni PWM di stimolo casuali e misurando la risposta?

aggiunto: la mia domanda correlata in dsp.SE

Aggiornamento: una modifica suggerita al titolo da Ian degna di nota: " Come modellare un robot in modo che se la sua dinamica cambia, non ha bisogno di un nuovo addestramento? " Penso che anche questa sia una buona domanda, ma diversa dalla uno che sto chiedendo qui. Per ora sto bene con la riqualificazione.


Ci sono molte grandi domande qui. In effetti potrebbe essere meglio dividere questo in più domande.
DaemonMaker,

Come mi consigli di farlo senza perdere lo sfondo? Ho già diviso una parte della mia domanda in dsp.SE
Lord Loh.

Fondamentalmente hai due domande qui. Innanzitutto, come modellare un robot? In secondo luogo, come posso addestrare un robot dato un modello e un algoritmo di apprendimento? Mi sembra che queste potrebbero essere due domande separate.
DaemonMaker,

Hai ragione. La domanda che appare come addestrare un robot doveva essere retorica. Penso che proverò a modificarlo.
Lord Loh.

In tal caso, aspetterò di vedere le tue modifiche prima di provare a rispondere alla tua domanda.
DaemonMaker,

Risposte:


4

A mio avviso, ci sono due domande principali qui. Il primo è, come modellare un robot? Questo viene spesso fatto con una formulazione nello spazio degli stati delle equazioni del moto . Le equazioni esatte dipendono dalla costruzione fisica del tuo robot. Sì, per modellarli con l'ingresso PWM è necessario determinare la funzione di trasferimento dai valori PWM forniti all'uscita degli attuatori. Quindi si collega quella funzione per il segnale di controllo nel proprio modello. Anche in questo caso la derivazione di questa funzione è specifica del robot. L'attuale tensione della batteria e la massa del robot sarebbero probabilmente utili ma non conosco la velocità.

La seconda domanda è, dato un modello matematico del mio robot, qual è il modo migliore per addestrare un algoritmo di apprendimento di rinforzo (RL) per controllarlo? In breve, non esiste un modo migliore. L'addestramento diretto sul robot tende a richiedere molto tempo perché il robot impiega più tempo per eseguire le prove. Le simulazioni tuttavia possono comportare politiche meno accurate perché la fisica della simulazione è necessariamente semplificata. Un altro approccio è quello di formare lo studente in simulazione per ottenere un'approssimazione ragionevole e quindi trasferire la politica risultante al robot per un ulteriore perfezionamento. Questo ovviamente fallisce se il modello non è sufficientemente preciso. Richiede anche ulteriore sviluppo.

Infine chiedi "Posso [rimodellare e riqualificare il robot] fornendo alcuni PWM di stimolo casuali e misurando la risposta?" Nel caso di RL non c'è motivo di pensare che la nuova politica ottimale sia qualcosa di simile alla precedente politica ottimale e come tale non ci sono molte ragioni per pensare che alcuni controlli casuali forniranno informazioni sufficienti per cambiare la politica in modo appropriato. Naturalmente la riqualificazione deve avvenire solo se le modifiche apportate al robot influiscono sulla formulazione del modello dello spazio degli stati e / o del modello di azione che si utilizza. Ad esempio, se il tuo modello di azione è in termini di azioni di alto livello ("go-left", "go-right", "go-forward"), cambiare le dinamiche richiede cambiare il modo in cui implementi questi movimenti, ma la politica dovrebbe comunque essere valida .


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.