frankaemika/libfranka

Question regarding controller computation time

Opened this issue · 0 comments

Hello everyone,

I am currently implementing a computational heavy controller in my panda and am reaching the time limits for the 1kHz frequency of the system.

I use a PREEMT RT kernel, adjusted the CPUs and also cleared several CPUs just for my process to avoid any rt conflicts.
My network test gave me an average RTT of around 0.2ms with 0.3ms max. Not perfect but even after several attempts it did not went over 0.3.

To evaluate the performance, I made some tests using the communication_test script by adjusting the sleep time. The results are, that a sleep time of 0.3ms (resulting in an average comuptation time of 0.35) is the upper limit with already quite low communication_seccess_rates (between 0.8-0.9). Using a sleeptime of 0.35 results in a commincation error.

Assuming we lose 0.3ms for network, 0.35ms from my computation that leaves 0.35ms for the "Time needed by the robot to process your data and step the internal controller" as stated in the Franka Docs which sounds quite a lot to me.

Does anyone have some experience if this is about to be right or have ideas on how to improve this?

Thanks,
Stephan