Commit Graph

165 Commits

Author SHA1 Message Date
Ammarf b95ac72d35 Rover: add LOITER to ch7 options 2018-05-24 17:59:45 +09:00
Ammarf 2d64a47f90 Rover: add pivot_turn_rate to g2 2018-05-21 09:48:43 +09:00
Randy Mackay 40a8e0de09 Rover: default BRD_SAFETYOPTION to to allow disarming with safety switch 2018-05-09 08:02:21 +10:00
Andrew Tridgell a575608110 Rover: fixed build warnings 2018-05-07 11:43:23 +10:00
Randy Mackay c6638f66de Rover: Loiter mode for boats 2018-05-06 16:58:00 +09:00
Peter Barker 0b1091231c Rover: remove rcmap member from AP_AdvancedFailsafe
Also correct constructor for barometer

Also make it compile again
2018-05-05 18:06:31 +09:00
Randy Mackay feb9cfc390 Rover: reduce TURN_MAX_G default to 0.6 2018-04-26 14:17:04 +09:00
Randy Mackay 87eef9051f Rover: increase default pivot turn angle to 60deg
pivoting at only 30degrees of error could lead to endless twitching back and forth for poorly tuned rovers
2018-04-19 16:32:48 +09:00
Peter Barker db7ce9aba2 Rover: use ahrs singleton for SmartRTL 2018-04-02 17:16:02 +01:00
nicknunno 8888adbfd4 Rover: TURN_MAX_G param desc update for range and increment 2018-04-02 09:13:25 +09:00
Randy Mackay dcfe104163 Rover: reduce CRUISE_SPEED default to 2m/s
based on user logs most rovers max speed is less than 4m/s so this default is closer to the average
2018-03-09 13:19:21 +09:00
night-ghost bab54ea647 Rover: allow AP_Stats to be optional 2018-03-02 07:23:35 +11:00
Randy Mackay 489c42bdff Rover: add avoidance library 2018-01-22 17:18:41 +09:00
khancyr 5503a0069d Rover: add proximity library 2018-01-22 17:18:41 +09:00
khancyr c3fb985ec5 Rover: add fence support 2018-01-22 17:18:41 +09:00
Dylan Herman f3b794f698 Rover: Add SmartRTL failsafe action
Add failsafe actions SmartRTL or RTL and SmartRTL or Hold
2018-01-19 09:26:45 +09:00
Randy Mackay 457c39bf1b Rover: FS_ param values changed to camel case
Also minor comment change in crash-check failsafe
2017-12-23 13:53:34 +09:00
Randy Mackay 9710b16cac Rover: THR dataflash logging replaces CTUN 2017-12-09 12:18:49 +09:00
Randy Mackay df81f666df Rover: fix LOG_BITMASK parameter description 2017-12-09 12:18:49 +09:00
Randy Mackay aa38239629 Rover: add FRAME_CLASS to differentiate boats from rovers 2017-12-08 08:48:05 +09:00
Randy Mackay 57067fb8bc Rover: add WP_SPEED and RTL_SPEED
This separates the default/maximum speed used in Auto, Guided, RTL and SmartRTL from the CRUISE_SPEED which is used as the base for the speed-to-throttle controller (along with CRUISE_THROTTLE)
2017-12-07 07:29:10 +09:00
Randy Mackay 0c6afac5c6 Rover: allow mode to be set from ch7 switch 2017-12-01 21:59:55 +09:00
Randy Mackay b4a779aec3 Rover: add arm/disarm to ch7 switch 2017-12-01 21:59:55 +09:00
Peter Barker e38cefea8a Rover: add SmartRTL mode
called at 3hz from scheduler
2017-12-01 09:28:56 +09:00
Randy Mackay 04e9228fa0 Rover: add Acro mode
ACRO_TURN_RATE allows user control of maximum turn rate
2017-11-29 14:03:43 +09:00
Randy Mackay 26f50f6055 Rover: PILOT_STEER_TYPE replaces SKID_STEER_IN
new options allow controlling vehicle's heading while reversing
skid-steering vehicles rotate in opposite direction when backing up
2017-11-29 09:38:53 +09:00
Randy Mackay cab972a429 Rover: reduce TURN_MAX_G default to 1.0
This is probably still slightly too high but closer than the previous 2.0
2017-11-27 12:25:28 +09:00
Randy Mackay 1600823b12 Rover: aux switch to learn cruise throttle and speed 2017-08-25 14:05:23 +09:00
Randy Mackay 14c74a5967 Rover: remove learning mode
saving waypoints can be done in manual or steering mode
2017-08-25 14:05:23 +09:00
Randy Mackay 524fe4cd82 Rover: aux switch saves waypoint in manual or steering modes
Also refactor aux switch methods
rename LEARN_CH to AUX_CH
2017-08-25 14:05:23 +09:00
Peter Barker 4fc31cf80d Rover: add ArduSub to list of SYSID_SW_TYPE 2017-08-24 19:50:38 +09:00
Randy Mackay 6eceaef484 Rover: remove redundant SYS_NUM_RESETS
this is handled by AP_Stats library
2017-08-17 09:39:40 +09:00
Randy Mackay e2d4182c75 Rover: fix parameter conversion 2017-08-17 09:39:40 +09:00
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 e79e92a789 Rover: remove unused SPEED_TURN_DIST parameter 2017-08-12 13:58:35 +09:00
Randy Mackay 66bb3e8ee0 Rover: minor formatting fix to parameters.cpp 2017-08-12 12:14:54 +09:00
Randy Mackay 96d55e0dbe Rover: fix wheel encoder parameter names
extra underscore removed
2017-07-27 21:57:17 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas efa59d47f2 Rover: fix FS_THR_VALUE min range 2017-07-19 20:33:07 +09:00
Randy Mackay 285653da30 Rover: fix init order to clear compile warning
no functional change
2017-07-19 15:26:33 +09:00
Michael du Breuil 993df82cfa APMRover: Fix bad parameter generation for AP_MotorUGV 2017-07-16 08:26:52 +10: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 f70a2b36ea Rover: integrate brushless motor support 2017-07-08 16:07:13 +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
Peter Barker cfeb449979 Rover: create GCS subclass, use inheritted methods 2017-07-07 16:18:37 +01: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
Dr.-Ing. Amilcar Do Carmo Lucas 981807fe9a Rover: NFC SYS_NUM_RESETS is a read-only variable 2017-06-07 19:53:00 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 771d2fb13c Rover: Be more explicit that a SPEED_TURN_GAIN value of 80% reduces "to 80%" and not "by 80%" 2017-06-06 11:34:52 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas c389dd93d7 Rover: NFC - correct the units of the RNGFND_TURN_ANGL parameter 2017-05-30 12:09:50 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas a2472e6787 Rover: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10: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 2eb0ed6242 APMRover2: Remove, correct some cast 2017-04-26 08:43:09 +10:00
Pierre Kancir 20cc336885 APMRover2: const correctness 2017-04-26 08:43:09 +10:00
Pierre Kancir c41e695c98 APMRover2: correct some style 2017-04-26 08:43:09 +10:00
Pierre Kancir b634fe548d APMRover2: Use c++ cast 2017-04-26 08:43:09 +10:00
Pierre Kancir d4bd61d859 APMRover2: unhide default NAVL1_PERIOD with a define
set the correct value to param
2017-04-15 13:48:40 +10:00
Grant Morphett cfb11729a6 Rover: Setting crash detecting to off by default. 2017-03-15 17:24:35 +11:00
Randy Mackay b8f24fba98 Rover: fix SYSID_ENFORCE parameter description 2017-02-28 15:07:59 +09:00
Andrew Tridgell fe4baf2904 Rover: setup frame type parameter flags 2017-02-14 19:50:01 +11:00
Peter Barker 407e251e1d Rover: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Andrew Tridgell 36cf57c0fa Rover: fixed parameter path 2017-02-06 15:12:32 +11:00
Pierre Kancir 99ba8bdc08 APMRover2: add advance failsafe 2017-01-31 17:12:37 +11:00
murata 0c813c5afa Rover: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Andrew Tridgell 9fe3eba2a0 Rover: added automatic parameter upgrade for SRV_Channel 2017-01-12 17:39:37 +11:00
Andrew Tridgell 93d6b012c2 Rover: convert to new SRV_Channel API 2017-01-12 17:39:37 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 5bf45dbffd APMrover2: publish SPEED2THR_ parameters 2017-01-07 10:32:11 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 0054df9907 APMrover2: Correct AUTO_TRIGGER_PIN Values format
This allows simplified machine parsing of the generated XML file
2017-01-07 10:23:56 +11:00
Pierre Kancir 70d0997b73 Rover: Parameters.cpp 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
murata bbf0cfb564 APMrover2: Change from printf statement to print, println statement. 2016-11-25 16:00:30 -08: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
Randy Mackay d39190ff30 Rover: TELEM_DELAY parameter range to 30sec
No functional change
2016-08-29 15:28:47 +09:00
Pierre Kancir 1a3fc56682 APMrover2: fix typo in parameter 2016-08-28 14:26:06 +02:00
Peter Barker 44791268ac Rover: use SPEED_CRUISE define from config.h 2016-08-18 11:20:16 +10:00
Andrew Tridgell fd0f31dc44 Rover: added AP_Button support 2016-07-22 15:01:21 +10:00
Grant Morphett 35a132f74e Rover: Added throttle PID logging 2016-05-31 08:44:52 +10:00
Andrew Tridgell c0172516af Rover: use DataFlash::log_while_disarmed() 2016-05-09 12:06:00 +10:00
Grant Morphett bd24dd79a8 Rover: Fixing up some of the outdated parameter comments/doco
I noticed the doco on the Rover discourse page for LOG_BITMASK was
incorrect so I have fixed up a number of doco/comments so they
auto-generate the doco correctly for the wiki.  There is no actual
code changes in this commit.
2016-04-21 14:12:00 +09:00
Lucas De Marchi 56eccd6e41 APMrover2: Update path locations for parameters
Thanks to Francisco Ferreira for noticing that.
2016-03-23 17:50:38 -03:00
Don Gagne cae7ea0d13 Add @Volatile, @ReadOnly support 2016-03-17 10:58:05 +11:00
Andrew Tridgell be456fc33d Rover: always call load_all
this ensures defaults file works on first start after erase
2016-01-07 09:33:04 +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
Caio Marcelo de Oliveira Filho ee073787c8 Rover: use millis/micros/panic functions
Instead of going through 'hal' then 'scheduler', use directly the AP_HAL
functions. Besides removing indirection that is not necessary for such
functions, this patch ends up reducing the code size in the call sites.

For example, building ArduCopter for PX4 with this change (compared to
before introduction of the functions) yields almost 3k bytes of code
size.

    # ArduCopter build before the functions (1b29a1af46)
       text	   data	    bss	    dec	    hex	filename
     895264	   2812	  62732	 960808	  ea928	/.../px4fmu-v2_APM.build/firmware.elf

    # ArduCopter build after this patch
       text	   data	    bss	    dec	    hex	filename
     892264	   2812	  62732	 957808	  e9d70	/.../px4fmu-v2_APM.build/firmware.elf

A later patch will remove the unused functions in the Schedulers.
2015-11-20 12:26:14 +09:00
Grant Morphett 3636b53313 Rover: Implementation of the ARMING functionality 2015-11-11 13:39:38 +11:00
Lucas De Marchi 91dbfce5f9 APMrover2: remove check for MAVLINK_COMM_NUM_BUFFERS 2015-11-04 12:14:15 +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
Lucas De Marchi 20c6ffc5e3 Replace use of UARTDriver::printf_P() with UARTDriver::printf()
This also starts to show warnings on places that were already using
wrong printf format strings.
2015-10-30 14:35:25 +09:00