Commit Graph

152 Commits

Author SHA1 Message Date
Randy Mackay 167a856cdb Rover: remove THR_MIN, THR_MAX parameters from vehicle
enforcing these limits is now handled by AP_MotorsUGV class
2017-08-17 09:39:40 +09:00
Randy Mackay 0b917cfd36 Rover: mode auto guided and rtl slow before destination
new mode class member _desired_speed_final holds target speed at destination

main vehicle code passes heading to next waypoint into auto mode.
we do not provide heading when delaying at waypoint which signals we wish

auto-mode calculates final speed at destination which allows vehicle to
make turn within value of WP_OVERSHOOT parameter assuming vehicle turns at
maximum lateral acceleration.
2017-08-15 20:47:19 +09:00
Randy Mackay d99108f3bc Rover: use AR_AttitudeControl for throttle control
also direct throttle nudge replaced with speed nudge
calc_speed_max estimates vehicle's top speed based on cruise-speed and
cruise-throttle
steering mode now provides total target speed instead of using speed plug
throttle nudge
motor limits provided to attitude control to stop i-term buildup
uses negative desired speed instead of reversed flag
reporting to GCS uses new throttle controller
braking is simply enabled and allows a reverse motor output regardless of vehicle
speed
2017-08-15 20:47:19 +09:00
Randy Mackay 61d1ced7aa Rover: add turn radius param for steering mode
removes reliance on old steerController
2017-08-15 20:47:19 +09:00
Randy Mackay 9097269d6d Rover: use AR_AttitudeControl for steering control 2017-08-15 20:47:19 +09:00
Peter Barker fa2b500e93 Rover: remove CLI 2017-08-14 10:23:50 +09:00
Randy Mackay b895da64e1 Rover: minor comment fix to parameters list 2017-08-12 14:46:19 +09:00
Randy Mackay e79e92a789 Rover: remove unused SPEED_TURN_DIST parameter 2017-08-12 13:58:35 +09:00
khancyr 40b860e240 Rover: rename sonar to rangefinder 2017-07-14 17:40:05 +01:00
Randy Mackay ebbbe0584a Rover: integrate wheel encoder 2017-07-14 07:27:26 +09:00
Pierre Kancir 267a1532b9 Rover: integrate motors library
move throttle_slew_limit and THR_SLEWRATE parameter
move have_skid_steering to library
move mix_skid_steering to library's output_skid_steering method
move radio.cpp's output channel initialisation to motor's init method
use motors.get_throttle and get_steering instead of getting from Servo objects
use motors.set_throttle and set_steering instead of setting to Servo object
AP_Arming::arming_required is replaced with SAFE_DISARM parameter
2017-07-08 16:07:13 +09:00
Eugene Shamaev b6c397c85a APMrover2: move of CAN parameters into separate group 2017-07-03 11:44:32 +01:00
Pierre Kancir c865972e9c Rover: remove skid_steer_out parameter 2017-06-24 13:17:36 +09:00
Randy Mackay 0da6e73d76 Rover: add support for visual odometry 2017-06-14 09:12:20 +09:00
karthik.desai 47ff9ddeec Rover: Added Beacon implementation
Enabled beacon parameters
beacon updates at 50hz
Use dataflash library to log AP_Beacon msg
2017-04-26 11:59:11 +09:00
Pierre Kancir c41e695c98 APMRover2: correct some style 2017-04-26 08:43:09 +10:00
Pierre Kancir 99ba8bdc08 APMRover2: add advance failsafe 2017-01-31 17:12:37 +11:00
Andrew Tridgell 93d6b012c2 Rover: convert to new SRV_Channel API 2017-01-12 17:39:37 +11:00
Pierre Kancir 0f89f6918e Rover: Parameters.h correct whitespace, remove tabs 2016-12-30 09:20:24 +09:00
priseborough 2facebff80 Rover: Add EKF3 and remove EKF1 2016-12-19 08:07:10 +11:00
Pierre Kancir dec954bb0c Rover: added crash check 2016-12-07 12:46:02 +11:00
Pierre Kancir 326e0f224f Rover: added SYSID_ENFORCE parameter 2016-11-24 09:34:48 +11:00
Peter Barker 36c0bacada Rover: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09:00
Peter Barker cfee3b6c0e Rover: add support for ParametersG2 2016-10-29 14:53:25 +09:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell fd0f31dc44 Rover: added AP_Button support 2016-07-22 15:01:21 +10:00
Andrew Tridgell bb9783e3f4 Rover: moved EKF2 to a new parameter index
the meanings of many of the parameters have changed. Best to use a new
index to prevent old parameters from causing crashes
2016-05-25 19:35:17 +10:00
Lucas De Marchi dd8014dd2f APMrover2: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Andrew Tridgell bd272390bc Rover: support up to 14 input channels on all boards 2016-01-04 08:23:04 +11:00
pepevalbe b4c02d8cd7 Rover: added group parameter for AP_Notify library 2015-12-31 11:33:11 +09:00
Peter Barker 5d46a9add0 Rover: support multiple simultaneous backends 2015-12-03 13:21:51 +11:00
Grant Morphett 3636b53313 Rover: Implementation of the ARMING functionality 2015-11-11 13:39:38 +11:00
Lucas De Marchi 45ba94343d APMrover2: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Andrew Tridgell 5cac948ed0 Rover: added EK2_ parameters and EKF2 instance 2015-09-23 11:56:27 +10:00
Randy Mackay bcc87a9a3b Rover: replace SKIP_GYRO_CAL with INS_GYR_CAL
Also calibrate gyros during accel trim
2015-09-21 17:06:45 +09:00
Stewart Loving-Gibbard a315b980bf Rover: Moving to RSSI library for reading various kinds of RSSI, with the possibility of adding more.
* Retains ability to read from Analog Pin
* Adds ability to read RSSI from PWM channel value as is done in OpenLRSng, EazyUHF, and various other LRS.
* Handles any type of RSSI that provides RSSI values inverted - i.e. when the low value is the best signal and the high value is the worst signal.
* Has different key names from all existing RSSI parameters to provide for a clean break and easier distinguishing.
* Existing parameters are marked as obsolete
2015-08-29 08:05:59 +10:00
Gustavo Jose de Sousa 01e05ce743 APMrover2: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:28:40 +10:00
Grant Morphett a602173c45 Rover: added the PID logging for steering into the mavlink message.
Copter/Plane already have this PID logging in the mavlink stream to
the GCS and now Rover does too.
2015-06-19 09:55:19 +10:00
Randy Mackay 757f388d62 Rover: add support for 4th mavlink channel 2015-05-15 15:07:30 +09:00
Andrew Tridgell b8ab87ea86 Rover: added CLI_ENABLED parameter 2015-03-09 17:58:37 +11:00
Randy Mackay 9f7f1e62df Rover: integrate SerialManager 2015-01-29 14:05:16 +11:00
Randy Mackay 1ab405bf88 Rover: integrate mount frontend-backend restructure
rename mount.set_roi_cmd to set_roi_target
2015-01-29 13:57:18 +11:00
Matthias Badaire 874ef65d74 Plane: Add SERIAL2_PROTOCOL for GCS and FRSky telemtry
This allows selection of protocol type on telem2. The default is MAVLink, but can be selected as FrSky protocol
2014-07-29 17:08:20 -07:00
Andrew Tridgell bfe705a14d Rover: convert to new AP_RangeFinder API 2014-07-08 15:07:50 +10:00
Andrew Tridgell 1118609024 Rover: change baudrates to 16 bit
allows for much higher serial baud rates
2014-05-21 12:45:25 +10:00
Emile Castelnuovo c5620dfd39 Rover: added VRBRAIN #defines and #includes 2014-04-08 16:19:20 +10:00
Andrew Tridgell 58cfdebcd0 Rover: added BRAKING_SPEEDERR parameter
this controls how much speed error you need before brakes are used
2014-04-07 08:42:54 +10:00
Andrew Tridgell b8f9b5ad91 Rover: added GPS parameters 2014-04-01 06:38:26 +11:00
Andrew Tridgell 563cf06624 Rover: make log_bitmask 32 bit
this fixes the log before arm
2014-03-31 17:48:28 +11:00
Andrew Tridgell f4f04ead68 Rover: added BRAKING_PERCENT parameter
this allows for reverse throttle to be applied for braking in corners
2014-03-31 08:44:19 +11:00
Andrew Tridgell ce3ed33649 Rover: support 14 RC channels on PX4 2014-03-25 14:47:05 +11:00
Randy Mackay 192286f04d Rover: create Mission object 2014-03-19 12:11:27 +09:00
Andrew Tridgell eac4b1ec96 Rover: fixed EKF usage for rover
added barometer object, and use shared home object from AHRS. This
gives basic EKF operation.
2014-02-24 09:25:50 +11:00
Randy Mackay bb0995f7d8 Rover: add EKF params to full param list 2014-02-21 13:51:34 +09:00
Andrew Tridgell 4e2d5043ba Rover: added PIVOT_TURN_ANGLE parameter
this allows skid steering rovers to turn on the spot for sharp turns
2014-02-17 10:11:40 +11:00
Andrew Tridgell 89c99ce145 Rover: enable AP_BoardConfig 2014-01-20 17:06:28 +11:00
Andrew Tridgell fe0e627304 Rover: changed SERIAL3_BAUD to SERIAL1_BAUD
and add SERIAL2_BAUD for systems that have it
2013-11-26 13:00:03 +11:00
Andrew Tridgell 14a0f8f46d Rover: added support for uartD 2013-11-25 11:21:52 +11:00
Andrew Tridgell c20d0e8152 Rover: added SKIP_GYRO_CAL option 2013-10-21 09:56:00 +11:00
Randy Mackay 121e4932ea Rover: integrate BattMonitor 2013-10-03 11:16:29 +09:00
Andrew Tridgell d000cd2320 Rover: switched to new steering controller
this uses a steering rate controller, based upon the planes roll
controller
2013-09-09 18:04:41 +10:00
Andrew Tridgell ecccc05eed Rover: added STEERING_LEARN parameter
when enabled (set to 1) it will learn TURN_CIRCLE based on the
demanded and actual lateral acceleration
2013-09-09 18:04:40 +10:00
Andrew Tridgell 97ed733ada Rover: use L1 controller for navigation
this uses the AP_L1_Control library for rover navigation
2013-09-09 18:04:40 +10:00
Andrew Tridgell 8c7619a837 Rover: moved camera parameter indexes
this prevents a conflict with some old parameters
2013-07-15 10:25:04 +10:00
Andrew Tridgell 5b88334dbb Rover: added full camera and mount support 2013-07-15 09:57:00 +10:00
Andrew Tridgell 135146c735 Rover: added LEARN_CH parameter
this allows the learning channel to be set, for transmitters where
setting up channel 7 is difficult
2013-07-01 10:10:38 +10:00
Andrew Tridgell a5586ec394 Rover: enable RELAY_* parameters 2013-06-25 12:48:58 +10:00
Andrew Tridgell 2d795ac85a Rover: convert to use AP_Scheduler
this gives us better timing information and scheduling, while also
making the code easier to read
2013-06-04 10:37:05 +10:00
Andrew Tridgell 5a9485a419 Rover: support RCMAP_* mapping for steering/throttle 2013-06-03 19:33:59 +10:00
Andrew Tridgell 3f9ade2b1f Rover: added INITIAL_MODE option
this should be useful for sparkfun comp
2013-05-03 08:08:30 +10:00
Andrew Tridgell ad7e8bd9c4 Rover: added SONAR_DEBOUNCE option
this allows us to debounce the sonar triggering, which will make it
handle noise better
2013-03-29 10:49:08 +11:00
Andrew Tridgell 3bed733f56 Rover: added AUTO_KICKSTART and AUTO_TRIGGER_PIN options 2013-03-22 09:38:25 +11:00
Andrew Tridgell 47890dfa72 Rover: added dual sonar support 2013-03-22 08:49:51 +11:00
Andrew Tridgell 065cac76c0 Rover: use new sonar enabled flag in object 2013-03-22 07:53:16 +11:00
Andrew Tridgell 0dde0b3551 Rover: initial implementation of skid steering for APMrover2
this adds SKID_STEER_IN and SKID_STEER_OUT parameters for controlling
skid skeering control and output
2013-03-15 11:04:33 +11:00
Andrew Tridgell 2294de85ac Rover: removed INPUT_VOLTS parameter
no longer needed
2013-03-08 10:01:51 +11:00
Andrew Tridgell 6dd549dea8 Rover: removed SONAR_TYPE option
now set the values in the object
2013-03-01 12:59:31 +11:00
Andrew Tridgell 12d73a8662 Rover: use new AP_RangeFinder_analog class 2013-03-01 12:00:48 +11:00
Andrew Tridgell be3b2ee9f8 Rover: cleaned up sonar_trigger_cm parameter 2013-03-01 07:47:26 +11:00
Andrew Tridgell 66abee5544 Rover: added more sonar parameters
better control over obstacle avoidance
2013-03-01 07:18:25 +11:00
Andrew Tridgell bf6198be40 Rover: tweaked parameters and added SPEED_TURN_GAIN and SPEED_TURN_DIST 2013-02-22 08:38:13 +11:00
Andrew Tridgell 6cf4d11e33 Rover: cleanup parameter names and remove dead parameters 2013-02-09 20:36:26 +11:00
Andrew Tridgell f1ff27ed08 Rover: major restructuring
this removes a lot of the old arduplane code, and renames a lot of
variables.

This will need a lot more testing and fixup before being usable
2013-02-08 09:21:22 +11:00
Andrew Tridgell aff5b1559d Rover: added SERIAL0_BAUD parameter 2013-01-20 22:12:57 +11:00
Andrew Tridgell b284d4c21e Rover: first cut at porting rover to AP_HAL 2012-12-20 14:52:34 +11:00
Andrew Tridgell 1f8a61615c Rover: added more parameter docs 2012-11-28 11:42:51 +11:00
Andrew Tridgell aac088dc5b Rover: removed closed loop nav
use a jump in the mission instead
2012-11-28 10:42:10 +11:00
Andrew Tridgell 691d19dd98 Rover: more cleanup, and fixed navigation code
removed loiter code
2012-11-28 09:35:42 +11:00
Andrew Tridgell a16ba57467 Rover: cleaned up a bunch more plane cruft
removed elevon and flap support
2012-11-28 09:35:42 +11:00
Andrew Tridgell b2899dc9c4 Rover: added in sitl object, needed for throttle control 2012-11-27 23:20:25 +11:00
Andrew Tridgell 16b5b00368 Rover: removed inverted flight support 2012-11-17 18:03:17 +11:00
Andrew Tridgell abc0a1cd38 Rover: major update, fixing lots of bugs
This removes a lot of the ArduPlane specific cruft left over from the
initial Rover import from ArduPlane, plus fixes a bunch of serious
bugs. For example, the rover was unable to use either compass or gps
for heading - it used just gyros!

There is still a lot of cruft left, but this at least gives a bit
better basis for future work
2012-11-17 17:45:30 +11:00
rmackay9 e877a58b60 APMRover: fixes to incorporate accelerometer calibration 2012-11-07 19:21:20 +09:00
Andrew Tridgell 97aa98015d Rover: added TELEM_DELAY to rover code 2012-08-30 09:36:18 +10:00
Andrew Tridgell dfac01e6f1 AP_Param: updated APMrover2 code for new AP_Param syntax 2012-08-08 12:12:29 +10:00
Andrew Tridgell 1b099344a3 Rover: fixed build with new RC_Channel code 2012-08-08 12:11:05 +10:00
Andreas M. Antonopoulos d4a0cb5db1 Added Michael Pursifull's Maxsonar HRLV model support 2012-07-11 18:46:47 -07:00
Jean-Louis Naudin 9355a159fc APMrover v2.20 - use RangeFinder optical SharpGP2Y instead of ultrasonic sonar
Signed-off-by: Jean-Louis Naudin <jlnaudin@gmail.com>
2012-06-13 08:29:32 +02:00
Jean-Louis Naudin 408d3dfa98 APMrover v2.1.6 - Added Speed Booster between wp and soft start
Signed-off-by: Jean-Louis Naudin <jlnaudin@gmail.com>
2012-05-17 18:42:16 +02:00
Robert Lefebvre 10b5d758f8 Changed software ID from 0 to 20 for ArduRover V2 Divergence.
Also changed definition of flight mode 2 from Stabilize to Learning.
2012-05-14 15:21:29 -04:00