<font><font face="verdana,sans-serif"><br></font></font><br><div class="gmail_quote">2012/11/12 Federico Ravasio <span dir="ltr"><<a href="mailto:ravasio.federico@gmail.com" target="_blank">ravasio.federico@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    <div><div class="im">
        <blockquote type="cite"><div><div><font color="#000000"><span style="font-size:15px;background-color:rgba(255,255,255,0)">ho avuto modo di pensarci e ho trovato che sarebbe ottimo poter</span></font></div><div><font color="#000000"><span style="font-size:15px;background-color:rgba(255,255,255,0)">incapsulare il più possibile il codice in modo che l' "intelligenza</span></font></div>

<div><font color="#000000"><span style="font-size:15px;background-color:rgba(255,255,255,0)">artificiale" si trovi a dover trattare con variabili tipo :</span></font></div></div></blockquote></div><div>Se vuoi creare una sorta di configurazione allora secondo me è meglio creare una struct contenente tutti i parametri e passare quella alla sezione di programma principale. ;)</div>

<div><div class="im"><blockquote type="cite"><div><font color="#000000"><span style="font-size:15px;background-color:rgba(255,255,255,0)">e vorrei strutturare la gestione dell'hardwre a plugins:</span></font></div></blockquote>

</div><div>Ottima idea. Se ho capito bene, vuoi fornire una serie di funzioni i cui parametri e valore di uscita sono fissi, ma vuoi che il loro comportamento sia implementabile a piacimento?</div></div><div><br></div><div>

Butto lì un'altra idea: siccome mi sembra che il "comportamento" del robottino sia abbastanza influenzato da eventi esterni, oltre che da eventi o comandi interni, sarebbe carino strutturare un sistema in cui si possono aggiungere a piacimento una sorta di "event handler", che scattano quando particolari condizioni si verificano.</div>

<div>Ovviamente più si cerca di costruire un sistema generico e più livelli di astrazione vanno introdotti: le performance *potrebbero* risentirne a lungo andare, quindi se dici che i tempi di risposta e le performance sono fondamentali, il design del software ne risentirà.</div>

</div>
<br><br>
--<br>
Sito BgLUG: <a href="http://www.bglug.it" target="_blank">http://www.bglug.it</a><br>
Mailing list: <a href="http://lists.linux.it/listinfo/bglug" target="_blank">http://lists.linux.it/listinfo/bglug</a><br></blockquote></div><br><br clear="all"><div>Potreste valutare anche l'utilizzo di ROS [1] o meglio OROCOS [2], framework OpenSource implementati proprio per la modularità del codice per la programmazione di ROBOT. In questo caso potreste avvalervi di funzioni che implementano già la maggior parte degli algoritmi noti per la gestione di un robot: dalla generazione di RoadMap per basi mobili alla movimentazione di bracci e quant'altro.</div>

<div><br></div><div>Inoltre funzionano al meglio su Linux (Ubuntu mi pare sia consigliato).</div><div><br></div><div>Purtroppo al momento non ne so ancora granchè, ma potreste trovare appunti interessanti e punti di partenza a questo indirizzo dove sono pubblicate le slide del corso di Robotica dell'UNIBG che sto seguendo [3].</div>

<div><br></div><div>[1]. <a href="http://www.ros.org">www.ros.org</a></div><div>[2]. <a href="http://www.orocos.org">www.orocos.org</a></div><div>[3]. <a href="http://goo.gl/UIr0K">http://goo.gl/UIr0K</a></div><div><br></div>

<div><br></div><div><br></div><div><br></div><div><br></div>-- <br><span style="border-collapse:collapse;color:rgb(0,128,0);font-family:Verdana"><b><div><span style="font-weight:normal"><b><font size="1">Prima di stampare, pensa all'ambiente ** Think about the environment before printing</font></b></span></div>

</b></span><br>