Integrate Lanelet2 into Autoware.Auto as a dependency
Description
Lanelet2 has been agreed as the prefered map model on which Autoware should depend. Lanelet2 is currently built using catkin build
, although to my knowledge there is no ROS specific code in the codebase.
Lanelet2 needs to be built and made available as a Shared Object which the Lanelet2 Path Planner can link to.
We need to decide whether to
- Make the build system changes and attempt to contribute them upstream, and then depend on the new version
- Fork Lanelet2 into a new repo, make the changes to the build system and include as a submodule (as we're doing with MPC)
- Make a copy of the entire codebase into a folder of Autoware.Auto and update the build system
I suggest that with changes as invasive as this, and the fact that we have a need to move quickly, we should do 3.
Purpose
This is a requirement before we can implement the Lanelet2 Path Planner described by #192 (closed).
Desired Behavior
The Lanelet2 library should build using colcon build
and produce a shared object (.so) that a ROS2 client node can link to.
Definition of Done
-
Decide how to depend on Lanelet2 -
Convert the build system to an ament based system -
Ensure the output is a shared object
Edited by Joshua Whitley