NVIDIA-ISAAC-ROS / isaac_ros_visual_slam

Visual SLAM/odometry package based on NVIDIA-accelerated cuVSLAM
https://developer.nvidia.com/isaac-ros-gems
Apache License 2.0
862 stars 139 forks source link

LoadMapAdnLocalize crashes #155

Open sandeepdutta opened 6 months ago

sandeepdutta commented 6 months ago

Hello,

The service call to LoadMapAndLocalize sometimes crashes. Below is the error messages we get , restarting and reissuing the service call will work. Doing a quick google search, it looks like it could be caused by a "race" condition.

Please let me know if we can provide any more information Best Regards Sandeep

[component_container_mt-2] [INFO] [1711573751.678336682] [visual_slam_node]: cuvslam: LoadMapAndLocalize /workspaces/isaac_ros-dev/src/jeeves_navigation/maps/visual_map [0.000000, 0.000000, 0.000000] [component_container_mt-2] terminate called after throwing an instance of 'std::runtime_error' [component_container_mt-2] what(): Taking data from action server but nothing is ready [ERROR] [component_container_mt-2]: process has died [pid 92842, exit code -6, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_mt --ros-args -r __node:=vslam_container'].

Command used to load map: ros2 action send_goal /visual_slam/load_map_and_localize isaac_ros_visual_slam_interfaces/action/LoadMapAndLocalize "{map_url: /workspaces/isaac_ros-dev/src/jeeves_navigation/maps/visual_map, localize_near_point: { x: 0, y: 0,z: 0}}"

harborhoffer commented 5 months ago

Also periodically getting the same error when loading a map

[component_container_mt-1] [WARN] [1712759840.096308135] [visual_slam_node]: CallbackLoadMapAndLocalizeAccepted()
[component_container_mt-1] [INFO] [1712759840.096384712] [visual_slam_node]: cuvslam: LoadMapAndLocalize /workspaces/isaac_ros-dev/vslam-maps/office-4-9 [0.000000, 0.000000, 0.000000]
[component_container_mt-1] terminate called after throwing an instance of 'std::runtime_error'
[component_container_mt-1]   what():  Taking data from action server but nothing is ready
[ERROR] [component_container_mt-1]: process has died [pid 14815, exit code -6, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_mt --ros-args -r __node:=shared_nvblox_container'].
sandeepdutta commented 5 months ago

Seems to happen with high system load. I have nav2, nvblox , vslam & controller software running on an ORIN Agx (32GB) and it happens very frequently. Any workaround suggestion will be greatly appreciated. Sandeep

JCastel358 commented 4 months ago

Hello, Im having same issue that it crashes but different error:

between current and previous frame [22.254848] is above threshold [20.000000]
[component_container-1] [WARN] [1715217219.969362526] [visual_slam_node]: CallbackLoadMapAndLocalizeAccepted()
[component_container-1] [INFO] [1715217219.969472736] [visual_slam_node]: cuvslam: LoadMapAndLocalize /workspaces/isaac_ros-dev/maps/lab_map_vslam/data.mbd [0.000000, 0.000000, 0.000000]
[component_container-1] [WARN] [1715217219.975820676] [visual_slam_node]: Localization failed. Status=4
[component_container-1] [WARN] [1715217219.977607977] [visual_slam_node]: CUVSLAM_LocalizeInExistDb Error 4
[component_container-1] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[component_container-1]   what():  goal_handle attempted invalid transition from state ABORTED with event ABORT, at /tmp/binarydeb/ros-humble-rcl-action-5.3.6/src/rcl_action/goal_handle.c:95
[ERROR] [component_container-1]: process has died [pid 24714, exit code -6, cmd '/opt/ros/humble/lib/rclcpp_components/component_container --ros-args -r __node:=visual_slam_launch_container -r __ns:=/'].
retazo0018 commented 1 month ago

Hi @JCastel358 ,

Did you check if the path specified in the "map_url" parameter exists?

Best,

hemalshahNV commented 1 month ago

We're taking a look to see if we can reproduce this. We may have to find it via code inspection if it is a subtle race condition. Thanks for reporting this issue!

ahmadalahmar commented 2 weeks ago

Hi @hemalshahNV Any updates about this bug? I am currently working on jetson Orin nano with D435i camera and I am having the same issue with LoadMapAndLocalize. the following error is the same as @JCastel358 :

[component_container-1] [INFO] [1726395004.148065254] [visual_slam_node]: cuvslam: LoadMapAndLocalize /home/invdro/maps/data.mbd [0.000000, 0.000000, 0.000000] [component_container-1] [WARN] [1726395004.148366157] [visual_slam_node]: Localization failed. Status=6 [component_container-1] [WARN] [1726395004.148400333] [visual_slam_node]: CUVSLAM_LocalizeInExistDb Error 6 [component_container-1] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError' [component_container-1] what(): goal_handle attempted invalid transition from state ABORTED with event ABORT, at ./src/rcl_action/goal_handle.c:95 [ERROR] [component_container-1]: process has died [pid 50396, exit code -6, cmd '/opt/ros/humble/lib/rclcpp_components/component_container --ros-args -r __node:=visual_slam_launch_container -r __ns:=/'].