Tecnologías relacionadas con robots móviles SLAM (versión conceptual)

Nota importante: este artículo está compilado a partir de materiales en línea y solo registra el proceso de aprendizaje, intrusión y eliminación de puntos de conocimiento relevantes de los blogueros.

1. Materiales de referencia

Finalmente, alguien explicó claramente la cuestión de cómo aprender SLAM.

2. Estructura de hardware del robot móvil SLAM

Si el programa de computadora es el alma del robot, entonces el hardware en sí es el torso del robot.

0. Estructura general del robot móvil.

La construcción de hardware de un robot móvil ROS típico incluye: motor reductor con codificador, placa controladora del motor, módulo IMU, lidar, host ROS, micrófono, cámara, altavoz, etc. Los motores reducidos con codificadores, placas de accionamiento del motor, módulos IMU y radar láser deben ser el hardware estándar para la navegación SLAM y la evitación de obstáculos. El host ROS es el centro informático del robot (que ejecuta el algoritmo de navegación SLAM) y el micrófono, la cámara. y el hablante se utilizan para completar la interacción del lenguaje y la percepción de imágenes requeridas.
Insertar descripción de la imagen aquí

1.motor

Según el tipo de fuente de alimentación del motor, se puede dividir en motor de CC y motor de CA; según el método de conmutación del motor, se puede dividir en motor con escobillas y motor sin escobillas; según la estructura del rotor del motor, se puede dividir en motor de rotor interior y motor de rotor exterior.
Insertar descripción de la imagen aquí

En el uso real, los motores se utilizan a menudo junto con cajas reductoras para mejorar el par de salida y el rendimiento de carga. Las cajas reductoras incluyen cajas reductoras ordinarias y cajas reductoras planetarias. La ventaja de las cajas reductoras planetarias es que son de menor tamaño en las mismas condiciones de relación de reducción.

El codificador del motor es un componente importante para medir la retroalimentación de la velocidad del motor, incluido el codificador Hall, el codificador fotoeléctrico, el codificador de escobillas de carbón, etc.

El ESC genera la señal de fase requerida por el motor y ajusta la velocidad del motor mediante PWM y otros métodos. Para algunos motores de CC con escobillas de baja potencia, el ESC es un circuito de puente completo H. La señal PWM controla los cuatro brazos del puente H para controlar la velocidad y la dirección del motor. Para algunos motores CC sin escobillas de alta potencia, la estructura del ESC es relativamente compleja: el ESC necesita realizar generación de señales de control multifase, conmutación electrónica, protección, etc.
Insertar descripción de la imagen aquí

El motor es la potencia central de un robot móvil. Elegir el motor adecuado es muy importante para un robot móvil. Al seleccionar un motor, no solo debemos considerar el rendimiento de los parámetros, como velocidad, par, carga y volumen, sino también considerar el costo, la seguridad y la viabilidad. Si se trata de un pequeño robot móvil con una capacidad de carga de 10 KG, puede elegir un motor reductor de escobillas CC codificado de 12 V CC. Para un robot móvil con una carga de 30 kg o más, es necesario elegir un motor sin escobillas con mayor potencia y eficiencia. La potencia del motor sin escobillas y los parámetros de la caja de cambios se pueden seleccionar de acuerdo con la carga y la velocidad de movimiento del robot real.
Insertar descripción de la imagen aquí

2. Accionamiento motorizado

El controlador del motor requiere control PID, por lo que la placa del controlador del motor se utiliza principalmente para implementar el control PID. Al mismo tiempo, la placa del controlador del motor también es responsable de comunicarse con la computadora host y analizar las instrucciones de velocidad enviadas por la computadora host en tiempo real. tiempo y retroalimenta la información de velocidad del motor a la computadora host. Las placas de accionamiento de motor generalmente utilizan placas MCU integradas, como microcontroladores STM32 o Android.

¿Por qué no utilizar simplemente la computadora host (la computadora host suele ser una computadora o un host RAM equipado con un sistema operativo) para controlar el motor? En primer lugar, el PID de control del motor es un algoritmo en tiempo real, es decir, una lógica estricta impulsada por el reloj en tiempo real. Los sistemas informáticos host generales no pueden cumplir con este alto requisito en tiempo real; además, debido al desacoplamiento del sistema y consideraciones de diseño modular, no se puede utilizar solo. Una MCU económica para implementar el control del motor.

