Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Auto Oxidizer Filling

オープン
#391 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@WiktorM8 がすでに取り組んでいます。

2026年7月24日 から。

評価

この issue はまだ評価されていません。

説明

User Story

W hybrydzie mamy 1 zbiornik z paliwem w formie gazowej (oraz ciekłej), posiada on 3 zawrory (Main - otwierany podczas startu rakiety, Dump - służy do awaryjnego spuszczenia paliwa (Abort), Vent - służy do zmniejszania ciśnienia (potrzebny równiez podczas tankowania, gdzie różnica ciśnień między butlą a zbiornikiem przepycha ciekłe paliwo do zbiornika rakiety). Największym problemem jest sterowanie zaworami które znajdują się w stacji naziemnej, oraz odbiur ciśnienia paliwa w gs oraz wagi rakiety z GS. Docelowe rozwiązanie będzie udostępniać metodę na someip do sterowania zaworem z gs (0 - close, 1- open 100%, 2- open 50%). waga rakiety oraz ciśnienie w zbiorniku gs będzie udostępniane eventami someip przez radioApp. W R7 potrzebowaliśmy około 9Kg paliwa pod cisnieniem około 55Bar (ciśnienie zależne od temperatury). (jeśli dobrze pamiętam to 55Bar odpowiada temperaturze paliwa około 34 stopni celciusza). Trzeba opracować algorytm który w sposób automatyczny i bezpieczny umożliwi zatankowanie zadanej wagi paliwa (waga podawana jakąś metodą po someip). Dodatkowo na samym początku powinna być procedura sprawdzenia szczelnosci, polegająca na otwarciu zaworu GS na 50%, zatankowaniu rakiety do np 4bar(pobrane z pliku konfiguracyjnego), zamkniecie zaworu, poczekania 30s i sprawdzenia czy ciśnienie spadło o więcej niż X%. w przypadku wykrycia dużego spadku komputer powinien przerwać procedurę. Dodatkowo komputer nie powinien pozwolić na tankowanie jeśli ciśnienie w GS jest większe niż X (wczytane z pliku json) lub mniejsze niż Y (wczytane z pliku json). Zazwyczaj paliwo tankowane jest z odpowiednim zapasem masy (zapas jest potrzebny do ewentualnego schłodzenia paliwa, nadmiarowe paliwo ventujemy przed startem (nie automatycznie).

Wymagania:
  • aplikacja musi mieć możliwośc przerwania procedury w każdym momencie jej działania, przerwanie oznacza zamknięcie wszystkich zaworów
  • aplikacja musi mieć rozpisane testy automatyczne sprawdzające mechanizm jej działania
  • wszystkie zmienne muszą być wczytywane z pliku json (poza docelową masą, ciśnieniem oraz nadmiarem masy które są ustawiane poprzez metodę someip)
  • aplikacja musi przeprowadzic test szczelności przed procedurą tankowania
  • aplikacja musi nie pozwolić zatankować automatyznie jeśli ciśnienie GS jest poza dozwolonym zakresem
  • kod musi być napisany tak, aby w przyszłości dało się go przenieść na liquida (gdzie są tankowane 2 rodzaje paliwa)
  • algorytm nie może zużywać więcej niż 10-20% cpu
  • częstotliwość odświerzania algorytmu powinna odpowiadać częstotliwości otrzymywania aktualizacji masy i ciśnienia (10Hz) oraz uwzględniać opuźnienia na zaworach (otwarcie i zamknięcie trwa zazwyczaj 100-1000ms
  • stan aplikacji musi być dostępny na someip (zakładam że będzie to działać jako maszyna stanów więc coś typu: off, leak test, tanking, finish, etc) powinno być dostępne.
  • (optional) algorytm powinien obliczać czas potrzebny na zatankowanie danej ilości paliwa, oraz czas jego ogrzewania do temperatury docelowej.
TODO
  • wymyślić i rozpisać na wiki potrzebne algorytmy (test szczelnosci, auto-tankowanie)
  • rozpisać procedury testów algorytmów
  • Stworzyć aplikację która będzie zawierać wszystkie potrzebne metody i eventy
  • napisać kod aplikacji
  • napisać testy aplikacji (nie mówie tylko o UT ale też o testach całego mechanizmu, na zasadzie wydaje polecenie tankowania oraz aktualizuje na bierzaco mase rakiety i ciśnienie oraz sprawdzam co robi algorytm dla przypadków)
主要言語
C++
スター
1
フォーク
3
平均マージ
34分
マージ済み PR(30日)
1

環境構築

このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Simba-Avionic/srp のほかの issue

Simba-Avionic/srp の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。