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

move_base across multiple computer control loop problem

asked 2020-07-09 21:03:52 -0500

sean112 gravatar image

Hello all,

My current setup involves two tx2, connected via wired Ethernet cable (100Mbps).

PC1 (with roscore) is running localization (rtabmap) and Intel t265 (pure odometry mode) and lidar (8hz). PC2 is running Intel d435 and move_base (teb_local_planner with obstacles layer and inflation layer plugin). D435 is configured at 15 hz (424x240) so that I do not get an scp overflow problem.

When I use only lidar in local costmap, my average cmd_vel frequency from teb is around 5hz, but with both lidar and d435 in local costmap, the control loop lowered to 2hz. My desired control loop is 10 hz. So neither is not reaching the desired control loop rate. And without vnc and rviz, the cpus are running on average 60%, so I don't think it is a computation problem.

Both the global and local costmap has transform tolerance around 0.5 seconds, and based on rqt_tf_tree /map to /odom tf is running at 20hz.

Is there anything that is suspicious?

Thank you in advance!

edit retag flag offensive close merge delete

Comments

Here are some thoughts. Cell size of the local costmap could be increased (local costmap updates and teb_local_planner updates will be faster). You could also downsample/voxel filter D435 cloud before feeding it to local costmap to save time with local costmap updates. About CPU usage, you could have a core at 100% that will limit processing rate, while the overall CPU usage is at 60% (for all cores).

matlabbe gravatar image matlabbe  ( 2020-07-11 10:15:04 -0500 )edit

I have limited the d435 to only keep points within 2.5 meters, but I will still try to apply a voxel grid filter. As of costmap, what level of performance can i expect if you increase my current resolution to 5cm to 7.5 or 10cm, if you know from previous experience? The cores on the computer that is running teb_local_planner never reached 100% on any of them. The highest was around 70%. Do you have any idea on why this would still be the case? FYI, I switched from a 100Mbps to 1Gbps router. I realized that the pointcloud was only getting data around 0.5hz on the other computer.

sean112 gravatar image sean112  ( 2020-07-11 15:24:31 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-07-14 14:50:37 -0500

sean112 gravatar image

As it turns out, both the wired connection and teb configuration are the problem here. Even after swapping out the router (now GMbs), the upload and download from the wired connection is still around max. However, that is definitely one of the problem since the d435 data is not transferring fast enough. Then I setting enable_homotopy_class_planning to False. The controller frequency matches the desired rate.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2020-07-09 21:03:52 -0500

Seen: 121 times

Last updated: Jul 14 '20