Grant Morphett's Posts (9)

Sort by
Developer

APM:Rover 3.0.1 Released!

3689693742?profile=original

Release 3.0.1, 17 June 2016

The ArduPilot development team is proud to announce the release of version 3.0.1 of APM:Rover. This is a minor release with small but important bug fix changes.

The two main motivations for this release
1. Fixing the arming for skid steering Rovers
2. Fix to the rover steering that should really improve steering of all rovers.

Skid Steering Arming

Fixed arming for Skid Steering rovers. You should now be able to arm your skid steering rover using the steering stick. NOTE skid steering Rovers - you will not be able to disarm. The reason for this is zero throttle full left turn is a perfectly valid move for a skid steering rover as it can turn on the spot. You don't want to be executing this and have the rover disarm part way through your turn so we have disabled disarming via the steering stick. You can still disarm from the GCS. Thanks to Pierre Kancir for working on this.

Improved Steering Control

For historical reason's the steering controller was using the raw GPS data for ground speed without any filtering. If you have every graphed this data you will see on a rover its very spiky and all over the place. This spiky'ness was feeding into the lateral accel demand and causing inaccuracies/jitters. Now we using the EKF GPS filtered data which is much smoother and accurate and the steering control has greatly improved.

Improved Cornering

Previously when corning we didn't take into account any "lean or tilt" in the rover - we assumed the turns were always flat. We have changed this to now take into account any lean so turning should be more accurate. Boat users should really benefit from this too.

MAVLink2 support has been added

See this post by Tridge -

http://discuss.ardupilot.org/t/mavlink2-is-in-ardupilot-master/9188/1

The other changes in this release are:

  • setting your sonar_trigger_cm to 0 will now log the sonar data but not use it for vehicle avoidance.
  • the throttle PID is now being logged
  • range finder input is now being captured (thanks to Allan Matthew)
  • added LOG_DISARMED parameter
  • merge upstream PX4Firmware changes
  • numerous waf build improvements
  • numerous EKF2 improvements

Thanks to everyone who helped on the release.

Read more…
Developer

Rover Release 3.0.0 is OUT!

3689639585?profile=originalThe ArduPilot development team is proud to announce the release of version 3.0.0 of APM:Rover. This is a major release with a lot of changes so please read the notes carefully!

A huge thanks to ALL the ArduPilot developers.  The Rover code benefits tremendously from all the hard work that goes into the Copter and Plane vehicle code.  Most of the code changes in this release were not specifically for Rover however because of the fantastic architecture of the ArduPilot code Rover automatically get's those enhancements anyway.

Note that the documentation hasn't yet caught up with all the changes in this release. We are still working on that, but meanwhile if you see a feature that interests you and it isn't documented yet then please ask.

The 3.x.x releases and above DON'T support APM1/APM2
This release DOES NOT SUPPORT the old APM1/APM2 AVR based boards. The issue is the amount of effort required to keep the new code ported to the old platforms.  We are very sorry this has to occur and if there is someone who is willing and technically capable of doing this work then please let us know.

There will be a discussion created on ArduPilot forums where people can request features in the new code be backported to the APM code to run on the AVR boards and if it is reasonably easy and they are willing to do the beta testing we will do our best to make it happen.

EKF2 - New Kalman Filter
Paul Riseborough has been working hard recently on the new EKF2 variant which fixes many issues seen with the old estimator. The key improvements are:

  • support for separate filters on each IMU for multi-IMU boards (such as the Pixhawk), giving a high degree of redundancy
  • much better handling of gyro drift estimation, especially on start up
  • much faster recovery from attitude estimation errors


After extensive testing of the new EKF code we decided to make it the default for this release. You can still use the old EKF if you want to by setting AHRS_EKF_TYPE to 1, although it is recommended that the new EKF be used for all vehicles.

In order to use the EKF we need to be a bit more careful about the setup of the vehicle. That is why we enabled arming and pre-arm checks by default. Please don't disable the arming checks, they are there for very good reasons.

UAVCAN new protocol
The uavcan change to the new protocol has been a long time coming, and we'd like to thank Holger for both his great work on this and his patience given how long it has taken to be in a release. This adds support for automatic canbus node assignment which makes setup much easier, and also supports the latest versions of the Zubax canbus GPS.

Support for 4 new Boards
The porting of ArduPilot to more boards continues, with support for 3 new boards in this release. They are:

  • the BHAT board
  • the PXFmini
  • the QualComm Flight
  • the Pixracer


More information about the list of supported boards is available here:
http://dev.ardupilot.com/wiki/supported-autopilot-controller-boards/

Startup on a moving platform
One of the benefits of the new EKF2 estimator is that it allows for rapid estimation of gyro offset without doing a gyro calibration on startup. This makes it possible to startup and arm on a moving platform by setting the INS_GYR_CAL parameter to zero (to disable gyro calibration on boot). This should be a big help for boats.

