OPEN SOLO 3.0.0
This is the first stable production release (non-beta) of Open Solo! Since 3DR open sourced the Solo and controller, many new possibilities have opened up. Combined with the continued development of ArduPilot, the Solex App, and SidePilot App, the solo is now growing even more!
Stock Solos vs Green Cube Solos
This is fully compatible with both totally stock Solos and green cube solos! You do not need to pick and choose, and we don't need multiple release versions for the different hardware. The code will auto-detect which cube you have, and use that information to auto install the correct version of ArduCopter on it.
STOCK SOLO SPECIFIC UPDATES: The following applies only to stock solo Pixhawk cubes and does not apply to Green Cube solos.
- ArduCopter Solo 1.5.4 upgrading you from the 3DR stock 1.3.1 version from about 2yrs ago.
- Distance based battery failsafe: Triggers RTH to be on the ground at approx 10% remaining. If you want to adjust this yourself, you can manually tweak parameter
FS_BATT_CUR_RTL
. A value of 22 gets you on the ground with about 10% remaining. A higher value will RTH sooner leaving a higher % remaining. - Improved landing detection: This greatly improves the solo's ability to detect it has landed. In the past, it could get confused by a rough, fast, or jerky landing. This results in it refusing to disarm or and sometimes flipping over. The new landing detection algorithm is greatly enhanced. You will notice it now takes and extra second or so to disarm once you're on the ground. And you may see a little twitch in the throttle. It is literally testing the ground. It works quite nicely.
- Low battery thrust priority: If the battery is getting dangerously low, it will allow itself to sacrifice yaw (rotation) control to increase thrust to prevent a crash. This could give you the thrust you need to land softly rather than dropping out of the sky.
- Smart shot altitude priority: Will not lose altitude by going too fast in Follow Mode! In Smart Shots, the solo will not allow itself to go "too fast" causing a loss of altitude.
- No more 3DR: This version was compiled by the Open Solo team in the Open Solo repositories. It cuts the cord from 3DR's firmware server for Pixhawk firmware.
- Corrected parameters: 3DR's last release was 1.5.3 and only for commercial site scan solos. The Open Solo version 1.5.4 has corrected parameters that account for the consumer solo being much lighter weight.
- Distance based battery failsafe: Triggers RTH to be on the ground at approx 10% remaining. If you want to adjust this yourself, you can manually tweak parameter
GREEN CUBE SPECIFIC UPDATES: The following applies to Green Cube equipped solos and does not apply to stock Solos.
- The most recent stable production release of ArduCopter, which today is ArduCopter 3.5.4
- Boat mode! You can arm and take off from moving vehicles/vessels
- Improved landing detection: This greatly improves the solo's ability to detect it has landed. In the past, it could get confused by a rough, fast, or jerky landing. This results in it refusing to disarm or and sometimes flipping over. The new landing detection algorithm is greatly enhanced. You will notice it now takes and extra second or so to disarm once you're on the ground. And you may see a little twitch in the throttle. It is literally testing the ground. It works quite nicely.
- 3 improved IMUs in the green cube, 2 of which are vibration isolated and heated.
- Ability to use RTK GPS for surveys, ADS-B aircraft avoidance, lidar laser altimeters, terrain awareness and following, IR precision landing, and even an “indoor GPS”.
- Hundreds of enhancements since 2015, and continued development by the ArduPilot team.
- Solo's required default parameters baked in. No parameter file loading needed!
- NOTE: If you are also doing a new Green Cube install, make sure you install Open Solo before you install the green cube!!! It needs to be fully installed and functional on the solo with the stock cube before you install the green cube. See the new green cube install instructions link at the bottom of the release notes.
AWESOMENESS FOR ALL
- Single install package: Added detection of which Cube you have installed in your solo. This will be used to install the proper version of ArduCopter. This is why there isn't a green cube vs stock version. One does it all.
- Cut the cord from 3DR! Factory reset update: This updates the factory reset (recovery partition) to no longer require 3DR servers or an internet update. If you factory reset, it will come back up with a clean installation of Open Solo that is fully operational! No internet needed. No update needed. Calibrate and fly.
- Controller: short and long hold button functions: Added short hold (2-seconds) and long hold (3 seconds) events to the A, B, Pause, camera preset, and camera trigger buttons. This allows you to assign and use functions based on short and long holding the buttons. The assignments can be edited in
/usr/bin/extSettings.conf
.
The defaults are as follows:- A single press: Manual
- A short hold: Stabilize
- A long hold: Auto mode
- B single press: Position Hold
- B short hold: Drift
- B long hold: Sport
- Camera Preset top long hold: None
- Camera Preset bottom long hold: None
- Camera trigger long hold: Gimbal lock ("FPV race mode")
- Controller: CH7 on/off improvement: Long hold pause button to turn CH7 option on. Short hold pause to turn CH7 option off. This removes the conflict with the pause function, which still uses the normal single click. If you use landing gear, you should keep using this for now.
- Controller display and haptic: Updated numerous displayed messages and haptic feedback to be more useful and helpful to the user.
- Safety & Mode Reliability: Removed numerous unnecessary layers from communication between the controller and ArduCopter. The fly, home, and pause button functions now communicate directly to the Cube and ArduCopter rather than going through layers of handling in the smart shot manager. Also made mode changes better handle a smart shot that didn't properly close.
- Smart shot cleanups and compatibility fixes:
- All the compatibility fixes needed for the green cube.
- Standardized horizontal acceleration to 2/m/s/s across all shots for consistency and smoothing.
- Entering shot reduces copter pitch/roll acceleration for smoothing and consistency, especially with green cube solos that have more power.
- Added compatibility with Solex geotagging functions
- Home button and RTH failsafe now use ArduCopter RTL Mode instead of the old "Return Home" smart shot. This is more reliable and eliminates numerous points of failure. They have the same end result.
- Newer version of some system files to make troubleshooting and recovery from problems easier.
- Factory reset will now reset the ArduCopter parameters on the pixhawk to default as well. This was always a troubleshooting problem, and eliminates unnecessary extra steps.
- Lost functionality: Unfortunately, two things had to get sacrificed in this due to compatibility and incomplete development from 3DR. The impact should be rather minimal.
- Rewind has been removed. The 3DR Solo app still has the option to turn it on/off, which also never worked right, and they will not do anything. This was a feature 3DR was in the middle of developing when they closed shop. It is not compatible with ArduCopter RTL mode. It is something that may be revised in the future as something that isn't connected to any failsafe and is executed with a button push. But not right now.
-Hover instead of landing in return to home or return to me has been removed. This was intertwined with the rewind code and the old return home smart shot. It is not compatible with ArduCopter RTL mode. And it also was incomplete and not really safe to use anyway. This again is something I'd like to revisit in the future, since it has some use cases (like boating). But for now, it's only returns home (or return to me) and lands when it gets there. - Alternative for now: If you need the hover option, you can manually increase ArducCopter parameter
RTL_LOIT_TIME
. It is in milliseconds. It is the amount of time the copter will hover prior landing. If simply turn it up to several minutes or whatever suites you needs, you will have the same effect.
- Rewind has been removed. The 3DR Solo app still has the option to turn it on/off, which also never worked right, and they will not do anything. This was a feature 3DR was in the middle of developing when they closed shop. It is not compatible with ArduCopter RTL mode. It is something that may be revised in the future as something that isn't connected to any failsafe and is executed with a button push. But not right now.
Tech and Contributors
If you're the geeky type that wants to read all the commits to see what has been changed in Open Solo, they can all be found in the Open Solo github repositories.
-
The Build System compiles all the code from all the repositories into functioning binaries to be loaded onto the Solo and Controller. This was a HUGE lift to make work outside of 3DR's environment. David Buzz (@davidbuzz) was the brains behind the move of everything from 3DR, setup of new repos and servers, build system engineering, and a new AWS based auto-build system. The AWS system can compile from scratch in 1hr, whereas a home PC takes up to 5hrs.
- Meta-3DR is all the Yocto bitbake recipes.
- Solo-Builder is the virtual machine and scripts to carry out the build.
-
The Flight Code has numerous components that got fixes and new features. Matt Lawrence (@Pedals2Paddles) worked most of these changes. Other contributors to the code were Tim (@FLYBYME), Morten Enholm (@Spawn32), and Hugh Eaves (@hugheaves),
- Sololink is mostly behind the scenes stuff related to booting, networking connections, firmware loading, etc. This compiles into a version for both the Copter and Controller's IMX companion computers.
- Shotmanager is all the smart shots, button and control handling, camera stuff, and most other user facing operational stuff. This compiles primarily into the Copter's IMX companion computer.
- Artoo is the controller's STM32 firmware for the screen, buttons, and sticks.
- Mavlink-Solo is a rather old fork of Mavlink. The flight modes were brought up to current enumerations.
- Sololink-python is some misc helper python files.
- ArduPilot-solo is 3DR's fork of ArduCopter used on the stock Solo pixhawk 2.0 cube.
Installation Instructions
The process for installing Open Solo is quite straightforward. The general steps are
- Load install packages to copter and controller
- Reboot copter and controller
- Pair
- Calibrate.
- Fly.
Detailed instructions for each installation method can be found here:
- For stock solos and previously installed and working green cubes, go straight to the Open Solo installation procedures:
- Install using the Solex app on Android for stock pixhawk cubes and previously installed green cubes
- Install using SidePilot app on iOS
- Install using SSH/SFTP on widows or mac
- Install / Recovery with SD card images
- For a brand new Green Cube installation please follow these updated instructions!