RozDavid / LOL

LOL: Lidar-only Odometry and Localization in 3D point cloud maps
363 stars 94 forks source link

ERROR in config: unknown url type: segmap/dependencies.rosinstall #7

Closed jngechong closed 3 years ago

jngechong commented 3 years ago

Hello! I had a problem cloning the code. When I cloned the project :

`iairloc@iairloc:~/Catkin/LOL$ wstool init Writing /home/iairloc/Catkin/LOL/.rosinstall

update complete. iairloc@iairloc:~ /Catkin/LOL$ wstool merge segmap/dependencies.rosinstall ERROR in config: Is not a local file, nor a valid URL [segmap/dependencies.rosinstall] : unknown url type: segmap/dependencies.rosinstall iairloc@iairloc:~ /Catkin/LOL$ wstool merge segmap/dependencies.rosinstall ERROR in config: Is not a local file, nor a valid URL [segmap/dependencies.rosinstall] : unknown url type: segmap/dependencies.rosinstall`

So clould you please help me solve this problem?Thanks a lot!

jngechong commented 3 years ago

I did the clone step next to the "create the Catkin Environment" step without opening new terminal or doing "cd src", so is this causing my problem?

jngechong commented 3 years ago

I solved my problem by 'cd src' before git clone. And after git clone I input 'cd LOL', then I can finish wstool step. But when I run "catkin build tensorflow_ros_cpp " there are something wrong. So how can I solve this problem?

`Errors << tensorflow_catkin:make /home/iairloc/Catkin/LOL/logs/tensorflow_catkin/build.make.001.log
CMake Error at CMakeLists.txt:408 (message): NCCL is required for GPU-build

make[2]: [tensorflow_src-prefix/src/tensorflow_src-stamp/tensorflow_src-configure] Error 1 make[1]: [CMakeFiles/tensorflow_src.dir/all] Error 2 make: *** [all] Error 2 cd /home/iairloc/Catkin/LOL/build/tensorflow_catkin; catkin build --get-env tensorflow_catkin | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd - ........................................................................................................................................................................................................... Failed << tensorflow_catkin:make [ Exited with code 2 ]
Failed <<< tensorflow_catkin [ 0.4 seconds ]
Abandoned <<< tensorflow_ros_cpp [ Unrelated job failed ]
[build] Summary: 1 of 3 packages succeeded.
[build] Ignored: 30 packages were skipped or are blacklisted.
[build] Warnings: None.
[build] Abandoned: 1 packages were abandoned.
[build] Failed: 1 packages failed.
[build] Runtime: 0.5 seconds total. `

RozDavid commented 3 years ago

Hey @GEC-xjtu,

Could you add the output of nvidia-smi and nvcc -V . It is important to have the right Cuda and nvidia driver versions for tensorflow to work correctyl. I would think from the output of your logs, you havent installed NCCL yet. You can find the installetion guide for that here.

If you would like to use the CNN representation of the segments and use that for localization it is necessary to prepare your environment for tensorflow_catkin, thus tesnorflow_cpp. You can find the necessary installation for that on their github repo page here.

On the other hand you can use the geometry based features as well with running kitti_loam_segmap.launch, for this you could blacklist tensorflow_catkin first and only build that package when you need the CNN descriptors.

Bests for you and keep me updated if oyu have further questions, David

jngechong commented 3 years ago

Thanks for your reply! @RozDavid I really havent installed NCCL yet, so I install nccl-2.2.13 with cuda 9.0 and cudnn 7.0. After install NCCL I run 'catkin build tensorflow_ros_cpp', but there is an error: "

CMake Error at eigen-stamp/download-eigen.cmake:21 (message):
error: downloading
'https://bitbucket.org/eigen/eigen/get/e5e305a158a0.tar.gz' failed
status_code: 7
status_string: "Couldn't connect to server"
log:   Trying 104.192.141.1...
Trying 2406:da00:ff00::22e9:9f55...

" I open the link 'https://bitbucket.org/eigen/eigen/get/e5e305a158a0.tar.gz' and the content of the page is 'Repository eigen/eigen not found'. I think maybe the website is unavailable, right?

So I want to use the geometry based features , but I don't know how to 'blacklist tensorflow_catkin' , could you please tell me how to do this? Thanks a lot and looking forward to your reply!

RozDavid commented 3 years ago

Hey @GEC-xjtu,

The command you are looking for is: catkin config -a --blacklist tensorflow_catkin tensorflow_ros_cpp

Thank you can run catkin build in your workplace without specifying the target packages.

Alternatively, you can just skip running catkin build tensorflow_ros_cpp command after wstool updates.

jngechong commented 3 years ago

Sorry to bother you again. After saw your comment I delete the 'Catkin' folder and re-clone the LOL'code, and run this command in terminal:

...... wstool update cd ~/Catkin/LOL catkin config -a --blacklist tensorflow_catkin tensorflow_ros_cpp catkin build segmapper

And there is an error:

Errors     << tf_graph_executor:make /home/iairloc/Catkin/LOL/logs/tf_graph_executor/build.make.003.log                                                                                                    
  /home/iairloc/Catkin/LOL/src/LOL/segmap/tf_graph_executor/src/tf_graph_executor.cpp:8:44: fatal error: 

tensorflow/core/public/session.h: No such file or directory
  compilation terminated.

make[2]: *** [CMakeFiles/tf_graph_executor.dir/src/tf_graph_executor.cpp.o] Error 1
make[1]: *** [CMakeFiles/tf_graph_executor.dir/all] Error 2
make: *** [all] Error 2
cd /home/iairloc/Catkin/LOL/build/tf_graph_executor; catkin build --get-env tf_graph_executor | catkin env -si  /usr/bin/make -- 
  jobserver-fds=6,7 -j; cd -
 ...........................................................................................................................................................................................................
