Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Planificación de movimiento en tiempo real para vehículos autónomos en varias situaciones, en entornos urbanos simulados

Los coches autónomos avanzados tienen un significado revolucionario para la industria del automóvil. Si bien cada vez más empresas ya han comenzado a construir sus propios automóviles autónomos, nadie ha introducido todavía un automóvil autónomo práctico en el mercado. Un problema clave de sus automóviles es la falta de un sistema de planificación de movimiento activo en tiempo real confiable para el entorno urbano. Un sistema de planificación de movimiento en tiempo real hace que los automóviles puedan conducir de manera segura y estable en el entorno urbano. El objetivo final de este proyecto es diseñar e implementar un sistema confiable de planificación de movimiento en tiempo real para reducir las tasas de accidentes en automóviles autónomos en lugar de conductores humanos. El sistema de planificación de movimiento en tiempo real incluye mantenimiento de carril, evitación de obstáculos, evitación de vehículos en movimiento, control de crucero adaptativo y función para evitar accidentes. En la investigación, los vehículos EGO se construirán y equiparán con una unidad de procesamiento de imágenes, un LIDAR y dos sensores ultrasónicos para detectar el entorno. Estos datos del entorno permiten implementar un programa de control completo en el sistema de planificación de movimiento en tiempo real. El programa de control se implementará y probará en un vehículo EGO reducido con un entorno urbano reducido. El proyecto se ha dividido en tres fases:construir vehículos EGO, implementar el programa de control del sistema de planificación de movimiento en tiempo real y mejorar el programa de control mediante pruebas en el entorno urbano a escala reducida. En la primera fase, cada vehículo EGO se construirá con un kit de chasis de vehículo EGO, una Raspberry Pi, un LIDAR, dos sensores ultrasónicos, una batería y una placa de alimentación. En la segunda fase, el programa de control del sistema de planificación de movimiento en tiempo real se implementará bajo el programa de mantenimiento de carril en Raspberry Pi. Python es el lenguaje del programa que se utilizará para implementar el programa. Las funciones de mantenimiento de carril, evitación de obstáculos, evitación de automóviles en movimiento y control de crucero adaptativo se integrarán en este programa de control. En la última fase se finalizarán los trabajos de prueba y mejora. Se diseñarán y realizarán pruebas de confiabilidad. Cuantos más datos se obtengan de las pruebas, más estabilidad se puede implementar del sistema de planificación de movimiento en tiempo real. Finalmente, se construirá un sistema de planificación de movimiento confiable, que se utilizará en

vehículos EGO a escala normal para reducir significativamente las tasas de accidentes en entornos urbanos.

Introducción

Ya hay muchos coches autónomos de nivel 3 producidos en el mercado, que permiten a los conductores no tener las manos libres, ni mirar, al permitir que la computadora se haga cargo de la tarea de conducir. Sin embargo, los consumidores tienen acceso limitado para usar esas funciones debido a preocupaciones de seguridad mientras conducen sus autos autónomos de nivel 3 porque los autos de nivel 3 no pueden asumir totalmente el trabajo de conducción de los humanos. Por tanto, la mayoría de países considera que los coches de nivel 3 no son totalmente seguros y fiables. Aunque los autos de nivel 3 podrían ser autónomos técnicamente, las computadoras aún no están maduras para manejar emergencias. Se necesita un coche autónomo de nivel superior (nivel 4) para liberar a los conductores física e incluso psicológicamente. Por lo tanto, construir el automóvil autónomo de nivel 4 y entregarlo al mercado es la prioridad de investigación. Para que esto sea práctico en la vida diaria, es necesario equipar muchos sistemas, y uno de ellos es el sistema de planificación de movimiento en tiempo real. Recibirá señales procesadas de la unidad de procesamiento de imágenes, LIDAR y sensores ultrasónicos para lograr muchas funciones útiles para automóviles de nivel 4. Por ejemplo, una función fiable para evitar obstáculos, etc. Sin embargo, el problema es que la mayoría de estas funciones que se van a equipar en el coche siguen siendo funciones pasivas y solo están diseñadas para la autopista. En resumen, en esta investigación se necesita diseñar un sistema de planificación de movimiento en tiempo real más inteligente y confiable para el entorno urbano. La investigación se basará en un entorno urbano reducido con un vehículo EGO reducido para diseñar y probar algoritmos en un sistema de planificación de movimiento en tiempo real. Las lógicas de control del automóvil y los algoritmos confiables son puntos clave para diseñar un sistema de planificación de movimiento en tiempo real inteligente y confiable para el entorno urbano. En la primera fase del proyecto, el equipo de hardware construirá los vehículos EGO con el hardware comprado. Cada vehículo EGO se construirá con un kit de chasis de vehículo, una Raspberry Pi, un LIDAR, dos sensores ultrasónicos, una batería y una placa de alimentación. La segunda fase del proyecto del sistema de planificación de movimiento en tiempo real se iniciará una vez que finalice la preparación del hardware. El equipo de control utilizará el código creado por el equipo de procesamiento de imágenes para construir primero un algoritmo de mantenimiento de carril. El sistema de planificación de movimiento en tiempo real del vehículo se construirá después de que se construya el algoritmo de mantenimiento de carril. En el sistema de planificación de movimiento en tiempo real, el LIDAR se utilizará como sensor principal del vehículo. Se encontrará un método apropiado, que permitirá que el LIDAR se pueda usar para detectar obstáculos y enviar señales utilizables para su posterior programación. Hay tres funciones principales que se construirán en el proyecto del sistema de planificación de movimiento en tiempo real. La primera función es evitar obstáculos, que puede permitir que la fuerza del vehículo EGO se detenga frente a los obstáculos. La segunda función es evitar el automóvil en movimiento, lo que puede permitir que el vehículo EGO pueda cambiar de carril para evitar un accidente automovilístico y conducir de regreso al carril original. La última función es el control de crucero adaptativo, que permitirá que el vehículo EGO ajuste su propia velocidad para mantener la distancia de seguridad con el automóvil delantero. Sobre la base de estas tres funciones, se formará una función básica para evitar accidentes en el sistema de planificación de movimiento en tiempo real. En la última fase del proyecto, el sistema de planificación de movimiento en tiempo real integrado

