|Tags||No category tags.|
- Daniel Stonier
maliput_multilane is an implementation of Maliput's API that allows users to
instantiate a road network with the following relevant characteristics:
- Multiple Lanes are allowed per Segment.
- Constant width Lanes.
- Segments with lateral asphalt extensions, aka shoulders.
- Line and Arc base geometries, composed with cubic elevation and superelevation polynomials.
- Semantic Builder API.
- YAML based map description.
- Adjustable linear tolerance.
The number of lanes and their lengths, widths, and shoulder widths are all user specifiable.
Note: For full information about Maliput please visit Maliput Documentation.
maliput_multilane provides several map resources at maliput_multilane/resources.
These resources are YAML files that contains a description for the road geometry creation.
Some of them, also describe
maliput's road network information like: Range Value Rules, Discrete Value Rules, Traffic Lights, Phase Rings, Intersections, etc.
Resources are installed natively, so the users are able to use them for their own interest.
In order to get the installation path check the environment variable:
Getting Started page is a good place for starting to see Maliput's capabilities and how to use a Maliput backend for getting a road network.
maliput_integration: Concentrates applications created for maliput. See maliput_integration's tutorials. These applications allow to select
maliput_multilaneas the backend.
maliput_multilaneis used extensively for the maliput integration tests.
Ubuntu Focal Fossa 20.04 LTS.
Binary Installation on Ubuntu
See Installation Docs.
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/maliput_multilane.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_multilane
**Note**: To build documentation a `-BUILD_DOCS` cmake flag is required:
colcon build --packages-select maliput_multilane --cmake-args " -DBUILD_DOCS=On"
More info at [Building Documentation](https://maliput.readthedocs.io/en/latest/developer_guidelines.html#building-the-documentation).
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_multilane
- Matches with changes in Maliput: Lane::ToLanePosition. (#95)
- Contributors: Franco Cipollone
- Fixes test utilities (#93)
- Adds triage workflow. (#92)
- Improves README. (#91)
- Contributors: Franco Cipollone
- Fixes environment hooks. (#90)
- Fixes dependency on environment variables. (#89)
- Contributors: Franco Cipollone
- Updates package.xml.
- Suppresses old-rule-api-related warnings. (#88)
- Fixes include folder installation. (#87)
- Relies on compile definitions for testing instead of env vars. (#86)
- Updates license. (#85)
- Uses ament_export_targets. (#84)
- Removes dashing support. (#83)
- Updates IntersectionBook construction points to include the RoadGeometry pointer. (#82)
- Adds BUILD_DOCS flag as opt-in flag (#81)
- Matches with change in maliput\'s phase ring book loader. (#80)
- Adds workflow_dispatch to other workflows. (#79)
- Adds CI badges (#78)
- Replaces push by workflow_dispatch event in gcc build. (#77)
- Extends RoadNetworkLoader plugin to include yaml descriptions and OnrampMerge implementation. (#76)
- Fixes MALIPUT_PLUGIN_PATH new path. (#75)
- Change install path of the maliput plugin. (#74)
- Use maliput drake (#73)
- Makes multilane to link privately against drake (#72)
- Remove eigen_compare_matrices.h (#71)
- Use maliput math instead of drake (#70)
- Hide drake types part 2 (#69)
- Hide drake types part 1 (#68)
- Enable doxygen verification. (#66)
- Replaces AMENT_CURRENT_PREFIX by COLCON_PREFIX_PATH (#65)
- Removes ament_target_dependencies macro. (#64)
- Set up linker properly when using clang in CI. (#63)
- Remove references to GnuInstallDir vars. (#62)
- rosdep update --include-eol-distros (#61)
- Enable CI for 20.04 (#60)
- Foxy style fix part 2: reorder includes (#59)
- pybind11 is not needed in CI (#58)
- Foxy include style part 1: use <> for maliput, drake headers (#57)
- CI: Removes prereqs install for drake. (#56)
- Upgrade to ros-tooling v0.2.1 (#55)
- Use maliput_documentation instead of maliput-documentation. (#54)
- Use maliput_multilane instead of maliput-multilane (#53)
- Switch ament_cmake_doxygen to main branch (#52)
- Optimizes scan-build run in CI. (#51)
- Add changelog template (#50)
- Points to maliput_infrastructure instead of dsim-repos-index (#49)
- Trigger PR clang builds on do-clang-test label (#48)
- Restores scan-build workflow on label (#47)
- Stub implementation of RoadGeometry::do_inertial_to_backend_frame_translation (#46)
- Moves disabled workflows to a different folder. (#44)
- Refer to a specific clang version and use lld linker. (#43)
- Matches with plugin extern c methods refactor. (#42)
- Update ros-tooling version in CI. (#41)
- Fixes ubsan behavior in CI. (#39)
- Fixes plugin test failure when running ubsan. (#40)
- Removes Jenkins configuration. (#37)
- Append library dirs to plugin test. (#36)
- Adds tests for RoadNetworkLoader multilane plugin. (#35)
- Implements a maliput RoadNetworkLoader plugin. (#34)
- Replaced GeoPosition by InertialPosition (#33)
- Unifies cmake install paths. (#32)
- Uses namespaces for the targets (#31)
- Use maliput::test_utilities and try same branch name in actions (#30)
- Eliminate a few warnings induced by switch statements. (#29)
- Adds scan_build job to Github Actions. (#27)
- Sets ACTIONS_ALLOW_UNSECURE_COMMANDS to true (#28)
- Adds clang8, asan, ubsan and tsan to Github Actions. (#26)
- Adds a template changelog. (#24)
- Updates the package.xml (#25)
- Fixes sanitizers variable. (#22)
- Use GitHub Actions CI to build and test with gcc (#21)
- Migrates drake types because of deprecations. (#20)
- Adds scan-build to jenkins configuration. (#19)
- Parallelizes CI.
- Static Analyzer: Adds exclusion file.
- Adds Undefined Behavior Sanitizer.
- Adds Address Sanitizer.
- agalbachicar/#278 migrate docs to doxygen part 6 (#13)
- Pairs clang flags. (#5)
- Updates compilation flags for gcc and clang (#4)
- Merge pull request #1 from ToyotaResearchInstitute/francocipollone/move_multilane_to_a_repo
- Updates package version.
- Updates README
- Updates the LICENSE to include Toyota Research Institute.
- Adapts files to maliput_multilane package.
- Adds missing files to the repository.
- Adds fmt as dependency. (#283)
- Implements Quaternion. (#264)
- Implements logger to replace spd_log. (#236)
- Move eigen_matrix_compare.h file. (One step of #260)
- Matrix library implementation. (#237)
- Replaces calls to drake::Quaternion<T> by maliput::math::Quaternion (#256)
- Vector library implementation. (#237)
- Replaces drake::VectorN<double> by maliput::math::VectorN. (#251)
- Migrates drake_copyable.h. (#240)
- Migrates drake::unused(). (#241)
- Adjust to a new drake version.
- Upgrade to c++17.
- Group segments within 2x2_intersection (#217)
- Build documentation by default. (#206)
- Use ament_cmake_doxygen to generate C++ documentation. (#165)
- Modifies return value of Lane::ToLanePosition() (#163)
- Modifies ToRoadPosition to return a RoadPositionResult. (#160)
- Moves Lane::driveable_bounds() to Lane::segment_bounds(). (#154)
- Add cmake clang format (#113)
- Add auto clang formatting check to colcon test (#98)
- Reformat to obey TRI style (#87)
- Logger support in maliput (#89)
- Add gmock to tests requiring gmock
- Migrates DRAKE_THROW_UNLESS to MALIPUT_THROW_UNLESS (#74)
- Adds to RightOfWayRule a map of TrafficLight Ids --> BulbGroup Ids (#79)
- Replaces DRAKE_-aborts by MALIPUT_ (#73)
- Adapt packages to withstand tarball installation (#61)
- Adds RoadGeometry::FindRoadPositions() (#58)
- Removed redundant maliput dir
- Create maliput ament packages
- Adds TrafficLightBook loader
- Adds Maliput Phase Ring Book Loader (#11021)
- Generalizes RightOfWayRules Loader (#10977)
- Adds Maliput RightOfWayRule Loader (#10949)
- Adds unit test to 2x2_intersection_test.cc (#10891)
- Adds a unit test for 2x2_intersection.yaml (#10841)
- Cleans up maliput/multilane/BUILD.bazel (#10876)
- Adds 2x2_intersection.yaml to Maliput multilane (#10834)
- Fixes grammar in maliput/multilane/loader.h (#10815)
- Deprecate and remove all uses of DRAKE_ABORT_MSG (#10781)
- Deprecate and remove all uses of DRAKE_ABORT (#10545)
- In lane_data.h, quaternion.toRotationMatrix() to new RotationMatrix constructor.
- Improves explicit theta_dot treatment in Multilane\'s Builder.
- Miscellaneous documentation fixes
- Documentation fixes
- Make various lists in Doxygen both Markdown and reST friendly
- Clean up exception specification in doxygen
- Add some missing note doxygen tags
- Express characteristic scale length concept in api::RoadGeometry (#9306)
- [multilane] Fixes ToRoadPosition to correctly use r coordinate (#9464)
- Fixes broken Multilane loader tests.
- Adds multi-lane road tests to Multilane Loader test suite (#9302)
- [multilane] Group-related interfaces to allow loader testing (#9278)
- Fix tolerance usage in Endpoint comparisons.
- Adds multilane YAML format documentation. (#9208)
- Renames RoadCurve\'s p_scale to l_max. (#9332)
- Merge pull request #9155 from ekumenlabs/Issue/Multilane_Optimized_RoadCurve_Computations
- Disable multilane_loader_test under ubsan and the use of sanitizer blacklists in general
- Issue/#8530 replace string concat by fmt (#9093)
- [Multilane] Loader to support lane-to-lane connections. (#9090)
- Adds lane-to-lane Builder::Connect methods. (#8973)
- [Multilane] Adds continuity constraints into the loader (#8676)
- Continue deprecating rpy2rotmat in favor of existing and newly created methods in RollPitchYaw class (#8969).
- Add an IdIndex interface to maliput::api::RoadGeometry.
- Propagates computational settings from Loader to RoadCurve.
- Add num_shards=10 for multilane_lanes_test
- Use shards for multilane_road_curve_accuracy_test.
- Added arc length approximation support to Multilane\'s RoadCurve class.
- [Maliput] Utility OBJ Parser (#8679)
- Multilane\'s Builder API refactor in favor of fluent API (#8302)
- Add RotationMatrix constructor that takes RollPitchYaw argument and change #include roll_pitch_yaw.h to #include rotation_matrix.h
- Re-apply \"Add drake_cc_package_library and library_lint\"
- Remove test size when it matches default of small
- Blacklist bits/stl_tree.h for UBSan
- Revert \"Add drake_cc_package_library and library_lint\"
- Add drake_cc_package_library and library_lint
- Multilane restore loader gmock tests (#8565)
- Revert \"Modifies multilane\'s Loader tests using gmock. (#8071)\"
- Modifies multilane\'s Loader tests using gmock. (#8071)
- Fix Wshadow warnings from GCC
- Add some const hints to improve readability
- Fixes multilane\'s ToRoadPosition #8045 (#8212)
- Add drake_py_unittest helper
- Fix //drake label names in automotive/maliput/multilane/test_utilities
- Fix //drake label names in automotive/maliput/multilane
- Unifies unnamed namespaces for rndf and multilane tests.
- Multilane\'s Loader, part I.
- Run tools/dev/6996-move
- Initial commit
- Contributors: Agustin Alba Chicar, Andr