|
From: James T. <zak...@ma...> - 2015-04-03 11:23:32
|
> On 2 Apr 2015, at 10:06, ric...@gm... wrote: > > What are your plans for waypoint transitions in the route manager? > > Without any additional processing, waypoint transitions when using the route manager are, for want of a better term, wobbly. The aircraft homes in on the waypoint, which can result in an aggressive turns as it gets within a couple of miles, then it turns again for the outbound leg when the transition happens. More advanced autopilots use Nasal helpers to smooth out the transition, working out how early they need to switch waypoints to meet the next leg in one simple turn. > > The question is, do you plan to build that into the route manager, i.e. in C++ code? > > The reason I ask is that I have a Nasal script that is pretty generic and does the smoothing based on calculated turn radius. I was going to offer it as a generic smoothing algorithm for fgdata that can adopt a similar role as the generic autopilot, i.e. a placeholder until the aircraft developer comes up with something specific to the aircraft. I would prefer to do this in an XML filter in the generic autopilot helpers - definitely not in Nasal. It can be done in C++ if strictly required but then we need way to disable it for people who want different filtering. However, enabling the turn-anticipation code in the GPS system (which actually flies the route) would solve this issue entirely - and that /is/ C++ code. The problem is it’s buggy, and needs testing, to ensure it generates a good output suitable for the XML autopilot rules (either generic or aircraft-specific) to follow. So really your problem can be summed up as ‘James should find some time to finish/debug the C++ turn anticipation code’, which is entirely fair. However given more pressing things to work (especially aircraft package management) I’m not sure this will happen for 3.6. However, this is an area of the code anyone can dive into; it’s fairly self-contained in two files, and I was working in the same area recently so I can offer plenty of suggestions and hints. However, there may be some architecture work needed to expand the waypoint controllers to interact with turn-anticipation better - right now they basically opt in or out, really the controllers should give some hint how sharp the next turn will be, so the turn anticipation can plan accordingly. Of course for the dynamic waypoints the turn angle is dependent on other factors (climb rate or ground speed), but just improving the situation for the static waypoints would be a huge improvement. Kind regards, James |