Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
About This E-Book
Title Page
Copyright Page
Contents at a Glance
Contents
About the Authors
Dedication
Acknowledgments
We Want to Hear from You!
Reader Services
Introduction: Robot Boot Camp
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?
Code Snippets
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
← Prev
Back
Next →
← Prev
Back
Next →