280 likes | 565 Views
Robots. Robot ?. From a 1920’s Czech drama play by K. Čapek « R.U.R (Rossum’s Universal Robots) » Robota means serf labor, corvée, hard work, or even slavery…. Robot ??. According to Wikipedia :
E N D
Robot ? • From a 1920’s Czech drama play by K. Čapek « R.U.R (Rossum’s Universal Robots) » • Robota means serf labor, corvée, hard work, or even slavery…
Robot ?? • According to Wikipedia : • « A robot is a mechanical or virtual intelligent agent which can perform tasks on its own, or with guidance. In practice a robot is usually an electro-mechanical machine which is guided by computer and electronic programming. » (It is Pleo, a robot dinosaur. It has feelings)
What it’s for • Doing (or helping to do) things that humans can’t or don’t want to do like : • War (drones (UAV), demining…) • High-precision surgery • Manufacturing (cars) • Housekeeping… Hi! I’m Roomba, a robot vacuum cleaner !
Also for research • On learning • On behaviours… Psikharpax, the rat robot, whose behaviour has been designed to resemble that of the rat
What it’s made of • Basically : • Brain is : « computer core », that’s a processor, memory… • Muscles are : motors • Skull is : mechanical parts (gearing, wheels…) • Perception is : sensors (cameras, bumpers…) • « External signalization/communication » if necessary : lights, sounds…
For instance • Pleoembeds : • 2_32-bits Microprocessors • 4 _8-bits Microprocessors • 14 motors • 100 cogwheels • Infrared camera • 2 microphones • 8 sensors in its skin • 4 in itsfeet • 1 (infrared) in itsmouth • 1 incline sensor • USB port • Infrared emission/reception • 2 speakers
Energy ? • Well, electricity of course : • Batteries • Solar panels • Water • Sugar • Plants • Dead flies !
Behaviour • Asimov laws : • 1. Human > Robot • 2. Robot < Human • 3. Robot > Everything else • In fact : the program in the « core computer » • With more or less AI
Example • Moving inside an area (delimited by black lines) • Cleaning up this area (clearing the can out !)
Game : more or less AI ? Asimo climbing stairs Remember me ?I’m Roomba, the vacuum cleaner ! Expressing feelings (like Pleo) Manufacturing a car Information robot (at a show) The can-cleaner robot (hug me !)
Game : more or less AI ?Strong AI vs. Weak AI ! I shall not losemy balance ! Wow ! Not that hard to clean a room ! Whyshould I besad ?Lot of thinking ! I do the samethingover and over againNo thinking Some knowledge, but no real thinking ! I know what I have to doNo thinking !
Again ! Recognizing myselfin a mirror Shaking hands with a human Handling a (proper) conversation Wandering on my own(on Mars for example)
Again ! What do I look like ? Shaking , not crushing ! Really, really hard ! What to do ? Where to go ?
AI : The Turing Test • Determines if a machine canproperly « think » • Twodifferentrooms : • One with a humantaking the test on a computer, whichislinked to • Twoother computers in the other room, one withanotherhuman on it, one all alone (withits AI) • The first humanhandlestwo conversations for some time • At the end he must tell which one waswith a human, and which one with an AI
But is it really effective ? • Just comparing to human behaviour, • IE. : is human intelligence really true intelligence ? • Does intelligence really involves talking properly ? Hi, I’m NAO, an « Intelligent » robot !
Building a robot • From scratch • With a kit • Assemble mechanical and electronical parts • Program it • But before, lot of brainstorming !
That costs about 1$ • 4 wheels • 1 motor • some cog wheels • a solar cell • a frame It’s not really a robot, though
That costs about 350$ Ugobe’s Pleo(I am happy !) Lego’s Mindstorms (Transformers !)
That costs more than 1,000$ Sony’s Aibo (woof !)
That costs more than 12,000$ AldebaranRobotics’s NAO
A robot’s brain • (Micro)processor • Volatile memory (RAM) • Hard memory (flash, ROM…) • On an integrated circuit • Links to sensors/external devices (it has its brain on its chest !)
Programming a robot • Low-level languages (to manage efficiently manage hardware) • Typically C language (RIP Dennis Ritchie btw.) • Or assembly language (even better !) .globl_start BONJ: .ascii "Bonjour\n " ; Definition en memoire de la chaine a afficher. ; \n correspond au saut de ligne _start: mov $4 , %eax ; Mettre 4 dans le registre eax (appel système '''Write'') mov $1 , %ebx ; Mettre 1 dans le registre ebx (descripteur de fichier ''STDOUT'‘ mov $BONJ , %ecx ; Mettre l'adresse memoire de la chaine dans le registre ecx mov $8 , %edx ; Mettre la taille de la chaine dans edx int $0x80 ; Interruption 0x80, executant un appel systeme sous Linux) mov $1 , %eax ; Mettre 1 dans eax (appel systeme ''Exit'') mov $0 , %ebx ; Mettre 0 dans ebx (valeur de retour du programme) int $0x80 ; Interruption 0x80, executant un appel système sous Linux)
Arduino ? • Easy-to-use and reasonably priced integrated circuit • Essentials of what I called « computer core » • C-like programming (low-level functions already implemented) (Take that, China !)
Example To program a made-from-a-kit robot, which already has some built-in low-level functions implemented, to do the line-following trick, you need less than 100 lines of code To program a robot you made yourself however, you will need to think about and implement those functions, because you can’t just tell your robot : « Close your arms ».You need to tell it : run the left-arm and the right-arm motors for 3 seconds.But it doesn’t know what 3 seconds (in its language it’s rather 36M clock ticks)
Finally • What do you think about it all ? • What kind of robot would you want to build ? • (what do you want it to do) • What hardware do you think we’ll need ? • Do you have any question ? I do like questions !
Thank you for your attention ! • This presentation has been created for private use (CRI Paris – 18/10/2011) • Most of the images and videos were random- and shameless-ly stolen from the Internet • On illustration purpose only ! • Download me @ http://mael-canu.com/robots !