VisualStorms Tools Growth
Another Brick in the Robot . . .
Diego Colombo & Antonio
Cisternino
Università degli
Studi di Pisa
BT RunTime
•
•
•
•
•
Exposes devices as services
IDiscoverME as the COM IUnknown interface
Storage for a .NET assembly
Some intelligence to implement the service protocol
Based on BTNodes from ETH (Zurich)
Diego Colombo & Antonio
Cisternino
Architecture
Application
BTRuntime
IDiscoverME
Assembly
Protocol
BTNode
HW (Mindstorms . . . )
Diego Colombo & Antonio
Cisternino
Benefits
• Agent based model
• Agents can cooperate through bt interfaces
PC / Server
Diego Colombo & Antonio
Cisternino
Interfaces, interfaces, interfaces, …
• What kind of interfaces are used? What is their semantics?
• As COM taught us, standard interfaces are required
• There is no easy-technical-only solution to this problem
because we aren’t able to express program semantics
• So we will try to abstract devices by means of interfaces
and custom attributes (reflection)
• We would also like to annotate methods bodies (CIL) with
information to help understand their meaning (as we did for
VStorms compiler)
Diego Colombo & Antonio
Cisternino
Annotating Code
• Why Jini didn’t succeed?
• A common protocol for interaction it’s necessary but not
enough to make devices interact!
• Interfaces and methods are useful because of metadata
BUT THERE IS A LACK OF SEMANTICS ANNOTATIONS there.
• What if we extend the idea of custom annotations to the
CIL? We would be able do provide fine grain annotations
(and thus less standard elements)
Diego Colombo & Antonio
Cisternino
Example
[Gripper, DOF(5), IK]
class Arm {
void Grab(int x, int y, int z) {
[Open]{}
OpenDevice();
int speed = CalculateSpeed();
//…
[Grab(x, y, z)] {
[Move(x, y, z)] { // IK solver and move }
[CloseGripper] { // Code for gripper }
}
// Other code here
[Close]{}
}
Diego Colombo & Antonio
Cisternino
BT and Multiagents
• Each item is just a part of an experiment
• Each agent takes its part in the execution
• All the agents can discover their behavior by introspecting
code AND traditional metadata
• They must share fewer notions (the atomic actions) in
order to understand services provided by other agents
• With annotated code, shipping the assembly becomes more
useful: the whole assembly becomes the description of
agents’ behavior
Diego Colombo & Antonio
Cisternino
Medialab is working on . .
•
•
•
•
•
IK Solver for LynxMotion robotic arms
SSC12 .NET interface
ER1 .NET interface
Velocity Obstacle Planner
Agent SDK
– WiFi agent
– BobyMap
– KB
• Exploration
• Planning
• Command – Action - Task Stack
Diego Colombo & Antonio
Cisternino
ER1
•
•
•
•
•
•
•
Laptop on wheels
.NET framework
Vision
IR Sensor
Gripper
Easy coding
Easy to expand
Diego Colombo & Antonio
Cisternino
LynxMotion Arm
•
•
•
•
RS232 Interface
Easy to use controller (SSC 12)
Pure C# interface
5 DOF and gripper
Diego Colombo & Antonio
Cisternino
© Copyright 2026 Paperzz