
A new commercial product supporting NXT drive-by-wire was brought to our attention by Lou Morris from roboDNA.com. The software package “roboDNA Dashboard Designer 2007 Beta” (final version will cost $89 for non-commercial use) allows users to easily and interactively build impressive dashboards (i.e. user interfaces) to control and monitor NXT robots (as well as other robotic platforms).
To support as many robotic platforms as possible, the software is built in a layered fashion:
1. Dashboard and user interface: Gauges, Sliders, Buttons, Indicators etc.
2. Communication protocol: LEGO, modbus, roboDNA Double Helix, custom
3. Communication hardware: Serial, Bluetooth, USB, Ethernet
4. Robotic platform definitions: Input registers, Output registers, Command types
To get going with the NXT, a default database was created using the app’s DB Builder, which represents all of the input and output registers supported by the NXT’s default firmware. Examples of ‘Input Registers’ are:
- Motor 1 Target Speed Input Register
- Loudspeaker Tone Frequency
- Loudspeaker Tone Duration
Examples of ‘Output Registers’ are:
- Motor 1 Encoder Count
- Battery Level
- Bumper On/Off
Once all of the registers were entered in the Database, the command types were added. These commands communicate with the NXT, sending or receiving commands and/or register values. At this point, it becomes easy to drag and drop registers onto various Dashboard Controls such as gauges, sliders, buttons and indicators. The dashboard controls are directly linked to the register values. So if you change the value of a register, the gauges update and vise versa - if you click on a dashboard button, the register updates. For example, add a button and drag the Port0 Register onto it. Then when this button is clicked, a lamp connected to port 0 on the NXT goes on and off. Similarly moving a slider connected to the tone frequency register changes the frequency being generated on the NXT.
Some of the other features of “roboDNA Dashboard Designer 2007 Beta” are:
- Because the Dashboard, Controls and Registers can be inter-linked, there are many possibilities for the dashboard’s design. For example, there can be more than one button linked to the same register. Or you can link a knob, and a slider to the same register.
- Multiple dashboards can be open at once, so they can be specific for different robot operation tasks.
- Gauge fonts, sizes, colors, needle sized, range types, min/max values and warning/alarm setpoints are some examples of customizable properties.
- Dashboard Designer is speech enabled, so the Dashboard controls can have speech notifications. For example speech notifications are played when the battery levels hit the warning setpoint, and then again at the alarm setpoint.
- There is an interesting ‘Tivo’ feature: Basically, you hit ‘record’, and operate the robot, as all of the ‘moves’ and sensor/telemetry values are being recorded. Each recorded session can be played back in simulation mode, which moves the gauges accordingly, or in Piloted mode which actually drives the robot as it is playing back. The playback in piloted mode is not precise to the millimeter, as the wheel moves are sometimes milliseconds apart, so perfect squares/paths cannot easily be played back.
- There is an additional logging feature, for logging raw packet data, as well as request/response commands/registers sent for a session. There is a screen which shows the raw request and response packet payloads, as they are being sent.
- A neat ‘unexpected’ feature is the ability to request telemetry data as the NXT is running a user program or in autonomous mode. It can respond to requests as it is running it’s code without interrupting it, so you can setup one dashboard to simultaneously show the battery levels of 20 NXTs as they are running, or show the motor encoder values and chart, etc. ( good for referee at competition ). For example the dashboard could monitor the rear bumper on 20 NXTs, and set off a speech notification for the first hit.
roboDNA.com is currently signing up Beta Testers for “roboDNA Dashboard Designer 2007 Beta”. You can sign up on their web site http://www.robodna.com/.