All Posts (11086)
I wanted to try my hand at a true "DIY" project, designing and building my own micro quadcotper frame and writing my own firmware in C++. In this post I will describe the frame and build; in my next post I will talk about the firmware.
Excluding stuff I had lying around the shop, (heat-shrink tubing, EC-3 connectors, velcro, cable ties, etc.) the cost came to just under $170:
- 3D-printed frame "free"!
- Flight Controller: Flip32 (Naze32 clone), with Spektrum RX mount removed to expose 3V. $15
- Receiver: MicroFrX by Curtis Fissel. $16.
- ESC: BLHeli 4 in 1 ESC - 12A, with male EC-3 soldered on. $34
- Motors: RMRC Black Series 1306 3300kv ( 2 CW, 2 CCW) $56
- Props: 3030x3 glass composite $8
- HQPROP 3030X3 - BLACK CW
- HQPROP 3030X3 - ORANGE CW
- HQPROP 3030X3 - BLACK CCW
- HQPROP 3030X3 - ORANGE CCW
- Battery: Turnigy nano-tech 1000mah 2S 25~50C Lipo Pack $8
- Fasteners:
- M3 nylon machine screws (20mm, cut down to around 5mm) (4) $8
- Nylon 6/6 Male-Female Threaded Hex Standoff, 4.5 mm Hex Size, 5 mm LG., M3 Thread (8) $13
- Dese nuts (4) $11
Here's the frame, fresh out of my LulzBot Mini printer:
Before adding any components, I inserted a velcro tie to keep the battery in place:
Here's the amazing RMRC BLHeli 4-in-1 ESC with motors and EC-3 battery connector soldered on:
Here's the BLHeli mounted on the frame. I should've used the thinner (4.5mm) standoffs on top and bottom to avoid damaging the circuit!
Next it was time to make a custom jumper for the tiny 3V FrSky-compatible CPPM receiver, which is not 5V tolerant. I un-soldered the 3V Spektrum header from the Flip32 and jury-rigged a little three-pin jumper connection:
Here's the super-tiny FrSky-compatible receiver from Curtis "Beef" Fissel (of Beef's Brushed Board fame). This photo shows the receiver after I soldered on a three-pin header, solder-bridged the bind pads, connected it to the Flip32, powered the Flip32 through the USB port bound the receiver to my Taranis, and un-soldered the bridge:
You can see the completed project at the top of this post. Although I could have used Baseflight or Cleanflight to configure the board, I used my own C++ firmware, adapted mostly from Baseflight. Having never configured such a tiny vehicle before, I struggled for a while with the PID settings. Eventually I just divided all the default values by two, and that worked fine, giving me the smooth flight shown in the video.
In a follow-up post I'll discuss the C++ firmware that's flying the 'copter.
After several months of development and testing, Tower v3.2.1 is finally ready for release to the wider community!
This release is significant as it marks the transition of Tower from a 3DR project to a community developed project under the wing of the Dronecode foundation.
Of note for this release are several major features that were contributed by members of the community.
These features are highlighted below and the full set of changes can be found in the release notes on github.
Tower v3.2.1 changelog:
- Support for FPV video streaming using UVC Devices by Guilherme Blanco
- Support for ArcGIS Online map tiles
- ArcGIS Online is an online collaborative web GIS. With the added support, you can access and cache ready to use maps and layers provided by the service.
- Support for custom video stream provider
- This allows anyone to experiment with and/or send a digital video stream to Tower for viewing through the video widget
- https://github.com/DroidPlanner/Tower/wiki/Custom-video-stream
- Google cardboard support thanks to the integration of the DronePro app by Shawn Fraser
- Improved Mission Editor
- Added support for the Reset ROI mission item
- UX update for the telemetry connection preferences
- Removal of the droneshare account integration pending rehabilitation of the site api
- Material design update for the navigation drawer thanks to jandrop
- Improved spanish, german, chinese, and portuguese translations
- Numerous bug fixes and under the hood improvements!
Thanks to all the members of the beta testing group for helping iron out the issues and bugs in order to make this release possible.
Note:
Those interested in testing the latest and greatest can get access to the beta release at https://play.google.com/store/apps/details?id=org.droidplanner.android.beta
And please report any encountered issues on the Tower issues tracker.
This video shows me checking the size of the flash RAM (memory) on an MRC Naze32 (ARM STM32F103) flight controller from MultiRC. Because I am loading my own firmware onto the board, I have to short the bootloader pins on the board, via some male jumper wires I soldered on.
These inexpensive FCs with onboard flash RAM are sold for use with the Blackbox logging feature in Cleanflight, but I wanted to re-purpose the RAM for developing algorithms like SLAM onboard the FC. As advertised, the board has 8 MB (eight megabytes, or 64 megabits) of flash memory.
Borrowing firmware code from Cleanflight, and the original Baseflight firmware on which it's based, I've created a simple API for this kind of firmware hacking:
https://github.com/simondlevy/BreezySTM32
As you can see by looking at the code, the API allows you to write very short, Arduino-like programs for specific tasks like this. There are also examples for the classic blinking LED, I^2C sniffing, and ultrasonic sonar.
Recent 3DR's move not to sell DIY components & parts anymore, pushes hobbyists and prosumers to diversify their supplier's sources. Like many others in the community, my issue is to find an "as good quality as 3DR" alternative for a Pixhawk board. I started looking around for possible 3DR Pixhawk replacement candidates, with a quality I can trust in my builds.
There exist myriads of different "Pixhawk" equivalent boards. Most of them are not direct drop-in replacements as they are equipped with different connectors and have different sizes and shapes. Furthermore, most of them do not share the same quantity and redundancy of sensors (i..e.: two gyro, two accel, compass, baro, etc). A direct drop-in replacement is essential for prosumers and professionals trying to standardize parts, connections and components to a maximum.
Then, I was kindly requested by Gearbest to review some of their new FPV racer quad; offer which I declined being a very poor racer pilot (wouldn't have made justice to their fpv quad), proposing them instead to review their Pixhawk board which looked to be an exact match for 3DR Pixhawk board on all aspects: schematics, size, shape, connectors, etc.
This is what this video is about : a test, review and comparison of Gearbest's Pixhawk (versus 3DR's Pixhawk).
Hope this will provide some useful info for who's looking for Pixhawk flight controllers.
Cheers,
Hugues
I want to show the progression I have done with my DronePilot framework, and in this video I'm showing how to do a trajectory controller.
I want to start by saying what I'm using to make this work:
- Motion capture laboratory (optitrack)
- Normal quadcopter
- Companion computer (raspberry pis and odroids)
- Flight controller (I'm using a naze32)
- Some python code (open source)
In my past blog post, I describe how a hover controller worked, and the video, in case you missed it, is here: https://www.youtube.com/watch?v=oN2S1qJaQNU ;
In this part we are focused on the Guidance (using the GNC argo). This refers to the determination of the desired path of travel (the “trajectory”) from the vehicle’s current location to a designated the target, as well as desired changes in velocity, rotation and acceleration for following that path.
There is several steps before we can achieve this. Mainly the next ones:
- Fly the vehicle using the flight stack
- Design a controller that will track/hold a specified position
- Create a trajectory, based on time and other factors
For the first part, in this blog we will use Altax Flight Stack, that compromises a companion computer and a flight controller. In this particular case I’m using a naze32 as flight controller, and two companion computers: Raspberry Pi 2 and Odroid U3.
The naze32 is connected to the Odroid U3 via a usb cable (a very short one). The vehicle is a 330mm rotor to rotor fiber glass frame, with 7×3.8in propellers, 1130kv motors, 15amps ESCs and a 3000mah 10C battery. It will fly for 11-13 minutes.
The Odroid U3 is running Ubuntu 14.04.1 in a eMMC module, which makes it boot and run generally faster. Its being powered by a BEC that is connected to the main battery.
The companion computer will “talk” a special language (multiwii serial protocol) in order to send commands to the vehicle, this one is described here. And the most important part is that it will run the DronePilot framework. This framework is the one in charge of piloting the vehicle. You can check it out here: https://github.com/alduxvm/DronePilot
And now the trajectory part…
We need to generate certain X and Y coordinates that then it will be “fed” to the position controller at a specific time. We are going to create two types of trajectories, circle and a infinity symbol. Why this ones? because this ones are easy to generate and perfect to excite all the multi-rotor modes.
This one is very simple… there is basically two parameters needed… Radius and angle. In our case the angle part we are going to combine it with the step time of the main loop of the controller and pi… basically the angle one will go from 0 to 360 degrees (in radians of course). The code looks like this:
So, if we declare “w” like this: (2*pi)/12 it means that the trajectory will take 12 seconds to complete a full revolution, and then start over. This is the parameter that we will change if we want the vehicle to travel faster. Its better to start with a slow value, and then progress to faster trajectories.
The next step is to “fed” this coordinates to the position controller inside the control loop. That is done in this script.
The infinity trajectory is a special one! this one is called in several ways: Inifity trajectory, figure of eight… And there is several ways of how to calculate the coordinates, you can see in the next gif the posibilites of how to create a figure of eight:
The one I like the red dot one! why is this?? that one is called the Lemniscate of Bernoulli, which is constructed as a plane curve defined from two given points F1 and F2, known as foci, at distance 2a from each other as the locus of points P so that PF1·PF2 = a2.
This lemniscate was first described in 1694 by Jakob Bernoulli as a modification of an ellipse, which is the locus of points for which the sum of the distances to each of two fixed focal points is a constant. We can calculate it as a parametric equation:
And then the rest is feeding that information to the position controller which will try to follow that trajectory as the dots on the plots. Magic. The next gif is a replay of the flight (DronePilot logs data for further analysis...).
The trajectory above is the fastest my vehicle can do (without getting unstable and or very shaky), it can complete a figure of eight in 6 seconds... does anyone know a human pilot that can do this?? I don't think so. hahaha.
Art that can be created using this:
The picture above is a long exposure of the vehicle doing the figure of eight trajectory.
What's next?? I want to change the flight controller, from a simplistic naze32 to a pixhawk! Why?? because the inner loop is faster, therefore I could create faster and more aggressive trajectories. You can check my blog post here: https://altax.net/blog/trajectory-controller/
How Harvard's Robobee nanodrone project is using the learning from real bees to improve the technology. Flexible wings that can handle collisions don't require as advanced sense-and-avoid skills.
The upcoming Copter-3.4 release will include terrain following support for mission commands using either Google earth altitude data or a Laser Range Finder. This is a demonstration video shot at a ski hill near my home in Karuizawa Japan of this new feature.
For this test I used a venerable 3DR IRIS with a PulsedLight Lidar Lite. This lidar is difficult to find but actually I recommend the sensors from Lightware (like the SF10) which, although they are quite a bit more expensive, are much more reliable and offer a greater range.
With this new feature, the pilot can input a mission with altitudes specified as either Terrain altitudes (i.e. altitude above the terrain), Absolute altitudes (i.e. 1300m) or the regular Alt-Above-Home that we've always supported.
In case you're wondering how we decide whether to use google earth data vs lidar, if the vehicle has a lidar attached it will use it, if not, and the mission specifies terrain altitudes, google earth data will be used (Note: the ground station must support sending the terrain data to the vehicle which Mission Planner and MAVProxy certainly do but I'm less sure about Tower, APPlanner2 and QGroundControl).
This was actually the third or fourth test flight of the feature. Some of the others are below with varying levels of success :-).
Terrain following with Google earth data
Terrain following with Lidar but crashes because of weak battery
Short mission with straight line waypoints (successful)
Longer mission with spline waypoints (unsuccesful because of tuning and hits altitude fence)
The changes are under peer review and should end up in master within a few days.
The dataflash log of the flight can be found here.
Special thanks to Leonard Hall and Tridge who helped me at numerous points during the development of this feature.
Hello everyone,
I would like to present our 3-axis gyro-stabilized gimbal with Sony EV7500 HD block camera on-board. Our gimbal platform provide great stabilization in different weather conditions. Combining it with advanced Sony camera we get clear and informative image. Such gimbals are great for long-range surveillance and inspection purposes.
Main features:
- 3-axis gyro-stibilization
- Sony EV7500 camera
- FullHD 1080p
- 30x optical zoom
- HD-SDI out
- HDMI out (optionally)
- Weight: 1100 g
More details here.
Dronecode and the idea of open source UAV development is really taking off in China. Here's an example (Google translated from the original Chinese) of how sophisticated the understanding of the project already in. It's authored by at team at Unmanned Aircraft Design Institute, Beijing University of Aeronautics and Astronautics.
Very impressive!
Open source flight control development
Flight Control open source development can be divided into three generations:
The first generation of open source flight control system uses the open-source Arduino or other similar electronic platform, extended to connect a variety of MEMS sensors, allowing the UAV to fly rose steadily, its main feature is modularity and scalability.
The second-generation open source flight control system mostly has its own open-source hardware, environment and community development, the use of fully integrated hardware architecture, all 10DOF sensors, host microcontroller, or GPS and other equipment, all integrated in a circuit board, in order to improve reliability sex. It uses all-digital three-axis MEMS AHRS sensors (IMU); able to control the aircraft to complete autonomous flight routes, while the installation of radio communication with the ground station, initially with complete autopilot function. Such flight control can also support a variety of unmanned devices, including fixed-wing aircraft, multi-rotor aircraft, helicopters and vehicles, and have a variety of modes of flight, including flight manual, semi-autonomous and fully autonomous flight flight. The second-generation flight control of the main characteristics of high integration, high reliability, and its function has been close to the commercial autopilot standards.The third-generation flight control system will be open source innovation in software and artificial intelligence. It joined the cluster fly, image recognition, autonomous obstacle avoidance, automatic flight tracking and other advanced features flight to machine vision, clustering, development platform direction.
As the platform is gradually being accepted by the fans, electronic expansion modules endless variety of functions, which is the most complex integration of MEMS sensors flight controller. To get a better flight control design source code, Arduino company decided to open its flight control source code, they opened a path of development open source flight control. WMC-known open source flight control and flight control Arduino APM is a direct derivative products, still using the Arduino development environment for development.
APM Flight Control
APM (ArduPilotMega) in 2007 by the DIY UAV community (DIY Drones) Release fly control products, is the most mature open source hardware projects. APM Arduino open source platform based on hardware made many improvements, including accelerometers, gyroscopes and magnetometers combination of inertial measurement unit (IMU). Because APM good customizability, APM spread rapidly on a global model aircraft enthusiasts range open. Mission Planner by open-source software, developers can configure APM settings, accepts and displays sensor data, use google map complete autopilot and other functions, but the Mission Planner only supports windows operating system.
Currently APM flight control flight control has become a mature open source benchmark that can support multi-rotor, fixed wing, helicopters and unmanned aerial vehicles and other unmanned devices. For multi-rotor, APM Flight Control supports a variety of four, six, eight-axis products, and later be able to connect an external GPS sensor augmentation, and complete autonomous landing, autonomous airline flight home, set high, fixed and other rich flight mode. APM can connect an external optical flow sensor and ultrasonic sensors, indoor realize fixed and fixed-point flying high.
PX4 and PIXHawk
PX4 is a hardware and software open source project (to comply with BSD protocol), it aims to provide a low cost for the academic, hobby and industry groups, high-end autopilot. The project stems from the Zurich Federal Institute of Technology in Computer Vision and Geometry Lab, autonomous systems and laboratory automation laboratory PIXHawk project. PX4FMU autopilot module running efficient real-time operating system (RTOS), Nuttx provide Portable Operating System Interface (POSIX) type of environment. For example: printf (), pthreads, / dev / ttyS1, open (), write (), poll (), ioctl () and so on. Software can use USB bootloader update. PX4 through MAVLink same ground station communication, compatible ground stations have QGroundControl and Mission Planner, open source software and comply with all BSD agreement.
3DR APM Group and by the Joint PX4 group launched in 2014, is an upgraded version PIXHawk flight control flight control PX4, PX4 and APM has two sets of firmware and the corresponding ground station software. The Flight Control Flight Control is the world's top products in the hardware specifications of the product, but also the hottest product in the hands of enthusiasts present. PIXHawk has 168MHz operation frequency, and a breakthrough in the use of integrated hardware floating point core Cortex-M4 microcontroller as the main control chip, built-in gyroscope and two accelerometers MEMS sensors, complementary correction, built-in three-axis magnetic field sensor and you can add a three-axis magnetic field sensor, and can add a main one two GPS sensors, automatic switching in case of failure.
Core and floating-point arithmetic based on its high-speed operation, PIXHawk using the most advanced high-set algorithm, barometric altimeter alone can put aircraft at a fixed height within 1 meter. It supports almost all multi-rotor type, and even includes three rotor and H4 so irregularly structured products. It makes a variety of aircraft has flight mode, support for autonomous these key points around the mouse to guide, "FollowMe", to the end of the flight and other senior flight patterns, and the ability to complete independent parameter adjustment.
Openness PIXHawk flight control very well, hundreds of parameters are all open to the players to adjust, after relying on the basis of simple debug mode can fly. PIXHawk integrate multiple electronic map, fans can be selected according to local conditions.
OpenPilot and Taulabs
OpenPilot by OpenPilot community launched in 2009 autopilot project, designed to provide the community with low cost but powerful stable autopilot. The project consists of two parts, including OpenPilot autopilot and its supporting software. Wherein the portion of the firmware autopilot by the C language, and the ground station is written in C ++, and runs on Windows, Macintosh OSX and Linux three major operating systems.
OpenPilot most important feature is the hardware architecture is very simple, from which now has many hardware design can be seen its distinctive place. The official release of the flight control hardware includes CC, CC3D, ATOM, Revolution, Revolution nano, etc., derived hardware including Sparky, Quanton, REVOMINI, and even use the STM32 development board includes a direct extension from the FlyingF3, FlyingF4, DescoveryF4 etc., which have been CC3D the following is the preferred flight control 300mm wheelbase and ultra-small machines through the indoor model aircraft, which has been used extensively for lovers DiscoveryF4 flight control, Quanton is to become the first choice of hardware Taulabs.
Let's say Openpilot's most popular hardware CC3D it. This flight control panels using only a 72MHz 32-bit STM32 microcontroller and a MPU6000 be able to complete four-rotor, fixed wing, helicopter flight attitude control (note that the hardware can be of three degrees of freedom posture control, rather than increase stable), the board size is only 35mm × 35mm. As with all open source flight control, it does not require GPS or a magnetic field sensor fusion participate amendments can be maintained for a long time attitude control. All of the above functions all use a firmware by setting you can change the type of aircraft, flight mode, support PTZ augmentation and other functions. Whose compiled firmware required capacity of only about 100KB, code efficiency amazing, all flight control programmers learning model. Its ground station software integrates a complete electronic maps, real-time monitoring via radio condition of the aircraft.
TauLabs flight control flight control is OpenPilot derivatives. The most popular current TauLabs hardware is called Quanton, former OpenPilot flight control team members complete independence. It inherits OpenPilot simple and efficient features, and expanded barometric altimeter and triaxial magnetic field sensor, upgrade the master microcontroller Cortex-M4 core with hardware floating-point operations. The flight control parameter is the first open-source support auto flight control product, with the model identification algorithm, capable of self-tuning PID control parameters attitude in flight. TauLabs able to complete many advanced flight mode, after connecting an external GPS enables multi-rotor with fixed-height, fixed, home and other functions. Integrated flight control electronic map, and the interface is very friendly, wizard mode is initialized, beginners can easily get started.
MultiWiiCopter (MWC)
MultiWiiCopter (MWC) flight control is a typical Arduino derivative products, is designed for low-cost multi-rotor flight control development, it is to retain the integrity of the Arduino IDE Arduino development and use of methods and equipment upgrades. Due to the low cost, simple structure, the firmware is relatively mature, so the flight control has lots of fans at home and abroad. In addition to supporting the common four, six, eight rotor outside, the biggest feature of the flight control is to support a lot of strange type of aircraft, such as a triple rotor Avatar aircraft (BIcopter avatar style), Y4 multi-rotor (two-axis upper and lower opposed ), etc., so that the development of flight control interest is strong, easy to appreciate everyone's favorite.
KKMultiCopter
KK flight control is an open-source from Korea flight control projects, but also the first widely accepted multi-rotor flight control, flight control at the beginning of the open source development of the flight control, turned out for the entire industry is a four-rotor a shock. The flight control using only three low-cost single-axis gyro, with a simple four-channel remote control device, can control the common three, four, six rotorcraft, and support for "cross" type, X-type, H-type and vertically on opposite other layouts. The flight control using three adjustable resistance adjustment sensitivity as a parameter adjustment method, retained the earlier model aircraft gyroscope features. As a multi-rotor flight control an important witness for the initiation of this "antique" class classic flight control, still has many players.
Paparazzi (PPZ)
Paparazzi (PPZ) is a fully open-source hardware and software project, which began in 2003, the development goal is to establish a flexible configuration and powerful performance open source flight control project. PPZ is a major feature of the open-source flight control program in addition to the common flight control hardware, software and ground station flight control software, also includes a ground station hardware, including modems, antennas and other equipment. Functionally, PPZ is close to a small UAV system has.
Another feature of the project is to use ubuntu open source operating system, it will all ground station software and integrated development environment at the system, officially known as the Live CD. Plus a CD of flight control hardware can be completed all the work from development to use.
PPZ most popular hardware version of Paparazzi (PPZ) Lisa / M v2.0. The hardware has a large expansion interface, and using scalable single IMU sensor board. It is also open early flight control more popular approach, such as a desktop computer can be like DIY, with the escalation of IMU sensor upgrade hardware.
Autoquad ESC32 flight control and power transfer
Autoquad flight control from Germany, as an early open source flight control, Autoquad very powerful, but limited by the time of the sensors, it had to use a lot of analog MEMS sensors. The so-called analog sensor means is a sensor chip is not integrated digital to analog converter (ADC) and core operations, and direct micro-mechanical sensors will vary by hardware after amplification and filtering to form a voltage output and requires a master microcontroller AD acquisition. Because the sensor at different temperatures, the output value will be affected, analog MEMS sensor calibration parameters to a lot of trouble. Many players in the first use of the flight control, had to use the refrigerator for sensor calibration, and some manufacturers in order to ensure the stability of bulk products, only on the aircraft on board for heating to keep the temperature constant .
However, this calibration method but for some of the elite enthusiasts bring extra fun, but a lot of people this way. For most ordinary fans, this is really a work of no small difficulty. With the popularity of digital sensors with factory calibration, Autoquad as the accumulation of history, also completed its mission.
However, another branch of the open source project ESC32 ESC has gradually been accepted in the player. The ESC is the first use of a digital interface for controlling power transfer products, the player can control the motor speed through the serial port, I2C and CAN interface, than conventional PWM interface information many times faster. ESC common PWM waveform update rate of four hundred times per second, and the updated speed digital interface can reach millions. Especially for very sensitive to changes in the power of multi-rotor, this high-speed communication is necessary. The ESC also supports closed loop speed, and can be adjusted in detail for the motor parameters, these functions are the traditional model aircraft power transfer can not be compared.
Of course, Autoquad are making progress, it released a new flight control product Autoquad M4, on the host microcontroller and sensor of a comprehensive upgrade, using common STM32F4 microcontrollers and digital sensors. But the face of PIXHawk, APM and other mature advanced flight control products for many years, it has been reduced from predecessors comer.
5 must know the MEMS sensor
Why MEMS
Finished open source flight control, we need further research on the key device --MEMS flight control sensor on. If compared to the aircraft autopilot "brain", the MEMS sensor is the "vehicle" of the ear, nose and eyes. It is these sensors will collect dynamic information of the aircraft and sent to the host microcontroller, the aircraft will be able to get the attitude and position of the aircraft by calculation.
Why open source flight control to use MEMS sensors? To develop flight control, how to get the aircraft AHRS is the first task, the traditional manned aircraft generally use mechanical gyros and fiber optic gyros to accomplish this task, but is limited by size, weight and cost, and other small multi-rotor aircraft in on can not use this equipment. Therefore, the MEMS sensor at the core of DOF (Degree Of Freedom, freedom) system has become the only option. Since the past decade, the rapid development of mobile phones and game consoles, making the MEMS sensor in the last ten years has been the rapid popularity, so that low-cost motion perception as possible, which is currently the flight control system formed by micro Basic conditions.
MEMS sensors and mobile phones and game consoles are using open-source flight control from the same manufacturers, such as ST microelectronics, INVENSENSE like. MEMS sensor from the early multi-chip combination, the current development of single-chip integrated multi-axis sensors, sensor development from analog to digital sensors, has undergone a number of larger changes.
MPU6000
MPU6000 is the king of open source flight control sensor, although the new sensor endless, but has been unable to shake its status. PIXHawk flight control earlier version had abandoned MPU6000, but later had to be used because Fengyun MEMS chip has been performed for all lovers of open source flight control project development acceptable.
MPU6000 in a 4mm × 4mm chip integrates a three-axis angular rate gyro and three-axis accelerometer and integrated AD acquisition, core solver, and a temperature sensor. This high degree of integration was still unmatched by other vendors. As for the rotation matrix, quaternion output and fusion algorithms Euler angles format of the data is reduced to a host microcontroller to calculate the amount of attitude solver. SPI and I2C dual digital interface, 3.3V same with most microcontroller supply voltage (2.4V to 3.4V), 4mA maximum power consumption, customizable sensor range, -40 ℃ to + 85 ℃ operating temperature of these ...... feature greatly facilitates the work of the host computer. No wonder INVENSENSE confidently say that this product is MPU (Motion Processor Unit, motion processing unit), and without any suffix behind chip models.
All want depth development of open source flight control fans should begin to learn basic algorithm solver and AHRS sensor from the chip, which is the most simple and effective way. OpenPilot of CC3D flight control gave you provide a good example, only use a sensor of this, they made a classic flight control products.
MS5611
MS5611 is another legend sensor. Chip size of only 3mm × 5mm, the sensor accuracy is better than a lot of professional aviation equipment, and the price is very cheap. The sensor MEAS launched by the Swiss company, before this, most of the flight control uses a Motorola pressure sensor, volume is several times larger, and not chip devices need to "stand" on the circuit board, MS5611 once launched immediately All flight control becomes open source pressure measurement standard.MS5611 sensor response time of just 1ms, work consumes 1μA, can measure the pressure value 10-1200mbar. MS5611 with SPI and I2C bus interface, and MCU same supply voltage, -40 ℃ to + 85 ℃ operating temperature, SMD package, fully shielded metal housing, integrated 24 high-precision AD acquisition and other features that make it is very suitable for work in a highly integrated digital circuits, it has become a source of pressure altitude flight control test of choice.
HMC5883
Contact magnetoresistive sensor (that is, magnetic compass sensor) knows, the Z-axis magnetoresistive sensor is flat realize how not easy. Honeywell also developed in dozens of related products after finally have the ability to produce this fully integrated three-axis digital compass. We had to marvel at its size -3mm × 3mm in size, thickness of less than 1mm. Even more amazing is its low price, so in addition to this extreme pursuit PIXHawk Advanced flight control hardware, other open-source flight control, if equipped with a magnetic compass, then invariably use the HMC5883. Of course, Honeywell has already launched an upgraded model of HMC5983, will increase the angle measurement accuracy to within 1 °. For fans who, HMC5883 has been good enough.Design difficulties magnetoresistive sensor is demagnetized ferrite, ferrite sensors and able to drive degaussing unit, 12-bit ADC, integrated computing cores and all in such a small chip which is a very difficult. HMC5883 Other features include: achieving 2mGS resolution of ± 8GS magnetic field, with the same single-chip supply voltage, -30 ℃ to + 85 ℃ working environment temperature. Although ST microelectronics has launched an integrated three-axis magnetoresistive sensor and a triaxial accelerometer LSM303D, and smaller, more integrated, but it has been the preferred chip HMC5883 magnetic compass.
L3GD20
L3GD20 area just 4mm × 4mm, which is destined for mobile devices and health. ST is the first batch of development of MEMS chip manufacturers, but also the first release gyro products company, but L3GD20 still a step late. Although it higher precision, but the limelight has been snatched away MPU6000. Although there is no integrated three-axis accelerometer, but with high-precision angular rate measurements, a wide range of custom range, and lower prices, L3GD20 gradually the industry admit that PIXHawk once wanted to use it to replace MPU6000. Of course, eventually did not materialize PIXHawk alternative aspirations, they co-exist on top of the open-source flight control, complement each other, the achievements of the redundant design PIXHawk.
L3GD20 with the same single-chip supply voltage, ambient temperature -40 ℃ to + 85 ℃, and is compatible with I2C and SPI digital interface, built-in down / high-pass filter circuit, 6mA operating power and integrated temperature sensor, these same integrated circuit can be used as a high angular rate gyroscope good choice.
LSM303D
If other sensors for mobile devices is born, it is to L3GD20 LSM303D born. It L3GD20 together can form a complete 9DOF AHRS sensor system (IMU), and its power supply, measurement accuracy and digital interface is almost identical. The system than MPU6000 combination HMC5883 and lower total cost, higher measurement accuracy, no wonder INVENSENSE to launch non-stop series of single-chip 9DOF MPU9250 products to compete.And MCU same supply voltage, ambient temperature -40 ℃ to + 85 ℃, and is compatible with I2C and SPI digital interface, integrated temperature sensor, these parameters can be copied almost L3GD20.
6 How software controls hardware
Finished hardware, let's talk about common algorithms. Open Source flight control architectures, the software is also very different. But as long as the flight control are inseparable SINS, Kalman filtering and PID control these three algorithms.
SINS system
Navigation purpose is to obtain real-time UAV attitude, velocity and position parameters. Photoelectric encoder can be used to measure the rotation angle of the UAV, the UAV speed motor used to measure angular velocity, tachometer used to measure the speed of the UAV, but above all the various measurements alone can not simultaneously measure UAV line motion and angular motion, inertial navigation can do this. Because the inertial navigation system does not require a physical reference, so it is called the system DOF (Degree Of Freedom, freedom), in addition to external inertial navigation will not interfere with the natural and man-made device, particularly suitable for use in harsh environments.
After the 1990s, with the development of micro-electromechanical systems (MEMS) technology, inertial sensor to achieve a volume of miniaturization, improved reliability, and suitable for mass production, from the strapdown inertial navigation system into the MEMS field, and began to civilian areas and widespread penetration appears in a new generation of robotic systems and a vehicle. In the 21st century, SINS system is almost completely replaced the Platform Inertial Navigation System.
Kalman filter algorithm
Signal transmission and detection process will inevitably be affected by interference from outside noise inside the device, in order to get an accurate signal, it is necessary to filter the signal. The so-called filter means to extract from many signals are mixed together in a useful signal process. For example, the well-known low-pass filter is the use of different frequency bands in which the signal is provided with a corresponding frequency characteristics of the filter, so that useful low-frequency signal as far as possible without attenuation through, so as to remove high frequency noise.
The Kalman filter is extracted from observations with the signals associated Kalman proposed in 1960, estimated by the algorithm filtering algorithm of the desired signal, his innovative concept introduced in state space stochastic estimation theory, the signaling process to see for linear input - output processes with white noise, the use of the system in the estimation process multiple equations constitute filtering algorithm. Moreover, Kalman filter input and output by time and observation update update algorithm linked, according to the system state equation and observation equation to estimate the signal processing required. So why Kalman filter is applied to the inertial navigation system as well? This is mainly because the "pure inertia" sensor inertial navigation system is not sufficient to achieve the required navigation accuracy, to compensate for the lack of navigation systems often use other navigation equipment to improve navigation accuracy to reduce the navigation error. So developers thought of Kalman filtering algorithm, using this algorithm, the data from the inertial navigation system and other navigation devices (such as inertial navigation system calculates the position of the GPS receiver position information control given) mixed use, estimates and correction unknown inertial navigation system error.
Flight Control PID algorithm
While improving the development of modern control theory, we get a lot of people through scientific research and theoretical algorithm has excellent control effect, but in engineering applications, based on the classic PID control algorithm is still the easiest and most effective control program. The current mainstream in several open source flight control, without exception, are based on the PID control algorithm to achieve UAV attitude control and trajectory.
PID controller is a linear controller, which is mainly based on the given value and the actual output values constitute a control deviation, and then use the deviation is given a reasonable amount of control.
Then the PID controller algorithm can solve the problem? In multi-rotor, for example, in the absence of the control system, the signal is directly driven propeller drive motor rotation control, there will be too fast dynamic response, or too slow, or control overshoot or shortage, multi-rotor can not the successful completion of take-off and hover action. To solve these problems, it is necessary to add the PID controller algorithm in the control system loop. Build relationships proportional, integral and differential between the attitude information and propeller speed by adjusting the parameters of the size of each link, so that multi-rotor control system to achieve fast dynamic response, but neither red nor lacking phenomenon.
Source: Journal of Industrial Robots
Unmanned Aircraft Design and Research Institute, associate professor of Beijing University of Aeronautics and Astronautics Li Dawei
Unmanned Aircraft Design Institute, Beijing University of Aeronautics and Astronautics engineer Yang Jiong
From Motherboard:
As drones are becoming more commonplace in cities, so are drone accidents. People are crashing their brand new toys and flying them places they shouldn’t be like crazy. Part of this is thanks to the complex wind environments in built-up areas, which can make drones go out of control. In the latest episode of Lab Spaces, Motherboard's Jordan Pearson visits WINDEEE, the world’s first hexagonal wind testing chamber where scientists are pushing drones to their limits in order to learn how to make drones safer in the future.
Boeing's Insitu division has released a ground control system that supports Solo, Iris+ and other ArduCopter based drones. University of Nevada is now using it.
Unmanned Vehicle Plug-in for Arducopter: Powerful command and control meets unmanned multicopter technology.
Search Plug-in: Time is paramount in every search mission and Inexa Control’s search plug-in helps operators plan and execute a fast, thorough search of an area using nationally recognized search patterns.
RF Link Analysis Plug-in: Terrain variation and other conditions can interfere with the transmission of information, but Inexa Control’s RF Link Analysis Plug-in helps operators identify in advance where communications could be potentially compromised.
Airspace Management Plug-in: Using an aircraft’s trajectory, vehicle information, and telemetry, Inexa Control’s Airspace Management Plug-in alerts operators of potential airspace violations by considering available airspace options and recognizing areas to avoid.
One hundred and thirty deliveries! Yep 130, not just delivered but done automatically over a three month period in all sorts of weather.
Well done DHL, I wonder whats inside?

