Git Product home page Git Product logo

als_ros's Introduction

als_ros

An Advanced Localization System [1] for Robot Operating System use (als_ros) is a localization package with 2D LiDAR. als_ros contains following functions;

  • Robust localization based on sensor measurement class estimation [2],
  • Reliability estimation based on Bayesian filtering with a simple classifier of localization correctness [3],
  • Misalignment recognition using Markov random fields with fully connected latent variables [4],
  • Quick re-localization based on fusion of pose tracking and global localization via the importance sampling [5].

These details can be seen at Reliable Monte Carlo Localization for Mobile Robots (arXiv preprint).

Demonstration video showing comparison of als_ros with ROS amcl.

How to install and use

How to install

ROS environment is needed to be installed first. I confirmed that als_ros works on Ubuntu 18.04 with melodic and Ubuntu 20.04 with noetic.

als_ros can be installed with following commands.

$ git clone https://github.com/NaokiAkai/als_ros.git
$ cd als_ros
$ catkin_make
$ source devel/setup.bash

If you do not want to make a new workspace for als_ros, please copy the als_ros package to your workspace. The cloned directory has a ROS workspace.

How to use

Following messages (topics) are needed to be published;

  • sensor_msgs::LaserScan (/scan)
  • nav_msgs::Odometry (/odom)
  • nav_msgs::OccupancyGrid (/map)

Names inside of the brackets are default topic names.

Also, static transformation between following two frames is needed to be set.

  • origin of a robot (base_link)
  • 2D LiDAR (laser)

Names inside of the brackets are default frame names.

There are launch files in the als_ros package. These names can be changed in mcl.launch.

After setting the topics and transformation, the localization software can be used with mcl.launch.

$ roslaunch als_ros mcl.launch

In default, localization for pose tracking with the robust localization and reliability estimation techniques presented in [2, 3] is executed.

If you want to use fusion of pose tracking and global localization, please set use_gl_pose_sampler flag to true.

$ roslaunch als_ros mcl.launch use_gl_pose_sampler:=true

In als_ros, global localization is implemented using the free-space feature presented in [6].

If you want to use estimation of localization failure probability with misalignment recognition, please set use_mrf_failure_detector flag to true.

$ roslaunch als_ros mcl.launch use_mrf_failure_detector:=true

Parameter descriptions

Descriptions for all the parameters are written in the launch files. I am planning to make a more precise document.

Citation

arXiv preprint is available. If you used als_ros in your research, please cite the preprint.

Naoki Akai. "Reliable Monte Carlo Localization for Mobile Robots," arXiv:2205.04769, 2022.
@article{Akai2022arXiv:ReliableMC,
    title = {Reliable Monte Carlo Localization for Mobile Robots},
    author = {Akai, Naoki},
    journal = {arXiv:2205.04769},
    year = {2022}
}

References

[1] Naoki Akai."An advanced localization system using LiDAR: Performance improvement of localization for mobile robots and its implementation," CORONA PUBLISHING CO., LTD (to be appeared, in Japanese).

[2] Naoki Akai, Luis Yoichi Morales, and Hiroshi Murase. "Mobile robot localization considering class of sensor observations," In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 3159-3166, 2018.

[3] Naoki Akai, Luis Yoichi Morales, Hiroshi Murase. "Simultaneous pose and reliability estimation using convolutional neural network and Rao-Blackwellized particle filter," Advanced Robotics, vol. 32, no. 17, pp. 930-944, 2018.

[4] Naoki Akai, Luis Yoichi Morales, Takatsugu Hirayama, and Hiroshi Murase. "Misalignment recognition using Markov random fields with fully connected latent variables for detecting localization failures," IEEE Robotics and Automation Letters, vol. 4, no. 4, pp. 3955-3962, 2019.

[5] Naoki Akai, Takatsugu Hirayama, and Hiroshi Murase. "Hybrid localization using model- and learning-based methods: Fusion of Monte Carlo and E2E localizations via importance sampling," In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pp. 6469-6475, 2020.

[6] Alexander Millane, Helen, Oleynikova, Juan Nieto, Roland Siegwart, and César Cadena. "Free-space features: Global localization in 2D laser SLAM using distance function maps," In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 1271-1277, 2019.

License

Apache License 2.0

als_ros's People

Contributors

naokiakai avatar h-wata avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.