SlideShare a Scribd company logo
1 of 21
Download to read offline
Energia Open Source




                                    Linux UAV: Urubu




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Dissecação do projecto
     Objectivos
           UAV com vôo autónomo
           Controlo remoto, re-planning de missão em vôo, manual, por canal
           Telemetria + glass cockpit


     Requisitos
           AHRS: Attitude and Heading Reference System
           State based actuation: E = D - C
           Quantificador de actuação nas superfícies móveis: PID
           Sensores para construção da estimativa do estado
           Filtros para correcção de leituras dos sensores
           Um simulador ajuda a evitar custos duplicados (FAIL)




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Componentes




                                    Linux




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Flightdirector @ linux: Simulação
     X-Plane (www.x-plane.com)
           Funciona em Linux, Mac, Win
           “Free”


     Not a game
           Usado para R&D pela indústria: Cirrus, Cessna, CarterCopter
           Simulação aerodinâmica com qualidade
           Certificado para treino pela FAA


     Telemetria/Controlo UDP
           Profiling de execução flightdirector
           Avaliação do resultado da actuação
           Estabelecer limites seguros




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Flightdirector @ linux: Método de Simulação


                                              acquisition_sim



                                                   filter_task



                      X-Plane          ahrs                       control



                                     navigation                  mission



                                    actuator_sim                 telemetry




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Groundstation link to Flightdirector




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Full simulation




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Hardware Setup




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Radio RX Hack
     Hardware não suporta geração de sinais de controlo
     Solução: Hack radio receiver




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Análise Sinal Receiver
     Software hack




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Custom Hardware Design




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Custom Hardware Design




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Dificuldades along the way
     PID: AAARRRRRRGGGHHGHH




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Dificuldades along the way
     Extended Kalman Filter v2.0: AAARRRRRRGGGHHGHH




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Linux FlightDirector
     Familiaridade: POSIX, glibc vs HW tied libs (avrlib)
     Dev Tools: arm-gcc
     Intervenção simplificada vs firmware

     Flexibilidade
           Packaging/upgrading trivial: OpenEmbedded / buildroot (uclibc)


     OpenEmbedded: Simple, yet complex (RTFM)
           Pacotes ipk
           Suporta override de configurações (make menuconfig)
           Gera kernel image+ fs tree ou fs image (ro)
           Suporta configs para boot em removable flash (req uboot)
           Suporta > 60 arquitecturas*



terça-feira, 6 de Outubro de 2009
Energia Open Source




     OpenEmbedded Sample Build

     Quick Recipe:
           Checkout source
           Append source path to PATH
           Build ($ bitbake gumstix-basic-image)




     Custom Recipe:
           Edit menuconfig
           Tweak config files (packages, hardware specs)
           build ($ bitbake my-custom-image)




terça-feira, 6 de Outubro de 2009
Energia Open Source




     OpenEmbedded Deployment

     Multiplos ambientes deploy:
           Kernel + fs image on flash
           Kernel on flash, fs on card/ata (w/ hw, fs drivers)
           Intermediate boot: stage 1 kernel on flash, kernel + fs on card, etc



     Colecção razoavelmente grande de software/drivers
           Wired/Wireless networking
           Audio
           GFX, 3D (OpenGL ES)




terça-feira, 6 de Outubro de 2009
Energia Open Source




     OpenEmbedded URUBU (v1)
     Build conf
           MACHINE_FEATURES:flash, mmc, usb, i2c, spi, lcd, wifi, ethernet
           Modules: FEATURE_MATCH, proc/gpio, fat, ext3
           Packages: busybox


     Script boot:
     uboot$ mmcinit
     uboot$ setenv bootargs console=ttyS0,115200n8 rootdelay=1 root=/dev/mmcblk0p2
     uboot$ fatload mmc 0 a2000000 uimage
     uboot$ bootm a2000000


     Install:
     $ bitbake -c gumstix-custom-basix
     $ cd /media/rootfs
     $ sudo tar -zxf $GUMSTIXOE/tmp/deploy/glibc/images/gumstix-custom-basix/Angstrom-gumstix-basic-image-
     glibc-ipk-2007.9-test-20090913-gumstix-custom-basix.rootfs.tar.gz
     $ cd $GUMSTIXOE/tmp/deploy/glibc/images
     $ cp uImage-2.6.21-r1-gumstix-custom-basix.bin /media/KERNEL/uImage




