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

zed camera+nvblox won't work on Jetson Orin #28

Closed
AndreV84 opened this issue Aug 16, 2022 · 12 comments
Closed

zed camera+nvblox won't work on Jetson Orin #28

AndreV84 opened this issue Aug 16, 2022 · 12 comments
Assignees
Labels
verify to close Waiting on confirm issue is resolved

Comments

@AndreV84
Copy link

AndreV84 commented Aug 16, 2022

Hi
Have anyone had success running the nvblox with zed on Jetson orin?
which topics from zed need to be subscribed to? what exactly are the color topics?
Thanks
AV

@AndreV84 AndreV84 changed the title zed camera won't work on Jetson zed camera+nvblox won't work on Jetson Orin Aug 16, 2022
@swapnesh-wani-nvidia
Copy link

You can match Zed topics to the topic description listed here.

@swapnesh-wani-nvidia swapnesh-wani-nvidia self-assigned this Aug 22, 2022
@swapnesh-wani-nvidia swapnesh-wani-nvidia added the verify to close Waiting on confirm issue is resolved label Aug 22, 2022
@AndreV84
Copy link
Author

@swapnesh-wani-nvidia
did you test it?
Stereolabs doesn't plan Humble support until 2023, as it seems
Foxy topics do not match Humble nvblox deployment
Foxy deployment neither works on orin, but works on AGX

@AndreV84
Copy link
Author

on orin it was not possible to visualize on foxy nvblox node from foxy zed topics at all,
neither on nvblox humble from zed foxy topics
but it was possible to visualize on on Jetson AGX[not orin], but without color[ just grey] also with some corruption as it seems

@nakai-omer
Copy link

@AndreV84 We were having the same issue for integrating with a ZED mini camera. The main issue was that this lib doesn't support the Zed's BGRA8 image encoding, only RGB8. We have create a PR to overcome this issue: #32.
This is how our topic mapping are:

   remappings=[('depth/image', '/zedm/zed_node/depth/depth_registered'),
                        ('depth/camera_info', '/zedm/zed_node/depth/camera_info'),
                        ('color/image', '/zedm/zed_node/rgb/image_rect_color'),
                        ('color/camera_info', '/zedm/zed_node/rgb/camera_info'), ]),

The mesh in RVIZ doesn't look good yet, we are still investigating to why. If you get a chance to check it out, please let us know your results.

@AndreV84
Copy link
Author

@hemalshahNV
Has the issue been closed as resolved or as insoluble?

@podomong
Copy link

podomong commented Oct 12, 2022

Because zed_wrapper publishes color images encoded in BGRA8, nvblox cannot consume them. So you need to encode the color image to RGB8. The zed-ros2-examples repository contains the zed_rgb_convert package. This package converts images encoded in BGRA8 to BGR8. Change BGR8 to RGB8 and then build the package.

And depth images published by zed may have black pixels to distinguish boudaries from overlapping objects. Note depth settings document. I think that nvblox tend to be difficult for localizing voxels when it use black pixels from depth image.

vslam-nvblox-default

If you set the depth option following bellow in common.yaml of the zed sdk, it can naturally fill in those black pixels.

option 1. ------------------------------------

depth:
quality: 1 #PERFORMANCE
sensing_mode: 1 #FILL
depth_confidence: 100

vslam-nvblox-performance-01

option 2. ------------------------------------

depth:
quality: 4 #NEURAL
sensing_mode: 0 #STANDARD
depth_confidence: 100

vslam-nvblox-neural

I've tested these settings on Xavier NX, Jetpack 4.6.2 and ZED2.

@nakai-omer
Copy link

@podomong I have created a PR that adds support for all main color encoding inside this package: #32.

@AndreV84
Copy link
Author

@podomong so the nvblox is intact in your design, in order to get zed working with nvbolx on Jetson - I just clone the https://github.com/stereolabs/zed-ros2-examples/ repository, then change " BGR8 to RGB8 ", then build the package? right? how do I have to run the example build? concurrently with nvblox? OR you suggest to edit the BGR8 to RGB8 in nvblox code?

@nakai-omer could you extend how to use your suggested submodule to verity on Jetson with zed camera, please? soes it have to be running concurrently with nvblox in order to do conversion?

@AndreV84
Copy link
Author

if to run the convert like that it will simply crash not starting the node at all

ros2 run zed_rgb_convert zed_rgb_convert

@nakai-omer
Copy link

@AndreV84 It is this repo, just with an added library, you will need to checkout the PR, and build it from source (notice there is a submodule so you will need to run git submodule update --init --recursive

@AndreV84
Copy link
Author

@nakai-omer thank you for your reply
Could you extend what you mean by PR, please?

@gulerburak
Copy link

Has anyone managed to get this working?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
verify to close Waiting on confirm issue is resolved
Projects
None yet
Development

No branches or pull requests

6 participants