Difference between revisions of "Bebop"
Fvantienen (talk | contribs) (→GPIO) |
|||
Line 81: | Line 81: | ||
== Pinout == | == Pinout == | ||
=== GPIO === | === GPIO === | ||
* 6 Fans Enable | |||
* 9 WiFi Reset | |||
* 73 P7MU IRQ | * 73 P7MU IRQ | ||
* 81 GPS Power Enable | * 81 GPS Power Enable | ||
* 85 Fan | * 85 Fan Enable | ||
* 90 | * 89 VCAM FSYNC gyro | ||
* 90 HCAM FSYNC gyro | |||
* 91 DRDY MPU6050 | * 91 DRDY MPU6050 | ||
* | * 124 Magneto interrupt | ||
* 128 (video) Slew rate?? | * 128 (video) Slew rate?? | ||
* 129 | * 129 VCAM enable | ||
* 130 (video) Slew rate?? | * 130 (video) Slew rate?? | ||
* 132 | * 132 HCAM enable | ||
* 199 BLDC micro-controller reset (forces it into bootloader) ON/OFF | * 199 BLDC micro-controller reset (forces it into bootloader) ON/OFF | ||
* 200 US Pulse level | * 200 US Pulse level | ||
* 202 USB Host mode pin | * 201 On/Off button (default monitor to files running: /bin/onoffbutton) | ||
* 202 USB Host mode pin 3V3 (HOST_MODE_3V3) | |||
* 203 USB Host mode on | |||
* 204 USB0 OC | |||
=== PWM === | === PWM === |
Revision as of 06:20, 6 April 2015
Intro
Originally the Bebop from Parrot is a Wifi controlled flying quadrotor, 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!
Getting started
- Make sure you have the latest release version of Paparazzi installed.
- Power up your Bebop.
- Make a Wifi connection with your PC and the Bebop
- In the Paparazzi center choose "Bebop" in the airframe dropdown menu
- Press "Upload"
- Select the Bebop or ARdrone2 Flight in the session menu
- Press execute
Voila, you will get telemetry from the Bebop. Now it is up to you how and where to fly.
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
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
OS/Software
- Operating system: Linux (kernel 3.4.11 #3 SMP PREEMPT)
- glibc: (Sourcery CodeBench Lite 2012.03-57) 2.15
- libstdc++: GLIBCXX_3.4 - GLIBCXX_3.4.16
- Developing: Open-source SDK (for interfacing with it from an offboard computer)
Pinout
GPIO
- 6 Fans Enable
- 9 WiFi Reset
- 73 P7MU IRQ
- 81 GPS Power Enable
- 85 Fan Enable
- 89 VCAM FSYNC gyro
- 90 HCAM FSYNC gyro
- 91 DRDY MPU6050
- 124 Magneto interrupt
- 128 (video) Slew rate??
- 129 VCAM enable
- 130 (video) Slew rate??
- 132 HCAM enable
- 199 BLDC micro-controller reset (forces it into bootloader) ON/OFF
- 200 US Pulse level
- 201 On/Off button (default monitor to files running: /bin/onoffbutton)
- 202 USB Host mode pin 3V3 (HOST_MODE_3V3)
- 203 USB Host mode on
- 204 USB0 OC
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 (addr 0x08)
- 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.
Video
Load the video_rtp_stream.xml module. Receive the video stream with e.g. avplay:
$ avplay -loglevel quiet -max_delay 50 -fflags nobuffer rtp://192.168.42.1:5000