ros-navigation / navigation2

ROS 2 Navigation Framework and System
https://nav2.org/
Other
2.46k stars 1.24k forks source link

Planner and Controller server die with message - [PARTICIPANT Error] Type : sensor_msgs::msg::dds_::PointCloud2_ Not Registered #1363

Closed crdelsey closed 4 years ago

crdelsey commented 4 years ago

Bug report

Required Info:

Steps to reproduce issue

Run the nav stack interactively or through the system tests. Cause "Clear Costmap" recoveries to happen

Expected behavior

Costmap gets cleared.

Actual behavior

Within about 5 minutes of testing, I get an error like below. I've seen this come from both the "controller server" and the "planner server"

13: [controller_server-7] [INFO] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
13: [controller_server-7] 2019-11-15 14:12:30.357 [PARTICIPANT Error] Type : sensor_msgs::msg::dds_::PointCloud2_ Not Registered -> Function createSubscriber
13: [ERROR] [controller_server-7]: process has died [pid 17331, exit code -11, cmd '/home/crdelsey/src/ros_dev_workspace/navigation2_ws/install/lib/nav2_controller/controller_server --ros-args --params-file /tmp/tmpby1s9gda        '].

Additional information

yathartha3 commented 4 years ago

This might be related to the voxel layer PR since we start using point cloud from that point on.

crdelsey commented 4 years ago

You are correct. If I disable the voxel layer, this seems to go away.

SteveMacenski commented 4 years ago

Does this appear outside of fastRTPS? I suspect this is a RMW layer bug since this is happening on a costmap layer reset which is unsubscribing and resubscribing to a topic quickly, clearly the message did at one point exist.

@JaimeMartin does this look like something lower in the stack?

yathartha3 commented 4 years ago
``` [controller_server-8] [INFO] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap [controller_server-8] [INFO] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap [planner_server-9] [INFO] [global_costmap.global_costmap]: Received request to clear entirely the global_costmap [planner_server-9] [INFO] [global_costmap.global_costmap]: Subscribing to the map topic (/map) with transient local durability [recoveries_server-10] [INFO] [recoveries_server]: Attempting Spin [recoveries_server-10] [INFO] [recoveries_server]: Turning -1.57 for spin recovery. [recoveries_server-10] [ERROR] [recoveries_server]: Footprint Hits Obstacle. [recoveries_server-10] [WARN] [recoveries_server]: Collision Ahead - Exiting Spin [recoveries_server-10] [INFO] [recoveries_server]: Spin completed successfully [recoveries_server-10] [INFO] [recoveries_server]: Attempting Wait [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [recoveries_server-10] [INFO] [recoveries_server]: Wait completed successfully [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [controller_server-8] [INFO] [controller_server]: Received a goal, begin computing control effort. [controller_server-8] [INFO] [controller_server]: Preempting the goal. Passing the new path to the planner. [controller_server-8] [ERROR] [controller_server]: Failed to make progress [controller_server-8] [INFO] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap [controller_server-8] [INFO] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap [planner_server-9] [INFO] [global_costmap.global_costmap]: Received request to clear entirely the global_costmap [planner_server-9] [INFO] [global_costmap.global_costmap]: Subscribing to the map topic (/map) with transient local durability [recoveries_server-10] [INFO] [recoveries_server]: Attempting Spin [recoveries_server-10] [INFO] [recoveries_server]: Turning -1.57 for spin recovery. [recoveries_server-10] [INFO] [recoveries_server]: Spin running... [recoveries_server-10] [INFO] [recoveries_server]: Spin completed successfully [recoveries_server-10] [INFO] [recoveries_server]: Attempting Wait [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [recoveries_server-10] [INFO] [recoveries_server]: Wait completed successfully [recoveries_server-10] [INFO] [recoveries_server]: Wait running... [controller_server-8] [INFO] [controller_server]: Received a goal, begin computing control effort. [controller_server-8] [INFO] [controller_server]: Preempting the goal. Passing the new path to the planner. [gzclient-2] Node::Advertise(): Error advertising a topic. Did you forget to start the discovery service? [controller_server-8] [ERROR] [controller_server]: Failed to make progress [controller_server-8] [INFO] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap [controller_server-8] [INFO] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap [bt_navigator-11] [WARN] [bt_navigator_client_node]: Node timed out while executing service call to local_costmap/clear_entirely_local_costmap. [bt_navigator-11] [ERROR] [bt_navigator]: Navigation failed [ERROR] [controller_server-8]: process has died [pid 9817, exit code -11, cmd '/home/yathartha/ros2_all_ws/navigation2_ws/install/nav2_controller/lib/nav2_controller/controller_server --ros-args --params-file /tmp/tmp87texij8 ']. ```

@crdelsey I still see this error even after deleting the voxel layer plugin name, and the voxel layer params.

It doesn't complain about

13: [controller_server-7] 2019-11-15 14:12:30.357 [PARTICIPANT Error] Type : sensor_msgs::msg::dds_::PointCloud2_ Not Registered -> Function createSubscriber

however.

This is triggered mostly if you do the following:

mlherd commented 4 years ago

I can reproduce this issue if I drop an obstacle in Gazebo very close to the robot while the robot is navigating.

I tested it without enabling the voxel layer.

SteveMacenski commented 4 years ago

Filed ticket https://github.com/ros2/rmw_fastrtps/issues/341

SteveMacenski commented 4 years ago

@mlherd I'm curious - has anyone on your end tested this with Cyclone or any other DDS vendor? It would be good to know if its vendor specific or generally problematic

mlherd commented 4 years ago

I tested it only with FastRTPS. @crdelsey?

crdelsey commented 4 years ago

Not yet. It's on the todo list.