Skip to content

Towards MRPT 3.0.0 #1330

Description

@jlblancoc

Motivation for the redesign

At present, installing most mrpt packages on any minimal docker image or headless PC would lead to installation of hundreds of dependencies, mostly required by GUI & OpenGL parts, even if not needed in those systems. Also, OpenCV imgproc module introduces tens of dependencies that will be avoided in MRPT 3.0.0 by not using opencv anymore.

Working branch

https://github.com/MRPT/mrpt/tree/3.0

The plan

Release to-do list here upstream:

  • Refactor mrpt-opengl in two modules: one with the abstract representation of graphics, and one with their actual implementation using OpenGL.
  • Split applications in cli & gui apps. The same for libmrpt-apps itself.
  • Investigate surge of deps in mrpt-imgs (opencv?)
  • Take ROS 1 & ROS 2 stuff out of this main repo to their own ones.
  • Create separate config.h files for each module:
    • core
    • opengl successors
    • hwdrivers
    • math?
  • Limit dependencies even at the cost of usability: hwdrivers shouldn't depend on gui
  • getAsSimplePointsMap() in maps: change signature to return shared_ptr.

Plus new features:

Post-release list for Debian:

  • Reorganize d/control for dependencies and new packages
  • Split apps into cli & gui.
  • Submit ITP for new ROS1 lib & app package.

Post-release for ROS:

  • Submit for index:
    • mrpt-ros1bridge repo
    • mrpt-ros2bridge repo
    • rosbag2rawlog repo: unify ROS1 & ROS2 in one repo with two branches?
  • Remove rosbag2rawlog from mrpt_navigation.
  • Update all dependent pkgs (!)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions