ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

navigation parameters that work on raspberry pi 3B+ (CPU maxed with current)

asked 2020-04-30 09:46:00 -0600

kopop8 gravatar image

I have a turtlebot3 with an raspberry pi3B+ and ROS kinetic. Navigation needs to work without wifi so the navigation (amcl, map server and move_base) are on the robot and not the master computer. I followed the tuning guide and that seemed to work a little bit. The cpu is maxed out while running the navigation causing errors like: Unable to get starting pose of robot, unable to create global plan

[ERROR] [1588257150.085312973]: Extrapolation Error looking up robot pose: Lookup would require extrapolation into the past.  Requested time 1588257131.666440187 but the earliest data is at time 1588257140.039010063, when looking up transform from frame [base_footprint] to frame [map]
[ WARN] [1588257141.324896190]: Costmap2DROS transform timeout. Current time: 1588257141.3245, global_pose stamp: 1588257131.6664, tolerance: 1.0000
Map update loop missed its desired rate of 3.0000Hz... the loop actually took 0.3480 seconds

I spend the whole day tweaking parameters of the DWA_planner, amcl ,global and local costmap ect. But can't find a good balance. I am new to ROS and don't know what costs the most cpu power and what corners to cut. My question does anyone have parameters / settings for navigation that work good on their robot with a raspberry pi for navigation to waypoints in a map?

Thanks you for the time and read :)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-04-30 13:02:39 -0600

gvdhoorn gravatar image

First thing to check: if you built everything from source, did you remember to enable compiler optimisations?

edit flag offensive delete link more


Hey thanks for the answers @gvdhoorn! To compile i did catkin_make -j1 -DCMAKE_BUILD_TYPE=Release because the memory gets exhausted otherwise or what do you mean by compiler optimisations?

kopop8 gravatar image kopop8  ( 2020-05-01 01:44:33 -0600 )edit

Setting CMAKE_BUILD_TYPE to Release would indeed be how you'd enable build optimisations.

gvdhoorn gravatar image gvdhoorn  ( 2020-05-01 03:09:44 -0600 )edit

So the problem was that i did'nt deleted the old build files when building with build type release. I deleted the build files and again ran the build comman. Took 4 hours to build everything but the cpu is now normal and i can navigate normally :) Thank you so much @gvdhoorn My Ros hero!

kopop8 gravatar image kopop8  ( 2020-05-01 10:26:32 -0600 )edit

@kopop8 do you still have the parameters that worked for you? I followed this instructions and built everything from source but I still get the same error you described. I am running the navigation stack in a rasp 3 and a gazebo simulation with my robot in a laptop. I am using simulated time (/use_sim_time = true)

rezenders gravatar image rezenders  ( 2021-04-06 14:28:32 -0600 )edit

Question Tools

1 follower


Asked: 2020-04-30 09:46:00 -0600

Seen: 234 times

Last updated: Apr 30 '20