0% found this document useful (0 votes)
142 views79 pages

Robotics - Wiki

Wiki Information Robotics
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
142 views79 pages

Robotics - Wiki

Wiki Information Robotics
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 79
sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl Robotics/Print version The current version of this book can he found a hpillen wikibooks.orgiwikilrobotcs. Contents = Lintodvetion ‘1.1 Defining Robots 1 1.2 Student Questions = 2Contsibutors = 3 Design Basies 1 4 What you should know 4.1 Mechanics = 42 Electronics = 43 Programming = 4.4 Solid Mechanics = 45AL = 46 Mah = 5 Physical Design = 5. General Design Considerations = 5.2 Platforms + 5.2.1 Wheeled Platforms = 52.11 Taming + $2.2 Tracked Platforms + 52.3 Walkers = 52.3.1 2-Legged Walkers or Bipeds = 523.2 4 Legged Walkers = 52.3.3 Legged Walkers or Hexapods + 5.24 Whees +525 Ball Wheels = 53 Flecironice + 53.1 Some Tips = 54 Display. = 55 Mechanicel Design + 55.1 Balance + 55. Simple 4-Wheeled Robots + 5553 Simple 3-Wheeled Robots + 5.5.4 Wheeled robots with an arm or gripper = 6 Design software 6.1 2D CAD, = 62 Solid Modeling = 63 Pneumatic & Hydraulic Simulation 664 Schematic Capture & PCB 65 uControllers + 6.5.1 Programming Languages + 65.2 Programmers + 6.5.3 Debuggers 66 Various tools = 67 Further reading = 7 Tools and Equipment = 7.1 Mechanical Tools = 72 Electronic Tools © 7.2.1 Soldering iron = 73 Breadboard = 7.4 Electronic Equipment = 75 Connectors + 7.5.1 Insulation Displacement Connectors (DC) + 715.2 RU4S network connector 176 further reading = 8 Electronie Components = 8.1 Basie Electronics = 82 Special Electronic Components += 9 Mechanical Components = 9.1 Gears + 9.1.1 Spur gear + 9.1.2 Bevelled gear + 9.1.3 Worm Gear #9114 Rack and Pinion = 9.2 foternal gear © 9.3 Chains & Belts 1 10 Building Materials = 11 Wood = 12Meal = 12.1 Aluminum hitpen.wikibooks.orgiwikiRobots/Print_version a9 sonsr2o4 Robolics/Print version - Wikibooks, open books for an open worl = 122Steel = 123 Bronwe = 124 Brass = 12.5 Copper = 13 Synthetic Materials 11 PYC = 15.2 Plexiglass = 14 Composite materials = 15 Other Materials 15.1 Foameore = 15.2 Cardboard 1 16 Basie Programming ‘16.1 Programmable devices + 16.1.1 Microcontrollers = 161.1 AVR 16.1.2 PC 16.13 Laptop 16.14 PDA 16.1.5 Gameboy 16.1.6 Gameboy Advance (GBA) 16.1.7 Programmable Logie Controllers 16.1.8 Combinations = 162 Programming languages * 162.1 Which language to pick? = 16.3 Writing your sofware = 16/4 Further reading = 17 Physical Construction = 18 The Platform 1 19 Construction Techniques 19.1 Working with Metals + 19.1.1 Measuring and Marking + 19.1.2 Cutting and Sawing + 19.13 Drilling + 19.14 Filing # 19.1.5 Bending = 19.2 Working with Plastics + 192.1 Cutting + 1922 Drilling + 1923 Filing + 1924 Bending = 19,3 Further eeading = 20 Resoureefulness = 21 Components = 22 Power Sources 22.1 Photo Voltaic Cells, 22.2 Batteries 22.3 Fuel Cells 22.4 Mechanical 22:5 Air Pressure = 22.6 Chemical Fuel = 23 Actuation Devices = 24 Motors © 24,1 AC-motor = 24.2 DC-motors + 242.1 Direction + 2422 Speed = 243 Servo f= 244 Stepper motor Stepper Motors = 2511 Stopper Motor Basics = 25.2 Common Uses Par Sources 1 26 Shape Memory Alloys = 27 Airmuscle © 27.1 Biomimetics = 27.2 Legs, wheels, treads = 273 Actuators + 273.1 Muscle + 27.32 Blectrie motor + 2733 Preumatic and hydraulic eylinder + 27.34 Braided pneumatic actuator 1 27.4 Further wading = 27:5 References 1 28 Linear Electromagnetic = 28.1 Applications = 28.2 Design Considerations ' 282.1 Calculating Force = 29Piezoclectic Actuators = 29,1 Piezoelectric Effect hitpen.wikibooks.orgiwikiRobots/Print_version sonsr2o4 Robolics/Print version - Wikibooks, open books for an open worl + 29.1.1 Materials with the Piezoelectric properties = 29.2 Plezoeleetie Actuators + 29.2.1 Piezoelectric Motors = 292.11 Linear 2 Rotary 3 Stepper = 292.14 Squigele Motor = 29.3 Roboties Applications 1 29:4 References = 29.5 External Links 30 Pneumatics Hydraulics = 30.1 Pheumati systems 30.1.1 Applications + 30.1.2 Design Considerations + 30.13 Caleulating Output Force = 3011.3.1 Notes + 31 Miniature internal combustion engines 1 32 Grippers = 32.1 Kind of grippers 32.2 Scoops = 323 Tongs, 32.4 Hands! 32.5 Degrees of Froedom = 32.6 References #33 Audio = 33.1 The Theoretical Bdge 1 33.2 The Different Components + 332.1 Preamplifier +3322 Amplifier + 3323 Analog to Digital Converter ADC + 33.204 Digital to Analog Converter + 33255 Oscillators + 33.215 Dedicated sound Chips = 34-Video ‘= 34.1 Camera, transmission, display 34.2 Computer Vision 343 Demossicing 34.4 Image Registration 3455 Image Differencing 346 Image Recognition 34.7 Image Segmentation 35 Computer Control 36 Control Architectures 37 Reactive Systems 438 Sense-Plan-Act 39 Brooks’ Subsumption Architecture 40 Hybrid Systems 41 Swarm Robotics = AL Overview: = 41.2 Basic Swarm Robotics: 41.2.1 Examples: 42 Ant Colony Optimization (ACO): 43 Particle Swarm Optimization (PSO) 444 The Interface 45 Personal Computers = 45.1 External Ports 45.1.1 Serial Port + 45.12 Parallel Port + 45.13 USB. 45.1.4 IEEE 1394: Firewire, link, Lynx 45.15 Keyboard Connector 45.1.6 Ethernet = 45.2 Incemal Ports #452118, + 4522PCl + 4523 AGP 45.24 PCI Express = 45.3 Wireless + ASS. IRDA + 453.2 WiFi/ WLAN / 802.11 / Wireless Etheme 45.33 Bluetooth + 453.4 Zighee + 4535 UWB #45336 Wireless USB. + 453.7 Cellular networks + 45.5.8 Radio modems = 45.4 Using a PC of laptop in a robot 1 46 SBC and multichip modules hitpen.wikibooks.orgiwikiRobots/Print_version sonsr2o4 = 46.1 SBC: Single Board Computers + 46.2 Multchip Module Boards 1 46.3 Further reading = 47 Microcontwollets 1» 47.1 Further eading 1 48 Remote Control = 48.1 Wired Remote Control © 48.1141 Limited Range + 48.12 Methods #4813 Advamages 1 48.2 Wireless Remote Control +4820 + 4822RF + 4823 Speech Recognition #4824 Sound = 48,3 Nework contol = 49 Networks 49,1 Standards + 49.1.1 PC + 49,12 RS232 # 49,13 R822 # 49.14 S485 + 49.15 CAN + 49.1.6 lwire # 49.17 SPL = 49.2 Panther roading = 50 Sensors = 51 Environment sensors 1 S11 Object Sensors = 51.2 Media Sensors = 52 Thermal Sensors 152.1 What is temperature? = 52.2 Units and thei conversions + 52.2.1 Degrees Celsius + 5222Kelvin #5223 Fabreneit + 52.3.1 Nowelectic methods 1 52.3.2.1 Thermocouples = 523.23 Semiconductor = 52.4 Panther reading 53 Pressure Sensors = 53.1 Measuring Pressure 1 53.1.1 Analogue Methods + 53.1.2 Electric Methods 1 54 Ranging Sensors 54.1 Description 1 54.2 Sonic Sensors + 542.1 Sonic Ranging + 5422 Seanning Ranging ‘= 54,3 Visible or Infiared Light-Based + 54.3.1 Basic Proximity + 543.2 Ranging Light Based Si = 55 Touch Sensors 55.1 Construction = 55.2 Advantages = $5.3 Disadvantages 1 56 Feedback Sensors 156. further reading = 57 Communication Sensors = 57.1 Data transmission channels #37111 + S712RF = $7.2 Using IR ' 572.1 Remote Control 157.3 Farther reading 1 58 Real World Sensors = 58.1 Light Based Sensors 1 38.1.1 Reflection: short range: + 58.13 Reflection: Long range + 5814 Camera Iitpten.wikibooks.orgiwikiRobotes/Print_version ' 46.1.1 Stacking modular connector boards + 48.1.1 Issues With Wired Remote Conteol = 48.1.2 Mechanical Issues With Cables = 52.3 Methods of measuring temperatures + 523.2 Blecric or thermoelectric methods = 52.3.2. Temperature sensitive resistors = 52.3.2.4 Radiation Thermometer & Optical Pyrometer + 58.1.2 Reflection: medium range sensors RobolicsPrint version - Wikibooks, open books for an open world sonsr2o4 Robolics/Print version - Wikibooks, open books for an open worl + 58.1.5 Stereo vision = 58:2 Sound Based Sensors ' 582.1 What is sound? + 582.2 Doppler effect + 5823 Speed of sound + 582.4 Reflection + 582.5 Resonance + 58256 Diffraction = 58,3 Ultrasonic Distance sensors 583.1 Distance Formula + 583.2 Availability & Range + 583.3 Potential Problems 1584 Magnetism Based Sensors 1 584.1 Compass sensors 1 58.5 Other distance sensors = 58.6 Further reading ‘59 Digital image Acquisition 159.1 Image Sensors + 59.11 CCD + 59.12. Mos = 59.2 Color Images 59.2.1 Color Filtering Array = 59.3 Image Transfer 1 59:4 References = 60 Navigation 1 61 Navigation = 61.1 What is Navigation? = 62 Localization = 62.1 Current Location = 62.2 Dead Reckoning = 6233 Least Mean Squares + 623.1 Derivation of LMS Algorithm + 62.32 Procedure LMS + 62.33 Various Variations + 62.34 Additional Sources for Application and Theory + 62.3.5 References 62.4 GPS Global Positioning System 62.5 GPSlike Systems 626 Line folowing 62.3 Landmarks 1 62.8 Current Heading = 63 Collision Avoidance = 63.1 Basie Idea = 63.2 Example Algorithm = 63.3 Major Probe 1 63:4 Detection vs, Avoidance = 63.5 Collision Avoidance Algorithms + 63.5.1 Quad Trees) = 635.141 Advantages = 63.5.1.2 Disadvant = 63.6 References = 64 Exploration = 65 Mapping 1 66 Trajectory Planning = 66.1 Trajectory Planning + 66.1.1 Problem Constraints = 6.1.1.1 Holonomicity 1 66.1.2 Dynamic Environments + 6.12 Concepts # 66.13 Planning Algorithms = 6.13.1 Potential Field Planning 66.132 Sampling Based Planni = 66.133 Grid Based Planning = 67 Exotic Robots 1 68 Special Robot Brains = 68.1 Mechanical Robot Brains 68.2 Pneumatic Robot Brains = 69 BEAM robotics 1 70-Cooperating Robots = 71 Hazardous Environment Robots #711 Mars Pathfinder 11.2 Huble Telescope 11.3 Pioneee Pipeline inspection 71.5 Talon Sword oa hitpen.wikibooks.orgiwikiRobots/Print_version sonsr2o4 = 72:1 Domain of Operation = 72.2 Degree of Autonomy = 723 Goat 73 Contest Robot 74 Contests 74.1 Fie fighter = 74.2 Maze or obstacle course navigator + 742.1 Maze + 742.2 Obstacle Course 1 743 Soveet robot = 7414 Sumo Robot = 7435 further reading 75 Eotertainment Robot 16 Arms 7) Wheeled 78 Wheeled Robots 78.1 Navigation = 78.2 2avhecled robots 782.1 Examples = 782.1.1 Roomba = 78.2112 Segway = 782.13 Ghost Rider 78.3 3owhecled vehicles 784 Omni Wacels = 78.5 4avhecled vehicles + 785.12 powered, fee rotating wheels + 785.2 2-by-2 powered wheels for tanklike movement #7833 Carlike steering + 785.4 Examples = 78.65 or more wheeled vehicles + 786.1 Examples = 78.7 One Wheel 179 External links 80 Tracked 81 Walkers 82 Legged Robots 821 Legs v. Wheels = 82.2 Dynamic v. Stale = 82.3 More Than Four 1 824 Four Legs 82.5 Three Legs 82.6 Two Legs = 2.7 One Lep 83 References ‘84 Modular and fractal robots 1 84,1 References = $4.2 Purther radi 85 The LEGO World = 85.1 Why Lego? = 5.2 History = 55.3 Standard Components 1 854 Programming Options © 8581 NXT.G + 85.62 Robolab + 85.63 Robot + 85.44 LabVIEW Toolkit, #85045 BriexCC 1 85.5 Third Party Accessories + 855.1 Hieebnie 185.52 Vernier + 85.53 Mind Sensors 1 85.6 Lego Robotics Events, Challenges, and Acheivements = 55.7 References 86 LEGO Robots = 86 Interface = $6.2 Programming und Software 87 Introduction tothe RCX 88 Programming the RCX 89 Resources = 89.1 Other Wikibooks ‘89.2 External inks = 69.3 Free Wikis on Robotics 89.4 University and College Sites 89.5 Papers Introduction hitpten.wikibooks.orgiwikiRobotcs/Print_version Robolics/Print version - Wikibooks, open books for an open worl sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl Roboties can be described as the current pinnacle of technical development. Robotics isa confluence science using the continuing advancements of ‘mechanical engineering, material science, sensor fabrication, manufacturing techniques, and advanced algorithms. The study and practice of robotics vill expose a dabbler or professional to hundreds of different avenues of study. For some, the romanticism of robotics brings forth an almost magical curiosity ofthe world leading to creation of amazing machines. A joumey ofa lifetime awaits in robotics Robotics can be defined asthe sclence or study ofthe technology primarily associated withthe design, fabrication, theory, and application of robots. While other fields contribute the mathematics, the techniques, and the components, robotics creates the magical end product. The practical applications of robots drive development of roboties and drive advancements in other sciences in turn, Crafers and researchers in robotics study mor than just robotics. ‘The promise of robotis is easy to deseribe but hard forthe mind to grasp, Robots hold the promise of moving and transforming materials withthe same elan and ease as a computer program transforms data. Today, robots mine minerals, assemble semi-processed materials into automobile ‘components, and assemble those eomponents into automobiles. On the immediate horizon are sel-driving cars, robotes to handle household chores, and assemble specialized machines on demand. Its not unreasonable to imagine robots that are given some task, such as reclaim desert into pPhotovoltaie cells and arable land, and left to make their own way. Then the promise of roboties exceeds the minds grasp. In summary, robotics is the field related to science and technology primarily related to robotics. t stands tall by standing the accomplishments of many ‘other fields of sudy, Defining Robots Robot used in English describes any construct that automates some behavior. For example, a garage door opener automates the behavior of opening a door. A garage door opener bas a sensor to detect the signal from the remote contrl,aetuatrs to open the door, and a control system to stop turn off ‘the motors and lights when the garage is fully closed. In practice, ths type of a machine is beter described as a Mechatronie device, and isa subset of the more interesting robots that include autonomy of resoueefulness. This book will consider mechatrone deviees to be degenerate robots [A Mechatronic Device isa degenerate robot with hese components Sensors, which detect the state of the environment 2. Actuators, which modify the state ofthe environment 3. A Control System, which controls the se‘uators based on the environment as depicted by the sensors ‘A Robot isa mechatronie device which also includes resourcefulness or autonomy. A device with autonomy does its thing "on is own" without a ‘human dreetly guiding it moment-by-moment. Some authors would contend that all mechatronic devices are robots, and that this book's restriction on ‘robot entails only specialized software Various types of robots are usualy classified by their capabilities. Two examples will he used to capture most of what we see a a "robot Machine Pet: A machine, capable of moving in some way, that can sense its surroundings and can act on what it senses autonomously. Most of| these robots have no real useful purpose, other than to entertain and challenge. These are also commonly used for experimenting with sensors, artificial intelligence, actuators and more, Most of this book covers ths typeof robot. 2, Autonomous Machine: A machine with sensors and actuators that can do some sort of work “on its own", Ths includes thing lke robotic lawnmowers and vacuum cleaners, and also sel-operating construction machines such as CNC culters. Most industrial and commercial robots fall in this category ‘What isnt considered a "robot inthis book? Prety much everything you see on RobotWars; those are remote-controfled vehicles without any form of aulonomy, no sensors, and just enough of a contol system to drive the actuators, These devices use many of Ue same mechanical technologies ‘described in this book, but not the advanced controls. In short: [Fit has autonomy i's a robot (inthis book). I's remote controled, iin Student Questions Which of these studies would be considered robotics by this definition? 1. Studying the strength and flexibility of ttanium alloy used to make a robotic arm? 2, Tategrating sensor data from sonar, laser, and CCD cameras and to build an accurate map of surroundings? 5. The real-ime sofware needed to drive two motors to make a robot goin a straight line? 2. Classify each ofthese as a robot, a mechatronic device, a machine, or something else? A spam email filter. A garage door opener: ‘A remote controlled boat, ‘A 1970s automobile. ‘A current model automobi ‘An Apple iPod, ‘An actor ina silver suit. 3. What is a sensor? e which includes lane-following Contributors = CpLIEE 300; Introduction to Robotics (htp:/introroboticsgooglepages.comy) class atthe Missouri University of Seience and Technology (htp:www.mst edu) - Updates/Reworks to various pages = TR Darr responsible forthe (almost) complete reformat. IFT knew anything about robotics, th = 1D. Cox Atempting to fill n certain areas with basic information, ‘= Omegatron I've built a handful of short-lived litle robots, and since then I went and got myself an electronics degree. I'l probably just add to and clarify things that other people have contributed. I tend to only contribute to things that are already active, so be active! rd have contributed 1o the content as well, hitpten.wikibooks.orgiwikiRobotcs/Print_version 79 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl * Patrik - As time permits 'm adding more info I've found to be missing in many other sources. I've gota degree in electonies and I've designed and build several robots. E, Sumner Active member ofthe Dallas Personal Roboties Group Trying to flesh things out a bt here. Mr Dom - just added my two cents worth DavidCary - degree in electrical engineering. So in theory Tought to know :-) “Magnus Persson - studying for Master of Science in Automation Enginecting, added sections on PLCs and wireless communications Piyoosh Mukhija - Degree in Electronics & Communication Engineering. Warking on Autonomous Robotics Research at L&T Infotech, ‘Attempting to fill in some missing things I believe I know about + 5] Manderson - Physics Student in New Zealand, Added sections on Electromagnetic Actuators and Pneumatics thus Fr Design Basics What you should know Robotics spans multiple scientific and engineering disciplines, so when you want to design a better robot you should get some basic knowledge in these Fields, How much you should learn depends on how complex you want to make your robot, To give an example: A sal tethered tabletop robot Would ‘only require some basic knowledge in electronics and programming, a shoe box sized robot would require some additional knowledge on mechanics {mostly about balance) and a large robot might even requie some kowledge on solid mechanics, This page covers the fields that are very much used in robotics, You dont need to knovr everything about al of these subjects, however knowing the ‘each of these Fields eam help in building beter robots and prevent you from making (some of the) beginner's mistakes. basics Mechanics Mechanis is about: snsferred between the different parts ofa constuction, = how forces are = where the center of gravity lies * friction * position, speed, acceleration = Newtons laws ‘material properties ‘Mechanics helps Keeping @ robot in balance. Although you could build a robot without knowing anything about mechanics, it help in preventing that ‘your robot tips over when turning, or when picking up something Another point where mechanics pays off are axles. On small robots you can attach the wheels directly tothe output shaft ofthe motor. However this ‘doesnt work well fr larger robots as this puts @ lot of stress on the internals of the motor. A better way is to attach the wheel to an axle, and use gears to connect the motor tothe exle. Knowledge of mechanies allows you to build such constructs. I your robot is a small line follower almost any building material will work. However if your robot weighs a few kilos, something sturdier than ‘cardboard and soda sippers is appropriate. And if your robot is human size you should consider metal and/or composite construction, See Theoretical M nies fora introdetion in this Feld the "Theoretical Mechanics" is just started, so there isn't much o read just yet. Electronics Electronics is about * electronic components 1 Analog circuits * digital logie = microcontrollers Electronics is something you can't go without (unless you want to build « complete mechanical robot or se pneumatics for contro). Today there are plenty of books covering basic elecitonies (See Electronic). Programming ‘Compister programming is about * Control structures (Sequence, selection, iteration) 1 Data types (constants, variables, integer, real, string...) = Algorithos = Hardware control (setting and reading register nterupts,..) [Anyone who has had an introdctory course on programming (as they are given in American high schools) would be familiar with the firs three points. ‘The fourth point i rarely addressed in introductory courses, but i essetial when programming microcoztollers. Although it might sound dificult, i ean be very easy in practice (for most purposes). Much of this comes down to sting bits in a byte using simple Boolean logic, and writing this value hitpten.wikibooks.orgiwikiRobotcs/Print_version are sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl into Some register or memory location. Higher level languages like Bascom provide hardware addressing as special variables, which can be treated just like any other variable ‘Microcontrollers (and processor boards) ae one ofthe areas where using Assembly is stil very valid. Memory (both RAM and program space) is very limited in these, although each new generation of microcontroller has more memory for about the same price. Many microcontrollers provide between 2K and 30K. and processor boards tnd fo have up o 256K. These numbers vary wildly, bu are sill significantly less than PCs have. However if you ‘dont know an assembly language, most microcontroller and processor boards have high level language compilers available in many flavors (C, C+ Basic, Pascal, Fortran, te.) Robot programming is also about += The Event Loop. Most mirocontrollers do not have the resources for threading. You will need to look at your robots task a fraction ofa second ata time, and choose which small action take. What can the program doin that moment to get a lite bt eloser to its goal? = Interpreting sensor data, Sensors have many ways of providing noisy or misleading information; how many types of eror ean you accept? Dit in a rheostat, a broken switch, and venetian blind flickering on a photodiode are obvious faults. How about temperature drift, non-linear response curves, o your robot seeing its own shadow? += Decision making, or Artificial Intelligence is the art of making the right decision given the constraints of the current system. = Motors and motion, Makisg motion on a robot often involves moving several motors at once, often with feedback from sensors. Solid Mechanics Solid mechanics is about bow forces distribute inside solid materials, Knowledge about this subject is useful be to loads. Ths helps to prevent using too thick or too thin materials. Tis ist required for small or medium robot, uti allows to be more effci ‘vith building materials and gives insight to why and how materials fil (break andor deform), See (this wikibook (http sfen.wikibooks.org/wiki/Solid_ Meckanies)] for a start on solid mechanics. Be warned: heavy math ahead. sae it explains how materials respond eat Even if you have a moral fear of math, bite through ths sit gives valuable insights on how materials break and deform, No need to memorize the ‘math, a long as you get the idea behing it AL Aatfcial Intelligence (in Robotics) i about: += Finding the shortest way between 23 (or more) points = Dealing with obstacles ‘+ Handling new situations (machine learning) ‘There are many books available on AT on many different levels. This area has hada short but already fruitful story, but still has a very Tong way to go, Alan just about getting a computer to think and reason, I's more about ordering, sorting and organizing knowledge in a machine and constructing Algorithms for extracting real world conclusions from these databases. A search engine like Google (htp:/www. google.com) or Yahoo {(hutp: ww yahoo.com) are examples of real uses of Al ‘Other than pure AI books, books on how the brain works and such can provide interesting angles to Alon robots. Concepls ike attention and ‘concentration can have intresting uses in some form for integrating sensor data, Math [Although math is generally seen asthe ultimate theoretical scienes it ean be one ofthe most important skill in many of the more advanced domains of robotics. eg. Mechanis uses a lot of math, For simple constructs you wos't need much more than high schoo! level math, for more complicated shapes it becomes necessary to use more complex math tools lke integrals, But since robotics isa very practical craft many things ean be done with approximations. Math however ean be very helpful in making the right approximation Physical Design General Design Considerations Designing 2 robot requires balance between size (mostly weight), motor power and battery power. These three elements are connected with each other (more battery power increases the weight ofthe robot and requires stronger motors) and finding the "perfect" balance requies a lot of tweaking and ‘experimenting. Ty to describe heavy components in output/mass (e.g. motors: torgue/Keg; batteries: mAh/Kg) and pick the one that gives the highest value Using light materils brings down the weight significantly aluminum instead of stel), Building a frame out of light metal and using plastic plates as surfaces would be alot lighter than using metal plates. For small robots acrylic plastic i @ good material to use andi is easy to work with There are other ways to build a robot than to cut and drill your own aluminum plats. Toys like Lego Technic and Meccano, although expensive, are an altemative when you don't have the ability to cut and drill your own parts. Especially Meceano (or better: the cheap imitations) can be useful even ‘when you do make your own pars. There is something convenient about having a collection of parts with standard holes and sizes. OF course you ‘would need to drill our own holes atthe right dstanees and size, if you intend to add Mecano pars. The values ean (most likly will) differ between different “brands” of imitations. Soi’ a good idea to buy a few boxes when they are onsale. Screws tend to be MS (nthe set ve seen so far this is the only vl that is common. The hole spacing very rarely matches up). hitpten.wikibooks.orgiwikiRobotcs/Print_version ore sonsr2o4 RobolcsPrint version - Wikibooks, open books for an open world Another kit that would be good to use isthe Vex™™ Robotic Design Kit from Radio Shack, The parts in this kit are all metal with holes prelled every haan inch. That makes i easier add to parts that you may already have. This kit gives you everything you need lo get started with robots, Ifyou do not want to buy the kit you could just buy the Vex™ Metal and Hardware Kit for Robotics Starter Kit ‘When you start your design, frst decide how big you want your: ‘af a shoe box”) will be sufficient. Exact values ean be "calculate size and shape of te robot. bot to be. Don't think about exact sizes, compare itto the size ofan object ("the size after you've got your motors and batteries, as these have a large influence on the ‘Make an estimate about the weight of the complete robot and pick your motors and wheels. Keep in mind you need high torque and low speed. A bare DC-motor has high speed and low torque, adding a gear reduction will solve this one. Motors with reduction gears are also available. The speed of your motor and the size af yout wheels determine how fast your rbot will be able to move, or example: RB-35 is a motor wih a 1:50 reduction. It makes 120 RPM or 2 rounds per second. Lets pick a whect with «diameter of 20cm (radius R = 10cm). This wheel has a circumference of 2 x 7x R = 2x 3.14 x 10 = 62.8em. This means in one tur the wheel moves 62.8em, When We mount ‘this wheel onthe motor itll tum twice every second and therofore move 2 x 62.8em = 125.6em. So its speed would be 125.6cmsccond or 1 2S6mui. In really this speed is going tobe a litle lower as the motor tums 120RPM without « load. But even a 1 miss pelt fast for indoor robots. Youll probably use PWM or ther methods to stow it down. Pick your batteries. Make sure you hove enough power to keep the motors and all the electronics runsing fora suicient amount of time and keep some reserve for future additions. Compare the weight of the batteries and motars you've chosen to what you had planned. You might need to go over this part again (picking different motors and/or batteries) Keep in mind that your robots body has 2 significant weight Platforms ‘Wheeled Platforms ‘Wheeled platforms can have any number of wheels. Most common are 3, 4 and 6 wheeled vehicles (excluding wheels used for feedback). Other inambers are also possible, but can be bard to build, suchas L-whecled or 2-whecled robots, or have superfluous wheels which ean make suring difficult or complex. Basically there are 2 types of whecls: powered wheels and unpoweted wheels. The frst are powered by the motors aud are used t9 ‘move the robot forwards (or backwards). Unpowered wheels are used to keep the robot in balance by providing a point of contact with the round. Turning ‘Tuming can be accomplished in several different ways: ' Differential Stering (Tank-like Turning) ‘= Moves one wheel forward andthe ether backwards, The robot tums around within a sonal eizele which center lies in between the 2 powered wheels. 1+ Move one wheel slower than the other, the robot turns in the direction of the slower wheel. How fas it tums depends ox how large the iference between the 2 speeds is. Motor Motor 1 ny ( Free Turning whee! ‘Ackerman Steering: This is the seme steering system asthe one used in cas, Ii relatively complicated to implement since the inner and outer ‘wheels need to turn to different angles. + Crab Drive: Each wheel can sum independently in era drive steering. This can be very flexible, but requires complex mechanics which cither turn the entire motor/gearbox/wheel assembly or transfer power from a statically mounted motor. The second option is much more difficult to Duild but may have advantages over the firs. S-wheeled platforms: These ean come in a variety of forms, wit the articulated wheel powered, or with the two fixed wheels powered, or a ‘combination of the two. These are generally built for very speific purposes Onnidiretional wheels: The omnidirectional wheels design is based upon the use ofa series of fee turning barrel-shaped rollers, which are ‘mounted ine staggered pattem around the periphery ofa larger diameter matin wheel, For this you need 4 powered wheels. However these wheels allow movement in any direction without turing (including sideways aad diggonal movement) and can tun the same way asin tanklike steering. Building these wheels is time-consuming, but its a very powerful steering method. Also, inexpensive omnidirectional wheels are available commercially, often used in conveyors. One drawback, however, i the lack of sideways traction; if something is pushing the robot 10 the sie, it relies on the strength ofthe motor or brakes to restrain it. Ommidirectional wheels used in place of easter wheels can provide quicker responses and ean often rollover larger obstacles, Tracked Platforms ‘Tracked platforms use tacks similar to tanks. This kind of propulsion is only useful on loose sand and mud, as conerete and earpet provide too much borizontal traction when turing and will strip the tracks off oftheir guides. hitpten.wikibooks.orgiwikiRobotes/Print_version 10179 sonsr2o4 RobolcsPrint version - Wikibooks, open books for an open world Walkers Walkers are robots that use legs instead of wheels or tracks. These robots are harder fo build than wheeled robots and can be & nice challenge for an experienced builder. Walkers ae designed to imitate how animals (or humans) move 2-Legged Walkers or Bipeds ‘This i the hardest type of walker. This type tres to imitate how humans walk. The biggest issue is balance. ‘Two-legged watkers are used for two main purposes: to imitate humans and to provide a great amount of force and traction. Taller walkers used t imitate humans are diffiult to build, requiring many balancing circuits and deviees, quick motions, and precise construction. Just like any human knows, these can also be knocked over, tripped, etc. Shorter, wider walkers can be used to move a large load. When using walkers, iis possible to use paeumatic systems, which can provide a much larger force than motar. However turning with such a system is nearly impossible A-Legged Walkers 4 Logged walkers imitate 4 legged animals. Many of these designs end up moving one leg at atime, instead of the 2-legged movements typical of animals, I requires 3 legs to be on the ground to provide static balance. Dynamic balance moving 2 legs a a time provides faster and more Duid 6-Legged Walkers or Hexapods “These walkers are imitations of insects. Many of these move 3-legs-t-t-time to provide static balance, Because half ofthe legs ean be moved at one time without losing stati balance, 6-legged walkers ean actually be simpler to build than 4-legged, "Note: Static balance means the construction is at alltime in balance. Tis means that ifthe robot would stop moving at any time it wouldn' fall over. In contrast there is Dynamic Balance. This means thatthe robot is only in balanee when it completes is step. [Fits stopped in the middle ofits step it ‘would fall over, Although this might sound like a bad thing, dynamic balance allows much faster and smoother movement, but requires sensors to sense balance, Animals and humans move with dynamic balance, Whegs ‘There are various combinations of wheels and legs tat are useful for varying terain. For quick details see [5] (upbiorobots.ewru.eduprojectswheps/whegs him). Ball Wheels ‘This means of propulsion is very similar to how a cassie computer mouse works: A ball is mounted in @ casing in such a way that t can Geely rotate in ny direction, Two wheels aroune the ball are mounted against this ball at an angle of 90° to each other, parallel tothe ground, One wheel registers the ‘up-down movements and the athe the left-right movements [A ball wheel uses the same setup but connects the internal wheels ro motos. This way the ball can be made fo rotate in any direction. A robot equipped ‘witha ball wheel can move up-down and left-right, but cut rotate around its vertical axis. Using 3 ball wheels allows rotation as well Electronics ‘The electronics of a robot generally fall in 6 categories = Motor contol: controls the movement of the motors, servos and such. Relays and PWM U-bridges fll under tis category. Sensor reading: reads the sensors and provides this infozmation to the controle, ‘= Communication: Provides a link between controller and an external PC, another robot, or 8 remote contol * Controller: microcontroller bourd, processor board or logic board. This part makes decisions based on sensor input and the robots program. * Power management: parts that provide a fixed SVDC, I2VDC or any other level coming from the batteries. Circuits that monitor the status ofthe batteries. = Glue logic: Additional electronics that allow all the parts to be connected with each other. An example is a CMOS to TTL level converter, Notall ofthese categories are present in all robots, nor does every circuit fll completely into one category. Many robots don't require a separate sensor ‘board asa whole lot af sensors have built-in electronics which allow them to connect directly to a wcontrllerprocessor. Some Tips 1 Use low-power (or simply dimmer) LEDs. Always. This drastically reduees how much current your eieuits consume. A normal LED consumes around 15 mA. A modem microcontroller consumes about the samt, Disabling unneeded LEDs is advisable, but not always possible Use CMOS ICs instead of elassie TTL, Again ths reduces current usage and allows a more relaxed supply voltage, But pay attention to theit sensitivity for static electricity when soldering them, Use good quality IC-sockets (or better don't use 1C-sockes tal), They’re worth their price. 1 Avoid using IC-sockets on sensitive circuits (high speed digital, clock signal and analog signals. The moving, robot can shake those ICs loose ‘overtime. Using In-Circuit programmable microcontrollers removes the need to be able to unplug an IC. + LEDs are very practical to make slow digital signals visible, adding them on some signal lines ean be interesting fr ‘esting purposes, however, they do inerease power consumption. Removing them when your circuit warks correctly can make it more power efficent (replace LED with a ‘wire, replace resistor with a higher value one) Iitpten.wikibooks.orgiwikiRobotes/Print_version 11179 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl * See if your microcontrollers can run with a lower clock speed. The higher the clock speed, the more they consume. 1 Use your microcontrollers sleep functions whenever possible, disable any part that isnt required (eg. on-chip ADC). 1 Learn to make PCBs (Printed Circuit Boards). I's not that hard and it makes your electrons look more professional. Dos't throw away yout ‘breadboard, PCBs arent very practical for prototyping. += Ifyou're up oi: build your circuits in SMD components on PCBs. This reduces size, weight, and cost, However soldering SMD ICs ist easy '50-packages (Small Outline) rent too hard for an experienced builder, Smaller packages are almost impossible to do by hand. Get good soldering tools before you attempt this. For many modera SMD microcontrollers are complete build end tested board available. These can be a Solution for those who don't have the equipment, expertise and patience to solder these ICs themselves. These boards don't have tobe large asthe ddemo-boards most IC developers sel, e.g. the BasieStamp is sueb a board withthe size ofan IC. Buy a breadboard. They're invaluable for designing and testing circuits * Ifyou itent to build your own electronic circuits, invest ina dual channel oscilloscope. Single channel is very restricting. Piek 1 bandwidth as you can afford, Atleast 4x the highest signal frequeney you intend use. with as high ' A good variable poser supply is very handy to test how your circuit operates at lower voltage levels (as happens when the batteries discharge). ' Ifyou can choose between pull-up and pullsiown resistors, pick the one that uses the lowest amount of power. Ifthe circuits output is at =5V most ofthe time, use pull-up, if is OV use pulldown, Remember that such outputs consume power when the transistor is active (when its inactive it consumes a small amount of power: a leak eurrent through the resistor and through the input impedance of the next eiuit), Use high value resistors as pull-uppull-down. But keep in mind that high speed signal lines need lower value resistor ino distortion. er to minimize signal ‘= Most electronic components ona robot will rn on a SV supply and need a SV regulator. Use a regulator with low dropout to prevent the SV supply from browning out, Display Very simple robots need only a few LEDs to show everything that it is "thinking” When trying to debug more complex robot software, itis use fr the robot to display text. A few calculators and PDAs have a RS232 connector or some other simple way to connect toa robot Many robots have such a calculator or PDA or other display strapped tothe top in order to show the humans what the microcontroller is thinking” ‘hich is vastly more productive than trying to guess what's poing on inside that itl chip of silicon, With arge robots, sometimes a flsze laptop computer is tapped ontop for such display purposes Mechanical Design Balance Everybody encounters balance every day. While walking, when putting down a glass of water or in so many other ways we have to keep a balance. Now in most of these cases you wouldn't need to thnk about it, but when designing your robot youl have to Keep an eye on this concept. For most designs, balance isn't hard to achieve, even without doing calculations on it. few rules of thumb suffice. For more complex designs, c.f. a robot with anatm, You can getaway with just some rates of thumb and some common sense, but there's no guarantee. Doing a simple calculation would make it lear ifthe robot is going to stay omits wheels or if itis going to tumble over and erush whatever it was trying to pik wp. I you're inte walkers, youl! need fo spend more atenton to balance, The fewer amount of legs you have, the more important balance becomes Simple 4-Wheeled Robots Achieving balance on this type af robot i pretty teivial. Keep the center of mas between the wheels (picture a rectangle between the centers of the ‘wheels) and as low as possible. In practice it mean you should place the heavy components e.g the batteries, somewhat in the center ofthe robot and as low as possible, Simple 3-Wheeled Robots ‘These designs are nearly as simple as 4-wheeled robots; the difference lies in that you need to keep the center of mas close tothe center ofthe triangle formed by the wheels. I' your robot is rectangular avoid placing weight at the two unsupported comers. These points are prone to making the robot ‘tumble over. ‘Wheeled robots with an arm or gripper For the working of an arm or a gripper, we need to take the help of a stepper motor in simple cases or use sensors in sophisticated cases, Design software Robotics: Design Basics: Design software hitpten.wikibooks.orgiwikiRobotcs/Print_version 1279 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl ‘When designing your robot there are plenty of programs to help, Ranging from a simple tool to print wheel encoders, through CAD drawing programs up to mechanical simulation programs 2D CAD ‘Atocad 2000 AutoCAD. This type of software is used to turn # rough sketch into a nice professional drawing. This type of drawing is standardized for readability. (Meaning every diferent type of line has a particular meaning. Solid lines ate visible edges, dashed lines are hidden edges, line-dash-tine lines are center lines. Standards also include methods of dimensioning and types of views presented in « drawing.) Of course youre fre to use your ‘own standards, but using an industrial standard, such as ANSI or ISO, makes it easier to share your plans with other people around the world, While it ‘may somewhal more tedious fo make a drawing using 2D software, the resuls are generally beltr than using 3D solid modeling sofware, Solid ‘modelers still have problems transating 3D models into 2D drawings and adding proper notation to standards 1 Freeware CAD software: CADstd (hitp:/www.cadstd com’) = Professional CAD software: AutoCAD (btp!/usa autodesk comadskservletfindex?sitelD=1231 12&id~2704278) 1 GPL. CAD software: QCad (hitp!iwww sibbonsoftcom/gcad.html) Wikipedia: QCad 1 GPL vector drawing software: Inkscape Wikipedia: Inkscape Solid Modeling Tventor 53 Rotting a Tavenfor 53 Drawing a ptt Sehematc on apart, eg, SolidWorks or Pro‘Engincer Pro/Engineer (hitpen.wikibooks.orp/wikPro_Fngincer)(Wikipedia:Pro/ENGINEER). A newer way to draw parts land machines. With solid modeling you "build the pars in 3D, put them together in an assembly and then le the software generate the 2D drawings {sounds harder than its). The major advantage over 2D CAD programs is you can see the complete part machine without actually building itin real, lie, Mistakes are easily found and corrected inthe model, These 3D models are not yet completely standardized though there isa standard for digital data, At this time the 2D drawings this software generates do net conform completly to industrial standards, The 2D paper drawing is stil the ‘communication tool of preference in industry and clarity of intent is very important, Solid modeling software tend to generate overly complex drawing ‘views with overly simplitied dimensioning methods that likely donot correctly convey the ft form or function ofthe part ar assembly. = BRL-CAD (attp:/c2.comicgi/wiki?BxICad) c2:BelCad Wikipedia: BRL-CAD * lignimCAD (GPL) (btp:/ligeumcad sourceforge netdoc/en/HTML index.htm) Pneumatic & Hydraulic Simulation Festo(htsp www festo.com) has & demo version ofboth a pneumatic and a hydraulic simulation program, Look for FluidSIM Pncumatick and FuidSIM Hydraulic. (Pick country; click on industrial automatisation; and use the search field tothe right.) Limitations: Cant save nor print. Most ofthe didactic material isnt included. IAL (htp:/vweita.com) has a free demonstration ver Goto Download / AUTOMGEN?. jon of electric / pneumatic and hydraulic simulation sofware : AUTOMGEN / AUTOMSIM. Schematic Capture & PCB hitpten.wikibooks.orgiwikiRobotcs/Print_version 1379 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl TEngle Schematic Tage printed eiveuit cspaure oad design| Sofware to draw electvonies schematics and designing Printed Circuit Boards (PCBs). These packages contain sofware to draw the schematic, libraries with symbols, and software to draw the PCBS (with autorouter. ‘Inno particular order: 1 Preeware: Eagle (htp-iworw.cadsoft de!) is commonly used by beginners for ther projects because a limited version is available for free. The toolset is well integrated and has a large hobbiest user base. However, once you progress beyond basic designs, you need to pay forthe full = Open Source: The open-source gEDA Project (htp/geda seul.org/) has produced a matute suite of applications for electronies design including: a schematic capture program, altbute manager, nelister supporting over 20 netlist formats, analog and digital simulation, PCB layout with aulorouter, ad Gerber viewer. The project was started in 1997 to write EDA tools useful for personal robotics projects, but as ofthis writing the tools ae also used by hobbiests, students, educators, and professionals for many different design tasks, The suite rns best on Linux and OSX, although Windows ports of some epps have been made. ' Open Source: Kiead, wikipedia: Kicad includes schematic capture and PCB layout = Open Source: Free PCB (hitp!/www. freep.com) is a mature Win ws only open source PCB drafting tol + IntlligentCed org (htp/TnteligentCas,o7g) has few links to FPGA and PCB design tools (GPL) Controllers Programming Languages There are many different programming languages available for wContollers: + Assembly: Every poontroller can be programmed in Assembly. However the differences besween controllers ean be huge. Assembly gives you the most power of the controller but this power comes with a price: Hard to lear and (almostjno code reuse, ‘Assembly code is in essence translated machine code. It provides only the instruction set of the processor: add, subtract, maybe multiply, move data between registers and/or memory, conditional jumps, No loops, complex selection or buildin VO as in CIC, Basi, Pascal, The disadvantage is that you have to implement everything yourself (lots of work even forthe most simple programs), The advantage is that you have (o implement everything yourself (programs can be written extremely efficient both in speed and size). This languege is intended for advanced users and is usually only wsed 8s an opvimisation for code in tight loops ot for pushing the performance of a limited device tothe edge of its abilities, Reasons to Tear it *= ‘Teaches you how the computer works om its lowest level = Provides high speed code which consumes litle memory Reasons to avoid it = Limited use. = Non-portable, very hard to master Freeware: AVR (hp: www atmel com/dynproduetstools_card.aspto0l_jd-2725) = C:C offers power but is much more portable than Assembly. For most kconirollers thee is @ C compiler available. The differences between controllers is smaller here, except for using hardware Learning C is much easier than learning Assembly, still C isnt an easy language to lean from scratch. However these days thee are very good ‘books available on this subject, *= Freeware:GCC Tools for AVR Studio Software (hitp/iwww.avrfreaks nevindex.php? rmodale=Freaks ools&fune=view!temaitem,type=tooldtem_id=560) + Basic: For many joontrollers there are special flavours of Basic available, Ths is the easiest and fastest way to code jcontrollers, however you'll have to sacrifice some power, Stll moder basic compilers can produce very impressive code = Limited Freeware payware:Baseom AVR (htp//www.ancselee comiascom-avr bia) Very good Basic compiler for AVR. Limited to 4Kb programs. There is also aversion available forthe 8051 .controllers, 1 Limited Freeware/payware:XCSB (hiipi/iwww.xcprod.com/titan/XCSB/downlotd hil) PIC Rasie compiler, Lite version, No 32-bit integer and floating point support. (OS/2 WARP, Win9S, Win98, Win?K, XP and Linux) rth '» PEAVR (butp//wiki ortficak.nevindex.cgi?PFAVR) (GPL) Needs external RAM. 1» ByteForth (hip: wiki fortffeak nevindex.ogi?ByteForth) Dutch and works without extemal RAM, there is also a building book (Dutch only for now) available for Ushi our robotic project. = Python = Pyasta (ttplpyastra sourceforge net) hitpten.wikibooks.orgiwikiRobotcs/Print_version 1479 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl + PyMite (piiicode-google.com/pipython-on-2-chip) farther reading ‘= Embedded Systems/Embedded Systems Introduction Which_Programming_Languages_ Will This_Book_Use? = Embedded Systems/PIC Programming#Compilers.2C_Assemblers Programmers [After you've written your program, you need to get it into your Acontrolle. Ifyou use C or Basic you'll have to compile it. Then use a programmer to upload the code into the peontoller. There are several different methods for this last step. ‘External programmers: This is a device thats connected toa PC. You!l plug the ucontrollerIC, EEPROM or other memory IC in its socket and let the PC upload the code, Afterwards you plug the IC in its creat and test it, Can be time consuming when updating your program after debugging 1 ISP In System Programming: The board withthe ucontroller as a special connector to connect to a PC. Hook up the cable, download code, test and repeat. More modern method. Only disadvantage: it consumes some boardspace. Not all uconrollers support this. = Bootloader, also called "self-programming": The CPU accepts a new program through any available connection to a PC (no special connector needed), then programs itself. Not all ucontrollers suppor this. And you also need some other programming method, to get the initial bootloader ‘programmed in (telling it exactly which connector to Watch for a new program, the baud rte, ec) Debuggers ‘Modern controllers have on-chip debug hardware called w:JTAG, Various tools See This site (htprossum,sourceforge.nettools) for: = The Motion Applet ~ Path modeling for the ditferentil steering system of robot locomotion. ' The Encoder Designer ~A design tool for encoder wheel patterns. (Wikipedia:Rotary encoder) = RPL —A mobile-robot simulator ‘= Map Viewer ~ A Mapping Tool For Mobile Robotics. ‘And "Experimental Robotics Pramework" for rapid prototyping ofroboties algorithms. Further reading + SourceForge: "Experimental Roboties Framework” (hip//soureeforge.netprojectsmiar) 1 CAD & Linux (hip:www-tech-edv.co.atlunix/CADIinks him) has a long list of CAD tools that ron under Linps, some of them GPL. ‘Linux online: CADICAM (http: /wwvlinux.org/appselliGraphies/CADICAM html) has along list of CAD tools that rn under Linux, some of them GPL, ' Practical Electronics/PCB Layout has more information on using PCB design software 1 Urbitorge (http:/www-urbiforge org/index.php/Main/Tutoril) has free downloadable links to Urb and tutorials on how to use Urbiscrpt, Urb is AGPL, Tools and Equipment You can't build a robot without atleast few tools. Ths page will cover some ofthe tools and equipment that!l be useful Mechanical Tools For building your robot you'll need some tools to form the body. Small vse: youl need this. Hammer: A hammer is one ofthe standard tools youl need, Screwdrivers & Wrenches their uses are obvious. Two spanners of equal size are required for locknuttng Sew: Metal and wood saws. Miter saws can be very handy, but are pretty expensive. A miter box might suffice for many purposes. Square, measuring ape, seriber and other marking out tools. Vernier calipers: Allow very accurate marking out and measurement. Also can be used to check thread pitch on machine setews without a dedicated pitch gauge 9. Files: especially when working with metal, as rough metal edges are sharp. 8. Centre Punch: Essential for accurate dling of holes in metal to prevent ihe dil skating over the surface. 9. Drill Pres: (small able top versions suffice) is very handy for drilling accurate holes, Can also provide the low speeds for drilling large holes in ‘metal, which hand drills cannot do easily, 10. Hobby Tool: Useful for many purposes. 11, Sharp utility knfes: Mostly used when working with plastics 12. Hot glue guns: handy for quickly mounting parts. Not oo strong bound, bu useful for maay applications 13, Are Welder Only useful when working with thick stel on large projects (use a gas welding torch for thin metalare welders tend to burs holes Fight through the workpiece), Aluminium cannot be welded with ordinary welders. (Ualess you have a MIG/MAG or TIG welder available) 14, Paint stipper/Electric Heat Gun: like @ hairdryer on steroids. Useful for bending plastics, also applying heat shrink tubing fo electric cables at low power. 15, Safety Goggles: You only get one pair of eyes, and machine tools are potentially dangerous. Safety goggles are essential for using anything other hitpten.wikibooks.orgiwikiRobotcs/Print_version 1579 sonsr2o4 RobolcsPrint version - Wikibooks, open books for an open world than hand tools, Electronic Tools Soldering iron ‘The soldering iron isa very useful tool for assembling electronic eieuits and connecting copper wires together. For electronic circuits youll need a light soldering iron (-25W) with a small point (shaped lke e pencil pint) Especially SMD components require ‘mall points (or even better: special SMD soldering points) Soldering electronic components is done with "soft soldering" witha low temperature (less than 300°C), Usually for electronics the melting point of the solder lays around 238°C. When buying solder choose fora solder wire (60% lead, 40% tin) with non-corosive flux, (There is also "eutectic solder” - 63% lead, 37% tin, which transitions from liguid to solid immediately with no plastic state in between ) Take the thinnest wire you eaa find (Imm), ‘See this page (htp:www.epemag.wimborne.co.uk/solderfag him) for an in depth explanation of soldering electronic components For connecting metal wires you! need something more powerful (30W-100W) like a soldering pistol, but an ordinary soldering iron would do just as ‘well. Note; not all materials ae as goad to solder. Copper is easy to solder and has a reasonable sttong bond. Aluminum has @ weak bond, For stronger connections it's better to braze instead of soft soldering. Brazing involves higher temperatures (typical between 450°C and 1000°C) and different flux ("Borax") and solder (copper and zine or silver alloys) it also requires a welding torch instead of a soldering iron, see this online book (htp:/www.handyharmancanada,comy/TheBrazingBook/bbook hn) for more in depth information on brazing, Ifyou need even more strength you could use welding. However welding is only used for heavy materials like steel alloys and these are in most eases ‘00 heavy to be used in robots (unless you're building a very big or industrial robot). Aluminum can be welded but it sn as simple as welding steel alloys. ‘See this site for basic welding information (hp:/www aussieweld.com aw/arewelding/index htm) Breadboard ‘The boards allow you to build a temporary circuit in no time. Especially handy for testing new circuits. Connections are made with cither ordinary thin sti wire with the insolation remaved atthe ends or with special breadboard wires with stronger tips, Wires ‘with crocodile clamps are needed for hooking up signel generator, oscilloscope, DMM, et. Larger boards have connectors (ypicelly banana plugs) forthe power supply ‘There are small breaghoards with an adhesive strip atthe bottom, These can be mounted on an empty part of microcontroller ‘board and can be used to build smal eixeuits. ‘= Notes when you build a sensitive analog citcuit on a breadboard it can behave differently than when it's build asa PCB, ‘This is because of parasitic components: the wires connecting the components on the board act as a combination of a ‘resistor, eapacitor and coil all wth very low values). Keepin mind that in some circumstances this can affect the working, of circuit. Usually tis is only a problem when working with low amplitudes andr high frequencies. Breadboard Electronic Equipment = Multimeter: measures voltage, current & resistance, Many can measure transistor and diode characteristics, frequeney and capacity. Some can measure temperature of light intensity = Note: measuring voltage and curren of a AC source isnt as simple as measuring DC levels. But since robots rarely use AC this would be out of the scope of ths text. But i you would require to ‘measure AC levels you should read up on tis, *= Oscilloscope: makes # electric signal visible. Very useful when working with more complicated electronic ciruits, especially analog signals and data communication, Oscilloscopes exist as stand-alone devices or as add-on modules for PCs. The latter provides extra abilities like spectrum analysing and recording of signals 1 Variable power supplies: power supplies with variable output. Either AC or DC. Either the output voltage oreurtent ean be regulated, although most power supplies let you seta max current * Signal generators: generates diferent shapes of signals (sine, square, saw and tangle), with variable frequency (1Hz up to 100MHz) and amplitude Digital Mat ' Logie probe: pen-ike devices that detect logic levels (either TTL or CMOS), Most can detect pulse signals. Very handy when working with digital electronic circuits 1 Brequency meters: measures the frequency of signal. Can also be used asa pulse counter. Oscilloscopes can be used for measuring frequency, ‘and storage scopes can freeze a waveform ensereen allowing pulses to be manually counted, but frequeney meters are a good investment i this, needs to be done very afte, Iitpten.wikibooks.orgiwikiRobotes/Print_version 16179 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl = LEDs: An underrated test device for digital circuits. LEDs are far better than volumeters For digital circuits in some situations, as you can see ‘many input and output values coneureatly, without connecting a multitude of voltmeters or constantly checking everything with a logic probe. Im particular, they can instantly show the status of several logic signals simultaneously, impossible with a logic probe, Good breadboard building practice also includes an LED for each breadboard to show itis powered up correctly - tis can help avoid the potentially frustrating situation of faultfining logic circuit that is actully sound, but has an intermittent or noisy power supply If also an excelent indicator ifa component is shortcircuiting at any time during operation, as the LED will likely dim or go out Connectors Insulation Displacement Connectors (IDC) Assembling parallel ribbon cables from ribbon and the IDC connectors: Practical tips Note that IDC ribbon cable is usually not provided with multicoloured or ‘rainbow’ insulation, but with single-colour insulation — usually grey or white, However i also as a stripe of coloured ink ot paint (fed or black) down one side, to guide you with connector orientation. Ifyou need tw stip away some of the wites ofa multi-way cable to suit the IDC ‘connectors you're using, remove them from the side furthest from the ink stripe so it's till present on the cable. Ws usual to ft IDC connectors tothe cable so their pin | end is onthe stripe side ofthe ribbon. This also helps guide you when you're mating the cable connectors with those on the equipment, knowing that the stripe corresponds with pin Before clamping an IDC connector toa ribbon cable, make sure that the cable grooves are aligned withthe contact jaw tips and that they are also aligned with the seallaps moulded into the underside of the clamping strip. 2, Make sure to0 thatthe connector pinjaw axis is as close as possible to 90° with respect othe ribbon cable wire axes, Ifthe connectariribbon angle is not close to 90°, some connections may nat be made properly. Ifthe connector is being fitted at the end of a ribbon cable, cutting the end ofthe ribbon cleanly square frst will allow you to use it asa guide. 3. Try fo squeeze the IDC connector and its clamping strip together as evenly as possible, so they remain es close as possible to parallel with each, other during the operation, This too ensures tht al joints are made correctly, The easiest way to squeeze them together evenly is by using & small machine vice ora special compound-action clamping too. 4. Ifan IDC connector has a second cable clamping strip, don't allem to fit this as part ofthe main assembly. Assemble the main parts ofthe connector First onthe ribbon cable, and only then fit the second clamping sip. 5. When you are bending the ribbon cable around before iting the second clamping strip, don’t pull it ha connections inside the IDC connector. Just bend the ribbon around gently — a small amount of slack won! the IDC connections from strain, Tis may loosen some of the fo any harm, and may infact protect, Properly.assembled IDC connector illustration: psliworw .electusdistribution.comaufimages_uploadediIXCconnF.paf Practical uses ‘A-common IDC cable in use is an IDC D9 socket to IDC 2 by S header socket. This cable is often used to connect a PC serial (RS232) por to 8 ‘microcontoller development board. On the board there will be a2 by 5 pin header. JAS network connector ‘These are the connectors used on UTP network cables, A smaller version (RIL1) is used for telephones. You need a crimping tool toattach the connector tothe cable. These connectors are very useful for hooking up different PCB with each other, A good use for R145 connectors is for making serial (RS232) programming cables for small embedded systems (many credit card terminals te use a DB9 to RI4S cable to download software from a PC during development) Ifyou are building small embedded controller ‘boards an RI4S ean bea handy connector size to use RUS Connector further reading + Practical EletroniceBreadboard Electronic Components Basic Electronics For basi electronics you may want vo consult this wikibook and this section on Microcontrollers, google (hp:/www google be/search?h!=nldtq-making +Pcb%427statshomedebinG~Google+zockend&emeta-) has some links on PCB fabrication, Special Electronic Components hitpten.wikibooks.orgiwikiRobotcs/Print_version 779 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl ‘There are many electronic components that aren't described in mst eletranie textbooks, but ae very useful in robotics, Most ofthese components are covered in other section inthis book (e.g Sensors and Motors) ‘A typical robot needs a heat snk on the power transistors conn its CPU © Particle Swarm Optimization (PSO. (http://en.wikipedia.org/wiki/Particle_swarm_optimization)) PSO steps further away from stochastic functions towards an even more intelligent solution to a problem. Much of the PSO functionality is modeled after natural associations such asa flock of birds ora school of fish. In @ PSO function, @ generie solution is fist given. Then a swarm of “particles” are iniinlized. They begin to attempt to make it to their goal As they move towards their goal, they monitor certain other particles within a user-defined range of their own location, The parties around them contribute toa Toval best (best). Ths isthe most ft solution discovered so far. Each parti! also monitors its personal best (pbest) along with the global best (gbest) so far. Keep in mind that in some simulations Ibest~gbest and the particles around each other do not have a local effect on eachother. The particles are then biased towards 2 compilation af the Ibest and phest along with gbest, ‘Theic new velocity vector also includes a random sealing factor to prevent too early of a convergence on an inefficient solution. An equation is provided below to provide basic understanding ofa swarm monitoring their phest and ghest. ul] = vl+elsrand{)+(pbest]~present[) +e2srand{)+(gest(|—present()(a)present|] = persent}+v](0) This equation also provides leaming factors which inthis ease are scaled to “2”, From this equation we can see thatthe new velocity is equal ta the scaled Value ofthe sum ofthe diference of pbestpreseat and ghestpresent. As it ean be seen this optimization techniques offers highly accurate ‘convergence on the best fit solution to the problem, 450px + Provided above isa link toa java applet developed to help understand the operation of (tps projecteomputing.com/resourcesipsovisiindex hi), ‘SO, The enimation applet can be found here The Interface ‘his chapter covers the hardware and its interface used to cntzl the robo. hitpten.wikibooks.orgiwikiRobotcs/Print_version 3079 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl Computers Single Board Computers and multichip modules! Microcoateollers Remote Control Networks Personal Computers Personal computers (PC) have large numberof ports to which you could add you own hardware to contol your robot. Some of these are very easy to use, while others are nearly impossible without special (expensive) ICs, Not all ofthese interfaces are available om all computers. This section gives at ‘overview of some of the best known ports on a PC, These ports and their uses are well document all over the internet, External Ports These are all the ports that are available onthe outside of 8 PC, Most computer users are familiar with them (ora least know them by name and look), Serial Port The serial por is one of the two easiest tose ports on a PC. This port consist of 2 wires to transfer your data (one foreach direction) and a number of signal wires. Ths pot is reasonably sturdy, and if you know some digital electrons or use a mierocontoller, is prety easy to use foo. Is limited on speed and can only connect two devices directly. By using special ICs you can connect the serial port to a RS-485 network and connec to multiple devices, * Serial Programming/RS-252 1 This site (tp:/Awwrw.heyondlogic.org/) contains lat information on serial ports (among others) Parallel Port ‘The parallel port is the second of the easiest to use ports on a PC. This port uses § lines to transfer data and has several signal lines. Modera parallel ports can send and receive data. This ports easier fo use, but less sturdy than the serial por. Since it operstes on TTL voltage levels (0 and 5V) it ean connect directly t microcontrollers and TTL logic. ‘This page (hips! wovw:beyondlogic.org) covers parallel ports and the diffeend modes of operation USB USB isthe successor of the serial port. It's faster and allows connecting devices without tuning off the PC. Some modern microcontrollers have built in USB support 1 Everything (htp:/www.beyondlogi.org/ you'd need to know about US = Serial Programming:U'SB Technical Manual = Embedded Systems/Pasticular_Microprocessors#USB interface IBEE 1394: Firewire, ilink, Lynx IEEE 1294 also known as FireWire, link or lynx isa (much) fester por, similar to the USB port It reaches speeds up to 400Mbit'. 1 The Connector (hp: /ww-hardwarebook net/connectorfbus‘ieee1394 htm) + Article (atpswww.commsdesign com/main/multsupp/0002/0002fire him) about I Linux FireWire wiki (ntp:/wik inax1394.0rg/) Keyboard Connector Keyboards use TTL level signals to transfer button presses and releases to the PC. A keyboard sends a code when a button is pressed and sends another ‘one when the buon is released. Ths port could be used for some purposes. See tis ste (htp:/wwv. beyondlogic.org/) fora in depth explanation and example of how to interface the keyboard. (menu: miscellaneous -> interfacing the AT keyboard) Covers both how to replace the keyboard as how to use the keyboard for other purposes. Ethernet Ethemet can be used to connect other devices to a PC. Complete webserver-on-a-chip are available these days, and an ethernet network can be a way to ‘connect multiple devices in a robot (and even hook it upto the internet and let people control the robat from allover the word). Internal Ports These are the connectors inside the PC, generally these are used with special PCBs (called cards), Although harder to use, they offer great speed, ISA hitpten.wikibooks.orgiwikiRobotcs/Print_version 40779 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl ISA was the (8 later 16-bit) bus whore you plugged your video, sound, IDE and network card in the old days. You!l find these on PC up to (Some) carly Pentium II (the later usualy has only 1 E-ISA socket, if any). This bus is pretty easy fo use for your own projects and well documented on the ISA bus connector (htp:/www.hardwarebook neUconnectrfbuslisa heal) More indepth explaination of the ISA bus (hup:/wwhardwarebook nevconnestorfbuslsa_tech htm) Pct PCTs the successor ofthe ISA bus. It's a faster 32it bus. Sine i support plug and play, a PCI device needs a few registers which identify the ‘component and manufacturer. This page (iipsiwww techfest convhardwaretbus/pei him) covers most of the basis ofthe PCI bus. AGP ‘The Accelerated Graphies Portis aimed at 3D graphic cards. I's a fest bus, but optimized for graphics PCI Express PCI Express replaces both PCI and AGP. It's quite differe depend on Som all the other busses, as it utes serial communication, rather than parallel. Is speed numberof "lanes" (serial connections) used PCI Express support 1,2, 4, 8 and 16 lanes. Wireless These are "ports" too as they can be used to connect other devices to the PC. IRDA IRDA is an infrared communication por Modem versions reach speeds up to 4Mbits's. IRDA may be a good altemative to wires for tabl Since it's an Infrared port it needs a ine of sight to work reliable and its range is limited to Im, Note that this port works at a much higher speed than remote controls and therefor standard remote control repeaters may not work reliable for IRDA. “This (aup:/www hw. czlenglishidocsirdaida hum) site covers the basies of IRDA, Here (http:/wwo hardwarebook ne/connectoripc/mbirda html) isa pinout of the mainboard IRDA connector. Wiki / WLAN / 802.11 / Wireless Ethernet the names in the headli are synonyms forthe same technology. WLANS are commonly used in PCs (especially laptops) as data networks. The ‘bandwidth aveilable is inthe order of several megabits per second or more, far more than normally is necessary in any roboties project, A WLAN typically eaches about 100m, but wth special directional antennas far more is possible (in a specific direction. A WLAN is the obvious choice if your robot hasan inbuilt PC or pechaps even PDA for control, Also when you have ethernet connectivity in your ‘controller (reasonably low cost but not a standard feature except in certain kits), there are low cost (~€50) WLAN bridges available, such as the D-Link DWL-810+ and DWL-G810. I you only have serial port available, a wireless device server could be used, The cost of one of them is, however, over €100, Bluetooth, Bluetooth i alow bandwidth protocol most commonly found in cellular phones. tis increasingly being deployed in laptops, and there are separate USB "sticks" available as well. Bictooth can be used for making a serial connection wireless - there ate Bluetooth serial pots available on the market, ‘which ean be used as converters, Total bndwith inthe system is about @ megabit per second, with range up to about ten meters (standard Bluetooth, 2.5 mW), or about hundred meters (industrial Bluetooth, 100 mW). There are limitations on scaling with Bluetooth -i is mostly deployed in 1:1 links ‘eventhough the standard includes networks with upto 8 active nodes (and even more passive ones), This means that if you plan on building large amounts of robots with a common communication network, Bluetooth might be less well suited, = Bluetooth resources (hitp/www.selecomspece,com/witelessnw-bluetoat hn!) igBee ZigBee isa protocol stack based on the 802.15.4 wireless network communication standard, It is low-cost, low-power and all-in-all perfectly sited for low-bandwidth communication needs, The bandwidth is onthe order of tens to hundreds kilobits per second, andthe range is up to about akilomet depending on equipment, Interesting solutions are XBee from Maxstream (http: /www-maxstream.neUproducts), which basically provide a wireless serial link. There also is a list of other vendors at w:ZigBee. Uwe Wireless USB Cellular networks hitpten.wikibooks.orgiwikiRobotcs/Print_version are sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl A possibility is to use standard cellular networks (mobile phones), ts only a viable solution for large-seale geostationary outdoor applications with Tow communication ne Radio modems Radio modems are normally older proprietary solutions for wireless linking of serial ports. Proprietary solutions probably shouldbe considered for new designs Using a PC or laptop in a robot PCs have the benefit oF abundance of memory, program space and processing power, Additionally they provide the best debug 10 (sereen, keyboaed and mouse) you could wish for. But they do have a few flaws that limit their usefulness in a mobile rabot. 1 First of all their size. Even the smallest PC, 2 laptop, is quite bulky and forces you to use a rather large frame. = Secondly, except for & laptop, power consumption is large and provide AC-power on a mobile units bulky as you nood heavy batteries and an + Lastly Pes are lousy when it comes to getting a reliable accurate timing from the outside world, The frst two points basically shape most of your robot's frame and other than using a different controller not much you can do about it Picking the ‘est hardware you can find is pretty much all that ean make these points # itl less troublesome. ‘The last point is quit easy to get around. Most PCs have a serial port. Most microcontrollers have a serial port as well ise a level converter to connect the TTL level serial port ofthe microcontroller with the RS232 level computer serial port and use a litle program that handles the accurate timing in the microcontroller and transfers this information tothe computer through the serial connection. This isa very powerful setup that combines the sirengths ofboth the PC and the microcontroller S.ce this ste (htp:/www.tronisoR.comieat_ss232iaboard php) for example interfacing hardware forthe serial pot. Covers an WO module and RS232 t0 TTL level converter for use with roboties or microcontroller based projects. Some microcontrollers provide USB or Exhemet ports, which can be used in pretty much the same way, although the software would be abit harder to implement. SBC and multichip modules SBC: Single Board Computers Single Board Computers are a complete computer on single printed ciruit board, These usually require only a single power supply, SBCs commonly provide all standard PC VO support like keyboard, mouse, SVGA, serial and parallel ports, ethernet, IDE, SCSI and USB. Some provide a PCMCIA connector. Late model SBCs are also replete with multiple CPU/Pentium 4/Xeon/AMD configurations. SBC are commonly used in the industry in process contol, Although they are quite expensive and hard to find (in retail), they cam be great way to control a larger robot, For small robots their power consumption would be a problem, Stacking modular connector boards Many robots include a "stack" of hoard, typically with a processor on one board, H bridge motor driver on another board, and a wireless ‘communication on another board Many people prefer to build rapid prototypes out of many single-purpose boards that canbe disassembled and re-used for the next prototype rather than making a single big specialized PCB prototype that is used once for testing and then thrown away. There are many standards fo such electronic pieces! = wPciod ‘PlugaPodS” (itp-/www.newmicros.com!) gumstix (attp:doewiki gumstixorg/Roboaudistix) and gumstix packs (htp!/doewiki gumstix orgfindex php/Packs_and_boards_setup) and tore gumstix packs (htps:!/www. gumstix.comistore/packs php) Stackable USB (USB is smaller and faster than the ISA bus used in the original PC/104) Virtual Cogs (htp:virtualeogs.comi) uses a stacking connector. Virtual Cogs wiki (hitp/ivrtualeogs com wiki. (Modular interface extension (MIX) stacking and communications interface ) ‘pass-through 40-Pin OOPic expansion connectors” (htp:l/www.oopic.com/protop htm) R-Dev-Ino isa Robotie Development Arduino compatible board easily stackable. [23] (tp: /www seeedstudio.con/wikilindex php?title-R- Dev-ino} the JeeNode Arduino-compatible board and JeeL abs modules that plug into it: a (htp://jeelabs.org/201 1/01/29/new-ook-and-def-reley)) b (htpeclabs.org/2010/08/25/sideways.) c (hpsleclabs.org/2010/1L/20/indoor-temperature-ct) d(htp/eelabs.org/201 105/04imeet-the- Jeenode-smd) 1 The Tower System (htpffeescale.comtower) 1 Bug Labs (htp:/'news enet com/8301-17939_109-9809763-2 him) = Xadow (hup:/wwwseeedstudio.com/wikiiXadow) = The Grove system!1E141 *Cjaster mode") and "Yigsew mod = Microsoft NET Gadgeteed™*1°) = DaisyLink inerfac = gobus pons hitpten.wikibooks.orgiwikiRobotcs/Print_version sare sonsr2o4 RobolcsPrint version - Wikibooks, open books for an open world += TinyDuino stacking connector ‘= Wouter van Ooijen’s Dwarf Boards have 10 pin shrouded header connected by IDC ribbon cable connectors (GND, 45V, and 8 GPIO pins) = "Stacking Arduino Shields" (hup://www. fretronies.compages/stacking-arduino-shields) (compatibility between shields can he alittle tricky) = (Add to me) “TinyDuino uses stacking (AF think the stacking idea is good, but my robot is to small for PCITO4, do you have any tips for picking an appropriate connectors stacking connector, and arranging which electrical signal/power goes where?) The tackable headers"l"@l are one way to stack boards together. What other options do we have for stacking connectors? Multichip Module Boards Is there a better name for this sort of thing? See Talk: Robotiestterminology. ‘Maultichip Module boards are lighter versions of the SBC. These boards provide less VO abilities than a fll fledged SBC, but are considerably less ‘expensive, For example the Acme Foxboard (hip:/www acmesystems iVindex.phpyWeleome_to_the_Acme. Systems_home_page) provides & OOMips processor with 16MB RAM and 4MB Flash running Linux. This board has IDE, SCSI, USB, Ethernet, [2C and more ona surface of aprox. {6x7em. It consumes about 280mA and costs around €170, While this particular board is designed for embedded intemne-enabled applications, its a ‘reat board for controlling your robot. Another alternative isto use a Linksys router and install OpenWRT on it. You can usually pick these up for around $50, IF you spend some time shopping eround you may find similar boards that are beter or cheaper. Further reading 1. 1"Timm Linder. "A comparison: Arduino vs, NET MEF vs. INET Gadgeteer + others" hip/blog.timrmlinder conv2012/06/comparison: gadgeteer-netmf-arduino). Compares and contrasts the "DaisyLink" system, the "NET Gadgeteer’ system, and the "Secedstudio Grove" system, 2. T°GROVE System" at Seeed Studio (tps:/www secedstudio.comwiki(GROVE. System) 4 Gtove-telated posts on the Seeed Studio blog (hitp/www seeedstudio.com/blogieg/ rove). 4. 1 "Better connector for Electronic Bricks? (htp:/wwwseeedstudio.convblog/201 0/090 beterhopefully-connestor-for-electronic-bricks- needs-inputs) discusses about the advantages and disadvantages of several connectors. 5. 1 GROVE Starter Bundle" (hitp:/iwww-seeedstudio.com/blog/2010/10/I6/grove-starter-bundle-alphe-cant-live-without-a-logo) has ‘photographs illustrating "Cluster made" and "Jigsaw mode" 6. 1 "New electronic brick idea" (http:/iwww secedstudio.comiblog/?010/10/07/new-clectronic-brick-idea-survived-some-intense-brainstorming/) describes the electrical connections in "Jigsaw mode" in more detail 7. J “nroducing NET Gadgeteer” (hip:/gadgetee.codeplex.com)) 8. 7 "Home - Gadgeteer" htip/www notmf.comvgadgetecr) 9. + hupriigadgeteer codeplex comiwikipage?stle~ NET%20Gadgeteer¥<20Socket”420Types " NET Gadgeteer Socket Types") 10. 7 "Stackable Header Kit (ttps:/ww-sparkfun com/products!11417) + Tinuxstamp board (hitp/Yopencireuits.com/Linuxstamp) runs Linux -- open hardware = ARMUS Embedded Linux Board (hp: /openeireuitsconvARMUS_Embedded_Linux_Board) open hardware ' The Balloon Project (htip:/balloonboard org) designs boards that can run Linux ~- open hardware 1 "Teeny weeny Linux SBCs" (hitp:/web archive.org web/200603 18191955 www linuxdevices.convartiles/AT8498487406 html) = "Linux computer fits ia USB key", Atchived from the original on 2013-01-28, hips/archive islrG00q ‘TINI, the Tiny INtemet Interface: TINI reference design (btp:/www. maxim-ie.com/produetshini/chipsetefdesign cfm) TINI board webring, (hupe.webring.comv/bub?ring-tiniring) "Unofficial TINI Information Site" (htp|/www ranby.com/~davidm tin) 1 small motherboards that run Linux (hip:/lopenciruits com/ProjectstMotherboards_that_Run Linux) Microcontrollers Microcontrollers ae the core of many robots. They have considerable processing power packed on to one chip, allowing lis of freedom for programmers. Mierocontrollers are low level devices and its common to program them using aa assembly language, this provides a great deal of ‘control aver the hardware connected tothe controller. Many manufacturers also provide high-level language compilers for their chips, inchuding BASIC and C. What's the difference between a microcontroller, microprocessor, and a CPU? The CPU is the part which actually executes the instructions (add, subirac, shit, fetch, ete). A microprocessor is any CPU ona single chip. [A microcontroller isa kind of microprocessor, because it includes a CPU, but it typically also contains all ofthe following components on the same single chip: = (Giserete) inputs = (discrete) outpuis ‘= ROM forthe program = RAM for temporary data = EEPROM for non-volatile data = counteritimer = clock Iitpten.wikibooks.orgiwikiRobotes/Print_version 43779 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl Some microcontrollers even include on board Anlog-to-Digital converters (ADCs), This allows analog sensors tobe directly connected to the ‘microcontell With this capability, microcontrollers are quite convenient pieces of silicon, ‘The outputs ofa microcontroller can be used to drive many things, common examples include LEDs and transistors. The outputs on a microcontroller are generally low power. Transistors are used to switch higher power devices (such as motors) on and off 'PUs are useless without software ‘Most software for aPC is stored onthe harddrive. But when you frst turn one on, it tarts executing the sofware inthe boot ROM. Ifyou wanted to ‘change that software, you would have to pl out the ROM chip, program a new KOM chip (ina "chip programmer”), and then plug the new chip into the PC. Most robots dont have @ hard drive ~ all their software is stored in ROM, So changing that software is exactly like changing the boot code of a PC. (If ‘your robot has an external ROM chip, then that i the one that is pulled and replaced. I your robot uses a mieracontroller with internal ROM, then the ‘microcontroller is pulled and replaced), ‘Many recent PC motherboards and microcontrollers use Flash instead of ROM. That allows people to change the program without pulling out or putting in any chips. They can be rewritten with new data, like a memory chip, but permanently, ané only @ certain aumber of times (10,000 to 100,000, ‘eraselrite eyes) Here area few pages about specific controllers = 8051 = Atmel AVR = Microchip PIC = Embedded Systems/ARM Microprocessors Further reading Embedded Systems/Particular Microprocessors describes some of the more popular microcontrollers, Remote Control Remote contol is about controlling a robot (or any other electronic device) from a distance, either with or without a wir, Remote control methods ean be split into two categories: wireless and wired. Wired Remote Control Wired remote control or te robot. For mobile robos the cable ean become a ‘burden forthe robot. sd control can be the right way to interface @ computer witha stations Issues With Wired Remote Control Limited Range 1 Electric signals transferred over a wite lose energy because of the wires resistance, The results that she amplitude of the signal decreases as distance increases. ' Reflections can bea problem when the data rate is high. This means a previous signal doesn't disappear bef ‘why transmission lines ate terminated” with a resistor to ground. + Interference is eaused by the magnetic fields of other conductors or capacitive coupling of high speed signals in other conductors. Shielding cables reduces interference, as does using diferental sigals (instead of using amplitude relative to ground to transmit'I's and 0, using amplitude between 2 sigoal wires) through a twisted par of conductors. Mechanical Issues With Cables 1 Cables have fixed numberof wires in them, if you need more, youl! have to replace the whole cable, which ean be very ime consuming, = Cables have a certain stiffness. The thicker the eable the more Force you need to apply to hend the cable = Cables have a weight. This can make it hard for smaller robots to drag iteround 1 They can get in the way ofthe robot Methods ‘Many ofthe mechanical issues of cables can be reduced by using thin cables with as few conductors as possible, Ideally sucha cable would have only 3 or 4 conductors: Ground, power and one or 2 signal wires. See Networks for sending rmutile signals through s few wices as possible. Advantages By using cable you get around the problem of heavy batteries, The robot ean be powered by an AC-outlet, Another benefit ofa tethers the ability to ‘easily use a PC to contro the robot hitpten.wikibooks.orgiwikiRobotcs/Print_version aarr9 sonsr2o4 RobolcsPrint version - Wikibooks, open books for an open world Wireless Remote Control IR {IR remote contro isthe best known form of wireless remote control. Is cheap and reliable, but limited to line-of-sight communication. Complete IR- receiver modules, like the TSOP1736, are available cheaply and can be interfaced with most contrllers without much extra components. TV remote controls using RCS (Phillips) an be used with such modules. If you want a faster data link, IRDA components could boost it significantly, Bluctooth and Wit have replaced it on modern laptops, but TRDA component ae stil available. RF [RF is widely known in model race ears, Wifl, and various other applications. These days complete RF tansmitterreceiver modules ae available at reasonable low prices. These modules are very easy to use and have ranges of around 10m depending on their environment. RF remote contols for high end model race cars have larger range but are much more expensive and limited in their use. ‘While itis definitely possible to build RE transmitters from seratch, this is not advisable, Radio frequencies are strictly governed and building a ‘wansmitter that uses the wrong frequency quickly leads to a fine or worse. Know what you'e allowed to do, before building one of these Ii possible to use a wireless telephone to provide an RF connection t9 your robot. The major restriction being data rates limited to 9.6kbaud or so. Speech Recognition In essence speech recognition i a form of remote control. Probably one of the hardest forms of remote control, but also one of the most impressive ‘ones. Although today there are modules that contin a fall speech recognition system capable of leaming a dozen commands, those systems are still very limited as they cant handle sentences (ust commands), need tobe tained before they are useful and usually can only be used by one person, Sound ‘Sound can also be used as emote control, generating atone ofa particular frequency isnt hard, building 2 receiver to detect this tone ist too difficult, either. Sounds like whistling and clapping hands have been used for remate control before (e.g, the Keyring which makes a sound when you waste). Network control |A further step would be to do the contro over a network, from another device, This could be a wired network, like RS-232, RS-485 or Ethernet, or @ wireless one, as WLAN, Bluetooth or ZigBee. Networks ‘Sometimes a single jcontroller isn't sufficient to control your robot. Then you'll be needing a way to connec ll those jeontrollers, preferably without sacrificing too many pins or expensive ICs. Of course this problem has been solved a long time ago end there are quite a numberof different standards ‘each having their own advantages and disadvantages. Standards ‘There are many different standards on connecting 2 or more jcontcllers (or computers), but here ae the most used standards (ee Serial communications bookshelf for more detailed information about serial communication standards) rc Inter-Integrated-Circuit-bus or Two-ire serial bus: Used to connect ICs on a single board. The bus has one clack and one dats line Roth th clock and data line are pulled high and device only drives the lines low. There are plenty of [Cs availble with build-in FC interface ineuding many of the ‘modem controllers controllers with build in FC support ATMEGAS: ATMEGAI6 ATMEGA32 ATMEGASS ATMEGAI28 ATMEGARS3S Some PC ICs: = MAXS380/5381/5382: Bit DAC = PCE8574: Sit VO-expander for PC-bus = LM7S: digital temperature sensor ‘The FC protocol ean also be performed in software and is usually referred toes bt-banged PC. ‘Sce:Philips Semiconductors (tps/Wwww semiconductors philips. comimarkets/mms/protocolsi2e/) RS232 Iitpten.wikibooks.orgiwikiRobotes/Print_version 45779 sonsr2o4 RobolcsPrint version - Wikibooks, open books for an open world Recommended Standard 252: Retr known asthe serial port on a PC, Used to connect wo devices ‘See: Further down the page (htp:s/vvw beyondlogic ore) R842 Recommended Standard 422: industrial version of RS282. Much better than RS-232 at resisting interference. ‘See: RS422 tua 51 (tp www rceectcoms422 him) RS485 ‘Revommended Standard 485: Better version of RS422: allows more than 2 devices tobe connected together. (usally up to 32 devies) RS282 <> RSABS converters: = LTCA8SCNS: DIL = SNISLACI76D: SOICR ‘See: RS485 tutorial (hip: www arcelect com/RS485_info_ Tutorial hm) CAN ‘Acronym stands for "Controller Area Network." More complicated network. Used in automotive and domotica. Originally developed by Bosch in ‘Germany. Limited to 1 Mbps in theory; with required overhead, protocol is slower than I Mbps. Data is delivered in packets of 8 bytes. CAN is frequently refered to as CANbus. ‘See: Philips Semiconductors (tp:www.semiconduetors philips.com ‘kets/onms/protocolsiean/) Awire ‘This bus uses 1 wite to supply power and communication toa IC, Used for temperstute sensors and other low-power ICs. Despite the name, a second wire, ground, is used to complete the circuit. Data is sent to the IC by switcang the wire between high and low. A built-in eapactor provides the IC ‘with power during the low parts ofthe signal. This busis intended for low-power devices, lke temperature sensors ‘See: Maxim-IC (atp:iwww-maxim-ic.con/appnotes.fin/appnote_nuraber/1796) SPL ‘Tis isa 4-wie fll duplex bus. The bus has a clock, transmit, receive, and select line. One device controls communication onthe bus. When connecting multiple devices, each device is connected to the master with a separate select line and the master selects only one device ata time, Further reading 1 Embedded Systems/Common Protocols Sensors Environment sensors Environment sensors are sensors that detect and interpret things in the outside world (such as abstacles, sounds, and signs) or about the outside world (uch as temperature, pressute, and vscosiy) ‘Some of the more common kinds of environment sensors are discussed here, Object Sensors ‘There are several sensors that are designed to determive the location and size of various abjeets in the world = Digital eameras can, with enough processing power, locate spevitie objects in their feld of view. = Tactile sensors can detect how much force is being applied to a specific point. 1 Distance sensors use various methods to determine the distance to the nearest object in a given direction Media Sensors ‘Some sensors detect properties of the immediate environmen, such as = Temperature = Pressure & Sound Iitpten.wikibooks.orgiwikiRobotes/Print_version 48779 sorrer2014 Roboticsirit version - Wikibooks, open books for an open world Thermal Sensors Robotics: Sensors: Thermal Sensors ‘Temperature ean bean interesting parameter to measure. The temperature ofthe surroundings might not be very useful for a mobile robot, the temperature af motor or battery back is What is temperature? "Temperature: A measure proportional to the average translational kinetic energy associated with the disordered microscopic motion of atoms and ‘molecules. The flow of heat is from a high temperature region toward a lower temperature region!) Units and their conversions ‘The most used units for temperature are Degrees Celsius, Kelvin, and Degrees Fahrenheit Degrees Celsius ‘This temperature scale is defined around water It defines O°C as the temperature on which water freezes at standard atmospheric pressure, 100° is defined asthe temperature at which water boils. Conversion: To Fahrenheit Te * 9/5 +32 To Kelvin: Te +273,15 Kelvin Kelvin is a temperature scale with one defined temperature: 0 Kelvin is the lowest possible temperature, which is about -273,15°C, An increase of | Kelvin bas the same size as an increase of 1°C, ‘The Kelvin (note i's not degrees Kelvin) temperature scale is used in science and engineering, most formulas containing temperature require Kelvin, unless it involves temperature differences, then one ean use both Celsius and Kelvin asthe difference between 10 and 20 Kelvin and between 10 and 120°Celsius ae equal. Conversion: To Fahrenheit: Tk *9/5 «459,67 To Celsius: Tk-273,15 Fahrenheit This scale uses the lowest temperate that could be measured atthe time when this scale was developed and the temperature ofthe human body. The first temperatute is defined a8 O°F the latter as 100°F, This places 0°C at 32°F and 100°C at 212°F. A diference of I°F is the same size asa difference of 1°C Conve To Kelvin: (TE 459,67) * 519 To Celsius: (TF 32) * 519 Methods of measuring temperatures Non-electrie methods Are any ofthese non-electric methods useful for robotics? The old fashioned way to measure temperature uses the expansion of mercury in a glass capillary tube. Newer thermometers use other liquids like alcohol, Other methods use two thin metal strips with different thermal expansion rats fused together ad ae called bimetal or bimetallic, Yet another way wses the expansion of gas or liquid ora gas-liquid combination ina closed metal capillary tube system, called gas thermometers and filled systems. Other ways use the change of phase of some material, such as paits and pastes whereby their reflectivity or color changes permanently ‘when a specific temperate is reached. These are often called temperature or thermal paints and label Another method uses the variation in reflectivity of certain ligud crystals with temperature, ‘One ofthe original thermometers, named after Galileo, uses several precision weights in labeled small glass globes, of known volume, all placed in @ vertical cylinder of liquid like water, sufficient in size to allow all the globes to fit and with sufficient width to enable the globes to move freely past ‘one another, As the femperature ofthe assembly changes, the density atthe water changes and the globes assume differing heights inthe cylinder according o their density wit the globe inthe highest position indicating the temperature tobe at or below its labeled value Electric or thermoelectric methods ‘Thermocouples hitpen.wikibooks.orgiwikiRobots/Print_version ane sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl Thermocouples consist of a pair of wires of different metals connected together at both ends and insulated but kept thermally close to each other over their length. When they encounter a temperature gradient form one end to the other, an electrical current flows through the eireuit due to the Seebeck Effect If one ofthe wires is opened and the voltage between the open ends is measured with a suitably high impedance voltmeter, «voltage nearly ‘equal to the average relative Seebeck coeicient times the temperature difference between the hot and cold ends will be measure. ‘Thermoclectie properties of many material combinations have been developed over the past hundred years or so and also have been standardized for several of them, more commonly known by their ISA leter designations, as standard. Their electrical outputs for cold end reference temperature at 32 Deg F and 0 deg C are widely published in ASTM Standard E230, Many sources onthe web provide these tabular values including the National Institute for Science & Technology (NIST) in the USA. Temperature sensitive resistors Many clectricelly conductive materials have resistance that varies with temperature ~ they are temperature sensitive resistors, ‘There are two generic types of temperature sensitive resistors: Positive Temperature Coefficient (PTC) devices and Negative Temperature Coefficient (NTO) devices. Usually the PTC devices if made of metal, are termed Resistance Tempereture Detectors or RTDs. Ones made from other materials are usually called “Thermistors, short for Thermal Resistors TDs are a highly developed technology worldwide and several intemational standards exis forthe most widely used type, those made of pure Platinum. They are usualy called Platinum Resistance Thermometers, or imple PRT. Very special PRTs are used as interpolating devices in the International Temperature Scale of 1990 (ITS-90), these and similar devices sold commercially are often known as Standard Platinum Resistance ‘Thermometets, of SPRTS, Tables forthe most commonly used RTD materials, Pltinum, Nickel and Copper can be found in several Intemational and national standards a well as many locations onthe Web. ‘Thermistors are also very highly developed, but there are no uniform standards for their properties. Each supplier makes their own produets and provide their own calibration tables. Some ofthese tables have been cataloged on the measurement database website] Many popular thermistrs are manufactured using material with a B of 3300 K ora material with a B of 5133 K or some other material with an intermediate value, Independent of the materia, most thermistors are manufactured such thatthe resistance al room temperature (298.15 K = 25 °C) is one ofthese preferred values: 1 2, 2 KO, $ kM, 10 KO, 20 kM, $0 KO, 100 kA, 200 kA, $00 kA, 1 MO. + PBASIC Programming/RCTIME and *RepRap: ExtruderlO" (bp: reprap orgiviki/Extruder10) have more detils on measuring the RC time constant of «capacitor + thermistor circuit; then from tha ime calculating the temperature = Embedded Systems'Low-Volage Circuits and "RepRap: Thermistor”(hitp/reprap.org/wikfthermistor) have more details on measuring the ‘uput voltage of "esisor divider" resistor ~ thermistr citcut; then from that voltage calculating the temperature. Semiconductor Semiconductors, such as diodes and transistors have properties that vary greatly with th temperature. This rises from the temperature sensitivity of ‘the bandgap in such devices which is highly repeatable and very stable, especially in Silicon semiconductors, Several Integrated Circuit (IC) manufacturers, such as Analog Devices, Dallas Semiconductors and National Semiconductors manufacture meny Variants of the basic diode temperature sensors with additional cireuity to seae the ouipt for use wit simple digital display meters, Radiation Thermometer & Optical Pyrometer ‘The popular ear thermometer and low cost "laser" thermometer of today are variants of the radiation thermometer (pyrometer) that began its development in the 19th Century. The devices are all based onthe thermal radiation properties of literally everything in nature, whether it be gas, liquid ‘or solid. The physical processes at work inside all materials includes emission of electromagnetic radiation that is a function ofthe temperature and ‘optical properties ofan object. ‘The physical emission of thermal radiation was frst described correctly by Max Planck in the las year ofthe 19th Century. His theory led to the ‘quantum revolution in Physies,Ithas stood the test of ime as an accurate und reliable theory of tuermal emission of radiation and enables instrument Ranging Sensors Description o . Ranging snsors include sensors that requir no physical contact with the object being detected. They allow a robo! to see an obstacle without actualy having fo come into contact with it. This can prevent possible entanglement, allow fr beter obstacle avoidance (over touch-feedback method), and possibly iow software ocistnguish Between obstacles of different shapes and sies, There te several methods ‘used allow a sensor to detect obstacles from a dstace. Below ae a few common methods ranging ih complexity and capability from very base o very intricate, The following examples are only made to ’ give’ general understanding of maay common types of angi and proxi sensors a they commoly ply to robotics, Many variances ean exis within each fype. “Typical fl sin gauge. Te gage ifr more senive ses ine Sonic Sensors ‘ere! drt than nthe borzooal ditection, The markings ;caca hep to align Sonic sensors use sound waves (hup//en.wikipedia.org/wiki/Sound#Physies_of sound), usually tie the a ‘ultrasonic, through a medium as their means of detection. The medium is ypicaly the atmosphere or 2 ‘Be #tige during installtion. body of wate, A pulse of sound is emitted from some source. One or more receivers then pick up the sound wave after ithas bounced off any obstacles. Ths echo is then interpreted in various ways to obtain information about an obstacle, e Sonic Rangin ging « Sonic ranging sensors, sometines tered to a5 SONAR Chon wikipedia ore wiki Sonat) send out a pulse of Sound and wait for the Soho to retur. The time it takes forthe echo fo return used 0 determine the diatnce othe obstacle. They are poplin bobby and research rootss du tote simplicy and telatively Tow cost. These sensors are general limited to about 6m rnge 12) Divergence ean be 8 [roblem beemute te sound wave spreads out apd ait moves wun fom the source The sensor ean determine whet slong this projected ae an shwtale was found "Gost echoes can case problems aswell when the Player simulation of robet using sound wave bounces off multiple obstacles before returning 1 Sonic Ranging = Pros * Cheap + Easy to Use Single Ultrasonic Range = Cons Finder * Resolution rapidly decreases with distance + Ghost echoes can give false readings hitpten.wikibooks.orgiwikiRobotcs/Print_version 49779 sonsr2o4 RobolcsPrint version - Wikibooks, open books for an open world + Physical properties of objects can give very different responses ‘Scanning Ranging re Ib SONAR (hip:/en.wikipedia.org/wiki/Sonar) or SONAR arrays. SONAR uses the same prineipe as sonie ranging but with more sophisticated shu detecting hardware. Typically a SONAR system wil! produce multiple pulses of sound and ulilize multiple detectors (called an aray) to calculate Animation of ba the distance and shape of objects with greater accuracy than one stationary SONAR operate sensor/emitter pair ean achieve. However, SONAR performance can be ‘poor in situations similar to chose of othe sonic ranging systems. Dense obstacle distribution or complex surfaces can produce overwhelming phost echoes or poor echo retums, Visible or Infrared Light-Based Another very popular method uses projected light waves http/en:wikipedia.ong/wiki/Electromagnetic_radiation) usually infared, to detect ‘obstacles. This system projects a pulse of light and looks forthe reflection. Properties ofthe reflected light are analyzed to determine characteristics about the object detected. Light has the advantages of traveling extremely fast, allowing for fast sensor response time, high resolution, and less error to account for. Light from this type of sensor is often formed into a narrow beam or many times a laser is used. ‘This provides good resolution over large distances. Basic Proximity ‘The simplest light-based obstacle sensor projects a light and looks fora reflection of a certain strength If the reflection is strong enough, it can be inferred that an ‘obstacle lies within a certain range af the sensor. Multiple light sources can be pulsed on in sequence to give some resolution to the sensor asin the figures Ranging Light-Based Sensors Lighi-based ranging sensors use multiple methods for detecting obstacles and determining range. The simplest method uses the intensity of the reflected ight from ‘an obstacle to estimate distance, Iowever, this can be significantly affected by the colovteflectviy ofthe obstacle and exteral light sourees. A more common method i to usea beam of light projected at an angle anda stip of detectors spaced away from the emitter as inthe animation to the right. The pictured Sharp sensor uses this method. This method is less affected by the colorleflectivity of the object and ambien igh LIDAR (hutp:/en. wikipedia orgwiki/LIDAR), a more advanced method of range detection, uses a laser that is swept across the sensor's field of view. The reflected Taser Tight is usually analyzed one of two ways. Units with longer ranges sometimes actualy determine distance by measuring the time it takes For the laser pulse to ‘otur to the sensor. This requires extremely fast timing circuitry. Another method uses phase sifl detection (hip:/ www google.comisearch? Inl-entlz-ICIGGLS_¢n-USUS304US3048q- phase *shifl+ranging®binG-Search) to determine range by analyzing the incoming light and comparing itt a reference signal Touch Sensors Iitpten.wikibooks.orgiwikiRobotes/Print_version Animation of viene LIDAR ‘An IR proximity ‘with wo emiters ‘ASharp GP2D120 infrared range sensor Animation ofan Infrared range sensor 5079 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl Construction {A simple touch switch can be constructed from # momentary SPST (single-pole dlltnom sith wicctenion aa beouedvo te petchiseteccssan |] Dgiairea mie Suen eke is i The ihc wed nich way th when he aalfthe wich cages, Tog ie soo te mio cane: depending os teagan The wg ee simone diagram for active high, and active low are shown in figures 1 and 2, respectively. ae note te sinplr nd cheaper mead f touch esr constuction i with 2 ior wits he nberb pested apie lope icon tc are we =, x Ineloup: ts ccna pen eat Only when chs bunpeto t= | ig a ‘object, isthe cieuit complete. Ths circuit could be made to he either active-igh or |" i) tehneiow wate senaty stows ue an, by singly repaig he ‘ter ps of uch esas nl singe momentaypsk-uton siches Advantages Avion “nema + inary interes ony witha icocotlon cnet nw = Low cost = Simple to construct and to connect = Simple to operate ~ either the switeh is active, or itis not * Reliable Disadvantages 1 Tactile ~ object must be “touched” to know it exits = Low range 1 Less accurate for acquiring range data —you only know that there isan abject there within the motion range of the switch — not exactly how frit i, or exactly where the sensed object's XY position is relative othe robots position Feedback Sensors beso whisker figure 3 The way in which actuators perform is determined by the combination of several factors. The robot's control system sends the actuator some sort of control signal, and various factors of the environment affect what happens for any given ‘control signal, Feedback sensors ae used to detet the actuators output so thatthe control system can correct for ‘extemal factors, Simple whisker type switch For example, many robots are propelled forward by wheels connected to DC motors. The control system specifies the amount of power that should be applied to the motors to make ther tum, but their speed is also affected by the amount of load on the motor. In arder forthe robot to travel at @ ‘constant speed, itis necessary to have a sensor tht determines how fast the robot is moving, and adjusts the power level to the motors as needed ‘There are several standard kinds of feedback sensor that are used: = Encoders = Tachomerers = Accelerometers 1 Rate Gyroscopes: further reading + the OpenServe wiki (htp:/openserv.comy) discusses one way to measure and contra serv positon, speed, voltage, and power consumption Communication Sensors Data transmission channels Heing able to send data to and from your robot can be avery handy addition, There are 2 commonly used methods for wireless data transmission: IR (lsaRed) and RF (Radio Frequency), Both methods have thie own advantages and disadvantages, Which to se depends on several factors. IR hitpten.wikibooks.orgiwikiRobotcs/Print_version sure sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl 1 data transmission best known example is the TVs remote control, Using IR on a robot is quite easy and very cheap, The disadvantage of IR is that it’ limited to line-of sight transmission.Line-of sight or the distance of operating can be increased by use of microwaves (transmission-teceivet) systems RF RE are well known in radio controlled cars. RF is mote expensive than IR, but dossnt have the line-of-sight limitation, These days there are complete RF "modems" available which can be connected toa robot without much (or even any) extra components. Although possible building your own RF ‘communication modules is't advisable. There are strict laws about which frequencies you ean use and with how much power you can transmit. Using IR IR is not much more than modulated lightMashes, Since IR falls outside ofthe vitual spectrum humans can't see these Mashes without ex. a digital ‘camera (the CMOS image chip can see IR, on the sereen those IR lashes appear bright white). Remote Control The great thing about IR remote controls is that you can use many ofthese directly to control your robot. Although there are several (very) differend IR remote control standards, there is one standard tat is used by multiple manufacturers. Tis standard, called RCS, is very easy to use as many programming languages for microcontrollers have buildin RCS support. The hardware is limited to en integrated receiver module (eg. TSOP1736), a capacitor and a resistor. M19) Further reading + [3] (up/acroname.com/robotics/parts/R287-SRPO2 himl)htpliacroname,comiroboties/parts/R287- 2. 1 hup/paralia.comi/Store!Sensors/ObjectDetection/abid’76/CategoryID/S/ListOLevel/a/PraductID/92/DeFault aspx? SortField-ProductName,ProductName 3. 7 [4] (htps/wwwesocietyofrobots.com/sensors_sonar shtmlhttp:/www-socistyofrobots.com/sensors_sonar sh 4. 7 De Vleeschauwer David. "Phillips RCS infrared remote protocol page” (htp/users: pandora be/davahomepage/teS.htm). Detailed information on how to encode and decode RCS bits 5. 1 Michiel Niemeljer & Erie Toonen. "The RCS code" (htp/usrs skynet.beue pauwels/tu/HP28 hardware/remote) and "Survey remote control transmitters CT sets” (hitp:/usersskynet be/luc pauwels iuc/HP24 hardwareiremotelcodes.html). A list of standard RCS command codes. (was: hip: /web_archive.org/web/20060226134821 lp: /193.23.168 87/Mikrocontrol 1 Very often RF communications are "noisy", and requir a higher-Level protocol to tolerate the noise, Serial Programming/Forming Data Packets describes some ofthe detail, Real World Sensors This section covers the topics on sensor imperfection and how these components behave inthe real world, ‘There is no such thing asa "distance sensor. period. Those components commonly called "distance senso" or simi ad ‘extract distance information out of that. This extraction works pretty good in particular circumstances, but are worthless in many others. The key to successfully measuring e.g. a distance, is knowing, exactly, what your sensors measures and how external factors influence the measurement. Tis doesnt mean you just need to know how accurate the sensor is, it means you need to know what part of physis is used, and what the laws of physics say about that, Fl cover some of the most commonly used sensors and what laws of physics apply to those. 'm nat going very deep into explaining physics, there are Detter sourees for that (a wiki physies book for example, just enough to give you the idea of what problems you may expect and where to look fora solution. Light Based Sensors Reflection: short range sensors ‘This type of sensor detects objects ata range up toa few centimeter. These sensors are quite simple. They consist ofa light source, usually an IR diode ‘which signal ean be modulated and a light detector, which ean be as simple as a light sensitive diode or transistor with an amplification circuit or a ‘move complex IC complete with filters and TTL level outputs “These sensors work by detecting the reflection ofthe emitted light, The range at which an object is detected depends on a number of properties ofthe object 1 reflectvity/color: how well does the object reflect TR-light? Every abject has color. A green object means that it reflects light wth wavelengths ‘that we interpet as the color green, This can be a prety large range IR is also a color, Like any other color, some objects reflect IR, and other objects absorb IR 1 surface smoothness: A very smooth surface (like a mirror) reflets more light than a rough surface. (For example, a photograph of « black billiards ball usually shows a white spot caused by w:specular reflection) 1 Angle: The more the surface is trmed away from the sensor the more light is going tobe reflected away from the sensor. = Lightsources: Other lightsources like light bulbs or the sun emit IR light aswell. Especially the sun can prevent an TR based sensor to operate Reflection: medium range sensors. hitpten.wikibooks.orgiwikiRobotcs/Print_version sure sonsr2o4 RobolcsPrint version - Wikibooks, open books for an open world “Medium range sensors are abit more complicated than shor range sensor. These sensors consist of an IR emitting diode which signal is modulated, the receiver has a Tens to focus the reflected light ont light sensitive strip, Moving the seasor back and forward towards an object moves the reflection beam along the light sensitive strip, The resistance ofthe strip depends on were the light hts the strip. ts range as the same limiting factors as short range sensor, Reflection: Long range sensors Long range sensor use the time a laser pulse takes to travel from the emitter to the object and back. There are severel methods of measuring this time ‘of ight, but most invalve corelating the transmitted and received light pulse. By comparing the phase ofthese two pieces of data, # very accurate time value can be extracted. These sensors can operate over a wide range, typically between afew centimeters upto several kilometers. Its range i also limited in the same way as the previous IR sensors, Another thing than can limit is haze, smoke and other particles onthe air ‘Camera ‘Cameras used in robotics are commonly built around a image Sensor. These cameras are sensitive to IR-ight and usually have a IR-filter infront ofthe Tens. Cheap webcams may net contain such a filter, which makes them very sensitive to sunlight. ‘These sensors consist of (at least) 2 cameras mounted some fixed distance from each other. ‘This is rarely used because solving the correspondence problem is dfficul. ‘See also Robotics: Sensors: Computer Vision Sound Based Sensors What is sound? ‘Sound is in essence vibrations and pressure differences inthe ait, These vibrations are split into 3 groups by thir frequency. The first group, called infrasone has frequency below 20H2. The second group, called ultrasonic, has @ frequency above 20KIkz and an upperbound of 2M in air or 30Mhz. in water. The lst group is what is commonly called sound. This groups range lays between 20H1z and 20Khz and can be heard. Although only newborn ‘abies can really hear all the way up to 20Kihz. The older you get the les frequencies you can hear. ‘Most sensors use ultrasonic sound, usually around 40Khz. Such 2 signal cant be heard, while i's sill easy to use (generate, detect, Doppler effeet both the source and the receiver are motionless relative to each other, the receiver will hear the same frequency asthe source emitted, However if one ‘or both of them move relative tothe other, the receiver will detect a different frequency. This change in frequency is called the Doppler Effect {htpsfen-wikipedia.org/viki/Doppler_effect). Most people know this effect fom the sitens of passing police cats or ambulances, When they pass ‘youll ear one sound as they approach and a somewhat different sound as they move away, CCaleulating what fequency the receiver will hear is quite easy {p= Ths fegny hers heam Io i ee este the speed of the receiver Uy= the speed ofthe source ‘Speed of sound ‘The speed of sound depends on the medium it traverse through and its temperature, For ar this is approximately 330m/s at 0°C. Ofcourse most of the time the temperature is abit higher than this. Calculating the actual speed i fairly easy: “lr the actual speed at the curent temperature othe speed of sound at 0°C: 330m ‘T= the current temperature in Kelvin, Ty= 273,15 K (this is 0°C in Kelvin) with Iitpten.wikibooks.orgiwikiRobotes/Print_version sar79 sonsr2o4 RobolcsPrint version - Wikibooks, open books for an open world Reflection Resonance Diffraction Ultrasonic Distance sensors “These sensors are pretty simple, In theory that is, In practice these sensors can be areal pain inthe pinky. In this section I'l cover some ofthe troubles, ‘you may run into when trying to get them to work. Ultasonic distance sensors consist of 3 major pats: A tansmitter, a receiver and a timer, To measure a distance the timer triggers the transmitter ‘which emits a series of pulses, then the timer waits until the receiver detects the reflection ofthe pulses and stops the timer. The time measured is then divided by 2 and multiplied with the speed of sound. The result is the distance between the sensor and the object in front of it. The transmitter send out 4a stream of pulses on a carie frequency. The maximum frequency humans can hear is about 20 KHz. A frequency higher than that is picked to avoid nvoying, humans with the constant beep ~40KHz is @ common value ‘The receiver triggers when i rceives a signal with that particular frequency. This is not necessary the signal the transmitter sent. If more than one ‘ultrasonic sensor with the same carrer frequency are used, they can detect each others signals, ‘Sound doesnt move in a straight line, but rather asa 3D expanding wave, When the wave reaches an object part of it bounces back and moves again as 3D expanding wave in the opposite ditection, Such a wave can easly bounce multiple times before disappeating So its vey possible that you receive pulses that have travel a much larger trajectory than just to and back from the objest in front of the sensor. While some part ofthis problem can be solved by letting the sensor wait some time before starting another measurement, other situation can produce incorrect measurements which are fairly tough to correct. For example moving through a doorway can fal because the sensors emitted pulses bounce from the walls back to the sensor nd so giving a measurement that indicates an abject in front of the sensor. One way of correcting this is using another senso, for example a IR distance sensor tose if there really is a object. However such solution pose another problem: which sensor to believe? 3 sensors allow you to go with ‘the majority, but then things become quite complicated in constructing and interfacing such systems, not to mention what it does tothe power consumption. Distance Formula “The formula fr calculating distance fom a sonar pulse Took ike: ElapsedTime FlapseTime 343 mis isthe speed of sound, aud we ned o divide the ime by 2 because the sound tavels out and back, Distance = 343m/s Availability & Range ‘Sonar sensors are widely available and relatively inexpensive, ranging from $15 to S40 depending on the desired range. On average the maximum range of a midlevel sonar sensor wil be between 4 and 6 meters. Unlike infrared or laser sensors, sonar sensors also have a minimum sensing distance as well. This is due othe fact thatthe distance measurements are based onthe speed of sound, and over very short ranges the sound travels out and ‘back more quickly than the circuitry can respond. This minimum distance will vary by sensors, but is typically around 2to 5 centimeters. Also unlike infrared sensors, sonar sensors don’t havea perfect “cone” of vision. Because sound propagates as a 3D pressure wave, the sensor actually has a range that resembles a sine funetion wrapped around a curve, Potential Problems ‘Sonar sensors work very well for collision avoidance in large areas, but they do have some limitations. Because sound propagates out asa 3D pressure ‘wave and echoes, your robot may se things that are not really in its way. For instance, near angled walls the sound waves may bounce several times ‘fore returning to the sonar receiver, This makes i dificult forthe robot to know which echo is actualy the correct distance to the nearest obstacle ‘Similar to this is the problem of having multiple sonar sensors operating the inthe same area Ifthe frequencies of nearby sonar sensors are too simil they may cause false readings since the sensors have no method besides frequency to distinguish pulses it sent out ftom those other sensors send out Another common problem is the difference in absorbency and reflection of different materials. Ifyou shoot a sonar pulse ata cloth covered wall (ie ‘cubicle, it is likely thatthe cloth will absorb a significant amount ofthe acoustic energy and that the robot wil nt see the wall at al On the opposite ‘end ofthe spectrum, a floor with very high acoustic reflection may register as an obstacle when it is really clear plane, Magnetism Based Sensors ‘Compass sensors ‘These sensors are used to measure the orientation ofthe robot relative tothe magnetic north. I is important to remember thatthe magnetic north is not ‘exacily the same asthe geographical north. They differ several degrees. ‘The magnetic field of Fart is quite weak. This makes that these sensors will not operate well along other magnetic fed. Ep. speakers would mess up the reading. Ifyou use these sensors its best to mount them as faraway from your motors as possible, While you can't shield them without making ‘them useless, paying attentions to where you mount them can make a considerable difference in reliability Other distance sensors Iitpten.wikibooks.orgiwikiRobotes/Print_version sara sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl 1 (How do those "stud sensors" detect the lumber in the walls behind the sheetrock?) Further reading = the sensor wiki tep!‘sensorwiki org = ulteasonies ¢htp/davidcarybros.convhtml ultrasonic. htm) 1 Robot Sensors (htp:/www andrew.cmu edu/usertig/websensorslrobot_sensors2 ml) = "Migrating from x86 to PowerPC, Part 9: Sensors, sensors, sensors!" (ltp/www ibm com/developerworks/power/lib ‘migrate9index hteal?S_TACT=105AGX168S_CMP-EDU) recommends using @ optocoupler for isolation for all sensors, ipa Digital image Acquisition Image Sensors ‘There are 2 types of image sensors commonly used to digitally acquire an image, CCD and CMOS, While both have similar image quality, their core functionality and other features greatly differ) ccp A.CCD, oF Charge-Coupled Device is an older technology based on an analog systems, A photoelectric surface that coats the CCD creates an electric charger whea Light hits it, andthe charge is then transferred and stored ina capacitive bin that sits below the surface ofeach pixel [2] The CCD then. fnctions like a shift register, and transfers the charge inthe bin below each pixel one spot over by applying a voltage in a cascading motion across the surface. The charge that reaches the edge ofthe CCD is transferred to an analog o digital converter, which turns the charge into a digital value foreach, pixel. This process relatively slow because of the way ithas to shift each pixel to the edge ofthe CCD to then tur it into digital information {4] cmos A.CMOS image sensor isa type of Active-Pinel Sensor (APS) constructed of Complementary metal-oxide-semiconductors. CMOS sensors can be much faster at generating a digital image, and consume less power than a CCD. They ean also be large than & CCD, allowing for higher resolution images, and can be manufactured through cheaper methods than a CCD. Each pixel in a CMOS sensor contains a photodetector and an amplifier [4] ‘The simplest type of CMOS image sensor is the 3T madel, where each piel is made up of 3 transistors and a photodiode. The transistor Mrst i used to lear the value ofthe pixel and reset it to acquire anew image. The Ms transistor buffers and amplifies the value from the photodiode uni the pixel ‘can be read and is reset. The Msel transistor isthe pixel selet transistor tat only ouspats the pixel's value to the bus when the deviee is reading the ‘row itis in. In this model the data is gathered in parallel via a shared bus, where all pixels in a column share the same bus, and then the data is sent ‘down the bus one row at atime. This method is faster at shifting the charge value tothe digital converter. There are ather variations of the CMOS. sensor which help reduce image lag and noise. Image lag is created where some ofthe previous image remains in the current one. This i often caused by a pixel not getting fully rest, so some ofthe charge from the previous image sill exists, Image nose is a measure of how accurately the amount of light that hits the pixel is measured, Color Images The 2 types of image sensors do not natively measure color; they simply convert the amount of light (regardless of color) toa digital value [1] There are several different ways to gather colar data, The 2 most common are t use a color filtering array, the Foveon X3 specialized sensor and using a ‘wichroie prism and 3 image sensors. Color Filtering Array ‘The most common method isto use a color filtering array. The most common type of iter used isthe Bayer fille, developed by Kodak researcher Bryce Bayer in 1976, A color filtering array filters the light coming ito each pixel so that te pixel only detects one of the primary colors, The full color image can later be recreated by ading the colors ftom each pixe together to create a full color image,[1] The Bayer filter uses pattem of 50% green, 25% red and 25% blue to match the sensitivity ofthe buman eye to te 3 primary colors. The Bayer Giller repeals over 4 pixels [1] Because the images have tobe reconstructed and you only know one ofthe colors in each pixel, some of the image fidelity is lost in the process of image reconstruction called demosaicing. Edges of objects in the image ean olen be jagged and have non uniform color along the edges. In adliion to the Bayer filter there are many other filter pattems that can achieve the same result [1] The main problem with using a filter is that t reduces the amount ‘of light that reaches each photodetectr, thus reducing each pixel's sensitivity to light, Ths ean cause problems in low-light situations because the ‘Photodeteetors will not rescive enough light to produce a charge, resulting in lage amounts of noise, To help reduce this effect, there i another type of Filter in use that has some pixels that ate not filtered, These Panchromatc filters mimie the human eye, which has detectors of color and detectors of light und dark. These do much better in low light, but require a much larger area to mimic the pattern thane traditional Bayer filter. This causes some loss in fidelity Image Transfer “The to most common methods for connsctng cameras oa robot are USH and FireWire (IEEE 1394), When Apple developed FireWire hey had in ‘mind that it would be used to transfer audio and video. This resulted in seater effective speed and higher sustained data transfer rates than USB, ‘which are needed for audio and video streaming. FireWire also has the benefits of being capable of supplying more power to devices than USB can FireWire can also function without a computer ost Devices caa communicate with each other over FiteWite without a computer to mediate (5 References hitpten.wikibooks.orgiwikiRobotcs/Print_version 5579 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl 1. Color iter Array (hpi preview: comileaa!ikey=coor itr tamay) 2. Charge-Coupled devices (CCDs) (ht:/www.physics.pdx edu~l4eb/cedndex htm) 3. How Digital Cameras Work htpelectonis howstufTworks.con/digital-camera.htn) 4, What isthe difference between CCD and CMOS image sensors in a digital camera? (hitpleetonis howstuffworks.con/queston362 htm) 5. How FireWire Works (htp:/ww howstufworks com/firewire him) Navigation Navigation What is Navigation? "Navigation comprises everything robot needs to get from point A to point B as efficient as possible without bumping into fumiture, walls or people ‘This problem breaks down in several sub-problems: needs to know where (Localization) itis needs to detect and avoid obstacles (Collision Avoidance). needs memory of its surroundings (Mapping) thas to be able to plana route (Trajectory Planing to point B. thas to be able to explore (Exploration) new terran, Localization Localization involves one question: Wher i the robot now? Or, robo-centrcaly, where am I, keeping in mind that "here is relative to some landmark {usually the point of origin or the destination) and that you are never lot if you dont care whsre you are Although a simple question, answering i isnt eesy, as the answer is different depending on the characteristics of your robot, Localization techniques ‘that work fine for one robot in one environment may not work well ora all in another environment, For example, localizations which work well in an ‘outdoors environment may be useless indoor. Al ocaization te mnques generally provide two basi pieces of information = what isthe current location of the robot in some environment? 1 what isthe rbo's current orientation in that same environment? The frst could be in the form of Cartesian or Polar coordinates or geographic latitude and longitude. The latter could be a combination of rol, pitch and yaw or a compass heading Current Location “The current location of a robot canbe determined in several very different ways: Dead Reckoning Dead reckoning uses adometry to measure how fi new position the robot moves. Trigonometry and the equations of kinematics arc all that is needed to calculate its This method has 2 requirements: = Itneeds a way to determine its intial location 1 ts accuracy usually decreases overtime as every measurement hus an error and errors accumulate Dead reckoning is ofen usd with ther methods to improve the overall accuse Least Mean Squares “There are numerous solutions to the localization roboties problem, These range from simple Deed Reckoning methods to advanced algorithms with ‘expensive radar or vision system, The most important factor is picking an algorithm to find the robotic location i the availability of accurate relative nd global positon data, For simple systems with basic relative position sensors and some form of global position sensor, the most practical and ‘easiest to implement localization method is that of Least Mean Squares. See Least Squares: htp//en. wikipedia org'wikiLeast_squares for more information on using the method af Least Squates to find solutions for over determined systems hitpten.wikibooks.orgiwikiRobotcs/Print_version 5679 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl To look atthe Least Mean Square (LMS) algorithm in # general sense fist, iis important o look atthe general principles that gover it, The goal of all localization methods is to-minimize the error between where the robot is and where the robot should be, The algorithm must be able to follow @ preset track or find the least eror inthe robot location (Adaptive Algorithms and Structures, p. 97). These goals fo robot localization are applied to the [EMS algorithm by adaptively adjusting weights to minimize the eror between the actual function and the function generated by the LMS algorithm ‘Asa subset ofthe Steepest Descent Algorithm (bip:en. wikipedia ongwiki/Gradient_descent, ths method was created to minimize the error by ‘estimating the gradient (itp!/en.wikipedia.orgwiki/Gradient) and is known asthe simplest lcelization method with global postion output Derivation of LMS Algorithm ‘The LMS algorithm canbe applied to two cases + Parallel mip inputs + Serie single input File-.inearCombinerConfiguaton pa Figure 1: Lincar Combiner Configuration (1] File:Curvetit pg Figure 2: Carve Fito Data to Minimize Er [3] File-TransverslCombinesConfiguration jpg Figure 3: Transversal Combiner Configuration [1 In bot cases, the gradiont is calelated as = b= XW, ‘where "isthe desired output, °X"," is the actual ius, and “Wy forthe kh input element. Nex, the gradient estimates calculated as [Now that we have the gradient estimate, the weights can be updated by Woes = Wy- idly = Wy + 200% to minimize the eror through iterative change.“ "isthe gain constant for taining the algorithm, The use of taining isto adjust how fas the eroris ‘corrected for by the weight update function [1]. Ifthe training constant is too high the system will oscillate and never converge tothe minimal eror value ‘To illustrate the process other than in mathematical format, the LMS algorithm can be demonstrated through the use of pseudo code. The purpose of the code below is for illustration purposes only. This example is intended to provide step-by-step visualization tol for beginning the coding process. Procedure LMS Initialize the Weights repeat choose raining pair (8) for all k do wee he end forall k do ‘end forall k do GD = QE = wt, ‘end until termination condition reached Modified LMS Method For problems with sequentially ariving dato, the Modified LS method ean be used to add or delete rows of data In various time-series problems, 2 ‘moving ‘window can be employed to evaluate data over a predefined timeframe, This method is useful im LMS problems that arise in statistics, ‘optimization, and signal processing [2 Constrained LMS Method For curve and surface fting application problems, the Constrained LMS method is very useful. Such problems require satisfying linear equations systoms with various unknowns, This method only pravides @ useful solution ifand only if each input ean be scaled by some magnitude and stil remains a constant [2] hitpten.wikibooks.orgiwikiRobotcs/Print_version S179 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl Direct Methods for Sparse problems [A sparse LMS problem involves solving the LMS problem when the matrix has ‘relatively few" nonzero elements, “I. H, Wilkinson defined a sparse ‘matrix tobe ‘any matrix with enough zeros that t pays to take advantage of them?” [2]. A more precise definition is more difficult 1 provide, Such problem usually involve large to enormous size and involve sumerous unknowns, The following are examples of problem that ca be classified as sparse problems: patter matching, cluster analysis, and surface fitting [2] erative Methods for LMS problems ‘A second method for solving sparse problems (in addition fo the Direct Method mentioned above) isthe erative Method, In general, the Iterative Method is used for analysis of under-determined, sparse problems to compute a minimum solution based on the norm of the inpat data (2), ‘Nonlinear LMS Method For problems with nonlinear systems, the Nonlinear LMS method is useful for iteratively caleulatng the relative LMS solution to the problem. This ‘method can be used for unconstrained optimization and various survey methods [2 Addi mnal Sources for Application and Theory For further reference and ational reading the following resoures canbe use fora more exensive overview ofthe subject. + Adaptive Antenna Control by LMS (hip: latcesemicomiprodacsinlectualproeryeerencedesigemsadaptivefiterfin) + LMS Estimation Tecniques (hip: iaces ne/English GlosstrclGlosModle_gm las squares estimation im) + Least Squares (htpfenwikipedin og wikiLcst_ squares) Leas Squats Filler (tpn wikipedia orgwkiLeas_mean_ squares fier) References + Adaptive Signal Processing [1 = Numerical Methods for LS Problem book [2] + Least Squares Estimation (p/w sicessneVEnglhvGlossaresGlosModie_gm_leas_squstes_ estimation hm) [3 GPS Global Positioning System ‘On arg terns GP'S can provide more or less accurate coordinates, dead reckoning andthe data fom its other sensors can fil nthe gaps. However ‘oa small terrains or indoors the GPS's inaccuracy becomes a problem and the dead reckoning and sensor data becomes the dominant factor in determining the location, GPS-like Systems Although GPS isnt very useful indoors, similar techniques as those used in GPS can be used indoors. Alla robot needs isto measure i's distance to 3 fixed beacons, Each ofthese distances describe a circle with the beacon in its center, 3 citeles will only intersect in one point Line following Probably the easiest way: Draw a line on the ground and use IR reflection sensors to follow it, Useful as track orto mark the edges ofthe robots ‘This can also be done by putting an elect cable inthe ground and sending a modulated signal through it, The robot ean detect this cable with ‘magnetic sensors (Hall-sensors or coils). ‘The complex versions of line-following invalves using sensors lke vision (camera) which helps reducing overall cost of sensors and implementation and also provides versatility to detec lines of various colours. It allows & great scope for autonomy in the system too, Landmarks Placing landmarks is another way to help your robot to navigate through its environment. Landmarks can be active beacons (IR or sound) or passive (reflectors), Using bar cade scanners is another possibilty, A special trick, ithe environment is known heforchand, isto use collision detection (i. sensor bumpers or similar) with know objects. Together with dead reckoning the precision canbe extraordinary even when using cheap equipment ‘In now environments landmarks often need to be determined by the robot itself. Through the use of sensor data collected by laser, sonar or camera, specific landmark types (e.g. walls, doors, corridors) canbe recognised and used for localization, Current Heading Determining a robot's heading can be done witha compass sensor, These sensors usually consist of 2 magnetic field sensors placed a 90° angle hitpten.wikibooks.orgiwikiRobotcs/Print_version serra sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl These sensors measure ‘magnets can reduce the accuracy of the compass. Compass sensor modules ea © earths magnetic field and canbe influenced by other magnetic fields, Speakers, transformers, electric eables and reftigerator have built-in filtering for dhe magnetie fields of AC. Collision Avoidance Collision avoidance, in comparison to colision detection, is what is done after a possible eolision is detected. Possible collisions will depend on the shape and sizeof both the object and robot as well asthe position and motion projection af the abject and the robot, When making an atlempt o avoid an obstacle, there re many decisions to face. The decisions available depend on the availabe paths the robot can take fo avoid the obstruction. These paths can either be determined upon the robots realization of the obstruction or, in ease all of the obstructions’ positions are known, once the map is loaded, Finding the “correct” path to use can be troublesome depending on which algorithm is used and the granularity associated with it Basic Idea there isan object in the robot's way, avoid it. Essentially this isthe basic idea in collision avoidance. However, this simple matter to humans is incredibly complex in the computer world. Which algorithm is best in avoiding obstacles? Which is least complex, most efficient? Which algorithm can uslize the robots full capabilites effectively? All ofthese are questions one should ask when searching for a Valuable collision avoidance algorithm, Example Algorithm In the figure to the right, a simple “Yank-drive” robot is presented moking it’s way to three pre-determined waypoints ‘The robot's algorithm is a dignified version ofthe simple one-liner given atthe beginning ofthis section: FilesFigael GE Example algortim being pt Turn to the nearest waypoint if there is one lef. to use sing PayerStage 1, Le there i 20 waypoint lef, stop. thtpen wikipedia.org wiki 2. Move toward the nearest Waypoint. 2 lf there is something inthe way 1. Go around it 2. After every 1.5 body lengths, go to step 1 3. Ifthe robot has reached the waypoint: 1 Remove the reached waypoint from the ls. 2. Gotostep | Albeit his algorithm works well for an oversimplified map where all obstacles are simple geomettic shapes, in more complex scenarios it may not fare es wel, For instance, nestling a waypoint inthe middle of «U-shaped obstacle would cause this algorithm to never end, Major Problem With robots having greater and greater importance in our everyday live, it s no wonder that collision avoidance (particularly dealing with human safety) is hecoming an increasingly greater concer, Such concerns are not tobe taken lightly. Thee is already one death associated with roboticidel! In addition to safety, other concerns can be generated: 1 Collision Avoidance Algorithmic Complexity = Computer Power # Sensor Accuracy / Throughput Sensor Date Interpretation ‘Of course as the algorithmic complexity ofthe collision avoidance algorithm increases, so does the required computer power. Some researchers ‘ven finding it beneficial to use multiple processors in paralle (parallel processing) to “divide and conquer” such problems!) Sensor accuracy and throughput is becoming less a threat to successful collision avoidance, However, this doesn't mean tis non-existent, During the process of enginocring 2 collision-aveiding robot, tade-ofls can be made that could potentially compromise the effectiveness ofthe sensors in how the robot behaves, Detection ys. Avoidance Collision detection is simpy the act of surveying the known vicinity of the robot and detecting the presence (or absence) ofa possible collision. In ed. Without collision detection, it doesn’t seem reasonable to have collision avoidance because there wouldn't be anything to avoid (inthe robot's scope). Collision avoidance is the plan for aetion the robot takes fo evade the oncoming collision. As previously stated, there is no need for collision avoidance if there are no collisions to avoid, Collision Avoidance Algorithms Quad Trees! ‘The use of quad tres allows for a simple collision avoidance algorithm. An approximation technique used here uses & type of daa structure called a quad tre. A quad tee is similar to that of binary tree except that a quad tree has four child nodes foreach parent instead of hitpten.wikibooks.orgiwikiRobotcs/Print_version 50779 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl ach child node is represented by a square of pixels in a “top-down” image of the robot's surrounding landscape, Each square simply acts asa binary answer fo the question, “Ts there any possibility for a collision inside ofthis square?” Ifthe answer is yes, then the square is avoided, otherwist is noted for safe travel. An example of ths is given inthe figure below. su Advantages FileFigure3 PNG Approximation ofa triangle ‘An advantage to using this slgorithm is that retreating ean be done fely easily —by climbing back up the tree and. ‘sing sguares, inying a different approach, OF course, ina case where all ofthe obstacles have been found, a minimal path can easily be created using simple distance algorithms, Disadvantages A disadvantage to using this algorithm is that, due tothe granularity of each squate of pixels it is possible forthe obstacles tobe close enough such that a robot woulds't notice that t could actually St through a gap. References swscientistcom/articlldn4337-smart-software + Duncan Grabem-Rowe (2003). "Smart software helps robots dodge collisions". htp:/www.n helps-robots-dodge-collisons. html 2. J Javier Minguez, Javier Osuna, Luis Montano (2004). "A “Divide and Conquer" Strategy based on Situations to achieve Reactive Collision in Troublesome Scenarios’. hip:/webulis.unizar es~jminguez/810 pt shray, KK. Yen (1996). A Comprehensive Robot Collision Avoidance Scheme by Two-Dimensional Geomettie Modeling” ‘orgistampistamp jsparaumber-O0SO68S3, ' PlayerlStage Wiki Pape (htp//en.wikipedia.orp/wiki/Playen/Stage_ Project) Exploration Exploration means having the robot filling in parts of the map. Tis requites sensors that detest the obstacles and localization to know where the robot is. Fusing this data allows the robot wo fill in where the obstacle is on the map. Mapping ‘To find routes efficiently a robot has to know it's surroundings. Maps ean be very handy for this. Either the robot has the memory and tools for it and draws its ovm map, gets is map in advance or get a partial map (eg only walls) and adds the otaer obstacles toi tse. = Getting the map in advance works fine in a static environment, = The partial map isa more efficient approach asi already contains al the static parts ofthe world ' Working fom serateh isthe best approach when the robot is often placed in new environments Drawing « map has 2 major issues: Most sensors are too limited fo measure directly ithe obstacle is a wall, a chair ora person. Tor each obstacle measured. Add tothe score ifthe object is detected again when the robot * Not all elements inthe surroundings are stato ‘Armethod for solving this issue is to use a"scor ‘passes the same location, 1 Localization isnt perfect. Small accumulating erors can make it hard to determine the exact location of the robot and therefor can make it hard to find where a detected obstacle has tobe noted on the map. One solution fo this problem is Simultaneous Localization and Mapping (SLAM), ‘which corrects the location of detected abjocts hased on the estimated error of the robots locaton, A third minor issue is memory. On a robot build without a computer memory is limited and storing an entire map can be next to impossible Ifyou hhave the memory the map can be stored in different ways + 2 amy: Easy and fast access, very wastefil with memory. = linked list: slower to use, more efficient with memory. * Quadiee: faster than linked list, much harder to implement, very efficient with memory Implementing these structures on a PC is reasonably easy, however constructing them in a limited environment as a microconteoller sa serious challenge, Trajectory Planning Trajectory Planning ‘Trajectory planning is moving from point A to point B while avoiding collisions overtime, This ean be computed in both discrete and continuous ‘methods. Trajectory planning is a major area in robotics as it gives way to autonomous vehicles. ‘Trajectory planning is sometimes refered to as motion planaing and erroneously as path planning. Trajectory planning is distinct from path planing in that ts parametrized by time. Essentially trajectory planning encompasses path planning in addition to planning how to move based on velocity, time, and kinemates, Problem Constraints hitpten.wikibooks.orgiwikiRobotcs/Print_version 6079 sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl Holonomicity "olonomicity isthe relationship between the controllable degrees of freedom ofthe robot and the total degrees of freedom of the robot. I'the number ‘of controllable degrees of freedom are greater than or equal to the total degrees of freedom a robot is said tobe holonomic, By using a holonomic robot ‘many movemenis are much easier to make and returning to past pose is much easier. {Acar would be non-holonomic, as it has no way to move laterally. Tis makes certain movements, such as parallel parking, dificult, An example of a hholonomic vehicle would be one using mecanum wheels, such 8 the new Segway RMP. Dynamic Environments In dynamic environments, such asthe real world, many possible collision objects are not stationary. This makes trajectory planning more dificult as time is constantly changing and objects are moving, A robot cannot simply move backwards in time as it might simply back away from a stationary collision In addition to this many choices are completely irreversible du fo terrain, such as moving off ofa cliff Concepts ‘Trajectory planning gives a path from a starting configuration S to goal configuration G avoiding collisions in 2D or 3D space. ‘A configuration is the pose of a robot describing its position, Configuration Space C, is the st of all ‘configurations. For instance in two dimensions & robots configuration would be described by coordinates (x,y) and angle 0. Whereas in three dimensions a robots configuration would be described by coordinates (x,y, 2) and angles (4 P. ). Free space Cie isthe set ofall configurations that ae collision free. Computing the shape of Cg isnot ffecient, however computing ifa given configuration is collision free is by simply using kinematics and collision detection from sensors Planning Algorithms Concepts of Trajectory Penning Potent Field Potential Field Planning places values aver the map with the goal having the lowest vale rising the value depending on the distance from the goal. Obstacles are defined to have an ineredibly high value. The robot then simply moves tothe lowest potential value adjacent to it, which should lead itt the goal. However this technique often ges trapped in local minima, Certain techniques can be used to avoid this, such as wavefFon potential field planning. Sampling Based Planning Roadmap method is one sampling based planning method. First a sample of N coafigurations in C as ‘milestones. Then a line PQ is formed beswoon all milestones as long asthe line PQ is completely in Cig: Then sraph search algorithms can be used to find a path from start to the goal. As N grows better solutions are found, ‘however ths increases computation time. Example of Potential Grid Based Planning Grid Based planning overlays a grid on the map. Every configuration then corresponds with agri pixel. The robot ean move from one grid pixel to any adjacent gig pixels as long that grid pixel is it Cire: Then a search algorithm such as A* can be used to find a path get from start to the goal. One potential tradeofT with ‘this method is with a lower resolution gridfbigger pixel) the search will be faster, however it may miss paths ‘through narrow spaces of Ce: In addition asthe resolution ofthe grid increases memory usage increases ‘exponentially, therefore in large areas using another path planning algorithm may be necessary ‘vamp of Grid Based Planing rains Exotic Robots Special Robot Brains hitpten.wikibooks.orgiwikiRobotcs/Print_version eure sonsr2o4 RobolicsiPrint version - Wikibooks, open books for an open worl “Most robots have an electronic "brain (part that uses sensor input to determine actuator output). This can be either a simple electronic circuit, a controller ora PC. This isnot the only way to build «robot "bain Mechanical Robot Brains ‘One of the first robots was designed by Da Vinci, this was a small vehicle powered by wind-up springs and it was "programed” by changing gears. [Although possible ths kind of obot brains are very hard to design and build Pneumatic Robot Brains I you need to automate some par ofa plant where explosive gases are used it might be too dangerous to use electoniceireits Instead pneumatic circuits are used. It's possible to construct logical circuits, timers, sequences. using pneumatic valves and cylinders. You ean find a lot of pneumatic valves for automation here: www ngalves.com BEAM robotics Thie page should discus BEAM robots, The Wikipedia link explains what BEAM robots are, ther info over this type of robot can be added. A special kind of robots are BEAM robotics, Cooperating Robots Ever take a goad look ata swaem of flying insees? Ifyou did you'd have seen very complicated pattems as i they coordinate thei ight with precision. Yet each ofthese individual insect fallow only 2 simple rules 1 Getto the center ofthe swarm (the safest place) 1 Keep your distance from the other insects. ‘Because ofthe large numberof creatures in such a swarm you get complicated behaviour even from such very simple rules. The same principle applies toants. Although none ofthe ants are civil enginecrs they do succced in building very complicated habitats ‘This same principle can be applied to robots. A large numberof small (and cheap) robots can cooperate to tackle a large problem, These swarms of robots are another challenge for robot designers as their behaviour isn as simple to program asa single robot, We talk more about "simple" swarming in Roboties/Computer ControlControl Architectures/Swarm Robotics and more complicated coordination in Robotics/Exotie Robots/Modular and fractal robots. Hazardous Environment Robots ‘The definition of hazardous is involving or exposing one to risk.) Some examples of hazardous environments would be nuclear reactors, outside ‘earth's atmosphere, and even behind enemy lines in war, Robots help humans in many different ways; mostly being able to do task that could be Dharmful coward the average human being. So in soviety, robots perform important tasks that your average human being ean not perform because of ‘being to dangerous or harmful tothe health Mars Pathfinder In space robot have been use as rovers that travel toa distant planets and take data from its surroundings, such 4s Mars Pathfinder. Using a rover is cheaper than sending humans ito space, One of the missions was to “demonstrate a simple, low-cost system, at fixed price fo placing a seienee payload on the surface of Mars at VIS the Viking price tag” (jpl:nasa. Ths is cheaper because going to Mars for humans would require the space shure to carry food, oxygen, be able to stand the extreme temperature differences, and especialy, be safe ‘enough to carry humans. Hubble Telescope ‘Another robot that isin space right now isthe Hubble Telescope, The Hubble telescopes purpose ist provide Sojourner, the Mas Pathfinder roves “unprecedented deep and clear views ofthe Universe, ranging from our own solar system to exteemely remote fledgling galaxies forming not long afer the Big Bang 13.7 bilion years ago” (hubble). This robot takes clear photos of the solar system, This is a great example of hazardous environment because the Hubble has been taking pictres since 1990 and aside of a few repairs, it has lasted alot longer thas was originally expected to last. [29] (attp:/www se gow/NRdonlyres'¥3C9CEAE-361E-4F3B-B4C4- (CEDD151A6321/2769/FloatingHubble.jpg) Pioneer Another application isin maclear environments such as the aftermath of Chemabyl which a disaster that was cause by a nuclear reactor that released @ large amount of radioactivity into the environment followed power explosion which destroyed the reactor. The Pioneer is a robot that was built to ‘withstand the radioactive environment in onder to deploy sensors, sampling payloads, map the environment in 3D, and eut and retrieve samples of hitpten.wikibooks.orgiwikiRobotcs/Print_version eure

You might also like