Nos últimos anos, a indústria automobilística tem passado por mudanças radicais em praticamente todas as suas frentes. Às vésperas da consolidação do carro autônomo e às sombras de um mercado cada vez mais exigente e com leis ambientais cada vez mais severas, as grandes montadoras do mundo estão tendo que reinventar seus métodos. Esta re-invenção caracteriza-se, acima de tudo, por um aumento considerável de controladores eletrônicos e na troca de dados entre estes controladores. Este aumento da automatização, tem aberto uma imensa oportunidade para profissionais da área de eletrônica e de software embarcado.
Neste post, iremos revelar quais as ferramentas e linguagens de programação mais usadas na indústria automobilística. Leia até o final e melhore as suas chances de conseguir uma colocação na indústria mais venerada da Alemanha.
A indústria automobilística alemã
A indústria automobilística alemã é uma das mais avançadas e significativas do mundo, contando com a presença de grandes montadoras como a BMW, Porsche, Mercedes Benz, Audi e Volkswagen. Além das montadoras, a indústria é composta por uma rede imensa de grandes fonecedores como Bosch, Continental e Siemens.
Para manter a vantagem num mercado cada vez mais competitivo, a Alemanha precisa, acima de tudo, de um grande número de pessoal especializado. Nos últimos anos, a indústria automobilística alemã tem se destacado como um dos melhores ramos para se trabalhar e com as montadoras e as grandes fornecedoras sempre figurando no topo da lista dos melhores empregadores do país. Os excelentes salários, o elevado nível da qualidade de vida e a ampla demanda por mão de obra especializada, tem atraído um imenso número de profissionais estrangeiros até os centros automobilísticos alemães.
A contradição na indústria hoje
Por um lado a indústria automobilística encontra-se sob imensa pressão da sociedade para diminuir poluentes, aumentar a qualidade e melhorar a segurança dos veículos. Por outro lado, a concorrência exige a redução de custos e o encurtamento dos cliclos de produção. Estes requerimentos parecem contra-intuitivos e realmente são. Afinal de contas, um aumento de qualidade dificilmente leva a uma redução de custo. Um aumento da segurança dificilmente é alcançado produzindo “na correria”. Então como é possível satisfazer gregos e troianos sem perder a competitividade? A resposta para esta pergunta é: “tecnologia e automação”.
O segredo da engenharia hoje em dia é ser tão preciso quanto necessário e tão grosseiro quanto permitido.
Quando falamos em automação, a primeira coisa que vem na mente das pessoas é uma fábrica dominada por robôs e máquinas trabalhando de forma autônoma. De fato, esta também é a automação a qual a indústria está utilizando para reduzir custos e aumentar qualidade, porém neste post vamos focar apenas na automação introduzida a bordo do automóvel.
Qualquer aumento de automação gera um aumento da digitalização e da complexidade. Para que esta imensa quantidade de dados seja processada adequadamente, é preciso instruir os controladores de bordo a fazê-lo através de softwares que rodam embarcados em microcontroladores espalhados pelo veículo.
Linguagens de programação no automobilísmo
As tecnologias e os métodos usados no desenvolvimento de software para automóvel muda muito mais lentamente do que os trends praticados no desenvolvimento web, por exemplo. No entanto, quem deseja inserir-se nesta indústria, deverá familiarizar-se ao máximo possível com as seguintes linguagens:
Linguagem C
C é o nome de uma linguagem atualmente utilizada em diferentes áreas e propósitos. Faz parte hoje de uma linguagem considerada avançada, desenvolvida nos laboratórios Bell nos anos 70. É considerada uma linguagem de nível médio, pois pode-se trabalhar em um nível próximo ao da máquina ou como uma linguagem de alto nível como outras existentes.
O padrão AUTOSAR, define C como a linguagem padrão de desenvolvimento de sofware automobilístico. Algumas exceções a esta regra são sistemas de Infotainment que muitas vezes utilizam linguagens de mais alto nível, como C++. Devido a enorme relevância que a linguagem C ocupa nos padrões automobilísticos, consideramos esta a linguagem mais significativas de todas.
A definição formal da linguagem pode ser encontrada no livro “The C Programming Language” de Brian W. Kernighan e Dennis M. Ritchie (os criadores da linguagem). Nos anos 80 iniciou-se um trabalho de criação de um padrão chamado C ANSI (American National Standardization Institute), porém o AUTOSAR prevê o uso do padrão MISRA C.
Linguagem C++
Depois da linguagem C, a linguagem que vem se destacando cada vez mais nos últimos anos é a C++. Ela é utilizada numa série de aplicações ligadas ao desenvolvimento de aparelhos de entretenimento de bordo (Infotainment). C++ também tem sido usada com bastante frequência nos novos sistemas de BLE (Bluetooth Low Energy) que visa diminuir a quantidade de fios no automóvel através da comunicação wireless (sem-fio).
Um outro aspecto importante da linguagem C++, é o seu uso indireto em muitas das principais ferramentas utilizadas por praticamente todas as montadoras na Alemanha. Um excelente exemplo disso é o software CANoe da empresa Vector GmbH. Este software é basicamente um pacote usado para simulação de redes de transferência de dados internas do automóvel. Com ele é possível simular diferentes ECUs ou analizar a comunicação entre ECUs verdadeiros que transferem dados através da rede do carro (CAN-BUS). A programação deste ambiente simulado, é feito numa liguagem de alto nível própria conhecida como CAPL - baseada na linguagem C++.
Python
Das três linguagens citadas neste post, Python é definitivamente o "garoto novo no bloco". Diferente de C e C++, Python é uma liguagem de programação de alto nível, interpretada e de script. Isto significa que o código escrito em Python não precisa ser compilado previamente, como nos casos de C e C++. Python é grátis e pode ser instalado facilmente no seu computador, como qualquer outro software para Windows ou Mac.
Honestamente, saber somente Python provávelmente não irá garantir o seu emprego dos sonhos no automobilísmo, mas poderá te ajudar a mostrar serviço uma vez já lá dentro. Python é uma excelente linguagem para análize de dados e pode ser usada para tirar conclusões e criar estatísticas de forma rápida e automatizada.
Digamos que você trabalhe com teste em motores e precisa analizar o resultado de uma quantidade absurda de dados gerados por sensores na plataforma de teste. Com a ajuda de um script Python esta tarefa pode ser automatizada rapidamente no seu computador. Além do mais, o script pode ser reaproveitado quantas vezes necessário, aumentando a sua produtividade e a velocidade com a qual você gera os seus relatórios.
Sempre soube que o mundo automobilístico iria mudar completamente com essa tecnologia, sensores, atuadores e o resto. Agora tem a programação computadorizada, vamos ver o que mais o futuro nós reserva.