Chapter 8: Components Review |
Iris.4 Mobile Robot Manual |
80/20 Framework
80/20, manufacturer of the "Industrial Erector Set", produces the aluminium extrusion pieces used to frame Iris's skeleton. The resulting robot body is quite sturdy and fairly lightweight.
Wheels and Drive Motors
Iris drives around the lab on a pair of wheels powered by two drive motors. The robot turns when one wheel is spun and the other remains still; forward motion occurs when both wheels are spun. The motors are controlled by auxiliary on/off ports on the servo controller via a pair of simple relays. Iris also uses a single non-powered stabilizer wheel for balance.
Battery
Iris's multiple computers and drive motors need quite a bit of power. A large, 12V battery, slightly lighter than a car battery, is the main power supply. A total of two computers, two motors, a laptop, and a servo controller all operate off of the lone battery.
Relays
A relay is an electronic device that allows a low electric power controller to turn on (or off) a high-powered circuit. Iris uses two relays. Each relay is hooked up to the servo controller, a drive motor, and the battery. The servo controller has the instructions for turning on and off the wheels, but the controller cannot provide enough electric power to run Iris's drive motors directly. Instead, the servo controller manipulates the relays, which in turn control the motors.
Inverter
Iris's 12V battery supplies Direct Current (DC) power, but Iris's computers use Alternating Current (AC) power supply units. An inverter easily solves this problem! Power inverters convert DC to AC power, and thus allow Iris's battery to run the computer's AC power supply units.
Motherboard
The motherboard is the center of the computer - almost all of the electronic components that comprise a computer plug into the motherboard (e.g. CPUs, RAM, Hard Drives, etc.) to receive electric power and to share data with one another. Iris has two motherboard platters, which are basically minimal computers stripped of their casings and other superfluous parts and installed on sheets of plywood. Iris's laptop also contains a motherboard, but it is hidden inside of the laptop's outer case.
Hard Disk Drive
The Hard Disk Drive (hard drive), is a small, metal box containing several magnetic disks that are read and written by magnetic heads. Hard drives store information for a computer, including program files, pictures, emails, and so on, in the form of magnetic binary patterns written on the surface of their magnetic disks. These patterns remain on the disks even after the computer's power has been switched off, thus data is preserved. Each of Iris's computers has its own hard drive.
Power Supply Unit
Computer equipment is very fussy and sensitive to fluctuations in the power supply. Iris's standard 12V battery is too unstable to directly power Iris's motherboards, hard drives, and processors. Instead, a Power Supply Unit (PSU) is plugged into the inverter, which plugs into the 12V battery. The PSU cleans the battery's fluctuating power and distributes it to Iris's computer components.
Hub
Hubs are computer networking hardware that allow multiple computers to plug-in and communicate with one another. Hubs can be used to connect a group of computers to the Internet or to form a local area network (LAN), which is like a miniature Internet. Iris's laptop and motherboard platters are connected into a LAN via a hub, and use it to pass information back and forth.
Camera
Iris makes use of an inexpensive camera to snap digital pictures. The images are then processed by the robot's vision system and provide Iris with valuable information, such as the location or color of an object.
Servo Controller
The servo controller is the interface between Iris's laptop and Iris's wheels and arms. The controller converts digital signals from the laptop into analog signals that control arm servos and wheel motors. The servo controller is covered more detail later in this lab.
Speakers
Combined with a digital voice program, Iris uses speakers to talk to people. Iris's laptop has built-in speakers, but external speakers are used when additional volume is necessary.
Microphone
Iris's microphone functions as the robot's digital ear. The microphone captures speech and sounds from the robot's environment, and passes them along as analog signals to the laptop's built-in sound card, which digitizes the audio sounds and makes them available for the speech recognition system.
Drawer Arm
Iris has two robotic arms, each built from Robix Rascal kits. The Drawer Arm is used for tasks like drawing X's and O's on a Tic Tac Toe board, or writing the robot's name on a dry-erase board. Iris manipulates objects with the Gripper Arm, which you will build later in this lab. Both arms are controlled by the Servo Controller.
Laptop
Iris's primary computer is a powerful laptop. The laptop runs most of Iris's important programs, including the Mind Module and voice synthesis module. Some of Iris's programs require additional processing power; these programs are sent to Iris's motherboard platters to be processed by another CPU. Data is exchanged between the platters and the laptop using the network hub and specialized software called the CCP.
The Central Control Program, often just called the CCP, is the centerpiece of Iris's software system. The CCP allows all of Iris's other software modules to communicate with one another, regardless of the programming language they were written in, or the computer platform they run on. The CCP will be covered in more detail later in this lab.
The Mind Module is a special CCP-Client that oversees all of the communications between other CCP-Clients. As programs attempt to send each other messages via the CCP, the Mind Module tells the CCP whether to allow these messages, alter them, delete them, and so on. While the Mind Module is still under development, it will eventually be the most complex, powerful software module on the robot. In the mean time, many of the duties that the Mind Module will perform are carried out by ProtoThinker.
FlashPT, a CCP-Client, is highly stripped-down version of ProtoThinker, an Artificially Intelligent Agent capable of communicating via a natural language (English), storing memories, and deducing new facts about the world. The real ProtoThinker (PT) is a computer program that you can talk to in English, and get back English responses. PT provides Iris with many skills (language communication and logical reasoning, among others). Unfortunately, PT is too complex to program in a Flash movie such as this. Later in this lab, you will interact with FlashPT and have an opportunity to download a full version of the real ProtoThinker!
When combined with computer speakers and a sound card, the Text-to-Speech Engine (TTS, for shot) converts English sentences into spoken language by providing Iris with a synthetic voice. Generally, ProtoThinker uses TTS to vocalize output sentences formed in response to comments and questions from humans that are interacting with Iris.
The Speech-to-Text Engine (STT), a CCP-Client, listens to the input from Iris's microphone and analyzes it for spoken language content. When English words are head, they are converted to text, grouped into sentences, and sent to ProtoThinker for interpretation. In other words, the Speech-to-Text Engine gives Iris the ability to hear.
Both Iris's wheel movements and arm behaviors are indirectly controlled by the Servo Controller Interface, a CCP-Client. The Servo Controller Interface is a software program that communicates over a USB port with a servo controller (described in the Hardware Components Review). Wheel movements and arm behaviors are grouped into sets of instructions called scripts that are invoked by the Servo Controller Interface (software) and executed by the Servo Controller (hardware). You will learn more about the servo controller and its software interface, and even write your own scripts to control the robot, later in this lab.
The Camera Interface, a CCP-Client, provides a software interface to Iris's web camera. Communicating with the camera over a USB connection, the Camera Interface commands the web camera to take pictures and adjust various settings, such as brightness and exposure time. The camera (hardware) snaps a digital image, and sends the data to the Camera Interface (software) over the USB connection. The Camera Interface is then free to send the image data to various image processors for analysis.
The Image Processor, a CCP-Client, is responsible for extracting information from digital images acquired by Iris's web camera. The Image Processor updates Iris's Artificially Intelligent Agents when pertinent information is found. For example, when playing Tic Tac Toe, Iris's Tic Tac Toe Image Processor analyzes digital images of the Tic Tac Toe game board and identifies the X's and O's. This information is then sent to the Tic Tac Toe learning program, which uses it to decide on the robot's next move.