Robotics
Robotics
Lecture 2.3
Integration
● Integration is how we use manipulation, navigation and/or perception
components to execute high-level tasks
● For example, how do we translate “get a beer from the fridge and bring it to me”
into the correct actuator commands to do so?
● We need something that
○ Interprets the high level task
○ Breaks it into smaller components
○ Interprets perception output and sends manipulation and/or navigation commands
Integration Techniques
● The two main techniques we will focus on in this course are
○ State Machines
○ Behavior Trees
● These two are some of the most common techniques in robotics for task
execution
● Other techniques include
○ Answer set programming
○ Graph optimization
○ Constraint programming
Finite State Machines
● Finite state machines boil down to a set of
○ States
○ Inputs
○ Transitions
● The state machine is a graph that tells you which states you will end up in based
on your current state and a given input
● It can be viewed as a set of rules for a system, or as a set of predetermined
decisions based on known conditions
Example State Machine
State Machines
State Transition Tables
● One can represent a state machine in
the form of a table
● Rows are the current states
● Columns are the inputs
● Cells are the resulting states
Example State Machine
G 1 2