Changes between Version 20 and Version 21 of Burt-Research/SystemOverview


Ignore:
Timestamp:
Jan 23, 2018, 5:41:05 PM (7 years ago)
Author:
al
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Burt-Research/SystemOverview

    v20 v21  
    7474== BurtSharp Control Loop Analysis ==
    7575
    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 (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
     76The 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
    7777
    7878{{{