
Framework de controle de missão baseado em Java com configuração YAML, suportando telemetria, comando e simulação para operações de naves espaciais. Inclui módulo de exploração CVE-2023-45277.
Yamcs é um framework de controle de missão desenvolvido em Java. Ele utiliza uma arquitetura aberta que permite ajustar seu conjunto de recursos usando arquivos de configuração yaml. Você também pode estender o conjunto de recursos padrão escrevendo classes Java personalizadas.
Para começar a desenvolver sua própria aplicação Yamcs, siga nosso guia Primeiros Passos.
Yamcs é licenciado sob a Affero GPLv3.
Para licenciamento comercial, entre em contato com a Space Applications Services informando seu caso de uso.
Para trabalhar nos componentes principais do Yamcs, você precisa de JDK11, Maven e npm.
Construir JARs Java:
mvn clean install -DskipTests
Construir interface web:
cd yamcs-web/src/main/webapp
npm install
npm run build
cd -
Esses comandos produzirão uma versão otimizada de produção da interface web. Esse processo levará alguns minutos. Para compilações incrementais mais rápidas, execute em modo de observação (npm run watch).
Para fins de demonstração e desenvolvimento, trabalhamos com um ambiente de simulação all-in-one que utiliza muitos recursos do Yamcs. Nesta simulação, o Yamcs recebe TM de um simulador simples de uma espaçonave em pouso. O Yamcs também pode enviar alguns TC básicos. O simulador inicia junto com o Yamcs como um subprocesso.
./run-example.sh simulation
Esta configuração armazena dados em /storage/yamcs-data. Certifique-se de que esta pasta exista e que você tenha permissão de escrita nela.
Quando o Yamcs iniciar com sucesso, você pode visitar a interface web integrada navegando para http://localhost:8090.
Nota para usuários do Windows: Este repositório utiliza alguns links simbólicos relativos. Para suportar isso no Windows:
mklink sem privilégios administrativos).git config --global core.symlinks truegit status lhe dirá como converter os links simbólicos.Embora o Yamcs seja gerenciado e desenvolvido pela Space Applications Services, também consideramos pull requests de outros contribuidores. Para patches não triviais, pedimos que você assine nosso CLA.