<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rsewiki.electro.dtu.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sh</id>
	<title>Rsewiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://rsewiki.electro.dtu.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sh"/>
	<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Special:Contributions/Sh"/>
	<updated>2026-04-30T13:15:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=SMR&amp;diff=7848</id>
		<title>SMR</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=SMR&amp;diff=7848"/>
		<updated>2025-02-12T13:50:02Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==SMR Command Languge==&lt;br /&gt;
&lt;br /&gt;
Reference document for SMR command language (SMRCL)&lt;br /&gt;
&lt;br /&gt;
SMRCL http://aut.electro.dtu.dk/mobotware/doc/smrcl.pdf&lt;br /&gt;
&lt;br /&gt;
SMRCL simulator: http://www.iau.dtu.dk/ingarb/sim/&lt;br /&gt;
&lt;br /&gt;
===Other pages===&lt;br /&gt;
&lt;br /&gt;
[[List of SMRs]] (List of SMRs)&lt;br /&gt;
&lt;br /&gt;
[[SMR test]] (SMR test procedures)&lt;br /&gt;
&lt;br /&gt;
===Additional smrcl features===&lt;br /&gt;
&lt;br /&gt;
Also available SMRCL functions&lt;br /&gt;
&lt;br /&gt;
 asin(x)&lt;br /&gt;
 acos(x)&lt;br /&gt;
&lt;br /&gt;
===reverse using smrcl===&lt;br /&gt;
Reverse 0.5m straight&lt;br /&gt;
 fwd -0.5 &lt;br /&gt;
Reverse and turn (turnradius 0.5m turn 90 degrees to the left, speed 0.2 m/s).&lt;br /&gt;
Back and forward to the same end position:&lt;br /&gt;
 turnr 0.5 90 @v-0.2&lt;br /&gt;
 turnr 0.5 90 @v0.2&lt;br /&gt;
 stop&lt;br /&gt;
&lt;br /&gt;
===Set RHD write variable===&lt;br /&gt;
&lt;br /&gt;
 setoutput &amp;quot;variable_name&amp;quot; 88&lt;br /&gt;
&lt;br /&gt;
Sets a RHD write variable with the name variable_name to the value 88&lt;br /&gt;
&lt;br /&gt;
===Get RHD variable===&lt;br /&gt;
&lt;br /&gt;
Use the name of the read variable preceded with a $, e.g.&lt;br /&gt;
&lt;br /&gt;
 eval $encl&lt;br /&gt;
 time2 = $tick / 100&lt;br /&gt;
&lt;br /&gt;
===quotes===&lt;br /&gt;
&lt;br /&gt;
In smrcl backslash &#039;\&#039; is interpreted as quotes &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
==Further links==&lt;br /&gt;
&lt;br /&gt;
[[SMR Clips Interface]]&lt;br /&gt;
&lt;br /&gt;
[[SMR wiring and assembly]]&lt;br /&gt;
&lt;br /&gt;
[[SMR Peer to Peer Networking]]&lt;br /&gt;
&lt;br /&gt;
[[RHD generated variables]]&lt;br /&gt;
&lt;br /&gt;
[[Connecting FTDI USB-RS422 cable to SMR RS485 bus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Old outdated links===&lt;br /&gt;
&lt;br /&gt;
[[SMRD communication]]&lt;br /&gt;
&lt;br /&gt;
[[libsmr]]&lt;br /&gt;
&lt;br /&gt;
[[SMR Flash Disk Cloning]]  (See updated version on main-page)&lt;br /&gt;
&lt;br /&gt;
[[How to make the SMR&#039;s work without a monitor]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Robobot_2b&amp;diff=7586</id>
		<title>Robobot 2b</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Robobot_2b&amp;diff=7586"/>
		<updated>2025-01-17T16:02:39Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Robobot_B|Robobot]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update software ==&lt;br /&gt;
&lt;br /&gt;
Once connected to the Raspberry Pi of the robot, update the software:&lt;br /&gt;
&lt;br /&gt;
=== Update operating system ===&lt;br /&gt;
&lt;br /&gt;
The operating system is the recommended PI-OS 64bit system build on Debian.&lt;br /&gt;
&lt;br /&gt;
Update using the commands:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;sudo&#039;&#039; is required to get administrator (super-user) privileges. the password is the users password.&lt;br /&gt;
&lt;br /&gt;
=== Update the Robot software ===&lt;br /&gt;
&lt;br /&gt;
The Robobot software is on an SVN (subversion) repository, update to newest version using:&lt;br /&gt;
&lt;br /&gt;
 cd svn/robobot&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
If C++ files were updated, then these apps need to be recompiled, continue with next section:&lt;br /&gt;
&lt;br /&gt;
=== Recompile base software ===&lt;br /&gt;
&lt;br /&gt;
When connected to the robot recompile the relevant software:&lt;br /&gt;
&lt;br /&gt;
====IP display====&lt;br /&gt;
&lt;br /&gt;
The ip_disp can show the robots IP on the robot display, it further monitors the &#039;&#039;start&#039;&#039; button and starts the Python mission app.&lt;br /&gt;
&lt;br /&gt;
In the directory &#039;&#039;/home/local/svn/robobot/ip_disp/build&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
 cd /home/local/svn/robobot/ip_disp/build&lt;br /&gt;
 make -j3&lt;br /&gt;
&lt;br /&gt;
This should be recompiled if there are any changes.&lt;br /&gt;
&lt;br /&gt;
==== Teensy - MQTT interface ====&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;teensy_interface&#039;&#039; makes the robot interface available using the MQTT protocol and thus makes it available over the net.&lt;br /&gt;
&lt;br /&gt;
In the directory &#039;&#039;/home/local/svn/robobot/teensy_interface/build&#039;&#039;:&lt;br /&gt;
 cd /home/local/svn/robobot/teensy_interface/build&lt;br /&gt;
 make -j3&lt;br /&gt;
&lt;br /&gt;
This should be recompiled if there are any changes.&lt;br /&gt;
&lt;br /&gt;
==== The Teensy 4.1 firmware ====&lt;br /&gt;
&lt;br /&gt;
The Robobot version of the Teensy firmware handles all (most) of the sensor and actuator interfaces.&lt;br /&gt;
&lt;br /&gt;
The firmware in the &#039;&#039;/home/local/svn/robobot/teensy_firmware_8&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 cd /home/local/svn/robobot/teensy_firmware_8&lt;br /&gt;
 ./compile&lt;br /&gt;
 &#039;&#039;(takes 5-15 seconds)&#039;&#039;&lt;br /&gt;
 ./upload&lt;br /&gt;
 &#039;&#039;Waiting for Teensy device...&#039;&#039;&lt;br /&gt;
 &#039;&#039;(hint: press the reset button)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not press the reset button&#039;&#039;&#039; (the small button on the Teensy board) without pressing and holding the &#039;&#039;power&#039;&#039; button on the main board during the upload. See [[Robobot_circuits|here]] for details on mainboard buttons.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;power&#039;&#039; button ensures the power (also to the Raspberry) during the upload.&lt;br /&gt;
If the power fails during upload, then press and hold the &#039;&#039;power&#039;&#039; button while the Raspberry boots, and you log on and repeat the upload.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Robobot_2b&amp;diff=7585</id>
		<title>Robobot 2b</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Robobot_2b&amp;diff=7585"/>
		<updated>2025-01-17T16:01:47Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Robobot_B|Robobot]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update software ==&lt;br /&gt;
&lt;br /&gt;
Once connected to the Raspberry Pi of the robot, update the software:&lt;br /&gt;
&lt;br /&gt;
=== Update operating system ===&lt;br /&gt;
&lt;br /&gt;
The operating system is the recommended PI-OS 64bit system build on Debian.&lt;br /&gt;
&lt;br /&gt;
Update using the commands:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;sudo&#039;&#039; is required to get administrator (super-user) privileges. the password is the users password.&lt;br /&gt;
&lt;br /&gt;
=== Update the Robot software ===&lt;br /&gt;
&lt;br /&gt;
The Robobot software is on an SVN (subversion) repository, update to newest version using:&lt;br /&gt;
&lt;br /&gt;
 cd svn/robobot&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
If C++ files were updated, then these apps need to be recompiled, continue with next section:&lt;br /&gt;
&lt;br /&gt;
=== Recompile base software ===&lt;br /&gt;
&lt;br /&gt;
When connected to the robot recompile the relevant software:&lt;br /&gt;
&lt;br /&gt;
====IP display====&lt;br /&gt;
&lt;br /&gt;
The ip_disp can show the robots IP on the robot display, it further monitors the &#039;&#039;start&#039;&#039; button and starts the Python mission app.&lt;br /&gt;
&lt;br /&gt;
In the directory &#039;&#039;/home/local/svn/robobot/ip_disp/build&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
 cd /home/local/svn/robobot/ip_disp/build&lt;br /&gt;
 make -j3&lt;br /&gt;
&lt;br /&gt;
This should be recompiled if there are any changes.&lt;br /&gt;
&lt;br /&gt;
==== Teensy - MQTT interface ====&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;teensy_interface&#039;&#039; makes the robot interface available using the MQTT protocol and thus makes it available over the net.&lt;br /&gt;
&lt;br /&gt;
In the directory &#039;&#039;/home/local/svn/robobot/teensy_interface/build&#039;&#039;:&lt;br /&gt;
 cd /home/local/svn/robobot/teensy_interface/build&lt;br /&gt;
 make -j3&lt;br /&gt;
&lt;br /&gt;
This should be recompiled if there are any changes.&lt;br /&gt;
&lt;br /&gt;
==== The Teensy 4.1 firmware ====&lt;br /&gt;
&lt;br /&gt;
The Robobot version of the Teensy firmware handles all (most) of the sensor and actuator interfaces.&lt;br /&gt;
&lt;br /&gt;
The firmware in the &#039;&#039;/home/local/svn/robobot/teensy_firmware_8&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 cd /home/local/svn/robobot/teensy_firmware_8&lt;br /&gt;
 ./compile&lt;br /&gt;
 &#039;&#039;(takes 5-15 seconds)&#039;&#039;&lt;br /&gt;
 ./upload&lt;br /&gt;
 &#039;&#039;Waiting for Teensy device...&#039;&#039;&lt;br /&gt;
 &#039;&#039;(hint: press the reset button)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not press the reset button&#039;&#039;&#039; (the small button on the Teensy board) without pressing and holding the &#039;&#039;power&#039;&#039; button on the main board during the upload. See [[Robobot_circuits|here]] for details.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;power&#039;&#039; button ensures the power (also to the Raspberry) during the upload.&lt;br /&gt;
If the power fails during upload, then press and hold the &#039;&#039;power&#039;&#039; button while the Raspberry boots, and you log on and repeat the upload.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Robobot_4&amp;diff=7581</id>
		<title>Robobot 4</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Robobot_4&amp;diff=7581"/>
		<updated>2025-01-17T14:08:59Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Robobot_B|Robobot]]&lt;br /&gt;
&lt;br /&gt;
== Start the robot ==&lt;br /&gt;
&lt;br /&gt;
At the competition, the robot must be started using the start button.&lt;br /&gt;
&lt;br /&gt;
Press the start button (be prepared that the wheels will turn after a few seconds (to load the Python app).&lt;br /&gt;
&lt;br /&gt;
== Start from the command line ==&lt;br /&gt;
&lt;br /&gt;
With a SSH connection to the robot, navigate to the directory with the Python app:&lt;br /&gt;
&lt;br /&gt;
 cd svn/robobot/mqtt_python&lt;br /&gt;
&lt;br /&gt;
Change the IP address in the script &amp;lt;code&amp;gt;mqtt-client.py&amp;lt;/code&amp;gt; to match your robot (in the bottom of the file). Then execute the script by: &lt;br /&gt;
&lt;br /&gt;
 python3 mqtt-client.py -n&lt;br /&gt;
&lt;br /&gt;
The parameter &amp;quot;-n&amp;quot; tells the app to start now, i.e., without waiting for a start button (see &#039;python3 mqtt-client.py—-help&#039; for other options).&lt;br /&gt;
&lt;br /&gt;
This should do the same as pressing the button.&lt;br /&gt;
&lt;br /&gt;
For further details, see&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Robobot_4&amp;diff=7580</id>
		<title>Robobot 4</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Robobot_4&amp;diff=7580"/>
		<updated>2025-01-17T14:06:11Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Robobot_B|Robobot]]&lt;br /&gt;
&lt;br /&gt;
== Start the robot ==&lt;br /&gt;
&lt;br /&gt;
At the competition, the robot must be started using the start button.&lt;br /&gt;
&lt;br /&gt;
Press the start button (be prepared that the wheels will turn after a few seconds (to load the Python app).&lt;br /&gt;
&lt;br /&gt;
== Start from the command line ==&lt;br /&gt;
&lt;br /&gt;
With a SSH connection to the robot, navigate to the directory with the Python app:&lt;br /&gt;
&lt;br /&gt;
 cd svn/robobot/mqtt_python&lt;br /&gt;
&lt;br /&gt;
Change the IP address in the script &amp;lt;a&amp;gt;mqtt-client.py&amp;lt;/a&amp;gt; to match your robot. Then execute the script by: &lt;br /&gt;
&lt;br /&gt;
 python3 mqtt-client.py -n&lt;br /&gt;
&lt;br /&gt;
The parameter &amp;quot;-n&amp;quot; tells the app to start now, i.e., without waiting for a start button (see &#039;python3 mqtt-client.py—-help&#039; for other options).&lt;br /&gt;
&lt;br /&gt;
This should do the same as pressing the button.&lt;br /&gt;
&lt;br /&gt;
For further details, see&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Robobot_3&amp;diff=7574</id>
		<title>Robobot 3</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Robobot_3&amp;diff=7574"/>
		<updated>2025-01-17T13:41:04Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Robobot_B| Robobot]]&lt;br /&gt;
&lt;br /&gt;
== Raspberry camera access ==&lt;br /&gt;
&lt;br /&gt;
The Raspberry camera images are available over the net (on port 7123).&lt;br /&gt;
&lt;br /&gt;
Use IP of the robot (in this case, robot Coco), the robot camera image can be viewed at this address (Can be opened in any browser):&lt;br /&gt;
&lt;br /&gt;
http://10.197.218.233:7123&lt;br /&gt;
&lt;br /&gt;
[[file:web-streamer-coco.jpg | 300px]]&lt;br /&gt;
&lt;br /&gt;
For further details and configuration see [[Robobot webcam server]].&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Robobot_2b&amp;diff=7556</id>
		<title>Robobot 2b</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Robobot_2b&amp;diff=7556"/>
		<updated>2025-01-17T11:35:35Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Robobot_B|Robobot]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update software ==&lt;br /&gt;
&lt;br /&gt;
Once connected to the Raspberry Pi of the robot, update the software:&lt;br /&gt;
&lt;br /&gt;
=== Update operating system ===&lt;br /&gt;
&lt;br /&gt;
The operating system is the recommended PI-OS 64bit system build on Debian.&lt;br /&gt;
&lt;br /&gt;
Update using the commands:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;sudo&#039;&#039; is required to get administrator (super-user) privileges. the password is the users password.&lt;br /&gt;
&lt;br /&gt;
=== Update the Robot software ===&lt;br /&gt;
&lt;br /&gt;
The Robobot software is on an SVN (subversion) repository, update to newest version using:&lt;br /&gt;
&lt;br /&gt;
 cd svn/robobot&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
If C++ files were updated, then these apps need to be recompiled, continue with next section:&lt;br /&gt;
&lt;br /&gt;
=== Recompile base software ===&lt;br /&gt;
&lt;br /&gt;
When connected to the robot recompile the relevant software:&lt;br /&gt;
&lt;br /&gt;
====IP display====&lt;br /&gt;
&lt;br /&gt;
The ip_disp can show the robots IP on the robot display, it further monitors the &#039;&#039;start&#039;&#039; button and starts the Python mission app.&lt;br /&gt;
&lt;br /&gt;
In the directory &#039;&#039;/home/local/svn/robobot/ip_disp/build&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
 cd /home/local/svn/robobot/ip_disp/build&lt;br /&gt;
 make -j3&lt;br /&gt;
&lt;br /&gt;
This should be recompiled if there are any changes.&lt;br /&gt;
&lt;br /&gt;
==== Teensy - MQTT interface ====&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;teensy_interface&#039;&#039; makes the robot interface available using the MQTT protocol and thus makes it available over the net.&lt;br /&gt;
&lt;br /&gt;
In the directory &#039;&#039;/home/local/svn/robobot/teensy_interface/build&#039;&#039;:&lt;br /&gt;
 cd /home/local/svn/robobot/teensy_interface/build&lt;br /&gt;
 make -j3&lt;br /&gt;
&lt;br /&gt;
This should be recompiled if there are any changes.&lt;br /&gt;
&lt;br /&gt;
==== The Teensy 4.1 firmware ====&lt;br /&gt;
&lt;br /&gt;
The Robobot version of the Teensy firmware handles all (most) of the sensor and actuator interfaces.&lt;br /&gt;
&lt;br /&gt;
The firmware in the &#039;&#039;/home/local/svn/robobot/teensy_firmware_8&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 cd /home/local/svn/robobot/teensy_firmware_8&lt;br /&gt;
 ./compile&lt;br /&gt;
 &#039;&#039;(takes 5-15 seconds)&#039;&#039;&lt;br /&gt;
 ./upload&lt;br /&gt;
 &#039;&#039;Waiting for Teensy device...&#039;&#039;&lt;br /&gt;
 &#039;&#039;(hint: press the reset button)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not press the reset button&#039;&#039;&#039; (the small button on the Teensy board) without pressing and holding the &#039;&#039;power&#039;&#039; button during the upload. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;power&#039;&#039; button ensures the power (also to the Raspberry) during the upload.&lt;br /&gt;
If the power fails during upload, then press and hold the &#039;&#039;power&#039;&#039; button while the Raspberry boots, and you log on and repeat the upload.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Access_DTU_campus_network_using_VPN_from_Linux&amp;diff=6510</id>
		<title>Access DTU campus network using VPN from Linux</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Access_DTU_campus_network_using_VPN_from_Linux&amp;diff=6510"/>
		<updated>2023-11-09T19:56:26Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose is to allow (some) access to servers, e.g. MATLAB license server, using a VPN (Virtual Private Network).&lt;br /&gt;
&lt;br /&gt;
==Install (Ubuntu/kubuntu)==&lt;br /&gt;
&lt;br /&gt;
Install the following packages:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install openconnect vpnc&lt;br /&gt;
&lt;br /&gt;
==Open connection==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;UPDATE: 2023-11-09, Use extra flag&amp;lt;/i&amp;gt; &amp;lt;tt&amp;gt;--useragent=AnyConnect&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;UPDATE: 2021-12-06, New VPN server with address https://vpn.dtu.dk, use extra flag&amp;lt;/i&amp;gt; &amp;lt;tt&amp;gt;--os=win&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
 sudo openconnect --os=win --useragent=AnyConnect --script /etc/vpnc/vpnc-script https://vpn.dtu.dk/&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
 sudo openconnect --os=win --useragent=AnyConnect --script /etc/vpnc/vpnc-script https://extra-vpn.ait.dtu.dk/&lt;br /&gt;
&lt;br /&gt;
(supply password for SUDO, and your logon credentials to campusnet when prompted)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; On newer versions of Ubuntu Linux the vpnc scripts are in the folder:&amp;lt;/i&amp;gt; &amp;lt;tt&amp;gt;/usr/share/vpnc-scripts/vpnc-script&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have a new network connection, check with ifconfig:&lt;br /&gt;
&lt;br /&gt;
 ifconfig&lt;br /&gt;
 eth1     Link encap:Ethernet  HWaddr 00:1c:c0:81:cc:dd  &lt;br /&gt;
          ...&lt;br /&gt;
 lo       Link encap:Local Loopback  &lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          ...&lt;br /&gt;
 tun0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  &lt;br /&gt;
          inet addr:10.13.28.17  P-t-P:10.13.28.17  Mask:255.255.255.255&lt;br /&gt;
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1406  Metric:1&lt;br /&gt;
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:500 &lt;br /&gt;
          RX bytes:1201 (1.2 KB)  TX bytes:1480 (1.4 KB)&lt;br /&gt;
&lt;br /&gt;
If you installed MATLAB as described in http://downloads.cc.dtu.dk/# then you should now be able to run MATLAB using your DTU license.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Access_DTU_campus_network_using_VPN_from_Linux&amp;diff=6509</id>
		<title>Access DTU campus network using VPN from Linux</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Access_DTU_campus_network_using_VPN_from_Linux&amp;diff=6509"/>
		<updated>2023-11-09T19:55:32Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose is to allow (some) access to servers, e.g. MATLAB license server, using a VPN (Virtual Private Network).&lt;br /&gt;
&lt;br /&gt;
==Install (Ubuntu/kubuntu)==&lt;br /&gt;
&lt;br /&gt;
Install the following packages:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install openconnect vpnc&lt;br /&gt;
&lt;br /&gt;
==Open connection==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;UPDATE: 2023-11-09, Use extra argument &amp;lt;tt&amp;gt;--useragent=AnyConnect&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;UPDATE: 2021-12-06, New VPN server with address https://vpn.dtu.dk, use extra flag&amp;lt;/i&amp;gt; &amp;lt;tt&amp;gt;--os=win&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
 sudo openconnect --os=win --useragent=AnyConnect --script /etc/vpnc/vpnc-script https://vpn.dtu.dk/&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
 sudo openconnect --os=win --useragent=AnyConnect --script /etc/vpnc/vpnc-script https://extra-vpn.ait.dtu.dk/&lt;br /&gt;
&lt;br /&gt;
(supply password for SUDO, and your logon credentials to campusnet when prompted)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; On newer versions of Ubuntu Linux the vpnc scripts are in the folder:&amp;lt;/i&amp;gt; &amp;lt;tt&amp;gt;/usr/share/vpnc-scripts/vpnc-script&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have a new network connection, check with ifconfig:&lt;br /&gt;
&lt;br /&gt;
 ifconfig&lt;br /&gt;
 eth1     Link encap:Ethernet  HWaddr 00:1c:c0:81:cc:dd  &lt;br /&gt;
          ...&lt;br /&gt;
 lo       Link encap:Local Loopback  &lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          ...&lt;br /&gt;
 tun0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  &lt;br /&gt;
          inet addr:10.13.28.17  P-t-P:10.13.28.17  Mask:255.255.255.255&lt;br /&gt;
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1406  Metric:1&lt;br /&gt;
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:500 &lt;br /&gt;
          RX bytes:1201 (1.2 KB)  TX bytes:1480 (1.4 KB)&lt;br /&gt;
&lt;br /&gt;
If you installed MATLAB as described in http://downloads.cc.dtu.dk/# then you should now be able to run MATLAB using your DTU license.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Access_DTU_campus_network_using_VPN_from_Linux&amp;diff=5573</id>
		<title>Access DTU campus network using VPN from Linux</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Access_DTU_campus_network_using_VPN_from_Linux&amp;diff=5573"/>
		<updated>2021-12-13T20:54:29Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose is to allow (some) access to servers, e.g. MATLAB license server, using a VPN (Virtual Private Network).&lt;br /&gt;
&lt;br /&gt;
==Install (Ubuntu/kubuntu)==&lt;br /&gt;
&lt;br /&gt;
Install the following packages:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install openconnect vpnc&lt;br /&gt;
&lt;br /&gt;
==Open connection==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;UPDATE: 2021-12-06, New VPN server with address https://vpn.dtu.dk, use extra flag&amp;lt;/i&amp;gt; &amp;lt;tt&amp;gt;--os=win&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
 sudo openconnect --os=win --script /etc/vpnc/vpnc-script https://vpn.dtu.dk/&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
 sudo openconnect --os=win --script /etc/vpnc/vpnc-script https://extra-vpn.ait.dtu.dk/&lt;br /&gt;
&lt;br /&gt;
(supply password for SUDO, and your logon credentials to campusnet when prompted)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; On newer versions of Ubuntu Linux the vpnc scripts are in the folder:&amp;lt;/i&amp;gt; &amp;lt;tt&amp;gt;/usr/share/vpnc-scripts/vpnc-script&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have a new network connection, check with ifconfig:&lt;br /&gt;
&lt;br /&gt;
 ifconfig&lt;br /&gt;
 eth1     Link encap:Ethernet  HWaddr 00:1c:c0:81:cc:dd  &lt;br /&gt;
          ...&lt;br /&gt;
 lo       Link encap:Local Loopback  &lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          ...&lt;br /&gt;
 tun0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  &lt;br /&gt;
          inet addr:10.13.28.17  P-t-P:10.13.28.17  Mask:255.255.255.255&lt;br /&gt;
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1406  Metric:1&lt;br /&gt;
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:500 &lt;br /&gt;
          RX bytes:1201 (1.2 KB)  TX bytes:1480 (1.4 KB)&lt;br /&gt;
