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.
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
My Robot
1. Presented by:
Alexander Braendle
My Robot Andreas Heil
Making Programming simple! Date
12 Dec 2005
2. Intelligent Environments
Intelligent Environments are all places where humans spend time
They shall act intelligently & personalized in a natural way with the
humans in them.
Bringing the physical and digital world together
Designed for humans!
Make it simple!
Make it work!
4. 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 factor
Ubiquitous 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.
5. 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
6. 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)
From nature to
software models
New programming paradigms
• Body inspired software architecture (Pisa)
• Meta-programming models (Berlin)
What is needed that robots could be successfully
integrated in our everyday life? What are key
technical issues?
7.
8. Interacting with Humans
Considering affects and
emotions as base
components for designing
interaction Sensing Human
Social, verbal,
Human The Emotive Response
affective
Human User
Improving interaction in a Social
Environment Communication
novel social environment
(humans + Computers + Emotional Context-
Aware application on
Robots) Mobile devices Recognizing humans
and provide behavioural
Response Pattern
How could robots facilitate Interaction with
the access to technology and Computers, Robots,
Humans
provide supportive services
Computing Computing
Applications Support
And Knowledge
Understanding and
Modelling Affects in
Social contexts
9. 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
10. 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
11. 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…
12. 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!!!
13. 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?
15. Fischertechnik, constructing another robot
• Fischer, a German company. Arthur Fischer
invented the rawlplug in 1954.
• Since 1965 providing construction kits
for mechanical models based on a special connection
system
• 16-bit interface called „ROBO Interface“
17. 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
18. 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 to
talk to the joystick: DirectX
21. Research
Commercial research vs Academic research
Mainly focused on hardware
• Mechanical
• Electrical
• Functionality
Operating systems unatended
22. Commercial
Already many commercial robots
available
• Aibo
• Asimo
• Hoap
• fischertechnik
• Lego
• …
How to program them?
• Different tools
• Different programing paradigm
• Different programing languages
23. 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#
24. Goal
One language for all robots?
One tool to rule them all?
25. Playing, Learning, Doing: Robots.FUN
What 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
26. VRDK API Structure
Co n t r o l l e r
(F is c h e r T e c h n ik )
Ac t u a t o r s Sen s o rs
An a l o g S e n s o r D ig it a l S e n s o r
(e .g . M o t o r s )
(e .g . H e a t S e n s o r )
(e .g . T o u c h
Sen s o r)
28. Imagine a world …
where „Paper“ is able to understand, what you are doing …
29. "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.
Why robots? Robots are part of our live, industrial robots, toys etc. they are already there and reearch is doing a lot to increase their appearance Why programming robots? Someone has to tell them hat to do. Some Examples: Science Fiction, everybody knows robots like I,robot or the terminator. But there are some cultutrale diferences. While robots in western world are mostly appear as dangeours machines, in eastern culture they have a soul and are firndly and help man. Some words about the definition, so we talk about the same stuff. Not only I,robot like machines are robots in our understanding. Every machine capable of sensing and acting / reacting is a robot. Following this definition let‘s build a robot.
Pur robot needs a brain. So lets take a C or a laptop. They are battery powered, so suiatable for autonomous usage. They offer a great functioanllity, which I can programm (most of the imes easy) and they offer a lot of extensibility. You can attach other devices etc. Sime drawbacks of PCs or Laptops: they are to big in sizez or to heavy (picture of ER1) Looking for something better: OQO, small, mobile energy saving cpu and does not weight a lot!
Lets have a look inside the OQO: Ther eare … And on the system can run a fully Windows Professional XP with all the capabilities. So it IS a really cool piece of hardware.
Ok, now we are looking for some parts for our robot. PErsonally I am getting bored of soldern. Lets take off the shelf components. Phidgets ARE THE SOLUTION: electronic parts. Sensors as well as actuators can be connected to the USB port directly. Remind the defninition. Sensonrs and actuators: we can build a robot out of this parts. Still, Phidgets are not suitable for building the brain of the robot. Ok, lets take the OQO instead. Let‘s try and connect them together.