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

How to check cloud-point is organized or not? #1563

Closed
ranjitkathiriya opened this issue Dec 10, 2020 · 5 comments
Closed

How to check cloud-point is organized or not? #1563

ranjitkathiriya opened this issue Dec 10, 2020 · 5 comments
Labels

Comments

@ranjitkathiriya
Copy link

ranjitkathiriya commented Dec 10, 2020

  1. To tell the difference between organized and unorganized point clouds, you can check if the isdense boolean variable of the incoming point cloud coming from the camera is set to true or not. If it is true, then it is organized, Otherwise, it is not.
@ranjitkathiriya
Copy link
Author

and

  1. How to find which ROS topic from your camera is publishing organized or depth-registered pointcloud.

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Dec 10, 2020

Hi @ranjitkathiriya The link below describes that you should be able to know if a point cloud is unorganized or organized just from the type of roslaunch instruction that you are using (rs_camera for unorganized and rs_rgbd for organized).

#893

The link below states that when using rs_rgbd, the organized cloud is available from the depth_image_proc nodelet.

#851 (comment)

Information about depth_image_proc can be found here:

http://wiki.ros.org/depth_image_proc

In regard to rs_camera, the RealSense ROS wrapper documentation's section on launch parameters states that using the pointcloud filter will add a pointcloud topic /camera/depth/color/points

roslaunch realsense2_camera rs_camera.launch filters:=pointcloud

@ranjitkathiriya
Copy link
Author

Then why in is_dense: True for launching rs_camera.

roslaunch realsense2_camera rs_camera.launch filters:=pointcloud enable_infra:=true enable_accel:=true enable_gyro:=true enable_gyro:=true

Screenshot from 2020-12-10 10-24-27

rostopic echo /camera/depth/color/points # For checking cloudpoint details

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Dec 10, 2020

is_dense is set to true for Pointcloud2 if there are no invalid points, as described in the link below:

http://docs.ros.org/en/api/sensor_msgs/html/msg/PointCloud2.html

An unorganized cloud is dense, so is_dense = true because it has no invalid points. An organized cloud has invalid points and so is_dense = false.

The link below that discusses is_dense describes that in an organized cloud, invalid points are present because they are needed to fill up the point cloud for pixels that do not have a valid measurement.

https://answers.ros.org/question/234455/pointcloud2-and-pointfield/?answer=234472#post-id-234472

@ranjitkathiriya
Copy link
Author

Thanks for the link and explanation about is_dense and organized cloud. Your explanation was really helpful to me. Thanks

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

No branches or pull requests

2 participants