20
Robots in Human Environments Presented by: Alexander Braendle Andreas Heil Date 12 Dec 2005

Robots in Human Environments

Embed Size (px)

DESCRIPTION

Public lecture at Microsoft Research about the convergence of robots and artificial intelligence. This talk presented the development and how to approach generic software architectures for robots.

Citation preview

Page 1: Robots in Human Environments

Robots in Human EnvironmentsPresented by:Alexander BraendleAndreas Heil

Date12 Dec 2005

Page 2: Robots in Human Environments

Introduction"Men Are From Mars, Robots Are From Mitsubishi“Financial Times (12/09/05) P. 9; Pincock, Stephen

As Carnegie Mellon roboticist Daniel Wilson outlines in his book, "How to Survive a Robot Uprising," the field of robotics has taken off in recent years, with researchers around the world developing robotic applications to do everything from vacuuming to exploring space alongside man. Several Japanese companies are developing robots that can serve as in-home assistants, link up to the Internet to respond to questions, and serve as a kind of companion. Toyota recently released its Partner Robot with the ability to play the trumpet through lips endowed with sensitivity and fingers with human-like dexterity. The convergence of robotics and artificial intelligence has enabled researchers to develop devices such as Sony's Qrio, a small robot that knows to hold out its arms if it is falling, and can pick itself up from the ground. Embodied intelligence seeks to equip robots with such cognitive abilities, though ingraining many basic components of intelligence still eludes roboticists. Robots still cannot understand what gives an object its properties, though roboticists are working to give their creations the ability to learn by experience. The international group of researchers working together in the RobotCub project is trying to create a child-sized robot that can learn from interactions with its environment, just as people do. Many researchers feel that people's perceptions of the role of robots must change if they will ever be accepted as legitimate companions. Mitsubishi has begun taking orders for its Wakamaru robot, an in-home personal assistant that wakes you up in the morning, reports the weather and the headlines, and then greets you in the evening with any telephone messages. "We have tried to create a robot you can have a relationship with," said Mitsubishi's Ken Onishi.

Page 3: Robots in Human Environments

What do we think about?

• Increasing the intelligence of environments• Thinking future daily objects, appliances, architecture.• Personal(ized) Devices• R-H, H-R, H-R-H, R-E Interaction (Relationship)• Software & Tools

Page 4: Robots in Human Environments

Robots in human environments

Future Applications• Support & Care, Education, Entertainment

Personal Robotics• Human-robotics Interaction• Mediator between digital/real world• Natural and affective interaction (speech, gestures,

emotions)

New programming paradigms• Body inspired software architecture (Pisa)• Meta-programming models (Berlin)

From nature to software models

What is needed that robots could be successfully integrated in our everyday life? What are key technical issues?

Page 5: Robots in Human Environments

Robots!

Already many commercial robots available• Aibo• Asimo• Hoap• fischertechnik• Lego• …How to program them?• Different tools• Different programing paradigm• Different programing languages

Page 6: Robots in Human Environments

Robots, too?

Software• MS Agent• Internet Explorer• Media Player

Additional Hardware• Smartphone

Page 7: Robots in Human Environments

Goal

One language for all robots?

One tool to rule them all?

Page 8: Robots in Human Environments

VRDKBuilding a compelling & engaging programmable environment to play & learn for children

Innovative, Very Easy, flexible programming environment for Robot control applications

That is accessible to non technical market (children, nurse, elderly, machine operator)

That enables a ‘path’ from very simple (beginner, child) to professional (using visual studio)

Andreas

Abstracting complexity on different levels

Source Code Visual

Page 9: Robots in Human Environments

First Attempt

Build a framework (middleware)Abstract from the underlying hardware• i.e. classes for sensors, actuators,

and communicationUnique programming model • Can use every concept the

runtime provides Use the .NET CLR and API

controller

CLR

Robot API

Control application

Sensors and actuators

Page 10: Robots in Human Environments

This wont always work!

Things that work fine on a PC don’t scale down• Thread switches on a smart-phone or PDA are costly• FischerTechnik controller doesn’t support threads at

allHardware not capable enough for a middleware• CPU, memory, battery, …Compact Framework: no serialization, no remoting, …• Even though PDAs are fairly powerful, CF has some

severe restrictionsNow think of even smaller devices• Embedded controllers, wrist-watches, sensor

networks, …

Page 11: Robots in Human Environments

Bridging the Gap

Model-Driven ArchitecturePlatform Independent Model• High-level model of the application• Describes desired behaviourPlatform Specific Model• Implementation of an application for

a specific target platform (i.e. fischertechnik)Executable• The artifact that is eventually executed

on the robots controller

PIM

PSM

executable

model transformation

generation

Page 12: Robots in Human Environments

Model-driven Development

Platform-independent model of the program(VRDK Language)

LEGO RCX

executable

FischerTechnik

executable

Smartphone

executable

Same programming modelfor different devices

transformation transformation

generationgeneration

Platform-specific realisation of the programm

Executable or interpreteron target platform

Page 13: Robots in Human Environments

VRDK & MDA

Executable !!Platform IndependentModel

ModelTransformation

PlatformSpecificModels

Proc1 Proc2

•CF.NET•static scheduling•single threaded

•.NET•runtime scheduling•multi threaded

Proc1 Proc2

•RoboCode Simulator•multi threaded•heavy usage of event handlers

Other

Handler

C# & VS.NET Project

Page 14: Robots in Human Environments

VRDK Architecture

VRDKEditor

VRDKCode Generation

Robots.NETAPI

VRDKInterpreter

uses

runs

uses

• Rapid Prototyping• Program can be launched directly from the editor

C# Code Generation

Application logic is executed on

the PC.

Application logic can be executed on:• PC• PDA• Robot Hardware

runs

Page 15: Robots in Human Environments

Full Tool Chain

Code generation

Deploy and run

Deploy and run

the gentle shortcut

VRDK Editor VS.NET

target devices

Page 16: Robots in Human Environments

Demo

Page 17: Robots in Human Environments

Distribution and Communication

VRDK has parallelism and communication• Have multiple robots/devices to interact• First class conceptUse communication of underlying platform• i.e. .NET Sockets, LEGO Infrared, Indigo, …

future

PC

Page 18: Robots in Human Environments

Robotics4.Net

Page 19: Robots in Human Environments

Interacting with Humans

Considering affects and emotions as base components for designing interaction

Improving interaction in a novel social environment (humans + Computers + Robots)

How could robots facilitate the access to technology and provide supportive services

Social, verbal, affective

Communication

Understanding and Modelling Affects in

Social contexts

ComputingApplications

Interaction withComputers, Robots,

Humans

Sensing HumanResponse

Emotional Context-Aware application on

Mobile devices Recognizing humans and provide behavioural

Response Pattern

Computing Support

And Knowledge

The EmotiveHuman User

Human Social

Environment

Page 20: Robots in Human Environments

Questions