Schlagwort-Archive: Programmierung

Spannungsversorgung

Unsere bisherige Spannungsversorgung für 12V, 6V und 5V beruht auf integrierten Schaltreglermodulen, die mit KFZ-Sicherungen abgesichert sind. Dieses System verbraucht relativ viel Platz, ist relativ unflexibel was verschiedene Spannungen angeht und in seiner Leistung durch die verwendeten Schaltreglermodule begrenzt.

Es gilt zu untersuchen, ob eine digitale Spannungs-Regelung und Überwachung auf Basis eines STM32(G4) diese Nachteile beseitigen kann.

Hier ein Video ST, das zu unserem Anwendungsfall passt:
https://www.youtube.com/watch?v=7FfBoeuk_Gc

Odocal-Automation

Umsetzen eines Tools zur automatischen Odometriekalibrierung.

Zusammenfassung

Unsere Roboter orientieren sich auf dem Spielfeld unter anderem mit Hilfe einer Odometrie. Diese besteht aus zwei mitlaufenden Rädern, die die zurückgelegte Distanz messen und so eine Positionsbestimmung ermöglichen. Damit die Berechnung der Pose möglichst genau ist, müssen die exakten geometrischen Parameter des Messsystems kalibriert werden [1]. Bisher wurde dieser Prozess manuell druchgeführt.
Inzwischen sind wir in bestitz einer Cognex -Kamera [2], die über weitreichende Funktionen zur Objekterkennung und Positionsbestimmung verfügt. Ziel ist es mit dieser Kamera ein automatisches Messsystem aufzubauen und den Kalibrierungsprozess so weit wie möglich zu automatisieren.

Aufgaben

  • Aneignen von Grundwissen zur Funktionsweise der Odometrie
  • Einarbeiten in vorhandenen Code und Systeme zur Odometriekalibrierung
  • Konzipieren und Umsetzen einer automatisierten Lösung
  • Test und Validierung des Systems

Tools

  • C++ (Code verstehen, neu geschriebene Module können auch anders umgesetzt werden)
  • Robot Operating System (ROS)
  • Cognex In-Sight

Links

[1] http://www.cs.cmu.edu/~motionplanning/papers/sbp_papers/kalman/chong_accurate_odometry_error.pdf
[2] https://www.cognex.com/products/machine-vision/2d-machine-vision-systems/in-sight-7000-series/specifications

Remote-UI

Aufbau eines Geräts zur drahtlosen Konfiguration des Roboters.

Zusammenfassung

Vor den Wettbewerbsspielen und beim Testen müssen an den Robotern verschiedenste Einstellungen vorgenommen werden. Dafür verfügen unsere Bots über ein Userinterface (UI) mit Display und Bedienelementen. Um im Roboter Platz zu sparen und die Bedienung zu vereinfachen, soll dieses integrierte Interface auf die nötigsten Grundfunktionen reduziert werden und stattdessen ein externes Gerät zum Bedienen des Roboters zum Einsatz kommen. Die Kommunikation [1] mit den Robotern soll drahtlos erfolgen. Zur Sicherheit wäre die zusätzliche Option eines kabelgebundenen Betriebs wünschenswert. Das externe Gerät kann selbst aufgebaut oder die UI-Funktion als Anwendung auf einem fertigen Gerät (z.B. Tablet) umgesetzt werden..

Aufgaben

  • Entwickeln eines geeigneten Grundkonzepts
  • Beschaffen oder Aufbau des Remote-Gerätes
  • Userinterface inklusive Schnittstellen programmieren

Links

[1] http://wiki.ros.org/ROS/Patterns/Communication

ArUco Erkennung

Es soll ein System zum Lokalisieren von ArUco Markern aufgebaut werden.

Zusammenfassung

In den neusten Eurobotregeln wurde ein neues System zur Objekterkennung eingeführt: ArUco Marker [1]. Diese sollen auch in Zukunft vermehrt auf dem Spielfeld und an Handlingelementen zum Ensatz kommen. Daher soll ein wiederverwendbares System zum Erkennen und zur Positionserfassung dieser Marker implementiert werden. Im Roboter kann dazu einen Webcam an den Hauptrechner angeschlossen werden, deren Bilder in einem ROS-Node [2] ausgewertet werden sollen.
Es ist nach Regelwerk außerdem zulässig ein zusätzliches Erkennungssystem über dem Spielfeld zu montieren. Dafür müsste ein Haltesystem konstruiert und geeignete Hardware zur Bildverarbeitung und Kommunikation (z.B. RapsberryPi) ausgewählt werden.

Aufgaben

  • Einarbeitung in ArUco und geeignete Bibliotheken
  • Implementierung eines Systems mit Kamera im Roboter
  • zusätzlich: Aufbau eines zentralen Erkkenungssystems

Tools

  • Programmiersprache nach Wahl
  • Robot Operating System (ROS)
  • SolidWorks CAD

Links

[1] https://docs.opencv.org/trunk/d5/dae/tutorial_aruco_detection.html
[2] http://wiki.ros.org/aruco