-
Notifications
You must be signed in to change notification settings - Fork 105
Open
Description
I’m using NVblox in ROS Humble for robot navigation. When setting it to dynamic mode, there are several issues with saving and loading the map:
- Mesh and freespace voxel layers are not serialized and saved by the
save_map
service. Calling the service produces the errors listed below (in addition to the normal output):
[nvblox_node-1] E0901 12:54:48.250876 550 serializer.cpp:126] Unrecognized layer type, can’t serialize: N6nvblox10BlockLayerINS_9MeshBlockEEE
[nvblox_node-1] E0901 12:54:48.314859 550 serializer.cpp:126] Unrecognized layer type, can’t serialize: N6nvblox15VoxelBlockLayerINS_14FreespaceVoxelEEE
- When trying to load the map (using the
load_map
service), it tries to find the freespace voxel layer, which was not saved (as mentioned above), and fails, killing the NVblox node. Here is the load_map output:
[nvblox_node-1] W0908 16:19:58.914960 552 layer_cake_impl.h:86] Request for a LayerType: N6nvblox15VoxelBlockLayerINS_14FreespaceVoxelEEE which is not in the cake.
[nvblox_node-1] F0908 16:19:58.916170 552 layer_cake_impl.h:110] Check failed: ‘ptr’ Must be non NULL
[nvblox_node-1] *** Check failure stack trace: ***
[nvblox_node-1] @ 0x7ed0b516cb03 google::LogMessage::Fail()
[nvblox_node-1] @ 0x7ed0b51749d1 google::LogMessage::SendToLog()
[nvblox_node-1] @ 0x7ed0b516c7c2 google::LogMessage::Flush()
[nvblox_node-1] @ 0x7ed0b516e78f google::LogMessageFatal::~LogMessageFatal()
[nvblox_node-1] @ 0x7ed09f7324b6 nvblox::LayerCake::get<>()
[nvblox_node-1] @ 0x7ed09f722322 nvblox::Mapper::updateEsdfSlice()
[nvblox_node-1] @ 0x7ed09f74b3eb nvblox::MultiMapper::updateEsdfOfMapper()
[nvblox_node-1] @ 0x7ed09f74b970 nvblox::MultiMapper::updateEsdf()
[nvblox_node-1] @ 0x7ed0b2cbc3c4 nvblox::NvbloxNode::processEsdf()
[nvblox_node-1] @ 0x7ed0b2cafa47 nvblox::NvbloxNode::tick()
[nvblox_node-1] @ 0x7ed0b2cc1176 rclcpp::GenericTimer<>::execute_callback()
[nvblox_node-1] @ 0x7ed09f4f0301 rclcpp::Executor::execute_any_executable()
[nvblox_node-1] @ 0x7ed09f4f76ea rclcpp::executors::MultiThreadedExecutor::run()
[nvblox_node-1] @ 0x7ed09eeb0253 (unknown)
[nvblox_node-1] @ 0x7ed09ec3fac3 (unknown)
[nvblox_node-1] @ 0x7ed09ecd1850 (unknown)
dev@STAS-NOTEBOOK:/workspace$ [ERROR] [nvblox_node-1]: process has died [pid 65, exit code -6, cmd ‘/workspace/install/nvblox_ros/lib/nvblox_ros/nvblox_node --ros-args -r __node:=nvblox_node -r __ns:=/spectra --params-file /workspace/install/aivot_robot_spectra/share/aivot_robot_spectra/config/nvblox_base.yaml --params-file /tmp/launch_params_qjtd3s4c --params-file /tmp/launch_params_erep3gss --params-file /tmp/launch_params_efwcxr8c -r /tf:=tf -r /tf_static:=tf_static -r camera_0/depth/image:=camnav/depth/depth_registered -r camera_0/depth/camera_info:=camnav/zed/depth/camera_info -r camera_0/color/image:=camnav/left/image_rect_color -r camera_0/color/camera_info:=camnav/left/camera_info -r /tf:=tf -r /tf_static:=tf_static’].
How can I fix this?
Metadata
Metadata
Assignees
Labels
No labels