SLAM: cómo se desplazan los robots en terrenos desconocidos
Imagine que queda abandonado en un desierto desconocido y debe enfrentarse a la abrumadora tarea de encontrar el camino hacia un lugar seguro. Desplazarse por terrenos desconocidos ha sido durante mucho tiempo un desafío tanto para los humanos como para los robots. Los métodos tradicionales de desplazamiento de un robot o un vehículo autónomo requieren un mapa preexistente, pero en territorios desconocidos es imposible obtenerlo sin recorrer el área. Esto plantea un dilema clásico en robótica, que se suele denominar el problema del huevo y la gallina. ¿Cómo puede un robot desplazarse por un entorno desconocido sin un mapa, y cómo puede crear un mapa sin recorrer primero el entorno?
Mapa de SLAM visual 3D o mapa de SLAM creado mediante SLAM visual. (Figura reproducida de www.flyability.com Fuente de la imagen: Sigmoidal.ai)
Aquí es donde entra en juego el concepto de SLAM (localización y mapeo simultáneos). Desarrollada por investigadores como Hugh Durrant-Whyte y John J. Leonard, SLAM es una técnica que permite a los robots desplazarse de forma autónoma y mapear entornos desconocidos en tiempo real. En lugar de basarse en mapas preexistentes, SLAM permite a los robots crear mapas de su entorno y, al mismo tiempo, determinar su propia posición dentro de esos mapas. En esencia, SLAM implica dos procesos principales: mapeo y localización. El mapeo se refiere a la creación de una representación espacial del entorno, mientras que la localización consiste en determinar la posición del robot dentro de esa representación. Estos procesos están interrelacionados, ya que el robot actualiza continuamente su mapa basándose en los datos de los sensores y ajusta su estimación de posición en consecuencia.
La implementación de SLAM incluye varios pasos clave, cada uno de los cuales tiene un papel fundamental en el proceso general. Estos pasos incluyen la extracción de puntos de referencia, la asociación de datos, la estimación de estados y las actualizaciones. La extracción de puntos de referencia consiste en identificar características distintivas o puntos de referencia en el entorno que se puedan utilizar como mojones para el mapeo y la localización. La asociación de datos consiste en relacionar las mediciones de los sensores con las características del mapa, mientras que la estimación de estados consiste en calcular la posición y orientación del robot a partir de los datos de los sensores. Por último, las actualizaciones consisten en perfeccionar el mapa y las estimaciones de posición a partir de las nuevas mediciones de los sensores.
Uno de los factores clave que determinan la eficacia de SLAM es el tipo de sensores utilizados. Los distintos sensores ofrecen diferentes niveles de precisión e información, lo que puede afectar la calidad del mapa resultante y las estimaciones de localización. Por ejemplo, SLAM visual (SLAMv) utiliza cámaras como sensor principal, lo que permite al robot extraer información visual de su entorno. Esta información visual puede incluir características como bordes, esquinas y texturas, que se pueden utilizar como puntos de referencia para el mapeo y la localización. Además, las cámaras proporcionan abundante información semántica que puede ayudar en tareas como la detección y el reconocimiento de objetos. Por otro lado, SLAM basado en LiDAR (detección y medición de distancia por luz) utiliza sensores LiDAR (como SLAMTEC SEN-15870 de SparkFun), que emiten rayos láser para medir las distancias a objetos del entorno. Los sensores LiDAR ofrecen una gran exactitud y precisión, por lo que son muy adecuados para mapear entornos de geometría compleja. Sin embargo, los sensores LiDAR pueden ser costosos y de alta carga computacional, lo que puede limitar su capacidad de aplicación en ciertos escenarios.
Existen varias subcategorías de vSLAM según el tipo de cámara utilizada. Estas incluyen SLAM monocular, SLAM estéreo y SLAM RGB-D. SLAM monocular utiliza una sola cámara para calcular el movimiento del robot y la estructura del entorno. SLAM estéreo utiliza una configuración de cámara estereoscópica, que consiste en dos cámaras ubicadas a una distancia base conocida entre cada una de ellas. Esta configuración permite triangular las características visuales, lo cual mejora la estimación de la profundidad y la precisión del mapeo. Por último, SLAM RGB-D combina una cámara RGB tradicional con un sensor de profundidad, como una cámara Microsoft Kinect o Intel RealSense. Esta información adicional de profundidad aporta más precisión al mapeo y la localización 3D.
Cada subcategoría de vSLAM tiene sus propias ventajas y limitaciones, según factores tales como el costo, la complejidad informática y las condiciones del entorno. Por ejemplo, SLAM monocular se utiliza mucho debido a su simplicidad y bajo costo. Sin embargo, presenta ambigüedad de escala, ya que no puede calcular directamente la escala del entorno. SLAM estéreo aborda el problema aprovechando la triangulación de características visuales para calcular la profundidad y la escala. Mientras que SLAM RGB-D ofrece el mayor nivel de precisión y detalle gracias a su combinación de imágenes RGB y la información de profundidad.
Además de sus aplicaciones en robótica, SLAM tiene numerosas aplicaciones prácticas en diversas industrias. En robótica, SLAM permite a los robots desplazarse de forma autónoma y explorar entornos dinámicos, como almacenes, fábricas y zonas de desastre. En vehículos autónomos, SLAM se utiliza para crear mapas de alta definición de carreteras y para localizar el vehículo dentro de esos mapas. SLAM también tiene aplicaciones en la AR (realidad aumentada) y la VR (realidad virtual), donde se utiliza para crear experiencias inmersivas superponiendo objetos virtuales en entornos reales.
A pesar de sus numerosas ventajas, SLAM también tiene sus inconvenientes. Uno de sus desafíos principales es la complejidad informática que implica procesar los datos de los sensores y actualizar el mapa en tiempo real. Esto puede ser especialmente difícil en entornos con grandes cantidades de datos o recursos informáticos limitados. Además, SLAM depende en gran medida de la disponibilidad de características distintivas y puntos de referencia en el entorno. En entornos con terrenos uniformes o sin características, es posible que SLAM tenga dificultades para crear mapas precisos o localizar el robot de manera efectiva.
En conclusión, SLAM es una técnica de gran alcance que permite a los robots desplazarse de forma autónoma y mapear entornos desconocidos en tiempo real. Dado que combina el mapeo y la localización en un solo proceso, SLAM permite a los robots explorar y comprender su entorno sin conocimientos previos ni mapas preexistentes. Aunque SLAM tiene sus propios desafíos y limitaciones, sus aplicaciones son amplias y variadas, y abarcan industrias como la robótica, los vehículos autónomos, la AR y la VR. A medida que la tecnología avanza, SLAM tiene un papel cada vez más importante en la conformación del futuro de la robótica y la automatización.
Referencias:
- What is SLAM? (Simultaneous Localisation And Mapping) (vercator.com)
- Introduction to SLAM (Simultaneous Localization and Mapping) | Ouster
- Zero to SLAM in 30 minutes: an interactive workshop | Ouster
- What Is SLAM (Simultaneous Localization and Mapping) – MATLAB & Simulink - MATLAB & Simulink (mathworks.com)
- SLAM; definition and evolution - ScienceDirect
- An Introduction to Key Algorithms Used in SLAM - Technical Articles (control.com)
- Localization — Introduction to Robotics and Perception (roboticsbook.org)
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum

