my robot
DESCRIPTION
Introducing a simple way of programing robots, hardware in general and various approaches developed by Microsoft Research Cambridge. The talk was held at the MSRC Christmas Lecture 2005.TRANSCRIPT
My RobotMaking Programming simple!
Presented by:Alexander BraendleAndreas Heil
Date12 Dec 2005
Intelligent Environments
Intelligent Environments are all places where humans spend timeThey shall act intelligently & personalized in a natural way with the humans in them.
Bringing the physical and digital world togetherDesigned for humans!Make it simple!Make it work!
Simple!?
Technology
Ubicomp
AmbientIntelligence
Inte
llige
nt E
nviro
nmen
ts
Interaction
Interaction
Sensing
Communication
Acting
Collaboration
Smart Natural Easy
Context Abstraction
Personal
Adaption
Application
Cognition
Some challenges
New Requirements• Ultra Heterogeneity, Dynamic Configuration, Context-Awareness,
Personalization, Extensibility, Reliability, Security, Privacy protection, Usability, Autonomy…
We need software infrastructures for decreasing the complexities• How to hide the complexities under high level abstraction?• What the abstraction is appropriate ?• How the abstraction is implemented ?
The human factorUbiquitous computing environments should be deployed incrementally.• Our living space is not a demonstration room.• We like to replace existing objects to new objects when necessary.A user’s personal device is a key to access to an intelligent environment.• A personal device is a window to access various surrounding services.
What do we think about?
• Increasing the intelligence of environments• Retrieving context information• Thinking future daily objects, appliances, architecture.• Personal Devices• Robots• How to interact with Humans• Programming 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?
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
My Robot, making programming simple!
• Why robots?
• Why programming them?
• Why programming them easy?
• Some examples> Science fiction> Industrial robots> Mars Rover> Fischertechnik> Lego> Roomba
• Definition: A robot is a device, hard- or software with the capability of sensing and (re-)acting.
• Let’s start building our own robot
Small, smaller, OQO
• At first we need a brain for the robot
• Let‘s take a PC or Laptop!>Battery powered>Great functionality>Easy programmable>A lot of interfaces and extensions
• Why not a PC or Laptop?>Size?>Weight?
• The solution is called OQO>Full functional laptop>Small in size>Does not weight a lot
OQO, a look inside
• Some internals>1GHz Transmeta Crusoe>20GB HDD>512 MB RAM>800x600 Display >Firewire, USB 2.0, Ethernet, Wireless, Bluetooth etc.>Microphone, Speaker, Digital Pen
• Software>Windows XP Professional>IIS, Webserver>.NET Framework 2.0>Remote Desktop Connection
• Some really cool piece of hardware, we can work with!Now, we need parts…
Phidgets, having fun with electronics
• Getting bored of soldering?
• Phidgets, never heard of it?
• Electronic parts with USB connection>Sensors + Actuators>Remind the definition! We have a robot
• Still we need the brain>Remind the OQO
• Let‘s try!!!
Text LCD Display + Sensor Kit
• Provide both a USB connector
• LCD provides two lines for text, each with 80 letters• Sensor Kit provides 8 analog and 8 digital inputs
• Demo
• How difficult is it to send text to the display?>Example
• Easy, isn‘t it?
Phidgets, what else you can build of it
Fischertechnik, constructing another robot
• Fischer, a German company. Arthur Fischerinvented the rawlplug in 1954.
• Since 1965 providing construction kitsfor mechanical models based on a special connection system
• 16-bit interface called „ROBO Interface“
Fischertechnik models
The Fischertechnik ROBO Interface
• The in- and outputs>8 digital inputs >2 digital and analog distance sensors >4 analog sensors for resistance and voltage>4 motors with 8 different speeds
• The board>Serial port, COM, RS232>USB >Infrared>R/F module available>Ethernet for the next hardware revision planned
• .NET API(what‘s a API?) provided by Microsoft Research Cambridge
Demo
How to control?
• No we want to control the robot
• Let‘s take another off the shelf product
• Ordinary Joystick
• Again take a available API totalk to the joystick: DirectX
Contest
Controls
Research
Commercial research vs Academic research
Mainly focused on hardware
• Mechanical
• Electrical
• Functionality
Operating systems unatended
Commercial
Already many commercial robots available• Aibo• Asimo• Hoap• fischertechnik• Lego• …How to program them?• Different tools• Different programing paradigm• Different programing languages
Robots, too?Software
• MS Agent• Internet Explorer• Media Player
Additional Hardware
• Smartphone
How to program them?
• Standard tools> Visual Studio .NET
• Programing paradigm> OOP> .NET
• Your favorite language> C#> VB.NET> J#
Goal
One language for all robots?
One tool to rule them all?
Playing, Learning, Doing: Robots.FUNWhat might .FUN look like?
We are interested in building 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) Visual Robot Development Kit (VRDK)
Andreas
Demo
Imagine a world …
where „Paper“ is able to understand, what you are doing …
"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.
Thank you!
Thank you!