Bebop

From PaparazziUAV
Revision as of 15:23, 16 November 2014 by Fvantienen (talk | contribs) (→‎I2C)
Jump to navigation Jump to search
Parrot Bebop

The Bebop from Parrot is an Wifi controlled flying quadrotor and is designed to be controlled with Android and iOS devices.

Features

Connectivity

  • Wi-Fi antennas: MIMO dual-band with 2 double-set of ceramic 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

  • 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
  • 129 Vertical camera enable
  • 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. esired 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
    • FPGA
    • P7MU Measurement Unit?? (Has ADC)
    • MT9f002 CMOS MT9f002
    • MT9v117 VGA System-On-A-Chip (SOC) CMOS Digital Image Sensor MT9v117
  • I2C-1
    • Cypress Motor Controller (Parrot BLDC)
    • AKM8963 Magnetometer AK8963
    • MS5607 Barometer MS5607
  • I2C-2

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

Cross compiler

For the Bebop you can't use the GNU gcc-arm-linux-gnueabi, which was used for the ARDrone 2 in the past. So this means the cross compiler isn't included in the paparazzi-dev package. The cross compiler you need for the Bebop is 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.