AlvaroB-PFC-Drone02

From robotica.unileon.es
Revision as of 12:55, 10 July 2011 by Anonymous (talk)

Jump to: navigation, search
  • 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