Changes between Version 15 and Version 16 of Therapy/SystemOverview


Ignore:
Timestamp:
Jan 23, 2018, 1:13:12 AM (4 months ago)
Author:
al
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Therapy/SystemOverview

    v15 v16  
    1919== Software Architecture Hierarchy ==
    2020
    21 BURT-Research offers a Research Environment that comprises two libraries, BurtSharp and BurtSharp.UnityInterface, and a Medical demo application. Figure 1 illustrates the architecture of the two libraries that the Research Environment consists of. BurtSharp is a client program that communicates and controls the BURT robot, and BurtSharp.UnityInterface is an extension to BurtSharp that allows use of haptic objects and fixtures with Unity. Researchers can use these two libraries to test their control and haptic capabilities and can develop their own research tools.
     21BURT-Research offers a Research Environment that comprises two libraries, BurtSharp and BurtSharp.UnityInterface, and a Medical demo application. Figure 1 illustrates the architecture of the two libraries that the Research Environment consists of. BurtSharp is a client program that communicates and controls the BURT robot, and BurtSharp.UnityInterface is an extension to BurtSharp that allows use of haptic objects and fixtures with Unity. Researchers can use these two libraries to test their control and haptic modules and can develop their own research tools.
    2222
    2323
     
    3333
    3434== BurtSharp Message Types ==
    35 
    36 The mainboard control loop runs at 500 Hz, able to do math, send and receive messages in a stable and reliable way. BurtSharp subscribes to mainboard control loop messages. The BurtSharp-CoAP client 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()”. This is higher reliable than having the replies be completely asynchronous from the mainboard control loop messages. BurtSharp sends one message (“RobotCommand”) per control cycle.
    3735
    3836* The BurtSharp-CoAP client subscribes to observable resource group packages such as:
     
    7674== BurtSharp Control Loop Analysis ==
    7775
    78 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 489 Hz (Figure 3). Researchers can investigate through statistics the violations that are triggered when their developed controllers are overshooting particular time limits (i.e., Example11-ControlLoopTimingStats). 
     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 489 Hz (Figure 3). Researchers can investigate through statistics the violations that are triggered when their developed controllers are overshooting particular time limits (i.e., Example11-ControlLoopTimingStats).
    7977
    8078{{{