Tal vez la hoja de ruta que creé te ayudará en tu viaje para aprender robótica. Veo que esta pregunta se hace mucho.
La hoja de ruta tiene 4 niveles y cada nivel se centra en 4 conceptos básicos.
Nivel de calentamiento
- Quiero comprar un automóvil, mi presupuesto es de alrededor de 3.60 lac, ¿qué automóvil y qué variante de ese automóvil es bueno para comprar?
- He recorrido un largo camino por el camino equivocado, ¿cómo puedo volver o mejorar?
- Tengo 46 años con un RSU. Puedo volver a la escuela gratis. ¿Qué títulos debería considerar obtener que me ayudarían a ponerme al día con la jubilación?
- ¿Por qué mi gato sigue maullando cuando me ve?
- Estoy casado y no estoy feliz. Solo quiero dejar todo y establecerme en un lugar donde nadie me conozca. ¿Qué tengo que hacer? ¿A donde debería ir?
- 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)
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 cuanto antes puedas hacer esto, más te agradecerás 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í, es posible 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.
- Más habilidades informáticas: ¿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áticas). ¿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 increíbles bibliotecas 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 =)