Otra función importante de la placa controladora del motor es comunicarse con la computadora host, usar el controlador ROS de la computadora host para controlar el motor con ROS y obtener la información del odómetro enviada por el codificador del motor. En otras palabras, la placa de accionamiento del motor + ESC + motor forman un hardware integral que puede usarse como sensor para el robot ROS. Solo necesita iniciar el programa controlador ROS correspondiente en la computadora host y podrá controlar directamente el motor y obtener información del odómetro en ROS.
Insertar descripción de la imagen aquí

3. Método de accionamiento del chasis

El método de tracción terrestre es la forma en que se disponen las ruedas y se combina la velocidad para permitir que el robot camine con flexibilidad. Según si la velocidad de salida de cada rueda está restringida, es decir, si una rueda puede generar velocidad de forma independiente sin considerar las limitaciones de velocidad de salida de otras ruedas. Los métodos de accionamiento terrestre restringido incluyen: accionamiento diferencial, accionamiento Ackermann y accionamiento síncrono. Los métodos de propulsión terrestre sin restricción holonómica incluyen: propulsión omnidireccional y propulsión pierna-pie.
Insertar descripción de la imagen aquí

Chasis de transmisión diferencial, es la forma más común: el famoso robot tortuga, el robot pionero y el robot de barrido doméstico utilizan este método de conducción. La tracción diferencial significa que las ruedas motrices izquierda y derecha emiten potencia. El robot depende de la diferencia de velocidad entre las ruedas izquierda y derecha para girar. Este es también el origen del nombre de tracción diferencial. Al controlar las ruedas izquierda y derecha para generar diferentes velocidades diferenciales, el robot puede moverse a diferentes velocidades lineales y angulares . Por lo general, el chasis de transmisión diferencial también está equipado con una rueda motriz universal como soporte.

Chasis impulsado por Ackermann, es la forma más común en los automóviles y la mayoría de los chasis de automóviles son impulsados ​​por Ackermann. Las dos ruedas traseras del modelo Ackermann proporcionan potencia de salida. Las dos ruedas traseras distribuyen la velocidad a través de un diferencial para producir velocidades diferenciales de diferentes radios de giro. Las ruedas delanteras son controladas por el volante y son responsables de girar. La clave del modelo Ackermann es el diferencial de la rueda trasera. En un automóvil, el diferencial es una estructura de combinación de engranajes especial que puede distribuir automáticamente la velocidad de salida del motor a las dos ruedas de acuerdo con el radio de giro en tiempo real de la carrocería del automóvil. . En los robots, dado que las ruedas motrices suelen estar conectadas directamente al motor, el diferencial se sustituye por un regulador de velocidad electrónico.

Chasis de accionamiento sincronizado, el más común es un vehículo de orugas. La razón por la que se llama conducción sincrónica es que la velocidad de las ruedas delanteras y traseras del mismo lado es la misma . El chasis de tracción síncrona tiene cuatro ruedas, por lo que tiene una mayor capacidad de carga y es más estable. Sin embargo, en comparación con el chasis con transmisión diferencial, la precisión del odómetro de las ruedas no es tan alta. Porque cuando el chasis accionado sincrónicamente gira en una carretera plana, la carrocería del automóvil vibrará en diversos grados. Por lo tanto, el chasis de transmisión síncrona no es bueno para girar y es más difícil girar.

Chasis de accionamiento omnidireccional, el movimiento del chasis es libre. En pocas palabras, puede caminar de lado o en línea recta sin girar en la dirección del automóvil, simplemente muévase en cualquier dirección. Las ruedas omnidireccionales han mejorado enormemente la eficiencia de movimiento de los robots, especialmente en grandes almacenes de carga. Los carros de manipulación logística automática AGV se mueven de manera omnidireccional, lo que puede ahorrar mucho tiempo. Las ruedas omnidireccionales son un componente clave. Las ruedas omnidireccionales también se llaman ruedas Mecanum . Tienen una estructura muy sofisticada, pero son costosas y no funcionan suavemente en caminos irregulares.

4. módulo IMU

En los robots móviles, los módulos IMU son sensores de uso común, que generalmente se usan para integrarse con la odometría de las ruedas o participar directamente en el mapeo SLAM. IMU es la abreviatura de unidad de medida inercial, que se utiliza para medir el ángulo de actitud de tres ejes (alabeo, cabeceo, guiñada), aceleración de tres ejes (acc_x, acc_y, acc_z), velocidad angular de tres ejes (w_x, w_y, w_z), etc. del objeto. Hay IMU de seis ejes, IMU de nueve ejes, IMU de diez ejes, etc.
Insertar descripción de la imagen aquí

5. LiDAR

