Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

building #47

Closed
jacobsayono opened this issue Feb 28, 2023 · 6 comments
Closed

building #47

jacobsayono opened this issue Feb 28, 2023 · 6 comments

Comments

@jacobsayono
Copy link

hi, can you please walk me through the steps on how to build this?
i'm trying to use this without ROS.
do i put catkin_simple into linefit_ground_segmentation/linefit_ground_segmentation?
what do i do next?

@lorenwel
Copy link
Owner

Hi Jacob. You need to clone the catkin_simple package into your catkin workspace, then run catkin build linefit_ground_segmentation_ros.
If you're new to ROS and the catkin build system, please check out this introductory video https://youtu.be/0BxVPCInS3M?list=PLE-BQwvVGf8HOvwXPgtDfWoxd4Cc6ghiP&t=1398. It's timestamped on the intro to catkin but it's worth watching the entire thing, if you're new to ROS.

Once you're more familiar and you still cannot build the package due to an error in its code, please open another issue.

@jacobsayono
Copy link
Author

hi, thanks for your response. i am trying to do this without ROS. i assume that i will be using the folder linefit_ground_segmentation instead of linefit_ground_segmentation_ros. in that case, would i still need to use catkin_simple to build?

i am working on a research project, which does not involve ROS. i am merely trying to use a quick segmentation algorithm to separate the ground point clouds from all the others -- this is to develop a traversibility algorithm later on.

is this possible with just pure c++ and no ROS? thanks and i hope i can use this for my project so that i can cite the paper!

@lorenwel
Copy link
Owner

lorenwel commented Mar 6, 2023

At the moment, even without ROS, you will still need the catkin build system to build this package. But I wanted to remove the dependency on catkin_simple for a while now, maybe I'll take this as a push to finally do that. Then it should be possible to build the library with just regular CMake.

PS: Not my paper, so a prospective citation is not an incentive for me ;)

@jacobsayono
Copy link
Author

jacobsayono commented Mar 7, 2023

i see thank you for your help. i will definitely reference this repository to my work then!

i'm having troubles with catkin_simple because it's not quite documented and i am stuck with the entire build process for this repository.
would you be able to walk through the steps with me?

here's the workflow i did so far:

git clone https://github.com/lorenwel/linefit_ground_segmentation.git
cd linefit_ground_segmentation/linefit_ground_segmentation
cd src
git clone https://github.com/catkin/catkin_simple.git
cd ..
catkin build

side note: is it possible to build this src with my other main src files (including my .pcd data, etc.)?

i'm trying to test and compare the speeds first; i assume this segmentation algorithm is wayyy faster than:
#include <pcl/segmentation/progressive_morphological_filter.h>

@lorenwel
Copy link
Owner

lorenwel commented Mar 7, 2023

Hi, I removed catkin_simple in #49. Maybe that helps you.
I checked that it build like this

git clone https://github.com/lorenwel/linefit_ground_segmentation.git
cd linefit_ground_segmentation/linefit_ground_segmentation
mkdir build 
cd build
cmake .. 
make

I did not check if I can successfully build a pure CMake function against it, you will have to try yourself.

If you want to try building it with catkin please refer to the introduction video I linked in my first response. In that case you should also build linefit_ground_segmentation_ros. That will allow you to roslaunch linefit_ground_segmentation_ros test.launch, which will tell you the computation speed.

With the default settings it runs in 61.749ms for a 64 beam Velodyne on my i7-8700K

@jacobsayono
Copy link
Author

jacobsayono commented Mar 8, 2023

thank you so much for doing this!

update:

linefit_ground_segmentation successfully built, i get an execution file called liblinefit_ground_segmentation.so

i tired to run the exec file via:
./liblinefit_ground_segmentation.so but it returns segmentation fault (core dumped)

quick follow-up: i'm wondering how i can test a point-cloud input file? your ros version allows you to test a kitti.pyl file in /docs
but i'm not sure how i can test an input file with the pure c++ version

also, can it take in .pcd files by any chance? or only .pyl?
maybe there's a converter somewhere out there if not...

PS: okay, i will try to use ros1 noetic to launch this ros package in the future and let you know my progress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants