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
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
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