14
22/06/2003 http://dotnet.di.unipi.it/R2D2/ R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

  • View
    232

  • Download
    3

Embed Size (px)

Citation preview

Page 1: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

R2d2 project Università degli

Studi di PisaHow to build a wheeled PC

Page 2: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

The goal• Realization of a platform for building interface agents

embodied in a robot• The robot provides a physical body and a set of core

services to support the development of highly autonomous interface agents situated in both cyberspace and real world

• The platform will provide the following base services to support the software implementing the interface agent:– Basic motion abilities– Collision avoidance software– Vision software for face recognition– Speech and gesturing recognition– Positioning and navigation aided by video input– Network perception

Page 3: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

• The robot will be controlled by a network of CE and XP

• Hardware involved– Microprocessors: Xscale, P3– UHF network– GSM– Ethernet– Bluetooth– Irda– WiFi

R2 architecture

Internal networkShort range service discovery

Internet Connection

Page 4: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

Senses of a droID

Services

IRDA

BT

Internet

“Real World” “Service World”

AI

KB

Arm

Sensors

Vision Speech

Navigation

CE

.N

ET

XP

Em

bedded

Page 5: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

Net is the force

• R2 relies on Internet to get information and provide a single interface to multiple services (search, question answering, messaging…)

• Internal network is used to distribute the computation needed to control the robot

• If needed other computers can be used to get higher computational power

• The computing structure will be GRID-like so that computation would be easily redistributable

Page 6: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

User interface

• Voice• Speech• Messenger• E-mail• Phone (GSM, SMS)• Whatever can be plugged!!! (but keyboard)

Page 7: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

Challenges

• The robot will be fairly standard (not challenging from an engineering standpoint)

• Base abstractions should be robust and provide a suitable API to support high level reasoning (like the ones provided by the RoboCup soccer-server)

• On top of the basic layer we will combine several approaches for planning and react to the environment

• The robot should accumulate experience and knowledge in order to provide an effective interface to the user: machine learning techniques

Page 8: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

Code reflection

• R2 will be able to percept services by analyzing .NET assemblies

• [a]C# is a C# extension, part of the CodeBricks initiative (http://codebricks.sscli.net/)

• [a]C# allows custom attributes on code blocks, and an API to retrieve the annotations and manipulate the bytecode at high level

• Instead of relying on interfaces we will interpret code annotations to discover semantics of services in terms of basic annotations

Page 9: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

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]{} }

Page 10: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

Knowledge into code

• We are interested in representing part of the knowledge of the robot into code

• We believe that flattening data into code would lead into a scalable structure of KB (as LISP has ever done)

• Reflection.Emit is required but not sufficient: easier code manipulations approach will be used (for instance CodeBricks)

• Putting experience into the code itself implies that the program will evolve over time!

Page 11: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

Component structureKnowledge Base

Body Map

WiFi Agent

MotionAgent

Vision Agent

Sensors

Internal perception

Network perception

Arm Agent

Page 12: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

People• Project leader: Antonio Cisternino• Team:

– Diego Colombo– Andrea Esuli– Daniele Picciaia– Luca Pizziniaco

Page 13: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

Conclusions

• R2D2 will provide a platform to support research in embodied agents

• The robot isn’t specialized for any activity: is a proactive case for a PC

• The platform will allow to experiment new services and service discovery systems combining information of the real world with the Net

• Look for progress at http://dotnet.di.unipi.it/R2D2/

Page 14: 22/06/2003 R2d2 project Università degli Studi di Pisa How to build a wheeled PC

22/06/2003http://dotnet.di.unipi.it/R2D2/

Questions?

WHY R2D2?

For Fun!

It is simple to build

It is not specialized

for particular activities