Re: [Flightgear-devel] Positioning data from the multiplayer server
I wrote a message to the group last week and received the reply below. I'm not sure how to convert the multiplayer position message data from the geodetic coordinates. Could you point me to a place in the flightgear code or a resource on the internet that might help me do this conversion? I'm basically trying to get the coordinates to look the same way they do in the FDM. Thanks, frank Hi Frank. On Monday 03 December 2007 00:01:50 frank hadder wrote: I'm wanting to access the multiplayer positioning data in a third party software. Currently, I've modified the FlightGear code to forward position messages received from the multiplayer server to my external application. It appears I'm receiving these messages fine because I can read information in the message header (like the callsign of the plane in question and the type of message being sent). However, when I try to read the position and orientation portions of the message, I can't seem to convert these numbers to something accurate. I'm emulating (verbatim) the FlightGear code that reads these messages. I suppose my question is, is there anything special I need to know about these numbers? Any special conversions I need to make or code I need to look at? Any help would be appreciated. There are only two points to mention: 1) The position data is XDR-encoded 2) The position is encoded in geodetic coordinates So in order to interpret the data you have to decode the XDR-data and convert the coordinates to your local coordinate-system. There is nothing special or magical involved. Regards, Oliver - SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
[Flightgear-devel] Positioning data from the multiplayer server
I'm wanting to access the multiplayer positioning data in a third party software. Currently, I've modified the FlightGear code to forward position messages received from the multiplayer server to my external application. It appears I'm receiving these messages fine because I can read information in the message header (like the callsign of the plane in question and the type of message being sent). However, when I try to read the position and orientation portions of the message, I can't seem to convert these numbers to something accurate. I'm emulating (verbatim) the FlightGear code that reads these messages. I suppose my question is, is there anything special I need to know about these numbers? Any special conversions I need to make or code I need to look at? Any help would be appreciated. - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
[Flightgear-devel] Programmatically Gathering Incoming Multiplayer Data to FlightGear
I'm working on a UAV simulator using FlightGear. The goal is to make an autonomous UAV. We have written code that receives FDM input and sends the flight controls back to the FlightGear simulator ie. we have written a program to fly the plane. Now we want to add the data from the Multiplayer server to help make flight decisions (such as if we wanted an autonomous UAV to follow another plane). To do this, we need to have access to the data being sent from the multiplayer server to our local instance of FlightGear. The problem, at least as I see it, is that we cannot bind a socket to the port being used to send this information to our local FlightGear because it is already in use (by FlightGear). I'm searching for a solution to this problem. Listed below are possible ideas in order of preference: 1. Set some command line option in FlightGear to enable our program to have access to the FlightGear multiplayer information (namely the position of other aircraft). If there is such an option, I'm not aware of it. 2. Enable some kind of port forwarding. If there is a way to do it, we could, at the OS level (linux), forward information coming in on a certain port to both the original port and a second port that my program can bind to. I'm not sure if this is possible. I know you can forward packets coming in on one port to another port but I assume the original port never receives the packet. I would need a kind of copy to be placed for access on a second port. 3. Change the FlightGear code to not only listen to the multiplayer port but to also forward those packets onto another port. This is perhaps the most straightforward option but I hesitate to introduce new code into as complex of a system as FlightGear. So, I ask the community, which of these options (or none of the above) seems like the easiest/possible solution? Thoughts? Are there any details I forgot to provide that you would need to know? Thanks, frank - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel