Você está na página 1de 34

Arquitectura e Funcionamento do Rob AIBO ERS210A

lpreis@fe.up.pt http://www.fe.up.pt/~lpreis LIACC Lab. Lab. Inteligncia Artificial e Cincia de Computadores FEUP Faculdade de Engenharia da Universidade do Porto

Lus Paulo Reis

Estrutura da Apresentao
Introduo Plataforma Robtica AIBO Sensores e Actuadores do ERS210A Mecnica e Limites de Actuao Exemplos e Aplicaes Programao em R-Code Programao com o OPEN-R SDK Concluses
Lus Paulo Reis / 2003 Slide N 2

LIACCLIACC-FEUP

Estrutura da Apresentao
Introduo Plataforma Robtica AIBO Sensores e Actuadores do ERS210A Mecnica e Limites de Actuao Exemplos e Aplicaes Programao em R-Code Programao com o OPEN-R SDK Concluses
Lus Paulo Reis / 2003 Slide N 3

LIACCLIACC-FEUP

Plataforma Robtica AIBOERS110


Microfone Streo Sensores de Infravermelhos Processador MIPS Cmara CCD a Cores Pernas com 3 graus de liberdade Sensores de Acelerao e Vibrao
LIACCLIACC-FEUP Lus Paulo Reis / 2003 Slide N 4

Plataforma Robtica AIBO -ERS210A


Estrutura Geral Processador MIPS: ERS210:
200Mhz

ERS210A:
400Mhz

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 5

Plataforma Robtica AIBO -ERS210A


Processador MIPS Cmara Vdeo (352x288) Microfone Streo Speaker Luzes (9 Leds) Leds) Bateria de Ltio Comunicao Wireless Sensores:

Actuadores com 20 Graus de Liberdade:


LIACCLIACC-FEUP Lus Paulo Reis / 2003

Acelerao, Toque, Proximidade, Temperatura e Vibrao 1-Boca, 33-Cabea, 22-Cauda, 1*21*2-Orelhas, 3*43*4Pernas

Slide N 6

Aspecto Externo ERS210

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 7

Comparao com o ERS110


CPU mais Rpido Motores mais fortes Melhor Resoluo na Cmara Rob mais baixo e mais estvel Centro de massa diferente (bateria mais central)

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 8

O AIBO ERS-220
Mecnica quase idntica ao ERS210 Aspecto mais futurista No possui boca nem cauda Mais sensores de toque e leds

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 9

Estrutura da Apresentao
Introduo Plataforma Robtica AIBO Sensores e Actuadores do ERS210A Mecnica e Limites de Actuao Exemplos e Aplicaes Programao em R-Code Programao com o OPEN-R SDK Concluses
Lus Paulo Reis / 2003 Slide N 10

LIACCLIACC-FEUP

Medidas do Rob - Geral

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 11

Medidas do Rob - Corpo

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 12

Medidas do Rob - Cabea

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 13

Movimentao - Cabea

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 14

Movimentao - Cabea

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 15

Movimentao - Pernas

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 16

Movimentao - Pernas

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 17

Movimentao - Cauda

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 18

Actuadores - Leds
6 Leds na face (olhos):
4 Vermelhos 2 Verdes

Led de Modo Led na cauda (2 cores)

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 19

Actuadores - Speaker
Speaker
Qualidade Baixa (pior do que telefone!) Sampling Freq: Freq: 8 KHz 8 Bits linear PCM 1 Canal (monoaural ) (monoaural)

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 20

10

Actuadores Interior do Corpo


Display LCD:
Relgio Bateria Volume do Som

Memory Stick Access Lamp Piezoelectric Buzzer


Som de Boot Som de Shutdown
LIACCLIACC-FEUP Lus Paulo Reis / 2003 Slide N 21

Sensores Cabea
Sensor de toque (2 contactos) Sensor de Distncia (10 a 90 cm):
Bastante Preciso!

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 22

11

Sensores Toque e Som


Toque Costas Toque Queixo Toque Patas (x4) Microfone Streo
Sampling Freq: Freq: 16KHz 16 bits linear PCM 2 canais (estreo) Omnidireccional ou Direccional
Lus Paulo Reis / 2003 Slide N 23

LIACCLIACC-FEUP

Sensores Cmara a Cores


1/6 polegada 352(H)x288(V) pixels 25 FPS Lente:
F 2.0, f=2.18mmm Horizontal: 57,6 graus Vertical: 47,8 graus

ngulo de Viso

Ajuste de Shutter Speed, Speed, White Balance e Ganho


LIACCLIACC-FEUP Lus Paulo Reis / 2003 Slide N 24

12

Sensores Interior do Corpo


Sensor de Acelerao (ax , ay e az): (ax, az):
-2.0G a +2.0G

Sensor de Vibrao Sensor de Temperatura Relgio (e dispositivo de acerto do relgio) Slots: Slots:
PC Card (Placa Wireless) Wireless) Memory Stick (Memria da Sony): Sony): S memrias especiais para Programao em OpenOpen-R! Bateria: Bateria de Ltio (7.4V / 2300mAh)
Lus Paulo Reis / 2003 Slide N 25

LIACCLIACC-FEUP

Estrutura da Apresentao
Introduo Plataforma Robtica AIBO Sensores e Actuadores do ERS210A Mecnica e Limites de Actuao Exemplos e Aplicaes Programao em R-Code Programao com o OPEN-R SDK Concluses
Lus Paulo Reis / 2003 Slide N 26

LIACCLIACC-FEUP

13

Mecnica Arquitectura por Blocos

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 27

Mecnica Corpo do Rob

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 28

14

Mecnica Corpo do Rob

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 29

Mecnica Corpo do Rob


Slot de Bateria Memory Stick Slot Carregador Testing Port

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 30

15

Mecnica Corpo do Rob


CPU: QED (Quantum Effective Devices) MIPS processor
(MIPS IV instruction set, 3232-bit data bus), maximum speed of 200/400MHz Memory: Dynamic memory (two NEC D4518163G5D4518163G5-A80 memory chips - 32MB SDRAM) ROM: Toshiba TC58FVB321FTTC58FVB321FT-10 flash memory - 4MB of flash ROM) I/O Controller: 8-bit micromicro-controller: I/O functions and controlling the main CPU (4MHz, 24KB of ROM and 1KB of RAM, an analoganalog-toto-digital converter, a realreal-timetime-clock, a buzzer circuit (for the boot failure tune) and two serial ports (among other features) Two Sony Custom Chips: Mistery! Mistery!
LIACCLIACC-FEUP Lus Paulo Reis / 2003 Slide N 31

Mecnica Corpo do Rob

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 32

16

Mecnica - Cabea

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 33

Mecnica - Pernas

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 34

17

Mecnica Limites Fsicos


Cuidado para no forar os motores das pernas e cabea! Overload dos motores:
Shutdown Automtico

Analisar dependncias entre J1,J2 e J3 das pernas da frente e trs

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 35

Mecnica - Actuadores

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 36

18

Mecnica - Sensores

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 37

Estrutura da Apresentao
Introduo Plataforma Robtica AIBO Sensores e Actuadores do ERS210A Mecnica e Limites de Actuao Exemplos e Aplicaes Programao em R-Code Programao com o OPEN-R SDK Concluses
Lus Paulo Reis / 2003 Slide N 38

LIACCLIACC-FEUP

19

Exemplos e Aplicaes
Obedincia a Comandos
Capacidades de Audio e Reconhecimento de Voz

Danas Diversas
Capacidades de Aco

Localizao de Bola e outros Objectos


Capacidades de Viso

Dilogo com Humanos


Capacidades de Comunicao (Audio e Emisso de Sons)
LIACCLIACC-FEUP Lus Paulo Reis / 2003 Slide N 39

Exemplos e Aplicaes
Controlo Distncia Futebol Robtico
Comunicao Wireless Controlo da Percepo Localizao utilizando Marcadores Reconhecimento de Objectos Movimentao Movimentao de uma Bola Cooperao com outros Robs
Lus Paulo Reis / 2003 Slide N 40

LIACCLIACC-FEUP

20

Exemplos e Aplicaes

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 41

AIBOWare Programas da Sony


S funcionam em Memory Stick prprios Programas:
Existem em Ingls e Japons (alguns em Francs e Alemo) AiboLife 1 AiboLife 1 Hello AIBO Party Mascot Spring
Lus Paulo Reis / 2003 Slide N 42

LIACCLIACC-FEUP

21

Aplicaes Diversas
Disco AIBO Obey Cat Bender AIBO AIBO and Costello Scooby AIBO Cartman AIBO BrainBo
Lus Paulo Reis / 2003 Slide N 43

LIACCLIACC-FEUP

Estrutura da Apresentao
Introduo Plataforma Robtica AIBO Sensores e Actuadores do ERS210A Mecnica e Limites de Actuao Exemplos e Aplicaes Programao em R-Code Programao com o OPEN-R SDK Concluses
Lus Paulo Reis / 2003 Slide N 44

LIACCLIACC-FEUP

22

Programao em R-Code
Linguagem simples de Alto-Nvel Comandos separados por dois-pontos : Labels comeam por : (:Label) Comentrios comeam por //
Word1: Word2: Word3 Programadores amadores

Maisculas: Palavras reservadas


LIACCLIACC-FEUP Lus Paulo Reis / 2003

Exemplo: Word1: Word2: Word3 // cometrio

Slide N 45

Comandos de R-Code
Controlo EDIT END RUN EXIT HALT INIT !
LIACCLIACC-FEUP

Load program Program load termination Begin execution Terminate execution Terminate and shutdown Initialize Break (force stop)
Lus Paulo Reis / 2003 Slide N 46

23

Comandos de R-Code
Aces PLAY STOP QUIT WAIT SYNC NONE Impresso PRINT
LIACCLIACC-FEUP

Play action Normal stop Emergency stop Wait Synchronize No operation Print
Lus Paulo Reis / 2003 Slide N 47

Comandos de R-Code
Estruturas de Controlo : Label GO Jump IF Conditional test SWITCH MultiwayMultiway-branching (Context value setting) CSET MultiwayMultiway-branching (Context value setting) CASE MultiwayMultiway-branching (Conditional execution) FOR FOR loop NEXT FOR loop termination WHILE WHILE loop WEND WHILE loop termination
LIACCLIACC-FEUP Lus Paulo Reis / 2003 Slide N 48

24

Comandos de R-Code
Estruturas de Controlo (2)
REPEAT UNTIL DO LOOP BREAK CALL ARG RETURN RET ONCALL RESUME REPEAT loop REPEAT loop termination DO loop DO loop termination Break out of loop Call subroutine Retrieve subroutine argument Return from subroutine Return from subroutine (context version) Register interrupt routine Return from interrupt routine
Lus Paulo Reis / 2003 Slide N 49

LIACCLIACC-FEUP

Comandos de R-Code
Variveis GLOBAL LOCAL LET SET GET CLR VSAVE VLOAD VDUMP
LIACCLIACC-FEUP

Global variable declaration Local variable declaration Assign (simple assignment) Assign (with special functions) Refer (for debugging) Clear sensor variable Save variable value Load variable value Display variable value
Lus Paulo Reis / 2003 Slide N 50

25

Comandos de R-Code
Operadores ADD SUB MUL DIV MOD AND IOR XOR NOT
LIACCLIACC-FEUP

Add Subtract Multiply Divide Remainder Logical product Inclusive OR Exclusive OR Negation
Lus Paulo Reis / 2003 Slide N 51

Comandos de R-Code
Operadores (2) LAND Logical product (Boolean operator) LIOR Inclusive OR (Boolean operator) LNOT Negation (Boolean operator) EQ Equal NE Not equal to LT Less than LE Less than or equal to GT Greater than GE Greater than or equal to RND Random number
LIACCLIACC-FEUP Lus Paulo Reis / 2003 Slide N 52

26

Comandos de R-Code
Operaes com a Stack
PUSH POP DUP JT JF Add element to stack Remove element from stack Copy stack top Jump if stack top is true Jump if stack top is false

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 53

Variveis do Sistema
AiboId AiboType Year Month Day Hour Min Sec Dow Seed Power Status
0 when not connected via WLAN or least significant byte of IP Address Address

AIBO ID (0(0-255)

(If AIBO recovers from falling, the program is started again from from the beginning). At this time, the value is set to 1.
Lus Paulo Reis / 2003

Model (210 ERSERS-210, 220 ERSERS-220, 310 ERSERS-310) Year (2000 or later) Month (1(1-12) Date (1(1-31) Hour (0(0-23) Minute (0(0-59) Second (0(0-59) * Resolution 2 seconds Day of week (Sun(0), Mon(1), ..., Sat(6)) Random number seed (default is 1) Power (0/1): 0 OFF, 1 ON Status: 0 Normal startup, 1 Recovery Status:

LIACCLIACC-FEUP

Slide N 54

27

Variveis do Sistema
Context Wait Clock Brightness Pink_Ball Pink_Ball_H Pink_Ball_V Pink_Ball_D Context value Number of actions being waited for completion Clock (incremented by 1 every 32 ms) Ambient brightness (0(0-255) Pink ball (0/1) * Pink ball horizontal angle [degrees] Pink ball vertical angle [degrees] Distance to pink ball [mm]

AU_Voice AU_Voice_ID AU_AiboSound AU_AiboSound_ID AU_AiboTone AU_AiboTone_ID Temp_Hi

The origin point of the position of Pink ball is a position of Image Image sensor.

(for safety, a forced shutdown will be executed in 20 seconds). Lus Paulo Reis / 2003

Voice recognition (0/1) * Voice ID (1see [Voice ID List] (1-53) AiboSound detection (0/1) * AiboSound ID (1see [AiboSound (1-35) [AiboSound ID List] AiboTone detection (0/1) * AiboTone ID (1see [AiboTone (1-68) [AiboTone ID List] Temperature at which operation is suppressed (0/1) (0/1)
Slide N 55

LIACCLIACC-FEUP

O YART=Yet Another RCode Tool


Ferramenta simples de drag-and-drop Definio de comportamentos e personalidades No to poderoso como o Master Studio
No entanto bom para comear

YART_APG (Audio Personality Generator)


Ferramenta sepearda que converte ficheiros audio (.wav) em aces do AIBO
LIACCLIACC-FEUP Lus Paulo Reis / 2003 Slide N 56

28

Utilizao do YART

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 57

Aces no YART
Categorias de Aces: Aces:
Standard Coisas bsicas como sentar, sentar, andar, andar, estar em p ou gastar tempo. LEDs Ligar ou desligar os LEDs (especfico do modelo) modelo) Aces do Utilizador Acessos a aces construdas pelo utilizador Aces do Sistema Aces builtbuilt-in em diversas categorias SubRotinas Para coisas mais complexas como o registo do nome ou tirar uma fotografia
Lus Paulo Reis / 2003 Slide N 58

LIACCLIACC-FEUP

29

Estrutura da Apresentao
Introduo Plataforma Robtica AIBO Sensores e Actuadores do ERS210A Mecnica e Limites de Actuao Exemplos e Aplicaes Programao em R-Code Programao com o OPEN-R SDK Concluses
Lus Paulo Reis / 2003 Slide N 59

LIACCLIACC-FEUP

OPEN-R SDK - Introduo


OPENOPEN-R:
Interface standard para robs de entretenimento da Sony

OPENOPEN-R SDK (OPEN(OPEN-R Software Development Kit)


Ambiente de desenvolvimento baseado no gcc (C++) Permite construir programas que correm no ERSERS-210 Ferramentas de acesso livre Arquitectura modular de Hardware e Software Suporte para comunicao Wireless
Lus Paulo Reis / 2003 Slide N 60

LIACCLIACC-FEUP

30

OPEN-R SDK - Introduo


Sistema Operativo (tempo-real): Aperios Programas escritos em OPEN-R SDK Memory Sticks (gravador ou via wireless) OPEN-R Objects:
Executveis com a extenso .BIN Comunicam com outros objectos por mensagens Semelhantes a processos UNIX
Lus Paulo Reis / 2003

www.jp.aibo.com/openr

LIACCLIACC-FEUP

Slide N 61

OPEN-R SDK - Documentao


Sistema:
OpenOpen-R SDK - Verso 1.1.3 OpenOpen-R SDK - Upgrade Verso 1.1.3 (release 2) OpenOpen-R SDK - Sample Programs (cdigo C++) OpenOpen-R SDK - Installation Guide OpenOpen-R SDK - Programmer's Guide OpenOpen-R SDK - Model Information for ERS210 OpenOpen-R SDKSDK- Level 2 - Reference Guide penpen-R SDK - Internet Protocol - Version 4 RCode Plus 251 - ERS210A
Lus Paulo Reis / 2003 Slide N 62

Programas Exemplo: Documentao:

LIACCLIACC-FEUP

31

OPEN-R SDK - Potencialidades


Movimentar juntas do rob independentemente Ler os ngulos das juntas Ligar e desligar os leds Tocar udio PCM Ler a imagem da cmara Ler informao udio Ler a data/hora, nvel de bateria, etc Ler informao de todos os sensores do rob Enviar e receber dados via rede Wireless
Lus Paulo Reis / 2003 Slide N 63

LIACCLIACC-FEUP

Conhecimentos Prvios
Experincia em Programao em C++ Algoritmos e Estruturas de Dados Inteligncia Artificial e Robtica Utilizao de ferramentas de desenvolvimento GNU Como usar UNIX / ferramentas Cygwin: Criatividade e Imaginao
LIACCLIACC-FEUP Lus Paulo Reis / 2003 Slide N 64

Bash, Bash, tar, tar, ls, ls, etc. etc.

32

Estrutura da Apresentao
Introduo Plataforma Robtica AIBO Sensores e Actuadores do ERS210A Mecnica e Limites de Actuao Exemplos e Aplicaes Programao em R-Code Programao com o OPEN-R SDK Concluses
Lus Paulo Reis / 2003 Slide N 65

LIACCLIACC-FEUP

Comparao RCODE /SDK

LIACCLIACC-FEUP

Lus Paulo Reis / 2003

Slide N 66

33

Concluses
Software da Sony: AIBOLife
Emoes, instintos, aprendizagem, crescimento, reconhecimento de voz e objectos, etc. Obedincia a comandos de Voz Danas diversas Interaco simples com Bola

Programas simples: R-CODE

Aplicaes mais a srio: OPEN-R SDK


Necessidade de programar tudo
Lus Paulo Reis / 2003 LIACCLIACC-FEUP Slide N 67

34

Você também pode gostar