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

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=What%27s_in_the_AIRLab&amp;diff=16629</id>
		<title>What's in the AIRLab</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=What%27s_in_the_AIRLab&amp;diff=16629"/>
				<updated>2013-11-27T18:13:35Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Power */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is used to keep track of the hardware that you can find in the various AIRLab sites (a list of which is given in [[The Labs]]). The gear is divided into categories, and you must go to the relevant one to know what is available, its main characteristics, and where it is now. The way this page is used (and the way ''you'' must use it) is described below, in this [[#HOWTO use this page (read this first!)|HOWTO]].&lt;br /&gt;
&lt;br /&gt;
As we are on the topic of &amp;quot;where things are&amp;quot;, please keep in mind that ''other'' people want to find things as much as ''you'' want that, so '''if you are moving some piece of hardware away from its storage location, or taking it from someone who has finished using it, please update the AIRWiki *now*'''.&lt;br /&gt;
&lt;br /&gt;
If something you need is missing, add a row in the [[Shopping list]] and ask your advisor or [[User:GiulioFontana|Giulio Fontana]].&lt;br /&gt;
In case, after being instructed about what to do to be reimbursed, and authorized, you may go in a shop and get what you need.&lt;br /&gt;
Here is a list of [[Dealers|dealers]] that we used in the past.&lt;br /&gt;
&lt;br /&gt;
Remember that there are '''risks''' associated to the use of some kind of hardware. They are described, along with the instructions to avoid them, in the [[Safety norms]]. You are '''required''' to know these norms (actually, to access the AIRLab you have to sign a document stating that you know them: see [[Bureaucracy]]), and you have full responsibility for anything you do in the AIRLab.&lt;br /&gt;
&lt;br /&gt;
===HOWTO use this page (read this first!)===&lt;br /&gt;
This is the page where ''every'' piece of hardware available to AIRLab's users must be listed. To see some examples, go to the categories below. This page is used to document what is available, and (crucially) to '''find things'''.&lt;br /&gt;
&lt;br /&gt;
As a general rule: if a piece of equipment is somewhere in the AIRLab (see [[The Labs]]), it must also be possible to ''find'' it by going to the right one of the categories listed in the following part of this page. If the right category doesn't exist, and you are currently using the equipment, ''you'' must create a new category. If the category exists but the piece of equipment you are using is not listed in it, ''you'' must add it to the category. This is also needed if you bought something new.&lt;br /&gt;
&lt;br /&gt;
Each category is a collection of links. Each link points to a page of the AIRWiki dedicated to a specific class of hardware. Such &amp;quot;class page&amp;quot; must ''at least'' contain a table where - for every piece of hardware included into the class - the following data are specified:&lt;br /&gt;
* make and model;&lt;br /&gt;
* where it is located when not in use;&lt;br /&gt;
* who is using it currently (put here a link to one of the user pages in [[Special:Listusers]]).&lt;br /&gt;
These are the data necessary to find a piece of hardware; in addition to those, it's very nice if you add to the table:&lt;br /&gt;
* the main specifications;&lt;br /&gt;
* a link to the datasheet and/or the user's manual (in the maker's website).&lt;br /&gt;
&lt;br /&gt;
If you really want to go over the top, and be kindly remembered forever by AIRLab users, you can complete the &amp;quot;class page&amp;quot; with a short introduction about the kind of hardware it is dedicated to. It's also very good if you put here a description of the key points and the pitfalls in the choice and use of such hardware, so that your experience (and misfortunes) are not wasted. If you want an example of such an introduction, look at the [[Cameras, lenses and mirrors]] page (a less verbose version is good too!).&lt;br /&gt;
&lt;br /&gt;
If you need support to use basic components, have a look [http://www.robotshop.com/blog/en/how-to-make-a-robot-lesson-1-3707 here] and ask your advisor.&lt;br /&gt;
&lt;br /&gt;
===Robots===&lt;br /&gt;
*[[LURCH - The autonomous wheelchair]]&lt;br /&gt;
*[[Tiltone]]&lt;br /&gt;
*[[Tilty]]&lt;br /&gt;
*[[Triskar2]]&lt;br /&gt;
*[[Robocom]]&lt;br /&gt;
*[[MRT, the Milan Robocup Team]]&lt;br /&gt;
*[[A.R.Drone Parrot]]&lt;br /&gt;
*[[Spykee]]&lt;br /&gt;
*[[ArduQuad]]&lt;br /&gt;
*[[I-Racer]]&lt;br /&gt;
*[[The MO.RO. family]]&lt;br /&gt;
*[[Manipulators]]&lt;br /&gt;
*[[Humanoid and bio-inspired robots]]&lt;br /&gt;
*[[Roomba - vacuuming robots | Roomba]]&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
*[[Cameras, lenses and mirrors]]&lt;br /&gt;
*[[Laser Range Finders]]&lt;br /&gt;
*[[Sonars]]&lt;br /&gt;
*[[Infrared Range Sensors]]&lt;br /&gt;
*[[Inertial Measurement Units]]&lt;br /&gt;
*[[Absolute position sensors]] (e.g. GPS)&lt;br /&gt;
*[[Kinect]]&lt;br /&gt;
&lt;br /&gt;
===Human/machine interfaces===&lt;br /&gt;
*[[Electroencephalographs]]&lt;br /&gt;
*[[Biofeedback and neurofeedback systems]]&lt;br /&gt;
*[[WIIMote]]&lt;br /&gt;
&lt;br /&gt;
===Instruments===&lt;br /&gt;
*[[Oscilloscopes and waveform generators]]&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
*[[Power supplies]]&lt;br /&gt;
*[[Batteries and chargers]]&lt;br /&gt;
*[[Connectors]]&lt;br /&gt;
&lt;br /&gt;
===Control and actuation===&lt;br /&gt;
*[[Microcontrollers and accessories]]&lt;br /&gt;
*[[Motors, gearboxes &amp;amp; encoders]]&lt;br /&gt;
*[[Motor control boards]]&lt;br /&gt;
*[[Servomechanisms (aka &amp;quot;Servos&amp;quot;)]]&lt;br /&gt;
*[[Rotary tables]]&lt;br /&gt;
&lt;br /&gt;
===Mechanics===&lt;br /&gt;
*[[Tools]]&lt;br /&gt;
*[[Aluminium profiles and accessories]]&lt;br /&gt;
*[[Lathe]]&lt;br /&gt;
&lt;br /&gt;
===Computers and boards===&lt;br /&gt;
*[[O-Droid]]&lt;br /&gt;
*[[Raspberry PI]]&lt;br /&gt;
*[[Arduino]]&lt;br /&gt;
*[[User-accessible PCs]]&lt;br /&gt;
*[[PCBricks]]&lt;br /&gt;
*[[Number crunching]] (or: how you can do experiments in hours instead of days)&lt;br /&gt;
*Internet access for laptops: see [[Bureaucracy#HOW TO connect your laptop to the Internet | here]]&lt;br /&gt;
&lt;br /&gt;
===Other stuff ===&lt;br /&gt;
*[[Camcorder]]&lt;br /&gt;
*[[Contact printer]] (also called bromograph)&lt;br /&gt;
*[[XBee RF Modules]]&lt;br /&gt;
*[[Lego Mindstorms]]&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16628</id>
		<title>Connectors</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16628"/>
				<updated>2013-11-27T18:12:51Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Device connector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Connectors=&lt;br /&gt;
&lt;br /&gt;
In the AIRLab we use several connectors to power our robots and interconnect the various components.&lt;br /&gt;
New projects should follow the standard we defined to avoid connection mistakes and faults.&lt;br /&gt;
If you have doubts about which connector is referred as &amp;quot;male&amp;quot; and which as &amp;quot;female&amp;quot;, please [http://en.wikipedia.org/wiki/Gender_of_connectors_and_fasteners#Electrical_and_electronic read this].&lt;br /&gt;
The short answer: look at the contact, not at the shrouding.&lt;br /&gt;
&lt;br /&gt;
==Battery connectors==&lt;br /&gt;
&lt;br /&gt;
Two battery connectors are used, depending on the type of battery.&lt;br /&gt;
In this way, wrong battery - charger pairing are prevented.&lt;br /&gt;
&lt;br /&gt;
===Lead-acid battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lead%E2%80%93acid_battery lead-acid batteries], we use [http://traxxas.com/products/parts/accessories/highcurrentconnector traxxas-style connectors].&lt;br /&gt;
&lt;br /&gt;
 [[File:Traxxas-female.jpg|x320px]] [[File:Traxxas-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, partially shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
This side should never be unconnected AND powered, but pay attention if the male connector is floating and the robot is powered by other means (e.g., by an external power supply).&lt;br /&gt;
&lt;br /&gt;
Need to solder one of these connectors? Give a look at [http://www.youtube.com/watch?v=Lh4GDo9JekQ this video].&lt;br /&gt;
&lt;br /&gt;
===Lithium-polimer battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lithium_polymer_battery Lithium-polimer (LiPo) batteries], we use EC3 connectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Ec3-female.jpg|x320px]] [[File:Ec3-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, fully shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
&lt;br /&gt;
Need to solder one of these connectors? Give a look at [http://www.youtube.com/watch?v=vYpJI1zJXOo this video].&lt;br /&gt;
&lt;br /&gt;
==System connectors==&lt;br /&gt;
&lt;br /&gt;
Different connectors are used to power devices (e.g., motor controllers) and actuators (e.g., motors).&lt;br /&gt;
&lt;br /&gt;
===Main supply connector===&lt;br /&gt;
&lt;br /&gt;
All devices needing direct connection to the main supply (i.e., the batteries) use EC3 connectors, the same we use for LiPo batteries.&lt;br /&gt;
&lt;br /&gt;
The male connector is used on device side (i.e., this is the side needing power), while the female connector is used on the supply side.&lt;br /&gt;
&lt;br /&gt;
===Motor connector===&lt;br /&gt;
&lt;br /&gt;
To connect motors to control electronics (e.g., a motor driver) we use shrouded, single, 3.5mm bullet connectors.&lt;br /&gt;
These connectors are not polarized, so motor connections can be easily swapped if needed.&lt;br /&gt;
&lt;br /&gt;
[[File:Bullet.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female connector (the shrouding on the right, which is equipped with the top contact) is used on the powering side (e.g., the motor driver).&lt;br /&gt;
&lt;br /&gt;
The male connector (the shrouding on the left, which is equipped with the bottom contact) is used on the motor side.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16627</id>
		<title>Connectors</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16627"/>
				<updated>2013-11-27T18:12:21Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Connectors=&lt;br /&gt;
&lt;br /&gt;
In the AIRLab we use several connectors to power our robots and interconnect the various components.&lt;br /&gt;
New projects should follow the standard we defined to avoid connection mistakes and faults.&lt;br /&gt;
If you have doubts about which connector is referred as &amp;quot;male&amp;quot; and which as &amp;quot;female&amp;quot;, please [http://en.wikipedia.org/wiki/Gender_of_connectors_and_fasteners#Electrical_and_electronic read this].&lt;br /&gt;
The short answer: look at the contact, not at the shrouding.&lt;br /&gt;
&lt;br /&gt;
==Battery connectors==&lt;br /&gt;
&lt;br /&gt;
Two battery connectors are used, depending on the type of battery.&lt;br /&gt;
In this way, wrong battery - charger pairing are prevented.&lt;br /&gt;
&lt;br /&gt;
===Lead-acid battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lead%E2%80%93acid_battery lead-acid batteries], we use [http://traxxas.com/products/parts/accessories/highcurrentconnector traxxas-style connectors].&lt;br /&gt;
&lt;br /&gt;
 [[File:Traxxas-female.jpg|x320px]] [[File:Traxxas-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, partially shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
This side should never be unconnected AND powered, but pay attention if the male connector is floating and the robot is powered by other means (e.g., by an external power supply).&lt;br /&gt;
&lt;br /&gt;
Need to solder one of these connectors? Give a look at [http://www.youtube.com/watch?v=Lh4GDo9JekQ this video].&lt;br /&gt;
&lt;br /&gt;
===Lithium-polimer battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lithium_polymer_battery Lithium-polimer (LiPo) batteries], we use EC3 connectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Ec3-female.jpg|x320px]] [[File:Ec3-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, fully shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
&lt;br /&gt;
Need to solder one of these connectors? Give a look at [http://www.youtube.com/watch?v=vYpJI1zJXOo this video].&lt;br /&gt;
&lt;br /&gt;
==System connectors==&lt;br /&gt;
&lt;br /&gt;
Different connectors are used to power devices (e.g., motor controllers) and actuators (e.g., motors).&lt;br /&gt;
&lt;br /&gt;
===Device connector===&lt;br /&gt;
&lt;br /&gt;
All devices needing direct connection to the main supply (i.e., the batteries) use EC3 connectors, the same we use for LiPo batteries.&lt;br /&gt;
&lt;br /&gt;
The male connector is used on device side (i.e., this is the side needing power), while the female connector is used on the supply side.&lt;br /&gt;
&lt;br /&gt;
===Motor connector===&lt;br /&gt;
&lt;br /&gt;
To connect motors to control electronics (e.g., a motor driver) we use shrouded, single, 3.5mm bullet connectors.&lt;br /&gt;
These connectors are not polarized, so motor connections can be easily swapped if needed.&lt;br /&gt;
&lt;br /&gt;
[[File:Bullet.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female connector (the shrouding on the right, which is equipped with the top contact) is used on the powering side (e.g., the motor driver).&lt;br /&gt;
&lt;br /&gt;
The male connector (the shrouding on the left, which is equipped with the bottom contact) is used on the motor side.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16626</id>
		<title>Connectors</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16626"/>
				<updated>2013-11-27T18:11:22Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Connectors=&lt;br /&gt;
&lt;br /&gt;
In the AIRLab we use several connectors to power our robots and interconnect the various components.&lt;br /&gt;
New projects should follow the standard we defined to avoid connection mistakes and faults.&lt;br /&gt;
If you have doubts about which connector is referred as &amp;quot;male&amp;quot; and which as &amp;quot;female&amp;quot;, please [http://en.wikipedia.org/wiki/Gender_of_connectors_and_fasteners#Electrical_and_electronic read this].&lt;br /&gt;
The short answer: look at the contact, not at the shrouding.&lt;br /&gt;
&lt;br /&gt;
==Battery connectors==&lt;br /&gt;
&lt;br /&gt;
Two battery connectors are used, depending on the type of battery.&lt;br /&gt;
In this way, wrong battery - charger pairing are prevented.&lt;br /&gt;
&lt;br /&gt;
===Lead-acid battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lead%E2%80%93acid_battery lead-acid batteries], we use [http://traxxas.com/products/parts/accessories/highcurrentconnector traxxas-style connectors].&lt;br /&gt;
&lt;br /&gt;
 [[File:Traxxas-female.jpg|x320px]] [[File:Traxxas-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, partially shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
This side should never be unconnected AND powered, but pay attention if the male connector is floating and the robot is powered by other means (e.g., by an external power supply).&lt;br /&gt;
&lt;br /&gt;
Need to solder one of these connectors? Give a look at [http://www.youtube.com/watch?v=K-vUcTrBxGo this video].&lt;br /&gt;
&lt;br /&gt;
===Lithium-polimer battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lithium_polymer_battery Lithium-polimer (LiPo) batteries], we use EC3 connectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Ec3-female.jpg|x320px]] [[File:Ec3-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, fully shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
&lt;br /&gt;
Need to solder one of these connectors? Give a look at [http://www.youtube.com/watch?v=vYpJI1zJXOo this video].&lt;br /&gt;
&lt;br /&gt;
==System connectors==&lt;br /&gt;
&lt;br /&gt;
Different connectors are used to power devices (e.g., motor controllers) and actuators (e.g., motors).&lt;br /&gt;
&lt;br /&gt;
===Device connector===&lt;br /&gt;
&lt;br /&gt;
All devices needing direct connection to the main supply (i.e., the batteries) use EC3 connectors, the same we use for LiPo batteries.&lt;br /&gt;
&lt;br /&gt;
The male connector is used on device side (i.e., this is the side needing power), while the female connector is used on the supply side.&lt;br /&gt;
&lt;br /&gt;
===Motor connector===&lt;br /&gt;
&lt;br /&gt;
To connect motors to control electronics (e.g., a motor driver) we use shrouded, single, 3.5mm bullet connectors.&lt;br /&gt;
These connectors are not polarized, so motor connections can be easily swapped if needed.&lt;br /&gt;
&lt;br /&gt;
[[File:Bullet.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female connector (the shrouding on the right, which is equipped with the top contact) is used on the powering side (e.g., the motor driver).&lt;br /&gt;
&lt;br /&gt;
The male connector (the shrouding on the left, which is equipped with the bottom contact) is used on the motor side.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16625</id>
		<title>Connectors</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16625"/>
				<updated>2013-11-27T18:05:38Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Lithium-polimer battery connector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Connectors=&lt;br /&gt;
&lt;br /&gt;
In the AIRLab we use several connectors to power our robots and interconnect the various components.&lt;br /&gt;
New projects should follow the standard we defined to avoid connection mistakes and faults.&lt;br /&gt;
If you have doubts about which connector is referred as &amp;quot;male&amp;quot; and which as &amp;quot;female&amp;quot;, please [http://en.wikipedia.org/wiki/Gender_of_connectors_and_fasteners#Electrical_and_electronic read this].&lt;br /&gt;
The short answer: look at the contact, not at the shrouding.&lt;br /&gt;
&lt;br /&gt;
==Battery connectors==&lt;br /&gt;
&lt;br /&gt;
Two battery connectors are used, depending on the type of battery.&lt;br /&gt;
In this way, wrong battery - charger pairing are prevented.&lt;br /&gt;
&lt;br /&gt;
===Lead-acid battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lead%E2%80%93acid_battery lead-acid batteries], we use [http://traxxas.com/products/parts/accessories/highcurrentconnector traxxas-style connectors].&lt;br /&gt;
&lt;br /&gt;
 [[File:Traxxas-female.jpg|x320px]] [[File:Traxxas-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, partially shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
This side should never be unconnected AND powered, but pay attention if the male connector is floating and the robot is powered by other means (e.g., by an external power supply).&lt;br /&gt;
&lt;br /&gt;
===Lithium-polimer battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lithium_polymer_battery Lithium-polimer (LiPo) batteries], we use EC3 connectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Ec3-female.jpg|x320px]] [[File:Ec3-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, fully shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
&lt;br /&gt;
Need to solder one of these connectors? Give a look at [http://www.youtube.com/watch?v=vYpJI1zJXOo this video].&lt;br /&gt;
&lt;br /&gt;
==System connectors==&lt;br /&gt;
&lt;br /&gt;
Different connectors are used to power devices (e.g., motor controllers) and actuators (e.g., motors).&lt;br /&gt;
&lt;br /&gt;
===Device connector===&lt;br /&gt;
&lt;br /&gt;
All devices needing direct connection to the main supply (i.e., the batteries) use EC3 connectors, the same we use for LiPo batteries.&lt;br /&gt;
&lt;br /&gt;
The male connector is used on device side (i.e., this is the side needing power), while the female connector is used on the supply side.&lt;br /&gt;
&lt;br /&gt;
===Motor connector===&lt;br /&gt;
&lt;br /&gt;
To connect motors to control electronics (e.g., a motor driver) we use shrouded, single, 3.5mm bullet connectors.&lt;br /&gt;
These connectors are not polarized, so motor connections can be easily swapped if needed.&lt;br /&gt;
&lt;br /&gt;
[[File:Bullet.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female connector (the shrouding on the right, which is equipped with the top contact) is used on the powering side (e.g., the motor driver).&lt;br /&gt;
&lt;br /&gt;
The male connector (the shrouding on the left, which is equipped with the bottom contact) is used on the motor side.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16624</id>
		<title>Connectors</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Connectors&amp;diff=16624"/>
				<updated>2013-11-27T18:00:52Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: Created page with &amp;quot;=Connectors=  In the AIRLab we use several connectors to power our robots and interconnect the various components. New projects should follow the standard we defined to avoid ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Connectors=&lt;br /&gt;
&lt;br /&gt;
In the AIRLab we use several connectors to power our robots and interconnect the various components.&lt;br /&gt;
New projects should follow the standard we defined to avoid connection mistakes and faults.&lt;br /&gt;
If you have doubts about which connector is referred as &amp;quot;male&amp;quot; and which as &amp;quot;female&amp;quot;, please [http://en.wikipedia.org/wiki/Gender_of_connectors_and_fasteners#Electrical_and_electronic read this].&lt;br /&gt;
The short answer: look at the contact, not at the shrouding.&lt;br /&gt;
&lt;br /&gt;
==Battery connectors==&lt;br /&gt;
&lt;br /&gt;
Two battery connectors are used, depending on the type of battery.&lt;br /&gt;
In this way, wrong battery - charger pairing are prevented.&lt;br /&gt;
&lt;br /&gt;
===Lead-acid battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lead%E2%80%93acid_battery lead-acid batteries], we use [http://traxxas.com/products/parts/accessories/highcurrentconnector traxxas-style connectors].&lt;br /&gt;
&lt;br /&gt;
 [[File:Traxxas-female.jpg|x320px]] [[File:Traxxas-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, partially shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
This side should never be unconnected AND powered, but pay attention if the male connector is floating and the robot is powered by other means (e.g., by an external power supply).&lt;br /&gt;
&lt;br /&gt;
===Lithium-polimer battery connector===&lt;br /&gt;
&lt;br /&gt;
To connect [http://en.wikipedia.org/wiki/Lithium_polymer_battery Lithium-polimer (LiPo) batteries], we use EC3 connectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Ec3-female.jpg|x320px]] [[File:Ec3-male.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female, fully shrouded connector (the one on the left on the previous figure) is used on the battery side.&lt;br /&gt;
&lt;br /&gt;
The male, fully shrouded connector (the one on the right on the previous figure) is used on the robot/charger side.&lt;br /&gt;
&lt;br /&gt;
==System connectors==&lt;br /&gt;
&lt;br /&gt;
Different connectors are used to power devices (e.g., motor controllers) and actuators (e.g., motors).&lt;br /&gt;
&lt;br /&gt;
===Device connector===&lt;br /&gt;
&lt;br /&gt;
All devices needing direct connection to the main supply (i.e., the batteries) use EC3 connectors, the same we use for LiPo batteries.&lt;br /&gt;
&lt;br /&gt;
The male connector is used on device side (i.e., this is the side needing power), while the female connector is used on the supply side.&lt;br /&gt;
&lt;br /&gt;
===Motor connector===&lt;br /&gt;
&lt;br /&gt;
To connect motors to control electronics (e.g., a motor driver) we use shrouded, single, 3.5mm bullet connectors.&lt;br /&gt;
These connectors are not polarized, so motor connections can be easily swapped if needed.&lt;br /&gt;
&lt;br /&gt;
[[File:Bullet.jpg|x320px]]&lt;br /&gt;
&lt;br /&gt;
The female connector (the shrouding on the right, which is equipped with the top contact) is used on the powering side (e.g., the motor driver).&lt;br /&gt;
&lt;br /&gt;
The male connector (the shrouding on the left, which is equipped with the bottom contact) is used on the motor side.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=File:Bullet.jpg&amp;diff=16623</id>
		<title>File:Bullet.jpg</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=File:Bullet.jpg&amp;diff=16623"/>
				<updated>2013-11-27T17:55:50Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: 3.5mm bullet male and female connectors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;3.5mm bullet male and female connectors&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=File:Ec3-male.jpg&amp;diff=16622</id>
		<title>File:Ec3-male.jpg</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=File:Ec3-male.jpg&amp;diff=16622"/>
				<updated>2013-11-27T17:30:33Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: EC3 male connector (image from hobbyking.com)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EC3 male connector (image from hobbyking.com)&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=File:Ec3-female.jpg&amp;diff=16621</id>
		<title>File:Ec3-female.jpg</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=File:Ec3-female.jpg&amp;diff=16621"/>
				<updated>2013-11-27T17:30:22Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: EC3 female connector (image from hobbyking.com)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EC3 female connector (image from hobbyking.com)&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=File:Traxxas-ec3.jpg&amp;diff=16620</id>
		<title>File:Traxxas-ec3.jpg</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=File:Traxxas-ec3.jpg&amp;diff=16620"/>
				<updated>2013-11-27T17:15:50Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: Traxxas-male to ec3-female adapter (image from hobbyking.com)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Traxxas-male to ec3-female adapter (image from hobbyking.com)&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=File:Traxxas-female.jpg&amp;diff=16619</id>
		<title>File:Traxxas-female.jpg</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=File:Traxxas-female.jpg&amp;diff=16619"/>
				<updated>2013-11-27T17:15:19Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: Traxxas-style female connector (image from hobbyking.com)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Traxxas-style female connector (image from hobbyking.com)&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=File:Traxxas-male.jpg&amp;diff=16618</id>
		<title>File:Traxxas-male.jpg</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=File:Traxxas-male.jpg&amp;diff=16618"/>
				<updated>2013-11-27T17:14:55Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: Traxxas-style male connector (image from hobbyking.com)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Traxxas-style male connector (image from hobbyking.com)&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=File:2013_04_Zoppi.PDF&amp;diff=16279</id>
		<title>File:2013 04 Zoppi.PDF</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=File:2013_04_Zoppi.PDF&amp;diff=16279"/>
				<updated>2013-05-16T10:33:05Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: uROSnode master thesis by Andrea Zoppi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;uROSnode master thesis by Andrea Zoppi&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Triskar2&amp;diff=15925</id>
		<title>Triskar2</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Triskar2&amp;diff=15925"/>
				<updated>2013-03-08T10:10:00Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Computing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General features ==&lt;br /&gt;
[[Image:Triskar2.jpg  |thumb|left|200px|The Triskar2 basic frame.]]&lt;br /&gt;
[[Image:Triskar2FlatSmall.JPG  |thumb|right|200px|The Triskar2 base as seen from the side, with PC mounting.]]&lt;br /&gt;
&lt;br /&gt;
Triskar2 is a highly modular omnidirectional robot base developed by AIRLab. Triskar2 benefits from some years of experience with the omnidirectional robot [http://robocup.elet.polimi.it/MRT/Robots/Triskar.html Triskar]. Triskar was built by AIRLab for the [[MRT, the Milan Robocup Team | Milan Robocup Team]], which participated to the [http://www.robocup.org Robocup] competition up to 2010.&lt;br /&gt;
&lt;br /&gt;
Triskar2 is modular from the mechanical, the electronic, and the software points of view. Its small dimensions (it fits within a circular area of roughly 600mm of diameter) are useful for use in indoor/cluttered environments.&lt;br /&gt;
&lt;br /&gt;
Any mechanical dimension can be changed within hours. Each arm holding the motor is independent and can be locked on the central pillar in seconds. This also allows easy transportation. On the central pillar different &amp;quot;bodies&amp;quot; can be locked.&lt;br /&gt;
&lt;br /&gt;
The electronics of Triskar2 is based on [[Low-cost Robotics | R2P]], which allows easy and quick modifications. Data processing is done onboard by a small-form-factor PC running software developed by AIRLab.&lt;br /&gt;
&lt;br /&gt;
Triskar2 is currently under development as a base for some [[Robogames]], the most advanced of which is presently [[Alien-Bot]].&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
=== Mechanics ===&lt;br /&gt;
[[Image:Triskar2 from below.jpg  |thumb|right|200px|The Triskar2 as seen from below.]]&lt;br /&gt;
&lt;br /&gt;
The frame of the robot is based on [http://www.item24.com/ Item] mechanical elements Motor and transmission subsystems have been designed to minimize the number of mechanical elements that have to be especially built or customized for this application, thus reducing the time, tooling and skills required for modification, repair or construction.&lt;br /&gt;
&lt;br /&gt;
Triskar2 uses three identical motor+transmission modules. Each of these includes the following elements:&lt;br /&gt;
* a [http://www.maxonmotor.com/ Maxon] motor+transmission+encoder combination (code #220251, composed of: #118798 DC motor mod. RE36, graphite brushes, 70W, ball bearings, 2 shafts; #166158 2-stage planetary gearhead, 2.25Nm, ball bearings; #110513 [http://www.velmex.com/pdf/other/data%20for%20HEDS%20rotary%20encoder.pdf HEDS 5540 encoder by HP], 500 impulses/turn);&lt;br /&gt;
* two [http://www.koyo.eu/en/ Koyo] model UP000 small pillow block bearings (many thanks to the Italian distributor [http://www.mci-componenti.it/ MCI] for helping us in getting these!);&lt;br /&gt;
* an omnidirectional 100mm wheel (model #14054, with hub #18009 for 10mm shaft) made by [http://www.opteq.nl/Shop/ Opteq];&lt;br /&gt;
* a short wheel shaft (aluminium, 10mm diameter);&lt;br /&gt;
* an elastic joint (#0.0.628.83, made by [http://www.item24.com/ Item]), used to connect the transmission shaft to the wheel shaft to reduce transmission of mechanical stresses.&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
Electronic elements (e.g., motor control) of Triskar2 are based [[Low-cost Robotics | R2P]], the modular robot architecture developed at AIRLab by [[User:MartinoMigliavacca | Martino Migliavacca]]. Independent, low-cost, HW modules implement the single functionalities (motor control, communication, sensor interfaces, ...) and it is connected to the others via a CAN bus, participating in a publish-subscribe architecture supported by the real-time operating system [http://chibios.org/dokuwiki/doku.php ChiBiOS]. This means that interaction among modules is implemented in real-time. Modules include an [http://www.st.com/ ST Microelectronics] ARM processor on which the basic functionalities of the module are implemented. Therefore, any robot HW can be implemented in hours.&lt;br /&gt;
&lt;br /&gt;
R2P exposes a [MicroROS] interface, enabling each R2P node to interact directly to any [http://www.ros.org/ ROS] node implemented on a connected computer or network.&lt;br /&gt;
&lt;br /&gt;
=== Computing ===&lt;br /&gt;
The first instance of Triskar2 robot is fitted with a small-form-factor PC by [http://www.zotac.com/ Zotac]: model ID82, based on an Intel Core i3 2330M dual-core processor. The PC is mounted on a quick-release tray.  Check the elastic band to keep it fixed.&lt;br /&gt;
&lt;br /&gt;
Operating system is Linux. before turning off the power, press the PC button to obtain a nice shutdown.&lt;br /&gt;
&lt;br /&gt;
All the software of Triskar2 has been developed by AIRLab, and is modular in its structure to allow easy modification.&lt;br /&gt;
&lt;br /&gt;
Instructions to get the onboard wifi adapter working with linux: http://rricketts.com/installing-ralink-rt3290-wireless-drivers-in-ubuntu-12-04/&lt;br /&gt;
&lt;br /&gt;
=== Power supplies ===&lt;br /&gt;
Triskar2 uses a 24V DC power supply based on a couple of 12V sealed lead-acid batteries connected in series. &lt;br /&gt;
&lt;br /&gt;
The onboard PC requires 19V DC, which are generated by a configurable board (model DCDC-USB) by [http://www.mini-box.com/DCDC-USB Mini-Box].&lt;br /&gt;
&lt;br /&gt;
=== Operating Instructions ===&lt;br /&gt;
&lt;br /&gt;
With batteries charged and connected to the main connector, Triskar 2 is energetically autonomous.&lt;br /&gt;
&lt;br /&gt;
When programming it, if there is no need to run it, you may securely lift the wheels and work with the PC powered by its own power supply, so saving batteries (which are anyhow needed to power the electronics and the engines).&lt;br /&gt;
&lt;br /&gt;
To turn power on, you should press the yellow button below the PC.&lt;br /&gt;
&lt;br /&gt;
To connect to the onboard PC, the usual way is to turn on the AIRLab wireless network, login on it, then go for&lt;br /&gt;
&lt;br /&gt;
ssh -X triskar@192.168.1.10&lt;br /&gt;
&lt;br /&gt;
and log on the machine.&lt;br /&gt;
&lt;br /&gt;
Once done that, one may run&lt;br /&gt;
&lt;br /&gt;
geany &amp;amp;&lt;br /&gt;
&lt;br /&gt;
that opens on your local machine...&lt;br /&gt;
&lt;br /&gt;
=== Some findings ===&lt;br /&gt;
A PWM of 1000 corresponds to  a speed of 400 ticks over 1/100 sec or 40000 ticks/sec.&lt;br /&gt;
&lt;br /&gt;
A PWM of 1500 corresponds to  a speed of 650 ticks over 1/100 sec or 65000 ticks/sec.&lt;br /&gt;
&lt;br /&gt;
A PWM of 2500 corresponds to  a speed of 1100 ticks over 1/100 sec or 110000 ticks/sec.&lt;br /&gt;
&lt;br /&gt;
The relationship between PWM and motor speed under load seems to be linear.&lt;br /&gt;
&lt;br /&gt;
The time needed to go to the desired PWM seems to be constant and about 1.2 sec,  without control.&lt;br /&gt;
&lt;br /&gt;
Inertia when put PWM to 0 from 2500 is about 50 ticks over 1/100 sec or 5000 ticks/sec.&lt;br /&gt;
&lt;br /&gt;
When the robot moves straight forward, 1 cm of displacement is about 785 ticks of each of the two frontal motors.&lt;br /&gt;
&lt;br /&gt;
=== The controllers ===&lt;br /&gt;
To tune the controllers we have found [https://controls.engin.umich.edu/wiki/index.php/PIDTuningClassical this page] and [https://controls.engin.umich.edu/wiki/index.php/PIDDownsides this page] very useful.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=ROS_summary&amp;diff=15756</id>
		<title>ROS summary</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=ROS_summary&amp;diff=15756"/>
				<updated>2012-12-20T10:17:25Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is dedicated to two classes of ROS elements: commands (i.e. programs that you can run from the command line to perform specific tasks, such as [http://ros.org/wiki/roscd roscd]) and external programs (i.e. software dedicated to specific functions that is run separately when needed, such as [http://ros.org/wiki/rviz rviz]).&lt;br /&gt;
&lt;br /&gt;
The most commonly used of these are described in a condensed form by the [http://www.ros.org/wiki/Documentation?action=AttachFile&amp;amp;do=get&amp;amp;target=ROScheatsheet.pdf ROS Official Cheat Sheet].&lt;br /&gt;
&lt;br /&gt;
[http://www.ros.org/wiki/Documentation?action=AttachFile&amp;amp;do=get&amp;amp;target=ROScheatsheet.pdf ROS Official Cheat Sheet]&lt;br /&gt;
&lt;br /&gt;
== ROS installation and package creation ==&lt;br /&gt;
=== Configure your environment ===&lt;br /&gt;
If you followed the [http://www.ros.org/wiki/ROS/Tutorials/InstallingandConfiguringROSEnvironment ROS tutorial] to configure your environment, the variable $ROS_PACKAGE_PATH should be set. This can be easily verified by check if the command &amp;lt;code&amp;gt; echo $ROS_PACKAGE_PATH &amp;lt;/code&amp;gt; returns an output similar to:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt; /home/your_user_name/fuerte_workspace/sandbox:/opt/ros/fuerte/share:/opt/ros/fuerte/stacks &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use a different path (e.g.: ''~/eclipse_workspace'') you should add it to the $ROS_PACKAGE_PATH variable. The simplest way to achieve this is to edit the ''.bashrc'' file located in your home directory and add the line&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt; export ROS_PACKAGE_PATH=~/eclipse_workspace:${ROS_PACKAGE_PATH} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' Please be sure to add this command AFTER the following line (that you should have added to your .bashrc, according to the tutorial) or you will get an error running make eclipse-project:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt; source /opt/ros/[ros_distribution_name]/setup.bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IDEs ===&lt;br /&gt;
If you use an IDE (in this example [http://www.eclipse.org/ Eclipse] will be used), in order to reuse your shell environment it is advisable to launch it with the following command:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt; bash -i -c /usr/lib/eclipse/eclipse &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use '''Eclipse''' you can also use the following command to let ROS create the Eclipse project files.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt; make eclipse-project &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you change anything to your ''manifest.xml'', you will have to run this script again, which will overwrite your Eclipse project file and thereby reverting all manual changes to the project settings. Please refer to [http://www.ros.org/wiki/IDEs this page] if you need further information.&lt;br /&gt;
&lt;br /&gt;
Finally, to add the project to Eclipse select File --&amp;gt; Import --&amp;gt; General --&amp;gt; Existing Projects into Workspace, select the project's root directory and be sure that the &amp;quot;Copy projects into workspace&amp;quot; option is NOT selected.&lt;br /&gt;
&lt;br /&gt;
== Package management ==&lt;br /&gt;
ROS packages can be managed using your linux distribution package manager and/or with the built-in ROS package manager.&lt;br /&gt;
&lt;br /&gt;
=== ROS package environment ===&lt;br /&gt;
* initialize the ROS package management environment:&lt;br /&gt;
::&amp;lt;code&amp;gt; (as root) rosdep init &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* update the package list:&lt;br /&gt;
::&amp;lt;code&amp;gt; rosdep update &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ROS package installation ===&lt;br /&gt;
* Find a package:&lt;br /&gt;
:browse to [http://www.ros.org/browse/ this page] to browse a list of available packages.&lt;br /&gt;
&lt;br /&gt;
* Check if a ROS package or stack is installed with the following command:&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;code&amp;gt; rospack find package_name&lt;br /&gt;
::rosstack find [stack_name] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you get an error, install the stack that contains the package with the package manager of your linux distribution (e.g.: &amp;lt;code&amp;gt; sudo apt-get install ros-distribution_release_name-stack_name &amp;lt;/code&amp;gt;), then check again if rospack can find the package and, if not, install it with the command:&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;code&amp;gt; (as root) rosdep install package_name &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New package creation ===&lt;br /&gt;
This command creates a new package in the current directory:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt; roscreate-pkg package_name package_dependency_1 package_dependency_2 package_dependency_3 ... &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that package dependencies can be explicitly specified when the package is created, but they can also be manually added afterwards to the ''manifest.xml'' file or with the ''rospack command''. Take a look at [http://www.ros.org/wiki/ROS/Tutorials/CreatingPackage#ROS.2BAC8-Tutorials.2BAC8-rosbuild.2BAC8-CreatingPackage.First-order_package_dependencies this page] if you need further information.&lt;br /&gt;
&lt;br /&gt;
==== CMakeLists.txt ====&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.4.6)&lt;br /&gt;
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)&lt;br /&gt;
&lt;br /&gt;
# Set the build type.  Options are:&lt;br /&gt;
#  Coverage       : w/ debug symbols, w/o optimization, w/ code-coverage&lt;br /&gt;
#  Debug          : w/ debug symbols, w/o optimization&lt;br /&gt;
#  Release        : w/o debug symbols, w/ optimization&lt;br /&gt;
#  RelWithDebInfo : w/ debug symbols, w/ optimization&lt;br /&gt;
#  MinSizeRel     : w/o debug symbols, w/ optimization, stripped binaries&lt;br /&gt;
# Usage:&lt;br /&gt;
#     set(ROS_BUILD_TYPE build_type)&lt;br /&gt;
set(ROS_BUILD_TYPE Debug)&lt;br /&gt;
&lt;br /&gt;
rosbuild_init()&lt;br /&gt;
&lt;br /&gt;
# Set the default path for built executables to the &amp;quot;bin&amp;quot; directory&lt;br /&gt;
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)&lt;br /&gt;
# Set the default path for built libraries to the &amp;quot;lib&amp;quot; directory&lt;br /&gt;
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)&lt;br /&gt;
&lt;br /&gt;
# Uncomment if you have defined messages&lt;br /&gt;
#rosbuild_genmsg()&lt;br /&gt;
&lt;br /&gt;
# Uncomment if you have defined services&lt;br /&gt;
#rosbuild_gensrv()&lt;br /&gt;
&lt;br /&gt;
# **** Common commands for building c++ executables and libraries ****&lt;br /&gt;
&lt;br /&gt;
# To add an executable cpp file: &lt;br /&gt;
# Usage:&lt;br /&gt;
#     rosbuild_add_executable(${PROJECT_NAME} executable_path)&lt;br /&gt;
rosbuild_add_executable(test_read_map src/test_read_map.cpp)&lt;br /&gt;
&lt;br /&gt;
# To add a library:&lt;br /&gt;
# Usage:&lt;br /&gt;
#     rosbuild_add_library(${PROJECT_NAME} libraries_path)&lt;br /&gt;
rosbuild_add_library(map&lt;br /&gt;
                    src/map/map_cspace.cpp&lt;br /&gt;
                    src/map/map_draw.c)&lt;br /&gt;
&lt;br /&gt;
# To link a library to an executable file:&lt;br /&gt;
# Usage:&lt;br /&gt;
#     target_link_libraries(${PROJECT_NAME} library_name)&lt;br /&gt;
target_link_libraries(test_read_map map)&lt;br /&gt;
&lt;br /&gt;
# To add boost directories:&lt;br /&gt;
# rosbuild_add_boost_directories()&lt;br /&gt;
&lt;br /&gt;
# To link boost:&lt;br /&gt;
# rosbuild_link_boost(${PROJECT_NAME} thread)&lt;br /&gt;
&lt;br /&gt;
# To add the dynamic reconfigure api:&lt;br /&gt;
# rosbuild_find_ros_package(dynamic_reconfigure)&lt;br /&gt;
# include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake)&lt;br /&gt;
# gencfg()&lt;br /&gt;
# rosbuild_add_executable(dynamic_reconfigure_node src/dynamic_reconfigure_node.cpp)&lt;br /&gt;
# rosbuild_add_executable(FIRST_dynamic_reconfigure_node src/FIRST_dynamic_reconfigure_node.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Makefile ====&lt;br /&gt;
Be sure that the following line is present in the Makefile in order for the command &amp;lt;code&amp;gt; make eclipse-project &amp;lt;/code&amp;gt; to work:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; include $(shell rospack find mk)/cmake.mk &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Manifest.xml ====&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;package&amp;gt;&lt;br /&gt;
  &amp;lt;description brief=&amp;quot;brief description of your package&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     [write here your package name]&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;Your name&amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;license&amp;gt;BSD&amp;lt;/license&amp;gt;&lt;br /&gt;
  &amp;lt;review status=&amp;quot;unreviewed&amp;quot; notes=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;url&amp;gt;http://ros.org/wiki/package_name&amp;lt;/url&amp;gt;&lt;br /&gt;
  &amp;lt;depend package=&amp;quot;package dependance 1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;depend package=&amp;quot;package dependance 2&amp;quot;/&amp;gt;&lt;br /&gt;
  ....&lt;br /&gt;
&amp;lt;/package&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ROS filesystem commands ==&lt;br /&gt;
* To change directory directly to a package or stack directory:&lt;br /&gt;
::&amp;lt;code&amp;gt; roscd package_name &amp;lt;/code&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
::&amp;lt;code&amp;gt; roscd stack_name &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ROS visualization system - rviz ==&lt;br /&gt;
* To open rviz you will need '''roscore''' running in background (execute &amp;lt;code&amp;gt; roscore &amp;lt;/code&amp;gt; in a different shell) and then run the following command:&lt;br /&gt;
::&amp;lt;code&amp;gt; rosrun rviz rviz &amp;lt;/code&amp;gt;&lt;br /&gt;
: The rviz interface will pop up, to visualize something published by a node you will have to&lt;br /&gt;
:* Add a type by clicking ''Add'' and selecting a display type (e.g.: poing cloud)&lt;br /&gt;
:* Set the topic that you want to listen (the one specified in the node that is publishing)&lt;br /&gt;
:* Set in the ''Global Options'' menu the desired ''Fixed Frame'' (typically &amp;lt;code&amp;gt; /map &amp;lt;/code&amp;gt;)&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15585</id>
		<title>Shopping list</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15585"/>
				<updated>2012-10-12T12:30:07Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Farnell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you (i.e., the AIRLab project you are currently working on) need some hardware component please add a row here. Choose the supplier (if it's not one of those listed, add it) and remember to point out part number, quantity (i.e. number of items), unit price, your name and the name of your project.&lt;br /&gt;
&lt;br /&gt;
== RS Components==&lt;br /&gt;
&lt;br /&gt;
http://it.rs-online.com/web/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Unit price !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 5086374 || 1 || €11,70 || Martino Migliavacca|| AIRLab&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Farnell ==&lt;br /&gt;
&lt;br /&gt;
http://it.farnell.com&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Unit price !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 123456 || 5 || €00,00 || Name Surname || Project name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
Put here other items, in a less structured way, specifying the supplier if you know it.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15584</id>
		<title>Shopping list</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15584"/>
				<updated>2012-10-12T12:28:46Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* RS Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you (i.e., the AIRLab project you are currently working on) need some hardware component please add a row here. Choose the supplier (if it's not one of those listed, add it) and remember to point out part number, quantity (i.e. number of items), unit price, your name and the name of your project.&lt;br /&gt;
&lt;br /&gt;
== RS Components==&lt;br /&gt;
&lt;br /&gt;
http://it.rs-online.com/web/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Unit price !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 5086374 || 1 || €11,70 || Martino Migliavacca|| AIRLab&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Farnell ==&lt;br /&gt;
&lt;br /&gt;
it.farnell.com&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Unit price !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 1922939 || 5 || €13,60 || Martino Migliavacca || R2P Power Supply&lt;br /&gt;
|-&lt;br /&gt;
| 1752183 || 5 || €3,20 || Martino Migliavacca || R2P Power Supply&lt;br /&gt;
|-&lt;br /&gt;
| 1829197 || 10 || €2,50 || Martino Migliavacca || R2P Power Supply&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
Put here other items, in a less structured way, specifying the supplier if you know it.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shops&amp;diff=15383</id>
		<title>Shops</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shops&amp;diff=15383"/>
				<updated>2012-07-18T08:17:13Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Electronics devices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General info ==&lt;br /&gt;
* You can purchase things directly if you spend less than 100€ including taxes (obviously with authorization of your tutor). Give the receipt or invoice to your tutor to obtain refund!&lt;br /&gt;
* If you need to spend more you need to refer to your tutor to start a different procedure (&amp;quot;Buono d'Ordine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Electronics devices ==&lt;br /&gt;
* '''[http://it.rs-online.com/web/ RS]''' - You can shop on-line or buy direct from the RS shop located in via W. Tobagi, 19 - Vimodrone (near the &amp;quot;Cascina Burrona&amp;quot; stop of MM2). '''Important!''' If you buy directly at the RS shop, you '''absolutely must request''' that the name on the invoice (&amp;quot;fattura&amp;quot;) is: ''Politecnico di Milano - Dipartimento di Elettronica e Informazione - via Ponzio 34/5 - 20133 Milano'' and that the invoice is marked as ''paid'' (RS uses a strange paper-piercing tool to do the mark). If you ask for these two things, you get a 10% discount; if you don't, you don't get the discount and, above all, you '''cannot obtain a refund from your tutor'''!&lt;br /&gt;
* '''[http://www.farnell.com Farnell]''' - You can shop on-line with discounts.&lt;br /&gt;
* '''[http://www.franchidiscarpa.it/main.htm Franchi di Scarpa]''' - Via Padova, 74 - Milano. &lt;br /&gt;
* '''[http://www.watterott.com/ Watterott]''' Online shop in Germany (no additional taxes): drivers, microcontrollers, cards, ...&lt;br /&gt;
* '''[http://www.hobbytronics.co.uk/ Hobbytronics]''' Online shop in UK: components, wires, ...&lt;br /&gt;
* '''Sintolvox''' - Via Privata Asti, 12 (close to Piazza Piemonte) - Milano.&lt;br /&gt;
* '''[http://www.futurashop.it Futura Elettronica]''' - via Adige 11, 21013 Gallarate (Va)&lt;br /&gt;
* LeD elettronica snc - Milano via Bessarione 14 (Corvetto) - 02-5392845&lt;br /&gt;
* '''[http://www.microchip.com Microchip]''' - OnLine shops for PIC and other stuffs. For sample request try to sent an e-mail to franca.borella&amp;lt;at&amp;gt;microchip.com. Italian sales office is located in Legnano, Via P. Picasso 41. Reception Phone: 0331-742611; Franca Borella: 0331-742621.&lt;br /&gt;
&lt;br /&gt;
== PCB printing services ==&lt;br /&gt;
* '''[http://www.iteadstudio.com ITead Studio]''' - Cheap and good quality chinese supplier - 1 week production time plus shipping (from 5 days with DHL to 3-4 weeks with standard mailing)&lt;br /&gt;
* '''[http://www.seeedstudio.com Seeed Studio]''' - Cheap and good quality chinese supplier - Almost the same as ITead Studio but with some different panelizing options&lt;br /&gt;
&lt;br /&gt;
== Machine shop ==&lt;br /&gt;
* '''Meccanica di precisione srl''' di Moretti Piero, via Tartini Giuseppe 6 ([http://maps.google.it/maps?f=q&amp;amp;source=s_q&amp;amp;hl=it&amp;amp;geocode=&amp;amp;q=via+tartini+giuseppe+6+milano&amp;amp;sll=41.442726,12.392578&amp;amp;sspn=20.136361,39.550781&amp;amp;ie=UTF8&amp;amp;ll=45.504347,9.175901&amp;amp;spn=0.009204,0.019312&amp;amp;z=16 map]), 02-3761826. Use line 82 from Bovisa or MM3 Maciachini.&lt;br /&gt;
* '''[http://www.pietrovigano.it/ Ferramenta Pietro Viganò]''', via Montevideo 8, Milano. Near the &amp;quot;S. Agostino&amp;quot; stop of MM2.&lt;br /&gt;
* '''[http://maps.google.com/maps?q=milano+via+buschi&amp;amp;hl=en&amp;amp;ll=45.482604,9.234113&amp;amp;spn=0.000808,0.001742&amp;amp;sll=45.482542,9.233846&amp;amp;sspn=0.000811,0.001742&amp;amp;vpsrc=6&amp;amp;hnear=Via+Averardo+Buschi,+20131+Milano,+Lombardia,+Italy&amp;amp;t=h&amp;amp;z=20&amp;amp;layer=c&amp;amp;cbll=45.482571,9.233977&amp;amp;panoid=68URXzjcZWvlsFdVSz3a6g&amp;amp;cbp=12,314.23,,1,4.66 Ferramenta Sergio Santori]''', next to via Buschi 19 (near the intersection between via Buschi and via Grossich, at 50m from the exit &amp;quot;via Pacini&amp;quot; of stop &amp;quot;Lambrate FS&amp;quot; of MM2). Unassuming small shop without a sign (it's the one on the right of &amp;quot;Ditta G&amp;amp;G&amp;quot;), but surprisingly well stocked. Try it.&lt;br /&gt;
* '''[http://www.item24.it/it/item-italia/produkte/catalogo-prodotti/products/sistema-dei-componenti-mb-per-costruzioni-meccaniche.html Item]''': modular aluminium mechanical components. Some of these are already available in the lab.&lt;br /&gt;
&lt;br /&gt;
== Printing ==&lt;br /&gt;
* For posters and such things, one place is '''[http://www.virus-graphics.com/low.htm Virus]''' (via Corti 30, near the DEI).&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous online resources ==&lt;br /&gt;
* '''[http://www.tracepartsonline.net/%28S%28ejejr055bj2wca55r0sxra55%29%29/content.aspx Traceparts]''': a repository of 2D and 3D CAD models (requires user registration).&lt;br /&gt;
* '''[https://www.buerklin.com/default.asp?l=e Burklin]''': vendor of cables and other stuff.&lt;br /&gt;
* '''[http://www.ctmeca.com/vitnw/ CTMeca]''', an Italian vendor of mechanical parts.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15382</id>
		<title>Shopping list</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15382"/>
				<updated>2012-07-17T12:30:21Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Farnell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you (i.e., the AIRLab project you are currently working on) need some hardware component please add a row here. Choose the supplier (if it's not one of those listed, add it) and remember to point out part number, quantity (i.e. number of items), unit price, your name and the name of your project.&lt;br /&gt;
&lt;br /&gt;
== RS Components==&lt;br /&gt;
&lt;br /&gt;
http://it.rs-online.com/web/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Unit price !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 123456 || 10 || €5,30 || Name and Surname || My project&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Farnell ==&lt;br /&gt;
&lt;br /&gt;
it.farnell.com&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Unit price !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 1922939 || 5 || €13,60 || Martino Migliavacca || R2P Power Supply&lt;br /&gt;
|-&lt;br /&gt;
| 1752183 || 5 || €3,20 || Martino Migliavacca || R2P Power Supply&lt;br /&gt;
|-&lt;br /&gt;
| 1829197 || 10 || €2,50 || Martino Migliavacca || R2P Power Supply&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
Put here other items, in a less structured way, specifying the supplier if you know it.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15381</id>
		<title>Shopping list</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15381"/>
				<updated>2012-07-17T10:12:56Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Farnell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you (i.e., the AIRLab project you are currently working on) need some hardware component please add a row here. Choose the supplier (if it's not one of those listed, add it) and remember to point out part number, quantity (i.e. number of items), unit price, your name and the name of your project.&lt;br /&gt;
&lt;br /&gt;
== RS Components==&lt;br /&gt;
&lt;br /&gt;
http://it.rs-online.com/web/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Unit price !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 123456 || 10 || €5,30 || Name and Surname || My project&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Farnell ==&lt;br /&gt;
&lt;br /&gt;
it.farnell.com&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Unit price !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 1922939 || 5 || €13,60 || Martino Migliavacca || R2P Power Supply&lt;br /&gt;
|-&lt;br /&gt;
| 1752183 || 5 || €3,20 || Martino Migliavacca || R2P Power Supply&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
Put here other items, in a less structured way, specifying the supplier if you know it.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Cameras,_lenses_and_mirrors&amp;diff=15306</id>
		<title>Cameras, lenses and mirrors</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Cameras,_lenses_and_mirrors&amp;diff=15306"/>
				<updated>2012-07-02T09:48:08Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* List of Cameras */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==IMPORTANT NOTES==&lt;br /&gt;
'''Never touch the sensor element (CCD or CMOS) of a camera with anything!''' It can very easily be scratched.&lt;br /&gt;
&lt;br /&gt;
'''Never touch the glass elements of a lens with your hands!''' The oil from human skin will cause damage.&lt;br /&gt;
&lt;br /&gt;
==Cameras==&lt;br /&gt;
In the AIRLab you can find different kind of cameras. These are the main groups:&lt;br /&gt;
*'''Analogue cameras'''. Video output is given as an electrical signal, which needs analogue-to-digital conversion to be processed by a computer; this is done by a specific card called ''frame grabber'' or ''video capture card'' (the latter tend to be the lowest-performance items; see [[Cameras, lenses and mirrors#Frame grabbers]] for details). Analogue video is outdated for computer vision and robotics applications, due to its cost, low performance and complexity; nowadays digital camera systems (such as all the ones listed below) are always preferred.&lt;br /&gt;
*'''USB cameras'''. Usually very cheap, they are suitable for low-performance applications (i.e. those where low frame rate is needed and low image quality can be accepted). Their main advantage (along with cost) is the fact that every modern computer has USB ports. The fact that the USB standard includes 5V DC power supply lines helps simplifying camera design and use.&lt;br /&gt;
*'''FireWire cameras'''. The FireWire (or IEEE1394) bus is generally used for low-end industrial cameras, i.e. devices with technical characteristics much superior to those typical of USB cameras but low-performance according to typical machine vision standards. Industrial cameras usually give to the user a much wider control over the acquisition parameters compared to consumer cameras, and therefore they are usually preferred in robotics; their downside is the higher cost. There are different versions of IEE1394 link (see http://en.wikipedia.org/wiki/Firewire for details), with different bitrates, starting from the 400Mbit/s FireWire 400. Generally they are all considered superior to USB 2.0, even if theoretical bandwidth is lower for FireWire 400. Firewire ports can include power supply lines, but some interfaces (and in particular those on portable computers) omit them. Although the use of FireWire interfaces has expanded in recent years, they are not yet considered a standard feature for motherboards.&lt;br /&gt;
*'''GigE Vision cameras'''. GigE Vision (or Gigabit Ethernet Vision) is a rather new connection standard for machine vision, based upon the established Ethernet protocol in its Gigabit (i.e. 1000Mbps) version. It is very interesting, as complex multiple-camera systems can be easily built using existing (Gigabit) Ethernet hardware, such as cables and switches. Vision data is acquired simply through a generic Ethernet port, commonly found on motherboards or easily added. However, 100Mbps (or ''fast Ethernet'') ports are not guaranteed to work and can sustain only modest video streams; on the other hand, 1000Mbps ports are now standard on motherboards, so this will not be a problem anymore in a few years. It seems that GigE Vision is becoming the most common interface for low- to medium-performance industrial cameras.&lt;br /&gt;
*'''CameraLink cameras'''. Cameralink is a high-speed interface expressly developed for high-performance machine vision applications. It is a point-to-point link, i.e. a CameraLink connection is used to connect a single camera to a digital acquisition card (''frame grabber''). Its diffusion is limited to applications where extreme frame rates ''and'' resolutions are needed, because CameraLink gear is very expensive.&lt;br /&gt;
*'''ST Camera boards'''. Cameras with cell phone sensor and ARM processor for onboard computation.&lt;br /&gt;
&lt;br /&gt;
The following is a list of the cameras available in the AIRLab. (To be precise, it is a list of the cameras that are modern enough to be useful.) For each of them the main specifications (and a link to the full specifications) are given. Details on the different types of lens mount are given below in [[Cameras, lenses and mirrors#Lenses]]. The 'how many?' field tells if multiple, identical items are available. Finally, the 'where?' field tells you in which of the AIRLab sites (listed in [[The Labs]]) you can find an item, and the 'project' field is used to specify which project (if any) is using it.&lt;br /&gt;
&lt;br /&gt;
Ah, one last thing. People like to actually ''find'' things when they look for them, so '''don't forget to update the table when you move something away from its current location'''. If you don't know where you are taking it, just put your name in the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of Cameras==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!resolution&lt;br /&gt;
!B/W, color&lt;br /&gt;
!max. frame rate&lt;br /&gt;
!sensor size&lt;br /&gt;
!interface&lt;br /&gt;
!maker&lt;br /&gt;
!model&lt;br /&gt;
!lens mount&lt;br /&gt;
!how many?&lt;br /&gt;
!where?&lt;br /&gt;
!project&lt;br /&gt;
!link to full specifications and/or manuals&lt;br /&gt;
|-&lt;br /&gt;
|1628x1236&lt;br /&gt;
|B/W&lt;br /&gt;
|24fps&lt;br /&gt;
|1/1.8&amp;quot;&lt;br /&gt;
|CameraLink&lt;br /&gt;
|Hitachi&lt;br /&gt;
|KP-F200CL&lt;br /&gt;
|C-mount&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|[[media:KP-F200-Op_Manual.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|752x480&lt;br /&gt;
|color&lt;br /&gt;
|70fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|GigE&lt;br /&gt;
|Prosilica&lt;br /&gt;
|GC750C&lt;br /&gt;
|C-mount&lt;br /&gt;
|3&lt;br /&gt;
|Lambrate (1/3), [[User:SimoneTognetti| Simone Tognetti]](from 19/05/2009, dal 14/12/2009 sono impiegate per esperimenti Affective nell'Airlab del DEI)(2/3)&lt;br /&gt;
|Driving companions (2/3)&lt;br /&gt;
|http://www.prosilica.com/products/gc_series.html&lt;br /&gt;
|-&lt;br /&gt;
|659x493&lt;br /&gt;
|color&lt;br /&gt;
|90fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|GigE&lt;br /&gt;
|Prosilica&lt;br /&gt;
|GC650C&lt;br /&gt;
|C-mount&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.prosilica.com/products/gc_series.html&lt;br /&gt;
|-&lt;br /&gt;
|1024x768&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|GigE&lt;br /&gt;
|Prosilica&lt;br /&gt;
|GC1020C&lt;br /&gt;
|C-mount&lt;br /&gt;
|2&lt;br /&gt;
|Lambrate (2/2)&lt;br /&gt;
|RAWSEEDS (1/2)&lt;br /&gt;
|http://www.prosilica.com/products/gc_series.html&lt;br /&gt;
|-&lt;br /&gt;
|CCIR (625 lines)&lt;br /&gt;
|B/W&lt;br /&gt;
|CCIR (50fps, interlaced)&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|analogue&lt;br /&gt;
|Sony&lt;br /&gt;
|XC-ST70CE&lt;br /&gt;
|C-mount&lt;br /&gt;
|2&lt;br /&gt;
|DEI (2/2)&lt;br /&gt;
|&lt;br /&gt;
|[[media:XCST70E_manual.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|659x494&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Unibrain&lt;br /&gt;
|Fire-i 400 industrial&lt;br /&gt;
|C-mount&lt;br /&gt;
|3&lt;br /&gt;
|Lambrate (3/3)&lt;br /&gt;
|RAWSEEDS (3/3)&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_400_Industrial.htm&lt;br /&gt;
|-&lt;br /&gt;
|659x494&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Unibrain&lt;br /&gt;
|Fire-i board camera&lt;br /&gt;
|proprietary&lt;br /&gt;
|8&lt;br /&gt;
|Lambrate (3/8), Bovisa (2/8), [[User:PaoloCalloni]] (1/8), [[User:DavideMigliore]] (1/8), [[User:CristianoAlessandro]] (1/8),&lt;br /&gt;
&lt;br /&gt;
presa 1 a fine febbraio10 con lente wide (quella di riserva di robocom), montaggio &amp;quot;a la rizzi&amp;quot; con lastrine di plexiglass e pezzo di profilato item [[User:Domenicogsorrenti]] (1/8)&lt;br /&gt;
|RAWSEEDS (2/8), MRT (?/8)&lt;br /&gt;
queste sono quelle &amp;quot;nuove&amp;quot;? se si una e' su rabbiati, portiere di mrt, sin da cuvio, e' nella testa omnidir Domenicogsorrenti 21.04.09&lt;br /&gt;
&lt;br /&gt;
1 nuova e' la frontale di recam&lt;br /&gt;
&lt;br /&gt;
1 nuova sulla testa omnidir di ridan&lt;br /&gt;
&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|-&lt;br /&gt;
|640x480&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Unibrain&lt;br /&gt;
|Fire-i digital camera&lt;br /&gt;
|fixed optics (4.3mm, f2.0)&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
1 e' sulla testa omnidir di rigo&lt;br /&gt;
&lt;br /&gt;
1 e' sulla testa omnidir di recam&lt;br /&gt;
&lt;br /&gt;
1 e' sulla testa omnidir mrt05-03 (armadio domenico@unimib)&lt;br /&gt;
&lt;br /&gt;
1 e' sulla testa omnidir mrt05-04 (armadio domenico@unimib)&lt;br /&gt;
|&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_DC.htm&lt;br /&gt;
|-&lt;br /&gt;
|640x480 dual sensor, 9cm baseline&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Videre Design&lt;br /&gt;
|STOC stereo-on-a-chip stereo camera&lt;br /&gt;
|C-mount, fitted with two 3.5mm, f1.6, 1/2&amp;quot; lenses&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate =&amp;gt; li lin office =&amp;gt; Domenicogsorrenti 13.01.09 =&amp;gt; giulio fontana 23.01.09&lt;br /&gt;
|&lt;br /&gt;
|http://www.videredesign.com/vision/stoc.htm&lt;br /&gt;
|-&lt;br /&gt;
|640x480&lt;br /&gt;
|color&lt;br /&gt;
|60fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Videre Design&lt;br /&gt;
|DCSG (associated with STOC)&lt;br /&gt;
|C-mount, fitted with one 3.5mm, f1.6, 1/2&amp;quot; lens&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.videredesign.com/vision/dcsg.htm&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|30 fps&lt;br /&gt;
|1/3.8 inch optical format&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|ST1-Cam + ST2-Cam&lt;br /&gt;
|integrated&lt;br /&gt;
|2&lt;br /&gt;
|ST1-Cam (STLCam (ST LEGO Camera)) (with Anil until 15.10.2010)[[User:AnilKoyuncu| Anil Koyuncu]], ST2-Cam [[User:LorenzoConsolaro | Lorenzo Consolaro]] and [[User:DarioCecchetto | Dario Cecchetto]]   &lt;br /&gt;
|ST1-Cam [[RunBot: a Robogame Robot]]&lt;br /&gt;
| [[Media:Cameradatasheet.pdf]],‎[[Media:Rvs-v1-0.pdf‎]], [[Media:RVS_Datasheet_v2.1.pdf‎]] ,http://www.danielecaltabiano.com/wwme/ST-SW/st-sw.htm, ‎[[Media:Cam_pin_map.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|30 fps&lt;br /&gt;
|1/3.8 inch optical format&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|RVS2-Cam&lt;br /&gt;
|integrated&lt;br /&gt;
|1&lt;br /&gt;
|AIRLab Lambrate (armadio prosilica) &lt;br /&gt;
|?&lt;br /&gt;
| [[Media:Cameradatasheet.pdf]],‎[[Media:Rvs-v1-0.pdf‎]], [[Media:RVS_Datasheet_v2.1.pdf‎]] ,http://www.danielecaltabiano.com/wwme/ST-SW/st-sw.htm&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|ST5-CamMic + ST6-CamMic&lt;br /&gt;
|integrated with microphone&lt;br /&gt;
|2&lt;br /&gt;
|ST5-CamMic [[User:AndreaBonarini| Andrea Bonarini]], ST6-CamMic AIRLab per E-2?  &lt;br /&gt;
|ST6-CamMic [[E-2?]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|ST4-DC (Demo board)&lt;br /&gt;
|integrated&lt;br /&gt;
|1&lt;br /&gt;
|[[User:RaffaelePetta|Raffaele Petta]]&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|ST5-CamMic + ST6-CamMic&lt;br /&gt;
|integrated with microphone&lt;br /&gt;
|2&lt;br /&gt;
|ST5-CamMic [[User:AndreaBonarini| Andrea Bonarini]], ST6-CamMic AIRLab per E-2?  &lt;br /&gt;
|ST6-CamMic [[E-2?]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|30 FPS&lt;br /&gt;
|?&lt;br /&gt;
|USB 2&lt;br /&gt;
|?&lt;br /&gt;
|Microsoft Kinect&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|[[User:CristianMandelli|Cristian Mandelli]], [[User:DeborahZamponi|Deborah Zamponi]] July/August 2011&lt;br /&gt;
|[[http://airlab.elet.polimi.it/index.php/E-2%3F_-_A_robot_for_exhibitions E2? A robot for exhibitions]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lenses==&lt;br /&gt;
Be aware that sensor dimension (i.e. its diagonal, measured in fractions of an inch) is  ''not'' the same for all cameras. Therefore one of the key specifications for a lens is the maximum sensor dimension supported. If you use a given lens with too big a sensor, the edges of the image will be black as they lie outside the circle of the projected image. Also beware of the strange convention used for sensor diagonals, i.e. a fraction in the form A/B&amp;quot; where A and B are integer ''or non-integer'' numbers. For instance an 1/2&amp;quot; sensor is smaller than an 1/1.8&amp;quot; one.&lt;br /&gt;
The variability of sensor dimensions has another side effect: the same lens has a different angle of view if you change the sensor size. Therefore the same lens can behave as a wide-angle with a large sensor and as a telephoto with a small sensor.&lt;br /&gt;
&lt;br /&gt;
An useful guide to lenses (in Italian or English) can be found at http://www.rapitron.it/guidaob.htm.&lt;br /&gt;
&lt;br /&gt;
The following is a list of the actual lenses available in the AIRLab. For each of them the main specifications (and a link to the maker's or vendor's page for full specifications) are given. A '?' means an unknown parameter: if you know its value or experimentally find out it when using the lens (e.g. the maximum sensor size), please ''update the table'' before the information is lost again! Lenses having 'M12x0.5' in Column 'mount type' are only usable with Unibrain's Fire-i board cameras. A 'YES' in the 'Mpixel' column indicates a so-called ''Megapixel lens'', i.e. a high quality, low-distortion lens designed for high-resolution industrial cameras (typically having large sensors); please note that some of these are specifically designed for B/W (i.e. black and white) cameras. The 'how many?' field tells if multiple, identical items are available. Finally, the 'where?' field tells you in which of the AIRLab sites (listed in [[The Labs]]) you can find an item, and the 'project' field is used to specify which project (if any) is using it. &lt;br /&gt;
&lt;br /&gt;
Ah, one last thing. People like to actually ''find'' things when they look for them, so '''don't forget to update the table when you move something away from its current location'''. If you don't know where you are bringing it, just put your name in the table.&lt;br /&gt;
&lt;br /&gt;
===C-mount and CS-mount lenses===&lt;br /&gt;
Industrial cameras usually have interchangeable lenses. This allows for the choice of the lens that is more suitable to the considered application. There are two main standards for industrial camera lenses: '''C-mount''' and '''CS-mount'''. Both are screw-type mounts. CS-mount is simply a modified C-mount where the distance between the back of the lens and the sensor element (CCD or CMOS) is shorter: therefore a CS-mount lens can be mounted on a C-mount camera if an ''adapter ring'' (i.e. a distancing cylinder with suitable threads) is placed between them. It is impossible, though, to use a C-mount lens on a CS-mount camera: if you try you will almost certainly break the sensor, scratch the lens, or both. Just because a lens fits a camera, it doesn't mean it can be actually mounted on it!&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!focal length&lt;br /&gt;
!max. aperture&lt;br /&gt;
!max. sensor size&lt;br /&gt;
!mount type&lt;br /&gt;
!maker&lt;br /&gt;
!model&lt;br /&gt;
!Mpixel&lt;br /&gt;
!how many?&lt;br /&gt;
!where?&lt;br /&gt;
!project&lt;br /&gt;
!link to full specifications&lt;br /&gt;
|-&lt;br /&gt;
|3.5mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|LURCH&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|4.0mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/2&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Microtron&lt;br /&gt;
|FV0420&lt;br /&gt;
|YES (B/W only)&lt;br /&gt;
|2&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.rapitron.it/obmegpxman1.htm&lt;br /&gt;
|-&lt;br /&gt;
|4.5mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|1/2&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|4.8mm&lt;br /&gt;
|f1.8&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Computar&lt;br /&gt;
|M0518&lt;br /&gt;
|NO&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|http://www.computar.com/cctvprod/computar/mono/048.html&lt;br /&gt;
|-&lt;br /&gt;
|6mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate (?)&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|6mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|1/2&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Goyo&lt;br /&gt;
|GMHR26014MCN&lt;br /&gt;
|YES&lt;br /&gt;
|4&lt;br /&gt;
|Lambrate&lt;br /&gt;
|2 nell'armadio + 2 scatole vuote&lt;br /&gt;
|http://www.goyooptical.com/products/industrial/hrmegapixel.html&lt;br /&gt;
|-&lt;br /&gt;
|8mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|8mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Goyo&lt;br /&gt;
|GMHR38014MCN&lt;br /&gt;
|YES&lt;br /&gt;
|2&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.goyooptical.com/products/industrial/hrmegapixel.html&lt;br /&gt;
|-&lt;br /&gt;
|8.5mm&lt;br /&gt;
|f1.3&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Computar&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|2&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|(old model)&lt;br /&gt;
|-&lt;br /&gt;
|12mm&lt;br /&gt;
|f1.8&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|2&lt;br /&gt;
|1 Lambrate + ? DEI&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Goyo&lt;br /&gt;
|GMHR31214MCN&lt;br /&gt;
|YES&lt;br /&gt;
|2&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.goyooptical.com/products/industrial/hrmegapixel.html&lt;br /&gt;
|-&lt;br /&gt;
|15mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Microtron&lt;br /&gt;
|FV1520&lt;br /&gt;
|YES&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.rapitron.it/obmegpxman1.htm&lt;br /&gt;
|-&lt;br /&gt;
|6-15mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|12.5-75mm&lt;br /&gt;
|f1.8&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===M12 lenses===&lt;br /&gt;
We also use M12 lenses. These lenses are very simple, with no iris, and very small. Their mounting system is an M12x0.5 metric screw thread. They are commonly used for webcams, and usually do not provide the top optical quality.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!focal length&lt;br /&gt;
!max. aperture&lt;br /&gt;
!max. sensor size&lt;br /&gt;
!mount type&lt;br /&gt;
!maker&lt;br /&gt;
!model&lt;br /&gt;
!Mpixel&lt;br /&gt;
!how many?&lt;br /&gt;
!where?&lt;br /&gt;
!project&lt;br /&gt;
!link to full specifications&lt;br /&gt;
|-&lt;br /&gt;
|2.1mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|M12x0.5&lt;br /&gt;
|Unibrain&lt;br /&gt;
|2042&lt;br /&gt;
|NO&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
1 e' a bovisa nelle mani di marcello&lt;br /&gt;
&lt;br /&gt;
1 e' a lambrate su un giano riusato come robowii&lt;br /&gt;
&lt;br /&gt;
1 e' a bovisa sulla frontale del triskar recam&lt;br /&gt;
&lt;br /&gt;
1 e' in mano a martino per fare una frontale =&amp;gt; 06.05.09 E' in bovisa montata sul triskar #3&lt;br /&gt;
&lt;br /&gt;
1 l'ha Davide Migliore per acquisizioni monoslam&lt;br /&gt;
&lt;br /&gt;
1 e' sulla testa omnidir di rabbiati&lt;br /&gt;
&lt;br /&gt;
Domenicogsorrenti 04.05.09&lt;br /&gt;
|MRT midsize, robowii, monoslam&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|-&lt;br /&gt;
|4.3mm, no IR filter&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|M12x0.5&lt;br /&gt;
|Unibrain&lt;br /&gt;
|2046&lt;br /&gt;
|NO&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate (1/1)&lt;br /&gt;
|&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|-&lt;br /&gt;
|4.3mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|M12x0.5&lt;br /&gt;
|Unibrain&lt;br /&gt;
|2043&lt;br /&gt;
|NO&lt;br /&gt;
|3&lt;br /&gt;
|Bovisa (1/3), Lambrate (2/3)&lt;br /&gt;
|&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|-&lt;br /&gt;
|8mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|M12x0.5&lt;br /&gt;
|Unibrain&lt;br /&gt;
|2044&lt;br /&gt;
|NO&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate (1/1)&lt;br /&gt;
|&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frame grabbers==&lt;br /&gt;
As previously said, a '''frame grabber''' is an electronic board that connects to one or more cameras, and converts the signals from the cameras into a data stream that can be elaborated by a computer. They are usually designed as expansion boards to be fitted into the computer case. Frame grabbers are necessary for ''analogue cameras'' (as they include the analogue/digital converters) or for CameraLink digital cameras (in this case the frame grabber is essentially a high speed dedicated digital interface). Other kinds of digital cameras don't need a frame grabber: this is one of the main advantages of digital cameras over analogue ones in machine vision applications, where the processing is almost always performed by computers.&lt;br /&gt;
In the AIRLab two models of frame grabber are available:&lt;br /&gt;
*a digital frame grabber from Euresys, model Expert 2, having two CameraLink inputs (http://www.euresys.com/Products/grablink/GrablinkSeries.asp). ''Notes: needs a PCI-X slot; one of the inputs is not working due to a fault.''&lt;br /&gt;
*two multichannel analogue frame grabbers from Matrox, model Meteor II/Multi-Channel, having three analogue inputs that can be combined into a single three-channel RGB analogue input (http://www.matrox.com/imaging/support/old_products/home.cfm). ''Note: one item is permanently mounted on the MO.RO.1 robot: see [[The MO.RO. family]] for details.''&lt;br /&gt;
*two multichannel analogue frame grabbers from Matrox, model Meteor II/Multi-Channel, having three analogue inputs that can be combined into a single three-channel RGB analogue input (http://www.matrox.com/imaging/support/old_products/home.cfm). ''Note: one item is permanently mounted on the MO.RO.1 robot: see [[The MO.RO. family]] for details.''&lt;br /&gt;
*two single-channel analogue frame grabbers from Matrox, models Meteor and Meteor Pro (http://www.matrox.com/imaging/support/old_products/home.cfm).&lt;br /&gt;
All the frame grabbers (except the one on the MO.RO.1) are currently in AIRLab/DEI. If you move one of them, please '''write it down here'''... and do it NOW!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirrors==&lt;br /&gt;
Much work has been done and is being done at the AIRLab on the topic of '''omnidirectional (machine) vision''' (sometimes referred to as ''omnivision''). Omnidirectional vision systems use special hardware to overcome the limitations of conventional vision systems in terms of field of view. The approach to this problem that we generally adopt is the use of conventional cameras in association with convex '''mirrors''', i.e. the capturing of the image reflected by a suitably-shaped mirror with a camera. The possibility of designing mirrors with specific geometric properties gives a very useful means to control the geometric behaviour of the whole camera+mirror system.&lt;br /&gt;
&lt;br /&gt;
TODO for someone who knows better ;-) : mirror list&lt;br /&gt;
&lt;br /&gt;
==Cable==&lt;br /&gt;
The complete list of cable for camera connection and/or power is under construction. You can partecipate listing below which cables are you using...&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!length&lt;br /&gt;
!how many?&lt;br /&gt;
!where?&lt;br /&gt;
!project&lt;br /&gt;
|-&lt;br /&gt;
|FireWire 6-6 &lt;br /&gt;
|?&lt;br /&gt;
|2&lt;br /&gt;
|Bicocca (refer to Domenico G. Sorrenti, 2009-11-11)&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|FireWire 6-6 &lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|on LURCH wheelchair&lt;br /&gt;
|LURCH&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Cameras,_lenses_and_mirrors&amp;diff=15305</id>
		<title>Cameras, lenses and mirrors</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Cameras,_lenses_and_mirrors&amp;diff=15305"/>
				<updated>2012-07-02T09:47:24Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* List of Cameras */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==IMPORTANT NOTES==&lt;br /&gt;
'''Never touch the sensor element (CCD or CMOS) of a camera with anything!''' It can very easily be scratched.&lt;br /&gt;
&lt;br /&gt;
'''Never touch the glass elements of a lens with your hands!''' The oil from human skin will cause damage.&lt;br /&gt;
&lt;br /&gt;
==Cameras==&lt;br /&gt;
In the AIRLab you can find different kind of cameras. These are the main groups:&lt;br /&gt;
*'''Analogue cameras'''. Video output is given as an electrical signal, which needs analogue-to-digital conversion to be processed by a computer; this is done by a specific card called ''frame grabber'' or ''video capture card'' (the latter tend to be the lowest-performance items; see [[Cameras, lenses and mirrors#Frame grabbers]] for details). Analogue video is outdated for computer vision and robotics applications, due to its cost, low performance and complexity; nowadays digital camera systems (such as all the ones listed below) are always preferred.&lt;br /&gt;
*'''USB cameras'''. Usually very cheap, they are suitable for low-performance applications (i.e. those where low frame rate is needed and low image quality can be accepted). Their main advantage (along with cost) is the fact that every modern computer has USB ports. The fact that the USB standard includes 5V DC power supply lines helps simplifying camera design and use.&lt;br /&gt;
*'''FireWire cameras'''. The FireWire (or IEEE1394) bus is generally used for low-end industrial cameras, i.e. devices with technical characteristics much superior to those typical of USB cameras but low-performance according to typical machine vision standards. Industrial cameras usually give to the user a much wider control over the acquisition parameters compared to consumer cameras, and therefore they are usually preferred in robotics; their downside is the higher cost. There are different versions of IEE1394 link (see http://en.wikipedia.org/wiki/Firewire for details), with different bitrates, starting from the 400Mbit/s FireWire 400. Generally they are all considered superior to USB 2.0, even if theoretical bandwidth is lower for FireWire 400. Firewire ports can include power supply lines, but some interfaces (and in particular those on portable computers) omit them. Although the use of FireWire interfaces has expanded in recent years, they are not yet considered a standard feature for motherboards.&lt;br /&gt;
*'''GigE Vision cameras'''. GigE Vision (or Gigabit Ethernet Vision) is a rather new connection standard for machine vision, based upon the established Ethernet protocol in its Gigabit (i.e. 1000Mbps) version. It is very interesting, as complex multiple-camera systems can be easily built using existing (Gigabit) Ethernet hardware, such as cables and switches. Vision data is acquired simply through a generic Ethernet port, commonly found on motherboards or easily added. However, 100Mbps (or ''fast Ethernet'') ports are not guaranteed to work and can sustain only modest video streams; on the other hand, 1000Mbps ports are now standard on motherboards, so this will not be a problem anymore in a few years. It seems that GigE Vision is becoming the most common interface for low- to medium-performance industrial cameras.&lt;br /&gt;
*'''CameraLink cameras'''. Cameralink is a high-speed interface expressly developed for high-performance machine vision applications. It is a point-to-point link, i.e. a CameraLink connection is used to connect a single camera to a digital acquisition card (''frame grabber''). Its diffusion is limited to applications where extreme frame rates ''and'' resolutions are needed, because CameraLink gear is very expensive.&lt;br /&gt;
*'''ST Camera boards'''. Cameras with cell phone sensor and ARM processor for onboard computation.&lt;br /&gt;
&lt;br /&gt;
The following is a list of the cameras available in the AIRLab. (To be precise, it is a list of the cameras that are modern enough to be useful.) For each of them the main specifications (and a link to the full specifications) are given. Details on the different types of lens mount are given below in [[Cameras, lenses and mirrors#Lenses]]. The 'how many?' field tells if multiple, identical items are available. Finally, the 'where?' field tells you in which of the AIRLab sites (listed in [[The Labs]]) you can find an item, and the 'project' field is used to specify which project (if any) is using it.&lt;br /&gt;
&lt;br /&gt;
Ah, one last thing. People like to actually ''find'' things when they look for them, so '''don't forget to update the table when you move something away from its current location'''. If you don't know where you are taking it, just put your name in the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of Cameras==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!resolution&lt;br /&gt;
!B/W, color&lt;br /&gt;
!max. frame rate&lt;br /&gt;
!sensor size&lt;br /&gt;
!interface&lt;br /&gt;
!maker&lt;br /&gt;
!model&lt;br /&gt;
!lens mount&lt;br /&gt;
!how many?&lt;br /&gt;
!where?&lt;br /&gt;
!project&lt;br /&gt;
!link to full specifications and/or manuals&lt;br /&gt;
|-&lt;br /&gt;
|1628x1236&lt;br /&gt;
|B/W&lt;br /&gt;
|24fps&lt;br /&gt;
|1/1.8&amp;quot;&lt;br /&gt;
|CameraLink&lt;br /&gt;
|Hitachi&lt;br /&gt;
|KP-F200CL&lt;br /&gt;
|C-mount&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|[[media:KP-F200-Op_Manual.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|752x480&lt;br /&gt;
|color&lt;br /&gt;
|70fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|GigE&lt;br /&gt;
|Prosilica&lt;br /&gt;
|GC750C&lt;br /&gt;
|C-mount&lt;br /&gt;
|3&lt;br /&gt;
|Lambrate (1/3), [[User:SimoneTognetti| Simone Tognetti]](from 19/05/2009, dal 14/12/2009 sono impiegate per esperimenti Affective nell'Airlab del DEI)(2/3)&lt;br /&gt;
|Driving companions (2/3)&lt;br /&gt;
|http://www.prosilica.com/products/gc_series.html&lt;br /&gt;
|-&lt;br /&gt;
|659x493&lt;br /&gt;
|color&lt;br /&gt;
|90fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|GigE&lt;br /&gt;
|Prosilica&lt;br /&gt;
|GC650C&lt;br /&gt;
|C-mount&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.prosilica.com/products/gc_series.html&lt;br /&gt;
|-&lt;br /&gt;
|1024x768&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|GigE&lt;br /&gt;
|Prosilica&lt;br /&gt;
|GC1020C&lt;br /&gt;
|C-mount&lt;br /&gt;
|2&lt;br /&gt;
|Lambrate (2/2)&lt;br /&gt;
|RAWSEEDS (1/2)&lt;br /&gt;
|http://www.prosilica.com/products/gc_series.html&lt;br /&gt;
|-&lt;br /&gt;
|CCIR (625 lines)&lt;br /&gt;
|B/W&lt;br /&gt;
|CCIR (50fps, interlaced)&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|analogue&lt;br /&gt;
|Sony&lt;br /&gt;
|XC-ST70CE&lt;br /&gt;
|C-mount&lt;br /&gt;
|2&lt;br /&gt;
|DEI (2/2)&lt;br /&gt;
|&lt;br /&gt;
|[[media:XCST70E_manual.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|659x494&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Unibrain&lt;br /&gt;
|Fire-i 400 industrial&lt;br /&gt;
|C-mount&lt;br /&gt;
|3&lt;br /&gt;
|Lambrate (3/3)&lt;br /&gt;
|RAWSEEDS (3/3)&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_400_Industrial.htm&lt;br /&gt;
|-&lt;br /&gt;
|659x494&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Unibrain&lt;br /&gt;
|Fire-i board camera&lt;br /&gt;
|proprietary&lt;br /&gt;
|8&lt;br /&gt;
|Lambrate (3/8), Bovisa (2/8), [[User:PaoloCalloni]] (1/8), [[User:DavideMigliore]] (1/8), [[User:CristianoAlessandro]] (1/8),&lt;br /&gt;
&lt;br /&gt;
presa 1 a fine febbraio10 con lente wide (quella di riserva di robocom), montaggio &amp;quot;a la rizzi&amp;quot; con lastrine di plexiglass e pezzo di profilato item [[User:Domenicogsorrenti]] (1/8)&lt;br /&gt;
|RAWSEEDS (2/8), MRT (?/8)&lt;br /&gt;
queste sono quelle &amp;quot;nuove&amp;quot;? se si una e' su rabbiati, portiere di mrt, sin da cuvio, e' nella testa omnidir Domenicogsorrenti 21.04.09&lt;br /&gt;
&lt;br /&gt;
1 nuova e' la frontale di recam&lt;br /&gt;
&lt;br /&gt;
1 nuova sulla testa omnidir di ridan&lt;br /&gt;
&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|-&lt;br /&gt;
|640x480&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Unibrain&lt;br /&gt;
|Fire-i digital camera&lt;br /&gt;
|fixed optics (4.3mm, f2.0)&lt;br /&gt;
|4&lt;br /&gt;
|&lt;br /&gt;
1 e' sulla testa omnidir di rigo&lt;br /&gt;
&lt;br /&gt;
1 e' sulla testa omnidir di recam&lt;br /&gt;
&lt;br /&gt;
1 e' sulla testa omnidir mrt05-03 (armadio domenico@unimib)&lt;br /&gt;
&lt;br /&gt;
1 e' sulla testa omnidir mrt05-04 (armadio domenico@unimib)&lt;br /&gt;
|&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_DC.htm&lt;br /&gt;
|-&lt;br /&gt;
|640x480 dual sensor, 9cm baseline&lt;br /&gt;
|color&lt;br /&gt;
|30fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Videre Design&lt;br /&gt;
|STOC stereo-on-a-chip stereo camera&lt;br /&gt;
|C-mount, fitted with two 3.5mm, f1.6, 1/2&amp;quot; lenses&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate =&amp;gt; li lin office =&amp;gt; Domenicogsorrenti 13.01.09 =&amp;gt; giulio fontana 23.01.09&lt;br /&gt;
|&lt;br /&gt;
|http://www.videredesign.com/vision/stoc.htm&lt;br /&gt;
|-&lt;br /&gt;
|640x480&lt;br /&gt;
|color&lt;br /&gt;
|60fps&lt;br /&gt;
|1/3&amp;quot;&lt;br /&gt;
|FireWire 400&lt;br /&gt;
|Videre Design&lt;br /&gt;
|DCSG (associated with STOC)&lt;br /&gt;
|C-mount, fitted with one 3.5mm, f1.6, 1/2&amp;quot; lens&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.videredesign.com/vision/dcsg.htm&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|30 fps&lt;br /&gt;
|1/3.8 inch optical format&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|ST1-Cam + ST2-Cam&lt;br /&gt;
|integrated&lt;br /&gt;
|2&lt;br /&gt;
|ST1-Cam (STLCam (ST LEGO Camera)) (with Anil until 15.10.2010)[[User:AnilKoyuncu| Anil Koyuncu]], ST2-Cam [[User:LorenzoConsolaro | Lorenzo Consolaro]] and [[User:DarioCecchetto | Dario Cecchetto]]   &lt;br /&gt;
|ST1-Cam [[RunBot: a Robogame Robot]]&lt;br /&gt;
| [[Media:Cameradatasheet.pdf]],‎[[Media:Rvs-v1-0.pdf‎]], [[Media:RVS_Datasheet_v2.1.pdf‎]] ,http://www.danielecaltabiano.com/wwme/ST-SW/st-sw.htm, ‎[[Media:Cam_pin_map.pdf]]&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|30 fps&lt;br /&gt;
|1/3.8 inch optical format&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|RVS2-Cam&lt;br /&gt;
|integrated&lt;br /&gt;
|2&lt;br /&gt;
|RVS2 &lt;br /&gt;
|?&lt;br /&gt;
| [[Media:Cameradatasheet.pdf]],‎[[Media:Rvs-v1-0.pdf‎]], [[Media:RVS_Datasheet_v2.1.pdf‎]] ,http://www.danielecaltabiano.com/wwme/ST-SW/st-sw.htm&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|ST5-CamMic + ST6-CamMic&lt;br /&gt;
|integrated with microphone&lt;br /&gt;
|2&lt;br /&gt;
|ST5-CamMic [[User:AndreaBonarini| Andrea Bonarini]], ST6-CamMic AIRLab per E-2?  &lt;br /&gt;
|ST6-CamMic [[E-2?]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|ST4-DC (Demo board)&lt;br /&gt;
|integrated&lt;br /&gt;
|1&lt;br /&gt;
|[[User:RaffaelePetta|Raffaele Petta]]&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|ST Microelectronics&lt;br /&gt;
|ST5-CamMic + ST6-CamMic&lt;br /&gt;
|integrated with microphone&lt;br /&gt;
|2&lt;br /&gt;
|ST5-CamMic [[User:AndreaBonarini| Andrea Bonarini]], ST6-CamMic AIRLab per E-2?  &lt;br /&gt;
|ST6-CamMic [[E-2?]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|color&lt;br /&gt;
|30 FPS&lt;br /&gt;
|?&lt;br /&gt;
|USB 2&lt;br /&gt;
|?&lt;br /&gt;
|Microsoft Kinect&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|[[User:CristianMandelli|Cristian Mandelli]], [[User:DeborahZamponi|Deborah Zamponi]] July/August 2011&lt;br /&gt;
|[[http://airlab.elet.polimi.it/index.php/E-2%3F_-_A_robot_for_exhibitions E2? A robot for exhibitions]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lenses==&lt;br /&gt;
Be aware that sensor dimension (i.e. its diagonal, measured in fractions of an inch) is  ''not'' the same for all cameras. Therefore one of the key specifications for a lens is the maximum sensor dimension supported. If you use a given lens with too big a sensor, the edges of the image will be black as they lie outside the circle of the projected image. Also beware of the strange convention used for sensor diagonals, i.e. a fraction in the form A/B&amp;quot; where A and B are integer ''or non-integer'' numbers. For instance an 1/2&amp;quot; sensor is smaller than an 1/1.8&amp;quot; one.&lt;br /&gt;
The variability of sensor dimensions has another side effect: the same lens has a different angle of view if you change the sensor size. Therefore the same lens can behave as a wide-angle with a large sensor and as a telephoto with a small sensor.&lt;br /&gt;
&lt;br /&gt;
An useful guide to lenses (in Italian or English) can be found at http://www.rapitron.it/guidaob.htm.&lt;br /&gt;
&lt;br /&gt;
The following is a list of the actual lenses available in the AIRLab. For each of them the main specifications (and a link to the maker's or vendor's page for full specifications) are given. A '?' means an unknown parameter: if you know its value or experimentally find out it when using the lens (e.g. the maximum sensor size), please ''update the table'' before the information is lost again! Lenses having 'M12x0.5' in Column 'mount type' are only usable with Unibrain's Fire-i board cameras. A 'YES' in the 'Mpixel' column indicates a so-called ''Megapixel lens'', i.e. a high quality, low-distortion lens designed for high-resolution industrial cameras (typically having large sensors); please note that some of these are specifically designed for B/W (i.e. black and white) cameras. The 'how many?' field tells if multiple, identical items are available. Finally, the 'where?' field tells you in which of the AIRLab sites (listed in [[The Labs]]) you can find an item, and the 'project' field is used to specify which project (if any) is using it. &lt;br /&gt;
&lt;br /&gt;
Ah, one last thing. People like to actually ''find'' things when they look for them, so '''don't forget to update the table when you move something away from its current location'''. If you don't know where you are bringing it, just put your name in the table.&lt;br /&gt;
&lt;br /&gt;
===C-mount and CS-mount lenses===&lt;br /&gt;
Industrial cameras usually have interchangeable lenses. This allows for the choice of the lens that is more suitable to the considered application. There are two main standards for industrial camera lenses: '''C-mount''' and '''CS-mount'''. Both are screw-type mounts. CS-mount is simply a modified C-mount where the distance between the back of the lens and the sensor element (CCD or CMOS) is shorter: therefore a CS-mount lens can be mounted on a C-mount camera if an ''adapter ring'' (i.e. a distancing cylinder with suitable threads) is placed between them. It is impossible, though, to use a C-mount lens on a CS-mount camera: if you try you will almost certainly break the sensor, scratch the lens, or both. Just because a lens fits a camera, it doesn't mean it can be actually mounted on it!&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!focal length&lt;br /&gt;
!max. aperture&lt;br /&gt;
!max. sensor size&lt;br /&gt;
!mount type&lt;br /&gt;
!maker&lt;br /&gt;
!model&lt;br /&gt;
!Mpixel&lt;br /&gt;
!how many?&lt;br /&gt;
!where?&lt;br /&gt;
!project&lt;br /&gt;
!link to full specifications&lt;br /&gt;
|-&lt;br /&gt;
|3.5mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|LURCH&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|4.0mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/2&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Microtron&lt;br /&gt;
|FV0420&lt;br /&gt;
|YES (B/W only)&lt;br /&gt;
|2&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.rapitron.it/obmegpxman1.htm&lt;br /&gt;
|-&lt;br /&gt;
|4.5mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|1/2&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|4.8mm&lt;br /&gt;
|f1.8&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Computar&lt;br /&gt;
|M0518&lt;br /&gt;
|NO&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|http://www.computar.com/cctvprod/computar/mono/048.html&lt;br /&gt;
|-&lt;br /&gt;
|6mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate (?)&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|6mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|1/2&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Goyo&lt;br /&gt;
|GMHR26014MCN&lt;br /&gt;
|YES&lt;br /&gt;
|4&lt;br /&gt;
|Lambrate&lt;br /&gt;
|2 nell'armadio + 2 scatole vuote&lt;br /&gt;
|http://www.goyooptical.com/products/industrial/hrmegapixel.html&lt;br /&gt;
|-&lt;br /&gt;
|8mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|8mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Goyo&lt;br /&gt;
|GMHR38014MCN&lt;br /&gt;
|YES&lt;br /&gt;
|2&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.goyooptical.com/products/industrial/hrmegapixel.html&lt;br /&gt;
|-&lt;br /&gt;
|8.5mm&lt;br /&gt;
|f1.3&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Computar&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|2&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|(old model)&lt;br /&gt;
|-&lt;br /&gt;
|12mm&lt;br /&gt;
|f1.8&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|2&lt;br /&gt;
|1 Lambrate + ? DEI&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Goyo&lt;br /&gt;
|GMHR31214MCN&lt;br /&gt;
|YES&lt;br /&gt;
|2&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.goyooptical.com/products/industrial/hrmegapixel.html&lt;br /&gt;
|-&lt;br /&gt;
|15mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|2/3&amp;quot;&lt;br /&gt;
|C-mount&lt;br /&gt;
|Microtron&lt;br /&gt;
|FV1520&lt;br /&gt;
|YES&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|http://www.rapitron.it/obmegpxman1.htm&lt;br /&gt;
|-&lt;br /&gt;
|6-15mm&lt;br /&gt;
|f1.4&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|12.5-75mm&lt;br /&gt;
|f1.8&lt;br /&gt;
|?&lt;br /&gt;
|C-mount&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|DEI&lt;br /&gt;
|&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===M12 lenses===&lt;br /&gt;
We also use M12 lenses. These lenses are very simple, with no iris, and very small. Their mounting system is an M12x0.5 metric screw thread. They are commonly used for webcams, and usually do not provide the top optical quality.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!focal length&lt;br /&gt;
!max. aperture&lt;br /&gt;
!max. sensor size&lt;br /&gt;
!mount type&lt;br /&gt;
!maker&lt;br /&gt;
!model&lt;br /&gt;
!Mpixel&lt;br /&gt;
!how many?&lt;br /&gt;
!where?&lt;br /&gt;
!project&lt;br /&gt;
!link to full specifications&lt;br /&gt;
|-&lt;br /&gt;
|2.1mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|M12x0.5&lt;br /&gt;
|Unibrain&lt;br /&gt;
|2042&lt;br /&gt;
|NO&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
1 e' a bovisa nelle mani di marcello&lt;br /&gt;
&lt;br /&gt;
1 e' a lambrate su un giano riusato come robowii&lt;br /&gt;
&lt;br /&gt;
1 e' a bovisa sulla frontale del triskar recam&lt;br /&gt;
&lt;br /&gt;
1 e' in mano a martino per fare una frontale =&amp;gt; 06.05.09 E' in bovisa montata sul triskar #3&lt;br /&gt;
&lt;br /&gt;
1 l'ha Davide Migliore per acquisizioni monoslam&lt;br /&gt;
&lt;br /&gt;
1 e' sulla testa omnidir di rabbiati&lt;br /&gt;
&lt;br /&gt;
Domenicogsorrenti 04.05.09&lt;br /&gt;
|MRT midsize, robowii, monoslam&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|-&lt;br /&gt;
|4.3mm, no IR filter&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|M12x0.5&lt;br /&gt;
|Unibrain&lt;br /&gt;
|2046&lt;br /&gt;
|NO&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate (1/1)&lt;br /&gt;
|&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|-&lt;br /&gt;
|4.3mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|M12x0.5&lt;br /&gt;
|Unibrain&lt;br /&gt;
|2043&lt;br /&gt;
|NO&lt;br /&gt;
|3&lt;br /&gt;
|Bovisa (1/3), Lambrate (2/3)&lt;br /&gt;
|&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|-&lt;br /&gt;
|8mm&lt;br /&gt;
|f2.0&lt;br /&gt;
|1/4&amp;quot;&lt;br /&gt;
|M12x0.5&lt;br /&gt;
|Unibrain&lt;br /&gt;
|2044&lt;br /&gt;
|NO&lt;br /&gt;
|1&lt;br /&gt;
|Lambrate (1/1)&lt;br /&gt;
|&lt;br /&gt;
|http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frame grabbers==&lt;br /&gt;
As previously said, a '''frame grabber''' is an electronic board that connects to one or more cameras, and converts the signals from the cameras into a data stream that can be elaborated by a computer. They are usually designed as expansion boards to be fitted into the computer case. Frame grabbers are necessary for ''analogue cameras'' (as they include the analogue/digital converters) or for CameraLink digital cameras (in this case the frame grabber is essentially a high speed dedicated digital interface). Other kinds of digital cameras don't need a frame grabber: this is one of the main advantages of digital cameras over analogue ones in machine vision applications, where the processing is almost always performed by computers.&lt;br /&gt;
In the AIRLab two models of frame grabber are available:&lt;br /&gt;
*a digital frame grabber from Euresys, model Expert 2, having two CameraLink inputs (http://www.euresys.com/Products/grablink/GrablinkSeries.asp). ''Notes: needs a PCI-X slot; one of the inputs is not working due to a fault.''&lt;br /&gt;
*two multichannel analogue frame grabbers from Matrox, model Meteor II/Multi-Channel, having three analogue inputs that can be combined into a single three-channel RGB analogue input (http://www.matrox.com/imaging/support/old_products/home.cfm). ''Note: one item is permanently mounted on the MO.RO.1 robot: see [[The MO.RO. family]] for details.''&lt;br /&gt;
*two multichannel analogue frame grabbers from Matrox, model Meteor II/Multi-Channel, having three analogue inputs that can be combined into a single three-channel RGB analogue input (http://www.matrox.com/imaging/support/old_products/home.cfm). ''Note: one item is permanently mounted on the MO.RO.1 robot: see [[The MO.RO. family]] for details.''&lt;br /&gt;
*two single-channel analogue frame grabbers from Matrox, models Meteor and Meteor Pro (http://www.matrox.com/imaging/support/old_products/home.cfm).&lt;br /&gt;
All the frame grabbers (except the one on the MO.RO.1) are currently in AIRLab/DEI. If you move one of them, please '''write it down here'''... and do it NOW!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirrors==&lt;br /&gt;
Much work has been done and is being done at the AIRLab on the topic of '''omnidirectional (machine) vision''' (sometimes referred to as ''omnivision''). Omnidirectional vision systems use special hardware to overcome the limitations of conventional vision systems in terms of field of view. The approach to this problem that we generally adopt is the use of conventional cameras in association with convex '''mirrors''', i.e. the capturing of the image reflected by a suitably-shaped mirror with a camera. The possibility of designing mirrors with specific geometric properties gives a very useful means to control the geometric behaviour of the whole camera+mirror system.&lt;br /&gt;
&lt;br /&gt;
TODO for someone who knows better ;-) : mirror list&lt;br /&gt;
&lt;br /&gt;
==Cable==&lt;br /&gt;
The complete list of cable for camera connection and/or power is under construction. You can partecipate listing below which cables are you using...&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!length&lt;br /&gt;
!how many?&lt;br /&gt;
!where?&lt;br /&gt;
!project&lt;br /&gt;
|-&lt;br /&gt;
|FireWire 6-6 &lt;br /&gt;
|?&lt;br /&gt;
|2&lt;br /&gt;
|Bicocca (refer to Domenico G. Sorrenti, 2009-11-11)&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|FireWire 6-6 &lt;br /&gt;
|?&lt;br /&gt;
|1&lt;br /&gt;
|on LURCH wheelchair&lt;br /&gt;
|LURCH&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=AIRLab_survival_guide&amp;diff=15067</id>
		<title>AIRLab survival guide</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=AIRLab_survival_guide&amp;diff=15067"/>
				<updated>2012-06-08T07:41:12Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dont_panic.jpg|200px|frameless|right]]&lt;br /&gt;
When you are facing a problem, before starting to browse the Internet and scratch your head, take a look to AIRWiki: it's possible that other users already solved it for you. If you don't find the solution on AIRWiki and have to look elsewhere for it (and possibly do a lot of work), when you finish... add it to AIRWiki!&lt;br /&gt;
&lt;br /&gt;
If you find a page useful and you want to know if someone ever adds other good stuff to it, you can watch the page. Just click on the watch button at the top of the page you're interested in. You will receive an email notification for any update. &lt;br /&gt;
&lt;br /&gt;
== To become an AIRLab user ==&lt;br /&gt;
You can find a complete description of the process in the [[Bureaucracy]] page, but these are the main stages:&lt;br /&gt;
# enter the AIRWiki community: ask your Advisor to set up an AIRWiki user account for you&lt;br /&gt;
# know what you're doing: learn the [[Safety norms | safety norms]] and the [[AIRLab rules]]&lt;br /&gt;
# tell the other AIRLab users about you and your work: [[HOWTO fill in your AIRWiki user page | fill in your AIRWiki user page]] and set up a [[Projects - HOWTO | project page]] for your project&lt;br /&gt;
# obtain the certificate of successful completion of the courses about safety (available online at [http://sicurezza.metid.polimi.it/]) &lt;br /&gt;
# obtain the authorization to physically enter the lab: the procedure is described in the [[Bureaucracy]] page&lt;br /&gt;
Please note that you will '''not''' be authorized if the AIRWiki pages which you have to prepare are not ready.&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)? Check [[SemanticPropagation|this]] link for a possible solution to your problem.&lt;br /&gt;
&lt;br /&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]]); click [[File:Cortile_lambrate.pdf]] for a pdf black-and-white copy (A3-size) of it.&lt;br /&gt;
&lt;br /&gt;
===== Writing and Reading =====&lt;br /&gt;
* [[Tesi|Howto write a thesis?]] Suggestions to prepare your thesis (only in Italian for now... translators are welcome!).&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;
===== ROS (Robot Operating System) =====&lt;br /&gt;
* ROS is a framework for the creation of software for robots, providing many useful tools and modules. We are considering its use with our robots. Go to our [[ROS HOWTO|ROS HOWTO page]] for advice and tutorials.&lt;br /&gt;
&lt;br /&gt;
===== Software and programming =====&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;
&lt;br /&gt;
===== Hardware =====&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 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;
===== 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;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=What%27s_in_the_AIRLab&amp;diff=15066</id>
		<title>What's in the AIRLab</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=What%27s_in_the_AIRLab&amp;diff=15066"/>
				<updated>2012-06-08T07:40:21Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is used to keep track of the hardware that you can find in the various AIRLab sites (a list of which is given in [[The Labs]]). The gear is divided into categories, and you must go to the relevant one to know what is available, its main characteristics, and where it is now. The way this page is used (and the way ''you'' must use it) is described below, in this [[#HOWTO use this page (read this first!)|HOWTO]].&lt;br /&gt;
&lt;br /&gt;
As we are on the topic of &amp;quot;where things are&amp;quot;, please keep in mind that ''other'' people want to find things as much as ''you'' want that, so '''if you are moving some piece of hardware away from its storage location, or taking it from someone who has finished using it, please update the AIRWiki *now*'''.&lt;br /&gt;
&lt;br /&gt;
If something you need is missing, add a row in the [[Shopping list]] and ask your advisor or [[User:GiulioFontana|Giulio Fontana]].&lt;br /&gt;
In case, after being instructed about what to do to be reimbursed, and authorized, you may go in a shop and get what you need.&lt;br /&gt;
Here is a list of [[Dealers|dealers]] that we used in the past.&lt;br /&gt;
&lt;br /&gt;
Remember that there are '''risks''' associated to the use of some kind of hardware. They are described, along with the instructions to avoid them, in the [[Safety norms]]. You are '''required''' to know these norms (actually, to access the AIRLab you have to sign a document stating that you know them: see [[Bureaucracy]]), and you have full responsibility for anything you do in the AIRLab.&lt;br /&gt;
&lt;br /&gt;
===HOWTO use this page (read this first!)===&lt;br /&gt;
This is the page where ''every'' piece of hardware available to AIRLab's users must be listed. To see some examples, go to the categories below. This page is used to document what is available, and (crucially) to '''find things'''.&lt;br /&gt;
&lt;br /&gt;
As a general rule: if a piece of equipment is somewhere in the AIRLab (see [[The Labs]]), it must also be possible to ''find'' it by going to the right one of the categories listed in the following part of this page. If the right category doesn't exist, and you are currently using the equipment, ''you'' must create a new category. If the category exists but the piece of equipment you are using is not listed in it, ''you'' must add it to the category. This is also needed if you bought something new.&lt;br /&gt;
&lt;br /&gt;
Each category is a collection of links. Each link points to a page of the AIRWiki dedicated to a specific class of hardware. Such &amp;quot;class page&amp;quot; must ''at least'' contain a table where - for every piece of hardware included into the class - the following data are specified:&lt;br /&gt;
* make and model;&lt;br /&gt;
* where it is located when not in use;&lt;br /&gt;
* who is using it currently (put here a link to one of the user pages in [[Special:Listusers]]).&lt;br /&gt;
These are the data necessary to find a piece of hardware; in addition to those, it's very nice if you add to the table:&lt;br /&gt;
* the main specifications;&lt;br /&gt;
* a link to the datasheet and/or the user's manual (in the maker's website).&lt;br /&gt;
&lt;br /&gt;
If you really want to go over the top, and be kindly remembered forever by AIRLab users, you can complete the &amp;quot;class page&amp;quot; with a short introduction about the kind of hardware it is dedicated to. It's also very good if you put here a description of the key points and the pitfalls in the choice and use of such hardware, so that your experience (and misfortunes) are not wasted. If you want an example of such an introduction, look at the [[Cameras, lenses and mirrors]] page (a less verbose version is good too!).&lt;br /&gt;
&lt;br /&gt;
===Robots===&lt;br /&gt;
*[[LURCH - The autonomous wheelchair]]&lt;br /&gt;
*[[Robocom]]&lt;br /&gt;
*[[MRT, the Milan Robocup Team]]&lt;br /&gt;
*[[The MO.RO. family]]&lt;br /&gt;
*[[Tilty]]&lt;br /&gt;
*[[Spykee]]&lt;br /&gt;
*[[Lego Mindstorms NXT]]&lt;br /&gt;
*[[Manipulators]]&lt;br /&gt;
*[[Humanoid and bio-inspired robots]]&lt;br /&gt;
*[[Roomba - vacuuming robots | Roomba]]&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
*[[Cameras, lenses and mirrors]]&lt;br /&gt;
*[[Laser Range Finders]]&lt;br /&gt;
*[[Sonars]]&lt;br /&gt;
*[[Inertial Measurement Units]]&lt;br /&gt;
*[[Absolute position sensors]] (e.g. GPS)&lt;br /&gt;
&lt;br /&gt;
===Human/machine interfaces===&lt;br /&gt;
*[[Electroencephalographs]]&lt;br /&gt;
*[[Biofeedback and neurofeedback systems]]&lt;br /&gt;
*[[WIIMote]]&lt;br /&gt;
&lt;br /&gt;
===Instruments===&lt;br /&gt;
*[[Oscilloscopes and waveform generators]]&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
*[[Power supplies]]&lt;br /&gt;
*[[Batteries and chargers]]&lt;br /&gt;
&lt;br /&gt;
===Control and actuation===&lt;br /&gt;
*[[Microcontrollers and accessories]]&lt;br /&gt;
*[[Motors, gearboxes &amp;amp; encoders]]&lt;br /&gt;
*[[Motor control boards]]&lt;br /&gt;
*[[Servomechanisms (aka &amp;quot;Servos&amp;quot;)]]&lt;br /&gt;
*[[Rotary tables]]&lt;br /&gt;
&lt;br /&gt;
===Mechanics===&lt;br /&gt;
*[[Tools]]&lt;br /&gt;
*[[Aluminium profiles and accessories]]&lt;br /&gt;
*[[Lathe]]&lt;br /&gt;
&lt;br /&gt;
===Computers===&lt;br /&gt;
*[[User-accessible PCs]]&lt;br /&gt;
*[[PCBricks]]&lt;br /&gt;
*[[Number crunching]] (or: how you can do experiments in hours instead of days)&lt;br /&gt;
*Internet access for laptops: see [[Bureaucracy#HOW TO connect your laptop to the Internet | here]]&lt;br /&gt;
&lt;br /&gt;
===Other stuff ===&lt;br /&gt;
*[[Camcorder]]&lt;br /&gt;
*[[contact printer]] (also called bromograph)&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=AIRLab_survival_guide&amp;diff=15062</id>
		<title>AIRLab survival guide</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=AIRLab_survival_guide&amp;diff=15062"/>
				<updated>2012-06-08T07:36:19Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dont_panic.jpg|200px|frameless|right]]&lt;br /&gt;
When you are facing a problem, before starting to browse the Internet and scratch your head, take a look to AIRWiki: it's possible that other users already solved it for you. If you don't find the solution on AIRWiki and have to look elsewhere for it (and possibly do a lot of work), when you finish... add it to AIRWiki!&lt;br /&gt;
&lt;br /&gt;
If you find a page useful and you want to know if someone ever adds other good stuff to it, you can watch the page. Just click on the watch button at the top of the page you're interested in. You will receive an email notification for any update. &lt;br /&gt;
&lt;br /&gt;
== To become an AIRLab user ==&lt;br /&gt;
You can find a complete description of the process in the [[Bureaucracy]] page, but these are the main stages:&lt;br /&gt;
# enter the AIRWiki community: ask your Advisor to set up an AIRWiki user account for you&lt;br /&gt;
# know what you're doing: learn the [[Safety norms | safety norms]] and the [[AIRLab rules]]&lt;br /&gt;
# tell the other AIRLab users about you and your work: [[HOWTO fill in your AIRWiki user page | fill in your AIRWiki user page]] and set up a [[Projects - HOWTO | project page]] for your project&lt;br /&gt;
# obtain the certificate of successful completion of the courses about safety (available online at [http://sicurezza.metid.polimi.it/]) &lt;br /&gt;
# obtain the authorization to physically enter the lab: the procedure is described in the [[Bureaucracy]] page&lt;br /&gt;
Please note that you will '''not''' be authorized if the AIRWiki pages which you have to prepare are not ready.&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)? Check [[SemanticPropagation|this]] link for a possible solution to your problem.&lt;br /&gt;
&lt;br /&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]]); click [[File:Cortile_lambrate.pdf]] for a pdf black-and-white copy (A3-size) of it.&lt;br /&gt;
&lt;br /&gt;
===== Writing and Reading =====&lt;br /&gt;
* [[Tesi|Howto write a thesis?]] Suggestions to prepare your thesis (only in Italian for now... translators are welcome!).&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;
===== ROS (Robot Operating System) =====&lt;br /&gt;
* ROS is a framework for the creation of software for robots, providing many useful tools and modules. We are considering its use with our robots. Go to our [[ROS HOWTO|ROS HOWTO page]] for advice and tutorials.&lt;br /&gt;
&lt;br /&gt;
===== Software and programming =====&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;
&lt;br /&gt;
===== Hardware =====&lt;br /&gt;
* Go to [[What's in the AIRLab]] if you are looking for stuff in the lab&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;
* Need some component that isn't in the AIRLab for your project? Please add a row in the [[Shopping list]] and notify your supervisor, we will place the order!&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;
===== 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;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15061</id>
		<title>Shopping list</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15061"/>
				<updated>2012-06-08T07:34:10Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you need some hardware component please add a row here, in the section of the correct supplier, pointing out the part number, the quantity, your name and the name of your project.&lt;br /&gt;
&lt;br /&gt;
== RS ==&lt;br /&gt;
&lt;br /&gt;
http://www.rs.it&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 123456 || 10 || Name and Surname || My project&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Farnell ==&lt;br /&gt;
&lt;br /&gt;
http://www.farnell.it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 123456 || 10 || Name and Surname || My project&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15060</id>
		<title>Shopping list</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shopping_list&amp;diff=15060"/>
				<updated>2012-06-08T07:33:51Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: Created page with &amp;quot;If you need some hardware component please add a row here, in the section of the correct supplier, pointing out the part number, the quantity, your name and the name of your p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you need some hardware component please add a row here, in the section of the correct supplier, pointing out the part number, the quantity, your name and the name of your project.&lt;br /&gt;
&lt;br /&gt;
== RS ==&lt;br /&gt;
&lt;br /&gt;
http://www.rs.it&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Part number !! Quantity !! Who needs it? !! Project name&lt;br /&gt;
|-&lt;br /&gt;
| 123456 || 10 || Name and Surname || My project&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Farnell ==&lt;br /&gt;
&lt;br /&gt;
http://www.farnell.it&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shops&amp;diff=15030</id>
		<title>Shops</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shops&amp;diff=15030"/>
				<updated>2012-05-29T17:08:07Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General info ==&lt;br /&gt;
* You can purchase things directly if you spend less than 100€ including taxes (obviously with authorization of your tutor). Give the receipt or invoice to your tutor to obtain refund!&lt;br /&gt;
* If you need to spend more you need to refer to your tutor to start a different procedure (&amp;quot;Buono d'Ordine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Electronics devices ==&lt;br /&gt;
* '''[http://it.rs-online.com/web/ RS]''' - You can shop on-line or buy direct from the RS shop located in via W. Tobagi, 19 - Vimodrone (near the &amp;quot;Cascina Burrona&amp;quot; stop of MM2). '''Important!''' If you buy directly at the RS shop, you '''absolutely must request''' that the name on the invoice (&amp;quot;fattura&amp;quot;) is: ''Politecnico di Milano - Dipartimento di Elettronica e Informazione - via Ponzio 34/5 - 20133 Milano'' and that the invoice is marked as ''paid'' (RS uses a strange paper-piercing tool to do the mark). If you ask for these two things, you get a 10% discount; if you don't, you don't get the discount and, above all, you '''cannot obtain a refund from your tutor'''!&lt;br /&gt;
* '''[http://www.farnell.com Farnell]''' - You can shop on-line with discounts.&lt;br /&gt;
* '''[http://www.franchidiscarpa.it/main.htm Franchi di Scarpa]''' - Via Padova, 74 - Milano. &lt;br /&gt;
* '''[http://www.watterott.com/ Watterott]''' Online shop in Germany (no additional taxes): drivers, microcontrollers, cards, ...&lt;br /&gt;
* '''Sintolvox''' - Via Privata Asti, 12 (close to Piazza Piemonte) - Milano.&lt;br /&gt;
* '''[http://www.futurashop.it Futura Elettronica]''' - via Adige 11, 21013 Gallarate (Va)&lt;br /&gt;
* LeD elettronica snc - Milano via Bessarione 14 (Corvetto) - 02-5392845&lt;br /&gt;
* '''[http://www.microchip.com Microchip]''' - OnLine shops for PIC and other stuffs. For sample request try to sent an e-mail to franca.borella&amp;lt;at&amp;gt;microchip.com. Italian sales office is located in Legnano, Via P. Picasso 41. Reception Phone: 0331-742611; Franca Borella: 0331-742621.&lt;br /&gt;
&lt;br /&gt;
== PCB printing services ==&lt;br /&gt;
* '''[http://www.iteadstudio.com ITead Studio]''' - Cheap and good quality chinese supplier - 1 week production time plus shipping (from 5 days with DHL to 3-4 weeks with standard mailing)&lt;br /&gt;
* '''[http://www.seeedstudio.com Seeed Studio]''' - Cheap and good quality chinese supplier - Almost the same as ITead Studio but with some different panelizing options&lt;br /&gt;
&lt;br /&gt;
== Machine shop ==&lt;br /&gt;
* '''Meccanica di precisione srl''' di Moretti Piero, via Tartini Giuseppe 6 ([http://maps.google.it/maps?f=q&amp;amp;source=s_q&amp;amp;hl=it&amp;amp;geocode=&amp;amp;q=via+tartini+giuseppe+6+milano&amp;amp;sll=41.442726,12.392578&amp;amp;sspn=20.136361,39.550781&amp;amp;ie=UTF8&amp;amp;ll=45.504347,9.175901&amp;amp;spn=0.009204,0.019312&amp;amp;z=16 map]), 02-3761826. Use line 82 from Bovisa or MM3 Maciachini.&lt;br /&gt;
* '''[http://www.pietrovigano.it/ Ferramenta Pietro Viganò]''', via Montevideo 8, Milano. Near the &amp;quot;S. Agostino&amp;quot; stop of MM2.&lt;br /&gt;
* '''[http://maps.google.com/maps?q=milano+via+buschi&amp;amp;hl=en&amp;amp;ll=45.482604,9.234113&amp;amp;spn=0.000808,0.001742&amp;amp;sll=45.482542,9.233846&amp;amp;sspn=0.000811,0.001742&amp;amp;vpsrc=6&amp;amp;hnear=Via+Averardo+Buschi,+20131+Milano,+Lombardia,+Italy&amp;amp;t=h&amp;amp;z=20&amp;amp;layer=c&amp;amp;cbll=45.482571,9.233977&amp;amp;panoid=68URXzjcZWvlsFdVSz3a6g&amp;amp;cbp=12,314.23,,1,4.66 Ferramenta Sergio Santori]''', next to via Buschi 19 (near the intersection between via Buschi and via Grossich, at 50m from the exit &amp;quot;via Pacini&amp;quot; of stop &amp;quot;Lambrate FS&amp;quot; of MM2). Unassuming small shop without a sign (it's the one on the right of &amp;quot;Ditta G&amp;amp;G&amp;quot;), but surprisingly well stocked. Try it.&lt;br /&gt;
* '''[http://www.item24.it/it/item-italia/produkte/catalogo-prodotti/products/sistema-dei-componenti-mb-per-costruzioni-meccaniche.html Item]''': modular aluminium mechanical components. Some of these are already available in the lab.&lt;br /&gt;
&lt;br /&gt;
== Printing ==&lt;br /&gt;
* For posters and such things, one place is '''[http://www.virus-graphics.com/low.htm Virus]''' (via Corti 30, near the DEI).&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous online resources ==&lt;br /&gt;
* '''[http://www.tracepartsonline.net/%28S%28ejejr055bj2wca55r0sxra55%29%29/content.aspx Traceparts]''': a repository of 2D and 3D CAD models (requires user registration).&lt;br /&gt;
* '''[https://www.buerklin.com/default.asp?l=e Burklin]''': vendor of cables and other stuff.&lt;br /&gt;
* '''[http://www.ctmeca.com/vitnw/ CTMeca]''', an Italian vendor of mechanical parts.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shops&amp;diff=15029</id>
		<title>Shops</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shops&amp;diff=15029"/>
				<updated>2012-05-29T15:42:37Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General info ==&lt;br /&gt;
* You can purchase things directly if you spend less than 100€ including taxes (obviously with authorization of your tutor). Give the receipt or invoice to your tutor to obtain refund!&lt;br /&gt;
* If you need to spend more you need to refer to your tutor to start a different procedure (&amp;quot;Buono d'Ordine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Electronics devices ==&lt;br /&gt;
* '''[http://it.rs-online.com/web/ RS]''' - You can shop on-line or buy direct from the RS shop located in via W. Tobagi, 19 - Vimodrone (near the &amp;quot;Cascina Burrona&amp;quot; stop of MM2). '''Important!''' If you buy directly at the RS shop, you '''absolutely must request''' that the name on the invoice (&amp;quot;fattura&amp;quot;) is: ''Politecnico di Milano - Dipartimento di Elettronica e Informazione - via Ponzio 34/5 - 20133 Milano'' and that the invoice is marked as ''paid'' (RS uses a strange paper-piercing tool to do the mark). If you ask for these two things, you get a 10% discount; if you don't, you don't get the discount and, above all, you '''cannot obtain a refund from your tutor'''!&lt;br /&gt;
* '''[http://www.farnell.com Farnell]''' - You can shop on-line with discounts.&lt;br /&gt;
* '''[http://www.franchidiscarpa.it/main.htm Franchi di Scarpa]''' - Via Padova, 74 - Milano. &lt;br /&gt;
* '''[http://www.watterott.com/ Watterott]''' Online shop in Germany (no additional taxes): drivers, microcontrollers, cards, ...&lt;br /&gt;
* '''Sintolvox''' - Via Privata Asti, 12 (close to Piazza Piemonte) - Milano.&lt;br /&gt;
* '''[http://www.futurashop.it Futura Elettronica]''' - via Adige 11, 21013 Gallarate (Va)&lt;br /&gt;
* LeD elettronica snc - Milano via Bessarione 14 (Corvetto) - 02-5392845&lt;br /&gt;
* '''[http://www.microchip.com Microchip]''' - OnLine shops for PIC and other stuffs. For sample request try to sent an e-mail to franca.borella&amp;lt;at&amp;gt;microchip.com. Italian sales office is located in Legnano, Via P. Picasso 41. Reception Phone: 0331-742611; Franca Borella: 0331-742621.&lt;br /&gt;
&lt;br /&gt;
== PCB printing services ==&lt;br /&gt;
* '''[http://www.iteadstudio.com]''' - Cheap and good quality chinese supplier - 1 week production time plus shipping (from 5 days with DHL to 3-4 weeks with standard mailing)&lt;br /&gt;
* '''[http://www.seeedstudio.com]''' - Cheap and good quality chinese supplier - Almost the same as ITEADstudio but with some different panelizing options&lt;br /&gt;
&lt;br /&gt;
== Machine shop ==&lt;br /&gt;
* '''Meccanica di precisione srl''' di Moretti Piero, via Tartini Giuseppe 6 ([http://maps.google.it/maps?f=q&amp;amp;source=s_q&amp;amp;hl=it&amp;amp;geocode=&amp;amp;q=via+tartini+giuseppe+6+milano&amp;amp;sll=41.442726,12.392578&amp;amp;sspn=20.136361,39.550781&amp;amp;ie=UTF8&amp;amp;ll=45.504347,9.175901&amp;amp;spn=0.009204,0.019312&amp;amp;z=16 map]), 02-3761826. Use line 82 from Bovisa or MM3 Maciachini.&lt;br /&gt;
* '''[http://www.pietrovigano.it/ Ferramenta Pietro Viganò]''', via Montevideo 8, Milano. Near the &amp;quot;S. Agostino&amp;quot; stop of MM2.&lt;br /&gt;
* '''[http://maps.google.com/maps?q=milano+via+buschi&amp;amp;hl=en&amp;amp;ll=45.482604,9.234113&amp;amp;spn=0.000808,0.001742&amp;amp;sll=45.482542,9.233846&amp;amp;sspn=0.000811,0.001742&amp;amp;vpsrc=6&amp;amp;hnear=Via+Averardo+Buschi,+20131+Milano,+Lombardia,+Italy&amp;amp;t=h&amp;amp;z=20&amp;amp;layer=c&amp;amp;cbll=45.482571,9.233977&amp;amp;panoid=68URXzjcZWvlsFdVSz3a6g&amp;amp;cbp=12,314.23,,1,4.66 Ferramenta Sergio Santori]''', next to via Buschi 19 (near the intersection between via Buschi and via Grossich, at 50m from the exit &amp;quot;via Pacini&amp;quot; of stop &amp;quot;Lambrate FS&amp;quot; of MM2). Unassuming small shop without a sign (it's the one on the right of &amp;quot;Ditta G&amp;amp;G&amp;quot;), but surprisingly well stocked. Try it.&lt;br /&gt;
* '''[http://www.item24.it/it/item-italia/produkte/catalogo-prodotti/products/sistema-dei-componenti-mb-per-costruzioni-meccaniche.html Item]''': modular aluminium mechanical components. Some of these are already available in the lab.&lt;br /&gt;
&lt;br /&gt;
== Printing ==&lt;br /&gt;
* For posters and such things, one place is '''[http://www.virus-graphics.com/low.htm Virus]''' (via Corti 30, near the DEI).&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous online resources ==&lt;br /&gt;
* '''[http://www.tracepartsonline.net/%28S%28ejejr055bj2wca55r0sxra55%29%29/content.aspx Traceparts]''': a repository of 2D and 3D CAD models (requires user registration).&lt;br /&gt;
* '''[https://www.buerklin.com/default.asp?l=e Burklin]''': vendor of cables and other stuff.&lt;br /&gt;
* '''[http://www.ctmeca.com/vitnw/ CTMeca]''', an Italian vendor of mechanical parts.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Shops&amp;diff=15028</id>
		<title>Shops</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Shops&amp;diff=15028"/>
				<updated>2012-05-29T15:38:58Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: /* Electronics devices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General info ==&lt;br /&gt;
* You can purchase things directly if you spend less than 100€ including taxes (obviously with authorization of your tutor). Give the receipt or invoice to your tutor to obtain refund!&lt;br /&gt;
* If you need to spend more you need to refer to your tutor to start a different procedure (&amp;quot;Buono d'Ordine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Electronics devices ==&lt;br /&gt;
* '''[http://it.rs-online.com/web/ RS]''' - You can shop on-line or buy direct from the RS shop located in via W. Tobagi, 19 - Vimodrone (near the &amp;quot;Cascina Burrona&amp;quot; stop of MM2). '''Important!''' If you buy directly at the RS shop, you '''absolutely must request''' that the name on the invoice (&amp;quot;fattura&amp;quot;) is: ''Politecnico di Milano - Dipartimento di Elettronica e Informazione - via Ponzio 34/5 - 20133 Milano'' and that the invoice is marked as ''paid'' (RS uses a strange paper-piercing tool to do the mark). If you ask for these two things, you get a 10% discount; if you don't, you don't get the discount and, above all, you '''cannot obtain a refund from your tutor'''!&lt;br /&gt;
* '''[http://www.farnell.com Farnell]''' - You can shop on-line with discounts.&lt;br /&gt;
* '''[http://www.franchidiscarpa.it/main.htm Franchi di Scarpa]''' - Via Padova, 74 - Milano. &lt;br /&gt;
* '''[http://www.watterott.com/ Watterott]''' Online shop in Germany (no additional taxes): drivers, microcontrollers, cards, ...&lt;br /&gt;
* '''Sintolvox''' - Via Privata Asti, 12 (close to Piazza Piemonte) - Milano.&lt;br /&gt;
* '''[http://www.futurashop.it Futura Elettronica]''' - via Adige 11, 21013 Gallarate (Va)&lt;br /&gt;
* LeD elettronica snc - Milano via Bessarione 14 (Corvetto) - 02-5392845&lt;br /&gt;
* '''[http://www.microchip.com Microchip]''' - OnLine shops for PIC and other stuffs. For sample request try to sent an e-mail to franca.borella&amp;lt;at&amp;gt;microchip.com. Italian sales office is located in Legnano, Via P. Picasso 41. Reception Phone: 0331-742611; Franca Borella: 0331-742621.&lt;br /&gt;
&lt;br /&gt;
== Machine shop ==&lt;br /&gt;
* '''Meccanica di precisione srl''' di Moretti Piero, via Tartini Giuseppe 6 ([http://maps.google.it/maps?f=q&amp;amp;source=s_q&amp;amp;hl=it&amp;amp;geocode=&amp;amp;q=via+tartini+giuseppe+6+milano&amp;amp;sll=41.442726,12.392578&amp;amp;sspn=20.136361,39.550781&amp;amp;ie=UTF8&amp;amp;ll=45.504347,9.175901&amp;amp;spn=0.009204,0.019312&amp;amp;z=16 map]), 02-3761826. Use line 82 from Bovisa or MM3 Maciachini.&lt;br /&gt;
* '''[http://www.pietrovigano.it/ Ferramenta Pietro Viganò]''', via Montevideo 8, Milano. Near the &amp;quot;S. Agostino&amp;quot; stop of MM2.&lt;br /&gt;
* '''[http://maps.google.com/maps?q=milano+via+buschi&amp;amp;hl=en&amp;amp;ll=45.482604,9.234113&amp;amp;spn=0.000808,0.001742&amp;amp;sll=45.482542,9.233846&amp;amp;sspn=0.000811,0.001742&amp;amp;vpsrc=6&amp;amp;hnear=Via+Averardo+Buschi,+20131+Milano,+Lombardia,+Italy&amp;amp;t=h&amp;amp;z=20&amp;amp;layer=c&amp;amp;cbll=45.482571,9.233977&amp;amp;panoid=68URXzjcZWvlsFdVSz3a6g&amp;amp;cbp=12,314.23,,1,4.66 Ferramenta Sergio Santori]''', next to via Buschi 19 (near the intersection between via Buschi and via Grossich, at 50m from the exit &amp;quot;via Pacini&amp;quot; of stop &amp;quot;Lambrate FS&amp;quot; of MM2). Unassuming small shop without a sign (it's the one on the right of &amp;quot;Ditta G&amp;amp;G&amp;quot;), but surprisingly well stocked. Try it.&lt;br /&gt;
* '''[http://www.item24.it/it/item-italia/produkte/catalogo-prodotti/products/sistema-dei-componenti-mb-per-costruzioni-meccaniche.html Item]''': modular aluminium mechanical components. Some of these are already available in the lab.&lt;br /&gt;
&lt;br /&gt;
== Printing ==&lt;br /&gt;
* For posters and such things, one place is '''[http://www.virus-graphics.com/low.htm Virus]''' (via Corti 30, near the DEI).&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous online resources ==&lt;br /&gt;
* '''[http://www.tracepartsonline.net/%28S%28ejejr055bj2wca55r0sxra55%29%29/content.aspx Traceparts]''': a repository of 2D and 3D CAD models (requires user registration).&lt;br /&gt;
* '''[https://www.buerklin.com/default.asp?l=e Burklin]''': vendor of cables and other stuff.&lt;br /&gt;
* '''[http://www.ctmeca.com/vitnw/ CTMeca]''', an Italian vendor of mechanical parts.&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=TiltOne&amp;diff=14489</id>
		<title>TiltOne</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=TiltOne&amp;diff=14489"/>
				<updated>2012-02-21T14:29:37Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=TiltOne&lt;br /&gt;
|image=Tiltone_3.jpg&lt;br /&gt;
|short_descr=Balancing robot&lt;br /&gt;
|coordinator=AndreaBonarini;&lt;br /&gt;
|tutor=MartinoMigliavacca;&lt;br /&gt;
|collaborator=GiulioFontana;&lt;br /&gt;
|students=AndreaGalbiati;&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|start=2010/09/20&lt;br /&gt;
|end=2011/02/20&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=Bs&lt;br /&gt;
|type=Thesis&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
TiltOne is a two-wheels balancing robot, designed for service applications which need a tall robot (it is 120cm tall) keeping a small footprint, e.g., home assistance, office bellboy, advertising purposes, robotic waiter, assistant to move heavy objects.&lt;br /&gt;
&lt;br /&gt;
TiltOne has only two wheels, which are actuated to keep itself in equilibrium. It is designed to be able to carry a quite high payload (up to 50kg) travelling at speeds of about 1.5m/s.&lt;br /&gt;
&lt;br /&gt;
The robot is controlled by a microcontroller that runs two different balance algorithms: the first implements classical control laws, analytically tuned, while the other is obtained by machine learning techniques, where the robot learns how to keep the equilibrium.&lt;br /&gt;
&lt;br /&gt;
== Mechanical project ==&lt;br /&gt;
&lt;br /&gt;
==== Frame ====&lt;br /&gt;
As the robot needs to keep the wheel axis just under it's center of mass to mantain the unstable equilibrium point, it's inertia should be high in the upper part of the frame and low at the wheel level, allowing the base to move while the center of mass holds - ideally - it's position. For this reason the batteries, that are the heavier component of the robot, are mounted at the top of the frame.&lt;br /&gt;
&lt;br /&gt;
A preview of the robot structure was realized using Google Sketchup 6, giving a first idea about it's dimensions and components placement [[Media:Tiltone_2_-_completo.zip]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiltone 2 - ruote alzate.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
The robot frame is built using standard aluminium profiles (http://www.item.info) to allow future modifications and provide simple solutions to attach auxiliar devices.&lt;br /&gt;
&lt;br /&gt;
==== Wheels and transmission ====&lt;br /&gt;
&lt;br /&gt;
The mechanical project was then realized using Rinoceros 4.0 CAD. Apart from the robot frame, particular attention was dedicated to the design of the transmission and the wheel hub, that allow to use standard cross-bike wheels [[Media:Tiltone_3_Rhinoceros.zip]].&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltOne.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Trasmissione.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
The robot is actuated by two high-power electrical DC motor from Maxon Motor (www.maxonmotor.com) that provide torque to the wheels via a belt drive system.&lt;br /&gt;
&lt;br /&gt;
== Electrical project == &lt;br /&gt;
&lt;br /&gt;
==== Sensors ====&lt;br /&gt;
&lt;br /&gt;
What the robot needs to control it's behavior are it's angle and angular velocity with respect to the direction of the gravitational force and the current speed of the wheels.&lt;br /&gt;
&lt;br /&gt;
To acquire the robot angle and the angular velocity two sensors are used: an accelerometer (LIS344ALH by ST Microelectronics), that gives the components of the gravitational force along the vertical and horizontal axes of the frame, and a gyroscope (ADXRS150 from Analog Devices), that can directly measure the angular velocity with respect to the wheel axis.&lt;br /&gt;
In order to reduce the influence of robot's movements sensed by the accelerometer, and to avoid the drift of the gyroscope readings, these two measurements are fused with a Kalman filter. The output of the filter is an estimate of robot's angle and angular velocity that tracks very well the real data.&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltone_ka_ra_noise.png]]&lt;br /&gt;
&lt;br /&gt;
Wheel's speed is obtained by two optical encoders (HEDS-5540 from Agilent) directly attached to the motor rotors, that allow to evaluate the rotor speed and to drive the motors with a closed loop controller.&lt;br /&gt;
&lt;br /&gt;
==== Robot controller ====&lt;br /&gt;
&lt;br /&gt;
The robot is controlled by a board built around a STM32 ARM7 Cortex M3 microcontroller by ST Microelectronics.&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltone_board_blocks.png|720px]]&lt;br /&gt;
&lt;br /&gt;
The microcontroller acquires sensors data, apply a control law and commits a command to the motors. The software running on the ARM is real-time oriented, having periodic tasks constantly running at different frequencies and some interrupt-driven events that can modify the program flow.&lt;br /&gt;
The board provides also a serial interface to an external PC used to program the microcontroller and a wireless Zigbee module allowing to communicate with the robot&lt;br /&gt;
&lt;br /&gt;
== Stability and motion control ==&lt;br /&gt;
&lt;br /&gt;
We have implemented different algorithms to control the stability of the robot and it's movements. Some of them are based on classical control laws, while others exploit machine learning techniques.&lt;br /&gt;
&lt;br /&gt;
==== Classical controllers ====&lt;br /&gt;
&lt;br /&gt;
A classical PID controller has been developed for stability control. A simple P-I controller keeps the robot in vertical position, but it is not robust and can't follow a speed o position setpoint.&lt;br /&gt;
&lt;br /&gt;
A better controller was introduced to enhance robot reaction to external disturbances and to follow speed setpoints. A simplified schema of the controller is presented in the following figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltone_pid_controller.png|720px]]&lt;br /&gt;
&lt;br /&gt;
* C3 is a PID controller that makes the system stable&lt;br /&gt;
* C2 is a PID controller that enhance C3 performances varying its setpoint (nested PID approach)&lt;br /&gt;
* C1 is the speed controller, obtained by root locus analysis of the system, that acts changing the angle setpoint of the stability controllers&lt;br /&gt;
&lt;br /&gt;
==== Reinforcement Learning approach ====&lt;br /&gt;
&lt;br /&gt;
Machine learning techniques have been exploited to keep the robot stable. The approach we used is based on offline FQI reinforcement learning algorithms, and some continuous-time variants to smooth robot movements.&lt;br /&gt;
Basically, the robot is able to learn automatically a control policy (a function, or a lookup table, that maps the state variables to a control action) by an analysis of data collected with random motor commands. The learning process consists in three steps:&lt;br /&gt;
* the robot is controlled by random commands, so it shakes for a while (usually 1-2 seconds) and then falls down&lt;br /&gt;
* collected data is analyzed with a FQI policy search algorithm and a policy is obtained&lt;br /&gt;
* the policy is tested on the robot, and more data is collected to recursively apply the algorithm&lt;br /&gt;
&lt;br /&gt;
The figure on the left shows starting data collected by applying random commands, while on the right the obtained policy to keep the robot vertical is reported.&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiltone_rl_space.png|420px]]   &lt;br /&gt;
[[Image:Rl_policy_angle.png|420px]]&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
==== Thesis ====&lt;br /&gt;
&lt;br /&gt;
* Master thesis by Martino Migliavacca (in Italian): &amp;quot;Progetto e realizzazione di una base robotica bilanciante su ruote&amp;quot; (Design and development of a two-wheel balancing platform). [[Media:TiltOne_tesi_Migliavacca.pdf]]&lt;br /&gt;
&lt;br /&gt;
* Project presentation slides by Martino Migliavacca (in Italian). [[Media:Tiltone_Presentation_Migliavacca.pdf]]&lt;br /&gt;
&lt;br /&gt;
* First level thesis by Andrea Galbiati (in Italian): &amp;quot;Progettazione e realizzazione del controllo di una base robotica bilanciante su ruote&amp;quot; (Control design and implementation for a two-wheel balancing platform). [[Media:TiltOne_tesi_Galbiati.pdf]]&lt;br /&gt;
&lt;br /&gt;
==== YouTube videos ====&lt;br /&gt;
* tiltOne's first steps&lt;br /&gt;
{{#ev:youtube|4FrA73Cxljs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tiltOne is stable&lt;br /&gt;
{{#ev:youtube|VASMfKkpK6c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remote control with joypad&lt;br /&gt;
{{#ev:youtube|V0U4vNpM_z8}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tiltOne at Robotica 2011&lt;br /&gt;
{{#ev:youtube|jux6vbNTdcQ}}&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
- Inverted pendulum on Wikipedia&lt;br /&gt;
http://en.wikipedia.org/wiki/Inverted_pendulum&lt;br /&gt;
&lt;br /&gt;
- Matlab tutorial about controlling an inverted pendulum (Modeling, PID, LQR, etc)&lt;br /&gt;
http://www.engin.umich.edu/group/ctm/examples/pend/invSS.html#lqr&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=File:Tiltone_3.jpg&amp;diff=14488</id>
		<title>File:Tiltone 3.jpg</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=File:Tiltone_3.jpg&amp;diff=14488"/>
				<updated>2012-02-21T14:24:52Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: uploaded a new version of &amp;amp;quot;File:Tiltone 3.jpg&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=TiltOne&amp;diff=14487</id>
		<title>TiltOne</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=TiltOne&amp;diff=14487"/>
				<updated>2012-02-21T14:23:22Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=TiltOne&lt;br /&gt;
|image=Tiltone_3.jpg&lt;br /&gt;
|short_descr=Balancing robot&lt;br /&gt;
|coordinator=AndreaBonarini;&lt;br /&gt;
|tutor=MartinoMigliavacca;&lt;br /&gt;
|collaborator=GiulioFontana;&lt;br /&gt;
|students=AndreaGalbiati;&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|start=2010/09/20&lt;br /&gt;
|end=2011/02/20&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=Bs&lt;br /&gt;
|type=Thesis&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
TiltOne is a two-wheels balancing robot, designed for service applications which need a tall robot (it is 120cm tall) keeping a small footprint, e.g., home assistance, office bellboy, advertising purposes, robotic waiter, assistant to move heavy objects.&lt;br /&gt;
&lt;br /&gt;
TiltOne has only two wheels, which are actuated to keep itself in equilibrium. It is designed to be able to carry a quite high payload (up to 50kg) travelling at speeds of about 1.5m/s.&lt;br /&gt;
&lt;br /&gt;
The robot is controlled by a microcontroller that runs two different balance algorithms: the first implements classical control laws, analytically tuned, while the other is obtained by machine learning techniques, where the robot learns how to keep the equilibrium.&lt;br /&gt;
&lt;br /&gt;
== Mechanical project ==&lt;br /&gt;
&lt;br /&gt;
==== Frame ====&lt;br /&gt;
As the robot needs to keep the wheel axis just under it's center of mass to mantain the unstable equilibrium point, it's inertia should be high in the upper part of the frame and low at the wheel level, allowing the base to move while the center of mass holds - ideally - it's position. For this reason the batteries, that are the heavier component of the robot, are mounted at the top of the frame.&lt;br /&gt;
&lt;br /&gt;
A preview of the robot structure was realized using Google Sketchup 6, giving a first idea about it's dimensions and components placement [[Media:Tiltone_2_-_completo.zip]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiltone 2 - ruote alzate.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
The robot frame is built using standard aluminium profiles (http://www.item.info) to allow future modifications and provide simple solutions to attach auxiliar devices.&lt;br /&gt;
&lt;br /&gt;
==== Wheels and transmission ====&lt;br /&gt;
&lt;br /&gt;
The mechanical project was then realized using Rinoceros 4.0 CAD. Apart from the robot frame, particular attention was dedicated to the design of the transmission and the wheel hub, that allow to use standard cross-bike wheels [[Media:Tiltone_3_Rhinoceros.zip]].&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltOne.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Trasmissione.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
The robot is actuated by two high-power electrical DC motor from Maxon Motor (www.maxonmotor.com) that provide torque to the wheels via a belt drive system.&lt;br /&gt;
&lt;br /&gt;
== Electrical project == &lt;br /&gt;
&lt;br /&gt;
==== Sensors ====&lt;br /&gt;
&lt;br /&gt;
What the robot needs to control it's behavior are it's angle and angular velocity with respect to the direction of the gravitational force and the current speed of the wheels.&lt;br /&gt;
&lt;br /&gt;
To acquire the robot angle and the angular velocity two sensors are used: an accelerometer (LIS344ALH by ST Microelectronics), that gives the components of the gravitational force along the vertical and horizontal axes of the frame, and a gyroscope (ADXRS150 from Analog Devices), that can directly measure the angular velocity with respect to the wheel axis.&lt;br /&gt;
In order to reduce the influence of robot's movements sensed by the accelerometer, and to avoid the drift of the gyroscope readings, these two measurements are fused with a Kalman filter. The output of the filter is an estimate of robot's angle and angular velocity that tracks very well the real data.&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltone_ka_ra_noise.png]]&lt;br /&gt;
&lt;br /&gt;
Wheel's speed is obtained by two optical encoders (HEDS-5540 from Agilent) directly attached to the motor rotors, that allow to evaluate the rotor speed and to drive the motors with a closed loop controller.&lt;br /&gt;
&lt;br /&gt;
==== Robot controller ====&lt;br /&gt;
&lt;br /&gt;
The robot is controlled by a board built around a STM32 ARM7 Cortex M3 microcontroller by ST Microelectronics.&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltone_board_blocks.png|720px]]&lt;br /&gt;
&lt;br /&gt;
The microcontroller acquires sensors data, apply a control law and commits a command to the motors. The software running on the ARM is real-time oriented, having periodic tasks constantly running at different frequencies and some interrupt-driven events that can modify the program flow.&lt;br /&gt;
The board provides also a serial interface to an external PC used to program the microcontroller and a wireless Zigbee module allowing to communicate with the robot&lt;br /&gt;
&lt;br /&gt;
== Stability and motion control ==&lt;br /&gt;
&lt;br /&gt;
We have implemented different algorithms to control the stability of the robot and it's movements. Some of them are based on classical control laws, while others exploit machine learning techniques.&lt;br /&gt;
&lt;br /&gt;
==== Classical controllers ====&lt;br /&gt;
&lt;br /&gt;
A classical PID controller has been developed for stability control. A simple P-I controller keeps the robot in vertical position, but it is not robust and can't follow a speed o position setpoint.&lt;br /&gt;
&lt;br /&gt;
A better controller was introduced to enhance robot reaction to external disturbances and to follow speed setpoints. A simplified schema of the controller is presented in the following figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltone_pid_controller.png|720px]]&lt;br /&gt;
&lt;br /&gt;
* C3 is a PID controller that makes the system stable&lt;br /&gt;
* C2 is a PID controller that enhance C3 performances varying its setpoint (nested PID approach)&lt;br /&gt;
* C1 is the speed controller, obtained by root locus analysis of the system, that acts changing the angle setpoint of the stability controllers&lt;br /&gt;
&lt;br /&gt;
==== Reinforcement Learning approach ====&lt;br /&gt;
&lt;br /&gt;
Machine learning techniques have been exploited to keep the robot stable. The approach we used is based on offline FQI reinforcement learning algorithms, and some continuous-time variants to smooth robot movements.&lt;br /&gt;
Basically, the robot is able to learn automatically a control policy (a function, or a lookup table, that maps the state variables to a control action) by an analysis of data collected with random motor commands. The learning process consists in three steps:&lt;br /&gt;
* the robot is controlled by random commands, so it shakes for a while (usually 1-2 seconds) and then falls down&lt;br /&gt;
* collected data is analyzed with a FQI policy search algorithm and a policy is obtained&lt;br /&gt;
* the policy is tested on the robot, and more data is collected to recursively apply the algorithm&lt;br /&gt;
&lt;br /&gt;
The figure on the left shows starting data collected by applying random commands, while on the right the obtained policy to keep the robot vertical is reported.&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiltone_rl_space.png|420px]]   &lt;br /&gt;
[[Image:Rl_policy_angle.png|420px]]&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
==== Thesis ====&lt;br /&gt;
&lt;br /&gt;
* Master thesis by Martino Migliavacca (in Italian): &amp;quot;Progetto e realizzazione di una base robotica bilanciante su ruote&amp;quot; (Design and development of a two-wheel balancing platform). [[Media:TiltOne_tesi_Migliavacca.pdf]]&lt;br /&gt;
&lt;br /&gt;
* Project presentation slides by Martino Migliavacca (in Italian). [[Media:Tiltone_Presentation_Migliavacca.pdf]]&lt;br /&gt;
&lt;br /&gt;
* First level thesis by Andrea Galbiati (in Italian): &amp;quot;Progettazione e realizzazione del controllo di una base robotica bilanciante su ruote&amp;quot; (Control design and implementation for a two-wheel balancing platform). [[Media:TiltOne_tesi_Galbiati.pdf]]&lt;br /&gt;
&lt;br /&gt;
==== YouTube videos ====&lt;br /&gt;
* tiltOne's first steps&lt;br /&gt;
{{#ev:youtube|4FrA73Cxljs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tiltOne is stable&lt;br /&gt;
{{#ev:youtube|VASMfKkpK6c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remote control with joypad&lt;br /&gt;
{{#ev:youtube|V0U4vNpM_z8}}&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
- Inverted pendulum on Wikipedia&lt;br /&gt;
http://en.wikipedia.org/wiki/Inverted_pendulum&lt;br /&gt;
&lt;br /&gt;
- Matlab tutorial about controlling an inverted pendulum (Modeling, PID, LQR, etc)&lt;br /&gt;
http://www.engin.umich.edu/group/ctm/examples/pend/invSS.html#lqr&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=TiltOne&amp;diff=14486</id>
		<title>TiltOne</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=TiltOne&amp;diff=14486"/>
				<updated>2012-02-21T14:22:53Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Project&lt;br /&gt;
|title=TiltOne&lt;br /&gt;
|image=Tiltone_3.jpg&lt;br /&gt;
|short_descr=Balancing robot&lt;br /&gt;
|coordinator=AndreaBonarini;&lt;br /&gt;
|tutor=MartinoMigliavacca;&lt;br /&gt;
|collaborator=GiulioFontana;&lt;br /&gt;
|students=AndreaGalbiati;&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|start=2010/09/20&lt;br /&gt;
|end=2011/02/20&lt;br /&gt;
|status=Active&lt;br /&gt;
|level=Bs&lt;br /&gt;
|type=Thesis&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
TiltOne is a two-wheels balancing robot, designed for service applications which need a tall robot (it is 120cm tall) keeping a small footprint, e.g., home assistance, office bellboy, advertising purposes, robotic waiter, assistant to move heavy objects.&lt;br /&gt;
&lt;br /&gt;
TiltOne has only two wheels, which are actuated to keep itself in equilibrium. It is designed to be able to carry a quite high payload (up to 50kg) travelling at speeds of about 1.5m/s.&lt;br /&gt;
&lt;br /&gt;
The robot is controlled by a microcontroller that runs two different balance algorithms: the first implements classical control laws, analytically tuned, while the other is obtained by machine learning techniques, where the robot learns how to keep the equilibrium.&lt;br /&gt;
&lt;br /&gt;
_forceTOC__&lt;br /&gt;
&lt;br /&gt;
== Mechanical project ==&lt;br /&gt;
&lt;br /&gt;
==== Frame ====&lt;br /&gt;
As the robot needs to keep the wheel axis just under it's center of mass to mantain the unstable equilibrium point, it's inertia should be high in the upper part of the frame and low at the wheel level, allowing the base to move while the center of mass holds - ideally - it's position. For this reason the batteries, that are the heavier component of the robot, are mounted at the top of the frame.&lt;br /&gt;
&lt;br /&gt;
A preview of the robot structure was realized using Google Sketchup 6, giving a first idea about it's dimensions and components placement [[Media:Tiltone_2_-_completo.zip]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiltone 2 - ruote alzate.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
The robot frame is built using standard aluminium profiles (http://www.item.info) to allow future modifications and provide simple solutions to attach auxiliar devices.&lt;br /&gt;
&lt;br /&gt;
==== Wheels and transmission ====&lt;br /&gt;
&lt;br /&gt;
The mechanical project was then realized using Rinoceros 4.0 CAD. Apart from the robot frame, particular attention was dedicated to the design of the transmission and the wheel hub, that allow to use standard cross-bike wheels [[Media:Tiltone_3_Rhinoceros.zip]].&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltOne.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Trasmissione.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
The robot is actuated by two high-power electrical DC motor from Maxon Motor (www.maxonmotor.com) that provide torque to the wheels via a belt drive system.&lt;br /&gt;
&lt;br /&gt;
== Electrical project == &lt;br /&gt;
&lt;br /&gt;
==== Sensors ====&lt;br /&gt;
&lt;br /&gt;
What the robot needs to control it's behavior are it's angle and angular velocity with respect to the direction of the gravitational force and the current speed of the wheels.&lt;br /&gt;
&lt;br /&gt;
To acquire the robot angle and the angular velocity two sensors are used: an accelerometer (LIS344ALH by ST Microelectronics), that gives the components of the gravitational force along the vertical and horizontal axes of the frame, and a gyroscope (ADXRS150 from Analog Devices), that can directly measure the angular velocity with respect to the wheel axis.&lt;br /&gt;
In order to reduce the influence of robot's movements sensed by the accelerometer, and to avoid the drift of the gyroscope readings, these two measurements are fused with a Kalman filter. The output of the filter is an estimate of robot's angle and angular velocity that tracks very well the real data.&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltone_ka_ra_noise.png]]&lt;br /&gt;
&lt;br /&gt;
Wheel's speed is obtained by two optical encoders (HEDS-5540 from Agilent) directly attached to the motor rotors, that allow to evaluate the rotor speed and to drive the motors with a closed loop controller.&lt;br /&gt;
&lt;br /&gt;
==== Robot controller ====&lt;br /&gt;
&lt;br /&gt;
The robot is controlled by a board built around a STM32 ARM7 Cortex M3 microcontroller by ST Microelectronics.&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltone_board_blocks.png|720px]]&lt;br /&gt;
&lt;br /&gt;
The microcontroller acquires sensors data, apply a control law and commits a command to the motors. The software running on the ARM is real-time oriented, having periodic tasks constantly running at different frequencies and some interrupt-driven events that can modify the program flow.&lt;br /&gt;
The board provides also a serial interface to an external PC used to program the microcontroller and a wireless Zigbee module allowing to communicate with the robot&lt;br /&gt;
&lt;br /&gt;
== Stability and motion control ==&lt;br /&gt;
&lt;br /&gt;
We have implemented different algorithms to control the stability of the robot and it's movements. Some of them are based on classical control laws, while others exploit machine learning techniques.&lt;br /&gt;
&lt;br /&gt;
==== Classical controllers ====&lt;br /&gt;
&lt;br /&gt;
A classical PID controller has been developed for stability control. A simple P-I controller keeps the robot in vertical position, but it is not robust and can't follow a speed o position setpoint.&lt;br /&gt;
&lt;br /&gt;
A better controller was introduced to enhance robot reaction to external disturbances and to follow speed setpoints. A simplified schema of the controller is presented in the following figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:tiltone_pid_controller.png|720px]]&lt;br /&gt;
&lt;br /&gt;
* C3 is a PID controller that makes the system stable&lt;br /&gt;
* C2 is a PID controller that enhance C3 performances varying its setpoint (nested PID approach)&lt;br /&gt;
* C1 is the speed controller, obtained by root locus analysis of the system, that acts changing the angle setpoint of the stability controllers&lt;br /&gt;
&lt;br /&gt;
==== Reinforcement Learning approach ====&lt;br /&gt;
&lt;br /&gt;
Machine learning techniques have been exploited to keep the robot stable. The approach we used is based on offline FQI reinforcement learning algorithms, and some continuous-time variants to smooth robot movements.&lt;br /&gt;
Basically, the robot is able to learn automatically a control policy (a function, or a lookup table, that maps the state variables to a control action) by an analysis of data collected with random motor commands. The learning process consists in three steps:&lt;br /&gt;
* the robot is controlled by random commands, so it shakes for a while (usually 1-2 seconds) and then falls down&lt;br /&gt;
* collected data is analyzed with a FQI policy search algorithm and a policy is obtained&lt;br /&gt;
* the policy is tested on the robot, and more data is collected to recursively apply the algorithm&lt;br /&gt;
&lt;br /&gt;
The figure on the left shows starting data collected by applying random commands, while on the right the obtained policy to keep the robot vertical is reported.&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiltone_rl_space.png|420px]]   &lt;br /&gt;
[[Image:Rl_policy_angle.png|420px]]&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
==== Thesis ====&lt;br /&gt;
&lt;br /&gt;
* Master thesis by Martino Migliavacca (in Italian): &amp;quot;Progetto e realizzazione di una base robotica bilanciante su ruote&amp;quot; (Design and development of a two-wheel balancing platform). [[Media:TiltOne_tesi_Migliavacca.pdf]]&lt;br /&gt;
&lt;br /&gt;
* Project presentation slides by Martino Migliavacca (in Italian). [[Media:Tiltone_Presentation_Migliavacca.pdf]]&lt;br /&gt;
&lt;br /&gt;
* First level thesis by Andrea Galbiati (in Italian): &amp;quot;Progettazione e realizzazione del controllo di una base robotica bilanciante su ruote&amp;quot; (Control design and implementation for a two-wheel balancing platform). [[Media:TiltOne_tesi_Galbiati.pdf]]&lt;br /&gt;
&lt;br /&gt;
==== YouTube videos ====&lt;br /&gt;
* tiltOne's first steps&lt;br /&gt;
{{#ev:youtube|4FrA73Cxljs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tiltOne is stable&lt;br /&gt;
{{#ev:youtube|VASMfKkpK6c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remote control with joypad&lt;br /&gt;
{{#ev:youtube|V0U4vNpM_z8}}&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
- Inverted pendulum on Wikipedia&lt;br /&gt;
http://en.wikipedia.org/wiki/Inverted_pendulum&lt;br /&gt;
&lt;br /&gt;
- Matlab tutorial about controlling an inverted pendulum (Modeling, PID, LQR, etc)&lt;br /&gt;
http://www.engin.umich.edu/group/ctm/examples/pend/invSS.html#lqr&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14473</id>
		<title>R2P IMU firmware development</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14473"/>
				<updated>2012-02-17T14:50:37Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProjectProposal&lt;br /&gt;
|title=R2P IMU firmware development&lt;br /&gt;
|image=R2P_IMU.png&lt;br /&gt;
|description=&lt;br /&gt;
R2P (Rapid Robot Prototyping) is an open source modular architecture for rapid prototyping of robotic applications, which aims at speeding up their development.&lt;br /&gt;
R2P is an open source modular hardware and software architecture, where off-the-shelf basic modules (e.g., sensors, actuators, controllers) are combined together in a plug-and-play way, with tools for an easy development of control software, allowing the implementation of a complex system in a simple and standardized way.&lt;br /&gt;
&lt;br /&gt;
One of the modules integrated in the framework is an IMU (Inertial Measurement Unit), which exploits a 3-axis MEMS gyroscope and a 2-axis MEMS accelerometer to estimate its heading.&lt;br /&gt;
A magnetometer is also present, in order to calculate absolute heading and correct the measurement from the other sensors.&lt;br /&gt;
&lt;br /&gt;
The project involves the study of a data filtering and sensor fusion algorithm and the implementation on an embedded microcontroller. The code must be written in ANSI C and optimized for the target embedded processor.&lt;br /&gt;
The board have been built and tested, and raw sensor data have been acquired to test its functionality. Scientific articles about data filtering and sensor fusion, and example implementation of the algorithms, are available.&lt;br /&gt;
The only prerequisite is knowledge of the C programming language.&lt;br /&gt;
&lt;br /&gt;
|tutor=AndreaBonarini; MartinoMigliavacca;&lt;br /&gt;
|start=2012/03/01&lt;br /&gt;
|studmin=1&lt;br /&gt;
|studmax=2&lt;br /&gt;
|cfumin=2&lt;br /&gt;
|cfumax=5&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development;&lt;br /&gt;
|level=Bs; Ms&lt;br /&gt;
|type=Course&lt;br /&gt;
|status=Active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14472</id>
		<title>R2P IMU firmware development</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14472"/>
				<updated>2012-02-17T14:49:18Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProjectProposal&lt;br /&gt;
|title=R2P IMU firmware development&lt;br /&gt;
|image=R2P_IMU.png&lt;br /&gt;
|description=&lt;br /&gt;
R2P (Rapid Robot Prototyping) is an open source modular architecture for rapid prototyping of robotic applications, which aims at speeding up their development.&lt;br /&gt;
R2P is an open source modular hardware and software architecture, where off-the-shelf basic modules (e.g., sensors, actuators, controllers) are combined together in a plug-and-play way, with tools for an easy development of control software, allowing the implementation of a complex system in a simple and standardized way.&lt;br /&gt;
&lt;br /&gt;
One of the modules integrated in the framework is an IMU (Inertial Measurement Unit), which exploits a 3-axis MEMS gyroscope and a 2-axis MEMS accelerometer to estimate its heading.&lt;br /&gt;
A magnetometer is also present, in order to calculate absolute heading and correct the measurement from the other sensors.&lt;br /&gt;
&lt;br /&gt;
The project involves the study of a sensor fusion algorithm and its implementation on the embedded microcontroller that runs the IMU module. The code must be written in ANSI C and optimized for the target embedded processor.&lt;br /&gt;
The board have been built and tested, and raw sensor data have been acquired to test its functionality. Scientific articles about sensor filtering, and example implementation of the algorithms, are available.&lt;br /&gt;
The only prerequisite is knowledge of the C programming language.&lt;br /&gt;
&lt;br /&gt;
|tutor=AndreaBonarini; MartinoMigliavacca;&lt;br /&gt;
|start=2012/03/01&lt;br /&gt;
|studmin=1&lt;br /&gt;
|studmax=2&lt;br /&gt;
|cfumin=2&lt;br /&gt;
|cfumax=5&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development;&lt;br /&gt;
|level=Bs; Ms&lt;br /&gt;
|type=Course&lt;br /&gt;
|status=Active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14471</id>
		<title>R2P IMU firmware development</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14471"/>
				<updated>2012-02-17T14:43:43Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProjectProposal&lt;br /&gt;
|title=R2P IMU firmware development&lt;br /&gt;
|image=R2P_IMU.png&lt;br /&gt;
|description=&lt;br /&gt;
R2P (Rapid Robot Prototyping) is an open source modular architecture for rapid prototyping of robotic applications, which aims at speeding up their development.&lt;br /&gt;
R2P is an open source modular hardware and software architecture, where off-the-shelf basic modules (e.g., sensors, actuators, controllers) are combined together in a plug-and-play way, with tools for an easy development of control software, allowing the implementation of a complex system in a simple and standardized way.&lt;br /&gt;
&lt;br /&gt;
One of the modules integrated in the framework is an IMU (Inertial Measurement Unit), which exploits a 3-axis MEMS gyroscope and a 2-axis MEMS accelerometer to estimate its heading.&lt;br /&gt;
A magnetometer is also present, in order to calculate absolute heading and correct the measurement from the other sensors.&lt;br /&gt;
&lt;br /&gt;
The project involves the study of a sensor fusion algorithm and its implementation on the embedded microcontroller that runs the IMU module. The code must be written in ANSI C and executed as thread in the ChibiOS/RT real-time operating system.&lt;br /&gt;
The board have been built and tested, and raw sensor data have been acquired. Scientific articles about sensor filtering, and example implementation of the algorithms, are available.&lt;br /&gt;
The only prerequisite is knowledge of the C programming language.&lt;br /&gt;
&lt;br /&gt;
|tutor=AndreaBonarini; MartinoMigliavacca;&lt;br /&gt;
|start=2012/03/01&lt;br /&gt;
|studmin=1&lt;br /&gt;
|studmax=2&lt;br /&gt;
|cfumin=2&lt;br /&gt;
|cfumax=5&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development;&lt;br /&gt;
|level=Bs; Ms&lt;br /&gt;
|type=Course&lt;br /&gt;
|status=Active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14470</id>
		<title>R2P IMU firmware development</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14470"/>
				<updated>2012-02-17T14:41:51Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProjectProposal&lt;br /&gt;
|title=R2P IMU firmware development&lt;br /&gt;
|image=R2P_IMU.png&lt;br /&gt;
|description=&lt;br /&gt;
R2P (Rapid Robot Prototyping) is an open source modular architecture for rapid prototyping of robotic applications, which aims at speeding up their development.&lt;br /&gt;
R2P is an open source modular hardware and software architecture, where off-the-shelf basic modules (e.g., sensors, actuators, controllers) are combined together in a plug-and-play way, with tools for an easy development of control software, allowing the implementation of a complex system in a simple and standardized way.&lt;br /&gt;
&lt;br /&gt;
One of the modules integrated in the framework is an IMU (Inertial Measurement Unit), which exploits a MEMS gyroscope and a MEMS accelerometer to estimate its heading.&lt;br /&gt;
A magnetometer is also present, in order to calculate absolute heading and correct the measurement from the other sensors.&lt;br /&gt;
&lt;br /&gt;
The project involves the study of a sensor fusion algorithm and its implementation on the embedded microcontroller that runs the IMU module. The code must be written in ANSI C and runs as thread in the ChibiOS/RT real-time operating system.&lt;br /&gt;
The board have been built and tested, and raw sensor data have been acquired. Scientific articles about sensor filtering, and example implementation of the algorithms, are available.&lt;br /&gt;
&lt;br /&gt;
|tutor=AndreaBonarini; MartinoMigliavacca;&lt;br /&gt;
|start=2012/03/01&lt;br /&gt;
|studmin=1&lt;br /&gt;
|studmax=2&lt;br /&gt;
|cfumin=2&lt;br /&gt;
|cfumax=5&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development;&lt;br /&gt;
|level=Bs; Ms&lt;br /&gt;
|type=Course&lt;br /&gt;
|status=Active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=File:R2P_IMU.png&amp;diff=14469</id>
		<title>File:R2P IMU.png</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=File:R2P_IMU.png&amp;diff=14469"/>
				<updated>2012-02-17T14:41:08Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14468</id>
		<title>R2P IMU firmware development</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=R2P_IMU_firmware_development&amp;diff=14468"/>
				<updated>2012-02-17T14:40:32Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: Created page with &amp;quot;{{ProjectProposal |title=R2P IMU firmware development |image=STM32-H103-1.jpg |description= R2P (Rapid Robot Prototyping) is an open source modular architecture for rapid prot...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProjectProposal&lt;br /&gt;
|title=R2P IMU firmware development&lt;br /&gt;
|image=STM32-H103-1.jpg&lt;br /&gt;
|description=&lt;br /&gt;
R2P (Rapid Robot Prototyping) is an open source modular architecture for rapid prototyping of robotic applications, which aims at speeding up their development.&lt;br /&gt;
R2P is an open source modular hardware and software architecture, where off-the-shelf basic modules (e.g., sensors, actuators, controllers) are combined together in a plug-and-play way, with tools for an easy development of control software, allowing the implementation of a complex system in a simple and standardized way.&lt;br /&gt;
&lt;br /&gt;
One of the modules integrated in the framework is an IMU (Inertial Measurement Unit), which exploits a MEMS gyroscope and a MEMS accelerometer to estimate its heading.&lt;br /&gt;
A magnetometer is also present, in order to calculate absolute heading and correct the measurement from the other sensors.&lt;br /&gt;
&lt;br /&gt;
The project involves the study of a sensor fusion algorithm and its implementation on the embedded microcontroller that runs the IMU module. The code must be written in ANSI C and runs as thread in the ChibiOS/RT real-time operating system.&lt;br /&gt;
The board have been built and tested, and raw sensor data have been acquired. Scientific articles about sensor filtering, and example implementation of the algorithms, are available.&lt;br /&gt;
&lt;br /&gt;
|tutor=AndreaBonarini; MartinoMigliavacca;&lt;br /&gt;
|start=2012/03/01&lt;br /&gt;
|studmin=1&lt;br /&gt;
|studmax=2&lt;br /&gt;
|cfumin=2&lt;br /&gt;
|cfumax=5&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development;&lt;br /&gt;
|level=Bs; Ms&lt;br /&gt;
|type=Course&lt;br /&gt;
|status=Active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14278</id>
		<title>Talk:CAN Bus bootloader for STM32 microcontrollers</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14278"/>
				<updated>2011-12-19T09:48:22Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Examples ====&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00161640.pdf STM32F10x in-application programming using the USART] - [http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/an2557.zip Firmware source code]&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00251611.pdf STM32TM in-application programming over the I2C bus] - [http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/an3078.zip Firmware source code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Reference manuals ====&lt;br /&gt;
[http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00171190.pdf STM32F1XX Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Corso ARM ====&lt;br /&gt;
&lt;br /&gt;
http://irawiki.disco.unimib.it/irawiki/index.php/Informatica_Industriale_/_Informatics_for_Industrial_Applications_2011/12&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14273</id>
		<title>Talk:CAN Bus bootloader for STM32 microcontrollers</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14273"/>
				<updated>2011-12-18T18:29:40Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Examples ====&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00161640.pdf STM32F10x in-application programming using the USART] - [http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/an2557.zip Firmware source code]&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00251611.pdf STM32TM in-application programming over the I2C bus] - [http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/an3078.zip Firmware source code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Reference manuals ====&lt;br /&gt;
[http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00171190.pdf STM32F1XX Reference Manual]&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14272</id>
		<title>Talk:CAN Bus bootloader for STM32 microcontrollers</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14272"/>
				<updated>2011-12-18T18:23:04Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00161640.pdf STM32F10x in-application programming using the USART] - [http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/an2557.zip Firmware source code]&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00251611.pdf STM32TM in-application programming over the I2C bus] - [http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/an3078.zip Firmware source code]&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14271</id>
		<title>Talk:CAN Bus bootloader for STM32 microcontrollers</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14271"/>
				<updated>2011-12-18T18:22:03Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00161640.pdf STM32F10x in-application programming using the USART] [http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/an2557.zip Firmware]&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00251611.pdf STM32TM in-application programming over the I2C bus]&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14270</id>
		<title>Talk:CAN Bus bootloader for STM32 microcontrollers</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14270"/>
				<updated>2011-12-18T18:17:57Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00161640.pdf STM32F10x in-application programming using the USART]&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00251611.pdf STM32TM in-application programming over the I2C bus]&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14269</id>
		<title>Talk:CAN Bus bootloader for STM32 microcontrollers</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=Talk:CAN_Bus_bootloader_for_STM32_microcontrollers&amp;diff=14269"/>
				<updated>2011-12-18T18:17:34Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: Created page with &amp;quot;  * [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00161640.pdf STM32F10x in-application programming using the USART * [http://www.st...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00161640.pdf STM32F10x in-application programming using the USART&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00251611.pdf STM32TM in-application programming over the I2C bus]&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=LCM_middleware_on_embedded_platform&amp;diff=13639</id>
		<title>LCM middleware on embedded platform</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=LCM_middleware_on_embedded_platform&amp;diff=13639"/>
				<updated>2011-09-30T14:01:55Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProjectProposal&lt;br /&gt;
|title=LCM middleware on embedded platform&lt;br /&gt;
|image=STM32-H103-1.jpg&lt;br /&gt;
|description=We are developing a framework for rapid prototyping of low-cost robotic systems. To  fasten robot design and building, and to make software and hardware reuse easier, a modular architecture is mandatory.&lt;br /&gt;
In a context of smart modules that have to cooperate by exchanging data to reach their common goal, the communication protocol and middleware are core components.&lt;br /&gt;
This project is about the middleware component, a publish/subscribe system that takes care of managing topics, publisher and subscribers, and of marshaling data before sending it.&lt;br /&gt;
This project aims at porting the LCM marshaling and middleware library, developed at MIT and used in the Grand Challenge competition, to embedded systems, in order to exploit the existing LCM tools and to be compliant with an existing and efficient technology.&lt;br /&gt;
&lt;br /&gt;
The project consists in:&lt;br /&gt;
* stripping non necessary features of LCM to match the constraints of an embedded system and of the communication protocol&lt;br /&gt;
* adding necessary features, like the concept of deadline (and priority as a consequence), that are mandatory for a real time distributed system&lt;br /&gt;
* building a gateway, on an embedded platform, that acts as gateway between the standard-LCM world and the embededd-LCM network&lt;br /&gt;
&lt;br /&gt;
The projects has to be developed in ANSI C, and experience with embedded platforms is a plus.&lt;br /&gt;
|tutor=AndreaBonarini; MartinoMigliavacca&lt;br /&gt;
|start=2011/10/1&lt;br /&gt;
|studmin=1&lt;br /&gt;
|studmax=2&lt;br /&gt;
|cfumin=20&lt;br /&gt;
|cfumax=20&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|level=Ms&lt;br /&gt;
|type=Thesis&lt;br /&gt;
|status=Active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=LCM_middleware_on_embedded_platform&amp;diff=13638</id>
		<title>LCM middleware on embedded platform</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=LCM_middleware_on_embedded_platform&amp;diff=13638"/>
				<updated>2011-09-30T14:01:20Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProjectProposal&lt;br /&gt;
|title=LCM middleware on embedded platform&lt;br /&gt;
|image=STM32-H103-1.jpg&lt;br /&gt;
|description=We are developing a framework for rapid prototyping of low-cost robotic systems. To  fasten robot design and building, and to make software and hardware reuse easier, a modular architecture is mandatory.&lt;br /&gt;
In a context of smart modules that have to cooperate by exchanging data to reach their common goal, the communication protocol and middleware are core components.&lt;br /&gt;
This project is about the middleware component, a publish/subscribe system that takes care of managing topics, publisher and subscribers, and of marshaling data before sending it.&lt;br /&gt;
This project aims at porting the LCM marshaling and middleware library, developed at MIT and used in the Grand Challenge competition, to embedded systems, in order to exploit the existing LCM tools and to be compliant with an existing and efficient technology.&lt;br /&gt;
&lt;br /&gt;
The project consists in:&lt;br /&gt;
* stripping non necessary features of LCM to match the constraints of an embedded system and of the communication protocol&lt;br /&gt;
* adding necessary features, like the concept of deadline (and priority as a consequence), that are mandatory for a real time distributed system&lt;br /&gt;
* building a gateway, on an embedded platform, that acts as gateway between the standard-LCM world and the embededd-LCM network&lt;br /&gt;
&lt;br /&gt;
The projects has to be developed in ANSI C, and experience with embedded platforms is a plus.&lt;br /&gt;
|tutor=AndreaBonarini, MartinoMigliavacca;&lt;br /&gt;
|start=2011/10/1&lt;br /&gt;
|studmin=1&lt;br /&gt;
|studmax=2&lt;br /&gt;
|cfumin=20&lt;br /&gt;
|cfumax=20&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|level=Ms&lt;br /&gt;
|type=Thesis&lt;br /&gt;
|status=Active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=LCM_middleware_on_embedded_platform&amp;diff=13637</id>
		<title>LCM middleware on embedded platform</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=LCM_middleware_on_embedded_platform&amp;diff=13637"/>
				<updated>2011-09-30T14:00:07Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProjectProposal&lt;br /&gt;
|title=LCM middleware on embedded platform&lt;br /&gt;
|image=STM32-H103-1.jpg&lt;br /&gt;
|description=We are developing a framework for rapid prototyping of low-cost robotic systems. To  fasten robot design and building, and to make software and hardware reuse easier, a modular architecture is mandatory.&lt;br /&gt;
In a context of smart modules that have to cooperate by exchanging data to reach their common goal, the communication protocol and middleware are core components.&lt;br /&gt;
This project is about the middleware component, a publish/subscribe system that takes care of managing topics, publisher and subscribers, and of marshaling data before sending it.&lt;br /&gt;
This project aims at porting the LCM marshaling and middleware library, developed at MIT and used in the Grand Challenge competition, to embedded systems, in order to exploit the existing LCM tools and to be compliant with an existing and efficient technology.&lt;br /&gt;
&lt;br /&gt;
The project consists in:&lt;br /&gt;
* stripping non necessary features of LCM to match the constraints of an embedded system and of the communication protocol&lt;br /&gt;
* adding necessary features, like the concept of deadline (and priority as a consequence), that are mandatory for a real time distributed system&lt;br /&gt;
* building a gateway, on an embedded platform, that acts as gateway between the standard-LCM world and the embededd-LCM network&lt;br /&gt;
&lt;br /&gt;
The projects has to be developed in ANSI C, and experience with embedded platforms is a plus.&lt;br /&gt;
|tutor=AndreaBonarini, MartinoMigliavacca&lt;br /&gt;
|start=2011/10/1&lt;br /&gt;
|studmin=1&lt;br /&gt;
|studmax=2&lt;br /&gt;
|cfumin=20&lt;br /&gt;
|cfumax=20&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot development&lt;br /&gt;
|level=Ms&lt;br /&gt;
|type=Thesis&lt;br /&gt;
|status=Active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	<entry>
		<id>https://airwiki.elet.polimi.it/index.php?title=LCM_middleware_on_embedded_platform&amp;diff=13636</id>
		<title>LCM middleware on embedded platform</title>
		<link rel="alternate" type="text/html" href="https://airwiki.elet.polimi.it/index.php?title=LCM_middleware_on_embedded_platform&amp;diff=13636"/>
				<updated>2011-09-30T13:59:42Z</updated>
		
		<summary type="html">&lt;p&gt;MartinoMigliavacca: Created page with &amp;quot;{{ProjectProposal |title=LCM middleware on embedded platform |image=STM32-H103-1.jpg |description=We are developing a framework for rapid prototyping of low-cost robotic systems....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProjectProposal&lt;br /&gt;
|title=LCM middleware on embedded platform&lt;br /&gt;
|image=STM32-H103-1.jpg&lt;br /&gt;
|description=We are developing a framework for rapid prototyping of low-cost robotic systems. To  fasten robot design and building, and to make software and hardware reuse easier, a modular architecture is mandatory.&lt;br /&gt;
In a context of smart modules that have to cooperate by exchanging data to reach their common goal, the communication protocol and middleware are core components.&lt;br /&gt;
This project is about the middleware component, a publish/subscribe system that takes care of managing topics, publisher and subscribers, and of marshaling data before sending it.&lt;br /&gt;
This project aims at porting the LCM marshaling and middleware library, developed at MIT and used in the Grand Challenge competition, to embedded systems, in order to exploit the existing LCM tools and to be compliant with an existing and efficient technology.&lt;br /&gt;
&lt;br /&gt;
The project consists in:&lt;br /&gt;
* stripping non necessary features of LCM to match the constraints of an embedded system and of the communication protocol&lt;br /&gt;
* adding necessary features, like the concept of deadline (and priority as a consequence), that are mandatory for a real time distributed system&lt;br /&gt;
* building a gateway, on an embedded platform, that acts as gateway between the standard-LCM world and the embededd-LCM network&lt;br /&gt;
&lt;br /&gt;
The projects has to be developed in ANSI C, and experience with embedded platforms is a plus.&lt;br /&gt;
|tutor=AndreaBonarini, MartinoMigliavacca&lt;br /&gt;
|start=2011/10/1&lt;br /&gt;
|studmin=1&lt;br /&gt;
|studmax=2&lt;br /&gt;
|cfumin=20&lt;br /&gt;
|cfumax=20&lt;br /&gt;
|resarea=Robotics&lt;br /&gt;
|restopic=Robot_development&lt;br /&gt;
|level=Ms&lt;br /&gt;
|type=Thesis&lt;br /&gt;
|status=Active&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MartinoMigliavacca</name></author>	</entry>

	</feed>