Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Planejamento de movimento em tempo real para carro autônomo em várias situações , sob ambiente urbano simulado


Os carros autônomos avançados têm um significado revolucionário para a indústria automobilística. Enquanto mais e mais empresas já começaram a construir seus próprios carros autônomos, ninguém ainda trouxe um carro autônomo prático para o mercado. Um dos principais problemas de seus carros é a falta de um sistema de planejamento de movimento em tempo real confiável e ativo para o ambiente urbano. Um sistema de planejamento de movimento em tempo real faz com que os carros possam dirigir com segurança e estabilidade no ambiente urbano. O objetivo final deste projeto é projetar e implementar um sistema confiável de planejamento de movimento em tempo real para reduzir as taxas de acidentes em carros autônomos em vez de motoristas humanos. O sistema de planejamento de movimento em tempo real inclui manutenção de faixa, prevenção de obstáculos, prevenção de veículos em movimento, controle de cruzeiro adaptativo e função de prevenção de acidentes. Na pesquisa, os veículos EGO serão construídos e equipados com uma unidade de processamento de imagens, um LIDAR e dois sensores ultrassônicos para detecção do ambiente. Esses dados ambientais tornam possível implementar um programa de controle total no sistema de planejamento de movimento em tempo real. O programa de controle será implementado e testado em um veículo EGO em escala reduzida com um ambiente urbano em escala reduzida. O projeto foi dividido em três fases:construir veículos EGO, implementar o programa de controle do sistema de planejamento de movimento em tempo real e melhorar o programa de controle por meio de testes no ambiente urbano em escala reduzida. Na primeira fase, cada veículo EGO será construído por um kit de chassis de veículo EGO, um Raspberry Pi, um LIDAR, dois sensores ultrassônicos, uma bateria e um painel de alimentação. Na segunda fase, o programa de controle do sistema de planejamento de movimento em tempo real será implementado no programa de manutenção de faixa em Raspberry Pi. Python é a linguagem do programa que será usada para implementar o programa. As funções de controle de velocidade adaptável, manutenção de faixa, prevenção de obstáculos, prevenção de veículos em movimento e controle de cruzeiro adaptável serão incluídos neste programa de controle. Na última fase, serão concluídos os trabalhos de teste e melhoria. Os testes de confiabilidade serão projetados e realizados. Quanto mais dados forem obtidos dos testes, mais estabilidade do sistema de planejamento de movimento em tempo real pode ser implementado. Finalmente, um sistema de planejamento de movimento confiável será construído, que será usado em

Veículos EGO em escala normal para reduzir significativamente as taxas de acidentes em ambiente urbano.

Introdução


