http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&user=Maxim&feedformat=atomPaparazziUAV - User contributions [en]2024-03-29T12:17:59ZUser contributionsMediaWiki 1.37.1http://wiki.paparazziuav.org/w/index.php?title=Talk:TU_Delft:_AR_Drone_2_-_News&diff=13904Talk:TU Delft: AR Drone 2 - News2012-12-21T11:47:43Z<p>Maxim: /* TU Delft Robotics minor: AR Drone 2 project - News */</p>
<hr />
<div>== TU Delft Robotics minor: AR Drone 2 project - News ==<br />
Here we will post breakthroughs, summaries of a page update and small facts that might be nice to know. <br />
<br />
=== First test flight for Minor Group 2 [21-12-2012] ===<br />
We had our first test flight yesterday! Controlling the drone with the joystick went well, but the control loops and INS still need some work. It was unable to reach a way-point.<br />
<br />
=== GPS on the AR Drone 2 [14-12-2012]===<br />
Although we still need to test the protocol itself, we've managed to compile, with paparazzi, all the necessary files to read the SiRF protocol. Remaining work: let the GPS output the SiRF protocol on the AR Drone and test it.<br />
<br />
=== General progress update [12-12-2012] ===<br />
It has been a while sinds we posted anything here. It is not that we haven't been busy, it's quite the opposite. We have managed read the navigation data structure provided by the navigation board of the AR Drone 2. This contains the gyro-meter, accelerometer, magnetometer and barometer data we needed. With this we managed to implement the IMU and feed the gyro-, accelero- and magnetometer data to it. This now readies the data for the AHRS. The barometer sensor is now implemented as well, sending the absolute pressure value on to the AHRS and INS.<br />
<br />
Today we took another step forward. Pararazzi can now operate the actuators, with the use of motor mixing, and set the thrust of each rotor according to the pitch, yaw, roll and thrust values provided to it.<br />
<br />
=== Build a GPS driver for the AR Drone [30-11-2012] ===<br />
Today we finally managed to build and compile a driver for the AR Drone 2. As you may know, we want to connect a GPS sensor to the Drone and since there is not an USB-serial driver available on the Drone we have to make it by ourself. Today we finished the job and successfully received GPS data on the AR Drone. Now we know how to make a driver for the Drone it will be easier to write other drivers if necessary.<br />
<br />
=== Compiling the AP breakthrough! [26-11-2012] ===<br />
Today we (finally) managed to compile the AR Drone 2 auto pilot without errors! Not all subsystems have been implemented yet so we can't test it on the drone for a while but at least we managed fix the linkage errors we were getting constantly.<br />
<br />
[[Category: TU Delft - Automonous Quadrotor]]</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=LisaOveroImage&diff=13838LisaOveroImage2012-12-11T10:02:26Z<p>Maxim: Undo revision 13837 by Tonyguards (Talk) spam bot</p>
<hr />
<div>==Building an Overo image for Lisa with Open Embedded==<br />
<br />
The goal is to use openmbedded to build an image for the overo with the bits needed for Lisa. Currently this includes<br />
# libevent<br />
# linux kernel 2.6.33.5-rt23 (maintained at git://gitorious.org/linux-omap3/linux-omap3.git)<br />
## based on gumstix-oe from (git://www.sakoman.com/git/linux-omap-2.6.git)<br />
## antoine's patch for spi device node on overo<br />
## 2.6.33.5-rt23 preempt-rt patch<br />
<br />
* Make sure you have bitbake and build-essential installed:<br />
apt-get install bitbake build-essential<br />
* Ubuntu 10 will also get errors during bitbake unless the following is installed<br />
sudo apt-get install git-core help2man diffstat texi2html texinfo chrpath sgmlspl<br />
* And don't forget to install glib<br />
sudo apt-get install libglib2.0-dev<br />
* Ubuntu 10 will also need to remove the link for /bin/sh that points to dash and instead point it to bash<br />
Run <br />
sudo dpkg-reconfigure dash<br />
and answer no when asked whether you want to install dash as /bin/sh.<br />
<br />
or alternative:<br />
sudo su -<br />
cd /bin && rm -f sh && ln -s bash sh<br />
<br />
<br />
<br />
* Make an overo-oe directory in your home directory!!!!!, cd into it!!:<br />
<br />
mkdir ~/overo-oe<br />
cd ~/overo-oe<br />
<br />
* Clone Allen's openmebedded tree:<br />
git clone git://gitorious.org/linux-omap3/openembedded.git org.openembedded.dev<br />
<br />
(If you want to take a look at the repository beforehand you can find it [http://gitorious.org/linux-omap3/openembedded Here])<br />
<br />
* Copy build profile into ~/overo-oe, source it:<br />
<br />
cp -r org.openembedded.dev/contrib/jei/build .<br />
source ~/overo-oe/build/profile<br />
<br />
* Use bitbake to build the image:<br />
bitbake omap3-lisa-image<br />
<br />
On July 9 2010, on an up to date lucid lynx, the build is broken due to a bug in bug in gzip ( yeah.. they still have that... )<br />
<br />
ERROR:<br />
....expat_2.0.1.bb do_unpack failed <br />
<br />
solution to this error:<br />
<br />
http://www.facebook.com/note.php?note_id=398968379361<br />
<br />
follow instructions of ERROR#1<br />
<br />
<br />
In short:<br />
cd~/<br />
sudo apt-get install gzrt<br />
cd ~/overo-oe/sources/<br />
gzrecover expat-2.0.1.tar.gz;mv expat-2.0.1.tar.recovered expat-2.0.1.tar;gzip expat-2.0.1.tar<br />
say yes to the overwrite<br />
md5sum expat-2.0.1.tar.gz; sha256sum expat-2.0.1.tar.gz<br />
note them somewhere<br />
gedit expat-2.0.1.tar.gz.md5<br />
replace with the new MD5 checksum and save<br />
cd ~/overo-oe/org.openembedded.dev/recipes/expat<br />
gedit expat_2.0.1.bb <br />
change the MD5 and SHA256 checksums there to reflect the new ones, and save<br />
cd ~/overo-oe/<br />
bitbake omap3-lisa-image<br />
<br />
<br />
<br />
ERROR:<br />
'.../overo-oe/org.openembedded.dev/recipes/libsamplerate/libsamplerate0_0.1.7.bb' failed<br />
<br />
solution:<br />
http://old.nabble.com/Building-omap3-desktop-image-td30020826.html<br />
<br />
In short:<br />
<br />
<br />
Delete the '.../overo-oe/sources/libsamplerate-0.1.7.tar.gz' file<br />
<br />
bitbake omap3-lisa-image<br />
<br />
<br />
You need to modify the checksums in the recipe<br />
<br />
.../overo-oe/org.openembedded.dev/recipes/libsamplerate/libsamplerate0_0.1.7.bb<br />
<br />
to<br />
<br />
SRC_URI[md5sum] = "6731a81cb0c622c483b28c0d7f90867d"<br />
<br />
SRC_URI[sha256sum] = "78ed5d9ff1bf162c4a078f6a3e7432a537dd2f22dc58872b081fb01156027fcc"<br />
<br />
from<br />
<br />
'#SRC_URI[md5sum] = "ad093e60ec44f0a60de8e29983ddbc0f"<br />
<br />
'#SRC_URI[sha256sum] = "e0a646224a0323ac63f56ef009b2d7fee11452a7b8af139b19ae71d2890dbc9c"<br />
<br />
<br />
<br />
Then run<br />
<br />
bitbake -c clean libsamplerate0;bitbake libsamplerate0<br />
<br />
[[Category:Software]] [[Category:Developer_Documentation]]</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=TU_Delft_-_Lasergame_with_Autonomous_AR_Drone&diff=13836TU Delft - Lasergame with Autonomous AR Drone2012-12-10T13:25:31Z<p>Maxim: /* Programming */</p>
<hr />
<div>[[File:Robotics_Minor_Group_2.png|thumb|right|400px|TU Delft Minor Robotics: Quadrotor Group 2]]__TOC__<br />
<br />
== Introduction ==<br />
Our focus in the development of the autonomous AR.Drone is focused on the lasergaming industry. In this field our goal is to implement the AR.drone as a observing and later on in the project participating member of the game. We feel that there is quite a lot of potential for an implementation of the quad rotor, because we believe that using it we can create a new dimension in laser gaming. With its manoeuvrability it will be able to easily get around the laser game obstacle course and its futuristic looks will integrate perfectly with the laser game environment.<br />
<br />
<br />
In our project we have chosen to work with the Standard Development Kit (SDK), which is already present on the AR.Drone. To get this done we needed to combine Paparazzi with the programs JSBSim and FlightGear.<br />
<br />
=== Github ===<br />
For this project we used a repository, Github. Developers often use a repository for developing their software projects. When using a repository, developers can upload and download the code developed for the project. This allows multiple people to work on the same project at the same time without getting in eachother's way. It is in this case very useful and we will use Github, a populair open source repository site. For beginners, please read the manual to setup Github for Ubuntu:<br />
* [[Github manual for Ubuntu]]<br />
<br />
Our git repository is at [https://github.com/RoboticaTUDelft/paparazzi Github RoboticaTUDelft] in the "minor2" branch. You can change to this branch bij executing the following command "git checkout minor2". Because most of the work inside paparazzi between our implementation and the one from "minor1" is the same, it can be possible that some parts aren't merged between the two branches.<br />
<br />
== The Laser Gaming Setup ==<br />
<br />
The exact way in which we are going to implement the AR.Drone in the laser gaming industry will be decided later on in the process. We currently have four options, varying in difficulty and achievability:<br />
* Enemy: The AR.Drone will be used as an interactive, shooting player that can be shot as well, possibly working in teams of multiple quad rotors<br />
* Scout: The AR.Drone will survey a certain area streaming back its video, allowing players to know where enemies are<br />
* Mine-deployer: To allow for a more fast-paced game the AR.Drone will find a player and hover around its position. It will then begin counting down, which means the player needs to move or risk getting hit by the virtual explosion of the AR.Drone<br />
* Observer: As there are nearly always people waiting while other people are playing, the AR.Drone can be used as a tool to live-stream the current game to a beamer for everyone to see. Games could also be taped and watched by the players after the game is over, and could even be sold<br />
<br />
===Implementation===<br />
During the test phase we want to have an adjustable system that we can tweak while working. This is the reason that we made a PIC based design. For testing we are going to use a system based on the RC-5 protocol by Phillips. The RC-5 protocol is used for remote controls. We are going to use it for sending and receiving information about the players.<br />
<br />
== Simulation ==<br />
<br />
=== Model ===<br />
<br />
*Setting up FlightGear such that it loads your model. See [[AR.Drone_2_-_Flightgear]].<br />
=== Combining Paparazzi with FlightGear and JSBSim ===<br />
<br />
To get the AR.Drone to fly autonomously a model of the system is required. This can be created using paparazzi combined with JSBSim and FlightGear. The following steps will guide you through the process of setting up an environment to simulate the AR.Drone 2 controlled by Paparazzi. This will describe how to set up the simulation environment in Linux. It has been tested using Ubuntu, but it should work under any recent distro.<br />
*Install the ground station. See [[Installation]].<br />
*Install JSBSim. See [[JSBSim]].<br />
*Install FlightGear and link it to Paparazzi. See [[Simulation#View_the_simulation_in_Flight_Gear]].<br />
<br />
== Getting information ==<br />
<br />
<br />
=== Getting Started ===<br />
This project is developed by using Linux, ubuntu. We don't support information for other linux distributions, but feel free to try it out.<br />
* Follow the instructions described in the "Getting the cross-compiler".<br />
* Get the source from our github which is explained in the section above.<br />
* Build the paparazzi source (for more information: [http://paparazzi.enac.fr/wiki/Installation/FromScratch])<br />
* You are ready to develop with our project.<br />
<br />
=== The cross-compiler === <br />
# Download the cross-compiler from [http://taghof.github.com/Navigation-for-Robots-with-WIFI-and-CV/downloads/codesetup.sh]<br />
# Open the terminal and direct to your home directory.<br />
# Type the following commands (without the $):<br />
<br />
$ sudo chmod +x codesetup.sh<br />
$ sudo ./codesetup.sh<br />
<br />
Wait a few minutes and you're done!<br />
<br />
=== AT Commands ===<br />
The AR.Drone 2 has a self made protocol for controlling the AR.Drone 2 remotly over wifi. More information can be found at [[AT Commands AR.Drone 2]].<br />
<br />
=== Navdata ===<br />
The AR.Drone 2 also has a self made protocol for sending navdata to the client over wifi. More information can be found at [[Navdata AR.Drone 2]].<br />
<br />
=== GPS signals ===<br />
To let our AR.Drone 2 communicate with Paparazzi an external [[GPS_specification | BU-353 GPS]] is used. For the implementation see [[GPS Driver AR.Drone2]].<br />
<br />
=== Telnet ===<br />
The AR.Drone 2 has a telnet interface that opens a root shell on the AR.Drone 2, which is needed to test and install software. More information can be found at [[Telnet AR.Drone2]].<br />
<br />
=== FTP ===<br />
The AR.Drone 2 also has a FTP server running, which makes it possible to upload files like programs to the AR.Drone 2. More information can be found at [[FTP AR.Drone2]].<br />
<br />
== Programming ==<br />
<br />
=== AR.Drone 2 internal communication ===<br />
We use internal communcation to control the AR.Drone 2 and recieve the navigation data from the AR.Drone 2. This is done by using the AT commands and the navdata with a socket connection to "localhost". The control and navigation data run in seperate threads inside paparazzi, to make sure that both connections are kept alive. The navigation data thread sends all the information is has to paparazzi each update. The control thread waits for paparazzi to send commands and keeps the connection alive by sending a dummy command every second(because the timeout is 2 seconds).<br />
<br />
=== Using the GPS signals ===<br />
We will use an external GPS reciever which will be connected to the AR.Drone 2 usb or telnet usb port. We still have to figure out if it is possible to adjust the default driver for the USB port on the AR.Drone 2, because this is configured as an external disk which is accesable with FTP.<br />
When we have figured out if this is possible, the default usb-connector of the GPS reciever doesn't need to be modified to fit the telnet usb port at the bottom of the AR. Drone 2.<br />
<br />
Because of the great support of GPS modules inside paparaazi, we don't have to implement the GPS module inside paparazzi ourself.<br />
<br />
=== Wifi implementation inside paparazzi ===<br />
Paparazzi doesn't support wifi connection with the base station by default. We are implementing this by creating a socket connection between the AR.Drone 2 and the base station and send the communication packets using a self-created protocol.<br />
<br />
=== AR.Drone 2 Sign convention ===<br />
* [[AR.Drone_2.0_sign_convention]]<br />
<br />
== Manuals and guides ==<br />
* [[Step by step guide for beginners]]<br />
* [[Developers Manual]]</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=File:Body_axis_convention.jpg&diff=13833File:Body axis convention.jpg2012-12-10T12:43:40Z<p>Maxim: Displays the sign convention of the body axis of the AR.Drone 2.0.</p>
<hr />
<div>Displays the sign convention of the body axis of the AR.Drone 2.0.</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=File:Pitch_convention.jpg&diff=13832File:Pitch convention.jpg2012-12-10T12:42:57Z<p>Maxim: Displays the sign convention for the AR.Drone 2.0 in pitch.</p>
<hr />
<div>Displays the sign convention for the AR.Drone 2.0 in pitch.</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=File:Roll_convention.jpg&diff=13831File:Roll convention.jpg2012-12-10T12:42:32Z<p>Maxim: Displays the sign convention for the AR.Drone 2.0 in roll.</p>
<hr />
<div>Displays the sign convention for the AR.Drone 2.0 in roll.</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=File:Yaw_convention.jpg&diff=13830File:Yaw convention.jpg2012-12-10T12:41:40Z<p>Maxim: Displays the sign convention for the AR.Drone 2.0 in yaw.</p>
<hr />
<div>Displays the sign convention for the AR.Drone 2.0 in yaw.</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=LisaOveroImage&diff=13827LisaOveroImage2012-12-10T10:45:08Z<p>Maxim: Undo revision 13826 by Tonyguards (Talk)</p>
<hr />
<div>==Building an Overo image for Lisa with Open Embedded==<br />
<br />
The goal is to use openmbedded to build an image for the overo with the bits needed for Lisa. Currently this includes<br />
# libevent<br />
# linux kernel 2.6.33.5-rt23 (maintained at git://gitorious.org/linux-omap3/linux-omap3.git)<br />
## based on gumstix-oe from (git://www.sakoman.com/git/linux-omap-2.6.git)<br />
## antoine's patch for spi device node on overo<br />
## 2.6.33.5-rt23 preempt-rt patch<br />
<br />
* Make sure you have bitbake and build-essential installed:<br />
apt-get install bitbake build-essential<br />
* Ubuntu 10 will also get errors during bitbake unless the following is installed<br />
sudo apt-get install git-core help2man diffstat texi2html texinfo chrpath sgmlspl<br />
* And don't forget to install glib<br />
sudo apt-get install libglib2.0-dev<br />
* Ubuntu 10 will also need to remove the link for /bin/sh that points to dash and instead point it to bash<br />
Run <br />
sudo dpkg-reconfigure dash<br />
and answer no when asked whether you want to install dash as /bin/sh.<br />
<br />
or alternative:<br />
sudo su -<br />
cd /bin && rm -f sh && ln -s bash sh<br />
<br />
<br />
<br />
* Make an overo-oe directory in your home directory!!!!!, cd into it!!:<br />
<br />
mkdir ~/overo-oe<br />
cd ~/overo-oe<br />
<br />
* Clone Allen's openmebedded tree:<br />
git clone git://gitorious.org/linux-omap3/openembedded.git org.openembedded.dev<br />
<br />
(If you want to take a look at the repository beforehand you can find it [http://gitorious.org/linux-omap3/openembedded Here])<br />
<br />
* Copy build profile into ~/overo-oe, source it:<br />
<br />
cp -r org.openembedded.dev/contrib/jei/build .<br />
source ~/overo-oe/build/profile<br />
<br />
* Use bitbake to build the image:<br />
bitbake omap3-lisa-image<br />
<br />
On July 9 2010, on an up to date lucid lynx, the build is broken due to a bug in bug in gzip ( yeah.. they still have that... )<br />
<br />
ERROR:<br />
....expat_2.0.1.bb do_unpack failed <br />
<br />
solution to this error:<br />
<br />
http://www.facebook.com/note.php?note_id=398968379361<br />
<br />
follow instructions of ERROR#1<br />
<br />
<br />
In short:<br />
cd~/<br />
sudo apt-get install gzrt<br />
cd ~/overo-oe/sources/<br />
gzrecover expat-2.0.1.tar.gz;mv expat-2.0.1.tar.recovered expat-2.0.1.tar;gzip expat-2.0.1.tar<br />
say yes to the overwrite<br />
md5sum expat-2.0.1.tar.gz; sha256sum expat-2.0.1.tar.gz<br />
note them somewhere<br />
gedit expat-2.0.1.tar.gz.md5<br />
replace with the new MD5 checksum and save<br />
cd ~/overo-oe/org.openembedded.dev/recipes/expat<br />
gedit expat_2.0.1.bb <br />
change the MD5 and SHA256 checksums there to reflect the new ones, and save<br />
cd ~/overo-oe/<br />
bitbake omap3-lisa-image<br />
<br />
<br />
<br />
ERROR:<br />
'.../overo-oe/org.openembedded.dev/recipes/libsamplerate/libsamplerate0_0.1.7.bb' failed<br />
<br />
solution:<br />
http://old.nabble.com/Building-omap3-desktop-image-td30020826.html<br />
<br />
In short:<br />
<br />
<br />
Delete the '.../overo-oe/sources/libsamplerate-0.1.7.tar.gz' file<br />
<br />
bitbake omap3-lisa-image<br />
<br />
<br />
You need to modify the checksums in the recipe<br />
<br />
.../overo-oe/org.openembedded.dev/recipes/libsamplerate/libsamplerate0_0.1.7.bb<br />
<br />
to<br />
<br />
SRC_URI[md5sum] = "6731a81cb0c622c483b28c0d7f90867d"<br />
<br />
SRC_URI[sha256sum] = "78ed5d9ff1bf162c4a078f6a3e7432a537dd2f22dc58872b081fb01156027fcc"<br />
<br />
from<br />
<br />
'#SRC_URI[md5sum] = "ad093e60ec44f0a60de8e29983ddbc0f"<br />
<br />
'#SRC_URI[sha256sum] = "e0a646224a0323ac63f56ef009b2d7fee11452a7b8af139b19ae71d2890dbc9c"<br />
<br />
<br />
<br />
Then run<br />
<br />
bitbake -c clean libsamplerate0;bitbake libsamplerate0<br />
<br />
[[Category:Software]] [[Category:Developer_Documentation]]</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=TU_Delft_-_Lasergame_with_Autonomous_AR_Drone&diff=13706TU Delft - Lasergame with Autonomous AR Drone2012-11-16T11:45:19Z<p>Maxim: /* Simulation */</p>
<hr />
<div>[[File:Robotics_Minor_Group_2.png|thumb|right|400px|TU Delft Minor Robotics: Quadrotor Group 2]]__TOC__<br />
<br />
== Introduction ==<br />
Our focus in the development of the autonomous AR.Drone is focused on the lasergaming industry. In this field our goal is to implement the AR.drone as a observing and later on in the project participating member of the game. We feel that there is quite a lot of potential for an implementation of the quad rotor, because we believe that using it we can create a new dimension in laser gaming. With its manoeuvrability it will be able to easily get around the laser game obstacle course and its futuristic looks will integrate perfectly with the laser game environment.<br />
<br />
<br />
In our project we have chosen to work with the Standard Development Kit (SDK), which is already present on the AR.Drone. To get this done we needed to combine Paparazzi with the programs JSBSim and FlightGear.<br />
<br />
=== Github ===<br />
For this project we used a repository, Github. Developers often use a repository for developing their software projects. When using a repository, developers can upload and download the code developed for the project. This allows multiple people to work on the same project at the same time without getting in eachother's way. It is in this case very useful and we will use Github, a populair open source repository site. For beginners, please read the manual to setup Github for Ubuntu:<br />
* [[Github manual for Ubuntu]]<br />
<br />
Our git repository is at [https://github.com/RoboticaTUDelft/paparazzi Github RoboticaTUDelft] in the "minor2" branch. You can change to this branch bij executing the following command "git checkout minor2". Because most of the work inside paparazzi between our implementation and the one from "minor1" is the same, it can be possible that some parts aren't merged between the two branches.<br />
<br />
== The Laser Gaming Setup ==<br />
<br />
The exact way in which we are going to implement the AR.Drone in the laser gaming industry will be decided later on in the process. We currently have four options, varying in difficulty and achievability:<br />
* Enemy: The AR.Drone will be used as an interactive, shooting player that can be shot as well, possibly working in teams of multiple quad rotors<br />
* Scout: The AR.Drone will survey a certain area streaming back its video, allowing players to know where enemies are<br />
* Mine-deployer: To allow for a more fast-paced game the AR.Drone will find a player and hover around its position. It will then begin counting down, which means the player needs to move or risk getting hit by the virtual explosion of the AR.Drone<br />
* Observer: As there are nearly always people waiting while other people are playing, the AR.Drone can be used as a tool to live-stream the current game to a beamer for everyone to see. Games could also be taped and watched by the players after the game is over, and could even be sold<br />
<br />
===Implementation===<br />
During the test phase we want to have an adjustable system that we can tweak while working. This is the reason that we made a PIC based design. For testing we are going to use a system based on the RC-5 protocol by Phillips. The RC-5 protocol is used for remote controls. We are going to use it for sending and receiving information about the players.<br />
<br />
== Simulation ==<br />
<br />
=== Model ===<br />
<br />
*Setting up FlightGear such that it loads your model. See [[AR.Drone_2_-_Flightgear]].<br />
=== Combining Paparazzi with FlightGear and JSBSim ===<br />
<br />
To get the AR.Drone to fly autonomously a model of the system is required. This can be created using paparazzi combined with JSBSim and FlightGear. The following steps will guide you through the process of setting up an environment to simulate the AR.Drone 2 controlled by Paparazzi. This will describe how to set up the simulation environment in Linux. It has been tested using Ubuntu, but it should work under any recent distro.<br />
*Install the ground station. See [[Installation]].<br />
*Install JSBSim. See [[JSBSim]].<br />
*Install FlightGear and link it to Paparazzi. See [[Simulation#View_the_simulation_in_Flight_Gear]].<br />
<br />
== Getting information ==<br />
<br />
<br />
=== Getting Started ===<br />
This project is developed by using Linux, ubuntu. We don't support information for other linux distributions, but feel free to try it out.<br />
* Follow the instructions described in the "Getting the cross-compiler".<br />
* Get the source from our github which is explained in the section above.<br />
* Build the paparazzi source (for more information: [http://paparazzi.enac.fr/wiki/Installation/FromScratch])<br />
* You are ready to develop with our project.<br />
<br />
=== The cross-compiler === <br />
# Download the cross-compiler from [http://taghof.github.com/Navigation-for-Robots-with-WIFI-and-CV/downloads/codesetup.sh]<br />
# Open the terminal and direct to your home directory.<br />
# Type the following commands (without the $):<br />
<br />
$ sudo chmod +x codesetup.sh<br />
$ sudo ./codesetup.sh<br />
<br />
Wait a few minutes and you're done!<br />
<br />
=== AT Commands ===<br />
The AR.Drone 2 has a self made protocol for controlling the AR.Drone 2 remotly over wifi. More information can be found at [[AT Commands AR.Drone 2]].<br />
<br />
=== Navdata ===<br />
The AR.Drone 2 also has a self made protocol for sending navdata to the client over wifi. More information can be found at [[Navdata AR.Drone 2]].<br />
<br />
=== GPS signals ===<br />
<br />
=== Telnet ===<br />
The AR.Drone 2 has a telnet interface that opens a root shell on the AR.Drone 2, which is needed to test and install software. More information can be found at [[Telnet AR.Drone2]].<br />
<br />
=== FTP ===<br />
The AR.Drone 2 also has a FTP server running, which makes it possible to upload files like programs to the AR.Drone 2. More information can be found at [[FTP AR.Drone2]].<br />
<br />
== Programming ==<br />
<br />
=== Airframe ===<br />
<br />
=== AR.Drone 2 internal communication ===<br />
We use internal communcation to control the AR.Drone 2 and recieve the navigation data from the AR.Drone 2. This is done by using the AT commands and the navdata with a socket connection to "localhost". The control and navigation data run in seperate threads inside paparazzi, to make sure that both connections are kept alive. The navigation data thread sends all the information is has to paparazzi each update. The control thread waits for paparazzi to send commands and keeps the connection alive by sending a dummy command every second(because the timeout is 2 seconds).<br />
<br />
=== Using the GPS signals ===<br />
We will use an external GPS reciever which will be connected to the AR.Drone 2 usb or telnet usb port. We still have to figure out if it is possible to adjust the default driver for the USB port on the AR.Drone 2, because this is configured as an external disk which is accesable with FTP.<br />
When we have figured out if this is possible, the default usb-connector of the GPS reciever doesn't need to be modified to fit the telnet usb port at the bottom of the AR. Drone 2.<br />
<br />
Because of the great support of GPS modules inside paparaazi, we don't have to implement the GPS module inside paparazzi ourself.<br />
<br />
=== Wifi implementation inside paparazzi ===<br />
paparazzi doesn't support wifi connection with the base station by default. We are implementing this by creating a socket connection between the AR.Drone 2 and the base station and send the communication packets with a self made protocol.<br />
<br />
== Manuals and guides ==<br />
* [[Step by step guide for beginners]]<br />
* [[Developers Manual]]<br />
* [[AR Drone Model]]</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=TU_Delft_-_Lasergame_with_Autonomous_AR_Drone&diff=13705TU Delft - Lasergame with Autonomous AR Drone2012-11-16T11:38:02Z<p>Maxim: /* Combining Paparazzi with FlightGear and JSBSim */</p>
<hr />
<div>[[File:Robotics_Minor_Group_2.png|thumb|right|400px|TU Delft Minor Robotics: Quadrotor Group 2]]__TOC__<br />
<br />
== Introduction ==<br />
Our focus in the development of the autonomous AR.Drone is focused on the lasergaming industry. In this field our goal is to implement the AR.drone as a observing and later on in the project participating member of the game. We feel that there is quite a lot of potential for an implementation of the quad rotor, because we believe that using it we can create a new dimension in laser gaming. With its manoeuvrability it will be able to easily get around the laser game obstacle course and its futuristic looks will integrate perfectly with the laser game environment.<br />
<br />
<br />
In our project we have chosen to work with the Standard Development Kit (SDK), which is already present on the AR.Drone. To get this done we needed to combine Paparazzi with the programs JSBSim and FlightGear.<br />
<br />
=== Github ===<br />
For this project we used a repository, Github. Developers often use a repository for developing their software projects. When using a repository, developers can upload and download the code developed for the project. This allows multiple people to work on the same project at the same time without getting in eachother's way. It is in this case very useful and we will use Github, a populair open source repository site. For beginners, please read the manual to setup Github for Ubuntu:<br />
* [[Github manual for Ubuntu]]<br />
<br />
Our git repository is at [https://github.com/RoboticaTUDelft/paparazzi Github RoboticaTUDelft] in the "minor2" branch. You can change to this branch bij executing the following command "git checkout minor2". Because most of the work inside paparazzi between our implementation and the one from "minor1" is the same, it can be possible that some parts aren't merged between the two branches.<br />
<br />
== The Laser Gaming Setup ==<br />
<br />
The exact way in which we are going to implement the AR.Drone in the laser gaming industry will be decided later on in the process. We currently have four options, varying in difficulty and achievability:<br />
* Enemy: The AR.Drone will be used as an interactive, shooting player that can be shot as well, possibly working in teams of multiple quad rotors<br />
* Scout: The AR.Drone will survey a certain area streaming back its video, allowing players to know where enemies are<br />
* Mine-deployer: To allow for a more fast-paced game the AR.Drone will find a player and hover around its position. It will then begin counting down, which means the player needs to move or risk getting hit by the virtual explosion of the AR.Drone<br />
* Observer: As there are nearly always people waiting while other people are playing, the AR.Drone can be used as a tool to live-stream the current game to a beamer for everyone to see. Games could also be taped and watched by the players after the game is over, and could even be sold<br />
<br />
===Implementation===<br />
During the test phase we want to have an adjustable system that we can tweak while working. This is the reason that we made a PIC based design. For testing we are going to use a system based on the RC-5 protocol by Phillips. The RC-5 protocol is used for remote controls. We are going to use it for sending and receiving information about the players.<br />
<br />
== Simulation ==<br />
<br />
=== Model ===<br />
<br />
=== Combining Paparazzi with FlightGear and JSBSim ===<br />
<br />
To get the AR.Drone to fly autonomously a model of the system is required. This can be created using paparazzi combined with JSBSim and FlightGear. The following steps will guide you through the process of setting up an environment to simulate the AR.Drone 2 controlled by Paparazzi. This will describe how to set up the simulation environment in Linux. It has been tested using Ubuntu, but it should work under any recent distro.<br />
*Install the ground station. See [[Installation]].<br />
*Install JSBSim. See [[JSBSim]].<br />
*Install FlightGear. See [[AR.Drone_2_-_Flightgear]].<br />
*Link FlightGear to Paparazzi. See [[Simulation#View_the_simulation_in_Flight_Gear]].<br />
<br />
== Getting information ==<br />
<br />
<br />
=== Getting Started ===<br />
This project is developed by using Linux, ubuntu. We don't support information for other linux distributions, but feel free to try it out.<br />
* Follow the instructions described in the "Getting the cross-compiler".<br />
* Get the source from our github which is explained in the section above.<br />
* Build the paparazzi source (for more information: [http://paparazzi.enac.fr/wiki/Installation/FromScratch])<br />
* You are ready to develop with our project.<br />
<br />
=== The cross-compiler === <br />
# Download the cross-compiler from [http://taghof.github.com/Navigation-for-Robots-with-WIFI-and-CV/downloads/codesetup.sh]<br />
# Open the terminal and direct to your home directory.<br />
# Type the following commands (without the $):<br />
<br />
$ sudo chmod +x codesetup.sh<br />
$ sudo ./codesetup.sh<br />
<br />
Wait a few minutes and you're done!<br />
<br />
=== AT Commands ===<br />
The AR.Drone 2 has a self made protocol for controlling the AR.Drone 2 remotly over wifi. More information can be found at [[AT Commands AR.Drone 2]].<br />
<br />
=== Navdata ===<br />
The AR.Drone 2 also has a self made protocol for sending navdata to the client over wifi. More information can be found at [[Navdata AR.Drone 2]].<br />
<br />
=== GPS signals ===<br />
<br />
=== Telnet ===<br />
The AR.Drone 2 has a telnet interface that opens a root shell on the AR.Drone 2, which is needed to test and install software. More information can be found at [[Telnet AR.Drone2]].<br />
<br />
=== FTP ===<br />
The AR.Drone 2 also has a FTP server running, which makes it possible to upload files like programs to the AR.Drone 2. More information can be found at [[FTP AR.Drone2]].<br />
<br />
== Programming ==<br />
<br />
=== Airframe ===<br />
<br />
=== AR.Drone 2 internal communication ===<br />
We use internal communcation to control the AR.Drone 2 and recieve the navigation data from the AR.Drone 2. This is done by using the AT commands and the navdata with a socket connection to "localhost". The control and navigation data run in seperate threads inside paparazzi, to make sure that both connections are kept alive. The navigation data thread sends all the information is has to paparazzi each update. The control thread waits for paparazzi to send commands and keeps the connection alive by sending a dummy command every second(because the timeout is 2 seconds).<br />
<br />
=== Using the GPS signals ===<br />
We will use an external GPS reciever which will be connected to the AR.Drone 2 usb or telnet usb port. We still have to figure out if it is possible to adjust the default driver for the USB port on the AR.Drone 2, because this is configured as an external disk which is accesable with FTP.<br />
When we have figured out if this is possible, the default usb-connector of the GPS reciever doesn't need to be modified to fit the telnet usb port at the bottom of the AR. Drone 2.<br />
<br />
Because of the great support of GPS modules inside paparaazi, we don't have to implement the GPS module inside paparazzi ourself.<br />
<br />
=== Wifi implementation inside paparazzi ===<br />
paparazzi doesn't support wifi connection with the base station by default. We are implementing this by creating a socket connection between the AR.Drone 2 and the base station and send the communication packets with a self made protocol.<br />
<br />
== Manuals and guides ==<br />
* [[Step by step guide for beginners]]<br />
* [[Developers Manual]]<br />
* [[AR Drone Model]]</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=TU_Delft_-_Lasergame_with_Autonomous_AR_Drone&diff=13454TU Delft - Lasergame with Autonomous AR Drone2012-11-14T09:33:45Z<p>Maxim: </p>
<hr />
<div>== Introduction ==<br />
This page will guide you through the development of an autonomous quadrotor, the AR Drone 2.0 from Parrot, which will be eventually used in an application. In this case, in combination with lasergaming. <br />
<br />
=== About the AR Drone 2.0 ===<br />
Specifications[http://paparazzi.enac.fr/wiki/AR.Drone_2_-_Specifications]<br />
<br />
=== Getting Started ===<br />
This project is developed by using Linux, ubuntu. Following these steps are at your own risk. You can only perform these steps if you use ubuntu. Before the developing part will start, the following installations are required:<br />
* Download the SDK from [http://www.ARdrone.org Ardrone.org]<br />
* Download and install Paparazzi, see the installation guide for help: [http://paparazzi.enac.fr/wiki/Installation/FromScratch] '''Do not follow the instructions from 4), we use another cross-compiler for this project.'''<br />
* Follow the instructions described in the "Getting the cross-compiler".<br />
<br />
=== Getting the cross-compiler === <br />
# Download the cross-compiler from [http://taghof.github.com/Navigation-for-Robots-with-WIFI-and-CV/downloads/codesetup.sh]<br />
# Open the terminal and direct to your home directory.<br />
# Type the following commands (without the $):<br />
<br />
$ sudo chmod +x codesetup.sh<br />
$ sudo ./codesetup.sh<br />
<br />
Wait a few minutes and you're done!<br />
<br />
=== The Repository ===<br />
Developers often use a repository for developing their software projects. When using a repository, developers can upload and download the code developed for the project. It is in this case very usefull and we will use Github, a populair open source repository site. For beginners, please read the manual to setup Github for Ubuntu:<br />
* [[Github manual for Ubuntu]]<br />
<br />
== Manuals and guides ==<br />
* [[Step by step guide for beginners]]<br />
* [[Developers Manual]]<br />
* [[AR Drone Model]]</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=TU_Delft_-_Lasergame_with_Autonomous_AR_Drone&diff=13453TU Delft - Lasergame with Autonomous AR Drone2012-11-14T09:31:46Z<p>Maxim: </p>
<hr />
<div>== Introduction ==<br />
This page will guide you through the development of an autonomous quadrotor, the AR Drone 2.0 from Parrot, which will be eventually used in an application. In this case, in combination with lasergaming. <br />
<br />
=== About the AR Drone 2.0 ===<br />
[http://paparazzi.enac.fr/wiki/AR.Drone_2_-_Specifications]<br />
<br />
=== Getting Started ===<br />
This project is developed by using Linux, ubuntu. Following these steps are at your own risk. You can only perform these steps if you use ubuntu. Before the developing part will start, the following installations are required:<br />
* Download the SDK from [http://www.ARdrone.org Ardrone.org]<br />
* Download and install Paparazzi, see the installation guide for help: [http://paparazzi.enac.fr/wiki/Installation/FromScratch] '''Do not follow the instructions from 4), we use another cross-compiler for this project.'''<br />
* Follow the instructions described in the "Getting the cross-compiler".<br />
<br />
=== Getting the cross-compiler === <br />
# Download the cross-compiler from [http://taghof.github.com/Navigation-for-Robots-with-WIFI-and-CV/downloads/codesetup.sh]<br />
# Open the terminal and direct to your home directory.<br />
# Type the following commands (without the $):<br />
<br />
$ sudo chmod +x codesetup.sh<br />
$ sudo ./codesetup.sh<br />
<br />
Wait a few minutes and you're done!<br />
<br />
=== The Repository ===<br />
Developers often use a repository for developing their software projects. When using a repository, developers can upload and download the code developed for the project. It is in this case very usefull and we will use Github, a populair open source repository site. For beginners, please read the manual to setup Github for Ubuntu:<br />
* [[Github manual for Ubuntu]]<br />
<br />
== Manuals and guides ==<br />
* [[Step by step guide for beginners]]<br />
* [[Developers Manual]]<br />
* [[AR Drone Model]]</div>Maximhttp://wiki.paparazziuav.org/w/index.php?title=TU_Delft_-_Lasergame_with_Autonomous_AR_Drone&diff=13216TU Delft - Lasergame with Autonomous AR Drone2012-09-20T11:28:59Z<p>Maxim: </p>
<hr />
<div>== Introduction ==<br />
This page will guide you through the development of an autonomous quadrotor, the AR Drone 2.0 from Parrot, which will be eventually used in an application. In this case, in combination with lasergaming. <br />
<br />
=== About the AR Drone 2.0 ===<br />
[[File:800px-Parrot_AR.Drone_2.JPG|thumb|300px|Parrot's AR Drone 2]]<br />
[[File:ARdrone_exploded.jpg|thumb|300px|Exploded view of the AR Drone 2.]]<br />
<br />
The AR Drone from Parrot is an affordable, wifi controlled, flying quadrotor. It is designed to be controlled with Android and iOS devices. Parrot has made an open source API (Application Programming Interface), to gather developers and game studios. By registering on [http://www.ARdrone.org Ardrone.org] the developer will be able to download the SDK (Software Development Kit) and start developing.<br />
<br />
For this project, we will be using the AR Drone 2, which has the following technical specifications:<br />
* HD Video:<br />
** HD Camera 720p 30fps<br />
** Wide angle lens: 92 degrees<br />
** H264 encoding base profile<br />
** Video storage on the fly with the remote device<br />
** JPEG photo<br />
* Electronic assistance:<br />
** 1 GHz 32 bit ARM Cortex A8 processor with 800MHz video DSP TMS320DMC64x<br />
** 1Gbit DDR2 RAM at 200MHZ<br />
** USB 2.0 high speed for extensions<br />
** Wi-Fi b,g,n<br />
** 3 axis gyroscope 2000 degrees / second precision<br />
** 3 axis accelerometer +- 50 mg precision<br />
** 3 axis magnetometer 6 degrees precision<br />
** Pressure sensor +/- 10 Pa precision (80 cm at sea level)<br />
** Ultra sound sensors for ground altitude measurement<br />
** 60 fps vertical QVGA camera for ground speed measurement<br />
** Linux 2.6.32<br />
* Motors:<br />
** 4 brushless inrunner motors, 14,5 watt and 28.500 RPM<br />
** Micro ball bearing<br />
** Low noise Nylatron gears for 1/8.75 propellor reductor.<br />
** Specific high propelled drag for maneuverability<br />
** 8 MIPS AVR CPU per motor controller.<br />
** 3 elements 1.000 mA/H LiPo rechargeaple battery<br />
** Fully reprogrammable motor controller<br />
** Water resistant motor's electronic controller<br />
<br />
=== Getting Started ===<br />
This project is developed by using Linux, ubuntu. Following these steps are at your own risk. You can only perform these steps if you use ubuntu. Before the developing part will start, the following installations are required:<br />
* Download the SDK from [http://www.ARdrone.org Ardrone.org]<br />
* Download and install Paparazzi, see the installation guide for help: [http://paparazzi.enac.fr/wiki/Installation/FromScratch] '''Do not follow the instructions from 4), we use another cross-compiler for this project.'''<br />
* Follow the instructions described in the "Getting the cross-compiler".<br />
<br />
=== Getting the cross-compiler === <br />
# Download the cross-compiler from [http://taghof.github.com/Navigation-for-Robots-with-WIFI-and-CV/downloads/codesetup.sh]<br />
# Open the terminal and direct to your home directory.<br />
# Type the following commands (without the $):<br />
<br />
$ sudo chmod +x codesetup.sh<br />
$ sudo ./codesetup.sh<br />
<br />
== Manuals and guides ==<br />
* [[Step by step guide for beginners]]<br />
* [[Developers Manual]]</div>Maxim