CURRENT ISSUE Contests
Feature Article
|
|
Issue #212 March 2008
Robotics with Ada95
by Daniel Ramirez
Start | Why Use Ada95 For Robotics? | GNAT Ada95 Tools | Debugging Ada95 Applications | Ada95 Coding Style |Wireless Sensor Controller | Wireless Messages | The Glove In Action | XYZ Accelerometers | XBee-PRO Wireless UART | Controller Range | USB 2.0 Interface | Ethernet | The Kernel | Ada95 vs. Other Languages | Future Applications | Sources & PDF
WIRELESS SENSOR CONTROLLER
|
| Figure 1—This diagram of the wireless sensor controller shows the main components and interfaces used for the Vex Power Glove. |
I used my wireless sensor controller board as a testbed for demonstrating some of Ada95’s features, including range checking, tasking, and exception handling using a laptop. As you can see in Figure 1, the controller features a Digi International MaxStream XBee-PRO wireless UART. The UART transmits the telemetry to a laptop running an Ada95 data collection application for my Vex Robotics Power Glove design, which is shown in Photos 2 and 3.
|
| Photo 2—This shows the complete Vex Power Glove system, including the Microchip Technology dsPIC30F6014-based wireless sensor controller and the glove with three flexible resistors and Freescale X, Y, and Z accelerometers (virtual SARD). |
The heart of the Vex Power Glove is a 16-bit Microchip Technology dsPIC30F6014 sensor controller (see Photo 2). The controller provides sensor data to any laptop using the XBee-PRO wireless UART. It can be used to read sensors (voltage, temperature, pressure, and humidity), potentiometers, flexible resistors, and XYZ accelerometers using a sensor task. It also displays them in real time on the laptop’s display using a display task. Errors are handled with Ada95 exception handlers. The Ada95 application runs under Windows XP.
|
| Photo 3—My Vex Power Glove uses a wireless sensor controller connected to a ZigBee XBee-PRO wireless UART that is used to transmit the telemetry to a laptop running an Ada95 data collection application. |
I use the Vex Power Glove as a wireless motion input device to teleoperate some of my Vex-based robots, such as the Gilbert III Explorer Robot shown in Photo 4. I took the photo just after a snowstorm last year. The glove transmits finger position and orientation information so it can be processed remotely on a laptop using an Ada95 control application. The application generates motion commands and sends them to the Gilbert III Explorer Robot.
|
| Photo 4—This is my Vex-based Gilbert III robot. I am upgrading the design so I can use the Vex Power Glove as the motion input device. Doing so will enable me to collect data remotely by running an Ada95 data collection application on my laptop. |
Although I designed the glove for carrying out my own tele-presence and tele-robotics experiments, it can also be used for a total virtual reality experience, such as a control for a PC or laptop-based game that supports standard IBMPC Vex power gloves. It is based on the original Mattel Power Glove, a controller accessory for the Nintendo Entertainment System that was sold during the early 1990s.



