jogos, computação e robótica

55
Jogos, Computação e Robôs 1

Upload: kleber-de-oliveira-andrade

Post on 21-Jul-2015

221 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Jogos, Computação e Robótica

Jogos, Computação e Robôs

1

Page 2: Jogos, Computação e Robótica

Kleber de Oliveira Andrade

• Doutorando em Engenharia Mecânica (EESC/USP)• Mestrado em Engenharia Mecânica (EESC/USP)• Bacharel em Ciência da Computação (EEP)• Mecânico de Usinagem (SENAI)• Jogador desde os 3 anos de idade

Áreas de Interesses• Programação de Jogos• Inteligência Artificial• Robótica

2

Page 3: Jogos, Computação e Robótica

Trabalho de Conclusão de Curso (TCC)Um Algoritmo Evolutivo para Adaptação das Estratégias dos NPCs em um Jogo de Ação

Geração da população

aleatoriamente

Testes dos indivíduos no

ambiente

Seleção do indivíduo mais bem adaptado

Aplicação dos operadores genéticos

Geração da nova

população

3

Page 4: Jogos, Computação e Robótica

Dissertação de MestradoSistema Neural Reativo para o Estacionamento Paralelo com uma única Manobra em Veículos de Passeio

4

Page 5: Jogos, Computação e Robótica

Alguns Projetos ...

• Simuladores

• Serious Games

• Jogos mobile

5

Page 6: Jogos, Computação e Robótica

O que são Jogos?

Jogos

Eletrônicos

Ambiente de Simulação

Regras

Objetivo

Motivação

Imersão

O filósofo HUIZINGA (1938) em sua obra Homo Ludens, definiu jogo como:

“Uma atividade voluntária exercida dentro de certos e determinados limites de tempo eespaço, segundo regras livremente consentidas, mas absolutamente obrigatórias, dotado deum fim em si mesmo, acompanhado de um sentimento de tensão e alegria e de umaconsciência de ser diferente de vida cotidiana. “

6

Page 7: Jogos, Computação e Robótica

Histórico - De onde viemos?

1958: “Tennis for Two” jogo quefuncionava em um osciloscópio(Willy Higinbotham)

1961: “Space Wars” jogodesenvolvido no computadorPDP-1 por Steve Russel, o jogotinha 2Kb

7

Page 8: Jogos, Computação e Robótica

... Como foi evoluindo?

1979: Asteroids

Donkey Kong (1984)

Wolf 3D (1992)

Década de 70 é considerada uma Odisséia Comercial,muitos jogos foram desenvolvidos.

Depois do Crash da Indústria em1983/84, surgiu uma revolução nosjogos

A década de 90, muitosconsoles foram lançados eem 1992 uma nova evoluçãocom os jogos FPS.

8

Page 9: Jogos, Computação e Robótica

... Onde estamos ?

The Sims 4 (2014)

Assassin's Creed Unity (2014)

Qualidade gráfica evidência aevolução no desenvolvimento dejogos, assim como sua InteligênciaArtificial.

Jogos que envolvem centenas deprofissionais das mais diversasáreas, e altos orçamentos.

9

Page 10: Jogos, Computação e Robótica

... Como os joysticks evoluíram?

http://play.bloodedbythought.org/index.php?title=Joystick

10

Page 11: Jogos, Computação e Robótica

... Para onde estamos caminhando?

11

Page 12: Jogos, Computação e Robótica

Desenvolvimento de Jogos

12

Page 13: Jogos, Computação e Robótica

Ideias e Rascunhos

• Ideias• Sonhos e brainstorm

• Grandes ideias pode parecer ridículas no começo

• Rascunho so Jogo• Personagens, fases, itens, fluxo de tela

• Facilita o projeto

13

Page 14: Jogos, Computação e Robótica

Game Design Document (GDD)

GDD

Personagens

Interface

Músicas

CenáriosRegras

Lógica

História

14

Page 15: Jogos, Computação e Robótica

ConteúdoProdução de Arte 2D

Pixel Art (Spritesheet)

Fotografias 3D Pré-redenrizado

UI (User Interface)Tile / Tilemap / Layer

15

Page 16: Jogos, Computação e Robótica

ConteúdoProdução de Arte 3D (Sketch)

16

Page 17: Jogos, Computação e Robótica

ConteúdoProdução de Arte 3D (Modelagem)

17

Page 18: Jogos, Computação e Robótica

ConteúdoProdução de Arte 3D (Texturização)

18

Page 19: Jogos, Computação e Robótica

ConteúdoProdução de Arte 3D (Animação)

FRAMES DAS

ANIMAÇÕES

000-050: idle

051-090: running

091-116: falling

122-137: dizzy

138-170: sad

171-206: happy

19

Page 20: Jogos, Computação e Robótica

Integração (arte e computação)Linguagens, APIs, Frameworks, Engines

20

Page 21: Jogos, Computação e Robótica

Publicação

21

Page 22: Jogos, Computação e Robótica

Disciplinas / Equipe

• Programação• Estrutura de dados• Inteligência Artificial (IA)

• Engenharia de Software

• Computação Gráfica

• Música

• Matemática

• Física

• Interação Humano-Computador

• Educação e Psicologia

• Outros...

Gerente de projeto (Project Manager)

Arquiteto chefe (Lead Architect)

Projetistas de jogos (Game Design)

Planejador de software (Software Planner)

Projetistas de níveis/fases

Artistas gráficos

Programadores

Músicos e sonoplastas

Testadores

22

Page 23: Jogos, Computação e Robótica

Eventos (SBGames)

23

Page 24: Jogos, Computação e Robótica

Eventos (Global Game Jam)

24

Page 25: Jogos, Computação e Robótica

Outros eventos

25

Page 26: Jogos, Computação e Robótica

Campus Party

26

Page 27: Jogos, Computação e Robótica

Maratona de Programaçãohttp://acm.uva.es http://maratona.ime.usp.br/https://www.codeeval.com/http://olimpiada.ic.unicamp.br/

O que devo estuda?

Estrutura de Dados

Geometria e Álgebra

Strings

Ordenação e Pesquisa

Grafos e Busca

27

Page 28: Jogos, Computação e Robótica

Desafio SEBRAE

28

Page 29: Jogos, Computação e Robótica

Robô?

• Origem da palavra Robô• O termo robot (robô) foi utilizado pela primeira vez pelo escritor Karel Capek,

em 1920, quando escreveu uma história com o nome “Rossum’s Universal Robots”. Em tcheco a palavra robota tem o significado de “trabalho escravo”.

• Dicionário• 1. Aparelho mecânico que imita os movimentos humanos. • 2. Fig. Pessoa sem vontade própria, geralmente sobre o comando de outrem.

• Wikipedia• Um robô (ou robot) é um dispositivo, ou grupo de dispositivos,

eletromecânicos ou biomecânicos capazes de realizar trabalhos de maneira autônoma, pré-programada, ou através de controle humano.

29

Page 30: Jogos, Computação e Robótica

Mito sobre os robôs

“Robôs irão roubar o seu emprego!”

• Agumento contrário: o corpo humano não foi feito para suportar atividades repetitivas, ou que requerem concentração continuada por várias horas. O melhor lugar do homem é na tomada de decisões e supervisão.

30

Page 31: Jogos, Computação e Robótica

Robótica (Ficção)https://youtu.be/ABzjUf3E_0c

31

Page 32: Jogos, Computação e Robótica

Sistemas Robóticos (Realidade)

Honda (2011) Sahin e Guvenc (2007) Sony (2011)

iRobot (2011) Krebs et al. (2008) NÃO (2011)

32

Page 33: Jogos, Computação e Robótica

Linha do tempo da Robótica

• Fases da pesquisa em robótica

• Até os anos 80 (Promessas): em vinte anos, robôs móveis poderão realizar qualquertipo de tarefa de forma segura, comunicar com os humanos e “protegê-los”.

