jrl-umi3218 / mc_rtc

mc_rtc is an interface for simulated and real robotic systems suitable for real-time control
BSD 2-Clause "Simplified" License
122 stars 37 forks source link

[mc_control] Introduce Ticker with replay functionalities #357

Closed gergondet closed 1 year ago

gergondet commented 1 year ago

This PR introduces a Ticker component in mc_control and a built-in mc_rtc_ticker program that is built upon it.

The introduction of the Ticker class is aimed to simplify writing unit tests in and out of mc_rtc.

The ticker itself has the same functionalities as existing tickers (the one in ROS and the one in mc_rtc-magnum), i.e.:

It is also capable of loading a log file and using this log to provide sensor inputs to the controller. Furthermore, GUI events are now recorded in the log and these events can also be replayed by the ticker. While in replay mode, every mc_rtc system runs as-if it was connected to a live system/simulation.

This feature is mainly targeted at three scenarios:

ToDo: