You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IMU measurements from attitude_ are read in Pi3HatInterface::observe, which is called in step 1 actuation cycles, before step 3 where we wait for a reply. This means the following undesirable execution sequence may happen:
stephane-caron
changed the title
IMU measurements in pi3hat interface may not wait for reply
IMU observation in pi3hat interface may not wait for reply
Aug 15, 2024
stephane-caron
changed the title
IMU observation in pi3hat interface may not wait for reply
IMU observation in pi3hat interface is not thread-safe
Aug 15, 2024
Bug description
IMU measurements from
attitude_
are read inPi3HatInterface::observe
, which is called in step 1 actuation cycles, before step 3 where we wait for a reply. This means the following undesirable execution sequence may happen:Spine::cycle`` calls
Pi3HatInterface::observe`Pi3HatInterface::pi3hat_->Cycle(input)`` updates
attitude_`Pi3HatInterface::attitude_
at the same time: inconsistent reading 💥Expected property
The data read during observed should not be writable by the CAN thread, as is already the case with servo commands.
Reproduction steps
As far as I know the undesirable execution sequence above has never been observed in practice.
System
The text was updated successfully, but these errors were encountered: