Git Product home page Git Product logo

fast_lio_localization's Introduction

fast_lio_localization's People

Contributors

borongyuan avatar hviktortsoi avatar xw-hku avatar zang09 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  avatar  avatar  avatar  avatar  avatar

fast_lio_localization's Issues

How can i save path after finished localization?

I run the code with my data successfully.But i want to save the track of localization and evaluate it with ground-truth.Can this code save tracks?If it can,how can i do?
And i noticed that when i run localization_velodyne.launch, /path topic in rviz error ,and showed that:
Transform [sender=unknown_publisher]
For frame [camera_init]: No transform to fixed frame [map]. TF error: [Lookup would require extrapolation 0.515963337s into the past. Requested time 1680234315.974725485 but the earliest data is at time 1680234316.490688801, when looking up transform from frame [camera_init] to frame [map]]
So how can i solve it?
Thanks a lot!

The issue of dependency installation for open3d packages

When I run ''pip install open3d==0.9" in cmd, there is a error.
"ERROR: Could not find a version that satisfies the requirement comm>=0.1.3 (from ipywidgets->open3d==0.9) (from versions: 0.0.1)
ERROR: No matching distribution found for comm>=0.1.3 (from ipywidgets->open3d==0.9)"
It seems that the 0.1.3 version of comm cannot be installed in the Python 2.7 environment, I have also tried the "pip install comm==0.1.3", but it still reported an error.
"ERROR: Could not find a version that satisfies the requirement comm==0.1.3 (from versions: 0.0.1)
ERROR: No matching distribution found for comm==0.1.3".
How can I solve this problem?

"Not Matching" means fail to localization?

My terminal shows like follow:

[INFO] [1663312150.392011]: Global localization by scan-to-map matching......
[INFO] [1663312151.285043]: Time: 0.88362288475
[INFO] [1663312151.286561]:
[WARN] [1663312151.287811]: Not match!!!!
[WARN] [1663312151.289611]: [[ 0.98088933 0.19430204 0.01014116 7.2997208 ]
[-0.1944272 0.9808267 0.01330566 -0.4114994 ]
[-0.0073614 -0.0150231 0.99986005 0.54942485]
[ 0. 0. 0. 1. ]]
[WARN] [1663312151.290827]: fitness score:0.364882312047
[WARN] [1663312151.292033]: Waiting for initial pose....

Fitness score is only 0.364882312047. It seems fail to localization. How to solve this problem?

Does the relocalization functionality support localization from maps generated with different rosbag data?

I am attempting to use the package for re-localization based on previously generated and modified maps. I am generating the first map with FAST_LIO from rosbag data (ouster lidar). I am then publishing lidar scans from a separate rosbag recorded from a different run, and trying to re-localize in the map. The map has stayed generally the same; however, there are slight differences such as cars having moved around. The first picture shows the original SLAM generated trajectory from FAST_LIO. The second picture shows the re-localized trajectory, where the path is colliding with the global map that was previously generated and has been modified. Is this a user error or a bug?
Screenshot from 2023-07-05 14-41-31
Screenshot from 2023-07-05 14-37-35

[Feature Request]Add cuda support for pointcloud processing.

First I want to say that's a great job.

Pointcloud processing can be improved a lot by gpu, in which the popular way is CUDA.

As this package uses open3d for pc processing, I recommend to use cupoch that is api friendly to developers who use open3d.

And for ros users, I recommend to use perception_cupoch as cupoch-ros msg-conversions.

Currently I am trying to improve the performance of pc processing in Jetson devices, the result is promising.

Thanks.

using offline map for odometry

Hi author, I think you only use offline map for global localization, can we also use offline map to replace the online map for odometry? Do you think this a good idea?

Transform of localization.twist

Thank you for this great job.
I have a question when I reading transform_fushion.py

            localization.pose.pose = Pose(Point(*xyz), Quaternion(*quat))
            localization.twist = cur_odom.twist

It transform the pose, but did not transform the twist, can you tell me the reason?
actually, I need the twist data, but i find it's all 0
Thank you every much!

Error in visualizing the map

Hello
I have successfully created a map using Fast_lio.
When I was working with Fast_lio_localization, I am unable to see the map in Rviz, but the localization through ROSBAG is working (check SS) please do provide some help on how can I make it work...

image

image

image

Localization with Gigabyte Map

Hi,

Thanks for your great package.

I tried to test with my pcd map which is about 8gb size. Once it is loaded, the node would died. Is it because the map is too big?

If yes, how could I reduce the map size? The map is generated from fast lio package. Possible to use fast lio to generate map with smaller size?

Thanks.

David

Localization Problem when Lidar is not moving over long period of time

Hi,

We found a problem when the livox lidar was not moving over a long period of time during localization mode. This is the error:

[WARN] [1629076036.379140]: Not match!!!!
[WARN] [1629076036.380224]: [[ -1.58418010e-02 5.23801209e-02 9.98501558e-01 7.28467931e+01]
[ -2.20726244e-02 9.98365197e-01 -5.27231625e-02 1.47314253e+00]
[ -9.99630850e-01 -2.28747797e-02 -1.46597361e-02 -2.55931770e+01]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.00000000e+00]]
[WARN] [1629076036.380964]: fitness score:0.0
[INFO] [1629076036.632107]: Global localization by scan-to-map matching......
[Open3D WARNING] [KDTreeFlann::SetRawData] Failed due to no data.
[Open3D WARNING] [KDTreeFlann::SetRawData] Failed due to no data.
[INFO] [1629076036.923809]: Time: 0.290438890457
[INFO] [1629076036.924859]:

The Odometry topic was empty. The Localization topic was publishing very big number in x,y and z.

Do you know what is the problem?

Thanks.

problem with initial pose

Hi, I test your algorithm with my own dataset. I first use this dataset to create a map by fast-lio2, then use the same dataset to do localization.

After I play the rosbag, cur_scan is at correct position in the point cloud map. Then I run
rosrun fast_lio_localization publish_initial_pose.py 0.0 0.0 0.0 0.0 0.0 0.0
The system Initialize successfully!!! but the pose of current scan immediately jump to a wrong position and direction. The same happens if I set the inital pose by using 2d pose estimate from rviz.

I test many times and this phenomenan happens always. Do you know why?

ps: My dataset is collected with a equipment where there is distance and angle difference between lidar and imu. But I have set correct extrinsics in the code.

‘copyValueString<int8_t>does not match any template declaration

I encountered a problem, but I don't know how it caused it? I read that my errors are exactly the same as the official ones, and I installed open3d and numpy according to readme.
error:
/usr/include/pcl-1.10/pcl/io/file_io.h:266:3: error: template-id ‘copyValueString<int8_t>’ for ‘void pcl::copyValueString(const pcl::PCLPointCloud2&, unsigned int, int, unsigned int, unsigned int, std::ostream&)’ does not match any template declaration
266 | copyValueStringstd::int8_t (const pcl::PCLPointCloud2 &cloud,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
2024-03-26 15-09-18 的屏幕截图

2024-03-26 15-39-37 的屏幕截图

2024-03-26 15-06-04 的屏幕截图

2024-03-26 15-11-31 的屏幕截图

realtime path

Thanks for your great job!
I run your code with my data. I found the realtime path did't aligned to the map after a long time due to the odometry drift.
Is that mean the odometry just from the sensor? Can we used the ICP , NDT or other ways to aligned the realtime path to the offline-map after matched realtime scan to the offine-map.

significant deviation in estimating pose

Our team has applied your algorithm to vehicle positioning. When running the Baidu Apollo dataset, we found that the algorithm has high accuracy in estimating position, but there is a significant deviation in estimating pose, especially in terms of yaw angle deviation. This is difficult to accept for autonomous driving positioning, I wonder if the problem lies in the dataset or algorithm?It is remarkable that the vehicles in the dataset have a fast speed.

pip install open3d==0.9 failed

pip install open3d==0.9

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Defaulting to user installation because normal site-packages is not writeable
Collecting open3d==0.9
Using cached open3d-0.9.0.0-cp27-cp27mu-manylinux1_x86_64.whl (4.9 MB)
Collecting ipywidgets
Using cached ipywidgets-7.8.1-py2.py3-none-any.whl (124 kB)
Requirement already satisfied: numpy in /usr/lib/python2.7/dist-packages (from open3d==0.9) (1.13.3)
Collecting notebook
Using cached notebook-5.7.16-py2.py3-none-any.whl (9.6 MB)
Collecting widgetsnbextension
Using cached widgetsnbextension-3.6.6-py2.py3-none-any.whl (1.6 MB)
Collecting traitlets>=4.3.1
Using cached traitlets-4.3.3-py2.py3-none-any.whl (75 kB)
ERROR: Could not find a version that satisfies the requirement comm>=0.1.3 (from ipywidgets->open3d==0.9) (from versions: 0.0.1)
ERROR: No matching distribution found for comm>=0.1.3 (from ipywidgets->open3d==0.9)

it is hard to give a initial pose

I use my data from velodyne 16p. actually I think I gaved a precise initial pose (just like the picture as follow),but the score is only about 0.5. and it always WARN:Waiting for initial pose..... so whether the initial pose is right or not?

[INFO] [1673945350.131224]: Global localization by scan-to-map matching...... [INFO] [1673945350.357125]: Time: 0.222168922424 [INFO] [1673945350.358185]: [WARN] [1673945350.359048]: Not match!!!! [WARN] [1673945350.360114]: [[ 0.9983036 -0.02998865 -0.04990596 8.62335004] [ 0.03053204 0.99948213 0.01016162 0.67196513] [ 0.04957538 -0.01166811 0.99870223 -0.17253242] [ 0. 0. 0. 1. ]] [WARN] [1673945350.361129]: fitness score:0.529914529915 [WARN] [1673945350.361972]: Waiting for initial pose....
Screenshot from 2023-01-17 16-57-57

Installation of open3d based on arm64 architecture

I looked at pip's website and open3d versions 0.7 to 0.9 don't support arm architecture, and version 0.15 can support arm architecture but not python2, which won't work in my melodic. Is there a solution?

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.