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

  1. 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

  1. 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.