implementar y probar en el vehículo EGO en el entorno urbano reducido. Se diseñarán varias pruebas para probar la confiabilidad del sistema de planificación de movimiento en tiempo real y resumir la mejora futura del sistema de planificación de movimiento en tiempo real.

Hardware

Los vehículos EGO reducidos de la figura 1 se utilizan como objetos de prueba en este proyecto. Estos robots se construyen sobre la base de kits de chasis de robot con motores de CC. El kit de chasis de robot con motores de CC ofrece un marco utilizable y un sistema de propulsión para los vehículos EGO. En función de su capacidad de expansión, se pueden agregar otros componentes en un chasis, que incluyen Raspberry Pi, circuito del motor, un LIDAR, dos sensores ultrasónicos y un banco de baterías. Se ha elegido Raspberry Pi como plataforma informática para este proyecto porque es una plataforma madura y se puede implementar código Python en ella. Los circuitos de motor se utilizan para distribuir la cantidad adecuada de energía a los motores de CC y hacer que los robots se muevan, según las instrucciones de la lógica de control. Un LIDAR se utiliza como sensor principal para este sistema de planificación de movimiento en tiempo real porque puede brindar capacidad de detección de obstáculos (a una distancia menor de 15 cm) a estos vehículos EGO reducidos, y la capacidad de detección de obstáculos es la capacidad básica más importante para esto en tiempo real. sistema de planificación de movimiento en este proyecto. Los sensores ultrasónicos pueden permitir que el vehículo EGO tenga la capacidad de detectar objetos más cercanos con un rango de menos de 15 cm que LIDAR no puede detectar. Los bancos de baterías se utilizan como fuente de energía para estos vehículos EGO y pueden llevar energía a Raspberry Pi, LIDAR y motores. El diagrama de bloques detallado de la conexión de hardware se muestra a continuación en la figura 2.

Chasis de vehículo EGO reducido:

Adafruit (PID 3244) Mini kit de chasis de robot redondo de 3 capas:2WD con motores de CC que se muestran en la figura 3 se utilizan como chasis para este proyecto. La capacidad de expansión del chasis puede permitir que se le agreguen componentes. Además, el kit de chasis incluye dos motores y ruedas, lo que significa que también incluye un sistema de potencia en este kit. Este sistema de energía hace que el equipo de hardware pueda construir fácilmente el vehículo EGO sin tiempo adicional para encontrar un sistema de energía adecuado para el chasis del robot.

Raspberry Pi:

Hay varios modelos de Raspberry Pi que se pueden usar para este proyecto, y se ha elegido Raspberry Pi 3B + que se muestra en la figura 4 para usar en este proyecto. La principal razón para elegir Raspberry Pi 3B + es que tiene suficiente potencia informática para este proyecto. Además, tiene Wi-Fi incorporado y la eficiencia de transmisión de Wi-Fi es más rápida que el modelo anterior. Además, Raspberry Pi 3B + solo necesita una entrada de fuente de alimentación de 5 V / 1,5 A y, en el mercado, se pueden elegir muchos bancos de baterías para satisfacer este requisito de energía. Esta es también la misma razón por la que no se ha elegido Raspberry Pi 4. Raspberry Pi 4 necesita una entrada de fuente de alimentación de 9V / 2A, y en el mercado, las baterías tienen una salida de 9V / 2A que es cara y poco común. No solo eso, también Raspberry Pi 4 tiene un precio más alto que Raspberry Pi 3B +, e incluso estos dos modelos tienen una potencia informática similar. Los pines GPIO en Raspberry Pi se utilizarán como pines de entrada para recibir la señal de un LIDAR, dos sensores ultrasónicos; Además, los pines GPIO serán pines de salida para enviar señal a un controlador de motor.

Circuito del controlador del motor (placa de alimentación):

El controlador de motor DRV8833 que se muestra en la figura 3 ha sido elegido para este proyecto. El controlador del motor puede distribuir energía a los motores y recibir comandos de control de Raspberry pi. Hay cuatro pines de entrada (AIN1,2; BIN1,2), cuatro pines de salida (AOUT1,2; BOUT1,2), un pin de tierra (GND), un pin SLP y un pin VM que se utilizan en este proyecto (figura 5). Los pines de salida se utilizan para distribuir energía a estos dos motores y controlar estos dos motores para permitir que los vehículos EGO puedan moverse. Los pines de entrada se utilizan para recibir señales de control de los pines GPIO en Raspberry Pi y permiten que estos dos motores giren según las necesidades del operador. El pin VM recibirá energía del pin "+" del banco de baterías conocido como VCC. El pin SLP se conectará con el pin VM, es el pin de habilitación para el controlador del motor. Conéctelo a VCC para habilitarlo o un pin alto GPIO para control. El pin GND conectará el pin '-' del banco de baterías y el pin de tierra de Raspberry Pi. La Figura 6 muestra la conexión detallada de la placa de alimentación en forma de diagrama de bloques.

Las placas PCB serán plataformas para que los conductores de motores fabriquen placas de potencia. Los controladores de motor se pueden conectar y desconectar fácilmente en estos circuitos de placa PCB. Esto evita soldar directamente el controlador del motor en placas PCB. Dado que el progreso para reparar los controladores de motor soldados en las placas de PCB es más difícil que arreglar las placas de PCB con estos circuitos, este procedimiento puede permitir que los miembros del equipo del proyecto eviten soldar los controladores de motor directamente en las placas de PCB. (figura 7 y figura 8)

LIDAR:

LIDAR en la figura 9 ha sido elegido para este proyecto. El entorno circundante puede ser detectado por LIDAR para generar datos de distancia y ángulo, en base a esto, los vehículos EGO tendrán capacidad de detección, y las funciones de evitación de obstáculos, evitación de automóviles en movimiento y control adaptativo se pueden construir en el sistema de planificación de movimiento en tiempo real. LIDAR tiene un puerto micro-USB que se puede conectar directamente a Raspberry Pi, permite que Raspberry Pi lea datos de LIDAR. Además, LIDAR recibirá energía de Raspberry Pi a través del mismo puerto USB.

Batería:

El tamaño del banco de baterías es un problema clave de este proyecto. Dado que el vehículo EGO tiene un espacio limitado para colocar la batería, las baterías delgadas prefieren elegir. Los bancos de baterías deben tener una capacidad de energía de al menos 10000 mAh para garantizar que dos motores, dos Raspberry Pi, un LIDAR puedan funcionar adecuadamente en cada vehículo EGO. El tamaño de las baterías también debe ajustarse lo más posible al tamaño de los vehículos EGO. Por lo tanto, el cargador portátil Anker Power Core 13000 que se muestra en la figura 10 se eligió para este proyecto porque no solo se ajusta al tamaño de los vehículos EGO, sino que también tiene una capacidad de potencia de 13000 mAh.

Sensores ultrasónicos:

Los sensores ultrasónicos de la figura 11 se utilizan para detectar la distancia cercana, ya que la distancia mínima de detección para el LIDAR es de 15 cm, cualquier otro obstáculo a menos de 15 cm no es detectable por el LIDAR. Los sensores ultrasónicos pueden detectar el rango cercano incluso por debajo de 5 cm. Por lo tanto, se han ensamblado dos sensores ultrasónicos en el lado izquierdo y derecho del vehículo EGO para detectar el automóvil en el carril inverso. El pin VCC se conecta al pin 2 o al pin 4, que es el pin VCC de Raspberry Pi, y GND se conecta al pin de tierra de Raspberry Pi

Software

En este proyecto, los vehículos EGO deben controlarse de forma inalámbrica. Para que sea posible, el monitor y la carcasa de Raspberry Pi deben estar conectados de forma inalámbrica a una PC / Mac local. Para lograr esto, es necesario utilizar el comando shell inalámbrico y el software de conexión VNC [7]. Además, en este proyecto, se ha elegido Python 3 como lenguaje de programación porque es maduro y fácil de usar. Hay una cantidad significativa de paquetes en Python que se pueden usar en este proyecto, por ejemplo, Python tiene el paquete LIDAR [6] que se puede usar para controlar el LIDAR que se usa en este proyecto. El paquete LIDAR solo se puede implementar en el entorno Python 3. Todo el software se ejecutará en el sistema operativo Raspbian en Raspberry Pi.

