Esercitazione con un robot umanoide programmabile per...

31
Esercitazione con un robot umanoide Esercitazione con un robot umanoide programmabile per edutainment programmabile per edutainment Giancarlo Teti RoboTech srl –www.RoboTechsrl.com [email protected] Corso di Percezione Robotica (PRO) Modulo D: Applicazioni ed Esercitazioni

Transcript of Esercitazione con un robot umanoide programmabile per...

Page 1: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Esercitazione con un robot umanoide Esercitazione con un robot umanoide programmabile per edutainmentprogrammabile per edutainment

Giancarlo TetiRoboTech srl –[email protected]

Corso di Percezione Robotica (PRO)Modulo D: Applicazioni ed Esercitazioni

Page 2: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

I-Droid01 Humanoid Robot 8 dof:

base 2 trunk 1 arms 2 head 2 hand 1

7 Encoders 4 microphones 1 RGB camera 1 Touch sensor 3 US sensors 2 IR sensors 1 Temperature sensor 24 led 1 universal remote controller

Page 3: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

2 DOF HEADWITH ENCODERS

1 DOF ARMS WITH ENCODERS

2 ACTIVE FRONTAL

WHEELS WITH ENCODERS

UP/DOWN MECHANISM

1 PASSIVE REAR WHEEL

PASSIVE ELBOW JOINT

RED, GREEN AND YELLOW

EYES LED (3+3)

CYAN EARS LED

Page 4: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

TOUCH SENSOR

ULTRASOUND SENSORS

(2 TRASMITTER, 3 RECEIVER)

CMOS CAMERA

SPEAKER

MICROPHONES(SOUND

DETECTION)

MICROPHONES(SPEECH

RECOGNITION)

6 ADDITIONALGPIO

(GENERAL PURPOSE IO4 DIO, 2 AI)

DISPLAY AND KEYBOARD

TEMPERATURE SENSOR

(BACKPACK)

Page 5: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

HEAD TILT MOVEMENT:5 positionsHEAD PAN MOVEMENT:13 position

84 speaker independent commands

1 speaker dependent biometric password

220 preloaded phrases and sounds

10 recordable messages 16 secs each

ARMS: 16 positions

BASE:Max speed: - 20 cm/s with PID- 30 cm/s without PID

ADDITIONAL INPUT:4 Digital Input 0,3V2 Analog Input 0-3V

Display LCD:2 raws, 16 columns

HAND: 2 positions

HIP: 2 positions

Batteries: 8 AAA, 1.5V each4.5V electornics7.5V motors4 hours autonomy

CMOS Camera sensors: RGB, 0,3 Mega Pixel;max resolution 640x480. standard resolution 160x120.

Page 6: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

I-Droid01 Humanoid RobotTechnical Specifications

Weight: 2 Kg Dof: 8 actuated, 4 not actuated

2 actuated wheels, max speed 30 cm/s

1 actuated hip joint for stand up/sit down movement

2 dof pan/tilt head: 13 pan positions, 5 tilt position

2 dof left and right arm: shoulder actuated, 16 positions

1 dof hand Vocal recognition:

84 "speaker independent" commands 1 "speaker dependent" biometric

password Speech Synthesis: 220 pre loaded

phrases and sounds Records up to 10 messages, 16 seconds

each

CMOS Camera sensors: RGB, 0,3 Mega Pixel, max resolution 640x480

Bluetooth module class 2 (10m-30m) 1 RS-232 1 USB ("device", non "host") 1 Analogic output (B&V module): PWM,

low-pass 8KHz 2 Analogic inputs (Arms module) 4 Digital input/output (Arms module) Ultrasound sensors: 2 emitters, 3

receivers 1 temperature sensor, accuracy 1°C,

operativre range 5°-35° 2 IR sensors: operative range 20-60cm DISPLAY LCD, 2 raw, 16 columns Batteries: 8 stilo, 4 hours autonomy

(tipical)

Page 7: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

US Sensors

Receiver: ChinaSound CUR10G1A-40 Transmitter: ChinaSound – CUT10G1A-40 Size: 9.9 x 6.0 mm Range: 260mm-1000mm bean: 55° Freq: 40KHz www.chinasound.com

Page 8: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Temperature Sensor

National LM35 Operates from 4 to 30 volts Range: −55° to +150°C 0.5°C accuracy at +25°C www.national.com

Page 9: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel array

with color filters and micro-lens Power supply 2.5V for core and

2.5 ~ 3.3V for I/O Output formats:

8bit YCbCr / YUV / 9Bit Bayer data / 5:6:5 RGB, 12bit 8:8:8 RGB

30 frames/sec progressive scan. Image processing on chip:

defect correction, color interpolation, color correction, edge enhancement, contrast stretch, white balance, exposure control, color saturation, gamma correction.

Package : 40 pin CLCC, 32 pin CSP http://www.pixelplus.co.kr/

Page 10: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

I-Droid01 Humanoid Robot Speech recognition and

synthesis capabilities (Voice control)

Image processing and visual recognition capabilities

Detection of sound direction Obstacle avoidance (US

sensors) capability Emotion and mood expression Behavior based and Neural

Network based software control system

Remote control by mobile phone and PC via Bluetooth

Reprogrammable “Breadboard” for user custom

circuits development

Page 11: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

I-Droid01 Humanoid RobotDistributed control

Distributed control (9 microcontrollers): Head/SoundFollower: Freescale

MC68HC908AP8 Motherboard: Freescale

MC68HC908AP8 Voice: Sensory RSC-4128, 1MB

Flash Simultaneous R/W Bluetooth: National LMX9830A Brain & Vision:

Freescale MC9328MXL 150MHz, 16MB Flash, 16MB SDRAM

Operative System: Embedded Linux (2.4) with C compiler (Tyni C) on-board

Base: Freescale MC9S08GT16 Arms: Freescale MC68HC908AP8 Hand: Freescale MC68HC908AP8 URC: Freescale MC68HC908AP8

Page 12: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

RS232

Left

whe

el M

otor

+ E

ncod

er

µc2 – Arm Controller Freescale MC68HC908AP8–20Mhz-8KB

µc6 –Bluetooth National LMX9830

µc1 – Base ControllerFreescale MC68HCS909GT16-40Mhz-16KB

CM

OS

ca

mer

a

Tem

pera

ture

sen

sor

display

µc3 – Head Controller Freescale MC68HC908AP8–20Mhz-8KB

µc5 – Brain & VisionFreescale MC9328MXLVF15 ARM9 Architecture - 150Mhz

RAM 16MB , Flash 16MB

Pan

M

otor

+ e

ncod

er Tilt

Mot

or +

enc

oder

Microphone

SpeakerR

ight

whe

elM

otor

+ E

ncod

er

US

sen

sor r

ecei

ver

Hip

Mot

or

PWM

US

sen

sor t

rasm

.

US

sen

sor r

ecei

ver

US

sen

sor t

rasm

.

US

sen

sor r

ecei

ver

Left

arm

Mot

or +

Enc

oder

R

ight

arm

Mot

or +

Enc

oder

Rea

r mic

roph

one

Rig

ht m

icro

phon

e

Left

mic

roph

one

Sound Follower

Bas

e Le

d (2

)

GP

IO (3

DI,3

DO

,2A

I)

Left

Arm

Too

l

Rig

ht A

rm T

ool

Touc

h S

enso

r

Eye

s Le

d (3

+3)

Ear

s Le

d (L

+R)

µc4 – Motherboard Freescale MC68HC908AP8–20Mhz-8KB

µc7 – Voice Sensory RSC4128–Flash 1MB

RS232

USB

RS2

32

Keyboard

I-DROID01 HARDWARE ARCHITECTURE

µc7 – URCFreescale

MC9328MXLVF15

µc8 – HandFreescale

MC9328MXLVF15

Mot

or

IR tr

asm

.

IR re

ceiv

er

7.5VI2c BUS

4.5V3V

Page 13: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

BASE CONTROLLERFreescale MC9S08GT16-40Mhz-16KB

US SENSORS CONNECTORS

WAIST MOTOR CONNECTOR

MC9S08GT16

II2 BUS CONNECTOR

LEFT WHEEL MOTOR + ENCODER

CONNECTORS

RIGHT WHEEL MOTOR + ENCODER

CONNECTORS

Page 14: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

ARM CONTROLLERFreescale MC68HC908AP8–20Mhz-8KB

MC68HC908AP8

GPIO

TEMPERATURE SENSOR

LEFT & RIGHT ARM TOOLS

CONNECTORS

LEFT & RIGHT ARM ENCODERS

CONNECTOR

LEFT & RIGHT ARM MOTORS CONNECTOR

BASE LED CONNECTOR

POWER SUPPLY

MOTHERBOARD CONNECTOR

Page 15: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

HEAD CONTROLLERFreescale MC68HC908AP8–20Mhz-8KB

MC68HC908AP8

REAR, RIGHT AND LEFT

MICROPHONES CONNECTORS

POWER SUPPLY CONNECTOR

PAN & TILT MOTORS

CONNECTORS

PAN & TILT ENCODERS

CONNECTORS

IIC BUS CONNECTORS

EYES LED CONECTORS

TOUCH SENSOR CONECTOR

EARS LED CONECTORS

Page 16: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

BLUETOOTH MODULE

National LMX9830

LMX9830

POWER CONNECTOR &

RS232 CONNECTORS

(BRAIN&VISION)

Page 17: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

MOTHERBOARDFreescale MC68HC908AP8–20Mhz-8KB

LCD CONNECTOR

KEYBOARD CONNECTOR

POWER CONNECTOR

IIC CONNECTOR

HEAD CONNECTOR

ARM CONNECTOR

BLUETOOTH CONNECTOR

BASE CONNECTOR

VOICE CONNECTOR

Page 18: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

VOICESensory RSC4128–Flash 1MB

SENSORYRSC4128

1 MB FLASH MEMORY

POWER SUPPLY

RS 232

SPEAKER CONNECTOR

MICROPHONE CONNECTOR

Page 19: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

BRAIN & VISIONFreescale MC9328MXLVF15

CMOS CAMERA CONNECTOR

16 MB RAM MEMORY

16 MB FLASH MEMORY

POWER SUPPLY

USB CONNECTOR

RS232CONNECTOR(BLUETOOTH

MODULE)

MOTHERBOARD CONNECTOR

Page 20: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Software Architecture

Operative System: Linux 2.4 for Arm Processors with C Compiler (Tyni C) on-

board Two Main Process:

System Controller for running robot behaviours User Process for running user programs

Multi Treads Architecture A process run for each behaviour and for the main robot

functionalities 9 threads run concurrently Robot status is implemented as global structure shared

between threads

Page 21: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Basic Robot Behaviours

Execute user commands (voice or mobile phone/PC via Bluetooth)

Rotate Head toward sounds (on request) Rotate Head toward people (on request) Track and follow moving object (on request) Avoid obstacle during motion (on request) Emotions and Personality

Page 22: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Behaviour based control architecture

Perception/Sensation Action

Emotions Emotions Expression

Behaviour

Sensors ActuatorsWorld

Robot Mood & Personality

Page 23: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Tracking Behavior (Thread)

I2C Manager

Image Processing (Thread)

System Controller(Thread)

I-DROID01 SOFTWARE ARCHITECTURE

Image Acquisition (Thread)

DBL BUF

Bluetooth Manager (Thread)

RS232

OU

TPU

T PIP

E

PC

User Program

INPU

T PIPE

BUS I2C

Global Structure

Thread

I/O Port

Ext Process

3

0

1

Voice Manager (Thread)

BUF

Receiver(Thread)

Sender(Thread)

StatusUpdate

(Thread)BUF

BUF

BUF

MoodManager

ACK

PIPE

2

4

5 6 7 8

Object

CMOS

BUF

BUF

BUF

Page 24: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Bluetooth

PC locale

PC remoto

Internet

PC locale

Voice Control

Page 25: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

GUIs for PC and Mobile Phone(remote control)

Based on Java Technology

Page 26: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

11 wordsets 84 different

commands

Voice Control

Page 27: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Robot Programming

Three different programming modalities: Basic level: graphical/icons (Visual C-like) Intermediate level: C-like Advanced level: Java

Page 28: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

µc2 – System Controller

Visual C-like SDK(Purposively developed)

Translation of Programs in C language

Compilation of programs in executable program

Download of source programs to the Robot

System Controller

C-like SDK(Purposively developed)

Users SDKJava Programs

JAVA Robot Library

GUI

Sensor Status & Data

Motor Command

Robot behaviours and motor commands

Sensor Status & Data

PCB&V

Remote Control(PC/Mobile Phone)

BASIC INTERMEDIATE ADVANCED

Page 29: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Robot Programming: Visual C-like

Behaviour based

Page 30: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Robot Programming: c-like

Automatic translation from Visual C-like to C-like language

Page 31: Esercitazione con un robot umanoide programmabile per ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione... · CMOS Sensor Pixel Plus VGA P02030NC 1/4.5 inch 640 X 480 active pixel

Additional GPIO and breadboard for user custom circuits development