Já existem muitos carros autônomos de nível 3 produzidos no mercado, que permitem aos motoristas estar totalmente desligados, sem olhar, permitindo que o computador assuma a tarefa de dirigir. No entanto, os consumidores têm acesso limitado para usar essas funções devido a questões de segurança ao dirigir seus carros autônomos de nível 3 porque os carros de nível 3 não podem assumir totalmente o trabalho de condução de humanos. Assim, a maioria dos países considera que os carros de nível 3 não são totalmente seguros e confiáveis. Embora os carros de nível 3 possam ser autônomos tecnicamente, os computadores ainda não estão maduros para lidar com emergências. Um carro autônomo de nível superior (nível 4) é necessário para libertar os motoristas física e até psicologicamente. Assim, construir o carro autônomo nível 4 e fornecê-lo ao mercado é a prioridade da pesquisa. Para tornar isso prático na vida diária, muitos sistemas precisam ser equipados, e um deles é o sistema de planejamento de movimento em tempo real. Ele receberá sinais processados ​​da unidade de processamento de imagem, LIDAR e sensores ultrassônicos para realizar muitas funções úteis para carros de nível 4. Por exemplo, uma função confiável para evitar obstáculos, etc. No entanto, o problema é que a maioria dessas funções a serem equipadas no carro ainda são funções passivas e projetadas apenas para rodovias. Em suma, nesta pesquisa é necessário projetar um sistema de planejamento de movimento em tempo real mais inteligente e confiável para o ambiente urbano. A pesquisa será baseada em um ambiente urbano em escala reduzida com veículo EGO em escala reduzida para projetar e testar algoritmos em sistema de planejamento de movimento em tempo real. Lógicas de controle do carro e algoritmos confiáveis ​​são pontos-chave para projetar um sistema de planejamento de movimento em tempo real inteligente e confiável para o ambiente urbano. Na primeira fase do projeto, a equipe de hardware construirá os veículos EGO com o hardware adquirido. Cada veículo EGO será construído com um kit de chassi de veículo, um Raspberry Pi, um LIDAR, dois sensores ultrassônicos, uma bateria e um painel de alimentação. A segunda fase do projeto do sistema de planejamento de movimento em tempo real será iniciada assim que a preparação do hardware for concluída. A equipe de controle usará o código construído da equipe de processamento de imagem para construir um algoritmo de manutenção de faixa primeiro. O sistema de planejamento de movimento em tempo real do veículo será construído após a construção do algoritmo de manutenção da faixa. No sistema de planejamento de movimento em tempo real, o LIDAR será usado como o sensor principal do veículo. Um método apropriado será encontrado, o que permitirá que o LIDAR seja usado para detectar obstáculos e enviar sinais utilizáveis ​​de volta para posterior programação. Existem três funções principais que serão construídas no projeto do sistema de planejamento de movimento em tempo real. A primeira função é evitar obstáculos, o que pode fazer com que o veículo EGO pare na frente de obstáculos. A segunda função é evitar o carro, o que pode permitir que o veículo EGO mude a faixa para evitar acidente de carro e dirigir de volta à faixa original. A última função é o controle de cruzeiro adaptativo, que permitirá ao veículo EGO ajustar sua própria velocidade para manter a distância de segurança do carro da frente. Com base nessas três funções, uma função básica de prevenção de acidentes será formada no sistema de planejamento de movimento em tempo real. Na última fase do projeto, o sistema de planejamento de movimento em tempo real construído

implementar e testar no veículo EGO em um ambiente urbano em escala reduzida. Vários testes serão projetados para testar a confiabilidade do sistema de planejamento de movimento em tempo real e resumir o aprimoramento futuro do sistema de planejamento de movimento em tempo real.

Hardware


Veículos EGO reduzidos na figura 1 são usados ​​como objetos de teste neste projeto. Esses robôs são construídos com base em kits de chassis de robôs com motores DC. O kit de chassis de robô com motores DC traz uma estrutura utilizável e um sistema de acionamento para os veículos EGO. Com base em sua expansibilidade, outros componentes podem ser adicionados em um chassi, que incluem Raspberry Pi, circuito do motor, um LIDAR, dois sensores ultrassônicos e banco de baterias. Raspberry Pi foi escolhido como a plataforma de computação para este projeto porque é uma plataforma madura e o código Python pode ser implementado nela. Os circuitos do motor são usados ​​para distribuir a quantidade apropriada de energia para os motores DC e fazer os robôs se moverem, pela instrução da lógica de controle. Um LIDAR é usado como o sensor principal para este sistema de planejamento de movimento em tempo real porque eles podem trazer a capacidade de detecção de obstáculos (mais de 15 cm) para esses veículos EGO reduzidos, e a capacidade de detecção de obstáculos é a habilidade básica mais importante para este tempo real sistema de planejamento de movimento neste projeto. Sensores ultrassônicos podem permitir que o veículo EGO tenha a capacidade de detectar objetos mais próximos abaixo de 15 cm de alcance que o LIDAR não consegue detectar. Bancos de baterias são usados ​​como fonte de energia para esses veículos EGO e podem fornecer energia para Raspberry Pi, LIDARs e motores. O diagrama de blocos de conexão de hardware detalhado é mostrado abaixo na figura 2.

Chassi do veículo EGO em escala reduzida:


Adafruit (PID 3244) Mini 3-Layer Round Robot Chassis Kit - 2WD com motores DC mostrados na figura 3 são usados ​​como chassis para este projeto. A expansibilidade do chassi permite que componentes possam ser adicionados a ele. Além disso, o kit do chassi inclui dois motores e rodas, o que significa que também inclui um sistema de energia neste kit. Este sistema de energia faz com que a equipe de hardware possa facilmente construir o veículo EGO sem nenhum tempo extra para encontrar um sistema de energia compatível para o chassi do robô.

Raspberry Pi:


Existem vários modelos de Raspberry Pi que podem ser usados ​​neste projeto, e o Raspberry Pi 3B + mostrado na figura 4 foi escolhido para ser usado neste projeto. O principal motivo para escolher o Raspberry Pi 3B + é que ele tem capacidade de computação suficiente para este projeto. Além disso, possui Wi-Fi integrado e a eficiência de transmissão do Wi-Fi é mais rápida do que o modelo anterior. Além disso, o Raspberry Pi 3B + só precisa de uma entrada de fonte de alimentação de 5 V / 1,5 A e, no mercado, há muitos bancos de baterias que podem ser escolhidos para atender a esse requisito de energia. Este também é o mesmo motivo pelo qual Raspberry Pi 4 não foi escolhido. O Raspberry Pi 4 precisa de entrada de fonte de alimentação de 9V / 2A e, no mercado, as baterias de saída de 9V / 2A são caras e raras. Além disso, o Raspberry Pi 4 tem um preço mais alto do que o Raspberry Pi 3B +, e mesmo esses dois modelos têm poder de computação semelhante. Os pinos GPIO no Raspberry Pi serão usados ​​como pinos de entrada para receber o sinal de um LIDAR, dois sensores ultrassônicos; além disso, os pinos GPIO serão pinos de saída para enviar sinal a um driver de motor.

Circuito do driver do motor (placa de alimentação):


O driver do motor DRV8833 mostrado na figura 3 foi escolhido para este projeto. O driver do motor pode distribuir energia aos motores e receber o comando de controle do Raspberry pi. Existem quatro pinos de entrada (AIN1,2; BIN1,2), quatro pinos de saída (AOUT1,2; BOUT1,2), um pino de aterramento (GND), um pino SLP e um pino VM são usados ​​neste projeto (figura 5). Os pinos de saída são usados ​​para distribuir energia para esses dois motores e controlar esses dois motores para permitir que os veículos EGO possam se mover. Os pinos de entrada são usados ​​para receber sinais de controle dos pinos GPIO no Raspberry Pi e permitir que esses dois motores girem conforme as necessidades do operador. O pino VM receberá energia do pino ‘+’ do banco de baterias, conhecido como VCC. O pino SLP conectará com o pino VM, é o pino de habilitação para o driver do motor. Conecte-o ao VCC para habilitá-lo ou a um pino alto GPIO para controle. O pino GND conectará o pino '-' do banco de bateria e o pino terra do Raspberry Pi. A Figura 6 mostra os detalhes da conexão do painel de alimentação na forma de Diagrama de Bloco.

As placas PCB serão plataformas para os drivers de motor fazerem as placas de alimentação. Os drivers do motor podem ser conectados e desconectados facilmente nesses circuitos da placa PCB. Isso evita soldar diretamente o driver do motor nas placas PCB. Uma vez que o progresso para a fixação dos drivers de motor soldados nas placas PCB é mais difícil do que fixar as placas PCB com esses circuitos, este procedimento pode permitir que os membros da equipe do projeto evitem soldar os drivers do motor diretamente nas placas PCB. (figura 7 e figura 8)

LIDAR:


O LIDAR na figura 9 foi escolhido para este projeto. O ambiente circundante pode ser detectado pelo LIDAR para gerar dados de distância e ângulo, com base nisso, os veículos EGO terão capacidade de detecção, e as funções de prevenção de obstáculos, de carro em movimento e de controle adaptativo podem ser construídas no sistema de planejamento de movimento em tempo real. O LIDAR tem uma porta micro-USB que pode ser conectada diretamente ao Raspberry Pi, permitindo que o Raspberry Pi leia os dados do LIDAR. Além disso, o LIDAR receberá energia do Raspberry Pi por meio da mesma porta USB.

Bateria:


O tamanho do banco de baterias é um dos principais problemas deste projeto. Uma vez que o veículo EGO tem espaço limitado para colocar a bateria, as baterias finas preferem escolher. Os bancos de baterias devem ter capacidade de energia de pelo menos 10000mAh para garantir que dois motores, dois Raspberry Pi e um LIDAR possam funcionar adequadamente em cada veículo EGO. O tamanho das baterias também deve ser o mais adequado possível ao tamanho dos veículos EGO. Assim, o carregador portátil Anker Power Core 13000 mostrado na figura 10 foi escolhido para este projeto porque não só se encaixa no tamanho de veículos EGO, mas também tem capacidade de energia de 13000mAh.

Sensores ultrassônicos:


Os sensores ultrassônicos na figura 11 são usados ​​para detectar a distância próxima, uma vez que a distância mínima de detecção para o LIDAR é de 15 cm, qualquer outro obstáculo mais próximo do que 15 cm não é detectável pelo LIDAR. Os sensores ultrassônicos podem detectar o alcance próximo, mesmo abaixo de 5 cm. Portanto, dois sensores ultrassônicos foram montados no lado esquerdo e no lado direito do veículo EGO para detectar o carro na pista reversa. O pino VCC é conectado ao pino 2 ou 4, que é o pino VCC do Raspberry Pi, e o GND é conectado ao pino terra do Raspberry Pi

Software


Neste projeto, os veículos EGO precisam ser controlados sem fio. Para tornar isso possível, o monitor e o shell do Raspberry Pi precisam estar conectados sem fio ao PC / Mac local. Para conseguir isso, o comando shell sem fio e o software de conexão VNC [7] precisam ser usados. Além disso, neste projeto, Python 3 foi escolhido como linguagem de programação porque é maduro e fácil de usar. Há um número significativo de pacotes em python que podem ser usados ​​neste projeto, por exemplo, python tem pacote LIDAR [6] que pode ser usado para controlar o LIDAR é usado neste projeto. O pacote LIDAR só pode ser implementado no ambiente Python 3. Todo o software será executado no sistema operacional Raspbian no Raspberry Pi.

Conecte o Shell no Raspberry Pi ao PC / MAC local:



Os veículos EGO precisam ser controlados sem fio, e o shell no Raspberry Pi precisa ser conectado ao shell local do PC / MAC. Para conectar shells, o seguinte comando deve ser inserido:
Primeiro, insira o comando ‘sudo raspi-config’ no shell Pi para habilitar o servidor ssh em Pi. Em seguida, digite o comando ‘ifconfig’ no shell Pi, o endereço IP ‘192.168.xxx.xxx’ será encontrado após este comando. No shell local do PC / MAC, digite o comando ‘ssh [email protected] 'para conectar o shell Pi. O nome de usuário padrão do Raspberry Pi é ‘pi’, e a senha padrão do Raspberry Pi é ‘raspberry’ precisa ser digitada. Finalmente, o shell Raspberry Pi pode ser controlado pelo shell local do PC / MAC.

Versão Python:



No painel da versão Raspberry Pi 3B +, o Python 2 é o ambiente de programa padrão, no entanto, o pacote LIDAR só pode ser usado no ambiente Python3. O seguinte comando será usado para definir o Python 3 como o ambiente de programa padrão no shell:

Primeiro, digite ‘sudo rm / usr / bin / python’ para remover o link Python padrão do padrão do sistema

link. Em seguida, insira ‘sudo

-s /usr/bin/python3.X

comando para reatribuir o novo

O link padrão do Python para a versão do Python precisa ser usado. Neste comando, 'X' significa o Python3

versão que já foi instalada. Depois disso, digite "Python" para verificar a versão padrão do Python.

Pacote LIDAR:


O pacote LIDAR precisa ser instalado para permitir que o sinal do LIDAR seja programável. No ambiente Python3, na janela do shell, digite o seguinte comando para instalar o pacote LIDAR:Digite ‘sudo pip3 install LIDAR’ para instalar o pacote LIDAR.

Conexão VNC:


O servidor VNC e o programa de conexão VNC foram escolhidos para uso neste projeto, para permitir que o PC / MAC local tenha a capacidade de monitorar o Raspberry Pi sem fio. Para habilitar o servidor VNC e instalar a conexão VNC, o seguinte comando deve ser inserido:
Primeiro, insira o comando ‘sudo raspi-config’ para acessar o menu de configuração do Raspberry Pi. Em seguida, digite o comando ‘vncserver’ para habilitar o servidor VNC no Raspberry Pi (após reiniciar o Pi, esta configuração precisa ser habilitada novamente). Em seguida, baixe e instale a conexão VNC no PC / MAC local. Depois disso, digite o endereço IP do Raspberry Pi encontrado antes na barra de endereços da conexão VNC. Insira o nome de usuário e a senha do Raspberry Pi que já foi mencionado na parte do shell. Finalmente, o PC / MAC local pode monitorar o Raspberry Pi sem fio.

Metodologia

Fase1:


O veículo EGO será montado por Raspberry Pi, placa de energia, LIDAR, dois sensores ultrassônicos e banco de baterias. Após a montagem, o software inclui python, pacote LIDAR, conexão VNC e conexão shell serão instalados e configurados apropriadamente. A maneira de transferir LIDAR de dados brutos legíveis para dados de detecção utilizáveis ​​para a programação da próxima fase será encontrada. O veículo EGO estará preparado após as três etapas anteriores e pronto para programação e testes.

Fase2:


Serão projetados três cenários para testar a função de evitar obstáculos, a função de evitar o carro em movimento e a função de controle de cruzeiro adaptável. Seguindo três cenários, a lógica de controle de três funções será projetada e três fluxogramas de três lógicas de controle serão esboçados. Após os fluxogramas terem sido gerados, múltiplas vezes de revisão dos fluxogramas deve ser realizada, até que as lógicas de controle sejam logicamente meticulosas. Em seguida, programas e algoritmos de três funções separadas serão programados por meio dos fluxogramas. O veículo EGO estará pronto para testar três funções na última fase.

Fase3:


O primeiro grupo de testes confiáveis ​​será executado em três cenários projetados com três funções separadas. Problemas e melhorias futuras serão encontradas por esses testes. Em seguida, seguindo esses problemas encontrados e melhorias futuras, a lógica de controle, os programas de três funções, o algoritmo e o hardware serão aprimorados; os problemas serão corrigidos. Três funções separadas serão combinadas com o programa de manutenção da faixa como um sistema de planejamento de movimento em tempo real totalmente funcional para este projeto. O segundo grupo de testes confiáveis ​​será executado em três cenários projetados com esta função já combinada. Após a conclusão de dois grupos de testes confiáveis, a versão final do sistema de planejamento de movimento em tempo real deste projeto será concluída.

LIDAR


Existem quatro tipos de dados que podem ser lidos no LIDAR, e apenas dois tipos de dados serão usados ​​neste projeto, eles são ângulo e distância. A medida do ângulo em graus unitários [0,360), e a medida da distância será maior que 15cm (outra distância menor que 15cm, o valor 0 será devolvido). O problema enfrentado é que existem apenas dados de distância e ângulo que podem ser lidos no LIDAR, mas como esses dados podem ser usados ​​na detecção de obstáculos? A solução é dividir a faixa de detecção LIDAR em 4 seções e detectar o valor da distância dos obstáculos para tomar a decisão de controlar o movimento do próximo passo do veículo. Conforme mostrado na figura 12, 315 graus a 45 graus é a seção dianteira e 135 graus a 225 graus é a seção traseira. Since the Lidar only can detect the object farer than 15cm, thus, for now, these two sections are only used. For the left and right section, the ultrasonic sensor can handle detection job for these two sections.

This is the graphic which shows how these two detection sections works on the road:

As the figure 13 shows, the EGO vehicle running on the right lane, and Car B is running on the reverse lane. The green circle around the EGO vehicle is valid detection range mentioned before. The detection range will be divided four section, and detection distance is larger than 15cm. As tested, this forward detection section will not influence by car B, unless car B step over the dotted line between two lanes.

Problem Formulation

Obstacle Avoidance:


There are three scenarios has been considered. The first scenario is for testing obstacle avoidance function which shows in figure 14. There is one obstacle on the middle of the road, and EGO vehicle is moving close to it, and car B is running reversely on the other lane just besides the EGO vehicle. EGO vehicle cannot change the lane to avoid accident because it will crash on car B. The only choice left to car A is fully stopped in front of the obstacle faced.

Moving Car Avoidance (Another Obstacle Avoidance Scenario):


The second scenario is designed based on another obstacle avoidance scenario and named as moving car avoidance function in figure 15. Car B is running in wrong direction, and on the same lane of EGO vehicle. This time, there is not any car or obstacle on the other lane, thus, EGO vehicle can choose to change the lane to avoid car B, and after avoiding car B, EGO vehicle can back to the correct lane.

