Commit Graph

245 Commits

Author SHA1 Message Date
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 988e4290dd Rover: formatting and comments for set-position-target handling 2017-12-05 12:15:33 +09:00
khancyr 9299943347 Rover: adjust setpoint_velocity handling 2017-12-05 12:14:46 +09:00
Peter Barker 1d2ec9054b Rover: tighten return types of mavlink functions and variables 2017-12-01 17:01:10 +00:00
Randy Mackay 5b7cd31221 Rover: send steering PID tuning to GCS in most modes
Using manual_steering and auto_throttle is not perfectly correct because we will send steering rate PID info in HOLD mode but will not send throttle PID info in Steering mode
2017-11-29 09:38:53 +09:00
khancyr 279a57dc10 APMrover2: fix servo_out to GCS message 2017-11-21 20:23:55 +09:00
Peter Barker baf82cec22 Rover: use gps singleton for GCS functions 2017-11-15 13:43:03 +00:00
Pierre Kancir 4d38eb85a1 APMRover2: Add support of MANUAL_CONTROL msg 2017-10-31 09:31:05 +09:00
Randy Mackay 2ef1e8e4c2 Rover: fix PID desired and achieved reporting 2017-10-26 19:44:18 +09:00
Andrew Tridgell f25e8631ef Rover: support simple accelcal 2017-10-10 10:57:38 +11:00
Lucas De Marchi 27be369be7 APMrover2: do not include version.h/ap_version.h
The interface provided by each vehicle should be used to get the
version.
2017-09-23 21:37:45 -07:00
Randy Mackay 3af5893f9e Rover: command-long DO_SET_HOME check first param is zero 2017-09-20 12:14:38 +09:00
Randy Mackay f7cb006d40 Rover: accept DO_SET_HOME within COMMAND_INT 2017-09-20 12:14:38 +09:00
Randy Mackay b1684b5377 Rover: accept more mav-frame types
accept mav frames whether or not they have _INT appended
2017-09-20 12:14:38 +09:00
Peter Barker b84e40a804 Rover: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
Randy Mackay 4899401679 Rover: minor comment fix 2017-09-19 10:30:15 +09:00
Randy Mackay 894bf2a23f Rover: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker add5eb6907 Rover: remove old DO_SET_MODE support
We no longer support setting modes except via custom-modes
2017-09-19 01:24:11 +01:00
Peter Barker 25a32c93f2 Rover: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Peter Barker b5d234aa64 Rover: handle param_request_list in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker 640b2b7a13 Rover: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker 85ac69f701 Rover: move send_autopilot_request calls up to GCS base class 2017-08-30 15:54:46 +01:00
Peter Barker d98c427514 Rover: add constant structure holding firmware version 2017-08-30 15:54:46 +01: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
Peter Barker ee39ec3751 Rover: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker 92becb2875 Rover: move play_tune and led_control handling to base class 2017-08-17 12:27:10 +01:00
Peter Barker f3a0d2b02b Rover: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Peter Barker 4c2747bfe8 Rover: use rangefinder backend accessors 2017-08-15 18:30:45 +01:00
Michael du Breuil a98c8427dd Rover: Expose the AFS instance to MAVLink 2017-08-15 15:14:56 +01: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 9097269d6d Rover: use AR_AttitudeControl for steering control 2017-08-15 20:47:19 +09:00
Peter Barker edab526b01 Rover: send gps messages as separate queued messages 2017-08-09 16:18:22 +01:00
Peter Barker f7fd663f45 Rover: move sending of gps_raw up 2017-08-09 16:18:22 +01:00
Peter Barker 89a5272ab5 Rover: move sending of system_time up 2017-08-09 16:18:22 +01:00
Peter Barker 341a9ae032 Rover: move sending of camera_feedback up 2017-08-09 16:18:22 +01:00
Peter Barker ece800ba90 Rover: move sending of meminfo up 2017-08-09 16:18:22 +01:00
Peter Barker c642dc616a Rover: use new retry_deferred method 2017-08-05 23:14:18 +01:00
Randy Mackay 3863542194 Rover: adjust set-position-target-local-ned handling
add support for just yaw or yaw-rate
remove support for simultaneous position and velocity
2017-08-05 11:20:58 +09:00
Randy Mackay 46faece76b Rover: set-attitude-target accepts quaternions for target heading 2017-08-05 11:20:58 +09:00
Randy Mackay d56d222971 Rover: set-attitude-target consumes thrust in -1 to +1 range
This makes the processing consistent with the mavlink spec
2017-08-05 11:20:58 +09:00
Randy Mackay b9db9229d9 Rover: replace vehicle code guided methods with calls to guided mode class
set_guided_WP replaced by mode_guided.set_desired_location
nav_set_yaw_speed replaced with mode_guided.set_desired_heading_and_speed
set_guided_velocity replaced with mode_guided.set_desired_turn_rate_and_speed
guided_control structure replaced with mode_guided members
use_pivot_steering accepts yaw-error argument instead of calculating it itself internally
2017-08-05 11:20:58 +09:00
Randy Mackay 783f8243df Rover: use mode class's get_distance_to_destination and speed_error
used for reporting to GCS and logging
2017-08-05 11:20:58 +09:00
Peter Barker 137d513fdc Rover: move try_send_message queued_param_send up 2017-08-03 14:34:33 +01:00
Peter Barker dbac7447d6 Rover: move try_send_message send_hwstatus up 2017-08-03 14:34:33 +01:00
Peter Barker 4da89a948a Rover: move try_send_message mission handling up 2017-08-03 14:33:37 +01:00
Peter Barker dbdfce570a Rover: move try_send_message compass message handling up 2017-08-03 14:24:47 +01:00
Peter Barker d44c7f0886 Rover: base SYS_STATUS load average on variable loop rate 2017-08-01 19:39:27 +01:00
khancyr 23532bf45c Rover: add reason to set_mode 2017-07-31 18:01:17 +09:00
Peter Barker 2014eb0def Rover: move common mavlink camera handling up 2017-07-28 14:32:58 +01:00
Peter Barker 81d52c282c Rover: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker 160831d4ca Rover: move gps inject handling up to GCS_MAVLINK 2017-07-27 12:03:25 +01:00
Randy Mackay ddc70058d5 Rover: reporting wheel encoder rpm 2017-07-27 16:52:29 +09:00
Peter Barker fec152385c Rover: handle common GPS messages in base GCS_MAVLINK class 2017-07-25 14:00:45 +01:00
Peter Barker 07f4603533 Rover: integrate mode class 2017-07-21 10:13:20 +09:00
Peter Barker f1c3e16354 Rover: remove MSG_STATUSTEXT entirely 2017-07-18 16:12:59 +01:00
Randy Mackay 8a86b64776 Rover: motor test accepts negative percentages 2017-07-18 10:15:44 +09:00
khancyr 5208466629 Rover: add motor test 2017-07-18 10:15:44 +09:00
Peter Barker cee7ce0571 Rover: move handling of PREFLIGHT_SET_SENSOR_OFFSETS up 2017-07-17 14:17:19 +01:00
Peter Barker 3586f0e8fb Rover: move handling of MAG_CAL command longs up 2017-07-17 14:17:19 +01:00
Peter Barker a963a80b91 Rover: move MAV_CMD_START_RX_PAIR handling to base class 2017-07-17 14:17:19 +01:00
Peter Barker bcf7c6e6b6 Rover: move mavlink support for servo/relay up 2017-07-16 23:56:00 +01:00
Peter Barker 40eb07f472 Rover: add common handling of mavlink command messages 2017-07-16 23:56:00 +01:00
khancyr 40b860e240 Rover: rename sonar to rangefinder 2017-07-14 17:40:05 +01:00
Peter Barker adb89c5ca6 Rover: remove unneeded telemetry_delayed parameter 2017-07-12 17:01:36 +01:00
Peter Barker 7aff4c6ab9 Rover: move handling of incoming statutext messages up 2017-07-12 16:52:24 +01:00
Peter Barker 901045b029 Rover: move common mission handling up to GCS_MAVLINK 2017-07-11 23:45:17 +01:00
Peter Barker 2692ee22d3 Rover: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 130ad52a22 Rover: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 9509f7f1bf Rover: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker 7ad003a211 APMrover2: use Notify singleton for sending statustext 2017-07-09 17:17:29 -04: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
Randy Mackay 351b37fc31 Rover: only report system status after init has completed
This reduces errors reported to the GCS during startup
2017-06-28 11:32:01 +09:00
Peter Barker 3a85d8ed39 Rover: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Peter Barker 689a5cb238 Rover: move send-logs-via-mavlink code into DataFlash 2017-06-27 03:10:43 +01:00
Andrew Tridgell d060fd2826 Rover: replace get_output_norm*100 for throttle with get_output_scaled
No functional change
2017-06-21 10:30:39 +09:00
Michael du Breuil 57c9afb77e Rover: Handle NAV_CONTROLLER_OUTPUT.wp_dist overflowing 2017-06-20 15:41:50 +01:00
Peter Barker 900f0cc774 Rover: move MAVLINK_MSG_ID_REMOTE_LOG_BLOCK_STATUS handling up 2017-06-17 15:07:48 +01:00
Peter Barker aeacc11573 APMrover2: stop using in_mavlink_delay as a proxy for disabling logging 2017-06-16 17:07:48 +01:00
Randy Mackay 584974fd74 Rover: set home from ekf position 2017-06-14 09:12:20 +09:00
Randy Mackay 0da6e73d76 Rover: add support for visual odometry 2017-06-14 09:12:20 +09:00
Pierre Kancir a26710d769 APMRover2: add support for DISTANCE_SENSOR 2017-06-08 01:31:57 +01:00
Paulo Neves 74d67f8d05 Rover: Add MAV_CMD_DO_SET_CAM_TRIGG_DIST support. 2017-05-25 09:35:22 +09:00
Michael du Breuil 379a4fbfab Rover: Ignore landing message 2017-05-24 15:22:27 -07:00
Grant Morphett 5ac1293a52 Rover: Make base_mode armed status depend upon the arming library, not
soft armed

