No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.1
License BSD Clause 3
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/maliput/maliput_ros.git
VCS Type git
VCS Version main
Last Updated 2023-12-11
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS2 integration package which offers the maliput API through the ROS2 service interface.

Additional Links

No additional links.

Maintainers

  • Agustin Alba Chicar

Authors

No additional authors.

GCC

Maliput ROS

Description

This package contains a ROS2 node query server to answer information about the RoadNetwork. It relies on the maliput plugin infrastructure to load all the backend information so specific parameters are parsed from a YAML file and its path is passed as a runtime parameter (maliput_yaml_path).

For a full overview of Maliput capabilities please visit https://maliput.readthedocs.io/en/latest/maliput_overview.html.

The purpose of this package and node in particular is to assist agents in their route planning as well as assiting with the kinematics of the road. At the moment, the package offers only geometry related queries, once the rule API is also exposed agents will be able to access more sophisticated queries.

API Documentation

The ROS2 node exposes many services and topics that belong to the LifeCycleNode. Please refer to the documentation to properly handle those. The following, just focuses on the available service calls which are listed below:

  • /branch_point: looks for a maliput::api::BranchPoint by its ID.
  • /derive_lane_s_routes: derives all paths from a maliput::api::RoadPosition to another, filtering Lanes whose length is bigger than a maximum threshold.
  • /eval_motion_derivatives: evaluates the motion derivatives at maliput::api::RoadPosition and scales it by a certain maliput::api::IsoLaneVelocity.
  • /find_road_positions: finds all maliput::api::RoadPositionResult in radius distance from a maliput::api::InertialPosition.
  • /junction: looks for a maliput::api::Junction by its ID.
  • /lane: looks for a maliput::api::Lane by its ID.
  • /lane_boundaries: computes the maliput::api::Lane boundaries at a given maliput::api::RoadPosition.
  • /road_geometry: responds the maliput::api::RoadGeometry configuration.
  • /segment: looks for a maliput::api::Segment by its ID.
  • /to_road_position: maps a maliput::api::InertialPosition into a maliput::api::RoadPosition.
  • /to_inertial_pose: maps a maliput::api::RoadPosition into a maliput::api::InertialPosition and the maliput::api::Rotation there.

Examples

Getting Started page is a good place for starting to see the Maliput's capabilities.

For this package in particular, simply execute the following after successfully building the package and sourcing the environment.

ros2 launch maliput_ros maliput_ros.launch.py --show-args

It should display all the available arguments. Then, make sure you have maliput_malidrive installed in your system and you can launch the sample as follows:

ros2 launch maliput_ros maliput_ros.launch.py maliput_yaml_path:=/home/$USER/maliput_ws_focal/src/ros2_maliput/maliput_ros/resources/maliput_malidrive_plugin.yml

It should launch the node which loads the plugin and builds a RoadNetwork for TShapeRoad.xord.

Installation

Supported platforms

Ubuntu Focal Fossa 20.04 LTS.

Source Installation on Ubuntu

Prerequisites

sudo apt install python3-rosdep python3-colcon-common-extensions

Build

  1. Create colcon workspace if you don't have one yet.
    mkdir colcon_ws/src -p

  1. Clone this repository in the src folder
    cd colcon_ws/src
    git clone https://github.com/maliput/ros2_maliput.git

  1. Install package dependencies via rosdep
    export ROS_DISTRO=foxy

    rosdep update
    rosdep install -i -y --rosdistro $ROS_DISTRO --from-paths src

  1. Build the package
    colcon build --packages-up-to maliput_ros

**Note**: To build documentation a `-BUILD_DOCS` cmake flag is required:
    colcon build --packages-select maliput_ros --cmake-args " -DBUILD_DOCS=On"

For further info refer to Source Installation on Ubuntu

For development

It is recommended to follow the guidelines for setting up a development workspace as described here.

Contributing

Please see CONTRIBUTING page.

License

License

CHANGELOG

Changelog for package maliput_ros

0.1.1 (2023-04-17)

  • Adds READMEs to the packages. (#24)
  • Sample lane s route (#21)
  • Routing service (#20)
  • Road position services (#19)
  • Refactor tests to scale build time (#18)
  • Adds branch point service (#17)
  • Adds lane service (#16)
  • Add get segment service (#15)
  • Add get junction service (#14)
  • Add tests to ROS node (#10)
  • Create maliput ros node (#8)
  • Create maliput_ros package (#7)
  • Contributors: Agustin Alba Chicar

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged maliput_ros at Robotics Stack Exchange

No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.