76 | | The mainboard is a hard real-time system and runs its control loop at 500Hz. At a period of 2ms, the mainboard transforms the input forces and torques to motor space, sends and receives messages and runs limits and safety systems as figure 1 shows. On the other side, BurtSharp subscribes to mainboard control loop messages through the BurtSharp-CoAP client, which runs in a separate thread “RunControlCycle()” and executes a callback to form the next control cycle output every time a message is received from the server “OnReceiveServerUpdate()”. We have found this to be more reliable than completely asynchronous communication from the mainboard. The BurtSharp CoAP-client thread executes the next control cycle every time a message is received from the mainboard-server and sends one message (“RobotCommand”) per control cycle to the mainboard. Preliminary experiments show that the control loop rate of the BurtSharp library reaches 489Hz when the PID controller is active (Figure 3). Researchers can investigate, through statistics, the violations that are triggered when their developed controllers are overshooting the default control update time (i.e., Example11 ControlLoopTimingStats). https://git.barrett.com/burt/software/burt-sharp/tree/dev-2.1.0/BurtSharp.Examples/Example11-ControlLoopTimingStatsAndMonitoring |
| 76 | The mainboard is a hard real-time system and runs its control loop at 500Hz. At a period of 2ms, the mainboard transforms the input forces and torques to motor space, sends and receives messages and runs limits and safety systems as figure 1 shows. On the other side, BurtSharp subscribes to mainboard control loop messages through the BurtSharp-CoAP client, which runs in a separate thread “RunControlCycle()” and executes a callback to form the next control cycle output every time a message is received from the server “OnReceiveServerUpdate()”. We have found this to be more reliable than completely asynchronous communication from the mainboard. The BurtSharp CoAP-client thread executes the next control cycle every time a message is received from the mainboard-server and sends one message (“RobotCommand”) per control cycle to the mainboard. Preliminary experiments show that the control loop rate of the BurtSharp library reaches 489Hz when the PID controller is active (Figure 3). Researchers can investigate, through statistics, the violations that are triggered when their developed controllers are overshooting the default control update time (i.e., Example11 ControlLoopTimingStats). https://git.barrett.com/burt/software/burt-sharp/tree/dev-2.1.1/BurtSharp.Examples/Example11-ControlLoopTimingStatsAndMonitoring |