Además de jugar “Doom” en una computadora portátil que maneja un proyector, también hay un sistema de visión basado en IA que detecta el movimiento del jugador y lo usa para controlar el juego.
Parece que hace solo cuatro semanas (espera, ¿fue hace solo cuatro semanas?) Presentamos al acertadamente llamado Nick Bild. Sistema de realidad virtual basado en 6502 hecho en casa.
Nick me envió un correo electrónico y me dijo: “Construimos un sistema que te permite jugar ‘Doom’ en una pantalla gigante usando tu cuerpo como controlador. Lo llamo ‘Doom Air'”.
Como un aparte, Según wikipedia: “Doom es un videojuego de disparos en primera persona (FPS) de 1993, considerado uno de los títulos más importantes e influyentes en la historia de los videojuegos, y uno de los juegos FPS más omnipresentes en la actualidad. Ayudó a ser pionero en un tipo de juego y ha sido frecuentemente citado como uno de los mejores videojuegos de todos los tiempos”.
de este video, puedes ver a Nick demostrando su sistema. Contiene “Doom” ejecutándose en una computadora portátil y su salida impulsando un proyector.
La computadora portátil también ejecuta una API REST que simula presionar las teclas del teclado físico cuando cada punto final recibe una solicitud remota. Jetson Nano tiene una cámara CSI apuntando al sujeto. Esto está ejecutando un modelo de red neuronal convolucional en tiempo real a medida que la cámara captura las imágenes. Cuando se detecta un gesto (o un conjunto de gestos para los que se entrenó el modelo), se envía una solicitud de API a la computadora portátil. Esto simula presionar una tecla, controlando así la acción de “Doom” proyectada frente a ti. Por ejemplo, si apuntas una pistola de juguete a un enemigo proyectado en una pared, explotará (ver disponible aquí).
Bueno, colores intrigantes. Esto me llevó a enviarle un correo electrónico a Nick y preguntarle si podía darme un poco más de información sobre sí mismo. ¿Cómo se metió en todo esto en primer lugar (qué edad tenía y qué despertó su interés), cómo empezó a trabajar con hardware o software, y cómo obtuvo algún tipo de formación formal o autodidacta?
Nick muy amablemente respondió:
Tengo 40 años y mi formación formal y mi experiencia son todas en software. Licenciatura en Sistemas de Información. MS, Bioinformática; 15 años de experiencia en ingeniería de software.
Últimamente, me he dado cuenta de que el enfoque de solo software es un poco escaso. Manipular hardware y crear objetos físicos con los que puedes interactuar parece más “realista” cuando tiene sentido.
Este sentimiento me llevó a querer construir mi propia computadora desde cero como un ejercicio de aprendizaje. Quería entender en una microescala lo que estaba pasando dentro de la computadora que programé. También usaré esto como una oportunidad para aprender sobre electrónica en general para poder desarrollar más las ideas que tengo en mi cabeza en el futuro. Cuando era un niño de los años 80, elegí el procesador 6502 para construir mi computadora por razones nostálgicas y por su relativa simplicidad en comparación con las CPU modernas. El entregable para este ejercicio es Vectron 64.
https://github.com/nickbild/vectron_64
Avergonzado de admitir en este punto, alrededor de septiembre de 2018, estaba literalmente buscando en Google “¿cuál es la diferencia entre voltaje y corriente?” En abril de 2019, el Vectron 64 estaba completo (todas las noches y los fines de semana, ya que tengo un trabajo diurno y una familia). Crea un paso a la vez. Por ejemplo, ejecutar libremente, agregar ROM, agregar LCD, agregar teclado, tratar los problemas a medida que surjan. Ya conocía la lógica digital, por lo que mi experiencia en software me ayudó con el diseño. Tuve que aprender a hacerlo en hardware.
Quería tomar todo lo que aprendí construyendo computadoras y hacer algo moderno con eso. Decidí construir un periférico de auriculares VR para eso.
https://github.com/nickbild/vectron_vr
Pasé por el mismo proceso de dividir el problema en pasos y resolverlos uno por uno a medida que ocurrían (¡y había muchos!).
También estoy muy interesado en el aprendizaje automático y la inteligencia artificial, ya que la cantidad de aplicaciones prácticas del mundo real está aumentando. Nuevamente, no tengo experiencia en esta área, pero pensé que si me involucraba y luchaba un poco, podría hacer algo interesante.
https://github.com/nickbild/doom_air
Trabajo como ingeniero de software para una gran empresa para pagar las facturas, pero mi corazón está en I+D y en intentar construir el próximo gran avance. Hasta entonces, he estado ocupado hasta altas horas de la noche en la oficina de mi casa, trabajando en el siguiente problema sobre cómo expresar mis ideas en hardware y software.
No sé ustedes, pero yo estaba increíblemente impresionado. Es bastante sorprendente cómo pasó de no entender la relación entre el voltaje y la corriente a construir una computadora completamente funcional en ocho meses. maravilloso. No podemos esperar a ver qué se le ocurre a Nick a continuación. Mientras tanto, háganos saber lo que piensa en la sección de comentarios a continuación.