Closed jngechong closed 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?
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.
`
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
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!
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.
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!
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.
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!
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?
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.
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.
I think I am close to run your program successfully, but I still need some help.Looking forward to your reply!
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?
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?
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?
Change the path which is shown on the line of permission denied with your paht and build again
@kerimyener Yes you are right. I changed it and it works. Thanks!
Hey @kerimyener,
I would suggest to check out #4 for creating your own 3D map. Also, thanks for jumping in helping @GEC-xjtu.
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!