Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
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
Los datos del torque están mal, ese motor lo vendían antes en banebots pero se les terminó, y ahora sólo lo veo ahí.
No recuerdo de cuánto era el torque (diría que 1.8 kg-cm) pero espero que suficiente para mover un robot pequeño, si no habrá que buscarles otra utilidad.... He pedido dos a ver como salen.
El miniz lo voy a hacer (es al que más ganas le tengo), pero tb voy a montar uno diferencial, a ver si veo cuáles son las ventajas haciendolo, ya que todo el mundo lo lleva así.
Para leer dos líneas yo prefiero una placa toda de sensores, así siempre vamos a leer una línea, si sólo ponemos sensores en los extremos podemos perder línea, en el caso de que el robot se desplace.
La verdad es que en cuanto a los temas del diseño aún no lo tengo muy claro, y creo que la primera decisión es la posición, tipo y número de sensores.
No sé si esto que pienso sobre la colocación de los sensores es correcto.
Lo que interesa es llevar los sensores lo más alejados posibles del centro de giro, es decir en uno diferencial lo que interesa es llevar los motores detrás del todo y los sensores lo más lejos posibles de estos.
No porque nos anticipemos a la curva y frenemos antes, el espacio que nos queda para tocar la línea roja cuando llegamos a la curva es el mismo si nuestro coche mide 10 cm que si mide 30.
Ni tampoco porque tengamos mejor resolución, la resolución nos la da el tamaño de los sensores.
Donde influye es en que aumentamos la velocidad con la que giramos, por lo que contrarrestamos problemas de inercia y de fuerzas que nos echen hacía fuera.
En fin esto tan fácil de ver yo me acabo de dar cuenta ahora x_x, confirmarme que es así, que tb a estas horas pienso muchas tonterías. Por lo que hay que aprovechar la longitud máxima permitida en un diferencial, es decir robot de 30 cm.
Ahora para el caso del tipo coche yo diría que esto se comporta de igual manera, mi duda es donde está el centro de giro, en el eje delantero? en el trasero? en la intersección del ángulo de la rueda con el eje vertical del coche?
Qué ventaja tiene utilizar un robot más corto a la hora de tomar una curva (ya que el velocista que ahora mismo más corre por los concursos (Jet) es cortito..), no me refiero a la distancia entre ejes que cuanto menor sea aumenta el radio de giro, si no a la longitud total del vehículo con los sensores delante. Supongo que la ventaja es que ganamos en estabilidad, ya que nuestro giro mínimo es menor.
En fin tengo un problema grave de mecánica en cuanto a conceptos para el diseño de la base, y hasta que no solucione esto no tiene sentido mirar el resto.
A ver si alguien sabe decirme, que yo de coches na de na x_x. Gracias.
El centro de giro de un coche está fuera del coche. De hecho, está en la intersección donde se cruzan los ejes delantero y trasero. Si las ruedas directrices están rectas, el eje de giro está en el inifinito, ya que según la teoría, dos ejes paralelos son aquellos que se cruzan en el infinito... No se si Einstein estaría muy de acuerdo con ello.
Lo que si me queda claro, es que al reducir la distancia entre ejes (la llamada 'batalla'), con el mismo giro de ruedas, se acorta la distancia del eje de giro al coche. Pero también se hace más nervioso, y por tanto más inestable.
Leer en analógico es lento si usas un ADC, pero con un comparador, la cosa es más rápida. Por supuesto, no tanto como leer en paralelo, pero los cálculos es que en unos 200us se habrían leído los ocho fotosensores. ¿Es esto suficiente? Además, le di unas vueltas ayer, y se puede quitar cualquier interferencia de la luz ambiente sin intervención del micro, son un simplísimo filtro pasabanda r-c. Esto a la entrada del comparador, y la salida del mismo ya es digital, de manera que es como leer datos de un SPI.
A ver si tiro un poquillo de esquema y lo posteo aquí.
Lo de las dos líneas, me decanto por la idea de poner dos placas de sensores, una a cada lado, y dejar el centro desocupado. Más sencillo con menos sensores.
Y por cierto, los sensores smd permiten poner uno cada 3.8mm de distancia del otro, con lo que uno tiene más resolución (más sensores) que con los CNY, de manera que tiene más 'bits' para ir jugando con el PID.
Pues sí ahora que lo dices en el tipo coche no vale, la velocidad angular de todas las partes del coche es la misma al estar el centro de giro fuera, por lo que el caso es distinto al diferencial, en el que la velocidad angular de los sensores es mayor cuanto más lejos.
Bueno pues los sensores cerca en el miniz.
Gracias.
El radio de giro de un coche varía en función del ángulo que forman las ruedas delanteras (directrices) con el eje horizontal de las ruedas traseras (motrices). Si coges un papel:
* Dibuja 4 ruedas con las 2 delanteras giradas un cierto ángulo y las traseras rectas.
* Saca una línea perpendicular a las ruedas traseras (eje trasero).
* Saca una línea perpendicular a las ruedas delanteras hacia un lado hasta que corte al eje de las ruedas traseras.
* Ese serà, aproximadamente, el radio de giro.
(no se si era esto exactamente lo que tú pedías?)
El problema de este sistema es que el radio de giro es muy grande. Para mejorarlo hay que aumentar el aumentar el ángulo que pueden abarcar las ruedas delanteras y/o disminuir la distancia entre el eje trasero y el delantero.
Pero este sistema nunca será tan eficaz (hablando de radios de giro) como un diferencial o un sniffer.
