NVIDIA-ISAAC-ROS / isaac_ros_image_pipeline

NVIDIA-accelerated ROS2 packages for camera image processing.
https://developer.nvidia.com/isaac-ros-gems
Apache License 2.0
112 stars 19 forks source link

[IsaacR 2.0] sgm_disparity.cpp:86:3: error: ‘VPIStereoDisparityConfidenceType’ does not name a type #40

Closed sumedhreddy90 closed 8 months ago

sumedhreddy90 commented 8 months ago
admin@jon-jp511-isaac-ros:/workspaces/isaac_ros-dev$ colcon build --packages-select isaac_ros_image_pipeline isaac_ros_image_proc isaac_ros_stereo_image_proc  --allow-overriding isaac_ros_image_proc
Starting >>> isaac_ros_image_proc                                                                                                                                                                       [8Starting >>> isaac_ros_stereo_image_proc
Finished <<< isaac_ros_image_proc [8.73s]
[Processing: isaac_ros_stereo_image_proc]
[Processing: isaac_ros_stereo_image_proc]ereo_image_proc:build 71% - 1min 8.5s]
[Processing: isaac_ros_stereo_image_proc]
--- stderr: isaac_ros_stereo_image_proc
/workspaces/isaac_ros-dev/src/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/gxf/sgm_disparity/extensions/sgm/sgm_disparity.cpp:86:3: error: ‘VPIStereoDisparityConfidenceType’ does not name a type
   86 |   VPIStereoDisparityConfidenceType disparity_confidence_type;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/workspaces/isaac_ros-dev/src/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/gxf/sgm_disparity/extensions/sgm/sgm_disparity.cpp: In member function ‘virtual gxf_result_t nvidia::isaac::SGMDisparity::start()’:
/workspaces/isaac_ros-dev/src/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/gxf/sgm_disparity/extensions/sgm/sgm_disparity.cpp:183:35: error: ‘struct VPIStereoDisparityEstimatorParams’ has no member named ‘confidenceType’; did you mean ‘confidenceThreshold’?
  183 |   impl_->disparity_context_params.confidenceType = (confidence_type_ == 0) ?
      |                                   ^~~~~~~~~~~~~~
      |                                   confidenceThreshold
/workspaces/isaac_ros-dev/src/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/gxf/sgm_disparity/extensions/sgm/sgm_disparity.cpp:184:5: error: ‘VPI_STEREO_CONFIDENCE_ABSOLUTE’ was not declared in this scope
  184 |     VPI_STEREO_CONFIDENCE_ABSOLUTE : VPI_STEREO_CONFIDENCE_RELATIVE;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/workspaces/isaac_ros-dev/src/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/gxf/sgm_disparity/extensions/sgm/sgm_disparity.cpp:184:38: error: ‘VPI_STEREO_CONFIDENCE_RELATIVE’ was not declared in this scope
  184 |     VPI_STEREO_CONFIDENCE_ABSOLUTE : VPI_STEREO_CONFIDENCE_RELATIVE;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/workspaces/isaac_ros-dev/src/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/gxf/sgm_disparity/extensions/sgm/sgm_disparity.cpp:186:35: error: ‘struct VPIStereoDisparityEstimatorParams’ has no member named ‘numPasses’
  186 |   impl_->disparity_context_params.numPasses = num_passes_;
      |                                   ^~~~~~~~~
/workspaces/isaac_ros-dev/src/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/gxf/sgm_disparity/extensions/sgm/sgm_disparity.cpp:188:35: error: ‘struct VPIStereoDisparityEstimatorParams’ has no member named ‘p1’
  188 |   impl_->disparity_context_params.p1 = p1_;
      |                                   ^~
/workspaces/isaac_ros-dev/src/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/gxf/sgm_disparity/extensions/sgm/sgm_disparity.cpp:189:35: error: ‘struct VPIStereoDisparityEstimatorParams’ has no member named ‘p2’
  189 |   impl_->disparity_context_params.p2 = p2_;
      |                                   ^~