terça-feira, 6 de Outubro de 2009
Energia Open Source




     OpenEmbedded URUBU FS Tree




terça-feira, 6 de Outubro de 2009
Energia Open Source




     Check these out

     Electrónica
           Sparkfun, Analog Devices, ATMEL/Arduino, Gumstix


     DSP
           Kalman Filtering, Runge-Kutta Integration, PID, DCM, Quaternions


     Software
           OpenEmbedded, buildroot.uclibc.org, AVRlib, Arduino IDE




terça-feira, 6 de Outubro de 2009
Energia Open Source




                                    ?


terça-feira, 6 de Outubro de 2009

More Related Content

Viewers also liked

Viewers also liked (10)

Gnu linux3
Gnu linux3Gnu linux3
Gnu linux3
 
Tapajos ebook
Tapajos ebookTapajos ebook
Tapajos ebook
 
Cartilha "Complexo Tapajós"
Cartilha "Complexo Tapajós"Cartilha "Complexo Tapajós"
Cartilha "Complexo Tapajós"
 
Belém do Pará: a cidade do ver-o-peso, do urubu e tacacá
Belém do Pará: a cidade do ver-o-peso, do urubu e tacacáBelém do Pará: a cidade do ver-o-peso, do urubu e tacacá
Belém do Pará: a cidade do ver-o-peso, do urubu e tacacá
 
Cerâmica tapajônica
Cerâmica tapajônicaCerâmica tapajônica
Cerâmica tapajônica
 
Guerras e rebeliões indígenas do século xviii
Guerras e rebeliões indígenas do século xviiiGuerras e rebeliões indígenas do século xviii
Guerras e rebeliões indígenas do século xviii
 
Amazônia indígena nos séculos xvi e xvii
Amazônia indígena nos séculos xvi e xviiAmazônia indígena nos séculos xvi e xvii
Amazônia indígena nos séculos xvi e xvii
 
Amazônia indigena nos séc. xvi e xvii
Amazônia indigena nos séc. xvi e xviiAmazônia indigena nos séc. xvi e xvii
Amazônia indigena nos séc. xvi e xvii
 
TRAÇOS MARAJOARAS E TAPAJONICOS
TRAÇOS MARAJOARAS E TAPAJONICOSTRAÇOS MARAJOARAS E TAPAJONICOS
TRAÇOS MARAJOARAS E TAPAJONICOS
 
Aula de artes indigena
Aula de artes indigenaAula de artes indigena
Aula de artes indigena
 

Similar to Urubu: Linux UAV

Desenvolvendo aplicações Web escaláveis com PHP
Desenvolvendo aplicações Web escaláveis com PHPDesenvolvendo aplicações Web escaláveis com PHP
Desenvolvendo aplicações Web escaláveis com PHPElton Minetto
 
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piImpressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piMarcos Aurelio Barranco
 
Funtoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremoFuntoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremoDaniel
 
Funtoo escla
Funtoo esclaFuntoo escla
Funtoo esclaDaniel
 
Instalação e Configuração do Hipervisor xen pvm
Instalação e Configuração do Hipervisor xen pvmInstalação e Configuração do Hipervisor xen pvm
Instalação e Configuração do Hipervisor xen pvmFernando Pessoa
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2Daniel
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Bloco1 parte4 experiencia_da_ufal
Bloco1 parte4 experiencia_da_ufalBloco1 parte4 experiencia_da_ufal
Bloco1 parte4 experiencia_da_ufalDafmet Ufpel
 
GSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestGSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestVictor Hugo Bilouro
 
Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Meetup Laravel #12)Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Meetup Laravel #12)Wellington Silva
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Jeronimo Zucco
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon Web Services LATAM
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoFabio Telles Rodriguez
 
Construindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e DockerConstruindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e DockerWellington Marinho
 
Gerência de redes utilizando o cacti
Gerência de redes utilizando o cactiGerência de redes utilizando o cacti
Gerência de redes utilizando o cactiIsraelCunha
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Fernando Passold
 

Similar to Urubu: Linux UAV (20)

Desenvolvendo aplicações Web escaláveis com PHP
Desenvolvendo aplicações Web escaláveis com PHPDesenvolvendo aplicações Web escaláveis com PHP
Desenvolvendo aplicações Web escaláveis com PHP
 
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piImpressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
 
Funtoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremoFuntoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremo
 
Funtoo escla
Funtoo esclaFuntoo escla
Funtoo escla
 
Instalação e Configuração do Hipervisor xen pvm
Instalação e Configuração do Hipervisor xen pvmInstalação e Configuração do Hipervisor xen pvm
Instalação e Configuração do Hipervisor xen pvm
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2
 
Tutorial: Instalação de Ubuntu em uma Gumstix Overo
Tutorial: Instalação de Ubuntu em uma Gumstix OveroTutorial: Instalação de Ubuntu em uma Gumstix Overo
Tutorial: Instalação de Ubuntu em uma Gumstix Overo
 
Minicurso GNU/Linux
Minicurso GNU/LinuxMinicurso GNU/Linux
Minicurso GNU/Linux
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Criando sua própria nuvem com Raspberry Pi
Criando sua própria nuvem com Raspberry PiCriando sua própria nuvem com Raspberry Pi
Criando sua própria nuvem com Raspberry Pi
 
Bloco1 parte4 experiencia_da_ufal
Bloco1 parte4 experiencia_da_ufalBloco1 parte4 experiencia_da_ufal
Bloco1 parte4 experiencia_da_ufal
 
Mini-curso CUDA
Mini-curso CUDAMini-curso CUDA
Mini-curso CUDA
 
GSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestGSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression Test
 
Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Meetup Laravel #12)Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Meetup Laravel #12)
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenho
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Construindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e DockerConstruindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e Docker
 
Gerência de redes utilizando o cacti
Gerência de redes utilizando o cactiGerência de redes utilizando o cacti
Gerência de redes utilizando o cacti
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
 

