Is it possible to assign more system resources to ROS?

asked 2021-06-15 09:44:15 -0500

GGomez gravatar image

So I have a robot, that uses ROS Noetic, and runs on an Ubuntu Mate 20.04 kernel 4.15 on a Raspberry Pi 4, 8 GB of RAM. This robot works perfectly fine.

The Navigation node in this robot spits out messages like this: Map update loop missed its desired rate of 10.0000Hz... the loop actually took 0.1181 seconds and all processor cores are working between 54% and 98%.

Overall RAM usage is at 2GB, RVIZ is not active nor is Gazebo.

The second robot I have is a 10th gen i5, 8GB of RAM, running ROS Noetic on Regular Ubuntu 20.04 kernel 4.15.

The Navigation node in this robot spits out messages like this: Map update loop missed its desired rate of 5.0000Hz... the loop actually took 3.3633 secondsand all processor cores are working between 30% and 45%.

The code is a bit more complex on this one, but was originally ported from the Raspberry, I don't think this PC can't hadle that bit of extra code. What it bugs me is that "Map update" even at 5Hz and with more than 70% of processing power left on each core, Navigation just can't handle that.

So, Is there a place on all ROS where I can assign more resources so ROS can use them or the problem is in other place?

edit retag flag offensive close merge delete