Vida

Veículo Inteligente de Desenvolvimento Aplicado

A ideia do desenvolvimento de uma plataforma de testes de veículos inteligentes surgiu após o GP de Rolimã que ocorreu na UFLA (Universidade Federal de Lavras), em 2017, evento no qual o NLMT participou fazendo um carrinho de rolimã autônomo, ganhando visibilidade dentro da Universidade e com isso o incentivo para a criação de um projeto maior. Com esse estímulo, foi criado o projeto da plataforma de testes Vida, o qual visa o desenvolvimento de um carro inteligente elétrico, que engloba de forma integrada todas as áreas do NLMT. Um carro inteligente é um veículo que dispensa ou não o controle de um motorista em tarefas de assistência, utilizando para isso complexos códigos computacionais, em conjunto com os eficientes sistemas da eletrônica e mecânica do mesmo. Esse veículo pode ser automatizado segundo seis níveis definidos pela regra SAE J3016.

O objetivo da plataforma, é que ela seja capaz de se locomover de forma autônoma e efetivamente segura, sendo capaz de detectar obstáculos e sinais da via, para, se necessário, conseguir fazer manobras como parar, reduzir, acelerar e desviar. Nesse contexto, cada uma das áreas responsáveis pelo desenvolvimento da plataforma de testes tem uma história e objetivos definidos com o andamento do projeto.

Computação

A computação, é responsável por produzir códigos específicos para que todos os módulos funcionem em conjunto e de maneira lógica. Ademais, ela soluciona problemas para que o veículo funcione de maneira autônoma, visando tornar esse capaz de tomar decisões eficazes em qualquer tipo de cenário. O desenvolvimento do sistema é baseado em técnicas de componentização, e está sempre alinhado com o andamento de todas as outras áreas. Ela engloba aspectos como a disposição dos sensores proprioceptivos e exteroceptivos, capazes coletar informações do veículo e do ambiente, assim como a interpretação, processamento e comunicação de comandos a partir dos dados obtidos. Nesse sentido, é fundamental para isso o trabalho em conjunto com a eletrônica e mecânica.

Nesse mesmo sentido, para que sejam alcançados os objetivos de maneira eficiente, trabalhamos com as linguagens de programação C++, principal linguagem aprendida durante o curso de Engenharia de Controle e Automação, e Python, fazendo com que os membros da computação tenham mais afinidade com os códigos desenvolvidos. Além disso, o C++ é uma linguagem flexível e de multiparadigma, sendo possível escolher a técnica de programação a ser utilizada, desde técnicas de baixo a alto nível de acordo com a necessidade. Ademais, a linguagem permite a implementação da programação orientada a objetos e programação concorrente, fundamental para a componentização do sistema. 

Outra técnica utilizada é a comunicação entre processos (IPC) baseada em memória compartilhada (shared memory) e redes. O uso de memória compartilhada é uma vantagem para a rápida troca de informações entre processos, sendo possível também acessar uma parte específica de uma estrutura de dados que está sendo comunicada.

Para realizar a parte de testes dos códigos desenvolvidos, a computação conta com o framework Robot Operating System (ROS), a qual conta com uma coleção de ferramentas de software e bibliotecas que auxiliam na simplificação do controle robótico. Com isso, está sendo feito a comunicação dos componentes do robô com os componentes ROS, para ser implementado nos ambientes de simulação Gazebo e CARLA e no próprio veículo real.

Juntamente com todas as técnicas citadas, dentro da computação ocorre também o desenvolvimento das técnicas de percepção baseadas em visão computacional, responsável por permitir que o veículo possa enxergar e extrair características do ambiente à sua volta, sendo fundamental para a tomada de decisão. Também passam pela computação os demais sistemas de localização, navegação e controle, igualmente importantes para a concepção de um veículo autônomo.

Eletrônica