&lt;br /&gt;
If you installed MATLAB as described in http://downloads.cc.dtu.dk/# then you should now be able to run MATLAB using your DTU license.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Access_DTU_campus_network_using_VPN_from_Linux&amp;diff=5398</id>
		<title>Access DTU campus network using VPN from Linux</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Access_DTU_campus_network_using_VPN_from_Linux&amp;diff=5398"/>
		<updated>2021-05-06T11:36:45Z</updated>

		<summary type="html">&lt;p&gt;Sh: /* Open connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose is to allow (some) access to servers, e.g. MATLAB license server, using a VPN (Virtual Private Network).&lt;br /&gt;
&lt;br /&gt;
==Install (Ubuntu/kubuntu)==&lt;br /&gt;
&lt;br /&gt;
Install the following packages:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install openconnect vpnc&lt;br /&gt;
&lt;br /&gt;
==Open connection==&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
&lt;br /&gt;
 sudo openconnect --script /etc/vpnc/vpnc-script https://vpn.ait.dtu.dk/&lt;br /&gt;
or &lt;br /&gt;
 sudo openconnect --script /etc/vpnc/vpnc-script https://extra-vpn.ait.dtu.dk/&lt;br /&gt;
&lt;br /&gt;
(supply password for SUDO, and your logon credentials to campusnet when prompted)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; On newer versions of Ubuntu Linux the vpnc scripts are in the folder:&amp;lt;/i&amp;gt; &amp;lt;tt&amp;gt;/usr/share/vpnc-scripts/vpnc-script&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have a new network connection, check with ifconfig:&lt;br /&gt;
&lt;br /&gt;
 ifconfig&lt;br /&gt;
 eth1     Link encap:Ethernet  HWaddr 00:1c:c0:81:cc:dd  &lt;br /&gt;
          ...&lt;br /&gt;
 lo       Link encap:Local Loopback  &lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          ...&lt;br /&gt;
 tun0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  &lt;br /&gt;
          inet addr:10.13.28.17  P-t-P:10.13.28.17  Mask:255.255.255.255&lt;br /&gt;
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1406  Metric:1&lt;br /&gt;
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:500 &lt;br /&gt;
          RX bytes:1201 (1.2 KB)  TX bytes:1480 (1.4 KB)&lt;br /&gt;
&lt;br /&gt;
If you installed MATLAB as described in http://downloads.cc.dtu.dk/# then you should now be able to run MATLAB using your DTU license.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=5360</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=5360"/>
		<updated>2021-02-03T16:23:14Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On &#039;&#039;&#039;64-bit Ubuntu&#039;&#039;&#039;, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 14.04 and 16.04==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* Preferred version is (K)Ubuntu 16.04 32 bit for Mobotware version &amp;gt;=3.200&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUNTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages (ubuntu 20.04):&lt;br /&gt;
 build-essential&lt;br /&gt;
 cmake&lt;br /&gt;
 subversion&lt;br /&gt;
 libopencv-dev&lt;br /&gt;
 libraw1394-dev (maybe already installed?)&lt;br /&gt;
 libncurses-dev&lt;br /&gt;
 libreadline-dev&lt;br /&gt;
 libsdl-dev&lt;br /&gt;
 libv4l-dev&lt;br /&gt;
 libusb-dev&lt;br /&gt;
 libusb-1.0-0-dev (kinect)&lt;br /&gt;
 libboost-dev&lt;br /&gt;
 libboost-system-dev&lt;br /&gt;
 libexpat-dev&lt;br /&gt;
 libpci-dev&lt;br /&gt;
 bison&lt;br /&gt;
 libpcl-dev&lt;br /&gt;
 libfltk1.3-dev&lt;br /&gt;
 qt3d5-dev&lt;br /&gt;
 sudo apt install build-essential cmake subversion libopencv-dev libraw1394-dev libncurses-dev libreadline-dev libsdl-dev libv4l-dev libusb-dev libusb-1.0-0-dev libboost-dev libboost-system-dev libexpat-dev libpci-dev bison libpcl-dev libfltk1.3-dev qt3d5-dev&lt;br /&gt;
&lt;br /&gt;
Needed packages (ubuntu 18.04):&lt;br /&gt;
 build-essential&lt;br /&gt;
 cmake&lt;br /&gt;
 subversion&lt;br /&gt;
 libopencv-dev&lt;br /&gt;
 libraw1394-dev (maybe already installed?)&lt;br /&gt;
 ncurses-dev&lt;br /&gt;
 libreadline-dev&lt;br /&gt;
 libsdl-dev&lt;br /&gt;
 libv4l-dev&lt;br /&gt;
 libusb-dev&lt;br /&gt;
 libusb-1.0-0-dev (kinect)&lt;br /&gt;
 libboost-dev&lt;br /&gt;
 libboost-system-dev&lt;br /&gt;
 libexpat-dev&lt;br /&gt;
 libpci-dev&lt;br /&gt;
 bison&lt;br /&gt;
 libqt4-dev&lt;br /&gt;
 libpcl-dev&lt;br /&gt;
 libfltk1.3-dev&lt;br /&gt;
 qt3d5-dev&lt;br /&gt;
 libgstreamer1.0-dev&lt;br /&gt;
 sudo apt install build-essential cmake subversion libopencv-dev libraw1394-dev ncurses-dev libreadline-dev libsdl-dev libv4l-dev libusb-dev libusb-1.0-0-dev libboost-dev libboost-system-dev libexpat-dev libpci-dev bison libqt4-dev libpcl-dev libfltk1.3-dev qt3d5-dev libgstreamer1.0-dev&lt;br /&gt;
&lt;br /&gt;
Needed packages (ubuntu 16.04):&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - libusb-dev&lt;br /&gt;
 - libusb-1.0-0-dev&lt;br /&gt;
 - libv4l-dev (video usage)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libboost-system-dev&lt;br /&gt;
 - python-dev  (can p.t. do without)&lt;br /&gt;
 - libpcl-dev (libpcl-all-dev) (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface - NB ubuntu-16.04 only)&lt;br /&gt;
 - libgstreamer1.0-dev&lt;br /&gt;
 - v4l-utils   (used by v4lgst camera plugin - to get cam device info))&lt;br /&gt;
 - libpci-dev  (To compile Guidebot&#039;s RHD plugin)&lt;br /&gt;
 - libfltk1.3-dev  (Stage Simulator)&lt;br /&gt;
 - libltdl-dev  (Stage Simulator)&lt;br /&gt;
&lt;br /&gt;
Probably not needed&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libopencv-gpu-dev&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
For compiling on 64-bit computers (without PCL), disable the following plugins in &amp;lt;tt&amp;gt;aurobotservers/trunk/plugin/Makefile&amp;lt;/tt&amp;gt;&lt;br /&gt;
 - auviewer&lt;br /&gt;
 - aupcp&lt;br /&gt;
 - aupcltest&lt;br /&gt;
 - autof2&lt;br /&gt;
 - auptgrey&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== QClient ===&lt;br /&gt;
&lt;br /&gt;
On my 32 bit KUBUNTU at may 2015, qclient failed to compile.&lt;br /&gt;
&lt;br /&gt;
Complaining: fatal error: glibconfig.h not found, &lt;br /&gt;
I made this link to solve the problem.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/include/glib-2.0&lt;br /&gt;
 sudo ln -s /usr/lib/i386-linux-gnu/glib-2.0/include/glibconfig.h .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 12.10/13.04/13.10 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assuming 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires these packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===Camera driver for uEye IDS===&lt;br /&gt;
&lt;br /&gt;
Driver for the IDS ueye camera needs to be installed to use the camera. It does not support video 4 linux, nor openCV directly. Tested on ubuntu 32 bit 14.04 and on ubuntu 64 bit 16.04.&lt;br /&gt;
&lt;br /&gt;
Get the driver from https://en.ids-imaging.com/download-ueye-lin32.html (32bit or 64 bit)&lt;br /&gt;
&lt;br /&gt;
Download, unpack and run installer as root (for a 32 bit linux)&lt;br /&gt;
 tar -xf uEye-Linux-4.81-32-bit.tgz&lt;br /&gt;
 sudo ./ueyesdk-setup-4.81-usb-i686.gz.run&lt;br /&gt;
&lt;br /&gt;
This installs the driver and a daemon in /etc/init.d that will start at boot time&lt;br /&gt;
&lt;br /&gt;
Start the daemon&lt;br /&gt;
 sudo /etc/init.d/ueyeusbdrc start&lt;br /&gt;
&lt;br /&gt;
The camera can now be configured and pre-viewed using (same as ueyecameramanager)&lt;br /&gt;
 idscameramanager&lt;br /&gt;
&lt;br /&gt;
Or demoed and configured using&lt;br /&gt;
 ueyedemo&lt;br /&gt;
&lt;br /&gt;
There is also a utility to set ID number of camera:&lt;br /&gt;
 ueyesetid&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=NTP_howto&amp;diff=3935</id>
		<title>NTP howto</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=NTP_howto&amp;diff=3935"/>
		<updated>2019-08-05T10:09:18Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a short description on how to make two computers have the same clock using NTP (Network Time Protocol)&lt;br /&gt;
&lt;br /&gt;
==Packages==&lt;br /&gt;
&lt;br /&gt;
Install NTP and NTPDATE&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install ntp ntpdate&lt;br /&gt;
&lt;br /&gt;
==Quick instructions==&lt;br /&gt;
&lt;br /&gt;
Assuming two computers are to be synchronized, one called master (192.168.0.210 (smr default)) and the other slave (192.168.0.20).&lt;br /&gt;
If on one of the campus networks, use the network gateway as time server, here 10.59.8.1 is a fine stratum 4 server, and all other NTP servers are blocked on this network.&lt;br /&gt;
&lt;br /&gt;
===Are master and slave running OK===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Test that master&#039;&#039;&#039; is running (as root on the master):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;ntpq -p&#039;&#039;&#039;&lt;br /&gt;
      remote           refid      st t when poll reach   delay   offset  jitter&lt;br /&gt;
 ==============================================================================&lt;br /&gt;
 *LOCAL(0)        .LOCL.           6 l   39   64  377    0.000    0.000   0.001&lt;br /&gt;
&lt;br /&gt;
The important things are that there is a &#039;*&#039; at the start of the line and the &#039;st&#039; (stratum) value is less than 15. This should be the situation about 4 minutes after boot of the master.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Test the slave&#039;&#039;&#039; (as root on the slave)&lt;br /&gt;
 &#039;&#039;&#039;ntpq -p&#039;&#039;&#039;&lt;br /&gt;
      remote           refid      st t when poll reach   delay   offset  jitter&lt;br /&gt;
 ==============================================================================&lt;br /&gt;
 *192.168.1.10    LOCAL(0)         7 u   19   64   17    0.254  -20.070   1.857&lt;br /&gt;
&lt;br /&gt;
The important things are the &#039;*&#039; in the first column, the stratum &#039;st&#039; beeing less than 16 (stratum of master minus 1) and that the offset is acceptable (in ms).&lt;br /&gt;
&lt;br /&gt;
===If offset is too big===&lt;br /&gt;
&lt;br /&gt;
(regardless of stratum or &#039;*&#039;) Update clock:&lt;br /&gt;
&lt;br /&gt;
 root@smr19:/rhome/demo# &#039;&#039;&#039;ntpdate -u 192.168.1.10&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will update the clock on this computer to the clock on the 192.168.1.10 computer (if the difference is above 0.5 second - else nothing is changed).&lt;br /&gt;
The accuracy is typically better than 1 ms.&lt;br /&gt;
&lt;br /&gt;
NB! on stationary networks it is customary to use default gateway as NTP server, but at DTU this is no longer done (for security reasons). Instead use &amp;lt;code&amp;gt;ntp.ait.dtu.dk&amp;lt;/code&amp;gt;.&lt;br /&gt;
 ntpdate -u ntp.ait.dtu.dk&lt;br /&gt;
&lt;br /&gt;
===If stratum is 16 or no &#039;*&#039; in first column===&lt;br /&gt;
&lt;br /&gt;
(and ntpd has been running for at least 4 minutes)&lt;br /&gt;
Restart the ntpd daemon on the slave (as root):&lt;br /&gt;
&lt;br /&gt;
 /etc/rc.d/ntpd restart (slackware)&lt;br /&gt;
 /etc/init.d/ntp restart (ubuntu)&lt;br /&gt;
&lt;br /&gt;
After another 4 minutes, the situation should be as shown above. &lt;br /&gt;
&lt;br /&gt;
If not read next section&lt;br /&gt;
&lt;br /&gt;
==Sync takes time==&lt;br /&gt;
&lt;br /&gt;
When ntpd is started it will decide which server is the better, this takes typically about 4-8 minutes (requires about 4-8 samples spaced 64 seconds - the &#039;reach&#039; field (octal) should have about 4 ones (017 octal) as shown below - may reach 0377 (8 times &#039;1&#039; in octal)).&lt;br /&gt;
&lt;br /&gt;
===Test progress===&lt;br /&gt;
&lt;br /&gt;
as root the status can be monitored by, e.g.:&lt;br /&gt;
&lt;br /&gt;
 root@smr19:/rhome/demo# &#039;&#039;&#039;ntpq -p&#039;&#039;&#039;&lt;br /&gt;
      remote           refid      st t when poll reach   delay   offset  jitter&lt;br /&gt;
 ==============================================================================&lt;br /&gt;
  192.168.1.10    .INIT.          16 u    -   64    0    0.000    0.000   0.000&lt;br /&gt;
 *pc89.iau.dtu.dk LOCAL(0)         3 u   19   64   17    0.254  -20.070   1.857&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This shows that the pc89 computer is the time source (the * as first character) the offset is -20.070 ms&lt;br /&gt;
The last poll was performed 19 seconds ago and the poll interval is 64 seconds.&lt;br /&gt;
&lt;br /&gt;
After a few hours the clock difference will reduce to about the magnitude of the jitter (in ms - here about 1.8 ms).&lt;br /&gt;
&lt;br /&gt;
The other source 192.168.1.10 shows 16 in the field &#039;st&#039; (stratum - a measure of clock quality), ntpd will never try to synchronize to a source with stratum 16. See configuration of master clock source to ensure a low stratum.&lt;br /&gt;
&lt;br /&gt;
==Configuration of slave computer==&lt;br /&gt;
&lt;br /&gt;
The ntpd configuration is typically at &lt;br /&gt;
 /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
On the computer that should be synchronized the configuration file should add local time servers, like:&lt;br /&gt;
&lt;br /&gt;
 # file /etc/ntp.conf&lt;br /&gt;
 #&lt;br /&gt;
 # pool  ntp.ait.dtu.dk&lt;br /&gt;
 pool 192.168.0.210&lt;br /&gt;
 #&lt;br /&gt;
 #driftfile /etc/ntp/drift&lt;br /&gt;
 #multicastclient                 # listen on default 224.0.1.1&lt;br /&gt;
 #broadcastdelay  0.008&lt;br /&gt;
&lt;br /&gt;
After the change restart the NTP&lt;br /&gt;
&lt;br /&gt;
 sudo service ntp restart&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;driftfile&#039;&#039; is the place where ntpd saves the adjustment to the local clock to maintain it at the same speed as the reference computers clock. NB! there is only one drift value, so if the computer has to keep sync with different computers, where these computers may drift at a a different rate, then ntpd will use &#039;very&#039; long time to readjust to the new source. That is once is gets used to the errors in the PC89 clock source, and then is reconfigured to a sutuation where 192.168.1.10 is available and PC89 is not, then this will probably drift with a quite different value - and require maybe 8-20 hours to get back into sync.&lt;br /&gt;
&lt;br /&gt;
The restrict part and other parts of the configuration file are commented out.&lt;br /&gt;
&lt;br /&gt;
==Configuration of master computer==&lt;br /&gt;
&lt;br /&gt;
The ntpd configuration is typically at &lt;br /&gt;
&lt;br /&gt;
 # /etc/ntp.conf on clock master&lt;br /&gt;
 #&lt;br /&gt;
 server 127.127.1.0 #local clock&lt;br /&gt;
 fudge 127.127.1.0 stratum 2&lt;br /&gt;
 #&lt;br /&gt;
 driftfile  /etc/ntp/drift&lt;br /&gt;
&lt;br /&gt;
This shows one server only, being the local real-time clock. The &#039;fudge&#039; line tels ntpd to fake local clock as stratum 2 (a high quality) clock source.&lt;br /&gt;
&lt;br /&gt;
The ntpd need to be started on this computer, and a ntpq -p would show something like:&lt;br /&gt;
&lt;br /&gt;
 pc89 jca # &#039;&#039;&#039;ntpq -p&#039;&#039;&#039;&lt;br /&gt;
      remote           refid      st t when poll reach   delay   offset  jitter&lt;br /&gt;
 ==============================================================================&lt;br /&gt;
 *LOCAL(0)        .LOCL.           2 l   39   64  377    0.000    0.000   0.001&lt;br /&gt;
&lt;br /&gt;
The users of this clock source should then obtain stratum level 3, as shown above.&lt;br /&gt;
&lt;br /&gt;
==If it fails==&lt;br /&gt;
&lt;br /&gt;
===no server suitable for synchronization found===&lt;br /&gt;
&lt;br /&gt;
To test the time difference between two computers where ntpd is running, the following query can be used:&lt;br /&gt;
&lt;br /&gt;
 root@smr15:~# &#039;&#039;&#039;ntpdate -q pc89&#039;&#039;&#039;&lt;br /&gt;
 server 192.38.66.189, stratum 16, offset -4437.744951, delay 0.02577&lt;br /&gt;
 16 Jun 15:28:00 ntpdate[7235]: no server suitable for synchronization found&lt;br /&gt;
&lt;br /&gt;
In this case the PC89 computer is 4437 seconds offset relative to this computer, shat is OK, but the &#039;&#039;no server suitable for synchronization found&#039;&#039; is bad. This means - in this case - that the server clock quality is too bad, stratum is 16, as the PC89 server is just restarted. Wait a few minutes and try again:&lt;br /&gt;
&lt;br /&gt;
 root@smr15:~# &#039;&#039;&#039;ntpdate -q pc89&#039;&#039;&#039;&lt;br /&gt;
 server 192.38.66.189, stratum 3, offset -4437.762400, delay 0.02577&lt;br /&gt;
 16 Jun 15:31:54 ntpdate[7237]: step time server 192.38.66.189 offset -4437.762400 sec&lt;br /&gt;
&lt;br /&gt;
Now the PC89 clock source is OK (stratum 3 is less than 16 and thus OK), ready for a synchronization:&lt;br /&gt;
&lt;br /&gt;
 root@smr15:~# &#039;&#039;&#039;ntpdate -u pc89&#039;&#039;&#039;&lt;br /&gt;
 16 Jun 14:19:39 ntpdate[7238]: step time server 192.38.66.189 offset -4437.770068 sec&lt;br /&gt;
&lt;br /&gt;
and now the query shows&lt;br /&gt;
&lt;br /&gt;
 root@smr15:~# &#039;&#039;&#039;ntpdate -q pc89&#039;&#039;&#039;&lt;br /&gt;
 server 192.38.66.189, stratum 3, offset -0.000240, delay 0.02577&lt;br /&gt;
 16 Jun 14:19:43 ntpdate[7239]: adjust time server 192.38.66.189 offset -0.000240 sec&lt;br /&gt;
&lt;br /&gt;
===Right to access the server===&lt;br /&gt;
&lt;br /&gt;
In the configuration file there may be some &#039;&#039;restrict&#039;&#039; lines, that can make the master unavailable as a clock source. In these  configuration all &#039;&#039;restrict&#039;&#039; lines are changed to comments.&lt;br /&gt;
&lt;br /&gt;
Firewalls may further prohibit access (consult google for details)&lt;br /&gt;
&lt;br /&gt;
--[[User:Jca|Jca]] 12:37, 16 June 2008 (UTC)&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Platform_list&amp;diff=3578</id>
		<title>Platform list</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Platform_list&amp;diff=3578"/>
		<updated>2018-12-18T09:26:12Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;i&amp;gt;NOTE: OUTDATED (18/12-2018, SH)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Overview of the different realtime computers used in controllab&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  IP address&lt;br /&gt;
!  Motherboard&lt;br /&gt;
!  CPU&lt;br /&gt;
!  # kernels&lt;br /&gt;
!  Storage&lt;br /&gt;
!  I / O&lt;br /&gt;
!  Comments&lt;br /&gt;
|-&lt;br /&gt;
|  rt5&lt;br /&gt;
|  192.38.66.225&lt;br /&gt;
|  Zotac ION S&lt;br /&gt;
|  Intel Atom D525 1800 MHz&lt;br /&gt;
|  2 (+hyperthreading)&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  NI PCIe-6251&lt;br /&gt;
|  To be implemented&lt;br /&gt;
|-&lt;br /&gt;
|  rt7&lt;br /&gt;
|  192.38.66.227&lt;br /&gt;
|  Zotac ION S&lt;br /&gt;
|  Intel Atom D525 1800 MHz&lt;br /&gt;
|  2 (+hyperthreading)&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  NI PCIe-6251&lt;br /&gt;
|  To be implemented&lt;br /&gt;
|-&lt;br /&gt;
|  rt9&lt;br /&gt;
|  192.38.66.229&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  NI PCI-6251&lt;br /&gt;
|  To be implemented&lt;br /&gt;
|-&lt;br /&gt;
|  rt10&lt;br /&gt;
|  192.38.66.230&lt;br /&gt;
|  ASUS A8V DeLuxe &lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  PCI-DAS6025&lt;br /&gt;
|  Exercises 31340&lt;br /&gt;
|-&lt;br /&gt;
|  rt11&lt;br /&gt;
|  192.38.66.231&lt;br /&gt;
|  Jetway&lt;br /&gt;
|  Intel Atom 230 1600 MHz&lt;br /&gt;
|  1 (+hyperthreading)&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  TV-card&lt;br /&gt;
|  Automated Football Table&lt;br /&gt;
|-&lt;br /&gt;
|  rt12&lt;br /&gt;
|  192.38.66.232&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  PCI-DAS6025 &amp;amp; PCI-7841 CAN&lt;br /&gt;
|  Now experimental Minimal-Ubuntu, Exercises 31340&lt;br /&gt;
|-&lt;br /&gt;
|  rt13&lt;br /&gt;
|  192.38.66.233&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  PCI-DAS6025 &amp;amp; PCI-7841 CAN&lt;br /&gt;
|  Labview Universal Robots&lt;br /&gt;
|-&lt;br /&gt;
|  rt14&lt;br /&gt;
|  192.38.66.234&lt;br /&gt;
|  Jetway&lt;br /&gt;
|  Intel Atom 230 1600 MHz&lt;br /&gt;
|  1 (+hyperthreading)&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  PCI-DAS6025 &amp;amp; PCI-QUAD04&lt;br /&gt;
|  Soccer field painter, currently at Kløvermarken&lt;br /&gt;
|-&lt;br /&gt;
|  rt15&lt;br /&gt;
|  192.38.66.235&lt;br /&gt;
|  Zotac ION F&lt;br /&gt;
|  Intel Atom 330 1600 MHz&lt;br /&gt;
|  2 (+hyperthreading)&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  &lt;br /&gt;
|  Development&lt;br /&gt;
|-&lt;br /&gt;
|  rt16&lt;br /&gt;
|  192.38.66.236&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  PCI-DAS6025 &amp;amp; PCI-QUAD04&lt;br /&gt;
|  Old acrobot, To be implemented&lt;br /&gt;
|-&lt;br /&gt;
|  rt17&lt;br /&gt;
|  192.38.66.237&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  &lt;br /&gt;
|  Turntable, currently at Mogens&#039; office&lt;br /&gt;
|-&lt;br /&gt;
|  rt18&lt;br /&gt;
|  192.38.66.238&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  NI PCI-6251&lt;br /&gt;
|  To be implemented&lt;br /&gt;
|-&lt;br /&gt;
|  rt19&lt;br /&gt;
|  192.38.66.239&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  NI PCI-6251&lt;br /&gt;
|  To be implemented&lt;br /&gt;
|-&lt;br /&gt;
|  xterm7&lt;br /&gt;
|  192.38.66.47&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  NI PCI-6251&lt;br /&gt;
|  Labview, slackware-rtai&lt;br /&gt;
|-&lt;br /&gt;
|  xterm14&lt;br /&gt;
|  192.38.66.54&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  NI PCI-6251&lt;br /&gt;
|  Labview, slackware-rtai&lt;br /&gt;
|-&lt;br /&gt;
|  xterms in 017 and 027 in all 12 machines&lt;br /&gt;
|  192.38.66.xx&lt;br /&gt;
|  ASUS A8V DeLuxe&lt;br /&gt;
|  AMD Athlon 2400 MHz&lt;br /&gt;
|  1&lt;br /&gt;
|  Harddisk&lt;br /&gt;
|  NI PCI-6251&lt;br /&gt;
|  Labview&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Connecting_FTDI_USB-RS422_cable_to_SMR_RS485_bus&amp;diff=2986</id>
		<title>Connecting FTDI USB-RS422 cable to SMR RS485 bus</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Connecting_FTDI_USB-RS422_cable_to_SMR_RS485_bus&amp;diff=2986"/>
		<updated>2017-06-22T08:14:20Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Newer motherboards do not come with an onboard serial port, which means communication over the SMR bus must be done through USB. By using a FTDI USB-RS422 cable it is possible to connect directly to the SMR bus. The FTDI cable comes as a wire-end and can be soldered to a square 6 position connector used on the SMR&#039;s, shown below. &lt;br /&gt;
[[File:squareplug6pin.png|border|center]]&lt;br /&gt;
&lt;br /&gt;
If the following connections are done the cable going from the original RS232-RS485 converter can be used. The rightmost numbers on the figure are the plug connections.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ftdi-conn.png|border|center]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=File:Squareplug6pin.png&amp;diff=2985</id>
		<title>File:Squareplug6pin.png</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=File:Squareplug6pin.png&amp;diff=2985"/>
		<updated>2017-06-22T08:12:38Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Connecting_FTDI_USB-RS422_cable_to_SMR_RS485_bus&amp;diff=2984</id>
		<title>Connecting FTDI USB-RS422 cable to SMR RS485 bus</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Connecting_FTDI_USB-RS422_cable_to_SMR_RS485_bus&amp;diff=2984"/>
		<updated>2017-06-22T07:59:35Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Newer motherboards do not come with an onboard serial port, which means communication over the SMR bus must be done through USB. By using a FTDI USB-RS422 cable it is possible to connect directly to the SMR bus. The FTDI cable comes as a wire-end and can be soldered to a square connector used on the SMR&#039;s. If the following connections are done the cable going from the original RS232-RS485 converter can be used. The rightmost numbers on the figure are the plug connections.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ftdi-conn.png|border|center]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=SMR&amp;diff=2983</id>
		<title>SMR</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=SMR&amp;diff=2983"/>
		<updated>2017-06-22T07:57:43Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==SMR Command Languge==&lt;br /&gt;
&lt;br /&gt;
Reference document for SMR command language (SMRCL)&lt;br /&gt;
&lt;br /&gt;
SMRCL http://aut.elektro.dtu.dk/mobotware/doc/smrcl.pdf&lt;br /&gt;
&lt;br /&gt;
SMRCL simulator: http://www.iau.dtu.dk/ingarb/sim/&lt;br /&gt;
&lt;br /&gt;
===Additional smrcl features===&lt;br /&gt;
&lt;br /&gt;
Also available SMRCL functions&lt;br /&gt;
&lt;br /&gt;
 asin(x)&lt;br /&gt;
 acos(x)&lt;br /&gt;
&lt;br /&gt;
===reverse using smrcl===&lt;br /&gt;
Reverse 0.5m straight&lt;br /&gt;
 fwd -0.5 &lt;br /&gt;
Reverse and turn (turnradius 0.5m turn 90 degrees to the left, speed 0.2 m/s).&lt;br /&gt;
Back and forward to the same end position:&lt;br /&gt;
 turnr 0.5 90 @v-0.2&lt;br /&gt;
 turnr 0.5 90 @v0.2&lt;br /&gt;
 stop&lt;br /&gt;
&lt;br /&gt;
===Set RHD write variable===&lt;br /&gt;
&lt;br /&gt;
 setoutput &amp;quot;variable_name&amp;quot; 88&lt;br /&gt;
&lt;br /&gt;
Sets a RHD write variable with the name variable_name to the value 88&lt;br /&gt;
&lt;br /&gt;
===Get RHD variable===&lt;br /&gt;
&lt;br /&gt;
Use the name of the read variable preceded with a $, e.g.&lt;br /&gt;
&lt;br /&gt;
 eval $encl&lt;br /&gt;
 time2 = $tick / 100&lt;br /&gt;
&lt;br /&gt;
===quotes===&lt;br /&gt;
&lt;br /&gt;
In smrcl backslash &#039;\&#039; is interpreted as quotes &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
==Further links==&lt;br /&gt;
&lt;br /&gt;
[[SMR Clips Interface]]&lt;br /&gt;
&lt;br /&gt;
[[SMR wiring and assembly]]&lt;br /&gt;
&lt;br /&gt;
[[SMR Peer to Peer Networking]]&lt;br /&gt;
&lt;br /&gt;
[[RHD generated variables]]&lt;br /&gt;
&lt;br /&gt;
[[Connecting FTDI USB-RS422 cable to SMR RS485 bus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Old outdated links===&lt;br /&gt;
&lt;br /&gt;
[[SMRD communication]]&lt;br /&gt;
&lt;br /&gt;
[[libsmr]]&lt;br /&gt;
&lt;br /&gt;
[[SMR Flash Disk Cloning]]  (See updated version on main-page)&lt;br /&gt;
&lt;br /&gt;
[[How to make the SMR&#039;s work without a monitor]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=File:Ftdi-conn.png&amp;diff=2982</id>
		<title>File:Ftdi-conn.png</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=File:Ftdi-conn.png&amp;diff=2982"/>
		<updated>2017-06-22T07:55:35Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Connecting_FTDI_USB-RS422_cable_to_SMR_RS485_bus&amp;diff=2981</id>
		<title>Connecting FTDI USB-RS422 cable to SMR RS485 bus</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Connecting_FTDI_USB-RS422_cable_to_SMR_RS485_bus&amp;diff=2981"/>
		<updated>2017-06-22T07:55:06Z</updated>

		<summary type="html">&lt;p&gt;Sh: Created page with &amp;quot;Newer motherboards do not come with an onboard serial port, which means communication over the SMR bus must be done through USB. By using a FTDI USB-RS422 cable it is possible...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Newer motherboards do not come with an onboard serial port, which means communication over the SMR bus must be done through USB. By using a FTDI USB-RS422 cable it is possible to connect directly to the SMR bus. The FTDI cable comes as a wire-end and can be soldered to a square connector used on the SMR&#039;s. If the following connections are done the cable going from the original RS232-RS485 converter can be used. The rightmost numbers on the figure are the plug connections.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Roboteq_Motorcontrollers&amp;diff=2949</id>
		<title>Roboteq Motorcontrollers</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Roboteq_Motorcontrollers&amp;diff=2949"/>
		<updated>2017-04-18T14:19:08Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The TerrainHopper is equipped with two Roboteq MDC2460 (running the two front wheels and the two back wheels independently) and one MDC1460 (running the steering angle servo). The motor controllers are all connected in a CANBUS network and is running Roboteq&#039;s CANOpen interface. The CANBUS is running at 250 kbit/s.&lt;br /&gt;
&lt;br /&gt;
=== CANBUS connection to main computer ===&lt;br /&gt;
The connection between motor controllers and the robot&#039;s main PC can be done either by a USB to CAN converter or by using a PCIe CAN card. If a USB converter is used add the following to the file &amp;lt;tt&amp;gt;/etc/udev/rules.d/99-ems_can.rules&amp;lt;/tt&amp;gt;.&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{manufacturer}==&amp;quot;EMS Dr. Thomas Wuensche&amp;quot;, ATTRS{serial}==&amp;quot;xxxxxxx&amp;quot;, RUN+=&amp;quot;/sbin/ip link set up can0 type can bitrate 250000&amp;quot;&lt;br /&gt;
Where &amp;lt;tt&amp;gt;&amp;quot;xxxxxxx&amp;quot;&amp;lt;/tt&amp;gt; is the serial number of the CAN converter.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=TerrainHopper&amp;diff=2948</id>
		<title>TerrainHopper</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=TerrainHopper&amp;diff=2948"/>
		<updated>2017-04-18T14:11:15Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Documentation for modifications and use of TerrainHopper vehicle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interfaces==&lt;br /&gt;
&lt;br /&gt;
Description of the [[Wheel encoder]] and RHD plugin&lt;br /&gt;
&lt;br /&gt;
==Motor velocity control==&lt;br /&gt;
&lt;br /&gt;
[[Roboteq Motorcontrollers]]&lt;br /&gt;
&lt;br /&gt;
Remote control&lt;br /&gt;
&lt;br /&gt;
Velocity control through RHD plugin (todo).&lt;br /&gt;
&lt;br /&gt;
==UR5 interconnection==&lt;br /&gt;
&lt;br /&gt;
Power, gripper and camera&lt;br /&gt;
&lt;br /&gt;
==Main computer==&lt;br /&gt;
&lt;br /&gt;
Specialities&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Roboteq_Motorcontrollers&amp;diff=2947</id>
		<title>Roboteq Motorcontrollers</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Roboteq_Motorcontrollers&amp;diff=2947"/>
		<updated>2017-04-18T14:10:57Z</updated>

		<summary type="html">&lt;p&gt;Sh: Created page with &amp;quot;The TerrainHopper is equipped with two Roboteq MDC2460 (running the two front wheels and the two back wheels independently) and one MDC1460 (running the steering angle servo)....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The TerrainHopper is equipped with two Roboteq MDC2460 (running the two front wheels and the two back wheels independently) and one MDC1460 (running the steering angle servo). The motor controllers are all connected in a CANBUS network and is running Roboteq&#039;s CANOpen interface.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=RoboCup&amp;diff=2041</id>
		<title>RoboCup</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=RoboCup&amp;diff=2041"/>
		<updated>2015-11-10T16:52:02Z</updated>

		<summary type="html">&lt;p&gt;Sh: /* Deltagerliste */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Denne side beskriver forskellige overvejelser og guides til afvikling af DTU RoboCup. Første afsnit beskriver nye procedure introduceret fra RoboCup 2014 der afvikles i biblioteket.&lt;br /&gt;
