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
khancyr
6b429bd372
Rover: remove redundant GPS check before camera update
...
this same check is included within AP_Camera
2017-08-05 17:05:19 +09:00
khancyr
7c3374668e
Rover: formatting fixes and const local variables
2017-08-05 17:05:00 +09:00
khancyr
848df551ac
Rover: formatting and comment fixes to mode class
2017-08-05 17:02:52 +09:00
Randy Mackay
efc790a84a
Rover: add comment to mode
2017-08-05 11:20:58 +09:00
Randy Mackay
30852d4713
Rover: auto-reversed moved to mode
2017-08-05 11:20:58 +09:00
Randy Mackay
4f5e82f406
Rover: mode fixes for reversing
2017-08-05 11:20:58 +09:00
Randy Mackay
66f1437e4f
Rover: remove unused throttle variable
2017-08-05 11:20:58 +09:00
Randy Mackay
1e8e3609c6
Rover: remove duplicate setting of ground_speed
...
update_ahrs already does this using a slightly different method, having both likely leads to small twitches in ground speed at 10hz
2017-08-05 11:20:58 +09:00
Randy Mackay
e88b1572b6
Rover: remove navigate
2017-08-05 11:20:58 +09:00
Randy Mackay
fe6465b748
Rover: remove next_WP, wp_distance, navigate
...
Also remove prev_WP, wp_totalDistance which are all handled within mode class
2017-08-05 11:20:58 +09:00
Randy Mackay
b4af441eb9
Rover: remove unused update_navigation
2017-08-05 11:20:58 +09:00
Randy Mackay
2640ec9ed9
Rover: rename update_commands to update_mission
2017-08-05 11:20:58 +09:00
Randy Mackay
56b0621994
Rover: verify_RTL calls rtl mode
...
also remove unused rtl_complete
2017-08-05 11:20:58 +09:00
Randy Mackay
1b19ee865d
Rover: remove active-loiter and set-auto-wp
...
these are now handled by auto mode
2017-08-05 11:20:58 +09:00
Randy Mackay
974453607e
Rover: replace do-yaw with nav-set-yaw-speed
2017-08-05 11:20:58 +09:00
Randy Mackay
27e833ebd1
Rover: verify_within_distance gets distance directly from auto mode
2017-08-05 11:20:58 +09: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
Randy Mackay
f71db5ae05
Rover: rtl mode refactoring
...
slow down for turns
2017-08-05 11:20:58 +09:00
Randy Mackay
946a0a8e54
Rover: guided mode refactoring
...
add set-desired methods
add get_distance_to_destination
fix to one interation with no update to motors
slow down for turns
2017-08-05 11:20:58 +09:00
Randy Mackay
279491ed20
Rover: auto mode refactoring
...
updating mission is handled by the vehicle code
slows down for turns
add active at destination
remove setting of loiter start time
removes unused calc_nav_steer
2017-08-05 11:20:58 +09:00
Randy Mackay
2accb5831d
Rover: mode refactoring
...
add ahrs reference
add set-desired-location method
move _reached_destination member in from child
calc_lateral_acceleration args renamed and added comemnts
calc_lateral_acceleration updates _yaw_error_cd
remove calc_lateral_acceleration method with no arguments
calc_throttle updates _speed_error and becomes protected
remove unused variables from calc_throttle
calc_reduced_speed_for_turn_or_distance reworked
do not use rover throttle or rtl_complete
calc_nav_steer comment updates
remove unused update_navigation
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
Randy Mackay
96d55e0dbe
Rover: fix wheel encoder parameter names
...
extra underscore removed
2017-07-27 21:57:17 +09: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
Randy Mackay
ae487aa99b
Rover: update wheel encoder at 20hz
2017-07-27 16:52:29 +09:00
Randy Mackay
72d35593d8
Rover: send wheel encoder data to EKF
2017-07-27 16:52:28 +09:00
Randy Mackay
3d13d98410
Rover: steering mode direction fix when reversing
...
this corrects the rotation direction when moving backwards in steering mode so that it's consistent with manual mode
2017-07-26 10:57:45 +09:00
Randy Mackay
f9186de0ca
Rover: steering mode formatting change
...
no functional change
2017-07-26 10:57:45 +09:00
Peter Barker
fec152385c
Rover: handle common GPS messages in base GCS_MAVLINK class
2017-07-25 14:00:45 +01:00
khancyr
ded1bad6c3
Rover: remove duplicate calls from update_navigation()
...
calc_lateral_acceleration() and calc_nav_steer() aren't need here
2017-07-21 10:13:20 +09:00
khancyr
ca3bc05c28
Rover: Don't check if in AUTO on commands callback
...
This isn't need anymore with modes
2017-07-21 10:13:20 +09:00
Randy Mackay
88b2f62e2f
Rover: mode rtl loses duplicate calls to calc_lateral_acceleration
...
Also no need to call calc_nav_steer
no need to set throttle before entering hold
2017-07-21 10:13:20 +09:00
Randy Mackay
4fe937b985
Rover: do_RTL calls set_mode(RTL)
...
This reverses the caller so the vehicle code calls into the mode instead of the mode calling up into the vehicle code
2017-07-21 10:13:20 +09:00
Randy Mackay
e7424a456f
Rover: update advanced failsafe
2017-07-21 10:13:20 +09:00
khancyr
707b006f76
Rover: minor style correction on log
2017-07-21 10:13:20 +09:00
Randy Mackay
2321cefdc2
Rover: move manual mode failsafe handling to mode class
2017-07-21 10:13:20 +09:00
Randy Mackay
6626c2e12e
Rover: only mode manual directly copies rc input to motors
2017-07-21 10:13:20 +09:00
Randy Mackay
f17f56dea4
Rover: move throttle nudge to Mode class
2017-07-21 10:13:20 +09:00
khancyr
b9644c4ec7
Rover: disable slew limit by default on mode
2017-07-21 10:13:20 +09:00
khancyr
809a9e5894
Rover: auto mode fails to enter if no mission
...
This prevent going into Auto without a mission and skipping the first mission waypoint because we aren't yet in Auto when in enter()
2017-07-21 10:13:20 +09:00
Peter Barker
07f4603533
Rover: integrate mode class
2017-07-21 10:13:20 +09:00
Peter Barker
2a9b1017b6
Rover: add control modes class
2017-07-21 10:13:20 +09:00
Peter Barker
9173c7caaf
Rover: move starting of new logs into DataFlash
2017-07-19 16:37:28 +01:00
Peter Barker
c9c1f3ea29
Tracker: move starting of new logs into DataFlash
2017-07-19 16:37:28 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
efa59d47f2
Rover: fix FS_THR_VALUE min range
2017-07-19 20:33:07 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
916a2e8fca
Rover: Failsafe parameters default values macros are not used, so delete them
...
@OXINARF told me that they existed.
@tridge told me I should delete them, now that we have run-time parameters
2017-07-19 20:31:48 +09:00
Randy Mackay
285653da30
Rover: fix init order to clear compile warning
...
no functional change
2017-07-19 15:26:33 +09:00
Randy Mackay
55a1c9afdf
Rover: add advanced failsafe to make build
2017-07-19 15:24:19 +09:00
khancyr
918992eb10
Rover: remove unimplemented functions
2017-07-19 11:00:34 +09:00
Peter Barker
f1c3e16354
Rover: remove MSG_STATUSTEXT entirely
2017-07-18 16:12:59 +01:00
khancyr
2e451eb2bc
Rover: fix motor test for pilot passthrough of steering
2017-07-18 10:15:44 +09:00
Randy Mackay
b6033df457
Rover: intergrate motor test motor seq enum change
2017-07-18 10:15:44 +09:00
Randy Mackay
e5b746c7dd
AP_MotorsUGV: fix motor test sequence
...
motor test sequence starts from 1
2017-07-18 10:15:44 +09:00
Randy Mackay
8a86b64776
Rover: motor test accepts negative percentages
2017-07-18 10:15:44 +09:00
Randy Mackay
ebeb0923cb
Rover: motor test gets improved failure explanations
...
Also fix pass through for steering channel
2017-07-18 10:15:44 +09:00
khancyr
5208466629
Rover: add motor test
2017-07-18 10:15:44 +09:00
Randy Mackay
7bfb79a4b7
AP_MotorsUGV: add motor_output_test_pwm
...
this allows the ground station to test a motor by requesting a specific pwm value
2017-07-18 10:15:44 +09:00
khancyr
2cd3dd5cba
AP_MotorsUGV: add motor output test
2017-07-18 10:15:44 +09:00
khancyr
8421575f05
AP_MotorsUGV: add output_throttle to handle scaling and relay
...
this function hides the difference in scaling between the regular throttle
(-100 to +100) and the throttleLeft and throttleRight (-1000 to +1000)
Also handles the setting of the relay for brushed-with-relay motors
2017-07-18 10:15:44 +09:00
khancyr
8223743df8
Rover: add pre_arm_rc_checks
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
7042d3e9c9
Global: all vehicles get AP_Relay and AP_ServoRelayEvent libraries
2017-07-17 00:06:31 +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
Michael du Breuil
993df82cfa
APMRover: Fix bad parameter generation for AP_MotorUGV
2017-07-16 08:26:52 +10:00
Michael du Breuil
a077eac6a9
Rover: Document max loop time as being in microseconds
2017-07-15 17:27:04 +09:00
khancyr
40b860e240
Rover: rename sonar to rangefinder
2017-07-14 17:40:05 +01:00
Peter Barker
2717244dd8
Rover: move rally-point handling up
2017-07-14 01:28:05 +01:00
Randy Mackay
5fc30c763e
Rover: move Log_GuidedTarget declaration
...
No functional change
2017-07-14 07:27:26 +09:00
Randy Mackay
ebbbe0584a
Rover: integrate wheel encoder
2017-07-14 07:27:26 +09:00
Randy Mackay
f6a1c53ff6
Rover: add AP_WheelEncoder to build
2017-07-14 07:27:26 +09: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
Randy Mackay
208607d668
Rover: remove output_trim_all during initialisation
...
MotorUGV library now outputs the proper values on the motor channels. Other libraries are also responsible for initialising their outputs on startup.
2017-07-12 14:24:16 +09:00
Peter Barker
aeed1f0ff4
Rover: eliminate global static GCS_MAVLINK::send_home_all
2017-07-11 23:48:39 +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
khancyr
b28656eb11
Rover: reoder rc and servo init
2017-07-10 19:48:35 +09:00
Randy Mackay
774e484869
Rover: remove servo channel failsafe from vehicle code
...
This is now handled by the MotorsUGV library
2017-07-10 10:37:14 +09:00
Randy Mackay
6464bfb601
MotorsUGV: set failsafe output
...
This informs the I/O board to stop sending pwm if the I/O board loses
contact with the main CPU
2017-07-10 10:37:12 +09: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
Randy Mackay
03d04c934e
Rover: improve skid-steer input processing
...
limit the steering input
reverse commanded steering value if reversing to be consistent with separate steering-throttle frames
2017-07-08 16:07:13 +09:00
khancyr
f8a564f283
Rover: rename BRUSHEDPLUS to BRUSHEDBIPOLAR
2017-07-08 16:07:13 +09:00
khancyr
8ab3e83a3c
Rover: use float qualifier and functions
2017-07-08 16:07:13 +09:00
khancyr
1f0c985dec
Rover: add setup_servo_output to allow ouput reconfiguration
2017-07-08 16:07:13 +09:00
Pierre Kancir
38dcc2eb12
Rover: minor formatting fix
2017-07-08 16:07:13 +09:00
Pierre Kancir
ba8664193a
Rover: fix failsafe throttle
2017-07-08 16:07:13 +09:00
khancyr
9b97ad0fc0
Rover: solve skid steer in value
2017-07-08 16:07:13 +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
Pierre Kancir
29c59644b7
AP_MotorsUGV: add BrushedPlus motor type
...
BrushedPlus are brushed motors with separate throttle and steering pwm
inputs
2017-07-08 16:07:13 +09:00
Pierre Kancir
76c9d3982a
AP_MotorsUGV: motors lib for Rover
2017-07-08 16:07:13 +09:00
Randy Mackay
1fb6d45d5f
Rover: version to 3.2.0-dev
2017-07-08 12:24:57 +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
Randy Mackay
1fc85e9a8c
Rover: adjust skid steer motor mixing, fix rotation direction in reverse
...
balanced prioritisation of throttle vs steering when motors become saturated
direction of turning made consistent with normal (ie non-skid-steered) vehicles
Also includes fixes to motor mixing after peer review
2017-07-01 19:48:01 +09:00
Randy Mackay
f036b1f92c
Rover: pivot steering stays active until within 10deg of target heading
...
Previously the vehicle would pop out of pivot-steering once it was within PIVOT_TURN_ANGLE degrees of the target heading. This meant that it would give up on the pivot steer long before it was actually pointing at the target.
2017-07-01 19:48:01 +09:00
Peter Barker
4646eb3b95
Rover: check dataflash to see if we should log backend gps messages
2017-06-29 15:43:38 +01:00
Peter Barker
dcad79bdef
Rover: use DataFlash should_log to determine raw IMU logging
2017-06-29 15:26:27 +01:00
Peter Barker
8697faa44f
Rover: move should_log check of log bitmask into DataFlash
2017-06-29 15:26:27 +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
Georgii Staroselskii
eed08fb8cd
Rover: cork and push servo outputs
...
SRV_Channels API makes it easy to sync all PWM channels at once. This is
the support needed for it to work properly on Rovers.
2017-06-27 11:46:41 -07: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
Pierre Kancir
c865972e9c
Rover: remove skid_steer_out parameter
2017-06-24 13:17:36 +09:00
Pierre Kancir
0017485ee7
Rover: move failsafe_trigger from system to failsafe
2017-06-24 13:17:35 +09:00
Pierre Kancir
9abb1f634f
Rover: add comments to Steering
2017-06-24 13:17:33 +09:00
Pierre Kancir
031ed4bbb0
Rover: Remove old skid steering
2017-06-24 13:17:33 +09:00
Pierre Kancir
41e18f089e
Rover: remove g.skid_steer_out in favor of have_skid_steering()
2017-06-24 13:17:32 +09:00
Pierre Kancir
1dcf90c161
Rover: use scaled input in Manual modes
2017-06-24 13:17:26 +09:00
Pierre Kancir
ee28e49790
Rover: steering mark floats as float and fix parenthesis
2017-06-24 13:17:10 +09:00
Pierre Kancir
97595f98ac
Rover: add comments to scheduler
2017-06-24 13:17:05 +09:00
Pierre Kancir
ef2c2e4afc
Rover: add some comments in radio
2017-06-24 13:16:59 +09:00
Pierre Kancir
feb8c30af4
Rover: move rssi.init and set_control_channels
2017-06-24 13:16:54 +09:00
Pierre Kancir
7595ffb8ba
Rover: set correct safety limit
2017-06-24 13:16:48 +09:00
Pierre Kancir
32dc59baec
Rover: fix throttle slew limit for skid steer out
2017-06-24 13:16:40 +09:00
Andrew Tridgell
2e24c35906
Rover: setup default esc scaling
...
for rovers without a k_throttle channel we need a default ESC scaling
value
2017-06-21 10:30:39 +09: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
Andrew Tridgell
79f7cc5779
Rover: implement new style skid steering
...
use throttleLeft and throttleRight servo functions. This gives much
greater flexibility and control over motor trims and limits
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
Pierre Kancir
8a85b8be4c
APMRover2: correct usage of set_output_pwm
2017-06-20 15:58:33 +09: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
Peter Barker
0df30d03b1
Rover: call dataflash should_log method
2017-06-16 17:07:48 +01:00
Peter Barker
8c074c7b73
Rover: simplify dataflash initialisation
2017-06-14 12:20:29 +01:00
Randy Mackay
a07920c5b2
Rover: add init_compass method
...
no functional change
2017-06-14 09:12:20 +09:00
Randy Mackay
eb2aa80fca
Rover: compass set-initial-location uses ahrs location
...
Previously it could attempt to use a gps location even if gps was not being used
Also compass-accumulate moved to sensors.cpp
2017-06-14 09:12:20 +09: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
Randy Mackay
b56e246da6
Rover: add visual odometry to build
2017-06-14 09:12:20 +09:00
Peter Barker
81b19204c3
Rover: StartUnstartedLogging replaces logging_started/start_logging
2017-06-11 20:34:12 +01:00
Peter Barker
c5d40fd8b4
Rover: simplify should_log (NFC)
2017-06-11 20:34:12 +01:00