Para que um carro inteligente funcione, várias ferramentas, peças e mecanismos são essenciais, isso inclui desde algo primordial como o motor até objetos com maior complexidade, como sensores em geral. Tais componentes precisam estar conectados entre si de maneira eficiente para prover comunicação e transferência dos dados processados. A eletrônica tem como objetivo atuar nesse contexto, visando alimentar os módulos da plataforma, representar, armazenar, transmitir ou processar informações, além do controle de processos realizados.

Nesse cenário, a eletrônica é vital para que todo o sistema funcione de maneira correta, interligando a computação e a mecânica. Atualmente, nosso carro é todo elétrico, sendo alimentado por cinco baterias de 12V, sendo duas para alimentação do atuador responsável pela tração do carro, uma para o atuador do esterçamento e outras duas para alimentação dos sensores e controladores.

Para controlar os dois atuadores são utilizados duas pontes-H, assim conseguimos determinar o sentido, direção e velocidade do carro, temos também quatro módulos controladores de tensão para ajustar as tensões das baterias conforme a necessidade, como a alimentação dos componentes.        Para a segurança, tem-se um botão de emergência que desativa toda alimentação do carro e aciona o freio. Tem-se, também, um fusível no atuador da tração e estamos estudando utilizar um sistema de segurança para o Odroid (computador embarcado, cérebro do veículo) e alguns sensores de maior custo.

Mecânica

A estrutura mecânica de um veículo inteligente é extremamente importante, seja para disposição dos sensores ou até para o seu design. A equipe de mecânica do NLMT iniciou os seus trabalhos na plataforma de testes logo no início do projeto, impulsionada com vários incentivos para o seu desenvolvimento. A estrutura do veículo foi pensada para ser bem simples e também modular, já que a plataforma estaria em constante evolução. Assim, tudo o que foi pensado na plataforma, como suporte de sensores, a disposição das partes da própria estrutura foi planejada para ser algo modular, permitindo essa evolução.

Toda idealização do projeto foi realizada no SolidWorks, por se tratar de um software que atende todas as exigências em relação a testes estruturais e para a própria modelagem. A estrutura foi pensada para ser robusta e facilitar sua produção, pois dessa forma seria mais simples soldar e até mesmo manusear toda a plataforma. O material escolhido para a estruturação da plataforma foi o Metalon, por ser bem resiste, leve, de baixo custo e de fácil aquisição. Houveram alguns entraves durante a produção, como a necessidade de enviar algumas peças para a usinagem fora da universidade, já que os tornos do laboratório de protótipos não tinham capacidade para tal tarefa, fazendo com que o tempo para produção aumentasse.

Outra dificuldade encontrada durante a produção foi o dimensionamento do sistema de transmissão, fazendo com que os membros juntassem o conhecimento visto em sala de aula e pudesse aplicar de forma conjunta. Além disso, outro ponto foi o dimensionamento do motor, por se tratar de um motor elétrico foi necessário descobrir qual potência e torque o motor deveria ter para suportar toda a estrutura. Assim, vários fatores foram levados em consideração para esse dimensionamento, como qual seria a velocidade em que a plataforma transitaria e por quais terrenos, influenciando no sistema de transmissão e podendo montar o conjunto como um todo, motor e transmissão.

Outros materiais foram utilizados na plataforma com o intuito de baratear a produção, como os freios, mesmos encontrados em bicicleta, e o terminal de direção, obtido de um Mini Buggy. Tudo antes de ser utilizado na plataforma foi calculado e dimensionado para analisar se atendida nossos requisitos, pois mesmo tendo valor de custo baixo a plataforma precisa ser funcional. Além disso, a impressora 3-D que temos no núcleo foi utilizada para imprimir cases e suportes para a parte eletrônica.

A maior dificuldade de se trabalhar num projeto desse porte é na gestão do conhecimento, já que em sala de aula vemos determinados assuntos separados e apenas na teoria. No entanto, quando se depara com uma situação dessas na prática, é necessário reaprender muita coisa como também aprender, saindo da zona de conforto e partindo para a prática, possibilitando os erros e aprendendo com eles.