View
217
Download
0
Tags:
Embed Size (px)
Citation preview
Diego Colombo & Antonio Cisternino
VisualStorms Tools Growth
Another Brick in the Robot . . .
Università degliStudi di Pisa
Diego Colombo & Antonio Cisternino
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
BTNode
HW (Mindstorms . . . )
IDiscoverME
Application
BTRuntime
ProtocolAssemblyProtocol
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