The last scenario is designed to test adaptive cruise control function in figure 16. Car B is moving in forward direction, EGO vehicle needs to keep a safe distance from car B to avoid accidents. The EGO vehicle will adjust its own speed to keep the safe distance.

Adaptive Cruise Control:

Control Logic

Variables Define:

Obstacle Avoidance Control Logic:


In obstacle avoidance control logic shows in figure 17, if the distance detection is in farthest distance, the car will keep forward. If the distance detection is in danger distance, and the angle detection shows the obstacle is in forward detection section. Then, the EGO vehicle will detect the reverse lane, and if there is any obstacles or cars on the reverse lane, the EGO vehicle will be fully stopped.

Moving Car Avoidance Control Logic:


In moving car avoidance control logic shows in figure 18, if the distance detection is in farthest distance, the car will keep forward. If the distance detection is in danger distance, and the angle detection shows the obstacle is in forward detection section. Then, the EGO vehicle will detect the reverse lane, and if there is not any obstacles or cars on the reverse lane detect by ultrasonic sensors, the EGO vehicle will change to the reverse lane to avoid the car in the wrong direction. Once there is not any obstacles or cars on the original lane, then the EGO vehicle will change back the original lane.

Adaptive Cruise Control Function Control Logic:


In the adaptive cruise control function scenario, there is two problem will be faced, the one is the EGO vehicle is moving too fast, the other one is the EGO vehicle is moving too slow. In figure 19 is the fully control logic of adaptive cruise control function.

Combined Control Logic:


Here is the control logic flow charts for combined control logic of previous three control logics:

In combined logic, lane keeping, and adaptive cruise control program will be not changed. However, obstacle avoidance function and moving car avoidance function will be combined as one function. Previously, the obstacle avoidance function only can let the car fully stop by the obstacle in the middle of the road, but what’s the next step of the control commend? This function can be combined with moving car avoidance function which can pass the coming car and switch the lane. In obstacle avoidance function, the car can use ultrasonic sensors and LIDAR to detect environment, to check there are any other car on the other lane, after it fully stop in front of the obstacle. If there is not any car or obstacle on the reverse lane, then the car can pass through the obstacle, and continue its trip.

Results

Previous Results:


EGO vehicles are successfully assembled with hardware which have been chosen to use. Lane keeping team are successfully implement a usable lane keeping program based on the work of image processing team which will use signal from camera. The LIDAR raw data are appropriately transfer to usable data by the previous mentioned method for programing. Real-time motion planning system with obstacle avoidance, moving car avoidance, and adaptive cruise control functions have been built as three separate control programs based on lane keeping program. Previous tests are based on these three separate control programs to test the stability, since combine them together to test the stability is harder than test them separately. Obstacle avoidance function works well, the EGO vehicle can force stop in front of the preset obstacle. However, the EGO vehicle is too heavy with two Raspberry Pi boards and one  LIDAR, sometimes the EGO vehicle

will flip down since its heavy weight. In moving car avoidance function, lane changing logic works well, however, its route of avoiding is not precisely as expected. Two ultrasonic sensors should be added on the EGO vehicle, to make the EGO vehicle can detect objects closer than 15cm especially obstacles on left and right side. In adaptive cruise control function, the distance adjust control program is working, however, during adjust process of distance, speed of the EGO vehicle is not stable as expected. The reason is control logic of adaptive cruise control only let the car speed up and slowdown in the same amount of speed. A smarter distance adjustment algorithm should be added in the control logic of adaptive cruise control function.

Expect Results:


After tests results from previous tests, several improvements have been applied to the control programs and the EGO vehicle. First, the weight and height of EGO vehicle has been reduced for decreasing the risk of flip down. Next, two ultrasonic sensors and accompanied program have been added in moving car avoidance control program, which makes the EGO vehicle has more precisely detection ability for the left-side and right-side object distance to the EGO vehicle. Then, one smarter distance adjustment algorithm has been added in adaptive cruise control part. Different than the previous control logic, one speed up and slowdown algorithm have been added, the EGO vehicle can speed up and slowdown in one percent of current speed or five percent of current speed as demand. At last, these three functions will combine with lane keeping program as the final version of real-time motion planning system in this project.

