1 问题
ROS gazebo以100Hz的频率发消息,触发A节点的回调函数,进而回调函数发送新消息到B节点。理论上新消息的频率也应该是100Hz。但是用rqt_topic查看发现,频率只有30多Hz。
2 解决
在初始化Subscriber
的时候加上ros::TransportHints().tcpNoDelay(true)
,如:
odometry_sub_ = nh_.subscribe(mav_msgs::default_topics::ODOMETRY, 1,&LeePositionControllerNode::OdometryCallback, this,ros::TransportHints().tcpNoDelay(true));