Commit Graph

1144 Commits

Author SHA1 Message Date
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
Pierre Kancir
a26710d769 APMRover2: add support for DISTANCE_SENSOR 2017-06-08 01:31:57 +01: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
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
Dr.-Ing. Amilcar Do Carmo Lucas
aaa26af3f4 Rover: Fix constructor initialization order 2017-05-18 09:31:11 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
f004f4b499 Rover: Spell in comments 2017-05-18 09:29:55 +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
Andrew Tridgell
f08074c0d7 Rover: removed AP_Airspeed from vehicle code 2017-05-04 22:59:02 -07:00
Grant Morphett
192ffdcca8 Rover: Creating beta release 3.2.0 Beta2 2017-05-04 21:59:45 +10:00
Pierre Kancir
00204367fc APMRover2: Reduce the home position reset when disarm 2017-05-04 21:57:45 +10:00
Pierre Kancir
f725e9f2b5 APMRover2: correct some style after addition of velocity controler 2017-05-04 19:53:21 +10:00
Pierre Kancir
ed26c103f9 APMRover2: prevent unless calculus when stoping 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
c1d3384835 Rover: rename set_next_WP to set_auto_WP to clarify usage 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
Peter Barker
74e0d6c60a Rover: move init of DataFlash references into vehicle init
It is possible to start a log before the existing codepath is crossed.
2017-05-01 15:04:34 +01:00
Andrew Tridgell
37585f213a Rover: use common send_queued_parameters() 2017-05-01 14:36:10 +10:00
Andrew Tridgell
c5d17a9d92 Rover: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +10:00
Pierre Kancir
27e52695fe APMRover2: add initial support for MAV_CMD_CONDITION_YAW 2017-04-28 12:01:47 +10:00
Andrew Tridgell
b344bd1071 Rover: fixed duplicate include of AP_ADC library 2017-04-27 18:32:26 +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
7f861aafd0 APMRover2: make on spot turn in skid and manual use full motor range 2017-04-26 10:38:01 +10:00
Pierre Kancir
83bf1fdca5 APMrover2: remove useless variable 2017-04-26 08:43:09 +10:00
Pierre Kancir
f13425aa28 APMRover2: make crash_check define static const 2017-04-26 08:43:09 +10:00
Pierre Kancir
2eb0ed6242 APMRover2: Remove, correct some cast 2017-04-26 08:43:09 +10:00
Pierre Kancir
409e8b5f26 APMRover2: Remove unused config define 2017-04-26 08:43:09 +10:00
Pierre Kancir
91958fb96a APMRover2: Remove unused config define 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
Peter Barker
d0f2e7bf3a Rover: log GPS detection state to DF on log startup 2017-04-23 21:04:17 +01:00
Andrew Tridgell
7cc1009dab Rover: ignore MSG_AOA_SSA 2017-04-19 20:48:42 +10:00
Pierre Kancir
6d1586044c APMRover2: unhide default CH_7_PWM_TRIGGER & make it static const 2017-04-15 13:48:40 +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
Michael du Breuil
7328a8ad41 Rover: Send BATTERY_STATUS 2017-04-12 10:21:49 +09:00
Michael du Breuil
7b2da01836 Rover: Update for L1 constructor 2017-04-06 08:26:04 +10:00
Grant Morphett
0f671394e5 Rover: Creating Rover 3.2.0 BETA 1. 2017-04-03 12:28:30 +10:00
Andrew Tridgell
9cbfc4ddd3 Rover: add available memory to PM message 2017-03-27 14:35:21 +09:00
Grant Morphett
8212841b68 Rover: Bringing the releases notes up to date. 2017-03-15 17:24:35 +11:00
Grant Morphett
cfb11729a6 Rover: Setting crash detecting to off by default. 2017-03-15 17:24:35 +11:00
Grant Morphett
304c9b6e72 Rover: Fixed a bug in reverse
If a user was driving in reverse and when into an auto mission the
rover would try to do the whole mission in reverse.  This fixes that.
2017-03-15 17:24:35 +11:00
Grant Morphett
3410db5022 Rover: Fix motor_active check to checkout throttle output servo 2017-03-15 17:24:35 +11:00
Andrew Tridgell
3a7c541145 Rover: log home and origin on logging start 2017-03-14 10:51:15 +11:00
Pierre Kancir
1bd863e36b ROVER: stop mission when leaving AUTO 2017-03-09 22:17:01 +11:00