
The Penn State Applied Research Laboratory possesses a custom designed robot that is used for research purposes. The goal of our senior design project was to create an interface that could enable control of this robot using a Nintendo Wii Remote.
The Nintendo Wii Remote control scheme represents an uncommon paradigm of motion translation between human and machine. It uses a three axis accelerometer to capture the movement of the operator in a way that traditional joysticks cannot. The ability to control this research robot using the Nintendo Wii Remote should ultimately enable an improved interface between human and machine.
The Nintendo Wii Remote uses Bluetooth to transmit its data between itself and the Nintendo Wii video game console. Using a Linux-based Bluetooth stack on the laptop allows the laptop to make a connection with the Wii Remote. Once this connection has been established, the Wii Remote then sends the laptop its positional and rotational data. This data is captured, converted to commands that the robot understands (using the JAUS protocol), and periodically broadcast using UDP based communication over IEEE 802.11.
In order for the Wii Remote to control the robot, an interfacing device needed to be developed such that it was capable of the following:
Our original solution called for a custom integrated circuit board using a serial-interface Bluetooth chip and a microcontroller. It would interface directly with the RS-485 bus on the robot. Eventually, it became clear that implementing a hardware-based solution would be too complex and difficult for a one-semester project.
The interfacing of the Wii Remote to the robot was accomplished via a laptop. Using pre-existing open-source libraries, this software-based solution turned out to be the most feasible. Using a laptop and doing all development under Linux provided for the following features:
The Nintendo Wii Remote uses Bluetooth to transmit its data between itself and the Nintendo Wii video game console. Using a Linux-based Bluetooth stack on the laptop allows the laptop to make a connection with the Wii Remote. Once this connection has been established, the Wii Remote then sends the laptop its positional and rotational data. This data is captured, converted to commands that the robot understands (using the JAUS protocol), and periodically broadcast using UDP based communication over IEEE 802.11.
| The following block diagram details our solution: | The following diagram illustrates the software flow: | |
|---|---|---|
![]() |
![]() |
To control the robot, the Wii Remote is held horizontally with two hands; the power button on the left side. In order for any motion to occur, button “2” must be held down. The following depict how the controller’s orientation corresponds to robotic motion:
| Tilt forward and backward to change robot’s speed | Tilt side to side (similar to steering wheel) to turn the robot | |
|---|---|---|
![]() |
![]() |
Our control system implementation has allowed for a complete interface between the Wii Remote and the ARL Robot. Our decision to use a laptop-based scheme allows for potentially beneficial future development that would not be otherwise possible, including video and sensor transmission to the laptop from the robot. Our result, therefore, allows future development possibilities that will carry both our innovative control scheme and the potential for various types of data collection useful in real-world robot deployment.