Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

11

09.06.2015, 22:31


Primitiv aber funktioniert.

Bei einer höheren Updaterate durch die Drone (hier von vorher 5 auf 200) schafft sie es die Flughöhe fast perfekt zu halten, ~1cm Abweichung.

12

09.06.2015, 22:41

Bei einer höheren Updaterate durch die Drone (hier von vorher 5 auf 200) schafft sie es die Flughöhe fast perfekt zu halten, ~1cm Abweichung.

Das hört sich gut an, wofür brauchst du das überhaupt? Wird das eine Reale Anwendung oder nur Spielerei?
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

13

09.06.2015, 23:06

Ist eine Uni Aufgabe, also Spielerei :D

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

14

10.06.2015, 15:35

Ha ich habe gerade erfahren, dass die Drohne im Zimmer fliegen soll :P 20m Flughöhe sind da doch etwas viel... aber ich denke das lass ich jetzt so, alles nur Theorie.

Sie kann jetzt starten, fliegen und landen. Als nächstes soll sie noch ausweichen können.
Dabei habe ich mir überlegt sie könnte Objekte umfliegen oder überfliegen/unterfliegen wenn möglich. Hat jemand eine Idee wie ich das lösen kann? Wenn ich die Flughöhe ändere kann sie diese einnehmen und weiterfliegen. Aber zum umfliegen muss ich ja konkret in eine Richtung lenken... ich suche dazu einen möglichst einfachen Ansatz.
Wie schon erwähnt sind dabei alle Objekte Zelinder, in welcher Richtung sie also vorbeifliegt ist nicht so relevant.

15

10.06.2015, 16:20

Ähm bist du sicher, dass du die DGL zur Simulation richtig berechnest? Ich hab deinen Code nur kurz überflogen - fand ihn in der Hinsicht etwas konfus.
§\ddot{x} = \frac{F_G-F_A-F_W}{m}§
F_G - Gravitation
F_A - Antrieb
F_W - Wind

16

10.06.2015, 18:22

ich suche dazu einen möglichst einfachen Ansatz.

Vor dem Objekt nach rechts oder links fliegen um eine Strecke X, dann wieder gerade aus um eine Strecke X2, dann wieder nach links oder rechts fliegen wieder um die Strecke X und den alten kurs weiterfliegen.

Die Frage ist nur sind die Abmasse der Gegenstände bekannt und immer gleich groß.?

Kommen die daten von einem Sensor? Dann ließen sich noch paar andere Sachen machen.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

17

10.06.2015, 18:40

@kylecorver: hmm weiß ich nicht genau. Was ist denn m und was ist x? Masse und? An sich würde ich schon sagen, dass das stimmt.
Und wie gesagt, alles Pseudophysik :)

Die Daten werden "magisch" an das Gerät übertragen, also alle Umgebungsobjekte sind bekannt.
Ich denke ein Hindernis könnte so aussehen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Obstacle{
    private Point position;
    private float height, radius;
    
    public Obstacle(Point position, float height, float radius){
        this.position = position;
        this.height = height;
        this.radius = radius;
    }
    
    public Point getPosition(){
        return position;
    }
    
    public float getHeight(){
        return height;
    }
    
    public float getRadius(){
        return radius;
    }
}

Die Höhe ist die Höhe des Objekts, durch die Position kann ein Objekt also frei im Raum schweben.

Was ich mir gerade überlegt habe: wenn ein Objekt unter-/überfliegbar ist wird dies auch gemacht. Also die Höhe geändert. Dabei darf die Drohne eine gewissen Mindestflughöhe nicht unterschreiten. Überfliegbar ist das Objekt wenn sie die Steigung schaffen kann. Zur Not kann ich die Drohne jetzt immer per stop Methode anhalten.

Vorbeifliegen sollte eigentlich einfach sein, wenn man den Vektor zwischen Drohne und Objekt ausrechnet und auf die Steuerung addiert. Netter Nebeneffekt sollte sein, dass sie die kürzere Route nimmt.

Beides muss ich mal ausprobieren. Hier mal wies aktuell aussieht (ja sie stürzt beim Landen aktuell eher ab, als das sie wirklich landet):


18

10.06.2015, 19:23

Richtig - m ist die Masse, x ist der Ort. Der würde in deinem Fall ja aus den drei Raumkoordinaten bestehen.
Die Kraft F_A, die des Antriebs, ist die, die von deiner Regelung abhängt. Der Rest wird durch die Diffgl. beschrieben und ist ja von der Regelung unabhängig.

Weiß ja nicht, was die Anforderungen sind ... solangs nur schön aussehen soll und es nich so wichtig is, obs korrekt is, dann passts ja ^^

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

19

10.06.2015, 20:27

Naja meine Drohne hat keine Masse :P
Aber wäre noch ne gute Idee.

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

20

11.06.2015, 16:02

Ausweichen Experiment 1:


Werbeanzeige