Git Product home page Git Product logo

liorf_localization's Introduction

liorf_localization

This repo is a simple location system based on a priori map, which is based on the lio-sam framework. The current version only supports small scene maps, large scene maps may have some problems.

------------------- Update Date: 2022-11-20 -------------------

  • First verison

------------------- Update Date: 2022-12-13 -------------------

  • Re-derivation the LM optimization, don't need coordinate transformation.

------------------- Update Date: 2023-03-18 -------------------

  • Fixed a bug and was more robust for large scene maps.

------------------- Update Date: 2024-04-30 -------------------

Video: 基于LIO-SAM框架SLAM算法开发(三):定位之小场景定位算法

Prepare priori map

  • You can get a priori map by running liorf or lviorf or liorf-ros2 or any open source SLAM algorithm(e.g. A-LOAM or LOAM or LIO-SAM);

- Make sure the priori map name is "GlobalMap.pcd";
- Change the "savePCDDirectory" parameter in "localization.yaml" to your priori map path.

Dependency

  • gtsam(Georgia Tech Smoothing and Mapping library)
      sudo add-apt-repository ppa:borglab/gtsam-release-4.0
      sudo apt install libgtsam-dev libgtsam-unstable-dev
    

Install

  1. Use the following commands to download and compile the package. (The available ROS2 implementation see branch liorf_localization-ros2)
  mkdir -p ~/liorf_localization/src && cd ~/liorf_localization/src
  git clone https://github.com/YJZLuckyBoy/liorf_localization.git
  cd ../
  catkin_make

How to use

  1. Run the launch file
  roslaunch liorf_localization run_localization.launch
  1. Use "2D Pose Estimate" on rviz to set the initial pose

  2. Play bag files

  rosbag play your_localization.bag

Examples

  1. Urban

drawing

Scalable Examples

  1. Building(Avia)

drawing

  1. Underground Parking(Avia)

drawing

Acknowledgments

Thanks for LIO-SAM, MulRan and UrbanNavDataset.

liorf_localization's People

Contributors

yjzluckyboy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

liorf_localization's Issues

Problem on Jetson Xavier

I noticed that the lib of common is not built on arm, so it can not compile.
Is it possible make a version of arm?
thank you!!

On the problem that the system does not work properly during the initialization of large scene map relocation

Hello, I want to ask you why the large scene map will cause the relocation failure. It is my test that when the created map is small, the system will work normally after initialization, but when the map is too large, the initialization will succeed but the relocation will not work normally, and a warning will appear [ WARN] [1678626782.596217029]: Large velocity, reset IMU-preintegration!
So I want to ask you what causes this? Why does such a phenomenon occur in a large number of maps? Is it because some operations are carried out based on the existing maps, resulting in abnormal initialization? Is there any solution?

关于全局定位

作者您好,您的代码中只在初始化时进行了一次ICP匹配,那这样的话只要ICP匹配成功之后,在建图没有经过的地方也能实现定位了

Correct time is slow?

rostopic hz /liorf_localization/mapping/path
subscribed to [/liorf_localization/mapping/path]
average rate: 1.386
	min: 0.722s max: 0.722s std dev: 0.00000s window: 2
average rate: 1.350
	min: 0.722s max: 0.760s std dev: 0.01928s window: 3
average rate: 1.361
	min: 0.722s max: 0.760s std dev: 0.01786s window: 4
average rate: 1.368
	min: 0.722s max: 0.760s std dev: 0.01481s window: 6
average rate: 1.360
	min: 0.722s max: 0.760s std dev: 0.01710s window: 7
average rate: 1.358
	min: 0.722s max: 0.760s std dev: 0.01600s window: 8
^Caverage rate: 1.357
	min: 0.722s max: 0.760s std dev: 0.01507s window: 9

关于特征提取

作者你好,我看到mapOptimization中订阅的是imageProjection中发布的cloud_deskewed点云,但是您maoOptimization中使用lasercloudSurflast变量接收,而且scan2map的优化函数中仅进行surf点优化。我想问的是cloud_deskewed中不应该corner和surf都有吗,我在源码中并没有看到您进行特征提取

ROS2

Any Plans for ROS2

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.