Failed     << tf_graph_executor:make             [ Exited with code 2 ] 
Failed    <<< tf_graph_executor                  [ 0.5 seconds ] 
Abandoned <<< libpointmatcher                    [ Unrelated job failed ] 
Abandoned <<< minkindr                           [ Unrelated job failed ] 
Abandoned <<< libpointmatcher_ros                [ Unrelated job failed ] 
Abandoned <<< minkindr_gtsam                     [ Unrelated job failed ]
Abandoned <<< mincurves                          [ Unrelated job failed ]  
Abandoned <<< laser_slam                         [ Unrelated job failed ] 
Abandoned <<< laser_slam_ros                     [ Unrelated job failed ] 
Abandoned <<< segmatch                           [ Unrelated job failed ] 
Abandoned <<< segmatch_ros                       [ Unrelated job failed ]
Abandoned <<< segmapper                          [ Unrelated job failed ] 

It seems that still needs tensorflow when make the pcl_catkin ? I guess I did not enter the correct command. So could you please tell me the right command I should input, because I am a newbie to catkin make.

Looking forward to your reply!

RozDavid commented 3 years ago

Oh right, you need to exclude the graph executor as well, along with a certain number of dependency modifications inside the Segmap package. I would suggest for you to try installing tensorflow again, maybe a few helping guides for this could be this, this or change eigen mirror links according to this.

jngechong commented 3 years ago

Hi! Thanks for your help again! @RozDavid After I think about your comment I realize that there is close relationship between segmap and LOL. Although I tried many times, I still couldn't compile segmapper successfully. But in fact, I have successfully run segmap before. So I decide to copy 'loam_velodyne' folder to segmap's workspace and catkin build loam_velodyne . After that I can run the launch you provided roslaunch segmapper kitti_loam_segmap.launch .By the way I download the raw kitti data form the link you provided, but it's not the bag file, so I just record another bag form the bag provided by segmap .And then I run then example launch successfuly.

It seems that my method of successfully running the program does not completely conform to the steps you provided. I am not sure if I missed the essence of the method you provided.So if there is any problem with my method, please point it out.

And the result of kitti_loam_segmap.launch looks a bit strange ,just as the picture shows. I think the green line represents a successful match between the current point cloud and the target map, but what is shown in the picture does not seem to match the actual situation. I think that although the green line represents the best match, it is not fully trusted in the positioning program. Is it correct for me to think this way? Thanks again and looking forward to your reply! 5

kerimyener commented 3 years ago

Hi @RozDavid thanks for your work. I was trying to build the code but I face some errors e.g LOL/segmap/segmapper/src/segmapper.cpp:219:25: error: class laser_slam_ros::LaserSlamWorker has no member named insertLatestPose worker->insertLatestPose(*full_transform). Have you ever seen this error? and is it possible for you to provide dockerfile?

RozDavid commented 3 years ago

Hey @kerimyener,

Are you trying to do the same steps as @GEC-xjtu explained before? You guys are right, that this work is really heavily based on Segmapper, but also has additional functionalities for relocalizatiion and pure Lidar odometry. You won't be able to find those functions you are referencing in the basic segmapper code, you have to use the provided code here. This is the case for worker->insertLatestPose(*full_transform) as well.

jngechong commented 3 years ago

Yes you are right, we do need to compile the code you provided. Finally I successfully compiled all packages, thanks for your help. @RozDavid But I still have some problems with running the program First of all, I can download the map you provided, but I have some questions about how to get the bag. I opened the link you provided, but the download is not a bag. Because I have run the segmap example before, my solution is to intercept the topic of velodyne points in the bag provided by segmap as the bag required to run LOL. If there is anything wrong with my approach, please point it out Then I changed the bag_file and 'target_cloud' to my path in kitti_loam_segmap.launch , and didn't change kitti_localization.yaml. When I run roslaunch segmapper kitti_loam_segmap.launch, the program can run without any errors, but nothing is displayed in the rviz interface, and the bag is not played after I press the space. 6 I think I am close to run your program successfully, but I still need some help.Looking forward to your reply!

kerimyener commented 3 years ago

Hey @kerimyener,

Are you trying to do the same steps as @GEC-xjtu explained before? You guys are right, that this work is really heavily based on Segmapper, but also has additional functionalities for relocalizatiion and pure Lidar odometry. You won't be able to find those functions you are referencing in the basic segmapper code, you have to use the provided code here. This is the case for worker->insertLatestPose(*full_transform) as well.

Thank you for quick reply @RozDavid , Is it possible to create a 3d map?

jngechong commented 3 years ago

I solved my last problem by solve this error: 'Libstdc++.so.6: version `GLIBCXX_3.4.22’ not found' Now I can load offline maps normally in rviz .But when I play the bag, The program can still be displayed normally in the first 5 seconds of the package, but the rviz interface no longer changes after running to 5 seconds. When I quit the program, I found the following problems. Cloud you tell me what went wrong? 7

kerimyener commented 3 years ago

I solved my last problem by solve this error: 'Libstdc++.so.6: version `GLIBCXX_3.4.22’ not found' Now I can load offline maps normally in rviz .But when I play the bag, The program can still be displayed normally in the first 5 seconds of the package, but the rviz interface no longer changes after running to 5 seconds. When I quit the program, I found the following problems. Cloud you tell me what went wrong? 7

Change the path which is shown on the line of permission denied with your paht and build again

jngechong commented 3 years ago

@kerimyener Yes you are right. I changed it and it works. Thanks!

RozDavid commented 3 years ago

Hey @kerimyener,

I would suggest to check out #4 for creating your own 3D map. Also, thanks for jumping in helping @GEC-xjtu.