Question about tdble type and vehicle position
Owen McAree <[email protected]> Wed, 3 Dec 2014 10:01:36 +0000
| Newsgroups | gmane.games.torcs.devel |
|---|---|
| Message-ID | <CAJ14Ejh=tbpuk5O_b_1SOOJ4X+fTu3oJW6xwicb1OiRFEAv1=w@mail.gmail.com> |
--001a1135ff9cda125a05094cedbb Content-Type: multipart/alternative; boundary=001a1135ff9cda125505094cedb9 --001a1135ff9cda125505094cedb9 Content-Type: text/plain; charset=UTF-8 Hello developers, Firstly I'd like to say thanks for creating such a great piece of software! I've just started a research job and will be using TORCS extensively to study the behavior of autonomous vehicles. I have written a small interface between TORCS and MATLAB such that I can I can prototype my algorithms quickly and I have come across a small problem. The 'tdble' type used by TORCS is defined as a float, which for the majority of parameters makes sense but when working with the vehicle positions I have found some numerical errors creeping in to the integration inside SimCarUpdatePos (in car.cpp). The issue comes about when two vehicles have very similar (but not identical) velocities, which when integrated with the position get truncated to be identical. This has the effect that computing the distance between two vehicles returns a constant value (as the velocities are being made identical). I have attached a plot illustrating the bug, it shows the computed distance between two vehicles (one following the other with near identical velocity) when the lead vehicle brakes. At first I thought I could simply change the definition of tdble to double and this would solve the problem, but it seems that tdble is not used consistently through the source, so this caused more problems! In the end I modified the structures a little to simply have the position values represented as double (in addition to the tdble values, for compatibility) and leave the rest untouched, this has solved the problem (but is not elegant!). I appreciate this is an edge case which will only crop up very rarely, but if you'd like me to share my changes with you (or if you have a more elegant solution!) please let me know. Best regards, Owen -- Dr Owen McAree Research Fellow Department of Automatic Control and Systems Engineering University of Sheffield, S13JD T: 0114 222 5138 E: [email protected] --001a1135ff9cda125505094cedb9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">Hello develope= rs,<div><br></div><div>Firstly I'd like to say thanks for creating such= a great piece of software! I've just started a research job and will b= e using TORCS extensively to study the behavior of autonomous vehicles.</di= v><div><br></div><div>I have written a small interface between TORCS and MA= TLAB such that I can I can prototype my algorithms quickly and I have come = across a small problem. The 'tdble' type used by TORCS is defined a= s a float, which for the majority of parameters makes sense but when workin= g with the vehicle positions I have found some numerical errors creeping in= to the integration inside=C2=A0SimCarUpdatePos (in car.cpp). The issue com= es about when two vehicles have very similar (but not identical) velocities= , which when integrated with the position get truncated to be identical. Th= is has the effect that computing the distance between two vehicles returns = a constant value (as the velocities are being made identical). I have attac= hed a plot illustrating the bug, it shows the computed distance between two= vehicles (one following the other with near identical velocity) when the l= ead vehicle brakes.</div><div><br></div><div>At first I thought I could sim= ply change the definition of tdble to double and this would solve the probl= em, but it seems that tdble is not used consistently through the source, so= this caused more problems! In the end I modified the structures a little t= o simply have the position values represented as double (in addition to the= tdble values, for compatibility) and leave the rest untouched, this has so= lved the problem (but is not elegant!).</div><div><br></div><div>I apprecia= te this is an edge case which will only crop up very rarely, but if you'= ;d like me to share my changes with you (or if you have a more elegant solu= tion!) please let me know.</div><div><br></div><div>Best regards,</div><div= >Owen</div></div></div><div><br></div>-- <br><div class=3D"gmail_signature"= ><div dir=3D"ltr">Dr Owen McAree<div>Research Fellow</div><div><div>Departm= ent of Automatic Control and Systems Engineering</div><div>University of Sh= effield, S13JD</div><div>T: 0114 222 5138</div><div>E: <a href=3D"mailto:o.= [email protected]" target=3D"_blank">[email protected]</a></div= ></div></div></div> </div> --001a1135ff9cda125505094cedb9-- --001a1135ff9cda125a05094cedbb Content-Type: image/png; name="tdbleBug.png" Content-Disposition: attachment; filename="tdbleBug.png" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i38irgku0 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 --001a1135ff9cda125a05094cedbb Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk --001a1135ff9cda125a05094cedbb Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Torcs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/torcs-devel --001a1135ff9cda125a05094cedbb--