robot control - uni-hamburg.de · robot control (planning and state ... • building a control...

30
Robot Control (Planning and State Machines) Maham Tanveer Integrated Seminar Intelligent Robotics SoSe 2016 9 th June, 2016 Universität Hamburg MIN-Fakultät Fachbereich Informatik 1 Maham Tanveer

Upload: vokhuong

Post on 18-Oct-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Robot Control (Planning and State Machines)

Maham Tanveer

Integrated Seminar Intelligent Robotics SoSe 2016

9th June, 2016

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

1 Maham Tanveer

Page 2: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

• Motivation

• Why is designing control system a complicated task?

• Control system and behaviors

• Approaches to control:

• Hierarchical Approach

• Behavioral Approach

• Comparison of Hierarchical and Behavioral approaches

• Hybrid • FSM

• Subsumption architecture

• SMACH

• Conclusion

• Bibliography

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

2 Maham Tanveer

Outline

Page 3: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

• Early robotics dominated by machine tool industry Limited sequence control (pick and place operations)

Playback with point to point control

Playback with continuous path control

Intelligent control

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

3 Maham Tanveer

Motivation

Page 4: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

• Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Dynamic environment, sensor noise

Dynamic constraints of robot itself

Debugging and testing

Performance requirements

Maintainability

Performance improvement

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

4 Maham Tanveer

Why is designing control system a complicated task?

Figure 1: Hardware, Electrical and Software components [1,2]

Page 5: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

• Control system and collection of behaviors Well defined, self-contained and independently testable

Integrate behaviors to achieve goals

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

5 Maham Tanveer

Control system and behaviors

Figure 2: Behaviours independtly defined and collection of behaviors define control system [3]

Page 6: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

• Hierarchical: (Model-Plan-Act) Top-down approach

Not very flexible

• Behavioral Bottom-up approach

Organization is difficult, messy approach

• Hybrid (FSM, Subsumption architecture) Deliberative at high level; reactive at low level

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

6 Maham Tanveer

Approaches to control

Figure 1: Hardware, Electrical and Software components [1,2]

Page 7: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

7 Maham Tanveer

High level control systems approaches: Model-Plan-Act

Figure 3: Model Plan Act Flowchart [3]

Page 8: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

8 Maham Tanveer

High level control systems approaches: Model-Plan-Act

Figure 4: Finding the mouse-hole example [3]

Page 9: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

9 Maham Tanveer

High level control systems approaches: Behavioral

Figure 5: Behavioural Approach Flowchart [3]

• Direct coupling of sensors and actuators

• Higher level behaviors are layered on top of lower level behaviors

Page 10: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

10 Maham Tanveer

High level control systems approaches: Behavioral

Figure 6: Behavioural approach example [3]

Page 11: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

11 Maham Tanveer

High level control systems approaches: Behavioral

Figure 7: Behavioural approach example [3]

Page 12: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

12 Maham Tanveer

High level control systems approaches: Behavioral

Figure 8: Behavioural approach example [3]

Page 13: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

13 Maham Tanveer

High level control systems approaches: Behavioral

Figure 9: Behavioural approach example [3]

Page 14: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

14 Maham Tanveer

High level control systems approaches: Behavioral

Figure 10: Behavioural approach example [3]

Page 15: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

15 Maham Tanveer

High level control systems approaches: Behavioral

Figure 11: Behavioural approach example [3]

Page 16: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

16 Maham Tanveer

High level control systems approaches: Behavioral

Figure 12: Behavioural approach example [3]

Page 17: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

17 Maham Tanveer

Comparison of Model-Plan-Act & Behavioral Approaches

Model-Plan-Act Behavioural

Speed of response: Slower

Speed of response: Faster (Real time response)

Symbolic Reflexive

Adaptive More robust but forgetful

Requires complete model of the world

Requires complete design of the system

High level intelligence Low level intelligence

Page 18: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

18 Maham Tanveer

High level control systems approaches: Finite State Machines

• Combination of above approaches

• Each state is a behavior, linked to form a close loop control system

• Pre, post and end conditions of state

• Sensor data used as feedback for transition to next state

• Debug and verify states for improved behavior

• Software:

• Implement behaviors as functions in code

• Use switch statement to handle state transition and behaviors

Page 19: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

19 Maham Tanveer

High level control systems approaches: Finite State Machines

Figure 13: Finite state machine approach example [3]

Page 20: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

20 Maham Tanveer

High level control systems approaches: Finite State Machines

Figure 14: Finite state machine approach example [3]

Page 21: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

21 Maham Tanveer

High level control systems approaches: Finite State Machines

Figure 15: Finite state machine approach example [3]

Page 22: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

22 Maham Tanveer

High level control systems approaches: Finite State Machines

Figure 16: Finite state machine approach example [3]

Page 23: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

23 Maham Tanveer

High level control systems approaches: Finite State Machines

Figure 17: Finite state machine approach example [3]

Page 24: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

24 Maham Tanveer

High level control systems approaches: Finite State Machines

• Subsumption Architecture:

Generalization of finite state machine approach

Collection of modular controllers (FSMs) in a hierarchy where each module is treated as a light weight thread with priorities. These modules can share limited variables.

Implemented in code through nested if else statement

Common approach in many robots

Page 25: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

25 Maham Tanveer

High level control systems approaches: Finite State Machines

Figure 18: Finite state machine approach example [4]

Page 26: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

26 Maham Tanveer

Finite State Machines Implementation in ROS

• SMACH:

Python based – task level architecture Each state is an executable task Default outcome of each state:

Succeeded Aborted Preempted

States have database for calculations with input and output keys

Collection of containers and states Aids in building complex behavior

Page 27: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

27 Maham Tanveer

Finite State Machines Implementation in ROS

• States of SMACH: • Generic State • CBState (Callback) • Simple Action State • Service State • Monitor State

• Containers of SMACH: • State Machine Container • Concurrence Container (Parallel execution, 2 callbacks) • Sequence Container • Iteration Container

Page 28: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Many different types of control strategies exist for robots, choose one depending on complexity of the task to be achieved.

Finite state machines can combine the model-sense-act and behavioral approaches and are modeled as closed loop control systems. FSMs offer a better approach for control.

Finite state machines can be modularized and grouped into hierarchies to create a subsumption architecture.

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

28 Maham Tanveer

Conclusion

Page 29: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

29 Maham Tanveer

Any Questions?

Page 30: Robot Control - uni-hamburg.de · Robot Control (Planning and State ... • Building a control system for robot: Complex task Integrating mechanical, electrical and software components

[1] : https://en.wikipedia.org/wiki/Robotics (Figure 1, Hardware and electrical component)

[2] : https://people.mech.kuleuven.be/~bruyninc/robotics/H02A4A/ (Figure 1, Software component)

[3] : “Control for mobile robots”, Cristopher Batten, Maslab IAP Robotics Course, January 7, 2005

[4] : “A robust layered control system for a mobile robot”, Brooks, 1985

Universität Hamburg

MIN-Fakultät Fachbereich Informatik

30 Maham Tanveer

References