-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
setting align_depth causes misaligned coloured point cloud #2595
Comments
Hi @christian-rauch If the pointcloud filter is enabled then alignment should automatically be used without having to set align_depth to true. |
I am sure that in the default configuration, the node will align depth and colour. If I don't use @MartyG-RealSense In summary: I want to subscribe to the registered depth images on |
What happens if you set align_depth to true and change the pointcloud texture configuration by setting pointcloud.stream_filter to 0 |
Then I won't get colour. With ros2 topic echo /depth/color/points --field fields gives
|
I have highlighted this issue to my Intel RealSense colleagues on the ROS team. Thanks very much for your patience. |
+1. Encountered the same issue of misaligned colored pointcloud after setting See below for the full report. Environment 🌲
Steps To Reproduce 📖
cd $HOME
mkdir -p official_realsense_ws/src
cd ~/official_realsense_ws/src
# Download the realsense_ros repository - branch ros2_development
git clone https://github.com/IntelRealSense/realsense-ros.git -b ros2-development
cd ~/official_realsense_ws/
source /opt/ros/humble/setup.bash
colcon build
cd ~/official_realsense_ws
source /opt/ros/humble/setup.bash
source install/setup.bash
ros2 launch realsense2_camera rs_launch.py depth_module.profile:=1280x720x30 pointcloud.enable:=true \
align_depth.enable:=true
cd ~/official_realsense_ws
mkdir rviz2
touch debug.rviz
nano debug.rviz
# Copy and paste the content below into `debug.rviz` Click here for debug.rviz file content.```txt Panels: - Class: rviz_common/Displays Help Height: 78 Name: Displays Property Tree Widget: Expanded: - /Global Options1 - /Status1 - /Image1 - /PointCloud21 Splitter Ratio: 0.5 Tree Height: 578 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties Expanded: - /2D Goal Pose1 - /Publish Point1 Name: Tool Properties Splitter Ratio: 0.5886790156364441 - Class: rviz_common/Views Expanded: - /Current View1 Name: Views Splitter Ratio: 0.5 Visualization Manager: Class: "" Displays: - Alpha: 0.5 Cell Size: 1 Class: rviz_default_plugins/Grid Color: 160; 160; 164 Enabled: true Line Style: Line Width: 0.029999999329447746 Value: Lines Name: Grid Normal Cell Count: 0 Offset: X: 0 Y: 0 Z: 0 Plane: XY Plane Cell Count: 10 Reference Frame: Value: true - Class: rviz_default_plugins/Image Enabled: true Max Value: 1 Median window: 5 Min Value: 0 Name: Image Normalize Range: true Topic: Depth: 5 Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable Value: /camera/color/image_raw Value: true - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: Max Value: 10 Min Value: -10 Value: true Axis: Z Channel Name: intensity Class: rviz_default_plugins/PointCloud2 Color: 255; 255; 255 Color Transformer: RGB8 Decay Time: 0 Enabled: true Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 Min Color: 0; 0; 0 Min Intensity: 0 Name: PointCloud2 Position Transformer: XYZ Selectable: true Size (Pixels): 2 Size (m): 0.009999999776482582 Style: Points Topic: Depth: 5 Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable Value: /camera/depth/color/points Use Fixed Frame: true Use rainbow: true Value: true Enabled: true Global Options: Background Color: 48; 48; 48 Fixed Frame: camera_color_optical_frame Frame Rate: 30 Name: root Tools: - Class: rviz_default_plugins/Interact Hide Inactive Objects: true - Class: rviz_default_plugins/MoveCamera - Class: rviz_default_plugins/Select - Class: rviz_default_plugins/FocusCamera - Class: rviz_default_plugins/Measure Line color: 128; 128; 0 - Class: rviz_default_plugins/SetInitialPose Topic: Depth: 5 Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable Value: /initialpose - Class: rviz_default_plugins/SetGoal Topic: Depth: 5 Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable Value: /goal_pose - Class: rviz_default_plugins/PublishPoint Single click: true Topic: Depth: 5 Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable Value: /clicked_point Transformation: Current: Class: rviz_default_plugins/TF Value: true Views: Current: Class: rviz_default_plugins/Orbit Distance: 1.0558407306671143 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: X: 0.005386230535805225 Y: 0.02611066773533821 Z: 0.5844396352767944 Focal Shape Fixed Size: true Focal Shape Size: 0.05000000074505806 Invert Z Axis: true Name: Current View Near Clip Distance: 0.009999999776482582 Pitch: 1.1253976821899414 Target Frame: Value: Orbit (rviz) Yaw: 3.883587121963501 Saved: ~ Window Geometry: Displays: collapsed: false Height: 1016 Hide Left Dock: false Hide Right Dock: false Image: collapsed: false QMainWindow State: 000000ff00000000fd0000000400000000000001560000039efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000002cd000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d0061006700650100000310000000cb0000002800ffffff000000010000010f0000039efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000039e000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000004c70000039e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Tool Properties: collapsed: false Views: collapsed: false Width: 1848 X: 72 Y: 27 ```
cd ~/official_realsense_ws
source /opt/ros/humble/setup.bash
rviz2 -d rviz2/debug.rviz The VerifyActual Behaviour ❌You should see the following result after executing Step 6: The above pointcloud is deduced to be misaligned when comparing it to the Expected Behaviour. Expected Behaviour ✔️To obtain the expected behaviour, please run realsense_ros without cd ~/official_realsense_ws
source /opt/ros/humble/setup.bash
source install/setup.bash
ros2 launch realsense2_camera rs_launch.py depth_module.profile:=1280x720x30 pointcloud.enable:=true You should see the following result: Both Actual Behaviour and Expected Behaviour are done with the following controlled Setup and Object: SetupObjectThe object in question is a water bottle with a yellow lid. Conclusion 🔍By comparing the difference in results between Actual Behaviour and Expected Behaviour, it would seem that running without Setting |
Thanks very much @cardboardcode for your report. |
@MartyG-RealSense |
After discussion between my Intel RealSense colleagues, an official internal report has been created about this issue so that it can be investigated further by the RealSense ROS development team at a future date. If other RealSense ROS users experience this issue then they are encouraged to report it on this discussion. This issue should be kept open whilst the internal report is active. |
Hi @christian-rauch, Can you please tell me which camera model are you using ? is it D455 as @cardboardcode reported above ? Also I see that #2585 is related to this issue, specially at this comment: #2585 (comment) Thanks, |
Yes, it is the D455. |
Hi @SamerKhshiboun Do you have an update about this case that you can provide, please? Thanks! |
Hi @MartyG-RealSense , I started to look on this, and managed to reproduce this. |
Thanks very much @SamerKhshiboun for the update! |
Hi @christian-rauch & @cardboardcode, Thanks. |
Will update here once I have done so. Thanks @Arun-Prasad-V 😄 👍 |
When I set the parameter
align_depth.enable
toTrue
, the coloured point cloud will have misaligned colour, i.e. the colour will not be correctly registered to the points.Consider the following ROS2 launch file:
The launch file will start the node, set VGA resolution @ 30 fps (
rgb_camera.profile
), align the colour with the depth (align_depth.enable
) and publish a coloured point cloud (pointcloud
).With
the point cloud is shown in RViz2 with misaligned colour: rs_not_aligned.zip. The image shows the point cloud of a RealSense box. It is clearly visible that the white background is registered to the majority of the box points in the foreground.
When set to
False
or removed, the colour is correctly aligned with the points: rs_aligned.zipIt looks like the colour is registered twice before it is assigned to the points.
The text was updated successfully, but these errors were encountered: