Difference between revisions of "AlvaroB-PFC-Drone02"

From robotica.unileon.es
Jump to: navigation, search
Line 25: Line 25:
 
----
 
----
  
= Parte 0 =
+
= Parte 1 =
  
 
----
 
----
  
== 1.1 Configurando la api de ArDrone (sdk 1.5) con el mando de la ps3 en Linux ==
+
== Configurando la api de ArDrone (sdk 1.5) con el mando de la ps3 en Linux ==
  
===0.1.1 Obtención del sdk ===
+
===Obtención del sdk ===
 +
 
 +
* En primer lugar, deberías registrarte en la página web de ardrone https://projects.ardrone.org/
 +
* Descarga el sdk de la página https://projects.ardrone.org/attachments/download/221/ARDrone_SDK_1_5_Version_20101004.tar.gz
 +
* Copia el archivo tar.gz en el directorio donde quieras realizar la instalación
 +
* Descomprime el archivo con el comando:
 +
      tar zxvf archivo.tar.gz
 +
 
 +
===Configuración de los ejemplos para Linux===
 +
 
 +
====sdk_demo====
 +
 
 +
Se trata del ejemplo más sencillo, no dispone de interfaz gráfico pero contiene lo suficiente para controlar el ArDrone con un joystick y la creación de tuberías para la recepción de video asi como diferentes hilos
 +
Debemos modificar dos archivos para el correcto funcionamiento de nuestro mando de la ps3:
 +
 
 +
''a) En primer lugar :''
 +
 
 +
En el archivo ardrone_testing_tool.c (/’tu directorio’/ARDrone_SDK_1_5_V ersion_20101004/Examples/Linux/sdk_demo/Sources/ardrone_t esting_tool.c) , añadiéndole esta línea para añadir el mando:
 +
 
 +
      ardrone_tool_input_add( &ps3pad );
 +
 
 +
Téngase en cuenta que este archivo es el que contiene el main de la aplicación, aquella que pone en funcionamiento todo.
 +
 
 +
''b) En segundo lugar :''
 +
 
 +
A continuación modificaremos el archivo gamepad.h (/’tu directorio’/ARDrone_SDK_1_5_V ersion_20101004/Examples/Linux/sdk_demo/Sources/UI), donde le asignaremos valores a los botones del mando:
 +
 
 +
    #define GAMEPAD_PLAYSTATION3_ID 0x054C0268
 +
        typedef enum
 +
        {
 +
            PS3BTN_SELECT=0,
 +
            PS3BTN_L3=1,
 +
            PS3BTN_R3=2,
 +
            PS3BTN_START=3,
 +
            PS3BTN_UP ARROW=4,
 +
            PS3BTN_RIGHTARROW=5,
 +
            PS3BTN_DOWNARROW=6,
 +
            PS3BTN_LEFTARROW=7,
 +
            PS3BTN_L2=8,
 +
            PS3BTN_R2=9,
 +
            PS3BTN_L1=10,
 +
            PS3BTN_R1=11,
 +
            PS3BTN_TRIANGLE=12,
 +
            PS3BTN_CIRCLE=13,
 +
            PS3BTN_CROSS=14,
 +
            PS3BTN_SQUARE=15,
 +
            PS3BTN_PS3=16,
 +
        }PS3P AD_BUTTONS;
 +
 
 +
====Navigation====
 +
 
 +
Se trata de un ejemplo mas completo, en el que se puede observar un interfaz gráfico, con la inserción de las imágenes del video, entre muchas otras opciones adicionales.
 +
 
 +
===Cómo compilar y ejecutar estos ejemplos===
 +
 
 +
* En primer lugar vamos a obtener algunas de las librerías necesarias para la compilación y posterios ejecución.
 +
 
 +
    $sudo apt-get install libsdl-dev libgtk2.0-dev libiw-dev
 +
 
 +
* Debemos crear la biblioteca ArDroneLib usando el makefile dado.
 +
 
 +
    $cd SDK /ARDroneLib/Soft/Build
 +
    $make
 +
 
 +
* Compilar el ejemplo sdk_demo
 +
 
 +
    $cd SDK /Examples/Linux/sdk_demo/Build
 +
    $make
 +
 
 +
* Compilar el ejemplo Navigation
 +
 
 +
    $cd SDK /Examples/Linux/Navigation/Build
 +
    $make
 +
 
 +
====Ejecutar el ejemplo====
 +
 
 +
Tras haber realizado estos pasos, deberíamos de tener 2 ejecutables en : /’tu directorio’/ARDrone_SDK_1_5_V ersion_20101004/Examples/Linux/Build/Release /.
 +
Conecta tu mando de la PS3 y ahora serás capaz de hacer volar tu ArDrone.
 +
 
 +
* Para el ejemplo sdk_demo:
 +
 
 +
    ./linux_sdk_demo
 +
 
 +
* Para el ejemplo Navigation:
 +
 
 +
    ./ardrone_navigation

Revision as of 12:55, 10 July 2011

  • Project Name: Seguimiento de Color para el AR-Drone
  • Authors: Álvaro Botas Muñoz
  • Email Addres: infabm01@estudiantes.unileon.es
  • Academic Year: 2010-2011
  • Degree: PFC
  • Tags:
  • Technology: c, gtk, Api Ar.drone:sdk 1.5
  • State: Developing
  • Source License:
  • Document License:


Parte 1


Configurando la api de ArDrone (sdk 1.5) con el mando de la ps3 en Linux

Obtención del sdk

     tar zxvf archivo.tar.gz

Configuración de los ejemplos para Linux

sdk_demo

Se trata del ejemplo más sencillo, no dispone de interfaz gráfico pero contiene lo suficiente para controlar el ArDrone con un joystick y la creación de tuberías para la recepción de video asi como diferentes hilos Debemos modificar dos archivos para el correcto funcionamiento de nuestro mando de la ps3:

a) En primer lugar :

En el archivo ardrone_testing_tool.c (/’tu directorio’/ARDrone_SDK_1_5_V ersion_20101004/Examples/Linux/sdk_demo/Sources/ardrone_t esting_tool.c) , añadiéndole esta línea para añadir el mando:

     ardrone_tool_input_add( &ps3pad );

Téngase en cuenta que este archivo es el que contiene el main de la aplicación, aquella que pone en funcionamiento todo.

b) En segundo lugar :

A continuación modificaremos el archivo gamepad.h (/’tu directorio’/ARDrone_SDK_1_5_V ersion_20101004/Examples/Linux/sdk_demo/Sources/UI), donde le asignaremos valores a los botones del mando:

    #define GAMEPAD_PLAYSTATION3_ID 0x054C0268
        typedef enum
        {
           PS3BTN_SELECT=0,
           PS3BTN_L3=1,
           PS3BTN_R3=2,
           PS3BTN_START=3,
           PS3BTN_UP ARROW=4,
           PS3BTN_RIGHTARROW=5,
           PS3BTN_DOWNARROW=6,
           PS3BTN_LEFTARROW=7,
           PS3BTN_L2=8,
           PS3BTN_R2=9,
           PS3BTN_L1=10,
           PS3BTN_R1=11,
           PS3BTN_TRIANGLE=12,
           PS3BTN_CIRCLE=13,
           PS3BTN_CROSS=14,
           PS3BTN_SQUARE=15,
           PS3BTN_PS3=16,
        }PS3P AD_BUTTONS;

Navigation

Se trata de un ejemplo mas completo, en el que se puede observar un interfaz gráfico, con la inserción de las imágenes del video, entre muchas otras opciones adicionales.

Cómo compilar y ejecutar estos ejemplos

  • En primer lugar vamos a obtener algunas de las librerías necesarias para la compilación y posterios ejecución.
    $sudo apt-get install libsdl-dev libgtk2.0-dev libiw-dev
  • Debemos crear la biblioteca ArDroneLib usando el makefile dado.
    $cd SDK /ARDroneLib/Soft/Build
    $make
  • Compilar el ejemplo sdk_demo
    $cd SDK /Examples/Linux/sdk_demo/Build
    $make
  • Compilar el ejemplo Navigation
    $cd SDK /Examples/Linux/Navigation/Build
    $make 

Ejecutar el ejemplo

Tras haber realizado estos pasos, deberíamos de tener 2 ejecutables en : /’tu directorio’/ARDrone_SDK_1_5_V ersion_20101004/Examples/Linux/Build/Release /. Conecta tu mando de la PS3 y ahora serás capaz de hacer volar tu ArDrone.

  • Para el ejemplo sdk_demo:
    ./linux_sdk_demo
  • Para el ejemplo Navigation:
    ./ardrone_navigation