Research Maliput frames for roads
Issue #109
resolved
Research on the frames involved in the lane construction. Mainly there is a function that raised the question about the p frame and road frame called Lane::DoEvalMotionDerivatives. We need to investigate it and know which are the involved operations.
Comments (6)
-
reporter -
reporter - changed status to open
-
reporter Talking with Drake team, we can conclude the following:
- ignition::math::Spline implementation has the problem that the API don't let you force tangents at the endpoints to match the C1 constraints. This lead to issue
#114. - s, r, h need a set of scale vectors to convert a point of (s,r,h) domain into (sigma,rho,eta) domain which in fact has physical magnitudes. Those scale factors are ds/dsigma, dr/drho, and dh/deta.
- In general (almost always) dh/eta is 1.
- dr/drho depends on the curvature along r, so each time h = 0 --> dr/drho = 1. Also, in case the road is flat in the r direction (as in RNDF) for h being distinct to 0, the scale factor will be 1.
- ds/dsigma will be 1 for the centerline ( coordinates -->(s,0,0) ). There is a special case, if the road is flat and straight, ds/dsigma will be 1 too.
- There is some work to be done first, but for a totally flat road (h=0) for every point, we should think ds/dsigma as a function of the curvature radius of the center line at any given spot s.
- ignition::math::Spline implementation has the problem that the API don't let you force tangents at the endpoints to match the C1 constraints. This lead to issue
-
reporter -
reporter - changed status to closed
-
reporter - changed status to resolved
- Log in to comment
Drake dev team pointed to this document: https://github.com/RobotLocomotion/drake/blob/master/drake/automotive/maliput/doc/maliput-design.org
There you can find all the coordinate systems they are currently using. You will find the following:
This leads to the problem of scaling from one parametrization (s,r,h) to (sigma,rho,eta) when evaluating the derivatives of the position and getting the velocity. The parametrization should have some properties like being derivable and having a non-zero norm for all the values of the parametrization. This lets the conversion be possible.