Commit Graph

58 Commits

Author SHA1 Message Date
Andrew Tridgell e6af416f94 AP_Scripting: fixed yaw glitch on init in aerobatics 2022-11-08 08:44:23 +11:00
Andrew Tridgell 6a3c7f8cf6 AP_Scripting: get ahrs state once at the start of each loop
this minimises the impact of slow lua scripting
2022-11-07 21:22:43 +11:00
Andrew Tridgell 228b4adda0 AP_Scripting: fixed initial tangent 2022-11-07 21:22:43 +11:00
Andrew Tridgell d7c0a1025e AP_Scripting: use actual_dt for ef rate update
this seems to work more consistently for now
2022-11-07 21:22:43 +11:00
Andrew Tridgell 833c18d4ae AP_Scripting: added sideslip filter 2022-11-07 21:22:43 +11:00
Andrew Tridgell 8fc3a725ce AP_Scripting: fixed path rate to use right time scaling 2022-11-07 21:22:43 +11:00
Andrew Tridgell 9874d4196d AP_Scripting: new specific force sideslip control
and fixed dt handling to match quaternion delta
2022-11-07 21:22:43 +11:00
Andrew Tridgell 2fb90fb5dd AP_Scripting: fixed chaining of orientations
use tangent rotation to accumulate orientations
2022-11-07 21:22:43 +11:00
andypnz 7fa45e343f AP_Scripting: F3A path adjustments 2022-11-07 15:54:51 +11:00
Andrew Tridgell b924e6dca5 AP_Scripting: tidy airshow and add triple show
triple show is a demo of how to combine schedules
2022-11-05 12:19:02 +11:00
Andrew Tridgell 29060be8a9 AP_Scripting: improve knife-edge in aerobatics
thanks to Paul Riseborough for helping with yaw rate adjustment in knifeedge
2022-11-05 12:19:02 +11:00
Andrew Tridgell ec8331ec75 AP_Scripting: log path error
ready for an autotest
2022-11-04 07:17:30 +11:00
Andrew Tridgell 94273f1403 AP_Scripting: update docs 2022-11-03 07:31:10 +11:00
Andrew Tridgell 233e8e44cb AP_Scripting: added crossbox humpty maneuvers 2022-11-03 07:29:34 +11:00
Andrew Tridgell acb627a4a4 AP_Scripting: updates from Andy for p23 2022-11-03 07:29:34 +11:00
Andrew Tridgell 40fdb22423 AP_Scripting: added airshow
and messages in schedules
2022-11-02 12:22:30 +11:00
andypnz d23c35e747 AP_Scripting: tracjectory path improvements 2022-11-01 14:58:32 +11:00
Andrew Tridgell 6b0b3b1a05 AP_Scripting: treat zero loops as 1 2022-11-01 08:33:06 +11:00
Andrew Tridgell 6c785715fa AP_Scripting: fixed initial ground course in aerobatic tricks
needs ground course to account for wind
2022-11-01 08:33:06 +11:00
Andrew Tridgell 2224096cff AP_Scripting: added straight_align path primitive
allows alignment to position within maneuver frame
2022-11-01 08:32:42 +11:00
Andrew Tridgell dcaea691a2 AP_Scripting: fixed final orientation of climbing_circle 2022-10-31 15:15:16 +11:00
Andrew Tridgell 4dac9bf5ed AP_Scripting: greatly reduce memory in aerobatics
avoid holding path objects outside of the time they are needed
2022-10-31 15:14:27 +11:00
Andrew Tridgell 3c101d879e AP_Scripting: correct climbing circle for roll distortion 2022-10-29 21:22:29 +11:00
Andrew Tridgell eb62991632 AP_Scripting: improve timing accuracy 2022-10-29 21:22:29 +11:00
Andrew Tridgell d3ce852050 AP_Scripting: send error as NAMED_VALUE_FLOAT 2022-10-29 21:22:29 +11:00
Andrew Tridgell bcdbfef7d5 AP_Scripting: removed banked_circle
and fixed helix length calculation
2022-10-29 21:22:29 +11:00
Andrew Tridgell 01bdc532d6 AP_Scripting: added schedules from Andy 2022-10-29 21:22:29 +11:00
Andrew Tridgell fb7ea3ecac AP_Scripting: filled in all maneuvers in test_all_paths 2022-10-29 21:22:29 +11:00
Andrew Tridgell d88e3d27f6 AP_Scripting: added composition of composed paths 2022-10-29 21:22:29 +11:00
Andrew Tridgell 5a0311c6d8 AP_Scripting: use composer object to prepare for nested composition 2022-10-29 21:22:29 +11:00
Andrew Tridgell 4e154b17a2 AP_Scripting: convert remaining paths to composite functions 2022-10-29 21:22:29 +11:00
Andrew Tridgell 7541eed80c AP_Scripting: fixed height gain/loss in upline/downline 2022-10-29 21:22:29 +11:00
Andrew Tridgell efff5dc7ea AP_Scripting: added throttle lookahead
anticipate the pitch and add extra throttle ready for the pitch up
2022-10-29 21:22:29 +11:00
MatthewHampsey a4c544436a AP_Scripting: Added box trajectories, adding warning log for insufficent roll rate 2022-10-29 21:22:29 +11:00
Andrew Tridgell 8bc847fcf1 AP_Scripting: convert more paths to use composer 2022-10-29 21:22:29 +11:00
Andrew Tridgell b1e123df9e AP_Scripting: added entry and exit bank rates 2022-10-29 21:22:29 +11:00
Andrew Tridgell 20f1e8a6e6 AP_Scripting: fixed NED -> ENU in view_paths
thanks MattH !
2022-10-29 21:22:29 +11:00
Andrew Tridgell 7c7de7eee6 AP_Scripting: added stall turn
not really working well
2022-10-29 21:22:29 +11:00
Andrew Tridgell f509359c24 AP_Scripting: removed debug 2022-10-29 21:22:29 +11:00
Andrew Tridgell f31fa6daf2 AP_Scripting: add Split-S, Upline-45 and Downline-45 2022-10-29 21:22:29 +11:00
Andrew Tridgell 8873f95e52 AP_Scripting: re-implement humpty bump with composition 2022-10-29 21:22:29 +11:00
Andrew Tridgell 9242786d1e AP_Scripting: added path composition
allow creation of paths from a sequence of sub-paths
2022-10-29 21:22:29 +11:00
Andrew Tridgell 3dfbca62a6 AP_Scripting: catch NaN in view_path 2022-10-29 21:22:29 +11:00
Andrew Tridgell c0559935ed AP_Scripting: ensure time doesn't go past 1.0 2022-10-29 21:22:29 +11:00
Andrew Tridgell 16583704ed AP_Scripting: make target speed max of current and trim speed 2022-10-29 21:22:29 +11:00
Andrew Tridgell dd390c257d AP_Scripting: remove unused code 2022-10-29 21:22:29 +11:00
Andrew Tridgell 119852b390 AP_Scripting: fixed mirroring for some -ve radius paths 2022-10-29 21:22:29 +11:00
Andrew Tridgell 4b53e16ea2 AP_Scripting: document trajectory scripting 2022-10-29 21:22:29 +11:00
Andrew Tridgell 0ae3b39a66 AP_Scripting: implement tricks on a switch on top of trajectory tracking
this re-implements tricks on a switch with the new accurate trajectory
tracking code.

It adds new parameters:

 - TRIK_ENABLE=0/1
 - TRIK_COUNT for number of tricks
 - TRIK_ACT_FN for the rc option to use to activate tricks (default 300)
 - TRIK_SEL_FN for the rc option to use to select which trick (default 301)

So if you want to use a 3 position switch on RC7 to activate and use a
knob on RC8 for selection then you would set:

- RC7_OPTION = 300
- RC8_OPTION = 301

then if tricks are enabled the following parameters are created per trick:

 - TRIKn_ID
 - TRIKn_ARG1
 - TRIKn_ARG2
 - TRIKn_ARG3
 - TRIKn_ARG4

You can have a maximum of 11 tricks.

The ID numbers are from the trajectory table. The arguments are path specific.
2022-10-29 21:22:29 +11:00
MatthewHampsey 51481eff24 AP_Scripting: Made negative radii steer in other direction for remaining trajs 2022-10-25 16:37:19 +11:00