laboshinl / loam_velodyne

Laser Odometry and Mapping (Loam) is a realtime method for state estimation and mapping using a 3D lidar.
http://wiki.ros.org/loam_velodyne
Other
1.69k stars 956 forks source link

Public place to ask questions, post and discuss issues #3

Open laboshinl opened 8 years ago

laboshinl commented 7 years ago

@JohnMMeyer I think you should remap your cloud_in topic to velodyne_points http://wiki.ros.org/roslaunch/XML/remap

JohnMMeyer commented 7 years ago

@laboshinl , thank you for the input. I did convert cloud_in to velodyne_points and that is playing nicely in RVIZ. My ultimate goal is to create a map and display it in Cloud Compare. I have been looking around and can't seem to find a way to do that with just the bagfile I have. Any help would be great.

@Durant35 I looked at the link you sent, thanks for that. Which paper specifically were you referencing/

Thanks for the help, John

kamiyuanyang commented 7 years ago

Hi. I just encountered the same problem as @CansenJIANG described before. Any idea about how to fix it?

Thanks

drscopus commented 7 years ago

Does anyone know how these variables "arx, ary, arz" in Levenberg-MarQuardt come . I think it maybe the elements of Jacobian matrix in LevenBerg-MarQuardt, but how is the Jacobian matrix computed? Can someone tell me? Thank you very much~! @laboshinl @haoala

PaoDatsun commented 7 years ago

Dear Leonid

I'm in trouble.

I downloaded sample PCAP file and ran it , as described below. roslaunch velodyne_pointcloud VLP16_points.launch pcap:=pcapfilepath

At this time, i dumped to get the position in the time series of "/ integrated_to_init" topic (like this : rostopic echo -p /integrated_to_init > dump.txt). but, i found that the TimeStamp does not match the TimeStamp of the original PCAP.

Why do not they match ? Do you know the way to understand the relationship between each step of the "/ integrated_to_init" topic and the step of pcap?

Thanks!

arunabhcode commented 7 years ago

Hey

I'm trying to build this package but I get an error saying

/usr/bin/ld: cannot find -lvtkCommon /usr/bin/ld: cannot find -lvtkFiltering /usr/bin/ld: cannot find -lvtkImaging /usr/bin/ld: cannot find -lvtkGraphics /usr/bin/ld: cannot find -lvtkGenericFiltering /usr/bin/ld: cannot find -lvtkIO /usr/bin/ld: cannot find -lvtkRendering /usr/bin/ld: cannot find -lvtkVolumeRendering /usr/bin/ld: cannot find -lvtkHybrid /usr/bin/ld: cannot find -lvtkWidgets /usr/bin/ld: cannot find -lvtkParallel /usr/bin/ld: cannot find -lvtkInfovis /usr/bin/ld: cannot find -lvtkGeovis /usr/bin/ld: cannot find -lvtkViews /usr/bin/ld: cannot find -lvtkCharts

Can you help me solve this error?

Thank you!

arunabhcode commented 7 years ago

Hey

So I got it to work by manually building everything but I'm not getting a stitched pointcloud on /velodyne_cloud_registered. Instead it just seems to be playing back the pcap file I'm instantializing it with?

Thank you!

kobe4545 commented 7 years ago

Hi,I am a student form SJTU,I'm going to using loam on hokuyo 3d laser.I'm wonder whether I can use your code directly?And whether it is influenced by HZ of the laser?Thank you very much~

sholtodouglas commented 7 years ago

@desmosedic @TopGunSnake when I write a function which rotates the incoming velodyne data so it fits the frame of reference of LOAM, it cuts off most of the data outside a specific FOV after running through scan registration. Could you guys explain how you got an output in the normal axis? Where do you apply the quaternion? Cheers

nikitaporje commented 7 years ago

@CansenJIANG @desmosedic @TopGunSnake Hi, I have the same problem as you. When i open the point cloud in Cloud Compare it gives the circular output. Did you find any solution for that ? Please help

brianshu commented 7 years ago

so could i run the program by feeding the real-time stream data from lidar.

cuz i find the program work by using two terminal which means readin data from lidar should be an option.

desmosedic commented 7 years ago

@SholtoD Are you just writing a tf to change coordinate frames? If so, there should not be any difference in the way the map looks.

