A First Prototype: The Talking Elevator, ReimplementedIn the winter term 2000/2001, speech control was added the elevator of our institute by the students in another software project. Here we demonstrate how we can control a Lego model of an elevator using our Talking Robots framework. The robot was built mostly by Geert-Jan, the software written mostly by Alexander.
The Elevator Model
The elevator cabin (in the middle) is moved up and down by a motor at the top of the cabin. The motor turns gears, which fit into the gear rods to the left and right of the cabin. Different floors are recognized by a light sensor attached to the lower end of the cabin. There is a bar of black and white Lego bricks behind one of the gear rods, which the light sensor can "see". The RCX control unit is the big yellow brick next to the elevator. The pneumatic pump on the other side controls the cabin door.
The Dialogue DefinitionThe dialogue is defined using the CLT Dialogue Wizard. A screenshot of the editor window is shown below.
The green nodes are output nodes; for example, the "Prompt" node sends the string "Which floor do you want to go to?" to the speech synthesis, and the "send command" node at the bottom sends a request to the RCX. The red nodes are input nodes, which branch according to keywords sent by the speech recognizer.
The SoftwareThe final components of the system are as follows:
- A grammar for the speech recognizer, which defines what sentences the recognizer should look for, and assigns keywords to each;
- a specification of messages that can be exchanged between PC and RCX; and
- a program that runs on the RCX and does the actual elevator control, accepting messages from the PC and processing sensor inputs.
The bottom line is: Using our tools, the developer builds and programs the robot and specifies the dialogue, and most everything else is already being taken care of.