¿Cómo debe un estudiante de informática comenzar a aprender sobre robótica?

Primero, tengo una buena noticia para usted: la robótica es tanto sobre software como sobre hardware. No necesita hacer el robot: algunas personas con un buen historial en EE o ME lo harán mejor que usted, pero para hacer que este hardware sea lo suficientemente bueno para sus necesidades, necesita un software complejo que se ocupe de todo el sensor y el actuador, fusione su información para dar sentido a la información a un nivel semántico y luego convertirla de nuevo en comandos para los actuadores. Y créanme, ya sea que lo vean en la decisión de bajo nivel o en la toma de decisiones de alto nivel, esta es una tarea difícil.

Mi experiencia también está en CS: Verificación y validación, Representación del conocimiento e Inferencia fueron los temas que estudié más a fondo hasta que me moví en arquitecturas robóticas para mi doctorado.

El software robótico es un gran dominio que se reúne desde diferentes campos relacionados con CS.

La más natural y, a menudo, directamente aplicable es la teoría de control: en este dominio intenta implementar una Ley de control que cerrará el bucle de bajo nivel entre la información que tienes (posición de 6 DOF y velocidad de un drone) en los comandos que Lo mejor es permitir seguir un camino. Hay una gran cantidad de optimización lineal involucrada aquí y es necesario tener una buena formación en matemáticas. Cualquier robot que se mueva, ya sea un vehículo o un brazo, tendrá en su nivel más bajo un circuito de control que se basa en este campo.

El procesamiento estocástico y el razonamiento están ahí también. Como los datos de detección a menudo son ruidosos y el resultado de los comandos es incierto, usar una representación estocástica en el nivel intermedio, ya sea para anclar la percepción ruidosa en conceptos fundamentados o decidir la acción más arriesgada / más prometedora para evitar el fracaso / alcanzar un objetivo local es una necesidad. Inteligencia Artificial: Programando un Coche Robótico, el curso de S. Thrun en su propio sitio web es todo sobre esto: todas las técnicas que presenta están relacionadas de una manera u otra con el proceso gaussiano y la inferencia estocástica. Este curso también está dirigido a personas con un buen historial en CS, por lo que debe sentirse cómodo con él.

Tener cualquiera de estos 2 te hace bien equipado en la forma en que la industria percibe un robot automatizado / “autónomo” en la actualidad. Ir más allá requerirá que explore los problemas de toma de decisiones de alto nivel o la arquitectura de software para sistemas robóticos. La toma de decisiones de nivel superior implica generalmente algunos conceptos presentados en el curso de Thrun a un concepto más abstracto. Por ejemplo, la planificación del camino que presenta es bastante simple, ya que un automóvil tiene relativamente pocos grados de libertad. Si intentas hacer una planificación de la trayectoria en un sistema más complejo, como un brazo robótico o incluso un robot humanoide, necesitas explorar una técnica más avanzada. El libro de Steve Lavalle es un buen material para él (Planning Algorithms / Motion Planning que está disponible gratuitamente en el enlace). sin embargo, tenga en cuenta que este es un material avanzado frágil y no trata el problema de la integración de dichas técnicas en un circuito de control.

Mi preferencia personal se dirige a la planificación y ejecución de tareas de nivel superior, ya que es mi propio campo include Esto incluye la planificación clásica, preferiblemente con representación de tiempo y recursos o planificación probabilística que se ocupa de representaciones similares a la proporcionada por Thrun. La mayor parte del trabajo allí está relacionado con los algoritmos de búsqueda, tal vez un poco de teoría de juegos y mucha arquitectura de software. Sin embargo, esto todavía está bastante lejos para ser realmente útil junto con la experimentación a nivel de doctorado.

Espero que esto ayude.

EDITAR: Necesito mencionar que el campo que di está relacionado con mis propios intereses con un nivel de abstracción creciente desde el bucle de control de bajo nivel hasta la toma de decisiones de alto nivel con un fuerte énfasis en la toma de decisiones. Hay otros campos más relacionados con la percepción que son relevantes para el robótico: procesamiento de señales, aprendizaje automático, fusión de información (estocástica o de otro tipo) que puede relacionarse con SLAM y la lista podría seguir y seguir mientras los conozco en el nivel alto I Prefiero dejar que otros den consejos más precisos.

Construye unos cuantos robots.

