| US01 | Als Mars Mission Control möchte ich dem Rover den Befehl zum Vorwärtsfahren ('F') geben können, um den Rover in die gewünschte Richtung auf der Marsoberfläche zu bewegen. | Grundlegende Steuerung |
| US02 | Als Mars Mission Control möchte ich dem Rover den Befehl zum Rückwärtsfahren ('B') geben können, um dem Rover zu ermöglichen, sich von Hindernissen zu entfernen oder präzisere Manöver durchzuführen. | Grundlegende Steuerung |
## Getting started
| US03 | Als Mars Mission Control möchte ich dem Rover den Befehl geben können sich um 45° nach links zu drehen, um die Ausrichtung des Rovers anzupassen und ihn in eine neue Richtung zu lenken. | Grundlegende Steuerung |
| US04 | Als Mars Mission Control möchte ich dem Rover den Befehl geben können sich um 45° nach rechts zu drehen, um die Ausrichtung des Rovers anzupassen und ihn in eine neue Richtung zu lenken. | Grundlegende Steuerung |
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
| US05 | Als Mars Mission Control möchte ich dem Rover eine Zeichenkette mit mehreren Befehlen senden können (z.B. "FFRBLF"), um komplexe Bewegungsabläufe und Manöver effizient in einer einzigen Anweisung zu übermitteln. | Effiziente Steuerung |
| US06 | Als Mars Mission Control möchte ich, dass der Rover vor einem Bewegungsschritt (vorwärts/rückwärts) prüft, ob sich ein Hindernis im Zielquadrat befindet, um Kollisionen mit unvorhergesehenen Objekten auf der Marsoberfläche zu vermeiden und die Sicherheit des Rovers zu gewährleisten. | Hinderniserkennung (ODS) |
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
| US07 | Als Mars Mission Control möchte ich, dass der Rover seine Bewegung und alle nachfolgenden Befehle in der Sequenz abbricht, wenn ein Hindernis erkannt wird, um sicherzustellen, dass der Rover nicht in ein Hindernis fährt und um weitere potenziell schädliche Aktionen zu verhindern. | Hinderniserkennung (ODS) |
| US08 | Als Mars Mission Control möchte ich, dass der Rover vor einem Bewegungsschritt (vorwärts/rückwärts) prüft, ob das Zielquadrat außerhalb der Grenzen des Plateaus liegt, um zu verhindern, dass der Rover das zugewiesene Operationsgebiet verlässt und möglicherweise verloren geht oder beschädigt wird. | Plateau-Rand-Erkennung (ODS) |
## Add your files
| US09 | Als Mars Mission Control möchte ich, dass der Rover seine Bewegung und alle nachfolgenden Befehle in der Sequenz abbricht, wenn der Rand des Plateaus erreicht wird, um sicherzustellen, dass der Rover innerhalb der sicheren Operationsgrenzen bleibt und keine unnötigen Risiken eingeht. | Plateau-Rand-Erkennung (ODS) |
| US10 | Als Mars Mission Control möchte ich vom Rover eine Rückmeldung erhalten, welche Befehle einer Sequenz erfolgreich ausgeführt wurden, bevor ein Stopp erfolgte, um den Fortschritt der Rover-Mission zu verfolgen und zu verstehen, welche Aktionen erfolgreich waren und wo Probleme aufgetreten sind. | Feedback und Kartierung |
-[ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
| US11 | Als Mars Mission Control möchte ich die relative Position und Ausrichtung des Rovers basierend auf den erfolgreichen Befehlen auf meiner eigenen Karte nachverfolgen, um eine genaue Vorstellung der aktuellen Position und Ausrichtung des Rovers auf der Marsoberfläche zu haben und zukünftige Befehle präzise planen zu können. | Feedback und Kartierung |
-[ ] [Add files using the command line](https://docs.gitlab.com/topics/git/add_files/#add-files-to-a-git-repository) or push an existing Git repository with the following command:
-**Goal in Context**: Mars Mission Control möchte den Rover vorwärts bewegen, um die Marsoberfläche zu erkunden oder zu navigieren.
git push -uf origin main
-**Scope & Levels**: Steuerungssystem des Rovers, Bewegungssteuerung (Basis-Level).
```
-**Preconditions**: Der Rover befindet sich an einer bestimmten Position auf dem Plateau (z.B. (0,0)).
-**Success End Condition**: Der Rover fährt um eine Einheit nach vorne, sodass die Position des Rovers sich verändert. Zum Beispiel von (0,0) nach (0,1) (wenn die aktuelle Richtung Norden ist)
## Integrate with your tools
-**Failed End Condition**: Der Rover konnte nicht vorwärts fahren (z.B. aufgrund von Hindernissen).
-**Primary / Secondary Actors**:
-[ ] [Set up project integrations](https://gitlab.reutlingen-university.de/Daniel.Rafeh/marsmissioncontrol/-/settings/integrations)
-**Trigger**: Mars Mission Control sendet den Vorwärtsbefehl ('F').
-[ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
-**Description**:
-[ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
| Step | Branching Action |
-[ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
| 1 | Wenn ein Hindernis erkannt wird, stoppt der Rover |
-[ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/)
| 2 | Rover stoppt und gibt eine Fehlermeldung aus |
-[ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
-[ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
-**Subvariations**:
-[ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
| Step | Branching Action |
-[ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
| 1 | Der Rover könnte sich auch in einer anderen Richtung bewegen (je nach Ausrichtung) |
***
---
# Editing this README
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template.
### 2. **US02 - Rückwärtsfahren**
## Suggestions for a good README
-**Use Case**: Rover rückwärts fahren
-**Goal in Context**: Mars Mission Control möchte den Rover rückwärts bewegen, um Hindernissen auszuweichen oder präzise Manöver durchzuführen.
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
-**Scope & Levels**: Steuerungssystem des Rovers, Bewegungssteuerung (Basis-Level).
-**Preconditions**: Der Rover befindet sich an einer bestimmten Position auf dem Plateau (z.B. (0,0)).
## Name
-**Success End Condition**: Der Rover fährt erfolgreich um eine Einheit nach Hinten.
Choose a self-explaining name for your project.
-**Failed End Condition**: Der Rover kann nicht rückwärts fahren (z.B. Hindernis im Weg).
-**Primary / Secondary Actors**:
## Description
-**Primary Actor**: Mars Mission Control
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
-**Secondary Actor**: Rover
-**Trigger**: Mars Mission Control sendet den Rückwärtsbefehl ('B').
## Badges
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
| 1 | Mars Mission Control sendet den Rückwärtsbefehl ('B') |
| 2 | Der Rover bewegt sich einen Schritt rückwärts |
## Installation
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
| 1 | Wenn ein Hindernis erkannt wird, stoppt der Rover |
| 2 | Rover stoppt und gibt eine Fehlermeldung aus |
## Support
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
If you have ideas for releases in the future, it is a good idea to list them in the README.
| 1 | Der Rover könnte sich auch in einer anderen Richtung rückwärts bewegen (je nach Ausrichtung) |
## Contributing
---
State if you are open to contributions and what your requirements are for accepting them.
### 3. **US03 - Drehung nach links (45°)**
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
-**Use Case**: Rover dreht sich um 45° nach links
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
-**Goal in Context**: Mars Mission Control möchte den Rover um 45° nach links drehen, um die Ausrichtung des Rovers zu ändern.
-**Scope & Levels**: Steuerungssystem des Rovers, Bewegungssteuerung (Basis-Level).
## Authors and acknowledgment
-**Preconditions**: Der Rover befindet sich an einer bestimmten Position auf dem Plateau (z.B. (0,0)).
Show your appreciation to those who have contributed to the project.
-**Success End Condition**: Der Rover ist an einer bestimmten Position auf dem Plateau um genau 45° nach links gedreht.
-**Failed End Condition**: Der Rover hat sich nicht korrekt gedreht (z.B. aufgrund eines Steuerfehlers).
## License
-**Primary / Secondary Actors**:
For open source projects, say how it is licensed.
-**Primary Actor**: Mars Mission Control
-**Secondary Actor**: Rover
## Project status
-**Trigger**: Mars Mission Control sendet den Befehl zur Drehung nach links ('L').
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
| 1 | Befehlsfolge enthält Mischung aus gültigen/ungültigen Zeichen |
---
---
### 11. **US11 - Roverposition und Ausrichtung verfolgen**
-**Use Case**: Roverposition und -ausrichtung verfolgen
-**Goal in Context**: Mars Mission Control möchte die relative Position und Ausrichtung des Rovers basierend auf den ausgeführten Befehlen verfolgen, um präzisere Planungen durchzuführen.
-**Scope & Levels**: Navigations- und Feedbacksystem; Benutzerziel.
-**Preconditions**: Rover hat gültige Befehle erhalten und ausgeführt, und alle Statusmeldungen wurden erfolgreich übermittelt.
-**Success End Condition**: Mission Control hat eine korrekte und aktuelle Darstellung von Position und Ausrichtung des Rovers.
-**Failed End Condition**: Die Daten sind unvollständig oder fehlerhaft, sodass die Position/Ausrichtung nicht korrekt angezeigt werden kann.
-**Primary / Secondary Actors**:
-**Primary Actor**: Mars Mission Control
-**Secondary Actor**: Rover
-**Trigger**: Rover führt Bewegung oder Drehung aus und sendet Rückmeldung.
| US01 | Als Mars Mission Control möchte ich dem Rover den Befehl zum Vorwärtsfahren ('F') geben können, um den Rover in die gewünschte Richtung auf der Marsoberfläche zu bewegen. | Grundlegende Steuerung |
| US02 | Als Mars Mission Control möchte ich dem Rover den Befehl zum Rückwärtsfahren ('B') geben können, um dem Rover zu ermöglichen, sich von Hindernissen zu entfernen oder präzisere Manöver durchzuführen. | Grundlegende Steuerung |
| US03 | Als Mars Mission Control möchte ich dem Rover den Befehl geben können sich um 45° nach links zu drehen, um die Ausrichtung des Rovers anzupassen und ihn in eine neue Richtung zu lenken. | Grundlegende Steuerung |
| US04 | Als Mars Mission Control möchte ich dem Rover den Befehl geben können sich um 45° nach rechts zu drehen, um die Ausrichtung des Rovers anzupassen und ihn in eine neue Richtung zu lenken. | Grundlegende Steuerung |
| US05 | Als Mars Mission Control möchte ich dem Rover eine Zeichenkette mit mehreren Befehlen senden können (z.B. "FFRBLF"), um komplexe Bewegungsabläufe und Manöver effizient in einer einzigen Anweisung zu übermitteln. | Effiziente Steuerung |
| US06 | Als Mars Mission Control möchte ich, dass der Rover vor einem Bewegungsschritt (vorwärts/rückwärts) prüft, ob sich ein Hindernis im Zielquadrat befindet, um Kollisionen mit unvorhergesehenen Objekten auf der Marsoberfläche zu vermeiden und die Sicherheit des Rovers zu gewährleisten. | Hinderniserkennung (ODS) |
| US07 | Als Mars Mission Control möchte ich, dass der Rover seine Bewegung und alle nachfolgenden Befehle in der Sequenz abbricht, wenn ein Hindernis erkannt wird, um sicherzustellen, dass der Rover nicht in ein Hindernis fährt und um weitere potenziell schädliche Aktionen zu verhindern. | Hinderniserkennung (ODS) |
| US08 | Als Mars Mission Control möchte ich, dass der Rover vor einem Bewegungsschritt (vorwärts/rückwärts) prüft, ob das Zielquadrat außerhalb der Grenzen des Plateaus liegt, um zu verhindern, dass der Rover das zugewiesene Operationsgebiet verlässt und möglicherweise verloren geht oder beschädigt wird. | Plateau-Rand-Erkennung (ODS) |
| US09 | Als Mars Mission Control möchte ich, dass der Rover seine Bewegung und alle nachfolgenden Befehle in der Sequenz abbricht, wenn der Rand des Plateaus erreicht wird, um sicherzustellen, dass der Rover innerhalb der sicheren Operationsgrenzen bleibt und keine unnötigen Risiken eingeht. | Plateau-Rand-Erkennung (ODS) |
| US10 | Als Mars Mission Control möchte ich vom Rover eine Rückmeldung erhalten, welche Befehle einer Sequenz erfolgreich ausgeführt wurden, bevor ein Stopp erfolgte, um den Fortschritt der Rover-Mission zu verfolgen und zu verstehen, welche Aktionen erfolgreich waren und wo Probleme aufgetreten sind. | Feedback und Kartierung |
| US11 | Als Mars Mission Control möchte ich die relative Position und Ausrichtung des Rovers basierend auf den erfolgreichen Befehlen auf meiner eigenen Karte nachverfolgen, um eine genaue Vorstellung der aktuellen Position und Ausrichtung des Rovers auf der Marsoberfläche zu haben und zukünftige Befehle präzise planen zu können. | Feedback und Kartierung |
### 1. **US01 - Vorwärtsfahren**
-**Use Case**: Rover vorwärts fahren
-**Goal in Context**: Mars Mission Control möchte den Rover vorwärts bewegen, um die Marsoberfläche zu erkunden oder zu navigieren.
-**Scope & Levels**: Steuerungssystem des Rovers, Bewegungssteuerung (Basis-Level).
-**Preconditions**: Der Rover befindet sich an einer bestimmten Position auf dem Plateau (z.B. (0,0)).
-**Success End Condition**: Der Rover fährt um eine Einheit nach vorne, sodass die Position des Rovers sich verändert. Zum Beispiel von (0,0) nach (0,1) (wenn die aktuelle Richtung Norden ist)
-**Failed End Condition**: Der Rover konnte nicht vorwärts fahren (z.B. aufgrund von Hindernissen).
| 1 | Befehlsfolge enthält Mischung aus gültigen/ungültigen Zeichen |
---
---
### 11. **US11 - Roverposition und Ausrichtung verfolgen**
-**Use Case**: Roverposition und -ausrichtung verfolgen
-**Goal in Context**: Mars Mission Control möchte die relative Position und Ausrichtung des Rovers basierend auf den ausgeführten Befehlen verfolgen, um präzisere Planungen durchzuführen.
-**Scope & Levels**: Navigations- und Feedbacksystem; Benutzerziel.
-**Preconditions**: Rover hat gültige Befehle erhalten und ausgeführt, und alle Statusmeldungen wurden erfolgreich übermittelt.
-**Success End Condition**: Mission Control hat eine korrekte und aktuelle Darstellung von Position und Ausrichtung des Rovers.
-**Failed End Condition**: Die Daten sind unvollständig oder fehlerhaft, sodass die Position/Ausrichtung nicht korrekt angezeigt werden kann.
-**Primary / Secondary Actors**:
-**Primary Actor**: Mars Mission Control
-**Secondary Actor**: Rover
-**Trigger**: Rover führt Bewegung oder Drehung aus und sendet Rückmeldung.