ros: ros timestamp test
This commit is contained in:
		
							parent
							
								
									ab6a9b03a3
								
							
						
					
					
						commit
						a7d97427f5
					
				| @ -48,7 +48,7 @@ | |||||||
|   <group ns="$(arg mynteye)"> |   <group ns="$(arg mynteye)"> | ||||||
| 
 | 
 | ||||||
|     <!-- mynteye_wrapper_node --> |     <!-- mynteye_wrapper_node --> | ||||||
|     <node name="mynteye_wrapper_node" pkg="mynt_eye_ros_wrapper" type="mynteye_wrapper_node" output="screen" respawn="true" respawn_delay="10"> |     <node name="mynteye_wrapper_node" pkg="mynt_eye_ros_wrapper" type="mynteye_wrapper_node" output="screen" respawn="false" respawn_delay="10"> | ||||||
| 
 | 
 | ||||||
|       <!-- node params --> |       <!-- node params --> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -58,6 +58,7 @@ inline double compute_time(const double end, const double start) { | |||||||
| class ROSWrapperNodelet : public nodelet::Nodelet { | class ROSWrapperNodelet : public nodelet::Nodelet { | ||||||
|  public: |  public: | ||||||
|   ROSWrapperNodelet() { |   ROSWrapperNodelet() { | ||||||
|  |     unit_hard_time *= 10; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   ~ROSWrapperNodelet() { |   ~ROSWrapperNodelet() { | ||||||
| @ -140,10 +141,8 @@ class ROSWrapperNodelet : public nodelet::Nodelet { | |||||||
| 
 | 
 | ||||||
|   inline bool is_overflow(std::uint64_t now, |   inline bool is_overflow(std::uint64_t now, | ||||||
|       std::uint64_t pre) { |       std::uint64_t pre) { | ||||||
|     static std::uint64_t unit = |  | ||||||
|       std::numeric_limits<std::uint32_t>::max(); |  | ||||||
| 
 | 
 | ||||||
|     return (now < pre) && ((pre - now) > (unit / 2)); |     return (now < pre) && ((pre - now) > (unit_hard_time / 2)); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   inline bool is_repeated(std::uint64_t now, |   inline bool is_repeated(std::uint64_t now, | ||||||
| @ -153,18 +152,14 @@ class ROSWrapperNodelet : public nodelet::Nodelet { | |||||||
| 
 | 
 | ||||||
|   inline bool is_abnormal(std::uint32_t now, |   inline bool is_abnormal(std::uint32_t now, | ||||||
|       std::uint32_t pre) { |       std::uint32_t pre) { | ||||||
|     static std::uint64_t unit = |  | ||||||
|       std::numeric_limits<std::uint32_t>::max(); |  | ||||||
| 
 | 
 | ||||||
|     return (now < pre) && ((pre - now) < (unit / 4)); |     return (now < pre) && ((pre - now) < (unit_hard_time / 4)); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   ros::Time checkUpTimeStamp(std::uint64_t _hard_time, |   ros::Time checkUpTimeStamp(std::uint64_t _hard_time, | ||||||
|       const Stream &stream) { |       const Stream &stream) { | ||||||
|     static std::map<Stream, std::uint64_t> hard_time_now; |     static std::map<Stream, std::uint64_t> hard_time_now; | ||||||
|     static std::map<Stream, std::uint64_t> acc; |     static std::map<Stream, std::uint64_t> acc; | ||||||
|     static std::uint64_t unit_hard_time = |  | ||||||
|       std::numeric_limits<std::uint32_t>::max(); |  | ||||||
| 
 | 
 | ||||||
|     if (is_overflow(_hard_time, hard_time_now[stream])) { |     if (is_overflow(_hard_time, hard_time_now[stream])) { | ||||||
|       acc[stream]++; |       acc[stream]++; | ||||||
| @ -178,8 +173,6 @@ class ROSWrapperNodelet : public nodelet::Nodelet { | |||||||
| 
 | 
 | ||||||
|   ros::Time checkUpImuTimeStamp(std::uint64_t _hard_time) { |   ros::Time checkUpImuTimeStamp(std::uint64_t _hard_time) { | ||||||
|     static std::uint64_t hard_time_now(0), acc(0); |     static std::uint64_t hard_time_now(0), acc(0); | ||||||
|     static std::uint64_t unit_hard_time = |  | ||||||
|       std::numeric_limits<std::uint32_t>::max(); |  | ||||||
| 
 | 
 | ||||||
|     if (is_overflow(_hard_time, hard_time_now)) { |     if (is_overflow(_hard_time, hard_time_now)) { | ||||||
|       acc++; |       acc++; | ||||||
| @ -1606,6 +1599,8 @@ class ROSWrapperNodelet : public nodelet::Nodelet { | |||||||
|   int frame_rate_; |   int frame_rate_; | ||||||
|   bool is_intrinsics_enable_; |   bool is_intrinsics_enable_; | ||||||
|   std::vector<ImuData> imu_align_; |   std::vector<ImuData> imu_align_; | ||||||
|  | 
 | ||||||
|  |   std::uint64_t unit_hard_time = std::numeric_limits<std::uint32_t>::max(); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| MYNTEYE_END_NAMESPACE | MYNTEYE_END_NAMESPACE | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user