This change brings it in line with Plane.
2017-05-23 14:51:22 +10:00
Pierre Kancir f725e9f2b5 APMRover2: correct some style after addition of velocity controler 2017-05-04 19:53:21 +10:00
Pierre Kancir 670e7b7914 ROVER: put all guided param in one structure 2017-05-04 19:53:21 +10:00
Pierre Kancir 045d171ab9 Rover: add Guided velocity controller 2017-05-04 19:53:21 +10:00
Randy Mackay d6b55b2d09 Rover: set_guided_WP accepts location 2017-05-04 19:53:21 +10:00
Andrew Tridgell 37585f213a Rover: use common send_queued_parameters() 2017-05-01 14:36:10 +10: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
Andrew Tridgell 7cc1009dab Rover: ignore MSG_AOA_SSA 2017-04-19 20:48:42 +10:00
Michael du Breuil 7328a8ad41 Rover: Send BATTERY_STATUS 2017-04-12 10:21:49 +09:00
Peter Barker 82ac46e0ed Rover: not in log download upon log erase
erase is a synchronous operation
2017-02-13 11:36:16 +11:00
Peter Barker 45e0765b97 Rover: Support for a GCS singleton 2017-02-13 09:32: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
Dr.-Ing. Amilcar Do Carmo Lucas 7f5ef7cf3a Rover: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is 2017-02-07 11:41:12 +11:00