evo
evo copied to clipboard
Add a rerun integration
rerun could be a nice visualization option as an alternative to the matplotlib-based plotting features of evo. They seem to complement each other quite well:
- matplotlib: static, focus on high-quality plots suitable for print, terrible 3D view
- rerun: dynamic timeline replay, focus on live visualization/interaction, nice 3D view
bridge
The rerun archetypes should allow to log most of the things that are also added to plots right now:
- trajectory visualization (pose axes, lines, correspondences, color-mapped trajectories...)
- scalar visualization (errors, speeds, XYZ, orientations...)
Missing / unclear:
- Support for map images (ROS map): https://github.com/rerun-io/rerun/issues/1531
- Map tiles? Seems to exist only for 2D?
Probably useless:
PosePath3Dsupport: probably makes no sense without timestamps, only supportPoseTrajectory3D- 2D view support: doesn't seem to be worth the effort, evo data is 3D and matplotlib is fine for 2D
CLI
CLI integration into the existing commands would be nice. E.g. something like evo_traj bag ... --rerun to cover common use cases without scripting.
Dependency
rerun should be only an optional dependency in pyproject.toml.
A demo script can be found here: https://github.com/MichaelGrupp/evo/tree/master/contrib/rerun_example
First support comes with new v1.32.0 version of evo. See also: https://github.com/MichaelGrupp/evo/wiki/Rerun-integration