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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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
Package Dependencies
Deps | Name |
---|---|
catkin | |
roslint | |
rostest | |
rosunit | |
roscpp | |
geometry_msgs | |
nav_msgs | |
pcl_ros | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf2 | |
tf2_geometry_msgs | |
tf2_ros | |
tf2_sensor_msgs | |
visualization_msgs | |
mcl_3dl_msgs |
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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
Services
Plugins
Recent questions tagged mcl_3dl at Robotics Stack Exchange
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
Additional Links
Maintainers
- Atsushi Watanabe
Authors
- Atsushi Watanabe
mcl_3dl
[!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
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.
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
- mcl_3dl is provided under the BSD license.
- Backport codes of Point Cloud Library (PCL) is provided under the BSD license.
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)
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
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
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]