&lt;br /&gt;
==DTU-RoboCup 2014 noter==&lt;br /&gt;
&lt;br /&gt;
====Deltagerliste====&lt;br /&gt;
I Sitecore hentes deltagerlisten direkte fra Sitecore&#039;s redigeringssystem [http://redigering7.sitecore.dtu.dk/sitecore/login/sso.aspx/sitecore/login/sso.aspx]. &lt;br /&gt;
RoboCup siden findes under Indhold-&amp;gt;Subsites-&amp;gt;Robocup.&lt;br /&gt;
&lt;br /&gt;
Følgende hjælpe-billede er lavet af Britt Asnæss Kattrup til udtræk af data.&lt;br /&gt;
&lt;br /&gt;
[[File:sitecore_formular.png|center|800px|Udtræk af data fra formular]]&lt;br /&gt;
&lt;br /&gt;
==Pre 2014 beskrivelser==&lt;br /&gt;
Denne side omhandler overvejelser om DTU RoboCup 2005 (og tavleændringer 2007)&lt;br /&gt;
&lt;br /&gt;
===Politik===&lt;br /&gt;
&lt;br /&gt;
====Generelle forbedringer mm mm.====&lt;br /&gt;
&lt;br /&gt;
* Elektronisk tavle og projektor (se nederst for installation)&lt;br /&gt;
* Video streaming af event&lt;br /&gt;
* Webcam på forberedelserne&lt;br /&gt;
* Lyd i Pitten&lt;br /&gt;
&lt;br /&gt;
====Overordnede principper====&lt;br /&gt;
&lt;br /&gt;
* Alle skal kunne komme i mål selv med en ret simpel vogn&lt;br /&gt;
* RoboCup består af en Eventdel og en Workshopdel&lt;br /&gt;
* Eventdel skal kunne afvikles på max. 1,5 timer&lt;br /&gt;
* Forhindringerne skal være simple at drive for arrangørerne&lt;br /&gt;
* Forhindringerne skal få robotten til at gøre noget&lt;br /&gt;
* Interaktion mellem robot og forhindring er vigtig&lt;br /&gt;
* der bør være mulighed for 2 gennemløb til alle&lt;br /&gt;
&lt;br /&gt;
====Afviklingen====&lt;br /&gt;
* På første dagen opstilles banen og salen åbnes, workshop aktiviteter&lt;br /&gt;
* På anden dagen holdes et kvalifikationsløb hvor det 15 bedste hold udskilles (+ evt wildcards), Pitten ryddes for ekstra hold. Der kan evt. køres enkelt disiplin konkurrencer. &lt;br /&gt;
* På tredie dagen holdes selve RoboCup eventen. Der ryddes op&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oticon layout&#039;&#039;&#039;&lt;br /&gt;
http://www.iau.dtu.dk/~or/oticon.png&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forhindringer (anvendt)&#039;&#039;&#039;&lt;br /&gt;
* Gillotine&lt;br /&gt;
* Mur med variabel længde&lt;br /&gt;
* Fritstående port&lt;br /&gt;
* Tunnel&lt;br /&gt;
* Racerbane&lt;br /&gt;
* Rampe op (til 55cm)&lt;br /&gt;
* Trappe/Rampe ned&lt;br /&gt;
* Scor Mål (fodboldspil)&lt;br /&gt;
* Rød port giver minus-point&lt;br /&gt;
&lt;br /&gt;
Nogle af portene bliver fastmonteret på forhindringerne, så de ikke ken flyttes af vognene. Øvrige porte stilles frit på banen (som hidtil), men man dickvalificeres ikke hvis man flytter portene (der gives dog kun point hvis man kommer &#039;&#039;helt&#039;&#039; igennem en port.&lt;br /&gt;
&lt;br /&gt;
Forhindringer som favoriserer kamera ønskes. Banen skal være klar til workshoppen i november (Update: workshop aflyst). Der tænkes en periode hvor der samles input fra bl.a. www.robocup.dk&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forhindringer (nye forslag)&#039;&#039;&#039;&lt;br /&gt;
* Vippe&lt;br /&gt;
* Ballon-sprængning&lt;br /&gt;
* Lyssignal&lt;br /&gt;
* Fodboldspil hvor robotten &#039;&#039;ikke&#039;&#039; må køre gennem målet&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ROBOCUP===&lt;br /&gt;
&lt;br /&gt;
====Lys og strøm====&lt;br /&gt;
&lt;br /&gt;
PF-lys står for opsætning af lys - kontakt: John Sebastian (24497818 jms@scenelys.dk)&lt;br /&gt;
&lt;br /&gt;
John plejer også at aftale med Rene angående stik ved pit-pladsrene.&lt;br /&gt;
&lt;br /&gt;
====Andre opgaver====&lt;br /&gt;
&lt;br /&gt;
* Borde, stole, afskærmning, &lt;br /&gt;
* pullerter&lt;br /&gt;
&lt;br /&gt;
====Deltagerliste====&lt;br /&gt;
&lt;br /&gt;
Brit Asnæs Kattrup (web &amp;amp; kommunikation) står for de sider, og har leveret følgende brugsanvisning:&lt;br /&gt;
&lt;br /&gt;
* gå ind på http://redigering.sitecore.dtu.dk/Crossflows&lt;br /&gt;
&lt;br /&gt;
* Dit brugernavn er som vanligt og din kode er din e-mail.&lt;br /&gt;
&lt;br /&gt;
* Når du kommer ind skal du klikke på Søgning.&lt;br /&gt;
&lt;br /&gt;
* Så kan du vælge dit workflow. Det hedder ELEKTRO_ROBOCUP&lt;br /&gt;
&lt;br /&gt;
* Så vælger du datointerval, så du ikke får tilmeldingerne fra sidste år med.&lt;br /&gt;
&lt;br /&gt;
* Klik SØG&lt;br /&gt;
&lt;br /&gt;
Så kommer der en liste, som du kan hente ud i et excel-ark. Husk at gemme for at du kan arbejde i excel.&lt;br /&gt;
&lt;br /&gt;
* virker kun for dem der har fået adgang.&lt;br /&gt;
&lt;br /&gt;
====Scoreboard====&lt;br /&gt;
&lt;br /&gt;
Software består af to dele, en database-og-server-del og en klient-visningdel&lt;br /&gt;
&lt;br /&gt;
Begge dele er pakket sammen her http://www.iau.dtu.dk/~jca/robocup/roboscore2007.tar.gz og her http://www.iau.dtu.dk/~jca/robocup/roboscore-2008.tar.gz&lt;br /&gt;
&lt;br /&gt;
Hermed også 2009 udgaven http://www.iau.dtu.dk/~jca/robocup/roboscore-2009.tar.gz&lt;br /&gt;
&lt;br /&gt;
Disse programmer er kun testet på Linux (af christian), men burde kunne køre under Windows.&lt;br /&gt;
&lt;br /&gt;
Udpak med&lt;br /&gt;
 tar -xzf roboscore-2008.tar.gz&lt;br /&gt;
 cd roboscore&lt;br /&gt;
&lt;br /&gt;
=====Server=====&lt;br /&gt;
&lt;br /&gt;
Databasen er en SQLITE database (version 2) i filen robocup.sqlite.&lt;br /&gt;
Serverprogrammet er skrevet i TCL (og kræver derfor at TCL er installeret)&lt;br /&gt;
Til at køre script (og pakke til exe-fil) kræves en version (fx 8.4.9) af tclkit-linux-x86.gz, f.eks. http://www.equi4.com/pub/tk/8.4.9/tclkit-linux-x86.gz .&lt;br /&gt;
&lt;br /&gt;
Programmet skal rettes hvert år for at passe til nye forhindringer og ny deltagerliste. Det er derfor lettest at køre programmet direkte fra scriptet (og ikke fra en pakket exe-fil).&lt;br /&gt;
&lt;br /&gt;
Pakning til exe kræver yderligere http://www.equi4.com/pub/sk/sdx.kit og pakkes med kommandoen:&lt;br /&gt;
 ./tclkit-linux-x86 sdx.kit wrap roboscores-1b -runtime roboscores-1.0&lt;br /&gt;
&lt;br /&gt;
kør server med&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl&lt;br /&gt;
eller&lt;br /&gt;
 ./server &lt;br /&gt;
Kan køres med en ekstra parameter&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl server  - direkte server&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl client  - Ian&#039;s oprindelige klient&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl html    - export af resultat som html-tabel&lt;br /&gt;
&lt;br /&gt;
Hvis der ikke er en database-tabel bliver der oprettet en, d.v.s. database skal slettes inden nyt år&lt;br /&gt;
 rm robocup.sqlite.&lt;br /&gt;
Database definitionen (og deltagerliste) er i filen:&lt;br /&gt;
  roboscores-1b.vbs/lib/app-run/dbcreate.tcl&lt;br /&gt;
 - og den skal opdateres med - som minimum - nye deltagere.&lt;br /&gt;
&lt;br /&gt;
Filen (dbcreate.tcl) kan genereres med et c++ program (kdevelop projekt med i bibliotek robocup2database:&lt;br /&gt;
  robocup2database/debug/src/robocup2database frafil tilfil&lt;br /&gt;
&#039;&#039;frafil&#039;&#039; skal være en tekstfil taget med copy-paste fra Jan Jansens holdliste, &#039;&#039;tilfil&#039;&#039; bliver en TCL-fil, som skal omdøbes til &#039;&#039;dbcreate.tcl&#039;&#039; og flyttes til &#039;&#039;roboscores-1b.vbs/lib/app-run&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Specifikation af forhindringer er i&lt;br /&gt;
  roboscores-1b.vbs/lib/app-run/edit.tcl&lt;br /&gt;
Resten af rettelser til en ny bane er ikke helt simpelt, men muligt&lt;br /&gt;
funktionen &#039;&#039;&#039;proc edit_frame w {&#039;&#039;&#039; indeholder kontroller, og lidt nede bliver de pakker i en &#039;&#039;&#039;for each frame {&#039;&#039;&#039; sætning, der afgør den viste rækkefølge. I starten af filen er point-navne der skal matche databasefelter i dbcreate.tcl.&lt;br /&gt;
&lt;br /&gt;
I 2007 er tilføjet et UDGÅET felt (for hver runde), som vises før holdnavn (for at undgå at rette i holdliste inden finale.&lt;br /&gt;
&lt;br /&gt;
Serveren bruger port 24977&lt;br /&gt;
&lt;br /&gt;
=====klient=====&lt;br /&gt;
&lt;br /&gt;
klienten er skrevet i PYTHON og kræver at PYTHON og PYGAME er installeret, PYGAME kræver at SDL er installeret.&lt;br /&gt;
&lt;br /&gt;
Klientern køres med &lt;br /&gt;
 cd scoreboard&lt;br /&gt;
 python scoreboard.py&lt;br /&gt;
Se help option for at sætte host og port nummer&lt;br /&gt;
 python scoreboard.py --help&lt;br /&gt;
fx:&lt;br /&gt;
 python scoreboard.py -host localhost -port 24977&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Citrix_access_to_DTU_files_and_Windows_Apps&amp;diff=2035</id>
		<title>Citrix access to DTU files and Windows Apps</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Citrix_access_to_DTU_files_and_Windows_Apps&amp;diff=2035"/>
		<updated>2015-10-27T10:01:07Z</updated>

		<summary type="html">&lt;p&gt;Sh: Created page with &amp;quot;This Guides assumes Ubuntu 14.04, but way likely work for other versions as well. Download Citrix Receiver from:  https://www.citrix.com/downloads/citrix-receiver/legacy-recei...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This Guides assumes Ubuntu 14.04, but way likely work for other versions as well. Download Citrix Receiver from:&lt;br /&gt;
 https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-13-2.html&lt;br /&gt;
&lt;br /&gt;
In the bottom of the page choose either 32 bit or 64 bit, and download the &amp;quot;Receiver for Linux&amp;quot; .deb file.&lt;br /&gt;
&lt;br /&gt;
Install the file using:&lt;br /&gt;
 sudo dpkg -i icaclient-&amp;lt;version&amp;gt;.deb&lt;br /&gt;
&lt;br /&gt;
Configure certificates:&lt;br /&gt;
 sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts/&lt;br /&gt;
 sudo c_rehash /opt/Citrix/ICAClient/keystore/cacerts/&lt;br /&gt;
&lt;br /&gt;
Run the program (from system menu: Internet-&amp;gt; Citrix Receiver), and connect to &amp;lt;tt&amp;gt;remote.dtu.dk&amp;lt;/tt&amp;gt;. Username and password are the usual.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=2034</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=2034"/>
		<updated>2015-10-27T09:48:37Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the wiki pages of the Robot Systems Engineering (RSE) group of Automation and Control at DTU Electical engineering.&lt;br /&gt;
&lt;br /&gt;
These pages will contain updated information on RSE projects and other issued related to robotics research.&lt;br /&gt;
&lt;br /&gt;
= Mobotware =&lt;br /&gt;
&lt;br /&gt;
(Mobile Robot software)&lt;br /&gt;
&lt;br /&gt;
* [[AU Robot Servers]] (AURS) includes servers for soft real-time processing, e.g.: camera and laser scanner processing.&lt;br /&gt;
&lt;br /&gt;
* [[RHD]] (Robot Hardware Daemon) is the hardware abstraction layer, with interface to real-time sensors and actuators.&lt;br /&gt;
&lt;br /&gt;
* MRC - see SMR below - is the real-time movement control (and mission control using the SMR-CL language)&lt;br /&gt;
&lt;br /&gt;
[[Version and download]]&lt;br /&gt;
&lt;br /&gt;
[[Automated test setup]]&lt;br /&gt;
&lt;br /&gt;
= Robots =&lt;br /&gt;
&lt;br /&gt;
[[List of SMRs]] (List of SMRs)&lt;br /&gt;
&lt;br /&gt;
[[SMR]] (Small Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[SMR test]] (SMR test procedures)&lt;br /&gt;
&lt;br /&gt;
[[MMR]] (Medium Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[HAKO]] (KU Life tractor, now in Hohenheim University Germany)&lt;br /&gt;
&lt;br /&gt;
[[Claas axion]] (Semi-autonomous heavy tractor)&lt;br /&gt;
&lt;br /&gt;
[[hexakopter]] (notes for six-rotor helicopter including the pixhawk autopilot)&lt;br /&gt;
&lt;br /&gt;
[[UR5]] (Universal Robot UR5 Arm)&lt;br /&gt;
&lt;br /&gt;
[[UR10]] (Universal Robot UR10 Arm)&lt;br /&gt;
&lt;br /&gt;
[[Fieldrobot]] (Fieldrobot)&lt;br /&gt;
&lt;br /&gt;
[[iRobot ATRV-Jr]]&lt;br /&gt;
&lt;br /&gt;
[[Labyrinth]] (Labyrinth game)&lt;br /&gt;
&lt;br /&gt;
[[inspection robot]] (4/6-legged robot)&lt;br /&gt;
&lt;br /&gt;
[[regbot]] (small robot intended as control-1 exercise)&lt;br /&gt;
&lt;br /&gt;
[[SimServer]] Stage based multi robot simulator&lt;br /&gt;
&lt;br /&gt;
=== Other equipment ===&lt;br /&gt;
&lt;br /&gt;
[[Mini40 force/torque sensor]]&lt;br /&gt;
&lt;br /&gt;
[[Robotiq gripper]]&lt;br /&gt;
&lt;br /&gt;
= Linux system considerations =&lt;br /&gt;
&lt;br /&gt;
[[Switchtool]] - Shift to Mobotware (development) branch on the robots&lt;br /&gt;
&lt;br /&gt;
[[Rules for udev on RTAI]] (How to use udev rules to get correct modes for RTAI fifos and Comedi devices)&lt;br /&gt;
&lt;br /&gt;
[[Naming networkinterfaces using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Setting permissions for various devices using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Authenticating Linux clients against MS Active Directory]]&lt;br /&gt;
&lt;br /&gt;
====Older pages====&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu 32-bit or 64-bit]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware OpenCV package install]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware packages in robot image]]&lt;br /&gt;
&lt;br /&gt;
= Controllab =&lt;br /&gt;
&lt;br /&gt;
[[Platform list]] (List of computers used for various control set-ups)&lt;br /&gt;
&lt;br /&gt;
[[Realtime testing]] (Description of small test procedures to verify RTAI realtime operation)&lt;br /&gt;
&lt;br /&gt;
[http://aut.elektro.dtu.dk/staff/sh/rsewiki/matlabrtai_intro.pdf Introduction to Matlab RTW and RTAI] (Guide for usage of RTAILab with Matlab RTW and Simulink)&lt;br /&gt;
&lt;br /&gt;
= How-to documentation =&lt;br /&gt;
&lt;br /&gt;
====installation====&lt;br /&gt;
&lt;br /&gt;
[[NTP howto]] time-sync 2 computers&lt;br /&gt;
&lt;br /&gt;
Using the [[RSE SVN]] repository&lt;br /&gt;
&lt;br /&gt;
[[Flash disk cloning]] - to repair robot boot disk image&lt;br /&gt;
&lt;br /&gt;
[[Install on (K)UBUNTU]] - for test and development on PC or laptop&lt;br /&gt;
&lt;br /&gt;
[[Install on raspberry]] - install Mobotware on raspbian or a Debian based Linux on Beagle-bone.&lt;br /&gt;
&lt;br /&gt;
[[Install Universal Robots simulator on lab PC]]&lt;br /&gt;
&lt;br /&gt;
[[Remote Development of Mobotware Using Eclipse]]&lt;br /&gt;
&lt;br /&gt;
[[Set hostnames from dhcp-server with dhclient on *buntu systems]]&lt;br /&gt;
&lt;br /&gt;
[[Notes on compiling augclient]] - GUI interface for Mobotware used fx. in AGCO project&lt;br /&gt;
&lt;br /&gt;
====utility pages====&lt;br /&gt;
&lt;br /&gt;
[[Convert a .tex document to openoffice]]&lt;br /&gt;
&lt;br /&gt;
[[Access DTU campus network using VPN from Linux]]&lt;br /&gt;
&lt;br /&gt;
[[disable display manager on boot]] (and thereby the graphic user interface)&lt;br /&gt;
&lt;br /&gt;
How to make a animation from separate images, see [[MMR]]&lt;br /&gt;
&lt;br /&gt;
[[Citrix access to DTU files and Windows Apps]]  (Using Citrix Receiver, preferred way from 2015+)&lt;br /&gt;
&lt;br /&gt;
====older pages====&lt;br /&gt;
&lt;br /&gt;
[[RoboCup]] - bl.a. scoreboard&lt;br /&gt;
&lt;br /&gt;
[[AU software license considerations]]&lt;br /&gt;
&lt;br /&gt;
[[Robot GUI (MARG)]] - (no longer maintained)&lt;br /&gt;
&lt;br /&gt;
[[Install GUI-less UBUNTU]] - new boot disk image for robots&lt;br /&gt;
&lt;br /&gt;
= Demonstrations =&lt;br /&gt;
&lt;br /&gt;
[[PLC controlled traffic light]]&lt;br /&gt;
&lt;br /&gt;
[[Machine shop in 326]]&lt;br /&gt;
&lt;br /&gt;
[[Inverted pendulum]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Hexakopter&amp;diff=1944</id>
		<title>Hexakopter</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Hexakopter&amp;diff=1944"/>
		<updated>2015-09-04T07:54:10Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Software configuration for Microkopter&lt;br /&gt;
&lt;br /&gt;
==Hexacopter with MikroKopter flight controller==&lt;br /&gt;
&lt;br /&gt;
How to compile and install software in hexacopter&lt;br /&gt;
The modifications work best under windows, but some support exist for linux too.&lt;br /&gt;
&lt;br /&gt;
This description is for windows (XP)&lt;br /&gt;
&lt;br /&gt;
=== Get software ===&lt;br /&gt;
&lt;br /&gt;
The supplier URL is http://www.mikrokopter.de/ucwiki/en/MikroKopter?action=show&amp;amp;redirect=FrontPage&lt;br /&gt;
&lt;br /&gt;
To replace the software the following is needed:&lt;br /&gt;
&lt;br /&gt;
* the source code - using SVN&lt;br /&gt;
* WinAvr with GCC compiler version 3.xx (newer compiles produce to slow code)&lt;br /&gt;
* kopter-tool to install the software&lt;br /&gt;
&lt;br /&gt;
=== SVN checkout ===&lt;br /&gt;
Install TortoiseSVN from http://sourceforge.net/projects/tortoisesvn/ if you do not have an SVN client already.&lt;br /&gt;
&lt;br /&gt;
Do a SVN checkout from http://mikrokopter.de/mikrosvn/FlightCtrl/ to get the sourcevode for the flight controler (for other software - e.g. motor controller, the SVN URL is at http://www.mikrokopter.de/ucwiki/MikroKopterRepository)&lt;br /&gt;
&lt;br /&gt;
=== WinAVR ===&lt;br /&gt;
&lt;br /&gt;
WinAvr version WinAVR-20060421 comes with gcc version 3.4.6 - wich is OK.&lt;br /&gt;
gcc version 4.x until at least 4.5.1 will not work (CPU will get overloaded and will - at least - no longer talk to kopter-tool.&lt;br /&gt;
&lt;br /&gt;
* Install WinAVR version WinAVR-20060421 from  http://sourceforge.net/projects/winavr/files/WinAVR/ &lt;br /&gt;
&lt;br /&gt;
* Open programmers notepad and open a project for the newest branch in the flight controller repository. It already has a project file for programmers notepad. And a makefile for avr-gcc.&lt;br /&gt;
&lt;br /&gt;
* Compile the project (Tools-&amp;gt;make_All) and it should make a *.hex file for one of the Flight-ctrl boards (currently default is version 2.0 with an atMEGA644 processor (Flight-ctrl 2.1 has an atMEGA1284p processor, and one of the first lines in the makefile needs to be changed)&lt;br /&gt;
&lt;br /&gt;
=== Install new software ===&lt;br /&gt;
&lt;br /&gt;
To install the newly compiled software use Kopter-tool.&lt;br /&gt;
The copter has a bootloader installed, and the kopter-tool can switch to the bootloader while running.&lt;br /&gt;
&lt;br /&gt;
* Install Kopter-tool. Download the kopter tool zip package from http://svn.mikrokopter.de/listing.php?repname=FlightCtrl&amp;amp;path=/MikroKopter-Tool/#_MikroKopter-Tool_ - take the newest zip-packed version.&lt;br /&gt;
&lt;br /&gt;
Unpack the zip file, and the Kopter-tool is ready. It may be an idea to make a shortcut on the desktop.&lt;br /&gt;
&lt;br /&gt;
* Connect the helicopter to the PC (Flight-ctrl 5V rs232 port using the USB to 5v-RS232 &lt;br /&gt;
device from Microkopter.&lt;br /&gt;
Leave the helocopter battery off. And power the Flight-ctrl processor by connecting the two patch pins on the USB to 5v-RS232 board.&lt;br /&gt;
&lt;br /&gt;
Assuming the USB-to-serial device is known to the PC. The PC now has a new com-port. Make sure this has a number less than com10, as it seems than Kopter-tool will only allow one-digit numbers.&lt;br /&gt;
&lt;br /&gt;
* Start the Kopter-tool. It will probably say &amp;quot;no connection&amp;quot;.&lt;br /&gt;
Click on the &amp;quot;Firmware update and Terminal&amp;quot; buttom. From here change the com-port as appropriate.&lt;br /&gt;
Now a few messages should arrive from the helicopter.&lt;br /&gt;
&lt;br /&gt;
* Press the &amp;quot;Software Update&amp;quot; and find the compiled *.hex-file.&lt;br /&gt;
The newly compiled software should now load. &lt;br /&gt;
&lt;br /&gt;
If the load fails, then try again (at times some data is lost).&lt;br /&gt;
&lt;br /&gt;
If the helicopter fails to run (totally wrong code, or upload-error), then the bootloader (most likely) still works. But the upload needs a special procedure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dead kopter bootload&#039;&#039;&#039;: Remove the jumper that powers the Flight-ctrl (on the USB to 5v-RS232 converter), start a new software update, and while it shown dots &amp;quot;....&amp;quot; on the terminal window, replace the jumper, and the boot-loader should be catched before it starts the faulty software. If it fails, retry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pixhawk==&lt;br /&gt;
&lt;br /&gt;
This section is for a configuration, where MikroKopter flight controller is replaced with the more open source pixhawk px4 controller.&lt;br /&gt;
&lt;br /&gt;
This section goes through the software installation (and configuration - once it is in place).&lt;br /&gt;
The configurations aren not - as yet - available in any repository, so follow the instructions below to make your own configuration.&lt;br /&gt;
&lt;br /&gt;
===Raw pixhawk installation===&lt;br /&gt;
&lt;br /&gt;
From page https://pixhawk.org/dev/toolchain_installation_lin on a 32 and 64 bit 14.04 ubuntu (well kubuntu, but this should not matter much)&lt;br /&gt;
&lt;br /&gt;
* installed dependencies - no problem&lt;br /&gt;
 sudo apt-get install python-serial python-argparse openocd \&lt;br /&gt;
    flex bison libncurses5-dev autoconf texinfo build-essential \&lt;br /&gt;
    libftdi-dev libtool zlib1g-dev genromfs git-core wget&lt;br /&gt;
* On 64bit 14.04: did not install ia32-libs, nor the alternaive: &amp;quot;sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386&amp;quot;, as it seems that newer version of the 32bit compiler were there already.&lt;br /&gt;
* add &#039;&#039;dialout&#039;&#039; to user group (and a logout - login cycle to implement)&lt;br /&gt;
 sudo usermod -a -G dialout $USER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Prerequisites for ground-control====&lt;br /&gt;
&lt;br /&gt;
* QT is installed as version 4.8, but vesion 5.2+ is needed, so install:&lt;br /&gt;
 sudo apt-get install qtcreator qttools5-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5serialport5-dev libqt5svg5-dev libqt5webkit5-dev libsdl1.2-dev build-essential libudev-dev&lt;br /&gt;
* qgroundcontrol can integrate with googleearth (on 64bit platform only?), so maybe you should install googleearth (the last line is probably another version, but is suggested by the &amp;quot;make-googleearth-package&amp;quot;.&lt;br /&gt;
Further espeak and OpenSceneGraph should add further functionality.&lt;br /&gt;
 sudo apt-get install lsb-core&lt;br /&gt;
 sudo apt-get install espeak libespeak-dev&lt;br /&gt;
 sudo apt-get install libopenscenegraph-dev&lt;br /&gt;
 sudo apt-get install googleearth-package&lt;br /&gt;
 make-googleearth-package&lt;br /&gt;
 sudo dpkg -i googleearth_6.0.3.2197+1.1.0-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
====Ground control====&lt;br /&gt;
&lt;br /&gt;
Ground control is the main configuration application for pixhawk, also used for uploading new firmware for to the pixhawk, so it is needed.&lt;br /&gt;
&lt;br /&gt;
* From page http://qgroundcontrol.org/dev/build_source - get source for ground control application&lt;br /&gt;
 git clone git://github.com/mavlink/qgroundcontrol.git&lt;br /&gt;
 cd qgroundcontrol&lt;br /&gt;
 git submodule init&lt;br /&gt;
 git submodule update&lt;br /&gt;
The last two lines allow other repositories to me in the same tree as groundcontrol and adds a mavlink/c_library from another git repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Note that the newest versions does not compile on Ubuntu 14.04 LTS (QT5.3 is missing). One solution is to use the &amp;quot;stable&amp;quot; branch of the ground control. Switch to this by issuing:&amp;lt;/i&amp;gt;&lt;br /&gt;
 git checkout -t origin/Stable_V2.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Note also that in some versions there is an error in &amp;lt;tt&amp;gt;qgroundcontrol/libs/mavlink/include/mavlink/v1.0/common/common.h&amp;lt;/tt&amp;gt;. Change &amp;lt;tt style=&amp;quot;color:red&amp;quot;&amp;gt;MAV_AUTOPILOT_RESERVED=1&amp;lt;/tt&amp;gt; to &amp;lt;tt style=&amp;quot;color:green&amp;quot;&amp;gt;MAV_AUTOPILOT_PIXHAWK=1&amp;lt;/tt&amp;gt;.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the needed Makefile, and compile&lt;br /&gt;
 qmake&lt;br /&gt;
 make -j3&lt;br /&gt;
* Testrun the control application and connect the pixhawk&lt;br /&gt;
 ./release/qgroundcontrol&lt;br /&gt;
&lt;br /&gt;
====Prerequisites for PX4 firmware====&lt;br /&gt;
&lt;br /&gt;
* install arm compiler gcc-arm-none-eabi:&lt;br /&gt;
 sudo apt-get install gcc-arm-none-eabi&lt;br /&gt;
This is likely version 4.8, but version 4.8 has an error for this arm processor, so version 4.7 needs to be installed and made available on the PATH. See http://pixhawk.org/dev/toolchain_installation_lin tool installation a bit down for all Linux distros.&lt;br /&gt;
* if the version 4.8 is not fixed, then get the older version 4.7 and add it to the $PATH as first thing:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget https://launchpadlibrarian.net/174121628/gcc-arm-none-eabi-4_7-2014q2-20140408-linux.tar.bz2&lt;br /&gt;
 tar -jxf gcc-arm-none-eabi-4_7-2014q2-20140408-linux.tar.bz2&lt;br /&gt;
 exportline=&amp;quot;export PATH=$HOME/gcc-arm-none-eabi-4_7-2014q2/bin:\$PATH&amp;quot;&lt;br /&gt;
 if grep -Fxq &amp;quot;$exportline&amp;quot; ~/.profile; then echo nothing to do ; else echo $exportline &amp;gt;&amp;gt; ~/.profile; fi&lt;br /&gt;
 . ~/.profile&lt;br /&gt;
&lt;br /&gt;
* If upload to pixhawk gives an error like:&lt;br /&gt;
 ...&lt;br /&gt;
 ==========================================================================================================&lt;br /&gt;
 WARNING: You should uninstall ModemManager as it conflicts with any non-modem serial device (like Pixhawk)&lt;br /&gt;
 ==========================================================================================================&lt;br /&gt;
 Loaded firmware for 9,0, waiting for the bootloader...&lt;br /&gt;
 attempting reboot on /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00...&lt;br /&gt;
 attempting reboot on /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00...&lt;br /&gt;
* The modemmanager conflicts, so remove it&lt;br /&gt;
 sudo apt-get remove modemmanager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PX4 firmware and Nuttx operating system====&lt;br /&gt;
&lt;br /&gt;
* Get the px4 firmware from&lt;br /&gt;
 git clone https://github.com/PX4/Firmware.git px4&lt;br /&gt;
* try a compile of nuttx (is fetched as part of the make command) - see &#039;&#039;make help&#039;&#039; to see compile options&lt;br /&gt;
 cd px4&lt;br /&gt;
 make archives&lt;br /&gt;
 make px4fmu-v2_default&lt;br /&gt;
* then upload to the pixhawk (PX4)&lt;br /&gt;
 make upload px4fmu-v2_default&lt;br /&gt;
This should finish like:&lt;br /&gt;
 erase...&lt;br /&gt;
 program...&lt;br /&gt;
 verify...&lt;br /&gt;
 done, rebooting.&lt;br /&gt;
&lt;br /&gt;
* The image - ./Build/px4fmu-v2_default.build/firmware.px4 can also be uploaded using &#039;&#039;qgroundcontrol&#039;&#039; - when I tried the upload failed twice before success.&lt;br /&gt;
&lt;br /&gt;
====New code====&lt;br /&gt;
&lt;br /&gt;
* Now to modifying the code:&lt;br /&gt;
Follow recipy at http://pixhawk.org/dev/px4_simple_app&lt;br /&gt;
&lt;br /&gt;
/Christian (24/08/2014)&lt;br /&gt;
&lt;br /&gt;
===Configure===&lt;br /&gt;
&lt;br /&gt;
In the pixhawk firmware tree goto /ROMFS/px4fmu_common/init.d, here the file 7010_hexakopter_+ is created&lt;br /&gt;
&lt;br /&gt;
 cd ROMFS/px4fmu_common&lt;br /&gt;
 cat 7010_hexakopter_+&lt;br /&gt;
 #!nsh&lt;br /&gt;
 #&lt;br /&gt;
 # Generic 10&amp;quot; Hexa + geometry&lt;br /&gt;
 # platform is MicroKopter hexakopter with standard I2C motor controllers&lt;br /&gt;
 #&lt;br /&gt;
 # Christian Andersen &amp;lt;jca@elektro.dtu.dk&amp;gt;&lt;br /&gt;
 # &lt;br /&gt;
 &lt;br /&gt;
 sh /etc/init.d/rc.mc_defaults&lt;br /&gt;
 # We only can run one channel group with one rate, so set all 8 channels&lt;br /&gt;
 set PWM_OUTPUTS 12345678&lt;br /&gt;
 &lt;br /&gt;
 set MIXER FMU_hexa_+&lt;br /&gt;
 #set USE_IO no&lt;br /&gt;
 set OUTPUT_MODE mkblctrl&lt;br /&gt;
 set MKBLCTRL_MODE +&lt;br /&gt;
&lt;br /&gt;
and in rc.autostart the following lines are added&lt;br /&gt;
&lt;br /&gt;
 if param compare SYS_AUTOSTART 7010&lt;br /&gt;
 then&lt;br /&gt;
 	sh /etc/init.d/7010_hexakopter_+&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
This enables the configuration for hexakopter motorcontroller &lt;br /&gt;
Now this configuration should be enabled:&lt;br /&gt;
Compile and upload the files:&lt;br /&gt;
&lt;br /&gt;
 make px4fmu-v2_default&lt;br /&gt;
 make upload px4fmu-v2_default&lt;br /&gt;
&lt;br /&gt;
This will put the rc.autostart and 7010_hexakopter_+ files in /etc/init.d on the pixhawk.&lt;br /&gt;
&lt;br /&gt;
* Now this configuration should be enabled.&lt;br /&gt;
Start qgroundcontrol.&lt;br /&gt;
Connect to the pixhawk (top-right).&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;tool widgets&amp;quot; menu click &amp;quot;onboard parameters&amp;quot;. Increase the widget if it is too small.&lt;br /&gt;
&lt;br /&gt;
Find the parameter SYS, and change the SYS_AUTOSTART value to 7010.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;write ROM&amp;quot; to save on pixhawk.&lt;br /&gt;
&lt;br /&gt;
* To do some debugging during startup it is neccesary to connect serial connection to e.g. putty.&lt;br /&gt;
Connect the serial cable (serial to USB) to serial 4/5, and open the connection with putty.&lt;br /&gt;
&lt;br /&gt;
* reboot the pixhawk.&lt;br /&gt;
The serial connection will output debug messages as it reboots, and will report errors.&lt;br /&gt;
&lt;br /&gt;
* motor test&lt;br /&gt;
&lt;br /&gt;
To test the connection to the motors use the serail connection&lt;br /&gt;
&lt;br /&gt;
 mkblctrl -t&lt;br /&gt;
&lt;br /&gt;
The motors should spin up (at a low speed) in CV order starting with the front motor.&lt;br /&gt;
&lt;br /&gt;
===Arduflight recipy===&lt;br /&gt;
&lt;br /&gt;
This is part of the instructions is using ardupilot rather than qgroundcontrol.&lt;br /&gt;
- this is not needed if you followed the instructions above.&lt;br /&gt;
&lt;br /&gt;
Log of actions to use pixhawk on hexakopter:&lt;br /&gt;
&lt;br /&gt;
starting with the configuration from Søren Hansen, giving the directories in&lt;br /&gt;
&lt;br /&gt;
 px4src/ardupilot  &lt;br /&gt;
 px4src/PX4Firmware&lt;br /&gt;
 px4src/PX4NuttX&lt;br /&gt;
&lt;br /&gt;
 cd  px4src/ardupilot&lt;br /&gt;
&lt;br /&gt;
Make the version for PX&lt;br /&gt;
&lt;br /&gt;
 cd ArduKopter&lt;br /&gt;
 make configure&lt;br /&gt;
 make px4-v2&lt;br /&gt;
&lt;br /&gt;
Once finished it can be installed if the pixhawk is connected by&lt;br /&gt;
&lt;br /&gt;
 make px4-v2-upload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PIXHAWK (ardupilot) GUI ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the QT4 based GUI for the (ardupilot) pixhawk by&lt;br /&gt;
&lt;br /&gt;
1. Make sure these packages are installed&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install phonon libqt4-dev libqt4-opengl-dev \&lt;br /&gt;
  libphonon-dev libphonon4 phonon-backend-gstreamer \&lt;br /&gt;
  qtcreator libsdl1.2-dev libflite1 flite1-dev build-essential \&lt;br /&gt;
  libopenscenegraph-dev libssl-dev libqt4-opengl-dev libudev-dev \&lt;br /&gt;
  libsndfile1-dev libqt4-sql-sqlite&lt;br /&gt;
&lt;br /&gt;
2. getting the software from git:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/diydrones/apm_planner.git apm_planner&lt;br /&gt;
&lt;br /&gt;
3. go to this directory and configure and make&lt;br /&gt;
&lt;br /&gt;
 cd apm_planner&lt;br /&gt;
 qmake qgroundcontrol.pro&lt;br /&gt;
 make -j3&lt;br /&gt;
&lt;br /&gt;
This takes some time&lt;br /&gt;
&lt;br /&gt;
then go to the release directory and run&lt;br /&gt;
&lt;br /&gt;
 cd release&lt;br /&gt;
 ./apmplanner2&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Notes_on_compiling_augclient&amp;diff=1942</id>
		<title>Notes on compiling augclient</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Notes_on_compiling_augclient&amp;diff=1942"/>
		<updated>2015-08-18T08:20:01Z</updated>

		<summary type="html">&lt;p&gt;Sh: Created page with &amp;quot;= Compiling augclient = The simple way to compile augclient is to create a makefile from the QT project. In the augclient folder run:  $ qmake-qt4 -makefile augclient.pro  Aft...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling augclient =&lt;br /&gt;
The simple way to compile augclient is to create a makefile from the QT project. In the augclient folder run:&lt;br /&gt;
 $ qmake-qt4 -makefile augclient.pro&lt;br /&gt;
&lt;br /&gt;
After this the standard functions &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;make clean&amp;lt;/tt&amp;gt; works.&lt;br /&gt;
&lt;br /&gt;
The client needs the following QT libraries:&lt;br /&gt;
*) QtGui&lt;br /&gt;
*) QtCore&lt;br /&gt;
*) qmake&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1941</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1941"/>
		<updated>2015-08-18T08:09:04Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the wiki pages of the Robot Systems Engineering (RSE) group of Automation and Control at DTU Electical engineering.&lt;br /&gt;
&lt;br /&gt;
These pages will contain updated information on RSE projects and other issued related to robotics research.&lt;br /&gt;
&lt;br /&gt;
= Mobotware =&lt;br /&gt;
&lt;br /&gt;
(Mobile Robot software)&lt;br /&gt;
&lt;br /&gt;
* [[AU Robot Servers]] (AURS) includes servers for soft real-time processing, e.g.: camera and laser scanner processing.&lt;br /&gt;
&lt;br /&gt;
* [[RHD]] (Robot Hardware Daemon) is the hardware abstraction layer, with interface to real-time sensors and actuators.&lt;br /&gt;
&lt;br /&gt;
* MRC - see SMR below - is the real-time movement control (and mission control using the SMR-CL language)&lt;br /&gt;
&lt;br /&gt;
[[Version and download]]&lt;br /&gt;
&lt;br /&gt;
[[Automated test setup]]&lt;br /&gt;
&lt;br /&gt;
= Robots =&lt;br /&gt;
&lt;br /&gt;
[[List of SMRs]] (List of SMRs)&lt;br /&gt;
&lt;br /&gt;
[[SMR]] (Small Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[SMR test]] (SMR test procedures)&lt;br /&gt;
&lt;br /&gt;
[[MMR]] (Medium Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[HAKO]] (KU Life tractor, now in Hohenheim University Germany)&lt;br /&gt;
&lt;br /&gt;
[[Claas axion]] (Semi-autonomous heavy tractor)&lt;br /&gt;
&lt;br /&gt;
[[hexakopter]] (notes for six-rotor helicopter including the pixhawk autopilot)&lt;br /&gt;
&lt;br /&gt;
[[UR5]] (Universal Robot UR5 Arm)&lt;br /&gt;
&lt;br /&gt;
[[UR10]] (Universal Robot UR10 Arm)&lt;br /&gt;
&lt;br /&gt;
[[Fieldrobot]] (Fieldrobot)&lt;br /&gt;
&lt;br /&gt;
[[iRobot ATRV-Jr]]&lt;br /&gt;
&lt;br /&gt;
[[Labyrinth]] (Labyrinth game)&lt;br /&gt;
&lt;br /&gt;
[[inspection robot]] (4/6-legged robot)&lt;br /&gt;
&lt;br /&gt;
[[regbot]] (small robot intended as control-1 exercise)&lt;br /&gt;
&lt;br /&gt;
[[SimServer]] Stage based multi robot simulator&lt;br /&gt;
&lt;br /&gt;
=== Other equipment ===&lt;br /&gt;
&lt;br /&gt;
[[Mini40 force/torque sensor]]&lt;br /&gt;
&lt;br /&gt;
[[Robotiq gripper]]&lt;br /&gt;
&lt;br /&gt;
= Linux system considerations =&lt;br /&gt;
&lt;br /&gt;
[[Switchtool]] - Shift to Mobotware (development) branch on the robots&lt;br /&gt;
&lt;br /&gt;
[[Rules for udev on RTAI]] (How to use udev rules to get correct modes for RTAI fifos and Comedi devices)&lt;br /&gt;
&lt;br /&gt;
[[Naming networkinterfaces using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Setting permissions for various devices using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Authenticating Linux clients against MS Active Directory]]&lt;br /&gt;
&lt;br /&gt;
====Older pages====&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu 32-bit or 64-bit]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware OpenCV package install]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware packages in robot image]]&lt;br /&gt;
&lt;br /&gt;
= Controllab =&lt;br /&gt;
&lt;br /&gt;
[[Platform list]] (List of computers used for various control set-ups)&lt;br /&gt;
&lt;br /&gt;
[[Realtime testing]] (Description of small test procedures to verify RTAI realtime operation)&lt;br /&gt;
&lt;br /&gt;
[http://aut.elektro.dtu.dk/staff/sh/rsewiki/matlabrtai_intro.pdf Introduction to Matlab RTW and RTAI] (Guide for usage of RTAILab with Matlab RTW and Simulink)&lt;br /&gt;
&lt;br /&gt;
= How-to documentation =&lt;br /&gt;
&lt;br /&gt;
====installation====&lt;br /&gt;
&lt;br /&gt;
[[NTP howto]] time-sync 2 computers&lt;br /&gt;
&lt;br /&gt;
Using the [[RSE SVN]] repository&lt;br /&gt;
&lt;br /&gt;
[[Flash disk cloning]] - to repair robot boot disk image&lt;br /&gt;
&lt;br /&gt;
[[Install on (K)UBUNTU]] - for test and development on PC or laptop&lt;br /&gt;
&lt;br /&gt;
[[Install on raspberry]] - install Mobotware on raspbian or a Debian based Linux on Beagle-bone.&lt;br /&gt;
&lt;br /&gt;
[[Remote Development of Mobotware Using Eclipse]]&lt;br /&gt;
&lt;br /&gt;
[[Set hostnames from dhcp-server with dhclient on *buntu systems]]&lt;br /&gt;
&lt;br /&gt;
[[Notes on compiling augclient]] - GUI interface for Mobotware used fx. in AGCO project&lt;br /&gt;
&lt;br /&gt;
====utility pages====&lt;br /&gt;
&lt;br /&gt;
[[Convert a .tex document to openoffice]]&lt;br /&gt;
&lt;br /&gt;
[[Access DTU campus network using VPN from Linux]]&lt;br /&gt;
&lt;br /&gt;
[[disable display manager on boot]] (and thereby the graphic user interface)&lt;br /&gt;
&lt;br /&gt;
How to make a animation from separate images, see [[MMR]]&lt;br /&gt;
&lt;br /&gt;
====older pages====&lt;br /&gt;
&lt;br /&gt;
[[RoboCup]] - bl.a. scoreboard&lt;br /&gt;
&lt;br /&gt;
[[AU software license considerations]]&lt;br /&gt;
&lt;br /&gt;
[[Robot GUI (MARG)]] - (no longer maintained)&lt;br /&gt;
&lt;br /&gt;
[[Install GUI-less UBUNTU]] - new boot disk image for robots&lt;br /&gt;
&lt;br /&gt;
= Demonstrations =&lt;br /&gt;
&lt;br /&gt;
[[PLC controlled traffic light]]&lt;br /&gt;
&lt;br /&gt;
[[Machine shop in 326]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1940</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1940"/>
		<updated>2015-08-18T08:08:33Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the wiki pages of the Robot Systems Engineering (RSE) group of Automation and Control at DTU Electical engineering.&lt;br /&gt;
&lt;br /&gt;
These pages will contain updated information on RSE projects and other issued related to robotics research.&lt;br /&gt;
&lt;br /&gt;
= Mobotware =&lt;br /&gt;
&lt;br /&gt;
(Mobile Robot software)&lt;br /&gt;
&lt;br /&gt;
* [[AU Robot Servers]] (AURS) includes servers for soft real-time processing, e.g.: camera and laser scanner processing.&lt;br /&gt;
&lt;br /&gt;
* [[RHD]] (Robot Hardware Daemon) is the hardware abstraction layer, with interface to real-time sensors and actuators.&lt;br /&gt;
&lt;br /&gt;
* MRC - see SMR below - is the real-time movement control (and mission control using the SMR-CL language)&lt;br /&gt;
&lt;br /&gt;
[[Version and download]]&lt;br /&gt;
&lt;br /&gt;
[[Automated test setup]]&lt;br /&gt;
&lt;br /&gt;
= Robots =&lt;br /&gt;
&lt;br /&gt;
[[List of SMRs]] (List of SMRs)&lt;br /&gt;
&lt;br /&gt;
[[SMR]] (Small Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[SMR test]] (SMR test procedures)&lt;br /&gt;
&lt;br /&gt;
[[MMR]] (Medium Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[HAKO]] (KU Life tractor, now in Hohenheim University Germany)&lt;br /&gt;
&lt;br /&gt;
[[Claas axion]] (Semi-autonomous heavy tractor)&lt;br /&gt;
&lt;br /&gt;
[[hexakopter]] (notes for six-rotor helicopter including the pixhawk autopilot)&lt;br /&gt;
&lt;br /&gt;
[[UR5]] (Universal Robot UR5 Arm)&lt;br /&gt;
&lt;br /&gt;
[[UR10]] (Universal Robot UR10 Arm)&lt;br /&gt;
&lt;br /&gt;
[[Fieldrobot]] (Fieldrobot)&lt;br /&gt;
&lt;br /&gt;
[[iRobot ATRV-Jr]]&lt;br /&gt;
&lt;br /&gt;
[[Labyrinth]] (Labyrinth game)&lt;br /&gt;
&lt;br /&gt;
[[inspection robot]] (4/6-legged robot)&lt;br /&gt;
&lt;br /&gt;
[[regbot]] (small robot intended as control-1 exercise)&lt;br /&gt;
&lt;br /&gt;
[[SimServer]] Stage based multi robot simulator&lt;br /&gt;
&lt;br /&gt;
=== Other equipment ===&lt;br /&gt;
&lt;br /&gt;
[[Mini40 force/torque sensor]]&lt;br /&gt;
&lt;br /&gt;
[[Robotiq gripper]]&lt;br /&gt;
&lt;br /&gt;
= Linux system considerations =&lt;br /&gt;
&lt;br /&gt;
[[Switchtool]] - Shift to Mobotware (development) branch on the robots&lt;br /&gt;
&lt;br /&gt;
[[Rules for udev on RTAI]] (How to use udev rules to get correct modes for RTAI fifos and Comedi devices)&lt;br /&gt;
&lt;br /&gt;
[[Naming networkinterfaces using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Setting permissions for various devices using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Authenticating Linux clients against MS Active Directory]]&lt;br /&gt;
&lt;br /&gt;
====Older pages====&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu 32-bit or 64-bit]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware OpenCV package install]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware packages in robot image]]&lt;br /&gt;
&lt;br /&gt;
= Controllab =&lt;br /&gt;
&lt;br /&gt;
[[Platform list]] (List of computers used for various control set-ups)&lt;br /&gt;
&lt;br /&gt;
[[Realtime testing]] (Description of small test procedures to verify RTAI realtime operation)&lt;br /&gt;
&lt;br /&gt;
[http://aut.elektro.dtu.dk/staff/sh/rsewiki/matlabrtai_intro.pdf Introduction to Matlab RTW and RTAI] (Guide for usage of RTAILab with Matlab RTW and Simulink)&lt;br /&gt;
&lt;br /&gt;
= How-to documentation =&lt;br /&gt;
&lt;br /&gt;
====installation====&lt;br /&gt;
&lt;br /&gt;
[[NTP howto]] time-sync 2 computers&lt;br /&gt;
&lt;br /&gt;
Using the [[RSE SVN]] repository&lt;br /&gt;
&lt;br /&gt;
[[Flash disk cloning]] - to repair robot boot disk image&lt;br /&gt;
&lt;br /&gt;
[[Install on (K)UBUNTU]] - for test and development on PC or laptop&lt;br /&gt;
&lt;br /&gt;
[[Install on raspberry]] - install Mobotware on raspbian or a Debian based Linux on Beagle-bone.&lt;br /&gt;
&lt;br /&gt;
[[Remote Development of Mobotware Using Eclipse]]&lt;br /&gt;
&lt;br /&gt;
[[Set hostnames from dhcp-server with dhclient on *buntu systems]]&lt;br /&gt;
&lt;br /&gt;
[[Notes on compiling augclient (GUI interface for Mobotware used fx. in AGCO project)]]&lt;br /&gt;
&lt;br /&gt;
====utility pages====&lt;br /&gt;
&lt;br /&gt;
[[Convert a .tex document to openoffice]]&lt;br /&gt;
&lt;br /&gt;
[[Access DTU campus network using VPN from Linux]]&lt;br /&gt;
&lt;br /&gt;
[[disable display manager on boot]] (and thereby the graphic user interface)&lt;br /&gt;
&lt;br /&gt;
How to make a animation from separate images, see [[MMR]]&lt;br /&gt;
&lt;br /&gt;
====older pages====&lt;br /&gt;
&lt;br /&gt;
[[RoboCup]] - bl.a. scoreboard&lt;br /&gt;
&lt;br /&gt;
[[AU software license considerations]]&lt;br /&gt;
&lt;br /&gt;
[[Robot GUI (MARG)]] - (no longer maintained)&lt;br /&gt;
&lt;br /&gt;
[[Install GUI-less UBUNTU]] - new boot disk image for robots&lt;br /&gt;
&lt;br /&gt;
= Demonstrations =&lt;br /&gt;
&lt;br /&gt;
[[PLC controlled traffic light]]&lt;br /&gt;
&lt;br /&gt;
[[Machine shop in 326]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1938</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1938"/>
		<updated>2015-08-18T08:01:52Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the wiki pages of the Robot Systems Engineering (RSE) group of Automation and Control at DTU Electical engineering.&lt;br /&gt;
&lt;br /&gt;
These pages will contain updated information on RSE projects and other issued related to robotics research.&lt;br /&gt;
&lt;br /&gt;
= Mobotware =&lt;br /&gt;
&lt;br /&gt;
(Mobile Robot software)&lt;br /&gt;
&lt;br /&gt;
* [[AU Robot Servers]] (AURS) includes servers for soft real-time processing, e.g.: camera and laser scanner processing.&lt;br /&gt;
&lt;br /&gt;
* [[RHD]] (Robot Hardware Daemon) is the hardware abstraction layer, with interface to real-time sensors and actuators.&lt;br /&gt;
&lt;br /&gt;
* MRC - see SMR below - is the real-time movement control (and mission control using the SMR-CL language)&lt;br /&gt;
&lt;br /&gt;
[[Version and download]]&lt;br /&gt;
&lt;br /&gt;
[[Automated test setup]]&lt;br /&gt;
&lt;br /&gt;
= Robots =&lt;br /&gt;
&lt;br /&gt;
[[List of SMRs]] (List of SMRs)&lt;br /&gt;
&lt;br /&gt;
[[SMR]] (Small Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[SMR test]] (SMR test procedures)&lt;br /&gt;
&lt;br /&gt;
[[MMR]] (Medium Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[HAKO]] (KU Life tractor, now in Hohenheim University Germany)&lt;br /&gt;
&lt;br /&gt;
[[Claas axion]] (Semi-autonomous heavy tractor)&lt;br /&gt;
&lt;br /&gt;
[[hexakopter]] (notes for six-rotor helicopter including the pixhawk autopilot)&lt;br /&gt;
&lt;br /&gt;
[[UR5]] (Universal Robot UR5 Arm)&lt;br /&gt;
&lt;br /&gt;
[[UR10]] (Universal Robot UR10 Arm)&lt;br /&gt;
&lt;br /&gt;
[[Fieldrobot]] (Fieldrobot)&lt;br /&gt;
&lt;br /&gt;
[[iRobot ATRV-Jr]]&lt;br /&gt;
&lt;br /&gt;
[[Labyrinth]] (Labyrinth game)&lt;br /&gt;
&lt;br /&gt;
[[inspection robot]] (4/6-legged robot)&lt;br /&gt;
&lt;br /&gt;
[[regbot]] (small robot intended as control-1 exercise)&lt;br /&gt;
&lt;br /&gt;
[[SimServer]] Stage based multi robot simulator&lt;br /&gt;
&lt;br /&gt;
=== Other equipment ===&lt;br /&gt;
&lt;br /&gt;
[[Mini40 force/torque sensor]]&lt;br /&gt;
&lt;br /&gt;
[[Robotiq gripper]]&lt;br /&gt;
&lt;br /&gt;
= Linux system considerations =&lt;br /&gt;
&lt;br /&gt;
[[Switchtool]] - Shift to Mobotware (development) branch on the robots&lt;br /&gt;
&lt;br /&gt;
[[Rules for udev on RTAI]] (How to use udev rules to get correct modes for RTAI fifos and Comedi devices)&lt;br /&gt;
&lt;br /&gt;
[[Naming networkinterfaces using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Setting permissions for various devices using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Authenticating Linux clients against MS Active Directory]]&lt;br /&gt;
&lt;br /&gt;
====Older pages====&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu 32-bit or 64-bit]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware OpenCV package install]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware packages in robot image]]&lt;br /&gt;
&lt;br /&gt;
= Controllab =&lt;br /&gt;
&lt;br /&gt;
[[Platform list]] (List of computers used for various control set-ups)&lt;br /&gt;
&lt;br /&gt;
[[Realtime testing]] (Description of small test procedures to verify RTAI realtime operation)&lt;br /&gt;
&lt;br /&gt;
[http://aut.elektro.dtu.dk/staff/sh/rsewiki/matlabrtai_intro.pdf Introduction to Matlab RTW and RTAI] (Guide for usage of RTAILab with Matlab RTW and Simulink)&lt;br /&gt;
&lt;br /&gt;
= How-to documentation =&lt;br /&gt;
&lt;br /&gt;
====installation====&lt;br /&gt;
&lt;br /&gt;
[[NTP howto]] time-sync 2 computers&lt;br /&gt;
&lt;br /&gt;
Using the [[RSE SVN]] repository&lt;br /&gt;
&lt;br /&gt;
[[Flash disk cloning]] - to repair robot boot disk image&lt;br /&gt;
&lt;br /&gt;
[[Install on (K)UBUNTU]] - for test and development on PC or laptop&lt;br /&gt;
&lt;br /&gt;
[[Install on raspberry]] - install Mobotware on raspbian or a Debian based Linux on Beagle-bone.&lt;br /&gt;
&lt;br /&gt;
[[Remote Development of Mobotware Using Eclipse]]&lt;br /&gt;
&lt;br /&gt;
[[Set hostnames from dhcp-server with dhclient on *buntu systems]]&lt;br /&gt;
&lt;br /&gt;
[[Notes on compiling augclient (GUI interface for Mobotware used fx. in AGCO project]]&lt;br /&gt;
&lt;br /&gt;
====utility pages====&lt;br /&gt;
&lt;br /&gt;
[[Convert a .tex document to openoffice]]&lt;br /&gt;
&lt;br /&gt;
[[Access DTU campus network using VPN from Linux]]&lt;br /&gt;
&lt;br /&gt;
[[disable display manager on boot]] (and thereby the graphic user interface)&lt;br /&gt;
&lt;br /&gt;
How to make a animation from separate images, see [[MMR]]&lt;br /&gt;
&lt;br /&gt;
====older pages====&lt;br /&gt;
&lt;br /&gt;
[[RoboCup]] - bl.a. scoreboard&lt;br /&gt;
&lt;br /&gt;
[[AU software license considerations]]&lt;br /&gt;
&lt;br /&gt;
[[Robot GUI (MARG)]] - (no longer maintained)&lt;br /&gt;
&lt;br /&gt;
[[Install GUI-less UBUNTU]] - new boot disk image for robots&lt;br /&gt;
&lt;br /&gt;
= Demonstrations =&lt;br /&gt;
&lt;br /&gt;
[[PLC controlled traffic light]]&lt;br /&gt;
&lt;br /&gt;
[[Machine shop in 326]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1644</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1644"/>
		<updated>2015-02-16T12:37:13Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 12.04 and 14.04==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* Preferred version is (K)Ubuntu 14.04 32 bit for Mobotware version &amp;gt;=3.200&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUNTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - libusb-dev&lt;br /&gt;
 - libusb-1.0-0-dev&lt;br /&gt;
 - libv4l-dev (video usage)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libboost-system-dev&lt;br /&gt;
 - python-dev  (can p.t. do without)&lt;br /&gt;
 - libpcl-all-dev (libpcl-dev) (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
 - libpci-dev  (To compile Guidebot&#039;s RHD plugin)&lt;br /&gt;
 - libfltk1.3-dev  (Stage Simulator)&lt;br /&gt;
 - libltdl-dev  (Stage Simulator)&lt;br /&gt;
&lt;br /&gt;
Probably not needed&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libopencv-gpu-dev&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
For compiling on 64-bit computers (without PCL), disable the following plugins in &amp;lt;tt&amp;gt;aurobotservers/trunk/plugin/Makefile&amp;lt;/tt&amp;gt;&lt;br /&gt;
 - auviewer&lt;br /&gt;
 - aupcp&lt;br /&gt;
 - aupcltest&lt;br /&gt;
 - autof2&lt;br /&gt;
 - auptgrey&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
At the moment Mobotware does not compile when you install version 1.7. Install version 1.6 instead.&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 12.10/13.04/13.10 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assuming 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1605</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1605"/>
		<updated>2015-02-05T13:50:27Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 12.04 and 14.04==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libopencv-gpu-dev&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - libusb-1.0-0-dev&lt;br /&gt;
 - libv4l-dev (video usage)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libboost-system-dev&lt;br /&gt;
 - python-dev  (can p.t. do without)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
 - libpci-dev  (To compile Guidebot&#039;s RHD plugin)&lt;br /&gt;
 - libfltk1.3-dev  (Stage Simulator)&lt;br /&gt;
 - libltdl-dev  (Stage Simulator)&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
At the moment Mobotware does not compile when you install version 1.7. Install version 1.6 instead.&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 12.10/13.04/13.10 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assuming 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1604</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1604"/>
		<updated>2015-02-05T13:19:38Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 12.04 and 14.04==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libopencv-gpu-dev&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - libusb-1.0-0-dev&lt;br /&gt;
 - libv4l-dev (video usage)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libboost-system-dev&lt;br /&gt;
 - python-dev  (can p.t. do without)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
 - libpci-dev  (To compile Guidebot&#039;s RHD plugin)&lt;br /&gt;
 - libfltk1.3-dev  (Stage Simulator)&lt;br /&gt;
 - libltdl-dev&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
At the moment Mobotware does not compile when you install version 1.7. Install version 1.6 instead.&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 12.10/13.04/13.10 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assuming 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1603</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1603"/>
		<updated>2015-02-05T13:10:24Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 12.04 and 14.04==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libopencv-gpu-dev&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - libv4l-dev (video usage)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libboost-system-dev&lt;br /&gt;
 - python-dev  (can p.t. do without)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
 - libpci-dev  (To compile Guidebot&#039;s RHD plugin)&lt;br /&gt;
 - libfltk1.3-dev  (Stage Simulator)&lt;br /&gt;
 - libltdl-dev&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
At the moment Mobotware does not compile when you install version 1.7. Install version 1.6 instead.&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 12.10/13.04/13.10 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assuming 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Hexakopter&amp;diff=1602</id>
		<title>Hexakopter</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Hexakopter&amp;diff=1602"/>
		<updated>2015-02-04T10:34:32Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Software configuration for Microkopter&lt;br /&gt;
&lt;br /&gt;
==Hexacopter with MikroKopter flight controller==&lt;br /&gt;
&lt;br /&gt;
How to compile and install software in hexacopter&lt;br /&gt;
The modifications work best under windows, but some support exist for linux too.&lt;br /&gt;
&lt;br /&gt;
This description is for windows (XP)&lt;br /&gt;
&lt;br /&gt;
=== Get software ===&lt;br /&gt;
&lt;br /&gt;
The supplier URL is http://www.mikrokopter.de/ucwiki/en/MikroKopter?action=show&amp;amp;redirect=FrontPage&lt;br /&gt;
&lt;br /&gt;
To replace the software the following is needed:&lt;br /&gt;
&lt;br /&gt;
* the source code - using SVN&lt;br /&gt;
* WinAvr with GCC compiler version 3.xx (newer compiles produce to slow code)&lt;br /&gt;
* kopter-tool to install the software&lt;br /&gt;
&lt;br /&gt;
=== SVN checkout ===&lt;br /&gt;
Install TortoiseSVN from http://sourceforge.net/projects/tortoisesvn/ if you do not have an SVN client already.&lt;br /&gt;
&lt;br /&gt;
Do a SVN checkout from http://mikrokopter.de/mikrosvn/FlightCtrl/ to get the sourcevode for the flight controler (for other software - e.g. motor controller, the SVN URL is at http://www.mikrokopter.de/ucwiki/MikroKopterRepository)&lt;br /&gt;
&lt;br /&gt;
=== WinAVR ===&lt;br /&gt;
&lt;br /&gt;
WinAvr version WinAVR-20060421 comes with gcc version 3.4.6 - wich is OK.&lt;br /&gt;
gcc version 4.x until at least 4.5.1 will not work (CPU will get overloaded and will - at least - no longer talk to kopter-tool.&lt;br /&gt;
&lt;br /&gt;
* Install WinAVR version WinAVR-20060421 from  http://sourceforge.net/projects/winavr/files/WinAVR/ &lt;br /&gt;
&lt;br /&gt;
* Open programmers notepad and open a project for the newest branch in the flight controller repository. It already has a project file for programmers notepad. And a makefile for avr-gcc.&lt;br /&gt;
&lt;br /&gt;
* Compile the project (Tools-&amp;gt;make_All) and it should make a *.hex file for one of the Flight-ctrl boards (currently default is version 2.0 with an atMEGA644 processor (Flight-ctrl 2.1 has an atMEGA1284p processor, and one of the first lines in the makefile needs to be changed)&lt;br /&gt;
&lt;br /&gt;
=== Install new software ===&lt;br /&gt;
&lt;br /&gt;
To install the newly compiled software use Kopter-tool.&lt;br /&gt;
The copter has a bootloader installed, and the kopter-tool can switch to the bootloader while running.&lt;br /&gt;
&lt;br /&gt;
* Install Kopter-tool. Download the kopter tool zip package from http://svn.mikrokopter.de/listing.php?repname=FlightCtrl&amp;amp;path=/MikroKopter-Tool/#_MikroKopter-Tool_ - take the newest zip-packed version.&lt;br /&gt;
&lt;br /&gt;
Unpack the zip file, and the Kopter-tool is ready. It may be an idea to make a shortcut on the desktop.&lt;br /&gt;
&lt;br /&gt;
* Connect the helicopter to the PC (Flight-ctrl 5V rs232 port using the USB to 5v-RS232 &lt;br /&gt;
device from Microkopter.&lt;br /&gt;
Leave the helocopter battery off. And power the Flight-ctrl processor by connecting the two patch pins on the USB to 5v-RS232 board.&lt;br /&gt;
&lt;br /&gt;
Assuming the USB-to-serial device is known to the PC. The PC now has a new com-port. Make sure this has a number less than com10, as it seems than Kopter-tool will only allow one-digit numbers.&lt;br /&gt;
&lt;br /&gt;
* Start the Kopter-tool. It will probably say &amp;quot;no connection&amp;quot;.&lt;br /&gt;
Click on the &amp;quot;Firmware update and Terminal&amp;quot; buttom. From here change the com-port as appropriate.&lt;br /&gt;
Now a few messages should arrive from the helicopter.&lt;br /&gt;
&lt;br /&gt;
* Press the &amp;quot;Software Update&amp;quot; and find the compiled *.hex-file.&lt;br /&gt;
The newly compiled software should now load. &lt;br /&gt;
&lt;br /&gt;
If the load fails, then try again (at times some data is lost).&lt;br /&gt;
&lt;br /&gt;
If the helicopter fails to run (totally wrong code, or upload-error), then the bootloader (most likely) still works. But the upload needs a special procedure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dead kopter bootload&#039;&#039;&#039;: Remove the jumper that powers the Flight-ctrl (on the USB to 5v-RS232 converter), start a new software update, and while it shown dots &amp;quot;....&amp;quot; on the terminal window, replace the jumper, and the boot-loader should be catched before it starts the faulty software. If it fails, retry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pixhawk==&lt;br /&gt;
&lt;br /&gt;
This section is for a configuration, where MikroKopter flight controller is replaced with the more open source pixhawk px4 controller.&lt;br /&gt;
&lt;br /&gt;
This section goes through the software installation (and configuration - once it is in place).&lt;br /&gt;
The configurations aren not - as yet - available in any repository, so follow the instructions below to make your own configuration.&lt;br /&gt;
&lt;br /&gt;
===Raw pixhawk installation===&lt;br /&gt;
&lt;br /&gt;
From page https://pixhawk.org/dev/toolchain_installation_lin on a 32 and 64 bit 14.04 ubuntu (well kubuntu, but this should not matter much)&lt;br /&gt;
&lt;br /&gt;
* installed dependencies - no problem&lt;br /&gt;
 sudo apt-get install python-serial python-argparse openocd \&lt;br /&gt;
    flex bison libncurses5-dev autoconf texinfo build-essential \&lt;br /&gt;
    libftdi-dev libtool zlib1g-dev genromfs git-core wget&lt;br /&gt;
* On 64bit 14.04: did not install ia32-libs, nor the alternaive: &amp;quot;sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386&amp;quot;, as it seems that newer version of the 32bit compiler were there already.&lt;br /&gt;
* add &#039;&#039;dialout&#039;&#039; to user group (and a logout - login cycle to implement)&lt;br /&gt;
 sudo usermod -a -G dialout $USER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Prerequisites for ground-control====&lt;br /&gt;
&lt;br /&gt;
* QT is installed as version 4.8, but vesion 5.2+ is needed, so install:&lt;br /&gt;
 sudo apt-get install qtcreator qttools5-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5serialport5-dev libqt5svg5-dev libqt5webkit5-dev libsdl1.2-dev build-essential libudev-dev&lt;br /&gt;
* qgroundcontrol can integrate with googleearth (on 64bit platform only?), so maybe you should install googleearth (the last line is probably another version, but is suggested by the &amp;quot;make-googleearth-package&amp;quot;.&lt;br /&gt;
Further espeak and OpenSceneGraph should add further functionality.&lt;br /&gt;
 sudo apt-get install lsb-core&lt;br /&gt;
 sudo apt-get install espeak libespeak-dev&lt;br /&gt;
 sudo apt-get install libopenscenegraph-dev&lt;br /&gt;
 sudo apt-get install googleearth-package&lt;br /&gt;
 make-googleearth-package&lt;br /&gt;
 sudo dpkg -i googleearth_6.0.3.2197+1.1.0-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
====Ground control====&lt;br /&gt;
&lt;br /&gt;
Ground control is the main configuration application for pixhawk, also used for uploading new firmware for to the pixhawk, so it is needed.&lt;br /&gt;
&lt;br /&gt;
* From page http://qgroundcontrol.org/dev/build_source - get source for ground control application&lt;br /&gt;
 git clone git://github.com/mavlink/qgroundcontrol.git&lt;br /&gt;
 cd qgroundcontrol&lt;br /&gt;
 git submodule init&lt;br /&gt;
 git submodule update&lt;br /&gt;
The last two lines allow other repositories to me in the same tree as groundcontrol and adds a mavlink/c_library from another git repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Note that the newest versions does not compile on Ubuntu 14.04 LTS (QT5.3 is missing). One solution is to use the &amp;quot;stable&amp;quot; branch of the ground control. Switch to this by issuing:&amp;lt;/i&amp;gt;&lt;br /&gt;
 git checkout -t origin/Stable_V2.2&lt;br /&gt;
&lt;br /&gt;
* Make the needed Makefile, and compile&lt;br /&gt;
 qmake&lt;br /&gt;
 make -j3&lt;br /&gt;
* Testrun the control application and connect the pixhawk&lt;br /&gt;
 ./release/qgroundcontrol&lt;br /&gt;
&lt;br /&gt;
====Prerequisites for PX4 firmware====&lt;br /&gt;
&lt;br /&gt;
* install arm compiler gcc-arm-none-eabi:&lt;br /&gt;
 sudo apt-get install gcc-arm-none-eabi&lt;br /&gt;
This is likely version 4.8, but version 4.8 has an error for this arm processor, so version 4.7 needs to be installed and made available on the PATH. See http://pixhawk.org/dev/toolchain_installation_lin tool installation a bit down for all Linux distros.&lt;br /&gt;
* if the version 4.8 is not fixed, then get the older version 4.7 and add it to the $PATH as first thing:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget https://launchpadlibrarian.net/174121628/gcc-arm-none-eabi-4_7-2014q2-20140408-linux.tar.bz2&lt;br /&gt;
 tar -jxf gcc-arm-none-eabi-4_7-2014q2-20140408-linux.tar.bz2&lt;br /&gt;
 exportline=&amp;quot;export PATH=$HOME/gcc-arm-none-eabi-4_7-2014q2/bin:\$PATH&amp;quot;&lt;br /&gt;
 if grep -Fxq &amp;quot;$exportline&amp;quot; ~/.profile; then echo nothing to do ; else echo $exportline &amp;gt;&amp;gt; ~/.profile; fi&lt;br /&gt;
 . ~/.profile&lt;br /&gt;
&lt;br /&gt;
* If upload to pixhawk gives an error like:&lt;br /&gt;
 ...&lt;br /&gt;
 ==========================================================================================================&lt;br /&gt;
 WARNING: You should uninstall ModemManager as it conflicts with any non-modem serial device (like Pixhawk)&lt;br /&gt;
 ==========================================================================================================&lt;br /&gt;
 Loaded firmware for 9,0, waiting for the bootloader...&lt;br /&gt;
 attempting reboot on /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00...&lt;br /&gt;
 attempting reboot on /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00...&lt;br /&gt;
* The modemmanager conflicts, so remove it&lt;br /&gt;
 sudo apt-get remove modemmanager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PX4 firmware and Nuttx operating system====&lt;br /&gt;
&lt;br /&gt;
* Get the px4 firmware from&lt;br /&gt;
 git clone https://github.com/PX4/Firmware.git px4&lt;br /&gt;
* try a compile of nuttx (is fetched as part of the make command) - see &#039;&#039;make help&#039;&#039; to see compile options&lt;br /&gt;
 cd px4&lt;br /&gt;
 make archives&lt;br /&gt;
 make px4fmu-v2_default&lt;br /&gt;
* then upload to the pixhawk (PX4)&lt;br /&gt;
 make upload px4fmu-v2_default&lt;br /&gt;
This should finish like:&lt;br /&gt;
 erase...&lt;br /&gt;
 program...&lt;br /&gt;
 verify...&lt;br /&gt;
 done, rebooting.&lt;br /&gt;
&lt;br /&gt;
* The image - ./Build/px4fmu-v2_default.build/firmware.px4 can also be uploaded using &#039;&#039;qgroundcontrol&#039;&#039; - when I tried the upload failed twice before success.&lt;br /&gt;
&lt;br /&gt;
====New code====&lt;br /&gt;
&lt;br /&gt;
* Now to modifying the code:&lt;br /&gt;
Follow recipy at http://pixhawk.org/dev/px4_simple_app&lt;br /&gt;
&lt;br /&gt;
/Christian (24/08/2014)&lt;br /&gt;
&lt;br /&gt;
===Configure===&lt;br /&gt;
&lt;br /&gt;
In the pixhawk firmware tree goto /ROMFS/px4fmu_common/init.d, here the file 7010_hexakopter_+ is created&lt;br /&gt;
&lt;br /&gt;
 cd ROMFS/px4fmu_common&lt;br /&gt;
 cat 7010_hexakopter_+&lt;br /&gt;
 #!nsh&lt;br /&gt;
 #&lt;br /&gt;
 # Generic 10&amp;quot; Hexa + geometry&lt;br /&gt;
 # platform is MicroKopter hexakopter with standard I2C motor controllers&lt;br /&gt;
 #&lt;br /&gt;
 # Christian Andersen &amp;lt;jca@elektro.dtu.dk&amp;gt;&lt;br /&gt;
 # &lt;br /&gt;
 &lt;br /&gt;
 sh /etc/init.d/rc.mc_defaults&lt;br /&gt;
 # We only can run one channel group with one rate, so set all 8 channels&lt;br /&gt;
 set PWM_OUTPUTS 12345678&lt;br /&gt;
 &lt;br /&gt;
 set MIXER FMU_hexa_+&lt;br /&gt;
 #set USE_IO no&lt;br /&gt;
 set OUTPUT_MODE mkblctrl&lt;br /&gt;
 set MKBLCTRL_MODE +&lt;br /&gt;
&lt;br /&gt;
and in rc.autostart the following lines are added&lt;br /&gt;
&lt;br /&gt;
 if param compare SYS_AUTOSTART 7010&lt;br /&gt;
 then&lt;br /&gt;
 	sh /etc/init.d/7010_hexakopter_+&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
This enables the configuration for hexakopter motorcontroller &lt;br /&gt;
Now this configuration should be enabled:&lt;br /&gt;
Compile and upload the files:&lt;br /&gt;
&lt;br /&gt;
 make px4fmu-v2_default&lt;br /&gt;
 make upload px4fmu-v2_default&lt;br /&gt;
&lt;br /&gt;
This will put the rc.autostart and 7010_hexakopter_+ files in /etc/init.d on the pixhawk.&lt;br /&gt;
&lt;br /&gt;
* Now this configuration should be enabled.&lt;br /&gt;
Start qgroundcontrol.&lt;br /&gt;
Connect to the pixhawk (top-right).&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;tool widgets&amp;quot; menu click &amp;quot;onboard parameters&amp;quot;. Increase the widget if it is too small.&lt;br /&gt;
&lt;br /&gt;
Find the parameter SYS, and change the SYS_AUTOSTART value to 7010.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;write ROM&amp;quot; to save on pixhawk.&lt;br /&gt;
&lt;br /&gt;
* To do some debugging during startup it is neccesary to connect serial connection to e.g. putty.&lt;br /&gt;
Connect the serial cable (serial to USB) to serial 4/5, and open the connection with putty.&lt;br /&gt;
&lt;br /&gt;
* reboot the pixhawk.&lt;br /&gt;
The serial connection will output debug messages as it reboots, and will report errors.&lt;br /&gt;
&lt;br /&gt;
* motor test&lt;br /&gt;
&lt;br /&gt;
To test the connection to the motors use the serail connection&lt;br /&gt;
&lt;br /&gt;
 mkblctrl -t&lt;br /&gt;
&lt;br /&gt;
The motors should spin up (at a low speed) in CV order starting with the front motor.&lt;br /&gt;
&lt;br /&gt;
===Arduflight recipy===&lt;br /&gt;
&lt;br /&gt;
This is part of the instructions is using ardupilot rather than qgroundcontrol.&lt;br /&gt;
- this is not needed if you followed the instructions above.&lt;br /&gt;
&lt;br /&gt;
Log of actions to use pixhawk on hexakopter:&lt;br /&gt;
&lt;br /&gt;
starting with the configuration from Søren Hansen, giving the directories in&lt;br /&gt;
&lt;br /&gt;
 px4src/ardupilot  &lt;br /&gt;
 px4src/PX4Firmware&lt;br /&gt;
 px4src/PX4NuttX&lt;br /&gt;
&lt;br /&gt;
 cd  px4src/ardupilot&lt;br /&gt;
&lt;br /&gt;
Make the version for PX&lt;br /&gt;
&lt;br /&gt;
 cd ArduKopter&lt;br /&gt;
 make configure&lt;br /&gt;
 make px4-v2&lt;br /&gt;
&lt;br /&gt;
Once finished it can be installed if the pixhawk is connected by&lt;br /&gt;
&lt;br /&gt;
 make px4-v2-upload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PIXHAWK (ardupilot) GUI ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the QT4 based GUI for the (ardupilot) pixhawk by&lt;br /&gt;
&lt;br /&gt;
1. Make sure these packages are installed&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install phonon libqt4-dev libqt4-opengl-dev \&lt;br /&gt;
  libphonon-dev libphonon4 phonon-backend-gstreamer \&lt;br /&gt;
  qtcreator libsdl1.2-dev libflite1 flite1-dev build-essential \&lt;br /&gt;
  libopenscenegraph-dev libssl-dev libqt4-opengl-dev libudev-dev \&lt;br /&gt;
  libsndfile1-dev libqt4-sql-sqlite&lt;br /&gt;
&lt;br /&gt;
2. getting the software from git:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/diydrones/apm_planner.git apm_planner&lt;br /&gt;
&lt;br /&gt;
3. go to this directory and configure and make&lt;br /&gt;
&lt;br /&gt;
 cd apm_planner&lt;br /&gt;
 qmake qgroundcontrol.pro&lt;br /&gt;
 make -j3&lt;br /&gt;
&lt;br /&gt;
This takes some time&lt;br /&gt;
&lt;br /&gt;
then go to the release directory and run&lt;br /&gt;
&lt;br /&gt;
 cd release&lt;br /&gt;
 ./apmplanner2&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Hexakopter&amp;diff=1599</id>
		<title>Hexakopter</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Hexakopter&amp;diff=1599"/>
		<updated>2015-01-23T13:11:42Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Software configuration for Microkopter&lt;br /&gt;
&lt;br /&gt;
==Hexacopter with MikroKopter flight controller==&lt;br /&gt;
&lt;br /&gt;
How to compile and install software in hexacopter&lt;br /&gt;
The modifications work best under windows, but some support exist for linux too.&lt;br /&gt;
&lt;br /&gt;
This description is for windows (XP)&lt;br /&gt;
&lt;br /&gt;
=== Get software ===&lt;br /&gt;
&lt;br /&gt;
The supplier URL is http://www.mikrokopter.de/ucwiki/en/MikroKopter?action=show&amp;amp;redirect=FrontPage&lt;br /&gt;
&lt;br /&gt;
To replace the software the following is needed:&lt;br /&gt;
&lt;br /&gt;
* the source code - using SVN&lt;br /&gt;
* WinAvr with GCC compiler version 3.xx (newer compiles produce to slow code)&lt;br /&gt;
* kopter-tool to install the software&lt;br /&gt;
&lt;br /&gt;
=== SVN checkout ===&lt;br /&gt;
Install TortoiseSVN from http://sourceforge.net/projects/tortoisesvn/ if you do not have an SVN client already.&lt;br /&gt;
&lt;br /&gt;
Do a SVN checkout from http://mikrokopter.de/mikrosvn/FlightCtrl/ to get the sourcevode for the flight controler (for other software - e.g. motor controller, the SVN URL is at http://www.mikrokopter.de/ucwiki/MikroKopterRepository)&lt;br /&gt;
&lt;br /&gt;
=== WinAVR ===&lt;br /&gt;
&lt;br /&gt;
WinAvr version WinAVR-20060421 comes with gcc version 3.4.6 - wich is OK.&lt;br /&gt;
gcc version 4.x until at least 4.5.1 will not work (CPU will get overloaded and will - at least - no longer talk to kopter-tool.&lt;br /&gt;
&lt;br /&gt;
* Install WinAVR version WinAVR-20060421 from  http://sourceforge.net/projects/winavr/files/WinAVR/ &lt;br /&gt;
&lt;br /&gt;
* Open programmers notepad and open a project for the newest branch in the flight controller repository. It already has a project file for programmers notepad. And a makefile for avr-gcc.&lt;br /&gt;
&lt;br /&gt;
* Compile the project (Tools-&amp;gt;make_All) and it should make a *.hex file for one of the Flight-ctrl boards (currently default is version 2.0 with an atMEGA644 processor (Flight-ctrl 2.1 has an atMEGA1284p processor, and one of the first lines in the makefile needs to be changed)&lt;br /&gt;
&lt;br /&gt;
=== Install new software ===&lt;br /&gt;
&lt;br /&gt;
To install the newly compiled software use Kopter-tool.&lt;br /&gt;
The copter has a bootloader installed, and the kopter-tool can switch to the bootloader while running.&lt;br /&gt;
&lt;br /&gt;
* Install Kopter-tool. Download the kopter tool zip package from http://svn.mikrokopter.de/listing.php?repname=FlightCtrl&amp;amp;path=/MikroKopter-Tool/#_MikroKopter-Tool_ - take the newest zip-packed version.&lt;br /&gt;
&lt;br /&gt;
Unpack the zip file, and the Kopter-tool is ready. It may be an idea to make a shortcut on the desktop.&lt;br /&gt;
&lt;br /&gt;
* Connect the helicopter to the PC (Flight-ctrl 5V rs232 port using the USB to 5v-RS232 &lt;br /&gt;
device from Microkopter.&lt;br /&gt;
Leave the helocopter battery off. And power the Flight-ctrl processor by connecting the two patch pins on the USB to 5v-RS232 board.&lt;br /&gt;
&lt;br /&gt;
Assuming the USB-to-serial device is known to the PC. The PC now has a new com-port. Make sure this has a number less than com10, as it seems than Kopter-tool will only allow one-digit numbers.&lt;br /&gt;
&lt;br /&gt;
* Start the Kopter-tool. It will probably say &amp;quot;no connection&amp;quot;.&lt;br /&gt;
Click on the &amp;quot;Firmware update and Terminal&amp;quot; buttom. From here change the com-port as appropriate.&lt;br /&gt;
Now a few messages should arrive from the helicopter.&lt;br /&gt;
&lt;br /&gt;
* Press the &amp;quot;Software Update&amp;quot; and find the compiled *.hex-file.&lt;br /&gt;
The newly compiled software should now load. &lt;br /&gt;
&lt;br /&gt;
If the load fails, then try again (at times some data is lost).&lt;br /&gt;
&lt;br /&gt;
If the helicopter fails to run (totally wrong code, or upload-error), then the bootloader (most likely) still works. But the upload needs a special procedure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dead kopter bootload&#039;&#039;&#039;: Remove the jumper that powers the Flight-ctrl (on the USB to 5v-RS232 converter), start a new software update, and while it shown dots &amp;quot;....&amp;quot; on the terminal window, replace the jumper, and the boot-loader should be catched before it starts the faulty software. If it fails, retry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pixhawk==&lt;br /&gt;
&lt;br /&gt;
This section is for a configuration, where MikroKopter flight controller is replaced with the more open source pixhawk px4 controller.&lt;br /&gt;
&lt;br /&gt;
This section goes through the software installation (and configuration - once it is in place).&lt;br /&gt;
The configurations aren not - as yet - available in any repository, so follow the instructions below to make your own configuration.&lt;br /&gt;
&lt;br /&gt;
===Raw pixhawk installation===&lt;br /&gt;
&lt;br /&gt;
From page https://pixhawk.org/dev/toolchain_installation_lin on a 32 and 64 bit 14.04 ubuntu (well kubuntu, but this should not matter much)&lt;br /&gt;
&lt;br /&gt;
* installed dependencies - no problem&lt;br /&gt;
 sudo apt-get install python-serial python-argparse openocd \&lt;br /&gt;
    flex bison libncurses5-dev autoconf texinfo build-essential \&lt;br /&gt;
    libftdi-dev libtool zlib1g-dev genromfs git-core wget&lt;br /&gt;
* On 64bit 14.04: did not install ia32-libs, nor the alternaive: &amp;quot;sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386&amp;quot;, as it seems that newer version of the 32bit compiler were there already.&lt;br /&gt;
* add &#039;&#039;dialout&#039;&#039; to user group (and a logout - login cycle to implement)&lt;br /&gt;
 sudo usermod -a -G dialout $USER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Prerequisites for ground-control====&lt;br /&gt;
&lt;br /&gt;
* QT is installed as version 4.8, but vesion 5.2+ is needed, so install:&lt;br /&gt;
 sudo apt-get install qtcreator qttools5-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5serialport5-dev libqt5svg5-dev libqt5webkit5-dev libsdl1.2-dev build-essential libudev-dev&lt;br /&gt;
* qgroundcontrol can integrate with googleearth (on 64bit platform only?), so maybe you should install googleearth (the last line is probably another version, but is suggested by the &amp;quot;make-googleearth-package&amp;quot;.&lt;br /&gt;
Further espeak and OpenSceneGraph should add further functionality.&lt;br /&gt;
 sudo apt-get install lsb-core&lt;br /&gt;
 sudo apt-get install espeak libespeak-dev&lt;br /&gt;
 sudo apt-get install libopenscenegraph-dev&lt;br /&gt;
 sudo apt-get install googleearth-package&lt;br /&gt;
 make-googleearth-package&lt;br /&gt;
 sudo dpkg -i googleearth_6.0.3.2197+1.1.0-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
====Ground control====&lt;br /&gt;
&lt;br /&gt;
Ground control is the main configuration application for pixhawk, also used for uploading new firmware for to the pixhawk, so it is needed.&lt;br /&gt;
&lt;br /&gt;
* From page http://qgroundcontrol.org/dev/build_source - get source for ground control application&lt;br /&gt;
 git clone git://github.com/mavlink/qgroundcontrol.git&lt;br /&gt;
 cd qgroundcontrol&lt;br /&gt;
 git submodule init&lt;br /&gt;
 git submodule update&lt;br /&gt;
The last two lines allow other repositories to me in the same tree as groundcontrol and adds a mavlink/c_library from another git repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Note that the newest versions does not compile on Ubuntu 14.04 LTS (QT5.3 is missing). One solution is to use the &amp;quot;stable&amp;quot; branch of the ground control. Switch to this by issuing:&amp;lt;/i&amp;gt;&lt;br /&gt;
 git checkout -t origin/Stable_V2.2&lt;br /&gt;
&lt;br /&gt;
* Make the needed Makefile, and compile&lt;br /&gt;
 qmake&lt;br /&gt;
 make -j3&lt;br /&gt;
* Testrun the control application and connect the pixhawk&lt;br /&gt;
 ./release/qgroundcontrol&lt;br /&gt;
&lt;br /&gt;
====Prerequisites for PX4 firmware====&lt;br /&gt;
&lt;br /&gt;
* install arm compiler gcc-arm-none-eabi:&lt;br /&gt;
 sudo apt-get install gcc-arm-none-eabi&lt;br /&gt;
This is likely version 4.8, but version 4.8 has an error for this arm processor, so version 4.7 needs to be installed and made available on the PATH. See http://pixhawk.org/dev/toolchain_installation_lin tool installation a bit down for all Linux distros.&lt;br /&gt;
* if the version 4.8 is not fixed, then get the older version 4.7 and add it to the $PATH as first thing:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget https://launchpadlibrarian.net/174121628/gcc-arm-none-eabi-4_7-2014q2-20140408-linux.tar.bz2&lt;br /&gt;
 tar -jxf gcc-arm-none-eabi-4_7-2014q2-20140408-linux.tar.bz2&lt;br /&gt;
 exportline=&amp;quot;export PATH=$HOME/gcc-arm-none-eabi-4_7-2014q2/bin:\$PATH&amp;quot;&lt;br /&gt;
 if grep -Fxq &amp;quot;$exportline&amp;quot; ~/.profile; then echo nothing to do ; else echo $exportline &amp;gt;&amp;gt; ~/.profile; fi&lt;br /&gt;
 . ~/.profile&lt;br /&gt;
&lt;br /&gt;
* If upload to pixhawk gives an error like:&lt;br /&gt;
 ...&lt;br /&gt;
 ==========================================================================================================&lt;br /&gt;
 WARNING: You should uninstall ModemManager as it conflicts with any non-modem serial device (like Pixhawk)&lt;br /&gt;
 ==========================================================================================================&lt;br /&gt;
 Loaded firmware for 9,0, waiting for the bootloader...&lt;br /&gt;
 attempting reboot on /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00...&lt;br /&gt;
 attempting reboot on /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00...&lt;br /&gt;
* The modemmanager conflicts, so remove it&lt;br /&gt;
 sudo apt-get remove modemmanager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PX4 firmware and Nuttx operating system====&lt;br /&gt;
&lt;br /&gt;
* Get the px4 firmware from&lt;br /&gt;
 git clone https://github.com/PX4/Firmware.git px4&lt;br /&gt;
* try a compile of nuttx (is fetched as part of the make command) - see &#039;&#039;make help&#039;&#039; to see compile options&lt;br /&gt;
 cd px4&lt;br /&gt;
 make archives&lt;br /&gt;
 make px4fmu-v2_default&lt;br /&gt;
* then upload to the pixhawk (PX4)&lt;br /&gt;
 make upload px4fmu-v2_default&lt;br /&gt;
This should finish like:&lt;br /&gt;
 erase...&lt;br /&gt;
 program...&lt;br /&gt;
 verify...&lt;br /&gt;
 done, rebooting.&lt;br /&gt;
&lt;br /&gt;
* The image - ./Build/px4fmu-v2_default.build/firmware.px4 can also be uploaded using &#039;&#039;qgroundcontrol&#039;&#039; - when I tried the upload failed twice before success.&lt;br /&gt;
&lt;br /&gt;
====New code====&lt;br /&gt;
&lt;br /&gt;
* Now to modifying the code:&lt;br /&gt;
Follow recipy at http://pixhawk.org/dev/px4_simple_app&lt;br /&gt;
&lt;br /&gt;
/Christian (24/08/2014)&lt;br /&gt;
&lt;br /&gt;
===Configure===&lt;br /&gt;
&lt;br /&gt;
In the pixhawk firmware tree goto /ROMFS/px4fmu_common/init.d, here the file 7010_hexakopter_+ is created&lt;br /&gt;
&lt;br /&gt;
 cd ROMFS/px4fmu_common&lt;br /&gt;
 cat 7010_hexakopter_+&lt;br /&gt;
 #!nsh&lt;br /&gt;
 #&lt;br /&gt;
 # Generic 10&amp;quot; Hexa + geometry&lt;br /&gt;
 # platform is MicroKopter hexakopter with standard I2C motor controllers&lt;br /&gt;
 #&lt;br /&gt;
 # Christian Andersen &amp;lt;jca@elektro.dtu.dk&amp;gt;&lt;br /&gt;
 # &lt;br /&gt;
 &lt;br /&gt;
 sh /etc/init.d/rc.mc_defaults&lt;br /&gt;
 # We only can run one channel group with one rate, so set all 8 channels&lt;br /&gt;
 set PWM_OUTPUTS 12345678&lt;br /&gt;
 &lt;br /&gt;
 set MIXER FMU_hexa_+&lt;br /&gt;
 #set USE_IO no&lt;br /&gt;
 set OUTPUT_MODE mkblctrl&lt;br /&gt;
 set MKBLCTRL_MODE +&lt;br /&gt;
&lt;br /&gt;
and in rc.autostart the following lines are added&lt;br /&gt;
&lt;br /&gt;
 if param compare SYS_AUTOSTART 7010&lt;br /&gt;
 then&lt;br /&gt;
 	sh /etc/init.d/7010_hexakopter_+&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
This enables the configuration for hexakopter motorcontroller &lt;br /&gt;
Now this configuration should be enabled:&lt;br /&gt;
Compile and upload the files:&lt;br /&gt;
&lt;br /&gt;
 make px4fmu-v2_default&lt;br /&gt;
 make upload px4fmu-v2_default&lt;br /&gt;
&lt;br /&gt;
This will put the rc.autostart and 7010_hexakopter_+ files in /etc/init.d on the pixhawk.&lt;br /&gt;
&lt;br /&gt;
* Now this configuration should be enabled.&lt;br /&gt;
Start qgroundcontrol.&lt;br /&gt;
Connect to the pixhawk (top-right).&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;tool widgets&amp;quot; menu click &amp;quot;onboard parameters&amp;quot;. Increase the widget if it is too small.&lt;br /&gt;
&lt;br /&gt;
Find the parameter SYS, and change the SYS_AUTOSTART value to 7010.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;write ROM&amp;quot; to save on pixhawk.&lt;br /&gt;
&lt;br /&gt;
* To do some debugging during startup it is neccesary to connect serial connection to e.g. putty.&lt;br /&gt;
Connect the serial cable (serial to USB) to serial 4/5, and open the connection with putty.&lt;br /&gt;
&lt;br /&gt;
* reboot the pixhawk.&lt;br /&gt;
The serial connection will output debug messages as it reboots, and will report errors.&lt;br /&gt;
&lt;br /&gt;
* motor test&lt;br /&gt;
&lt;br /&gt;
To test the connection to the motors use the serail connection&lt;br /&gt;
&lt;br /&gt;
 mkblctrl -t&lt;br /&gt;
&lt;br /&gt;
The motors should spin up (at a low speed) in CV order starting with the front motor.&lt;br /&gt;
&lt;br /&gt;
===Arduflight recipy===&lt;br /&gt;
&lt;br /&gt;
This is part of the instructions is using ardupilot rather than qgroundcontrol.&lt;br /&gt;
- this is not needed if you followed the instructions above.&lt;br /&gt;
&lt;br /&gt;
Log of actions to use pixhawk on hexakopter:&lt;br /&gt;
&lt;br /&gt;
starting with the configuration from Søren Hansen, giving the directories in&lt;br /&gt;
&lt;br /&gt;
 px4src/ardupilot  &lt;br /&gt;
 px4src/PX4Firmware&lt;br /&gt;
 px4src/PX4NuttX&lt;br /&gt;
&lt;br /&gt;
 cd  px4src/ardupilot&lt;br /&gt;
&lt;br /&gt;
Make the version for PX&lt;br /&gt;
&lt;br /&gt;
 cd ArduKopter&lt;br /&gt;
 make configure&lt;br /&gt;
 make px4-v2&lt;br /&gt;
&lt;br /&gt;
Once finished it can be installed if the pixhawk is connected by&lt;br /&gt;
&lt;br /&gt;
 make px4-v2-upload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PIXHAWK (ardupilot) GUI ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the QT4 based GUI for the (ardupilot) pixhawk by&lt;br /&gt;
&lt;br /&gt;
1. Make sure these packages are installed&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install phonon libqt4-dev libqt4-opengl-dev \&lt;br /&gt;
  libphonon-dev libphonon4 phonon-backend-gstreamer \&lt;br /&gt;
  qtcreator libsdl1.2-dev libflite1 flite1-dev build-essential \&lt;br /&gt;
  libopenscenegraph-dev libssl-dev libqt4-opengl-dev libudev-dev \&lt;br /&gt;
  libsndfile1-dev libqt4-sql-sqlite&lt;br /&gt;
&lt;br /&gt;
2. getting the software from git:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/diydrones/apm_planner.git apm_planner&lt;br /&gt;
&lt;br /&gt;
3. go to this directory and configure and make&lt;br /&gt;
&lt;br /&gt;
 cd apm_planner&lt;br /&gt;
 qmake&lt;br /&gt;
&lt;br /&gt;
This takes some time&lt;br /&gt;
&lt;br /&gt;
then go to the release directory and run&lt;br /&gt;
&lt;br /&gt;
 cd release&lt;br /&gt;
 ./apm_planner&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Hexakopter&amp;diff=1598</id>
		<title>Hexakopter</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Hexakopter&amp;diff=1598"/>
		<updated>2015-01-23T13:07:08Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Software configuration for Microkopter&lt;br /&gt;
&lt;br /&gt;
==Hexacopter with MikroKopter flight controller==&lt;br /&gt;
&lt;br /&gt;
How to compile and install software in hexacopter&lt;br /&gt;
The modifications work best under windows, but some support exist for linux too.&lt;br /&gt;
&lt;br /&gt;
This description is for windows (XP)&lt;br /&gt;
&lt;br /&gt;
=== Get software ===&lt;br /&gt;
&lt;br /&gt;
The supplier URL is http://www.mikrokopter.de/ucwiki/en/MikroKopter?action=show&amp;amp;redirect=FrontPage&lt;br /&gt;
&lt;br /&gt;
To replace the software the following is needed:&lt;br /&gt;
&lt;br /&gt;
* the source code - using SVN&lt;br /&gt;
* WinAvr with GCC compiler version 3.xx (newer compiles produce to slow code)&lt;br /&gt;
* kopter-tool to install the software&lt;br /&gt;
&lt;br /&gt;
=== SVN checkout ===&lt;br /&gt;
Install TortoiseSVN from http://sourceforge.net/projects/tortoisesvn/ if you do not have an SVN client already.&lt;br /&gt;
&lt;br /&gt;
Do a SVN checkout from http://mikrokopter.de/mikrosvn/FlightCtrl/ to get the sourcevode for the flight controler (for other software - e.g. motor controller, the SVN URL is at http://www.mikrokopter.de/ucwiki/MikroKopterRepository)&lt;br /&gt;
&lt;br /&gt;
=== WinAVR ===&lt;br /&gt;
&lt;br /&gt;
WinAvr version WinAVR-20060421 comes with gcc version 3.4.6 - wich is OK.&lt;br /&gt;
gcc version 4.x until at least 4.5.1 will not work (CPU will get overloaded and will - at least - no longer talk to kopter-tool.&lt;br /&gt;
&lt;br /&gt;
* Install WinAVR version WinAVR-20060421 from  http://sourceforge.net/projects/winavr/files/WinAVR/ &lt;br /&gt;
&lt;br /&gt;
* Open programmers notepad and open a project for the newest branch in the flight controller repository. It already has a project file for programmers notepad. And a makefile for avr-gcc.&lt;br /&gt;
&lt;br /&gt;
* Compile the project (Tools-&amp;gt;make_All) and it should make a *.hex file for one of the Flight-ctrl boards (currently default is version 2.0 with an atMEGA644 processor (Flight-ctrl 2.1 has an atMEGA1284p processor, and one of the first lines in the makefile needs to be changed)&lt;br /&gt;
&lt;br /&gt;
=== Install new software ===&lt;br /&gt;
&lt;br /&gt;
To install the newly compiled software use Kopter-tool.&lt;br /&gt;
The copter has a bootloader installed, and the kopter-tool can switch to the bootloader while running.&lt;br /&gt;
&lt;br /&gt;
* Install Kopter-tool. Download the kopter tool zip package from http://svn.mikrokopter.de/listing.php?repname=FlightCtrl&amp;amp;path=/MikroKopter-Tool/#_MikroKopter-Tool_ - take the newest zip-packed version.&lt;br /&gt;
&lt;br /&gt;
Unpack the zip file, and the Kopter-tool is ready. It may be an idea to make a shortcut on the desktop.&lt;br /&gt;
&lt;br /&gt;
* Connect the helicopter to the PC (Flight-ctrl 5V rs232 port using the USB to 5v-RS232 &lt;br /&gt;
device from Microkopter.&lt;br /&gt;
Leave the helocopter battery off. And power the Flight-ctrl processor by connecting the two patch pins on the USB to 5v-RS232 board.&lt;br /&gt;
&lt;br /&gt;
Assuming the USB-to-serial device is known to the PC. The PC now has a new com-port. Make sure this has a number less than com10, as it seems than Kopter-tool will only allow one-digit numbers.&lt;br /&gt;
&lt;br /&gt;
* Start the Kopter-tool. It will probably say &amp;quot;no connection&amp;quot;.&lt;br /&gt;
Click on the &amp;quot;Firmware update and Terminal&amp;quot; buttom. From here change the com-port as appropriate.&lt;br /&gt;
Now a few messages should arrive from the helicopter.&lt;br /&gt;
&lt;br /&gt;
* Press the &amp;quot;Software Update&amp;quot; and find the compiled *.hex-file.&lt;br /&gt;
The newly compiled software should now load. &lt;br /&gt;
&lt;br /&gt;
If the load fails, then try again (at times some data is lost).&lt;br /&gt;
&lt;br /&gt;
If the helicopter fails to run (totally wrong code, or upload-error), then the bootloader (most likely) still works. But the upload needs a special procedure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dead kopter bootload&#039;&#039;&#039;: Remove the jumper that powers the Flight-ctrl (on the USB to 5v-RS232 converter), start a new software update, and while it shown dots &amp;quot;....&amp;quot; on the terminal window, replace the jumper, and the boot-loader should be catched before it starts the faulty software. If it fails, retry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pixhawk==&lt;br /&gt;
&lt;br /&gt;
This section is for a configuration, where MikroKopter flight controller is replaced with the more open source pixhawk px4 controller.&lt;br /&gt;
&lt;br /&gt;
This section goes through the software installation (and configuration - once it is in place).&lt;br /&gt;
The configurations aren not - as yet - available in any repository, so follow the instructions below to make your own configuration.&lt;br /&gt;
&lt;br /&gt;
===Raw pixhawk installation===&lt;br /&gt;
&lt;br /&gt;
From page https://pixhawk.org/dev/toolchain_installation_lin on a 32 and 64 bit 14.04 ubuntu (well kubuntu, but this should not matter much)&lt;br /&gt;
&lt;br /&gt;
* installed dependencies - no problem&lt;br /&gt;
 sudo apt-get install python-serial python-argparse openocd \&lt;br /&gt;
    flex bison libncurses5-dev autoconf texinfo build-essential \&lt;br /&gt;
    libftdi-dev libtool zlib1g-dev genromfs git-core wget&lt;br /&gt;
* On 64bit 14.04: did not install ia32-libs, nor the alternaive: &amp;quot;sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386&amp;quot;, as it seems that newer version of the 32bit compiler were there already.&lt;br /&gt;
* add &#039;&#039;dialout&#039;&#039; to user group (and a logout - login cycle to implement)&lt;br /&gt;
 sudo usermod -a -G dialout $USER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Prerequisites for ground-control====&lt;br /&gt;
&lt;br /&gt;
* QT is installed as version 4.8, but vesion 5.2+ is needed, so install:&lt;br /&gt;
 sudo apt-get install qtcreator qttools5-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5serialport5-dev libqt5svg5-dev libqt5webkit5-dev libsdl1.2-dev build-essential libudev-dev&lt;br /&gt;
* qgroundcontrol can integrate with googleearth (on 64bit platform only?), so maybe you should install googleearth (the last line is probably another version, but is suggested by the &amp;quot;make-googleearth-package&amp;quot;.&lt;br /&gt;
Further espeak and OpenSceneGraph should add further functionality.&lt;br /&gt;
 sudo apt-get install lsb-core&lt;br /&gt;
 sudo apt-get install espeak libespeak-dev&lt;br /&gt;
 sudo apt-get install libopenscenegraph-dev&lt;br /&gt;
 sudo apt-get install googleearth-package&lt;br /&gt;
 make-googleearth-package&lt;br /&gt;
 sudo dpkg -i googleearth_6.0.3.2197+1.1.0-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
====Ground control====&lt;br /&gt;
&lt;br /&gt;
Ground control is the main configuration application for pixhawk, also used for uploading new firmware for to the pixhawk, so it is needed.&lt;br /&gt;
&lt;br /&gt;
* From page http://qgroundcontrol.org/dev/build_source - get source for ground control application&lt;br /&gt;
 git clone git://github.com/mavlink/qgroundcontrol.git&lt;br /&gt;
 cd qgroundcontrol&lt;br /&gt;
 git submodule init&lt;br /&gt;
 git submodule update&lt;br /&gt;
The last two lines allow other repositories to me in the same tree as groundcontrol and adds a mavlink/c_library from another git repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Note that the newest versions does not compile on Ubuntu 14.04 LTS. One solution is to use the &amp;quot;stable&amp;quot; branch of the ground control. Switch to this by issuing:&amp;lt;/i&amp;gt;&lt;br /&gt;
 git checkout -t origin/Stable_V2.2&lt;br /&gt;
&lt;br /&gt;
* Make the needed Makefile, and compile&lt;br /&gt;
 qmake&lt;br /&gt;
 make -j3&lt;br /&gt;
* Testrun the control application and connect the pixhawk&lt;br /&gt;
 ./release/qgroundcontrol&lt;br /&gt;
&lt;br /&gt;
====Prerequisites for PX4 firmware====&lt;br /&gt;
&lt;br /&gt;
* install arm compiler gcc-arm-none-eabi:&lt;br /&gt;
 sudo apt-get install gcc-arm-none-eabi&lt;br /&gt;
This is likely version 4.8, but version 4.8 has an error for this arm processor, so version 4.7 needs to be installed and made available on the PATH. See http://pixhawk.org/dev/toolchain_installation_lin tool installation a bit down for all Linux distros.&lt;br /&gt;
* if the version 4.8 is not fixed, then get the older version 4.7 and add it to the $PATH as first thing:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget https://launchpadlibrarian.net/174121628/gcc-arm-none-eabi-4_7-2014q2-20140408-linux.tar.bz2&lt;br /&gt;
 tar -jxf gcc-arm-none-eabi-4_7-2014q2-20140408-linux.tar.bz2&lt;br /&gt;
 exportline=&amp;quot;export PATH=$HOME/gcc-arm-none-eabi-4_7-2014q2/bin:\$PATH&amp;quot;&lt;br /&gt;
 if grep -Fxq &amp;quot;$exportline&amp;quot; ~/.profile; then echo nothing to do ; else echo $exportline &amp;gt;&amp;gt; ~/.profile; fi&lt;br /&gt;
 . ~/.profile&lt;br /&gt;
&lt;br /&gt;
* If upload to pixhawk gives an error like:&lt;br /&gt;
 ...&lt;br /&gt;
 ==========================================================================================================&lt;br /&gt;
 WARNING: You should uninstall ModemManager as it conflicts with any non-modem serial device (like Pixhawk)&lt;br /&gt;
 ==========================================================================================================&lt;br /&gt;
 Loaded firmware for 9,0, waiting for the bootloader...&lt;br /&gt;
 attempting reboot on /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00...&lt;br /&gt;
 attempting reboot on /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00...&lt;br /&gt;
* The modemmanager conflicts, so remove it&lt;br /&gt;
 sudo apt-get remove modemmanager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PX4 firmware and Nuttx operating system====&lt;br /&gt;
&lt;br /&gt;
* Get the px4 firmware from&lt;br /&gt;
 git clone https://github.com/PX4/Firmware.git px4&lt;br /&gt;
* try a compile of nuttx (is fetched as part of the make command) - see &#039;&#039;make help&#039;&#039; to see compile options&lt;br /&gt;
 cd px4&lt;br /&gt;
 make archives&lt;br /&gt;
 make px4fmu-v2_default&lt;br /&gt;
* then upload to the pixhawk (PX4)&lt;br /&gt;
 make upload px4fmu-v2_default&lt;br /&gt;
This should finish like:&lt;br /&gt;
 erase...&lt;br /&gt;
 program...&lt;br /&gt;
 verify...&lt;br /&gt;
 done, rebooting.&lt;br /&gt;
&lt;br /&gt;
* The image - ./Build/px4fmu-v2_default.build/firmware.px4 can also be uploaded using &#039;&#039;qgroundcontrol&#039;&#039; - when I tried the upload failed twice before success.&lt;br /&gt;
&lt;br /&gt;
====New code====&lt;br /&gt;
&lt;br /&gt;
* Now to modifying the code:&lt;br /&gt;
Follow recipy at http://pixhawk.org/dev/px4_simple_app&lt;br /&gt;
&lt;br /&gt;
/Christian (24/08/2014)&lt;br /&gt;
&lt;br /&gt;
===Configure===&lt;br /&gt;
&lt;br /&gt;
In the pixhawk firmware tree goto /ROMFS/px4fmu_common/init.d, here the file 7010_hexakopter_+ is created&lt;br /&gt;
&lt;br /&gt;
 cd ROMFS/px4fmu_common&lt;br /&gt;
 cat 7010_hexakopter_+&lt;br /&gt;
 #!nsh&lt;br /&gt;
 #&lt;br /&gt;
 # Generic 10&amp;quot; Hexa + geometry&lt;br /&gt;
 # platform is MicroKopter hexakopter with standard I2C motor controllers&lt;br /&gt;
 #&lt;br /&gt;
 # Christian Andersen &amp;lt;jca@elektro.dtu.dk&amp;gt;&lt;br /&gt;
 # &lt;br /&gt;
 &lt;br /&gt;
 sh /etc/init.d/rc.mc_defaults&lt;br /&gt;
 # We only can run one channel group with one rate, so set all 8 channels&lt;br /&gt;
 set PWM_OUTPUTS 12345678&lt;br /&gt;
 &lt;br /&gt;
 set MIXER FMU_hexa_+&lt;br /&gt;
 #set USE_IO no&lt;br /&gt;
 set OUTPUT_MODE mkblctrl&lt;br /&gt;
 set MKBLCTRL_MODE +&lt;br /&gt;
&lt;br /&gt;
and in rc.autostart the following lines are added&lt;br /&gt;
&lt;br /&gt;
 if param compare SYS_AUTOSTART 7010&lt;br /&gt;
 then&lt;br /&gt;
 	sh /etc/init.d/7010_hexakopter_+&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
This enables the configuration for hexakopter motorcontroller &lt;br /&gt;
Now this configuration should be enabled:&lt;br /&gt;
Compile and upload the files:&lt;br /&gt;
&lt;br /&gt;
 make px4fmu-v2_default&lt;br /&gt;
 make upload px4fmu-v2_default&lt;br /&gt;
&lt;br /&gt;
This will put the rc.autostart and 7010_hexakopter_+ files in /etc/init.d on the pixhawk.&lt;br /&gt;
&lt;br /&gt;
* Now this configuration should be enabled.&lt;br /&gt;
Start qgroundcontrol.&lt;br /&gt;
Connect to the pixhawk (top-right).&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;tool widgets&amp;quot; menu click &amp;quot;onboard parameters&amp;quot;. Increase the widget if it is too small.&lt;br /&gt;
&lt;br /&gt;
Find the parameter SYS, and change the SYS_AUTOSTART value to 7010.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;write ROM&amp;quot; to save on pixhawk.&lt;br /&gt;
&lt;br /&gt;
* To do some debugging during startup it is neccesary to connect serial connection to e.g. putty.&lt;br /&gt;
Connect the serial cable (serial to USB) to serial 4/5, and open the connection with putty.&lt;br /&gt;
&lt;br /&gt;
* reboot the pixhawk.&lt;br /&gt;
The serial connection will output debug messages as it reboots, and will report errors.&lt;br /&gt;
&lt;br /&gt;
* motor test&lt;br /&gt;
&lt;br /&gt;
To test the connection to the motors use the serail connection&lt;br /&gt;
&lt;br /&gt;
 mkblctrl -t&lt;br /&gt;
&lt;br /&gt;
The motors should spin up (at a low speed) in CV order starting with the front motor.&lt;br /&gt;
&lt;br /&gt;
===Arduflight recipy===&lt;br /&gt;
&lt;br /&gt;
This is part of the instructions is using ardupilot rather than qgroundcontrol.&lt;br /&gt;
- this is not needed if you followed the instructions above.&lt;br /&gt;
&lt;br /&gt;
Log of actions to use pixhawk on hexakopter:&lt;br /&gt;
&lt;br /&gt;
starting with the configuration from Søren Hansen, giving the directories in&lt;br /&gt;
&lt;br /&gt;
 px4src/ardupilot  &lt;br /&gt;
 px4src/PX4Firmware&lt;br /&gt;
 px4src/PX4NuttX&lt;br /&gt;
&lt;br /&gt;
 cd  px4src/ardupilot&lt;br /&gt;
&lt;br /&gt;
Make the version for PX&lt;br /&gt;
&lt;br /&gt;
 cd ArduKopter&lt;br /&gt;
 make configure&lt;br /&gt;
 make px4-v2&lt;br /&gt;
&lt;br /&gt;
Once finished it can be installed if the pixhawk is connected by&lt;br /&gt;
&lt;br /&gt;
 make px4-v2-upload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PIXHAWK (ardupilot) GUI ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the QT4 based GUI for the (ardupilot) pixhawk by&lt;br /&gt;
&lt;br /&gt;
1. Make sure these packages are installed&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install phonon libqt4-dev libqt4-opengl-dev \&lt;br /&gt;
  libphonon-dev libphonon4 phonon-backend-gstreamer \&lt;br /&gt;
  qtcreator libsdl1.2-dev libflite1 flite1-dev build-essential \&lt;br /&gt;
  libopenscenegraph-dev libssl-dev libqt4-opengl-dev libudev-dev \&lt;br /&gt;
  libsndfile1-dev libqt4-sql-sqlite&lt;br /&gt;
&lt;br /&gt;
2. getting the software from git:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/diydrones/apm_planner.git apm_planner&lt;br /&gt;
&lt;br /&gt;
3. go to this directory and configure and make&lt;br /&gt;
&lt;br /&gt;
 cd apm_planner&lt;br /&gt;
 qmake&lt;br /&gt;
&lt;br /&gt;
This takes some time&lt;br /&gt;
&lt;br /&gt;
then go to the release directory and run&lt;br /&gt;
&lt;br /&gt;
 cd release&lt;br /&gt;
 ./apm_planner&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=SMR_test&amp;diff=1539</id>
		<title>SMR test</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=SMR_test&amp;diff=1539"/>
		<updated>2014-10-02T08:23:00Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SMR test procedures ==&lt;br /&gt;
&lt;br /&gt;
Currently two tests are implemented for the SMR&#039;s. &lt;br /&gt;
&lt;br /&gt;
* A simple test checking that IR-sensors, linesensor and motorcontrollers are running and communicating with RHD and MRC. &lt;br /&gt;
* An advanced test that also includes guidemark&#039;s, and laser-based localisation.&lt;br /&gt;
&lt;br /&gt;
Both tests are run by logging into the system as &amp;quot;test&amp;quot; and using the scripts found in the smr folder (/vhome/test/smr).&lt;br /&gt;
&lt;br /&gt;
=== Simple Test ===&lt;br /&gt;
Place the SMR you want to test on teststand. Run the command from the smr folder.&lt;br /&gt;
 test@localhost:~/test$ ./test smrX&lt;br /&gt;
Where smrX is the name of the SMR you are testing (fx. smr1).&lt;br /&gt;
&lt;br /&gt;
=== Advanced Test ===&lt;br /&gt;
The advanced test uses a predefined course in the SMR-pit in the corner of room 027. The course is sketched below. It is necessary to put light-colored wooden planks along the base of the cabinet as the laser-scanner can&#039;t see the dark footing.&lt;br /&gt;
&lt;br /&gt;
[[File:test-course.png|center]]&lt;br /&gt;
&lt;br /&gt;
Place the SMR on the start spot. Run the following command.&lt;br /&gt;
 test@localhost:~/test$ ./mobotwaretest smrX&lt;br /&gt;
The test system will open 3 windows containing ulmsserver, ucamserver and mrc. As the robot moves around the course it should say the guidemark numbers and should end up close to the starting point.&lt;br /&gt;
When the robot is finished close down the servers properly by type in &amp;quot;q&amp;quot; to the server.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=File:Test-course.png&amp;diff=1538</id>
		<title>File:Test-course.png</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=File:Test-course.png&amp;diff=1538"/>
		<updated>2014-10-01T11:40:01Z</updated>

		<summary type="html">&lt;p&gt;Sh: Sh uploaded a new version of &amp;amp;quot;File:Test-course.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=SMR_test&amp;diff=1537</id>
		<title>SMR test</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=SMR_test&amp;diff=1537"/>
		<updated>2014-10-01T10:24:02Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SMR test procedures ==&lt;br /&gt;
&lt;br /&gt;
Currently two tests are implemented for the SMR&#039;s. &lt;br /&gt;
&lt;br /&gt;
* A simple test checking that IR-sensors, linesensor and motorcontrollers are running and communicating with RHD and MRC. &lt;br /&gt;
* An advanced test that also includes guidemark&#039;s, and laser-based localisation.&lt;br /&gt;
&lt;br /&gt;
Both tests are run by logging into the system as &amp;quot;test&amp;quot; and using the scripts found in the smr folder (/vhome/test/smr).&lt;br /&gt;
&lt;br /&gt;
=== Simple Test ===&lt;br /&gt;
Place the SMR you want to test on teststand. Run the command from the smr folder.&lt;br /&gt;
 test@localhost:~/test$ ./test smrX&lt;br /&gt;
Where smrX is the name of the SMR you are testing (fx. smr1).&lt;br /&gt;
&lt;br /&gt;
=== Advanced Test ===&lt;br /&gt;
The advanced test uses a predefined course in the SMR-pit in the corner of room 027. The course is sketched below. It is necessary to put light-colored wooden planks along the base of the cabinet as the laser-scanner can&#039;t see the dark footing.&lt;br /&gt;
&lt;br /&gt;
[[File:test-course.png|center]]&lt;br /&gt;
&lt;br /&gt;
Place the SMR on the start spot. Run the following command.&lt;br /&gt;
 test@localhost:~/test$ ./mobotwaretest smrX&lt;br /&gt;
The robot should say the guidemark numbers and should end up close to the starting point.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=File:Test-course.png&amp;diff=1536</id>
		<title>File:Test-course.png</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=File:Test-course.png&amp;diff=1536"/>
		<updated>2014-10-01T10:22:14Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=SMR_test&amp;diff=1535</id>
		<title>SMR test</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=SMR_test&amp;diff=1535"/>
		<updated>2014-10-01T10:21:49Z</updated>

		<summary type="html">&lt;p&gt;Sh: Created page with &amp;quot;== SMR test procedures ==  Currently two tests are implemented for the SMR&amp;#039;s.   * A simple test checking that IR-sensors, linesensor and motorcontrollers are running and commu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SMR test procedures ==&lt;br /&gt;
&lt;br /&gt;
Currently two tests are implemented for the SMR&#039;s. &lt;br /&gt;
&lt;br /&gt;
* A simple test checking that IR-sensors, linesensor and motorcontrollers are running and communicating with RHD and MRC. &lt;br /&gt;
* An advanced test that also includes guidemark&#039;s, and laser-based localisation.&lt;br /&gt;
&lt;br /&gt;
Both tests are run by logging into the system as &amp;quot;test&amp;quot; and using the scripts found in the smr folder (/vhome/test/smr).&lt;br /&gt;
&lt;br /&gt;
=== Simple Test ===&lt;br /&gt;
Place the SMR you want to test on teststand. Run the command from the smr folder.&lt;br /&gt;
 test@localhost:~/test$ ./test smrX&lt;br /&gt;
Where smrX is the name of the SMR you are testing (fx. smr1).&lt;br /&gt;
&lt;br /&gt;
=== Advanced Test ===&lt;br /&gt;
The advanced test uses a predefined course in the SMR-pit in the corner of room 027. The course is sketched below. It is necessary to put light-colored wooden planks along the base of the cabinet as the laser-scanner can&#039;t see the dark footing.&lt;br /&gt;
&lt;br /&gt;
[[File:test-course.png]]&lt;br /&gt;
&lt;br /&gt;
Place the SMR on the start spot. Run the following command.&lt;br /&gt;
 test@localhost:~/test$ ./mobotwaretest smrX&lt;br /&gt;
The robot should say the guidemark numbers and should end up close to the starting point.&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1534</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1534"/>
		<updated>2014-10-01T09:29:45Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the wiki pages of the Robot Systems Engineering (RSE) group of Automation and Control at DTU Electical engineering.&lt;br /&gt;
&lt;br /&gt;
These pages will contain updated information on RSE projects and other issued related to robotics research.&lt;br /&gt;
&lt;br /&gt;
= Mobotware =&lt;br /&gt;
&lt;br /&gt;
(Mobile Robot software)&lt;br /&gt;
&lt;br /&gt;
AURS [[AU Robot Servers]] (camera, laser scanner, other servers and plugins) &lt;br /&gt;
&lt;br /&gt;
[[RHD]] Robot Hardware Daemon&lt;br /&gt;
&lt;br /&gt;
MRC - see SMR below&lt;br /&gt;
&lt;br /&gt;
[[Version and download]]&lt;br /&gt;
&lt;br /&gt;
[[Automated test setup]]&lt;br /&gt;
&lt;br /&gt;
= Robots =&lt;br /&gt;
&lt;br /&gt;
[[List of SMRs]] (List of SMRs)&lt;br /&gt;
&lt;br /&gt;
[[SMR]] (Small Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[SMR test]] (SMR test procedures)&lt;br /&gt;
&lt;br /&gt;
[[MMR]] (Medium Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[HAKO]] (KU Life tractor, now in Hohenheim University Germany)&lt;br /&gt;
&lt;br /&gt;
[[Claas axion]] (Semi-autonomous heavy tractor)&lt;br /&gt;
&lt;br /&gt;
[[hexakopter]] (notes for six-rotor helicopter including the pixhawk autopilot)&lt;br /&gt;
&lt;br /&gt;
[[UR5]] (Universal Robot UR5 Arm)&lt;br /&gt;
&lt;br /&gt;
[[UR10]] (Universal Robot UR10 Arm)&lt;br /&gt;
&lt;br /&gt;
[[Fieldrobot]] (Fieldrobot)&lt;br /&gt;
&lt;br /&gt;
[[iRobot ATRV-Jr]]&lt;br /&gt;
&lt;br /&gt;
[[Labyrinth]] (Labyrinth game)&lt;br /&gt;
&lt;br /&gt;
[[inspection robot]] (6-legged robot)&lt;br /&gt;
&lt;br /&gt;
[[regbot]] (small robot intended as control-1 exercise)&lt;br /&gt;
&lt;br /&gt;
= Linux system considerations =&lt;br /&gt;
&lt;br /&gt;
[[Switchtool]] - Shift to Mobotware (development) branch on the robots&lt;br /&gt;
&lt;br /&gt;
[[Rules for udev on RTAI]] (How to use udev rules to get correct modes for RTAI fifos and Comedi devices)&lt;br /&gt;
&lt;br /&gt;
[[Naming networkinterfaces using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Setting permissions for various devices using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu 32-bit or 64-bit]]&lt;br /&gt;
&lt;br /&gt;
[[Authenticating Linux clients against MS Active Directory]]&lt;br /&gt;
&lt;br /&gt;
====Older pages====&lt;br /&gt;
&lt;br /&gt;
[[Slackware OpenCV package install]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware packages in robot image]]&lt;br /&gt;
&lt;br /&gt;
= Controllab =&lt;br /&gt;
&lt;br /&gt;
[[Platform list]] (List of computers used for various control set-ups)&lt;br /&gt;
&lt;br /&gt;
[[Realtime testing]] (Description of small test procedures to verify RTAI realtime operation)&lt;br /&gt;
&lt;br /&gt;
[http://aut.elektro.dtu.dk/staff/sh/rsewiki/matlabrtai_intro.pdf Introduction to Matlab RTW and RTAI] (Guide for usage of RTAILab with Matlab RTW and Simulink)&lt;br /&gt;
&lt;br /&gt;
= How-to documentation =&lt;br /&gt;
&lt;br /&gt;
====installation====&lt;br /&gt;
&lt;br /&gt;
[[NTP howto]] time-sync 2 computers&lt;br /&gt;
&lt;br /&gt;
Using the [[RSE SVN]] repository&lt;br /&gt;
&lt;br /&gt;
[[Flash disk cloning]] - to repair robot boot disk image&lt;br /&gt;
&lt;br /&gt;
[[Install on (K)UBUNTU]] - for test and development on PC or laptop&lt;br /&gt;
&lt;br /&gt;
[[Install GUI-less UBUNTU]] - new boot disk image for robots&lt;br /&gt;
&lt;br /&gt;
[[Install on raspberry]] - install RHD and MRC on raspbian&lt;br /&gt;
&lt;br /&gt;
[[Robot GUI (MARG)]]&lt;br /&gt;
&lt;br /&gt;
[[Remote Development of Mobotware Using Eclipse]]&lt;br /&gt;
&lt;br /&gt;
[[Set hostnames from dhcp-server with dhclient on *buntu systems]]&lt;br /&gt;
&lt;br /&gt;
====utility pages====&lt;br /&gt;
&lt;br /&gt;
[[Convert a .tex document to openoffice]]&lt;br /&gt;
&lt;br /&gt;
[[Access DTU campus network using VPN from Linux]]&lt;br /&gt;
&lt;br /&gt;
[[disable display manager on boot]] (and thereby the graphic user interface)&lt;br /&gt;
&lt;br /&gt;
How to make a animation from separate images, see [[MMR]]&lt;br /&gt;
&lt;br /&gt;
====older pages====&lt;br /&gt;
&lt;br /&gt;
[[Transition to version 2011]] - notes&lt;br /&gt;
&lt;br /&gt;
[[RoboCup]] - bl.a. scoreboard&lt;br /&gt;
&lt;br /&gt;
[[Demo of stereo camera]]&lt;br /&gt;
&lt;br /&gt;
[[AU software license considerations]]&lt;br /&gt;
&lt;br /&gt;
= Demonstrations =&lt;br /&gt;
&lt;br /&gt;
[[PLC controlled traffic light]]&lt;br /&gt;
&lt;br /&gt;
[[Machine shop in 326]]&lt;br /&gt;
&lt;br /&gt;
= Events =&lt;br /&gt;
&lt;br /&gt;
[[Culture night]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1466</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1466"/>
		<updated>2014-04-28T09:12:28Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 10.4/10.10/11.04/11.10/12.04==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libopencv-gpu-dev&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libpci-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - ffmpeg (video codex etc.)&lt;br /&gt;
 - libv4l-dev (video usage)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libboost-system-dev&lt;br /&gt;
 - python-dev  (can p.t. do without)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
 - libpci-dev  (To compile Guidebot&#039;s RHD plugin)&lt;br /&gt;
 - libfltk1.3-dev  (Stage Simulator)&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
At the moment Mobotware does not compile when you install version 1.7. Install version 1.6 instead.&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 12.10/13.04/13.10 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assumint 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1465</id>
		<title>Install on (K)UBUNTU</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Install_on_(K)UBUNTU&amp;diff=1465"/>
		<updated>2014-04-28T09:10:06Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is intended as a guidance to install MOBOTWARE&lt;br /&gt;
&lt;br /&gt;
The platform tested is KUBUNTU, UBUNTU and XUBUNTU.&lt;br /&gt;
&lt;br /&gt;
All robots run - for now - &#039;&#039;&#039;32-bit LINUX distributions&#039;&#039;&#039; and thus tested much more than 64-bit.&lt;br /&gt;
On 64-bit Ubuntu, Mobotware compiles, runs and is tested to some extend.&lt;br /&gt;
&lt;br /&gt;
==UBUNTU version 10.4/10.10/11.04/11.10/12.04==&lt;br /&gt;
&lt;br /&gt;
This description is valid for UBUNTU, KUBUNTU and XUBUNTU&lt;br /&gt;
&lt;br /&gt;
* From version 11.04 of UBUNTU, KUBUNTU or XUBUNTU there is no support for USB-webcam using campool plug-in. The plugin &amp;quot;auv4lgst&amp;quot; is the replacement for USB-webcams supported by gstreamer (most modern webcams))&lt;br /&gt;
* Preferred version is (K)Ubuntu 12.04 32 bit for Mobotware version &amp;gt;=2.1912 - with only a few outstanding issues (e.g. RTEA).&lt;br /&gt;
&lt;br /&gt;
After successfully installing KUBUNTU, UBUNTU or XUBUBTU, install the following packages&lt;br /&gt;
&lt;br /&gt;
e.g. install a package from the command-prompt like: &lt;br /&gt;
 sudo apt-get install cmake&lt;br /&gt;
&lt;br /&gt;
Needed packages:&lt;br /&gt;
 - subversion (if you have access to source on SVN)&lt;br /&gt;
 - gcc&lt;br /&gt;
 - g++&lt;br /&gt;
 - cmake&lt;br /&gt;
 - doxygen  (for documentation only)&lt;br /&gt;
 - libopencv-dev (ubuntu from 12.4, for earlier versions of ubuntu: try load libhighgui-dev and libcv-dev instead)&lt;br /&gt;
 - libopencv-gpu-dev&lt;br /&gt;
 - libraw1394-dev&lt;br /&gt;
 - libdc1394-22-dev&lt;br /&gt;
 - libpng-dev&lt;br /&gt;
 - libexpat-dev&lt;br /&gt;
 - ncurses-dev&lt;br /&gt;
 - libpci-dev&lt;br /&gt;
 - libreadline-dev&lt;br /&gt;
 - libsdl-dev&lt;br /&gt;
 - bison (for MRC)&lt;br /&gt;
 - libudev-dev&lt;br /&gt;
 - icedtea-plugin  (to run MARG)&lt;br /&gt;
 - libusb-dev (MUST be version 1.0.3 or better - (used for Kinect only (see note))&lt;br /&gt;
 - ffmpeg (video codex etc.)&lt;br /&gt;
 - libv4l-dev (video usage)&lt;br /&gt;
 - putty (useful serial terminal emulator)&lt;br /&gt;
 - kdevelop or eclipse (integrated development environment - not strictly needed (and not with XUBUNTU))&lt;br /&gt;
 - lsof (to track open files - also device files)&lt;br /&gt;
 - libboost-dev (used by aulocalizer plug-in, but also included in libpcl)&lt;br /&gt;
 - libboost-system-dev&lt;br /&gt;
 - python-dev  (can p.t. do without)&lt;br /&gt;
 - libpcl-all-dev  (see PCL-note)&lt;br /&gt;
 - libgstreamer0.10-dev (for client and camera interface)&lt;br /&gt;
 - libpci-dev  (To compile Guidebot&#039;s RHD plugin)&lt;br /&gt;
&lt;br /&gt;
Packages to compile AVR-C - e.g. motor controller and labyrinth&lt;br /&gt;
 - gcc-avr &lt;br /&gt;
 - binutils-avr &lt;br /&gt;
 - avr-libc&lt;br /&gt;
&lt;br /&gt;
=== PCL ===&lt;br /&gt;
The Point Clouds Library (PCL) is in a separate ubuntu repository, so see the instructions on:&lt;br /&gt;
http://pointclouds.org/downloads/linux.html&lt;br /&gt;
&lt;br /&gt;
At the moment Mobotware does not compile when you install version 1.7. Install version 1.6 instead.&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
====locale.hpp not found====&lt;br /&gt;
&lt;br /&gt;
In some cases compile of auviewer fails complaining that boost/locale.hpp is not found.&lt;br /&gt;
&lt;br /&gt;
changed in source file (in auviewer), from&lt;br /&gt;
 #include &amp;lt;boost/locale.hpp&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
 #include &amp;lt;boost/typeof/std/locale.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ubuntu 12.10/13.04/13.10 32/64-bit - BOOST compile fails====&lt;br /&gt;
&lt;br /&gt;
p.t. (may 2013) boost do not compile using GCC-4.7, as is default on 64 bit (ubuntu 13.04)&lt;br /&gt;
--update (august 2013) on clean install of Ubuntu 13.04 32 bit the problem is the same.&lt;br /&gt;
&lt;br /&gt;
So use update-alternatives to switch to gcc-4.6&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
if update-alternatives has no alternatives, &lt;br /&gt;
then add them (taken from from http://askubuntu.com/questions/26498/choose-gcc-and-g-version)&lt;br /&gt;
&lt;br /&gt;
Install compiler version 4.6 (assumint 4.7 is installed):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install gcc-4.6 g++-4.6 cc-4.6&lt;br /&gt;
&lt;br /&gt;
Install Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10&lt;br /&gt;
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30&lt;br /&gt;
 sudo update-alternatives --set cc /usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30&lt;br /&gt;
 sudo update-alternatives --set c++ /usr/bin/g++&lt;br /&gt;
&lt;br /&gt;
Configure Alternatives&lt;br /&gt;
&lt;br /&gt;
 sudo update-alternatives --config gcc&lt;br /&gt;
 sudo update-alternatives --config g++&lt;br /&gt;
&lt;br /&gt;
==== libboost ====&lt;br /&gt;
There is a problem during compilation of the plugin auviewer. To solve this problem locate the following file:&lt;br /&gt;
  /usr/include/boost/thread/exceptions.hpp&lt;br /&gt;
  &lt;br /&gt;
Add the following code at line 11&lt;br /&gt;
&lt;br /&gt;
  //added by Jens Christian Andersen and Claes Jaeger for MobotWare to compile auviewer-plugin&lt;br /&gt;
  //ubuntu 13.04(32bit), gcc 4.6 (downgrade from 4.7 - see rsewiki.elektro.dtu.dk), libboost 1.49&lt;br /&gt;
  //produces errors when compiling, because of the attributes defines somewhere else in boost. &lt;br /&gt;
  //the consequences for this hack has not been investigated, the compiled plugin has been tested and is working.&lt;br /&gt;
  #define BOOST_SYMBOL_VISIBLE&lt;br /&gt;
&lt;br /&gt;
As stated in the comments, the consequences have not been investigated, but so far it is working. Please notify us if you experince any problems because of this hack.&lt;br /&gt;
&lt;br /&gt;
===OpenNI===&lt;br /&gt;
&lt;br /&gt;
OpenNI is not used by mobotware (mobotware uses the freenect driver), but part of some of the examples in the PCL library uses the OpenNI driver.&lt;br /&gt;
&lt;br /&gt;
Install openNI driver for Kinect requires additional packages:&lt;br /&gt;
&lt;br /&gt;
* freeglut3-dev (3D graphics with openGL API)&lt;br /&gt;
* sun-java6-jdk (required to compile openNI - sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot; and apt-get update&lt;br /&gt;
&lt;br /&gt;
===LIBUSB-1.0.x===&lt;br /&gt;
&lt;br /&gt;
For distributions older than 12.04:&lt;br /&gt;
&lt;br /&gt;
See http://www.libusb.org/wiki/libusb-1.0, one way is to install from git-source.&lt;br /&gt;
&lt;br /&gt;
If you installed libusb from &lt;br /&gt;
 git clone git://git.libusb.org/libusb.git &lt;br /&gt;
then default is verbose logging to console (may have changed since i tryed it (ultimo 2011)).&lt;br /&gt;
One way to remove is to edit the configure script:&lt;br /&gt;
&lt;br /&gt;
 in the file &#039;&#039;&#039;configure&#039;&#039;&#039; find and remove these two lines (about line 770):&lt;br /&gt;
 enable_log&lt;br /&gt;
 enable_debug_log&lt;br /&gt;
&lt;br /&gt;
Then run - as usual:&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
===Freenect LIB===&lt;br /&gt;
&lt;br /&gt;
Latest version requires this packages:&lt;br /&gt;
&lt;br /&gt;
* libxmu-dev &lt;br /&gt;
* libxi-dev&lt;br /&gt;
&lt;br /&gt;
To compile from git source - not needed in mobotware&lt;br /&gt;
&lt;br /&gt;
===openCV (and ROS) issues===&lt;br /&gt;
&lt;br /&gt;
OpenCV in ubuntu 12.4 is version 2.3.1, and opencv-2.1 is not directly available in the for from openCV-1.0.&lt;br /&gt;
&lt;br /&gt;
- ROS replaces default versions of OPENCV.&lt;br /&gt;
&lt;br /&gt;
Installation of ros on ubuntu (kubuntu) see http://www.ros.org/wiki/electric/Installation/Ubuntu&lt;br /&gt;
The first part about adding source repository and &amp;quot;sudo apt-get update&amp;quot; is fine for installing openCV version 2.3.1 (sudo apt-get install libopencv2.3-dev) too. The same is probably true for the linear algebra template library (sudo apt-get install libeigen3-dev).&lt;br /&gt;
&lt;br /&gt;
ROS electric installes (pt) openCV version 2.3.1, and this includes a pkg-config file with errors, all link directives &amp;quot;-l&amp;quot; includes the full path, which is a syntax error, so&lt;br /&gt;
&lt;br /&gt;
edit the &amp;quot;Libs:&amp;quot; part of /usr/lib/pkgconfig/opencv-2.3.1.pc &lt;br /&gt;
&lt;br /&gt;
from:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 \&lt;br /&gt;
    -l${exec_prefix}/lib/libopencv_core.so.2.3.1&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 # Package Information for pkg-config&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 exec_prefix=${prefix}&lt;br /&gt;
 libdir=${exec_prefix}/lib&lt;br /&gt;
 includedir_old=${prefix}/include/opencv-2.3.1/opencv&lt;br /&gt;
 includedir_new=${prefix}/include/opencv-2.3.1&lt;br /&gt;
 Name: OpenCV&lt;br /&gt;
 Description: Open Source Computer Vision Library&lt;br /&gt;
 Version: 2.3.1&lt;br /&gt;
 Libs:  -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d \&lt;br /&gt;
        -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml \&lt;br /&gt;
        -lopencv_imgproc -lopencv_flann -lopencv_core&lt;br /&gt;
 Cflags: -I${includedir_old} -I${includedir_new}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All relevant Makefiles should now be modified - since SVN version 1768. And updated to detect openCV version 2.1, 2.3.1, and the version installed with ubuntu 12.4. &lt;br /&gt;
&lt;br /&gt;
Thanks to: http://mpt-internal.uni-hohenheim.de/doku.php?id=robotsoftware:mobotware:mobotware-ros&lt;br /&gt;
&lt;br /&gt;
==IDE==&lt;br /&gt;
&lt;br /&gt;
From an Integrated Development Environment (IDE) all parts of the project can be loaded, compiled and debugged using the provided Makefiles &lt;br /&gt;
&lt;br /&gt;
KDEvelop and Eclipse can be recommended.&lt;br /&gt;
&lt;br /&gt;
(for Eclipse see [[Remote Development of Mobotware Using Eclipse]])&lt;br /&gt;
&lt;br /&gt;
==Compile Install Run==&lt;br /&gt;
&lt;br /&gt;
Go to the directory with the Mobotware source&lt;br /&gt;
&lt;br /&gt;
===Unpack===&lt;br /&gt;
&lt;br /&gt;
If from a packed version (see below for SVN source), then&lt;br /&gt;
&lt;br /&gt;
 tar -xzf mobotware-3.XXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
then go to the created directory&lt;br /&gt;
&lt;br /&gt;
 cd mobotware-3.XXXX&lt;br /&gt;
&lt;br /&gt;
===Compile===&lt;br /&gt;
&lt;br /&gt;
From the top level Mobotware directory&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This is needed even if you are going to compile a plugin only to make needed libraryies. There is (usually) seperate makefiles for each plugin and utility, that can be used once the libraries are in place.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
&lt;br /&gt;
To make the compiled version available on the command line (installed under /usr/local):&lt;br /&gt;
* on a standalobe development computer:&lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
* On a robot you cam make a local version, that can be selected using &amp;quot;switchtool&amp;quot;. (reverts back to default version after a reboot)&lt;br /&gt;
&lt;br /&gt;
 sudo make install VER=2012z&lt;br /&gt;
&lt;br /&gt;
* For a new release on our fileserver (for VIP users on kalman only). This exports Mobotware files to a new directory, compiles all needed files, and copies binary files to e.g. &amp;quot;kalman:/opt/smr.2012m&amp;quot;. this directory must exist on kalman (usually created as a copy from a previous version).&lt;br /&gt;
&lt;br /&gt;
 ./exportMobotware     (and type in the SVN revision number, that is used in filenames, e.g. 62)&lt;br /&gt;
 cd mobotware-3.62&lt;br /&gt;
 make kalman VER=2012m&lt;br /&gt;
&lt;br /&gt;
===Run===&lt;br /&gt;
&lt;br /&gt;
Further set PATH and LD_LIBRARY_PATH inmake add the following lines to ~/.bashrc (or /etc/bash.bashrc)&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/home/jca/svn/build/bin&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jca/svn/build/lib&lt;br /&gt;
&lt;br /&gt;
(restart your terminal to put the lines into effect)&lt;br /&gt;
&lt;br /&gt;
==Maintain SVN source==&lt;br /&gt;
&lt;br /&gt;
New version is fetched from command prompt by:&lt;br /&gt;
&lt;br /&gt;
 cd ~/mobotware&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
When you have changed a file send it back to the svn-repository from the directory with the file, or one of the parent folders known to svn (svn will ask for a note for the change log):&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
To add a new set of files, just make a new set of source files - preferably in a new directory (inside the mobotware file tree) - and add the new directory by (e.g. called foo):&lt;br /&gt;
&lt;br /&gt;
 svn add foo&lt;br /&gt;
 A         foo&lt;br /&gt;
 A         foo/Makefile&lt;br /&gt;
 A         foo/bar.cpp&lt;br /&gt;
 A         foo/bar.cpp~&lt;br /&gt;
 A (bin)   foo/bar.o&lt;br /&gt;
&lt;br /&gt;
This adds the directory and all the files in it, if too many files were added the surplus can be removed from add-list by e.g.:&lt;br /&gt;
&lt;br /&gt;
 svn reveret foo/bar.cpp~ foo/bar.o&lt;br /&gt;
&lt;br /&gt;
You may let SVN modify a line in the source code with revision number or an iID with update details, by addinf $Rev$ or $Id$ somewhere in the source file, and make this field active by:&lt;br /&gt;
&lt;br /&gt;
 svn propset svn:keywords &#039;Id Revision&#039; foo&lt;br /&gt;
&lt;br /&gt;
Then the additions and changes must be committed to go to the repository (starts an editor for a commit remark)&lt;br /&gt;
&lt;br /&gt;
 svn commit&lt;br /&gt;
&lt;br /&gt;
or to skip the step with the remark editor:&lt;br /&gt;
&lt;br /&gt;
 svn commit -m &amp;quot;in-line commit remark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
&lt;br /&gt;
Using debugger to attach to a running process may fail with the message:&lt;br /&gt;
&lt;br /&gt;
 Could not attach debugger:&lt;br /&gt;
 ptrace: Operation not permitted.&lt;br /&gt;
&lt;br /&gt;
Most likely, it is solved by changing:&lt;br /&gt;
&lt;br /&gt;
 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(to be continued with test and example instructions)&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Automated_test_setup&amp;diff=1450</id>
		<title>Automated test setup</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Automated_test_setup&amp;diff=1450"/>
		<updated>2014-02-13T21:57:53Z</updated>

		<summary type="html">&lt;p&gt;Sh: Created page with &amp;quot;An automated test system is setup on tustin.iau.dtu.dk. The test consists of a number of scripts testing various features of the Mobotware software.  The test is run hourly by...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An automated test system is setup on tustin.iau.dtu.dk. The test consists of a number of scripts testing various features of the Mobotware software. &lt;br /&gt;
The test is run hourly by a cron job and output is directed to a homepage.&lt;br /&gt;
The cron job is setup on a Linux system by running &amp;lt;tt&amp;gt;crontab -e&amp;lt;/tt&amp;gt; and adding the following line:&lt;br /&gt;
 00 * * * * /path/to/scripts/byg-check&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Compile test ==&lt;br /&gt;
To test that all programs in the standard Mobotware package compiles as intended the script &amp;lt;tt&amp;gt;byg-check&amp;lt;/tt&amp;gt; is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
WEB_PATH=/path/to/output/page.html&lt;br /&gt;
RUN_TIME=`date`&lt;br /&gt;
&lt;br /&gt;
cd /path/to/scripts&lt;br /&gt;
svn up &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
make clean &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
rm -f err.log&lt;br /&gt;
cat text.html &amp;gt; out.html&lt;br /&gt;
echo $RUN_TIME &amp;gt;&amp;gt; out.html&lt;br /&gt;
make &amp;gt; /dev/null 2&amp;gt; err.log&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
  echo &amp;quot;&amp;lt;hr&amp;gt;&amp;lt;h2&amp;gt;Compile status: SUCCESS&amp;lt;/h2&amp;gt;&amp;quot; &amp;gt;&amp;gt; out.html&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;&amp;lt;hr&amp;gt;&amp;lt;h2&amp;gt;Compile status: FAILED&amp;lt;/h2&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;b&amp;gt;Error-log:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;quot; &amp;gt;&amp;gt; out.html&lt;br /&gt;
  cat err.log &amp;gt;&amp;gt; out.html&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot; &amp;gt;&amp;gt; out.html&lt;br /&gt;
cp out.html $WEB_PATH&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Simulator test ==&lt;br /&gt;
A test run is done in the simulator to check odometry and laser based localisation. To run the simulator without a display a virtual frame buffer is created using Xvfb. &lt;br /&gt;
&lt;br /&gt;
The script is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
rm -f log&lt;br /&gt;
Xvfb :100 &amp;amp;&lt;br /&gt;
FRAMEPID=$!&lt;br /&gt;
export DISPLAY=:100&lt;br /&gt;
build/bin/rhd rhdconfig.maze.xml &amp;gt;simlog 2&amp;gt;simerr &amp;amp;&lt;br /&gt;
RHDPID=$!&lt;br /&gt;
sleep 5&lt;br /&gt;
build/bin/ulmsserver -a &amp;gt; /dev/null 2&amp;gt; /dev/null &amp;amp;&lt;br /&gt;
ULMPID=$!&lt;br /&gt;
sleep 5&lt;br /&gt;
build/bin/mrc -s0  test &amp;gt;mrclog 2&amp;gt;mrcerrlog&lt;br /&gt;
grep &amp;quot;1.0&amp;quot; log&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
   RETVAL=1&lt;br /&gt;
else&lt;br /&gt;
   grep &amp;quot;2.0&amp;quot; log&lt;br /&gt;
   if [ $? -eq 0 ]; then&lt;br /&gt;
     RETVAL=2&lt;br /&gt;
   else&lt;br /&gt;
     RETVAL=0&lt;br /&gt;
   fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
kill $FRAMEPID $RHDPID $ULMPID&lt;br /&gt;
&lt;br /&gt;
exit $RETVAL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The mrc program &amp;lt;tt&amp;gt;test&amp;lt;/tt&amp;gt; is a smrcl script that drives the robot around a predefined pattern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
laser &amp;quot;setinitpose x=-0.2 y=0.5 th=0.0&amp;quot;&lt;br /&gt;
laser &amp;quot;setinitcov Cx=0.004 Cy=0.004 Cth=0.01&amp;quot;&lt;br /&gt;
laser &amp;quot;push t=&#039;1.0&#039; cmd=&#039;localize&#039;&amp;quot;&lt;br /&gt;
fwd 1.7 &lt;br /&gt;
turn 75&lt;br /&gt;
fwd 1.8&lt;br /&gt;
turn 15&lt;br /&gt;
fwd 1.15&lt;br /&gt;
turn 90&lt;br /&gt;
fwd 1.75&lt;br /&gt;
turn 60&lt;br /&gt;
fwd 0.15&lt;br /&gt;
turn 15&lt;br /&gt;
fwd 0.12&lt;br /&gt;
turn 15&lt;br /&gt;
fwd 0.3 &lt;br /&gt;
turn 45&lt;br /&gt;
fwd 0.5&lt;br /&gt;
turn -45 &lt;br /&gt;
fwd 1.45&lt;br /&gt;
turn -90&lt;br /&gt;
fwd 0.7&lt;br /&gt;
eval $odox;$odoy;$odoth&lt;br /&gt;
eval $l0;$l1;$l2&lt;br /&gt;
result=0&lt;br /&gt;
resultt=1&lt;br /&gt;
if (abs($odox+0.033)&amp;gt;0.01|abs($odoy-0.542)&amp;gt;0.01|abs(normalizeanglerad($odoth-3.14))&amp;gt;0.01) &amp;quot;failed&amp;quot;&lt;br /&gt;
resultt=2&lt;br /&gt;
if (abs($l0-0.1)&amp;gt;0.03|abs($l1+0.4)&amp;gt;0.03|abs(normalizeanglerad($l2))&amp;gt;0.05) &amp;quot;failed&amp;quot;&lt;br /&gt;
resultt=0&lt;br /&gt;
label &amp;quot;failed&amp;quot;&lt;br /&gt;
log &amp;quot;result&amp;quot;&lt;br /&gt;
result = resultt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1449</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=Main_Page&amp;diff=1449"/>
		<updated>2014-02-13T21:34:12Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the wiki pages of the Robot Systems Engineering (RSE) group of Automation and Control at DTU Electical engineering.&lt;br /&gt;
&lt;br /&gt;
These pages will contain updated information on RSE projects and other issued related to robotics research.&lt;br /&gt;
&lt;br /&gt;
= Mobotware =&lt;br /&gt;
&lt;br /&gt;
(Mobile Robot software)&lt;br /&gt;
&lt;br /&gt;
AURS [[AU Robot Servers]] (camera, laser scanner, other servers and plugins) &lt;br /&gt;
&lt;br /&gt;
[[RHD]] Robot Hardware Daemon&lt;br /&gt;
&lt;br /&gt;
MRC - see SMR below&lt;br /&gt;
&lt;br /&gt;
[[Version and download]]&lt;br /&gt;
&lt;br /&gt;
[[Automated test setup]]&lt;br /&gt;
&lt;br /&gt;
= Robots =&lt;br /&gt;
&lt;br /&gt;
[[List of SMRs]] (List of SMRs)&lt;br /&gt;
&lt;br /&gt;
[[SMR]] (Small Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[MMR]] (Medium Mobile Robot)&lt;br /&gt;
&lt;br /&gt;
[[HAKO]] (KU Life tractor, now in Hohenheim University Germany)&lt;br /&gt;
&lt;br /&gt;
[[Claas axion]] (Semi-autonomous heavy tractor)&lt;br /&gt;
&lt;br /&gt;
[[hexakopter]] (notes for six-rotor helicopter)&lt;br /&gt;
&lt;br /&gt;
[[UR5]] (Universal Robot Arm)&lt;br /&gt;
&lt;br /&gt;
[[Fieldrobot]] (Fieldrobot)&lt;br /&gt;
&lt;br /&gt;
[[iRobot ATRV-Jr]]&lt;br /&gt;
&lt;br /&gt;
[[Labyrinth]] (Labyrinth game)&lt;br /&gt;
&lt;br /&gt;
= Linux system considerations =&lt;br /&gt;
&lt;br /&gt;
[[Switchtool]] - Shift to Mobotware (development) branch on the robots&lt;br /&gt;
&lt;br /&gt;
[[Rules for udev on RTAI]] (How to use udev rules to get correct modes for RTAI fifos and Comedi devices)&lt;br /&gt;
&lt;br /&gt;
[[Naming networkinterfaces using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Setting permissions for various devices using udev]]&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu 32-bit or 64-bit]]&lt;br /&gt;
&lt;br /&gt;
[[Authenticating Linux clients against MS Active Directory]]&lt;br /&gt;
&lt;br /&gt;
====Older pages====&lt;br /&gt;
&lt;br /&gt;
[[Slackware OpenCV package install]]&lt;br /&gt;
&lt;br /&gt;
[[Slackware packages in robot image]]&lt;br /&gt;
&lt;br /&gt;
= Controllab =&lt;br /&gt;
&lt;br /&gt;
[[Platform list]] (List of computers used for various control set-ups)&lt;br /&gt;
&lt;br /&gt;
[[Realtime testing]] (Description of small test procedures to verify RTAI realtime operation)&lt;br /&gt;
&lt;br /&gt;
[http://aut.elektro.dtu.dk/staff/sh/rsewiki/matlabrtai_intro.pdf Introduction to Matlab RTW and RTAI] (Guide for usage of RTAILab with Matlab RTW and Simulink)&lt;br /&gt;
&lt;br /&gt;
= How-to documentation =&lt;br /&gt;
&lt;br /&gt;
====installation====&lt;br /&gt;
&lt;br /&gt;
[[NTP howto]] time-sync 2 computers&lt;br /&gt;
&lt;br /&gt;
Using the [[RSE SVN]] repository&lt;br /&gt;
&lt;br /&gt;
[[Flash disk cloning]] - to repair robot boot disk image&lt;br /&gt;
&lt;br /&gt;
[[Install on (K)UBUNTU]] - for test and development on PC or laptop&lt;br /&gt;
&lt;br /&gt;
[[Install GUI-less UBUNTU]] - new boot disk image for robots&lt;br /&gt;
&lt;br /&gt;
[[Install on raspberry]] - install RHD and MRC on raspbian&lt;br /&gt;
&lt;br /&gt;
[[Robot GUI (MARG)]]&lt;br /&gt;
&lt;br /&gt;
[[Remote Development of Mobotware Using Eclipse]]&lt;br /&gt;
&lt;br /&gt;
[[Set hostnames from dhcp-server with dhclient on *buntu systems]]&lt;br /&gt;
&lt;br /&gt;
====utility pages====&lt;br /&gt;
&lt;br /&gt;
[[Convert a .tex document to openoffice]]&lt;br /&gt;
&lt;br /&gt;
[[Access DTU campus network using VPN from Linux]]&lt;br /&gt;
&lt;br /&gt;
[[disable display manager on boot]] (and thereby the graphic user interface)&lt;br /&gt;
&lt;br /&gt;
How to make a animation from separate images, see [[MMR]]&lt;br /&gt;
&lt;br /&gt;
====older pages====&lt;br /&gt;
&lt;br /&gt;
[[Transition to version 2011]] - notes&lt;br /&gt;
&lt;br /&gt;
[[RoboCup]] - bl.a. scoreboard&lt;br /&gt;
&lt;br /&gt;
[[Demo of stereo camera]]&lt;br /&gt;
&lt;br /&gt;
[[AU software license considerations]]&lt;br /&gt;
&lt;br /&gt;
= Demonstrations =&lt;br /&gt;
&lt;br /&gt;
[[PLC controlled traffic light]]&lt;br /&gt;
&lt;br /&gt;
[[Machine shop in 326]]&lt;br /&gt;
&lt;br /&gt;
= Events =&lt;br /&gt;
&lt;br /&gt;
[[Culture night]]&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=RoboCup&amp;diff=1443</id>
		<title>RoboCup</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=RoboCup&amp;diff=1443"/>
		<updated>2013-12-19T13:02:28Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Denne side beskriver forskellige overvejelser og guides til afvikling af DTU RoboCup. Første afsnit beskriver nye procedure introduceret fra RoboCup 2014 der afvikles i biblioteket.&lt;br /&gt;
&lt;br /&gt;
==DTU-RoboCup 2014 noter==&lt;br /&gt;
&lt;br /&gt;
====Deltagerliste====&lt;br /&gt;
I Sitecore 6 hentes deltagerlisten direkte fra Sitecore&#039;s redigeringssystem [http://redigering6.sitecore.dtu.dk/sitecore/login/sso.aspx]. &lt;br /&gt;
RoboCup siden findes under Indhold-&amp;gt;Subsites-&amp;gt;Robocup.&lt;br /&gt;
&lt;br /&gt;
Følgende hjælpe-billede er lavet af Britt Asnæss Kattrup til udtræk af data.&lt;br /&gt;
&lt;br /&gt;
[[File:sitecore_formular.png|center|800px|Udtræk af data fra formular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pre 2014 beskrivelser==&lt;br /&gt;
Denne side omhandler overvejelser om DTU RoboCup 2005 (og tavleændringer 2007)&lt;br /&gt;
&lt;br /&gt;
===Politik===&lt;br /&gt;
&lt;br /&gt;
====Generelle forbedringer mm mm.====&lt;br /&gt;
&lt;br /&gt;
* Elektronisk tavle og projektor (se nederst for installation)&lt;br /&gt;
* Video streaming af event&lt;br /&gt;
* Webcam på forberedelserne&lt;br /&gt;
* Lyd i Pitten&lt;br /&gt;
&lt;br /&gt;
====Overordnede principper====&lt;br /&gt;
&lt;br /&gt;
* Alle skal kunne komme i mål selv med en ret simpel vogn&lt;br /&gt;
* RoboCup består af en Eventdel og en Workshopdel&lt;br /&gt;
* Eventdel skal kunne afvikles på max. 1,5 timer&lt;br /&gt;
* Forhindringerne skal være simple at drive for arrangørerne&lt;br /&gt;
* Forhindringerne skal få robotten til at gøre noget&lt;br /&gt;
* Interaktion mellem robot og forhindring er vigtig&lt;br /&gt;
* der bør være mulighed for 2 gennemløb til alle&lt;br /&gt;
&lt;br /&gt;
====Afviklingen====&lt;br /&gt;
* På første dagen opstilles banen og salen åbnes, workshop aktiviteter&lt;br /&gt;
* På anden dagen holdes et kvalifikationsløb hvor det 15 bedste hold udskilles (+ evt wildcards), Pitten ryddes for ekstra hold. Der kan evt. køres enkelt disiplin konkurrencer. &lt;br /&gt;
* På tredie dagen holdes selve RoboCup eventen. Der ryddes op&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oticon layout&#039;&#039;&#039;&lt;br /&gt;
http://www.iau.dtu.dk/~or/oticon.png&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forhindringer (anvendt)&#039;&#039;&#039;&lt;br /&gt;
* Gillotine&lt;br /&gt;
* Mur med variabel længde&lt;br /&gt;
* Fritstående port&lt;br /&gt;
* Tunnel&lt;br /&gt;
* Racerbane&lt;br /&gt;
* Rampe op (til 55cm)&lt;br /&gt;
* Trappe/Rampe ned&lt;br /&gt;
* Scor Mål (fodboldspil)&lt;br /&gt;
* Rød port giver minus-point&lt;br /&gt;
&lt;br /&gt;
Nogle af portene bliver fastmonteret på forhindringerne, så de ikke ken flyttes af vognene. Øvrige porte stilles frit på banen (som hidtil), men man dickvalificeres ikke hvis man flytter portene (der gives dog kun point hvis man kommer &#039;&#039;helt&#039;&#039; igennem en port.&lt;br /&gt;
&lt;br /&gt;
Forhindringer som favoriserer kamera ønskes. Banen skal være klar til workshoppen i november (Update: workshop aflyst). Der tænkes en periode hvor der samles input fra bl.a. www.robocup.dk&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forhindringer (nye forslag)&#039;&#039;&#039;&lt;br /&gt;
* Vippe&lt;br /&gt;
* Ballon-sprængning&lt;br /&gt;
* Lyssignal&lt;br /&gt;
* Fodboldspil hvor robotten &#039;&#039;ikke&#039;&#039; må køre gennem målet&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ROBOCUP===&lt;br /&gt;
&lt;br /&gt;
====Lys og strøm====&lt;br /&gt;
&lt;br /&gt;
PF-lys står for opsætning af lys - kontakt: John Sebastian (24497818 jms@scenelys.dk)&lt;br /&gt;
&lt;br /&gt;
John plejer også at aftale med Rene angående stik ved pit-pladsrene.&lt;br /&gt;
&lt;br /&gt;
====Andre opgaver====&lt;br /&gt;
&lt;br /&gt;
* Borde, stole, afskærmning, &lt;br /&gt;
* pullerter&lt;br /&gt;
&lt;br /&gt;
====Deltagerliste====&lt;br /&gt;
&lt;br /&gt;
Brit Asnæs Kattrup (web &amp;amp; kommunikation) står for de sider, og har leveret følgende brugsanvisning:&lt;br /&gt;
&lt;br /&gt;
* gå ind på http://redigering.sitecore.dtu.dk/Crossflows&lt;br /&gt;
&lt;br /&gt;
* Dit brugernavn er som vanligt og din kode er din e-mail.&lt;br /&gt;
&lt;br /&gt;
* Når du kommer ind skal du klikke på Søgning.&lt;br /&gt;
&lt;br /&gt;
* Så kan du vælge dit workflow. Det hedder ELEKTRO_ROBOCUP&lt;br /&gt;
&lt;br /&gt;
* Så vælger du datointerval, så du ikke får tilmeldingerne fra sidste år med.&lt;br /&gt;
&lt;br /&gt;
* Klik SØG&lt;br /&gt;
&lt;br /&gt;
Så kommer der en liste, som du kan hente ud i et excel-ark. Husk at gemme for at du kan arbejde i excel.&lt;br /&gt;
&lt;br /&gt;
* virker kun for dem der har fået adgang.&lt;br /&gt;
&lt;br /&gt;
====Scoreboard====&lt;br /&gt;
&lt;br /&gt;
Software består af to dele, en database-og-server-del og en klient-visningdel&lt;br /&gt;
&lt;br /&gt;
Begge dele er pakket sammen her http://www.iau.dtu.dk/~jca/robocup/roboscore2007.tar.gz og her http://www.iau.dtu.dk/~jca/robocup/roboscore-2008.tar.gz&lt;br /&gt;
&lt;br /&gt;
Hermed også 2009 udgaven http://www.iau.dtu.dk/~jca/robocup/roboscore-2009.tar.gz&lt;br /&gt;
&lt;br /&gt;
Disse programmer er kun testet på Linux (af christian), men burde kunne køre under Windows.&lt;br /&gt;
&lt;br /&gt;
Udpak med&lt;br /&gt;
 tar -xzf roboscore-2008.tar.gz&lt;br /&gt;
 cd roboscore&lt;br /&gt;
&lt;br /&gt;
=====Server=====&lt;br /&gt;
&lt;br /&gt;
Databasen er en SQLITE database (version 2) i filen robocup.sqlite.&lt;br /&gt;
Serverprogrammet er skrevet i TCL (og kræver derfor at TCL er installeret)&lt;br /&gt;
Til at køre script (og pakke til exe-fil) kræves en version (fx 8.4.9) af tclkit-linux-x86.gz, f.eks. http://www.equi4.com/pub/tk/8.4.9/tclkit-linux-x86.gz .&lt;br /&gt;
&lt;br /&gt;
Programmet skal rettes hvert år for at passe til nye forhindringer og ny deltagerliste. Det er derfor lettest at køre programmet direkte fra scriptet (og ikke fra en pakket exe-fil).&lt;br /&gt;
&lt;br /&gt;
Pakning til exe kræver yderligere http://www.equi4.com/pub/sk/sdx.kit og pakkes med kommandoen:&lt;br /&gt;
 ./tclkit-linux-x86 sdx.kit wrap roboscores-1b -runtime roboscores-1.0&lt;br /&gt;
&lt;br /&gt;
kør server med&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl&lt;br /&gt;
eller&lt;br /&gt;
 ./server &lt;br /&gt;
Kan køres med en ekstra parameter&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl server  - direkte server&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl client  - Ian&#039;s oprindelige klient&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl html    - export af resultat som html-tabel&lt;br /&gt;
&lt;br /&gt;
Hvis der ikke er en database-tabel bliver der oprettet en, d.v.s. database skal slettes inden nyt år&lt;br /&gt;
 rm robocup.sqlite.&lt;br /&gt;
Database definitionen (og deltagerliste) er i filen:&lt;br /&gt;
  roboscores-1b.vbs/lib/app-run/dbcreate.tcl&lt;br /&gt;
 - og den skal opdateres med - som minimum - nye deltagere.&lt;br /&gt;
&lt;br /&gt;
Filen (dbcreate.tcl) kan genereres med et c++ program (kdevelop projekt med i bibliotek robocup2database:&lt;br /&gt;
  robocup2database/debug/src/robocup2database frafil tilfil&lt;br /&gt;
&#039;&#039;frafil&#039;&#039; skal være en tekstfil taget med copy-paste fra Jan Jansens holdliste, &#039;&#039;tilfil&#039;&#039; bliver en TCL-fil, som skal omdøbes til &#039;&#039;dbcreate.tcl&#039;&#039; og flyttes til &#039;&#039;roboscores-1b.vbs/lib/app-run&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Specifikation af forhindringer er i&lt;br /&gt;
  roboscores-1b.vbs/lib/app-run/edit.tcl&lt;br /&gt;
Resten af rettelser til en ny bane er ikke helt simpelt, men muligt&lt;br /&gt;
funktionen &#039;&#039;&#039;proc edit_frame w {&#039;&#039;&#039; indeholder kontroller, og lidt nede bliver de pakker i en &#039;&#039;&#039;for each frame {&#039;&#039;&#039; sætning, der afgør den viste rækkefølge. I starten af filen er point-navne der skal matche databasefelter i dbcreate.tcl.&lt;br /&gt;
&lt;br /&gt;
I 2007 er tilføjet et UDGÅET felt (for hver runde), som vises før holdnavn (for at undgå at rette i holdliste inden finale.&lt;br /&gt;
&lt;br /&gt;
Serveren bruger port 24977&lt;br /&gt;
&lt;br /&gt;
=====klient=====&lt;br /&gt;
&lt;br /&gt;
klienten er skrevet i PYTHON og kræver at PYTHON og PYGAME er installeret, PYGAME kræver at SDL er installeret.&lt;br /&gt;
&lt;br /&gt;
Klientern køres med &lt;br /&gt;
 cd scoreboard&lt;br /&gt;
 python scoreboard.py&lt;br /&gt;
Se help option for at sætte host og port nummer&lt;br /&gt;
 python scoreboard.py --help&lt;br /&gt;
fx:&lt;br /&gt;
 python scoreboard.py -host localhost -port 24977&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
	<entry>
		<id>https://rsewiki.electro.dtu.dk/index.php?title=RoboCup&amp;diff=1442</id>
		<title>RoboCup</title>
		<link rel="alternate" type="text/html" href="https://rsewiki.electro.dtu.dk/index.php?title=RoboCup&amp;diff=1442"/>
		<updated>2013-12-19T13:00:05Z</updated>

		<summary type="html">&lt;p&gt;Sh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Denne side beskriver forskellige overvejelser og guides til afvikling af DTU RoboCup. Første afsnit beskriver nye procedure introduceret fra RoboCup 2014 der afvikles i biblioteket.&lt;br /&gt;
&lt;br /&gt;
==DTU-RoboCup 2014 noter==&lt;br /&gt;
&lt;br /&gt;
====Deltagerliste====&lt;br /&gt;
I Sitecore 6 hentes deltagerlisten direkte fra Sitecore&#039;s redigeringssystem [http://redigering6.sitecore.dtu.dk/sitecore/login/sso.aspx]. Følgende hjælpe-billede er lavet af Britt Asnæss Kattrup til udtræk af data.&lt;br /&gt;
&lt;br /&gt;
[[File:sitecore_formular.png|center|800px|Udtræk af data fra formular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pre 2014 beskrivelser==&lt;br /&gt;
Denne side omhandler overvejelser om DTU RoboCup 2005 (og tavleændringer 2007)&lt;br /&gt;
&lt;br /&gt;
===Politik===&lt;br /&gt;
&lt;br /&gt;
====Generelle forbedringer mm mm.====&lt;br /&gt;
&lt;br /&gt;
* Elektronisk tavle og projektor (se nederst for installation)&lt;br /&gt;
* Video streaming af event&lt;br /&gt;
* Webcam på forberedelserne&lt;br /&gt;
* Lyd i Pitten&lt;br /&gt;
&lt;br /&gt;
====Overordnede principper====&lt;br /&gt;
&lt;br /&gt;
* Alle skal kunne komme i mål selv med en ret simpel vogn&lt;br /&gt;
* RoboCup består af en Eventdel og en Workshopdel&lt;br /&gt;
* Eventdel skal kunne afvikles på max. 1,5 timer&lt;br /&gt;
* Forhindringerne skal være simple at drive for arrangørerne&lt;br /&gt;
* Forhindringerne skal få robotten til at gøre noget&lt;br /&gt;
* Interaktion mellem robot og forhindring er vigtig&lt;br /&gt;
* der bør være mulighed for 2 gennemløb til alle&lt;br /&gt;
&lt;br /&gt;
====Afviklingen====&lt;br /&gt;
* På første dagen opstilles banen og salen åbnes, workshop aktiviteter&lt;br /&gt;
* På anden dagen holdes et kvalifikationsløb hvor det 15 bedste hold udskilles (+ evt wildcards), Pitten ryddes for ekstra hold. Der kan evt. køres enkelt disiplin konkurrencer. &lt;br /&gt;
* På tredie dagen holdes selve RoboCup eventen. Der ryddes op&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oticon layout&#039;&#039;&#039;&lt;br /&gt;
http://www.iau.dtu.dk/~or/oticon.png&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forhindringer (anvendt)&#039;&#039;&#039;&lt;br /&gt;
* Gillotine&lt;br /&gt;
* Mur med variabel længde&lt;br /&gt;
* Fritstående port&lt;br /&gt;
* Tunnel&lt;br /&gt;
* Racerbane&lt;br /&gt;
* Rampe op (til 55cm)&lt;br /&gt;
* Trappe/Rampe ned&lt;br /&gt;
* Scor Mål (fodboldspil)&lt;br /&gt;
* Rød port giver minus-point&lt;br /&gt;
&lt;br /&gt;
Nogle af portene bliver fastmonteret på forhindringerne, så de ikke ken flyttes af vognene. Øvrige porte stilles frit på banen (som hidtil), men man dickvalificeres ikke hvis man flytter portene (der gives dog kun point hvis man kommer &#039;&#039;helt&#039;&#039; igennem en port.&lt;br /&gt;
&lt;br /&gt;
Forhindringer som favoriserer kamera ønskes. Banen skal være klar til workshoppen i november (Update: workshop aflyst). Der tænkes en periode hvor der samles input fra bl.a. www.robocup.dk&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forhindringer (nye forslag)&#039;&#039;&#039;&lt;br /&gt;
* Vippe&lt;br /&gt;
* Ballon-sprængning&lt;br /&gt;
* Lyssignal&lt;br /&gt;
* Fodboldspil hvor robotten &#039;&#039;ikke&#039;&#039; må køre gennem målet&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ROBOCUP===&lt;br /&gt;
&lt;br /&gt;
====Lys og strøm====&lt;br /&gt;
&lt;br /&gt;
PF-lys står for opsætning af lys - kontakt: John Sebastian (24497818 jms@scenelys.dk)&lt;br /&gt;
&lt;br /&gt;
John plejer også at aftale med Rene angående stik ved pit-pladsrene.&lt;br /&gt;
&lt;br /&gt;
====Andre opgaver====&lt;br /&gt;
&lt;br /&gt;
* Borde, stole, afskærmning, &lt;br /&gt;
* pullerter&lt;br /&gt;
&lt;br /&gt;
====Deltagerliste====&lt;br /&gt;
&lt;br /&gt;
Brit Asnæs Kattrup (web &amp;amp; kommunikation) står for de sider, og har leveret følgende brugsanvisning:&lt;br /&gt;
&lt;br /&gt;
* gå ind på http://redigering.sitecore.dtu.dk/Crossflows&lt;br /&gt;
&lt;br /&gt;
* Dit brugernavn er som vanligt og din kode er din e-mail.&lt;br /&gt;
&lt;br /&gt;
* Når du kommer ind skal du klikke på Søgning.&lt;br /&gt;
&lt;br /&gt;
* Så kan du vælge dit workflow. Det hedder ELEKTRO_ROBOCUP&lt;br /&gt;
&lt;br /&gt;
* Så vælger du datointerval, så du ikke får tilmeldingerne fra sidste år med.&lt;br /&gt;
&lt;br /&gt;
* Klik SØG&lt;br /&gt;
&lt;br /&gt;
Så kommer der en liste, som du kan hente ud i et excel-ark. Husk at gemme for at du kan arbejde i excel.&lt;br /&gt;
&lt;br /&gt;
* virker kun for dem der har fået adgang.&lt;br /&gt;
&lt;br /&gt;
====Scoreboard====&lt;br /&gt;
&lt;br /&gt;
Software består af to dele, en database-og-server-del og en klient-visningdel&lt;br /&gt;
&lt;br /&gt;
Begge dele er pakket sammen her http://www.iau.dtu.dk/~jca/robocup/roboscore2007.tar.gz og her http://www.iau.dtu.dk/~jca/robocup/roboscore-2008.tar.gz&lt;br /&gt;
&lt;br /&gt;
Hermed også 2009 udgaven http://www.iau.dtu.dk/~jca/robocup/roboscore-2009.tar.gz&lt;br /&gt;
&lt;br /&gt;
Disse programmer er kun testet på Linux (af christian), men burde kunne køre under Windows.&lt;br /&gt;
&lt;br /&gt;
Udpak med&lt;br /&gt;
 tar -xzf roboscore-2008.tar.gz&lt;br /&gt;
 cd roboscore&lt;br /&gt;
&lt;br /&gt;
=====Server=====&lt;br /&gt;
&lt;br /&gt;
Databasen er en SQLITE database (version 2) i filen robocup.sqlite.&lt;br /&gt;
Serverprogrammet er skrevet i TCL (og kræver derfor at TCL er installeret)&lt;br /&gt;
Til at køre script (og pakke til exe-fil) kræves en version (fx 8.4.9) af tclkit-linux-x86.gz, f.eks. http://www.equi4.com/pub/tk/8.4.9/tclkit-linux-x86.gz .&lt;br /&gt;
&lt;br /&gt;
Programmet skal rettes hvert år for at passe til nye forhindringer og ny deltagerliste. Det er derfor lettest at køre programmet direkte fra scriptet (og ikke fra en pakket exe-fil).&lt;br /&gt;
&lt;br /&gt;
Pakning til exe kræver yderligere http://www.equi4.com/pub/sk/sdx.kit og pakkes med kommandoen:&lt;br /&gt;
 ./tclkit-linux-x86 sdx.kit wrap roboscores-1b -runtime roboscores-1.0&lt;br /&gt;
&lt;br /&gt;
kør server med&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl&lt;br /&gt;
eller&lt;br /&gt;
 ./server &lt;br /&gt;
Kan køres med en ekstra parameter&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl server  - direkte server&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl client  - Ian&#039;s oprindelige klient&lt;br /&gt;
 ./tclkit-linux-x86 roboscores-1b.vbs/main.tcl html    - export af resultat som html-tabel&lt;br /&gt;
&lt;br /&gt;
Hvis der ikke er en database-tabel bliver der oprettet en, d.v.s. database skal slettes inden nyt år&lt;br /&gt;
 rm robocup.sqlite.&lt;br /&gt;
Database definitionen (og deltagerliste) er i filen:&lt;br /&gt;
  roboscores-1b.vbs/lib/app-run/dbcreate.tcl&lt;br /&gt;
 - og den skal opdateres med - som minimum - nye deltagere.&lt;br /&gt;
&lt;br /&gt;
Filen (dbcreate.tcl) kan genereres med et c++ program (kdevelop projekt med i bibliotek robocup2database:&lt;br /&gt;
  robocup2database/debug/src/robocup2database frafil tilfil&lt;br /&gt;
&#039;&#039;frafil&#039;&#039; skal være en tekstfil taget med copy-paste fra Jan Jansens holdliste, &#039;&#039;tilfil&#039;&#039; bliver en TCL-fil, som skal omdøbes til &#039;&#039;dbcreate.tcl&#039;&#039; og flyttes til &#039;&#039;roboscores-1b.vbs/lib/app-run&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Specifikation af forhindringer er i&lt;br /&gt;
  roboscores-1b.vbs/lib/app-run/edit.tcl&lt;br /&gt;
Resten af rettelser til en ny bane er ikke helt simpelt, men muligt&lt;br /&gt;
funktionen &#039;&#039;&#039;proc edit_frame w {&#039;&#039;&#039; indeholder kontroller, og lidt nede bliver de pakker i en &#039;&#039;&#039;for each frame {&#039;&#039;&#039; sætning, der afgør den viste rækkefølge. I starten af filen er point-navne der skal matche databasefelter i dbcreate.tcl.&lt;br /&gt;
&lt;br /&gt;
I 2007 er tilføjet et UDGÅET felt (for hver runde), som vises før holdnavn (for at undgå at rette i holdliste inden finale.&lt;br /&gt;
&lt;br /&gt;
Serveren bruger port 24977&lt;br /&gt;
&lt;br /&gt;
=====klient=====&lt;br /&gt;
&lt;br /&gt;
klienten er skrevet i PYTHON og kræver at PYTHON og PYGAME er installeret, PYGAME kræver at SDL er installeret.&lt;br /&gt;
&lt;br /&gt;
Klientern køres med &lt;br /&gt;
 cd scoreboard&lt;br /&gt;
 python scoreboard.py&lt;br /&gt;
Se help option for at sætte host og port nummer&lt;br /&gt;
 python scoreboard.py --help&lt;br /&gt;
fx:&lt;br /&gt;
 python scoreboard.py -host localhost -port 24977&lt;/div&gt;</summary>
		<author><name>Sh</name></author>
	</entry>
</feed>