For the first improvement, the weight and height of EGO vehicle has been reduced, they will significantly reduce the risk of flip down. Weight reduction of EGO vehicle will reduce the inertia force of the EGO vehicle during the force stop process. According to Newton’s second law of motion, inertia force equal to acceleration times to mass of the object. Since, at the same acceleration rate as before, to reduce the mass (weight) of the EGO vehicle will significantly reduce the inertia force endure by the EGO vehicle. This will reduce the risk of flip down during the force stop process directly. Also, height reduction will reduce the position of center of gravity

of the EGO vehicle, which also will reduce the risk of flip down. Previously, there is another Raspberry Pi board on the top of the EGO vehicle, to remove it will reduce the position of the center of gravity of the EGO vehicle. The reason is simple, the position of the center of gravity of the EGO vehicle affects its stability. The lower the position of center of gravity is, the more stable the EGO vehicle. Thus, the first improvement will successfully reduce the risk of flip down during the process of the object avoidance function applied.
For the second improvement, two ultrasonic sensors have been added on the EGO vehicle to detect the left-side and right-side object distance to the EGO vehicle. In previous test, the EGO vehicle cannot detect the left-side and right-side object distance to the EGO vehicle because the LIDAR cannot detect any object closer than 15cm to the EGO vehicle. After two ultrasonic sensors added on the EGO vehicle and the control logic of moving car avoidance function, EGO vehicle can drive on a much more precisely route during change to the reverse lane and change back to the original lane. Previously, the LIDAR is only environment detection equipment can be used for moving car avoidance function, the route of moving car avoidance is preset. EGO vehicle on can drive following by the preset route once there is any objects (cars) in front of it. This is the reason why the avoidance route cannot be precisely before the improvement. After the improvement, EGO vehicle will detect left-side and right-side object distance to the EGO vehicle. EGO vehicle will start avoidance process to change the lane once there is any objects in front of it detect by LIDAR, then, the ultrasonic sensors will start to detect two sides object distance. Once the ultrasonic sensors detect there is not any object under 10cm to the EGO vehicle, then the EGO vehicle can start the drive back process to drive back to the original lane. In short, the second improvement makes the EGO vehicle will have more precisely route during moving car avoidance process.
For the last improvement, one smarter distance adjustment algorithm will be added. This algorithm will make the EGO vehicle speed up and slowdown process smoothly than previous one, since the setting speed is not a fix value anymore, it will be a dynamic value. In previous tests, since the algorithm is not smart enough, the car only can speed up and slowdown of a preset fix speed value. The adaptive cruise control process will be not smooth enough, and the EGO vehicle looks wired during distance adjustment process to the front car. After the smarter algorithm added in the control program of adaptive cruise control, EGO vehicle can speed up and slowdown in one percent of current speed or five percent of current speed, the process will be smoother than before. The reason is the speed will be based on current speed to adjust dynamically, and the EGO vehicle will speed up and slowdown smoother since the speed is continuous and have a little fluctuation. In short, the last improvement will make the EGO vehicle drive smoother during distance adjustment process under adaptive cruise control function.

After three improvements in three separate control programs of three functions in real-time motion planning system, these three sperate control program will be combined with lane keeping program to generate a final real-time motion planning system. Since these three separate control programs will work great follow by these improvements, the lane keeping program will be easily combined with them. After the lane keeping program added in, the EGO vehicle will drive just in the lane and avoid crossing the line. It will make the EGO vehicle drive more stable than before under the scale-down urban environment.

Future Improvement


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.

Conclusão


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].

Processo de manufatura

  1. Visão computacional como sensor de movimento para SmartThings
  2. Sistema de sensor de movimento infravermelho faça você mesmo para Raspberry Pi
  3. Autonomous Driving AI para Donkey Car Garbage Collector
  4. Planejamento de manutenção:O que você ganha com isso?
  5. Preparando-se para um futuro autônomo
  6. Vários usos para um carrinho de plataforma
  7. Sistema de rastreamento de movimento 3D para tecnologia autônoma
  8. Tecnologia de sensor autônomo para feedback em tempo real sobre refrigeração e aquecimento
  9. Cremalheira de engrenagem helicoidal para movimento linear
  10. Como escolher um turbocompressor para o seu carro?