intento de wiki
P1NW1N3CH0 H1R4N3 edición Antártica¶
Objetivo del Proyecto¶
Objetivo General¶
Aplicar los conocimientos informáticos e ingenieriles necesarios para construir un robot que pueda controlares de manera remota, se capaz de moverse y pueda también lanzar un proyectil.
Formulación del Proyecto¶
Objetivos específicos¶
A corto plazo:- Aprender a usar la plataforma Redmine
- Aprender a programar el robot
- Entender e ingeniar soluciones para el funcionamiento eficiente del robot
- Adecuarnos a las posibles dificultades que surjan a lo largo del desarrollo del proyecto
- Manejar la conexión entre computador y robot
- Implementar las funciones con las librerías necesarias
- Diseñar e implementar un sistema de disparo y hacer el cálculo necesario para volverlo preciso
- Diseñar e implementar el resto de sistemas necesarios para que el robot funcione correctamente
Organización del Personal (Roles)¶
Jefe de Grupo: Francisco Pantoja (Jefe de Grupo y Vocero de Grupo)
Tomás Silva (Administrador Logístico)
Daniel Alday (Programador)
Benjamín Gómez (Ensamblador)
Rol de Grupo | Descripción del engargado de grupo | Nombre |
Jefe de Grupo | Encargado de Redacción de Informes | Francisco Pantoja |
Analista Logístico | Encargado de Reporte y Documentación | Tomás Silva |
Ensamblador | Encargado de Construcción e Ingeniería | Benjamín Gómez |
Programador | Encargado de Programación | Daniel Alday |
Planificación de recursos¶
Recursos Materiales e Inmateriales
Categoría | Recurso | Cantidad | Costo |
Hardware | Kit LEGO MINDSTORMS ev3 | 1 | CLP $ 1.000.000 |
Computadoras | 1 | CLP $ 800.000 | |
Adaptador Wifi | 1 | CLP $ 10.000 | |
Tarjeta SD (8Gb) | 1 | CLP $ 8.000 | |
Piezas extras | Ind. | Gratuito (Por la Institución) | |
Software | Visual Studio Code | - | Gratuito |
Discord (Sin Nitro) | - | Gratuito | |
- | Gratuito | ||
Nano | - | Gratuito | |
S.O. ev3_dev | - | Gratuito | |
Servicios | Plataforma Redmine | - | Gratuito (Por la Institución) |
Google Workspace | 1 plan | Gratuito (Por la Institución) | |
Licencia Microsoft 365 Empresa Básico | 1 plan | USD $ 6.00 por mes; ≈ CLP $ 34.000 en 6 meses |
Costo Hora
Rol encargado | Horas Asignadas | Semanas de Trabajo | Valor Hora | Costo Total |
Jefe de Grupo | 8 Horas por semana | 16 Semanas | CLP $20.000 | CLP $ 2.560.000 |
Analista Logístico | CLP $18.000 | CLP $ 2.304.000 | ||
Programador | CLP $25.000 | CLP $ 3.200.000 | ||
Ensamblador | CLP $22.000 | CLP $ 2.816.000 | ||
Costo Total | CLP $ 10.880.000 |
Estimación costo total proyecto: $12.732.000 CLP (doce millones, setecientos treinta y dos mil pesos chilenos)
Análisis y Diseño¶
Journal¶
Sobre el formateo de la wiki, se investigó sobre Textile, un lenguaje que permite el formato en la Wiki
Textile lang
- se vio la posibilidad de realizar una interfaz con un lenguaje anteriormente investigado, especializado en interfaces gráficas además de ser móviles
- se vio la posibilidad de usar un servidor RPyC para el manejo de órdenes para el robot, esperando que sea mucho mejor que la alternativa bluetooth
1er Objetivo: Hacer posible el envío simple de palabras claves a través de la conexión cliente-servidor se pudo
2do Objetivo: Lograr hacer funcionar funciones más complejas
- se vio la posibilidad de usar otra librería alternativa para la conexión robot-computador, la librería llamada Socket, mucho más fácil de ocupar y parece que contiene los mismos beneficios
- se vio la posibilidad de usar la librería pynput, que facilita el entendimiento de las pulsaciones del teclado, transformándolas en objetos muchos más simples para el código
Análisis y Diseño¶
Especificación del Requerimiento¶
El robot deberá ser capaz de moverse y disparar a un objetivo determinado. El disparo
se efectuará utilizando un proyectil y su trayectoria tendrá que ser calculada siguiendo
el modelo de lanzamiento parabólico (ideal) visto en la asignatura de mecánica clásica.
Dentro de los Requerimientos Funcionales están presentes el crear un servidor (dentro del robot) que permita comunicarse con el cliente (computador). Mediante esta comunicación el robot debe ser
capaz de moverse remotamente, además de disparar un proyectil, gracias una interfaz gráfica controlada por el usuario.
Dentro de los Requerimientos no Funcionales se contempla la estabilidad del robot, además de que su código de programación esté escrito en el lenguaje de programación Python.
Arquitectura¶
El bloque EV3 internamente se compone de un procesador ARM9, una memoria SD
que soporta su sistema operativo EV3-Dev, basado en Linux; un dongle de conexión
Wifi y 8 puertos RJ12 modificados para sensores y motores. (ver ComponentesLego.jpg)
Sistema de Movimiento¶
El movimiento del robot se lleva a cabo gracias a una base sólida, la cual
consta de dos ruedas traseras y dos orugas. Las ruedas traseras aprovechan la potencia de 2 LargeMotor que impulsan a las orugas, y
éstas, a su vez, facilitan su movimiento sobre superficies irregulares. La conexión entre ruedas y orugas es mediante un sistema de engranado,
el cual transmite uniformemente el movimiento a la base sólida. (ver SistemaMovimiento.jpg)
Sistema de Disparo¶
El proyectil es lanzado por una catapulta, la cual funciona con un
LargeMotor. La catapulta consta de dos fases, fase de carga y fase de disparo.
La fase de carga es considerada como el estado neutro del robot, su
ángulo de inclinación es 180°. La fase de disparo comienza con el giro del LargeMotor, el cual gira al 100% de su capacidad y genera flexión en las
varillas gracias al tope que las mantiene en su lugar por un corto tiempo determinado. (ver SistemaDisparo.jpg)
Sistema de Sensores¶
Este apartado engloba al sensor de distancia ultrasónico, el cual utiliza
ondas de sonido reflejadas para medir distancia entre el sensor y cualquier objeto que se encuentre en su camino. La distancia máxima que registra el sensor es de 2500 milímetros (2.5 metros).
Una vez detectada la distancia óptima de disparo (1.2 metros), el robot emitirá un sonido, indicando que es seguro disparar a esa distancia. (ver SistemaSensores.jpg)
Robot con todos sus componentes¶
El sistema de disparo está por debajo de los otros dos sistemas, soportando el sistema de disparo con una base especial y agregando el sensor en la parte posterior del robot. (ver RobotCompleto.jpg)