<?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=DavideTateo</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=DavideTateo"/>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php/Special:Contributions/DavideTateo"/>
		<updated>2026-04-05T18:09:05Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.6</generator>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18406</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18406"/>
				<updated>2017-06-08T16:13:32Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Clonare un repository con submodules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Concetti Fondamentali =&lt;br /&gt;
&lt;br /&gt;
Git è un [http://it.wikipedia.org/wiki/Controllo_versione sistema di controllo versione] distribuito.&lt;br /&gt;
Questo vuol dire che ogni copia locale è un repository a se stante. Quindi a differenza di SVN la gestione dei repository è più complessa, con il vantaggio di una maggiore versatilità.&lt;br /&gt;
Avere un repository locale significa che è possibile committare in locale il proprio lavoro. Una volta committato in locale il proprio lavoro si può sincronizzare il repository locale con quello remoto. Si chiama pull l'operazione che aggiorna il repository locale con quello remoto. Si chiama push l'operazione che invia i commit locali sul repository remoto. &lt;br /&gt;
Per poter eseguire correttamente un push, è necessario che l'ultimo commit locale e l'ultimo commit remoto siano lo stesso, il che significa che per effettuare un push, è necessario, a meno di non aver il repository locale già aggiornato, effettuare un pull.&lt;br /&gt;
&lt;br /&gt;
Il repository locale mantiene la storia locale dei commit. Tuttavia è possibile effettuare modifiche sul repository locale. Per aggiungere a un commit modifiche locali e nuovi file, è necessario aggiungere i file (sia quelli nuovi, sia quelli modificati) all'indice del repository. Ogni volta che si effettua un commit verranno considerati solo i file presenti nell'indice, tutte le altre modifiche locali non verranno aggiunte al commit, ma resteranno nel repository.&lt;br /&gt;
&lt;br /&gt;
Può capitare, se più persone lavorano a un progetto, che la copia sul repository remoto abbia subito modifiche rispetto all'ultimo commit del repository locale, ovvero che le due versioni (locale e remoto) abbiano un antenato in comune, ma poi si siano divise. In questo caso è necessario effettuare un merge. Se i due rami non hanno modifiche conflittuali, il merge sarà automatico. Se i due rami presentano delle modifiche concorrrenti, o modifiche che git non è in grado di risolvere (ad esempio cambio intentazione e spaziatura differenti) si dovrà procedere a un merge manuale.&lt;br /&gt;
In caso di versioni discordanti è necessario ricordarsi di procedere nelseguente modo:&lt;br /&gt;
* effettuare il commit del proprio lavoro&lt;br /&gt;
* effettuare il pull del repository remoto&lt;br /&gt;
* effettuare il merge&lt;br /&gt;
* effettuare il push del repository&lt;br /&gt;
&lt;br /&gt;
Che sia un merge automatico o un merge manuale, l'operazione si conclude sempre con un commit.&lt;br /&gt;
&lt;br /&gt;
= Guida base git=&lt;br /&gt;
&lt;br /&gt;
Segue una piccola guida minimale per utilizzare git in maniera semplice.&lt;br /&gt;
per imparare a usarlo in maniera avanzata consigliamo di cercare tutorial su internet.&lt;br /&gt;
Questa guida non ha la pretesa quindi di spiegare l'effettivo funzionamento, ma solo di riuscire a utilizzare il repository in maniera base.&lt;br /&gt;
&lt;br /&gt;
== creazione repository git ==&lt;br /&gt;
&lt;br /&gt;
una volta creato il repository sul vostro server, o su un provider esterno (github, assembla, bitbucket)&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name&lt;br /&gt;
&lt;br /&gt;
Il repository git ufficiale dell'airlab è [https://github.com/AIRLab-POLIMI  qui], potete chiedere al professor [[User:AndreaBonarini | Bonarini]] di farvi creare un repository per il vostro progetto.&lt;br /&gt;
&lt;br /&gt;
== Impostazioni globali ==&lt;br /&gt;
Prima di fare il primo commit è importante impostare email e nome utente nel seguente modo:&lt;br /&gt;
&lt;br /&gt;
git config --global user.email ''email''&lt;br /&gt;
&lt;br /&gt;
git config --global user.name ''username''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''email'' è la vostra e-mail&lt;br /&gt;
''username'' è il vostro username&lt;br /&gt;
&lt;br /&gt;
E' importante avere impostato correttamente questi campi, anche perchè sono utilizzati, specialmente la mail, dalle interfacce grafiche dei servizi di hosting (vedasi github) per riconoscere gli utenti.&lt;br /&gt;
&lt;br /&gt;
== primo commit ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
&lt;br /&gt;
crei dei file da committare&lt;br /&gt;
&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push origin master&lt;br /&gt;
&lt;br /&gt;
== primo pull ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
git pull origin master&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== successivi commit ==&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
== successivi pull ==&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Guida ai submodules =&lt;br /&gt;
&lt;br /&gt;
== Clonare un repository con submodules ==&lt;br /&gt;
&lt;br /&gt;
per clonare un repository che contiene submodules,usare il comando&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name --recursive&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
in alternativa, se il clone è stato effettuato senza il flag --recursive è possibile usare&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
git submodule init&lt;br /&gt;
&lt;br /&gt;
git submodule update&lt;br /&gt;
&lt;br /&gt;
== aggiornare i submodule ==&lt;br /&gt;
&lt;br /&gt;
Per aggiornare i submodule è possibile utilizzare il comando:&lt;br /&gt;
&lt;br /&gt;
git submodule update --remote&lt;br /&gt;
&lt;br /&gt;
= Comandi utili =&lt;br /&gt;
&lt;br /&gt;
* status&lt;br /&gt;
* pull&lt;br /&gt;
* push&lt;br /&gt;
* commit&lt;br /&gt;
* add&lt;br /&gt;
* rm&lt;br /&gt;
* stash&lt;br /&gt;
* checkout &lt;br /&gt;
* revert&lt;br /&gt;
* reset&lt;br /&gt;
* rebase&lt;br /&gt;
* mergetool&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18405</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18405"/>
				<updated>2017-06-08T16:13:06Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* aggiornare i submodule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Concetti Fondamentali =&lt;br /&gt;
&lt;br /&gt;
Git è un [http://it.wikipedia.org/wiki/Controllo_versione sistema di controllo versione] distribuito.&lt;br /&gt;
Questo vuol dire che ogni copia locale è un repository a se stante. Quindi a differenza di SVN la gestione dei repository è più complessa, con il vantaggio di una maggiore versatilità.&lt;br /&gt;
Avere un repository locale significa che è possibile committare in locale il proprio lavoro. Una volta committato in locale il proprio lavoro si può sincronizzare il repository locale con quello remoto. Si chiama pull l'operazione che aggiorna il repository locale con quello remoto. Si chiama push l'operazione che invia i commit locali sul repository remoto. &lt;br /&gt;
Per poter eseguire correttamente un push, è necessario che l'ultimo commit locale e l'ultimo commit remoto siano lo stesso, il che significa che per effettuare un push, è necessario, a meno di non aver il repository locale già aggiornato, effettuare un pull.&lt;br /&gt;
&lt;br /&gt;
Il repository locale mantiene la storia locale dei commit. Tuttavia è possibile effettuare modifiche sul repository locale. Per aggiungere a un commit modifiche locali e nuovi file, è necessario aggiungere i file (sia quelli nuovi, sia quelli modificati) all'indice del repository. Ogni volta che si effettua un commit verranno considerati solo i file presenti nell'indice, tutte le altre modifiche locali non verranno aggiunte al commit, ma resteranno nel repository.&lt;br /&gt;
&lt;br /&gt;
Può capitare, se più persone lavorano a un progetto, che la copia sul repository remoto abbia subito modifiche rispetto all'ultimo commit del repository locale, ovvero che le due versioni (locale e remoto) abbiano un antenato in comune, ma poi si siano divise. In questo caso è necessario effettuare un merge. Se i due rami non hanno modifiche conflittuali, il merge sarà automatico. Se i due rami presentano delle modifiche concorrrenti, o modifiche che git non è in grado di risolvere (ad esempio cambio intentazione e spaziatura differenti) si dovrà procedere a un merge manuale.&lt;br /&gt;
In caso di versioni discordanti è necessario ricordarsi di procedere nelseguente modo:&lt;br /&gt;
* effettuare il commit del proprio lavoro&lt;br /&gt;
* effettuare il pull del repository remoto&lt;br /&gt;
* effettuare il merge&lt;br /&gt;
* effettuare il push del repository&lt;br /&gt;
&lt;br /&gt;
Che sia un merge automatico o un merge manuale, l'operazione si conclude sempre con un commit.&lt;br /&gt;
&lt;br /&gt;
= Guida base git=&lt;br /&gt;
&lt;br /&gt;
Segue una piccola guida minimale per utilizzare git in maniera semplice.&lt;br /&gt;
per imparare a usarlo in maniera avanzata consigliamo di cercare tutorial su internet.&lt;br /&gt;
Questa guida non ha la pretesa quindi di spiegare l'effettivo funzionamento, ma solo di riuscire a utilizzare il repository in maniera base.&lt;br /&gt;
&lt;br /&gt;
== creazione repository git ==&lt;br /&gt;
&lt;br /&gt;
una volta creato il repository sul vostro server, o su un provider esterno (github, assembla, bitbucket)&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name&lt;br /&gt;
&lt;br /&gt;
Il repository git ufficiale dell'airlab è [https://github.com/AIRLab-POLIMI  qui], potete chiedere al professor [[User:AndreaBonarini | Bonarini]] di farvi creare un repository per il vostro progetto.&lt;br /&gt;
&lt;br /&gt;
== Impostazioni globali ==&lt;br /&gt;
Prima di fare il primo commit è importante impostare email e nome utente nel seguente modo:&lt;br /&gt;
&lt;br /&gt;
git config --global user.email ''email''&lt;br /&gt;
&lt;br /&gt;
git config --global user.name ''username''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''email'' è la vostra e-mail&lt;br /&gt;
''username'' è il vostro username&lt;br /&gt;
&lt;br /&gt;
E' importante avere impostato correttamente questi campi, anche perchè sono utilizzati, specialmente la mail, dalle interfacce grafiche dei servizi di hosting (vedasi github) per riconoscere gli utenti.&lt;br /&gt;
&lt;br /&gt;
== primo commit ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
&lt;br /&gt;
crei dei file da committare&lt;br /&gt;
&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push origin master&lt;br /&gt;
&lt;br /&gt;
== primo pull ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
git pull origin master&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== successivi commit ==&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
== successivi pull ==&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Guida ai submodules =&lt;br /&gt;
&lt;br /&gt;
== Clonare un repository con submodules ==&lt;br /&gt;
&lt;br /&gt;
per clonare un repository che contiene submodules,usare il comando&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name --recursive&lt;br /&gt;
&lt;br /&gt;
in alternativa, se il clone è stato effettuato senza il flag --recursive è possibile usare&lt;br /&gt;
&lt;br /&gt;
git submodule init&lt;br /&gt;
git submodule update&lt;br /&gt;
&lt;br /&gt;
== aggiornare i submodule ==&lt;br /&gt;
&lt;br /&gt;
Per aggiornare i submodule è possibile utilizzare il comando:&lt;br /&gt;
&lt;br /&gt;
git submodule update --remote&lt;br /&gt;
&lt;br /&gt;
= Comandi utili =&lt;br /&gt;
&lt;br /&gt;
* status&lt;br /&gt;
* pull&lt;br /&gt;
* push&lt;br /&gt;
* commit&lt;br /&gt;
* add&lt;br /&gt;
* rm&lt;br /&gt;
* stash&lt;br /&gt;
* checkout &lt;br /&gt;
* revert&lt;br /&gt;
* reset&lt;br /&gt;
* rebase&lt;br /&gt;
* mergetool&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18404</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18404"/>
				<updated>2017-06-08T16:10:37Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Concetti Fondamentali =&lt;br /&gt;
&lt;br /&gt;
Git è un [http://it.wikipedia.org/wiki/Controllo_versione sistema di controllo versione] distribuito.&lt;br /&gt;
Questo vuol dire che ogni copia locale è un repository a se stante. Quindi a differenza di SVN la gestione dei repository è più complessa, con il vantaggio di una maggiore versatilità.&lt;br /&gt;
Avere un repository locale significa che è possibile committare in locale il proprio lavoro. Una volta committato in locale il proprio lavoro si può sincronizzare il repository locale con quello remoto. Si chiama pull l'operazione che aggiorna il repository locale con quello remoto. Si chiama push l'operazione che invia i commit locali sul repository remoto. &lt;br /&gt;
Per poter eseguire correttamente un push, è necessario che l'ultimo commit locale e l'ultimo commit remoto siano lo stesso, il che significa che per effettuare un push, è necessario, a meno di non aver il repository locale già aggiornato, effettuare un pull.&lt;br /&gt;
&lt;br /&gt;
Il repository locale mantiene la storia locale dei commit. Tuttavia è possibile effettuare modifiche sul repository locale. Per aggiungere a un commit modifiche locali e nuovi file, è necessario aggiungere i file (sia quelli nuovi, sia quelli modificati) all'indice del repository. Ogni volta che si effettua un commit verranno considerati solo i file presenti nell'indice, tutte le altre modifiche locali non verranno aggiunte al commit, ma resteranno nel repository.&lt;br /&gt;
&lt;br /&gt;
Può capitare, se più persone lavorano a un progetto, che la copia sul repository remoto abbia subito modifiche rispetto all'ultimo commit del repository locale, ovvero che le due versioni (locale e remoto) abbiano un antenato in comune, ma poi si siano divise. In questo caso è necessario effettuare un merge. Se i due rami non hanno modifiche conflittuali, il merge sarà automatico. Se i due rami presentano delle modifiche concorrrenti, o modifiche che git non è in grado di risolvere (ad esempio cambio intentazione e spaziatura differenti) si dovrà procedere a un merge manuale.&lt;br /&gt;
In caso di versioni discordanti è necessario ricordarsi di procedere nelseguente modo:&lt;br /&gt;
* effettuare il commit del proprio lavoro&lt;br /&gt;
* effettuare il pull del repository remoto&lt;br /&gt;
* effettuare il merge&lt;br /&gt;
* effettuare il push del repository&lt;br /&gt;
&lt;br /&gt;
Che sia un merge automatico o un merge manuale, l'operazione si conclude sempre con un commit.&lt;br /&gt;
&lt;br /&gt;
= Guida base git=&lt;br /&gt;
&lt;br /&gt;
Segue una piccola guida minimale per utilizzare git in maniera semplice.&lt;br /&gt;
per imparare a usarlo in maniera avanzata consigliamo di cercare tutorial su internet.&lt;br /&gt;
Questa guida non ha la pretesa quindi di spiegare l'effettivo funzionamento, ma solo di riuscire a utilizzare il repository in maniera base.&lt;br /&gt;
&lt;br /&gt;
== creazione repository git ==&lt;br /&gt;
&lt;br /&gt;
una volta creato il repository sul vostro server, o su un provider esterno (github, assembla, bitbucket)&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name&lt;br /&gt;
&lt;br /&gt;
Il repository git ufficiale dell'airlab è [https://github.com/AIRLab-POLIMI  qui], potete chiedere al professor [[User:AndreaBonarini | Bonarini]] di farvi creare un repository per il vostro progetto.&lt;br /&gt;
&lt;br /&gt;
== Impostazioni globali ==&lt;br /&gt;
Prima di fare il primo commit è importante impostare email e nome utente nel seguente modo:&lt;br /&gt;
&lt;br /&gt;
git config --global user.email ''email''&lt;br /&gt;
&lt;br /&gt;
git config --global user.name ''username''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''email'' è la vostra e-mail&lt;br /&gt;
''username'' è il vostro username&lt;br /&gt;
&lt;br /&gt;
E' importante avere impostato correttamente questi campi, anche perchè sono utilizzati, specialmente la mail, dalle interfacce grafiche dei servizi di hosting (vedasi github) per riconoscere gli utenti.&lt;br /&gt;
&lt;br /&gt;
== primo commit ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
&lt;br /&gt;
crei dei file da committare&lt;br /&gt;
&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push origin master&lt;br /&gt;
&lt;br /&gt;
== primo pull ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
git pull origin master&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== successivi commit ==&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
== successivi pull ==&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Guida ai submodules =&lt;br /&gt;
&lt;br /&gt;
== Clonare un repository con submodules ==&lt;br /&gt;
&lt;br /&gt;
per clonare un repository che contiene submodules,usare il comando&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name --recursive&lt;br /&gt;
&lt;br /&gt;
in alternativa, se il clone è stato effettuato senza il flag --recursive è possibile usare&lt;br /&gt;
&lt;br /&gt;
git submodule init&lt;br /&gt;
git submodule update&lt;br /&gt;
&lt;br /&gt;
== aggiornare i submodule ==&lt;br /&gt;
&lt;br /&gt;
Per aggiornare i submodule è possibile utilizzare il comando:&lt;br /&gt;
git submodule update --remote&lt;br /&gt;
&lt;br /&gt;
= Comandi utili =&lt;br /&gt;
&lt;br /&gt;
* status&lt;br /&gt;
* pull&lt;br /&gt;
* push&lt;br /&gt;
* commit&lt;br /&gt;
* add&lt;br /&gt;
* rm&lt;br /&gt;
* stash&lt;br /&gt;
* checkout &lt;br /&gt;
* revert&lt;br /&gt;
* reset&lt;br /&gt;
* rebase&lt;br /&gt;
* mergetool&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18403</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18403"/>
				<updated>2017-06-08T16:10:10Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Comandi utili */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Concetti Fondamentali =&lt;br /&gt;
&lt;br /&gt;
Git è un [http://it.wikipedia.org/wiki/Controllo_versione sistema di controllo versione] distribuito.&lt;br /&gt;
Questo vuol dire che ogni copia locale è un repository a se stante. Quindi a differenza di SVN la gestione dei repository è più complessa, con il vantaggio di una maggiore versatilità.&lt;br /&gt;
Avere un repository locale significa che è possibile committare in locale il proprio lavoro. Una volta committato in locale il proprio lavoro si può sincronizzare il repository locale con quello remoto. Si chiama pull l'operazione che aggiorna il repository locale con quello remoto. Si chiama push l'operazione che invia i commit locali sul repository remoto. &lt;br /&gt;
Per poter eseguire correttamente un push, è necessario che l'ultimo commit locale e l'ultimo commit remoto siano lo stesso, il che significa che per effettuare un push, è necessario, a meno di non aver il repository locale già aggiornato, effettuare un pull.&lt;br /&gt;
&lt;br /&gt;
Il repository locale mantiene la storia locale dei commit. Tuttavia è possibile effettuare modifiche sul repository locale. Per aggiungere a un commit modifiche locali e nuovi file, è necessario aggiungere i file (sia quelli nuovi, sia quelli modificati) all'indice del repository. Ogni volta che si effettua un commit verranno considerati solo i file presenti nell'indice, tutte le altre modifiche locali non verranno aggiunte al commit, ma resteranno nel repository.&lt;br /&gt;
&lt;br /&gt;
Può capitare, se più persone lavorano a un progetto, che la copia sul repository remoto abbia subito modifiche rispetto all'ultimo commit del repository locale, ovvero che le due versioni (locale e remoto) abbiano un antenato in comune, ma poi si siano divise. In questo caso è necessario effettuare un merge. Se i due rami non hanno modifiche conflittuali, il merge sarà automatico. Se i due rami presentano delle modifiche concorrrenti, o modifiche che git non è in grado di risolvere (ad esempio cambio intentazione e spaziatura differenti) si dovrà procedere a un merge manuale.&lt;br /&gt;
In caso di versioni discordanti è necessario ricordarsi di procedere nelseguente modo:&lt;br /&gt;
* effettuare il commit del proprio lavoro&lt;br /&gt;
* effettuare il pull del repository remoto&lt;br /&gt;
* effettuare il merge&lt;br /&gt;
* effettuare il push del repository&lt;br /&gt;
&lt;br /&gt;
Che sia un merge automatico o un merge manuale, l'operazione si conclude sempre con un commit.&lt;br /&gt;
&lt;br /&gt;
= Guida base git=&lt;br /&gt;
&lt;br /&gt;
Segue una piccola guida minimale per utilizzare git in maniera semplice.&lt;br /&gt;
per imparare a usarlo in maniera avanzata consigliamo di cercare tutorial su internet.&lt;br /&gt;
Questa guida non ha la pretesa quindi di spiegare l'effettivo funzionamento, ma solo di riuscire a utilizzare il repository in maniera base.&lt;br /&gt;
&lt;br /&gt;
== creazione repository git ==&lt;br /&gt;
&lt;br /&gt;
una volta creato il repository sul vostro server, o su un provider esterno (github, assembla, bitbucket)&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name&lt;br /&gt;
&lt;br /&gt;
Il repository git ufficiale dell'airlab è [https://github.com/AIRLab-POLIMI  qui], potete chiedere al professor [[User:AndreaBonarini | Bonarini]] di farvi creare un repository per il vostro progetto.&lt;br /&gt;
&lt;br /&gt;
== Impostazioni globali ==&lt;br /&gt;
Prima di fare il primo commit è importante impostare email e nome utente nel seguente modo:&lt;br /&gt;
&lt;br /&gt;
git config --global user.email ''email''&lt;br /&gt;
&lt;br /&gt;
git config --global user.name ''username''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''email'' è la vostra e-mail&lt;br /&gt;
''username'' è il vostro username&lt;br /&gt;
&lt;br /&gt;
E' importante avere impostato correttamente questi campi, anche perchè sono utilizzati, specialmente la mail, dalle interfacce grafiche dei servizi di hosting (vedasi github) per riconoscere gli utenti.&lt;br /&gt;
&lt;br /&gt;
== primo commit ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
&lt;br /&gt;
crei dei file da committare&lt;br /&gt;
&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push origin master&lt;br /&gt;
&lt;br /&gt;
== primo pull ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
git pull origin master&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== successivi commit ==&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
== successivi pull ==&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
= Comandi utili =&lt;br /&gt;
&lt;br /&gt;
* status&lt;br /&gt;
* pull&lt;br /&gt;
* push&lt;br /&gt;
* commit&lt;br /&gt;
* add&lt;br /&gt;
* rm&lt;br /&gt;
* stash&lt;br /&gt;
* checkout &lt;br /&gt;
* revert&lt;br /&gt;
* reset&lt;br /&gt;
* rebase&lt;br /&gt;
* mergetool&lt;br /&gt;
&lt;br /&gt;
= Guida ai submodules =&lt;br /&gt;
&lt;br /&gt;
== Clonare un repository con submodules ==&lt;br /&gt;
&lt;br /&gt;
per clonare un repository che contiene submodules,usare il comando&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name --recursive&lt;br /&gt;
&lt;br /&gt;
in alternativa, se il clone è stato effettuato senza il flag --recursive è possibile usare&lt;br /&gt;
&lt;br /&gt;
git submodule init&lt;br /&gt;
git submodule update&lt;br /&gt;
&lt;br /&gt;
== aggiornare i submodule ==&lt;br /&gt;
&lt;br /&gt;
Per aggiornare i submodule è possibile utilizzare il comando:&lt;br /&gt;
git submodule update --remote&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18402</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18402"/>
				<updated>2017-06-08T16:08:35Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Comandi utili */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Concetti Fondamentali =&lt;br /&gt;
&lt;br /&gt;
Git è un [http://it.wikipedia.org/wiki/Controllo_versione sistema di controllo versione] distribuito.&lt;br /&gt;
Questo vuol dire che ogni copia locale è un repository a se stante. Quindi a differenza di SVN la gestione dei repository è più complessa, con il vantaggio di una maggiore versatilità.&lt;br /&gt;
Avere un repository locale significa che è possibile committare in locale il proprio lavoro. Una volta committato in locale il proprio lavoro si può sincronizzare il repository locale con quello remoto. Si chiama pull l'operazione che aggiorna il repository locale con quello remoto. Si chiama push l'operazione che invia i commit locali sul repository remoto. &lt;br /&gt;
Per poter eseguire correttamente un push, è necessario che l'ultimo commit locale e l'ultimo commit remoto siano lo stesso, il che significa che per effettuare un push, è necessario, a meno di non aver il repository locale già aggiornato, effettuare un pull.&lt;br /&gt;
&lt;br /&gt;
Il repository locale mantiene la storia locale dei commit. Tuttavia è possibile effettuare modifiche sul repository locale. Per aggiungere a un commit modifiche locali e nuovi file, è necessario aggiungere i file (sia quelli nuovi, sia quelli modificati) all'indice del repository. Ogni volta che si effettua un commit verranno considerati solo i file presenti nell'indice, tutte le altre modifiche locali non verranno aggiunte al commit, ma resteranno nel repository.&lt;br /&gt;
&lt;br /&gt;
Può capitare, se più persone lavorano a un progetto, che la copia sul repository remoto abbia subito modifiche rispetto all'ultimo commit del repository locale, ovvero che le due versioni (locale e remoto) abbiano un antenato in comune, ma poi si siano divise. In questo caso è necessario effettuare un merge. Se i due rami non hanno modifiche conflittuali, il merge sarà automatico. Se i due rami presentano delle modifiche concorrrenti, o modifiche che git non è in grado di risolvere (ad esempio cambio intentazione e spaziatura differenti) si dovrà procedere a un merge manuale.&lt;br /&gt;
In caso di versioni discordanti è necessario ricordarsi di procedere nelseguente modo:&lt;br /&gt;
* effettuare il commit del proprio lavoro&lt;br /&gt;
* effettuare il pull del repository remoto&lt;br /&gt;
* effettuare il merge&lt;br /&gt;
* effettuare il push del repository&lt;br /&gt;
&lt;br /&gt;
Che sia un merge automatico o un merge manuale, l'operazione si conclude sempre con un commit.&lt;br /&gt;
&lt;br /&gt;
= Guida base git=&lt;br /&gt;
&lt;br /&gt;
Segue una piccola guida minimale per utilizzare git in maniera semplice.&lt;br /&gt;
per imparare a usarlo in maniera avanzata consigliamo di cercare tutorial su internet.&lt;br /&gt;
Questa guida non ha la pretesa quindi di spiegare l'effettivo funzionamento, ma solo di riuscire a utilizzare il repository in maniera base.&lt;br /&gt;
&lt;br /&gt;
== creazione repository git ==&lt;br /&gt;
&lt;br /&gt;
una volta creato il repository sul vostro server, o su un provider esterno (github, assembla, bitbucket)&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name&lt;br /&gt;
&lt;br /&gt;
Il repository git ufficiale dell'airlab è [https://github.com/AIRLab-POLIMI  qui], potete chiedere al professor [[User:AndreaBonarini | Bonarini]] di farvi creare un repository per il vostro progetto.&lt;br /&gt;
&lt;br /&gt;
== Impostazioni globali ==&lt;br /&gt;
Prima di fare il primo commit è importante impostare email e nome utente nel seguente modo:&lt;br /&gt;
&lt;br /&gt;
git config --global user.email ''email''&lt;br /&gt;
&lt;br /&gt;
git config --global user.name ''username''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''email'' è la vostra e-mail&lt;br /&gt;
''username'' è il vostro username&lt;br /&gt;
&lt;br /&gt;
E' importante avere impostato correttamente questi campi, anche perchè sono utilizzati, specialmente la mail, dalle interfacce grafiche dei servizi di hosting (vedasi github) per riconoscere gli utenti.&lt;br /&gt;
&lt;br /&gt;
== primo commit ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
&lt;br /&gt;
crei dei file da committare&lt;br /&gt;
&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push origin master&lt;br /&gt;
&lt;br /&gt;
== primo pull ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
git pull origin master&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== successivi commit ==&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
== successivi pull ==&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
= Comandi utili =&lt;br /&gt;
&lt;br /&gt;
- status&lt;br /&gt;
- pull&lt;br /&gt;
- push&lt;br /&gt;
- commit&lt;br /&gt;
- add&lt;br /&gt;
- rm&lt;br /&gt;
- stash&lt;br /&gt;
- checkout &lt;br /&gt;
- revert&lt;br /&gt;
- reset&lt;br /&gt;
- rebase&lt;br /&gt;
- mergetool&lt;br /&gt;
&lt;br /&gt;
= Guida ai submodules =&lt;br /&gt;
&lt;br /&gt;
== Clonare un repository con submodules ==&lt;br /&gt;
&lt;br /&gt;
per clonare un repository che contiene submodules,usare il comando&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name --recursive&lt;br /&gt;
&lt;br /&gt;
in alternativa, se il clone è stato effettuato senza il flag --recursive è possibile usare&lt;br /&gt;
&lt;br /&gt;
git submodule init&lt;br /&gt;
git submodule update&lt;br /&gt;
&lt;br /&gt;
== aggiornare i submodule ==&lt;br /&gt;
&lt;br /&gt;
Per aggiornare i submodule è possibile utilizzare il comando:&lt;br /&gt;
git submodule update --remote&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18401</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Git&amp;diff=18401"/>
				<updated>2017-06-08T16:07:03Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Concetti Fondamentali =&lt;br /&gt;
&lt;br /&gt;
Git è un [http://it.wikipedia.org/wiki/Controllo_versione sistema di controllo versione] distribuito.&lt;br /&gt;
Questo vuol dire che ogni copia locale è un repository a se stante. Quindi a differenza di SVN la gestione dei repository è più complessa, con il vantaggio di una maggiore versatilità.&lt;br /&gt;
Avere un repository locale significa che è possibile committare in locale il proprio lavoro. Una volta committato in locale il proprio lavoro si può sincronizzare il repository locale con quello remoto. Si chiama pull l'operazione che aggiorna il repository locale con quello remoto. Si chiama push l'operazione che invia i commit locali sul repository remoto. &lt;br /&gt;
Per poter eseguire correttamente un push, è necessario che l'ultimo commit locale e l'ultimo commit remoto siano lo stesso, il che significa che per effettuare un push, è necessario, a meno di non aver il repository locale già aggiornato, effettuare un pull.&lt;br /&gt;
&lt;br /&gt;
Il repository locale mantiene la storia locale dei commit. Tuttavia è possibile effettuare modifiche sul repository locale. Per aggiungere a un commit modifiche locali e nuovi file, è necessario aggiungere i file (sia quelli nuovi, sia quelli modificati) all'indice del repository. Ogni volta che si effettua un commit verranno considerati solo i file presenti nell'indice, tutte le altre modifiche locali non verranno aggiunte al commit, ma resteranno nel repository.&lt;br /&gt;
&lt;br /&gt;
Può capitare, se più persone lavorano a un progetto, che la copia sul repository remoto abbia subito modifiche rispetto all'ultimo commit del repository locale, ovvero che le due versioni (locale e remoto) abbiano un antenato in comune, ma poi si siano divise. In questo caso è necessario effettuare un merge. Se i due rami non hanno modifiche conflittuali, il merge sarà automatico. Se i due rami presentano delle modifiche concorrrenti, o modifiche che git non è in grado di risolvere (ad esempio cambio intentazione e spaziatura differenti) si dovrà procedere a un merge manuale.&lt;br /&gt;
In caso di versioni discordanti è necessario ricordarsi di procedere nelseguente modo:&lt;br /&gt;
* effettuare il commit del proprio lavoro&lt;br /&gt;
* effettuare il pull del repository remoto&lt;br /&gt;
* effettuare il merge&lt;br /&gt;
* effettuare il push del repository&lt;br /&gt;
&lt;br /&gt;
Che sia un merge automatico o un merge manuale, l'operazione si conclude sempre con un commit.&lt;br /&gt;
&lt;br /&gt;
= Guida base git=&lt;br /&gt;
&lt;br /&gt;
Segue una piccola guida minimale per utilizzare git in maniera semplice.&lt;br /&gt;
per imparare a usarlo in maniera avanzata consigliamo di cercare tutorial su internet.&lt;br /&gt;
Questa guida non ha la pretesa quindi di spiegare l'effettivo funzionamento, ma solo di riuscire a utilizzare il repository in maniera base.&lt;br /&gt;
&lt;br /&gt;
== creazione repository git ==&lt;br /&gt;
&lt;br /&gt;
una volta creato il repository sul vostro server, o su un provider esterno (github, assembla, bitbucket)&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name&lt;br /&gt;
&lt;br /&gt;
Il repository git ufficiale dell'airlab è [https://github.com/AIRLab-POLIMI  qui], potete chiedere al professor [[User:AndreaBonarini | Bonarini]] di farvi creare un repository per il vostro progetto.&lt;br /&gt;
&lt;br /&gt;
== Impostazioni globali ==&lt;br /&gt;
Prima di fare il primo commit è importante impostare email e nome utente nel seguente modo:&lt;br /&gt;
&lt;br /&gt;
git config --global user.email ''email''&lt;br /&gt;
&lt;br /&gt;
git config --global user.name ''username''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''email'' è la vostra e-mail&lt;br /&gt;
''username'' è il vostro username&lt;br /&gt;
&lt;br /&gt;
E' importante avere impostato correttamente questi campi, anche perchè sono utilizzati, specialmente la mail, dalle interfacce grafiche dei servizi di hosting (vedasi github) per riconoscere gli utenti.&lt;br /&gt;
&lt;br /&gt;
== primo commit ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
&lt;br /&gt;
crei dei file da committare&lt;br /&gt;
&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push origin master&lt;br /&gt;
&lt;br /&gt;
== primo pull ==&lt;br /&gt;
cd local_repo_name&lt;br /&gt;
git pull origin master&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== successivi commit ==&lt;br /&gt;
git add -A&lt;br /&gt;
&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
== successivi pull ==&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
= Comandi utili =&lt;br /&gt;
&lt;br /&gt;
== status ==&lt;br /&gt;
&lt;br /&gt;
== pull ==&lt;br /&gt;
&lt;br /&gt;
== push  ==&lt;br /&gt;
&lt;br /&gt;
== commit ==&lt;br /&gt;
&lt;br /&gt;
== add ==&lt;br /&gt;
&lt;br /&gt;
== rm ==&lt;br /&gt;
&lt;br /&gt;
== stash ==&lt;br /&gt;
&lt;br /&gt;
== checkout ==&lt;br /&gt;
&lt;br /&gt;
== revert ==&lt;br /&gt;
&lt;br /&gt;
== reset ==&lt;br /&gt;
&lt;br /&gt;
== rebase ==&lt;br /&gt;
&lt;br /&gt;
== mergetool ==&lt;br /&gt;
&lt;br /&gt;
= Guida ai submodules =&lt;br /&gt;
&lt;br /&gt;
== Clonare un repository con submodules ==&lt;br /&gt;
&lt;br /&gt;
per clonare un repository che contiene submodules,usare il comando&lt;br /&gt;
&lt;br /&gt;
git clone git@server:/var/git/repo_name local_repo_name --recursive&lt;br /&gt;
&lt;br /&gt;
in alternativa, se il clone è stato effettuato senza il flag --recursive è possibile usare&lt;br /&gt;
&lt;br /&gt;
git submodule init&lt;br /&gt;
git submodule update&lt;br /&gt;
&lt;br /&gt;
== aggiornare i submodule ==&lt;br /&gt;
&lt;br /&gt;
Per aggiornare i submodule è possibile utilizzare il comando:&lt;br /&gt;
git submodule update --remote&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18352</id>
		<title>Triskar3</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18352"/>
				<updated>2017-03-23T09:21:38Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
 | title=Triskar3&lt;br /&gt;
 | description=The goal of the project is to develop an omnidirectional robot controlled via joypad.&lt;br /&gt;
 | coordinator=AndreaBonarini&lt;br /&gt;
 | tutor=DavideTateo&lt;br /&gt;
 | image=Triskarlogo.jpg}}&lt;br /&gt;
&lt;br /&gt;
Triskar3 is the final engineerized version of the Triskar robot. Now it is easy to build from scratch a Triskar robot based on [http://novalabs.io/  NovaCore] and optionally on a [https://www.raspberrypi.org/ RaspberryPi3], withouth much effort&lt;br /&gt;
&lt;br /&gt;
The instruction for building a Triskar3 robot can be found [https://github.com/AIRLab-POLIMI/Triskar3  here]&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18351</id>
		<title>Triskar3</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18351"/>
				<updated>2017-03-23T09:20:51Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
 | title=Triskar3&lt;br /&gt;
 | description=The goal of the project is to develop an omnidirectional robot controlled via joypad.&lt;br /&gt;
 | coordinator=AndreaBonarini&lt;br /&gt;
 | tutor=DavideTateo&lt;br /&gt;
 | image=Triskarlogo.jpg}}&lt;br /&gt;
&lt;br /&gt;
Triskar3 is the final engineerized version of the Triskar robot. Now it is easy to build from scratch a Triskar robot based on [http://novalabs.io/  NovaCore] and optionally on a [https://www.raspberrypi.org/ RaspberryPi3], withouth much effort&lt;br /&gt;
&lt;br /&gt;
The instruction for building a triskar3 robot can be found [https://github.com/AIRLab-POLIMI/Triskar3  here]&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18350</id>
		<title>Triskar3</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18350"/>
				<updated>2017-03-23T09:20:06Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
 | title=Triskar3&lt;br /&gt;
 | description=The goal of the project is to develop an omnidirectional robot controlled via joypad.&lt;br /&gt;
 | coordinator=AndreaBonarini&lt;br /&gt;
 | tutor=DavideTateo&lt;br /&gt;
 | image=Triskarlogo.jpg}}&lt;br /&gt;
&lt;br /&gt;
Triskar3 is the final ingineerized version of the Triskar robot. Now it is easy to build from scratch a Triskar robot based on [http://novalabs.io/  NovaCore] and optionally on a [https://www.raspberrypi.org/ RaspberryPi3], withouth much effort&lt;br /&gt;
&lt;br /&gt;
The instruction for building a triskar3 robot can be found [https://github.com/AIRLab-POLIMI/Triskar3  here]&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18349</id>
		<title>Triskar3</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18349"/>
				<updated>2017-03-23T09:19:46Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
 | title=Triskar3&lt;br /&gt;
 | description=The goal of the project is to develop an omnidirectional robot controlled via joypad.&lt;br /&gt;
 | coordinator=AndreaBonarini&lt;br /&gt;
 | tutor=DavideTateo&lt;br /&gt;
 | image=Triskarlogo.jpg}}&lt;br /&gt;
&lt;br /&gt;
Triskar3 is the final ingineerized version of the Triskar robot. Now it is easy to build from scratch a Triskar robot based on [http://novalabs.io/  NovaCore] and optionally on a [ https://www.raspberrypi.org/ RaspberryPi3], withouth much effort&lt;br /&gt;
&lt;br /&gt;
The instruction for building a triskar3 robot can be found [https://github.com/AIRLab-POLIMI/Triskar3  here]&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18348</id>
		<title>Triskar3</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18348"/>
				<updated>2017-03-23T09:12:13Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
 | title=Triskar3&lt;br /&gt;
 | description=The goal of the project is to develop an omnidirectional robot controlled via joypad.&lt;br /&gt;
 | coordinator=AndreaBonarini&lt;br /&gt;
 | tutor=DavideTateo&lt;br /&gt;
 | image=Triskarlogo.jpg}}&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18347</id>
		<title>Triskar3</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Triskar3&amp;diff=18347"/>
				<updated>2017-03-23T09:08:29Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: Created page with &amp;quot;{{Project  | title=Triskar3  | description=The goal of the project is to develop an omnidirectional robot controlled via joypad.  | coordinator=AndreaBonarini  | tutor=DavideT...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
 | title=Triskar3&lt;br /&gt;
 | description=The goal of the project is to develop an omnidirectional robot controlled via joypad.&lt;br /&gt;
 | coordinator=AndreaBonarini&lt;br /&gt;
 | tutor=DavideTateo&lt;br /&gt;
 | students=&lt;br /&gt;
 | start=2015/05/21&lt;br /&gt;
 | type=Course&lt;br /&gt;
 | status=Complete&lt;br /&gt;
 | image=Triskarlogo.jpg}}&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=AIRWiki&amp;diff=17847</id>
		<title>AIRWiki</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=AIRWiki&amp;diff=17847"/>
				<updated>2015-05-29T16:45:52Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:AIRLabStudentiQuadrupedeLow.jpg  |thumb|right|300px|Students at AIRLab.]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; clear:both; margin-left:2em; margin-right:2em; margin-bottom:1em;&amp;quot;&amp;gt;&lt;br /&gt;
{{#sgallery:&lt;br /&gt;
|width=360&lt;br /&gt;
|height=310&lt;br /&gt;
|showarrows=true&lt;br /&gt;
|showcarousel=true&lt;br /&gt;
|showinfopane=true&lt;br /&gt;
|slideinfozoneslide=true&lt;br /&gt;
|slideinfozoneopacity=0.7&lt;br /&gt;
|fallback=&amp;quot;gallery&amp;quot;&lt;br /&gt;
|timed=true&lt;br /&gt;
|delay=5000&lt;br /&gt;
|imagelist=&lt;br /&gt;
AIRLabStudentiQuadrupedeLow.jpg{{!}}Students at AIRLab&lt;br /&gt;
Mano.jpg{{!}} Whitehand, a biomimetic hand&lt;br /&gt;
File:Tiltone_3.jpg{{!}}Tiltone, a balancing robot&lt;br /&gt;
Jedi_Training-Lambrate.png‎ {{!}} Jedi Trainer 3.0, a robogame&lt;br /&gt;
PesceSideWeb.png‎ {{!}} Zoidberg, a biomimetic fish&lt;br /&gt;
E2LateralHeadCutSmall.JPG‎  {{!}} E-2?, a robot for exhibitions&lt;br /&gt;
Robot_grillo_zoom_front.jpg {{!}} Cricket robot&lt;br /&gt;
AIRLabMatteucciLURCH.JPG {{!}} RBWC at work at Robotica2010&lt;br /&gt;
RoboWII2.0.L.JPG‎ {{!}} A Lego-based robogame&lt;br /&gt;
MorattiBracchiBonariniE-2Robotica2009Small.JPG‎ {{!}} E-2? at Robotica2009&lt;br /&gt;
SimoAffective.jpg {{!}} Affective robotic rehabilitation&lt;br /&gt;
Tiltone 3.jpg {{!}} Tiltone: a balancing robot&lt;br /&gt;
AIRLabBonariniRoboWIIFront2011Low.JPG {{!}} The RoboWII robogame&lt;br /&gt;
RawseedsLowCropLateralKeyboard.JPG {{!}} The RAWSEEDS robot to collect sensor data&lt;br /&gt;
AIRLabBonariniE-2AtWorkLow.JPG {{!}} E-2? and RBWC at work at Robotica2010&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&lt;br /&gt;
Welcome to AIRLab! &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the [http://en.wikipedia.org/wiki/Wiki wiki] supporting AIRLab, the  '''Artificial Intelligence and Robotics Laboratory''' at the [http://www.dei.polimi.it/index.php?&amp;amp;idlang=eng Department of Electronics, Information and Bioengineering] of [http://www.english.polimi.it/ Politecnico di Milano]. &lt;br /&gt;
&lt;br /&gt;
AIRLab was established by prof. Marco Somalvico in 1971 as one of the first groups of researchers in Italy working on Artificial Intelligence, Robotics and Computer Vision. &lt;br /&gt;
&lt;br /&gt;
[[People|Researchers]] working at AIRLab have always followed and leaded the evolution of AI and Robotics. The research areas we are presently focusing on are listed [[Research Areas|here]].&lt;br /&gt;
&lt;br /&gt;
We have always worked both on theoretical aspects and on applications, developed in [[Funded Projects|projects]] funded by national and international agencies and companies.&lt;br /&gt;
&lt;br /&gt;
AIRLab [[People|professors]]  presently manage one of the [[Teaching|largest curricula]] in Italy on AI and Robotics, producing each year more than 50 master theses and about 10-15% of the PhD theses of the [http://www.dei.polimi.it/ricerca/sezioni/index.php?id_sezione=3&amp;amp;idlang=eng Computer Science and Engineering Section] at [http://www.dei.polimi.it/index.php?&amp;amp;idlang=eng DEIB].&lt;br /&gt;
&lt;br /&gt;
Many activities at AIRLab are covered by media as soon as they attract interest. You may find [[Media Coverage|here]] links to some of the past articles on newspapers and magazines.&lt;br /&gt;
&lt;br /&gt;
AIRLab participates to the EUrobotics AISB, and is one of the [http://robotics.polimi.it robotics labs of Politecnico di Milano].&lt;br /&gt;
&lt;br /&gt;
AIRWiki supports many activities of researchers and students working at AIRLab. Follow the links at he &amp;quot;AIRWiki&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
AIRLab also occasionally participates at [[Events|events]]. Last one reported: [[Crash Course on Robot Emotion]].&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=C-SLAM&amp;diff=17846</id>
		<title>C-SLAM</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=C-SLAM&amp;diff=17846"/>
				<updated>2015-05-28T20:38:18Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=C-SLAM&lt;br /&gt;
|image=&lt;br /&gt;
|short_descr=Development of a Cognitive SLAM system&lt;br /&gt;
|coordinator=AndreaBonarini&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|students=DavideTateo&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|start=2013/04/12&lt;br /&gt;
|end=2014/10/31&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=Ms&lt;br /&gt;
|type=Thesis&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Aim of this project is to build a Cognitive SLAM system.&lt;br /&gt;
&lt;br /&gt;
The main idea is to extract high level features, like objects in the image and use them to localize an autonomous robot.&lt;br /&gt;
&lt;br /&gt;
Source code can be found [https://github.com/AIRLab-POLIMI/C-SLAM here].&lt;br /&gt;
The thesis can be found in [https://www.politesi.polimi.it/handle/10589/97664 politesi].&lt;br /&gt;
&lt;br /&gt;
=Logical Structure=&lt;br /&gt;
[[File:C_slam_logic.svg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
The reasoner is the fundamental part of the system. The reasoner implements a fuzzy tree classification, similar to fuzzy decision trees. &amp;lt;br /&amp;gt;&lt;br /&gt;
Object detection is done on the whole image, while object recognition is done only on detected objects. &amp;lt;br /&amp;gt;&lt;br /&gt;
The tracking algorithm used is a long term tracking algorithm. We use a C++ implementation of the [http://www.gnebehay.com/cmt/ CMT] algorithm. &amp;lt;br /&amp;gt;&lt;br /&gt;
Localization is done using sensor fusion algorithm, based on maximum likelihood estimation on a factor graph. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=System Architecture=&lt;br /&gt;
&lt;br /&gt;
The system is developed using the [http://www.ros.org ROS]  middleware. &amp;lt;br /&amp;gt;&lt;br /&gt;
The sensor fusion algorithm used to implement localization is developed using the [http://roamfree.dei.polimi.it/ ROAMFREE] library. &amp;lt;br /&amp;gt;&lt;br /&gt;
Parser for the knowledge base languages are developed using Flex and Bison. &amp;lt;br /&amp;gt;&lt;br /&gt;
Vision algorithms are based on OpenCV2. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:C_slam_architecture.svg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
=Experimental Results=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=nolines widths=250px heights=200px&amp;gt;&lt;br /&gt;
File:C_SLAM_Detection.png|Detection algorithm output&lt;br /&gt;
File:C_SLAM_Recognition1.png|Recognition of a door&lt;br /&gt;
File:C_SLAM_Recognition2.png|Recognition of a Whiteboard&lt;br /&gt;
File:C_SLAM_Tracker1.png|Tracking some objects&lt;br /&gt;
File:C_SLAM_Tracker2.png|Same objects from another viewpoint&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=User:BariscanDedes&amp;diff=17845</id>
		<title>User:BariscanDedes</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=User:BariscanDedes&amp;diff=17845"/>
				<updated>2015-05-28T20:37:49Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Student&lt;br /&gt;
|category=Student&lt;br /&gt;
|firstname=Bariscan&lt;br /&gt;
|lastname=Dedes&lt;br /&gt;
|photo=Dedes.jpg&lt;br /&gt;
|email=bariscan.dedes@mail.polimi.it&lt;br /&gt;
|advisor=MatteoMatteucci&lt;br /&gt;
|status=active&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
I am a new student to work on Cognitive SLAM for Unmanned Aerial Vehicles. Actually an MSc Student in Automation and Control Engineering.&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17774</id>
		<title>Robot head</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17774"/>
				<updated>2015-04-30T19:36:05Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Friendship Robot&lt;br /&gt;
|image=&lt;br /&gt;
|short_descr=&lt;br /&gt;
|students=RobertoBellini;LeonardoCerri;MartinaZaffignani&lt;br /&gt;
|description=Robot for affective interaction with human&lt;br /&gt;
|coordinator=AndreaBonarini&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|start=01/04/2015&lt;br /&gt;
|end=&lt;br /&gt;
|number=3&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=&lt;br /&gt;
|type=&lt;br /&gt;
}}&lt;br /&gt;
The aim of this project is to build a robotic head which can move around with four wheels and can discriminate between common objects and the people it meets while moving.&lt;br /&gt;
The robot will be able to interact only with people through sounds and movements.&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17773</id>
		<title>Robot head</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17773"/>
				<updated>2015-04-30T19:35:38Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Friendship Robot&lt;br /&gt;
|image=&lt;br /&gt;
|short_descr=&lt;br /&gt;
|students=RobertoBellini;LeonardoCerri;MartinaZaffignani&lt;br /&gt;
|description=Robot for affective interaction with human&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|start=01/04/2015&lt;br /&gt;
|end=&lt;br /&gt;
|number=3&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=&lt;br /&gt;
|type=&lt;br /&gt;
}}&lt;br /&gt;
The aim of this project is to build a robotic head which can move around with four wheels and can discriminate between common objects and the people it meets while moving.&lt;br /&gt;
The robot will be able to interact only with people through sounds and movements.&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17772</id>
		<title>Robot head</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17772"/>
				<updated>2015-04-30T19:33:22Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Friendship Robot&lt;br /&gt;
|image=&lt;br /&gt;
|short_descr=&lt;br /&gt;
|students=RobertoBellini;LeonardoCerri;MartinaZaffignani&lt;br /&gt;
|description=Robot for affective interaction with human&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|start=01/04/2015&lt;br /&gt;
|end=&lt;br /&gt;
|number=3&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=&lt;br /&gt;
|type=&lt;br /&gt;
}}&lt;br /&gt;
The aim of this project is to build a robotic head which can move around with four wheels and can discriminate between common objects and the people it meets while moving.&lt;br /&gt;
The robot will be able to interact only with people through sounds and movements.&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17771</id>
		<title>Robot head</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17771"/>
				<updated>2015-04-30T19:32:07Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Friendship Robot&lt;br /&gt;
|students=RobertoBellini;LeonardoCerri;MartinaZaffignani&lt;br /&gt;
|description=Robot for affective interaction with human&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|start=01/04/2015&lt;br /&gt;
|end=&lt;br /&gt;
|number=3&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=&lt;br /&gt;
|type=&lt;br /&gt;
}}&lt;br /&gt;
The aim of this project is to build a robotic head which can move around with four wheels and can discriminate between common objects and the people it meets while moving.&lt;br /&gt;
The robot will be able to interact only with people through sounds and movements.&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17770</id>
		<title>Robot head</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17770"/>
				<updated>2015-04-30T19:31:54Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Friendship Robot&lt;br /&gt;
|students=RobertoBellini;LeonardoCerri;MartinaZaffignani&lt;br /&gt;
|description=Robot for affective interaction with human&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|start=01/04/2015&lt;br /&gt;
|end=&lt;br /&gt;
|number=3&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=&lt;br /&gt;
|type=&lt;br /&gt;
}}&lt;br /&gt;
The aim of this project is to build a robotic head which can move around with four wheels and can discriminate between common objects and the people it meets while moving.&lt;br /&gt;
The robot will be able to interact only with people through sounds and movements.&lt;br /&gt;
|title=C-SLAM&lt;br /&gt;
|image=&lt;br /&gt;
|short_descr=Development of a Cognitive SLAM system&lt;br /&gt;
|coordinator=AndreaBonarini&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|students=DavideTateo; BariscanDedes&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17769</id>
		<title>Robot head</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17769"/>
				<updated>2015-04-30T19:28:22Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Friendship Robot&lt;br /&gt;
|students=RobertoBellini;LeonardoCerri;MartinaZaffignani&lt;br /&gt;
|description=Robot for affective interaction with human&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|start=01/04/2015&lt;br /&gt;
|number=3&lt;br /&gt;
}}&lt;br /&gt;
The aim of this project is to build a robotic head which can move around with four wheels and can discriminate between common objects and the people it meets while moving.&lt;br /&gt;
The robot will be able to interact only with people through sounds and movements.&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17768</id>
		<title>Robot head</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17768"/>
				<updated>2015-04-30T19:27:45Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Friendship Robot&lt;br /&gt;
|students=RobertoBellini;LeonardoCerri;MartinaZaffignani&lt;br /&gt;
|description=Robot for affective interaction with human&lt;br /&gt;
|tutor=Andrea Bonarini&lt;br /&gt;
|start=01/04/2015&lt;br /&gt;
|number=3&lt;br /&gt;
}}&lt;br /&gt;
The aim of this project is to build a robotic head which can move around with four wheels and can discriminate between common objects and the people it meets while moving.&lt;br /&gt;
The robot will be able to interact only with people through sounds and movements.&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17767</id>
		<title>Robot head</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Robot_head&amp;diff=17767"/>
				<updated>2015-04-30T19:27:16Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Friendship Robot&lt;br /&gt;
|students=[[RobertoBellini;LeonardoCerri;MartinaZaffignani]]&lt;br /&gt;
|description=Robot for affective interaction with human&lt;br /&gt;
|tutor=Andrea Bonarini&lt;br /&gt;
|start=01/04/2015&lt;br /&gt;
|number=3&lt;br /&gt;
}}&lt;br /&gt;
The aim of this project is to build a robotic head which can move around with four wheels and can discriminate between common objects and the people it meets while moving.&lt;br /&gt;
The robot will be able to interact only with people through sounds and movements.&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17607</id>
		<title>Learning Robogames</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17607"/>
				<updated>2015-03-26T11:25:13Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title= Learning Robogames&lt;br /&gt;
