-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: estimated airspeed #4092
Comments
For now the attitude and wind estimations are not precise enough but that's on the TODO list |
If this feature is implemented, could this airspeed (or at least that provided by a pitot tube, or GPS be used to control the parameter tpa_rate, rather than throttle position?, or at least have an option for the tpa_rate to select the airspeed source? |
Yes it is one of the goals. PID attenuation based on airspeed. |
I know this is for a virtual Pitot tube... but a semi related and possible solution would be a GPS based wind correction. Fixed Wing: For quads and the ilk Result: you will determine the rate of displacement(drift) per second -> windspeed and direction Windspeed will typically not change over the course of a 30 minute flight in a significant way. Alternative solution... MUCH more difficult to program... potentially... |
We already have continuous wind estimation for fixed wing based on GPS and we know it can be made more accurate. It is probably just a matter of improving the attitude estimation. Then we can use it for estimating airspeed. For MRs we don't really need airspeed. |
fair enough. Well done :P I guess my post can be nixed. |
Gents, I fully agree that GPS speed is a good approach to start with. However, I am assuming that what when you make reference to "wind" speed, you mean "air" speed. If this is not the case, please disregard the rest of this message. |
@Richrfl I was talking about wind speed not air speed. When you have the wind speed and direction, attitude and ground speed you can estimate the air speed. |
Wow! Absolutly yes, shellixyz!, how do gather information to estimate the wind speed and direction in a moving vehicle? or again we are talking after the fact speed? |
The wind estimation is done as described in this paper: WindEstimation.pdf |
Thank you shellixyz. I'll read that paper. |
Shellinxyz, the way described in the paper is really interesting and acceptable. I don't understand for what reason this procedure was implemented, except to avoid the use of another piece of hardware (pitot), and use the GPS data, which is almost a must in the implementation. On the other hand, I think that implementing this method takes a lot more process power than using a pitot. Anyway, I acknowledge the effort and skills of the development team to implement such a complex process into the system. |
The reason is simply that in a lot of cases adding a pitot is impractical but almost every aircraft running iNav already has a GPS. The processing power needed for the wind estimation is not that big. |
Well, that's 100% true. Now, just to update myself in the current status: I understand wind speed and direction is already implemented, but at this time air speed is not there. Is that correct? |
On the other hand, air speed sensors are accepted in iNav, so, if air speed is not used, what would be the reason to install a pitot? I may be off on this one. I am just at re-taking the iNav project today, with a new F7 board, after a few months, and I need to go over all the settings again, therefore, I most probably missed some speed related settings. |
Air speed should already be estimated along with the wind speed, it is just not exposed. For the moment the estimated wind speed is only displayed on the OSD and logged. It is not used. We are considering that the estimated wind speed is not accurate enough and not updated at an acceptable rate to be used yet. For now airspeed measured from a pitot is only used by the turn coordinator. It can also be displayed on the OSD and is also logged. It is not used for PID attenuation nor throttle management, the two other main uses for it. The only reason is that the dev team is relatively small and we haven't got to it yet. |
Quite understood, Michael. Thank you for your attention and effort. I wish I would have a grade in sw to help. |
Hey, been away, didn't reply. As such, you can determine windspeed from performing a rate one turn(or a turn at a constant angle would suffice) and observe the distance traveled over time when returning to the same heading. The original post was suggesting it was possible to determine airspeed from certain pressures... it was not clear to me what that meant, so I offered a more readily available suggestion.
Now, using that throttle setting.
Therefore, if you are going to use autonomous flight, i'd recommend setting your cruise throttle to be at least 30% more than your stall throttle (though airspeed does not linearly change with throttle, you might have to experiment) for example, during a 45 degree turn, your stall speed increases by approx. 18% So that gives you a margine for safe flying. OK... maybe i've gone on long enough.. |
KaisarX, thank you for all the information, and I wish I would be smart enough to add the code in iNav, given that as I said before, I need live data, precisely, to avoid stall. |
Ok fair enough. How large is the craft that you are flying? Have you flown it before? How much angle of bank do you want? Do you want it to be autonomous or semi-autonomous? What I want to get at, is once you know your "stall throttle" (which is a totally made up thing that doesn't exist, but really means the amount of power that provides enough airspeed to maintain altitude while flying straight and level) you can infer a safe setting. If you are limiting yourself to a 45degree angle of bank, then 40% extra power may be enough to keep you away from stall. ie. if you fail to maintain altitude at 1300us, i'd say give at LEAST 300 *1.5 +1000= 1450. Then test and move forward. The beautiful thing about airspeed is that if your ability to maintain altitude is good in one direction, it is good in every direction... it's when you increase your angle of bank that you will get into trouble. Which usually happens when you are trying to maintain a certain location on the ground, and then bank too hard and then run out of airspeed (at 45 degrees stall speed increases by 18% at 60 degrees the stall speed increases by 40% and at 75 degrees it's 100% and at 90 degrees it's .... well use your rudder instead :P) When i've flown (i'm a pilot) in high winds, i've found myself tempted to bank hard when I'm trying to hit certain landmarks, or have seen how it's possible to get trapped in an illusion where it 'feels' like you are loosing airspeed, but it's just the groundspeed. As long as you maintain a sane bank angle and your throttle you are usually fine... and when in doubt reduce bank angle and tip the nose down. It's ALWAYS tempting when you are losing altitude to pull back harder on the stick.... let go, you gain airspeed, and you start to fly again instead of fall. But maybe I don't understand your actual situation. I think there may be a low-tech temporary solution while the high-tech stuff catches up. |
KaisarX, the piece of data you just wrote its really good! That is something useful, as you mentioned, for a low tech solution, if the wind factor is taken into consideration. |
I'm glad I could help a bit. There's a neat app for android (i believe) that measures the doppler effect on flybys. It's not exactly what you are looking for, but it is one more bit of information. https://play.google.com/store/apps/details?id=com.neon.rcspeedo&hl=en It's so cool that you are building so many interesting planes. I'm pretty excited about the INAV project too. I like that they have worked so hard on the navigation part and it's build on top of a racing platform. I feel like INAV is just more stable and snappier in it's responses to upset than APM stuff. And the auto launch is a pretty sweet feature too :P Best of luck to all your endevours. |
Current Behavior
If there is no hardware pitotmeter on board, the air speed can not be estimated.
Desired Behavior
Since when it is possible estimate the wind, a virtual pitotmeter can be created.
Suggested Solution
This can be done by subtracting the wind vector from the velocity vector.
We will get the air speed in this way, it is easy to convert into pressure and put it to the driver.
Who does this impact? Who is this for?
A virtual pitotmeter can be used for example to improve the operation of TURN_ASSIST.
Additional context
Of course, we convert the air speed to pressure, then in pitotmeter.c again convert the pressure to the speed, but it is probably simpler and clearer than adding a condition in pitotmeter.c.
The text was updated successfully, but these errors were encountered: