Error message spew from realtime controller

Issue #32 wontfix
Dave Kotfis created an issue

We are seeing a spew of "Error in NewPelvisPoseHistoryCorrection: pelvisPoseBuffer is out of range. consider increasing the size of the buffer" coming from the realtime controller.

Comments (8)

  1. DouglasS

    @dkotfis Are you sending pelvis corrections to the ROS localization endpoint from Pronto or some other localization software?

  2. Dave Kotfis reporter

    Yes, we're publishing updates that we compute from ETH's libpointmatcher.

    We are publishing a full corrected world pose (map->pelvis). Should we instead only publish the incremental changes to the existing pose estimate (map -> world)?

  3. DouglasS

    @dkotfis I don't believe the error is related to what you're publishing in regards to the corrections, I believe it's related to timestamps. Internally, our pose correction only allows for messages that are a.) from the past, and b.) only a certain amount in the past.

    The error messages you're seeing means that the timestamps on your pose corrections are either too far in the past or from the "future" when compared to the internal timestamps we use for our state estimator buffer. That said, it is highly possible that this is a bug in our software and not yours; since the robot clock and ROS clock are different, we have some logic that does offset rectification and this may not be working correctly in the ROS API node. We'll be investigating this.

  4. DouglasS

    @dkotfis What do you have the network_time_sync param on your MultisenseSL set to?

    My hunch is that one of two things are happening. The first is that a lot of our software requires the SL to have that param set to "true" so that the Stamped PPS message contains the ROS time instead of the PPS value. We use this to synchronize sensor data with pelvis data. The other possibility is that inside of your localization messages, the timestamp is being populated with something like ros::Time::now(), and it needs to be stamped with time of the pelvis pose.

  5. Dave Kotfis reporter

    Yep, it looks like you're right. We were filling in ros;;Time::now(). We will fill in the proper timestamp.

    Are we interpreting the pose correction correctly? Or are you expecting to receive incremental corrections to your existing estimate?

  6. DouglasS

    @dkotfis Hat tip to @btshrewsbury for that catch, then.

    I believe that you're interpreting the pose corrections correctly, though; you should be publishing an absolute pelvis pose in world, and then our corrector will interpolate our estimated pose towards the corrected pose that comes in over the ROS topic.

  7. Log in to comment