<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://airwiki.deib.polimi.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MichelePellegrini</id>
		<title>AIRWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://airwiki.deib.polimi.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MichelePellegrini"/>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php/Special:Contributions/MichelePellegrini"/>
		<updated>2026-04-07T04:28:15Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.6</generator>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12170</id>
		<title>Talk:Porting su Orocos di alcuni moduli software di Lurch</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12170"/>
				<updated>2010-08-16T20:49:37Z</updated>
		
		<summary type="html">&lt;p&gt;MichelePellegrini: /* Comunicazione Brian-MotorExpert */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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&lt;br /&gt;
&lt;br /&gt;
== Cosa dobbiamo ancora fare ==&lt;br /&gt;
Ricapitolando le cose fatte fin'ora:&lt;br /&gt;
&lt;br /&gt;
- Interfaccia con la porta seriale;&lt;br /&gt;
- JoystickExpert&lt;br /&gt;
- configurazione di Eclipse per usare orocos senza gestire manualmente makefile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ora:&lt;br /&gt;
&lt;br /&gt;
- dobbiamo fare Brian&lt;br /&gt;
- bisogna mettere a posto il fatto delle dead zone&lt;br /&gt;
&lt;br /&gt;
ci conviene dividere il lavoro.. per quanto riguarda il real time credo che un po' tutti i componente diventano real time con orocos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Andrea, 26 luglio)&lt;br /&gt;
&lt;br /&gt;
== Agenti - BrianExpert ==&lt;br /&gt;
&lt;br /&gt;
Secondo me, bisogna esplicitare il fatto che un thread debba essere svolto in modo real time.&lt;br /&gt;
&lt;br /&gt;
Bisogna individuare gli agenti da rendere real time.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
(Michele, 26 luglio)&lt;br /&gt;
&lt;br /&gt;
== Deadzone e comunicazione agenti ==&lt;br /&gt;
&lt;br /&gt;
fatta la classe per la dead zone, ora bisogna solo applicarla;&lt;br /&gt;
&lt;br /&gt;
per Brian ho pensato che lo scambio di messaggi tra i vari agenti si può fare con le porte, cioè&lt;br /&gt;
&lt;br /&gt;
- uso readDataPort per ogni agente da cui arrivano messaggi &lt;br /&gt;
- uso writeDataProt per ogni agente a cui mandare messaggi&lt;br /&gt;
&lt;br /&gt;
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ì:&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;recenti&amp;quot; quindi alcuni dati bufferizzati devono essere eliminati.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Andrea, 2 agosto)&lt;br /&gt;
&lt;br /&gt;
== Brian Expert ==&lt;br /&gt;
&lt;br /&gt;
Sto traducendo l'agente BrianExpert secondo lo schema su cui si basa Orocos: configureHook(), startHook(), updateHook() ecc. Ho visto che anche loro avevano fatto qualcosa di simile per ogni agente - funzioni Initialize(), Execute() e EndWork().&lt;br /&gt;
&lt;br /&gt;
Nel loro BrianExpert.cpp ci sono anche molti rifermenti a tipi di messaggi che noi non useremo (ad esempio quelli dei sensori Hokuyo).&lt;br /&gt;
&lt;br /&gt;
Sto cercando di capire il funzionamento della funzione di configurazione addOptions().&lt;br /&gt;
&lt;br /&gt;
Ti mando per mail&lt;br /&gt;
-una parte di codice relativa ad una prova su Orocos: Brian invia una stringa a MotorExpert come dicevi tu utilizzando le porte&lt;br /&gt;
-una versione del loro BrianExpert.cpp cui ho aggiunto dei commenti su dove sono definite alcune funzioni e variabili e il loro significato.&lt;br /&gt;
&lt;br /&gt;
(Michele, 3 agosto)&lt;br /&gt;
&lt;br /&gt;
== Porte ed eventi (comunicazione tra esperti) ==&lt;br /&gt;
&lt;br /&gt;
Cosa facciamo? Una porta sola in brian e mandiamo i vari messaggi oppure una porta per ogni tipo di agente? Io propenderei per la seconda così si semplifica molto il lavoro di comprendere da chi arriva il messaggio&lt;br /&gt;
&lt;br /&gt;
Ho visto un po gli eventi e stavo pensando che:&lt;br /&gt;
&lt;br /&gt;
- gli agenti che devono inviare dati ad altri agenti possono usare le porte;&lt;br /&gt;
- quando un agente deve invece reagire a qualcosa che è accaduto possiamo usare gli eventi.&lt;br /&gt;
&lt;br /&gt;
Penso che la maggior parte degli agenti comunichi qualche dato.&lt;br /&gt;
&lt;br /&gt;
(Andrea, 4 agosto)&lt;br /&gt;
&lt;br /&gt;
== Brian ==&lt;br /&gt;
&lt;br /&gt;
Anche secondo me è bene fare in Brian una porta per ogni agente con cui comunicare.&lt;br /&gt;
Ho visto che in &amp;quot;msg.h&amp;quot; sono definiti i vari tipi di messaggio. Nel nostro caso Brian si limita a comunicare con motorExpert e odoExpert; quindi dovremo mettere in Brian due porte di comuncazione. &lt;br /&gt;
&lt;br /&gt;
Gli agenti si scambiano messaggi in formato XML.&lt;br /&gt;
&lt;br /&gt;
Ti avevo scritto della funzione addOptions(), utilizzata nell'inizializzazione di BrianExpert: tale funzione utilizza la libreria boost c++.&lt;br /&gt;
&lt;br /&gt;
Non è così semplice riuscire a separare la nostra parte da tradurre dal resto del codice. Ad esempio, in Brian.cpp ci sono queste due righe di codice relative alla famosa lista di coppie nome-valore:&lt;br /&gt;
&lt;br /&gt;
mCL[SONAR_QUALITY_DATA]=SonarExpert::bad_quality;&lt;br /&gt;
...&lt;br /&gt;
mCL[HOKUYO_DATA_QUALITY_HEADER+names[0]]=HokuyoConfig::getInstance()-&amp;gt;getMaxQuality();&lt;br /&gt;
&lt;br /&gt;
che richiederebbero di tradurre anche la classe HokuyoConfig e il sonarExpert!&lt;br /&gt;
&lt;br /&gt;
(Michele, 4 agosto)&lt;br /&gt;
&lt;br /&gt;
== COmunicazione Espertio ==&lt;br /&gt;
&lt;br /&gt;
secondo me dovremo fare:&lt;br /&gt;
&lt;br /&gt;
- porta in lettura e scrittura per comunicare con command manager (che forse è meglio rinominare in joypadExpert o qualcosa di simile)&lt;br /&gt;
- porta in scrittura per motorExpert (non vorrei dire una cavolata ma è Brian che manda messaggi a motor expert giusto?)&lt;br /&gt;
- porta in lettura (e/o scrittura) verso odoExpert&lt;br /&gt;
&lt;br /&gt;
forse noi non dobbiamo preoccuparci più di tanto di quello, forse possiamo usare la configurazione con l'XML delle proprietà per riuscire a gestire quelle cose.. oppure teniamo la configurazione come è nel codice&lt;br /&gt;
&lt;br /&gt;
Ho un grosso problema.. non riesco a far funzionare le porte aggiunte con addEvent() come invece dovrebbero funzionare, ovvero appena arriva un dato dovrebbe essere eseguito l'updateHook().. tu hai per caso provato&lt;br /&gt;
&lt;br /&gt;
(Andrea, 6 agosto)&lt;br /&gt;
&lt;br /&gt;
== Comunicazione Brian-MotorExpert ==&lt;br /&gt;
&lt;br /&gt;
Brian può anche ricevere i messaggi da motorExpert:&lt;br /&gt;
&lt;br /&gt;
//in BrianExpert.cpp&lt;br /&gt;
ExecStatus BrianExpert::Execute(){&lt;br /&gt;
   ...&lt;br /&gt;
   if(ReceiveLastMessage(MSG_FROM_MOTION_BRIEF,buffer,false)&amp;gt;0){&lt;br /&gt;
      InterfaceSetDatalex_memory((const char *)buffer,this);&lt;br /&gt;
      DBG(&amp;quot;message from motion\n&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
//in GestioneAgenti.cpp&lt;br /&gt;
void GestioneAgenti::createMapMessageAgents(){&lt;br /&gt;
   //aggiungere per ogni tipo di messaggio gli agenti che lo possono produrre&lt;br /&gt;
   ...&lt;br /&gt;
   messageAgents[MSG_FROM_MOTION_BRIEF]=vector&amp;lt;string&amp;gt;();&lt;br /&gt;
   messageAgents[MSG_FROM_MOTION_BRIEF].push_back(motor_agent);&lt;br /&gt;
&lt;br /&gt;
Guardo anch'io la addEvent e poi ti faccio sapere!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Michele, 6 agosto)&lt;/div&gt;</summary>
		<author><name>MichelePellegrini</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12168</id>
		<title>Talk:Porting su Orocos di alcuni moduli software di Lurch</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12168"/>
				<updated>2010-08-16T20:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;MichelePellegrini: /* Brian */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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&lt;br /&gt;
&lt;br /&gt;
== Cosa dobbiamo ancora fare ==&lt;br /&gt;
Ricapitolando le cose fatte fin'ora:&lt;br /&gt;
&lt;br /&gt;
- Interfaccia con la porta seriale;&lt;br /&gt;
- JoystickExpert&lt;br /&gt;
- configurazione di Eclipse per usare orocos senza gestire manualmente makefile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ora:&lt;br /&gt;
&lt;br /&gt;
- dobbiamo fare Brian&lt;br /&gt;
- bisogna mettere a posto il fatto delle dead zone&lt;br /&gt;
&lt;br /&gt;
ci conviene dividere il lavoro.. per quanto riguarda il real time credo che un po' tutti i componente diventano real time con orocos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Andrea, 26 luglio)&lt;br /&gt;
&lt;br /&gt;
== Agenti - BrianExpert ==&lt;br /&gt;
&lt;br /&gt;
Secondo me, bisogna esplicitare il fatto che un thread debba essere svolto in modo real time.&lt;br /&gt;
&lt;br /&gt;
Bisogna individuare gli agenti da rendere real time.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
(Michele, 26 luglio)&lt;br /&gt;
&lt;br /&gt;
== Deadzone e comunicazione agenti ==&lt;br /&gt;
&lt;br /&gt;
fatta la classe per la dead zone, ora bisogna solo applicarla;&lt;br /&gt;
&lt;br /&gt;
per Brian ho pensato che lo scambio di messaggi tra i vari agenti si può fare con le porte, cioè&lt;br /&gt;
&lt;br /&gt;
- uso readDataPort per ogni agente da cui arrivano messaggi &lt;br /&gt;
- uso writeDataProt per ogni agente a cui mandare messaggi&lt;br /&gt;
&lt;br /&gt;
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ì:&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;recenti&amp;quot; quindi alcuni dati bufferizzati devono essere eliminati.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Andrea, 2 agosto)&lt;br /&gt;
&lt;br /&gt;
== Brian Expert ==&lt;br /&gt;
&lt;br /&gt;
Sto traducendo l'agente BrianExpert secondo lo schema su cui si basa Orocos: configureHook(), startHook(), updateHook() ecc. Ho visto che anche loro avevano fatto qualcosa di simile per ogni agente - funzioni Initialize(), Execute() e EndWork().&lt;br /&gt;
&lt;br /&gt;
Nel loro BrianExpert.cpp ci sono anche molti rifermenti a tipi di messaggi che noi non useremo (ad esempio quelli dei sensori Hokuyo).&lt;br /&gt;
&lt;br /&gt;
Sto cercando di capire il funzionamento della funzione di configurazione addOptions().&lt;br /&gt;
&lt;br /&gt;
Ti mando per mail&lt;br /&gt;
-una parte di codice relativa ad una prova su Orocos: Brian invia una stringa a MotorExpert come dicevi tu utilizzando le porte&lt;br /&gt;
-una versione del loro BrianExpert.cpp cui ho aggiunto dei commenti su dove sono definite alcune funzioni e variabili e il loro significato.&lt;br /&gt;
&lt;br /&gt;
(Michele, 3 agosto)&lt;br /&gt;
&lt;br /&gt;
== Porte ed eventi (comunicazione tra esperti) ==&lt;br /&gt;
&lt;br /&gt;
Cosa facciamo? Una porta sola in brian e mandiamo i vari messaggi oppure una porta per ogni tipo di agente? Io propenderei per la seconda così si semplifica molto il lavoro di comprendere da chi arriva il messaggio&lt;br /&gt;
&lt;br /&gt;
Ho visto un po gli eventi e stavo pensando che:&lt;br /&gt;
&lt;br /&gt;
- gli agenti che devono inviare dati ad altri agenti possono usare le porte;&lt;br /&gt;
- quando un agente deve invece reagire a qualcosa che è accaduto possiamo usare gli eventi.&lt;br /&gt;
&lt;br /&gt;
Penso che la maggior parte degli agenti comunichi qualche dato.&lt;br /&gt;
&lt;br /&gt;
(Andrea, 4 agosto)&lt;br /&gt;
&lt;br /&gt;
== Brian ==&lt;br /&gt;
&lt;br /&gt;
Anche secondo me è bene fare in Brian una porta per ogni agente con cui comunicare.&lt;br /&gt;
Ho visto che in &amp;quot;msg.h&amp;quot; sono definiti i vari tipi di messaggio. Nel nostro caso Brian si limita a comunicare con motorExpert e odoExpert; quindi dovremo mettere in Brian due porte di comuncazione. &lt;br /&gt;
&lt;br /&gt;
Gli agenti si scambiano messaggi in formato XML.&lt;br /&gt;
&lt;br /&gt;
Ti avevo scritto della funzione addOptions(), utilizzata nell'inizializzazione di BrianExpert: tale funzione utilizza la libreria boost c++.&lt;br /&gt;
&lt;br /&gt;
Non è così semplice riuscire a separare la nostra parte da tradurre dal resto del codice. Ad esempio, in Brian.cpp ci sono queste due righe di codice relative alla famosa lista di coppie nome-valore:&lt;br /&gt;
&lt;br /&gt;
mCL[SONAR_QUALITY_DATA]=SonarExpert::bad_quality;&lt;br /&gt;
...&lt;br /&gt;
mCL[HOKUYO_DATA_QUALITY_HEADER+names[0]]=HokuyoConfig::getInstance()-&amp;gt;getMaxQuality();&lt;br /&gt;
&lt;br /&gt;
che richiederebbero di tradurre anche la classe HokuyoConfig e il sonarExpert!&lt;br /&gt;
&lt;br /&gt;
(Michele, 4 agosto)&lt;/div&gt;</summary>
		<author><name>MichelePellegrini</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12153</id>
		<title>Talk:Porting su Orocos di alcuni moduli software di Lurch</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12153"/>
				<updated>2010-08-16T20:25:33Z</updated>
		
		<summary type="html">&lt;p&gt;MichelePellegrini: /* Brian Expert */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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&lt;br /&gt;
&lt;br /&gt;
== Cosa dobbiamo ancora fare ==&lt;br /&gt;
Dopo aver fatto l'esperto del joystick e la parte che si interfaccia con la porta seriale, ora&lt;br /&gt;
&lt;br /&gt;
- dobbiamo fare Brian&lt;br /&gt;
- bisogna mettere a posto il fatto delle dead zone&lt;br /&gt;
&lt;br /&gt;
ci conviene dividere il lavoro.. per quanto riguarda il real time credo che un po' tutti i componente diventano real time con orocos&lt;br /&gt;
&lt;br /&gt;
== Agenti - BrianExpert ==&lt;br /&gt;
&lt;br /&gt;
Secondo me, bisogna esplicitare il fatto che un thread debba essere svolto in modo real time.&lt;br /&gt;
&lt;br /&gt;
Bisogna individuare gli agenti da rendere real time.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Deadzone e comunicazione agenti ==&lt;br /&gt;
&lt;br /&gt;
fatta la classe per la dead zone, ora bisogna solo applicarla;&lt;br /&gt;
&lt;br /&gt;
per Brian ho pensato che lo scambio di messaggi tra i vari agenti si può fare con le porte, cioè&lt;br /&gt;
&lt;br /&gt;
- uso readDataPort per ogni agente da cui arrivano messaggi - uso writeDataProt per ogni agente a cui mandare messaggi&lt;br /&gt;
&lt;br /&gt;
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ì:&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;recenti&amp;quot; quindi alcuni dati bufferizzati devono essere eliminati.&lt;br /&gt;
&lt;br /&gt;
== Brian Expert ==&lt;br /&gt;
&lt;br /&gt;
Sto traducendo l'agente BrianExpert secondo lo schema su cui si basa Orocos: configureHook(), startHook(), updateHook() ecc. Ho visto che anche loro avevano fatto qualcosa di simile per ogni agente - funzioni Initialize(), Execute() e EndWork().&lt;br /&gt;
&lt;br /&gt;
Nel loro BrianExpert.cpp ci sono anche molti rifermenti a tipi di messaggi che noi non useremo (ad esempio quelli dei sensori Hokuyo).&lt;br /&gt;
&lt;br /&gt;
Sto cercando di capire il funzionamento della funzione di configurazione addOptions().&lt;br /&gt;
&lt;br /&gt;
Ti mando per mail&lt;br /&gt;
-una parte di codice relativa ad una prova su Orocos: Brian invia una stringa a MotorExpert come dicevi tu utilizzando le porte&lt;br /&gt;
-una versione del loro BrianExpert.cpp cui ho aggiunto dei commenti su dove sono definite alcune funzioni e variabili e il loro significato.&lt;/div&gt;</summary>
		<author><name>MichelePellegrini</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12151</id>
		<title>Talk:Porting su Orocos di alcuni moduli software di Lurch</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12151"/>
				<updated>2010-08-16T20:21:47Z</updated>
		
		<summary type="html">&lt;p&gt;MichelePellegrini: /* Agenti - BrianExpert */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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&lt;br /&gt;
&lt;br /&gt;
== Cosa dobbiamo ancora fare ==&lt;br /&gt;
Dopo aver fatto l'esperto del joystick e la parte che si interfaccia con la porta seriale, ora&lt;br /&gt;
&lt;br /&gt;
- dobbiamo fare Brian&lt;br /&gt;
- bisogna mettere a posto il fatto delle dead zone&lt;br /&gt;
&lt;br /&gt;
ci conviene dividere il lavoro.. per quanto riguarda il real time credo che un po' tutti i componente diventano real time con orocos&lt;br /&gt;
&lt;br /&gt;
== Agenti - BrianExpert ==&lt;br /&gt;
&lt;br /&gt;
Secondo me, bisogna esplicitare il fatto che un thread debba essere svolto in modo real time.&lt;br /&gt;
&lt;br /&gt;
Bisogna individuare gli agenti da rendere real time.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Agenti - BrianExpert ==&lt;br /&gt;
&lt;br /&gt;
Secondo me, bisogna esplicitare il fatto che un thread debba essere svolto in modo real time.&lt;br /&gt;
&lt;br /&gt;
Bisogna individuare gli agenti da rendere real time.&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>MichelePellegrini</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12150</id>
		<title>Talk:Porting su Orocos di alcuni moduli software di Lurch</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Talk:Porting_su_Orocos_di_alcuni_moduli_software_di_Lurch&amp;diff=12150"/>
				<updated>2010-08-16T20:20:54Z</updated>
		
		<summary type="html">&lt;p&gt;MichelePellegrini: /* Agenti - BrianExpert */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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&lt;br /&gt;
&lt;br /&gt;
== Cosa dobbiamo ancora fare ==&lt;br /&gt;
Dopo aver fatto l'esperto del joystick e la parte che si interfaccia con la porta seriale, ora&lt;br /&gt;
&lt;br /&gt;
- dobbiamo fare Brian&lt;br /&gt;
- bisogna mettere a posto il fatto delle dead zone&lt;br /&gt;
&lt;br /&gt;
ci conviene dividere il lavoro.. per quanto riguarda il real time credo che un po' tutti i componente diventano real time con orocos&lt;br /&gt;
&lt;br /&gt;
== Aggiornamenti (Deadzone e comunicazione agenti) ==&lt;br /&gt;
&lt;br /&gt;
fatta la classe per la dead zone, ora bisogna solo applicarla;&lt;br /&gt;
&lt;br /&gt;
per Brian ho pensato che lo scambio di messaggi tra i vari agenti si può fare con le porte, cioè&lt;br /&gt;
&lt;br /&gt;
- uso readDataPort per ogni agente da cui arrivano messaggi &lt;br /&gt;
- uso writeDataProt per ogni agente a cui mandare messaggi&lt;br /&gt;
&lt;br /&gt;
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ì:&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;recenti&amp;quot; quindi alcuni dati bufferizzati devono essere eliminati.&lt;br /&gt;
&lt;br /&gt;
== Agenti - BrianExpert ==&lt;br /&gt;
&lt;br /&gt;
Secondo me, bisogna esplicitare il fatto che un thread debba essere svolto in modo real time.&lt;br /&gt;
&lt;br /&gt;
Bisogna individuare gli agenti da rendere real time.&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>MichelePellegrini</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=User:MichelePellegrini&amp;diff=11677</id>
		<title>User:MichelePellegrini</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=User:MichelePellegrini&amp;diff=11677"/>
				<updated>2010-05-11T13:44:30Z</updated>
		
		<summary type="html">&lt;p&gt;MichelePellegrini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Student&lt;br /&gt;
|category=Student&lt;br /&gt;
|firstname=Michele&lt;br /&gt;
|lastname=Pellegrini&lt;br /&gt;
|photo=Picture0001.jpg&lt;br /&gt;
|email=michelejuventus@libero.it&lt;br /&gt;
|advisor=MatteoMatteucci; SimoneCeriani;&lt;br /&gt;
|status=active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MichelePellegrini</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=File:Picture0001.jpg&amp;diff=11676</id>
		<title>File:Picture0001.jpg</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=File:Picture0001.jpg&amp;diff=11676"/>
				<updated>2010-05-11T13:44:24Z</updated>
		
		<summary type="html">&lt;p&gt;MichelePellegrini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MichelePellegrini</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=User:MichelePellegrini&amp;diff=11204</id>
		<title>User:MichelePellegrini</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=User:MichelePellegrini&amp;diff=11204"/>
				<updated>2010-04-13T12:46:47Z</updated>
		
		<summary type="html">&lt;p&gt;MichelePellegrini: New page: {{Student |category=Student |firstname=Michele |lastname=Pellegrini |email=michelejuventus@libero.it |advisor=MatteoMatteucci; SimoneCeriani;  |status=active }}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Student&lt;br /&gt;
|category=Student&lt;br /&gt;
|firstname=Michele&lt;br /&gt;
|lastname=Pellegrini&lt;br /&gt;
|email=michelejuventus@libero.it&lt;br /&gt;
|advisor=MatteoMatteucci; SimoneCeriani; &lt;br /&gt;
|status=active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MichelePellegrini</name></author>	</entry>

	</feed>