No version for distro humble showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro jazzy showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro kilted showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro rolling showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro ardent showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro bouncy showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro crystal showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro eloquent showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro dashing showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro galactic showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro foxy showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro iron showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro jade showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
indigo

Package Summary

Tags No category tags.
Version 0.1.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version indigo-devel
Last Updated 2019-05-21
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status codecov License

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

A demo without odometry is also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.1.4 (2018-12-20)

  • Fix IO figure (#212)
  • Fix tf timestamp (#214)
  • Add pf::ParticleFilter::appendParticle (#207)
  • Fix pointer alignment style (#210)
  • Migrate tf to tf2 (#208)
  • Fix class member naming style (#205)
  • Make lidar measurement model class (#195)
  • Add I/O diagram to the document (#199)
  • Update Algorithms.md (#198)
  • Add apt-get upgrade to test Dockerfiles (#197)
  • Add document for expansion resetting (#193)
  • Add test for expansion resetting (#192)
  • Add test for global localization (#188)
  • Refactor likelihood calculation (#189)
  • Add a comment to test_transform_failure (#184)
  • Build mcl_3dl_msgs from source on CI (#185)
  • Fix resampling (#183)
  • Fix test failure on ROS buildfarm (#181)
  • Fix catkin package definitions (#180)
  • Add tf exception handling and change message level (#177)
  • Relax codecov patch threshold (#179)
  • Allow small coverage drop (#178)
  • Fix test names (#176)
  • Add build id to CI bot comment (#174)
  • Fold CI bot comment (#173)
  • Decrease bag playback rate in integration test (#172)
  • Add test for NormalLikelihoodNd (#171)
  • Report coverage only after successful test (#170)
  • Add CI badges (#169)
  • Add codecov covarage test (#168)
  • Fix bot comment target slug (#167)
  • Contributors: Atsushi Watanabe, So Jomura

0.1.3 (2018-06-23)

  • Fix install of demo launch and config (#164)
  • Update CI and add test on ROS Melodic (#155)
  • Ignore gh-pr-comment failure (#162)
  • Compile with PCL_NO_PRECOMPILE (#161)
  • Fix rostest dependency (#160)
  • Fix roslint dependency (#159)
  • Update install instructions in README (#158)
  • Update manifest format and fix CMakeLists (#157)
  • Use mcl_3dl_msgs package (#152)
  • Test with shadow-fixed repository (#154)
  • Update CI bot environments (#150)
  • Add encrypted token for image caching (#149)
  • Fix migration instruction message (#147)
  • Fix match ratio min/max check (#146)
  • Add interfaces to ChunkedKdtree for external usages (#145)
  • Install headers (#143)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

No version for distro hydro showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
lunar

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
kinetic

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange

Package symbol

mcl_3dl package from mcl_3dl repo

mcl_3dl

ROS Distro
noetic

Package Summary

Tags No category tags.
Version 0.6.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/at-wat/mcl_3dl.git
VCS Type git
VCS Version master
Last Updated 2025-06-16
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

3-D/6-DOF localization for mobile robots with 3-D LIDAR(s)

Additional Links

No additional links.

Maintainers

  • Atsushi Watanabe

Authors

  • Atsushi Watanabe

mcl_3dl

Build Status Codecov License

[!NOTE]
After official ROS 1 EOL, this package is released to Alpine ROS.

Package summary

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.

The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

Currently, the supported motion model is differential-wheeled-robot. The node provides classic MCL; currently, it doesn’t implement adaptive feature like KDL-sampling and etc.

Algorithms

A fundamental algorithm of mcl_3dl node is Monte Carlo localization (MCL), aka particle filter localization. MCL represents a probabilistic distribution of estimated pose as density and weight of particles and estimates the pose from the distribution.

Node I/O

mcl_3dl I/O diagram

Install

from source

Note: mcl_3dl_msgs package is required to build mcl_3dl package.

# clone
cd /path/to/your/catkin_ws/src
git clone https://github.com/at-wat/mcl_3dl.git
git clone https://github.com/at-wat/mcl_3dl_msgs.git

# build
cd /path/to/your/catkin_ws
rosdep install --from-paths src --ignore-src -y  # Install dependencies
catkin_make -DCMAKE_BUILD_TYPE=Release  # Release build is recommended

from apt repository (for ROS Indigo/Kinetic/Lunar on Ubuntu)

sudo apt-get install ros-${ROS_DISTRO}-mcl-3dl

Running the demo

The example bag file of 2+4-DOF tracked vehicle with two Hokuyo YVT-X002 3-D LIDAR is available online. Pre-processed (filtered) 3-D pointcloud, IMU pose, odometry, and map data are packed in the bag.

# Download the example bag (230M)
wget -P ~/Downloads https://openspur.org/~atsushi.w/dataset/mcl_3dl/short_test3.bag

# Running the demo
roslaunch mcl_3dl test.launch use_pointcloud_map:=false use_cad_map:=false \
  use_bag_file:=true bag_file:=${HOME}/Downloads/short_test3.bag

The map data in the bag was generated by using the cartographer_ros and filtered by using pcl_outlier_removal and pcl_voxel_grid utilities.

Rviz image of the demo

MarkerArray shows several mcl_3dl internal information.

  • Purple spheres: sampled points used in the likelihood-model calculation
  • Red lines: casted rays in the beam-model calculation
  • Red boxes: detected collisions in raycasting

To try global localization, call /global_localization by the following command.

rosservice call /global_localization

Demos without odometry and without IMU are also available.

Contributing

mcl_3dl package is developed under GitHub flow. Feel free to open new Issue and/or Pull Request.

The code in this repository is following ROS C++ Style Guide. A configuration file for clang-format is available at https://github.com/seqsense/ros_style/.

License

CHANGELOG

Changelog for package mcl_3dl

0.6.4 (2024-10-10)

  • Fix angular part of covariance matrix (#417)
  • Contributors: f-fl0

0.6.3 (2024-07-22)

  • Explicitly handle zero sigma (#414)
  • Update assets to v0.6.4 (#413)
  • Update assets to v0.6.3 (#412)
  • Update assets to v0.6.2 (#411)
  • Contributors: Atsushi Watanabe

0.6.2 (2023-11-14)

  • Fix reported entropy (#408)
  • Update assets to v0.6.1 (#407)
  • Update assets to v0.6.0 (#406)
  • Update assets to v0.5.2 (#405)
  • Update assets to v0.5.1 (#404)
  • Update assets to v0.4.2 (#402)
  • Contributors: Atsushi Watanabe, f-fl0

0.6.1 (2023-01-04)

  • Update assets to v0.4.1 (#400)
  • Support PCL 1.11 and later (#397)
  • Update assets to v0.4.0 (#395)
  • Update assets to v0.3.4 (#392)
  • Remove old workarounds for PCL<1.8 (#389)
  • Update assets to v0.3.3 (#388)
  • Update assets to v0.3.2 (#387)
  • Update code format (#386)
  • Contributors: Atsushi Watanabe

0.6.0 (2021-05-12)

  • Add option to load cloud through "load_pcd" service (#381)
  • Update assets to v0.3.1 (#382)
  • Update assets to v0.3.0 (#380)
  • Update assets to v0.2.0 (#379)
  • Contributors: Atsushi Watanabe, Remco

0.5.4 (2021-03-07)

  • Add odom/imu/cloud_queue_size params (#375)
  • Fix flaky tests (#376)
  • Contributors: Atsushi Watanabe

0.5.3 (2021-02-26)

  • Fix cloud accum reset on map update (#371)
  • Contributors: Atsushi Watanabe

0.5.2 (2021-01-15)

  • Fix potential "Time is out of dual 32-bit range" error (#367)
  • Update assets to v0.1.4 (#365)
  • Improve test stability (#363)
  • Update assets to v0.1.3 (#362)
  • Update assets to v0.1.2 (#361)
  • Migrate to GitHub Actions (#357)
  • Update assets to v0.0.10 (#356)
  • Contributors: Atsushi Watanabe

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/test.launch
      • without_odom [default: false]
      • without_imu [default: false]
      • use_neonavigation [default: false]
      • use_pointcloud_map [default: true]
      • use_cad_map [default: false]
      • use_cad_map [default: true]
      • map_objs
      • map_pcd
      • map_scale [default: 1.0]
      • map_offset_x [default: 0.0]
      • map_offset_y [default: 0.0]
      • generate_test_bag [default: false]
      • use_bag_file [default: false]
      • bag_file
      • config_file [default: $(find mcl_3dl)/config/test_localization.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noodom.yaml]
      • config_file [default: $(find mcl_3dl)/config/test_localization_noimu.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mcl_3dl at Robotics Stack Exchange