Good piece in Hackaday on how drones can revolutionize agriculture. Here's the start, but read here for the rest, including a deeper discussion on NDVI techniques.
Whether you call them UAVs (Unmanned Aerial Vehicles), UAS (Unmanned Aerial System), Drones, or something less polite – people are more familiar than ever with them. We’ll call them drones, and we’re not talking about the remote-controlled toy kind – we’re talking about the flying robot kind. They have sensors (GPS and more), can be given a Flight Plan (instructions on where to go), and can follow that plan autonomously while carrying out other instructions – no human pilot required. Many high-end tractors are already in service with this kind of automation and we’ve even seen automated harvesting assistance. But flying drones are small and they don’t plant seeds or pull weeds, so what exactly do they have to do with agriculture?
There are certain things that drones are very good at, and there are things in agriculture that are important but troublesome to do or get. Some of these things overlap, and in those spaces is where a budding industry has arisen.
Let’s cover what drones can offer and what growers can use, then dig into what is out there and happening over some fields right now.
These Things are Important to Farmers, but are Limited or Troublesome
Confirmation: Verifying that plants are growing where and when they should, and checking this as early and often as possible.
Early Detection of Problems: Detecting areas of poor growth and crop damage as early as possible, limiting impact and maximizing the chances of doing something about it.
Fertilizer Planning: A crop will never grow completely evenly, and choosing where to put fertilizer and how much to use based on plant density and health (instead of spreading it uniformly) can save significant money. This is called Variable Rate Application and anything that helps it get done more accurately saves money and increases crop yield.
Now you can get all design files here:
There's now License claims in these files so do whatever you can with it.
The V1.0 hardware has successfully proved its design, now we are building it even better.
New JST GH IO board is under testing.
We even have customer who's building their own fully functional flight controllers by integrating the mainboard inside.
V1.1 hardware will be available in June 2016, with new features:
- PX4 firmware compatible
- optional JST GH IO board
- optional CNC shell
- New IMU configurations
- bi-directional AUX port (support Lidar lite better)
- anything you are not too late to ask
Thanks for reading this. hope people think they are offended in this thread have a better mood tomorrow, no offence.
http://diydrones.com/profiles/blog/list?user=1q1lje5waqedm
Regards.
The 7th China Satellite Navigation Conference will be held in Changsha Hunan Province from May 18 to 20, 2016. Tersus GNSS will bring the latest product release named Precis-BX316, a dual antenna and frequency RTK board to participate. As the annual event of satellite navigation, the theme of this conference is “Smart Sensing, Smart Perception” and a series of discussions will be organized. In the BeiDou/GNSS Navigation Application session, our engineering expert will give a keynote speech in terms of Application of Low Cost GPS/BDS Receiver in UAV Precise Navigation and Positioning.
The latest Precis-BX316 RTK board is a solution for precise position and heading, delivering multi-constellation RTK baselines between the two connected antennas and to a remote base station. It supports multi-GNSS RTK positioning and enables real-time, centimeter level positioning accuracy.
We will keep you posted for the news related to UAVs shared during the conference. Stay tuned.
Just stumbled over this... Devin Graham aka. Devin Supertramp, who is one of the top successful YouTube creators, used a Solo as a character in his latest viral video.
Interesting idea...
As an I/O board for a Raspberry Pi based autopilot.It fits perfectly as shown in the photo... :)

From the blog of the Pixahwk-compatible high-accuracy Reach RTK GPS
Reach was built with precision mapping applications it mind. One of the big challenges in UAV mapping is eliminating Ground Control Points which are time consuming and costly to place. Reach RTK can help achieve that by synchronizing with the camera shutter on sub ms level. I have written more about this in a previous post. All you need to do is connect hotshoe adapter to your camera and wire it to Reach port. Only two connections are required "GND" and "Time Mark":
At top is how @timvand did it with his Sony A6000.
During RINEX conversion on Reach you will see a new field that will show how many time marks have been collected. That should match the amount of pictures taken by the camera.
Those of you who have access to GrafNav can already start mapping and getting accurately georeferenced pictures. Thanks to @Stu74 we know that it parses time marks from RINEX and interpolates the post processed coordinates.
We have also implemented this feature in RTKLIB and will release modified RTKPost soon.
As usual new amazing features are brought to you by @efedorov's and @bulatov's countless hours of work
Emlid is going to make right what is broken about UAV mapping.