@nikitaporje Not sure what circular output means..

desmosedic commented 7 years ago

I am wondering if anyone has tested with IMU. I am working on feeding in IMU data to LOAM, anybody know the IMU coordinate frames accepted by LOAM?

kobe4545 commented 7 years ago

I am using hokuyo 3D lidar on loam rather than velodyne-16?Does anybody knows which kind of version I should use?Because I have problems on using the vlp-16 version?Thank you for your reply

desmosedic commented 7 years ago

@kobe4545 You would need to use the loam back and forth package in order to use the Hokuyo. You would also need a motor to spin the Hokuyo back and forth. Take a look at the webpage I linked for more information. Also, take a look at the LiDAR they use, not sure if they use a 2-D Hokuyo.

kobe4545 commented 7 years ago

@desmosedic @laboshinl Well,thank you for your reply.But the problem is that I'm using the hokuyo 3d yvt lidar rahher than hokuyo 2d lidar,I think the loam back and forth fits for 2d lidar well.And the structure of data by 3d lidar is like this: 2017-02-06 10 16 42

hokuyo3d

I am confuzed whether loam is suits for my lidar?

sumitjagdale commented 7 years ago

Hello People, I have just discovered LOAM, it is great work and this what I was exactly looking for. I am using velodyne VLP-16 and HDL32E. My requirement is pointcloud registration and coloring (mapping RGB) in real time. I am trying to integrate monocular camera sensor with vlp-16 and stereo camera with hdl-32e. Right now I am post processing the data for point cloud coloring. I have following queries:

  1. How to process LOAM in real time using both the Velodyne sensors?(If somebody has tried it in real time please do write me the steps and instructions)
  2. Has anyone integrated this LOAM along with camera sensor? This would be really a great help. Many thanks in advance!

Best, Sumit

sysuzyc commented 7 years ago

Hi, I am a student in SYSU. I have run the project, but I have some problem. In the nsh_indoor_outdoor.bag,what I get is awful than the picture you give. I want to know why the the nsh_indoor_outdoor.bag shows the result awfuller than what you give. Is this a normal phenomenon? Thanks for help. sysuzyc

Nickhodem commented 7 years ago

@sumitjagdale Hey, I supposed you have to change const int N_SCANS = 16; to adequate number of your scans. 16 for VLP16 + 32 for VLP32. I have never tested it but I think your results depend on the position of the scanners. Another way is to get 2 odometry from two LOAM nodes and put it in Kalman Filter to get one best result. I am also interested in integration of this lidar LOAM with visual SLAM. Best Regards, Nickhodem

sumitjagdale commented 7 years ago

@Nickhodem Hi, Thanks a lot for your feedback. I aam going to try it soon and let you know if I can fix it! :)

sumitjagdale commented 7 years ago

@sysuzyc Have you tried this option: -r 0.5 if the result look bad and it is due to the less powerful CPU, (e.g. rosbag play nsh_indoor_outdoor.bag -r 0.5)

sysuzyc commented 7 years ago

@sumitjagdale Thanks for your help. I use the method you give. And I find that the picture I get is better than before. But I want to ask some question. Could you run the nsh_indoor_outdoor.bag and show the result like the picture the author displays. And I want to know whether we can use the code given to get the result like the picture or just the limitation of the CPU. Thanks for help. sysuzyc

sumitjagdale commented 7 years ago

@sysuzyc screenshot from 2017-03-30 17 09 36 Here is the result for outdoor dataset. It works!

Nickhodem commented 7 years ago

@sumitjagdale Hey, I am looking forward for your results. And if you find something useful for lidar+camera integration I hope you share your knowledge ;)

sysuzyc commented 7 years ago

@sumitjagdale Thank you very much. I will change a computer to launch the project.

alittleharry commented 7 years ago

@sumitjagdale your result picture looks very beautiful, could you share the rviz config files? How to change the color like yours?

sysuzyc commented 7 years ago

@sumitjagdale Hi ,I have change a computer with the CPU 2.6GHz. But I can't get the picture you shows. What my result shows a white point cloud picture. It can't show the colorful picture like you gives. Is there something we should pay attention to(such as rviz,parameter)? Thanks very much. sysuzyc

laboshinl commented 7 years ago

@sysuzyc You should select suitable "Color transformer" value (ex: "Intensity") for your pointcloud2 topic in rviz

