Robot Programming: A Guide to Controlling Autonomous Robots

Robot Programming: A Guide to Controlling Autonomous Robots

By: Tracey Hughes (author), Cameron Hughes (author)Paperback

In Stock

£12.91 RRP £18.99  You save £6.08 (32%) & FREE Saver Delivery on orders over £20


Start programming robots NOW! Learn hands-on, through easy examples, visuals, and code This is a unique introduction to programming robots to execute tasks autonomously. Drawing on years of experience in artificial intelligence and robot programming, Cameron and Tracey Hughes introduce the reader to basic concepts of programming robots to execute tasks without the use of remote controls. Robot Programming: A Guide to Controlling Autonomous Robots takes the reader on an adventure through the eyes of Midamba, a lad who has been stranded on a desert island and must find a way to program robots to help him escape. In this guide, you are presented with practical approaches and techniques to program robot sensors, motors, and translate your ideas into tasks a robot can execute autonomously. These techniques can be used on today's leading robot microcontrollers (ARM9 and ARM7) and robot platforms (including the wildly popular low-cost Arduino platforms, LEGO (R) Mindstorms EV3, NXT, and Wowee RS Media Robot) for your hardware/Maker/DIY projects. Along the way the reader will learn how to: Program robot sensors and motorsProgram a robot arm to perform a taskDescribe the robot's tasks and environments in a way that a robot can process using robot S.T.O.R.I.E.S.Develop a R.S.V.P. (Robot Scenario Visual Planning) used for designing the robot's tasks in an environmentProgram a robot to deal with the "unexpected" using robot S.P.A.C.E.S.Program robots safely using S.A.R.A.A. (Safe Autonomous Robot Application Architecture) ApproachProgram robots using Arduino C/C++ and Java languagesUse robot programming techniques with LEGO (R) Mindstorms EV3, Arduino, and other ARM7 and ARM9-based robots.

About Author

Cameron Hughes is a computer and robot programmer. He holds a post as a Software Epistemologist at Ctest Laboratories where he is currently working on A.I.M. (Alternative Intelligence for Machines) and A.I.R. (Alternative Intelligence for Robots) technologies. Cameron is the lead AI Engineer for the Knowledge Group at Advanced Software Construction Inc., a builder of intelligent robot controllers and software-based knowledge components. He holds a staff appointment as a Programmer/Analyst at Youngstown State University. Tracey Hughes is a senior software and graphics programmer at Ctest Laboratories and Advanced Software Construction Inc. where she develops user interfaces and information and epistemic visualization software systems. Her work includes methods of graphically showing what robots and computers are thinking. She is on the design and implementation teams for the East-Sidaz robots at Ctest as well. Both Cameron and Tracey Hughes are members of the advisory board for the NREF (National Robotics Education Foundation) and members of the Oak Hill Collaborative Robotics Maker Space. They are project leaders of the technical team for the NEOACM CSI/CLUE Robotics Challenge and regularly organize and direct robot programming workshops for the Arduino, Mindstorms EV3, LEGO NXT, and RS Media robot platforms. Cameron and Tracey are two of the authors of Build Your Own Teams of Robots with LEGO (R) Mindstorms (R) NXT and Bluetooth, published by McGraw-Hill/TAB Electronics, January 2013. They have written many books and blogs on Software Development and Artificial Intelligence. They've also written books on multicore, multithreaded programming, Linux rapid application development, objectoriented programming, and parallel programming in C++.


Introduction? 1 Robot Programming Boot Camp? 2 Ready, Set, Go! No Wires or Strings Attached? 2 Boot Camp Fundamentals? 3 Core Robot Programming Skills Introduced in This Book? 4 BURT-Basic Universal Robot Translator? 4 BRON-Bluetooth Robot Oriented Network? 6 Assumptions About the Reader's Robot(s)? 6 How Midamba Learned to Program a Robot? 7 1 What Is a Robot Anyway?? 9 The Seven Criteria of Defining a Robot? 10 Criterion #1: Sensing the Environment? 11 Criterion #2: Programmable Actions and Behavior? 11 Criterion #3: Change, Interact with, or Operate on Environment? 11 Criterion #4: Power Source Required? 11 Criterion #5: A Language Suitable for Representing Instructions and Data? 12 Criterion #6: Autonomy Without External Intervention? 12 Criterion #7: A Nonliving Machine? 13 Robot Categories? 13 What Is a Sensor?? 16 What Is an Actuator?? 17 What Is an End-Effector?? 18 What Is a Controller?? 19 What Scenario Is the Robot In?? 23 Giving the Robot Instructions? 25 Every Robot Has a Language? 25 Meeting the Robot's Language Halfway? 27 How Is the Robot Scenario Represented in Visual Programming Environments?? 30 Midamba's Predicament? 30 What's Ahead?? 32 2 Robot Vocabularies? 33 Why the Additional Effort?? 34 Identify the Actions? 38 The Autonomous Robot's ROLL Model? 39 Robot Capabilities? 41 Robot Roles in Scenarios and Situations? 42 What's Ahead?? 44 3 RSVP: Robot Scenario Visual Planning? 47 Mapping the Scenario? 48 Creating a Floorplan? 49 The Robot's World? 52 RSVP READ SET? 53 Pseudocode and Flowcharting RSVP? 56 Flow of Control and Control Structures? 60 Subroutines? 64 Statecharts for Robots and Objects? 66 Developing a Statechart? 68 What's Ahead?? 72 4 Checking the Actual Capabilities of Your Robot? 73 The Reality Check for the Microcontroller? 76 Sensor Reality Check? 79 Determine Your Robot's Sensor Limitations? 81 Actuators End-Effectors Reality Check? 84 REQUIRE Robot Effectiveness? 87 What's Ahead?? 89 5 A Close Look at Sensors? 91 What Do Sensors Sense?? 92 Analog and Digital Sensors? 95 Reading Analog and Digital Signals? 97 The Output of a Sensor? 99 Where Readings Are Stored? 100 Active and Passive Sensors? 101 Sensor Interfacing with Microcontrollers? 103 Attributes of Sensors? 107 Range and Resolution? 108 Precision and Accuracy? 108 Linearity? 109 Sensor Calibration? 110 Problems with Sensors? 111 End User Calibration Process? 112 Calibration Methods? 112 What's Ahead?? 114 6 Programming the Robot's Sensors? 115 Using the Color Sensor? 116 Color Sensor Modes? 118 Detection Range? 119 Lighting in the Robot's Environment? 119 Calibrating the Color Sensor? 119 Programming the Color Sensor? 120 Digital Cameras Used to Detect and Track Color Objects? 124 Tracking Colored Objects with RS Media? 124 Tracking Colored Objects with the Pixy Vision Sensor? 128 Training Pixy to Detect Objects? 129 Programming the Pixy? 130 A Closer Look at the Attributes? 134 Ultrasonic Sensor? 135 Ultrasonic Sensor Limitations and Accuracy? 135 Modes of the Ultrasonic Sensor? 139 Sample Readings? 140 Data Types for Sensor Reading? 141 Calibration of the Ultrasonic Sensor? 141 Programming the Ultrasonic Sensor? 143 Compass Sensor Calculates Robot's Heading? 153 Programming the Compass? 154 What's Ahead?? 157 7 Programming Motors and Servos? 159 Actuators Are Output Transducers? 159 Motor Characteristics? 160 Voltage? 160 Current? 161 Speed? 161 Torque? 161 Resistance? 161 Different Types of DC Motors? 161 Direct Current (DC) Motors? 162 Speed and Torque? 165 Motors with Gears? 167 Motor Configurations: Direct and Indirect Drivetrains? 177 Terrain Challenge for Indoor and Outdoor Robots? 178 Dealing with Terrain Challenges? 179 Torque Challenge for Robot Arm and End-Effectors? 182 Calculating Torque and Speed Requirements? 182 Motors and REQUIRE? 183 Programming the Robot to Move? 184 One Motor, Two, Three, More?? 185 Making the Moves? 186 Programming the Moves? 186 Programming Motors to Travel to a Location? 191 Programming Motors Using Arduino? 198 Robotic Arms and End-Effectors? 200 Robot Arms of Different Types? 201 Torque of the Robot Arm? 203 Different Types of End-Effectors? 205 Programming the Robot Arm? 208 Calculating Kinematics? 212 What's Ahead?? 216 8 Getting Started with Autonomy: Building Your Robot's Softbot Counterpart? 219 Softbots: A First Look? 222 Parts Section? 224 The Actions Section? 224 The Tasks Section? 224 The Scenarios/Situations Section? 224 The Robot's ROLL Model and Softbot Frame? 225 BURT Translates Softbots Frames into Classes? 227 Our First Pass at Autonomous Robot Program Designs? 239 What's Ahead?? 240 9 Robot SPACES? 241 A Robot Needs Its SPACES? 242 The Extended Robot Scenario? 242 The REQUIRE Checklist? 245 What Happens If Pre/Postconditions Are Not Met?? 248 What Action Choices Do I Have If Pre/Postconditions Are Not Met?? 248 A Closer Look at Robot Initialization Postconditions? 249 Power Up Preconditions and Postconditions? 251 Coding Preconditions and Postconditions? 252 Where Do the Pre/Postconditions Come From?? 257 SPACES Checks and RSVP State Diagrams? 262 What's Ahead?? 263 10 An Autonomous Robot Needs STORIES? 265 It's Not Just the Actions!? 266 Birthday Robot Take 2? 266 Robot STORIES? 268 The Extended Robot Scenario? 269 Converting Unit1's Scenario into STORIES? 269 A Closer Look at the Scenario's Ontology? 271 Paying Attention to the Robot's Intention? 282 Object-Oriented Robot Code and Efficiency Concerns? 304 What's Ahead?? 306 11 Putting It All Together: How Midamba Programmed His First Autonomous Robot? 307 Midamba's Initial Scenario? 307 Midamba Becomes a Robot Programmer Overnight!? 308 Step 1. Robots in the Warehouse Scenario? 310 Step 2. The Robot's Vocabulary and ROLL Model for Facility Scenario #1? 312 Step 3. RSVP for Facility Scenario #1? 313 Visual Layouts of a Robot POV Diagram? 315 Midamba's Facility Scenario #1 (Refined)? 316 Graphical Flowchart Component of the RSVP? 317 State Diagram Component of the RSVP? 324 Midamba's STORIES for Robot Unit1 and Unit2? 325 Autonomous Robots to Midamba's Rescue? 338 Endnote? 342 What's Ahead?? 342 12 Open Source SARAA Robots for All!? 343 Low-Cost, Open-Source, Entry-Level Robots? 344 Scenario-Based Programming Supports Robot Safety and Programmer Responsibility? 345 SARAA Robots for All? 346 Recommendations for First-Time Robot Programmers? 348 Complete RSVPs, STORIES, and Source Code for Midamba's Scenario? 349 A BURT's Gotchas? 351 TOC, 9780789755001, 4/19/16

Product Details

  • ISBN13: 9780789755001
  • Format: Paperback
  • Number Of Pages: 400
  • ID: 9780789755001
  • weight: 620
  • ISBN10: 0789755009

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly