970 likes | 1.42k Views
Peter van Lith Embedded Intelligence Embedded Intelligence The Technology What are Embedded Processors and Why Processor Families Application Areas Facilities I/O Systems Trends Embedding Intelligence Typical problems Applications RoboCup, Aibo and Camera’s Overview
E N D
Peter van Lith Embedded Intelligence
Embedded Intelligence • The Technology • What are Embedded Processors and Why • Processor Families • Application Areas • Facilities • I/O Systems • Trends • Embedding Intelligence • Typical problems • Applications • RoboCup, Aibo and Camera’s
Overview What is different about embedded processors • What are Embedded Processors • Processor Families • Application Areas • Facilities • I/O Systems • Trends
Introduction • What is it • Small computers • Controllers • Why Embedded processors • Size, weight, Power consumption, Simplicity / Reliability • Cost • Real-time • How to embed intelligence • Usually with PC / Notebook • Consumes much energy / space • Also use of PLC’s • Distributed model functions more flexibly • Use of hardware agents
Embedded Intelligence What it is NOT • The kind of intelligence in • Intelligent Terminals vs • Dumb Terminals • Applied AI in smaller processors
Applications Number of processors considerably larger than PC’s, medium and mainframe computers together • Stand Alone • PDA, Games, Remote Control • Peripheral Controllers • Keyboards, TV, Video, Radio, Machines • Complex • Cars, Process Control • Networked • Telephone, Web Interface, Printers, Coffee machines • Ad-Hoc - Sensor Nets, Swarms, Dust • Micro • Smart Cards, Smart Tags • Autonomous • AGV’s, Robots, Aibo, RoboCup, Rescue, RoboSail
Embedded Families • PC Based • Interpreters • C/C++ • OS Based • Symbian, WinCE, WinXP Embedded, Linux • DragonBall, Arm, StrongArm • PC 104 • J2ME – cldc, cdc • Stand Alone • 8051, HC11, ST6, H8, Pic • Interpreters • Basic Stamp • Java Stamp, TStik (Tini) • JCX • Lego Brick (H8) • JCX Interfaces • Java processors • JStik, JStamp
Applications • Historical growth • Mainframes - N : 1 • PCs - 1 : 1 • Embedded - 1 : N • The software problem • Hardware used to be reliable • Simple • Clear interfaces • Growing software unreliability • Testing of interfaces
Facilities • Protection • Power Management • Memory • Architecture • Bus Architectures / Interfacing • Level converters • In Circuit • Speed
Facilities Protection • Power Management, • Brownout • Watchdogs • Code Protection Power Management • Speed control • Sleep mode • Function switchoff Memory • EEProm, Flash • On Chip RAM, Off Chip RAM/Flash • Bank switching • Memory Mapped I/O
Facilities Architecture • RISC, CISC, Harvard, von Neumann • Small Footprint • Multiply/Divide • Array Functions • DSP Functions • Level Comparator • AD/DA converters Bus Architectures / Interfacing • Chip Select • Data and Address Bus • High Speed and Low Speed busses • Peripheral interfaces
Facilities Level converters • TTL 5v • CMOS 3.3 v, 1.3 v • Differences in logic levels In Circuit • Programming (ICP) • Debugging (ICD) • Emulation (ICE) Speed • Crystal divide • Phase Lock Loop • Idle Loop • Clock speed variation • Overclocking
Interfaces Inter Procesor • SPI, I2C, One Wire, Parallel, Serial Testing • Boundary Scan, JTAG, ICD, ICE Inter-System • Serial, TCP/IP, USB • Wireless • RF, IrDa, WiFi, BlueTooth, ZigBee • Sensor Networks Inter-Chip • SPI, I2C, On-Chip networking
I/O Systems • I/O types • Switches • Sensors • Displays • Sound • Actuators
I/O Systems - Inputs Switches • Keyboards • Touch Screens • Contact switches • Magnetic switches
I/O Systems - Sensors • Optical Encoders • Magnetic Sensors • Hall Effect, Magneto Resistive • Optical Sensors • IR, PIR, LDR • Image Sensors • Arrays, Camera chips • Sound Sensors • Microphones, Piezo sensors • Ultrasonic sensors • Gas Sensors • CO, CO2 • Other • Temp, Wind, Humidity, Strain gauges
I/O Systems - Output Displays • LEDs • 7 Segment Displays • LCD Displays • COG Displays Sound • Beepers • Speaker Systems • Speech chips • Speech recognition chips
I/O Systems - Actuators Motors • Motor Controllers • Stepper Motors • DC Motors Power Drivers Valves, Pneumatic, Hydrolic Relays, Solenoids
Power Management Power systems • Mains, Battery, Solar • Battery Systems • Lead Acid, NiCad, NiMh, LiOn, Polymer, Fuel Cell • Regulators • Step Down, Step Up, Switching
Trends • Embedded Logic • Asics • CPLD’s • Hybrids • Configurable Logic • FPGA’s • VHDL, JHDL • On-Chip networks
New Hardware Logic ASICs – Application Specific Integrated Circuits • Development of IC is very expensive (> 1 mi$) • Takes a long development cycle • Development done with VHDL (Very hi speed ic Hardware Definition Language) • GAL – Gate Array Logic • CPLD – Custom Programmable Logic Devices • FPGA – Field Programmable Gate Arrays • RAW - Random Access Wiring project at MIT
FPGA • FPGA consists of Gate Arrays, which has: • DLL - Delayed Locked Loop for clock timing • RAM – Block RAM • IOB – IO Blocks • CLB – Configurable Logic Block
CLB • Configurable Logic Block uses: • LUT – Lookup Table to define functions • MUX - Multiplexers to connect input pins to Gate Arrays
Logic Block • Logic is defined just as with discrete hardware components • Process the same as creation of PCB and IC • Many tested IP components available • Compiled into VHDL to generate layout • JHDL version to define logic in Java • Compilers to transform C into VHDL
Embedded Intelligence Conventional • State Machines • Heartbeat • PID controllers • Sensors and actuators Advanced • Fuzzy Logic • Subsumption • Sensor fusion • Organic growth • Neural Nets High level programming • Patterns • Virtual Machines
Subsumption • Development of complex systems often requires several generations • Each generation requires a redesign • Restructuring causes incompatibility Rodney Brooks (MIT) developed an architecture that allows evolutionary development • Once a components works it is not changed any more • New functionality is added on top of existing structure
Avoid Walk Leg Up Leg Down Vertical Position Leg Forward Vertical Balance Horizontal Position Subsumption architecture
Emergent properties A new combination of existing properties that prove useful for something unexpected • School of fish / Swarms • Cockroaches • Birds / feathers Something for nothing Side effects that have a life or their own
Embedded Intelligence Control Issues • Localization, odometry • Grounding • Path planning • Goals and beliefs • Conflicts • Noise Desirable interfaces • Camera Systems • Image Analysis • Sensor processing • Sampling • Sensor fusion • Sensor networks
Understanding Understanding Braitenberg’s Vehicles Most people give an explanation of the behavior that is more complex than the internal structure deserves Angry Afraid Admiration Curious
The need for intelligence • A robot needs to make its own decisions • It needs to recognize and understand its environment • It needs to be able to communicate • With people • With other robots • It needs to move around in its environment • It needs to adapt to its environment
Current possibilities • What can we do today • Only limited applications • Even simple interaction is problematic • Embodiment is important • Honda Robot • Sony Aibo and Pino • NEC PaPeRo • IS Robotics My Real Baby
Examples of applications • Asimo, primarily for demonstrations • Walks statically • Requires prepared environment • 140 cm • Sony bipeds QRIO • Static and pseudo-dynamic walk • Many sensors • 60 cm
Embedded Intelligence • The Technology • What are Embedded Processors and Why • Processor Families • Application Areas • Facilities • I/O Systems • Trends • Embedding Intelligence • Typical problems • Applications • RoboCup, Aibo and Camera’s
Overview How to use in intelligent systems • Typical problems • Robot types • Autonomous Robots • Interactive Robots • Cooperating Robots • Walking Robots • Humanoids • The Projects • Aibo and RoboCup • Intelligent Camera
Autonomous Robots Two approaches: • Top Down (1960 – 1986) • Using reasoning • Goal directed behavior • Model building and planning • Bottom Up (1986 – now) • Using reactive behaviors • No models
The need for intelligence • A robot needs to make its own decisions • It needs to recognize and understand its environment • It needs to be able to communicate • With people • With other robots • It needs to move around in its environment • It needs to adapt to its environment
The first robots Shakey (1966) • Received commands like SHRDLU • Needed to reason about every command • Used large external computer • Took a long time to execute every command • Used Reasoning and Planning
Embedded Intelligence - Typical problems Problem areas are too simple • Optimal configuration solves the problem • ScareCrow • Sensorman • Deep Blue • PID controllers AI component is always very small • Infrastructure problems are major • Construction and sensor processing • Fixed behaviour • Very difficult to integrate
The problem must be demanding ScareCrow (David Miller JPL) • Won the 1992 AAAI robot competition • Had only relays and some contact switches • Won by speed and brute force
The Sensorman • Infra Red sensors • Video camera • Stereo video camera • Stereo video color camera • Infra Red sensors So: The simpler the sensor, the better
Sense Reason Act Sense – Reason - Act • Sense • Get input from the world • Reason • World modelling • Reasoning, Decisions • Act • Output to the world • Interaction with the world
Behavior • ProActive Behavior • Planning • Goals • Beliefs • ReActive Behavior • Curiosity / Fright-or-Flight • Obstacle avoidance
Acting • Strategies • Reasoning • Neural Nets • Genetic Algorithms • Decision Trees, Augmented State Machines • Negotiation
Big Issues • The Frame Problem • Get the object from the room • Noticing • Remembering
Controversy • Analog vs Digital • The travelling salesman • Hardware networks • Physical vs Virtual • Stored program computer is a virtual network • Parallel vs Serial • Massively Parallel Machines • Still slower than network
Robot insects • Construction of artificial organisms in hardware • Evolutionary development. Layered architecture. No redesigns. • Minimal control. No central processing and as much as possible reactive systems • Use emergent principles where possible
Robot Insects Crawling is an emergent property
The need for intelligence • A robot needs to make its own decisions • It needs to recognize and understand its environment • It needs to be able to communicate • With people • With other robots • It needs to move around in its environment • It needs to adapt to its environment