|description=Development of a reinforcement learning infrastructure for Robogames&lt;br /&gt;
|tutor=AndreaBonarini; MarcelloRestelli&lt;br /&gt;
|start=1/11/2014&lt;br /&gt;
|students=DavideTateo&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot learning&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
Physical Interactive Robogames (PIRG) are one of the most challenging task in robotics, as they involved complex interaction with both environment and people. They represent a good benchmark for home robotics applications, as they have limited and well defined domains (the game rules), but they allow to highlight most of the common problems that robots can have in domestic environments while they interact with people. To obtain engaging interaction between the player and a robot, the robot must have the ability to adapt to multiple possible scenarios it can found, such as different game configurations and different kind of players. Furthermore a pure reactive agent is not well suited for the task, as the robot tends to act in a naive way, that can be easily exploited by the player, making the game too easy and boring the player. Particularly for complex games, designing and implementing a complex robot policy, not a purely reactive one, is a hard task. The task becomes harder if the robot has to face novel situations and different types of players. The design of complex games that show advanced interaction between the robot and the players is strongly limited by the ability of the robot of act in a credible and reliable way. Reinforcement leaning is useful to overcome these limitations and allows an easier adaptation of the robot to new environments. In particular, recent advances in policy search algorithms and inverse reinforcement learning have made possible for robots to learn complex tasks that are very hard to model and solve by classical approaches. However, policy search approaches may fail when the policy is too complex and general, when the number of robot behavior samples needed to learn the policy becomes intractable, and when the reward signal is sparse. Hierarchical reinforcement learning approaches decompose the task into subgoals, that are easier to learn. In this research we will focus on extending the Hierarchical reinforcement learning approaches in order to allow the learning of complex policies. The key idea behind this approach is to give to the robot a set of tasks of increasing complexity in order to make the robot incrementally learn skills useful to solve more complex tasks. We will research techniques to automatically discover subgoals and transfer subgoals policies to other task and different environments. Inverse reinforcement learning techniques will be used for learning the structural properties of a subgoal. The ultimate goal is to have a robot that, given a sufficient set of skills, is able to engage effectively any kind of player, by learning just using its own experience and expert demonstrations in a simplified version of the game.&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17606</id>
		<title>Learning Robogames</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17606"/>
				<updated>2015-03-26T11:24:41Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title= Learning Robogames&lt;br /&gt;
