Giter VIP home page Giter VIP logo

ssl_slam2's Introduction

logo

Wang Han [homepage]               Profile views

  • :🌱: currently working in Huawei Singapore (Todmind Program).
  • 🎓 received Ph.D. in Nanyang Technological University.
  • 🔨 specialize in computer vision and robotics.

ssl_slam2's People

Contributors

wh200720041 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  avatar  avatar

ssl_slam2's Issues

About function LaseProcessingClass::featureExtraction

Hi @wh200720041

I'm still studying your masterpiece. but there is a question I can`t understand.

Code block in function LaseProcessingClass::featureExtraction

double last_angle = atan2(pc_in->points[0].z,pc_in->points[0].y) * 180 / M_PI;
double angle = atan2(pc_in->points[i].x,pc_in->points[i].z) * 180 / M_PI;
...
if(fabs(angle - last_angle) > 0.05){ .... }
...

Why could angle and last_angle subtract? What`s the meaning?

BRs

Run without ROS?

Hi! And thank you for making this code available. Would it be possible to run it without ROS? How embedded is the ROS dependency?

Thanks!

How to apply the trajectory to point cloud from the bags?

Hi,@wh200720041.
I am trying to apply your work to do some 3D reconstructions. But I am not familiar with the ROS, so maybe I make some basic mistakes.
I output the trajectory from /odom as your said wh200720041/ssl_slam#14 (comment)
And I also output the original point from the bag.
However, the pcl::transformPointCloud for output pose and the original point goes completely wrong, what I am miss?
The pose and pcd are obtained through odomEstimationLocalizationNode.cpp

I make a fork, maybe you can point out the problem.
Thanks.

https://github.com/cdb0y511/ssl_slam2/blob/fec5de0e21c49801e9a5ccfb6c921929ada04855/src/odomEstimationLocalizationNode.cpp#L127

https://github.com/cdb0y511/ssl_slam2/blob/fec5de0e21c49801e9a5ccfb6c921929ada04855/src/odomEstimationLocalizationNode.cpp#L99

ERROR: service [/save_map]

Hello, i have a problem with the command "rosservice call /save map".

  • i am following the "4.3 Map Building" procedure, but when i use the "rosservice call /save map" command in my second terminal tab, i get the following error:

ERROR: service [/save_map] responded with an error: : [pcl::PCDWriter::writeASCII] Could not open file for writing!

  • also in the first terminal tab that i am using the command "roslaunch ssl_slam2 ssl_slam2_mapping.launch" i get the following error for a moment:

[ERROR] [1642414934.582664157, 1642414849.721206964]: Exception thrown while processing service call: : [pcl::PCDWriter::writeASCII] Could not open file for writing!

Picture of my terminal:

error

  • i solved it by typing "rosrun pcl_ros pointcloud_to_pcd input:=/map" instead of "rosservice call /save map" but i would like to check if i get better results with the loop closure that you describe.

Could you help me?
Thank you in advance for your time.

Using intel realsense t265 as an odometry source

Hi,

I'd like to get some help on how to integrate a t265 tracking camera as an odometry source for the /odom topic instead of using odomEstimationMappingNode to obtain /odom.

How should I make changes on the mapOptimizationNode to make this work with a t265 sensor?

build problem!!大神教教

image
i used catkin build,then ,the devel don't have setup.bash
在这一步我用的catkin build ,然后出现如下报错,devel里也没有setup.bash文件
image

How to record dataset?

I used realsensense viewer to record data, but it does not work.
Could you share the record command? thanks a lot~

Problem with L515

Hello, first of all impresive work.
I have my L515 connected and facing the following problem after running the " roslaunch ssl_slam ssl_slam_mapping.launch".
image

I am completely new in ROS. Thank you very much for your time.

启动报错,我该怎样开始调试?


setting /run_id to cbc710a4-d390-11ed-afc1-00d861d6168c
process[rosout-1]: started with pid [21215]
started core service [/rosout]
process[bag-2]: started with pid [21218]
process[ssl_slam2_laser_processing_node-3]: started with pid [21222]
process[ssl_slam2_odom_estimation_mapping_node-4]: started with pid [21224]
process[ssl_slam2_map_optimization_node-5]: started with pid [21229]
process[baselink2cam_tf-6]: started with pid [21231]
process[rviz-7]: started with pid [21232]
process[ssl_slam2/trajectory_server_ssl_slam-8]: started with pid [21233]
double free or corruption (out)
[ssl_slam2_map_optimization_node-5] process has died [pid 21229, exit code -6, cmd /home/hao007/ssl2_ws/devel/lib/ssl_slam2/ssl_slam2_map_optimization_node __name:=ssl_slam2_map_optimization_node __log:=/home/hao007/.ros/log/cbc710a4-d390-11ed-afc1-00d861d6168c/ssl_slam2_map_optimization_node-5.log].
log file: /home/hao007/.ros/log/cbc710a4-d390-11ed-afc1-00d861d6168c/ssl_slam2_map_optimization_node-5*.log
double free or corruption (out)
[ssl_slam2_odom_estimation_mapping_node-4] process has died [pid 21224, exit code -6, cmd /home/hao007/ssl2_ws/devel/lib/ssl_slam2/ssl_slam2_odom_estimation_mapping_node __name:=ssl_slam2_odom_estimation_mapping_node __log:=/home/hao007/.ros/log/cbc710a4-d390-11ed-afc1-00d861d6168c/ssl_slam2_odom_estimation_mapping_node-4.log].
log file: /home/hao007/.ros/log/cbc710a4-d390-11ed-afc1-00d861d6168c/ssl_slam2_odom_estimation_mapping_node-4*.log
[ WARN] [1680685438.207610937, 1613437896.249689627]: No transform between frames map and base_link available after 1613437896.249690 seconds of waiting. This warning only prints once.

Loading saved PCD file for localization

Hi,
Thanks for the awesome project.
I am working with l515 lidar (live sensor).

As i am not working with bag files, so i made few changes in ssl_slam2_mapping.launch-

  1. Removed first 2 lines that requires .bag file and replaced it with rs_camera.lauch file. As in SSL_SLAM.

  2. It worked and i saved the generated map as PCD with command-
    rosrun pcl_ros pointcloud_to_pcd input:=/map

How can i use that PCD file to be loaded for ssl_slam2_localization? currently it requires bag file.

Also i have out of box querry-
If i want to know there is any object placed in front within 1-2 meter. Is there any way i can implement in code just to get information like something is there in realtime?

Thanks.

How to use hardware IMU data of L515?

Thank you for sharing such amazing work. I am using L515 for map generation and sometimes I was losing the odometry due to low features. I guess currently IMU data is not being used is there any way to use the IMU data to improve the performance of odometry?

If there are any other options please let me know that also.
Thank you

The effect of closed-loop detection is not good. How to adjust?

Thank you for sharing. I tested the l515 hand-held and found that the closed-loop effect was not very good. I guess this faction is hidden in“ bool MapOptimizationClass::optimizeGraph(int matched_id, int current_id)”,Unfortunately, I haven't understood it yet -.- ~ I wonder if there are any ways to improve the effect of Closed-loop Detection by sacrificing computational efficiency? Because my device has extra computing power

use with a camera towards the ceiling

hi I install a L515 upper on the robot, it's towards the ceiling. Now I always get a rotable map and transform. I see in the laserProcessingClass.cpp and modify the line 20~27, for change the coordinate transform for my install style, but it lead to feature Extraction fail . and then I try to change the final tranform result in odomEstimationLocalizationClass.cpp and add another transform to change what br.sendTransform(), but it also can not get the right map or transform.Do you have any idea for my case?

matchPointsToMap函数计算得到的odom有问题

大佬好,我阅读代码发现matchPointsToMap函数里的odom全局变量是没有地方更新的。q_w_curr和t_w_curr全局变量也仅是通过odom进行更新,也就是odom本质上是没有进行更新的,请问是我理解错了吗?
Eigen::Isometry3d odom_prediction = odom * (last_odom.inverse() * odom);
last_odom = odom;
odom = odom_prediction;

q_w_curr = Eigen::Quaterniond(odom.rotation());
t_w_curr = odom.translation();

if(edge_point_flag && surf_point_flag){
odom = Eigen::Isometry3d::Identity();
odom.linear() = q_w_curr.toRotationMatrix();
odom.translation() = t_w_curr;
}

Livox support

Hi! I am very impressed by you wonderful SLAM project. I am trying to see if it can run using the pointclouds coming from a mems lidar, in particular the Mid-360.
Reading your original paper it seems like it should be quite generalizable but looking through your codebase I see that you always check for pcl::PointCloud<pcl::PointXYZRGB> while most lidars only output XYZ values.
And in fact when testing it using my data I get the errors:

[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud!
[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud!
Failed to find match for field 'rgb'.
Failed to find match for field 'rgb'.
Failed to find match for field 'rgb'.
[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud!
[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud!
Failed to find match for field 'rgb'.
Failed to find match for field 'rgb'.
Failed to find match for field 'rgb'.

Am I missing something?

double free or corruption (out) error when start the launch

process[ssl_slam2_map_optimization_node-3]: started with pid [29347]
double free or corruption (out)
process[baselink2cam_tf-4]: started with pid [29391]
process[rviz-5]: started with pid [29393]
process[ssl_slam2/trajectory_server_ssl_slam-6]: started with pid [29398]
[ssl_slam2_map_optimization_node-3] process has died [pid 29347, exit code -6, cmd /home/jzx/l515_slam/devel/lib/ssl_slam2/ssl_slam2_map_optimization_node __name:=ssl_slam2_map_optimization_node __log:=/home/jzx/.ros/log/4f8913b2-bf8b-11ec-b172-000ec672fdee/ssl_slam2_map_optimization_node-3.log].

What is /zalpha_odom?

Thank you for sharing your amazing work. I was collecting data using L515 in bag format. I just subscribed to the topics mentioned in the sample bag file (Mappingtest.bag). I am not able to understand what is /zalpha_odom in the sample bag file? Please let me know how to get this topic information.

Need for a `Dockerfile`

any plans to provide a Dockerfile for this project ? it's getting too difficult to setup the dependencies.

Build problem

Hi!

I could build ssl_slam without problems, but when I try with ssl_slam2, I can't build.
Have you changed some library version?

I would like to copy the log error, but is too long.

unable to build realsense-ros

When I use the catkin_make command and run it after cloning the realsense repository I get this error:

-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 4 packages in topological order:
-- ~~ - realsense2_camera_msgs (plain cmake)
-- ~~ - realsense2_description (plain cmake)
-- ~~ - realsense2_camera (plain cmake)
-- ~~ - ssl_slam2
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_workspace.cmake:100 (message):
This workspace contains non-catkin packages in it, and catkin cannot build
a non-homogeneous workspace without isolation. Try the
'catkin_make_isolated' command instead.
Call Stack (most recent call first):
CMakeLists.txt:69 (catkin_workspace)

-- Configuring incomplete, errors occurred!
See also "/home/third/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/third/catkin_ws/build/CMakeFiles/CMakeError.log".

realsense-ros

I also tried it after running the catkin_make_isolated command I got this error:

third@ender:~/catkin_ws$ catkin_make_isolated
Base path: /home/third/catkin_ws
Source space: /home/third/catkin_ws/src
Build space: /home/third/catkin_ws/build_isolated
Devel space: /home/third/catkin_ws/devel_isolated
Install space: /home/third/catkin_ws/install_isolated

~~  traversing 4 packages in topological order:
~~  - realsense2_camera_msgs (unknown)
~~  - realsense2_camera (unknown)
~~  - realsense2_description (unknown)
~~  - ssl_slam2

Error: Packages with unknown build types exist
Can not build workspace with packages of unknown build_type

catkin_make_isolated

Any idea how to resolve this issue ?

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.