- Controle de um carro autônomo no ambiente simulado da Skoods.
Acesse o sistema da Skoods para baixar o ambiente da simulação.
Além disso vale a pena dar uma conferida no projeto open source, Microsoft AirSim.
-
Esse README.md serve para dar uma visão macro sobre os arquivos deste projeto, detalhes adicionais estão comentados nos scripts presentes nesse repositório.
-
É recomendado fortemente a consulta dos links acima para entender a estrutura da simulação.
-
O sistema aplicado aqui foi desenvolvido e testado no sistema operacional Windows 10 64-bits.
-
Instale em um ambiente Anaconda exatamente o arquivo de pacotes e dependências: package-list.txt, utilize o comando
conda create -n <myenv> --file package-list.txt
para criar um novo ambiente com todos esses pacotes. Tudo que precisa para rodar esse projeto está no arquivopackage-list.txt
. -
Ative o ambiente com o comando
conda activate <myenv>
.
O formato padrão do dataset possui duas estruturas: um diretório com as imagens (Ex.: images/)
e um arquivo de log com os steering commands do carro no formato tsv - Tab Separated Values (Ex.: airsim_rec.txt)
.
Para ajudar na hora de gravar os dados, airsim_dataset.py
é um script que possui uma classe que grava os dados da simulação, e gera um dataset novo em folha no padrão visto acima.
O script __main__.py
já possui integração da classe de airsim_dataset.py
.
train_nvidia_model.py
: Script de treinamento de uma rede neural convolucional baseada no modelo proposto pela NVIDIA no paper End to End Learning for Self-Driving Cars.
Esse script irá criar uma estrutura de diretórios com os melhores modelos neurais (Ex.: nvidia_model/models/*.h5)
, sendo .h5 a extensão padrão de um modelo neural.
test_nvidia_model.py
: Script de teste da rede neural convolucional em um ambiente de simulação integrado com o Microsoft AirSim. Serve principalmente para debugar a rede neural.
__main__.py
: Script principal para rodar o carro autônomo tanto com o controle PID simples fornecido pela própria Skoods, quanto com a rede neural convolucional. Lembre-se de sempre rodar o ambiente da simulação antes de rodar esse script.