Veo que esta pregunta se hace mucho, así que seguiré adelante e intentaré dar lo mejor de mí para proporcionar una hoja de ruta que pueda guiar a alguien para que empiece o se desarrolle 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 de manera holística tus genes robóticos internos!
Nivel de calentamiento:
- Aprender codificación: comience a aprender al menos un lenguaje de programación práctico. 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ás por qué.
- Aprende electrónica: comienza a construir circuitos electrónicos básicos. Puede ser tan simple como encender un LED. A continuación se encienden más LEDs. Hacer una señal de tráfico simple. 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. ¡Explora sensores y servomotores también!
- Aprende 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 utilizando madera, acrílico, fibra o plástico.
- Integre con el microcontrolador: con el conocimiento de los conceptos anteriores, debe probar y probarlos en un microcontrolador básico. Después de todo, quieres que tu 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:
- ¿Cuánto tiempo se tarda en aprender C ++?
- Cómo aprender marketing de afiliación.
- Cómo aprender cosas nuevas rápidamente.
- A los que empiezan a aprender coreano y les dicen que dominan el idioma. ¿Cuántos años y horas te llevó?
- Necesito aprender Android. ¿Dónde debo ir en línea?
- Aprenda 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, por sus siglas en inglés) es un músculo tremendo para crecer y, antes, puedes hacer esto, más te agradecerás en el futuro. OOP no es exclusivo de Python. Sin embargo, en Python puedes implementarlos fácilmente y practicar. A través de la POO, aprenderá sobre clases, métodos, herencia, etc., y esta es una excelente técnica para escribir códigos funcionales, modulares y eficientes.
- Aprenda física, probabilidad y álgebra lineal: a medida que crece de un robotista infantil a un adolescente, es importante que también sepa cómo la robótica es escrita, leída y hablada por otros miembros de la comunidad. Este lenguaje robótico utiliza mucho la física, la probabilidad y el álgebra lineal. Sí, es posible que no disfrutes de estos temas en la escuela o la universidad, pero confía en mí, los necesitas si eres serio con la robótica. No se puede hacer visión por computadora sin saber acerca de las matrices. No se puede hacer la planificación del camino sin saber acerca de la física. No se puede hacer inteligencia artificial o aprendizaje automático sin conocer la probabilidad.
- Habilidades informáticas más involucradas: Ahora, ¿qué quiero decir con eso? Muchos de los recién llegados a la robótica se quedan perplejos (¡yo también!) 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. Opción de SO Linux popular: Ubuntu
- Sistemas integrados: ahora que ha desarrollado un mejor conocimiento de la codificación, los circuitos, los conceptos teóricos y la familiaridad con Linux, necesitamos implementarlos en una computadora más pequeña que nuestra computadora portátil. Así que adelante, pruebe los conceptos de nivel de calentamiento junto con los anteriores Conceptos en una mini computadora como Raspberry Pi o BeagleBone. ¡Enganche algunos sensores, servos y una cámara a una de estas computadoras y escriba un código para detectar, mover y detectar cosas!
(Recursos: YouTube, Khan Academy, Code, Coursera, MIT OCW)
Nivel intermedio:
- Desarrollar los fundamentos teóricos: aquí, dependiendo del área de robótica en la que esté interesado, debe aprender más sobre la teoría que la sustenta. Aprenda sobre la manipulación robótica del brazo (cinemática y control), la percepción (visión artificial, álgebra lineal, matrices), aprendizaje automático / inteligencia artificial (probabilidad, estadística, matemáticas). ¿Ves cómo algunos de los conceptos anteriores son fundamentales en estas áreas de robótica central?
- Utilice bibliotecas avanzadas: ahora necesita implementar algoritmos de aprendizaje automático y / o de visión artificial 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 el aprendizaje automático y los algoritmos de visión computacional, por ejemplo, tensor de flujo y OpenCV. Del mismo modo, también se puede practicar una gran cantidad de IA en Python. Por supuesto que 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 software intermedio que debe aprender es el Sistema operativo de robot (ROS). Puede ser un poco difícil de recoger 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é hay de conseguir un brazo industrial para recoger un objeto? Puedes hacerlo en ROS a través de su entorno de simulación llamado Gazebo.
- Más CAD: Usted puede estar interesado en 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 de experto:
- Continúe aprendiendo y creciendo: cada concepto mencionado anteriormente es infinito por su propia virtud, y para convertirse en un experto en robótica, necesitará invertir tiempo y seguir aprendiendo. Se dará cuenta de que necesita aprender más clasificadores o modelos para detectar mejor los objetos / imágenes. O puede que necesite aprender más sobre los algoritmos de control para optimizar sus soluciones.
- Más software / hardware: dependiendo de su área de interés y especialización, estará haciendo más y más de 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 seguridad es que no sé lo que no sé. Una cosa importante para recordar es: comenzar y ser consistente =)