-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Labels
Description
Bug report
Obstacle_layer plugin cause high CPU usage in controller_Server and planner_server
Required Info:
- Operating System
- Ubuntu 20.04
- ROS2 Version
- Foxy Binaries
- Version or commit hash
- foxy version and build From source
- DDS implementation
- Fast-RTPS
Steps to reproduce issue
1. launch the laser node and navigation2 software stack
2. keep the robot standstill or do task of moving point A to piont B
3. open htop in new terminal and you can find the cpu of controller_server and planner_server is unstable and high(sometimes the crest value may over 120%)
Expected behavior
The cpu usage of controller_server and planner_server is stable and not high
Actual behavior
The cpu usage of controller_server and planner_server is unstable and increase abruptly over 120%

Additional information
Temporary solution
- Transform the scan data(laser_node) to pointcloud and then transform the pointcloud data from the laser_link to map before publish
- Transform scan data from laser_link to map directly
The result of temporary solution
the cpu usage of controller_server and planner_server is decreased and keeping stable obviously(not increase abruptly)

Three points may cause this problem and Debug
- projector_.transformLaserScanToPointCloud(message->header.frame_id, *message, cloud, *tf_) cause the most cpu in callback function -- through transform the scan to pointcloud data and not transform data from laser_link to map before publish, the bug is still alive
- buffer->bufferCloud(cloud) -- ongoing debug
- QOS buffer size is lager -- decrease the buffer size, the problem is still remaining
Co-woker
@tal-grossman @andersdu @duanyunxin
Although the temporary solution can fix this problem, we still could not find the point which cause this problem in obstacle_layer plugins. If anyone have ideas with this issue, we are hopefully Looking forward to your reply.
Thanks.
Reactions are currently unavailable