¿Me puede sugerir un problema / proyecto de aprendizaje de robots de nivel principiante?

Mientras busca el objetivo de Machine Learning, supongo que también está interesado en el campo de Inteligencia Artificial. Hablando de aprendizaje automático, rara vez tiene algún efecto de la mecánica de un robot, pero depende mucho más de los códigos y de cómo se clasifican las entradas y los entornos en la memoria para su uso futuro.

Sugeriría que en lugar de construir un robot y luego ajustarlo con aprendizaje automático, busque un código simplista para predecir lo que necesita comprar en el supermercado y seguir actualizándolo. Puede pedirle que prediga qué cosas necesita comprar en qué día y recordarle si algo está por terminar.

Este proyecto tiene una vida útil de un par de meses, antes de que pueda mostrar algún efecto real.

Otra cosa que puede ser más rápida es sugerirle que haga un tipo de corrector ortográfico para su computadora. Puede pedirle que lea todos sus Gmail / Facebook / Quora / Twitter, etc. y determine el patrón que usa al escribir. Específicamente las frases, etc. que usa, o los términos de argot, que pueden no estar en el diccionario tradicional. Otro punto que puede agregar es predecir qué tecla desea presionar. Por ejemplo, muchas veces, si desea presionar ‘A’, presiona el ‘Bloqueo de mayúsculas’ o ‘S’. Puede entrenar al bot para predecir las palabras y, por lo tanto, a su vez, qué letras desea presionar. Es algo así como una SwiftKey simplificada para Android.

El reconocimiento de escritura a mano es otra gran práctica para el aprendizaje automático, pero necesita más esfuerzo y tiempo.

Edición: después de una gran debacle.

Escribí lo anterior cuando el tema Robot Learning no se mencionaba en los temas y los comentarios apuntaban a una consulta / interés en el aprendizaje automático. Después de una breve revisión de algunos temas y documentos, he llegado a comprender que el aprendizaje de robots es básicamente hacer un bot con inteligencia artificial, más inteligente, con la ayuda del aprendizaje de robots. Esto implica (pero no se limita a) entrenar varios tipos de actuaciones, comprender qué datos alimentan los sensores y cómo se divide el objetivo en comandos más pequeños y simples.

Por ejemplo, si un sensor térmico está dando temperaturas superiores a 150 grados centígrados y el sensor de humedad está dando 0% de humedad, combinando estas dos entradas, uno puede detectar algún tipo de incendio cercano. Pero individualmente, un bot automatizado simple tomará estas dos entradas como problemas diferentes. El bot puede interpretar que el circuito cerca del sensor de calor se está calentando y que el circuito cerca del sensor de humedad está defectuoso o expuesto a vientos de alta velocidad. Ahora, combine eso con un magnetómetro que está dando un pico lineal repentino en el campo magnético y se dará cuenta de que es un imán en movimiento o algún motor defectuoso que está causando todo el drama. El aprendizaje automático básicamente le brinda un método para organizar estos datos de la experiencia en un historial archivado que luego puede recuperar.

El aprendizaje de robots está un poco más enfocado que el aprendizaje automático. En lugar de solo organizar los puntos de datos y el comportamiento predictivo, se enfoca en ambos extremos del bot, el extremo de entrada (sensor) y el extremo de salida (actuación). Por ejemplo, si se le pidió a un robot que sirviera remolinos de helado desde una máquina dispensadora y se lo entregara al cliente, tendrá que ejecutar algunos cálculos primero definiendo el movimiento para un remolino perfecto y luego llevar el cono al cliente.

Ahora, dependiendo de la altura del cliente, la medida en que se debe extender el cono varía. Para un cliente bajo, debe estar muy cerca del mostrador y bajo. Para un cliente alto, podría estar bastante adentro. Ahora, modifiquemos un poco la historia. ¿Qué pasa con un niño en el regazo de una madre?

El cliente, per se, es bajo. Pero el alcance del niño + mamá es largo. Además, podría suceder que la madre tome el remolino y se lo dé al niño. Por lo tanto, dependiendo de la experiencia que tenga el bot con diferentes clientes, ajustará su producción, es decir, la extensión del brazo.

Ahora, con respecto a las entradas, que son más simples. Obviamente, habrá cámaras o sensores IR para monitorear a los clientes. El reconocimiento facial y las detecciones de movimiento son los algoritmos comunes que podrían usarse para detectar clientes desde el fondo. Entonces, dependiendo de qué hora del día sea, el bot tendrá que asegurarse de que sus sensores estén en la posición óptima. Por ejemplo, durante el mediodía, tendrá que reducir la apertura y el ISO. Durante el tiempo de la tarde, el resplandor de la puesta del sol puede desviar fácilmente el IR, por lo que sus datos serán muy cuestionables. Ahora sea claro en esto, archivar datos y compararlos para la función predictiva es aprendizaje automático. Pero cuando recolecta datos de sus sensores y despliega salidas en actuadores, su robot aprende. Puede intentar experimentar con simuladores disponibles, pero para una mejor comprensión del mundo real, tendrá que experimentar con hardware real y sensores reales.

Ahora, sobre varios ejemplos de proyectos cortos que pueden enseñar los conceptos de aprendizaje de robots. Comience con cualquier bot que involucre muchos sensores. Luego intente incorporar situaciones en las que cada sensor pueda interpretar el entorno de manera diferente, pero colectivamente, significará algo más. Otros ejemplos más pequeños pueden ser los siguientes:

  1. Un bot que recuperará una pelota u otro objeto lanzado por ti. Tendrá que controlar qué tan lejos lo arroja, cómo rastrearlo, dependiendo de su forma / tamaño y cómo capturarlo. Para una pelota, tendrá que usar un agarre de tres puntos, pero para un objeto más complejo (por ejemplo, una cuchara) deberá usar un agarre lineal de 2 puntos o una suspensión multipunto. Del mismo modo, puede enseñarle a leer la textura de algunos objetos y pedirle que busque y recoja flores del jardín. Dependiendo de su tamaño y forma, tendrá que aprender sobre la extensión del brazo, calcular el punto de pellizco de flores de diferentes tamaños y cómo transportarlas sin dejarlas caer.
  2. Un bot simple que vaciará una caja de arena para gatos. Tomará humedad, presencia de olor (probablemente detectará amoníaco) en el aire cercano y cada vez que alcance cierto nivel de incomodidad, lo cambiará. Se puede construir una extensión de este como ambientador de habitación. Puede comenzar por detectar los químicos en el olor desagradable de la habitación y luego usar un mecanismo para iniciar un activador de ambientador. Esto se puede extender para hacer un bot que determinará cuándo necesita limpiar su ropa. Concepto similar
  3. Si está de acuerdo con hacer un bot complicado, puedo sugerirle que intente construir un quadcopter y luego programarlo para que permanezca nivelado bajo diferentes condiciones de viento, con el uso de sensores g mínimos. O si lo desea, puede comprar un modelo de quadcopter, despojarlo de su placa de desarrollo y luego programarlo para que se mantenga nivelado.
  4. Si no está interesado en realizar ningún tipo de trabajo robótico y desea aprender sobre diferentes sensores y coordinarlos con actuadores, puede comenzar a usar cualquier simulador robótico. Pero incluso en ese caso, le sugiero que primero tenga confianza en los algoritmos de aprendizaje automático utilizando algunos motores básicos o simuladores de entorno.