aocs (tipo de cenário)
Tipo de cenário do motor v0.40.0, família Análise de missão, ligações e operações espaciais. Consultivo: resultados de análise de uma ferramenta de investigação e engenharia, não um equipamento de navegação homologado nem um serviço de segurança de vidas. Cada etiqueta aqui é do motor ou da matriz de verificação; um tipo é MODELLED, salvo indicação em contrário da matriz (como se obtém uma etiqueta: a secção Evidence do README).
O que faz#
Controlo de atitude de veículos espaciais: uma reorientação com apontamento inercial de um corpo rígido com três ou mais rodas de reação equilibradas sob realimentação MRP (L = -K sigma - P omega), binários de roda de norma mínima limitados ao limite de cada motor, RK4 com retenção de ordem zero; opcionalmente fechada sobre um EKF multiplicativo a partir de um giroscópio simulado (passeio aleatório de ângulo e de taxa) e de um seguidor de estrelas. Comunica o tempo de estabilização, o erro de apontamento final e máximo, a velocidade e o binário máximos das rodas, a fração saturada, a deriva do momento angular e, com o estimador, o seu erro de atitude e o NEES. O ciclo de estado verdadeiro é VALIDATED face ao Basilisk 2.9.1; o estimador é MODELLED.
Uma execução de scenarios/aocs-slew.toml resume-se assim: aocs: 4 wheels, 600 s slew from 82,06 deg -> settles below 0,1 deg at 481,0 s | final 2.37e-2 deg | peak wheel 1797 rpm | true-state loop
Entradas#
A partir do esquema (kshana kinds --json):
- Campos obrigatórios:
hub_inertia_kg_m2,k_nm,p_nms,wheels,sigma0 - Campos opcionais:
duration_s,dt_s,sample_s,omega0_rad_s,pointing_threshold_deg,estimator
O exemplo scenarios/aocs-slew.toml define, entre outros:
| Campo | Valor | Unidade |
|---|---|---|
dt_s |
0.1 | s |
duration_s |
600 | s |
hub_inertia_kg_m2 |
[[900, 0, 0], [0, 800, 0], [0, 0, 600]] | não indicado |
k_nm |
3.5 | N m |
kind |
aocs | texto |
omega0_rad_s |
[0.001, -0.01, 0.03] | s |
p_nms |
30 | N m s |
pointing_threshold_deg |
0.1 | deg |
sample_s |
1 | s |
sigma0 |
[0.1, 0.2, -0.3] | não indicado |
wheels[0].axis |
[0.57735, 0.57735, 0.57735] | 1 |
wheels[0].js_kg_m2 |
0.08 | kg m^2 |
Execute-o#
kshana scenarios/aocs-slew.toml
2 cenários incluídos usam este tipo; os restantes estão em scenarios/.
O que dá#
Os resultados escalares dessa execução, com as unidades que o motor indica:
| Resultado | Valor | Unidade |
|---|---|---|
dt_s |
0.1 | s |
duration_s |
600 | s |
estimator |
sem valor | não indicado |
evidence.id_rule |
o id estável da linha da matriz (o ID | texto |
evidence.matrix |
docs/VERIFICATION-MATRIX.md | texto |
evidence.tier |
MODELLED | texto |
final_pointing_error_deg |
0.023682 | deg |
k_nm |
3.5 | N m |
max_pointing_error_deg |
82.056509 | deg |
momentum_drift_nms |
1.4672e-12 | N m s |
Etiqueta do resultado (a do motor): lei de controlo e dinâmica das rodas VALIDATED (face ao Basilisk 2.9.1 no ciclo de estado verdadeiro); as entradas desta execução são as do próprio cenário — controlo de atitude por rodas de reação sob realimentação MRP, apontamento inercial, sem ruído de sensores, sem atrito
Evidências#
MODELLED 1 · VALIDATED 1: as linhas da matriz de verificação que nomeiam este tipo.
- VALIDATED Controlo de atitude com apontamento inercial de um corpo rígido com três ou mais rodas de reação equilibradas: a lei de realimentação MRP L_r = -K sigma_BR - P omega_BR (Schaub e Junkins), binários dos motores das rodas de norma mínima G_s u = -L_r limitados ao l Testes: aocs_basilisk_oracle.rs.
- MODELLED O EKF multiplicativo de Lefferts-Markley-Shuster: estados de erro de atitude no referencial do corpo e de viés do giroscópio, propagação com a taxa do giroscópio menos a estimativa do viés e o ruído de processo discreto de Farrenkopf (passeio aleatório de ângulo e de taxa), atualização do seguidor de estrelas
As linhas que a própria execução exercitou, com a referência independente que a matriz dá a cada uma (as fontes públicas estão aí nomeadas):
- MODELLED Determinista, com hash do cenário, SBOM + portões de referência multiplataforma. Referência independente (ExternalDataset): aderência à norma do SBOM ao esquema JSON oficial CycloneDX 1,5 (+ identificadores SPDX válidos) — uma norma externa publicada, zero erros de validação em todo o grafo de dependências; a parte de determinismo das FoM / reprodutibilidade byte a byte permanece uma verificação de autoconsistência fixada, pelo que a linha permanece MODELLED
- VALIDATED Controlo de atitude com apontamento inercial de um corpo rígido com três ou mais rodas de reação equilibradas: a lei de realimentação MRP L_r = -K sigma_BR - P omega_BR (Schaub e J. Referência independente (ExternalDataset): Basilisk 2.9.1 (AVSLab, ISC; a execução de rodas do bsk como ferramenta separada, nunca ligada nem incluída no repositório): spacecraft hub, reactionWheelStateEffector (BalancedWheels, limite de binário ativo), simpleNav, inertial3D, attTrackingError, mrpFeedback (sem termo integral) e rwMotorTorque com dt = 0,1 s com o seu RK4, face à implementação do próprio Kshana em três casos (três rodas ortogonais; uma pirâmide de quatro rodas; um caso de quatro rodas com saturação),
- MODELLED O EKF multiplicativo de Lefferts-Markley-Shuster: estados de erro de atitude no referencial do corpo e de viés do giroscópio, propagação com a taxa do giroscópio menos a estimativa do viés e Farre. Referência independente (InternalConsistency): Consistência interna: o erro de estimação normalizado quadrático do filtro face a uma referência simulada com os mesmos modelos de sensores ao longo de sementes de Monte Carlo, e a convergência das estimativas de atitude e de viés. O QUE NÃO É: nenhum estimador externo nem dados de voo foram comparados (o Basilisk 2.9.1 não tem módulo MEKF); os modelos de sensores são os de manual, sem desalinhamento, fator de escala nem efeitos do campo de visão do seguidor de estrelas.
Limitações#
O que o próprio relatório da execução diz que não está modelado ou não está validado:
- O ciclo de estado verdadeiro é VALIDATED face ao Basilisk 2.9.1; o estimador é MODELLED. (catálogo de tipos (
kshana kinds --json)) - A reprodutibilidade e a garantia de software são MODELLED, não validadas: uma subafirmação é verificada externamente, mas a capacidade no seu conjunto compõe partes modeladas, pelo que a capacidade permanece modelada. (matriz de verificação (docs/MODELLED-RATIONALE.md))
- A estimação de atitude por EKF multiplicativo a partir de um giroscópio e de um seguidor de estrelas é MODELLED, não validada: verificada face à sua própria identidade analítica / de forma fechada — apanha erros de transcrição e de coeficientes, mas não é uma referência independente externa. (matriz de verificação (docs/MODELLED-RATIONALE.md))
Ver também#
- Página da família: Análise de missão, ligações e operações espaciais
- Todos os tipos: KINDS.md
- Página do tema: AOCS.md