En los robots móviles, lidar puede obtener la forma del contorno de los obstáculos y el entorno que rodea al robot. Utilizando la información de obstáculos escaneada, el robot puede utilizar SLAM para construir un mapa y evitar obstáculos y realizar navegación autónoma. El lidar convencional se basa en dos principios: uno es el método de triangulación y el otro es el método de medición del tiempo de vuelo (TOF).
Insertar descripción de la imagen aquí

Hay lidar de una sola línea y lidar de varias líneas, con diferentes escenarios de aplicación y enormes diferencias de precio. Los robots móviles de interior generalmente utilizan lidar de una sola línea y el precio oscila entre unos pocos cientos y varios miles. El radar rplidar de Shanghai Silan es uno de los primeros radares láser de una sola línea en China. Las estrellas en ascenso incluyen el radar de la serie LS de Shenzhen Leishen Intelligent, el radar de la serie Shanchuan de Han Laser, el radar EAI de Shenzhen Wanzhi Technology, etc. Los radares de marcas antiguas extranjeras son el radar HOKUYO de Japón. y el radar SICK de Alemania son muy famosos.

Los automóviles sin conductor para exteriores generalmente están equipados con lidar de varias líneas, generalmente 16 líneas, 32 líneas, 64 líneas, 128 líneas, etc. Cuantas más líneas tenga el lidar, más información escanea y más caro es. Velodyne es un conocido fabricante de radares láser multilínea en los Estados Unidos. Su serie VL de radares láser multilínea también es muy famosa y el precio oscila entre decenas de miles y cientos de miles. Los fabricantes nacionales de lidar multilínea incluyen Sagitar y Leishen.

6. cámara

El robot está equipado con una cámara que se puede utilizar para monitoreo remoto por video, reconocimiento y seguimiento facial, SLAM visual, etc. Hay cámaras monoculares (mono), binoculares (estéreo) y de profundidad (RGBD) para elegir.
Insertar descripción de la imagen aquí

Las ventajas de la cámara monocular son su estructura simple y su bajo costo, la desventaja es que no se puede determinar el tamaño real de un objeto en una sola imagen. Puede ser un objeto grande pero lejano, o puede ser un objeto muy cercano pero pequeño. El paralaje se forma mediante el movimiento de la cámara y se puede medir la profundidad relativa de los objetos. Sin embargo, la trayectoria y el mapa estimados por SLAM monocular diferirán de la trayectoria y el mapa reales por un factor de escala, que es la escala. Esta verdadera escala no se puede determinar únicamente a partir de imágenes, por lo que se denomina incertidumbre de escala.

La ventaja de la cámara binocular es que cuanto mayor es la distancia de referencia, mayor es la distancia que puede medir. Puede usarse en interiores y exteriores y es muy robusta. La desventaja es que la configuración y calibración son más complejas y el rango de profundidad y la precisión están limitadas por la línea de base binocular y la resolución. El cálculo de disparidad consume muchos recursos informáticos y requiere aceleración del dispositivo GPU/FPGA.

La ventaja de la cámara de profundidad es medir la información de profundidad de los objetos mediante el método físico de luz estructurada o TOF (tiempo de vuelo), típicamente representado por Kinect, xtion pro y RealSense. Las desventajas son un rango de medición estrecho, alto ruido, campo de visión pequeño, susceptible a la interferencia de la luz solar, imposibilidad de medir los materiales de proyección, etc. Se utiliza principalmente en interiores y es difícil de aplicar en exteriores.

7. anfitrión ROS

El núcleo de procesamiento del robot suele ser un host de computadora que ejecuta el sistema ROS. Algunos robots más complejos tendrán varios hosts de computadora. Por ejemplo, uno se usa para transportar el sistema ROS y ejecutar varios algoritmos del robot; el otro se usa para transportar el Sistema Andriod y ejecute la interfaz de interacción del usuario. Para el host de computadora ROS montado en el robot, se deben considerar cuestiones de programación, instalación y consumo de energía.

Entre los robots de gama baja y media, el más utilizado es el Raspberry Pi, especialmente el modelo Raspberry Pi 3B que es el más popular. La Raspberry Pi es una placa extremadamente rentable. La placa de 200 yuanes está equipada con un procesador Cortex-A53 y 1 GB de memoria, es compatible oficialmente con el sistema ubuntu-mate y es muy adecuada para principiantes.

Entre los robots de gama media y alta, la placa correspondiente al Rockchip RK3399 nacional tiene un precio de alrededor de 1.000 yuanes y está equipada con un procesador Cortex-A72 de doble núcleo + Cortex-A53 de cuatro núcleos y una memoria de 2 GB/4 GB. y está equipado con una versión recortada del sistema Ubuntu.

