Quiero entrar en robótica y sistemas embebidos. Tengo muy poca idea sobre la programación (solo programación básica de arduino). ¿Como empiezo?

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:

  1. 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é.
  2. 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!
  3. 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.
  4. 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:

  1. 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.
  2. 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.
  3. 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
  4. 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:

  1. 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?
  2. 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í.
  3. 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.
  4. 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:

  1. 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.
  2. 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 =)

Ciegamente tome la ingeniería electrónica. Estudie estas cosas primero.
1. Electrónica básica
2. Electrónica digital
3. Microprocesadores
4. Arquitectura de la computadora
5. Sistemas operativos
6. LINUX
7. C
Las dos últimas cosas son las más importantes.
Compre un beagle bone black y comience a hacer aplicaciones usándolo e intente construir un kernel personalizado. Mi blog podría ayudarlo a aprender el kernel de Linux.

Realmente no puedo decir acerca de una estrategia definida, pero puedo decirte sobre la estrategia que seguí:

Mira los 15 videos de Jeremy Blum.

Compre un arduino, una tumbona y un par de sensores. Haz todos los robots posibles que puedas construir. (usa la red si quieres)

Invierten en 1-2 escudos y hacen más cosas.

Ahora es el momento de hacer proyectos más grandes. Comience a aprender sobre algunas cosas más grandes que puede usar para hacer interfaces (como la programación de Android)

Saltan a Raspberry PI, beagleBone … O cualquier otro microcontrolador de su preferencia.

PD: ¡No olvides seguir jugando durante tu viaje!

para introducción a sistemas embebidos

esto es para frambuesa pi,

esto es para robótica

y usa YouTube sabiamente

Podrías intentar hablar con él y luego pensar en lo que dice después. Entonces, tal vez digas que lo que has notado es diferente, y pregúntale si está viendo a alguien más. Si él dice que sí, entonces tienes mucho en qué lidiar ahora. Pero creo que es muy común para ellos decir que no, incluso cuando lo son, por lo que una respuesta negativa a veces no es de mucha ayuda. Piénsalo, si alguien te está engañando a tus espaldas es porque no quiere que lo sepas. Ya sea porque quieren tener su pastel y comerlo, o porque piensan que es solo una aventura, o porque no han decidido si dejarlo o no y están tratando de decidir

hackbishop19 [@] gmail (.) com

More Interesting

¿Cuáles son las instrucciones PUSH y POP en los microcontroladores 8051?

¿Qué debo hacer para convertirme en un gran ingeniero de sistemas integrados?

¿Qué es el embalaje en un microcontrolador?

¿Los robots tienen sistemas integrados en ellos?

¿Qué instrucciones están escritas para los conductores y en qué idioma están programadas?

¿Cómo debo comenzar con la programación del microcontrolador 8051? ¿Alguien puede dirigirme a programas 8051 simples?

Estoy interesado en continuar en el dominio incrustado y actualizarme con nuevas tecnologías. ¿Qué industrias / empresas puedo abordar?

¿Cuál es la diferencia entre los sistemas embebidos y los sistemas utilizados en robótica o la robótica en su conjunto?

¿Cuáles son los pros y los contras de little-endian versus big-endian?

Empecé a trabajar en Raspberry Pi usando Python. Tengo el problema de que los programas que se ofrecen en Internet no se explican. P.ej. para ejecutar UART se proporciona un archivo llamado 'serial'. ¿Cómo sabría qué funciones se dan en este archivo y qué opciones de parámetros están disponibles?

¿Qué instituto es el mejor para la capacitación en circuito integrado en Delhi?

¿Qué debo hacer si tengo interés en la incrustación y la robótica, pero estoy en mi tercer año en E&TC?

¿Hay algún microcontrolador que podamos codificar en Python?

¿Cuál es la diferencia entre ANSEL y el registro de ANSELH en el microcontrolador PIC?

¿Cuál fue el mejor libro para aprender sobre los sistemas integrados para principiantes?