Proyecto de seguimiento de objetos [cerrado]

-2

Tengo que crear un sistema que pueda rastrear un objeto en el aire y dispararle un proyectil. Esto es a pequeña escala. Quiero usar un sensor ultrasónico porque no sé nada acerca de los algoritmos de visión. También tengo que respaldar todo matemáticamente, esto es para mi clase de teoría de control moderna. Tengo matlab y Simulink en la punta de mis dedos, pero no tengo idea de por dónde empezar. ¿Alguna sugerencia? Gracias !!!

    
pregunta Niko_Jako

1 respuesta

2

(Respondiendo a esto a pesar del amplio alcance porque se trata claramente de un proyecto final de estudiante ... Estoy tratando esto como una pregunta sobre cómo un estudiante universitario debe abordar la gestión de proyectos de Capstone).

Al igual que con cualquier diseño, primero identifique los requisitos del proyecto e intente dividir todo el proyecto en unidades de diseño más pequeñas. Este sigue siendo un proyecto bastante grande para una persona.

  • ¿Cuál es su presupuesto (tanto en tiempo como en dinero)?
  • ¿Cuánto se sabe sobre el objeto de destino? ¿Sabe de antemano qué tan grande es y de qué está hecho? ¿El objetivo es reflexivo? ¿Es redondo o se ve diferente desde diferentes ángulos?
  • ¿Está construyendo la plataforma motorizada que controla el azimut / elevación?
  • ¿Estás construyendo el mecanismo de tiro con proyectil?
  • ¿Estás usando una cámara de video y un capturador de fotogramas? Un sensor ultrasónico es bueno para detectar el rango de alcance si está dentro de su campo de visión, pero no determinará el acimut / elevación.
  • Si tenía una plataforma ideal de azimut / elevación y un lanzador de proyectiles ideal, ¿sabe cómo usar las leyes de Newton para determinar el azimut / elevación (solución de disparo) necesaria para alcanzar una ubicación de destino determinada? ¿Y sabe cómo estimar la futura ubicación de destino según la ubicación actual?

A continuación, piense cómo puede probar cada uno de estos componentes del proyecto individualmente (es decir, Pruebas de unidad ).

  • ¿Tiene una manera de lanzar de manera confiable el objeto de destino para poder realizar pruebas repetibles?
  • ¿El sistema de visión puede adquirir de manera confiable la ubicación de destino?
  • ¿El mecanismo de disparo de proyectil funciona de manera confiable cuando se dirige a una ubicación estática?
  • ¿La matemática de la solución de cocción funciona para casos de prueba conocidos?
  • ¿Se reconoce la entrada incorrecta como una condición de error o simplemente se propaga como salida incorrecta?
  • Cuando falla una unidad, ¿hay alguna información de diagnóstico útil?

Finalmente, después de que cada unidad individual trabaje por sí misma, comience a integrar estas unidades en un sistema completo. No espere hasta el último día de clase para comenzar a encender las cosas. Un sistema complejo como este tendrá muchos puntos de falla pequeños, el truco es tratar de encontrar los pequeños problemas lo antes posible, para que siempre tengas algo funcionando y cada semana tengas más sistemas funcionando.

Si nunca ha usado un sistema de control de fuente (git, svn, cvs, etc.) ahora es el momento de aprender. Nunca se arriesgue a perder su código fuente. Cuando la presión está activa, es fácil cometer un error; tener la disciplina de git commit -m "fixed frob() issue; about to test" ayuda a evitar que los errores sean desastres irrecuperables.

Volver a los requisitos del proyecto. Recuerde probar si su proyecto cumple con los requisitos. Un punto clave es que un requisito implica algo que es verificable. "El sistema debe disparar un proyectil a un objetivo" es un requisito comprobable, simplemente muéstrele un objetivo y vea si dispara un proyectil. "El sistema debería golpear el objetivo más del 75% del tiempo" es otro requisito comprobable ... haga ocho ejecuciones de prueba y pasa la prueba si recibe seis impactos. También puede haber requisitos de la lista de deseos, como el "Lo que deseo el sistema puede alcanzar un objetivo de 1 mm que se mueve a 75 km / h" ... Dado que este es un proyecto final, lo más importante es superar todos los pasos y obtener algo que funcione y que cumpla con todos sus requisitos "imprescindibles", incluso si no cumple con toda la lista de deseos.

Respecto a stackexchange en sí, vale la pena leer el recorrido del sitio (barra de menú superior | ayuda | recorrido). Mucha gente piensa erróneamente que este sitio es un foro, pero en realidad es un sitio de preguntas y respuestas.

Uno de los mejores recursos es tu laboratorio universitario. Acerca de la mitad de lo que aprendí en la universidad, aprendí dando vueltas en los laboratorios, ayudando a otras personas con sus problemas y recibiendo ayuda con mis propios problemas. A veces, solo explicar su problema atascado a otra persona, ayuda a obtener una perspectiva que aporta la solución.

La mejor de las suertes ...

    
respondido por el MarkU

Lea otras preguntas en las etiquetas