Entre los robots de alta gama, se dice que la placa Jetson-tx2 de NVIDIA es una placa que se puede montar en una bomba nuclear y tiene un rendimiento potente. La placa se vende por unos 4.000 yuanes y está equipada con un procesador Cortex-A57 de cuatro núcleos y 8 GB de memoria. La placa tiene una GPU de arquitectura Pascal con 256 núcleos CUDA, que es muy adecuada para aplicaciones relacionadas con el aprendizaje profundo y la visión por computadora.
Insertar descripción de la imagen aquí

3. Introducción a la tecnología de navegación SLAM

La tecnología de navegación SLAM se utiliza principalmente para resolver problemas como el posicionamiento de robots, el mapeo ambiental, la navegación autónoma y la evitación dinámica de obstáculos.

1. Introducción

La tecnología de posicionamiento independiente se puede ver en todas partes de la vida diaria, como: tecnología de posicionamiento GPS, tecnología de posicionamiento WIFI y tecnología de posicionamiento de banda magnética. La tecnología de mapeo ambiental independiente también tiene muchas aplicaciones maduras, tales como: CT en medicina para tecnología de escaneo integral del cuerpo humano, escaneo y modelado de un objeto tridimensional en la producción de películas, levantamiento y mapeo de túneles, etc. Sin embargo, frente a una aplicación tan compleja como un robot, ni la tecnología de posicionamiento por sí sola ni la tecnología de mapeo ambiental por sí solas pueden resolver bien el problema, por lo que ha surgido la tecnología SLAM que combina posicionamiento y mapeo.

2. Introducción a los robots

Un robot es un dispositivo complejo que involucra vínculos importantes como el actuador, la percepción y la toma de decisiones. Los actuadores comúnmente utilizados para robots incluyen: chasis de movimiento con ruedas, brazos robóticos, pantallas de audio y visualización; los dispositivos de detección comúnmente utilizados para robots incluyen: radar láser, sonar, cámara, IMU, disco codificador de odómetro de rueda, micrófono, sensor táctil; robot. La fabricación del robot es la encarnación de la inteligencia del robot. El robot generalmente utiliza dispositivos de percepción para interactuar continuamente con el entorno externo, a fin de obtener el estado del robot y el estado del entorno.

3. Incertidumbre de los robots

Hay mucha imprevisibilidad en el entorno donde se encuentra el robot. Hay ruido e interferencias en las mediciones de los sensores del robot. Hay un cierto grado de falta de confiabilidad en actuadores como los motores. También hay algunas incertidumbres causadas por el software del robot.

Para estudiar la percepción y el comportamiento de los robots, es necesario modelar estas incertidumbres, que pueden expresarse explícitamente utilizando la teoría de la probabilidad. Además, los algoritmos probabilísticos se pueden utilizar para realizar cálculos de inferencia sobre distribuciones de probabilidad y representar matemática y razonablemente la falta de claridad y la confianza del robot. Una comprensión simple es expresar la incertidumbre del robot de manera clara y computable modelando la probabilidad del robot.

4. Estimación del estado del robot.

La tecnología para abordar esta probabilidad de incertidumbre en los robots se llama robótica probabilística y su núcleo es utilizar datos de sensores para estimar el estado del robot.

El robot mide su propio estado y el estado del entorno a través de sensores. El estado del robot incluye: postura del robot, información del odómetro de movimiento, velocidad lineal y velocidad angular; el estado del entorno incluye: la posición de los objetos en el entorno, características de los objetos y otra información.

5. Red iterativa bayesiana

El robot también utiliza acciones de control para llamar a los actuadores e interactuar con el entorno. Las acciones de control incluyen: movimiento del robot, manipulación de objetos, etc. De esta manera, el robot interactúa con el entorno a través de acciones de control y medición de sensores. Durante el proceso de interacción, se estima el modelo del entorno y la pose del robot.El proceso de estimación iterativa del modelo ambiental es el proceso de mapeo del entorno; el proceso de estimación iterativa de la pose del robot es el proceso de posicionamiento del robot.

Los sensores se utilizan para medir y controlar acciones para estimar el modelo del entorno y la pose del robot, y se completan mediante cálculos iterativos basados ​​en reglas de probabilidad. El modelo de probabilidad de las acciones de control se llama modelo de probabilidad de movimiento ; el modelo de probabilidad de medición de sensores se llama modelo de probabilidad de medición . Este proceso de cálculo iterativo de reglas de probabilidad es la red iterativa bayesiana, como se muestra en la siguiente figura:
Insertar descripción de la imagen aquí

6. Modelo de probabilidad de movimiento.

