Regresaré a EE después de un tiempo, así que disculpe mi ignorancia. Estoy buscando una manera de detectar la ubicación precisa al aire libre para navegar un robot para un proyecto con mis hijos.
¿Hay una forma de bajo costo para triangular o usar GPS? Estoy buscando precisión hasta la pulgada. Además, no me importa si necesito colocar algunos transmisores en diferentes lugares para darle una referencia al dispositivo.
Esto es para un cortacésped robótico. Tengo un patio de 2 acres y mi casa está cerca del centro con varios árboles como obstáculos.
Dos de mis tres hijos (14 años, 11 años, 5 años) plantearon la idea, por lo que el objetivo real de este proyecto es pasar tiempo con ellos y despertar su interés en EE y CE.
Dicho esto, el costo es un factor, pero no me importa si trabajamos en él durante los próximos 2 años y gastamos un poco más y más.
Aquí están mis planes actuales
- Incluya una PC con Windows a bordo para que pueda codificar contra los sensores.
- Microsoft Connect a bordo para ayudar con la detección de obstáculos (razón para PC con Windows)
- Incluye un GPS USB para ubicación general
- Incluye cámara solo por diversión
En 2 años, si tengo algo de dinero, está bien, pero no quiero comenzar con un GPS caro y loco.
¡Gracias a todos los que me han ayudado!
Respuestas:
Debería considerar voltear el sistema. No es necesario que el robot mismo determine la ubicación. Solo necesita saber qué hacer. Esto se le puede comunicar desde una PC fija a través de un enlace WiFi. Con dicho enlace, no importa si el robot determina la ubicación o si eso se hace en la instalación fija y luego el resultado se transmite al robot. Si el robot alguna vez pierde la conexión WiFi, simplemente podría detenerse. Eso evita que se salga del alcance y, por lo tanto, no obtenga la información que debería cambiar, mientras que corta todos los jardines de flores en el vecindario. Creo que también es una buena idea mantener el robot lo más simple posible y poner la mayor parte de la carga en la instalación fija, donde es más fácil de monitorear, arreglar y trabajar.
En realidad no he hecho esto, pero aquí hay algo que se me ocurrió mientras reflexionaba sobre su problema. Tener un emisor IR giratorio en el robot. Esto podría rotar una vez por segundo más o menos. Dispara una hendidura vertical bastante estrecha de IR modulada. Luego coloca sensores IR fijos alrededor del lugar, principalmente en la periferia. Estos indican cuándo perciben el haz del robot, que solo será por una pequeña fracción del intervalo de repetición. Al comparar el tiempo de las señales de los distintos sensores y conocer su ubicación, debería poder calcular la posición del robot. El desplazamiento de tiempo de cualquiera de los dos sensores dividido por el período de baliza le indica los ángulos relativos de esos dos sensores como se ve desde el robot. Con suficientes sensores y un montón de matemáticas (se puede hacer fácilmente en cualquier PC moderna en una pequeña fracción de segundo), Puedes resolver la posición absoluta del robot. La PC luego envía los comandos apropiados al robot a través de una conexión TCP a través del enlace WiFi.
El robot en realidad no necesita la información de posición. Todo el "pensamiento" se hace en la PC fija. Todo lo que necesita el robot es un pequeño sistema integrado con un módulo WiFI y una pila TCP / IP. Puede enviar comandos básicos al robot, como dirección relativa, velocidad, etc.
Los datos de cualquiera de los dos sensores colocan al robot en un arco que también incluye los dos sensores. El arco exacto depende del desplazamiento del ángulo de los dos sensores. En teoría, todo lo que necesitas son tres arcos, lo que significa tres sensores. Usaría varios más para que los sensores individuales puedan caerse temporalmente por varias razones. Eso sobrecargará el problema, pero con el algoritmo correcto puede hacer uso de todos estos datos y encontrar la ubicación más probable del robot.
Como dije, no he intentado esto, pero creo que debería ser capaz de obtener una precisión lo suficientemente buena como para controlar una cortadora de césped. Al menos, este esquema no se basa en nada particularmente costoso, difícil de obtener, o en algo que pueda medir razonablemente en su propio patio trasero (sin tiempos de nanosegundos, por ejemplo).
fuente
Las respuestas anteriores abordan el problema desde el punto de vista de cómo el cortacésped puede detectar su posición. Sin embargo, los sensores pueden ser externos, es decir, de la casa. Coloque cámaras para que puedan ver el cortacésped en cualquier lugar de su jardín. Ponga un símbolo o una bandera o algo colorido en la cortadora de césped y algunos puntos de referencia (o use reflectores infrarrojos o leds, de esta manera puede instalar lentes con filtro de muesca en las cámaras y solo dejar entrar, trivializando el código de seguimiento). Como las cámaras son fijas, la ubicación de los puntos de referencia y la cortadora de césped dentro de los cuadros de video deben proporcionar datos de localización inequívocos. La precisión dependerá de la resolución de la cámara. De esta manera, no tiene que gastar tanto en la electrónica de a bordo, y su código de procesamiento de imágenes puede ejecutarse 'desde casa'.
fuente
Puedo pensar en un par de formas en que esto podría lograrse dependiendo del rango en el que desea que se mueva el robot (¿metros o 100s de metros?)
Sin embargo, el GPS definitivamente no le dará el nivel de precisión en pulgadas con hardware fácilmente disponible. Para lograr esa precisión, deberá realizar la corrección diferencial de fase portadora. Si bien esto no es demasiado complicado, no es tan simple como enchufar un módulo. Puede mirar este proyecto para ver su implementación.
Un enfoque más fácil puede ser usar balizas IR o ultrasónicas y usar sensores en el robot para determinar el rango relativo entre él y las diversas balizas. Un receptor servo montado puede aislar el ángulo del transmisor y la intensidad de la señal relativa. Desafortunadamente, no es probable que obtenga el nivel de precisión en pulgadas de esta manera.
fuente
Otra opción es usar una cámara web y algunas formas / colores conocidos, y ejecutar un reconocimiento de imagen simple. Use la triangulación (quizás girando la cámara web con un motor paso a paso) para averiguar dónde se encuentra. Esto es factible si tiene una gran cantidad de CPU a bordo (por ejemplo, un BeagleBone o una netbook) en lugar de algo pequeño como un Arduino.
fuente
Buscaría una ruta diferente de todas estas otras respuestas. Entierra un cable en tu patio alrededor del perímetro. Conduzca con un pequeño circuito que emite una señal de 100 kHz (o algo así). Eso sería muy fácil de detectar con una plataforma móvil. Es exactamente la misma técnica utilizada por esos sistemas sin cerco utilizados para mantener a los perros en el patio. Demonios, probablemente podrías tomar una de las unidades para usarla como sensor.
Eso te daría el control del perímetro. Si siente la señal de 100 kHz, está al límite. Por supuesto, primero pruebe esto sin una segadora (quizás su primer diseño debería ser un auto R / C modificado para hacer esto. También abandonaría la PC con Windows y tomaría un sistema Arduino. Son baratos y para una inversión inicial de un unos pocos cientos de dólares y un auto R / C, tienes tu prototipo.
Como padre, estoy bastante seguro de que quieres que esto sea lo más seguro posible. Esto significaría NO atar un montón de dispositivos electrónicos a su confiable de dos tiempos. Vea si puede encontrar una copia antigua de la revista Radio-Electronics de los años 80. Tenían un diseño de cortacésped robótico allí llamado Lawn Ranger. Por supuesto, no recrearía su diseño original, pero tenían varias innovaciones novedosas, incluido un sensor fácil de construir para detectar hierba cortada (evitar obstáculos, detección de perímetro y navegación) y, lo que es más importante, tenían un diseño único para el cuchillas de corte que eran significativamente más seguras que una libra de acero afilado y endurecido que se balanceaba. Su sistema de corte era esencialmente un par de discos oscilantes con cuchillas x-acto fijadas a ellos. Los discos girarían, lo que significa que si una roca (¡o un pie!) Se interpusiera en el camino, resultando en una lesión menos desastrosa. Recomiendo revisar esa serie de artículos y aplicar algunos de los principios a su diseño moderno. Puede obtenerlos de su biblioteca pública; Sé que el mío los tenía.
Buena suerte, esto suena como un gran proyecto que mantendrá a los jóvenes interesados y pensando.
fuente
Me pregunto si sería posible usar el GPS con giroscopios para un seguimiento de posición estable. Uno podría aplicar métodos de aprendizaje de lógica difusa si supiera cómo y tuviera señales de error de posición (PES) estables de ambas fuentes. GPS para detección de posición a gran escala +/- 10m y Gyro's o algún otro medio para seguimiento de posición de corto alcance +/- 0.1m
Plan 1) Mida los datos de seguimiento de ruta GPS para cada niño que corta el césped utilizando una radio Zigbee o un sistema de recolección de datos a bordo. Luego analice la estabilidad, el patrón, la velocidad, la efectividad en un programa de análisis de trayectoria que agregue la distancia, analice la fluctuación de la pendiente, la superposición o el número efectivo de pistas X e Y.
2) Luego elija el camino óptimo y memorícelo. (migaja de galleta) para registrar varias rutas utilizadas por cada niño y evaluar la ruta registrada para el rendimiento y la seguridad de la ruta.
3) Mida varios PSA de ruta cortando con vectores ortogonales, vectores oblicuos, pistas circulares y determine el error de seguimiento efectivo para cada método de guía del vehículo y comente las variaciones estéticas del césped cortado producido.
Simplemente use las señales de posición grabadas acumuladas para el análisis y luego intente el seguimiento robótico con un sistema servocontrolado de 4 canales. (Gas, dirección, freno y otros).
La lección más importante es aprender a comunicarse (con niños, clientes e ingenieros). Aprender a escribir una especificación antes de diseñarla es la lección más importante. Qué entradas, procesos y salidas, entradas ambientales y parámetros comprobables / medibles con criterios de aceptación y rechazo. También debe haber recompensas adecuadas para cada hito y consecuencias para el fracaso.
Esta es una miniatura del plan del proyecto, las especificaciones de diseño y el plan DVT. (Prueba de validación de diseño)
Tu éxito depende de ello. Buena suerte y diviertete.
fuente
Si bien esto es solo un punto de partida, le recomiendo que lea este PDF que explica la teoría detrás del localizador de audio de John Swindle . Según recuerdo, explica diferentes métodos de localización, y explica el método de John, ¡que tiene una precisión de hasta media pulgada! (La configuración no es trivial y no se proporciona el código, pero se usa con buenos resultados para el evento RoboColumbus de DPRG (Dallas Personal Robotics Group)).
fuente
/electronics//a/23506/5439
Vea mi respuesta a otra pregunta sobre LPS. La respuesta corta es que este es un problema bastante difícil y los sistemas existentes son bastante caros (comenzando en varios miles de dólares). La sugerencia de usar sensores ultrasónicos es buena, si buscas en Google puedes encontrar arte previo sobre el uso de ultrasonido e incluso sonido audible para esto.
fuente
Actualmente, udacity ofrece un curso gratuito en línea Programación de un automóvil robótico que le enseña cómo lo hace Google para sus automóviles autónomos. Básicamente utilizan el GPS para un posicionamiento general junto con mapas almacenados y sensores de visión para la localización con un alto grado de precisión. El software usa filtros de partículas.
Podría hacerlo solo con el GPS si utilizara el costoso equipo diferencial GPS utilizado por los topógrafos, pero eso difícilmente sería rentable. Como sugiere, si usa un par de transceptores de bajo costo (¿Xbee quizás?), Podría medir fácilmente la distancia con un grado extremadamente alto de precisión transmitiendo un pulso y midiendo el tiempo que toma viajar desde el transmisor en el robot al Repetidor remoto y posterior. Esto es como RADAR, excepto que en lugar de rebotar la señal de una superficie pasiva, sus transpondedores estacionarios la envían de regreso.
EDITAR: Dado que Kevin me llamó en este caso, tal vez mejor lo explique ;-) (Todo en buena diversión, tengo el mayor respeto por Kevin y él es bastante correcto que no proporcioné suficientes detalles para mostrar cómo implementar esto).
Para medir el retraso de propagación entre dos puntos con precisión se requieren principalmente dos cosas: 1) Una ruta de señal en línea recta ya que las reflexiones crearán distorsiones. 2) Algunos componentes electrónicos en ambos extremos que utilizan relojes sincronizados y la capacidad de medir intervalos de tiempo con la precisión requerida.
Los relojes sincronizados son relativamente fáciles ya que la estación receptora puede derivar su reloj de la señal transmitida por la otra estación. Esta es una transmisión de datos síncrona estándar con recuperación de reloj.
Aquí hay un documento que mide el retraso de propagación en un enlace de datos bidireccional de 1.25 Gbps donde obtienen fácilmente este tipo de precisión en una pieza de fibra óptica de 10 km de largo. Afirman: "Debería poder sincronizar ~ 1000 nodos con una precisión de subnanosegundos en longitudes de hasta 10 km".
además
EQUIPAMIENTO USADO:
Ahora, claramente, esta configuración particular es exagerada para la mayoría de los proyectos de robótica de hobby, pero podría reproducirse fácilmente en casa ya que utiliza tableros de desarrollo listos para usar y no requiere talentos especiales para trabajar. En el caso del robot, el enlace sería de radio en lugar de un cable de fibra óptica. Quizás incluso podría ser un enlace IR como el control remoto de un televisor, aunque sospecho que afuera, a pleno sol, eso podría ser problemático. ¡Por la noche podría funcionar muy bien!
fuente
Como otros han dicho, la localización es un problema difícil y la resolución de una pulgada a un costo razonable es muy difícil. Quizás le interese saber que hay una competencia de nivel universitario que involucra cortadoras de césped robóticas: la Competencia de cortacésped robótico ION . Fui parte de un equipo que se preparaba para ION; al final, no competimos, pero ciertamente pasamos mucho tiempo pensando en el problema, que definitivamente es más difícil de lo que parece. Tenga en cuenta que mayoría de los competidoresen la última competencia de ION cortó menos del 50% del campo en el tiempo asignado, ¡con plataformas que cuestan decenas de miles de dólares! Sin embargo, tiene una ventaja, porque ION no permite ayudas de navegación externas, como balizas, que hacen que el problema sea mucho más fácil de resolver. (Y no tiene límite de tiempo). Revisar los informes de proyectos de los equipos sería una buena fuente de ideas.
Si me embarcara en un proyecto de cortacésped robótico como el suyo, probablemente usaría una combinación de GPS barato (para ubicación aproximada), balizas IR / ultrasónicas / multicolores (ubicación fina (r)), codificadores (estimación de posición) y visión por computadora (varios). No recomendaría gastar miles de dólares en sofisticados sistemas GPS e IMU. El Kinect es una buena idea, y ciertamente es mucho más barato que Lidar; Definitivamente, tendrás mucho que ver entre el mapa de profundidad y la cámara.
También recomiendo el curso Udacity sobre programación de autos sin conductor para una introducción a los conceptos involucrados.
fuente
Ahora que ha modificado la pregunta para eliminar el requisito de una resolución de una pulgada y nos ha dicho que tendrá una PC con Windows y un Microsoft Connect a bordo, creo que podría hacer una muy buena ubicación con solo ese hardware en el robot.
¿Has visto algunos de los Scopes Golf baratos que la gente usa para encontrar la distancia al tee?
La forma en que trabajan es medir la altura percibida de la bandera en el green (que es una altura fija) y mostrar la distancia al tee. Este es un triángulo rectángulo simple donde, si conoce el ángulo y la altura del lado lejano, puede calcular la longitud de la base. Este es exactamente el tipo de cosas que sus hijos aprenderán en geometría y más tarde en trigonometría.
Dado que su casa parece ser visible desde todas las partes de su lote, ¿tal vez sería fácil ver 2 esquinas y calcular la distancia?
fuente
Usa la energía del sonido de la podadora. Es su propio pinger. O tal vez su ruido pueda usarse para enmascarar principalmente un chirrido de audio agregado al cortacésped, tal vez sincronizado con el cigüeñal o la cuchilla. Coloque un micrófono en la podadora y en algunos lugares alrededor del patio. Obtenga una estimación aproximada de la ubicación en función del volumen. Los micrófonos más cercanos no tendrán tantos problemas de trayectos múltiples. Luego, correlacione el audio de los micrófonos más cercanos para estimar el retraso del sonido del tiempo de vuelo. Promedio o filtro de Kalman para eliminar el ruido en las estimaciones de retraso y aplicar trigonométrico. Si puede esconderse (de los humanos) y detectar (por correlación cruzada) un chirrido o vibración del motor en el cortacésped, es posible que pueda obtener pulgadas de precisión.
fuente
Revisa http://porcupineelectronics.com/uploads/LR3_Data_Sheet.pdf Este pequeño adaptador LR3 (está obsoleto pero hay uno mejor en camino) le permite conectar una PC o un SBC a un medidor de distancia Fluke 411D, precisión de +/- 3 mm a 30 M, según recuerdo. La nueva unidad que sale (LR4) funciona con los nuevos medidores Fluke. Combinado con una cámara en una plataforma de panorámica / inclinación para que pueda apuntarlo a objetivos conocidos y un codificador de alta resolución en el servo de panorámica para mediciones de ángulos de alta precisión, debe poder triangular la posición de su robot en relación con un mapa de su patio con el precisión que necesitas Necesitarás algo de trigonometría en el código (por encima de mis matemáticas de secundaria). Encontré la ecuación requerida en Internet (Wikipedia). Lo incluiría aquí, pero estoy lejos de la máquina de mi casa donde se almacena la información. El sistema también puede facilitar la generación del mapa. Es posible que necesite una plataforma estabilizada con giroscopio con aislamiento de vibración pasiva (las cortadoras de césped tienen mucha vibración). Para realizar mediciones sobre la marcha, es posible que también necesite un software de seguimiento para mantener el láser en el blanco. La odometría precisa le dará más tiempo entre "arreglos" si su potencia de cálculo es modesta.
fuente