Conectar Shell en Raspberry Pi con PC / MAC local:


Los vehículos EGO deben controlarse de forma inalámbrica y la carcasa de Raspberry Pi debe conectarse a la carcasa de PC / MAC local. Para conectar shells, se debe ingresar el siguiente comando:
Primero, ingrese el comando "sudo raspi-config" en el shell de Pi para habilitar el servidor ssh en Pi. A continuación, ingrese el comando "ifconfig" en el shell Pi, la dirección IP "192.168.xxx.xxx" se encontrará después de este comando. En el shell de PC / MAC local, ingrese el comando "ssh [email protected]" para conectar el shell de Pi. El nombre de usuario predeterminado de Raspberry Pi es "pi", y es necesario ingresar la contraseña predeterminada de Raspberry Pi es "frambuesa". Finalmente, el shell de Raspberry Pi se puede controlar mediante el shell de PC / MAC local.

Versión de Python:


En la placa de la versión Raspberry Pi 3B +, Python 2 es el entorno de programa predeterminado, sin embargo, el paquete LIDAR solo se puede usar en el entorno Python3. El siguiente comando se utilizará para configurar Python 3 como el entorno de programa predeterminado en el shell:

Primero ingrese "sudo rm / usr / bin / python" para eliminar el enlace predeterminado de Python del sistema predeterminado

Enlace. Luego, ingrese "sudo

-s /usr/bin/python3.X

comando para reasignar el nuevo

Es necesario utilizar el enlace de Python predeterminado a la versión de Python. En este comando, "X" significa Python3

versión que ya ha sido instalada. Después de esto, ingrese "Python" para verificar la versión predeterminada de Python.

Paquete LIDAR:

El paquete LIDAR debe instalarse para permitir que la señal del LIDAR sea programable. En el entorno Python3, en la ventana de shell, ingrese el siguiente comando para instalar el paquete LIDAR:Ingrese "sudo pip3 install LIDAR" para instalar el paquete LIDAR.

Conexión VNC:

El servidor VNC y el programa de conexión VNC se han elegido para usar en este proyecto, para permitir que la PC / MAC local tenga la capacidad de monitorear la Raspberry Pi de forma inalámbrica. Para habilitar el servidor VNC e instalar VNC connect, se debe ingresar el siguiente comando:
Primero, ingrese el comando "sudo raspi-config" para ingresar al menú de configuración de la Raspberry Pi. A continuación, ingrese el comando "vncserver" para habilitar el servidor VNC en Raspberry Pi (después de reiniciar la Pi, esta configuración debe habilitarse nuevamente). Luego, descargue e instale VNC connect en su PC / MAC local. Después de eso, ingrese la dirección IP de Raspberry Pi que se encuentra antes en la barra de direcciones de VNC connect. Ingrese el nombre de usuario y la contraseña de Raspberry Pi que ya se mencionó en la parte de shell. Finalmente, la PC / MAC local puede monitorear la Raspberry Pi de forma inalámbrica.

Metodología

Fase1:

El vehículo EGO será ensamblado por Raspberry Pi, placa de alimentación, LIDAR, dos sensores ultrasónicos y banco de baterías. Después del ensamblaje, el software incluye python, el paquete LIDAR, la conexión VNC y la conexión de shell se instalará y configurará correctamente. Se encontrará la manera de transferir LIDAR de datos brutos legibles a datos de detección utilizables para la programación de la siguiente fase. El vehículo EGO se preparará después de los tres pasos anteriores y estará listo para la programación y las pruebas.

Fase 2:

Se diseñarán tres escenarios para probar la función para evitar obstáculos, la función para evitar el automóvil en movimiento y la función de control de crucero adaptativo. Siguiendo tres escenarios, se diseñará la lógica de control de tres funciones y se bosquejarán tres diagramas de flujo de tres lógicas de control. Una vez que se han generado los diagramas de flujo, se deben realizar varias revisiones de los diagramas de flujo, hasta que las lógicas de control sean lógicamente meticulosas. Luego, los programas y algoritmos de tres funciones separadas se programarán a través de los diagramas de flujo. El vehículo EGO estará listo para probar tres funciones en la última fase.

Fase 3:

El primer grupo de pruebas confiables se realizará en tres escenarios diseñados con tres funciones separadas. Estas pruebas encontrarán problemas y mejoras futuras. A continuación, siguiendo estos problemas encontrados y futuras mejoras, se mejorará la lógica de control, los programas de tres funciones, el algoritmo y el hardware; Los problemas se solucionarán. Tres funciones separadas se combinarán con el programa de mantenimiento de carril como un sistema de planificación de movimiento en tiempo real completamente funcional para este proyecto. El segundo grupo de pruebas fiables se realizará en tres escenarios diseñados con esta función ya combinada. Después de finalizar dos grupos de pruebas confiables, se completará la versión final del sistema de planificación de movimiento en tiempo real de este proyecto.

LIDAR

Hay cuatro tipos de datos que se pueden leer desde LIDAR, y solo se usarán dos tipos de datos en este proyecto, son el ángulo y la distancia. La medida del ángulo en unidades de grados [0,360) y la medida de la distancia será mayor a 15 cm (otra distancia menor a 15 cm, se devolverá el valor 0). El problema que se había enfrentado es que solo se pueden leer datos de distancia y ángulo desde el LIDAR, pero ¿cómo se pueden usar estos datos en la detección de obstáculos? La solución es dividir el rango de detección LIDAR en 4 secciones y detectar el valor de la distancia de los obstáculos para tomar la decisión de controlar el movimiento del siguiente paso del vehículo. Como se muestra en la figura 12, 315 grados a 45 grados es la sección delantera y 135 grados a 225 grados es la sección trasera. Dado que el Lidar solo puede detectar el objeto a una distancia superior a 15 cm, por ahora, estas dos secciones solo se utilizan. Para la sección izquierda y derecha, el sensor ultrasónico puede manejar el trabajo de detección para estas dos secciones.

Este es el gráfico que muestra cómo funcionan estas dos secciones de detección en la carretera:

Como muestra la figura 13, el vehículo EGO circula por el carril derecho y el coche B circula por el carril inverso. El círculo verde alrededor del vehículo EGO es el rango de detección válido mencionado anteriormente. El rango de detección se dividirá en cuatro secciones y la distancia de detección será superior a 15 cm. Como se probó, esta sección de detección delantera no influirá en el automóvil B, a menos que el automóvil B pase sobre la línea de puntos entre dos carriles.

Formulación de problemas

Evitación de obstáculos:

Se han considerado tres escenarios. El primer escenario es para probar la función de evitación de obstáculos que se muestra en la figura 14. Hay un obstáculo en el medio de la carretera, y el vehículo EGO se mueve cerca de él, y el automóvil B circula en sentido inverso en el otro carril justo al lado del vehículo EGO . El vehículo EGO no puede cambiar de carril para evitar un accidente porque chocará contra el automóvil B. La única opción que le queda al automóvil A es detenerse por completo frente al obstáculo enfrentado.

Evitación de vehículos en movimiento (otro escenario para evitar obstáculos):

El segundo escenario está diseñado en base a otro escenario de evitación de obstáculos y se denomina función de evitación de automóvil en movimiento en la figura 15. El automóvil B está circulando en la dirección incorrecta y en el mismo carril del vehículo EGO. Esta vez, no hay ningún automóvil u obstáculo en el otro carril, por lo tanto, el vehículo EGO puede elegir cambiar de carril para evitar el automóvil B, y después de evitar el automóvil B, el vehículo EGO puede regresar al carril correcto.

El último escenario está diseñado para probar la función de control de crucero adaptativo en la figura 16. El automóvil B se está moviendo hacia adelante, el vehículo EGO necesita mantener una distancia segura del automóvil B para evitar accidentes. El vehículo EGO ajustará su propia velocidad para mantener la distancia segura.

Control de crucero adaptativo:

Lógica de control

Definición de variables:

Lógica de control para evitar obstáculos:

En la lógica de control de evitación de obstáculos que se muestra en la figura 17, si la detección de distancia está en la distancia más lejana, el automóvil seguirá adelante. Si la detección de distancia está en una distancia peligrosa, y la detección de ángulo muestra que el obstáculo está en la sección de detección de avance. Luego, el vehículo EGO detectará el carril de reversa y, si hay obstáculos o automóviles en el carril de reversa, el vehículo EGO se detendrá por completo.

Lógica de control de evitación de vehículos en movimiento:

En la lógica de control de evitación de automóviles en movimiento que se muestra en la figura 18, si la detección de distancia está en la distancia más lejana, el automóvil seguirá adelante. Si la detección de distancia está en una distancia peligrosa, y la detección de ángulo muestra que el obstáculo está en la sección de detección de avance. Entonces, el vehículo EGO detectará el carril de reversa, y si no hay obstáculos o los autos en el carril de reversa detectan por sensores ultrasónicos, el vehículo EGO cambiará al carril de reversa para evitar el auto en la dirección equivocada. Una vez que no haya obstáculos ni automóviles en el carril original, el vehículo EGO volverá al carril original.

Lógica de control de función de control de crucero adaptativo:

En el escenario de la función de control de crucero adaptativo, se enfrentarán dos problemas, uno es que el vehículo EGO se mueve demasiado rápido y el otro es que el vehículo EGO se mueve demasiado lento. En la figura 19 se muestra la lógica de control total de la función de control de crucero adaptativo.

Lógica de control combinada:

Aquí están los diagramas de flujo de la lógica de control para la lógica de control combinada de las tres lógicas de control anteriores:

En la lógica combinada, el mantenimiento de carril y el programa de control de crucero adaptativo no cambiarán. Sin embargo, la función para evitar obstáculos y la función para evitar el automóvil en movimiento se combinarán como una sola función. Anteriormente, la función de evitación de obstáculos solo podía permitir que el automóvil se detuviera por completo junto al obstáculo en el medio de la carretera, pero ¿cuál es el siguiente paso de la recomendación de control? Esta función se puede combinar con la función para evitar el automóvil en movimiento, que puede adelantar al automóvil que se aproxima y cambiar de carril. En la función de evitación de obstáculos, el automóvil puede usar sensores ultrasónicos y LIDAR para detectar el entorno, para verificar que haya algún otro automóvil en el otro carril, después de detenerse por completo frente al obstáculo. Si no hay ningún automóvil u obstáculo en el carril de reversa, entonces el automóvil puede atravesar el obstáculo y continuar su viaje.

Resultados

Resultados anteriores:

Los vehículos EGO se ensamblan con éxito con el hardware que se ha elegido para su uso. El equipo de mantenimiento de carril ha implementado con éxito un programa de mantenimiento de carril utilizable basado en el trabajo del equipo de procesamiento de imágenes que utilizará la señal de la cámara. Los datos brutos de LIDAR se transfieren de manera adecuada a datos utilizables mediante el método de programación mencionado anteriormente. El sistema de planificación de movimiento en tiempo real con evitación de obstáculos, evitación de automóviles en movimiento y funciones de control de crucero adaptativo se han construido como tres programas de control separados basados ​​en el programa de mantenimiento de carril. Las pruebas anteriores se basan en estos tres programas de control separados para probar la estabilidad, ya que combinarlos para probar la estabilidad es más difícil que probarlos por separado. La función para evitar obstáculos funciona bien, el vehículo EGO puede forzar la parada frente al obstáculo preestablecido. Sin embargo, el vehículo EGO es demasiado pesado con dos placas Raspberry Pi y un LIDAR, a veces el vehículo EGO

se volteará hacia abajo debido a su gran peso. En la función de evitación de automóviles en movimiento, la lógica de cambio de carril funciona bien, sin embargo, su ruta de evitación no es precisamente la esperada. Se deben agregar dos sensores ultrasónicos en el vehículo EGO, para que el vehículo EGO pueda detectar objetos a menos de 15 cm, especialmente obstáculos en el lado izquierdo y derecho. En la función de control de crucero adaptativo, el programa de control de ajuste de distancia está funcionando; sin embargo, durante el proceso de ajuste de distancia, la velocidad del vehículo EGO no es estable como se esperaba. La razón es que la lógica de control del control de crucero adaptativo solo permite que el automóvil acelere y desacelere a la misma velocidad. Se debe agregar un algoritmo de ajuste de distancia más inteligente en la lógica de control de la función de control de crucero adaptativo.

Resultados esperados:

Después de los resultados de las pruebas de pruebas anteriores, se han aplicado varias mejoras a los programas de control y al vehículo EGO. Primero, se ha reducido el peso y la altura del vehículo EGO para disminuir el riesgo de vuelco. A continuación, se han agregado dos sensores ultrasónicos y el programa acompañado en el programa de control de evitación del automóvil en movimiento, lo que hace que el vehículo EGO tenga una capacidad de detección más precisa para la distancia del objeto del lado izquierdo y del lado derecho al vehículo EGO. Luego, se ha agregado un algoritmo de ajuste de distancia más inteligente en la parte del control de crucero adaptativo. A diferencia de la lógica de control anterior, se ha agregado un algoritmo de aceleración y desaceleración, el vehículo EGO puede acelerar y desacelerar en un uno por ciento de la velocidad actual o un cinco por ciento de la velocidad actual según la demanda. Por fin, estas tres funciones se combinarán con el programa de mantenimiento de carril como la versión final del sistema de planificación de movimiento en tiempo real en este proyecto.

Para la primera mejora, el peso y la altura del vehículo EGO se han reducido, reducirán significativamente el riesgo de volcarse. La reducción de peso del vehículo EGO reducirá la fuerza de inercia del vehículo EGO durante el proceso de parada forzada. De acuerdo con la segunda ley del movimiento de Newton, la fuerza de inercia es igual a los tiempos de aceleración a la masa del objeto. Dado que, a la misma velocidad de aceleración que antes, reducir la masa (peso) del vehículo EGO reducirá significativamente la fuerza de inercia que soporta el vehículo EGO. Esto reducirá el riesgo de caída durante el proceso de detención forzada directamente. Además, la reducción de altura reducirá la posición del centro de gravedad

del vehículo EGO, lo que también reducirá el riesgo de vuelco. Anteriormente, hay otra placa Raspberry Pi en la parte superior del vehículo EGO, al quitarla se reducirá la posición del centro de gravedad del vehículo EGO. La razón es simple, la posición del centro de gravedad del vehículo EGO afecta su estabilidad. Cuanto más baja sea la posición del centro de gravedad, más estable será el vehículo EGO. Por lo tanto, la primera mejora reducirá con éxito el riesgo de volcadura durante el proceso de aplicación de la función de evitación de objetos.
Para la segunda mejora, se han agregado dos sensores ultrasónicos en el vehículo EGO para detectar el lado izquierdo y derecho -Distancia del objeto lateral al vehículo EGO. En la prueba anterior, el vehículo EGO no puede detectar la distancia del objeto del lado izquierdo y del lado derecho al vehículo EGO porque el LIDAR no puede detectar ningún objeto a menos de 15 cm del vehículo EGO. Después de agregar dos sensores ultrasónicos al vehículo EGO y la lógica de control de la función de evitación del automóvil en movimiento, el vehículo EGO puede conducir en una ruta mucho más precisa durante el cambio al carril inverso y volver al carril original. Anteriormente, el LIDAR es el único equipo de detección de entorno que se puede utilizar para la función de evitación de automóviles en movimiento, la ruta de evitación de automóviles en movimiento está preestablecida. El vehículo EGO encendido puede seguir la ruta preestablecida una vez que haya objetos (automóviles) frente a él. Ésta es la razón por la que la vía de evitación no puede ser precisamente antes de la mejora. Después de la mejora, el vehículo EGO detectará la distancia del objeto del lado izquierdo y del lado derecho al vehículo EGO. El vehículo EGO comenzará el proceso de evitación para cambiar el carril una vez que LIDAR detecte cualquier objeto frente a él, luego, los sensores ultrasónicos comenzarán a detectar la distancia del objeto en dos lados. Una vez que los sensores ultrasónicos detectan que no hay ningún objeto por debajo de los 10 cm en el vehículo EGO, el vehículo EGO puede iniciar el proceso de retroceso para conducir de regreso al carril original. En resumen, la segunda mejora hace que el vehículo EGO tenga una ruta más precisa durante el proceso de evitación del automóvil en movimiento.
Para la última mejora, se agregará un algoritmo de ajuste de distancia más inteligente. Este algoritmo hará que el proceso de aceleración y desaceleración del vehículo EGO sea más fluido que el anterior, dado que la velocidad de ajuste ya no es un valor fijo, será un valor dinámico. En pruebas anteriores, dado que el algoritmo no es lo suficientemente inteligente, el automóvil solo puede acelerar y desacelerar un valor de velocidad fijo preestablecido. El proceso de control de crucero adaptativo no será lo suficientemente suave y el vehículo EGO se verá conectado durante el proceso de ajuste de distancia al automóvil delantero. Después de agregar el algoritmo más inteligente en el programa de control del control de crucero adaptativo, el vehículo EGO puede acelerar y desacelerar en un uno por ciento de la velocidad actual o un cinco por ciento de la velocidad actual, el proceso será más suave que antes. La razón es que la velocidad se basará en la velocidad actual para ajustarse dinámicamente, y el vehículo EGO acelerará y desacelerará de manera más suave ya que la velocidad es continua y tiene una pequeña fluctuación. En resumen, la última mejora hará que la conducción del vehículo EGO sea más suave durante el proceso de ajuste de distancia bajo la función de control de crucero adaptativo.

Después de tres mejoras en tres programas de control separados de tres funciones en el sistema de planificación de movimiento en tiempo real, estos tres programas de control de velocidad se combinarán con el programa de mantenimiento de carril para generar un sistema final de planificación de movimiento en tiempo real. Dado que estos tres programas de control separados funcionarán muy bien después de estas mejoras, el programa de mantenimiento de carril se combinará fácilmente con ellos. Después de que se agregó el programa de mantenimiento de carril, el vehículo EGO conducirá solo en el carril y evitará cruzar la línea. Hará que la conducción del vehículo EGO sea más estable que antes en el entorno urbano a escala reducida.

Mejoras futuras

There are many future improvement aspects can be imagined from this project. First, the function of real-time motion planning is not enough. In the future, there are many ways to combine and improve these three functions makes the EGO vehicle have more and more functions, to generate a real-time motion planning system in fully functional. Secondly, the algorithm of lane keeping, adaptive cruise control, and moving car avoidance are not smart enough. There exists more advance algorithm for these three functions need to be found. For example, even the distance detection algorithm in adaptive cruise control already has been improved, however, there is still have possibility to improve the algorithm. Currently, the speed adjustment is based on five percent

of current speed or one percent of current speed, however, the speed adjustment is not dynamically. If there is an algorithm of memory for saving current speed or speed calculation based on distance and time can be added, then, the adaptive cruise control will be prefect. Also, multiple EGO vehicle driving on the same scaled-down urban environment, and EGO vehicle communication system need to be added in the real-time motion planning system to manage the traffic. In short, there will be a lot of aspects in the real-time motion planning system need to be improved in the future work.

Conclusión

Hardware and software are assembled and set appropriately in this project. The LIDAR raw data are appropriately transfer to usable data by the previous mentioned method for programing. Three different scenarios have been designed for testing obstacle avoidance function, moving car avoidance function, and adaptive cruise function. The control logic based on obstacle avoidance scenario, moving car avoidance scenario, and adaptive cruise control scenario have been designed and programmed. If the test results as expect, the real-time motion planning system has been implemented and works perfect in these three scenarios. However, the current real-time motion planning system is not perfect yet, it needs more works and more times to improve it. These three functions are the most basic function in real-time motion planning system. The final goal is to make this EGO vehicle has accident avoidance function; however, these three functions cannot let the EGO vehicle has the fully functional accident avoidance function. Apply permutations and combinations of these three basic functions will generate more possibility, which will bring a lot of different new functions in the real-time motion planning system.

Acknowledgements

First and foremost, I would like to show my deepest gratitude to my research advisor, Dr. Lisa Fiorentini, who has provided me with valuable guidance in every stage of the project and writing of this thesis. Without her instruction, kindness and patience, I could not have completed my thesis. I shall extend my thanks to my mom for all her encouragement and mental help. The work of last two semesters exhausted me, since I have onerous courses, individual research, and written work for applying graduate school. Without her encouragement and mental help, I cannot stick to now. Finally, I would like to thank all my friends, for their encouragement and support.

Reference

  1. Aqib, “What is Raspberry pi? Getting Started with Raspberry Pi 3,” Electronics Hobbyists, 18-Jan-2019. [Online]. Available:https://electronicshobbyists.com/tutorial-1-what-is-raspberry-pi-getting-started-with- raspberry-pi-3/. [Accessed:25-Apr-2020].
  2. Adafruit Industries, “Mini 3-Layer Round Robot Chassis Kit – 2WD with DC Motors,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3244. [Accessed:25-Apr-2020].
  3. Adafruit Industries, “Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3297. [Accessed:25-Apr-2020].
  4. T. Huang, “RPLIDAR-A1 360°Laser Range Scanner _ Domestic Laser Range Scanner,” SLAMTEC. [Online]. Available:https://www.slamtec.com/en/Lidar/A1. [Accessed:25-Apr-2020].
  5. “PowerCore 13000,” Anker. [Online]. Available:https://www.anker.com/store/powercore- 13000/A1215011. [Accessed:25-Apr-2020].
  6. “Welcome to lidar’s documentation! ¶,” Welcome to lidar’s documentation! – lidar documentation. [Online]. Available:https://lidar.readthedocs.io/en/latest/. [Accessed:25-Apr-2020].
  7. “RealVNC,” Download VNC Viewer for macOS | VNC® Connect. [Online]. Available:https://www.realvnc.com/en/connect/download/viewer/macos/. [Accessed:25-Apr-2020].
  8. Adafruit Industries, “HC-SR04 Ultrasonic Sonar Distance Sensor 2 x 10K resistors,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3942. [Accessed:25-Apr-2020].

Proceso de manufactura

  1. Visión por computadora como sensor de movimiento para SmartThings
  2. Sistema de sensor de movimiento por infrarrojos de bricolaje para Raspberry Pi
  3. AI de conducción autónoma para el recolector de basura de burro
  4. Planificación de mantenimiento:¿Qué beneficios ofrece?
  5. Preparándose para un futuro autónomo
  6. Múltiples usos para un carro de plataforma
  7. Sistema de seguimiento de movimiento 3D para tecnología autónoma
  8. Tecnología de sensor autónomo para retroalimentación en tiempo real sobre refrigeración y calefacción
  9. Cremallera helicoidal para movimiento lineal
  10. ¿Cómo elegir un turbocompresor para su automóvil?
  11. ¿Cuál es el motivo de las fugas de aceite en mi coche cuando está embalado?