Resolver o problema do fabrico de precisão: Porque é que é tão difícil?

Chris Emery
5 de março de 2023
Resolver o problema do fabrico de precisão: Porque é que é tão difícil?

Quando Theo Saville e eu fundámos a CloudNC em 2015, tínhamos uma ambição comum: tornar o fabrico de qualquer coisa num processo autónomo e de um só clique.

Oito anos depois, continuamos a trabalhar para atingir este objetivo! No entanto, estamos agora prestes a lançar a nossa primeira solução de software, CAM Assistque irá automatizar grande parte do processo de programação de máquinas CNC para o fabrico de componentes de precisão.

Será uma mudança radical na forma como a indústria transformadora funciona a nível mundial. Mas o elefante na sala é: porque é que demorou tanto tempo?

A resposta é simples: trata-se de um problema muito complexo! Eis porquê.

O problema em si

Vejamos primeiro o que estamos a tentar melhorar: a produção global.

Mais especificamente, quase tudo o que é feito no mundo atual depende, em certa medida, de componentes de alta qualidade e fabricados com precisão - e podemos utilizar a tecnologia para melhorar o processo de fabrico desses componentes.

Estes componentes são fabricados em máquinas de fresagem (como as máquinas CNC) e são utilizados quer nos produtos que utilizamos e consumimos - desde relógios a computadores portáteis e telefones, passando por automóveis, turbinas e aviões - quer nos moldes que são utilizados para criar os aparelhos para outros processos industriais, como os plásticos e as embalagens.

Por isso, estão em todo o lado: de facto, todos os anos são fabricados cerca de 1 bilião de dólares em componentes. No entanto, produzi-los não é tão simples como utilizar uma impressora 3D. Em vez disso, é necessário dizer às máquinas como fazer cada peça, através de um processo chamado Fabrico Assistido por Computador (CAM). E, para isso, é necessário um ser humano qualificado para programar a máquina.

O facto de haver esse elemento humano envolvido cria variações. A programação de uma máquina CNC requer formação e conhecimentos especializados, e não há muitas pessoas que o saibam fazer (e o défice de competências está a aumentar à medida que a procura de componentes aumenta e o número de pessoas que entram na indústria fica aquém do número de pessoas que saem).

Há ainda menos especialistas, e os níveis de competência são importantes. Há um número infinito de formas potenciais de fazer qualquer componente, e é muito mais provável que um programador novo seja menos eficiente e mais esbanjador do que um muito talentoso.

O que pretendemos fazer com as nossas soluções é automatizar o máximo possível desse processo, ajudando aqueles com menos experiência a programar de forma tão rápida e optimizada como os melhores programadores CAM existentes - reinventando o processo de fabrico para todos.

Desafio 1: Infinito

Mas a palavra "infinito": é aí que reside grande parte do problema. Se pensarmos no processo de programação do fabrico de um único componente, o espaço potencial de soluções é muito vasto.

Não é como a impressão 3D, em que se tem uma ferramenta e se pode trabalhar a melhor forma de avançar camada a camada - com uma máquina CNC, existem várias ferramentas (de diferentes tamanhos e tipos) que podem ser utilizadas para alcançar determinados resultados, todas elas podem ser utilizadas em diferentes ângulos, profundidades ou velocidades, e em qualquer ordem.

Assim, o número de soluções é, de facto, exponencialmente grande, o que cria enormes problemas do ponto de vista computacional. Simplificando, considerá-las todas para descobrir qual o melhor caminho a seguir requer que um computador multiplique quase infinito por quase infinito, muitas vezes (complexidade combinatória!) - o que demora demasiado tempo a produzir resultados que possam ser úteis a alguém.

O desafio, portanto: tornar a escala do problema tratável. Sem revelar demasiado do nosso "molho secreto", um elemento do processo CloudNC consiste em reduzir a escala do problema: por exemplo, rejeitando percursos de ferramentas impossíveis ou muito difíceis, assegurando ao mesmo tempo que as soluções óptimas são mantidas.

Como resultado, os nossos algoritmos são capazes de localizar os potenciais melhores caminhos a seguir, sem ter de considerar todas as soluções possíveis que existem - o que significa que podemos apresentar resultados em segundos, em vez de anos.

Desafio 2: Física

OK, então podemos lidar com o número potencialmente infinito de formas de fabricar estes componentes. Mas o outro problema é que se trata de um ambiente físico complexo a considerar, com - literalmente - muitas peças móveis.

Ao maquinar um componente, os materiais ficam muito quentes. Expandem-se e contraem-se. As fresadoras têm de cortar as aparas dos blocos de metal e, se as aparas forem demasiado grossas, a ferramenta parte-se ou, se forem demasiado finas, a superfície do metal fende-se. As ferramentas danificam-se e desgastam-se. Todo o conjunto vibra.

A combinação destas restrições físicas com o número exponencial de soluções é o que eleva o nível de dificuldade da resolução do desafio do fabrico de precisão de "difícil" para "pesadelo".

Não basta encontrar uma solução que utilize o percurso da ferramenta mais rápido e mais eficiente. Em vez disso, o caminho a seguir também tem de ter em conta vários aspectos físicos diferentes das ferramentas e das matérias-primas que está a utilizar, e um erro de cálculo pode arruinar centenas de milhares de dólares em maquinaria dispendiosa.

Então - qual é o código de batota? Bem, mais uma vez, trata-se de tornar o problema tratável. Realisticamente, não podemos compreender a integração de todos os elementos físicos com todas as formas possíveis de maquinar um componente. Mas podemos gerar e avaliar as melhores e alinhá-las com um conhecimento das técnicas mais comuns, regularmente utilizadas e aplicadas, e garantir que as nossas soluções as incorporam atualmente.

Como resultado, as nossas soluções já podem ser aplicadas à maioria dos desafios de maquinação CNC, e estamos sempre a melhorar e a aperfeiçoar o seu funcionamento. Como resultado, podemos acelerar o processo de programação do fabrico de um componente relativamente complexo numa máquina CNC de horas (ou mesmo dias) para segundos.

O caminho ótimo

Naturalmente, a descrição acima das nossas soluções é pouco detalhada, como seria de esperar de um pequeno ensaio que resume mais de 8 anos de trabalho e mais de um milhão de linhas de código (e a contar). De igual modo, não quero revelar o que se passa: a forma exacta como os nossos algoritmos funcionam é propriedade da CloudNC - gastámos muito tempo e esforço a construí-los!

Por conseguinte, esta discrição não é suficiente para descrever o que tivemos de construir: por exemplo, algoritmos complexos para acelerar e aperfeiçoar aspectos complexos da geometria computacional, combinando a maquinação de diferentes formas e aspectos entre si e produzindo resultados num prazo que acrescenta valor para os utilizadores.

Além disso, não sublinha o suficiente os parâmetros apertados em que trabalhamos. Estamos literalmente a criar soluções de maquinação que estão a ser utilizadas para criar peças para aviões de combate e centrais nucleares - o que significa que têm de ser exactas. Não existe qualquer margem de erro.

É por isso que levámos o nosso tempo a preparar CAM Assist - houve muito para resolver. E não estamos especialmente perto do fim da viagem: a nossa visão de trazer o fabrico com um único clique para o mundo continuará a estar distante durante algum tempo - ainda estamos a conquistar um problema anteriormente intratável!

Mas estamos a fazer grandes incursões nesse sentido, e o que conseguimos tornar tratável até agora é uma parte substancial do problema global. Estamos a tornar possível a aceleração da programação de máquinas CNC, para que possamos fabricar componentes cada vez mais rapidamente, permitindo a inovação e ajudando a preencher a lacuna de competências na indústria transformadora.

Foi o que conseguimos até agora - e mal posso esperar para ver o impacto.

(PS: quer ajudar-nos a resolver estes problemas? Veja as nossas funções em aberto em Carreiras).