|description=Development of a reinforcement learning infrastructure for Robogames&lt;br /&gt;
|tutor=AndreaBonarini; MarcelloRestelli&lt;br /&gt;
|start=1/11/2014&lt;br /&gt;
|students=DavideTateo&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot learning&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17605</id>
		<title>Learning Robogames</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17605"/>
				<updated>2015-03-26T11:23:46Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title= Learning Robogames&lt;br /&gt;
|description=Development of a reinforcement learning infrastructure for Robogames&lt;br /&gt;
|tutor=AndreaBonarini; MarcelloRestelli&lt;br /&gt;
|start=1/11/2014&lt;br /&gt;
|students=DavideTateo&lt;br /&gt;
|resarea=Robotics; Machine Learning&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17604</id>
		<title>Learning Robogames</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17604"/>
				<updated>2015-03-26T11:22:51Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title= Learning Robogames&lt;br /&gt;
|description=Development of a reinforcement learning infrastructure for Robogames&lt;br /&gt;
|tutor=AndreaBonarini; MarcelloRestelli&lt;br /&gt;
|start=1/11/2014&lt;br /&gt;
|students=DavideTateo&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17603</id>
		<title>Learning Robogames</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17603"/>
				<updated>2015-03-26T11:22:10Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title= Learning Robogames&lt;br /&gt;
