Lee > Subject: Re: [Flightgear-devel] Object avoidance > > > On Sunday 17 February 2008 11:35, Vivian Meazza wrote: > > Markus > > > > > Subject: Re: [Flightgear-devel] Object avoidance > > > > > > LeeE wrote: > > > > On Friday 15 February 2008 17:08, Melchior FRANZ wrote: > > > >> * R. van Steenbergen -- Friday 15 February 2008: > > > >>> Melchior FRANZ wrote: > > > >>>> ...you could abuse that by > > > >>>> launching an invisible, lightweight, and very fast submodel, > > > >>>> and check where and at which altitude it lands. > > > >>> > > > >>> Don't they call that 'radar' in real life? :) (The very fast, > > > >>> lightweight submodels being microwave photons in that > > > >>> case) > > > >> > > > >> Hehe, yes. Except that ours don't come back. And I'm not > > > > > > sure if they > > > > > > >> collide with static/random buildings. They hardly do with > > > > > > trees. Hmm > > > > > > >> ... cows? > > > >> > > > >> m. > > > > > > > > Markus Zojer has used this technique for the TFA > functions in the > > > > B-1B. I had a look at it and experimented with it when > I wanted > > > > to add TFA to a couple of aircraft I've done - it's a very > > > > appealing approach because it's almost like simulating a real > > > > radar. > > > > > > > > I had a play with the technique but hit some problems with it, > > > > mainly because the trajectory of the submodels is fixed to the > > > > pitch of the aircraft. I found it fine while the > aircraft was in > > > > level flight but I hit some issues when the aircraft > was pitched > > > > up or down to any significant degree and in the end I > decided to > > > > use the Nasal geo functions instead. > > > > > > I am still working on the terrain following function, > rewriting it > > > completely for the 3rd time and again used "the real radar" > > > approach, as you are not dependent in the scanning > resolution of the > > > geo properties. The fixed radar beam (submodels) could be refined > > > if we would add the > > > property absolute to the pitch angle of the submodel (so the > > > submodel > > > leaves the plane at always the same pitch angle). > > > > > > Due to the ongoing environment development in OSG, now low level > > > flying is really flashing :) > > > > > > Expect the new version included in the next release (coming > > > hopefully within the next 10 days). > > > > > > Fly on, > > > Markus > > > > > > > As I mentioned previously, the geo functions do interact with > > > > static buildings and structures, as long as the scanning scheme > > > > has a high enough resolution to ensure sampling them - > I haven't > > > > tried with random objects though - still on OSG 2.2 > here and the > > > > performance hit when using > > > > OSG_DATABASE_PAGER_DRAWABLE=VertexArrays is too great here. > > > > > > > > I have noticed that pylons are not detected and I would > doubt that > > > > trees are detected either, presumably because they have > no area. > > > > The pylons are made with line objects that have no > width and the > > > > trees, at least in plan, also have no width, so it'll be very > > > > unlikely to hit the exact point where they are in any scanning > > > > scheme. Adding a transparent horizontal plane poly to > the top of > > > > these objects probably would make it work, but not only > would it > > > > increase the render load but also probably introduce more > > > > transparency render artifacts and ordering issues. > > > > OK I can give you submodels which are stabilised in pitch > within a few > > days, if this is really a good approach - submodels are a big frame > > rate hit. > > > > Would an alternative be to duplicate the code which calculates the > > ground intersection for submodels, without the cost of "flying" the > > submodel? This approach would take more coding, but might be less > > frame rate intensive. However, the methods which are used > are some of > > the most frame rate heavy around so perhaps in practice not too > > different. > > > > Vivian > > It is an attractive approach because it is very similar to the way > that real radar works and it's fun to add a visible model to the > pulses so you can see them:) > > Some of the problems I found with it though, include the high > submodel overhead. Even in level flight I found I needed to 'fire' > pulses in a vertical fan, both above and below the line of flight, > to ensure detection of higher ground, especially if the aircraft is > pitched down to any significant degree. However, if there isn't > any higher ground within range, which will be the case unless you > only fly in mountainous regions, a high proportion of the pulses > will never hit anything and will only expire at the end of their > lifetime - this seemed like an unnecessary overhead. > > I also hit some problems with the resolution of the pulses, this > seeming to be tied to the pulse speed, the aircraft speed and the > frame-rate, because the location of the pulse can only be checked > once per frame. For example, if you use a pulse speed of 10000m/s > and you are running at 20fps the effective resolution of the pulses > (if the aircraft is stationary) will be 10000/20 = 500m. > > Furthermore, once the aircraft speed is added to the pulse speed, > because the pulse speed is relative to the aircraft speed, the > resolution reduces as airspeed increases (this is also a factor in > the Nasal geo solution I've done but in 'continuous' mode it is > ameliorated to a large degree by multiple scans of the same area > and in practice, and using the elevation markers to show the > high-elevation points, it usually manages to find ridge-lines and > buildings/bridges etc with a high degree of accuracy) On top of > that, the frame-rate varies so the resolution becomes > indeterminate. Using a slower pulse speed increases the resolution > but also increases the submodel overhead because they need a longer > lifetime to reach the same scanning distance whilst simultaneously > increasing the time before you get a 'return' and thus reducing the > time available to react:( > > It _is_ an attractive approach but I think the cons outweigh the > pros. >
I think I agree. Tim Moore has pointed out a totally unused and untested utility in OSG which has been ported into FG, and which looks as if it might do exactly what we want (with a bit of massaging as ever). It says that it is reasonably lightweight, but has absolutely no documentation. So, and I probably need my head examining, I'm going to see if we can't do this job properly. Vivian ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel