15-494 Mini Projects 1
Gamepad Interface for ControllerGUI
This project will add ControllerGUI support for the XBox 360 gamepad.
The ControllerGUI will read gamepad events and send a stream of data
to Tekkotsu on a dedicated port. Resources:
- JInput package for
Java.
- Building
a Game Pad Controller with JInput (tutorial)
- See HeadPointGUI.java and HeadPointListener.java in
/usr/local/Tekkotsu/tools/mon/org/tekkotsu/mon to understand how the
head controller works. It reads mouse clicks and sends tilt, pan, and
roll inputs to the robot. Your code will do something similar. Note:
it's possible to run the head controller directly, but normally, you
use the ControllerGUI to launch it for you by clicking on the "H"
button in the ControllerGUI window.
- See the documentation in HeadController.h in
/usr/local/Tekkotsu/Behaviors/Mon for an explanation of the message
format used on the head controller port.
Game Pad Event Generator for the Robot
This project will implement a Tekkotsu background service to listen on
a dedicated port for game pad inputs sent by the ControllerGUI. Upon
receiving something, it will generate a Tekkotsu event (an instance of
EventBase) with event generator ID of gamepadEGID (a new generator ID)
and the necessary game pad details. Resources:
- See HeadController.h and HeadController.cc in
/usr/local/Tekkotsu/Behaviors/Mon for the code that reads input from the head
controller port.
- See the documentation for the EventBase class or look at
EventBase.h in /usr/local/Tekkotsu/Events to understand how to create
a new event generator. The event's source ID will indicate which
button was pressed on the game pad.
Visually Recognizing a Robot
This project will look at ways to visually detect a robot, either on a
level field (one robot looking at another), or using a perched camera.
Possibilities include putting AprilTags on the robot, using brightly colored
costumes that can be detected as large blobs, or using flashing lights. Each
has its advantages. The goal is to see what works and what doesn't work under
various conditions.
|