Improved Camera Trigger Logging
This release adds new CAM_FEEDBACK_PIN and CAM_FEEDBACK_POL parameters. These add support for separate CAM and TRIG log messages, where TRIG is logged when the camera is triggered and the CAM message is logged when an external pin indicates the camera has actually fired. This pin is typically based on the flash hot shoe of a camera
and provides a way to log the exact time of camera triggering more accurately. Many thanks to Dario Andres and Jaime Machuca for their work on this feature.

PID Tuning
You can now see the individual contributions of the P, I and D components for the Steering PID in the logs (PIDY), allowing you to get a much better picture of the performance.

Vibration Logging
This release includes a lot more options for diagnosing vibration issues. You will notice new VIBRATION messages in MAVLink and VIBE messages in the dataflash logs. Those give you a good idea of your (unfiltered) vibration levels. For really detailed analysis you can setup your LOG_BITMASK to include raw logging, which gives you every accel and gyro sample on your Pixhawk. You can then do a FFT on the result and plot the distribution of vibration level with frequency. That is great for finding the cause of vibration issues. Note that you need a very fast microSD card for that to work!

Steering Disarm
This is the first release that allows you to disarm using steering if you want to. It isn't enabled by default. You can enable it
with the ARMING_RUDDER parameter by setting it to 2. It will only allow you to disarm if the autopilot thinks you are not moving at the time.

More Sensors
This release includes support for a bunch more sensors. It now supports 3 different interfaces for the LightWare range of Lidars (serial, I2C and analog), and also supports the very nice Septentrio RTK dual-frequency GPS (the first dual-frequency GPS we have support for). It also supports the new "blue label" Lidar from Pulsed Light (both on I2C and PWM).

For the uBlox GPS, we now have a lot more configurability of the driver, with the ability to set the GNSS mode for different constellations. Also in the uBlox driver we support logging of the raw carrier phase and pseudo range data, which allows for post RTK analysis with raw-capable receivers for really accurate photo missions.

Better Linux support
This release includes a lot of improvements to the Linux based autopilot boards, including the NavIO+, the PXF and ERLE boards and the BBBMini and the new RasPilot board.

On-board compass calibrator
We also have a new on-board compass calibrator, which also adds calibration for soft iron effects, allowing for much more accurate compass calibration.

Lots of other changes!
The above list is just a taste of the changes that have gone into this release. Thousands of small changes have gone into this release with dozens of people contributing. Many thanks to everyone who helped!

Other key changes

  • fixed the MAV_CMD_DO_SET_HOME (thanks salonijain12)
  • fixed bug when reverse throttle would increase speed in AUTO
  • fixed a bug going into guided and rover still moving
  • loitering at a waypoint if Param1 is non-zero
  • update uavcan to new protocol
  • fixed reporting of armed state with safety switch
  • added optional arming check for minimum voltage
  • improved text message queueing to ground stations
  • re-organisation of HAL_Linux bus API
  • improved NMEA parsing in GPS driver
  • improved autoconfig of uBlox GPS driver
  • support a wider range of Lightware serial Lidars
  • improved non-GPS performance of EKF2
  • improved compass fusion in EKF2
  • improved support for Pixracer board
  • improved NavIO2 support
  • added BATT_WATT_MAX parameter
  • enable messages for MAVLink gimbal support
  • use 64 bit timestamps in dataflash logs
  • added realtime PID tuning messages and PID logging
  • fixed a failure case for the px4 failsafe mixer
  • added DSM binding support on Pixhawk
  • added vibration level logging
  • ignore low voltage failsafe while disarmed
  • added delta velocity and delta angle logging
  • allow steering disarm based on ARMING_RUDDER parameter
  • prevent mode switch changes changing WP tracking
  • fixed parameter documentation spelling errors
  • send MISSION_ITEM_REACHED messages on waypoint completion
  • enable EKF by default on rover
  • Improve gyro bias learning rate for plane and rover
  • Allow switching primary GPS instance with 1 sat difference
  • added NSH over MAVLink support
  • added support for mpu9250 on pixhawk and pixhawk2
  • Add support for logging ublox RXM-RAWX messages
  • lots of updates to improve support for Linux based boards
  • added ORGN message in dataflash
  • added support for new "blue label" Lidar
  • switched to real hdop in uBlox driver
  • improved auto-config of uBlox
  • raise accel discrepancy arming threshold to 0.75
  • improved support for tcp and udp connections on Linux
  • switched to delta-velocity and delta-angles in DCM
  • improved detection of which accel to use in EKF
  • improved auto-detections of flow control on pixhawk UARTs
  • added HDOP to uavcan GPS driver
  • improved sending of autopilot version
  • log zero rangefinder distance when unhealthy
  • added PRU firmware files for BeagleBoneBlack port
  • fix for recent STORM32 gimbal support
  • changed sending of STATUSTEXT severity to use correct values
  • added new RSSI library with PWM input support
  • fixed MAVLink heading report for UAVCAN GPS
  • support LightWare I2C rangefinder on Linux
  • improved staging of parameters and formats on startup to dataflash
  • added new on-board compass calibrator
  • improved RCOutput code for NavIO port
  • added support for Septentrio GPS receiver
  • support DO_MOUNT_CONTROl via command-long interface
  • added CAM_RELAY_ON parameter
  • moved SKIP_GYRO_CAL functionality to INS_GYR_CAL
  • new waf build system
  • new async accel calibrator
  • better rangefinder power control
  • dataflash over mavlink support
  • settable main loop rate
  • hideable parameters
  • improved logging for dual-GPS setups
  • improvements to multiple RTK GPS drivers
  • numerous HAL_Linux improvements
  • improved logging of CAM messages
  • added support for IMU heaters in HAL_Linux
  • support for RCInput over UDP in HAL_Linux
  • improved EKF startup checks for GPS accuracy
  • added raw IMU logging for all platforms
  • configurable RGB LED brightness
  • improvements to the lsm303d driver for Linux

