collapse

* Posts Recentes

Alguém arranja motores? por almamater
[Ontem às 16:07]


Sistema a LASER que será também capaz de matar moscas por jm_araujo
[Ontem às 12:35]


Nevadent - Não carrega por almamater
[22 de Novembro de 2024, 21:36]


Classmate Leap T304 não liga por almamater
[19 de Novembro de 2024, 07:13]


+ LASERs por dropes
[18 de Novembro de 2024, 21:50]


Dúvida com fonte de alimentação comutada por filjoa
[28 de Outubro de 2024, 21:57]


Motoserra Stihl 120C por dropes
[26 de Outubro de 2024, 19:01]


Shelly em jeito de watchdog por SerraCabo
[24 de Outubro de 2024, 19:24]


Meu novo robô por josecarlos
[06 de Outubro de 2024, 13:33]


Sirene NOVA maluca por dropes
[01 de Outubro de 2024, 18:26]

Autor Tópico: Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime.  (Lida 6800 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 258
Boa noite a todos,

Este é um vídeo de uma palestra que vale mesmo a pena ver.

Nele mostram como uma empresa que pretende revolucionar o transporte de
contentores na linha férrea do EUA
, através de carruagens de 10
toneladas totalmente autónomas.
Cada uma, transporta um contentor de
tamanho estandardizado. Sem intervenção humana. Tudo é feito em Rust do controlo
em Real-time, da comunicação com os sistemas de controlo de comboios da
rede ferroviária e cargas já existente, ao processamento de imagem por
inteligência artificial, até ao simulador de todo o sistema.

Este claramente é o futuro de uma linguagem como o Rust, que nos traz
garantias de maior segurança no desenvolvimento, especialmente para sistemas críticos.

RustConf 2022 - All aboard the Rust train - electric freight. by Julie Wang



Muito obrigado,

Cumprimentos,
João

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.980
  • NERD!
Re: Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime.
« Responder #1 em: 12 de Setembro de 2022, 00:56 »
Nem sei bem por onde começar: a resposta para máquina de estados para aplicação critica é "PLC industrial", não: vamos fazer a nossa própria implementação em macros numa linguagem "segura", e já agora vamos meter dependências para meia dúzia de bibliotecas que não controlamos. E a razão revela-se mais tarde: é mais rápido a simular... Máquinas com mais de 10T para pôr a funcionar em infraestrutura, que pode correr mal?
Gostei também do 22:55 : temos uma framework provada que não sabemos o suficiente para usar, vamos fazer a nossa própria implementação (com macros, claro), e deixamos uns comentários para se não funcionar  que tentem usas a framework. LINDO!

Parei pouco depois na parte que tem este sistema espetacular em rust, que melhor.que tudo, permite ligar a bibliotecas closed source em C sem impacto de performance. Falta a parte que deitam para o lixo toda a suposta segurança do rust por dependerem de código que não controlam (outra vez), mas desta vez binários!!

E gosto também de terem feito umas.maquinas de estados super seguras (LOL), e depois metem em cima controlo não determinístico de machine learning (treinado em rust? Não, em Python claro está! LOL). É giro ir lendo sobre segurança em geral ( que vou espreitando) e.as falhas que se vão descobrindo nos novos sistemas de ML, em edge cases ou por atores mal intencionados. Que pode correr mal, é só um comboio  :o

E nem vou elaborar sobre "descarbonizar" a linha férrea metendo baterias e sistema de propulsão EM CADA CARRUAGEM, em vez de eletrificar as linhas...


Metam mais tabaco que está a bater muito forte...
« Última modificação: 12 de Setembro de 2022, 01:01 por jm_araujo »

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 258
Re: Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime.
« Responder #2 em: 12 de Setembro de 2022, 07:40 »
Bom dia jm_araujo,

claro que podem existir muitas falhas neste sistema e não o conheço o suficiente, fora esta pequena apresentação para saber quais são e quais são as suas reais implicações. Mas de uma coisa é certa, desenvolver em uma linguagem como o Rust gera menos falhas, menos defeitos no código por número de linhas, pois errar é simplesmente humano. Isto em relação ao código desenvolvido em C ou em C++. E digo-te isto, trabalhando eu em C e C++. Por exemplo até a industria de aeroespacial já está a começar a usar Rust, ainda não no software de onboard que tem de ser auditado, pois para isso é necessário que haja uma especificação do Rust e o Rust de mês e meio em mês e meio ou de 3 em 3 meses, não me recordo, sai uma
nova subversão. Contudo a FerroSystems em conjunto com uma entidade que certifica o ADA, já está a tratar de fazer uma especificação (já saiu o draft) e já está a começar a trabalhar na auditação de uma versão do compilador de Rust para certificar uma versão de Rust e desta forma para poder ser usado em sistemas críticos que exijam auditação e certificação do código e de toda a tool chain, tal como acontece com ADA, C e C++.
No entanto Rust já está a ser muito usado mesmo na industria de aeroespacial no desenvolvimento de Tools à volta dos cores designs, pois muitas vezes essas tools de suporte não estaram no onboard, não são críticas e como e como tal não tem de ser certificadas.

Mas volto a dizer, é humanamente mais realista fazer código Rust com menos erros/falhas (ou de ter menor quantidade de  algumas classes de erros, devido ao sistema de tipos do Rust) do que código idêntico que implementa a mesma funcionalidade em C ou C++.

Obrigado,

Cumprimentos,
João

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 258
Re: Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime.
« Responder #3 em: 12 de Setembro de 2022, 08:12 »
Gostava de só dizer o seguinte....

Em relação ao linkarem com bibliotecas da NVidia para terem aceleração de CUDA e aceleração de Machine Learning. A NVidia não fornece as especificações do hardware deles, só fornece as libs, a não ser que sejas uma empresa da dimensão da Tesla e que consigas desenhar os teus próprios chips e conseguires controlar todo o processo e todo o design, todo o teu controlo de veículos autónomo por Machine Learning será sempre usando as libs de coisas como GPU's ou GPU embebidos como é o caso da linha industrial da NVidia, mas é e sempre será um chip muito parecido a um GPU só que more rugged.

Por outro lado a frase de que a segurança extra do Rust vai toda à vida porque linka com uma biblioteca que não controla não é uma afirmação correta, pois na tua parte do código, na parte que tu fazes em Rust é que o código é mais seguro e nessa parte é que estás a ter a vantagem de diminuir classes de erros.

Estas coisas normalmente correm em cima de Linux e essa parte do sistema também não é feita em Rust e logo sofre do mesmo mal :-) Mas volto a dizer pelo menos o código que é feito em Rust fora dos blocos unsafe é mais seguro pois diminui toda uma classe de erros/bugs nessa parte do código.

Em relação às máquinas de estados implementadas em Rust com o auxilio do sistema de tipos, é porque se for bem feito, o sistema de tipos não permite sequer que seja compilado transições entre estados inválidos. O sistema de tipos protege-te contra isso.

E tem em conta que Macros em Rust não tem nada a ver com Macros em C ou C++, Macros em Rust validam que o que se está a escrever é código válido, elas são parte integrante da linguagem, tal como todas as outras coisas na linguagem Rust, não é como em C ou C++ que foram uma adição que só substituem texto sem validações.

Obrigado,

Cumprimentos,
João

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime.
« Responder #4 em: 14 de Setembro de 2022, 10:45 »
Então o Rust não pode ser "mal usado"?

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 258
Re: Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime.
« Responder #5 em: 16 de Setembro de 2022, 06:29 »
Claro que pode :-)

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 258
Re: Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime.
« Responder #6 em: 18 de Setembro de 2022, 18:44 »

Should your team adopt the Rust programming language?

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 258
Re: Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime.
« Responder #7 em: 06 de Outubro de 2022, 18:56 »
Este pequeno vídeo é muito elucidativo de algumas das grandes vantagens do Rust.

Rust makes cents  - Speed is a FEATURE



Cumprimentos,
João