tcc - sistema autônomo de navegação com kinect e arduino

Download tcc - sistema autônomo de navegação com kinect e arduino

Post on 02-Jan-2016

126 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • UNIVERSIDADE PAULISTA UNIP

    I.C.E.T INSTITUTO DE CINCIAS EXATAS E ENGENHARIA

    GRADUAO EM ENGENHARIA DA COMPUTAO

    DANILO ARAUJO LUIZ

    SISTEMA AUTNOMO DE NAVEGAO COM KINECT E ARDUINO

    SO PAULO

    2011

  • Danilo Araujo Luiz

    SISTEMA AUTNOMO DE NAVEGAO COM KINECT E ARDUINO

    Trabalho de Concluso de Curso para

    obteno do ttulo de Graduao em

    Engenharia de Computao apresentado

    Universidade Paulista UNIP.

    Orientador: Prof. Dr. Orlando Del Bianco Filho

    So Paulo

    2011

  • Luiz, Danilo Araujo. Sistema autnomo de navegao com Kinect e Arduino. / Danilo Araujo Luiz. - So Paulo, 2011. 59f. : il. color.

    Trabalho de concluso de curso (graduao), apresentado ao

    Instituto de Cincias Exatas e Tecnologia da Universidade Paulista, So Paulo, 2011.

    rea de concentrao: Inteligncia Artificial.

    Orientao: Prof. Dr. Orlando Del Bianco Filho.

    1. Driverless car. 2. Lgica Fuzzy. I. Ttulo.

  • Danilo Araujo Luiz

    SISTEMA AUTNOMO DE NAVEGAO COM KINECT E ARDUINO

    Trabalho de Concluso de Curso para

    obteno do ttulo de Graduao em

    Engenharia de Computao apresentado

    Universidade Paulista UNIP.

    Aprovado em:

    BANCA EXAMINADORA

    ________________________________________________ ___ /___/___

    Professor Orientador Dr. Orlando Del Bianco Filho

    ________________________________________________ ___ /___/___

    Professor Coordenador Dr. Francisco Correa

    ________________________________________________ ___ /___/___

    Professor Ricardo Bacci

  • DEDICATRIA

    Dedico este trabalho aos meus pais, minha namorada, aos meus amigos e

    todos aqueles que buscam meios de melhorar o mundo em que vivemos.

  • AGRADECIMENTOS

    Em primeiro lugar agradeo aos meus pais Edinei Luiz e Maria Aparecida

    Araujo Luiz que sempre me incentivaram a estudar para conseguir obter o que

    desejar na vida.

    Em segundo lugar agradeo minha namorada Flavia Sousa da Silva que me

    ajudou e incentivou em todos os momentos.

    Tambm houve alguns amigos que deram apoio idia do projeto, tais como

    Andrews Regis da Penha Alves, Sandeep Kumtakar e Thiago Marcel Lima.

    Devo tambm agradecer a todos os professores que tive contato durante

    todos esses 5 anos cursando Engenharia. Sobretudo os professores do curso

    especfico de Engenharia de Computao: Flvio Mendona, Jos Augusto Pinheiro

    Christino, Orlando Del Bianco Filho, Orlando Onofre Junior, Ricardo Bacci e ao

    nosso professor Coordenador Francisco Correa.

  • Parte da ausncia de

    humanidade do computador deve-se a

    que, competentemente programado e

    trabalhando bem, completamente

    honesto.

    (Isaac Asimov)

  • RESUMO

    Aps o lanamento da tecnologia do Kinect da Microsoft surgiram diversas

    iniciativas de uso alternativo, uma vez que o mesmo foi projetado para jogos. Essas

    deram idias para projetos que envolviam processamento de imagem em tempo

    real.

    Uma dessas idias foi a construo de um sistema autnomo de

    navegao utilizando o Kinect pela University of Bundeswehr Munich no projeto:

    Kinect-Enabled Autonomous Mini-car Navigation, algo que a Google Inc. j vinha

    trabalhando, porm em grande escala e com outra tecnologia, que tambm tinha o

    mesmo princpio de construir um sistema que permitisse a movimentao de um

    carro sem motorista.

    Todos esses projetos utilizavam softwares no oficiais da Microsoft para

    programao, eram os chamados Kinect Hacks. A partir de 16 de junho de 2011 o

    pacote de desenvolvimento do Kinect para Windows foi oficialmente lanada pela

    Microsoft.

    Este projeto teve como objetivo criao de um prottipo de um carro capaz

    de desviar-se de obstculos. Diferente da maioria dos projetos existentes utilizou-se

    do sensor de profundidade do Kinect invs de sonares.

    Alm do pacote de desenvolvimento do Kinect para Windows, tambm se

    utilizou de uma plataforma de hardware livre: o Arduino, que atuou diretamente nos

    circuitos eltricos.

    Palavras chave: driverless car, lgica fuzzy, Kinect, Arduino,

  • ABSTRACT

    After the launching of Kinect technology from Microsoft Corporation a lot of

    initiatives of alternative use has appeared, once the device was designed for game

    using. Those initiatives have inspired who wanted to work with real-time image

    processing projects.

    One of those ideas was the designing of a autonomous navigation system

    using Kinect by the University of Bundeswehr Munich with the project: Kinect-

    Enabled Autonomous Mini-car Navigation, something that Google Inc. have been

    working in a large scale and using another technology, both have the same principle

    to design a driverless car system.

    All of the projects which were using non-official software from Microsoft to

    programming were called as Kinect Hacks. From June 16th 2011 the official Kinect

    software development kit for Windows was launched by Microsoft.

    The purpose of this Project was to create a car prototype with an obstacle

    avoidance system. Most of the project of this nature is built using sonars, this project

    uses the Kinect depth sensor to detect obstacles.

    Beyond the Kinect for Windows SDK, the open-source single-board

    microcontroller: the Arduino that was acting directly to electrical circuits.

    Keywords: driverless car, fuzzy logic, Kinect, Arduino,

  • SUMRIO

    1. Introduo ................................................................................................ 9

    2. Referencial terico ................................................................................. 14

    2.1 Relao Interdisciplinar ...................................................................... 14

    2.2 Kinect ................................................................................................. 15

    2.3 Arduino ............................................................................................... 16

    3. Metodologia ........................................................................................... 17

    4. Projeto ................................................................................................... 18

    4.1 Fase I Programando com o Kinect .................................................. 18

    4.2 Fase II Programando com o Arduino ............................................... 18

    4.3 Fase III Integrando a programao ao carro rdio-controlado ........ 19

    4.4 Fase IV Ajustes de cdigos e de circuitos ....................................... 22

    5. Consideraes finais ............................................................................. 24

    Referncias......................................................................................................23

    Anexos.............................................................................................................32

  • 1. INTRODUO

    Desde os tempos primrdios da civilizao humana, o homem tem

    desenvolvido ferramentas para facilitar a vida. Grande parte deste conhecimento

    adquirido foi perdido atravs das guerras e durante a poca da Idade Mdia. No

    entanto, a partir do sculo XVIII com a Revoluo Industrial e as novas descobertas

    no campo da energia eltrica, voltamos a progredir tecnologicamente em uma

    velocidade maior. No final do sculo XIX surgiram primeiros os automveis e em

    seguida no incio do sculo XX, os primeiros avies. Depois tivemos duas grandes

    Guerras Mundiais, onde a tecnologia deu mais um significativo passo com a

    introduo dos computadores para clculos balsticos e popularizao dos diversos

    meios de transporte.

    A partir da segunda metade do sculo XX houve grandes avanos na

    computao. Tivemos a miniaturizao dos componentes eletrnicos o que

    possibilitou a criao dos circuitos integrados, que por sua vez possibilitaram o

    surgimento dos computadores pessoais. Inclusive podemos considerar a criao e a

    evoluo dos videogames como algo importante para a realizao deste projeto, que

    tambm foram possveis devido ao surgimento destes mesmos circuitos integrados.

    Com a popularizao do computador pessoal, da internet e dos dispositivos

    eletrnicos como celular, GPS, tocadores de udio, etc, houve duas tendncias que

    inspiraram elaborao deste projeto: estudos em robtica e inteligncia artificial, e

    tambm a infeliz quantidade de acidentes de trnsito.

    Estudos em Robtica e Inteligncia Artificial

    Enquanto a Robtica constitui-se de estudos de sistemas mecnico-eltricos,

    a rea de Inteligncia Artificial visa criar sistemas capazes de realizar decises.

    comum que sejam trabalhadas em conjunto, principalmente pela necessidade de

    algoritmos e linguagens de programao atuando em sistemas eltricos, o que

    ocorre, por exemplo, nos computadores.

    Atualmente grande parte do desenvolvimento de robs tem como fim o uso

    militar. Inclusive dados do incio de 2011, mostraram que h mais de 2000 robs no

    Afeganisto auxiliando os soldados estadounidenses.

  • Existem diversos outros usos da Inteligncia Artificial, como controlar trens e

    metrs, a exemplo da linha 4 Amarela do Metr/ViaQuatro de So Paulo. Tambm

    vemos este tipo de uso de Inteligncia Artificial em lanamento de msseis e naves

    espaciais.

    Do avano da tecnologia aos seus malefcios

    Apesar de todos