maliput_ros package from maliput_ros repomaliput_ros maliput_ros_interfaces maliput_ros_translation
|Tags||No category tags.|
|License||BSD Clause 3|
- Agustin Alba Chicar
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 (
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.
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::BranchPointby its ID.
/derive_lane_s_routes: derives all paths from a
maliput::api::RoadPositionto another, filtering Lanes whose length is bigger than a maximum threshold.
/eval_motion_derivatives: evaluates the motion derivatives at
maliput::api::RoadPositionand scales it by a certain
/find_road_positions: finds all
maliput::api::RoadPositionResultin radius distance from a
/junction: looks for a
maliput::api::Junctionby its ID.
/lane: looks for a
maliput::api::Laneby its ID.
/lane_boundaries: computes the
maliput::api::Laneboundaries at a given
/road_geometry: responds the
/segment: looks for a
maliput::api::Segmentby its ID.
/to_road_position: maps a
/to_inertial_pose: maps a
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.
Ubuntu Focal Fossa 20.04 LTS.
Source Installation on Ubuntu
sudo apt install python3-rosdep python3-colcon-common-extensions
- Create colcon workspace if you don't have one yet.
mkdir colcon_ws/src -p
- Clone this repository in the
cd colcon_ws/src git clone https://github.com/maliput/ros2_maliput.git
- Install package dependencies via
rosdep update rosdep install -i -y --rosdistro $ROS_DISTRO --from-paths src
- 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
It is recommended to follow the guidelines for setting up a development workspace as described here.
Please see CONTRIBUTING page.
Changelog for package maliput_ros
- 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