INTEGRACIÓN DE UN SISTEMA EMBEBIDO
PARA DETECCIÓN DE OBSTÁCULOS EN
ROBOTS TIPO SNAKE USANDO SENSORES
ULTRASÓNICOS
INTEGRATION OF AN EMBEDDED SYSTEM FOR OBSTACLE
DETECTION IN SNAKE ROBOTS USING ULTRASONIC
SENSORS
Pedro Guevara López
Instituto Politécnico Nacional – México
Hayari Lizet Cruz González
Instituto Politécnico Nacional – México
María Elena Mendiola Medellín
Instituto Politécnico Nacional – México
Leobardo Hernández González
Instituto Politécnico Nacional – México
Fernando Arellano Calderón
Instituto Politécnico Nacional - México

pág. 6218
DOI: https://doi.org/10.37811/cl_rcm.v10i2.23645
Integración de un sistema embebido para detección de obstáculos en robots
tipo Snake usando sensores ultrasónicos
Pedro Guevara López1
pguevara@ipn.mx
https://orcid.org/0000-0001-5373-1403
Instituto Politécnico Nacional
México
Hayari Lizet Cruz González
hcruzg@ipn.mx
https://orcid.org/0000-0002-0442-1350
Instituto Politécnico Nacional
México
María Elena Mendiola Medellín
mendiola.esime@gmail.com
https://orcid.org/0000-0003-2121-2128
Instituto Politécnico Nacional
México
Leobardo Hernández González
lhernandezg@ipn.mx
https://orcid.org/0000-0002-4555-8695
Instituto Politécnico Nacional
México
Fernando Arellano Calderón
farellanoc@ipn.mx
https://orcid.org/0000-0002-0442-1350
Instituto Politécnico Nacional
México
RESUMEN
En este trabajo se presenta la integración de un sistema embebido orientado a la detección de obstáculos
en un robot tipo Snake mediante el uso de sensores ultrasónicos, el propósito es mejorar su capacidad
de navegación en entornos bidimensionales. El sistema se basa en la incorporación de sensores HC-
SR04 acoplados a un microcontrolador encargado de adquirir, procesar y convertir la información de
distancia en señales de control para la toma de decisiones en línea. La metodología adoptada corresponde
a un enfoque cuantitativo de tipo aplicado, con un diseño experimental en condiciones de laboratorio
que incluyó la calibración de sensores, el desarrollo de algoritmos en lenguaje C y la validación del
sistema en diferentes condiciones de operación con obstáculos sólidos. Los resultados obtenidos
presentan un desempeño adecuado para la detección de objetos y una buena respuesta en acciones de
evasión.
Palabras clave: Detección de obstáculos; microcontroladores; robótica móvil; sensores ultrasónicos;
sistemas embebidos
1 Autor Principal
Correspondencia: pguevara@ipn.mx

pág. 6219
Integration of an embedded system for obstacle detection in Snake robots
using ultrasonic sensors
ABSTRACT
This paper presents the integration of an embedded system oriented to obstacle detection in a Snake
robot using ultrasonic sensors, the purpose is to improve its navigation capability in two-dimensional
environments. The system is based on the implementation of HC-SR04 sensors coupled to a
microcontroller in charge of acquiring, processing and converting distance information into control
signals for on line decision making. The methodology adopted corresponds to an applied quantitative
approach, with an experimental design in laboratory conditions that included sensor calibration,
development of algorithms in C language and validation of the system in different operating conditions
with solid obstacles. The results obtained show an adequate performance for object detection and a good
response in evasion actions.
Keywords: Embedded systems; microcontrollers; mobile robotics; obstacle detection; ultrasonic sensors
Artículo recibido 15 febrero 2026
Aceptado para publicación: 15 marzo 2026

pág. 6220
INTRODUCCIÓN
En la robótica móvil, la navegación autónoma es un problema complejo, especialmente en plataformas
como los robots tipo Snake, cuya estructura articulada les permite desplazarse en espacios reducidos y
de difícil acceso. De acuerdo con Liljebäck et al. (2013), estos sistemas se basan en patrones de
movimiento serpentinoide que favorecen su adaptación en terrenos de difícil acceso, mientras que
Transeth et al. (2009) indican que su desempeño depende en gran medida de la integración entre
percepción, control y locomoción. En este sentido, los sensores de proximidad son ampliamente
utilizados debido a su simplicidad, bajo costo y capacidad para detectar distancias en forma rápida. En
este contexto, Borenstein y Koren (1989) enfatizan que los sistemas de evasión de obstáculos basados
en sensores de proximidad permiten a los robots reaccionar de forma rápida ante cambios en el entorno,
siendo adecuados para la navegación reactiva. Por otra parte, en Everett (1995) se describe que los
sensores ultrasónicos son adecuados para aplicaciones móviles debido a su facilidad de integración en
sistemas embebidos. Entonces, se puede afirmar que dispositivos como el HC-SR04, en conjunto con
microcontroladores, pueden detectar objetos sólidos y generar respuestas de evasión en corto tiempo,
facilitando la navegación en dos dimensiones. Sin embargo, para su adecuado funcionamiento, se
depende de factores como la calibración, la disposición de sensores y el procesamiento de la señal.
Por otro lado, la evolución de los sistemas embebidos ha permitido el desarrollo de soluciones más
eficientes para aplicaciones robóticas. De acuerdo a Lee y Seshia (2017), los sistemas embebidos son la
parte de los sistemas donde la interacción entre hardware y software debe garantizar tiempos de
respuesta conocidos. Por ello, el uso de microcontroladores como el PIC16F887 facilita la ejecución de
algoritmos de control en línea, permitiendo la interacción entre sensores ultrasónicos y actuadores para
la evasión de obstáculos. En relación con los métodos de evasión, se han encontrado diversos enfoques
que van desde técnicas reactivas hasta modelos probabilísticos y estrategias bioinspiradas. Thrun et al.
(2005) destacan que la integración de percepción y decisión bajo incertidumbre es básica para mejorar
la autonomía de los robots móviles; mientras que Siciliano y Khatib (2016) enfatizan la importancia de
los sistemas de control y planificación en la interacción del robot con su entorno. De esta manera,
antecedentes técnicos en robots tipo Snake muestran la aplicación de algoritmos apoyados en sensores
ultrasónicos y plataformas de bajo costo, mostrando que su viabilidad en contextos educativos y

pág. 6221
experimentales. A pesar de estos avances, se observa un vacío en la integración de sistemas embebidos
orientados específicamente a robots tipo Snake en escenarios de navegación bidimensional. Esto se
relaciona con la necesidad de equilibrar precisión en la detección, eficiencia en el procesamiento y
simplicidad en la implementación, principalmente en aplicaciones donde se requiere bajo costo y
adecuada capacidad de replicación. En este contexto, el presente trabajo tiene como objetivo integrar un
sistema embebido para la detección de obstáculos en robots tipo Snake mediante sensores ultrasónicos,
enfocándose en el desarrollo de un módulo funcional ubicado en la cabeza del robot que permita
identificar obstáculos y ejecutar maniobras de evasión en un entorno bidimensional. Con ello, se busca
contribuir al desarrollo de soluciones eficientes, accesibles y replicables, fortaleciendo la integración
entre percepción, procesamiento y control en sistemas robóticos bioinspirados como los robots tipo
snake.
METODOLOGÍA
El desarrollo de este trabajo tiene un enfoque aplicativo, orientado al diseño e integración de un sistema
embebido para la detección y evasión de obstáculos en un robot tipo Snake, previamente fabricado. Se
adoptó un diseño experimental de corte transversal, es un prototipo funcional, donde se analizó su
desempeño en condiciones controladas de laboratorio, para un entorno bidimensional, es decir, en el
plano x-y. La integración de componentes de hardware y software (sensores ultrasónicos,
microcontrolador y actuadores) operan de manera coordinada para captar información del entorno,
procesarla y generar respuestas en línea. Para la obtención de datos se emplea la observación
estructurada del sistema en pruebas experimentales, considerando variables como la distancia de
detección, el tiempo de respuesta y la efectividad en la evasión de obstáculos. Finalmente, se incluyen
etapas de calibración de sensores, programación del microcontrolador en lenguaje C y ejecución de
pruebas en diferentes condiciones de operación, lo que permite evaluar el funcionamiento del sistema y
asegurar que los resultados cumplan los objetivos planteados.
Como antecedente al desarrollo de este trabajo, se observa que diversos estudios han demostrado que el
uso de sensores ultrasónicos representa una solución eficiente debido a su bajo costo, facilidad de
implementación y capacidad de medición en línea mediante el principio de tiempo de vuelo (time-of-
flight) (Gibbs, 2017). En este sentido, los sensores ultrasónicos se utilizan en robots móviles para estimar

pág. 6222
distancias y ajustar la trayectoria en función de los obstáculos, lo que permite implementar esquemas de
navegación con tiempos de respuesta reducidos (Borenstein & Koren, 1988). Por otra parte, se han
evidenciado que la integración de múltiples sensores mejora de manera significativa la precisión en la
detección frente a variaciones en el entorno, como cambios en la superficie de los objetos o condiciones
ambientales (Zhao, 2021). Este enfoque es adecuado en aplicaciones donde se requiere una percepción
más confiable para la toma de decisiones. De manera complementaria, los sistemas de control reactivo
basados en la comparación de distancias y selección de trayectorias libres han demostrado ser efectivos
en plataformas de bajo costo, permitiendo una implementación sencilla sin comprometer su
funcionalidad.
Por otra parte el uso de microcontroladores facilita el procesamiento de señales y la ejecución de
algoritmos de control, permitiendo la correcta comunicación entre sensores y actuadores. Además, hay
que considerar que existen limitaciones por parte de los sensores ultrasónicos, como su sensibilidad a la
geometría de los objetos, la absorción de la señal en ciertos materiales y su resolución angular limitada,
lo que puede afectar la precisión en entornos complejos (Gibbs, 2017; Meliones, 2022).
Todo esto fue considerado en el desarrollo de este proyecto, que está desglosado en 8 módulos o pasos
metodológicos que interactúan entre si, estos se listan como sigue (ver Figura 1):
1. Programación del microcontrolador
2. Calibración de sensores
3. Detección de objetos sólidos
4. Tracción del motor reductor
5. Evasión de obstáculos
6. Codificación
7. Pseudocódigo
8. Codificación en lenguaje C

pág. 6223
Figura 1. Módulos o pasos metodológicos para la integración de un sistema embebido para detección
de obstáculos en robots tipo Snake usando sensores ultrasónicos
Módulo 1. Programación del microcontrolador
El módulo de programación del microcontrolador permite establecer la lógica de control encargada de
coordinar la adquisición de datos, su procesamiento y la respuesta del sistema ante estímulos del entorno.
En este proyecto, el microcontrolador PIC16F887 es programado en lenguaje C mediante un entorno de
desarrollo especializado, generando un archivo ejecutable (.hex) que es posteriormente cargado al
dispositivo utilizando una interfaz de programación. Esta etapa se realiza a través de un dispositivo
PICkit 3 con CCS C Compiler, se realizado la configuración de registros internos, temporizadores y
puertos de entrada/salida, así como la implementación de rutinas para la lectura de los sensores
ultrasónicos y la activación de los actuadores.
Figura 1. Programación del microcontrolador PIC16F887
A) Conexión del PICKit a la PC.
B. Grabación del programa en el microcontrolador

pág. 6224
Módulo 2. Calibración de sensores
El módulo de calibración de sensores tiene como propósito garantizar la precisión y confiabilidad en la
medición de distancias realizada por los sensores ultrasónicos, mediante el ajuste de sus parámetros de
operación en función de las condiciones del entorno. En esta etapa, se establecen referencias
experimentales para corregir errores en las lecturas. Aquí se determina la relación entre el tiempo de
retorno del pulso ultrasónico y la distancia real. Este proceso es fundamental, ya que una adecuada
calibración mejora la exactitud de la detección de obstáculos y reduce errores en la movilidad del robot
Snake. En la Figura 2 se muestra el pseudocódigo utilizado para la calibración.
Figura 2. Pseudocódigo utilizado para la calibración de los sensores ultrasónicos.
Módulo 3. Detección de objetos sólidos
En esté módulo se identifica la presencia de obstáculos mediante el procesamiento de las señales de los
sensores ultrasónicos. El sistema emite pulsos que al reflejarse en superficies sólidas generan un eco
cuya duración es medida por el microcontrolador para estimar la distancia al objeto. A partir de esta
información, se establece un criterio de detección basado en umbrales para distinguir entre espacios
libres y zonas ocupadas. Este proceso implica no solo la adquisición de datos en línea, sino también su
Función InicializarHCSR04
ConfigurarTimer0(RTCC_INTERNAL | RTCC_DIV_8)
Fin Función
Función ObtenerDistanciaHCSR04
Entero tiempoEco
Real distancia
Real tick
tick = (4000.0 / fosc) * 8.0
EstablecerEstadoSalida(P_TRIG, ALTO)
EsperarMicrosegundos(10)
EstablecerEstadoSalida(P_TRIG, BAJO)
Mientras NoLeerEstadoEntrada(P_ECHO)
Fin Mientras
EstablecerTimer0(0)
Mientras LeerEstadoEntrada(P_ECHO)
Fin Mientras
tiempoEco = ObtenerTimer0()
distancia = (tiempoEco / 2.0) * tick * 34.0
Devolver distancia
Fin Función

pág. 6225
interpretación que considera posibles variaciones en las condiciones del entorno. De esta manera, el
módulo es un elemento necesario, ya que proporciona la información vital para la navegación y evasión
de obstáculos del robot tipo Snake. En la Figura 3 se muestra el código para la detección y en la Figura
4 se muestra una prueba experimental para la detección de obstáculos con los sensores montados en un
protoboard.
Figura 3. Pseudocódigo utilizado para la detección de objetos.
Figura 4. Prueba experimental para la detección de obstáculos con los sensores montados en un
protoboard
Algoritmo Principal
Real distancia, distancia1, distancia2, distancia3
HCSR04_init()
HCSR04_init1()
Mientras Verdadero
distancia1 = HCSR04_get_distance1()
distancia2 = HCSR04_get_distance2()
distancia3 = HCSR04_get_distance3()
Si distancia1 <= 10 Entonces
EncenderLED(LED_1)
Sino
ApagarLED(LED_1)
Fin Si
Si distancia2 <= 15 Entonces
EncenderLED(LED_2)
Sino
ApagarLED(LED_2)
Fin Si
Si distancia3 <= 20 Entonces
EncenderLED(LED_3)
Sino
ApagarLED(LED_3)
Fin Si
Fin Mientras
Fin Algoritmo

pág. 6226
Módulo 4. Tracción del motor reductor
El presente módulo transforma las decisiones del sistema de control en movimiento físico del robot, a
través de la activación y regulación del motor encargado de generar el desplazamiento del robot Snake.
En esta etapa, el microcontrolador envía señales eléctricas hacia un circuito de potencia formado por un
puente H que controla el sentido y la activación del motor reductor, asegurando una respuesta acorde a
los sensores. Este proceso implica la conmutación adecuada de las señales y la sincronización con el
resto del sistema para lograr los movimientos adecuados. De esta manera, el módulo es el vínculo entre
la lógica de decisión y la acción mecánica, haciendo que el robot tipo Snake modifique su trayectoria al
interactuar con los obstáculos que se le presentan.
Figura 5. Pseudocódigo utilizado para la tracción del motor reductor
Módulo 5. Evasión de obstáculos
Este módulo transforma la información obtenida por el sistema de detección de obstáculos en acciones
que permitan al robot modificar su trayectoria de manera autónoma, a partir de las mediciones de los
sensores ultrasónicos; el sistema establece criterios basados en umbrales que determinan la proximidad
de un obstáculo y dan una respuesta que consiste en la activación de los actuadores para controlar el
sentido de giro del motor y orientar el movimiento del robot Snake hacia una dirección sin obstáculos.
En la Figura 6 se presenta el pseudocódigo para que el motor gire hacia la izquierda, derecha o que se
detenga.
Función DetenerMotor
EstablecerEstadoSalida(pin_C6, BAJO)
EstablecerEstadoSalida(pin_D3, BAJO)
Fin Función
Función GirarDerecha
EstablecerEstadoSalida(pin_C6, ALTO)
EstablecerEstadoSalida(pin_D3, BAJO)
EsperarMilisegundos(10)
Fin Función
Función GirarIzquierda
EstablecerEstadoSalida(pin_C6, BAJO)
EstablecerEstadoSalida(pin_D3, ALTO)
Fin Función

pág. 6227
Figura 6. Pseudocódigo utilizado para la evasión de obstáculos
Módulo 6. Codificación
Este módulo se enfoca en la traducción estructurada de los algoritmos y estrategias de control
previamente definidos hacia un lenguaje de programación que pueda ser interpretado y ejecutado por el
microcontrolador PIC16F887. En esta etapa, se implementan las rutinas necesarias para la interacción
con los sensores, el procesamiento de señales y la activación de los actuadores. También se consideran
la eficiencia en el uso de recursos, la gestión de tiempos y la comunicación entre los componentes del
sistema. Para lograr esto, se llevó a cabo la programación del siguiente algoritmo de programación:
1. Configuración inicial: Se configura los pines de entrada/salida del PIC16F887 para conectar los
sensores ultrasónicos.
2. Declaración de variables: Se declaran las variables que se ocuparan durante la codificación.
3. Inicialización de sensores: Dentro de la función principal (main) se inicializa los sensores
ultrasónicos, se realiza la codificación para que los sensores estén activos.
4. Bucle principal: Dentro del bucle se realiza se obtienen los datos del sensor.
5. Medición de distancias: Mediante la biblioteca HCSR04-3 se obtiene la medición en
centímetros entre los sensores y los obstáculos.
6. Control de movimiento: Dependiendo de la distancia entre el sensor y el obstáculo, se opta por
dirigir la junta del robot tipo Snake hacia la dirección donde el obstáculo sea el más alejado.
7. Repetición del programa: Una vez que el Robot tipo Snake avanza, el programa se repite desde
Si distancia1 >= distancia2 y distancia1 >= distancia3 Entonces
EncenderLED(LED_1)
ApagarLED(LED_2)
ApagarLED(LED_3)
DetenerMotor()
Sino Si distancia2 >= distancia3 Entonces
ApagarLED(LED_1)
EncenderLED(LED_2)
ApagarLED(LED_3)
EsperarMilisegundos(10)
GirarIzquierda()
DetenerMotor()
EsperarMilisegundos(10)
Sino
ApagarLED(LED_1)
ApagarLED(LED_2)
EncenderLED(LED_3)
EsperarMilisegundos(10)
GirarDerecha()
DetenerMotor()
EsperarMilisegundos(10)
Fin Si
pág. 6228
el punto 4 en un ciclo infinito (hasta que la fuente de alimentación se interrumpa o agote).
Módulo 7. Pseudocódigo
El módulo de pseudocódigo representa de manera estructurada la lógica de funcionamiento del sistema
antes de su implementación en un lenguaje de programación específico, en este caso Lenguaje C. En
esta etapa, se describen las secuencias de operación, condiciones de decisión y flujos de control que
hacen la interacción entre sensores, procesamiento y actuadores, utilizando una notación intermedia que
combina elementos del lenguaje natural con estructuras propias de la programación. En otras palabras,
el pseudocódigo es un puente conceptual entre el diseño del algoritmo y su codificación, con el fin de
dar mayor claridad en la documentación del sistema del robot tipo Snake. La Figura 7 presenta el
pseudocódigo de todo el sistema de detección y evasión de obstáculos en el robot Snake.

