www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik QuadRoCopter


Autor: Pascal Lenzner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wollte euch nur mal eben kurz auf folgendes Projekt aufmerksam machen
in der Hoffnung, das es auf Interesse stößt:

http://www.fh-rosenheim.de/live/fachbereiche/kpe/e...

Kurzfassung: In diesem Projekt wird ein über BlueTooth steuerbarer
Helicopter mit 4 Rotoren realisiert. Das "Herzstück" ist dabei ein
Echtzeit-Java-Microcontroller (aJ-80 von aJile bzw. das
Entwicklungssystem JStamp+ von Systronix). Ich war ebenfalls in dieses
Projekt involviert, da ich meine Diplomarbeit über diesen
Microcontroller geschrieben habe.

Die Entwicklung der Software mit Java war äußerst angenehm (wg. der
bekannten Java-Vorteile). Als einer der wenigen (der einzige?) Java-µC
ist der aJ-80/100 echtzeitfähig (trotz GC) und es existiert kein
eigener Interpreter-Layer (µC versteht "echten" Java Bytecode, sonst
nichts), daher einigermaßen flott.

Das Projekt wird sicherlich weitergeführt werden (Sponsoren willkommen
;)), obiger Link zeigt ja einige Varianten (halb-/vollautonomer Flug,
GPS, Radar, ...).


Ciao...

Pascal

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich empfehle ausswe Java noch XML auf Microcontrollern...

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Copter dann auch noch ne WebCam bekommt,, würde ich PHP oder so
noch vorschlagen...

Autor: Sebastian B. (lufti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn der Copter nen Piloten brauch, stelle ich mich gerne dafür
bereit. :)

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
War Java nicht die Sprache fuer Anfaenger ohne Zeiger? Was soll man
damit wenn man Dinge entwickeln will die man verkaufen moechte?

Olaf

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
InternetSeite lassen sich auch gut verkaufen...

Autor: Pascal Lenzner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BTW: Ich bin übrigens nicht mehr an der FH, sondern bereits seit einiger
Zeit berufstätig. Im Grunde könnte mir das Projekt also völlig wurscht
sein ;).

@Sebastian:
OK, gerne, werde es weiterleiten. Musst nur noch irgendwie geringfügig
geschrumpft werden und den Kopf immer schön geduckt halten, sonst ist
die Rübe ab ;).

@Olaf:
Java ist durchaus eine sehr mächtige und ernstzunehmende Sprache, ich
würde sie nicht eine Anfängersprache nennen. Es gibt in der Tat keine
Pointer (nur Referenzen) und das hat diverse Vorteile, da hier (bei
C/C++/ASM) sehr viele Fehler und Sicherheitslücken entstehen können
(z.B. Pointerarithmetik, Pufferüberläufe, ...). Wenn es unbedingt sein
muss, hat man auf dem aJ-80 aber natürlich trotzdem die Möglichkeit,
mit Speicheradressen zu arbeiten. Hierfür wurde eine eigene Klasse
implementiert mit zugehörigem erweiterten 16-Bit-Bytecode.

Der erwähnte Microcontroller wurde ursprünglich in der Luftfahrttechnik
entwickelt. Dort muss Software sicherheitskritischen Anforderungen
genügen (es geht schließlich um viele Menschenleben), und dafür ist C
ziemlich ungeeignet (daher ist Ada in diesem Bereich sehr oft
anzutreffen) und nur mit aufwändigen Verrenkungen zu gebrauchen. Daher
die Idee, Java zu verwenden (mit einem in der Sprache verankertem
Sicherheitskonzept). Nötig war halt ein Hinzufügen der Möglichkeit
hardwarenaher Programmierung und Echtzeitfähigkeit, dies bietet das
Standard-Java ja bekanntermaßen nicht.

Weitere Java-Vorteile neben dessen Sicherheitskonzept sind dessen
Portabilität, Einfachheit, Objektorientierung. Sicher nicht für alle
µC-Anwendungen geeignet, aber das muss es ja auch nicht :). Außerdem
spart man sich ein Multithreading-Betriebssystem, auch dies ist bereits
in Java "enthalten".

Obiges Projekt zeigt, dass das alles durchaus zusammenpasst und
funktioniert. Bloß der Preis ist das Problem.

Autor: hebel23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interessantes Projekt!

Mich würde mal interessieren, welche praktischen Erfahrungen Ihr mit
der Zuverlässigkeit der Bluetoothübertragung gemacht habt. Wir
entwickeln auch gerade eine Hardware, bei der Sensordaten per BT
übertragen werden. Dabei kommt es sehr darauf an, dass der Datenstrom
möglichst konstant ist und keine Aussetzer hat. Das dürfte bei Euch ja
auch wichtig sein ;o).

Wie sieht es z.B. aus, wenn jemand in der Nähe auch BT benutzt (z.B.
Handy) und damit einige "Zellen" besetzt? Etwa bei Messen ist das ja
ein bekanntes Problem.

Viele Grüße
Andreas

Autor: Pascal Lenzner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas:
BT ansich hat bei uns eigentlich keinerlei Schwierigkeiten gemacht. Da
es bei dem Helicopter auch wichtig ist, einen konstanten Datenstrom zu
haben (schließlich besitzt der Heli derzeit keinerlei Regelung und ist
auf die Daten der Übertragung angewiesen), benötigten wir durchaus eine
verlässliche Verbindung. Gezielte Störversuche haben wir aber nicht
unternommen, aber es waren andere BT-Geräte in Reichweite. Einzelne
Übertragungsfehler fanden statt (insbesondere in größerer Entfernung),
in diesen Fällen wurde die Datenübertragung wiederholt.

Autor: ,,,, (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Java ist durchaus eine sehr mächtige und ernstzunehmende Sprache

Ne du, nicht wirklich!

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.emt-penzberg.de/index.php?id=10

was die Leute alles "nebeneinander" entwickeln...

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ja nun auch wirklich nichts neues.
Gibt's alles schon ein Weilchen als Flugmodell zu kaufen. Für eine
Version mit drei Rotoren gurgle man mal nach "Tribelle", für eine mit
derer vieren nach "Intellicopter". Sind dann aber nicht ganz billig.
Für weniger Geld gibt's dann auch das "X-Ufo", was aber wohl schon
mehr in Richtung Spielzeug geht.

PS: Das heißt natürlich nicht, daß ein Selbstbau nicht interessant
wäre.

Autor: Pascal Lenzner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Bluetooth und Java ist es neu. Und ein Selbstbau macht tatsächlich
viel Spaß ;-). Sonst würde hier ja keiner z.B. das x-te
AVR-Ethernet-Projekt basteln o.ä.

Autor: D. H. (slyd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@,,,,
> > Java ist durchaus eine sehr mächtige und ernstzunehmende Sprache

> Ne du, nicht wirklich!


Dann begründe das mal.

Für Mikrocontroller: Da hat es Nachteile verglichen mit C wenn es eine
SOFTWARE VM ist. In Hardware gegossen sieht die Sache aber schon anders
aus...
Auf allen größeren Rechnern hat Java aber kaum Nachteile gegenüber C -
dafür aber einige Vorteile. Der einzige wirkliche Nachteil ist, das man
mit Java nicht auf die HW zugreifen kann. (Geht aber auch indirekt über
das JNI)

Hast Du selbst schonmal ernsthafte Projekte mit Java realisiert um
diese Plattform beurteilen zu können? Wahrscheinlich nicht.

Über die Sprache brauchen wir hier nicht zu diskutieren - da ist Java
eine recht schöne OO Sprache. Nicht die schönste, aber viel besser als
C++...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.