fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Proyecto robot velocista.

318 Respuestas
21 Usuarios
0 Reactions
83.3 K Visitas
_jm_
Respuestas: 961
 JM
Topic starter
(@_jm_)
Prominent Member
Registrado: hace 19 años

Hola pues me dispongo a desarrollar un velocista en un plazo de un año, es decir, para el próximo cosmobot si dios o la caixa quieren. Y me gustaría pedir consejo y escuchar opiniones sobre diferentes puntos.

La base va a ser un coche rc de escala 1/28, como el miniz del cosmobot, esta vez otro modelo de coche, al que he podido incorporar un microservo de 0.1 s 60 grados, para el giro.

Mi primera duda surge en que tipo de sensores para detectar la línea usar, o cuáles hay disponibles. Lo ideal es que cuanto más pequeños mejor, y probablemente haga lectura analógica sobre digital, ya veremos como afectan los cambios de luz.

Yo hasta ahora sólo conozco dos modelos de sensor, en CNY70 y el QRD1114 de fairchild que nunca he usado, en el cosmobot vi a gente que llevaba diversos tipos de sensores, algunos de ellos eran muy pequeños, a ver si alguien me puede indicar otro modelo de sensores distintos de los dos anteriores, o foto trt y foto diodo.

Segunda duda, es como colocar los sensores, mi idea inicial es volver a usar dos placas de sensores, una delante y otra detrás, la de detrás es muy útil para conocer la posición del robot respecto a la línea, para poder realizar cambios de carril y acelerar, cuando el robot está centrado.

En el cosmobot vi a un robot, este http://es.youtube.com/watch?v=IVLpgTclsrI que usaba esa técnica para seguir la línea, me comentaron que esta era la manera correcta de hacerlo, o como se debia hacer. Me gustaría saber que ventajas tiene de hacerlo de esta forma frente a la clásica placa de sensores fija en el coche. Supongo que de esta forma se podrá obtener un error mucho más exacto.

Y por último que microcontrolador usar, he estado leyendo y creo que la mejor elección para este tipo de proyecto es un DSP, además de un mayor número de MIPS llevas los multiplicadores por hard, bastante útil a la hora de realizar operaciones.

Las señales que habría que leer en principio serían los sensores y un encoder que lleve el coche, que aún no sé muy bien donde se lo voy a poder colocar, quizás en el piñon o en la corona, y luego por último leer la batería. Las salidas el motor y el servo.

Aunque con un micro de 8 bits bien programado se puede hacer todo esto y más, yo creo que es un buen proyecto para iniciarse con micros mayores (almenos para mi), aún no sé la cantidad de operaciones que habría que hacer por segundo, mi idea inicial siendo muy optimista, es alcanzar los 2 m/s de media.

Así que a ver si alguien me puede aconsejar un micro para empezar, de momento yo he pensado en el dsPIC del que ya tendría el programador, por lo que el coste sería cero. Pero puestos a aprender no sé si sería mejor irme al mayor fábricante, es decir texas instruments, lo que no sé es cuánto costaría un DSP de estos, y cuánto el material para el desarrollo. La idea es usar un micro smd frente a un kit, por razones de espacio.

Tb me estoy iniciando estos días con atmel, que supongo que tendrá su alternativa a usar.

Gracias. S2

Responder
317 respuestas
chris
Respuestas: 564
(@chris)
Ardero
Registrado: hace 18 años

tal vez me haya pasado, pero cada vez tenemos dispositivos y componentes más y más pequeños que llegan a hacer simple su aplicación de mejoras donde no se acostumbra usar, por ejemplo en velocistas.

para verlo más simple, piensa en una placa lineal de sensores (en línea recta, en V, en curva, etc.) y solo estás jugando con una dimensión más el tiempo. Con visión artificial reducida puedes enviar las señales (matriz bidimensional) a un proceso que puede interpretar la perspectiva e identificar la forma de la línea de la pista, para transformar la señal a un nivel conceptual más alto: recta, curva abierta, curva cerrada, bifurcación, etc., las medidas y variaciones.

En la reducción, me refiero a optimizar la red para que no interprete rostros u otros objetos, simplemente optimizado a una pista de competición de velocistas, sin ordenador, solo un pic suficientemente rápido, otro para la interpretación de imagen por red neural, memoria y un algoritmo de red bayesiana conectado directamente entre la red neural y el control.

Responder
_jm_
Respuestas: 961
 JM
Topic starter
(@_jm_)
Prominent Member
Registrado: hace 19 años

Al igual que al colocar los sensores más lejos te anticipas antes, haciendolo más ancho tb te anticipas antes cuando pierdes la línea totalmente y reentras o cuando sobrepasas el sensor que se corresponde con el ángulo de máximo giro, en el caso del tipo coche.

De todas formas para anticiparse habría que usar una doble placa de sensores delantera, con una sólo no te puedes anticipar. Con dos tienes la posición del coche y de la línea.

Supongo que el número y colocación de los sensores es la primera decisión a tomar y yo no lo tengo nada claro x_x.

Cuál os parece la mejor colocación de los sensores?

Yo creo que puede ser interesante leer las dos líneas a la vez, primero porque al ir por el medio de los carriles tienes mas distancia a la línea roja, por lo que puedes correr más.

Y segundo porque siempre vas a tener una línea de referencia, cuando pierdes una tienes la otra y en todo momento conoces tu posición y velocidad de desplazamiento respecto a la línea.

Lo malo es que pierdes la ventaja de correr por el carril interior, por lo que yo diría que tienes que hacer un 5% más de distancia que uno que vaya por dentro, pero esto se compensa con poder alcanzar una velocidad mayor por el exterior.

No sé me parece buena opción montar una placa con los 20 cm permitidos llena de sensores y tomar la referencia sobre las dos líneas, creo que voy a ir pensadolo.

Alguien ve un inconveniente más a esta idea?

Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 17 años

Lo del PID, por el código que he escrito una vez (para otro tema muy diferente), resulta que es relativamente sencillo de hacer. Lo malo, jodido, difícil, complicado y muuuy largo (que me corrija el maestro _Silent) es quitarle el Tocino. Es decir, sintonizar o ajustar los tres valores de ganancia P, Ki y Kd.

Y como muy bien ha dicho _Silent, esto sólo sirve para ajustarse a la línea.

Dado el principio de funcionamiento de un PID, resulta que cuantos más sensores mejor, es decir si ponemos 16 sensores en 5 cm, podemos 'medir' el 'error' con más resolución, y trabajar mejor con el PID. Así con dos sensores o tres, sólo tenemos dos opciones: más a la derecha, o más a la izquierda. Con más sensores, sabemos si es más, mucho más, menos o más o menos.

Además, se puede hacer un ajuste PID sobre una línea de sensores cercana al eje delantero, y poner otra línea más adelante, o un sensor óptico, para hacer una predicción. Por supuesto, visión artificial supone potencia de cálculo a mansalva, y una línea de sensores sigunifica que con menos potencia y complejidad nos basta.

Respecto del posicionamiento, también creo que es fundamental. Saber con anticipación cuando viene una recta, para ir acelrando, y saber cuando nos acercamos a una curva y es el mejor momento para frenar, saber a que velocidad podemos hacer la curva, etc, es fundamental para ganar. Al fin y al cabo, la capacidad para calcular los puntos de frenada, aceleración y ajustarse a ellos, es la capacidad que distingue a Schumacker de un aficionado cualquiera. Sólo que esto no es fácil (GPS o similares???).

Respecto del control de velocidad que JM ha comentado, tengo una idea mejor. Se trata de controlar el motor con un Mosfet P, la otra línea a masa, un schottky bueno, y monitorizar la tensión del motor cuando no se le aplica la tensión (y el schottky ha dejado de conducir). De esta manera se mide la fuerza contraelectromotriz, que no es más que usar el motor como si fuese una dinamo tacométrica.

Por supuesto, un encoder también serviría para tomar medidas orométricas, y por ende, ayudar a situar el coche.

Huy, creo que hablo demasiado, que luego me quedo sin ideas originales para hacer yo...

Por cierto, he gugleao un ratico corto, y los pocos algoritmos que he visto son sencillitos, tipo P, si es que se puede llamar P a algo más parecido a un termostato que otra cosa.

Responder
juanjo
Respuestas: 451
(@juanjo)
Ardero
Registrado: hace 18 años

Buenas,
Pero es que aún hay quien no usa bombillas de bajo consumo !!?? 😈

Creo que sobre esta duda nos debe sacar el autor de las pruebas, :). Pero siguiendo con la ironía no estaría mal que te acercases por un Carrefour o un Leroy Merlin y nos dieses una estimación del porcentaje de unas bombillas y otras puestas a la venta, seguro que se apróxima bastante a la cuota de mercado de cada tipo, 😛 ahhh y también mejoraríamos el ratio mensajes con información técnica/mensajes de saludos y otros. Que hay algunos temas muy interesantes en el foro, pero cuando ves que hay demasiados post te cuesta filtrar.

No te lo tomes a mal, 😆

Hola, tarde, pero mejor que nunca:

Estoy preparando una placa con estos sensores:

http://es.farnell.com/1471020/optoelect ... -qre1113gr

Es de lo más pequeño que se puede encontrar en Farnell.

Bunas beamspot, no se si te habrás mirado lo que hablamos en la última reunión de ARDE Madrid, pero al final me he comprometido a ayudar en lo que pueda al desarrollo de uno de estos microbots y como tu estas haciendo lo primero que he hecho es buscar sensores. Actualmente he comprado tres en farnell, dos tipo SO y el otro el CNY famoso para comparar, ya que es el que suele usar todo el mundo. El qeu he adquirido es el SFH9240 y el que tiene solo un transistor; para probar diferencias entre analógico y digital.

Respecto a las pruebas que tengo pensado realizar son pruebas de medida de retardo de propagación y de reflexión en distintas superficies. ¿Hay alguna otra prueba interesante a realizar, que no sea de protencia, si no de parámetros para la medida? Una de las carencias que tengo es el no disponer de un generador de onda cuadrada, así que me vendría muy bien si alguien dispone de un código para PIC que lo pueda implementar, de lo contrario a nuestro equipo nos va a tocar hacer uno con un PIC, pasandole por el RS232 el valor de la frecuencia, no creo que sea muy difícil, pero como todo lleva su tiempo y de eso es lo más caro que hay hoy en día.

Bueno en cuanto tenga los resultados de las pruebas os dejaré por aquí las conclusiones.

Saludos.

Responder
juanjo
Respuestas: 451
(@juanjo)
Ardero
Registrado: hace 18 años

Beamspot, veo enel PDF que has dejado que el Tr y Tf de este sensor son 20 uS, pero no indica nada sobre el retardo de propagación. No se si es correcto llamarlo retardo de propagación, pero es el tiempo que transcurre alponer el led a "1" y que obtengas un "1" a la salida del transistor.

Sería interesante saber cual es, ya que con Tr, Tf y Rp puedes tener una idea de la precisión de la medida en el tiempo.

Pulse conditions: tp = 100μs; T = 10ms.

Esto no se si es suficiente para 10 m/s, digo 10 por que el diseño deberá ser a 10 m/s para conseguir en la práctica quedarte en 2 m/s.

Responder
Página 16 / 64
Compartir: