a dsl for the visualization of multi-robot systems
DESCRIPTION
TRANSCRIPT
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