CURRENT ISSUE Contests

bottom corner

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

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.

Figure 1

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.

Figure 1

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.

Figure 1

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.

Previous | Next

 


bottom corner