# Bender Robot Tareas --- Table of Contents: [TOC] --- ## Navegación * (*) herramienta para determinar si cierta posición es alcanzable por el sistema de navegación, para evitar intentar llegar, cuando a pesar de que esté dentro del mapa, en realidad no haya un camino disponible. * (**) Navegación con gradientes (campos de potenciales): Se busca modificar el comportamiento del sistema de navegación de Bender,para que evite tomar siempre la ruta más corta, sino que se tenga un trade-off entre distancia a recorrer y seguridad. Actualmente, al elegir la ruta más corta (pues usa Dijkstra) y no usar el láser trasero, es normal que Bender se quede pegado cerca de un muro, pensando que si se mueve lo colisionará, lo que se hubiera evitado, de haber tenido la precaución de navegar más alejado de la muralla. * (*) Documentación del sistema de navegación : ejecutar las cosas e ir documentando su uso. * (**) Publicar al sistema un tópico con el estado de las baterías de bender. * (*) Mapeo semántico, que permita decir definir goals de lugares como Cocina, Dormitorio, etc, que permita establecer la conectividad entre tales lugares. Que permita establecer si cierta pose en el mapa se ubica en cual de las áreas definidas, o cerca de que objetos definidos. (algo así como lo que se ve en esta imagen) * (*) Creación de un behavior de búsqueda en el mapa, o cierta área del mapa. La idea es generar trayectorias (no tan redundantes) que permitan recorrer un mapa, sin que un humano tenga que indicar las poses deseadas. Con eso, se podría buscar objetos o personas en el mapa, que a priori no se sabe la pieza en que se encuentran. El behavior generado debe ser dinámico, en el sentido que el robot debería poder adaptarse en caso de que alguien ocupe un lugar por el que bender deba pasar. * Generar las trayectorias a partir de un mapa * Creación de un behavior dinámico que use la herramienta anterior. ## Visión * (***) Detectar waving, sin un kinect extra. * (**) Mejorar el reconocimiento de caras en distintas distancias * (**) Testear y si es el caso mejorar el reconocimiento de género. * (*) Detectar expresiones faciales(hasta ahora estamos ocupando emotime). * (***) Probar el reconocimiento de personas con personas acostadas y ocuparlo para detectar cuando la persona se levante o al sentarse. * (**) Documentación de visión ## Brazos * (***) Calibrar brazos, idealmente por software. * (***) Mejorar manipulación. * (**) Agregar posiciones(saludar, pasos, premanipulacion, etc). * (***) Reconección de brazos ## Macros * (*) Enroll Face, cpp a python * (*) Enroll Person, cpp a python * (*) Search Person, cpp a python ### Links * [Consideración al crear brazos nuevos](http://cs.stanford.edu/people/ang/?portfolio=a-low-cost-compliant-7-dof-robotic-manipulator) * [Ideas para nuevos grippers](http://www.thingiverse.com/search/page:1?q=gripper&sa=) * [Ideas para nuevos grippers2](http://grabcad.com/library?per_page=20&query=gripper) * [Interfaz digital para la cámara térmica](http://www.flirshop.com/product/tau-camera-link-expansion-board/Tau320-Accessories) ## Speech * (***) Timeout, despues de algunas iteraciones que continue. * (***) Configurar microfono y su reconección.