Bebop
Intro
Originally the Bebop from Parrot is an Wifi controlled flying quadrotor and is designed to be controlled with an Android or iOS device. Not any more: With a few simple clicks you can run Paparazzi on the Bebop and have full autonomous flight and much more!
Features
Connectivity
- Wi-Fi antennas: MIMO dual-band with 2 double-set of dipole antennas for 2.4 and 5 GHz
- Sending power: Up to 26 dBm
- Signal range: N/A
Structure
- 4 Brushless Outrunner motors
- Glass fiber reinforced (15%) ABS structure
- High-resistance EPP outdoor hull: Clip and unclip easily to adapt to indoor and outdoor flight, protects the propellers against potential bumps, can be removed to reduce wind factor
- Three-blade auto-block propellers in Polycarbonate with fast disassembly system
- Anti-vibration bumpers
Camera
- Camera with "Fisheye" lens 180° 1/2,3": 6 optical elements and 14 Mega pixels sensor
- Video stabilization: Digital on 3-axes
- Video definition: 1920x1080p (30fps)
- Photo definition: 3800x3188 pixels
- Video encoding: H264
- Photo file format: RAW, DNG
- Internal memory: Flash 8 GB
- Extended memory: Micro USB
Battery
- Lithium Polymer 1200 mAh
- Flight time: Around 12 minutes
Processor
- Motherboard:
- Parrot P7 dual-core CPU Cortex 9
- Quad core GPU
- 8Gb flash memory
- All fixed on a magnesium shelf that acts as electromagnetic shielding and as a radiator
- Operating system: Linux
- Developping: Open-source SDK
Sensors
- 3-axes magnetometer (AKM 8963)
- 3-axes gyroscope (MPU 6050)
- 3-axes accelerometer (MPU 6050)
- Optical-flow sensor (Fig.8): Vertical stabilization camera (Every 16 milliseconds, an image of the ground is taken and compared to the previous one to determine the speed of the Bebop Drone)
- Ultrasound sensor (Analyzes the flight altitude up to 8 meters)
- Pressure sensor (MS 5607)
Geo-location
- GNSS (GPS + GLONASS + Galileo, Furuno GN-87F)
Dimensions
- 28x32x3.6cm without the hull
- 33x38x3.6cm with the hull
Weight
- 380g without the hull
- 400g with the hull
Pinout
GPIO
- 73 P7MU IRQ
- 81 GPS Power Enable
- 85 Fan enable
- 90 Vsync horizontal camera
- 91 DRDY MPU6050
- 201 On/Off button (default monitor to files running: /bin/onoffbutton)
- 202 HOST_MODE_3V3
- 128 (video) Slew rate??
- 129 Vertical camera enable
- 130 (video) Slew rate??
- 132 Horizontal camera enable
- 199 BLDC micro-controller reset (forces it into bootloader) ON/OFF
- 200 US Pulse level
- 202 USB Host mode pin
PWM
- 6 Heating resistor for warming IMU sensors (125000ns period, 0ns duty)
- 8 MPU6050 clock (31510ns period, 15258ns duty) Desired frequency is 32768kHz with 50% duty cycle (period=30517us). Period was set empirically to 31517 to get a 5ms data ready period. Desired frequency is slightly modified to synchronize camera and IMU
- 9 Vertical camera clock (23ns period = 43MHz)
- 11 Horizontal camera lock (77ns period = 13MHz)
I2C
- I2C-0
- I2C-1
- Cypress Motor Controller (Parrot BLDC) Bebop/BLDC
- AKM8963 Magnetometer AK8963
- MS5607 Barometer MS5607
- I2C-2
- MPU6050 Gyro + Accel MPU6050
UART
- ttyPA1 GPS (Furuno GN-87F)
Actuators
The Bebop has 4 Brushless motors, which are controlled by the cypress chip on I2C-1. This Cypress chip contains costum made firmware(BLDC) from Parrot, which can be automatically updated using a bootloader. The firmware from Parrot contains a very nice closed loop RPM control, which is automatically tuned inside the factory.
For more information about how to communicate with the BLDC look at Bebop/BLDC. Or take a look at the "bebop" actuator inside the airborne/boards/bebop/
folder.
Programs
- /usr/bin/dragon-prog Main program that controls the drone
- /bin/watchdog.sh Checks if Dragon is still running and reboots dragon
- BLDC_Test_Bench Controls the Brushless Motor Controllers for testing and playing sounds etc.
- bcmwl Everything with wifi
- diagnostic Outputs sensor diagnostic
- mk3_camera_eeprom Reads the front camera EEPROM
- config_mt9v117 Configure the bottom camera
Cross compiler
For the Bebop you need to use a recent version GNU gcc-arm-linux-gnueabi (Ubuntu/Linaro 4.7.4-2ubuntu1) 4.7.4 provided with Ubuntu since 14.04 LTS.
If it doesn't work with your GCC/Linaro version, you can also try the Sourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux from Mentor Graphics (previously codesourcery). This cross compiler is available here: Sourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux. Please install this crosscompiler in the /usr/local/codesourcery/ directory of your computer, to make sure paparazzi is able to find the cross compiler.