ROBOT
PROGRAMMING
A GUIDE TO CONTROLLING AUTONOMOUS ROBOTS
ROBOT
PROGRAMMING
A GUIDE TO CONTROLLING AUTONOMOUS ROBOTS
| HOME | OUR PUBLISHER | WANT THIS BOOK | CONTACT US |
All robot instructions, commands, and programs in this book have been tested on ARM7, ARM9 microcontroller-based robots as well as on the widely available and popular LEGO
NXT and EV3-based robots. All other robot-based software used in this book was tested and executed in Mac OSX and Linux environments.
BURT (Basic Universal Robot Translator)
In this book, we use several aids to present the robot programs and common robot programming issues in an easy-to-understand and quick reference format. Here we list and show examples of a few of them. BURT (Basic Universal Robot Translator), is used to present all the code snippets, commands, and robot programs in this book.
BURT shows two versions of each code snippet, command, or robot program:
• Plain English version
•Robot language version
BURT is used to translate from a simple, easy-to-understand English version of a set of instructions to the robot language version of those instructions. In some cases the English version is translated into diagrams that represent the robot instructions. In other cases, BURT translates the English into standard programming languages like Java or C++. BURT can also be used to translate English instructions into robot visual instruction environments like Labview or LEGO’s G language for Mindstorms robots.
INSIDE
BOOK
INPUT OUTPUT
RSVP FLOORPLAN
The first part of the RSVP is a map of the
scenario. A map is a symbolic representation of the environment where
the tasks and situations will take place.
The environment for the scenario is the
world in which the robots operate. For the robot to be automated it requires details about its environment. A robot that is fully automated must have sufficient information about the environment. The more information the robot has, the more likely the robot can accomplish its goal.
RSVP FLOWCHARTS
Flowcharting is an RSVP used to work out the flow of control of an object to the whole system. It is a linear sequence of lines of instructions that can include any kind of looping, selection, or decision making. A flowchart explains the process by using special box symbols that represent a certain type of work. Text displayed within the boxes describes a task, process, or instruction.
Flowcharts are a type of statechart (discussed later in this chapter) since they also contain states that are converted to actions and activities. Some suggest flowcharting before writing pseudocode. Pseudocode has the advantage of being easily converted to a programming language or utilized for documenting a program. It can also be easily changed. A flowchart requires a bit more work to change when using flowcharting software.
The BURT Translations are numbered and can be
used for quick reference guides on programming
techniques, robot instructions, or commands.
BURT Translations have two components;
an input and an output component. The input
component will contain the pseudocode, or RSVPs.
The output component will contain the program
listing, whether it be a standard language or visual
instruction. They will be accompanied with the
BURT Translation Input or Output logo.
BURT Gotchas (Glossary of Technical Concepts and Helpful Acronyms)
In addition to BURT Translations, this book contains BURT Gotchas, a.k.a. BURT’s Glossary of Technical Concepts and Helpful Acronyms. The world of robot programming is full of technical terms and acronyms that may be unfamiliar or tricky to recall. BURT Gotchas provide a convenient place to look up any acronym or some of the more technical terms used in this book. In some cases BURT Gotchas are listed at the end of the chapter in which they are first used, but a complete list of all of BURT Gotchas can be found in the book’s glossary.
RSVP (Robot Scenario Visual Planning)
We call this the RSVP (Robot Scenario Visual Planning). The RSVP is a visual that helps
develop the plan of instructions for what the robot will do. The RSVP is composed of three types of visuals:
• A floorplan of the physical environment of the scenario
• A statechart of the robot and object’s states
•Flowcharts of the instructions for the tasks
These visuals ensure that you have a “clear picture” of what has to be done to program a robot to do great feats that can save the world or light the candles on a cake. RSVP can be used in any combination.
Copyright 2013 ROBOTTEAMS.ORG