A DSL for the visualization of Multi-Robot Systems

Preview:

DESCRIPTION

 

Citation preview

A DSL for the visualization of Multi-

Robot SystemsAlexandre Bergel (PLEIAD, University of Chile), Serge

Stinckwich (IRD, Vietnam)

Problem statement

• Visualization as an aid to design complex multi-robots algorithms

• Express what need to be visualize in the context of the domain of the user (robotics experts here) and in a declarative way

• Adapt the visualization&model during the simulation (aka. exploratory modeling)

Mondrian

• Interactive information visualization engine

• Visualizations can be specified by script

• Embedded Domain-Specific Language (Smalltalk is the host language)

• Drawback: only static structure

From Mondrian to Calder

Calder: DSL for MRS visualization

• Visualize dynamic structures (graphs) dynamically and interactively

• Interact with individuals nodes and graph as a whole

• Currently applied to multi-robot systems

Smalltalk syntax in a nutshell

• Everything is an object

• All the computation is done through objects sending messages to other objects

• 4 types of expressions: literals, variables, messages and blocks, 11 AST nodes

• Easy to build new DSL + tools to design your own syntax (Helvetia)

Message sending

• Unary message: view treeLayout

• Binary message: 2+3

• Keywords message: myArray at: 1 put: 5

Blocks

• [3+4]

• [:x | x +1]

• [:x | x +1 ] value: 3 => 4

Basic Mondrian vocabulary

• Nodes

• Edges

• Layout

• Shapes

view nodes: classes.view edges: classes

from: [:each | each superclass]to: [:each | each].

view treeLayout.

view nodes: classes.view shape rectangle

height:[:each | each numberOfMethods].

view edges: classesfrom:[:each | each superclass]to:[:each | each].

view treeLayout.

Demonstration 1

Application: visualization of MRS coverage algorithms

Nikolaus Corell, Jonathan Bachrach, Daniel Vickery and Daniela Rus, “Ad-hoc Wireless Network Coverage with Networked Robots that Cannot Localize”, ICRA’09, Kobe, Japan

Demonstration 2

Conclusion&perspectives

• More general than just robotics: can be used to visualize every dynamic graph of objects

• At the moment, only visualization. Behaviour of robots can’t be changed very easily.

• Construct a vocabulary suitable to MRS visualization (motion, perception, ...) in an iterative way

• Connect to a real robotic simulation engine

Recommended