Talk:Porting su Orocos di alcuni moduli software di Lurch
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
Cosa dobbiamo ancora fare
Dopo aver fatto l'esperto del joystick e la parte che si interfaccia con la porta seriale, ora
- dobbiamo fare Brian - bisogna mettere a posto il fatto delle dead zone
ci conviene dividere il lavoro.. per quanto riguarda il real time credo che un po' tutti i componente diventano real time con orocos
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.
Agenti - BrianExpert
Secondo me, bisogna esplicitare il fatto che un thread debba essere svolto in modo real time.
Bisogna individuare gli agenti da rendere real time.
Sto ripassando il codice relativo a Brian e in particolare la lista di coppie nome-valore in input al controllore fuzzy e la lista con le variabili di uscita.