|description=Development of a reinforcement learning infrastructure for Robogames&lt;br /&gt;
|tutor=AndreaBonarini; MarcelloRestelli&lt;br /&gt;
|start=1/11/2014&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17602</id>
		<title>Learning Robogames</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Learning_Robogames&amp;diff=17602"/>
				<updated>2015-03-26T11:18:34Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: Created page with &amp;quot;{{Project template |title= Learning Robogames |description=Development of a reinforcement learning infrastructure for Robogames |tutor=AndreaBonarini; MarcelloRestelli |start=...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project template&lt;br /&gt;
|title= Learning Robogames&lt;br /&gt;
|description=Development of a reinforcement learning infrastructure for Robogames&lt;br /&gt;
|tutor=AndreaBonarini; MarcelloRestelli&lt;br /&gt;
|start=1/11/2014&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=C-SLAM&amp;diff=17567</id>
		<title>C-SLAM</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=C-SLAM&amp;diff=17567"/>
				<updated>2015-03-15T09:26:10Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=C-SLAM&lt;br /&gt;
|image=&lt;br /&gt;
|short_descr=Development of a Cognitive SLAM system&lt;br /&gt;
|coordinator=AndreaBonarini&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|students=DavideTateo; BariscanDedes&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|start=2013/04/12&lt;br /&gt;
|end=2014/10/31&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=Ms&lt;br /&gt;
|type=Thesis&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Aim of this project is to build a Cognitive SLAM system.&lt;br /&gt;
&lt;br /&gt;
The main idea is to extract high level features, like objects in the image and use them to localize an autonomous robot.&lt;br /&gt;
&lt;br /&gt;
Source code can be found [https://github.com/AIRLab-POLIMI/C-SLAM here].&lt;br /&gt;
The thesis can be found in [https://www.politesi.polimi.it/handle/10589/97664 politesi].&lt;br /&gt;
&lt;br /&gt;
=Logical Structure=&lt;br /&gt;
[[File:C_slam_logic.svg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
The reasoner is the fundamental part of the system. The reasoner implements a fuzzy tree classification, similar to fuzzy decision trees. &amp;lt;br /&amp;gt;&lt;br /&gt;
Object detection is done on the whole image, while object recognition is done only on detected objects. &amp;lt;br /&amp;gt;&lt;br /&gt;
The tracking algorithm used is a long term tracking algorithm. We use a C++ implementation of the [http://www.gnebehay.com/cmt/ CMT] algorithm. &amp;lt;br /&amp;gt;&lt;br /&gt;
Localization is done using sensor fusion algorithm, based on maximum likelihood estimation on a factor graph. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=System Architecture=&lt;br /&gt;
&lt;br /&gt;
The system is developed using the [http://www.ros.org ROS]  middleware. &amp;lt;br /&amp;gt;&lt;br /&gt;
The sensor fusion algorithm used to implement localization is developed using the [http://roamfree.dei.polimi.it/ ROAMFREE] library. &amp;lt;br /&amp;gt;&lt;br /&gt;
Parser for the knowledge base languages are developed using Flex and Bison. &amp;lt;br /&amp;gt;&lt;br /&gt;
Vision algorithms are based on OpenCV2. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:C_slam_architecture.svg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
=Experimental Results=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=nolines widths=250px heights=200px&amp;gt;&lt;br /&gt;
File:C_SLAM_Detection.png|Detection algorithm output&lt;br /&gt;
File:C_SLAM_Recognition1.png|Recognition of a door&lt;br /&gt;
File:C_SLAM_Recognition2.png|Recognition of a Whiteboard&lt;br /&gt;
File:C_SLAM_Tracker1.png|Tracking some objects&lt;br /&gt;
File:C_SLAM_Tracker2.png|Same objects from another viewpoint&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=C-SLAM&amp;diff=17566</id>
		<title>C-SLAM</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=C-SLAM&amp;diff=17566"/>
				<updated>2015-03-15T09:25:47Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=C-SLAM&lt;br /&gt;
|image=&lt;br /&gt;
|short_descr=Development of a Cognitive SLAM system&lt;br /&gt;
|coordinator=AndreaBonarini&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|students=DavideTateo, BariscanDedes&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|start=2013/04/12&lt;br /&gt;
|end=2014/10/31&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=Ms&lt;br /&gt;
|type=Thesis&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Aim of this project is to build a Cognitive SLAM system.&lt;br /&gt;
&lt;br /&gt;
The main idea is to extract high level features, like objects in the image and use them to localize an autonomous robot.&lt;br /&gt;
&lt;br /&gt;
Source code can be found [https://github.com/AIRLab-POLIMI/C-SLAM here].&lt;br /&gt;
The thesis can be found in [https://www.politesi.polimi.it/handle/10589/97664 politesi].&lt;br /&gt;
&lt;br /&gt;
=Logical Structure=&lt;br /&gt;
[[File:C_slam_logic.svg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
The reasoner is the fundamental part of the system. The reasoner implements a fuzzy tree classification, similar to fuzzy decision trees. &amp;lt;br /&amp;gt;&lt;br /&gt;
Object detection is done on the whole image, while object recognition is done only on detected objects. &amp;lt;br /&amp;gt;&lt;br /&gt;
The tracking algorithm used is a long term tracking algorithm. We use a C++ implementation of the [http://www.gnebehay.com/cmt/ CMT] algorithm. &amp;lt;br /&amp;gt;&lt;br /&gt;
Localization is done using sensor fusion algorithm, based on maximum likelihood estimation on a factor graph. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=System Architecture=&lt;br /&gt;
&lt;br /&gt;
The system is developed using the [http://www.ros.org ROS]  middleware. &amp;lt;br /&amp;gt;&lt;br /&gt;
The sensor fusion algorithm used to implement localization is developed using the [http://roamfree.dei.polimi.it/ ROAMFREE] library. &amp;lt;br /&amp;gt;&lt;br /&gt;
Parser for the knowledge base languages are developed using Flex and Bison. &amp;lt;br /&amp;gt;&lt;br /&gt;
Vision algorithms are based on OpenCV2. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:C_slam_architecture.svg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
=Experimental Results=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=nolines widths=250px heights=200px&amp;gt;&lt;br /&gt;
File:C_SLAM_Detection.png|Detection algorithm output&lt;br /&gt;
File:C_SLAM_Recognition1.png|Recognition of a door&lt;br /&gt;
File:C_SLAM_Recognition2.png|Recognition of a Whiteboard&lt;br /&gt;
File:C_SLAM_Tracker1.png|Tracking some objects&lt;br /&gt;
File:C_SLAM_Tracker2.png|Same objects from another viewpoint&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17533</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17533"/>
				<updated>2015-02-10T15:55:15Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optitrack =&lt;br /&gt;
&lt;br /&gt;
The optitrack is a motion capture system.&lt;br /&gt;
In the airlab is used to acquire ground truth of robots positions. This is very useful for testing the performances of the algorithms developed, such as [[SLAM]] algorithms.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
# A calibrated optitrack&lt;br /&gt;
# A pc with the Optitrack [https://github.com/ros-drivers/mocap_optitrack ros node ] (Branch Motive17)&lt;br /&gt;
&lt;br /&gt;
= Calibration =&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrack PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc using a launch file (you should provide a configuration file to give a name to output topics)&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17532</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17532"/>
				<updated>2015-02-10T15:54:45Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optitrack =&lt;br /&gt;
&lt;br /&gt;
The optitrack is a motion capture system.&lt;br /&gt;
In the airlab is used to acquire ground truth of robots positions. This is very useful for testing the performances of the algorithms developed, such as [[SLAM]] algorithms.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
# A calibrated optitrack&lt;br /&gt;
# A pc with the Optitrack [https://github.com/ros-drivers/mocap_optitrack ros node ] (Branch Motive17)&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrack PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc using a launch file (you should provide a configuration file to give a name to output topics)&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17531</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17531"/>
				<updated>2015-02-10T15:54:36Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optitrack =&lt;br /&gt;
&lt;br /&gt;
The optitrack is a motion capture system.&lt;br /&gt;
In the airlab is used to acquire ground truth of robots positions. This is very useful for testing the performances of the algorithms developed, such as [[SLAM]] algorithms.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
# A calibrated optitrack&lt;br /&gt;
# A pc with the Optitrack [https://github.com/ros-drivers/mocap_optitrack ros node ]&lt;br /&gt;
(Branch Motive17)&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrack PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc using a launch file (you should provide a configuration file to give a name to output topics)&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17530</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17530"/>
				<updated>2015-02-09T08:51:00Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optitrack =&lt;br /&gt;
&lt;br /&gt;
The optitrack is a motion capture system.&lt;br /&gt;
In the airlab is used to acquire ground truth of robots positions. This is very useful for testing the performances of the algorithms developed, such as [[SLAM]] algorithms.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
# A calibrated optitrack&lt;br /&gt;
# A pc with the Optitrack [https://github.com/ros-drivers/mocap_optitrack ros node ]&lt;br /&gt;
(Branch Motive17)&lt;br /&gt;
For now use [https://github.com/tonybaltovski/mocap_optitrack this repo] as the motive17 branch has no stamped messages. This repo is the pull request for the official repository (Branch Motive1.7+)&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrack PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc using a launch file (you should provide a configuration file to give a name to output topics)&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17529</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17529"/>
				<updated>2015-02-05T07:46:13Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Acquisition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optitrack =&lt;br /&gt;
&lt;br /&gt;
The optitrack is a motion capture system.&lt;br /&gt;
In the airlab is used to acquire ground truth of robots positions. This is very useful for testing the performances of the algorithms developed, such as [[SLAM]] algorithms.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
# A calibrated optitrack&lt;br /&gt;
# A pc with the Optitrack [https://github.com/ros-drivers/mocap_optitrack ros node ]&lt;br /&gt;
(Branch Motive17)&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrack PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc using a launch file (you should provide a configuration file to give a name to output topics)&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17528</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17528"/>
				<updated>2015-02-05T07:42:59Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optitrack =&lt;br /&gt;
&lt;br /&gt;
The optitrack is a motion capture system.&lt;br /&gt;
In the airlab is used to acquire ground truth of robots positions. This is very useful for testing the performances of the algorithms developed, such as [[SLAM]] algorithms.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
# A calibrated optitrack&lt;br /&gt;
# A pc with the Optitrack [https://github.com/ros-drivers/mocap_optitrack ros node ]&lt;br /&gt;
(Branch Motive17)&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrack PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Concierge&amp;diff=17499</id>
		<title>Concierge</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Concierge&amp;diff=17499"/>
				<updated>2015-01-18T16:21:10Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Credits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Concierge&lt;br /&gt;
|image= Concierge.jpg&lt;br /&gt;
|short_descr=Development of an emotional concierge head&lt;br /&gt;
|coordinator=AndreaBonarini&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|students=MattiaSirimarco;IdilSuErdenlig;FilippoLeporati;&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|start=2013/06/12&lt;br /&gt;
|end=&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=Bs&lt;br /&gt;
|type=Course&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Concierge is an autonomous robot head intended to monitor the corridor in front of the office door, following people that passes. &lt;br /&gt;
When somebody comes close to the door, if the person is inside the office the head nods, otherwise it denies.&lt;br /&gt;
&lt;br /&gt;
The first version of the head was simply smart, while with the second version two characters have been investigated: a funky one (nervous and hasty) and a graybeard (calm and a little bit snoothy). A third version is ongoing, together with the development of a full control of motors that wil provide tools to better characterize the head.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|lcNuKryzmjo}}&lt;br /&gt;
&lt;br /&gt;
*[http://youtu.be/watch?v=lcNuKryzmjo External link]&lt;br /&gt;
&lt;br /&gt;
===Credits===&lt;br /&gt;
The version 1 head has been implemented by Mattia Sirimarco.&lt;br /&gt;
&lt;br /&gt;
The basic shape of the version 2 head is by Maximiliano Romero (maximiliano.romero@polimi.it), Department od Design, [http://www.phycolab.polimi.it/ Phy.Co. Lab]&lt;br /&gt;
&lt;br /&gt;
Part of version 1 (antennas, nose, and eyes) and the funky hairs of version2 head have been designed by [[User:AndreaBonarini | Andrea Bonarini]].&lt;br /&gt;
&lt;br /&gt;
All the rest of Version 2 has been implemented by Idil Su Erenlig, Turkish visiting bachelor student at Polimi.&lt;br /&gt;
&lt;br /&gt;
Version 3 is being developed by [[User:FilippoLeporati | Filippo Leporati]].&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Concierge&amp;diff=17498</id>
		<title>Concierge</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Concierge&amp;diff=17498"/>
				<updated>2015-01-18T16:20:55Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Credits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=Concierge&lt;br /&gt;
|image= Concierge.jpg&lt;br /&gt;
|short_descr=Development of an emotional concierge head&lt;br /&gt;
|coordinator=AndreaBonarini&lt;br /&gt;
|tutor=AndreaBonarini&lt;br /&gt;
|students=MattiaSirimarco;IdilSuErdenlig;FilippoLeporati;&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|start=2013/06/12&lt;br /&gt;
|end=&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=Bs&lt;br /&gt;
|type=Course&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Concierge is an autonomous robot head intended to monitor the corridor in front of the office door, following people that passes. &lt;br /&gt;
When somebody comes close to the door, if the person is inside the office the head nods, otherwise it denies.&lt;br /&gt;
&lt;br /&gt;
The first version of the head was simply smart, while with the second version two characters have been investigated: a funky one (nervous and hasty) and a graybeard (calm and a little bit snoothy). A third version is ongoing, together with the development of a full control of motors that wil provide tools to better characterize the head.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|lcNuKryzmjo}}&lt;br /&gt;
&lt;br /&gt;
*[http://youtu.be/watch?v=lcNuKryzmjo External link]&lt;br /&gt;
&lt;br /&gt;
===Credits===&lt;br /&gt;
The version 1 head has been implemented by Mattia Sirimarco.&lt;br /&gt;
&lt;br /&gt;
The basic shape of the version 2 head is by Maximiliano Romero (maximiliano.romero@polimi.it), Department od Design, [http://www.phycolab.polimi.it/ Phy.Co. Lab]&lt;br /&gt;
&lt;br /&gt;
Part of version 1 (antennas, nose, and eyes) and the funky hairs of version2 head have been designed by [[User:AndreaBonarini Andrea Bonarini]].&lt;br /&gt;
&lt;br /&gt;
All the rest of Version 2 has been implemented by Idil Su Erenlig, Turkish visiting bachelor student at Polimi.&lt;br /&gt;
&lt;br /&gt;
Version 3 is being developed by [[User:FilippoLeporati | Filippo Leporati]].&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17491</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17491"/>
				<updated>2015-01-17T21:16:07Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: DavideTateo moved page Optitrac to Optitrack&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optitrack =&lt;br /&gt;
&lt;br /&gt;
The optitrack is a motion capture system.&lt;br /&gt;
In the airlab is used to acquire ground truth of robots positions. This is very useful for testing the performances of the algorithms developed, such as [[SLAM]] algorithms.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
# A calibrated optitrack&lt;br /&gt;
# A pc with the Optitrack [https://github.com/ros-drivers/mocap_optitrack ros node ]&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrack PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrac&amp;diff=17492</id>
		<title>Optitrac</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrac&amp;diff=17492"/>
				<updated>2015-01-17T21:16:07Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: DavideTateo moved page Optitrac to Optitrack&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Optitrack]]&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17490</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17490"/>
				<updated>2015-01-17T21:16:00Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optitrack =&lt;br /&gt;
&lt;br /&gt;
The optitrack is a motion capture system.&lt;br /&gt;
In the airlab is used to acquire ground truth of robots positions. This is very useful for testing the performances of the algorithms developed, such as [[SLAM]] algorithms.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
# A calibrated optitrack&lt;br /&gt;
# A pc with the Optitrack [https://github.com/ros-drivers/mocap_optitrack ros node ]&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrack PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Resources&amp;diff=17489</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Resources&amp;diff=17489"/>
				<updated>2015-01-17T21:15:03Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful Resources ==&lt;br /&gt;
&lt;br /&gt;
===== Where can I test my robot? =====&lt;br /&gt;
Usually, experiments are done within the space of our labs ([[The_AIRlab_sites|see here]]). &lt;br /&gt;
In special cases (ask your advisor!) test may be carried out in the courtyard of [[AIRLab_Lambrate]]. This courtyard is a medium-size space enclosed by the building (but without a roof), with a flat floor, where mobile robots can move around a little more freely than in the labs. Should you need it, we have a CAD drawing (with dimensions) of the courtyard (ask [[User:GiulioFontana|Giulio Fontana]]); [[File:Cortile_lambrate.pdf]] is a pdf black-and-white copy (A3-size) of it.&lt;br /&gt;
&lt;br /&gt;
===== Writing and Reading =====&lt;br /&gt;
* [[Tesi|How to write a thesis?]] Suggestions to prepare your thesis (only in Italian for now... translators are welcome!).&lt;br /&gt;
*[[ThesisPresentation|How to write slides and make a presentation]]&lt;br /&gt;
* [[Suggestions to write well]] can help to produce a good thesis, as well as good scientific publications in general. Here is the part of the 14 steps to write well found on the [http://www.sfedit.net San Francisco Edit company site] that Andrea Bonarini shares.&lt;br /&gt;
* You can access '''all the papers''' for which Politecnico has bought a subscription even when you are at home if you enable the [[http://www.asi.polimi.it/rete/proxy/index.html Politecnico proxy]]. The instruction page is provided by the nice people of [http://www.asi.polimi.it/ ASI] in Italian only.  For an English version of the page, try to poke them if you can find how to get in touch with them.&lt;br /&gt;
* [[Tips for editors]] of AIRWiki are also collected by this community, just to help to understand some of the hidden beauty of semantic WIKIs.&lt;br /&gt;
&lt;br /&gt;
===== Version Control =====&lt;br /&gt;
* piccola guida a [[Git |  git]]&lt;br /&gt;
* piccola guida a [[Svn | svn]]&lt;br /&gt;
&lt;br /&gt;
===== Software and programming =====&lt;br /&gt;
* Once you have finished your work you should deliver it on the [[AIRLab Repository]]&lt;br /&gt;
* Someone wrote some advice about [[Writing Good Code|writing code]]&lt;br /&gt;
* [http://www.roboticswikibook.org/ Robotics wikibook]: a source of design suggestions for robotics, initiated by the EU project BRICS.&lt;br /&gt;
* Info about [[Mathematica]]&lt;br /&gt;
* How to plot using gnuplot in your C/C++ project [[Gnuplot in cpp]]&lt;br /&gt;
* The ever-growing AIRLab guide about [[Getting Started With PIC(TM) MCU]]&lt;br /&gt;
* Howto on [[VCSBC4018 vision board]]&lt;br /&gt;
* Go to our [[ROS HOWTO|ROS HOWTO page]] for advice and tutorials about ROS (Robot Operating System)&lt;br /&gt;
* A few resources on [[Low Cost RTK GPS|Low Cost RTK GPS]] that might be useful&lt;br /&gt;
&lt;br /&gt;
===== Hardware =====&lt;br /&gt;
* The [[Optitrack]] use guide&lt;br /&gt;
* Go to [[What's in the AIRLab]] if you are looking for stuff in the lab&lt;br /&gt;
* Need some component that isn't in the AIRLab for your project? Please add a row in the [[Shopping list]] and ask your advisor or [[User:GiulioFontana|Giulio Fontana]].&lt;br /&gt;
* Need to design a new robot and have no ideas bout how to select the basic elements? Have a look [http://www.robotshop.com/blog/en/how-to-make-a-robot-lesson-1-3707 here] and then talk with your advisor, before taking any decision.&lt;br /&gt;
* Some practical [http://www.instructables.com/id/Lithium-Polymer-Etiquette/ hints about LiPo Batteries]&lt;br /&gt;
* Need to learn how to solder? Check the following links: [http://www.wireless.hackaday.com/2007/10/26/how-to-introduction-to-soldering/ 1] [http://www.wireless.hackaday.com/2007/10/28/followup-soldering-how-to/ 2] [http://www.make-digital.com/make/vol01/?pg=166 3]&lt;br /&gt;
* Need the US name for that bit of mechanics? Use [http://www.boltdepot.com/fastener-information/Printable-Tools/Type-Chart.pdf this useful chart]. By the way, [http://www.boltdepot.com/fastener-information/Printable-Tools/ at the same place] you can find other useful stuff of the same type.&lt;br /&gt;
&lt;br /&gt;
===== Shops =====&lt;br /&gt;
* Some useful addresses and links about shops, stores, factories, online catalogues. With some of them we have partnerships for discounts. You can find information [[Shops| here]].&lt;br /&gt;
&lt;br /&gt;
===== Hardware configuration =====&lt;br /&gt;
* Dei Phd-room (T11) printer configuration [[DeiPhdRoomPrinter | instructions]].&lt;br /&gt;
&lt;br /&gt;
===== For AIRWiki Administrators =====&lt;br /&gt;
&lt;br /&gt;
* [[AIRWiki:AdminFAQ]] (FAQs about common admin tasks such as '''adding users''', changing passwords, user renaming, etc.)&lt;br /&gt;
* [[Airpaper]] (writing a paper? This is a tool to share it with the other authors)&lt;br /&gt;
* [[DEI_Subversion_Administration]] (this is mainly for faculties)&lt;br /&gt;
* [[AIRWiki:Main]] (information about this specific AIRWiki installation)&lt;br /&gt;
* Are you having problems updating semantic information in the Wiki (i.e. you update it but it is not reflected on the rest of the website)? [[SemanticPropagation|Check this]] link for a possible solution to your problem.&lt;br /&gt;
&lt;br /&gt;
===== Producing videos and publishing them =====&lt;br /&gt;
* Usually, at the end of the project, people tend to produce a video and put it on the web. The best way to do this is to [[produce a video]] and then send it to [[User:AndreaBonarini | Andrea Bonarini]] to have it published on the YouTube channel of the AIRLab. Then you can put the link wherever you want, hopefully also in the page of your project on AIRWiki, as done, e.g. in [[ROBOWII]]&lt;br /&gt;
&lt;br /&gt;
===== Miscellanea (uncategorized) =====&lt;br /&gt;
* If you are searching the homepage of a DEI professor (or PhD Student) try this [http://mycroft.mozdev.org/download.html?name=dei+people&amp;amp;skipcache=yes Mozilla Firefox plugin].&lt;br /&gt;
* For [http://ph.dei.polimi.it/phday PhDay08] we've set up an [http://www.easychair.org Easychair] account for paper reviews. Here's a little [[EasyChair Reviews|tutorial for reviewers]] that might be useful in case you have to review somehing/teach someone how the system works.&lt;br /&gt;
* Useful phone numbers, download [[Media:ElencoTelefonico.odt.zip|ODT]] document or [[Media:ElencoTelefonico.pdf|PDF]].&lt;br /&gt;
* To remove from a surface any sticky remains of the glue or tape you used to affix something to it (e.g., the markers used by [[LURCH - The autonomous wheelchair|LURCH]]): try [http://www.henkel.it/adesivi/schede/pdf/TDS_Pattex_Rimuovicolla.pdf this] (Pattex Rimuovi Colla). It doesn't damage (most) surfaces.&lt;br /&gt;
* [[Recipes]] (yes, REAL recipies of special food) from people at AIRLab&lt;br /&gt;
* Sometimes, some ''geeky fun'' is all you need. [[Humour|Find it here!]]&lt;br /&gt;
* Wanna learn something, use  [http://www.cheatography.com/ cheatsheets]!&lt;br /&gt;
** Matt  [http://www.cheatography.com/spaceduck/cheat-sheets/coffee-drinks-and-machines/ likes coffes]&lt;br /&gt;
** Giulio [http://www.cheatography.com/fredv/cheat-sheets/eq-tips/ is an equilibrated person]&lt;br /&gt;
** ...&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17488</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17488"/>
				<updated>2015-01-17T21:11:06Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optitrac =&lt;br /&gt;
&lt;br /&gt;
The optitrac is a motion capture system.&lt;br /&gt;
In the airlab is used to acquire ground truth of robots positions. This is very useful for testing the performances of the algorithms developed, such as [[SLAM]] algorithms.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
# A calibrated optitrac&lt;br /&gt;
# A pc with the Optitrac [https://github.com/ros-drivers/mocap_optitrack ros node ]&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrac PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17487</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17487"/>
				<updated>2015-01-17T21:07:05Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Prerequisites =&lt;br /&gt;
# A calibrated optitrac&lt;br /&gt;
# A pc with the Optitrac [https://github.com/ros-drivers/mocap_optitrack ros node ]&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrac PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17486</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17486"/>
				<updated>2015-01-17T21:06:27Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Prerequisites =&lt;br /&gt;
# A calibrated optitrac&lt;br /&gt;
# A pc with the Optitrac [ros node | https://github.com/ros-drivers/mocap_optitrack]&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrac PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Resources&amp;diff=17485</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Resources&amp;diff=17485"/>
				<updated>2015-01-17T21:05:46Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful Resources ==&lt;br /&gt;
&lt;br /&gt;
===== Where can I test my robot? =====&lt;br /&gt;
Usually, experiments are done within the space of our labs ([[The_AIRlab_sites|see here]]). &lt;br /&gt;
In special cases (ask your advisor!) test may be carried out in the courtyard of [[AIRLab_Lambrate]]. This courtyard is a medium-size space enclosed by the building (but without a roof), with a flat floor, where mobile robots can move around a little more freely than in the labs. Should you need it, we have a CAD drawing (with dimensions) of the courtyard (ask [[User:GiulioFontana|Giulio Fontana]]); [[File:Cortile_lambrate.pdf]] is a pdf black-and-white copy (A3-size) of it.&lt;br /&gt;
&lt;br /&gt;
===== Writing and Reading =====&lt;br /&gt;
* [[Tesi|How to write a thesis?]] Suggestions to prepare your thesis (only in Italian for now... translators are welcome!).&lt;br /&gt;
*[[ThesisPresentation|How to write slides and make a presentation]]&lt;br /&gt;
* [[Suggestions to write well]] can help to produce a good thesis, as well as good scientific publications in general. Here is the part of the 14 steps to write well found on the [http://www.sfedit.net San Francisco Edit company site] that Andrea Bonarini shares.&lt;br /&gt;
* You can access '''all the papers''' for which Politecnico has bought a subscription even when you are at home if you enable the [[http://www.asi.polimi.it/rete/proxy/index.html Politecnico proxy]]. The instruction page is provided by the nice people of [http://www.asi.polimi.it/ ASI] in Italian only.  For an English version of the page, try to poke them if you can find how to get in touch with them.&lt;br /&gt;
* [[Tips for editors]] of AIRWiki are also collected by this community, just to help to understand some of the hidden beauty of semantic WIKIs.&lt;br /&gt;
&lt;br /&gt;
===== Version Control =====&lt;br /&gt;
* piccola guida a [[Git |  git]]&lt;br /&gt;
* piccola guida a [[Svn | svn]]&lt;br /&gt;
&lt;br /&gt;
===== Software and programming =====&lt;br /&gt;
* Once you have finished your work you should deliver it on the [[AIRLab Repository]]&lt;br /&gt;
* Someone wrote some advice about [[Writing Good Code|writing code]]&lt;br /&gt;
* [http://www.roboticswikibook.org/ Robotics wikibook]: a source of design suggestions for robotics, initiated by the EU project BRICS.&lt;br /&gt;
* Info about [[Mathematica]]&lt;br /&gt;
* How to plot using gnuplot in your C/C++ project [[Gnuplot in cpp]]&lt;br /&gt;
* The ever-growing AIRLab guide about [[Getting Started With PIC(TM) MCU]]&lt;br /&gt;
* Howto on [[VCSBC4018 vision board]]&lt;br /&gt;
* Go to our [[ROS HOWTO|ROS HOWTO page]] for advice and tutorials about ROS (Robot Operating System)&lt;br /&gt;
* A few resources on [[Low Cost RTK GPS|Low Cost RTK GPS]] that might be useful&lt;br /&gt;
&lt;br /&gt;
===== Hardware =====&lt;br /&gt;
* The [[Optitrac]] use guide&lt;br /&gt;
* Go to [[What's in the AIRLab]] if you are looking for stuff in the lab&lt;br /&gt;
* Need some component that isn't in the AIRLab for your project? Please add a row in the [[Shopping list]] and ask your advisor or [[User:GiulioFontana|Giulio Fontana]].&lt;br /&gt;
* Need to design a new robot and have no ideas bout how to select the basic elements? Have a look [http://www.robotshop.com/blog/en/how-to-make-a-robot-lesson-1-3707 here] and then talk with your advisor, before taking any decision.&lt;br /&gt;
* Some practical [http://www.instructables.com/id/Lithium-Polymer-Etiquette/ hints about LiPo Batteries]&lt;br /&gt;
* Need to learn how to solder? Check the following links: [http://www.wireless.hackaday.com/2007/10/26/how-to-introduction-to-soldering/ 1] [http://www.wireless.hackaday.com/2007/10/28/followup-soldering-how-to/ 2] [http://www.make-digital.com/make/vol01/?pg=166 3]&lt;br /&gt;
* Need the US name for that bit of mechanics? Use [http://www.boltdepot.com/fastener-information/Printable-Tools/Type-Chart.pdf this useful chart]. By the way, [http://www.boltdepot.com/fastener-information/Printable-Tools/ at the same place] you can find other useful stuff of the same type.&lt;br /&gt;
&lt;br /&gt;
===== Shops =====&lt;br /&gt;
* Some useful addresses and links about shops, stores, factories, online catalogues. With some of them we have partnerships for discounts. You can find information [[Shops| here]].&lt;br /&gt;
&lt;br /&gt;
===== Hardware configuration =====&lt;br /&gt;
* Dei Phd-room (T11) printer configuration [[DeiPhdRoomPrinter | instructions]].&lt;br /&gt;
&lt;br /&gt;
===== For AIRWiki Administrators =====&lt;br /&gt;
&lt;br /&gt;
* [[AIRWiki:AdminFAQ]] (FAQs about common admin tasks such as '''adding users''', changing passwords, user renaming, etc.)&lt;br /&gt;
* [[Airpaper]] (writing a paper? This is a tool to share it with the other authors)&lt;br /&gt;
* [[DEI_Subversion_Administration]] (this is mainly for faculties)&lt;br /&gt;
* [[AIRWiki:Main]] (information about this specific AIRWiki installation)&lt;br /&gt;
* Are you having problems updating semantic information in the Wiki (i.e. you update it but it is not reflected on the rest of the website)? [[SemanticPropagation|Check this]] link for a possible solution to your problem.&lt;br /&gt;
&lt;br /&gt;
===== Producing videos and publishing them =====&lt;br /&gt;
* Usually, at the end of the project, people tend to produce a video and put it on the web. The best way to do this is to [[produce a video]] and then send it to [[User:AndreaBonarini | Andrea Bonarini]] to have it published on the YouTube channel of the AIRLab. Then you can put the link wherever you want, hopefully also in the page of your project on AIRWiki, as done, e.g. in [[ROBOWII]]&lt;br /&gt;
&lt;br /&gt;
===== Miscellanea (uncategorized) =====&lt;br /&gt;
* If you are searching the homepage of a DEI professor (or PhD Student) try this [http://mycroft.mozdev.org/download.html?name=dei+people&amp;amp;skipcache=yes Mozilla Firefox plugin].&lt;br /&gt;
* For [http://ph.dei.polimi.it/phday PhDay08] we've set up an [http://www.easychair.org Easychair] account for paper reviews. Here's a little [[EasyChair Reviews|tutorial for reviewers]] that might be useful in case you have to review somehing/teach someone how the system works.&lt;br /&gt;
* Useful phone numbers, download [[Media:ElencoTelefonico.odt.zip|ODT]] document or [[Media:ElencoTelefonico.pdf|PDF]].&lt;br /&gt;
* To remove from a surface any sticky remains of the glue or tape you used to affix something to it (e.g., the markers used by [[LURCH - The autonomous wheelchair|LURCH]]): try [http://www.henkel.it/adesivi/schede/pdf/TDS_Pattex_Rimuovicolla.pdf this] (Pattex Rimuovi Colla). It doesn't damage (most) surfaces.&lt;br /&gt;
* [[Recipes]] (yes, REAL recipies of special food) from people at AIRLab&lt;br /&gt;
* Sometimes, some ''geeky fun'' is all you need. [[Humour|Find it here!]]&lt;br /&gt;
* Wanna learn something, use  [http://www.cheatography.com/ cheatsheets]!&lt;br /&gt;
** Matt  [http://www.cheatography.com/spaceduck/cheat-sheets/coffee-drinks-and-machines/ likes coffes]&lt;br /&gt;
** Giulio [http://www.cheatography.com/fredv/cheat-sheets/eq-tips/ is an equilibrated person]&lt;br /&gt;
** ...&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Resources&amp;diff=17484</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Resources&amp;diff=17484"/>
				<updated>2015-01-17T20:52:04Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Useful Resources ==&lt;br /&gt;
&lt;br /&gt;
===== Where can I test my robot? =====&lt;br /&gt;
Usually, experiments are done within the space of our labs ([[The_AIRlab_sites|see here]]). &lt;br /&gt;
In special cases (ask your advisor!) test may be carried out in the courtyard of [[AIRLab_Lambrate]]. This courtyard is a medium-size space enclosed by the building (but without a roof), with a flat floor, where mobile robots can move around a little more freely than in the labs. Should you need it, we have a CAD drawing (with dimensions) of the courtyard (ask [[User:GiulioFontana|Giulio Fontana]]); [[File:Cortile_lambrate.pdf]] is a pdf black-and-white copy (A3-size) of it.&lt;br /&gt;
&lt;br /&gt;
===== Writing and Reading =====&lt;br /&gt;
* [[Tesi|How to write a thesis?]] Suggestions to prepare your thesis (only in Italian for now... translators are welcome!).&lt;br /&gt;
*[[ThesisPresentation|How to write slides and make a presentation]]&lt;br /&gt;
* [[Suggestions to write well]] can help to produce a good thesis, as well as good scientific publications in general. Here is the part of the 14 steps to write well found on the [http://www.sfedit.net San Francisco Edit company site] that Andrea Bonarini shares.&lt;br /&gt;
* You can access '''all the papers''' for which Politecnico has bought a subscription even when you are at home if you enable the [[http://www.asi.polimi.it/rete/proxy/index.html Politecnico proxy]]. The instruction page is provided by the nice people of [http://www.asi.polimi.it/ ASI] in Italian only.  For an English version of the page, try to poke them if you can find how to get in touch with them.&lt;br /&gt;
* [[Tips for editors]] of AIRWiki are also collected by this community, just to help to understand some of the hidden beauty of semantic WIKIs.&lt;br /&gt;
&lt;br /&gt;
===== Version Control =====&lt;br /&gt;
* piccola guida a [[Git |  git]]&lt;br /&gt;
* piccola guida a [[Svn | svn]]&lt;br /&gt;
&lt;br /&gt;
===== Software and programming =====&lt;br /&gt;
* Once you have finished your work you should deliver it on the [[AIRLab Repository]]&lt;br /&gt;
* Someone wrote some advice about [[Writing Good Code|writing code]]&lt;br /&gt;
* [http://www.roboticswikibook.org/ Robotics wikibook]: a source of design suggestions for robotics, initiated by the EU project BRICS.&lt;br /&gt;
* Info about [[Mathematica]]&lt;br /&gt;
* How to plot using gnuplot in your C/C++ project [[Gnuplot in cpp]]&lt;br /&gt;
* The ever-growing AIRLab guide about [[Getting Started With PIC(TM) MCU]]&lt;br /&gt;
* Howto on [[VCSBC4018 vision board]]&lt;br /&gt;
* Go to our [[ROS HOWTO|ROS HOWTO page]] for advice and tutorials about ROS (Robot Operating System)&lt;br /&gt;
* A few resources on [[Low Cost RTK GPS|Low Cost RTK GPS]] that might be useful&lt;br /&gt;
&lt;br /&gt;
===== Hardware =====&lt;br /&gt;
* The [Optitrac] use guide&lt;br /&gt;
* Go to [[What's in the AIRLab]] if you are looking for stuff in the lab&lt;br /&gt;
* Need some component that isn't in the AIRLab for your project? Please add a row in the [[Shopping list]] and ask your advisor or [[User:GiulioFontana|Giulio Fontana]].&lt;br /&gt;
* Need to design a new robot and have no ideas bout how to select the basic elements? Have a look [http://www.robotshop.com/blog/en/how-to-make-a-robot-lesson-1-3707 here] and then talk with your advisor, before taking any decision.&lt;br /&gt;
* Some practical [http://www.instructables.com/id/Lithium-Polymer-Etiquette/ hints about LiPo Batteries]&lt;br /&gt;
* Need to learn how to solder? Check the following links: [http://www.wireless.hackaday.com/2007/10/26/how-to-introduction-to-soldering/ 1] [http://www.wireless.hackaday.com/2007/10/28/followup-soldering-how-to/ 2] [http://www.make-digital.com/make/vol01/?pg=166 3]&lt;br /&gt;
* Need the US name for that bit of mechanics? Use [http://www.boltdepot.com/fastener-information/Printable-Tools/Type-Chart.pdf this useful chart]. By the way, [http://www.boltdepot.com/fastener-information/Printable-Tools/ at the same place] you can find other useful stuff of the same type.&lt;br /&gt;
&lt;br /&gt;
===== Shops =====&lt;br /&gt;
* Some useful addresses and links about shops, stores, factories, online catalogues. With some of them we have partnerships for discounts. You can find information [[Shops| here]].&lt;br /&gt;
&lt;br /&gt;
===== Hardware configuration =====&lt;br /&gt;
* Dei Phd-room (T11) printer configuration [[DeiPhdRoomPrinter | instructions]].&lt;br /&gt;
&lt;br /&gt;
===== For AIRWiki Administrators =====&lt;br /&gt;
&lt;br /&gt;
* [[AIRWiki:AdminFAQ]] (FAQs about common admin tasks such as '''adding users''', changing passwords, user renaming, etc.)&lt;br /&gt;
* [[Airpaper]] (writing a paper? This is a tool to share it with the other authors)&lt;br /&gt;
* [[DEI_Subversion_Administration]] (this is mainly for faculties)&lt;br /&gt;
* [[AIRWiki:Main]] (information about this specific AIRWiki installation)&lt;br /&gt;
* Are you having problems updating semantic information in the Wiki (i.e. you update it but it is not reflected on the rest of the website)? [[SemanticPropagation|Check this]] link for a possible solution to your problem.&lt;br /&gt;
&lt;br /&gt;
===== Producing videos and publishing them =====&lt;br /&gt;
* Usually, at the end of the project, people tend to produce a video and put it on the web. The best way to do this is to [[produce a video]] and then send it to [[User:AndreaBonarini | Andrea Bonarini]] to have it published on the YouTube channel of the AIRLab. Then you can put the link wherever you want, hopefully also in the page of your project on AIRWiki, as done, e.g. in [[ROBOWII]]&lt;br /&gt;
&lt;br /&gt;
===== Miscellanea (uncategorized) =====&lt;br /&gt;
* If you are searching the homepage of a DEI professor (or PhD Student) try this [http://mycroft.mozdev.org/download.html?name=dei+people&amp;amp;skipcache=yes Mozilla Firefox plugin].&lt;br /&gt;
* For [http://ph.dei.polimi.it/phday PhDay08] we've set up an [http://www.easychair.org Easychair] account for paper reviews. Here's a little [[EasyChair Reviews|tutorial for reviewers]] that might be useful in case you have to review somehing/teach someone how the system works.&lt;br /&gt;
* Useful phone numbers, download [[Media:ElencoTelefonico.odt.zip|ODT]] document or [[Media:ElencoTelefonico.pdf|PDF]].&lt;br /&gt;
* To remove from a surface any sticky remains of the glue or tape you used to affix something to it (e.g., the markers used by [[LURCH - The autonomous wheelchair|LURCH]]): try [http://www.henkel.it/adesivi/schede/pdf/TDS_Pattex_Rimuovicolla.pdf this] (Pattex Rimuovi Colla). It doesn't damage (most) surfaces.&lt;br /&gt;
* [[Recipes]] (yes, REAL recipies of special food) from people at AIRLab&lt;br /&gt;
* Sometimes, some ''geeky fun'' is all you need. [[Humour|Find it here!]]&lt;br /&gt;
* Wanna learn something, use  [http://www.cheatography.com/ cheatsheets]!&lt;br /&gt;
** Matt  [http://www.cheatography.com/spaceduck/cheat-sheets/coffee-drinks-and-machines/ likes coffes]&lt;br /&gt;
** Giulio [http://www.cheatography.com/fredv/cheat-sheets/eq-tips/ is an equilibrated person]&lt;br /&gt;
** ...&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17483</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17483"/>
				<updated>2015-01-17T20:48:27Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Prerequisites =&lt;br /&gt;
# A calibrated optitrac&lt;br /&gt;
# A pc with the Optitrac ros node&lt;br /&gt;
&lt;br /&gt;
= Acquisition =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrac PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	<entry>
		<id>https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17482</id>
		<title>Optitrack</title>
		<link rel="alternate" type="text/html" href="https://airwiki.deib.polimi.it/index.php?title=Optitrack&amp;diff=17482"/>
				<updated>2015-01-17T20:47:45Z</updated>
		
		<summary type="html">&lt;p&gt;DavideTateo: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Prerequisites =&lt;br /&gt;
# A calibrated optitrac&lt;br /&gt;
# A pc with the Optitrac ros node&lt;br /&gt;
&lt;br /&gt;
= Steps =&lt;br /&gt;
&lt;br /&gt;
# Connect the two power cables of the two switches&lt;br /&gt;
# Turn on the optitrac PC (windows)&lt;br /&gt;
# Start Motive&lt;br /&gt;
# Start data streaming&lt;br /&gt;
## Click on &amp;quot;View&amp;quot;&lt;br /&gt;
## Click on &amp;quot;Data Streaming&amp;quot;&lt;br /&gt;
## Write  your pc IP&lt;br /&gt;
# Start the ros node in your pc&lt;/div&gt;</summary>
		<author><name>DavideTateo</name></author>	</entry>

	</feed>