tthh7 commented 7 years ago

hi, I would like to ask you some understanding of the code, I do not understand why the first node code should be divided into five parts of the point cloud, there is the first part of the algorithm What is the point?@haoala @laboshinl

sysuzyc commented 7 years ago

@laboshinl @sumitjagdale Hi ,thanks for your helps first. But I still have some question in the loam_slam result. You can see that there is the discrete point cloud. But the result should be the continus point such as what you show. And the color transform value is Intensity too. There is no difference than before. So I want to know how the picture can be what you shows? And I have change a computer with a higher frequency CPU in 2.6GHz. So the device is just suitable for the project. Thanks for your help. Best wishes sysuzyc.

Nickhodem commented 7 years ago

Hey, Does anyone have any notes explaining the code? This code doesn't contain any comments. I've compared the code with the paper, but I can't fully understand it. Any help will be appreciated.

sumitjagdale commented 7 years ago

@sysuzyc Hello, I have already sent email to Leonid Laboshin regarding this issue. I am also trying to register VLP16 point cloud in real time, but could not succeed yet. Could you please text me your email id? Thanks, Sumit

Luoada commented 7 years ago

@laboshinl @CansenJIANG Has anyone already got working real-time point cloud registration for VLP16? Please share the experience. I am stuck at getting the registered point cloud in real time. Many thanks in advance. looking forward to getting kind help~ Best Ada

sysuzyc commented 7 years ago

@sumitjagdale Hi,my email address is sysusmiezyc@gmail.com. Thanks for your help. sysuzyc

rr1100fei commented 7 years ago

Hi Someone can tell me how to output trajectory? Thanks

DamonMIN commented 7 years ago

@laboshinl @ZepherusFF dear sir, is it the normal result shown as the belowing picture? I think it is too sparse. What's more,can you tell me where to save the final point map? result

laboshinl commented 7 years ago

@DamonMIN laser_cloud_surround contains filtered clouds velodyne_cloud_registered - unfiltered

rosrun pcl_ros pointcloud_to_pcd input:=/velodyne_cloud_registered saves .pcd for each registered pointcloud. Then this files should be simultaneously opened with ex. CloudCompare or pcl_viewer

kmotillo commented 7 years ago

Hello guys, I'm able to run the bag files with Loam project, but I can't play pcap files, I have already installed velodyne drivers and stuff, I get this error:

roslaunch velodyne_pointcloud VLP16_points.launch pcap:=~/catkin_ws/data.pcap

[FATAL] [1493398174.524589658]: Error opening Velodyne socket dump file. [FATAL] [1493398174.931569284]: Failed to load nodelet '/velodyne_nodelet_manager_driverof typevelodyne_driver/DriverNodeletto managervelodyne_nodelet_manager' [velodyne_nodelet_manager-2] process has died [pid 55859, exit code -11, cmd /opt/ros/indigo/lib/nodelet/nodelet manager name:=velodyne_nodelet_manager log:=/home/pelacho/.ros/log/a76b30e8-2c32-11e7-8c8f-000c29e7372c/velodyne_nodelet_manager-2.log]. log file: /home/pelacho/.ros/log/a76b30e8-2c32-11e7-8c8f-000c29e7372c/velodyne_nodelet_manager-2.log [velodyne_nodelet_manager_driver-3] process has died [pid 55866, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load velodyne_driver/DriverNodelet velodyne_nodelet_manager __name:=velodyne_nodelet_manager_driver __log:=/home/pelacho/.ros/log/a76b30e8-2c32-11e7-8c8f-000c29e7372c/velodyne_nodelet_manager_driver-3.log]. log file: /home/pelacho/.ros/log/a76b30e8-2c32-11e7-8c8f-000c29e7372c/velodyne_nodelet_manager_driver-3.log

Any help please

sysuzyc commented 7 years ago

@kmotillo Hi, I have met this error several weeks ago. Do you use the datasets from the website ? I think this error is occured by the wrong pcap file. You gave get the pcap datasets in velodyne lidar with 16scans. This is the error I have met. Hope can help you. sysuzyc

kmotillo commented 7 years ago

thanks @sysuzyc I already solved the problem: I was playing like this (pcap:=~/catkin_ws/data.pcap) and I read pcap files have to be played from the root like this: pcap:=/home/usuario/catkin_ws/data.pcap

lowmee commented 7 years ago

How can I use LOAM with Velodyne64

Hallo,I'm using LOAM now,it's so great! I have modified code with "modified on linux" and "add velodyne HDL64E support" The procedure has compiled successfully. But when I execute launch there is only one node(transformMaintenance) live.The terminal displays as follows:

[laserOdometry-3] restarting process process[laserOdometry-3]: started with pid [14995] [laserOdometry-3] process has died [pid 14995, exit code -11, cmd /home/rmy/loam64/devel/lib/loam_velodyne/laserOdometry name:=laserOdometry log:=/home/rmy/.ros/log/038a2858-612a-11e7-b1f8-002324502a96/laserOdometry-3.log]. log file: /home/rmy/.ros/log/038a2858-612a-11e7-b1f8-002324502a96/laserOdometry-3*.log

I don't know why,can you help me? please

Kailegh commented 7 years ago

Is it possible to get a covariance of the odometry? or something that can give an idea of how accurate is LOAM being? I would like for example to integrate it with other odometry algorithms in a Kalman filter

Thanks a lot!!

msy22 commented 7 years ago

Has anyone got LOAM working with a Velodyne HDL-32?

The code doesn't work out of the box for me, and instead crashes shortly after launch with this error:

[scanRegistration-2] process has died [pid 21648, exit code -11, cmd /home/matt/canis_repo/workspace/devel/lib/loam_velodyne/scanRegistration __name:=scanRegistration __log:=/home/matt/.ros/log/14654aa6-71b8-11e7-96ff-9cebe8291234/scanRegistration-2.log]. log file: /home/matt/.ros/log/14654aa6-71b8-11e7-96ff-9cebe8291234/scanRegistration-2*.log

I've been reading through the source and it seems that all the inputs, such as topic names, header_id's etc are hard-coded. For example the source code assumes your input point cloud is one the /velodyne_points topic and that your IMU data is on the /imu/data topic. Are there other requires like the names of reference frames that we should be aware of?

I'd use the sample rosbag to work it out, but unfortunately the link seems to be broken, because the file is missing on DropBox: broken link to sample VLP-16 rosbag

ClementLeBihan commented 7 years ago

Hi mst22, you have to change N_SCANS in scanRegistration.cpp ;)

msy22 commented 7 years ago

Hi ClementLeBihan, thanks for your help!

However, even after increasing N_SCANS to 32 from 16 (for my HDL-32) scanRegistration still crashes with the same error. Unfortunately, it also appears that scanRegistration crashes before writing anything to the log file, so I can't even find out what exactly causes the crash.

ClementLeBihan commented 7 years ago

You can try the solution here : https://github.com/laboshinl/loam_velodyne/issues/10

swarmt commented 7 years ago

Works great on Kinetic!

bouze94 commented 7 years ago

Has anyone got LOAM with other laser? Recently,I have tried it with RS-lidar-16, the process can run for around 10s before the error:

[scanRegistration-2] process has died [pid 11181, exit code -11, cmd /home/sy/catkin_velodyne/devel/lib/loam_velodyne/scanRegistration /velodyne_points:=/rslidar_points name:=scanRegistration log:=/home/sy/.ros/log/316159b0-7780-11e7-b45e-3413e83ff6f6/scanRegistration-2.log]. log file: /home/sy/.ros/log/316159b0-7780-11e7-b45e-3413e83ff6f6/scanRegistration-2*.log

I can't find out what exactly causes the crash. Any help please. Thank you!

error

BorisLerouxFox commented 7 years ago

Dear all, Great work. I still have a question I'm a newbie in ROS, I run both command lines roslaunch loam_velodyne loam_velodyne.launch then roslaunch velodyne_pointcloud VLP16_points.launch pcap:="/media/borisleroux/DATA/ros_loam/270717_outdoor_test.pcap"

When the pcap is "finish", the viewer start again from the begining of the pcap, so I get wrong registered clouds. How could I stop the program directly when all the packets from the pcap are registered ? Thank you Boris

Maofei commented 7 years ago

Hi! @drscopus, did you really figure out how those jacobian components such as arx ary arz atx aty atz were computed ? as well as the bisquare weights herein. Any help? @laboshinl @haoala