Consiga un viejo y mejorado dispositivo de almacenamiento digital, un DMM, algunos tableros de prototipos, un soldador, unos mosfets y relés de cajas de chatarra y un tablero de desarrollo de microcontroladores como un arduino. Además, tome algunos textos sobre electrónica, encuentre algunos foros donde la gente discuta esas cosas y comience a construir, hacer preguntas y aprender. Que te diviertas. Sí, quemarás un poco de silicona. Está bien, es bastante barato. Sí, de vez en cuando se sentirá frustrado y no entenderá por qué su conductor de línea lateral alta no funciona o su motor paso a paso no está pisando o su sensor está devolviendo ruido. Eso también es parte del proceso. Si realmente te quedas atascado, encuentra un espacio de hackers cerca de ti y discute tu problema con otros tipos de hardware. Usted lo resolverá como innumerables tienen ante usted.

Como todos los músicos saben, no hay nada más que hacerlo.

Aww hombre, ¿has oído hablar de FIRST robótica? Si no, échales un vistazo; usted podría fácilmente unirse a un equipo o mentor de un equipo de escuela secundaria y aprender de esa manera.

Su experiencia en CS ayudará mucho, y esto lo expondrá a la robótica y le dará la oportunidad de aprender de otros con mucha experiencia o de mentor de otros.

Ojalá hubiera investigado esto más cuando todavía estaba cursando mis estudios de CS&CE; Tuve la oportunidad de ayudar con una competencia de la escuela secundaria en mi universidad, ¡y Holy Cow fue impresionante lo que hicieron los niños!

De manera desafiante, compruébelo al menos en: http://www.usfirst.org/roboticsp

La robótica es un campo interdisciplinario que abarca muchas áreas:

Ingeniería mecánica : se estudian los brazos de robot y otras partes rotacionales y cómo interactúan.

Ingeniería eléctrica – Circuitos y otros chips controlan el movimiento.

Informática : Heurística y decisiones simples, planificación y aprendizaje forman los diversos algoritmos que se utilizan para programar el robot. Aquí viene bajo la rama de la Inteligencia Artificial.

Física : se estudian los movimientos angulares, la velocidad y otras funciones.

Por encima de todo, la asignatura principal llamada Matemáticas entra en juego.

Así que depende de qué área de robótica desea especializarse o trabajar en

Arduino es una gran plataforma para comenzar con la robótica. Puedes hacer un robot simple usando no mucho más que un Arduino, dos servomotores de rotación continua y un paquete de baterías.

Hay toneladas de información excelente para comenzar en Let’s Make Robots! | ¡Hagamos robots!

No te preocupes por el acceso a un robot para empezar. La mayoría de las veces los robotistas trabajan con robots simulados.

Si puedes programar C ++, descarga e instala ROS y MoveIt !. Si no, aprende C ++.

Aprecio tu elección y entusiasmo por Arduino. Arduino es hoy la mejor herramienta o puede decirse que es la plataforma para aficionados y estudiantes locos como nosotros. Su principal ventaja es su simplificación en cuanto a su uso. Como sin profundizar mucho en la electrónica, una persona puede comenzar a trabajar en arduino, por lo que es como un compañero para un estudiante de CS

Su parte de programación también es muy simple y la principal ventaja es que puedes aprender todo de la A a la Z acerca de arduino desde su propio sitio que es Arduino – Inicio.

Para empezar, lo mejor es Arduino Uno y después de que tus manos sean resistentes, debes moverte a Raspberry Pi y Beagle Bone.

Todo lo mejor

Varios sitios web en línea abren puertas para que los estudiantes aprendan robótica. Puede visitar aquí para conocer los excelentes sitios web que trabajan para enseñar robótica a personas y niños interesados ​​en una etapa temprana de la vida. Visita aqui Para una mejor comprensión, también puede consultar este seminario por CoderZ .

Puede comenzar tomando algunas clases de EE, como la programación de microcontroladores. Si quieres comenzar a hacer algunos proyectos, puedes mirar los kits de tormenta mental de Lego. Son relativamente baratos y fáciles de aprender. Tu fondo de CS te ayudará mucho en la programación de la robótica.

Arduino es excelente y fácil de usar, pero debería aprender sistemas integrados desde cero, así que comience con el ensamblaje y luego incrustado C. Solo asegúrese de poder codificar a bajo nivel y entienda el hardware con el que está trabajando. También un buen curso que podrías tomar sería uno en sistemas de control, esto te ayudará en robótica. 🙂