Open whoenig opened 2 years ago
You mentioned in #566:
This [jitter] should have no effect on correct operation, since tf is only used for visualization purposes, not for actual computations.
I agree that is true for the Crazyswarm internally, but user scripts could be broken if they use Crazyflie.position()
for computations, yes?
What if we do something like
Sources Available | tf world | pose topic |
---|---|---|
mocap only | mocap | N/A |
mocap and onboard | mocap | onboard |
onboard only | onboard | onboard |
The pose topic always represents the onboard estimate (if logged) and the tf relative to world represents the best available pose estimate. Most scripts can continue using cf.position()
oblivious to its source, while only those scripts comparing onboard estimates to "ground truth" need to do something special.
Currently we use the same TF topic for the mocap data and pose logging. This can cause jitter in rviz, see https://github.com/USC-ACTLab/crazyswarm/discussions/566. Ideally, we would switch to separate frame names to avoid confusion.