Read more…
Developer

3689655666?profile=originalChristmas already?  Yes, yes it is with the brand new state of the art code thanks to the huge effort by the ArduPilot development team and some great contributions from the community.  GO ROVER!

http://ardupilot.com/forum/viewtopic.php?f=112&t=12801

The ArduPilot development team has released version 2.50 of APM:Rover. This release is mostly a back-end improvement to ArduPilot but a few new features and bug fixes are included.

Re-do Accelerometer Calibration
Due to a change in the maximum accelerometer range on the Pixhawk all users must re-do their accelerometer calibration for this release.

Only 3D accel calibration
The old "1D" accelerometer calibration method has now been removed, so you must use the 3D accelerometer calibration method. The old method was removed because a significant number of users had poor experiences.

Changes in this release are:

  • CLI_ENABLED parameter added so the CLI can now be accessed in Rover
  • PID logging for the steering controller. It its now possible to graph what the P, I and D are doing as your driving the rover around to enable much better tuning of the vehicle.
  • Transition from .pde file to .cpp files for improved development.
  • GIT Submodules created for PX4Firmware, PX4Nuttx and uavcan git repositories for improved development.
  • Followme mode now works for Rover
  • GUIDED mode significantly improved. If you have a GCS which is in Followme mode if the user then changes mode with the RC transmitter to HOLD or anything else then the Rover will STOP listening to the
  • Followme updated guided mode waypoints.
  • When going into GUIDED mode the rover went into RTL - this is fixed.
  • Added EKF_STATUS_REPORT MAVLink message
  • 64-bit timestamps in dataflash logs
  • Numerous EKF improvements
  • Added support for 4th Mavlink channel
  • Added support for raw IMU logging
  • Updated Piksi RTK GPS driver
  • Improved support for GPS data injection (for Piksi RTK GPS)
  • The SITL software in the loop simulation system has been completely rewritten for this release. A major change is to make it possible to run SITL on native windows without needing a Linux virtual machine. (thanks Tridge)


ENJOY!

Read more…
Developer

APM:Rover 2.47 Released

3689625704?profile=originalThe ardupilot development team is proud to announce the release of version 2.47 of APM:Rover. This is a minor bug fix release. The most important change in this release is the fixing of the skid steering support but there have been a number of fixes in other areas as well.

Full changes list for this release:

  • add support for controlling safety switch on Pixhawk from ground station
  • prevent reports of failed AHRS during initialisation
  • fixed skid steering that was broken in the last release
  • report gyro unhealthy if gyro calibration failed
  • fixed dual sonar support in CLI sonar test
  • fixed Nuttx crash on Pixhawk with bad I2C cables
  • added GPS_SBAS_MODE parameter - turns on/off satellite based augemtation system for GPS
  • added GPS_MIN_ELEV parameter - specifiy the elevation mask for GPS satellites
  • added RELAY_DEFAULT parameter to control default of relay on startup
  • fixed bug in FRAM storage on Pixhawk that could cause parameters changes not to be saved
  • better handling of compass errors in the EKF (Extended Kalman Filter)
  • improved support for linux based autopilots
  • added support for PulsedLight LIDAR as a range finder



Many thanks to everyone who contributed to this release, especially
Tom Coyle and Linus Penzlien for their excellent testing and feedback.

P.S. Hi all - I am helping Tridge with Rover development and this is my first release announcement.

Happy driving!

Read more…