Benutzer-Werkzeuge

Webseiten-Werkzeuge


projektewise21:fliegenderroboter:doku

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projektewise21:fliegenderroboter:doku [2022/03/23 19:25]
JelenaM
projektewise21:fliegenderroboter:doku [2022/04/25 00:21] (aktuell)
d.golovko
Zeile 1: Zeile 1:
 +
 ======Zeppelin====== ======Zeppelin======
  
Zeile 10: Zeile 11:
 Ein ähnliches Projekt, welches unserem als Inspiration gedient hat, ist der [[http://​silent-runner.net/​index.php?​title=Main_Page|silent runner]] vom [[https://​windreiter.de/​|Windreiter-Projekt]]. Ein ähnliches Projekt, welches unserem als Inspiration gedient hat, ist der [[http://​silent-runner.net/​index.php?​title=Main_Page|silent runner]] vom [[https://​windreiter.de/​|Windreiter-Projekt]].
  
 +Damit ihr euch vorstellen könnt, wie das am Ende aussieht, hier ein Bild unseres Zeppelins:
  
 +<​imgcaption image4|>​{{ :​projektewise21:​fliegenderroboter:​zeppelin_fliegend.jpg?​direct&​650 |Unser fertiger Zeppelin}}</​imgcaption>​
 ====Überblick==== ====Überblick====
  
 ===Baugruppen=== ===Baugruppen===
  
-Unser Zeppelin besteht aus dem Ballon, der Motoraufhängung inklusive Akkus, der Aufhängung der Finnen, einem Steckbrett mit Arduino und Bluetooth-Modul und den Sensoren.+Unser Zeppelin besteht aus dem Ballon, der Motoraufhängung inklusive ​Electronic Speed Controller (ESC) mit Akkus, der Aufhängung der Finnen ​mit den Servos, einem Steckbrett mit Arduino und Bluetooth-Modul und den Sensoren ​(Phototransistoren und Ulltraschalldistanzsensoren).
  
 ===Aufgaben=== ===Aufgaben===
  
-Die größte unserer Aufgaben war die Steuerung unseres Zeppelin über Bluetooth. Durch das Füllen mit Helium wurde das Problem des zum Fliegen bringen an sich umgangen, welches wir zum Beispiel bei einer Drohne gehabt hätten, aber die Steuerung ist notwendig, damit der Zeppelin nicht einfach nur unter der Decke des Raumes hängt. Die Steuerung teilt sich wiederum ​in mehrere Bereiche auf: das Ansteuern von Motor, ESC und der Servos, sowie die Verbindung dieser mit dem Propeller und den Steuerflossen.+Die größte unserer Aufgaben war die Steuerung unseres Zeppelin über Bluetooth. Durch das Füllen mit Helium wurde das Problem des zum Fliegen bringen an sich umgangen, welches wir zum Beispiel bei einer anderen Art von Drohne gehabt hätten, aber die Steuerung ist notwendig, damit der Zeppelin nicht einfach nur unter der Decke des Raumes hängt. Die Steuerung teilt sich in mehrere Bereiche auf: das Ansteuern von Motor, ESC und der Servos, sowie die Verbindung dieser mit dem Propeller und den Steuerflossen.
  
 Beim Einfüllen des Heliums stellte sich noch ein weiteres Problem heraus: zwar flog der Zeppelin, aber die Aufhängung der Flossen war deutlich schwerer als die Vorderseite,​ was zu einem Ungleichgewicht führte, gegen das man schwer gegensteuern konnte. Zuerst haben wir versucht, dies mit einem Gegengewicht auszugleichen,​ mussten aber feststellen,​ dass der Zeppelin dann zu schwer war zum fliegen. Deswegen waren wir gezwungen, das Steckbrett mit Arduino und allen Kabeln weiter nach vorne umzuordnen, um den Zeppelin in eine senkrechte Lage zu bringen. Beim Einfüllen des Heliums stellte sich noch ein weiteres Problem heraus: zwar flog der Zeppelin, aber die Aufhängung der Flossen war deutlich schwerer als die Vorderseite,​ was zu einem Ungleichgewicht führte, gegen das man schwer gegensteuern konnte. Zuerst haben wir versucht, dies mit einem Gegengewicht auszugleichen,​ mussten aber feststellen,​ dass der Zeppelin dann zu schwer war zum fliegen. Deswegen waren wir gezwungen, das Steckbrett mit Arduino und allen Kabeln weiter nach vorne umzuordnen, um den Zeppelin in eine senkrechte Lage zu bringen.
Zeile 33: Zeile 36:
 ===Gesamtsystem=== ===Gesamtsystem===
  
-(Fotos, Skizzen mit Beschriftung der Teile) +<​imgcaption image3|>​{{ :​projektewise21:​fliegenderroboter:​skizze.png?​direct&​650 |Skizze des Zeppelins}}</​imgcaption>​
- +
 ====Systembestandteile==== ====Systembestandteile====
  
Zeile 58: Zeile 59:
  
 Da das Labor nicht den passenden brushless Motor für unseren Zeppelin hatte, mussten wir diesen Online bei [[https://​www.ebay.de/​itm/​274459265274|eBay bestellen]]. ​ Da das Labor nicht den passenden brushless Motor für unseren Zeppelin hatte, mussten wir diesen Online bei [[https://​www.ebay.de/​itm/​274459265274|eBay bestellen]]. ​
-Das musste außerdem sehr schnell geschehen, weil der Motor aus China verschickt wurde. Die Auswahl des Motors war auch keine einfache. Denn wir hatten einen Beispielmotor aus dem Windreiter-Projekt,​ doch konnte man diesen nicht mehr bestellen. Deswegen haben wir einen ähnlichen gesucht der die Anforderungen erfüllt. +Das musste außerdem sehr schnell geschehen, weil der Motor aus China verschickt wurde. Die Auswahl des Motors war auch keine einfache. Denn wir hatten einen Beispielmotor aus dem Windreiter-Projekt,​ doch konnte man diesen nicht mehr bestellen. Deswegen haben wir einen ähnlichen gesuchtder die Anforderungen erfüllt. 
-Eine davon war zunächst das Gewicht. Der Motor musste sehr leicht sein, damit wir kein Problem mit dem Gesamtgewicht des Zeppelin haben. Außerdem ​ist musste beim Motorkauf auf den Schub geachtet werden. Und damit zusammenhängend die Umdrehungen des Motors.  +Eine davon war zunächst das Gewicht. Der Motor musste sehr leicht sein, damit wir kein Problem mit dem Gesamtgewicht des Zeppelin haben. Außerdem musste beim Motorkauf auf den Schub geachtet werden, und damit zusammenhängend die Umdrehungen des Motors.  
-Damit unser Motor auch mit dem ESC zusammenpasst musste auch darauf geachtet werden, dass der Motor mit "​2s"​ Spannung versorgt wird. Das "​2s"​ steht bei RC Fahrzeugen ​dabei für die Anzahl an Akkus. Wenn nur ein Akku angeschlossen wird spricht man somit von "​1s",​ bei zwei Akkus von "​2s",​ und so weiter. Hierbei ist es sehr wichtig, dass die Akkus in Reihe geschalten ​werden, um die Spannung der angeschlossenen Akkus zu addieren. ​+Damit unser Motor auch mit dem ESC zusammenpasst musste auch darauf geachtet werden, dass der Motor mit "​2s"​ Spannung versorgt wird. Das "​2s"​ steht bei RC Fahrzeugen für die Anzahl an Akkus. Wenn nur ein Akku angeschlossen wird spricht man somit von "​1s",​ bei zwei Akkus von "​2s",​ und so weiter. Hierbei ist es sehr wichtig, dass die Akkus in Reihe geschaltet ​werden, um die Spannung der angeschlossenen Akkus zu addieren. ​
 Um die tatsächlich anliegende Spannung unterschiedlicher Akkus besser darzustellen hier [[https://​www.heli-planet.com/​images/​Restkapa_Lipo.gif| eine Tabelle]]. Um die tatsächlich anliegende Spannung unterschiedlicher Akkus besser darzustellen hier [[https://​www.heli-planet.com/​images/​Restkapa_Lipo.gif| eine Tabelle]].
  
 Der ESC ist das Herzstück der Stromversorgung. ESC steht für Electronic Speed Controller und wie der Name sagt, ist es die Geschwindigkeitsregelung für den brushless Motor. An den ESC werden die Akkus (in unserem Fall 2s) angeschlossen. Nun wird die Spannung zunächst in 5V umgewandelt und an den Arduino weitergegeben. Wenn dieser über die Signalleitung ein Signal mit dem Wert zwischen 0-1028 sendet, wird der Strom der Akkus außerdem an den Motor weitergegeben und der Motor beginnt sich zu drehen. Der ESC ist das Herzstück der Stromversorgung. ESC steht für Electronic Speed Controller und wie der Name sagt, ist es die Geschwindigkeitsregelung für den brushless Motor. An den ESC werden die Akkus (in unserem Fall 2s) angeschlossen. Nun wird die Spannung zunächst in 5V umgewandelt und an den Arduino weitergegeben. Wenn dieser über die Signalleitung ein Signal mit dem Wert zwischen 0-1028 sendet, wird der Strom der Akkus außerdem an den Motor weitergegeben und der Motor beginnt sich zu drehen.
  
-Die Servos haben wir einfach an den Arduino ​an Pin 9,10 angeschlossen. Um bei der Stromversorgung Kabel zu sparen, haben wir die positiven ​und die negativen ​der Servos zusammengelötet und an den Arduino angeschlossen.+Die Servos haben wir einfach an die Arduino ​Pins und 10 angeschlossen. Um bei der Stromversorgung Kabel zu sparen, haben wir die Positiven ​und Negativen ​der Servos zusammengelötet und dann an den Arduino angeschlossen.
  
 ===Kommunikation Arduino & Processing=== ===Kommunikation Arduino & Processing===
Zeile 71: Zeile 72:
 Die Kommunikation wollten wir erst über WLAN erfolgen lassen, sind dann aber auf Bluetooth umgestiegen,​ die Umstellung der seriellen Kommunikation von USB auf Bluetooth keine größeren Anpassungen erfordert. Die Kommunikation wollten wir erst über WLAN erfolgen lassen, sind dann aber auf Bluetooth umgestiegen,​ die Umstellung der seriellen Kommunikation von USB auf Bluetooth keine größeren Anpassungen erfordert.
  
-In Processing haben wir eine Klasse angelegt, die für das Senden und Empfangen von Daten verantwortlich ist. Dabei hat jeder Sensor einen bestimmten key, also eine Zahl, die ihm zugeordnet ​wurde und mit welcher jeweils erkannt werden kann, woher der übergebene Wert stammt. So kann es nicht vorkommen, dass beispielsweise ein Wert der Ultraschallsensoren mit dem eines Phototransistors verwechselt wird. Alle Daten werden in der Form ''​{key:​value}[Zeilenumbruch]''​ übertragen. Abgesehen von den Sensoren gibt es auch keys für ErrorTimestamp ​und Echo.+In Processing haben wir eine Klasse angelegt, die für das Senden und Empfangen von Daten verantwortlich ist. Dabei hat jeder Sensor ​und Aktuator ​einen bestimmten key, in Form einer Zahl, die ihm zugeordnet ​wird und mit welcher jeweils erkannt werden kann, woher der übergebene Wert stammt. So kann es nicht vorkommen, dass beispielsweise ein Wert der Ultraschallsensoren mit dem eines Phototransistors verwechselt wird. Alle Daten werden in der Form ''​{key:​value}[Zeilenumbruch]''​ übertragen. Abgesehen von den Sensoren ​und Aktuatoren ​gibt es auch keys zur Übertragung von ZeitstempelnFehlern ​und zum Debuggen.
  
 Wir haben unseren Code so aufgeteilt, dass der Großteil auf Processing läuft. Dies hat den Vorteil, dass der Arduino nicht an die Grenzen seiner Speicherkapazität kommt. Allerdings ist der Arduino so auch abhängig von der Bluetoothverbindung mit dem Computer und Processing, sodass er nicht eigenständig betrieben werden kann, wie es bei den meisten anderen Robotern des Projektlabors der Fall ist. Wir haben unseren Code so aufgeteilt, dass der Großteil auf Processing läuft. Dies hat den Vorteil, dass der Arduino nicht an die Grenzen seiner Speicherkapazität kommt. Allerdings ist der Arduino so auch abhängig von der Bluetoothverbindung mit dem Computer und Processing, sodass er nicht eigenständig betrieben werden kann, wie es bei den meisten anderen Robotern des Projektlabors der Fall ist.
Zeile 77: Zeile 78:
 ===Steuerung=== ===Steuerung===
  
-Die manuelle Steuerung ​erfolgte ​in unseren ​Test über einen Gamecontroller,​ der an den Computer angeschlossen ​wurde. Ebenfalls ist es möglich, die w a und d Tasten ​für Motorschub und rechts ​und links zu nutzen, sowie die hoch und runter Pfeiltasten ​für die dementsprechende Richtung. Dabei muss der Controller jedoch trotzdem an den Computer angeschlossen sein. Steht kein Controller zur Verfügung, muss der Code dementsprechend geändert werden+Die manuelle Steuerung ​erfolgt ​in unseren ​Tests über einen (Xbox-)Gamecontroller,​ der an den Computer angeschlossen ​wird. Ebenfalls ist es möglich, ​auf  der normalen Laptoptastatur ​die ''​w''​ Taste für Motorschub, ''​a''​ für links und ''​d'' ​für rechts zu nutzen, sowie ''​↑'' ​und ''​↓'' ​für die dementsprechende Richtung. Dabei muss der Controller jedoch trotzdem an den Computer angeschlossen sein. Steht kein Controller zur Verfügung, muss der Code dementsprechend geändert werden.
- +
-Wie auch das Versenden der Daten wird die Steuerung über spezielle Klassen. ''​VirtualController''​ ist in der Lage, die aktuelle Position der Servos und den Schub des Motors zu regeln, während ''​ManualMode''​ die Funktionen beinhaltet, welche das Steuern per Tastatur ermöglichen. Dabei greift letztere Klasse auf erstere zu.+
  
 ===Licht folgen=== ===Licht folgen===
Zeile 87: Zeile 86:
 <​imgcaption image3|>​{{ :​projektewise21:​fliegenderroboter:​sensoren.jpg?​direct&​650 |Phototransistoren und Ultraschallsensoren}}</​imgcaption>​ <​imgcaption image3|>​{{ :​projektewise21:​fliegenderroboter:​sensoren.jpg?​direct&​650 |Phototransistoren und Ultraschallsensoren}}</​imgcaption>​
  
-Vom Arduino werden die Daten der Sensoren an Processing auf dem Computer weitergeleitet,​ wo sie verglichen werden. Ist der Wert des unteren PT um eine bestimmte Toleranz höher als die beiden Oberen, wird auf die bereits vorhandene ​Steuerfunktion zugegriffen und die Servos bewegen die Flossen so, dass der Zeppelin nach unten fliegt.+Vom Arduino werden die Daten der Sensoren an Processing auf dem Computer weitergeleitet,​ wo sie verglichen werden. Ist der Wert des unteren PT um eine bestimmte Toleranz höher als die beiden Oberen, wird auf die entsprechende ​Steuerfunktion zugegriffen und die Servos bewegen die Flossen so, dass der Zeppelin nach unten fliegt.
  
 Sendet einer der oberen Phototransistoren einen höheren Wert als der Untere, wird geprüft, ob dieser um eine bestimmte Toleranz höher ist als der rechte, bzw. linke PT. Ist dies der Fall wird wieder auf eine Steuerfunktion zugegriffen,​ die den Zeppelin nach links oder rechts fliegen lässt. Sendet einer der oberen Phototransistoren einen höheren Wert als der Untere, wird geprüft, ob dieser um eine bestimmte Toleranz höher ist als der rechte, bzw. linke PT. Ist dies der Fall wird wieder auf eine Steuerfunktion zugegriffen,​ die den Zeppelin nach links oder rechts fliegen lässt.
Zeile 96: Zeile 95:
  
 {{lichtfolgen.mp4|Licht folgen (ohne Kollisionsvermeidung)}} {{lichtfolgen.mp4|Licht folgen (ohne Kollisionsvermeidung)}}
 +
  
 ===Kollisionsvermeidung=== ===Kollisionsvermeidung===
  
-Am vorderen Ende des Zeppelin befinden sich zwei Ultraschallsensoren,​ die über Kabel mit dem Arduino verbunden sind. Sie senden durchgehend Werte, die der Arduino über Bluetooth an Processing weitergibt, wo der Abstand des rechten und des linken Ultraschallsensors vom nächsten Hindernis verglichen wird. Sinkt einer der Werte unter eine festgelegte Schwelle, d.h. kommt ein Gegenstand zu nahe, wird auf die zuvor geschriebene ​Steuerfunktion zugegriffen und der Zeppelin in die jeweils entgegengesetzte Richtung gelenkt, begleitet von der Nachricht „Eisberg voraus“.+Am vorderen Ende des Zeppelin befinden sich zwei Ultraschallsensoren,​ die über Kabel mit dem Arduino verbunden sind. Sie senden durchgehend Werte, die der Arduino über Bluetooth an Processing weitergibt, wo der Abstand des rechten und des linken Ultraschallsensors vom nächsten Hindernis verglichen wird. Sinkt einer der Werte unter eine festgelegte Schwelle, d.h. kommt ein Gegenstand zu nahe, wird auf die zuvor ensprechende ​Steuerfunktion zugegriffen und der Zeppelin in die jeweils entgegengesetzte Richtung gelenkt, begleitet von der Nachricht „Eisberg voraus“.
  
 ===Diagramme=== ===Diagramme===
Zeile 107: Zeile 107:
 Für das Liniendiagramm haben wir zuerst ebenfalls versucht, eine eigene Klasse zu schreiben, die auch auf die gespeicherten Arrays zugreifen sollte. In einer simpleren Umgebung getrennt von unserem restlichen Code hat dies auch funktioniert,​ allerdings gab es Probleme beim Umformen in eine Klasse und bei der Eingliederung in den restlichen Code. Wir haben festgestellt,​ dass die Umsetzung zu aufwendig geworden wäre und verwenden deshalb nun die bereits existierende Library ''​grafica''​. Für das Liniendiagramm haben wir zuerst ebenfalls versucht, eine eigene Klasse zu schreiben, die auch auf die gespeicherten Arrays zugreifen sollte. In einer simpleren Umgebung getrennt von unserem restlichen Code hat dies auch funktioniert,​ allerdings gab es Probleme beim Umformen in eine Klasse und bei der Eingliederung in den restlichen Code. Wir haben festgestellt,​ dass die Umsetzung zu aufwendig geworden wäre und verwenden deshalb nun die bereits existierende Library ''​grafica''​.
  
-Für das Darstellen des Akkustandes verwenden wir ein einfaches Rechteck, welches mit einem weiteren, farbigen Rechteck gefüllt ist, das den Akkustand darstellt. Es ist angelehnt an das entsprechende Symbol bei Smartphones oder Computern. ​Den Akkustand ​berechnen wir mit folgender Formel:+Für das Darstellen des Akkustandes verwenden wir ein einfaches Rechteck, welches mit einem weiteren, farbigen Rechteck gefüllt ist, das den Akkustand darstellt. Es ist angelehnt an das entsprechende Symbol bei Smartphones oder Computern. ​Die Akkuspannung ​berechnen wir mit folgender Formel:
  
-V<​sub>​in</​sub>​ = (V<​sub>​out</​sub>​ * (R<​sub>​1</​sub>​+R<​sub>​2</​sub>​)) / R<​sub>​2</​sub>​+U<​sub>​in</​sub>​ = (U<​sub>​out</​sub>​ * (R<​sub>​1</​sub>​+R<​sub>​2</​sub>​)) / R<​sub>​2</​sub>​
  
 wobei unsere Widerstände jeweils 22kOhm haben. V<​sub>​out</​sub>​ wird an einem analogen Pin gemessen. wobei unsere Widerstände jeweils 22kOhm haben. V<​sub>​out</​sub>​ wird an einem analogen Pin gemessen.
Zeile 170: Zeile 170:
  
 Trotzdem gibt es natürlich auch negative Aspekte. Abgesehen von den im nächsten Punkt genannten Verbesserungsmöglichkeiten,​ hat unser Projekt im Gegensatz zu anderen den Nachteil, dass der Arduino immer eine Verbindung zum Computer braucht, damit der Zeppelin funktionieren kann. Auch die Füllung des Ballons ist ein Problem, da das Helium langsam entweicht und es eine komplette Füllung braucht, damit der Zeppelin fliegen kann. Diese Punkte waren jedoch von vornherein klar und wurden von uns in Kauf genommen, damit wir den ersten fliegenden Roboter des Projektlabors bauen konnten: Trotzdem gibt es natürlich auch negative Aspekte. Abgesehen von den im nächsten Punkt genannten Verbesserungsmöglichkeiten,​ hat unser Projekt im Gegensatz zu anderen den Nachteil, dass der Arduino immer eine Verbindung zum Computer braucht, damit der Zeppelin funktionieren kann. Auch die Füllung des Ballons ist ein Problem, da das Helium langsam entweicht und es eine komplette Füllung braucht, damit der Zeppelin fliegen kann. Diese Punkte waren jedoch von vornherein klar und wurden von uns in Kauf genommen, damit wir den ersten fliegenden Roboter des Projektlabors bauen konnten:
- 
-<​imgcaption image4|>​{{ :​projektewise21:​fliegenderroboter:​zeppelin_fliegend.jpg?​direct&​650 |Unser fertiger Zeppelin}}</​imgcaption>​ 
  
 {{testflug.mp4|Ein Testflug}} {{testflug.mp4|Ein Testflug}}
Zeile 195: Zeile 193:
  
 Auch könnte man das gesamte Programm nutzerfreundlicher gestalten, eine App fürs Smartphone schreiben, und das Erkennen von Sprachbefehlen ermöglichen. Auch könnte man das gesamte Programm nutzerfreundlicher gestalten, eine App fürs Smartphone schreiben, und das Erkennen von Sprachbefehlen ermöglichen.
-====Code====+====Dateien==== 
 + 
 +Unser kompletter, lauffähiger Programmcode befindet sich hier: 
 + 
 +{{:​projektewise21:​fliegenderroboter:​zeppelin-code.zip|Source-Code}} 
 + 
 +Ebenfalls stellen wir das 3D-Model zur Verfügung, welches wir für das Drucken der Teile erstellt haben: 
 + 
 +{{:​projektewise21:​fliegenderroboter:​zeppelin_fusion_360_dateien.zip|Fusion 360 Dateien}} 
 + 
 +<note important>​ 
 +**Bewertung der Projektarbeit** 
 + 
 +Bauteile:​\\ 
 +- ESC \\ 
 +- Servos\\ 
 +- Bluetooth-Modul\\ 
 +- Ultraschallsensoren\\ 
 +- Phototransistoren (½ Punkte)\\ 
 +- Kommunikation zwischen Arduino und PC\\ 
 +Insgesamt 5,5 Bauteile => 16,5 Punkte  
 + 
 +Komplexe Elemente: \\ 
 +- Berechnung des Gewichtes und Schwierigkeiten im Zusammenhang mit dem Fliegen\\ 
 +- 3D-Modellierung und Druck\\ 
 +- Klassen und Grafiken in Processing\\ 
 +Insgesamt 3 Elemente => 12 Punkte 
 + 
 +Code: \\ 
 +- Variablen-, Funktions-, Klassennamen:​ 2 Punkte\\ 
 +- Aufteilung in Funktionen usw.: 2 \\ 
 +- Redundanz: kein Abzug\\ 
 +- Kommentare: 2 Punkte\\ 
 +- Variablen möglichst lokal: 2 Punkte\\ 
 +8 Punkte 
 + 
 +Arbeit im Team:\\ 
 +- Verteilung 2\\ 
 +- Kommunikation 2\\ 
 +4 Punkte 
 + 
 +Weitere Aspekte:​\\ 
 +- Stabilität:​ 2 Punkte\\ 
 +- Verkabelung:​ 2 Punkte\\ 
 +4 Punkte 
 + 
 +Insgesamt 40 Punkte von 40 (mehr als 40 geht nicht). Tolle Arbeit!! 
 + 
 +**Bewertung der Projektdokumentation**
  
-Unser kompletterlauffähiger Programmcode befindet sich [[code|hier]]Dort findet ​sich auch eine .zip Datei und die Datei mit dem 3D-Modell unseres Zeppelins in Fusion 360 zum Download.+Sehr gute detaillierte Dokumentationwo ihr – trotz des großen Umfangs des Projektes – Umsetzungsdetails und eure Entscheidungen klar dokumentiert habtDie Sprache liest sich sehr gut, und die Abbildungen helfen sehr, das Geschriebene besser zu verstehen. Meine Änderungswünsche habt ihr umgesetzt. Super! 20 Punkte von 20 
 +</​note>​
projektewise21/fliegenderroboter/doku.1648059938.txt.gz · Zuletzt geändert: 2022/03/23 19:25 von JelenaM