WrenchTareAccumulator Class
Declaration
Included Headers
Public Member Functions Index
| void | start (std::int64_t num_samples) |
| void | reset () |
| bool | inProgress () const noexcept |
| std::optional< Eigen::Vector6d > | addSample (const Eigen::Vector6d &wrench) |
Private Member Attributes Index
| std::int64_t | remaining_samples_ = 0 |
| std::int64_t | num_samples_ = 0 |
| Eigen::Vector6d | wrench_sum_ = Eigen::Vector6d::Zero() |
Description
Accumulates raw force/torque samples following a tare request and, once the requested number of samples has been collected, returns their average. Averaging several readings prevents a single noisy outlier from biasing the sensor offset, which would otherwise introduce drift in compliant motions.
All operations are allocation-free and lock-free, so the accumulator can be driven directly from the realtime control loop.
Definition at line 101 of file signal_processing.hpp.
Public Member Functions
addSample()
|
Feeds one raw wrench sample while a tare is in progress.
- Parameters
-
[in] wrench the raw force/torque measurement for this control cycle.
- Returns
the averaged wrench on the call that completes the requested batch, and std::nullopt on every other call (including when no tare is in progress).
Declaration at line 134 of file signal_processing.hpp, definition at line 86 of file signal_processing.cpp.
inProgress()
| noexcept |
- Returns
true while a tare is in progress, i.e. start() was called and the requested batch is not yet complete.
Declaration at line 125 of file signal_processing.hpp, definition at line 81 of file signal_processing.cpp.
reset()
|
Cancels any in-progress tare, discarding the partial batch. Samples must come from consecutive control cycles of one control session: callers reset the accumulator on controller activation and deactivation, so a stale partial batch can never be completed with readings taken under different load or pose conditions across an inactive gap.
Declaration at line 119 of file signal_processing.hpp, definition at line 74 of file signal_processing.cpp.
start()
|
Begins a new tare. The next num_samples wrench readings passed to addSample() are averaged into the offset. Calling start() again while a tare is in progress discards the partial batch and restarts the count.
- Parameters
-
[in] num_samples number of samples to average. Values below 1 are clamped to 1.
Declaration at line 111 of file signal_processing.hpp, definition at line 67 of file signal_processing.cpp.
Private Member Attributes
num_samples_
|
Definition at line 140 of file signal_processing.hpp.
remaining_samples_
|
Definition at line 138 of file signal_processing.hpp.
wrench_sum_
|
Definition at line 143 of file signal_processing.hpp.
The documentation for this class was generated from the following files:
Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.