ChilliBot

Aus LaborWiki
Wechseln zu: Navigation, Suche
   
ChilliBot

Release status: obsolete [box doku]

ChilliBot.gif
Description {{{description}}}
Author(s)  tixiv



ChilliBot[Bearbeiten | Quelltext bearbeiten]

Ein elektrischer Rollstuhl, ausgestattet mit einem kleinen PC, einem GPS-System, einer Webcam und Sensoren soll über das Internet gesteuert werden können. Auf Events können dann Interessierte diesen Bot durch die Gegend navigieren und mit den Personen in Kontakt treten, ohne physikalisch anwesend zu sein.


Ideen[Bearbeiten | Quelltext bearbeiten]

  • Rollstuhl hat RS232-Anschluss
  • GPS Korridor (NMEA-Protokoll, 9600 Baud, RS232)
  • 220V Versorgung (am besten aus 24V)
  • Schachtel-PC (220V Input)
    • Soundkarte ist drin für Krawall, Aktivboxen dabei packen
    • USB-Webcam dran
    • Flachbildschirm (warsch. auch 220V)
  • Ultraschall-Sensoren (RS232 oder I2C)
  • Extras: Gesicht auf Bildschirm, Scheinwerfer/Hupe/etc. steuern

Umsetzungsreihenfolge[Bearbeiten | Quelltext bearbeiten]

  • GPS Korridor anlegen
  • Schachtelpc klarmachen
  • Ansteuerung überlegen (fahren nach Karte oder Handsteuerung)
  • Sensoren anschliessen
  • Welche Videoübertragungssoftware


Korridor[Bearbeiten | Quelltext bearbeiten]

  • Problem: Wie erkennen, ob Punkt in einem Polygon?
  • Einfachere und flexiblere Alternative: Koordinaten in eine Bitmap umsetzen, Helligkeit/Farbe in Bitmap bestimmt dann auch die max. Geschwindigkeit des Bots. Bitmap kann mit jedem x-beliebigen Program gemalt werden.

Software[Bearbeiten | Quelltext bearbeiten]

Ziele[Bearbeiten | Quelltext bearbeiten]

  • Benutzer soll den Bot steuern können (Client)
    • Java/Rubyquelle/Flash oder anderes Teil um Tastatureingaben in TCP-Steuerdaten umwandeln zu können
  • Sicherheitssystem (Server)
    • Bot-Geschwindigkeit nach Korridor einstellen
      • GPS-Daten entgegen nehmen (serielle Library)
      • GPS-Daten in Bitmap-Koordinaten konvertieren
      • max. Geschwindigkeit über Bitmap-Koordinaten extrahieren
      • Bitmap lesen, neue Bitmap für Webserver erstellen (zeigt aktuelle Position im Gebiet nach alternativer Karte)
    • Sensoren auswerten (RS232-Kram sammeln, verknüpfen)
      • max. Geschwindigkeit reduzieren/auf 0 setzen, wenn Sensor angesprochen hat
    • Wenn ausserhalb des Gebietes bekommt der Nutzer X Fahrsekunden Zeit, wieder das Gebiet zu erreichen. Ansonsten Admin-Zugriff erforderlich
    • Zugangssteuerungssystem

Clientsoftware[Bearbeiten | Quelltext bearbeiten]

Welche Sprache? Benötigt wird am besten:

  • Einfache GUI
  • Möglichkeit KeyDown und KeyUp Ereignisse zu unterscheiden
  • Client-Socket, am besten uneingeschränkt
  • Soll möglichst Plattformunabhängig und einfach zu nutzen sein

Kandiaten:

  • Per Web: ActionScript 3 + Java(script), doof weil ActionScript reine Löhnware ist
  • reines Java (erfordert dann aber zumindest ein minimales Startskript, damit es einfach zu nutzen ist)
  • Alles andere: Eher blöd, weil schwerer zu kompilieren etc.


Fremdsoftware[Bearbeiten | Quelltext bearbeiten]

  • CAM-Server (Netmeeting (Win), Skype, Alternativen?, schnelle Webserver )
  • Voice-Server (Teamspeak?)
  • evtl. XMMS-Plugin für Gesichtsdarstellung
  • Palantir, bietet steuerdatenkanal, video und bidirektionales audio mit windows und java ambeddet client.

Maße der Teile[Bearbeiten | Quelltext bearbeiten]

Batteriebox[Bearbeiten | Quelltext bearbeiten]

Höhe: 27cm, Breite: 29cm, Länge: 37cm

Thin-Client[Bearbeiten | Quelltext bearbeiten]

Höhe: 5cm, Breite: 29cm, Tiefe: 22,5cm + Buchsen

Status[Bearbeiten | Quelltext bearbeiten]

  • 24V/230V Spannungswandler
    • Ich (tixiv) habe einen defekten mit 500W auf ebay ersteigert, ist aber nochnicht da. (Mitlerqweile repariert, wiederstand def. :))
  • Compi
    • Die Embedded-Box zeigte sich arg lahm für JPG-Videos (~ 3 fps), was besseres wäre sinnvoll
    • Ich (tut) habe als Leihgabe ein Embedded-3,5'-Mobo mit Via Mark 800Mhz Prozessor, mal sehn ob das besser ist
  • Sensoren
    • Die Ultraschallsensoren nicht vergessen
  • Bildschirm
    • nicht wichtig... wozu verwenden?!
    • Evtl. LED-Gesicht bauen, vielleicht auf einfacher 10x7 Matrix
  • Sound
    • Aktivboxen werden benötigt, hauptsache billig
    • Mikrofon, in jedem Fall eine Kapsel einstecken für alle Fälle (tut)
  • WLAN
    • Mein (tut) Board hat nur USB als Slots, woher bekommen wir WLAN für den Bot?
    • Ich (tut) habe Arcor-WLAN-Router, aber kein Plan, ob damit auch WLAN als Client statt AP-Modus möglich ist
  • USB/Serielles Geraffel
    • Tut bringt ein FT232-basierenden USB-Seriell-Wandler mit
  • CAM
    • tixi hat eine (teilweise matschiges Bild)
    • tut hat eine (heftiger Farbstich)
    • bessere cam mit problemen bei extremer helligkeit vorhanden