11
Diego Colombo & Antonio C isternino VisualStorms Tools Growth Another Brick in the Robot . . . Università degli Studi di Pisa

Diego Colombo & Antonio Cisternino VisualStorms Tools Growth Another Brick in the Robot... Università degli Studi di Pisa

  • View
    217

  • Download
    0

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

Diego Colombo & Antonio Cisternino

LynxMotion Arm

• RS232 Interface• Easy to use controller (SSC 12)• Pure C# interface• 5 DOF and gripper