A actuator adaptive behaviours address address bus ADSL algorithm alphanumeric ampere analog analog to digital conversion ADC AND ANSI anthropopathic robots A power mechanism used to effect motion of the robot; a device that converts electrical, hydraulic, or pneumatic energy into robot motion. The means by which robots interact with a changing world using a spectrum of machine learning techniques including neural networks, fuzzy logic and evolutionary computing. An unsigned integer used to select one fundamental element of storage, usually known as a word from a computer's main memory or other storage device. The connections between the CPU and memory which carry the address from/to which the CPU wishes to read or write. The number of bits of address bus determines the maximum size of memory which the processor can access. (Asymmetric Digital Subscriber Line) A method of connecting a computer to the internet over an ordinary phone line using an ethernet card instead of a modem producing a much faster connection. Asymmetric because it is faster from internet to PC than the other way (also true of a 56K modem). A procedure for accomplishing a given result by proceeding on a logical step-by-step basis. Computer programs and numerical control routines for machine tools are developed this way. A decimal digit or a letter (upper or lower case). Typically, "letters" means only English letters (ASCII A-Z plus a-z) but it may also include non-English letters in the Roman alphabet, e.g., e-acute, c-cedilla, the thorn letter, and so on. The unit of measure of electric current intensity. (UK: “analogue”) A description of a continuously variable signal or a circuit or device designed to handle such signals. The opposite is “discrete” or “digital”. Analogue circuits are much harder to design and analyse than digital ones because the designer must take into account effects such as the gain, linearity and power handling of components, the resistance, capacitance and inductance of tracks, wires and connectors, interference between signals, power supply stability and more. A digital circuit design, especially for high switching speeds, must also take these factors into account if it is to work reliably, but they are usually less critical because most digital components will function correctly within a range of parameters whereas such variations will corrupt the outputs of an analogue circuit. A device which takes a analog value and outputs a digital data which represent the amplitude of the input value. This is a boolean operation, which gives a result of true only when its first input AND its second input are true. (American National Standard Institute) The United States government body responsible for approving US standards in many areas, including computers and communications. ANSI is a member of ISO. Robots that can foster and maintain emotional relationships with human beings. Such robots not only perceive and respond to human emotion, but also are possessed of an intrinsic emotional system modeled after human beings. For these robots, emotional state is not merely an outward expression, but rather permeates their control architecture and influences their behaviour. antivirus application program arm articulated robot artificial intelligence AI artificial life (alife) ASCII assembler assembly language Programs to detect and remove computer viruses. The simplest kind scans executable files and boot blocks for a list of known viruses. Others are constantly active, attempting to detect the actions of general classes of viruses. antivirus software should always include a regular update service allowing it to keep up with the latest viruses as they are released A complete, self-contained program that performs a specific function directly for the user. This is in contrast to system software such as the operating system the part of a manipulator robot that positions the end-effector and sensors to do their pre-programmed business. Robot arms come in all shapes and sizes. Many (but not all) resemble human arms, and have shoulders, elbows, wrists, even fingers. These are commonly referred to as “jointed-arm” robots. Is a robot made up of all rotational joints. The motion of the robot is similar to that of a human being. The ability of computers to “think” in ways similar to human beings. Examples might be reasoning, adaptation, decision making, and learning from mistakes. At present, artificial intelligence has a long way to go before machines can be considered truly “smart.” Present day “AI” does allow machines to mimic certain simple human thought processes, but can’t begin to match the quickness and complexity of the brain. Examples of AI problems are computer vision (building a system that can understand images as well as a human) and natural language processing (building a system that can understand and speak a human language as well as a human). These may appear to be modular, but all attempts so far (1993) to solve them have foundered on the amount of context information and “intelligence” they seem to require. The term is often used as a selling point, e.g. to describe programming that drives the behaviour of computer characters in a game. This is often no more intelligent than “Kill any humans you see; keep walking; avoid solid objects; duck if a human with a gun can see you”. A human made object that has the essential qualities of living things: the ability to reproduce itself, consciousness, etc. To this date, no proven forms of artificial life have been created- what exactly constitutes “living” versus “non living” is the subject of much debate, on both technological and philosophical fronts. Artificial Life complements the traditional biological sciences concerned with the analysis of living organisms by attempting to create lifelike behaviours within computers and other artificial media. The standard code using a coded character set consisting of 7-bit coded characters (8 bits including parity check) that is used for information interchange among data processing systems data communication systems and associated equipment. The ASCII set consists of control characters and graphic characters. A program which converts assembly language into machine code. A symbolic representation of the machine language of a specific processor. Assembly language is converted to machine code by an assembler. Usually, each line of assembly code produces one machine instruction, though the use of macros is common. Programming in assembly language is slow and error-prone but is the only way to squeeze every last bit of performance out of the hardware. asynchronous Not synchronised by a shared signal such as clock, proceeding independently. automatic Functioning in a predefined manner with a minimum of reprogrammability. Assisted or run with the help of a machine and/or computer. automatic guided Are advanced material-handling or conveying systems that involve a vehicles (AGV) driverless vehicle which follows a guide-path. autonomous Functioning independently of other components or systems; selfgoverning or self-controlling. AUV Autonomous Underwater Vehicle. Is a robotized autonomous submarine which is not connected to a remote station for guiding and power supply. axis The line about which a rotating body (such as a robotic hand) turns. B bandwidth In a general sense this term describes information-carrying capacity. It can apply to telephone or network wiring as well as system buses and radio frequency signals. Basic This standard high-level family of programming languages is simple to learn but creates programs that are typically slow to use. The language is not generally used for industrial-strength applications. battery A device that uses chemicals to produce electric current; provides electrical power for things such as cars, flashlights, toys and, obviously, robots. baud The unit in which the information carrying capacity or “signalling rate” of a communication channel is measured. behaviours The primitive building blocks for robot control and action. Depending on the control architecture, behaviours can be either simple stimulusresponse pairings or more complex rule based units for carrying out a particular competency. Behaviours can be sequenced or run in parallel to produce higher-level capabilities. big endian A format for storage or transmission of binary data in which the most significant bit (or byte) is placed first. Contrast with little endian. binary The basic computer method of storing information in a series of encoded 0 and 1s – or bits. Binary is manipulated with Arithmetic and Boolean operations. bit A single binary-digit. May hold a single 0 or 1. Can also be expressed as true or false, and on or off. bits per second A measure of how quickly information is being transferred usually via a (bps) modem or network. Divide by ten to get an approximation of the number of characters per second (cps). boolean Boolean refers to George Boole. It is commonly used to describe the logical operations of AND, NOT, OR and XOR, from which any other logic gate may be constructed. It operates on binary variables with only two possible values, “true” and “false”. boot block A program at some fixed location on a hard disk, floppy disk or other media, which is loaded when the computer is turned on or rebooted bootstrap bottom up bridge broadband broadcast browser buffer storage bug bumper bus busy-wait byte C C language C++ language and which controls the next phase of loading the actual operating system. The loading and execution of the boot block is usually controlled by firmware in ROM or PROM. A technique for loading the first few instructions of a computer program into active memory and then using them to bring in the rest of the program The opposite of top-down design. It is now received wisdom in most programming cultures that it is best to design from higher levels of abstraction down to lower, specifying sequences of action in increasing detail until you get to actual code. A functional unit that interconnects two local area networks that use the same logical link control protocol but may use different medium access control protocols A transmission medium capable of supporting a wide range of frequencies, typically from audio up to video frequencies. It can carry multiple signals by dividing the total capacity of the medium into multiple, independent bandwidth channels, where each channel operates only on a specific range of frequencies. A transmission to multiple, unspecified recipients. On Ethernet, a broadcast packet is a special type of multicast packet which all nodes on the network are always willing to receive. If you can read this it’s highly likely that you’re using a Web browser. In brief a browser is your interface to the World Wide Web; it interprets hypertext links and lets you view sites and navigate from one Internet node to another. A place for storing information in either a computer or control unit so that it is immediately available for action once the previous instructions have been completed. Buffers eliminate the need to wait for information to be transferred from a slower bulk storage medium into active memory. An unwanted and unintended property of a program or piece of hardware, especially one that causes it to malfunction Safety device that can detect contacts between the robot end the environment or people. One of the sets of conductors (wires, tracks or connections in an integrated circuit) connecting the various functional units in a computer. There are busses both within the CPU and connecting it to external memory and peripheral devices. The data bus, address bus and control signals, despite their names, really constitute a single bus since each is useless without the others To wait for an event by spinning through a tight loop or timed-delay loop that polls for the event on each pass, as opposed to setting up an interrupt handler and continuing execution on another part of the task. A byte usually denotes 8 bits (also called an octet) which the computer treats as a single unit. Abbreviated is uppercase B. A language used to develop software applications in compact efficient code that can be run on different types of computers with minimal change. One of the most used object-oriented languages, a superset of C. In C++ a class is a user-defined type with data accessing functions. C++ combines if efficient like C but has much more expressive power. cache A small fast memory holding recently accessed data, designed to speed up subsequent access to the same data. Most often applied to processor-memory access but also used for a local copy of data accessible over a network etc. CAD Computer-aided design; the use of computers to aid in product design and development. CAM Computer-aided manufacturing; the use of computers to assist in any or all phases of manufacturing. Numeric control is one form of CAM. capacitor An electronic device that can store electrical charge. The charge stored Q in Coulombs is related to the capacitance C in Farads and the voltage V across the capacitor in Volts by Q = CV. The basis of a dynamic RAM cell is a capacitor. cartesian A system of two or three mutually perpendicular axes along which any coordinates point may be located in terms of distance and direction from any other point. CAT Computer-aided testing; the use of computers to aid in the testing of manufactured output. cathode ray tube An electronic vacuum tube containing a screen on which graphic or CRT alphanumeric information may be displayed. Present in any television set or traditional PC monitor. CCD charge The component of a scanner or digital camera which actually takes the coupled device pictures. The quality of image it is capable of is usually measured in Megapixels - the higher the number the better the image. central The basic arithmetic and logic centre of a computer, that includes the processing unit circuits controlling the processing and execution of instructions. CPU chassis The frame on which the body of a vehicle is built. chip Small piece of semiconductor material upon which electronic components and subassemblies are formed. Integrated circuits, LSI and VLSI are made on chips. clock The fundamental rate in cycles per second at which a computer performs its most basic operations such as adding two numbers or transferring a value from one register to another closed-loop A system whereby signals from a control unit are acted upon by the system machine effector or teleoperator, and a monitoring unit then returns the acted upon signals for comparison; operates using feedback from errors, thus achieving some level of self-correction; opposite of openloop. coaxial cable A kind of cable with a solid central conductor surrounded by insulator, in turn surrounded by a cylindrical shield woven from fine wires. It is used to carry high frequency signals such as video or radio. The shield is usually connected to electrical ground to reduce electrical interference cognition Programmed models which approximate the behaviour of natural cognition, in the context of robotic and artificial intelligence systems. COM port Although it’s in all capital letters COM is not an acronym. It’s a contraction of communications and it’s used to describe the serial port on a PC. COM is generally used in conjunction with a number as in COM1 COM2 COM3 or COM4. compatibility The degree to which hardware components, programming languages, and software can be interchanged among various computer-controlled systems. compiler A program that converts source code written in some programming language to machine language (object code). Some compilers output assembly language which is then converted to machine language by a separate assembler. A compiler is distinguished from an assembler by the fact that each input statement does not, in general, correspond to a single machine instruction or fixed sequence of instructions. compressed files Files whose file size has been reduced using a compression method. Files are often compressed before sending them across a network in order to ease network congestion and save server disk space. computational The number of steps or arithmetic operations required to solve a complexity computational problem. computer A machine that can be programmed to manipulate numbers and symbols. Computers can perform complex and repetitive procedures quickly, precisely and reliably and can quickly store and retrieve large amounts of data. The physical components from which a computer is constructed (electronic circuits and input/output devices) are known as “hardware”. Most computers have four types of hardware component: CPU, input, output and memory. The CPU (central processing unit) executes programs (“software”) which tell the computer what to do. Input and output (I/O) devices allow the computer to communicate with the user and the outside world. There are several kinds of memory – fast, expensive, short term memory (e.g. RAM) to hold intermediate results, and slower, cheaper, long-term memory (e.g. magnetic disk and magnetic tape) to hold programs and data between jobs. configuration connector control architecture control flow control program controller (1) controller (2) Nowadays found in everything from children’s toys and wristwatches, to automobiles and satellites. The manner in which the hardware and software of an information processing system are organized and interconnected. The part of a cable that plugs into a port or interface to connect one device to another. The principled organization of embedded software components whereby perception, reasoning, and action conspire to produce functionality. This architecture not only provides structure and services, but guides design by imposing methodological constraints on how behaviour can be achieved. The sequence of execution of instructions in a program. This is determined at run time by the input data and by the control structures used in the program The inherent set of control instructions that defines the capabilities, actions and responses of the robot system. This program is usually not intended to be modified by the user. Part of a computer, typically a separate circuit board, which allows the computer to use certain kinds of peripheral devices. A disk controller is used to connect hard disks and floppy disks, a network controller is used for Ethernet. Other controllers are: keyboard controller, interrupt controller and graphics controller. Every robot is connected to a computer, which keeps the pieces of the arm working together. This computer is known as the controller. The controller functions as the “brain” of the robot. Robots today have controllers that are run by programs – sets of instructions written in code. coprocessor cross-assembler cross-compiler CS&T cybernetics cyberspace D data data bus datagram deadlock debugging Almost all robots of today are entirely pre-programmed by people; they can do only what they are programmed to do at the time, and nothing else. In the future, controllers with artificial intelligence, or AI could allow robots to think on their own, even program themselves. This could make robots more self-reliant and independent. Any computer processor which assists the main processor (the “CPU”) by performing certain special functions, usually much faster than the main processor could perform them in software. The coprocessor often decodes instructions in parallel with the main processor and executes only those instructions intended for it. The most common example is a floating point coprocessor (or “FPU”), others are graphics and networking. An assembler which runs on one type of processor and produces machine code for another. A compiler which runs on one kind of system and produces code for another, as opposed to a native code compiler which produces code for the platform on which it runs. Computer Science and Technology. An emerging field of study that explores the integration of the human nervous system and human-made technological devices, such as microchips, robotic components, “nano” machines, and electronics. (Coined by William Gibson) Notional “information-space” loaded with visual cues and navigable with brain-computer interfaces called “cyberspace decks”; a characteristic prop of cyberpunk SF. In 1991 serious efforts to construct virtual reality interfaces modelled explicitly on Gibsonian cyberspace were already under way, using more conventional devices such as glove sensors and binocular TV headsets. Numbers, characters, images, or other method of recording, in a form which can be assessed by a human or (especially) input into a computer, stored and processed there, or transmitted on some digital channel. This information is almost always digital, or stored in the binary form of 1’s and 0’s. Data on its own has no meaning, only when interpreted by some kind of data processing system does it take on meaning and become information. . The bus (connections between and within the CPU, memory, and peripherals) used to carry data. Other connections are the address bus and control signals. A self-contained, independent entity of data carrying sufficient information to be routed from the source to the destination computer without reliance on earlier exchanges between this source and destination computer and the transporting network. A situation where two or more processes are unable to proceed because each is waiting for one of the others to do something. Attempting to determine the cause of the symptoms of malfunctions detected by testing or by frenzied user complaints. dedicated computer degrees of freedom (DOF) deliberative control detector deterministic device device driver digital digital signal processor (DSP) digital to analog converter (DAC) digitalizing diode domain name domain name server (DNS) drag A computer devoted exclusively to a single application. The state of a robotic mechanism can be described by specifying the current value of each variable parameter (particularly rotating or sliding elements) of robot systems. A robot that could move up/down, left/right, and in/out would have 3 degrees of freedom. The human arm (not counting the hand) has 7 degrees of freedom. In other words, it is the number of independent parameters required to specify the position and orientation of an object. Often used to classify robot arms. For example, an arm with six degrees of freedom could reach any position close enough and could orient it’s end effector (grip or tool etc.) at any angle about the three perpendicular axes. Deliberative control architectures use internal, symbolic representations such as maps, models, and knowledge bases to make decisions and mediate actions. These classical AI (Artificial Intelligence) decision processes are structured at a high enough level so as to be understandable (and especially explainable) for the applications programmer. A device that is used to show that something is present. Describes a system whose time evolution can be predicted exactly. Something made or invented for some special use; a computer component, a tool, machine, or other piece of equipment. Software to control a hardware component or peripheral device of a computer such as a magnetic disk, magnetic tape or printer. Information and values are expressed in discrete terms. In a digital computer such terms are generated by a combination of binary on/off or positive/negative signals, the opposite of analog wherein a fluctuating signal strength determines the fluctuations of values. A special-purpose microprocessor designed to handle signalprocessing applications very quickly. DSPs are used in several classes of computer hardware including sound cards modems telephony boards that handle sound and modem functions and hardware that handles audio and video compression in real time. (DAC) A device which takes a digital value and outputs a voltage which is proportional to the input value. Typical uses include digital generation of audio signals. The process of converting an image into digital data. These semiconductor electronic components allow current to flow through them in only one direction. Most people are familiar with lightemitting diodes (LEDs) which produce light when current is applied and liquid-crystal diodes (LCDs) which lighten or darken a transparent material when current is applied. LCDs are often used to create flatpanel displays for portable computers. The textual name assigned to a host on the Internet. The Domain Name Service (DNS) protocol translates between domain names and numerical IP addresses. In the Internet suite of protocols a server that responds to queries from clients for name-to-address and address-to-name mappings as well as for other information. Resistance to motion of a vehicle through the air or water. drift drive drive power E efficient electromagnetic compatibility (EMC) embedded system emergency stop emulation encoder end effector EPROM Ethernet executable file F fault tolerancy feedback To be carried along by a current of air or water. The part of the robot that supplies power to move. It is the “engine” that moves the links—sections between the joints—into their desired position in manipulator robots, wheels in mobile robots, propellers in underwater robots. Most drives are powered by electricity. The energy source or sources for the robot actuators. Bringing about the result that is wanted, with the least waste of time, effort, or materials. The extent to which a piece of hardware will tolerate electrical interference from other equipment, and will interfere with other equipment. Hardware and software which forms a component of some larger system and which is expected to function without human intervention. A typical embedded system consists of a single-board microcomputer with software in ROM, which starts running some special purpose application program as soon as it is turned on and will not stop until it is turned off (if ever). The operation of a circuit using hardware-based components that overrides all other robot controls, removes drive power from the robot actuators, and causes all moving parts to stop. One system is said to emulate another when it performs in exactly the same way, though perhaps not at the same speed. A typical example would be emulation of one computer by (a program running on) another. You might use an emulation as a replacement for a system whereas you would use a simulation if you just wanted to analyse it and make predictions about it. A very popular sensor device used in mobile robotics. It reads wheel and axis motion and/or position, and translate it into digital form. The “hand” connected to the robot’s arm. It is often different from a human hand – it could be a tool such as a gripper, a vacuum pump, tweezers, scalpel, blowtorch – just about anything that helps it do its job. Some robots can change end-effectors, and be reprogrammed for a different set of tasks. If the robot has more than one arm, there can be more than one endeffector on the same robot, each suited for a specific task. Unlike dynamic and static RAM, EPROM chips do not require power to retain their data. Consequently EPROM chips are commonly used to store BIOS information and basic software for modems video cards and other peripherals. EPROMs can be erased by exposure to ultraviolet light and then reprogrammed using a device called a PROM burner A local area network hardware and protocol implementation, very common and diffused in computer networking. File that contains all the information necessary to start and run a program on your computer. The ability of a system or component to continue normal operation despite the presence of hardware or software faults. This often involves some degree of redundancy. Information returned from the output of a machine or process intended for use as output in subsequent operations or for purposes of automatic feedback control fiber optic firmware fixed point flag floating point frame grabber fuzzy logic G gate control. Feedback is positive or negative, depending on the sign with which a positive change in the original input reappears after transformation. Negative feedback is used for stabilisation, positive feedback can lead to instability. A control system which monitors its effect on the system it is controlling and modifies its output accordingly. For example, a thermostat has two inputs: the desired temperature and the current temperature (the latter is the feedback). The output of the thermostat changes so as to try to equalise the two inputs. Complex systems such as the human body contain many feedback systems that interact with each other; the homeostasis mechanisms that control body temperature and acidity are good examples. Fiber-optic cables consist of thin filaments of glass (or other transparent materials) which can carry beams of light. A laser transmitter encodes frequency signals into pulses of light and sends them down the optical fiber to a receiver which translates the light signals back into frequencies. Less susceptible to noise and interference than other kinds of cables optical fibers can transmit data greater distances without amplification Software stored in read-only memory (ROM) or programmable ROM (PROM). Easier to change than hardware but harder than software stored on disk. Firmware is often responsible for the behaviour of a system when it is first switched on. A typical example would be a “monitor” program in a microcomputer which loads the full operating system from disk or from a network and then passes control to it. Decimal number representation with fixed precision A variable or quantity that can take on one of two values; a bit, particularly one that is used to indicate one of two outcomes or is used to control which of two things is to be done. Decimal number representation with variable precision (greater is the number, smaller is the precision). A device that captures a single frame from an analog video signal (from a video camera or VCR) and stores it as a digital image under computer control. A superset of Boolean logic dealing with the concept of partial truth – truth values between “completely true” and “completely false”. A low-level digital logic component. Gates perform Boolean functions (e.g. AND, NOT), store bits of data (e.g. a flip-flop), and connect and disconnect various parts of the overall circuit to control the flow of data (tri-state buffer). In a CPU, the term applies particularly to the buffers that route data between the various functional units. Each gate allows data to flow from one unit to another or enables data from one output onto a certain bus. gauge An instrument for measuring some physical quantity. genetic algorithm An evolutionary algorithm which generates each individual from some GA encoded form known as a “chromosome” or “genome”. Chromosomes are combined or mutated to breed new individuals. “Crossover”, the kind of recombination of chromosomes found in sexual reproduction in nature, is often also used in Gas. Here, an offspring’s chromosome is created by joining segments chosen alternately from each of two gigabyte GB Global Positioning System GPS H hardware hardwired hazbot heuristic hexadecimal high level language host HTML humanoid robotics parents’ chromosomes which are of fixed length. Gas are useful for multidimensional optimisation problems in which the chromosome can encode the values for the different variables being optimised. 2^30 = 1,073,741,824 bytes = 1024 megabytes. Roughly the amount of data required to encode a human gene sequence. (GPS) A system for determining position on the Earth’s surface by comparing radio signals from several satellites. When completed the system will consist of 24 satellites equipped with radio transmitters and atomic clocks. Depending on your geographic location, the GPS receiver samples data from up to six satellites, it then calculates the time taken for each satellite signal to reach the GPS receiver, and from the difference in time of reception, determines your location. The physical, touchable, material parts of a computer or other system. The term is used to distinguish these fixed parts of a system from the more changeable software or data components which it executes, stores, or carries. Computer or computer controlled system which functions by means of fixed or committed circuitry; reprogramming is possible only by altering the nature of or interconnections among physical components. A robot designed to take the place of a person in a hazardous job, such as repairing nuclear reactors, fighting fires, and exploring planets that are inhospitable to human beings. A heuristic computer program is one which begins with only an approximate method of solving a problem within the context of some goal, and then uses feedback from the effects of the solution to improve its own performance. A number representation using the digits 0-9, with their usual meaning, plus the letters A-F (or a-f) to represent hexadecimal digits with values of (decimal) 10 to 15. The right-most digit counts ones, the next counts multiples of 16, then 16^2 = 256, etc. For example, hexadecimal BEAD is decimal 48813: digit weight value B = 11 16^3 = 4096 11*4096 = 45056 E = 14 16^2 = 256 14* 256 = 3584 A = 10 16^1 = 16 10* 16 = 160 D = 13 16^0 = 1 13* 1 = 13 ----- BEAD = 48813 There are many conventions for distinguishing hexadecimal numbers from decimal or other bases in programs. In C for example, the prefix “0x” is used, e.g. 0x694A11. A programming language which provides some level of abstraction above assembly language. These normally use statements consisting of English-like keywords such as “FOR”, “PRINT” or “GOTO”, where each statement corresponds to several machine language instructions. A computer that is connected to a network (such as the Internet or an SNA network) and provides an access point to that network. As its name suggests HTML is a collection of formatting commands that create hypertext documents—Web pages to be exact. When you point your Web browser to a URL the browser interprets the HTML commands embedded in the page and uses them to format the page’s text and graphic elements. Humanoid Robotics research includes a rich diversity of projects wherein perception, processing and action are embodied in a recognizably anthropomorphic form in order to emulate some subset of hypertext I I/O address the physical, cognitive and social dimensions of the human body and experience. This work seeks to create a new kind of tool; fundamentally different from any we have yet seen because it is designed to work with humans as well as for them. A term coined by Ted Nelson around 1965 for a collection of documents (or “nodes”) containing cross-references or “links” which, with the aid of an interactive browser program, allow the reader to move easily from one document to another. The extension of hypertext to include other media – sound, graphics. Input/Output address. A hexadecimal number that is assigned to a piece of hardware in a computer and then given to the software driver for that piece of equipment so that they can communicate. I/O device Input or output equipment or programming, used to communicate with a computer or control system. I/O input/output Communication between a computer and its users, its storage devices, other computers (via a network) or the outside world. The devices the computer uses to do this are called “peripherals”. image Data representing a two-dimensional scene. A digital image is composed of pixels arranged in a rectangular array with a certain height and width. Each pixel may consist of one or more bits of information, representing the brightness of the image at that point and possibly including colour information encoded as RGB triples. Images are usually taken from the real world via a digital camera, frame grabber, or scanner; or they may be generated by computer. industrial robot A reprogrammable, multifunctional manipulator designed to move material, parts, tools, or specialized devices through variable programmed motions for the performance of a variety of tasks. industrial robot A system that includes industrial robots, the end-effectors, and the system devices and sensors required for the robots to be taught or programmed, or for the robots to perform the intended automatic operations, as well as the communication interfaces required for interlocking, sequencing, or monitoring the robots. infrared Describing rays of light that are just beyond red in the colour spectrum. Infrared light rays cannot be seen, by the naked eye, but can be seen with special cameras. Used for wireless short range communication and proximity detection. integrated circuits A very small single structure assembly of electronic components (Ics) containing many circuits and functions on a chip. intelligence The ability to make appropriate decisions and take appropriate actions in the face of uncertainty. The word ‘appropriate’ is best characterized in context, and with reference to the task at hand. For example, some tasks require that appropriate action maximize efficiency while others may emphasize learning, survivability, robustness, or an ability to communicate. Ultimately, intelligence is in the eye of the beholder. “We know it when we see it.” interactive A term describing a program whose input and output are interleaved, like a conversation, allowing the user’s input to depend on earlier output from the same run. The interaction with the user is usually conducted through either a text-based interface or a graphical user interface. Other kinds of interface, e.g. using speech recognition and/or interface internet Internet internet address Internet Protocol IP internet, Internet interrupt interrupt handler intranet ISDN J joint joystick K Kilobyte knowledge L laser speech synthesis, are also possible. The medium by which two separate elements of a computer system are joined to permit mutual interaction. Any set of networks interconnected with routers. The Internet (capitalized) is the biggest example of an internet. The Internet is the largest internet (with a small “i”) in the world. An address that uniquely identifies a computer on an internet. Protocol that carries individual packets between hosts and allows packets to be automatically routed through multiple networks if the destination host isn’t on the same network as the originating host. Computer network that uses the internet protocol family. When capitalized it refers to the single well known globally connected network using those protocols. An asynchronous event that suspends normal processing and temporarily diverts the flow of control through an “interrupt handler” routine. Interrupts may be caused by both hardware (I/O, timer, machine check) and software (supervisor, system call or trap instruction). In general the computer responds to an interrupt by storing the information about the current state of the running program; storing information to identify the source of the interrupt; and invoking a firstlevel interrupt handler. A routine which is executed when an interrupt occurs. Interrupt handlers typically deal with low-level events in the hardware of a computer system such as a character arriving at a serial port or a tick of a real-time clock. Any network which provides similar services within an organisation to those provided by the Internet outside it but which is not necessarily connected to the Internet. The plain old telephone system doesn’t handle large quantities of data and the phone companies realized this a long time ago. So the ISDN spec was hammered out in 1984 to allow for wide-bandwidth digital transmission using the public switched telephone network. Under ISDN a phone call can transfer 64 kilobits of digital data per second. A mechanical structure connecting two robot parts that can flex, rotate, or move. A device consisting of a hand held stick that pivots about one end and transmits its angle in two dimensions to a computer. Joysticks are often used to control games, but are usual also in mobile robots. Unit of measurement for pieces of information : actually 1024 Bytes or characters but in practice almost always rounded down to 1000. Often written as just K e.g. 250 K is 250 Kilobytes (250 0 bytes/characters – well alright not exactly but close enough). The objects, concepts and relationships that are assumed to exist in some area of interest. A collection of knowledge, represented using some knowledge representation language is known as a knowledge base and a program for extending and/or querying a knowledge base is a knowledge-based system. A device that produce a very narrow and strong beam of light that can Light Emitting Diode (LED) Linux little endian local area network LAN localisation logic gate LSI M machine language (or machine code) be used for light shows, for cutting things, or for medical operations. Semiconductor diode which radiates in the visible region. A free, open source implementation of Unix operating system. It runs on personal computers and other platforms. Very used by robotics researchers. A format for storage or transmission of binary data in which the least significant bit (or byte) is placed first. Contrast with big endian. A local area network is a short-distance network used to link a group of computers together within a building. 10BaseT Ethernet is the most commonly used form of LAN. A piece of hardware called a hub serves as the common wiring point enabling data to be sent from one machine to another over the network. LANs are typically limited to distances of less than 500 meters and provide low-cost high-bandwidth networking capabilities within a small geographical area. Process by which a robot computes its own position in the environment. An electronic circuit that will perform a Boolean operation upon its inputs. Large-scale integration; the organization of many integrated circuits on a single, very small substrate; the basis of microcomputers and minicomputer logic systems. The representation of a computer program which is actually read and interpreted by the computer. A program in machine code consists of a sequence of machine instructions (possibly interspersed with data). Instructions are binary strings which may be either all the same size (e.g. one 32-bit word for many modern RISC microprocessors) or of different sizes, in which case the size of the instruction is determined from the first word or byte. The collection of all possible instructions for a particular computer is known as its “instruction set”. main memory The storage device used by a computer to hold the currently executing program and its working data. manipulator A generic term for any mechanical device which a robot uses to directly systems manipulate its environment. mass The quantity of matter in a body. Not to be confused with weight, that is the force that gravity exerts on it. Megabyte MB Although mega is Greek for a million a megabyte actually contains 1 48 576 bytes (1 24 x 1 24 bytes). In other words a million bytes is actually less than a megabyte. Remember that the next time you buy a hard disk or try to fit files onto a floppy disk. memory In general another word for dynamic RAM the chips where the computers store system software programs and data you are currently using. memory mapped The use of the same instructions and bus to communicate with both I/O main memory and input/output devices. This is in contrast to processors that have a separate I/O bus and special instructions to access it. The I/O devices are addressed at certain reserved address ranges on the main memory bus. These addresses cannot therefore be used for RAM. microcontroller A microcontroller is a device containing a very basic CPU, a small amount of RAM and PROM memory and Input/Output circuitry for microprocessor mobile robot modem module motherboard motive systems controlling robots or other automated devices. See Central Processing Unit. A self-propelled robotic vehicle that is capable of moving, usually on wheels or tracks. A device that converts digital data from a computer to an analog signal that can be transmitted on a telephone line and converts the analog signal received to data for the computer. A section that can be separated and taken off for some special use The main printed circuit board in an electronic device, particularly a computer, which may contain sockets that accept additional boards (“daughter-boards”). In a personal computer, the motherboard contains the bus, the microprocessor, and integrated circuits used for controlling any built-in peripherals such as the keyboard, text and graphics display, serial ports and parallel ports, joystick, and mouse interfaces. A generic term for the mechanisms used to convey a robot around its environment. N nanotechnologies The scientific field devoted to extremely small human-made devices, both mechanical and electronic. This relatively new branch of science explores the possibilities of building things at the molecular level- atom by atom. network Hardware and software data communication systems. The OSI seven layer model attempts to provide a way of partitioning any computer network into independent modules from the lowest (physical) layer to the highest (application) layer. Many different specifications exist at each of these layers. Networks are often also classified according to their geographical extent: local area network (LAN), metropolitan area network (MAN), wide area network (WAN) and also according to the protocols used. network adapter A physical device and its associated software that enables a processor or controller to be connected to a network. neural networks A network of many very simple processors (“units” or “neurons”), each NNs possibly having a (small amount of) local memory. The units are connected by unidirectional communication channels (“connections”), which carry numeric (as opposed to symbolic) data. The units operate only on their local data and on the inputs they receive via the connections. A neural network is a processing device, either an algorithm, or actual hardware, whose design was inspired by the design and functioning of animal brains and components thereof. Most neural networks have some sort of “training” rule whereby the weights of connections are adjusted on the basis of presented patterns. In other words, neural networks “learn” from examples, just like children learn to recognise dogs from examples of dogs, and exhibit some structural capability for generalisation. Neurons are often elementary non-linear signal processors (in the limit they are simple threshold discriminators). Another feature of NNs which distinguishes them from other computing devices is a high degree of interconnection which allows a high degree of parallelism. Further, there is no idle memory containing data and programs, but rather each neuron is pre-programmed and continuously active. The term “neural net” should logically, but in common usage never does, also include biological neural networks, whose elementary structures are far more complicated than the mathematical models used for NNs neutral buoyancy The apparent loss in weight of a body when wholly or partly immersed in a fluid that makes the body neither sink nor float. nondeterministic (Or “probabilistic automaton”) An automaton in which there are several automaton possible actions (outputs and next states) at each state of the computation such that the overall course of the computation is not completely determined by the program, the starting state, and the initial inputs. nonlinear A property of a system whose output is not proportional to its input. For example, a transistor has a region of input voltages for which its output voltage is found by multiplying the input voltage by the gain of the transistor. Outside this region though, the transistor behaves nonlinearly, meaning that it does not obey this simple equation. The behaviour of a system containing non-linear components is thus harder to model and to predict. NOT IF presented with true, it will output false and vice versa. The output is “NOT” the input. null modem A cable, especially an EIA-232 cable, for connecting serial ports on two computers directly, rather than via modems. Since, according to the specification, both computers should transmit on pin three of their EIA232 connectors and receive on pin two, a null modem cable needs to connect one computer’s pin two to the other’s pin three and vice versa. It also needs to have male connectors at both ends (again, according to the specification). numerical Production machines driven by computer-generated instructions for controlled manufacturing that are read from a tape or other input medium, which machine tools the machine follows to complete a given task. They are operated by a series of coded instructions comprised of numbers, letters of the alphabet, and other symbols. These are translated into pulses of electrical current or other output signals that activate motors and other devices to run the machine. O object code The machine code generated by a source code language processor such as an assembler or compiler. A file of object code may be immediately executable or it may require linking with other object code files, e.g. libraries, to produce a complete executable program. object-oriented A method of software-development that groups related functions and data into reusable chunks. Properly handled object-oriented programming can reduce development time on new projects. offline operation Peripheral equipment operating independently of a central computer, to conserve expensive online central computer time. offset The number of measuring units from an arbitrary starting point in a record area or control block to some other point. ohm The unit of electrical resistance. One Ohm is the resistance of a conductor across which a potential difference of one Volt produces a current of one Ampere. open source A method and philosophy for software licensing and distribution designed to encourage use and improvement of software written by volunteers by ensuring that anyone can copy the source code and modify it freely. open-loop system OR P packet PAL parallel port parity bit pixel processor program PROM prosthetic robots protocol Q R radar RAM reactive control A system which generates output signals but which depends on the integrity of the system to execute them, without feedback for monitoring or comparison purposes. Open-loop systems ignore error signals and operate on the assumption that no errors occur. The output of this is true when Its first Input OR its second operation is true. The television broadcast standard throughout Europe (except in France where SECAM is the standard). This standard broadcasts 625 lines of resolution nearly 20 percent more than the U.S. standard NTSC of 525. An interface from a computer system where data is transferred in or out in parallel, that is, on more than one wire. A parallel port carries one bit on each wire thus multiplying the transfer rate obtainable over a single wire. There will usually be some control signals on the port as well to say when data is ready to be sent or received. The commonest kind of parallel port is a printer port. A check bit appended to an array of binary digits to make the sum of all the binary digits including the check bit always odd or always even. The image displayed on monitors or in a graphic produced by a scanner or paint program is made up lots of dots called pixels. Collectively the number of pixels displayed is referred to as the image’s resolution. A pixel on a monitor is a number of red green and blue phosphor dots. These dots are “excited” to varying degrees by the monitor’s three electron guns and the results mix additively to generate a specific color. By manipulating large numbers of pixels in precise ways patterns emerge to make up an identifiable picture. See also: electron gun resolution texel See central processing unit (CPU) A sequence of instructions suitable for processing by a computer. Processing may include the use of an assembler a compiler an interpreter or a translator to prepare the program for execution as well as to execute it. Programmable read-only memory; can be programmed only by special routines. One programmed with permanent data, it becomes a ROM or read-only memory. are programmable manipulators or devices for missing human limbs. A set of communication rules between devices. It must define signal specifications, data format, temporisation and can also define error recovery procedures. A device that sends out radio waves and picks them up again after they strike some object and bounce back. (Random Access Memory; pr. “ram”) The computer’s main memory which it uses to hold whatever you are currently working on. The contents of RAM are lost when the computer is switched off. A temporary storage location in which the central processing unit (CPU) stores and executes its processes. A reactive control architecture tightly couples perception and action to real time register remotely operated RGB robot robotic arm robotic rover robotics ROM ROV rover S sample rate schedule sensor serial port produce efficient, real-time responses to the environment with little or no mediation of abstract representation. The ability of a computer to function and control processes as they actually occur . Describes an application which requires a program to respond to stimuli within some small upper limit of response time (typically milli- or microseconds). One of a small number of high-speed memory locations in a computer’s CPU. Operated or controlled from another place. Red, Green, Blue. The three colours of light which can be mixed to produce any other colour. Coloured images are often stored as a sequence of RGB triplets or as separate red, green and blue. A computer-operated, mechanical body or vehicle that works on its own to do a variety of jobs. Robots can be programmed, and reprogrammed to move material, parts, tools, or specialized devices through various motions. Robots are not presently “artificial people,” but helpful tools used in specific environments. For the time being, most robots could be considered computers with limbs, organs, tools, and other pieces of equipment attached. However, experiments in artificial intelligence are changing the definition of a robot in many ways for the future. The word ‘robot’ was coined by the Czech playwright Karel Capek, from the Czech word for forced labor or serf. An automatic mechanical arm designed for grabbing, holding and pulling objects. A key function of the arm is to position the end-effector in the right place to do its job. An automatic mechanical device designed with wheels like a car to perform certain jobs. The study of problems associated with the design, application, control and sensory systems of robots. It is a branch of engineering that involves the conception, design, manufacture, and operation of robots. This field overlaps with electronics, computer science, artificial intelligence and bioengineering. Read only memory. Memory in which stored data cannot be modified by the user except under special conditions. Remotely Operated Vehicle. A vehicle for exploring the surface of unknown environment, even another planet or satellite. The number of times an analog signal is measured (sampled) in a unit of time. A list of the times at which certain things are supposed to happen. An input device that sends information about its surroundings and lets it know the state of the world around it. This information in the form of electronic signals, or data. Sensors can provide only limited feedback to robots, so most robots of today are nearly deaf and blind, compared to the senses and abilities of even the simplest living things. (Or “com port”) A connector on a computer to which you can attach a serial line connected to peripherals which communicate using a serial (bit-stream) protocol. The most common type of serial port is a 25-pin D-type connector carrying EIA-232 signals. Smaller connectors (e.g. 9- service robots shuttle systems simulation social behaviour software solar arrays sonar source code speech recognition spin-off start-up T TCP/IP (transfer control protocol/internet protocol) teleoperator transistor U undersea and space robots unmanned V pin D-type) carrying a subset of EIA-232 are often used on personal computers. Machines that extend human capabilities. Are comprised of various types of conveying systems linked together with various shuttle mechanisms for the prime purpose of conveying materials or parts to prepositioned and predetermined locations automatically. Attempting to predict aspects of the behaviour of some system by creating an approximate (mathematical) model of it. This can be done by physical modelling, by writing a special-purpose computer program or using a more general simulation package, probably still aimed at a particular kind of simulation (e.g. structural engineering, fluid flow). Typical examples are aircraft flight simulators or electronic circuit simulators. The emotional, physical, and mental interactions between agents. This area includes a host of issues such as communication, interference, competition, cooperation, as well as collective and imitative learning. Programs that make a computer operate (see program) Panels that collect energy from the Sun to provide electrical power supply. A device that sends out acoustic waves and picks them up again after they strike some object and bounce back. In robotics is used for obstacle detection. The form in which a computer program is written by the programmer. Source code is written in some formal programming language which can be compiled automatically into object code or machine code. Voice or speech recognition is the ability of a machine or program to receive and interpret dictation, or to understand and carry out spoken commands. New things made from other technology areas Routine application of drive power to the robot or robot system. These two protocols were developed by the U.S. military to allow computers to talk to each other over long distance networks. IP is responsible for moving packets of data between nodes. TCP is responsible for verifying delivery from client to server. TCP/IP forms the basis of the Internet and is built into every common modern. operating system Are robotic devices comprised of sensors and actuators for mobility and/or manipulation and are controlled remotely by a human operator. An electronic switch or amplifier. It is a very basic silicon chip. Include in addition to the manipulator or other tool or sensor system that actually accomplishes a task, the vehicles or platforms that transport the tools to the site. These vehicles are called remotely operated vehicles (ROV’s) or autonomous undersea vehicles (AUV’s); the feature that distinguishes them is, respectively, the presence or absence of an electronics tether that connects the vehicle and surface control station. Vehicle without a person on board variable virtual reality volt W WAN wide area network webcam wireless word work space world model X XOR Y Z In programming languages a language object that may take different values one at a time. The values of a variable are usually restricted to a certain data type. Computer simulations that use 3D graphics and devices such as data glove to allow the user to interact with the simulation. The measure unit of electric tension. Take two local area networks hook them together and you’ve got a WAN. Wide area networks can be made up of interconnected smaller networks spread throughout a building a state or the entire globe. Any video camera whose output is available for viewing via the Internet or an intranet. Typically a webcam would be a slow-scan CCD video camera connected to a video capture card in a computer. Images from the camera are captured periodically and made available on a web page. A term describing a computer network where there is no physical connection (either copper cable or fibre optics) between sender and receiver, but instead they are connected by radio. A mobile robot is often connected to remote host computers by a wireless connection. A fundamental unit of storage in a computer. The size of a word in a particular computer architecture is one of its chief distinguishing characteristics. The size of a word is usually the same as the width of the computer's data bus so it is possible to read or write a word in a single operation. An instruction is usually one or more words long and a word can be used to hold a whole number of characters. All of the places a single robot can reach in its surroundings, within its range of motion. The work envelope of each robot is suited to the job it is programmed to accomplish, and can vary considerably from one robot to another. An information structure built up in the memory of a computer or robot, based on both initialisation and heuristic interaction with the environment. This is the exclusive or. A more complex gate, the output is only when either of its inputs are true, but not both. That is if one OR the other of the inputs is exclusively true then the output is true.