From: David Y. <da...@ec...> - 2003-07-07 01:03:24
|
Hi, I've been doing some research into JSBSim over the past few weeks as part of a new open source military flight sim, Phoenix OSFS. So far JSBSim has proven to be an impressive modular FDM and something we're seriously considering for inclusion. Thus far the documentation and a good code audit has been able to give us the information we've needed, but a few days ago we hit a wall regarding three important issues - spin modelling, off-normal ground contact, and wind modelling. Thus it's time to ask the people who know JSBSim the best in order to clear things up. * Does JSBSim model spins? I've seen the stall code work quite well in FGFS and scripts, but haven't been able to depart anything and get it to spin. * During abnormal contact with the ground, I've seen some bizarre behavior. Hitting hard on gear seems to cause the ship to recoil off the ground at high speeds, and scraping hard can either result in recoil, a scrape warning, or a crash detection. In my mind this means JSBSim aims more to flag these events and rely on the parent application to handle to proper effect on the aircraft. Is this a correct assessment? * One of the things we're planning on is a cellular wind system, allowing aircraft to experience fast changes in wind speed and direction depending on location. The wind system in JSBSim seems to model changes only globablly - did I miss something in the code? Secondly, JSBSim doesn't seem to handle downdrafts or updrafts; again, is this a correct assessment? * OK, I lied, there's another question - is there any potential for stresses on individual airframe components to be modelled? Would be nice to snap off a wing rather than just detect an over-G and break the plane arbitrarily at the application level. Thanks for the input, David Yucht da...@ec... |
From: Jon B. <js...@ha...> - 2003-07-07 02:03:34
|
> * Does JSBSim model spins? I've seen the stall code work quite well in > FGFS and scripts, but haven't been able to depart anything and get it to > spin. This is a tricky question that doesn't have a simple yes/no answer. I expect Tony Peden will chime in here - he's more of an aero expert. I feel there's no real inherent reason why we could not model spin behavior - especially with a little work. Obviously, it's something we'd like to do, just haven't really gotten around to, yet (like several other things). One of the things we're considering for "someday" is a sort of piecewise aero model to be blended in at the edges of the nominal flight envelope. In this case, in those areas for which we have little or no valid data, we could have a parallel model (an instance of FGAerodynamics, for instance), that would calculate forces and moments based on individual lifting surface panels. This would allow for a wider range of aerodynamic effects to be modeled, albeit at a lower fidelity. However, there are perhaps other ways to do this as well, and this feature has not proceeded past the talking stage. Again, Tony and perhaps others might have some better input on spins in JSBSim. > * During abnormal contact with the ground, I've seen some bizarre > behavior. Hitting hard on gear seems to cause the ship to recoil off the > ground at high speeds, and scraping hard can either result in recoil, a > scrape warning, or a crash detection. In my mind this means JSBSim aims > more to flag these events and rely on the parent application to handle to > proper effect on the aircraft. Is this a correct assessment? JSBSim models ground reactions itself. We have aimed at modeling physical effects as accurately as possible. However, due to the discrete nature of simulation, sometimes we fail. However, I'd suggest that the problems you relay could likely be solved by a few actions. 1) Tweak the spring and damping coefficients 2) Model gear/strut breakage when the applied forces exceed specified limits. This is a code change we have been considering. We haven't spent a whole lot of time on the non-gear body contact dynamics, but I would also say that I think our capability for handling this exists. We do model ground contact reactions for specified points, e.g. wingtips, etc. We model these as gear with different spring/damping coefficients, and a few other minor differences, as I recall. I think we are set to model what you need with minimal extra work. Again, we ourselves would like this feature to be better in JSBSim. It's really just a matter of having the time to sit down and play with it and tweak it a bit. > * One of the things we're planning on is a cellular wind system, allowing > aircraft to experience fast changes in wind speed and direction depending > on location. The wind system in JSBSim seems to model changes only > globablly - did I miss something in the code? Secondly, JSBSim doesn't > seem to handle downdrafts or updrafts; again, is this a correct > assessment? Again, the "hooks" for JSBSim to handle all kinds of wind are in place and - though still in development - I believe the potential is there to do what you need. I got the turbulence code idea from a very good AIAA paper, and added in the early implementation. David Megginson has done some work in this area, building upon what we already have, and I think he would have the most valuable comment on this at this time. > * OK, I lied, there's another question - is there any potential for > stresses on individual airframe components to be modelled? Would be nice > to snap off a wing rather than just detect an over-G and break the plane > arbitrarily at the application level. We've discussed this and I don't see why we couldn't do this. This is more in the area of game play, though. As engineers we have looked at JSBSim and developed it largely from the point of view of pilots and practicing simulation and aerodynamic engineers. This feature strikes me as more of a game play type of feature, but it's certainly within the realm of the possible. We do calculate normal accelerations and I believe we could calculate things like excessive g-loads, etc. But there are probably a whole series of rules that would need to be specified per-aircraft for what could or would happen under given conditions. This might call for a new class. We've also tossed this idea about more than a few times: FGEffects. I will also mention that we have some capabilities that you might not find elsewhere. One is the flight control system components. The other is the ability to run in a standalone mode, and make scripted runs. Most importantly, one feature I hope to add sooner rather than later (but as a father of four, this spare time project gets less of my time as time goes on) is the ability to run child (or "slaved", if you will) submodels. This would include things like flying an F-16 (with its control system), and having a few laser-guided bombs or sidewinders mounted on it - each with its own control system and flyout dynamics. Each submodel would have its own instance of a JSBSim FDM. This opens up a whole world of possibilities. Thanks for your interest. I hope this works out for our mutual benefit. Regardless of which way you end up going, I hoe you'll stick around here and keep us posted on your progress. It's likely that you can pick up some good information here and in the flightgear-flightmodel list. Best Regards, Jon Berndt JSBSim Project Coordinator http://jsbsim.sf.net |
From: Jon B. <js...@ha...> - 2003-07-08 12:52:31
|
David Y.: I also posted a newer document online at the JSBSim web site: http://jsbsim.sourceforge.net/AutoFlightInJSBSim.pdf This one reviews the capability of JSBSim for creating flight control system and autopilot features. Jon |
From: David Y. <da...@ec...> - 2003-07-08 17:21:14
|
Thanks for the link, additional documentation is almost always a good thing. As a quick digression, did anything ever happen with the open flight model database idea that was kicked around many months ago? David Yucht da...@ec... On Tue, 8 Jul 2003, Jon Berndt wrote: > David Y.: > > I also posted a newer document online at the JSBSim web site: > > http://jsbsim.sourceforge.net/AutoFlightInJSBSim.pdf > > This one reviews the capability of JSBSim for creating flight control system > and autopilot features. > > Jon > > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 > _______________________________________________ > Jsbsim-devel mailing list > Jsb...@li... > https://lists.sourceforge.net/lists/listinfo/jsbsim-devel > _______________________________________________ > The JSBSim Flight Dynamics Model project > http://www.JSBSim.org > _______________________________________________ > |
From: Jon S B. <js...@ha...> - 2003-07-08 17:50:45
|
On Tue, 8 Jul 2003 10:20:20 -0700 (PDT) David Yucht <da...@ec...> wrote: >As a quick digression, did anything ever happen with the >open flight model database idea that was kicked around many months ago? If I recall correctly, you are referring to the database I started, recording important aircraft information as I found it. I would have liked to make it an intereactive database for approved users to enter data as found, but I never was ablet o find the time, or to set up a data base to use. I still like the idea, but I don't have the time to implement that one. I did post on the JSBSim web site the information I had found up to that point. It's available as a pdf and xls file - but I don't have the exact link at the moment. I *think* the links are: http://jsbsim.sf.net/aircraft.xls http://jsbsim.sf.net/aircraft.pdf But I'm not sure. Jon |
From: Tony P. <ap...@ea...> - 2003-07-09 01:18:17
|
On Sun, 2003-07-06 at 18:02, David Yucht wrote: > Hi, > I've been doing some research into JSBSim over the past few weeks > as part of a new open source military flight sim, Phoenix OSFS. So far > JSBSim has proven to be an impressive modular FDM and something we're > seriously considering for inclusion. Thus far the documentation and a good > code audit has been able to give us the information we've needed, but a > few days ago we hit a wall regarding three important issues - spin > modelling, off-normal ground contact, and wind modelling. Thus it's time > to ask the people who know JSBSim the best in order to clear things up. > > * Does JSBSim model spins? I've seen the stall code work quite well in > FGFS and scripts, but haven't been able to depart anything and get it to > spin. The short answer is no it doesn't. The long answer is that the technique we use to reproduce the characteristics of the airplane doesn't really allow it. There are ways to build a spin simulator with the coefficient technique though I'm not sure if the resulting sim would be good for normal flight and, if not, whether or not there's a good way to combine both techniques into one simulation. Beyond that, however, I have some real philosophical issues with implementing spin behavior. I'll stay off the soap box, though, and just say that even if any technical hurdles could be overcome I'm not sure it's the right thing to do. > > * During abnormal contact with the ground, I've seen some bizarre > behavior. Hitting hard on gear seems to cause the ship to recoil off the > ground at high speeds, and scraping hard can either result in recoil, a > scrape warning, or a crash detection. In my mind this means JSBSim aims > more to flag these events and rely on the parent application to handle to > proper effect on the aircraft. Is this a correct assessment? I would say, yes. The trouble here is that once you contact the ground with anything other than the gear, the particular details of the aircraft structure become important and, landing gear excepted, we don't try to model structural dynamics. > > * One of the things we're planning on is a cellular wind system, allowing > aircraft to experience fast changes in wind speed and direction depending > on location. The wind system in JSBSim seems to model changes only > globablly - did I miss something in the code? Secondly, JSBSim doesn't > seem to handle downdrafts or updrafts; again, is this a correct > assessment? JSBSim only knows what the wind is at the current position. It's up to the parent app to know how wind varies as the aircraft position changes. > > * OK, I lied, there's another question - is there any potential for > stresses on individual airframe components to be modelled? Would be nice > to snap off a wing rather than just detect an over-G and break the plane > arbitrarily at the application level. This gets into my philosophical issues, again. > > Thanks for the input, > > David Yucht > da...@ec... > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 > _______________________________________________ > Jsbsim-devel mailing list > Jsb...@li... > https://lists.sourceforge.net/lists/listinfo/jsbsim-devel > _______________________________________________ > The JSBSim Flight Dynamics Model project > http://www.JSBSim.org > _______________________________________________ -- Tony Peden <ap...@ea...> |
From: David M. <da...@me...> - 2003-07-09 01:51:48
|
Tony Peden writes: > Beyond that, however, I have some real philosophical issues with > implementing spin behavior. I'll stay off the soap box, though, > and just say that even if any technical hurdles could be overcome > I'm not sure it's the right thing to do. What are the philosophical issues? Intentional spins are an important part of many training regimes, not to mention aerobatic flight and simple recreational flying, so they're a desirable thing to model. Many common trainers, including the Cessna 150, Cessna 152, Cessna 172, Cherokee 140, Tomahawk, and (I think) the J3 Cub are all spin-certified, at least in the utility category. All the best, David -- David Megginson, da...@me..., http://www.megginson.com/ |
From: Jon B. <js...@ha...> - 2003-07-09 02:01:54
|
> What are the philosophical issues? Intentional spins are an important > part of many training regimes, not to mention aerobatic flight and > simple recreational flying, so they're a desirable thing to model. > Many common trainers, including the Cessna 150, Cessna 152, Cessna > 172, Cherokee 140, Tomahawk, and (I think) the J3 Cub are all > spin-certified, at least in the utility category. That's just it. It's too important not to model with a high degree of fidelity, and I don't believe any of our FDMs are up to that. Providing negative training in something this critical is a bad idea. I suspect that's what Tony is getting at. Jon |
From: David M. <da...@me...> - 2003-07-09 02:19:13
|
Jon Berndt writes: > > What are the philosophical issues? Intentional spins are an important > > part of many training regimes, not to mention aerobatic flight and > > simple recreational flying, so they're a desirable thing to model. > > Many common trainers, including the Cessna 150, Cessna 152, Cessna > > 172, Cherokee 140, Tomahawk, and (I think) the J3 Cub are all > > spin-certified, at least in the utility category. > > That's just it. It's too important not to model with a high degree of > fidelity, and I don't believe any of our FDMs are up to that. Providing > negative training in something this critical is a bad idea. I suspect > that's what Tony is getting at. JSBSim' stall modelling is better than it used to be, but it started off very far from perfect and we never hesitated to model it, despite the fact that stalls are at least as critical as spins. As far as I understand, a spin is not that hard to explain -- it is a self-sustaining state where one wing is stalled and one wing is not. The problem is simply that JSBSim uses whole-aircraft coefficients, which make this behaviour very difficult to model (ditto for tail-stalls). All the best, David -- David Megginson, da...@me..., http://www.megginson.com/ |
From: Tony P. <ap...@ea...> - 2003-07-09 11:55:30
|
On Tue, 2003-07-08 at 19:18, David Megginson wrote: > Jon Berndt writes: > > > > What are the philosophical issues? Intentional spins are an important > > > part of many training regimes, not to mention aerobatic flight and > > > simple recreational flying, so they're a desirable thing to model. > > > Many common trainers, including the Cessna 150, Cessna 152, Cessna > > > 172, Cherokee 140, Tomahawk, and (I think) the J3 Cub are all > > > spin-certified, at least in the utility category. > > > > That's just it. It's too important not to model with a high degree of > > fidelity, and I don't believe any of our FDMs are up to that. Providing > > negative training in something this critical is a bad idea. I suspect > > that's what Tony is getting at. > > JSBSim' stall modelling is better than it used to be, but it started > off very far from perfect and we never hesitated to model it, despite > the fact that stalls are at least as critical as spins. Yes, but recovery from a straight ahead stall is a predictable thing. I've never heard of an airplane that won't gain speed given nose down input and power. Spin recovery technique, OTOH, varies from aircraft to aircraft and technique that's goodness on one can make things worse on the next. > > As far as I understand, a spin is not that hard to explain -- it is a > self-sustaining state where one wing is stalled and one wing is not. > The problem is simply that JSBSim uses whole-aircraft coefficients, > which make this behaviour very difficult to model (ditto for > tail-stalls). Yes. > > > All the best, > > > David -- Tony Peden <ap...@ea...> |
From: David M. <da...@me...> - 2003-07-09 12:56:03
|
Tony Peden writes: > Yes, but recovery from a straight ahead stall is a predictable > thing. I've never heard of an airplane that won't gain speed given > nose down input and power. I understand that some larger T-tail aircraft, however, will not recover easily from a stall, and I think that many more advanced light aircraft are not certified for intentional stalls (but I'd have to check). > Spin recovery technique, OTOH, varies from aircraft to > aircraft and technique that's goodness on one can make things worse on > the next. I'm sure that there are some special exceptions, but in general, I think that spin recovery for a light aircraft is pretty standard: nose down to break the stall, opposite rudder to stop the turning, then gently pull out of the resulting dive. I think that the reason that spins seem difficult is that you're already very far nose down, and it's psychologically difficult to push the nose further when the ground is rushing up at you. The 150/152 and 172, apparently, will recover from the autorotation themselves once you release control pressures, but that's simply a matter of magnitude (as with the stall). All the best, David -- David Megginson, da...@me..., http://www.megginson.com/ |
From: Tony P. <ton...@ya...> - 2003-07-09 13:53:11
|
--- David Megginson <da...@me...> wrote: > Tony Peden writes: > > > Yes, but recovery from a straight ahead stall is a predictable > > thing. I've never heard of an airplane that won't gain speed > given > > nose down input and power. > > I understand that some larger T-tail aircraft, however, will not > recover easily from a stall, and I think that many more advanced > light aircraft are not certified for intentional stalls (but I'd have > to check). Some (most?, all?) T-tail aircraft are subject to deep stall which can be difficult to recover from. My understanding is that it's pretty hard to get there in the first place, however. > > > Spin recovery technique, OTOH, varies from aircraft to > > aircraft and technique that's goodness on one can make things > worse on > > the next. > > I'm sure that there are some special exceptions, but in general, I > think that spin recovery for a light aircraft is pretty standard: > nose > down to break the stall, opposite rudder to stop the turning, then > gently pull out of the resulting dive. I think that the reason that > spins seem difficult is that you're already very far nose down, and > it's psychologically difficult to push the nose further when the > ground is rushing up at you. The 150/152 and 172, apparently, will > recover from the autorotation themselves once you release control > pressures, but that's simply a matter of magnitude (as with the > stall). Probably true and the engineers at Cessna, Piper, Beech, etc. probably did their best to make it come out that way. There are a great many aircaft which aren't so docile, however. > > > All the best, > > > David > > -- > David Megginson, da...@me..., http://www.megginson.com/ > > > ------------------------------------------------------- > This SF.Net email sponsored by: Parasoft > Error proof Web apps, automate testing & more. > Download & eval WebKing and get a free book. > www.parasoft.com/bulletproofapps > _______________________________________________ > Jsbsim-devel mailing list > Jsb...@li... > https://lists.sourceforge.net/lists/listinfo/jsbsim-devel > _______________________________________________ > The JSBSim Flight Dynamics Model project > http://www.JSBSim.org > _______________________________________________ > > > __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com |
From: Jon B. <js...@ha...> - 2003-07-09 02:17:27
|
> The long answer is that the technique we use to reproduce the > characteristics of the airplane doesn't really allow it. There are ways > to build a spin simulator with the coefficient technique though I'm not > sure if the resulting sim would be good for normal flight and, if not, > whether or not there's a good way to combine both techniques into one > simulation. I had a discussion recently with someone about modeling spins using aero coefficients and our aero modeling approach. He relayed that he believed it was possible, but that a change in coordinate system might be advantageous. I agree that we could model spins with our approach. It might require some modifications to our aero code, but I think we could approximate spin behaviour fairly well. I have seen a paper on spin modeling and they used a different approach - one that was meant solely for spins. However, this gets into the philosophical issue, do we want to approximate - or possibly badly model - spin behaviour and stand the chance of providing someone with the wrong idea? > > * During abnormal contact with the ground, I've seen some bizarre > > behavior. Hitting hard on gear seems to cause the ship to recoil off the > > ground at high speeds, and scraping hard can either result in recoil, a > > scrape warning, or a crash detection. In my mind this means JSBSim aims > > more to flag these events and rely on the parent application to > > handle to proper effect on the aircraft. Is this a correct assessment? > > I would say, yes. The trouble here is that once you contact the ground > with anything other than the gear, the particular details of the > aircraft structure become important and, landing gear excepted, we don't > try to model structural dynamics. We don't model structural dynamics, but I don't believe that is what is being asked. We do aim to model ground reactions with a high enough degree of fidelity to be absolutely believable. As I stated before, part of the problem may be bad spring/damping coefficients, and also that we should be breaking things and/or changing coefficients when loads are exceeded. The thing is: what do we expect to happen when we land real hard? Should we freeze the simulation rather than proceed with a false reaction? Should we - in a gamelike approach - portray a canned crash scenario? Should we attempt to model the dynamics of a crashed and deforming aircraft? There are several ways to look at it. > > > > * One of the things we're planning on is a cellular wind > system, allowing > > aircraft to experience fast changes in wind speed and direction > depending > > on location. The wind system in JSBSim seems to model changes only > > globablly - did I miss something in the code? Secondly, JSBSim doesn't > > seem to handle downdrafts or updrafts; again, is this a correct > > assessment? > > JSBSim only knows what the wind is at the current position. It's up to > the parent app to know how wind varies as the aircraft position changes. The parent app - in this case FlightGear - can provide wind direction and magnitude at any time - it knows about the terrain. However, JSBSim does have the hooks, as I mentioned before, for providing tubulence modeling. Adding code to do additional kinds of wind modeling is not terribly difficult. There are papers written on this topic. Jon |