Difference between revisions of "OLSR"
(Created page with "The '''Optimized Link State Routing Protocol (OLSR)''' [http://en.wikipedia.org/wiki/Optimized_Link_State_Routing_Protocol] is an IP routing protocol optimized for mobile ad h...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 17: | Line 17: | ||
After getting the source code from http://www.olsr.org, it is possible cross-compile (or do an embedded compilation) of the code for your specific target. | After getting the source code from http://www.olsr.org, it is possible cross-compile (or do an embedded compilation) of the code for your specific target. | ||
If you | If you intend to use '''olsrd''' on the [[AR_Drone_2/getting_started|AR.Drone2]] using Paparazzi, the network configuration script can upload the necessary files and a pre-compiled binary of the program | ||
cd ${PAPARAZZI_SRC}/sw/tools/parrot | cd ${PAPARAZZI_SRC}/sw/tools/parrot | ||
Line 47: | Line 47: | ||
Now, if you are using several aircraft, the packets should be dynamically routed, providing natural relays. | Now, if you are using several aircraft, the packets should be dynamically routed, providing natural relays. | ||
[[Category:Software]] [[Category: AR Drone 2]] |
Latest revision as of 05:50, 15 April 2015
The Optimized Link State Routing Protocol (OLSR) [1] is an IP routing protocol optimized for mobile ad hoc networks, which can also be used on other wireless ad hoc networks.
A free implementation of this protocol is called olsrd. It needs to run a daemon, both on the airborne and ground side, and is used on Linux based platforms (ARM or X86).
Installation
On the ground station
The olsrd package is available on debian/unbuntu systems.
sudo apt-get install olsrd
Otherwise, follow installation instruction from http://www.olsr.org
On the airborne side
After getting the source code from http://www.olsr.org, it is possible cross-compile (or do an embedded compilation) of the code for your specific target.
If you intend to use olsrd on the AR.Drone2 using Paparazzi, the network configuration script can upload the necessary files and a pre-compiled binary of the program
cd ${PAPARAZZI_SRC}/sw/tools/parrot ./ardrone2.py configure_network ardrone2_adhoc 192.168.1.1 ad-hoc-olsr
Say yes, if the script ask you to update wifi script or upload olsr files. You can have to complete options with:
./ardrone2.py configure_network --help
Usage
Airframe configuration
olsrd doesn't allow to use broadcast communication. So you have to disable this on the UAV, and also provide the address of the ground station. This is simply do by adding to your firmware section the following instructions (in an airframe based on ardrone2_raw.xml for instance):
<configure name="MODEM_HOST" value="192.168.1.100"/>
<configure name="MODEM_BROADCAST" value="FALSE"/>
Running olsrd
Once you have configured the ARDrone2 to use olsr it will automatically start to use it.
On other platforms or ground station, you first need to create an new ad-hoc connection with an address different than the one of the UAVs you are using (like 192.168.1.100 for above configuration). Then you need to start the daemon yourself (as root). You can use the default configuration or the file that comes with paparazzi in $(PAPARAZZI_HOME)/conf/system/olsrd, and maybe your wifi interface.
sudo olsrd -f $(PAPARAZZI_HOME)/conf/system/olsrd/olsrd.conf -i wlan0
Now, if you are using several aircraft, the packets should be dynamically routed, providing natural relays.