Plataforma de comunicación entre Live Robot Programming y el Robot AR.Drone 2.0
Professor Advisor
dc.contributor.advisor
Fabry, Joan
Author
dc.contributor.author
Hernández Phillips, Carolina Massiel
Associate professor
dc.contributor.other
Hogan, Aidan
Associate professor
dc.contributor.other
Simmons Wagemann, Jocelyn
Admission date
dc.date.accessioned
2017-03-28T20:36:00Z
Available date
dc.date.available
2017-03-28T20:36:00Z
Publication date
dc.date.issued
2016
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/143362
General note
dc.description
Ingeniera Civil en Computación
es_ES
Abstract
dc.description.abstract
La robótica es un área de estudio joven que presenta gran potencial de progreso. Esto incita
a expertos de diversas áreas a contribuir en su desarrollo mediante proyectos de investigación
y de ingeniería. En este escenario el estudiante Miguel Campusano y el profesor Johan Fabry,
ambos integrantes del DCC de la Universidad de Chile, proponen un lenguaje de programación
para robots denominado LRP. Este lenguaje es implementado en Pharo Smalltalk, un lenguaje
de programación caracterizado por su fuerte orientación a objetos y su poderoso ambiente de
desarrollo.
Utilizar LRP con un robot determinado requiere una aplicación estilo puente escrita en Pharo,
que sirva como interfaz de comunicación entre el lenguaje y el robot. Previo a la realización de
este trabajo, sólo dos puentes habían sido implementados. Estos permitieron hacer de pruebas con
algunos robots. No obstante, para nes investigativos es muy deseable utilizar el lenguaje LRP
con tantos robots como sea posible. El AR.Drone 2.0, de la empresa Parrot, es un cuadricóptero
eléctrico no tripulado, controlado remotamente y que cuenta con diversos sensores. Este robot
es un excelente caso de prueba para LRP, dada su gran diferencia con los robots utilizados
anteriormente.
La solución presentada en este trabajo de memoria contempla la implementación de la infraes-
tructura necesaria para hacer pruebas utilizando LRP con el AR.Drone y su validación mediante
distintos programas de prueba implementados en LRP. Se ha creado una API capaz de comuni-
carse con el drone y la aplicación tipo puente requerida. Ambas aplicaciones fueron escritas en
Pharo.
La API permite establecer una conexión con el drone, recibir los datos que publica y enviar
comandos de control y con guración. El puente adapta una serie de métodos de la API y permite
utilizarlos desde LRP. Provee además mecanismos intuitivos para que el desarrollador interactúe
directamente con el drone durante una sesión de programación. La mayoría de las di cultades
enfrentadas durante el desarrollo de la API se debieron a la indocumentación de características
o requerimientos impuestos por el rmware del drone. Por otro lado, el desarrollo de esta he-
rramienta permitió generar conocimiento técnico especí co sobre el AR.Drone, relevante para
trabajos posteriores que utilicen este robot.
Los programas de ejemplo creados en LRP evidenciaron que no todas las cualidades de la
modalidad de programación en vivo pueden ser aprovechadas trabajando con un robot aéreo.
Esto porque es difícil restringir límites para el movimiento del robot, por su limitado tiempo
de autonomía y porque la interrupción de una sesión, producto de un choque por ejemplo,
implica que el desarrollador deba suspender su trabajo para reposicionar y despegar el robot.
Sin embargo, live programming permitió ajustar las variables asociadas a programas ya creados,
lo que adquiere gran valor al momento de establecer distancias esperadas para el recorrido del
robot. Finalmente, la sintaxis de LRP y sus diagramas de estado animados en vivo facilitaron
enormemente el proceso de desarrollo.