pág. 6229
Figura 7. Pseudocódigo del sistema embebido para detección de obstáculos en el robot tipo Snake
Módulo 8. Codificación en lenguaje C
El módulo de codificación en lenguaje C tiene como propósito implementar la lógica del sistema dentro
del microcontrolador PIC16F887, utilizando un lenguaje de bajo nivel que permita un control preciso
del hardware y una gestión eficiente de los recursos disponibles. Aquí, se traducen las estructuras
Algoritmo Principal
HCSR04_init()
HCSR04_init1()
Mientras Verdadero
distancia1 = 0
distancia2 = 0
distancia3 = 0
DetenerMotor()
distancia1 = HCSR04_get_distance1()
distancia2 = HCSR04_get_distance2()
distancia3 = HCSR04_get_distance3()
Si distancia1 <= 10 o distancia2 <= 10 o distancia3 <= 10 Entonces
Si distancia1 >= distancia2 y distancia1 >= distancia3 Entonces
EncenderLED(LED_1)
ApagarLED(LED_2)
ApagarLED(LED_3)
DetenerMotor()
Sino Si distancia2 >= distancia3 Entonces
ApagarLED(LED_1)
EncenderLED(LED_2)
ApagarLED(LED_3)
EsperarMilisegundos(10)
GirarIzquierda()
DetenerMotor()
EsperarMilisegundos(10)
Sino
ApagarLED(LED_1)
ApagarLED(LED_2)
EncenderLED(LED_3)
EsperarMilisegundos(10)
GirarDerecha()
DetenerMotor()
EsperarMilisegundos(10)
Fin Si
EsperarMilisegundos(150)
Sino
ApagarLED(LED_1)
ApagarLED(LED_2)
ApagarLED(LED_3)
Fin Si
Fin Mientras
Fin Algoritmo

pág. 6230
definidas en el pseudocódigo a instrucciones en C compatibles con el microcontrolador, integrando
funciones para la lectura de sensores, el manejo de temporizadores, la configuración de puertos de
entrada/salida y el control de actuadores. También se optimiza el código para minimizar los tiempos de
respuesta. Esta es la última parte de la metodología de desarrollo, permitiendo que el robot tipo Snake
ejecute de forma autónoma las tareas de detección y evasión de obstáculos.
RESULTADOS Y DISCUSIÓN
Los resultados obtenidos muestran que el sistema desarrollado es capaz de detectar y evadir obstáculos
de manera consistente en un entorno bidimensional controlado, utilizando sensores ultrasónicos como
principal mecanismo de percepción. Durante las pruebas experimentales, el robot tipo Snake logró
identificar la proximidad de objetos sólidos a distintas distancias y ejecutar respuestas mediante la
activación de los actuadores (Ver Figura 8).
Figura 8. Pruebas para detección y evasión de obstáculos. Se ven los sensores ultrasónicos y la cabeza
del robot Snake
Se observó que la calibración adecuada de los sensores permitió reducir variaciones en las mediciones,
mejorando la precisión en la estimación de distancias y la calidad en la toma de decisiones. Finalmente,
se confirmó la viabilidad del sistema propuesto como una solución accesible y eficiente para la
navegación autónoma básica. En la Tabla 1 se muestran los resultados de las pruebas experimentales
realizadas, bajo condiciones controladas de laboratorio.

pág. 6231
Tabla 1. Resultados de las pruebas experimentales realizadas, bajo condiciones controladas de
laboratorio
Prueba Condición
del entorno
Distancia
detectada (cm)
Acción del
sistema
Resultado
Prueba 1 Objeto frontal
cercano
≤10 Detener Evitó
colisión
Prueba 2 Objeto lateral
izquierdo
≤15 Girar derecha Evasión
correcta
Prueba 3 Objeto lateral
derecho
≤20 Girar izquierda Evasión
correcta
Prueba 4 Espacio libre >20 Avanzar Trayectoria
libre
Prueba 5 Múltiples
obstáculos
Variable Selección de
mayor distancia
Evasión
parcial
DISCUSIÓN
Con el sistema de detección y evasión de obstáculos se confirma que la integración de sensores
ultrasónicos es suficiente para lograr una navegación autónoma básica en entornos controlados; sin
embargo, ttambién se detectaron algunas limitaciones, sobretodo en la sensibilidad de las mediciones
ante condiciones físicas de los obstáculos, como su forma geométrica o el tipo de su superficie
reflectante, además, se tiene presente que el sistema desarrollado no puede predecir o planificar
trayectorias. A pesar de ello, el sistema desarrollado es capaz de mejorarse al utilizar diversas técnicas,
como algoritmos adaptativos o modelos que permitan mejorar la toma de decisiones.
CONCLUSIONES
En este trabajo se comprobó que el desarrollo e integración de un sistema embebido para la detección y
evasión de obstáculos en un robot tipo Snake permitió validar la navegación autónoma en superficies de
dos dimensiones utilizando sensores ultrasónicos y microcontroladores de bajo costo. También, se
comprobó que la correcta interacción entre los módulos de programación, calibración, detección, control
y toma de decisiones ofrece un comportamiento adecuado para un robot Snake, logrando identificar
obstáculos y logrando su evasión de forma adecuada. Respecto al uso de sensores ultrasónicos, a través
de la medición de umbrales demostró ser suficiente para la operación del sistema sin requerir algoritmos
complejos y muy elaborados. Finalmente, este trabajo puede servir de base para el desarrollo de sistemas
más avanzados, enfocados en escenarios de exploración, inspección y rescate en espacios de difícil
acceso.

pág. 6232
REFERENCIAS BIBLIOGRÁFICAS
Borenstein, J., & Koren, Y. (1989). Real-time obstacle avoidance for fast mobile robots. IEEE
Transactions on Systems, Man, and Cybernetics, 19(5), 1179–1187.
Everett, H. R. (1995). Sensors for mobile robots: Theory and application. A K Peters.
Gibbs, G. (2017). Obstacle detection with ultrasonic sensors and signal processing. Procedia Computer
Science, 130, 974–981.
Lee, E. A., & Seshia, S. A. (2017). Introduction to embedded systems: A cyber-physical systems
approach (2nd ed.). MIT Press.
Liljebäck, P., Pettersen, K. Y., Stavdahl, Ø., & Gravdahl, J. T. (2013). Snake robots: Modelling,
mechatronics, and control. Springer.
Meliones, A. (2022). Reliable ultrasonic obstacle recognition systems. Technologies, 10(3), 54.
Siciliano, B., & Khatib, O. (2016). Springer handbook of robotics. Springer.
Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic robotics. MIT Press.
Transeth, A. A., Pettersen, K. Y., & Liljebäck, P. (2009). A survey on snake robot modeling and
locomotion. Robotica, 27(7), 999–1015.
Zhang, H., Wang, Y., & Liu, J. (2022). Decentralized obstacle avoidance control for multi-robot systems
in dynamic environments. Robotics and Autonomous Systems, 151, 104021.
Zhao, J. (2021). Multi-sensor obstacle avoidance for autonomous robots. Sensors, 21(20), 6777.
ama de su agradado como Zotero, Mendeley u otro.