C++ BSD-3-Clause

dddmr_navigation

dddmr_navigation is the 3D navigation solution for mobile robots includes mapping/localization/perception/path planning/controller/navigation stack

D

dfl-rlab

Dernière activité 24 sept. 2026
dfl-rlab/dddmr_navigation

572

étoiles

81

forks

55

issues ouvertes

3d-localization3d-navigation3d-path-planning3d-perception3d-slamdeep-learningdeeplearningmobile-robotsquadruped-robotunitree-go2yoloyolo11

Ce README est souvent en anglais.

🤖 dddmr_navigation

🧪 Automated CI/CD & Multi-LiDAR Test Suite

Configuring 3D LiDARs with non-zero tilt angles (pitch/roll/yaw) is often a major headache for beginners—frequently causing corrupted maps, bad ground-plane filtering, or broken coordinate transforms.

Our latest release introduces an automated CI/CD Test Suite that verifies sensor configurations and navigation compatibility before deployment:

  • Angle & Pitch Validation: Automatically tests flat, forward-tilted, and custom-angled LiDAR mount geometries.
  • TF & Point Cloud Accuracy: Ensures spatial transforms, ground projection, and obstacle clearing remain consistent across mounting angles.
  • Beginner-Friendly Benchmarking: Pre-configured test scenarios serve as reliable reference setups for custom robot builds.
  • Run Tests Locally: Found the details in our CICD docs

Airy tilted 45 degree

C16 with no tilting

Mid360 rolling 180

🚀 Go2 Simulator!

We’ve just integrated a Gazebo models using Unitree-go2 with the DDDMR Navigation Stack, unlocking true 3D navigation for simulation and testing. Using the latest quadruped robots go2 combined with our advanced stack, you can explore navigation capabilities that go far beyond traditional 2D navigation frameworks.

👉 Jump in, simulate, and experience features that Nav2 alone can’t achieve — multi-level mapping, ramp navigation, and obstacle handling in complex environments.

👾 Let's play go2 using dddmr navigation


Note

DDDMR Navigation Stack is designed to solve the issues that Nav2 not able to handle: such as multi-layer floor mapping and localization, path planning in stereo structures and percption markings and clearings in a 3D point cloud map.

Multilevel map

Obstacle avoidance on ramps

Navigating while mapping

Semantic segmentation and navigation (stay tuned🔥)

DDDMR navigation (3D Mobile Robot Navigation) is a navigation stack allows users to map, localize and autonomously navigate in 3D environments.

Below figure shows the comparison between 2D navigation stack and DDD(3D) navigation. Our stack is a total solution for a mobile platform to navigate in 3D environments. There are plenty advantages for choosing DDD navigation:

✨ The standard procedures of DDD mobile robots and 2D mobile robots are the same, make it easier for 2D navigation stack users to transit to DDD navigation without difficulties:

  1. Mapping and refining the map using our packages and tools.
  2. Turn off mapping, use MCL to localize the robot by providing an initial pose.
  3. Send a goal to the robot, the robot will calculate the global plan and avoid obstacles using local planner.

✨ DDD navigation is no longer suffered from terrain situations. For example, ramps in factories or wheelchair accessible.

✨ DDD navigation has been well tested is many fields and is based on the cost-effective hardware, for example, 16 lines lidar, intel NUC/Jetson Orin Nano and consumer-grade imu. We are trying to make the solution as affordable as possible.

Citation

Please cite the following if you use this code or parts of it:

@software{dddmr_navigation_dfl-rlab,
  author = {CM, PS, Tarek Taha},
  title = {dddmr_navigation: 3D Mobile Robot Navigation},
  url = {https://github.com/dfl-rlab/dddmr_navigation},
  year = {2025}
}

😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫 I have a robot, but where to start?Click me to see the beginner's guide😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫😵‍💫

🏁 Detail documentations for each package

💡 Click me to see Mapping https://github.com/dfl-rlab/dddmr_navigation/tree/main/src/dddmr_lego_loam
💡 Click me to see Localization https://github.com/dfl-rlab/dddmr_navigation/tree/main/src/dddmr_mcl_3dl
💡 Click me to see Perception https://github.com/dfl-rlab/dddmr_navigation/tree/main/src/dddmr_perception_3d
💡 Click me to see Global planner https://github.com/dfl-rlab/dddmr_navigation/tree/main/src/dddmr_global_planner
💡 Click me to see Local planner https://github.com/dfl-rlab/dddmr_navigation/tree/main/src/dddmr_local_planner
💡 Click me to see Move base https://github.com/dfl-rlab/dddmr_navigation/tree/main/src/dddmr_p2p_move_base

Demonstrations of DDD navigation functions

3D mapping

3D global planning

3D local planning

3D navigation

Support vairant sensors (Unitree G4)

Support vairant sensors (Depth Camera)

Projets similaires

The Mesh Navigation Stack: Efficient Mobile Robot Navigation in Uneven Terrain

C++3d-path-planningcontrollocomotion
Nnaturerobots
906 étoiles109

Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator. Using Twin Delayed Deep Deterministic Policy Gradient (TD3) neural network, a robot learns to navigate to a random goal point in a simulated environment while avoiding obstacles.

Pythondeep-learningdeep-reinforcement-learninggazebo
Rreiniscimurs
1,4 k étoiles193

[TRO 2025] NeuPAN: Direct Point Robot Navigation with End-to-End Model-based Learning.

Pythoncollision-avoidanceend-to-endir-sim
Hhanruihua
1,1 k étoiles106