Texto

(1)

1

Arquitectura e Funcionamento

Arquitectura e Funcionamento

do Robô AIBO ERS210A

do Robô AIBO ERS210A

Luís Paulo Reis

Luís Paulo Reis

lpreis@fe.up.pt

lpreis@fe.up.pt

http://www.fe.up.pt/~lpreis

http://www.fe.up.pt/~lpreis

LIACC

LIACC ––LabLab. Inteligência Artificial e Ciência de Computadores. Inteligência Artificial e Ciência de Computadores FEUP

FEUP ––Faculdade de Engenharia da Universidade do PortoFaculdade de Engenharia da Universidade do Porto

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 22

Estrutura da Apresentação

Estrutura da Apresentação

ƒ

ƒ

Introdução à Plataforma Robótica AIBO

Introdução à Plataforma Robótica AIBO

ƒ

ƒ

Sensores e Actuadores do ERS210A

Sensores e Actuadores do ERS210A

ƒ

ƒ

Mecânica e Limites de Actuação

Mecânica e Limites de Actuação

ƒ

ƒ

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

ƒ

Programação em

Programação em

R

R

-

-

Code

Code

ƒ

ƒ

Programação com o OPEN

Programação com o OPEN

-

-

R SDK

R SDK

ƒ

(2)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 33

Estrutura da Apresentação

Estrutura da Apresentação

ƒ

ƒ

Introdução à Plataforma Robótica AIBO

Introdução à Plataforma Robótica AIBO

ƒ

ƒ

Sensores e Actuadores do ERS210A

Sensores e Actuadores do ERS210A

ƒ

ƒ

Mecânica e Limites de Actuação

Mecânica e Limites de Actuação

ƒ

ƒ

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

ƒ

Programação em

Programação em

R

R

-

-

Code

Code

ƒ

ƒ

Programação com o OPEN

Programação com o OPEN

-

-

R SDK

R SDK

ƒ

ƒ

Conclusões

Conclusões

Plataforma Robótica AIBO

Plataforma Robótica AIBO

ERS110

ERS110

ƒ

ƒ Microfone Microfone StéreoStéreo

ƒ

ƒ Sensores de Sensores de Infravermelhos

Infravermelhos

ƒ

ƒ Processador MIPSProcessador MIPS

ƒ

ƒ Câmara CCD a Cores Câmara CCD a Cores

ƒ

(3)

3

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 55

Plataforma Robótica AIBO

Plataforma Robótica AIBO

-

-

ERS210A

ERS210A

ƒ ƒ Estrutura Estrutura Geral Geral ƒ ƒ Processador Processador MIPS: MIPS: ƒ ƒ ERS210:ERS210: – – 200Mhz200Mhz ƒ ƒ ERS210A:ERS210A: – – 400Mhz400Mhz LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 66

Plataforma Robótica AIBO

Plataforma Robótica AIBO

-

-

ERS210A

ERS210A

ƒ

ƒ Processador MIPSProcessador MIPS

ƒ

ƒ Câmara Vídeo (352x288)Câmara Vídeo (352x288)

ƒ

ƒ Microfone Microfone StéreoStéreo

ƒ

ƒ SpeakerSpeaker

ƒ

ƒ Luzes (9 Luzes (9 LedsLeds))

ƒ

ƒ Bateria de LítioBateria de Lítio

ƒ

ƒ Comunicação Comunicação WirelessWireless

ƒ

ƒ Sensores:Sensores: –

–Aceleração, Toque, Proximidade, Temperatura e Aceleração, Toque, Proximidade, Temperatura e Vibração

Vibração

ƒ

ƒ Actuadores com 20 Graus de Liberdade:Actuadores com 20 Graus de Liberdade: –

–11--Boca, 3Boca, 3--Cabeça, 2Cabeça, 2--Cauda, 1*2Cauda, 1*2--Orelhas, 3*4Orelhas, 3*4- -Pernas

(4)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 77

Aspecto Externo

Aspecto Externo

ERS210

ERS210

Comparação com o ERS110

Comparação com o ERS110

ƒ

ƒ

CPU mais Rápido

CPU mais Rápido

ƒ

ƒ

Motores mais fortes

Motores mais fortes

ƒ

ƒ

Melhor Resolução na Câmara

Melhor Resolução na Câmara

ƒ

ƒ

Robô mais baixo e mais estável

Robô mais baixo e mais estável

ƒ

(5)

5

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 99

O AIBO ERS

O AIBO ERS

-

-

220

220

ƒ

ƒ Mecânica quase idêntica ao ERS210Mecânica quase idêntica ao ERS210

ƒ

ƒ Aspecto mais futuristaAspecto mais futurista

ƒ

ƒ Não possui boca nem caudaNão possui boca nem cauda

ƒ

ƒ Mais sensores de toque e Mais sensores de toque e ledsleds

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 1010

Estrutura da Apresentação

Estrutura da Apresentação

ƒ

ƒ

Introdução à Plataforma Robótica AIBO

Introdução à Plataforma Robótica AIBO

ƒ

ƒ

Sensores e Actuadores do ERS210A

Sensores e Actuadores do ERS210A

ƒ

ƒ

Mecânica e Limites de Actuação

Mecânica e Limites de Actuação

ƒ

ƒ

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

ƒ

Programação em

Programação em

R

R

-

-

Code

Code

ƒ

ƒ

Programação com o OPEN

Programação com o OPEN

-

-

R SDK

R SDK

ƒ

(6)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 1111

Medidas do Robô

Medidas do Robô

-

-

Geral

Geral

Medidas do Robô

(7)

7

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 1313

Medidas do Robô

Medidas do Robô

-

-

Cabeça

Cabeça

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 1414

Movimentação

(8)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 1515

Movimentação

Movimentação

-

-

Cabeça

Cabeça

Movimentação

(9)

9

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 1717

Movimentação

Movimentação

-

-

Pernas

Pernas

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 1818

Movimentação

(10)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 1919

Actuadores

Actuadores

-

-

Leds

Leds

ƒ

ƒ 6 6 LedsLedsna face (olhos):na face (olhos): –

– 4 Vermelhos4 Vermelhos –

– 2 Verdes2 Verdes

ƒ

ƒ LedLedde Modode Modo

ƒ

ƒ LedLedna cauda (2 cores)na cauda (2 cores)

Actuadores

Actuadores

-

-

Speaker

Speaker

ƒ

ƒ SpeakerSpeaker –

– Qualidade Baixa (pior do Qualidade Baixa (pior do que telefone!)

que telefone!)

– SamplingSamplingFreqFreq: 8 KHz: 8 KHz –

– 8 Bits linear PCM8 Bits linear PCM –

(11)

11

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 2121

Actuadores

Actuadores

Interior do Corpo

Interior do Corpo

ƒ

ƒ

Display

Display

LCD:

LCD:

– –RelógioRelógio – –BateriaBateria –

–Volume do SomVolume do Som

ƒ

ƒ

Memory

Memory

Stick

Stick

Access

Access

Lamp

Lamp

ƒ

ƒ

Piezoelectric

Piezoelectric

Buzzer

Buzzer

–Som de Som de BootBoot –

–Som de Som de ShutdownShutdown

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 2222

Sensores

Sensores

Cabeça

Cabeça

ƒ

ƒ Sensor de toque (2 contactos)Sensor de toque (2 contactos)

ƒ

ƒ Sensor de Distância (10 a 90 cm): Sensor de Distância (10 a 90 cm): –

(12)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 2323

Sensores

Sensores

Toque e Som

Toque e Som

ƒ

ƒ Toque Toque ––CostasCostas

ƒ

ƒ Toque Toque ––QueixoQueixo

ƒ

ƒ Toque Toque ––Patas (x4)Patas (x4)

ƒ

ƒ Microfone Microfone StéreoStéreo

– SamplingSamplingFreqFreq: 16KHz: 16KHz –

– 16 bits linear PCM16 bits linear PCM –

– 2 canais (estéreo)2 canais (estéreo) –

– Omnidireccional ou Omnidireccional ou Direccional

Direccional

Sensores

Sensores

Câmara a Cores

Câmara a Cores

ƒ ƒ 1/6 polegada1/6 polegada ƒ ƒ 352(H)x288(V) 352(H)x288(V) pixelspixels ƒ ƒ 25 FPS25 FPS ƒ ƒ Lente: Lente: – – F 2.0, f=2.18mmmF 2.0, f=2.18mmm ƒ

(13)