Urubu: Linux UAV

  • 1. Energia Open Source Linux UAV: Urubu terça-feira, 6 de Outubro de 2009
  • 2. Energia Open Source Dissecação do projecto Objectivos UAV com vôo autónomo Controlo remoto, re-planning de missão em vôo, manual, por canal Telemetria + glass cockpit Requisitos AHRS: Attitude and Heading Reference System State based actuation: E = D - C Quantificador de actuação nas superfícies móveis: PID Sensores para construção da estimativa do estado Filtros para correcção de leituras dos sensores Um simulador ajuda a evitar custos duplicados (FAIL) terça-feira, 6 de Outubro de 2009
  • 3. Energia Open Source Componentes Linux terça-feira, 6 de Outubro de 2009
  • 4. Energia Open Source Flightdirector @ linux: Simulação X-Plane (www.x-plane.com) Funciona em Linux, Mac, Win “Free” Not a game Usado para R&D pela indústria: Cirrus, Cessna, CarterCopter Simulação aerodinâmica com qualidade Certificado para treino pela FAA Telemetria/Controlo UDP Profiling de execução flightdirector Avaliação do resultado da actuação Estabelecer limites seguros terça-feira, 6 de Outubro de 2009
  • 5. Energia Open Source Flightdirector @ linux: Método de Simulação acquisition_sim filter_task X-Plane ahrs control navigation mission actuator_sim telemetry terça-feira, 6 de Outubro de 2009
  • 6. Energia Open Source Groundstation link to Flightdirector terça-feira, 6 de Outubro de 2009
  • 7. Energia Open Source Full simulation terça-feira, 6 de Outubro de 2009
  • 8. Energia Open Source Hardware Setup terça-feira, 6 de Outubro de 2009
  • 9. Energia Open Source Radio RX Hack Hardware não suporta geração de sinais de controlo Solução: Hack radio receiver terça-feira, 6 de Outubro de 2009
  • 10. Energia Open Source Análise Sinal Receiver Software hack terça-feira, 6 de Outubro de 2009
  • 11. Energia Open Source Custom Hardware Design terça-feira, 6 de Outubro de 2009
  • 12. Energia Open Source Custom Hardware Design terça-feira, 6 de Outubro de 2009
  • 13. Energia Open Source Dificuldades along the way PID: AAARRRRRRGGGHHGHH terça-feira, 6 de Outubro de 2009
  • 14. Energia Open Source Dificuldades along the way Extended Kalman Filter v2.0: AAARRRRRRGGGHHGHH terça-feira, 6 de Outubro de 2009
  • 15. Energia Open Source Linux FlightDirector Familiaridade: POSIX, glibc vs HW tied libs (avrlib) Dev Tools: arm-gcc Intervenção simplificada vs firmware Flexibilidade Packaging/upgrading trivial: OpenEmbedded / buildroot (uclibc) OpenEmbedded: Simple, yet complex (RTFM) Pacotes ipk Suporta override de configurações (make menuconfig) Gera kernel image+ fs tree ou fs image (ro) Suporta configs para boot em removable flash (req uboot) Suporta > 60 arquitecturas* terça-feira, 6 de Outubro de 2009
  • 16. Energia Open Source OpenEmbedded Sample Build Quick Recipe: Checkout source Append source path to PATH Build ($ bitbake gumstix-basic-image) Custom Recipe: Edit menuconfig Tweak config files (packages, hardware specs) build ($ bitbake my-custom-image) terça-feira, 6 de Outubro de 2009
  • 17. Energia Open Source OpenEmbedded Deployment Multiplos ambientes deploy: Kernel + fs image on flash Kernel on flash, fs on card/ata (w/ hw, fs drivers) Intermediate boot: stage 1 kernel on flash, kernel + fs on card, etc Colecção razoavelmente grande de software/drivers Wired/Wireless networking Audio GFX, 3D (OpenGL ES) terça-feira, 6 de Outubro de 2009
  • 18. Energia Open Source OpenEmbedded URUBU (v1) Build conf MACHINE_FEATURES:flash, mmc, usb, i2c, spi, lcd, wifi, ethernet Modules: FEATURE_MATCH, proc/gpio, fat, ext3 Packages: busybox Script boot: uboot$ mmcinit uboot$ setenv bootargs console=ttyS0,115200n8 rootdelay=1 root=/dev/mmcblk0p2 uboot$ fatload mmc 0 a2000000 uimage uboot$ bootm a2000000 Install: $ bitbake -c gumstix-custom-basix $ cd /media/rootfs $ sudo tar -zxf $GUMSTIXOE/tmp/deploy/glibc/images/gumstix-custom-basix/Angstrom-gumstix-basic-image- glibc-ipk-2007.9-test-20090913-gumstix-custom-basix.rootfs.tar.gz $ cd $GUMSTIXOE/tmp/deploy/glibc/images $ cp uImage-2.6.21-r1-gumstix-custom-basix.bin /media/KERNEL/uImage terça-feira, 6 de Outubro de 2009
  • 19. Energia Open Source OpenEmbedded URUBU FS Tree terça-feira, 6 de Outubro de 2009
  • 20. Energia Open Source Check these out Electrónica Sparkfun, Analog Devices, ATMEL/Arduino, Gumstix DSP Kalman Filtering, Runge-Kutta Integration, PID, DCM, Quaternions Software OpenEmbedded, buildroot.uclibc.org, AVRlib, Arduino IDE terça-feira, 6 de Outubro de 2009
  • 21. Energia Open Source ? terça-feira, 6 de Outubro de 2009