ROBOT

PROGRAMMING

A GUIDE TO CONTROLLING AUTONOMOUS ROBOTS

|   HOME     |    OUR PUBLISHER     |    WANT THIS BOOK   |   CONTACT US   |

 

Introduction  Robot Boot Camp 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


Chapter 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


Chapter 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


Chapter  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


Chapter  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


Chapter  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


Chapter  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


Chapter  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


Chapter  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


Chapter  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


Chapter  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


Chapter  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


Chapter  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


Appendix A       BURT’s Gotchas 351





TABLE OF

CONTENTS

Introduction: Robot Boot Camp

Chapter 1:  So What is a Robot Anyway?

Chapter 2:  Robot  Vocabularies

Chapter 3:  R.S.V.P: Robot Scenario Visual Planning

Chapter 4:  Checking  the Actual  Capabilities  of  Your  Robot

Chapter 5:  A Close Look at Sensors

Chapter 6:  Programming the Robot's Sensors

Chapter 7:  Programming Motors and Servos

Chapter 8:  Getting Started With Autonomy:

                  Building Your Robot's  Softbot  Counterpart

Chapter 9:   Robot  S.P.A.C.E.S

Chapter 10: An Autonomous Robot  Needs  S.T.O.R.I.E.S

Chapter 11: Putting It All Together: How Midamba Programmed

                  His First Autonomous Robot

Chapter 12: Open Source SARAA  Robots  For ALL!

Appendix 1: BURT'S Gotchas