Home

"user manual"

image

Contents

1. sess saa EEan sa sa sana dana 10 5 POSTONIN G 25 12 5 1 POSITION OBJECT Skrim 12 COORDINATES UE 13 5 2 1 Inertial Co ordinate S eee it deceat c rta a te Rd er en 13 5 2 2 Track Co ordibales iiie rnt dr tta o rtt d ex e e adu 14 523 LANE eie intei aae onus taut d daa a e ar dt Lec e rea 14 524 Geographic 15 5 25 Hetrieving Co ordinates ssi aiie 15 6 QUERIES mec 16 6 1 OVERVIEW 16 6 2 CONVERT AN INERTIAL POSITION INTO A TRACK 222 16 6 8 CONVERT AN INERTIAL POSITION INTO A LANE 2 22 17 6 4 CONVERT AN INERTIAL POSITION INTO A SERIES OF LANE 18 6 4 1 At th Given EOGallOl d ete 18 6 42 Circle Surrounding the Given Location sse 18 6 5 CONVERT A TRACK POSITION INTO AN INERTIAL 222 nnne nnne 19 6 6 CONVERT A LANE POSITION INTO AN INERTIAL 20 19 6 7 CONVERT AN INERTIAL POSITION INTO A GEOGRAPHIC 19 6 8 CONVE
2. 5 c lo yt green HE d gt l 9 methods in OdrManagerLite a alSicla Es 1 13 13 IS E c le ws exe S als IS o l alSlQlelg a S E ex Ez I 5 1 12 la 2 5 5 cS 1 lE 5 6 5 blue 5 5 2 8 z amp 2 EIE S s tiounj o a l9 S xzixic zoom ssisie s r g9 Lilo olo 5 llela 5 5 5 add ons in OdrManager 21 5 2 2 ze LE S la du ls IE O o JO gt lt 9 o So tic o 615165 1 5 5 5 5 5 510 5 2 5165 22 2 65 55 55 20 65 5 2 5 0 5 5 5 6 5 5 4 9 m E A a Ue e AIS la ESS aE SISIA NS EIEEE Sg S eat 5 21 5 lo S S S pu o pu pu D 2 uU 2 D gt DDD DD S 2 9 9 9 9 F 9 F F oJ oJ oJ oJ 2 oJ oJ ovo setTrackPos E E S EE ES ESSEN ES EN setLanePos x xi le setinerti
3. IRES Simulationstechnologie GmbH 7 Surface Descriptions The OpenDRIVE Manager supports surface descriptions according to the OpenCRG standard The correlation between the OpenDRIVE roads and the applicable OpenCRG data must be given by Surface tags within an OpenDRIVE file see format specification 7 1 Scaling of Surface Information The OpenDRIVE Manager provides a global method to influence the scaling of OpenCRG data upon evaluation at a given position The command is myManager setSurfaceScale double factor By this all subsequent OpenCRG information will be scaled by the given factor before being returned to the querying method 7 2 Contact Patch Instead of calculating the elevation at a single point within the detailed surface data the physical averaging effect of a contact patch may be simulated Due to performance constraints this simulation is realized by querying and averaging only four additional locations within a given area instead of computing a real patch as a tire would represent The patch size may be set with the method myManager setContactPatchDimension const double amp length const double amp width length and width are given in m Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 32 of 35 Refer to protection notice DIN ISO 16016 8 Version History IRES Simulationstechnologie
4. is this position on the path bool result myManager inertial2path double pathS getPathPos 6 25 6 Navigate Along a Path More frequently paths may be used to navigate along them and have objects follow a path For this offsets may be applied to any path position and the resulting position may be converted into lane track or inertial positions Example myManager activatePosition myPos myManager setLanePos 5 1 600 0 myManager lane2path proceed the indicated ds value from the start point result myManager addPathOffset ds 0 0 0 myManager lane2inertial Now the resulting inertial position may be queried e g by calling myManager getInertialPos The method addPathOffset provides three arguments ds delta in s direction dLane lane change dLaneOff change of the lane offset 6 25 7 Query the Relative Direction of Path and Road After a successful mapping of an inertial or lane position into a path position the direction of the underlying road i e its design direction relative to the path may be queried The result is boolean being true if the road s design direction and the path direction are the same Example bool goingForward myManager getPathFwd Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 26 of 35 Refer to protection notice DIN ISO 16016 IRES Simulation
5. 2 00000 0100 0 0000000 0000000 32 7 2 32 8 VERSION HISTORY 2 2 oe vado sas coco cca oe 33 9 deve eve eee 35 Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 L 5 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 1 Introduction 1 1 Overview This document shall provide an easy and quick introduction into the usage of the OpenDRIVE Manager library by VIRES Simulationstechnologie GmbH It is intended to be used by programmers and will assume that the typical technical terms of programming are known to the reader General aspects of OpenDRIVE like co ordinate systems etc are assumed to be known to the user from the respective documentation Only where required will further details be given in this document Some examples will complement this manual 1 2 References This manual refers to 1 OpenDRIVE Format Specification Rev 1 4E DRAFT February 23 2015 VIRES Simulationstechnologie GmbH 1 3 Versions The OpenDRIVE Manager comes in two versions e lite version e full version The lite version is intended for non commercial and evaluation purposes It provides a su
6. bugfixed reading of genuine mode in OdrManager added method loadData so that OpenDRIVE data can be provided as string not as file debugged road mark detection default friction reported as 1 0 not as 1 01 OpenCRG friction no longer interpreted also as elevation reading UserData child nodes as GenericNode changed lanevalidity to validity debugging OpenCRG for friction duplicate reading of OpenCRG files is avoided introduced purpose for OpenCRG data bugfixed path calculation bugfixed banking calculation in inertial2lanelist VIRES internal added method setSurfaceScale for CRG data bugfixed evaluation of CRG includes surface tag Sorting lanes in lane section after they have been read added computation of vertical curvature from elevation improved GeoPoly fixed bug in reading of unknown tags corrected computation of objects inertial heading implemented GeoPoly added red and white road mark colors as symbolic constants interpreting the corresponding color strings in the reader copying of position objects includes deep copy of history information improved performance of splitting of junctions VIRES internal improved check for valid road headers in inertial2lane inclusion of GPS reference co ordinate in Header added readability and occlusion to signal properties performance optimization for very long databases track2lane checks for lane width and does no longer return lane 0 debugged path calcula
7. 1586 libODriveLite 1 4 3 a l 86 64 libODriveLite 1 4 3 a Windows 52013 32 Debug OpenDriveLibLite lib LF DynamicDebug OpenDriveLibLite lib DynamicRelease OpenDriveLibLite lib Release OpenDriveLibLite lib l VS2013 64 LF Debug OpenDriveLibLite lib LF DynamicDebug OpenDriveLibLite lib DynamicRelease OpenDriveLibLite lib Release OpenDriveLibLite lib FP README txt latest notes sample implementation of the manager main cc Some special files shall be mentioned inc BaseNodes PublicNodes hh inclusions for all available nodes inc OdrManagerLite hh base class with lite functionality inc OdrManager hh derived class with full functionality NOTE When looking for the complete instruction set of the OpenDRIVE manager please check the headers of the lite version and the full version Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 L 7 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 3 2 Compiling and Running the Example In order to get the sample implementation running just compile the files in Src and link them to lib lt TargetPlatform gt libODrive lt Lite gt 1 4 3 a Here s a sample command line to get this done for full version g m32 src main cc sr
8. 18th March 2008 Dupuis creation all Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 L 3 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH TABLE OF CONTENTS 1 JIN TRODUG TION Bocce 6 Ved 6 1 2 e 6 1 3 VERSIONS e 6 2 PURPOSE OF THE OPENDRIVE 0 4 6 3 THE DISTRIBU THON e 7 3 1 Seeds sees dedush lt Seeedenedadgsebelecxs 7 3 2 COMPILING AND RUNNING THE 8 4 LOADING A DATABASE 22 ceeded beer eee eee cee eee 9 4 1 BASIC OPERATION 9 4 2 OPTIONS peas da aede pe sh edd uda 9 4 3 ADDING FILES hee Le Lie LEE EI III LI Lf 10 4 4 CONTENTS OF THE 6 0 0 6 111 sis essa sage 10 4 5 PARSING THE DATABASE eeeeee RII e ennnn nnne nennhh inna
9. 6 Queries 6 1 Overview By means of the OpenDRIVE Manager the user queries the database and receives the corresponding results In order to keep computation time at a minimum only the required information is being updated during a query Other information may be out dated so the user must take care of using only the updated information A query sequence consists of the following steps 1 Activate the position object 2 Set the input values e g known position 3 Trigger the computation function 4 Query the result In the following chapters all queries available in the current version of the OpenDRIVE Manager will be described 6 2 Convert an inertial position into a track position This method converts an inertial position into the corresponding track position Example OpenDrive Coord myCoord 1667 0 847 0 0 0 myManager setPos myCoord bool result myManager inertial2track The method will return TRUE if the track position was found After this computation the following methods will provide updated information getTrackPos track position object getCurvature curvature of the track s chord line In addition the following methods may be called footPoint2inertial attach the inertial position to the track surface i e copy the track s elevation heading pitch and roll values into the inertial position getInertialPos query the modified inertial position Date July 20 2015 Title OpenDRIV
10. Get the Road Type at a Given Position The method getRoadType calculates and returns the road type at the present lane position It returns ODR ROAD TYPE NONE if no type record was found Example int type myManager getRoadType Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 24 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 25 Working with Paths 6 25 1 Definition of Paths Paths in the sense of the OpenDRIVE Manager are directed sequences of track positions A path provides one progressive co ordinate s for positioning This co ordinate starts at zero at the path s beginning and ends at the total of chord line length retrieved from the underlying tracks 6 25 2 Creating a Path A path may be created by providing a series of track positions Between two consecutive positions there must not be more than one junction Each position object can handle one path Example OpenDrive Path newPath myManager createPath myPath assign path to current position object for further actions myManager assignPath newPath myManager addPosToPath OpenDrive TrackCoord 5 600 0 0 0 myManager addPosToPath OpenDrive TrackCoord 17 345 0 0 0 myManager addPosToPath OpenDrive TrackCoord 1 10 0 0 0 myManager addPosToPath OpenDrive TrackCoord
11. GmbH The following is a very brief overview of the features within the respective versions of the OpenDRIVE Manager version version version version version version version version version version version version version version version version version version version version version version version version version version version version version C9 CO C9 CO w w WWW CO Dos INO ds Ul Oye oe oe oe 135 12 44 43 42 41 40 223799 38 2373 361 355 31 11 4 14 03 05 12 23 28 09 08 04 21 Il 30 23 03 25 20 10 05 05 04 03 01 04 01 12 12 04 07 12 08 08 90 2054 05 04 04 03 02 01 11 20 20 20 20 20 2013 20 20 20 12 20 20 20 20 20 20 20 20 20 20 20 20 20 11 07 06 05 06 03 02 08 20 20 20 20 20 20 20 20 NO NO NO NO NO NO NO NO ND bugfixed ParamPoly3 computation for odd definitions au av bu bv all non zero introduced string IDs for basic features introduced RoadNeighbor added signal attributes added parking space and parking space markings added parametric cubic polynomial added methods for evaluating CRG data on a patch all fil
12. Node Each node of type JuncController provides a member variable mController pointing to the actual controller which is used for controlling signals in the junction 6 29 3 Controller Node Each node of type Controller provides a method for querying the control entries In order to retrieve all control entries used by a given controller first call the method ControlEntry getFirstEntry and then parse through all controllers with the node navigation methods i e node gt getRight until a null node is returned 6 29 4 ControlEntry Node Each node of type ControlEntry provides a member variable mSignal pointing to the actual signal which is controlled by the controller to which the control entry belongs 6 29 5 Bounding Boxes Some nodes carry additional information about the x y area which they cover This information is contained in objects of the type Bbox bounding box Bounding boxes may be set added to each other and queried For detailed information please check the header file Bbox hh 6 29 6 Signal Node The controller of a signal may be queried directly from the signal s member variables mController pointer to the controller mControlEntry pointer to the controller s entry handling the respective signal Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 L 31 of 35 Refer to protection notice DIN ISO 16016
13. e s position If the position is invalid zero width will be returned Example double width myManager getTrackWidth 6 13 Calculate the Track Angles The method getTrackAngles calculates and returns the heading pitch and roll angles of the track s chord line at the current track position i e s position The result can be found in the H P and R components of the returned co ordinate container If the position is invalid zero angles will be returned Example OpenDrive Coord angles myManager getTrackAngles 6 14 Get the Type of the Current Lane The method getLaneType returns the type of the lane that was accessed last e g during conversion from inertial into lane co ordinates It does not perform trigger an update of the lane position and may therefore not be used isolated from other queries Example int type myManager getLaneType 6 15 Get the Curvature within a Lane The method getLaneCurvature calculates and returns the curvature at the present lane position taking into account the curvature of the track s chord line the lateral distance from the chord line changes in the width of the own lane and any lanes between the own lane and the chord line Example double curvature myManager getLaneCurvature 6 16 Get Additional Curvature Information within a Lane After calling getLaneCurvature see above the following additional values may be retrieved without additional computati
14. getHO retums track heading at new position getNext Junction 5 mixture between action and query getLaneVVidth spe be le e Lee Le Le SIL eee e e TEES MES Ibe ES be e Ibe Jm d e dm Date August 08 2012 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 35 of 35 Copyright note according to DIN 34
15. 28 23 0 0 0 myManager addPosToPath OpenDrive TrackCoord 29 10 0 0 0 myManager addPosToPath OpenDrive TrackCoord 26 74 0 0 0 This creates a path ranging from track 5 600 0m to track 26 74 0m After this computation the following methods will provide updated information getPathLength total length of the path 6 25 3 Deleting a Path Path objects may also be deleted from the manager Example myManager createPath myPath OpenDrive Path newPath myManager deletePath newPath 6 25 4 Convert a Lane Position into a Path Position This method converts a lane position into the corresponding path position The result is the path s progressive co ordinate s Example myManager activatePosition myPos myManager setLanePos 5 1 600 0 track 5 lane 1 s 600 is this position on the path Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page 12008 029 25 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH bool result myManager lane2path double pathS getPathPos 6 25 5 Convert an Inertial Position into a Path Position This method converts an inertial position into the corresponding path position The result is the path s progressive co ordinate s Example myManager activatePosition myPos myManager setInertialPos 123 4 567 8 0 0
16. 4 Contents of the Database As it s being loaded into memory the database is converted into a tree of objects derived from the base class OpenDrive Nod The names of the derived classes correspond to the respective names of the OpenDRIVE tags and will therefore not be described in further detail here The declarations of all nodes can be found in inc BaseNodes The contents of a loaded database may be printed to standard output with the method myManager printData 4 5 Parsing the Database If you need to parse the database i e evaluate nodes that have been loaded especially userData nodes you may provide a parser callback method This will allow you to extract information directly from the loaded nodes which may sometimes be necessary if you need additional information that is not provided directly by one of the OpenDRIVE Manager s query methods For parsing the database provide a class derived from OpenDrive ParserCallback and overload the method readNode Then having loaded the database just instantiate your class and start parsing the data tree using the OpenDRIVE Manager s method e g ParserSample callback myManager parseTree amp callback Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 10 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH Your overloaded m
17. 7 6 27 1 Retrieve the Junction Header 27 6 27 2 Get the Connection 2 22 2 0 200000 000001000000000001 27 6 27 3 Get the Controller Info 2 1 02 002 2 0 0000000 28 6 27 4 Get the Signal Info from the 22 4022 000000000000000000000000 28 6 28 ACCESSING 0 1 10 4 1 29 6 28 1 Access after a Query ssssssssssisssise seen either th tse i tenens 29 6 28 2 Access independent of a Query sisse eene nnne tenerent entente 29 6 28 3 Printing 5 oiu xr b suede Sous deh nase doe un ive Pra EXER ERR 30 6 29 NODE SPECIFIC QUERY 5 000 4000 sss dass sena 30 6 29 1 J ncHeader Node ne ea REL denies save soa saves 30 6 29 2 JuncController 2 0 0 0000 00 31 6 29 3 Controller Node err da aria o dpa sods d Rt a d f d RA A d eua 31 6 29 4 ControlEntry Node 31 6 29 5 Bounding 2 31 6 29 6 Signal Node sr 31 7 SURFACE DESCRIPTIONS ee eect 32 7 1 SCALING OF SURFACE 2 2
18. E Manager User Manual Name Marius Dupuis Document No Issue Page 12008 029 L 16 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 3 Convert inertial position into a lane position This method converts an inertial position into the corresponding lane position Example OpenDrive Coord myCoord 1667 0 847 0 0 0 myManager setPos myCoord bool result myManager inertial2lane The method will return TRUE if the lane position was found After this computation the following methods will provide updated information getLanePos lane position object getCurvature curvature of the track s chord line getLaneType type of the lane getLaneWidth width of the lane In addition the following methods may be called footPoint2inertial attach the inertial position to the track surface i e copy the track s elevation including lane height heading pitch and roll values into the inertial position getInertialPos query the modified inertial position If the only a specific road shall be searched for the position the method bool myManager inertial2lane int trackId should be used It will return TRUE only it the inertial position can be matched to a lane position on the given road Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 17 of 35
19. IRES Simulationstechnologie GmbH Project OpenDRIVE Manager Document No Issue Title User Manual VI2008 029 L Date July 20 2015 no of pages 35 Issuing Party VIRES GmbH Name Marius Dupuis Distribution List public Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page 12008 029 L 1 of 35 Refer to protection notice DIN ISO 16016 Revision Control IRES Simulationstechnologie GmbH Issue Date Author Description Affected Chapters L July 20 2015 Dupuis adaptation to OdrMgr 1 4 3 e updated names of include files all starting with prefix Odr now e introduction of geographic co 5 2 4 5 2 5 ordinates e additional methods for working 7 with surface data e laneHeight be ignored 6 6 e co ordinate conversion between 6 7 6 8 geographic and inertial positions K May 30 2014 Dupuis e optional consistency checks for 4 2 geometry of reference line J January 23 2013 Dupuis e introduced method loadData 4 1 and 4 2 August 08 2012 Dupuis e updated description of distro 3 1 e inertial2laneList can be forced to 6 4 1 search full database e getTrackLen needs track ID as 6 15 an argument e positionObject may be printed 5 explicity e path objects may be deleted 6 32 3 e CRG surfaces are supported the 7 surface scale may be s
20. OF TRACK 000000 23 6 21 CALCULATE AND QUERY ENTIRE 55 2 4 04 4 1 23 6 22 COMBINED QUERY FOR DERIVATIVES AND 555 064400 24 6 23 GET THE LANE SPEED AT A GIVEN 0 4 1 1 24 6 24 GET THE ROAD TYPE AT A GIVEN sss 24 6 25 WORKING WITH PATHS oes core eet te vedo ete twee genu EREen 25 6 25 1 Definition of Paths sisi n eid hti vaca ene Nha kasd ex ree o eo dd Ren e EE NOR CAEN Gea Rd 25 6 25 2 Creating d Path ass tr pe asians abba eet age Eee s Mae y rua ded unn ARE 25 6 25 3 ad Xx X URBE re Vaud 25 6 25 4 Convert a Lane Position into a Path Position 25 6 25 5 Convert an Inertial Position into a Path Position 26 6 25 6 Navigate Along a Path aseinio ene 26 6 25 7 Query the Relative Direction of Path and Road sse 26 6 26 QUERYING SIGNALS i cine a tt en DO a eden baee Rn ERR ARR Enn M 27 6 27 QUERYING JUNCTIONS aaea ede ea deo NE ePi 2
21. RT A GEOGRAPHIC POSITION INTO AN INERTIAL 5 20 6 9 GET THE ROAD MATERIAL AT A 0040 0 20 6 10 GET THE ROAD MARK LOCATION 20 6 11 GET THE JUNCTION ID AT 0 04046400 0 20 6 12 CALCULATE THE 21 6 13 CALCULATE THE TRACK 21 6 14 GET THE OF THE CURRENT 0600400 1 116 21 6 15 GET THE CURVATURE WITHIN A LANE 21 6 16 ADDITIONAL CURVATURE INFORMATION WITHIN A _ 21 6 17 GET THE LENGTH OF A 22 6 18 CONVERT A TRACK POSITION INTO A VALID TRACK POSITION 0 22 6 19 CONVERT A LANE POSITION INTO VALID LANE POSITION esee 22 Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 L 4 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 20 CALCULATE AND QUERY DERIVATIVES
22. Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 4 Convert inertial position into a series of lane positions 6 4 1 At the Given Location At some locations e g in junctions one inertial position may correspond to several lane positions In this case the user may want to have the information about all possible positions in order to select one of the positions for further processing The OpenDRIVE Manager first collects all lane positions and then provides the user with a query method to retrieve them one by one Example OpenDrive Coord myCoord 1667 0 847 0 0 0 myManager setPos myCoord bool result myManager inertial2laneList The method will return TRUE if lane positions were found The resulting lane positions of type OpenDrive LaneCoord are stored a vector They be queried with an iterator of type OpenDrive LaneCoord LaneVec iterator it The vector will be empty if no position has been found Per default the method inertial21aneList will try to minimize the searching area of potential lanes This improves the speed considerably In some cases it might be necessary to force the method to look for appropriate roads within the entire road network Then enable the full search by calling bool result myManager inertial2laneList true 6 4 2 Ata Circle Surrounding the Given Location Sometimes it might be necessary to know all l
23. alPos inertial2track inertial2lane inertial2laneList lane2inertial x x x x x x p E fe fe E O 3 track2curvature x track2lane E x EE track2validTrack z calc TrackAnglesDat x as lane2validLane x constant calcCrossSection E x a 5 invalid collectSignals x x valid footPoint2inertial sr E rese T E e Ee E e Ee e Rd eg e ds Ed track2inertialAngDotCrossSec c x intersectCircle Lie te _ assignPath Comments reference numbers see above lane2Path clc clc x x E 1 valid for last entry in list addPa sel be pepe x x z 25 2 softrackPos is automatically limited to maximum track length addPos2Path c c c c x X 3 only getFootPoint getH is valid getLaneCurvature 1 1 1 1 1 gerrrackPosQ
24. and creating contact points in connection with the OpenDRIVE Manager methods is the following 1 Create the required number of position objects and store each in a dedicated variable OpenDrive Position myPos nReqPos for int i 0 i lt nReqPos myPos i myManager createPosition 2 Activate the corresponding position before modifying it or performing any calculations myManager activatePosition myPos i Position objects don t have to be created right at the beginning but may also be created during runtime e g when additional moving objects are created The content of the currently active object can be displayed using the print method of the manager A specific position object may also be printed explicitly using the method print posObject Position objects may be copied using the method myManager copyPos dst src The copying of a position object will also includes its query history so that the copy shows the same high performance upon the next operation as the original object When talking about positions the user should know which co ordinate systems are available This is described in the next chapter Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 12 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 5 2 Co ordinates Three types of co ordinates are availa
25. ane positions that occur within a certain distance from a central inertial position In this case you may intersect the database with a circle surrounding your given inertial position Example OpenDrive Coord myCoord 60 0 2470 0 0 0 myManager setPos myCoord bool result myManager intersectCircle 500 0 This intersects the database with a circle of 500m around the central position See the previous chapter for instructions about retrieving and interpreting the results Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 18 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 5 Convert a track position into an inertial position This method converts a track position into the corresponding inertial position Example myManager setTrackPos 17 5 0 3 0 bool result myManager track2inertial The method will return TRUE if the inertial position could be computed After this computation the following methods will provide updated information getInertialPos inertial position object getCurvature curvature of the track s chord line 6 6 Converta lane position into an inertial position This method converts a lane position into the corresponding inertial position An existing entry will be taken into account for the computation of the z co ordinate Example m
26. ble e Inertial co ordinates see inc OdrCoord hh e Track co ordinates see inc OdrTrackCoord hh e Lane co ordinates see inc OdrLaneCoord hh Detailed information about the orientation and the co ordinate systems in general can be found in 1 5 2 1 Inertial Co ordinates Inertial co ordinates consist of the components x x value m y y value m 2 z value m h heading rad p pitch rad r roll rad They may be applied to a position object in the following ways 1 Create a co ordinate object and apply it to the position object Example OpenDrive Coord myCoord 1667 0 847 0 0 0 myManager setPos myCoord 2 Apply the co ordinates directly to the position object Example myManager setInertialPos 1667 0 847 0 0 0 NOTE As explained above don t forget to activate the appropriate position object before performing these operations Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 13 of 35 Refer to protection notice DIN ISO 16016 5 2 2 Track Co ordinates IRES Simulationstechnologie GmbH Track co ordinates consist of the components trackId S RO Dp unique ID of the road run length along chord line m lateral distance to chord line m heading relative to chord line rad pitch relative to chord line rad roll relative to chord line rad They may be applied to a position obje
27. bset of the functionality of the full version and allows for the high speed evaluation of one position object only 2 Purpose of the OpenDRIVE Manager The OpenDRIVE manager shall provide an easy means to read and evaluate in real time OpenDRIVE databases It is provided by the creators of OpenDRIVE and takes into account the latest developments and user requirements of the OpenDRIVE community By using the OpenDRIVE Manager the user will to great extent be independent of developments of the standard itself This means that methods provided by the OpenDRIVE Manager are intended to remain independent of the underlying standard So upgrading the manager in correspondence with the standard should be possible with minimum adaptation effort for existing applications Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 6 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 3 Distribution 3 1 Files The distribution of the OpenDRIVE manager contains the following files V1 4 31 dat L ite a examples samplel 1 xodr manuals OdrMgrUserManualL pdf OpenDriveFormatSpecRevl 4E DRAFT pdf include files BaseNodes OdrCoord hh OdrGeoCoord hh OdrLaneCoord hh OdrManager hh OdrManagerLite hh OpenDRIVE hh OdrTrackCoord hh libraries for various platforms Linux
28. c ParserSample cc o odrTest Iinc Iinc BaseNodes Llib Linux i586 DLINUX lODrive 1 4 3 For a quick test start the executable odrTest data sample 1 1 xodr Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 8 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 4 Loading a Database 41 Basic Operation In order to load a database create an instance of the OpenDRIVE Manager e g OpenDrive OdrManager myManager and load the file myManager loadFile myFile This routine will return true if loading the file was successful Alternatively you may directly provide the OpenDRIVE content as string argument to the following method myManager loadData myOdrData The string must be in valid OpenDRIVE syntax i e it must be enclosed by the tags lt OpenDRIVE gt lt OpenDRIVE gt 4 2 Options Before executing the loadFile or 1oadData method various options may be set which affect the way data is modified during the load process The following loader options are available myManager setLoaderOption myManager LOADER ADD BORDERS 10 0 This will instruct the loader to add border lanes with u ser defined width here 10m to either side of each road therefore creating a logical frame The purpose of this option is to provide the user with valid evaluation and positi
29. ct in the following ways 1 Create a co ordinate object and apply it to the position object Example OpenDrive TrackCoord myCoord 17 5 0 3 0 myManager setPos myCoord 2 Apply the co ordinates directly to the position object Example myManager setTrackPos 17 5 0 3 0 In both examples the position will be set to road no 17 run length 5 0m and 3 0m lateral offset from the chord line 5 2 3 Lane Co ordinates Lane co ordinates are derived from track co ordinates and consist of the following components trackId laneId offset S h unique ID of the road unique ID of the lane within the road lateral offset from the lane center m run length along chord line m heading relative to chord line rad pitch relative to chord line rad roll relative to chord line rad They may be applied to a position object in the following ways 1 Create a co ordinate object and apply it to the position object Example OpenDriv LaneCoord myCoord 5 1 5 0 0 0 myManager setPos myCoord 2 Apply the co ordinates directly to the position object Example myManager setLanePos 5 1 5 0 0 0 In both examples the position will be set to road no 5 lane no 1 run length 5 0m and zero offset from the lane center Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 14 of 35 Ref
30. ed as well as the distance to the entry point of the junction The junction does not necessarily need to connect directly to the track from which the query starts Track links will be followed automatically until a junction is found or no further link exists 6 27 2 Get the Connection Info The information about the possibilites to proceed through the junction will be collected during the above query and can be retrieved as shown in the following example for int i 0 i lt myManager getJunctionInfoSize i Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 27 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH OpenDrive RoadHeader inRoad OpenDrive RoadHeader connRoad double turnAngle int minLaneIdIncoming int maxLaneIdIncoming myManager getJunctionInfo i inRoad connRoad turnAngle minLaneIdIncoming maxLaneIdIncoming For each possible connection from the incoming road an info entry will be available The query will provide the pointer to the incoming road the connecting road path and the turn angle between incoming and outgoing direction This range of this angle is pi pi with positive angles indicating left turns and negative angles indicating right turns 6 27 3 Get the Controller Info Once the junction header node variable juncHdr in the example above is available
31. ept that lane positions are queried not track positions When adding a delta s to a given track position one may easily exceed the track s limits on either end If tracks connect directly to each other i e no junction is involved the OpenDRIVE Manager may proceed automatically to the successor or predecessor of the current track in order to match the given S co ordinate Example myManager setLanePos 5 1 600 0 0 0 bool retVal myManager lane2validLane Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 22 0135 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 20 Calculate and Query Derivatives of Track Angles A set of methods for calculating and querying the derivatives of the track angles is provided The calculation has to be triggered once for a contact point Afterwards all query methods listed will return valid results provided the calculation has been successful Example myManager setLanePos 5 1 600 0 0 0 bool retVal myManager calcTrackAnglesDot double deriv myManager getDhDs deriv myManager getDpDs pitch angle vs s deriv myManager getDrDs roll angle vs s deriv myManager getDzDs elevation vs s deriv myManager getD2zDs deriv of elevation vs s deriv myManager getDzDt elevation vs t 6 21 Calculate and Query Entire C
32. er to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 5 2 4 Geographic Co ordinates Geographic co ordinates provide information about a position on the WGS84 geoid They are defined in the header OdrGeoCoord hh long geographic longitude deg lat geographic latitude deg 2 geographic altitude m h heading relative to chord line rad p pitch relative to chord line rad r roll relative to chord line rad Geographic co ordinates may be applied to a position object in the following ways 1 Create a co ordinate object and apply it to the position object Example OpenDrive GeoCoord myCoord 12 0 48 0 460 0 myManager setPos myCoord 2 Apply the co ordinates directly to the position object Example myManager setGeoPos 12 0 48 0 460 0 In both examples the position will be set to longitude 12deg latitude 48deg altitude 460m 5 2 5 Hetrieving Co ordinates In order to retrieve the current co ordinate settings of the active position object the following methods are available const TrackCoord amp getTrackPos const const LaneCoord amp getLanePos const const Coord amp getInertialPos const const GeoCoord amp getGeoPos const Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page 12008 029 L 15 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH
33. es now have the pre fix Odr the class names have not been touched on going work fixed major bug in computation of first derivative of lane curvature replaced mBigEndian with mCrgBigEndian object type is interpreted as string variable no longer as int getRoadMark in OdrManager causes also computation of this property added lane types for tram and rail added queries inTunnel and onBridge lane search may be restricted Position inertial2lane bool allowCar true bool allowRail false added method Position addLaneS const double amp ds treating spirals with very low curvature and even lower deltaCurvature as straight lines added loader option LOADER CHECK GEOMETRY to enable geometry integrity tests upon loading of a database updated to OpenCRG 1 0 6 added CornerLocal class corrected z to dz in CornerRoad class methods geo2inertial and inertial2geo introduced fixed identification of driveable road when using registered road in inertial2lane fixed spiral computation ticket 1541 introduced lt repeat gt bead below lt object gt added getFirstRepeat method to object added setting of levels for nodes new method setLevel level debugged hierarchy position of GenericNode nodes debugged print routines for UserData and GenericNode added RailroadSwitch as potential child of RoadHeader fixed major bug in evaluation of friction based on CRG releasing CRG data set upon deleting of SurfaceCRG entry
34. espective children You may control this behaviour by providing the corresponding arguments as can be seen from the prototype of the method void print bool deep true bool siblings true 6 29 Node specific Query Methods Some nodes provide useful methods for querying additonal information So once you have the pointer to one of these nodes you may just call the respective methods 6 29 1 JuncHeader Node The JuncHeader node provides a method to get its influence area By calling void getCtrAndRadius double amp x double amp y double amp radius one can retrieve the x y position of the junctions geometric center as well as the radius of the circle circumscribing the junction i e the collection of all of its paths Alternatively the bounding box may be queried directly from the JuncHeader node in order to get a box shaped bounding area which is aligned with the major axes x and y Bbox getBoundingBox In order to retrieve all controllers used in a given junction first the method JuncController getFirstController and then go through all controllers with the node navigation methods i e node getRight until a null node is returned Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 30 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 29 2 JuncController
35. et explicitly e added brief version history 8 H March 20 2009 Dupuis adaptation to OdrMgr 1 1 24 6 23 6 e improved method 7 intersectCircle e query method for path direction e improved performance of inertial2laneList in junctions e enhanced numerical tolerance for track positions at end of track e introduced validity matrix in documentation G November 17 2008 Dupuis adaptation to OdrMgr 1 1 21 improved method intersectCircle e supports signal references in add on files e debugged signal query method e debugged inertial2lane if first road hit is not driveable e debugged lane curvature calculation F October 17 2008 Dupuis added query methods for junction and 6 3 6 6 6 25 6 27 signal controllers laneHeight evaluation added for inertial2lane and lane2inertial E August 08 2008 Dupuis adaptation to pre release of OdrMgr 3 6 1 1 20 added lane curvature and derivative methods D July 29 2008 Dupuis adaptation to OdrMgr 1 1 19 3 6 In addition a bug in the routines for the lane curvature calculation was fixed C 22nd May 2008 Dupuis adaptation to OdrMgr 1 1 18 3 6 B 21st March 2008 Dupuis adaptation to OdrMgr 1 1 16 3 6 Date July 20 2015 Title OpenDRIVE Manager User Manual ame Marius Dupuis Document No VI2008 029 Issue L Page 2 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH A
36. ethod will be called for each node in the database A sample can be found in the directory OdrMgr 1 1 In order to determine the type of a given node check for its opcode node gt getOpcode You may then cast it yourself to the correct derived node class The symbolic constants for all opcodes can be found in OpenDRIVE hh Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page V12008 029 L 11 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 5 Positioning 5 1 Position Objects The real time capability of the OpenDRIVE Manager is based on the usage of so called Position objects For successive real time queries in the OpenDRIVE database each of these objects makes use of the fact that it still knows the previous query and can start the new query from this base In typical use cases like driving along a road successive queries will always be in the vicinity of previous queries so that not the entire database must be scanned for a specific road object For maximum performance one position object should be created for each contact point Typically one contact point is used for each tire of the ownship hence requiring the user to create a total of four contact points for a standard car Additionally at least one contact point should be created for each other moving object The correct sequence for using
37. if the position could be converted After this computation the following methods will provide updated information getInertialPos inertial position object 6 9 Get the Road Material at a Location After a successful conversion from a track or lane position into an inertial position or vice versa you may query the road material at the given location Example bool gotMat myManager getMaterial code friction roughness 6 10 Get the Road Mark at a Location After a successful query of the lane width nyManager getLaneWidth you may query the road mark at the given location Example unsigned short mark myManager getRoadMark This method currently provides only the type of road mark In future versions of the manager it will provide additional information stored in the RoadMark node 6 11 Get the Junction ID at a Location After a successful conversion from a track or lane position into an inertial position or vice versa you may query the junction ID at the given location Example unsigned short jId myManager getJunctionId Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 20 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 12 Calculate the Track Width The method get TrackWidth will calculate and return the complete width of a road at the current track position i
38. irals inertial2laneList of OdrMgr can explicitly be forced to full search on database improved path calculation for wrap around paths corrected computation of first derivative of lane curvature relative heading is taken into account for operation lane2inertial improved copying of path and positioning on path with minS lane height may be given according to Odr 1 2 or 1 1 specification debugged calculation of lane lists according to bug report added manager method deletePath introduced new tag for Odr 1 3 LaneOffset improved path calculation for wrap around paths corrected bug in import of roadmark weight and color corrected import of roadmark width debugged evaluation of lane height signal node has new member mState for dynamic signals signal node has new member mInZ for inertial z position invalid signal references will no longer cause crash when collecting signals corrected initialization of some variables implemented upcoming options for JuncControllers in Odr 1 3 Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 34 0 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 9 Validity Matrix The following matrix gives an overview of the validity of queries after certain actions have been performed query 5 B 5 E x
39. ive ControlEntry entry jCtrl mController getFirstEntry while entry something with the control entry e g access the referenced signal fprintf stderr ctrlType 54 signal ptr 0x x id d n entry gt mType entry gt mSignal entry mSignal mId entry dynamic cast OpenDrive ControlEntry entry gt getRight Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 28 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH jCtrl dynamic cast OpenDrive JuncController gt jCtrl gt getRight 6 28 Accessing Nodes 6 28 1 Access after a Query If a query was successful the corresponding nodes in the memory representation of the OpenDRIVE database may be accessed For example this might be used in cases where the user has a given inertial position and wants access to the corresponding road header node Example OpenDrive Coord myCoord 1667 0 847 0 0 0 myManager setPos myCoord bool result myManager inertial2lane OpenDrive RoadHeader hdr myManager getRoadHeader The following node types may be queried depending on the previously executed computation OpenDrive RoadHeader getRoadHeader OpenDrive LaneSection getLaneSection OpenDrive Lane getLane OpenDrive Elevation getElevation OpenDr
40. ive Superelevation getSuperelevation 6 28 2 Access independent of a Query Independent of a query nodes may be accessed starting from the root node This may be retrieved by OpenDrive Node getRootNode For the navigation through the tree of database nodes see the file inc BaseNodes Node hh Briefly speaking the database may be parsed by recursively calling the methods node getRight and node getChild However there is some limitation to calling these methods The getRight method will only return nodes which are of the same type opcode as the calling node And getChild will only return the first child of a node So in order to parse all possible child node types of a node use the following parsing scheme Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 29 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH unsigned int index 0 while childNode node gt getChildAtTypeIndex index i while childNode l do something e g parse the children childNode childNode getRight 6 28 3 Printing Nodes The data of a given node or the sub tree starting at the node may be printed to console output For this use the method node print Without further arguments this method will print all children of the node the siblings of the node and their r
41. on effort 1 derivative of lane curvature double value myManager getLaneCurvatureDot vertical lane curvature double value myManager getLaneCurvatureVert Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 21 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 1 derivative of vertical lane curvature double value myManager getLaneCurvatureVertDot 6 17 Get the Length of a Track The method get TrackLen int trackId calculates and returns the total length of as specific track s chord line Example double length myManager getTrackLen 15 6 18 Convert a Track Position into a Valid Track Position When adding a delta s to a given track position one may easily exceed the track s limits on either end If tracks connect directly to each other i e no junction is involved the OpenDRIVE Manager may proceed automatically to the successor or predecessor of the current track in order to match the given S co ordinate Example myManager setTrackPos 5 600 0 3 0 bool retVal myManager track2validTrack This method will correct the track co ordinate automatically if necessary FALSE will only be returned if the position is not on the current track or no valid successor or predecessor was found 6 19 Convert a Lane Position into a Valid Lane Position Identical to 6 18 exc
42. one may query the signal controllers which are used within the junction The first controller can be retrieved from the junction header itself the other controllers may be retrieved by traversing the siblings of the first controller The following algorithm will typically be used OpenDrive JuncController jCtrl juncHdr getFirstController while jCtrl do something with the controller e g access ID and the referenced signal controller fprintf stderr d signal controller ptr 0x x id d n jCtrl mId jCtrl mController jCtrl mController mId jCtrl dynamic cast OpenDrive JuncController jCtrl getRight 6 27 4 Get the Signal Info from the Controller Once the junction controller node variable jCtr1 in the example above is available one may query the individual signals of the junction per signal controller The signal controller can be retrieved as member variable nCont roller of the junction controller node see the previous example In the following the example has been extended for the access to the individual signals OpenDrive JuncController jCtrl juncHdr getFirstController while jCtrl do something with the controller e g access ID and the referenced signal controller fprintf stderr d signal controller ptr 0x x id d n jCtrl mId jCtrl mController jCtrl mController mId if jCtrl mController OpenDr
43. oning data even if a position exceeds the original road network myManager setLoaderOption myManager LOADER VERBOSE 1 This will instruct the loader to print information while processing the nodes during the loading of the database myManager setLoaderOption myManager LOADER SPLIT JUNCTIONS 1 This will instruct the loader to split junction paths with multiple lanes into multiple paths with one lane each The junction matrix is adapted accordingly myManager setLoaderOption myManager LOADER CHECK GEOMETRY 1 Internal consistency checks of the reference line s geometry will be performed Upon detection of an inconsistency a debug message will be printed to stderr Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 9 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 4 3 Adding Files Sometimes the OpenDRIVE data of a database may be distributed over several files The OpenDRIVE Manager is taking care of this in the special case where signal data is stored separately from the physical layout of the road network In order to add signal data from a file to the already loaded data activate the loader option myManager setLoaderOption myManager LOADER XTEND ADD SIGNALS and add the file using the method myManager addFile extraFile 4
44. ross Section The entire cross section of a road may be calculated by a single call to a manager method Afterwards the user may query a set of information containing the ID of each lane as well as its type and width Example myManager setLanePos 5 1 600 0 0 0 bool retVal myManager calcCrossSection int noLanesInCrossSec myManager getCrossSectionSize for int i 0 i lt noLanesInCrossSec i int laneId int laneType double laneWidth retVal myManager getCrossSectionLaneInfo i laneld laneType laneWidth Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 23 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 22 Combined Query for Derivatives and CrossSection For performance and user friendliness a method has been introduced which comprises a set of single calls at a given location track2inertial calcTrackAnglesDot calcCrossSection The method is bool track2inertialAngDotCrossSec After successful completion of the method the queries valid for all of the implicitly called methods may be used 6 23 Get the Lane Speed at a Given Position The method getLaneSpeed calculates and returns the speed at the present lane position It returns 1 0 if no speed record was found Example double speed myManager getLaneSpeed 6 24
45. stechnologie GmbH 6 26 Querying Signals Signals on a given road may be queried using the collect method of the OpenDRIVE Manager With this method a certain range of positions is queried for a given feature and all results are stored within the manager They may afterwards be retrieved one by one Example myManager activatePosition myPos myManager setLanePos 5 1 600 0 collect all signals in forward direction until the end of track bool retVal myManager collectSignals for inti 0 i lt myManager getCollectionSize i Node sigNode double distToSignal getCollectionInfo i distToSignal sigNode do something with the signal node 6 27 Querying Junctions 6 27 1 Retrieve the Junction Header Node From any given valid track lane position the user may query the upcoming junction in a specified direction Information about the distance to the junction the possible paths through the junction and the respective deviation of the driving direction will be provided Example myManager setLanePos 17 1 1030 0 0 0 OpenDrive JuncHeader juncHdr 0 double distance search in forward track direction bool retVal myManager getNextJunction true juncHdr distance This example will return TRUE if a junction was found in positive track direction set the first argument to false in order to search the opposite direction The pointer to the JuncHeader node will be return
46. tion addPathOffset will automatically change lane to reach a Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page VI2008 029 L 33 of 35 Refer to protection notice DIN ISO 16016 version version version version version version version version version version 142426 181 254 34 8879 cdas sala 3204 429 28 27 26 04 11403 07 03 30 12 03 12 27 11 25 11 12 10 20 07 17 06 2010 2010 2010 2009 2009 2009 2009 2009 2009 2009 IRES Simulationstechnologie GmbH certain point on the path if no lane change is given explicitly debugged spirals improved categorization of type2 spirals 64bit compatible corrected computation of first derivative of horizontal curvature invalidation of lanes split junction limited to driveable lanes debugged path calculation for some odd sorts of paths signals on cloned roads are converted into signal references lane sequences in cloned roads are treated correctly now removed memory leaks in Path calculations debugged creation of path with initial points being on same track odrMgr getTrackLen now returns value not reference odrMgr getLaneSpeed will determine valid lane pos if none is available bounding boxes may be calculated per RoadHeader with fix width debugged cloning of sp
47. yManager setLanePos 17 1 1 0 bool result myManager lane2inertial The method will return TRUE if the inertial position could be computed After this computation the following methods will provide updated information getInertialPos inertial position object getCurvature curvature of the track s chord line Note the consideration of the aneHeight may be turned off using the method myManager useLaneHeight bool enable 6 7 Convert inertial position into a geographic position This method converts an inertial position into the corresponding geographic position Example OpenDrive Coord myCoord 1667 0 847 0 0 0 myManager setPos myCoord bool result myManager inertial2geo The method will return TRUE if the position could be converted After this computation the following methods will provide updated information getGeoPos geographic position object Date July 20 2015 Title OpenDRIVE Manager User Manual Name Marius Dupuis Document No Issue Page 12008 029 L 19 of 35 Refer to protection notice DIN ISO 16016 IRES Simulationstechnologie GmbH 6 8 Convert a geographic position into an inertial position This method converts a geographic position into the corresponding inertial position Example OpenDrive GeoCoord myCoord 12 0 48 0 460 0 myManager setPos myCoord bool result myManager geo2inertial The method will return TRUE

Download Pdf Manuals

image

Related Search

Related Contents

Introduction to cPanel® Troubleshooting    QUICK GUIDE  Polaroid FUN 620 User's Manual  Pelco PMM1201 Computer Monitor User Manual  und Abgleichset für Feuchtesensoren Control And Calibration Set  Untitled  Supersonic SC-6901 car speaker  Enclosed Tooth Clutches  Symphony - Blauton  

Copyright © All rights reserved.
Failed to retrieve file