Mapping state machines to developers' mental model: fast understanding of robotic behaviors in the real world
Tesis
Publication date
2020Metadata
Show full item record
Cómo citar
Bergel, Alexandre
Cómo citar
Mapping state machines to developers' mental model: fast understanding of robotic behaviors in the real world
Author
Professor Advisor
Abstract
Típicamente, el desarrollo del comportamiento de un robot conlleva una serie de pasos: escribir el código fuente, cargar el código en un simulador o un robot, y ejecutar el código en el robot. Si el robot actúa de forma errónea, el programador debe mentalmente trazar el error, desde el comportamiento hacia el programa que lo produjo, para poder arreglarlo. Todo esto resulta en una dilatada distancia cognitiva entre el programador y el comportamiento del robot, ralentizando el desarrollo e implicando que las pruebas con diferentes comportamientos sean prohibitivamente costosas. Esto es aún más cierto cuando los robots se prueban en el mundo real, interactuando con objetos reales.
Para mejorar el desarrollo de la robótica basada en comportamientos, los desarrolladores deben recibir retroalimentación significativa de la ejecución del programa. Con esto, los desarrolladores pueden formular hipótesis precisas sobre lo que el robot está haciendo, permitiéndoles reparar comportamientos defectuosos más rápidamente. Si los desarrolladores, además, pueden cambiar y modificar sus programas mientras los ejecutan, también podrán escribir y probar programas más rápidamente, removiendo así la mencionada distancia cognitiva. La retroalimentación significativa con esta conexión inmediata es conocida como Programación en Vivo. La programación en vivo permite la creación y modificación extremadamente rápida de comportamientos robóticos, aumentando drásticamente la velocidad de depuración.
En esta tesis estudiamos retroalimentación significativa y programación en vivo, y lo aplicamos al desarrollo de robótica basada en comportamientos. Para lo primero, presentamos VizRob, una herramienta con visualizaciones interactivas de logs en máquinas de estado: que son la representación del comportamiento. Llevamos a cabo un pequeño caso de estudio que muestra que: (i) VizRob ayuda a resolver escenarios de depuración intrincados y (ii) VizRob llena un vacío importante que dejan las herramientas de desarrollo de comportamientos robóticos.
Para programación en vivo, presentamos LRP, un lenguaje de programación en vivo para comportamientos robóticos. Detallamos la importancia de LRP y presentamos unos experimentos para medir el impacto de LRP en la robótica basada en comportamientos. Descubrimos que LRP no supera significativamente un lenguaje clásico (i.e., no en vivo), ni en compresión ni en escritura de programas. No obstante, los comentarios de los sujetos de prueba indican preferencia por LRP. Estos resultados parecen contradecir estudios de programación en vivo en otras áreas. Acá aprendimos que la compleja API escogida tiene una fuerte influencia negativa en los resultados. Hasta donde sabemos, este es el primer experimento en profundidad de programación en vivo en un dominio complejo.
General note
Tesis para optar al grado de Doctor en Ciencias, Mención Computación
Identifier
URI: https://repositorio.uchile.cl/handle/2250/175437
Collections
The following license files are associated with this item: