Flexible Modular Robotic Simulation Environment for ...

42
University of Hamburg MIN Faculty Department of Informatics Flexible Modular Robotic Simulation Environment for Research and Education Dennis Krupke [email protected] University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal Systems May 15, 2012 1

Transcript of Flexible Modular Robotic Simulation Environment for ...

Page 1: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Flexible Modular Robotic SimulationEnvironment for Research and Education

Dennis [email protected]

University of HamburgFaculty of Mathematics, Informatics and Natural SciencesDepartment of Informatics

Technical Aspects of Multimodal Systems

May 15, 2012

1

Page 2: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Table of Content

IntroductionState-of-the-ArtRequirements of a Flexible and Easy-to-use System

System DescriptionArchitectureFeatures

Graphical User InterfaceConfiguration InterfaceControl Interface

2

Page 3: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Introduction

Modular Robots

3

Page 4: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Introduction - State-of-the-Art

Simulation ToolsCommon systems for simulation of control algorithms

Focus on mathematics

I Matlab

I Octave

I Scilab

System flow centered

I LabVIEW

4

Page 5: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Introduction - State-of-the-Art

Simulation Tools Cont.Systems for simulation and control of robots

Interactive and integrated systems

I Player-Project

I Webots

I ROSI OpenRAVE

I OpenGRASPI GRASPit!

5

Page 6: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Introduction - State-of-the-Art

Simulation Tools Cont.Systems for simulation and control of modular robots

Simulating Modular Robots

I Unified Simulator forSelf-Reconfigurable Robots (USSR)

I OpenMR

6

Page 7: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Introduction - Requirements of a Flexible and Easy-to-use System

DemandsWhat is needed for efficient application?

I easy-to-use

I flexibility

I useful for beginners and experts

I reasonable results

I extendability

7

Page 8: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Introduction - Requirements of a Flexible and Easy-to-use System

DemandsWhat is needed for efficient application?

I easy-to-use

I flexibility

I useful for beginners and experts

I reasonable results

I extendability

7

Page 9: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Introduction - Requirements of a Flexible and Easy-to-use System

DemandsWhat is needed for efficient application?

I easy-to-use

I flexibility

I useful for beginners and experts

I reasonable results

I extendability

7

Page 10: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Introduction - Requirements of a Flexible and Easy-to-use System

DemandsWhat is needed for efficient application?

I easy-to-use

I flexibility

I useful for beginners and experts

I reasonable results

I extendability

7

Page 11: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Introduction - Requirements of a Flexible and Easy-to-use System

DemandsWhat is needed for efficient application?

I easy-to-use

I flexibility

I useful for beginners and experts

I reasonable results

I extendability

7

Page 12: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Architecture

System ArchitectureComponent Based View

I graphical user interfacesI configuration wizardI expert configuration dialogI control window

I simulation-/control-coreI data I-/O

I calculated valuesI configuration files

8

Page 13: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Main FeaturesMost important features of the proposed system

I two different kinds of graphical configuration interfaces

I reusability

I extendability

I interactivity

I data recording

I control of real robots

I support of OpenRAVE plugins

9

Page 14: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Main FeaturesMost important features of the proposed system

I two different kinds of graphical configuration interfaces

I reusability

I extendability

I interactivity

I data recording

I control of real robots

I support of OpenRAVE plugins

9

Page 15: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Main FeaturesMost important features of the proposed system

I two different kinds of graphical configuration interfaces

I reusability

I extendability

I interactivity

I data recording

I control of real robots

I support of OpenRAVE plugins

9

Page 16: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Main FeaturesMost important features of the proposed system

I two different kinds of graphical configuration interfaces

I reusability

I extendability

I interactivity

I data recording

I control of real robots

I support of OpenRAVE plugins

9

Page 17: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Main FeaturesMost important features of the proposed system

I two different kinds of graphical configuration interfaces

I reusability

I extendability

I interactivity

I data recording

I control of real robots

I support of OpenRAVE plugins

9

Page 18: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Main FeaturesMost important features of the proposed system

I two different kinds of graphical configuration interfaces

I reusability

I extendability

I interactivity

I data recording

I control of real robots

I support of OpenRAVE plugins

9

Page 19: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Main FeaturesMost important features of the proposed system

I two different kinds of graphical configuration interfaces

I reusability

I extendability

I interactivity

I data recording

I control of real robots

I support of OpenRAVE plugins

9

Page 20: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Easy Configuration of the Simulation

Configurability

To enable the user to set up a simulation very fast, configurationfile writers have been created that can be accessed by the GUI:

I robot

I sensors

I actuation

I environment

I global properties

Structure of the file format.

10

Page 21: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Extending the Library of Control Algorithms

Extendability

I New control algorithms can be added by the user with thegraphical configuration interface.

I Combination of self-registering types and dynamic classloading allows to extend the library of user-defined controlalgorithms during the runtime of the program.

11

Page 22: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

CPG BlackboxUser’s view to the control algorithms

The user only needs to take care of how tocalculate the next joint positions using:

I parameters

I functions

I interim results

12

Page 23: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Implementing New Control AlgorithmsHow can this be done, easily?

Implementing a new control module needs just to add a small codesnippet:

1 current_time = old_time + Stepsize;

2 for (int jointNr=0; jointNr<_numOfJoints; jointNr++)

3 {

4 current_angle(jointNr) = Amplitude

5 * sin(2*PI * Frequency * current_time

6 + jointNr * PhaseDifference);

78 SetAngle(jointNr, current_angle(jointNr));

9 }

13

Page 24: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

System Description - Features

Data Handling

All data of interest can be stored to XML-formatted files.

I control algorithms

I sensor information

I robot information

Exporting

Data series of single types can be exported with the GUI for laterusage with GNU-Plot, Matlab or other tools.

14

Page 25: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Configuration Interface

Configuration GUI

The configuration GUI allows to write down all information to aconfiguration file that is neccessary to run a proper simulation.

I robotI modulesI topology of jointsI sensor positions

I sensors

I control algorithms and their assignment to the joints

I environment

I simulation parameters

15

Page 26: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Configuration Interface

Beginner’s Configuration Wizard

I every neccessary adjustment will be done until the wizard isfinished successfully

I explanations of the current page are presented to the user

I mandatory fields assert valid configurations

16

Page 27: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Configuration Interface

Beginner’s Configuration Wizard Cont.Robot configuration

I number of modules

I topology of joints

I sensors

17

Page 28: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Configuration Interface

Beginner’s Configuration Wizard Cont.Actuation generator definition

I parameters

I interim results

I prototypes offunctions

18

Page 29: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Configuration Interface

Beginner’s Configuration Wizard Cont.Actuation generator implementation

I C++ header access

I C++ implementation

I full access to the newalgorithm

19

Page 30: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Configuration Interface

Beginner’s Configuration Wizard Cont.Joint actuation configuration

I building groups ofjoints

I assignment ofalgorithms to groups

I groups are allowed tooverlap

20

Page 31: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Configuration Interface

Beginner’s Configuration Wizard Cont.Environment construction

I creation of severalobjects

I terrain can be createdaccording to theneeds

I previewing in a 3Dviewer

I manipulation of thescene with two 2Dprojections

21

Page 32: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Configuration Interface

Beginner’s Configuration Wizard Cont.Simulation properties

I simulation mode

I physics properties

I sampling andaccuracy

I storing data

I summary of includedconfiguration files

22

Page 33: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Configuration Interface

Expert’s Configuration Dialog

I users can decide what to configure

I seperated creation of configuration files

I useful for adding new components

I time-saving reusage of configuration files

I recombinations are possible

23

Page 34: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Control Interface

Virtual RobotControlling a Virtual Robot

I manipulation of the scenewith the 3D viewer

I interactive modulation ofthe control algorithms

I supervision of controlalgorithms → live-plots

24

Page 35: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Graphical User Interface - Control Interface

Real RobotControlling a Real Prototype

Same implementation of control algorithms can be used for real robots:

25

Page 36: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

End

Future Work

Next Steps

I extending the configuration interfaceI integration of module creation into the configuration interfaceI adding a page to set simulation runs for automated optimization

I evaluation by people at different knowledge level

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

0 5 10 15 20 25 30 35

mean-score of local adaptivemean-score of local adaptive II

26

Page 37: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

End

The End!

Thank you for your attention!

27

Page 38: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Implementation Details - Configuration File Format

Configuration File Format

*.simulation.xml

*.robot.xml

*.sensor.xml

*.actuation.xml

*.environment.xml

Simulation Properties

I simulation

I robot

I sensor

I actuation

I environment

Back to feature description. Back to configuration interface description.

28

Page 39: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Implementation Details - Extending the Set of Control Algorithms

Self Registering Types

Each class gets a factory-proxy that registers the name of thecurrent class and a pointer to its maker-function:

1 class FactoryProxy {

2 public:

3 FactoryProxy(){

4 // registers the maker-function

5 Factory["ReflexControl"] = maker;

6 }

7 };

I allows very flexible software

I users can extend the software at runtime

29

Page 40: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Implementation Details - Extending the Set of Control Algorithms

FactoryHow to Use a Factory

Construction

The right side of the assignment calls a maker-function whichinvokes the constructor of the current class and returns a pointerto the created object.

ActuationModule* controlModule = cpgFactory["MTRAN"](5);

⇒ Objects can be created, even if the name of the specializedclass is not known directly.

Back to feature description.

30

Page 41: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Additional Libraries

Visualization

I Coin3D /OpenRAVE-Viewer

I QWT – live-plots

31

Page 42: Flexible Modular Robotic Simulation Environment for ...

University of Hamburg

MIN Faculty

Department of Informatics

Additional Libraries

Other libraries

I Qt

I ODE

I GAlib

I Boost

I OpenMR

32