13

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 2525

Sensores

Sensores

Interior do Corpo

Interior do Corpo

ƒ

ƒ Sensor de Aceleração (Sensor de Aceleração (axax, , ayaye e azaz):):

--2.0G a +2.0G2.0G a +2.0G

ƒ

ƒ Sensor de VibraçãoSensor de Vibração

ƒ

ƒ Sensor de TemperaturaSensor de Temperatura

ƒ

ƒ Relógio (e dispositivo de acerto do relógio)Relógio (e dispositivo de acerto do relógio)

ƒ

ƒ SlotsSlots:: –

– PC PC CardCard(Placa (Placa WirelessWireless)) –

– MemoryMemoryStickStick(Memória da (Memória da SonySony): Só memórias ): Só memórias especiais para Programação em

especiais para Programação em OpenOpen--RR!! –

– Bateria: Bateria: BateriaBateriade Lítio (7.4V / 2300mAh)de Lítio (7.4V / 2300mAh)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 2626

Estrutura da Apresentação

Estrutura da Apresentação

ƒ

ƒ

Introdução à Plataforma Robótica AIBO

Introdução à Plataforma Robótica AIBO

ƒ

ƒ

Sensores e Actuadores do ERS210A

Sensores e Actuadores do ERS210A

ƒ

ƒ

Mecânica e Limites de Actuação

Mecânica e Limites de Actuação

ƒ

ƒ

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

ƒ

Programação em

Programação em

R

R

-

-

Code

Code

ƒ

ƒ

Programação com o OPEN

Programação com o OPEN

-

-

R SDK

R SDK

ƒ

(14)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 2727

Mecânica

Mecânica

Arquitectura por Blocos

Arquitectura por Blocos

Mecânica

(15)

15

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 2929

Mecânica

Mecânica

Corpo do Robô

Corpo do Robô

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 3030

Mecânica

Mecânica

Corpo do Robô

Corpo do Robô

ƒ

ƒ

Slot

Slot

de Bateria

de Bateria

ƒ

ƒ

Memory

Memory

Stick

Stick

Slot

Slot

ƒ

ƒ

Carregador

Carregador

ƒ

(16)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 3131

Mecânica

Mecânica

Corpo do Robô

Corpo do Robô

ƒ

ƒ CPU: QED (Quantum Effective Devices) MIPS processor CPU: QED (Quantum Effective Devices) MIPS processor

(MIPS IV instruction set, 32

(MIPS IV instruction set, 32--bit data bus), maximum speed bit data bus), maximum speed of 200/400MHz

of 200/400MHz

ƒ

ƒ Memory: Dynamic memory (two NEC Memory: Dynamic memory (two NEC D4518163G5D4518163G5--A80A80

memory chips

memory chips --32MB SDRAM)32MB SDRAM) ROM: Toshiba

ROM: Toshiba TC58FVB321FTTC58FVB321FT--1010flash memory flash memory --4MB of 4MB of flash ROM)

flash ROM)

ƒ

ƒ I/O Controller: 8I/O Controller: 8--bit microbit micro--controller: I/O functions and controller: I/O functions and controlling the main CPU (4MHz, 24KB of ROM and 1KB of

controlling the main CPU (4MHz, 24KB of ROM and 1KB of

RAM, an analog

RAM, an analog--toto--digital converter, a realdigital converter, a real--timetime--clock, a clock, a buzzer circuit (for the boot failure tune) and two serial ports

buzzer circuit (for the boot failure tune) and two serial ports

(among other features)

(among other features)

ƒ

ƒ TwoTwoSonySonyCustomCustomChips:Chips: MisteryMistery!!

Mecânica

(17)

17

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 3333

Mecânica

Mecânica

-

-

Cabeça

Cabeça

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 3434

Mecânica

(18)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 3535

Mecânica

Mecânica

Limites Físicos

Limites Físicos

ƒ

ƒ Cuidado para não Cuidado para não forçar os motores das

forçar os motores das

pernas e cabeça!

pernas e cabeça!

ƒ

ƒ OverloadOverloaddos motores:dos motores: –

– ShutdownShutdownAutomáticoAutomático

ƒ

ƒ Analisar dependências Analisar dependências entre J1,J2 e J3 das

entre J1,J2 e J3 das

pernas da frente e trás

pernas da frente e trás

Mecânica

(19)

19

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 3737

Mecânica

Mecânica

-

-

Sensores

Sensores

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 3838

Estrutura da Apresentação

Estrutura da Apresentação

ƒ

ƒ

Introdução à Plataforma Robótica AIBO

Introdução à Plataforma Robótica AIBO

ƒ

ƒ

Sensores e Actuadores do ERS210A

Sensores e Actuadores do ERS210A

ƒ

ƒ

Mecânica e Limites de Actuação

Mecânica e Limites de Actuação

ƒ

ƒ

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

ƒ

Programação em

Programação em

R

R

-

-

Code

Code

ƒ

ƒ

Programação com o OPEN

Programação com o OPEN

-

-

R SDK

R SDK

ƒ

(20)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 3939

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

ƒ Obediência a ComandosObediência a Comandos –

– Capacidades de Audição e Reconhecimento de VozCapacidades de Audição e Reconhecimento de Voz

ƒ

ƒ Danças DiversasDanças Diversas –

– Capacidades de AcçãoCapacidades de Acção

ƒ

ƒ Localização de Bola e outros ObjectosLocalização de Bola e outros Objectos –

– Capacidades de VisãoCapacidades de Visão

ƒ

ƒ Diálogo com HumanosDiálogo com Humanos –

– Capacidades de Comunicação (Audição e Emissão de Capacidades de Comunicação (Audição e Emissão de Sons)

Sons)

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

ƒ

Controlo à Distância

Controlo à Distância

–Comunicação Comunicação WirelessWireless –

–Controlo da PercepçãoControlo da Percepção

ƒ

ƒ

Futebol Robótico

Futebol Robótico

–Localização utilizando MarcadoresLocalização utilizando Marcadores –

(21)

21

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 4141

Exemplos e Aplicações

Exemplos e Aplicações

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 4242

AIBOWare

AIBOWare

Programas da

Programas da

Sony

Sony

ƒ

ƒ

Só funcionam em

Só funcionam em

Memory

Memory

Stick

Stick

próprios

próprios

–Existem em Inglês e Japonês (alguns em Existem em Inglês e Japonês (alguns em Francês e Alemão) Francês e Alemão)

ƒ

ƒ

Programas:

Programas:

– –AiboLifeAiboLife11 – –AiboLifeAiboLife11 –

–HelloHelloAIBOAIBO

–PartyPartyMascotMascot

(22)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 4343

Aplicações Diversas

Aplicações Diversas

ƒ

ƒ

Disco AIBO

Disco AIBO

ƒ

ƒ

Obey

Obey

Cat

Cat

ƒ

ƒ

Bender

Bender

AIBO

AIBO

ƒ

ƒ

AIBO

AIBO

and

and

Costello

Costello

ƒ

ƒ

Scooby

Scooby

AIBO

AIBO

ƒ

ƒ

Cartman

Cartman

AIBO

AIBO

ƒ

ƒ

BrainBo

BrainBo

Estrutura da Apresentação

Estrutura da Apresentação

ƒ

ƒ

Introdução à Plataforma Robótica AIBO

Introdução à Plataforma Robótica AIBO

ƒ

ƒ

Sensores e Actuadores do ERS210A

Sensores e Actuadores do ERS210A

ƒ

ƒ

Mecânica e Limites de Actuação

Mecânica e Limites de Actuação

ƒ

ƒ

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

(23)

23

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 4545

Programação em

Programação em

R

R

-

-

Code

Code

ƒ

ƒ

Linguagem simples de

Linguagem simples de

Alto

Alto

-

-

Nível

Nível

–Programadores amadoresProgramadores amadores

ƒ

ƒ

Comandos separados por

Comandos separados por

dois

dois

-

-

pontos

pontos

:

:

–Word1: Word2: Word3Word1: Word2: Word3

ƒ

ƒ

Labels

Labels

começam por : (:

começam por : (:

Label

Label

)

)

ƒ

ƒ

Comentários começam por //

Comentários começam por //

–Exemplo: Word1: Word2: Word3 // Exemplo: Word1: Word2: Word3 // cometáriocometário

ƒ

ƒ

Maiúsculas: Palavras reservadas

Maiúsculas: Palavras reservadas

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 4646

Comandos de

Comandos de

R

R

-

-

Code

Code

Controlo

Controlo

ƒ

ƒ

EDIT Load program

EDIT Load program

ƒ

ƒ

END Program load termination

END Program load termination

ƒ

ƒ

RUN Begin execution

RUN Begin execution

ƒ

ƒ

EXIT Terminate execution

EXIT Terminate execution

ƒ

ƒ

HALT Terminate and shutdown

HALT Terminate and shutdown

ƒ

ƒ

INIT Initialize

INIT Initialize

ƒ

(24)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 4747

Comandos de

Comandos de

R

R

-

-

Code

Code

Acções Acções

ƒ

ƒ PLAY PLAY PlayPlayactionaction

ƒ

ƒ STOP Normal stopSTOP Normal stop

ƒ

ƒ QUIT Emergency stopQUIT Emergency stop

ƒ

ƒ WAIT WAIT WaitWait

ƒ

ƒ SYNC SynchronizeSYNC Synchronize

ƒ

ƒ NONE No operationNONE No operation Impressão

Impressão

ƒ

ƒ PRINT PRINT PrintPrint

Comandos de

Comandos de

R

R

-

-

Code

Code

Estruturas

Estruturas de de ControloControlo

ƒ

ƒ : Label: Label

ƒ

ƒ GO JumpGO Jump

ƒ

ƒ IF Conditional testIF Conditional test

ƒ

ƒ SWITCH SWITCH MultiwayMultiway--branching branching (Context value setting)(Context value setting)

ƒ

ƒ CSET CSET MultiwayMultiway--branching branching (Context value setting)(Context value setting)

ƒ

(25)

25

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 4949

Comandos de

Comandos de

R

R

-

-

Code

Code

Estruturas

Estruturas de de ControloControlo(2)(2)

ƒ

ƒ REPEAT REPEAT REPEATREPEATlooploop

ƒ

ƒ UNTIL REPEAT loop terminationUNTIL REPEAT loop termination

ƒ

ƒ DO DO DO DO looploop

ƒ

ƒ LOOP DO LOOP DO looploopterminationtermination

ƒ

ƒ BREAK BREAK BreakBreakout of loopout of loop

ƒ

ƒ CALL CALL CallCallsubroutinesubroutine

ƒ

ƒ ARG Retrieve subroutine argumentARG Retrieve subroutine argument

ƒ

ƒ RETURN RETURN ReturnReturnfrom subroutinefrom subroutine

ƒ

ƒ RET Return from subroutine (context version)RET Return from subroutine (context version)

ƒ

ƒ ONCALL Register interrupt routineONCALL Register interrupt routine

ƒ

ƒ RESUME Return from interrupt routineRESUME Return from interrupt routine

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 5050

Comandos de

Comandos de

R

R

-

-

Code

Code

Variáveis Variáveis

ƒ

ƒ GLOBAL GLOBAL GlobalGlobalvariable variable declarationdeclaration

ƒ

ƒ LOCAL LOCAL LocalLocalvariable variable declarationdeclaration

ƒ

ƒ LET Assign (simple assignment)LET Assign (simple assignment)

ƒ

ƒ SET Assign (with special functions)SET Assign (with special functions)

ƒ

ƒ GET Refer (for debugging)GET Refer (for debugging)

ƒ

ƒ CLR Clear sensor variableCLR Clear sensor variable

ƒ

ƒ VSAVE Save variable valueVSAVE Save variable value

ƒ

ƒ VLOAD Load variable valueVLOAD Load variable value

ƒ

(26)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 5151

Comandos de

Comandos de

R

R

-

-

Code

Code

Operadores Operadores

ƒ

ƒ ADD ADD AddAdd

ƒ

ƒ SUB SubtractSUB Subtract

ƒ

ƒ MUL MultiplyMUL Multiply

ƒ

ƒ DIV DivideDIV Divide

ƒ

ƒ MOD RemainderMOD Remainder

ƒ

ƒ AND Logical productAND Logical product

ƒ

ƒ IOR Inclusive ORIOR Inclusive OR

ƒ

ƒ XOR Exclusive ORXOR Exclusive OR

ƒ

ƒ NOT NegationNOT Negation

Comandos de

Comandos de

R

R

-

-

Code

Code

Operadores Operadores (2)(2)

ƒ

ƒ LAND Logical product (Boolean operator)LAND Logical product (Boolean operator)

ƒ

ƒ LIOR Inclusive OR (Boolean operator)LIOR Inclusive OR (Boolean operator)

ƒ

ƒ LNOT Negation (Boolean operator)LNOT Negation (Boolean operator)

ƒ

ƒ EQ EqualEQ Equal

ƒ

ƒ NE Not equal toNE Not equal to

ƒ

(27)

27

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 5353

Comandos de

Comandos de

R

R

-

-

Code

Code

Operações

Operações

com a Stack

com a Stack

ƒ

ƒ PUSH Add element to stackPUSH Add element to stack

ƒ

ƒ POP Remove element from stackPOP Remove element from stack

ƒ

ƒ DUP Copy stack topDUP Copy stack top

ƒ

ƒ JT Jump if stack top is trueJT Jump if stack top is true

ƒ

ƒ JF Jump if stack top is falseJF Jump if stack top is false

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 5454

Variáveis do Sistema

Variáveis do Sistema

ƒ

ƒ AiboIdAiboId AIBO ID (0AIBO ID (0--255) 255)

– 0 when not connected via WLAN or least significant byte of IP Ad0 when not connected via WLAN or least significant byte of IP Addressdress

ƒ

ƒ AiboTypeAiboType Model (210 ERSModel (210 ERS--210, 220 ERS210, 220 ERS--220, 310 ERS220, 310 ERS--310)310)

ƒ

ƒ Year Year YearYear(2000 or later)(2000 or later) ƒ

ƒ Month Month MonthMonth(1(1--12)12) ƒ

ƒ Day Date (1Day Date (1--31)31)

ƒ

ƒ Hour Hour HourHour(0(0--23)23) ƒ

ƒ Min Minute (0Min Minute (0--59)59)

ƒ

ƒ Sec Second (0Sec Second (0--59) * Resolution 2 seconds59) * Resolution 2 seconds ƒ

ƒ Dow Day of week (Sun(0), Mon(1), ..., Sat(6))Dow Day of week (Sun(0), Mon(1), ..., Sat(6)) ƒ

ƒ Seed Random number seed (default is 1)Seed Random number seed (default is 1) ƒ

ƒ Power Power PowerPower(0/1): 0 OFF, 1 ON(0/1): 0 OFF, 1 ON

ƒ

ƒ Status Status StatusStatus: 0 Normal startup, 1 Recovery: 0 Normal startup, 1 Recovery

– (If AIBO recovers from falling, the program is started again fro(If AIBO recovers from falling, the program is started again from the m the beginning). At this time, the value is set to 1.

(28)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 5555

Variáveis do Sistema

Variáveis do Sistema

ƒ

ƒ Context ContextContext Contextvaluevalue

ƒ

ƒ Wait Number of actions being waited for completionWait Number of actions being waited for completion

ƒ

ƒ Clock ClockClock Clock(incremented by 1 every 32 ms)(incremented by 1 every 32 ms)

ƒ

ƒ Brightness Ambient brightness (0-Brightness Ambient brightness (0-255)255)

ƒ

ƒ Pink_BallPink_Ball Pink ball (0/1) Pink ball (0/1) **

ƒ

ƒ Pink_Ball_HPink_Ball_H Pink ball horizontal angle [degrees]Pink ball horizontal angle [degrees]

ƒ

ƒ Pink_Ball_VPink_Ball_V Pink ball vertical angle [degrees]Pink ball vertical angle [degrees]

ƒ

ƒ Pink_Ball_DPink_Ball_D Distance to pink ball [mm]Distance to pink ball [mm]

– The origin point of the position of Pink ball is a position of IThe origin point of the position of Pink ball is a position of Image sensor.mage sensor. ƒ

ƒ AU_VoiceAU_Voice Voice recognition (0/1) *Voice recognition (0/1) *

ƒ

ƒ AU_Voice_IDAU_Voice_ID Voice ID (1Voice ID (1--53) see [Voice ID List]53) see [Voice ID List]

ƒ

ƒ AU_AiboSoundAU_AiboSound AiboSoundAiboSounddetection (0/1) *detection (0/1) *

ƒ

ƒ AU_AiboSound_IDAU_AiboSound_ID AiboSoundAiboSoundID (1ID (1--35) see [35) see [AiboSoundAiboSoundID List]ID List]

ƒ

ƒ AU_AiboToneAU_AiboTone AiboToneAiboTonedetection (0/1) *detection (0/1) *

ƒ

ƒ AU_AiboTone_IDAU_AiboTone_ID AiboToneAiboToneID (1ID (1--68) see [68) see [AiboToneAiboToneID List]ID List]

ƒ

ƒ Temp_HiTemp_Hi Temperature at which operation is suppressed (0Temperature at which operation is suppressed (0/1) /1)

– (for safety, a forced shutdown will be executed in 20 seconds).(for safety, a forced shutdown will be executed in 20 seconds).

O YART=Yet Another

O YART=Yet Another RCode

RCode

Tool

Tool

ƒ

ƒ

Ferramenta simples de

Ferramenta simples de

drag

drag

-

-

and

and

-

-

drop

drop

ƒ

ƒ

Definição de comportamentos e

Definição de comportamentos e

personalidades

personalidades

ƒ

ƒ

Não é tão poderoso como o

Não é tão poderoso como o

Master

Master

Studio

Studio

(29)

29

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 5757

Utilização do YART

Utilização do YART

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 5858

Acções no YART

Acções no YART

ƒ

ƒ CategoriasCategoriasde de AcçõesAcções:: –

– StandardStandard––CoisasCoisasbásicasbásicascomocomosentarsentar, , andarandar, , estarestar em

empépéouougastargastartempo.tempo. –

– LEDsLEDs––LigarLigarououdesligardesligarososLEDsLEDs((específicoespecíficodo do modelo

modelo)) –

– AcçõesAcçõesdo do UtilizadorUtilizador––AcessosAcessosa a acçõesacçõesconstruídasconstruídas pelo

peloutilizadorutilizador –

– AcçõesAcçõesdo do SistemaSistema––AcçõesAcções“built“built--in” in” ememdiversasdiversas categorias

categorias

– SubRotinasSubRotinas––Para Para coisascoisasmaismaiscomplexascomplexascomocomoo o registo

(30)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 5959

Estrutura da Apresentação

Estrutura da Apresentação

ƒ

ƒ

Introdução à Plataforma Robótica AIBO

Introdução à Plataforma Robótica AIBO

ƒ

ƒ

Sensores e Actuadores do ERS210A

Sensores e Actuadores do ERS210A

ƒ

ƒ

Mecânica e Limites de Actuação

Mecânica e Limites de Actuação

ƒ

ƒ

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

ƒ

Programação em

Programação em

R

R

-

-

Code

Code

ƒ

ƒ

Programação com o OPEN

Programação com o OPEN

-

-

R SDK

R SDK

ƒ

ƒ

Conclusões

Conclusões

OPEN

OPEN

-

-

R SDK

R SDK

-

-

Introdução

Introdução

ƒ

ƒ OPENOPEN--R:R: –

– Interface standard para robôs de entretenimento da Interface standard para robôs de entretenimento da Sony

Sony

ƒ

ƒ OPENOPEN--R SDK R SDK (OPEN(OPEN--R Software R Software DevelopmentDevelopmentKit)Kit) –

– Ambiente de desenvolvimento baseado no Ambiente de desenvolvimento baseado no gccgcc(C++)(C++)

(31)

31

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 6161

OPEN

OPEN

-

-

R SDK

R SDK

-

-

Introdução

Introdução

ƒ

ƒ

Sistema Operativo (tempo

Sistema Operativo (tempo

-

-

real):

real):

Aperios

Aperios

ƒ

ƒ

Programas escritos em OPEN

Programas escritos em OPEN

-

-

R SDK

R SDK

–www.jp.aibo.com/openrwww.jp.aibo.com/openr

ƒ

ƒ

Memory

Memory

Sticks

Sticks

(gravador ou via

(gravador ou via

wireless

wireless

)

)

ƒ

ƒ

OPEN

OPEN

-

-

R

R

Objects

Objects

:

:

–Executáveis com a extensão .BINExecutáveis com a extensão .BIN –

–Comunicam com outros objectos por Comunicam com outros objectos por mensagens

mensagens

–Semelhantes a processos UNIXSemelhantes a processos UNIX

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 6262

OPEN

OPEN

-

-

R SDK

R SDK

-

-

Documentação

Documentação

ƒ

ƒ Sistema:Sistema: –

– OpenOpen--R SDK R SDK --VersãoVersão1.1.31.1.3 –

– OpenOpen--R SDK R SDK --Upgrade Upgrade VersãoVersão1.1.3 (release 2) 1.1.3 (release 2)

ƒ

ƒ Programas Exemplo:Programas Exemplo: –

– OpenOpen--R SDK R SDK --Sample ProgramsSample Programs((códigocódigoC++) C++)

ƒ

ƒ Documentação:Documentação: –

– OpenOpen--R SDK R SDK --Installation GuideInstallation Guide –

– OpenOpen--R SDK R SDK --Programmer's GuideProgrammer's Guide –

– OpenOpen--R SDK R SDK --Model Information for ERS210Model Information for ERS210 –

– OpenOpen--R SDKR SDK--Level 2 Level 2 --Reference GuideReference Guide –

– penpen--R SDK R SDK --Internet Protocol Internet Protocol --Version 4Version 4 –

(32)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 6363

OPEN

OPEN

-

-

R SDK

R SDK

-

-

Potencialidades

Potencialidades

ƒ

ƒ Movimentar juntas do robô independentementeMovimentar juntas do robô independentemente

ƒ

ƒ Ler os ângulos das juntasLer os ângulos das juntas

ƒ

ƒ Ligar e desligar os Ligar e desligar os ledsleds

ƒ

ƒ Tocar áudio PCMTocar áudio PCM

ƒ

ƒ Ler a imagem da câmaraLer a imagem da câmara

ƒ

ƒ Ler informação áudioLer informação áudio

ƒ

ƒ Ler a data/hora, nível de bateria, Ler a data/hora, nível de bateria, etcetc

ƒ

ƒ Ler informação de todos os sensores do robôLer informação de todos os sensores do robô

ƒ

ƒ Enviar e receber dados via rede Enviar e receber dados via rede WirelessWireless

Conhecimentos Prévios

Conhecimentos Prévios

ƒ

ƒ

Experiência em Programação em C++

Experiência em Programação em C++

ƒ

ƒ

Algoritmos e Estruturas de Dados

Algoritmos e Estruturas de Dados

ƒ

ƒ

Inteligência Artificial e Robótica

Inteligência Artificial e Robótica

ƒ

ƒ

Utilização de ferramentas de

Utilização de ferramentas de

desenvolvimento GNU

desenvolvimento GNU

ƒ

(33)

33

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 6565

Estrutura da Apresentação

Estrutura da Apresentação

ƒ

ƒ

Introdução à Plataforma Robótica AIBO

Introdução à Plataforma Robótica AIBO

ƒ

ƒ

Sensores e Actuadores do ERS210A

Sensores e Actuadores do ERS210A

ƒ

ƒ

Mecânica e Limites de Actuação

Mecânica e Limites de Actuação

ƒ

ƒ

Exemplos e Aplicações

Exemplos e Aplicações

ƒ

ƒ

Programação em

Programação em

R

R

-

-

Code

Code

ƒ

ƒ

Programação com o OPEN

Programação com o OPEN

-

-

R SDK

R SDK

ƒ

ƒ

Conclusões

Conclusões

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 6666

Comparação RCODE /SDK

(34)

LIACC

LIACC--FEUPFEUP Luís Paulo Reis / 2003Luís Paulo Reis / 2003 Slide Nº Slide Nº 6767

Conclusões

Conclusões

ƒ

ƒ

Software da

Software da

Sony

Sony

:

:

AIBOLife

AIBOLife

–Emoções, instintos, aprendizagem, Emoções, instintos, aprendizagem, crescimento, reconhecimento de voz e

crescimento, reconhecimento de voz e

objectos, etc.

objectos, etc.

ƒ

ƒ

Programas simples: R

Programas simples: R

-

-

CODE

CODE

–Obediência a comandos de Voz Obediência a comandos de Voz –

–Danças diversasDanças diversas –

–Interacção simples com BolaInteracção simples com Bola

ƒ

ƒ

Aplicações mais “a sério”: OPEN

Aplicações mais “a sério”: OPEN

-

-

R SDK

R SDK

Imagem

Referências

temas relacionados :