ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

It has been a while, but this is basic controls. Your sampling rate dependent on the dynamics of the system you are controlling. The first reference you point to is ATRIS. It appears to walk, run, jump, etc over un-even terrain. You need to understand the required Nyquist sampling rate of whatever you are going to control and then it is a good idea to do better than that. So at a minimum the 1 kHz will allow you to control a system that has dynamics in the 500 Hz range. Now in some systems you have to also pay attention to 2nd and 3rd order dynamics to maintain stability. Since your reference is running, jumping, etc it wouldn't surprise me if you have to pay attention to that. There are also other factors (filtering noisy feedback) that can also drive up your sampling rate.

It has been a while, but this is basic controls. Your sampling rate dependent on the dynamics of the system you are controlling. The first reference you point to is ATRIS. It appears to walk, run, jump, etc over un-even terrain. You need to understand the required Nyquist sampling rate of whatever you are going to control and then it is a good idea to do better than that. So at a minimum the 1 kHz will allow you to control a system that has dynamics in the 500 Hz range. Now in some systems you have to also pay attention to 2nd and 3rd order dynamics to maintain stability. Since your reference is running, jumping, etc it wouldn't surprise me if you have to pay attention to that. There are also other factors (filtering noisy feedback) that can also drive up your sampling rate.

[Edit] To be honest I don't have need for such high rate real-time control, so I am really unfamiliar with what the limits are in those specific circumstances. If your application requires not only high control rates, but a guarantee you send a control signal you need to investigate a real-time operating system. I have not read your references in detail, but only skimmed them so they may have architecture limits. I assume the high rates are all with-in the node and not external to it. Once you leave a node you have to worry about TCP latency and me just pinging a rosout (e.g., rosnode ping /rosout) appears to take ~1 ms on my macbook. I suggest you test out ROS on the hardware you are interested in using.

Sorry if I am still not answering your question, but for what I do, I think this is the best I can answer. Good luck!