Veo que esta pregunta se hace mucho, así que seguiré adelante y haré todo lo posible para proporcionar una hoja de ruta que pueda guiar a alguien para comenzar o desarrollarse aún más en robótica. La hoja de ruta tiene 4 niveles y cada nivel se centra en 4 conceptos básicos. Cada concepto se entrelaza consigo mismo y desarrolla holísticamente sus genes robóticos internos 😉!
Nivel de calentamiento:
- Aprenda codificación: comience a elegir al menos un práctico lenguaje de programación. Arduino IDE es bueno. Python es genial. C / C ++ será fantástico. Mi sugerencia sería: Python . Hay varias razones para esto y más adelante en la hoja de ruta verá por qué.
- Aprenda electrónica: comience a construir circuitos electrónicos básicos. Puede ser tan simple como encender un LED. Luego enciende más LED. Haz una simple señal de tráfico. Implementar interruptores. Conozca las ideas teóricas sobre cómo funcionan el voltaje, la corriente, las resistencias, los transistores, los circuitos en serie y en paralelo. ¡Explore los sensores y servomotores también!
- Aprenda el ensamblaje básico: de niños nos encantaba hacer juguetes y construir cosas. Haz lo mismo aquí. Aprende a hacer algunas estructuras básicas con madera, acrílico, fibra o plástico.
- Integre con el microcontrolador: con el conocimiento de los conceptos anteriores, debe probarlos en un microcontrolador básico. Después de todo, desea que su circuito “reaccione”. La opción más popular entre los aficionados y principiantes es ir con Arduino. Arduino realmente ha simplificado el proceso de codificación e implementación de circuitos reaccionarios básicos.
(Recursos: YouTube, Khan Academy, Code, Coursera, Udemy)
- ¿El uso de interrupciones en la codificación C incorporada aumenta el tiempo de ejecución?
- ¿Para qué sirve CAN en la placa integrada?
- En la programación en C, especialmente en la programación de sistemas integrados, ¿por qué el desarrollador necesita una operación atómica cuando se usa?
- Cómo usar un temporizador de microcontrolador 8051 para calcular el tiempo entre dos eventos configurando SFR con ejemplo
- ¿Cuáles son los mejores institutos de formación industrial en JAVA y sistemas integrados en Delhi o Noida?
Nivel principiante:
- Aprenda la programación orientada a objetos: no solo es importante codificar en robótica sino también cómo codificar bien . La programación orientada a objetos (OOP) es un músculo tremendo para crecer y antes de que pueda hacer esto, más se agradecerá en el futuro. OOP no es exclusivo de Python. Sin embargo, en Python puede implementarlos fácilmente y practicar. A través de OOP, aprenderá sobre clases, métodos, herencia, etc. y esta es una técnica excelente para escribir códigos funcionales, modulares y eficientes.
- Aprenda física, probabilidad y álgebra lineal: a medida que pasa de ser un robotista infantil a un adolescente, es importante que también sepa cómo los demás miembros de la comunidad escriben, leen y hablan la robótica. Este lenguaje de robótica utiliza mucho la física, la probabilidad y el álgebra lineal. Sí, puede que no disfrutes de estas materias en la escuela o la universidad, pero confía en mí, las necesitas si te tomas en serio la robótica. No puedes hacer visión por computadora sin saber sobre matrices. No se puede planificar el camino sin conocer la física. No se puede hacer inteligencia artificial o aprendizaje automático sin conocer la probabilidad.
- Habilidades informáticas más complicadas: ¿qué quiero decir con eso? Muchos recién llegados a la robótica se sorprenden (¡yo también lo estaba!) De que necesitan aprender este nuevo sistema operativo de aspecto alienígena que tiene un pingüino en algún lugar al lado. Estoy hablando del sistema operativo Linux . Es imperativo que alguien que busque profundizar en la robótica se familiarice con Linux. Muchas bibliotecas, paquetes y software desarrollados para robótica se distribuyen de manera muy fácil y eficiente en entornos Linux. Elección popular del sistema operativo Linux: Ubuntu
- Sistemas integrados: ahora que ha desarrollado un mejor conocimiento de codificación, circuitería, conceptos teóricos y familiaridad con Linux, necesitamos implementarlos en una computadora más pequeña que nuestra computadora portátil. Así que adelante y pruebe los conceptos de nivel de calentamiento junto con lo anterior conceptos en una mini computadora como Raspberry Pi o BeagleBone. ¡Conecta algunos sensores, servos y una cámara a una de estas minicomputadoras y escribe un código para detectar, mover y detectar cosas!
(Recursos: YouTube, Khan Academy, Code, Coursera, MIT OCW)
Nivel intermedio:
- Desarrolle fundamentos teóricos: aquí, dependiendo de qué área de robótica le interese, necesita aprender más sobre la teoría detrás de esto. Aprenda sobre la manipulación robótica del brazo (cinemática y control), percepción (visión por computadora, álgebra lineal, matrices), aprendizaje automático / inteligencia artificial (probabilidad, estadística, matemática). ¿Ves cómo algunos de los conceptos anteriores son fundamentales para estas áreas centrales de robótica?
- Use bibliotecas avanzadas: ahora necesita implementar algoritmos de aprendizaje automático y / o visión por computadora en su robot. Después de todo, el robot debería poder ver, pensar y aprender, ¿verdad? En Python, hay bibliotecas increíbles escritas para implementar algoritmos de aprendizaje automático y visión por computadora, por ejemplo, flujo de tensor y OpenCV. Del mismo modo, también se puede practicar mucha IA en Python. Por supuesto, puedes hacer lo mismo en C / C ++. Sin embargo, estoy tratando de mantenerlo consistente aquí.
- Familiarícese con ROS: con el conocimiento de todo lo anterior, un excelente middleware que uno debe aprender es el Sistema Operativo de Robot (ROS). Puede ser un poco difícil de aprender al principio. Sin embargo, ROS abre sus puertas para probar algoritmos avanzados y simulaciones en robots que ni siquiera tiene. ¿Quieres volar un quadcopter? ¿O navegar un robot de forma autónoma en un mapa? ¿Qué tal conseguir un brazo industrial para recoger un objeto? Puede hacerlo en ROS a través de su entorno de simulación llamado Gazebo.
- Más CAD: puede interesarle desarrollar y diseñar robots complejos. Comience a aprender software de diseño 3D como Blender o SolidWorks para que pueda diseñar sus propios robots.
Nivel experto:
- Siga aprendiendo y creciendo: cada concepto mencionado anteriormente es infinito por su propia virtud, y para convertirse en un experto en robótica, deberá invertir el tiempo y seguir aprendiendo. Te darás cuenta de que necesitas aprender más clasificadores o modelos para detectar mejor los objetos / imágenes. O puede que necesite aprender más sobre algoritmos de control para optimizar sus soluciones.
- Más software / hardware: dependiendo de su área de interés y especialización, hará cada vez más codificación, desarrollo algorítmico, ROS y / o diseño robótico.
Por último, definitivamente no soy un experto y, por lo tanto, no puedo agregar mucho a eso. Lo que puedo decir con certeza es que incluso yo no sé lo que no sé. Una cosa importante para recordar es: comenzar y ser coherente =)