maliput / maliput/maliput

Include isometric transformation to translate and rotate the origin of the maliput inertial frame.

Open
#400 10 comments 1 reaction 0 assignees View on GitHub
Dominant language
C++
Stars
16
Forks
5
PR merge metrics
No merged PRs in 30d

Description

**Feature request**

`maliput` is aware of only one inertial and Cartesian frame for which `InertialPosition` is used. In the context of simulation, a different origin to the inertial frame might be needed (a translation might not be enough).

**Context**

Previously, at the API level we had two queries:

- `GeoPosition Lane::ToGeoPosition(const LanePosition& lane_position)`
- `GeoPosition Lane::ToInertialPosition(const LanePosition& lane_position)`

`ToGeoPosition` returned the frame conversion to the `maliput` inertial frame. `ToInertialPosition` returned the frame converion to the _transformed_ `maliput` inertial frame, i.e. with a different origin.

We simplified the API and kept just one API method, `ToGeoPosition`. Later, we renamed `GeoPosition` to `InertialPosition` ( #361 ) and with it all the related APIs.

Also, we evaluated to incorporate lat-long-elev conversions and / or including proj4 in #356 . The decision was to remove it.

**Victory condition**

Add the isometric transformation and make `ToInertialPosition` aware of it for all backends.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the Lane::ToGeoPosition and ToInertialPosition APIs across all backends, using the issue's prior API history and the related changes in #361 and #356 as context. Define the isometric transformation's API and integration points before implementation. Done means every backend makes ToInertialPosition honor the transformed origin.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.