Talk:Porting su Orocos di alcuni moduli software di Lurch

From AIRWiki
Revision as of 10:57, 2 August 2010 by AndreaRomanoni (Talk | contribs) (Aggiornamenti (Deadzone e comunicazione agenti): new section)

Jump to: navigation, search

Dobbiamo sistemare la deadzone per l'esperto del joystick, poi dobbiamo decidere come passare a brian le coppie nome valore per il controllore fuzzy. Potremmo usare un dataflow per questo, invece un insieme di porte per ogni esperto con il quale deve dialogare brian

Aggiornamenti (Deadzone e comunicazione agenti)

fatta la classe per la dead zone, ora bisogna solo applicarla;

per Brian ho pensato che lo scambio di messaggi tra i vari agenti si può fare con le porte, cioè

uso readDataPort per ogni agente da cui arrivano messaggi uso writeDataProt per ogni agente a cui mandare messaggi

quindi ho creato la classe commandManagerFake per usarla per sperimentare la modifica che riguarda la comunicazione tra command manager e brian. Infatti ora facciamo leggere a brian la velocità del robot solo tramite un metodo, per fare invece una cosa più generale conviene fare anche questo con le porte, magari fare così:

CommandManager task periodico che mette sulla porta (magari bufferizzata) il rho e teta che legge dalla seriale; Brian legge dalla porta quando ne ha bisogno (forse con la porta bufferizzata è più un casino perchè bisogna fare in modo che brian legga dati "recenti" quindi alcuni dati bufferizzati devono essere eliminati.

In allegato ti mando tutto, in teoria dovrei aver solo modificato la deadzone il commandmanager e aggiunto dei commenti

Aggiornamenti (Deadzone e comunicazione agenti)

fatta la classe per la dead zone, ora bisogna solo applicarla;

per Brian ho pensato che lo scambio di messaggi tra i vari agenti si può fare con le porte, cioè

uso readDataPort per ogni agente da cui arrivano messaggi uso writeDataProt per ogni agente a cui mandare messaggi

quindi ho creato la classe commandManagerFake per usarla per sperimentare la modifica che riguarda la comunicazione tra command manager e brian. Infatti ora facciamo leggere a brian la velocità del robot solo tramite un metodo, per fare invece una cosa più generale conviene fare anche questo con le porte, magari fare così:

CommandManager task periodico che mette sulla porta (magari bufferizzata) il rho e teta che legge dalla seriale; Brian legge dalla porta quando ne ha bisogno (forse con la porta bufferizzata è più un casino perchè bisogna fare in modo che brian legga dati "recenti" quindi alcuni dati bufferizzati devono essere eliminati.