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

ROS2 port #17

Open
jonbinney opened this issue Oct 11, 2018 · 22 comments
Open

ROS2 port #17

jonbinney opened this issue Oct 11, 2018 · 22 comments

Comments

@jonbinney
Copy link
Contributor

Creating this issue as a placeholder for discussions about design decisions when porting to ROS2

@vandanamandlik
Copy link

Hi,
I couldn't find point_cloud_conversion.h file in ROS2 sensor_msgs package.
Does anyone know any alternative for this file ?

@jonbinney
Copy link
Contributor Author

Not sure - if you haven't already, I'd suggest adding an issue on the ROS2 sensor_msgs package, since that is where it would go.

@vandanamandlik
Copy link

Hi,
In current laser assembler package there is support for both PointCloud and PointCloud2. So Should I keep it as it is or remove PointCloud support ?

@jonbinney
Copy link
Contributor Author

It would be good to keep support for both. It looks like ROS2 still has a PointCloud message: https://github.com/ros2/common_interfaces/tree/master/sensor_msgs/msg

The PointCloud message is simpler to use for people who aren't using PCL, since the PointCloud2 is a big binary blob that you have to manually parse.

@vandanamandlik
Copy link

As laser assembler package is dependent on filters package, We are also working on filters porting.
So should we create separate discourse thread for filters or comment under laser assembler thread itself ?

@jonbinney
Copy link
Contributor Author

That should be a separate thread - filters is used in lots of places other than laser_assembler.

@vandanamandlik
Copy link

Created separate thread for filters package here https://discourse.ros.org/t/filters-porting-to-ros2/7091

@tonaaskarwur
Copy link

Is there any current updates about the ROS2 version of this pkg?

@jonbinney
Copy link
Contributor Author

This fell off of my radar. I'll take a look later this week.

@Marina-Banov
Copy link

Any updates for ROS2?

@lukechencqu
Copy link

Currently, only laser_geometry has ros2 version, but when will this laser_assembler will be available for ROS2?

@jonbinney
Copy link
Contributor Author

Sorry I haven't had time to work on a ROS2 port. If anyone else wants to tackle it, I'm happy to review a PR.

@JSOV2001
Copy link

Hi,

I'm using ROS2 Humble for a project. I've been trying to use ros2 branch but It's no working. Can someone help me, please?

This is the error:

CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell

CMake that the project does not need compatibility with older versions.

CMake Error at CMakeLists.txt:11 (find_package):

By not providing "Findcatkin.cmake" in CMAKE_MODULE_PATH this project has

asked CMake to find a package configuration file provided by "catkin", but

CMake did not find one.

Could not find a package configuration file provided by "catkin" with any
of the following names:

catkinConfig.cmake

catkin-config.cmake

Add the installation prefix of "catkin" to CMAKE_PREFIX_PATH or set
"catkin_DIR" to a directory containing one of the above files. If "catkin"
provides a separate development package or SDK, be sure it has been
installed.


Failed <<< laser_assembler [0.74s, exited with code 1]

Summary: 0 packages finished [1.04s]

1 package failed: laser_assembler

1 package had stderr output: laser_assembler

1 package not processed

@aarjan222
Copy link

hello @JSOV2001 was this problem of yours solved or not because I also needed this package for my project and when I was building with colcon. It failed saying same error as of yours. It might be because the package is instead searching for catkin to build the package.

Had you solved this problem at that time? If you found a solution back then, could you please provide some hints or assistance?

I would be very grateful for your help.
Thank you!

@jonbinney
Copy link
Contributor Author

Yeah, this still isn't ported to ROS2. Could you each explain your use case so I have a sense for what functionality is most critical, and what might already be covered by other packages?

@JSOV2001
Copy link

JSOV2001 commented Feb 25, 2024

hello @JSOV2001 was this problem of yours solved or not because I also needed this package for my project and when I was building with colcon. It failed saying same error as of yours. It might be because the package is instead searching for catkin to build the package.

Had you solved this problem at that time? If you found a solution back then, could you please provide some hints or assistance?

I would be very grateful for your help. Thank you!

Hi, @aarjan222

First, I'll make clarification: I had to convert my LaserScan message to PointCloud2 message beforehand. Also, in my case, I used the library PCL to do the PointCloud2 processing. Please, remember that PCL is written in C++ code.

So:

  • I took the ROS' PointCloud2 message.
  • Then, converted into a PCL's PointCloud2 data.
  • Finally I processed the data in the way my application needed.

In my case, I concatenated every current PointCloud2 into a empty PointCloud2, and then, I got the final result.

Link por PCL: https://pointclouds.org/

@jonbinney
Copy link
Contributor Author

I see - that makes sense. There's some overlap between a few different packages:

  • commoon_interfaces/sensor_msgs : has an iterator for simple access and modification of sensor_msgs without needing a PCL dependency
  • perception_pcl/pcl_conversions: contains methods for converting between sensor_msgs/Pointcloud2 message and pcl Pointcloud type

@JSOV2001 Is i it specifically the sensor_msgs/Laserscan to pcl Pointcloud conversion method that you're missing?

@JSOV2001
Copy link

JSOV2001 commented Feb 29, 2024

I see - that makes sense. There's some overlap between a few different packages:

  • commoon_interfaces/sensor_msgs : has an iterator for simple access and modification of sensor_msgs without needing a PCL dependency
  • perception_pcl/pcl_conversions: contains methods for converting between sensor_msgs/Pointcloud2 message and pcl Pointcloud type

@JSOV2001 Is i it specifically the sensor_msgs/Laserscan to pcl Pointcloud conversion method that you're missing?

Hi, Jon

In my case, I transformed the ROS' LaserScan into ROS' PointCloud2 with a function of my own

I base my idea from one of the laser_assembler's package, especifically ConvertToCloud

@jonbinney
Copy link
Contributor Author

@JSOV2001 your use case does seem to be missing from the packages I mentioned, and it is an important use case. We could add the LaserScan->Pointcloud2 functionality to another package:

  • adding it to pcl_conversions would require users to pull in PCL as a dependency, which it sounds like you do anyway, but others might not.
  • adding it to sensor_msgs would require that package to depend on laser_geometry, as well as filters if we include the filter plugin aspect
  • adding it to laser_filters could work..... it wouldn't add many new dependencies.

Thoughts?

@jonbinney
Copy link
Contributor Author

(i'm trying to avoid adding an extra package in ROS2 unless it really is necessary)

@ucesiox
Copy link

ucesiox commented Mar 8, 2024

Hi there,

I'm just looking for a way to ring buffer point cloud messages of a single livox mid360 so I can get aggregated point clouds over the last n seconds output onto another topic. Don't need any filtering transforming or anything else.

This repo looked like it would have done the job at some point, but wondering what the current state is! Or whether you know of any other packages which might do the job! Or whether I should just do it myself :P

Thanks!

@jonbinney
Copy link
Contributor Author

@ucesiox i think for now you're best off implementing it yourself, sorry!

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

8 participants