Anda di halaman 1dari 47

Agenda

Android NDK y Herramientas para control


de Robots

Alvaro Antonio Vanegas P

Software Libre - Campus Party Colombia 2010

2010.07.01

Antonio Vanegas Android NDK y Herramientas para control de Robots


Agenda

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Dispositivos del pasado y su importancia

Anteriormente se usaban dispositivos móviles para diferentes


servicios, entre los mas destacados
PDA
Pocket PC
Dispositivos especializados de adquisición
Otros: Calculadoras, Datáfonos, etc

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Dispositivos Anteriores

Se utilizaron para diferentes fines

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Redes Sociales

Actualmente existe una alta integración con redes sociales:


twitter

facebook

Identi.ca

otros

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Aplicaciones y Herramientas de Georeferenciación

Integración de diferentes tipos:


GoogleMaps

Georeferenciación de
medios

Posicionamiento

Realidad Aumentada

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Juegos y Herramientas relacionadas

Juegos como aplicaciones:


Usan los recursos normales
del celular
Se conectan a redes
Son portados de otros
dispositivos

Complemento a juegos y consolas


Como controles

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Android como Control

Simulando mando NES

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Qué Falta?

Algunas Ideas
Enfocarse en otros nichos
Extender la plataforma y la
aplicabilidad
Utilizarla como herramienta
de desarrollo para otras
disciplinas

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Qué Falta?

Algunas Ideas
Enfocarse en otros nichos
Extender la plataforma y la
aplicabilidad
Utilizarla como herramienta
de desarrollo para otras
disciplinas

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Historia
Otras Herramientas Importancia actual
Proyecto Pop-Bot Propósito

Qué Falta?

Algunas Ideas
Enfocarse en otros nichos
Extender la plataforma y la
aplicabilidad
Utilizarla como herramienta
de desarrollo para otras
disciplinas

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Que es Android NDK?

Definición:
Es un conjunto de herramientas que permiten integrar
componentes que hacen uso de código nativo en aplicaciones
Android.

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Android NDK

Ventajas:
Creación de
librerı́as de
mayor eficiencia
Acceso a capas
distintas
Migración de
proyectos
existentes

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Android NDK

Ventajas:
Creación de
librerı́as de
mayor eficiencia
Acceso a capas
distintas
Migración de
proyectos
existentes

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Android NDK

Ventajas:
Creación de
librerı́as de
mayor eficiencia
Acceso a capas
distintas
Migración de
proyectos
existentes

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Android NDK

Deventajas:
No es multiplaforma, CPUs No hay generación de GUI
soportadas:
ARMv5TE
ARMv7-A
Parte de x86
Falta de librerı́as

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Android NDK

Deventajas:
No es multiplaforma, CPUs No hay generación de GUI
soportadas:
ARMv5TE
ARMv7-A
Parte de x86
Falta de librerı́as

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Android NDK

Deventajas:
No es multiplaforma, CPUs No hay generación de GUI
soportadas:
ARMv5TE
ARMv7-A
Parte de x86
Falta de librerı́as

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Android NDK

Librerı́as actuales:
libc (C library) headers
libm (math library) headers
JNI interface headers
libz (Zlib compression) headers
liblog (Android logging) header
OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries)
headers
libjnigraphics (Pixel buffer access) header (for Android 2.2
and above).
A Minimal set of headers for C++ support

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Componentes NDK

Requesitos de entrada:
Makefile: Android.mk
Codigo fuente en C

Salida de NDK
Librerı́as (file.so o file.o)
Ejecutables (Principalmente para consola)

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Componentes NDK

Diagrama de Desarrollo de NDK

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Demostración NDK

Hello World NDK!


Hellor World!

Comparación Dalvik-NDK

Migración: OpenJPG

Tips para migrar proyectos

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Aplicación android ASE

Diagrama de Desarrollo de NDK


Android Scripting Environment, actualmente soporta:

Python Tcl
Perl shell
JRuby
Lua
BeanShell
JavaScript

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Android NDK
Antecedentes
Componentes
Otras Herramientas
ASE
Proyecto Pop-Bot
Python

Instalación de Python en Android

ASE instalación

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Android como plataforma de desarrollo de robots

Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicación
Reducción de costos en
implementación

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Android como plataforma de desarrollo de robots

Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicación
Reducción de costos en
implementación

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Android como plataforma de desarrollo de robots

Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicación
Reducción de costos en
implementación

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Android como plataforma de desarrollo de robots

Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicación
Reducción de costos en
implementación

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Android como plataforma de desarrollo de robots

Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicación
Reducción de costos en
implementación

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Android como plataforma de desarrollo de robots

Ventajas:
Independencia
Versatilidad en el desarrollo
Procesador
Un plus de sensores y APIs
Sistemas de comunicación
Reducción de costos en
implementación

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Android como plataforma de desarrollo de robots

Plus de sensores
Brújula
GPS
Acelerómetros
Cámara
Micrófono (comandos por voz)

APIs
APIs de google (Maps,Voice,etc)
Terceros

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Android como plataforma de desarrollo de robots

Sistemas de comunicación
GPRS/EDGE/3G
Bluetooth
Wi-Fi

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Estado Actual del Proyecto

Tareas realizadas
Construcción de interfaz

Desarrollo del driver para


Pop-bot

Homologación parcial al
proyecto CellBots

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Estado Actual del Proyecto


Interfaz de conexión:

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Estado Actual del Proyecto


Interfaz de conexión

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Agenda
1 Situación actual
Historia y Antecedentes
Importancia de las aplicaciones móviles
Que falta?
2 Herramientas de Desarrollo Alternativo
Android NDK
Componentes de NDK
Android Scripting Environment
Python en Android
3 Proyecto POP-Bot (Android-Arduino Robot)
Android como plataforma de desarrollo de Robots
Estado Actual del Proyecto y Demostración
Proyectos relacionados

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Proyectos relacionados

Cellbots
http:
//www.cellbots.com

http://www.
amarino-toolkit.net

Antonio Vanegas Android NDK y Herramientas para control de Robots


Antecedentes Android para robots
Otras Herramientas Proyecto Android-Popbot
Proyecto Pop-Bot Proyectos similares

Referencias y Agradecimientos

Contacto y referencias
Página del proyecto: http://devel.androidsith.com
Alvaro Antonio Vanegas (hpsaturn@gmail.com)

Agradecimientos Especiales a:
Asistentes :D LATEX
Manuel Cerón (Coordinador Debian GNU-Linux
Software Libre)
Edna Amortegui
(fotografı́a)
Campus Party 2010

Antonio Vanegas Android NDK y Herramientas para control de Robots

Anda mungkin juga menyukai