/workspaces/isaac_ros-dev/src/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/gxf/sgm_disparity/extensions/sgm/sgm_disparity.cpp:190:35: error: ‘struct VPIStereoDisparityEstimatorParams’ has no member named ‘p2Alpha’
  190 |   impl_->disparity_context_params.p2Alpha = p2_alpha_;
      |                                   ^~~~~~~
make[2]: *** [gxf/sgm_disparity/CMakeFiles/gxf_sgm.dir/build.make:118: gxf/sgm_disparity/CMakeFiles/gxf_sgm.dir/extensions/sgm/sgm_disparity.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:260: gxf/sgm_disparity/CMakeFiles/gxf_sgm.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:146: all] Error 2
---
Failed   <<< isaac_ros_stereo_image_proc [1min 54s, exited with code 2]
Summary: 1 package finished [2min 3s]
  1 package failed: isaac_ros_stereo_image_proc
  1 package had stderr output: isaac_ros_stereo_image_proc
  1 package not processed
hemalshahNV commented 8 months ago

Did you happen to refresh your Isaac ROS Dev container (git pull on isaac_ros_common and run run_dev.sh again)? The error looks like stale VPI which did not have the new threshold parameter for SGM.

sumedhreddy90 commented 8 months ago
admin@jon-jp511-isaac-ros:/workspaces/isaac_ros-dev/src$ cd isaac_ros_common/
admin@jon-jp511-isaac-ros:/workspaces/isaac_ros-dev/src/isaac_ros_common$ ls
docker                         isaac_ros_bi3d_interfaces  isaac_ros_nitros_bridge_interfaces  isaac_ros_pointcloud_interfaces   isaac_ros_test  README.md
isaac_ros_apriltag_interfaces  isaac_ros_common           isaac_ros_nova_interfaces           isaac_ros_tensor_list_interfaces  LICENSE         scripts
admin@jon-jp511-isaac-ros:/workspaces/isaac_ros-dev/src/isaac_ros_common$ git status
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean
admin@jon-jp511-isaac-ros:/workspaces/isaac_ros-dev/src/isaac_ros_common$ git log
commit 6d3c5c00e0e2b3fc1d75eb4286848d23b05d6dca (HEAD -> main, tag: v2.0.0, origin/main, origin/HEAD)
Merge: 94dfe8d 307f7e5
Author: Jaiveer Singh <[84546269+jaiveersinghNV@users.noreply.github.com](mailto:84546269+jaiveersinghNV@users.noreply.github.com)>
Date:   Wed Oct 18 20:00:13 2023 -0700
    Merge pull request #97 from NVIDIA-ISAAC-ROS/release-2.0.0
    Isaac ROS 2.0.0
commit 307f7e55aac273dd5df281202622e7d8df125e48
Author: Hemal Shah <[hemals@nvidia.com](mailto:hemals@nvidia.com)>
Date:   Thu Oct 19 02:19:07 2023 +0000
    Isaac ROS 2.0.0

@hemalshahNV yes! isaac_ros_common is on latest pull and container is built with latest isaac_ros_common

vladmosoiu98 commented 8 months ago

I have the same compilation issue after upgrading to IsaacROS 2.0. Did you find any solution to fix it?

Maybe it's worth to mention that I am building the docker image from scratch through run_dev.sh using the latest version of isaac_ros_common, instead of using the Dockerfile.aarch64.ros2_humble precompiled image. Also, I am using Jetpack 5.1.1

jaiveersinghNV commented 8 months ago

@vladmosoiu98 , the Isaac ROS 2.0 release requires VPI 2.3, which was only made available in JetPack 5.1.2. Could you please upgrade JetPack to the latest version and try again?

@sumedhreddy90 , based on the hostname of your device, it looks like your Jetson might also be running on JetPack 5.1.1. If that's an accurate assessment, then upgrading to the latest version of JetPack may fix your issue as well.

sumedhreddy90 commented 8 months ago

@jaiveersinghNV Yes! updating JetPack to 5.1.2 worked.