• Anos 90 (Muito trabalho e desilusão): Grandes desenvolvimento na área da robóticamóvel, com resultados experimentais tanto motivadores como frustrantes. Expansãodas modalidades de robôs.

• 2000 à atual (Amadurecimento): Mudança de foco, com reforço das seguintesqualidades; assistência, colaboração, tele-operação e entretenimento (Robôs deserviços).

33

Page 34: Jogos, Computação e Robótica

Vídeos Apresentados

• WINTRA: https://www.youtube.com/watch?v=geRVtBy_MFA

• Swarm of Nano Quadrotors: https://www.youtube.com/watch?v=YQIMGV5vtd4

• Modular Prosthetic Limb: https://www.youtube.com/watch?v=9NOncx2jU0Q

• Festo BionicKangaroo: https://www.youtube.com/watch?v=mWiNlWk1Muw

• Ping Pong: https://www.youtube.com/watch?v=imVNg9j7rvU

• Micromouse Robot: https://www.youtube.com/watch?v=nO2zqGwzsj0

• Top 10 RoboCore: https://www.youtube.com/watch?v=UUbdSjEvsdw

• NASA & IHMC Robotic – Exoskeleton: https://www.youtube.com/watch?v=gDJp8s70Jw4

• MIT Robotic Cheetah: https://www.youtube.com/watch?v=XMKQbqnXXhQ

• DARPA Grand Challenge: https://www.youtube.com/watch?v=uWLjgs2CEyE

• CubeStormer II: https://www.youtube.com/watch?v=_d0LfkIut2M

• Quadrocopter Ball Juggling: https://www.youtube.com/watch?v=3CR5y8qZf0Y

• Self-replicating blocks: https://www.youtube.com/watch?v=gZwTcLeelAY

• See Robot Dog: https://www.youtube.com/watch?v=NtU9p1VYtcQ

• Impedance Control: https://www.youtube.com/watch?v=WS1gSRcJbJQ

• Smart Trashbox: https://www.youtube.com/watch?v=NqDTE6dHpJw

34

Page 35: Jogos, Computação e Robótica

Eventos em Robóticahttp://www.robocup.org/http://www.obr.org.br/http://www.challenge.toradex.com/

35

Page 36: Jogos, Computação e Robótica

O que são Robôs de Serviços?

• Robôs de Serviços• Robôs de serviço são equipamentos que operam de forma semi ou totalmente

autônoma realizando serviços úteis ao bem-estar dos seres humanos.

• Areas de aplicação (exemplos)• Robôs de domético (limpeza de casa, jardim, piscina, etc.)• Robôs de inspeção de cabos, dutos, etc.• Robôs médicos (assistentes de cirurgias, etc.)• Robôs assistivos (para auxiliar pessoas)• Robôs para entretenimento

• E a reabilitação?

36

Page 37: Jogos, Computação e Robótica

Reabilitação Robótica?

• Reabilitação• É a área médica que tem por objetivo principal restaurar as funções dos

pacientes, o máximo possível (Dikke Van Dalle).

• Reabilitação Robótica• São robôs de serviços que operam de forma semi ou totalmente autônoma

prestando serviços úteis ao bem-estar dos seres humanos com deficiências (R.q. Van der Linde, 2003).

37

Page 38: Jogos, Computação e Robótica

Por que Reabilitação Robótica?

• Nós temos uma necessidade crescente de tratamento• Pessoas mais idosas• Cada vez mais doentes

• Reabilitação Robótica pode ser eficaz• Motivador• Preciso• Objetivo• Adaptativo

• Reabilitação Robótica também permite atendimento domiciliar

38

Page 39: Jogos, Computação e Robótica

Robôs para reabilitação

Em 2010, o uso de terapia assistida por robôs aplicada na redução dos danos causados por AVCs nas extremidades superiores foi recomendado pela American Heart Association (AHA). A abordagem recebeu a mais alta classificação (Nível

A), tanto para pacientes ambulatoriais como hospitalizados, respectivamente, Classe I e II.

MIT Manus6 DOF

Controle de Impedância

Gentle4 DOF

Controle de Admitancia

Lokomat

Controle de Posição

Rutgers Ankle3 DOF

39

Page 40: Jogos, Computação e Robótica

Tipos de controle de movimentos

• Controle de posição

• Controle de força

Controle de posição

• Impedância

• Admitância

• Intrinseco

Controle de posição/força

• Forçado

• BalisticoPeriódico

A

B

A

B

A = B

40

Page 41: Jogos, Computação e Robótica

Interação Humano-Robô Segura

41

Page 42: Jogos, Computação e Robótica

Pong (XNA)

ANDRADE, K. O. ; ITO, GISELE G. ; JOAQUIM, RICARDO C. ; JARDIM, BRUNO ; SIQUEIRA, ADRIANO A.G. ; CAURIN, GLAUCO A.P. ; BECKER, MARCELO . A ROBOTIC SYSTEM FOR REHABILITATION OF DISTAL RADIUS FRACTURE USING GAMES (BEST PAPER). In: 2010 Brazilian Symposium on Games and Digital Entertainment (SBGAMES), 2010, Florianpolis. 2010 Brazilian Symposium on Games and Digital Entertainment. p. 30-37.

ANDRADE, K. O. ; JARDIM, B. ; JOAQUIM, R. C. ; ITO, G. G. ; SIQUEIRA, A. A. G. ; CAURIN, G. A. P. ; AMARAL, L. M. S. . A GAME-BASED FRAMEWORK FOR ROBOTIC REHABILITATION. In: 14th International Symposium on Dynamic Problems of Mechanics - DINAME, 2010, São Sebastião. Anais do DINAME 2011, 2010. p. 1-10.

42

Page 43: Jogos, Computação e Robótica

Pong Adaptativo (RNA)

350370390410430450470490510530550

1 2 3 4 5 6 7 8 9 10

Ball

Spee

d (P

ixel

/s)

Game Session Sequence Number

Experimental Results - 5 Subjects

Sub#4

Sub#5

Sub#3

Sub#2

Sub#1

CAURIN, G. A. P. ; SIQUEIRA, A. A. G. ; ANDRADE, K. O. ; JOAQUIM, R. C. ; KREBS, H. I. . ADAPTIVE STRATEGY FOR MULTI-USER ROBOTIC REHABILITATION GAMES. In: 2011 33rd Annual International Conference of the IEEE Engineering in Medicine and Biology Society, 2011, Boston. 2011 Annual International Conference of the IEEE Engineering in Medicine and Biology Society. v. 1. p. 1395-1398.

43

Page 44: Jogos, Computação e Robótica

Diversos (XNA) – Alunos de IC/TCC

ANDRADE, K. O. ; OLIVEIRA, F. L. ; VIEIRA, L. C. ; JARDIM, B. ; SIQUEIRA, A. A. G. ; SANTOS, F. R. P. . DEVELOPMENT OF SERIOUS GAMES FOR ROBOTIC REHABILITATION OF ANKLE MOVEMENTS. In: 21st International Congress of Mechanical Engineerig, 2011, Natal - RN. 21st International Congress of Mechanical Engineerig - COMBEM 2011, 2011. v. 1. p. 1-10.

CONSONI, L. J. ; SANTORO, F. G. ; Siqueira, A. A. G. ; ANDRADE K.O. ; JOAQUIM, R. C. ; CAURIN, G. A. P. . A COMPUTATIONAL GAME FOR ROBOTIC REHABILITATION AND MOTOR LEARNING STUDIES. In: 5th Workshop on Applied Robotics and Automation RoboControl 2012, 2012, Bauru-SP. 5th Workshop on Applied Robotics and Automation - RoboControl2012, 2012.

44

Page 45: Jogos, Computação e Robótica

Downhill Race We Go!

Game Client

Receiver

Dispatcher

Motor Controllers

Monitor

Server

Dispatcher

Receiver

MC 1

MC 2

ANDRADE, K. O. ; MARTINS, JOSE ; CAURIN, GLAUCO A. P. ; JOAQUIM, RICARDO C. ; FERNANDES, GUILHERME . RELATIVE PERFORMANCE ANALYSIS FOR ROBOT REHABILITATION PROCEDURE WITH TWO SIMULTANEOUS USERS. In: Biomedical Robotics and Biomechatronics(BioRob), 2012 4th IEEE RAS & EMBS International Conference on 2012. p. 1530-1534.

45

Page 46: Jogos, Computação e Robótica

Roll the Ball

ANDRADE, K. O. ; FERNANDES, GUILHERME ; MARTINS, JOSE ; ROMA, VIVIANE C. ; JOAQUIM, RICARDO C. ; CAURIN, GLAUCO A. P. . REHABILITATION ROBOTICS AND SERIOUS GAMES: AN INITIAL ARCHITECTURE FOR SIMULTANEOUS PLAYERS. In: 2013 ISSNIP Biosignals and Biorobotics Conference: Biosignals and Roboticsfor Better and Safer Living (BRC), 2013, Rio de Janerio. 2013 ISSNIP Biosignals and Biorobotics Conference: Biosignals and Robotics for Better and Safer Living (BRC). p. 1.

PIRES, F.A.; SANTOS, W.M.; DE O ANDRADE, K.; CAURIN, G.A.P.; SIQUEIRA, A.A.G., ROBOTIC PLATFORM FOR TELEREHABILITATION STUDIES BASED ON UNITY GAME ENGINE," Serious Games and Applications for Health (SeGAH), 2014 IEEE 3rd International Conference on , vol., no., pp.1,6, 14-16 May 2014

PLAYER 1

PLAYER 2

46

Page 47: Jogos, Computação e Robótica

Modelagem Dinâmica de Jogador

ANDRADE, K.D.O.; FERNANDES, G.; CAURIN, G.A.P.; SIQUEIRA, A.A.G.; ROMERO, R.A.F.; DE PEREIRA, R.L., DYNAMIC PLAYER MODELLING IN SERIOUS GAMES APPLIED TO REHABILITATION ROBOTICS (BEST PAPAER), Robotics: SBR-LARS Robotics Symposium and Robocontrol (SBR LARS Robocontrol), 2014 Joint Conference on , vol., no., pp.211,216, 18-23 Oct. 2014 doi: 10.1109/SBR.LARS.Robocontrol.2014.41

47

Page 48: Jogos, Computação e Robótica

Estrutura do Sistema

Teoria de Fluxo criada por Csikszentmihalyi (1970)

48

Page 49: Jogos, Computação e Robótica

Estrutura (Robô Jogo)

49

Page 50: Jogos, Computação e Robótica

Estrutura (Jogo Banco de Dados)

MORETTI, C. B. ; ANDRADE, K. O. ; CAURIN, G. A. P. . PHYSIOTHERAPY SUPPORT WEB-BASED SYSTEM FOR REHABILITATION ROBOTICS: AN INITIAL ARCHITECTURE. In: 22nd International Congress of Mechanical Engineering (COBEM 2013), 2013, Ribeirão Preto - SP. 22nd International Congress of Mechanical Engineering (COBEM 2013), 2013. p. 1171-1180.

50

Page 51: Jogos, Computação e Robótica

Robô de Punho – Versão 1

51

Page 52: Jogos, Computação e Robótica

Robô de Punho – Versão 2

52

Page 53: Jogos, Computação e Robótica

Dicas Finais

• Programar exige treino (C, C++, C#, Java, Python, etc...)

• Codificar de forma limpa (Clean Code)

• Use padrões de projetos (Design Patterns)

• Projetar o sistema antes de codificar (UML)

• Realize testes no código

• Versionar códigos (git, mercurial, svn)

• Estudem matemática (usem matlab, scilab, mathematic, etc)

• Estudem sistemas embarcados (arduino, raspiberry pi, lego mindstorm, ...)

• Estudem interação homem-máquina (usabilidade)

53

Page 54: Jogos, Computação e Robótica

54

Page 55: Jogos, Computação e Robótica

Obrigado !Kleber de Oliveira Andrade

[email protected]

Ao infinito e além!

55