vault backup: 2026-06-05 13:40:21

This commit is contained in:
2026-06-05 13:40:21 +07:00
parent c0558c9e1f
commit c7dc46f241
160 changed files with 97237 additions and 369 deletions
-11
View File
@@ -1,11 +0,0 @@
# Система ориентации и стабилизации
## Назначение
Исключение перебоев связи из-за высокой скорости вращения и попадания региона в слепую зону штыревых антенн. Обеспечение предсказуемости мощности излучения антенн для абонентов.
## Возможности
- Определение вектора угловой скорости вращения аппарата
- Стабилизация аппарата преимущественно по 2 осям
- Удержание аппарата одной произвольной осью вдоль линии МПЗ
## Состав
- Магнитные катушки по 3 осям
- Магнитометр
- Гироскоп
-3
View File
@@ -1,3 +0,0 @@
[[REQ-ADCS-001]]
[[REQ-ADCS-002]]
[[REQ-ADCS-003]]
-12
View File
@@ -1,12 +0,0 @@
# REQ-ADCS-001
## Требование
Система должна обеспечивать стабилизацию по 2 осям.
## Обоснование
Требуется для работы антенны.
## Метод верификации
A + T
## Связанные документы
## Статус
Draft
-12
View File
@@ -1,12 +0,0 @@
# REQ-ADCS-002
## Требование
Система должна определять вектор угловой скорости вращения аппарата
## Обоснование
TODO
## Метод верификации
A + T
## Связанные документы
## Статус
Draft
-12
View File
@@ -1,12 +0,0 @@
# REQ-ADCS-003
## Требование
Система должна напрямую определять вектор угловой скорости вращения аппарата
## Обоснование
Необходимо для определения требуемого режима работы
## Метод верификации
A + T
## Связанные документы
## Статус
Draft
@@ -1,13 +0,0 @@
# ?
### Основные функции
##### Функция определения ориентации
Вход
- данные датчиков о внешней среде и об аппарате
Выход
- измеренное состояние аппарата
##### Функция управления ориентацией
Вход
- требуемое состояние
- измеренное состояние
Выход
- управляющие сигналы на активные элементы
@@ -0,0 +1,4 @@
[[энергетический бюджет]]
[[бюджет радиолиний]]
[[бюджет данных]]
[[бюджет масс]]
@@ -0,0 +1,13 @@
# REQ-SAT-001
## Требование
КА должен поддерживать положение антенн с достаточным уровнем излучаемой мощности на область покрытия все время пролета над целевым регионом (РФ).
## Обоснование
Требуется для стабильного обмена данными по радиоканалу с наземным сегментом.
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,5 @@
B-dot
Фильтр Калмана
Калибровка
Комплексирование
Дрейф нуля
@@ -0,0 +1 @@
![[Pasted image 20260524214657.png]]
@@ -0,0 +1 @@
![[ADCS_Control_System_diagram.svg]]
@@ -1,4 +1,15 @@
# ?
### Основные функции
##### Функция определения ориентации
Вход
- данные датчиков о внешней среде и об аппарате
Выход
- измеренное состояние аппарата
##### Функция управления ориентацией
Вход
- требуемое состояние
- измеренное состояние
Выход
- управляющие сигналы на активные элементы
### Определение ориентации - декомпозиция
@@ -53,18 +64,70 @@
- поворот аппарата в требуемое положение в пределах заданной ошибкой
### Активные элементы
Магнитные катушки (по 3 осям)
- Принимают управляющий сигнал
- Выдают момент вращения
### Набор датчиков
- Магнитометр (3-осный)
измеряет вектор магнитного поля Земли
- Гироскоп (3-осный)
измеряет вектор угловой скорости
- Акселерометр (3-осный)
измеряет вектор углового ускорения
- Солнечные датчики (фотодиоды, 6 граней)
позволяют вычислить вектор направления на Солнце
- Датчики температуры (сколько?)
позволяют компенсировать дрейф других датчиков
```mermaid
flowchart TB
subgraph SENSORS[Датчики]
M[Магнитометр]
G[Гироскоп]
SD[Солнечный датчик]
end
subgraph DET[Определение ориентации]
direction TB
F1[Измерение вектора МПЗ]
F2[Измерение угловой скорости]
F3[Измерение направления на Солнце]
CAL[Калибровка магнитометра]
SPIN[Закручивание аппарата]
end
subgraph STATE[Оценка состояния]
EST[Измеренное состояние]
end
subgraph CTRL[Управление ориентацией]
direction TB
F4[Демпфирование угловой скорости]
F5[Поворот в заданное положение]
end
subgraph ACT[Исполнительные элементы]
COIL[Магнитные катушки]
RW[Двигатели-маховики]
end
M -- "Bсырое" --> F1
F1 -- "Bкалибр" --> CAL
CAL -- "коэффициенты, смещение" --> F1
G -- "ωсырое" --> F2
SD -- "освещённость" --> F3
F1 -- "вектор B" --> EST
F2 -- "вектор ω" --> EST
F3 -- "вектор S" --> EST
EST -- "состояние" --> F4
EST -- "состояние" --> F5
REQ[Требуемое состояние] --> F4
REQ --> F5
F4 -- "ШИМ" --> COIL
F5 -- "управляющий момент" --> RW
SPIN -.-> F4
```
```mermaid
flowchart LR
r(["Требуемая угловая скорость<br>ω_req = 0"]) --> SUM((Σ))
SUM -->|"e = ω_req - ω_изм"| REG[Регулятор B-dot<br>m = -k * dB/dt]
REG -->|m_cmd| COIL[Драйвер катушек + катушки]
COIL -->|M_маг| SAT[Динамика спутника<br>J·ω̇ = M_маг + M_внеш]
SAT -->|ω_факт| GYRO[Гироскоп]
GYRO -->|ω_изм| SUM
MAG[Магнитометр] -.->|B_изм для dB/dt| REG
```
@@ -0,0 +1,2 @@
Команды (от БС)
Телеметрия (на БС)
@@ -8,6 +8,7 @@
| Измерение | Измерение текущего состояния (угловая скорость и др.) |
| Демпфирование | Уменьшение вектора угловой скорости аппарата (преимущественно по 2 осям) |
| Удержание | Удержание произвольной оси аппарата (оси антенны) сонаправленно линии МПЗ |
### Описание режимов
##### Выключена
- Аппарат выключен
- Аппарат еще не инициализировался после выхода на орбиту
@@ -1,11 +1,20 @@
# Система ориентации и стабилизации
### Функции
## Назначение
Исключение перебоев связи из-за высокой скорости вращения и попадания региона в слепую зону штыревых антенн. Обеспечение предсказуемости мощности излучения антенн для абонентов.
## Функции
- Определение вектора угловой скорости вращения аппарата
- Стабилизация аппарата преимущественно по 2 осям
- Удержание аппарата одной произвольной осью вдоль линии МПЗ
## Состав
- Магнитные катушки по 3 осям
- Блок магнитометров
- Блок гироскопов
- Датчики температуры
- Реверсивные источники для катушек
## Сценарий работы
### Структура
# Уровень 1 (контекст, границы)
Система имеет 2 основные функции
@@ -60,13 +69,4 @@
- Сохранить данные в общую память
- Сформировать объект телеметрии
- Регулировать катушки через СЭП?
- Выполнить команду от БС
# Режимы
| Режим | Выполняемые функции |
| ------------- | --------------------------------------------------------------------------------- |
| Выключена | Нет |
| Ожидание | Ожидание команд |
| Измерение | ~<br>Опрос датчиков, фильтрация, сохранение<br>Формирование телеметрии |
| Демпфирование | ~<br>Вычисление B-dot<br>Формирование вектора для катушек<br>Управление катушками |
- Выполнить команду от БС
@@ -0,0 +1,3 @@
[[REQ-ADCS-001]]
[[база/L3_Подсистема/СОС/REQ/ADCS-REQ-004]]
[[база/L3_Подсистема/СОС/REQ/ADCS-REQ-003]]
@@ -0,0 +1,9 @@
### Состав датчиков
- Магнитометр (3-осный): 3 датчика
измеряет вектор магнитного поля Земли
- Гироскоп (3-осный): 3 датчика в ортогональных плоскостях
измеряет вектор угловой скорости
- Солнечные датчики (фотодиоды, 6 граней): 6 датчиков
позволяют вычислить вектор направления на Солнце
- Датчики температуры: 3 датчика (на каждый гироскоп)
позволяют компенсировать температурный дрейф других датчиков
@@ -0,0 +1,12 @@
# ADCS-REQ-001
## Требование
СОС должна обеспечивать уменьшение начальной угловой скорости до уровня не более 3°/с по каждой оси через 1 виток после включения.
## Обоснование
Требуется для стабильной работы связной полезной нагрузки.
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,13 @@
# ADCS-REQ-002
## Требование
СОС должна обеспечивать удержание заданной оси аппарата сонаправленно с вектором магнитной индукции МПЗ с ошибкой не более 5° над целевым регионом (РФ).
## Обоснование
Требуется для удержания предсказуемого положения антенны, подходящего для стабильной радиосвязи над целевым регионом (РФ).
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-003
## Требование
СОС определять вектор угловой скорости вращения аппарата с ошибкой не более 1°/с по модулю.
## Обоснование
Необходимо для определения режима работы.
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-004
## Требование
СОС должна определять направление вектора магнитной индукции МПЗ с ошибкой не более 1°.
## Обоснование
Основа для работы системы управления с магнитными катушками.
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-005
## Требование
СОС должна использовать комплексирование для компенсации погрешности измерений датчиков.
## Обоснование
Требуется для поддержания ошибок измерений в допустимых пределах.
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-006
## Требование
Контур управления ориентацией должен работать с тактовой частотой не менее 10 Гц (время цикла ≤ 100 мс).
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-007
## Требование
СОС должна загружать процессор не более чем на 15% при работе самого потребляющего режима.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,20 @@
# ADCS-REQ-008
## Требование
СОС должна собирать телеметрию, в которую входят:
1. Режим работы СОС с его параметрами;
2. Последние вычисленные значения в связной системе координат:
1. вектор магнитной индукции МПЗ,
2. вектор угловой скорости,
3. вектор намагниченности КА;
3. Калибровочные коэффициенты;
4. Коды ошибок.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-009
## Требование
СОС должна отслеживать работоспособность компонентов, входящих в нее и передавать ошибки бортовой системе.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-010
## Требование
СОС должна переходить в безопасный режим при критических неисправностях
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-011
## Требование
СОС должна восстанавливать штатный режим работы после временного отключения.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-012
## Требование
СОС должна обеспечивать возможность создания произвольного вектора магнитного момента величиной 0.1 А·м² в плоскости, ортогональной линии МПЗ в данной точке.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-013
## Требование
СОС должна компенсировать температурный дрейф чувствительных датчиков, таких как гироскопы.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-REQ-014
## Требование
СОС должна компенсировать дрейф нуля гироскопов до 30°/с.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,137 @@
# Тестовый стенд v0
```d2
direction: right
ПК: {
PySimSheduler (Python): {
sat: Модель КА
mag: Модель МПЗ
adcs: Модель СОС
db: БД
sat -> adcs
mag -> sat
adcs -> sat
sat <-> db: {
style: {
stroke-dash: 3
}
}
mag <-> db: {
style: {
stroke-dash: 3
}
}
adcs <-> db: {
style: {
stroke-dash: 3
}
}
}
}
```
![[Pasted image 20260526083938.png]]
# Тестовый стенд v1
```d2
direction: right
ПК: {
sim: PySimSheduler (Python)
prot: Prototype (Rust)
sim: {
sat: Модель КА
mag: Модель МПЗ
db: БД
mag -> sat
db <-> sat: {
style: {
stroke-dash: 3
}
}
db <-> mag: {
style: {
stroke-dash: 3
}
}
}
prot: {
adcs: Модель СОС
adpt: UDP Адаптер
adpt <-> adcs: {
style: {
stroke-dash: 3
}
}
}
sim.sat -> prot.adcs
prot.adcs -> sim.sat
sim.db <-> prot.adpt: {
style: {
stroke-dash: 3
}
}
}
```
# Тестовый стенд v2
```d2
direction: right
pc: ПК
mcu: MCU
mcu: {
fw: Firmware (Rust)
fw: {
adcs: СОС
adpt: UART Адаптер
adpt <-> adcs: {
style: {
stroke-dash: 3
}
}
}
}
pc: {
sim: PySimSheduler (Python)
sim: {
sat: Модель КА
mag: Модель МПЗ
db: БД
mag -> sat
db <-> sat: {
style: {
stroke-dash: 3
}
}
db <-> mag: {
style: {
stroke-dash: 3
}
}
}
}
pc.sim.sat <-> mcu.fw.adcs
mcu.fw.adcs -> pc.sim.sat
pc.sim.db <-> mcu.fw.adpt: {
style: {
stroke-dash: 3
}
}
```
@@ -1,5 +1,8 @@
# Система ориентации и стабилизации
[[ADCS_Overview]]
[[ADCS_REQ]]
[[ADCS_Tests]]
[[ADCS_Architecture]]
[[ADCS_Modes]]
[[ADCS_REQ]]
[[ADCS_Functions]]
[[ADCS_Software]]
@@ -0,0 +1,4 @@
### Активные элементы
Магнитные катушки (по 3 осям)
- Принимают управляющий сигнал
- Выдают момент вращения
@@ -0,0 +1,12 @@
# ADCS-ACT-REQ-001
## Требование
Активные элементы СОС должны быть представлены магнитными катушками, расположенными в трех ортогональных плоскостях внутри аппарата.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-ACT-REQ-002
## Требование
Магнитные катушки должны обеспечивать управляющий момент не менее ±0.1 А·м² по каждой из трех осей при напряжённости внешнего поля от 20 до 60 мкТл.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-ACT-REQ-003
## Требование
Размещение катушек не должно смещать центр масс КА относительно геометрического центра более чем на 3 мм ни в одной из осей.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-ACT-REQ-004
## Требование
Сопротивление и индуктивность катушек должны быть такими, чтобы при напряжении шины 3.3 В ток не превышал 100 мА в установившемся режиме.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,3 @@
Использовать магнитометр MMC5983MA следуя примеру OreSat
[[OreSat]]
@@ -0,0 +1,3 @@
Использовать гироскоп + акселерометр BMI088 следуя примеру OreSat
[[OreSat]]
@@ -0,0 +1,3 @@
Использовать в качестве реверсивных источников драйверы моторов STSPIN250 от STMicroelectronics следуя примеру OreSat
[[OreSat]]
@@ -0,0 +1,12 @@
# ADCS-SENS-REQ-001
## Требование
Блок магнитометров должен измерять компоненты вектора магнитного поля в диапазоне ±100 мкТл с погрешностью ≤ 0.5 мкТл (3σ).
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-SENS-REQ-002
## Требование
Датчики угловой скорости (гироскопы) должны обеспечивать измерение скорости в диапазоне ±20 °/с с шумом не более 0.05 °/с/√Гц.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-SENS-REQ-003
## Требование
Полезный сигнал датчиков должен быть доступен для СОС с частотой обновления не менее 20 Гц.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-SENS-REQ-004
## Требование
Датчики температуры должны измерять температуру в диапазоне от -60°C до +100°C с погрешностью не более
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
@@ -0,0 +1,12 @@
# ADCS-SENS-REQ-005
## Требование
Магнитометры должны быть расположены на максимальном расстоянии от источников электромагнитного шума.
## Обоснование
## Метод верификации
## Родитель
## Связанные документы
## Статус
+2
View File
@@ -0,0 +1,2 @@
https://www.oresat.org/
https://github.com/oresat
@@ -0,0 +1 @@
https://fprime.jpl.nasa.gov/
+1
View File
@@ -0,0 +1 @@
https://egit.irs.uni-stuttgart.de/rust
View File
View File
+11
View File
@@ -0,0 +1,11 @@
```dataview
TABLE
file.link AS "Файл",
id AS "ID",
title AS "Название",
type AS "Тип",
priority AS "Приоритет",
status AS "Статус"
FROM #req
SORT priority ASC
```
+10
View File
@@ -0,0 +1,10 @@
---
id: REQ-XXX-YYY
title:
level: Система | Аппарат | Подсистема | Компонент
type:
priority: "<% priority %>"
status: "<% status %>"
created: <% created %>
tags: [req, "<% obj_tag %>"]
---
+55
View File
@@ -0,0 +1,55 @@
<%*
// ---- Сбор всех данных ----
let id = await tp.system.prompt("Введите ID требования", "REQ-XXX-YYY");
let title = await tp.system.prompt("Введите краткое название требования");
let level = await tp.system.suggester(["Система", "Аппарат", "Подсистема", "Компонент подсистемы"], ["Система", "Аппарат", "Подсистема", "Компонент подсистемы"]);
let type = await tp.system.suggester(
["Функциональное", "Нефункциональное", "Бизнес-требование", "Ограничение"],
["Функциональное", "Нефункциональное", "Бизнес-требование", "Ограничение"]
);
let priority = await tp.system.suggester(
["Высокий", "Средний", "Низкий"],
["high", "medium", "low"]
);
let status = await tp.system.suggester(
["Черновик", "На рассмотрении", "Утверждено", "Реализовано", "Отклонено"],
["draft", "review", "approved", "implemented", "rejected"]
);
let obj_tag = await tp.system.prompt("Тег объекта (напр. мка, сос, корпус)");
let created = tp.date.now("YYYY-MM-DD");
// Описание и критерии – многострочные
let description = await tp.system.prompt(
"Опишите требование (можно использовать Markdown)",
"",
true
);
// Переименовываем файл (ID без расширения, Templater сам добавит .md)
//await tp.file.rename(id);
%>
---
id: "<% id %>"
title: "<% title %>"
level: "<% level %>"
type: "<% type %>"
priority: "<% priority %>"
status: "<% status %>"
created: <% created %>
tags: [req, "<% obj_tag %>"]
---
# <% title %>
**ID:** `<% id %>`
**Тип:** `<% type %>`
**Уровень:** `<% level %>`
**Приоритет:** `<% priority %>`
**Статус:** `<% status %>`
**Дата создания:** `<% created %>`
## Описание
<%= description %>
## Связанные требования
## Комментарии
+26
View File
@@ -0,0 +1,26 @@
---
id: "<% tp.system.prompt("Введите ID требования", "REQ-XXX-YYY") %>"
title: "<% tp.system.prompt("Введите краткое название требования") %>"
level: "<% await tp.system.suggester(["Система", "Аппарат", "Подсистема", "Компонент подсистемы"], ["Система", "Аппарат", "Подсистема", "Компонент подсистемы"]) %>"
type: "<% await tp.system.suggester(["Функциональное", "Нефункциональное", "Бизнес-требование", "Ограничение"], ["Функциональное", "Нефункциональное", "Бизнес-требование", "Ограничение"]) %>"
priority: "<% await tp.system.suggester(["Высокий", "Средний", "Низкий"], ["high", "medium", "low"]) %>"
status: "<% await tp.system.suggester(["Черновик", "Утверждено", "Реализовано", "Отклонено"], ["draft", "review", "approved", "implemented", "rejected"]) %>"
created: <% tp.date.now("YYYY-MM-DD") %>
tags: [req, <% tp.system.prompt("Объект") %>]
---
# <% tp.frontmatter.title %>
**ID:** `<% tp.frontmatter.id %>`
**Уровень:** `<% tp.frontmatter.level %>`
**Тип:** `<% tp.frontmatter.type %>`
**Приоритет:** `<% tp.frontmatter.priority %>`
**Статус:** `<% tp.frontmatter.status %>`
**Дата создания:** `<% tp.frontmatter.created %>`
## Описание
<% tp.system.prompt("Опишите требование (можно использовать Markdown)", "", true) %>
## Связанные требования
-
## Комментарии
-
+9
View File
@@ -0,0 +1,9 @@
<%*
// ---- Сбор всех данных ----
let id = await tp.system.prompt("Введите ID требования", "REQ-XXX-YYY");
%>
---
id: "<% id %>"
---
**ID:** `<% id %>`
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 35 KiB

+11
View File
@@ -0,0 +1,11 @@
**требования**
- у требований должен быть тип: ![[Pasted image 20260524191738.png]]
- у требований должен быть уровень
- сводная таблица требований
**шаблоны**
- шаблон для требований
- шаблон для решения
- шаблон для методики проверки
**СОС**
- по идее общие требования к подсистеме не привязывают к конкретным реализациям, придумать как оформить более детальные требования к: алгоритмам, режимам. и нужно ли
-
@@ -0,0 +1 @@
WEEEK
@@ -0,0 +1,2 @@
Виды требований:
![[Pasted image 20260524191738.png]]
+17
View File
@@ -6,6 +6,23 @@
### 2 - Уровень аппарата
[[МКА]]
### 3 - Уровень подсистемы
[[Корпус]]
[[СЭП]]
[[этап 3/СОС|СОС]]
[[ТМТК]]
# Документы на каждом уровне
REQ - требование
- тип (функциональное, нефункциональное, ограничение)
- уровень
- к какому объекту относится
DES - техническое решение
- какие требования мотивировали
- варианты решения (Trade-Off'ы)
- что выбрали и почему
TEST - метод проверки
Обзор: назначение, функции, состав, сценарий
Диаграммы: структурные, функциональные
Интерфейсы