Programming a humanoid robot -...

21
1 NAO Programming a humanoid robot

Transcript of Programming a humanoid robot -...

Page 1: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

1

NAOProgramming a humanoid robot

Page 2: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

2

Nao at a glance

Page 3: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

3

MOVE • 25 degrees of freedom • Motors controlled by

software • Complex movement

capabilities

SENSE • 2 HD camera • 4 microphones • 2 bumpers • 2 sonars

INTERACT • 2 speakers • multiple LEDs • tactile sensors • prensile hands • infrared sensors • WiFi connection

THINK • Intel Atom 1,6 GHz CPU • 1 Gb RAM • 8 Gb Flash Memory • Software suite

What can NAO do?

Page 4: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

4

What and where?

Page 5: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

5

Why programming in Python

Page 6: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

6

Remote control

Page 7: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

7

Remote control

Page 8: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

8

Software Suite

Page 9: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

9

Choreographe

• It is composed by boxes containing some code for specific actions

• It is a graphical interface to program NAO (for Windows, Mac e Linux)

(downloadable after creating an account on Aldebaran community)

• Python code into boxes • a box can be made of other boxes • a box can have different inputs/outputs

Page 10: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

10

Choreographe - PanelsA Box libraries panel B Flow diagram panel

C 3D Robot View

AB

C

Page 11: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

11

Sample Demo

Page 12: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

12

Python Boxes

Page 13: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

13

Configuration Box

Page 14: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

14

Speech Recognition

You can enter a list of words to be recognized by voice command to

the robot

Page 15: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

15

Projects and Thesis

1. NAO plays Soccer (RoboCup)

2. Thesis and projects NAO plays “Guess who” Planning for NAO actions and learning new

movements in Timeline NAO navigates in different rooms NAO mathematician

3. Master Thesis Neural networks for

Face recognition OCR (Optical Character Recognition)

User movements imitation using Kinect

Page 16: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

16

Nao plays Soccer

• RoboCup aims to create, by 2050, a team of humanoid robots that can take on and beat the best human players.

• When playing together, the robots must act autonomously and are unable to get help from their handlers.

• They also communicate via wi-fi to co-ordinate teamwork.

• Various technologies have to be developed in AI: the robots know who to pass to and how best to defeat an opponent.

Page 17: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

17

Lucy plays “Guess who”

• Lucy is able to play guess who with a human using voice recognition.

• Once the sentence pronounced is translated into textual form, Lucy is able to understand what was communicated

Natural Language Processing

Page 18: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

18

Face Recognition

Page 19: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

19

Lucy reads with OCR

Page 20: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

20

Presenting our NAO: Lucy

Let Lucy

introduce herself!

Page 21: Programming a humanoid robot - LIAlia.deis.unibo.it/Courses/AI/.../lucidi/PresentazioneNAOcorsoAI.pdf · OCR (Optical Character Recognition) User movements imitation using Kinect

21

Thank you!