El modelo de movimiento se refiere a la relación entre los cambios de postura y la cantidad de control de movimiento cuando el robot se mueve de un lugar a otro. Dado que la variable de control actúa sobre el robot, el proceso de cambio de postura del robot es un proceso incierto y con errores. Por lo tanto, el resultado después de que actúa la variable de control debe describirse mediante una distribución de probabilidad, que es el modelo de probabilidad de movimiento .

Según las diferentes cantidades de control de movimiento, se puede dividir en modelo de movimiento de velocidad y modelo de movimiento de odómetro. En el modelo de movimiento de velocidad, la cantidad de control es la velocidad lineal y la velocidad angular; en el modelo de movimiento del odómetro, la cantidad de control es la postura relativa del robot en los momentos delantero y trasero. En el modelo de movimiento de velocidad, tanto la velocidad lineal como la velocidad angular están limitadas por la estructura del territorio del robot. Los experimentos muestran que, aunque el modelo de movimiento odométrico tiene errores, tiene mayor precisión que el modelo de movimiento rápido.
Insertar descripción de la imagen aquí

7. Modelo de probabilidad de medición

De la misma manera, los sensores del robot tienen errores durante el proceso de medición, por lo que los resultados de la medición deben describirse mediante una distribución de probabilidad, que es el modelo de probabilidad de medición .

8. Clasificación del filtro bayesiano

El algoritmo bayesiano, también conocido como filtrado bayesiano , es un algoritmo recursivo que se utiliza para calcular la confianza, es decir, la confianza en el momento t se calcula mediante la confianza en el momento t-1. El algoritmo de filtrado bayesiano tiene dos pasos básicos: predicción y actualización.

Existen muchos algoritmos de implementación específicos del filtrado bayesiano. Según los diferentes métodos de representación de confianza, los algoritmos de implementación específicos del filtrado bayesiano se pueden dividir en dos tipos: algoritmo de implementación paramétrico y algoritmo de implementación no paramétrico. La implementación paramétrica del algoritmo consiste en representar la distribución de confianza con los parámetros de una distribución gaussiana multivariada. Según los parámetros de diferentes distribuciones gaussianas, se puede dividir en filtrado de Kalman y filtrado de información. El algoritmo de implementación no paramétrico utiliza un número limitado de valores específicos para aproximar la distribución de confianza. Según los métodos para aproximar diferentes valores específicos, se puede dividir en filtrado de histograma y filtrado de partículas.
Insertar descripción de la imagen aquí

9. Algoritmos SLAM convencionales

Hoy en día, el SLAM láser es el más utilizado en robots: los robots de barrido, los robots de servicio y los automóviles inteligentes AGV generalmente están equipados con LIDAR SLAM de una sola línea , y los automóviles sin conductor y los robots exteriores generalmente están equipados con LIDAR SLAM de varias líneas .

Otra investigación popular es el SLAM visual. El SLAM visual tiene una variedad de formas equipadas con cámaras monoculares, binoculares y de profundidad. Según la diferencia de los puntos de características visuales, se puede dividir en: método directo, método semidirecto y método disperso. . Luego, existen varios algoritmos SLAM compuestos, como SLAM que integra láser y visión, y SLAM visual que integra IMU. Finalmente, existen algunos de los algoritmos SLAM más novedosos, como el SLAM de un extremo a otro que utiliza aprendizaje profundo y el SLAM semántico basado en el reconocimiento de objetos.
Insertar descripción de la imagen aquí

10. Estrategia de control y planificación de rutas del robot

La navegación autónoma del robot se puede dividir en dos partes de implementación: la primera parte es la planificación de la ruta y la segunda parte es la estrategia de control.

La planificación de rutas consiste en utilizar información del mapa para encontrar una ruta global que pueda alcanzar el objetivo . La ruta global desempeña un papel de guía estratégica global en el proceso de navegación del robot. Idealmente, el robot se mueve hacia el objetivo completamente de acuerdo con la ruta global, pero el entorno real a menudo es cambiante y complejo, y el control real del robot también tendrá desviaciones, por lo que el control de movimiento real del robot necesita un conjunto de controles. estrategias para lograrlo. La estrategia de control debe acercarse al camino global tanto como sea posible, mantenerse alejado de los obstáculos tanto como sea posible y alcanzar la meta en el menor tiempo posible, estos factores pueden evaluarse mediante una función de recompensa . En el proceso de encontrar la estrategia de control óptima, el valor de la función de recompensa de cada acción se calcula de forma recursiva. De esta manera, la estrategia de control puede brindar la mejor estrategia de control bajo la guía de la función de recompensa, y la estrategia de control controla el robot para completar el movimiento real.
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_37605642/article/details/132417317
Recomendado
Clasificación