Commit Graph

150 Commits

Author SHA1 Message Date
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
Jean-Louis Naudin 4a4402556b APMrover v2.1.3 :
Added option (hold roll to full right + SW7 ON/OFF) to init_home during the wp_list reset
Add ROV_SONAR_TRIG (default = 200 cm) - tested by Franco
Restart_nav() added and heading bug correction, tested OK in the field
RTL then stop update - Tested OK in the field
Added SONAR detection for obstacle avoidance

Signed-off-by: Jean-Louis Naudin <jlnaudin@gmail.com>
2012-05-14 17:47:08 +02:00
Jean-Louis Naudin 77eea3a893 APMrover v2.0 - tested on Traxxas Monster Jam Grinder XL-5 3602
Signed-off-by: Jean-Louis Naudin <jlnaudin@gmail.com>
2012-04-30 09:17:14 +02:00