fix(ros): fixed ros timestamp of publishing is delayed.
This commit is contained in:
parent
4c4df74432
commit
78d3e27430
|
@ -104,7 +104,7 @@ class ROSWrapperNodelet : public nodelet::Nodelet {
|
||||||
|
|
||||||
ros::Time hardTimeToSoftTime(std::uint64_t _hard_time) {
|
ros::Time hardTimeToSoftTime(std::uint64_t _hard_time) {
|
||||||
static bool isInited = false;
|
static bool isInited = false;
|
||||||
static std::uint32_t soft_time_begin(0);
|
static double soft_time_begin(0);
|
||||||
static std::uint64_t hard_time_begin(0);
|
static std::uint64_t hard_time_begin(0);
|
||||||
|
|
||||||
if (false == isInited) {
|
if (false == isInited) {
|
||||||
|
@ -116,10 +116,10 @@ class ROSWrapperNodelet : public nodelet::Nodelet {
|
||||||
std::uint64_t time_ns_detal = (_hard_time - hard_time_begin);
|
std::uint64_t time_ns_detal = (_hard_time - hard_time_begin);
|
||||||
std::uint64_t time_ns_detal_s = time_ns_detal / 1000000;
|
std::uint64_t time_ns_detal_s = time_ns_detal / 1000000;
|
||||||
std::uint64_t time_ns_detal_ns = time_ns_detal % 1000000;
|
std::uint64_t time_ns_detal_ns = time_ns_detal % 1000000;
|
||||||
|
double time_sec_double =
|
||||||
|
ros::Time(time_ns_detal_s, time_ns_detal_ns * 1000).toSec();
|
||||||
|
|
||||||
return ros::Time(
|
return ros::Time(soft_time_begin + time_sec_double);
|
||||||
soft_time_begin + time_ns_detal_s,
|
|
||||||
time_ns_detal_ns * 1000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ros::Time hardTimeToSoftTime(std::uint64_t _hard_time) {
|
// ros::Time hardTimeToSoftTime(std::uint64_t _hard_time) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user