Error reading field 'throttle_time_ms': java.nio.BufferUnderflowException

可能出现的问题:

  1. ERROR o.a.k.c.p.i.Sender – Uncaught error in kafka producer I/O thread: org.apache.kafka.common.protocol.types.SchemaException: Error reading field 'throttle_time_ms': java.nio.BufferUnderflowException: kafka-clients版本不对,用0.9的clients往0.8的kafka上写数据就会有这个问题,排除方式见上。

注意事项:

  1. 由于storm 1.0中删除了logback的依赖,改用log4j2,故项目中用到的logback的,需要在pom文件中增加依赖。但增加了logback依赖后,slf4j会检测到多个底层log库,抛出Multiple Binding 警告,可能出现日志配置失效的情况。建议所有应用方使用slf4j,不要绕过slf4j直接使用底层日志库。http://www.slf4j.org/manual.html

http://www.nilday.com/2016/12/

转载于:https://www.cnblogs.com/rocky-AGE-24/p/7385523.html

// Function to get the robot pose in the given costmap frame bool MoveBase::getRobotPose(geometry_msgs::PoseStamped& global_pose, costmap_2d::Costmap2DROS* costmap) { // Set the global pose to the identity transform tf2::toMsg(tf2::Transform::getIdentity(), global_pose.pose); // Create a new pose for the robot and set it to the identity transform geometry_msgs::PoseStamped robot_pose; tf2::toMsg(tf2::Transform::getIdentity(), robot_pose.pose); // Set the frame ID for the robot pose to the robot base frame robot_pose.header.frame_id = robot_base_frame_; // Set the time stamp for the robot pose to the latest available time robot_pose.header.stamp = ros::Time(); // latest available // Save the current time for checking the tf delay later ros::Time current_time = ros::Time::now(); // save time for checking tf delay later // Get the robot pose on the given costmap frame try { tf_.transform(robot_pose, global_pose, costmap->getGlobalFrameID()); } catch (tf2::LookupException& ex) { // If the transform lookup fails, print an error message and return false ROS_ERROR_THROTTLE(1.0, "No Transform available Error looking up robot pose: %s\n", ex.what()); return false; } catch (tf2::ConnectivityException& ex) { // If there is a connectivity error, print an error message and return false ROS_ERROR_THROTTLE(1.0, "Connectivity Error looking up robot pose: %s\n", ex.what()); return false; } catch (tf2::ExtrapolationException& ex) { // If there is an extrapolation error, print an error message and return false ROS_ERROR_THROTTLE(1.0, "Extrapolation Error looking up robot pose: %s\n", ex.what()); return false; } // Check if the time stamp of the global pose is within the costmap transform tolerance if (current_time.toSec() - global_pose.header.stamp.toSec() > costmap->getTransformTolerance()) { // If the time stamp is outside the tolerance, print a warning and return false ROS_WARN_THROTTLE(1.0, "Transform timeout for %s. " \ "Current time: %.4f, pose stamp: %.4f, tolerance: %.4f", costmap->getName().c_str(), current_time.toSec(), global_pose.header.stamp.toSec(), costmap->getTransformTolerance()); return false; } // Return true if the robot pose was successfully retrieved return true; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值