Dear Isaac ROS devs,
Always mighty thanks for continued development and support of Isaac ROS.
I see that Isaac ROS 3.2 has been released, however I wish to stick to 3.1 for a while for various reasons. While I am building isaac_ros_visual_slam
from source after installing dependencies using rosdep install
, I encounter several build errors as below:
/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/src/visual_slam_node.cpp: In lambda function:
/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/src/visual_slam_node.cpp:109:40: error: āNitrosStatisticsConfigā is not a member of ānvidia::isaac_ros::nitrosā; did you mean āNitrosDiagnosticsConfigā?
109 | nvidia::isaac_ros::nitros::NitrosStatisticsConfig(), image_qos_));
| ^~~~~~~~~~~~~~~~~~~~~~
| NitrosDiagnosticsConfig
/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/src/visual_slam_node.cpp: In member function āvoid nvidia::isaac_ros::visual_slam::VisualSlamNode::CallbackGetAllPoses(std::shared_ptr<isaac_ros_visual_slam_interfaces::srv::GetAllPoses_Request_<std::allocator<void> > >, std::shared_ptr<isaac_ros_visual_slam_interfaces::srv::GetAllPoses_Response_<std::allocator<void> > >)ā:
/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/src/visual_slam_node.cpp:299:26: error: āCUVSLAM_GetAllSLAMPosesā was not declared in this scope; did you mean āCUVSLAM_GetAllSlamPosesā?
299 | const uint32_t count = CUVSLAM_GetAllSLAMPoses(
| ^~~~~~~~~~~~~~~~~~~~~~~
| CUVSLAM_GetAllSlamPoses
/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/src/visual_slam_node.cpp: In member function āvoid nvidia::isaac_ros::visual_slam::VisualSlamNode::CallbackLoadMapAndLocalizeAccepted(std::shared_ptr<rclcpp_action::ServerGoalHandle<isaac_ros_visual_slam_interfaces::action::LoadMapAndLocalize> >)ā:
/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/src/visual_slam_node.cpp:457:17: error: cannot convert ādoubleā to āconst CUVSLAM_Image*ā
457 | /*radius=*/ 0.0, // reserved for future implementation
| ^~~
| |
| double
I believe this is due to API-breaking changes at NITROS and CUVSLAM for Isaac ROS 3.2.
What would be the best way to manage dependencies for non-latest versions of Isaac ROS such as 3.1? rosdep install
seems to install the latest available dependencies from NVIDIA apt repos. Any help to resolve this situation will be appreciated.
Thanks in advance!