Contents

Introduction

Robot Programming Boot Camp

Ready, Set, Go! No Wires or Strings Attached

Boot Camp Fundamentals

Core Robot Programming Skills Introduced in This Book

BURT—Basic Universal Robot Translator

BRON—Bluetooth Robot Oriented Network

Assumptions About the Reader’s Robot(s)

How Midamba Learned to Program a Robot

1 What Is a Robot Anyway?

The Seven Criteria of Defining a Robot

Criterion #1: Sensing the Environment

Criterion #2: Programmable Actions and Behavior

Criterion #3: Change, Interact with, or Operate on Environment

Criterion #4: Power Source Required

Criterion #5: A Language Suitable for Representing Instructions and Data

Criterion #6: Autonomy Without External Intervention

Criterion #7: A Nonliving Machine

Robot Categories

What Is a Sensor?

What Is an Actuator?

What Is an End-Effector?

What Is a Controller?

What Scenario Is the Robot In?

Giving the Robot Instructions

Every Robot Has a Language

Meeting the Robot’s Language Halfway

How Is the Robot Scenario Represented in Visual Programming Environments?

Midamba’s Predicament

What’s Ahead?

2 Robot Vocabularies

Why the Additional Effort?

Identify the Actions

The Autonomous Robot’s ROLL Model

Robot Capabilities

Robot Roles in Scenarios and Situations

What’s Ahead?

3 RSVP: Robot Scenario Visual Planning

Mapping the Scenario

Creating a Floorplan

The Robot’s World

RSVP READ SET

Pseudocode and Flowcharting RSVP

Flow of Control and Control Structures

Subroutines

Statecharts for Robots and Objects

Developing a Statechart

What’s Ahead?

4 Checking the Actual Capabilities of Your Robot

The Reality Check for the Microcontroller

Sensor Reality Check

Determine Your Robot’s Sensor Limitations

Actuators End-Effectors Reality Check

REQUIRE Robot Effectiveness

What’s Ahead?

5 A Close Look at Sensors

What Do Sensors Sense?

Analog and Digital Sensors

Reading Analog and Digital Signals

The Output of a Sensor

Where Readings Are Stored

Active and Passive Sensors

Sensor Interfacing with Microcontrollers

Attributes of Sensors

Range and Resolution

Precision and Accuracy

Linearity

Sensor Calibration

Problems with Sensors

End User Calibration Process

Calibration Methods

What’s Ahead?

6 Programming the Robot’s Sensors

Using the Color Sensor

Color Sensor Modes

Detection Range

Lighting in the Robot’s Environment

Calibrating the Color Sensor

Programming the Color Sensor

Digital Cameras Used to Detect and Track Color Objects

Tracking Colored Objects with RS Media

Tracking Colored Objects with the Pixy Vision Sensor

Training Pixy to Detect Objects

Programming the Pixy

A Closer Look at the Attributes

Ultrasonic Sensor

Ultrasonic Sensor Limitations and Accuracy

Modes of the Ultrasonic Sensor

Sample Readings

Data Types for Sensor Reading

Calibration of the Ultrasonic Sensor

Programming the Ultrasonic Sensor

Compass Sensor Calculates Robot’s Heading

Programming the Compass

What’s Ahead?

7 Programming Motors and Servos

Actuators Are Output Transducers

Motor Characteristics

Voltage

Current

Speed

Torque

Resistance

Different Types of DC Motors

Direct Current (DC) Motors

Speed and Torque

Motors with Gears

Motor Configurations: Direct and Indirect Drivetrains

Terrain Challenge for Indoor and Outdoor Robots

Dealing with Terrain Challenges

Torque Challenge for Robot Arm and End-Effectors

Calculating Torque and Speed Requirements

Motors and REQUIRE

Programming the Robot to Move

One Motor, Two, Three, More?

Making the Moves

Programming the Moves

Programming Motors to Travel to a Location

Programming Motors Using Arduino

Robotic Arms and End-Effectors

Robot Arms of Different Types

Torque of the Robot Arm

Different Types of End-Effectors

Programming the Robot Arm

Calculating Kinematics

What’s Ahead?

8 Getting Started with Autonomy: Building Your Robot’s Softbot Counterpart

Softbots: A First Look

Parts Section

The Actions Section

The Tasks Section

The Scenarios/Situations Section

The Robot’s ROLL Model and Softbot Frame

BURT Translates Softbots Frames into Classes

Our First Pass at Autonomous Robot Program Designs

What’s Ahead?

9 Robot SPACES

A Robot Needs Its SPACES

The Extended Robot Scenario

The REQUIRE Checklist

What Happens If Pre/Postconditions Are Not Met?

What Action Choices Do I Have If Pre/Postconditions Are Not Met?

A Closer Look at Robot Initialization Postconditions

Power Up Preconditions and Postconditions

Coding Preconditions and Postconditions

Where Do the Pre/Postconditions Come From?

SPACES Checks and RSVP State Diagrams

What’s Ahead?

10 An Autonomous Robot Needs STORIES

It’s Not Just the Actions!

Birthday Robot Take 2

Robot STORIES

The Extended Robot Scenario

Converting Unit1’s Scenario into STORIES

A Closer Look at the Scenario’s Ontology

Paying Attention to the Robot’s Intention

Object-Oriented Robot Code and Efficiency Concerns

What’s Ahead?

11 Putting It All Together: How Midamba Programmed His First Autonomous Robot

Midamba’s Initial Scenario

Midamba Becomes a Robot Programmer Overnight!

Step 1. Robots in the Warehouse Scenario

Step 2. The Robot’s Vocabulary and ROLL Model for Facility Scenario #1

Step 3. RSVP for Facility Scenario #1

Visual Layouts of a Robot POV Diagram

Midamba’s Facility Scenario #1 (Refined)

Graphical Flowchart Component of the RSVP

State Diagram Component of the RSVP

Midamba’s STORIES for Robot Unit1 and Unit2

Autonomous Robots to Midamba’s Rescue

Endnote

What’s Ahead?

12 Open Source SARAA Robots for All!

Low-Cost, Open-Source, Entry-Level Robots

Scenario-Based Programming Supports Robot Safety and Programmer Responsibility

SARAA Robots for All

Recommendations for First-Time Robot Programmers

Complete RSVPs, STORIES, and Source Code for Midamba’s Scenario

A BURT’s Gotchas

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset