这个问题涉及到的知识是在使用ros的robot_pose_ekf包做imu和里程计融合的过程中,imu的时间戳和里程计的时间戳不同,间隔时间超过1秒的时候就会报这个错:Timesramps of odometry and imu are xxxx seconds apart.
修改程序,让里程计驱动文件和imu驱动文件中的时间戳一致,要么是rospy.Time(0),要么是rospy.Time.now().如图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201205222331209.png#pic_center)
Time(0)和Time.now()这两个时间是有区别的,简单说来,就是Time(0)是 tf 缓存里的第一个 tf 信息,而Time.now()是 是当前这个时间的 tf 信息,详细请参考:https://blog.csdn.net/github_35160620/article/details/52473291