Forum: Mikrocontroller und Digitale Elektronik QuadRoCopter


von Pascal Lenzner (Gast)


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/eit/projekte/quadrocopter/default.htm

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

von Unbekannter (Gast)


Lesenswert?

Ich empfehle ausswe Java noch XML auf Microcontrollern...

von Rahul (Gast)


Lesenswert?

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

von Sebastian B. (lufti)


Lesenswert?

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

von Olaf (Gast)


Lesenswert?

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

Olaf

von Rahul (Gast)


Lesenswert?

InternetSeite lassen sich auch gut verkaufen...

von Pascal Lenzner (Gast)


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.

von hebel23 (Gast)


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

von Pascal Lenzner (Gast)


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.

von ,,,, (Gast)


Lesenswert?

> Java ist durchaus eine sehr mächtige und ernstzunehmende Sprache

Ne du, nicht wirklich!

von AxelR. (Gast)


Lesenswert?

http://www.emt-penzberg.de/index.php?id=10

was die Leute alles "nebeneinander" entwickeln...

von Rolf Magnus (Gast)


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.

von Pascal Lenzner (Gast)


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.ä.

von D. H. (slyd)


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++...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.