ROS通信频率变慢、低于设定值的解决方法

1 问题

ROS gazebo以100Hz的频率发消息,触发A节点的回调函数,进而回调函数发送新消息到B节点。理论上新消息的频率也应该是100Hz。但是用rqt_topic查看发现,频率只有30多Hz。
ROS通信频率变慢、低于设定值的解决方法_第1张图片

2 解决

在初始化Subscriber的时候加上ros::TransportHints().tcpNoDelay(true),如:

  odometry_sub_ = nh_.subscribe(mav_msgs::default_topics::ODOMETRY, 1,
                               &LeePositionControllerNode::OdometryCallback, this,ros::TransportHints().tcpNoDelay(true));

你可能感兴趣的:(ROS,linux)