Skip to content

Constant_Throttle_Constant_Rate for glide descent#236

Closed
KillingVector wants to merge 7 commits intosuavecode:developfrom
KillingVector:develop
Closed

Constant_Throttle_Constant_Rate for glide descent#236
KillingVector wants to merge 7 commits intosuavecode:developfrom
KillingVector:develop

Conversation

@KillingVector
Copy link
Copy Markdown

Tested using Solar UAV and some tailless bwb triangle (marginally stable).
Solar UAV test - set engine number to zero
Purpose: for use to optimise L/D, minimise descent rate, maximise downrange

Future dev (next step): rewrite this/create additional script that functions with no throttle input and no unknown_throttle

Included: analysis and method, init.py files assoc with both. No identified conflicts.
Advice and changes encouraged (:

Notes: method - init file, I've apparently deleted and added identical lines for a net zero change on one addition. Magic.
Minor error handling for non-descent descent rates (if user enters a climb value, at the moment throws Attribute error and tells the user to not use negative value as z is down), (if user enters 0, throws error informing user that this is an invalid value for descent mission).

--Ash

Functions with solar UAV set to zero engine number (therefore zero thrust output). -Draws on other missions as base
Future dev - script that requires or handles zero throttle input.
Constant throttle constant rate method - for use with aircraft with engines set to zero in number.
Future dev - similar function for use with zero throttle

tested with Solar UAV
@coveralls
Copy link
Copy Markdown

coveralls commented Apr 18, 2018

Coverage Status

Coverage decreased (-0.3%) to 64.702% when pulling 00f3ed0 on KillingVector:develop into 0d7716a on suavecode:develop.

@KillingVector
Copy link
Copy Markdown
Author

@coveralls Hello, could you please let me know a little more information so that I may fix up this file. Unfortunately, I don't understand fully what coverage is. Does my file clash with one of the files in your branch? Can you tell me if this traces to a specific file?
Thank you for the feedback!

@WallyMaier
Copy link
Copy Markdown
Contributor

WallyMaier commented Apr 23, 2018

@KillingVector coveralls is an automated script that checks how many lines in SUAVE are actually being used. Since both files you included are not used, coverage went down. Can you submit you mission file? The SAUVE team is looking at your pull request and will make changes/leave comment soon. Thanks for your help!

@JTrentSmart JTrentSmart self-requested a review April 23, 2018 22:03
@JTrentSmart
Copy link
Copy Markdown
Contributor

Made some changes to the comments, formatting and documentation. Will review coverage issue before approval.

Copy link
Copy Markdown
Contributor

@JTrentSmart JTrentSmart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@KillingVector The issue that Coveralls is highlighting is that there's no regression script for these files. Whenever code is proposed for addition to SUAVE, it runs through Travis CI, which boots up a virtual environment, and attempts to run the file 'automatic_regression.py" located in the SUAVE/regression/ directory, which contains a long list of regression scripts which are run, one after the other.

A regression script is simply a script that runs a particular segment of code, and compares its results to a predetermined reference value. If there's been any change to those results, it throws an error and alerts the user as to where the error appeared. This way, if any changes we make in the future unintentionally alter the behavior of previously incorporated parts of SUAVE, we can see that and respond to the issue.

After "automatic_regression.py" has concluded running, Coveralls then assesses how much of SUAVE's code was utilized, or "covered" by the regressions listed within it. No pull request can be merged with SUAVE's develop branch unless the new code that it adds is covered by a regression script. As it stands, if some future update were to break or alter the function of this mission segment, we'd have no way of spotting that error.

To get this pull request approved, please write a regression script, create a subdirectory for it inside SUAVE/regression/, and add it to the list at the beginning of "automatic_regression.py"

Given the nature of this pull request, I would recommend running a test mission using the mission segment and storing the residuals of the mission, then checking the output of a "live" version same test mission against the stored values in the regression script.

For reference, you can use "SUAVE/regression/B737/mission_B737.py" as an example, though this is designed to regress the configuration of a vehicle, not the mission itself.

@KillingVector
Copy link
Copy Markdown
Author

Okay! Thank you for the feedback, I'm still getting the hang of this, so I will work through this process and get back to you all when I've got that working. I may swing by the forums if I have any questions about getting the implementation of the check, if I need.

I appreciate all your patience!

@WallyMaier
Copy link
Copy Markdown
Contributor

no updates....will wait until changes are made

@WallyMaier WallyMaier closed this Jul 8, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants