CREATE TABLE "joint_performance" (
jperfid bigint NOT NULL DEFAULT nextval('joint_performance_jperfid_seq'::regclass),
jperfoperref text NULL,
jperfdetref text NULL,
joint_metrics jsonb NULL,
    PRIMARY KEY (jperfid),
    FOREIGN KEY (jperfoperref) REFERENCES operation(operreg),
    FOREIGN KEY (jperfdetref) REFERENCES robot_details(botdetreg)
);

First 3 rows:
  jperfid  jperfoperref    jperfdetref    joint_metrics
---------  --------------  -------------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        5  OP_MCRH5P       RB8530         {'J1': {'angle_deg': -83.54, 'speed_dps': 157.73, 'torque_nm': 59.95}, 'J2': {'angle_deg': 42.09, 'speed_dps': 68.7, 'torque_nm': 47.43}, 'J3': {'angle_deg': 135.47, 'speed_dps': 124.51, 'torque_nm': 55.59}, 'J4': {'angle_deg': -148.11, 'speed_dps': 68.99, 'torque_nm': 83.57}, 'J5': {'angle_deg': -79.32, 'speed_dps': 103.06, 'torque_nm': 21.06}, 'J6': {'angle_deg': 129.08, 'speed_dps': 85.43, 'torque_nm': 76.07}}
        6  OP_TZVO4Q       RB4962         {'J1': {'angle_deg': 104.59, 'speed_dps': 171.76, 'torque_nm': 92.66}, 'J2': {'angle_deg': -74.8, 'speed_dps': 139.99, 'torque_nm': 25.65}, 'J3': {'angle_deg': 40.27, 'speed_dps': 55.57, 'torque_nm': 76.81}, 'J4': {'angle_deg': 98.29, 'speed_dps': 148.12, 'torque_nm': 98.86}, 'J5': {'angle_deg': 72.37, 'speed_dps': 64.7, 'torque_nm': 86.5}, 'J6': {'angle_deg': -124.89, 'speed_dps': 73.48, 'torque_nm': 82.62}}
        7  OP_R5HF3P       RB6554         {'J1': {'angle_deg': -40.88, 'speed_dps': 122.45, 'torque_nm': 14.58}, 'J2': {'angle_deg': 119.78, 'speed_dps': 135.41, 'torque_nm': 6.19}, 'J3': {'angle_deg': -40.12, 'speed_dps': 109.32, 'torque_nm': 53.91}, 'J4': {'angle_deg': 139.65, 'speed_dps': 33.3, 'torque_nm': 20.42}, 'J5': {'angle_deg': 87.57, 'speed_dps': 55.34, 'torque_nm': 51.54}, 'J6': {'angle_deg': -51.28, 'speed_dps': 117.68, 'torque_nm': 90.76}}
...


CREATE TABLE "joint_condition" (
jcondid bigint NOT NULL DEFAULT nextval('joint_condition_jcondid_seq'::regclass),
jcondoperref text NULL,
jcdetref text NULL,
joint_health jsonb NULL,
    PRIMARY KEY (jcondid),
    FOREIGN KEY (jcondoperref) REFERENCES operation(operreg),
    FOREIGN KEY (jcdetref) REFERENCES robot_details(botdetreg)
);

First 3 rows:
  jcondid  jcondoperref    jcdetref    joint_health
---------  --------------  ----------  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        5  OP_MCRH5P       RB8530      {'J1': {'backlash_deg': 0.0066, 'temperature_C': 54.8, 'vibration_mmps': 2.237}, 'J2': {'backlash_deg': 0.0619, 'temperature_C': 45.67, 'vibration_mmps': 5.44}, 'J3': {'backlash_deg': 0.0677, 'temperature_C': 47.96, 'vibration_mmps': 5.23}, 'J4': {'backlash_deg': 0.0066, 'temperature_C': 43.31, 'vibration_mmps': 4.054}, 'J5': {'backlash_deg': 0.0484, 'temperature_C': 38.88, 'vibration_mmps': 6.088}, 'J6': {'backlash_deg': 0.017, 'temperature_C': 25.62, 'vibration_mmps': 3.564}}
        6  OP_TZVO4Q       RB4962      {'J1': {'backlash_deg': 0.079, 'temperature_C': 45.31, 'vibration_mmps': 2.637}, 'J2': {'backlash_deg': 0.014, 'temperature_C': 49.25, 'vibration_mmps': 9.917}, 'J3': {'backlash_deg': 0.0565, 'temperature_C': 47.23, 'vibration_mmps': 8.334}, 'J4': {'backlash_deg': 0.0673, 'temperature_C': 79.19, 'vibration_mmps': 9.775}, 'J5': {'backlash_deg': 0.0379, 'temperature_C': 22.43, 'vibration_mmps': 1.046}, 'J6': {'backlash_deg': 0.0841, 'temperature_C': 21.33, 'vibration_mmps': 3.324}}
        7  OP_R5HF3P       RB6554      {'J1': {'backlash_deg': 0.0314, 'temperature_C': 64.21, 'vibration_mmps': 0.795}, 'J2': {'backlash_deg': 0.0007, 'temperature_C': 26.71, 'vibration_mmps': 4.509}, 'J3': {'backlash_deg': 0.0732, 'temperature_C': 36.36, 'vibration_mmps': 7.401}, 'J4': {'backlash_deg': 0.07, 'temperature_C': 55.33, 'vibration_mmps': 6.667}, 'J5': {'backlash_deg': 0.0148, 'temperature_C': 32.92, 'vibration_mmps': 4.557}, 'J6': {'backlash_deg': 0.04, 'temperature_C': 31.53, 'vibration_mmps': 8.408}}
...


CREATE TABLE "robot_record" (
recreg text NULL,
rects timestamp without time zone NOT NULL,
botcode text NOT NULL,
    PRIMARY KEY (botcode)
);

First 3 rows:
recreg    rects                botcode
--------  -------------------  ---------
RF100725  2025-02-19 00:00:00  RB2073
RF506310  2025-02-18 00:00:00  RB9067
RF422033  2025-02-18 00:00:00  RB2996
...


CREATE TABLE "robot_details" (
botdetreg text NOT NULL,
mfgnameval text NULL,
modelseriesval text NULL,
bottypeval character NULL,
payloadcapkg real NULL,
reachmmval bigint NULL,
instdateval date NULL,
fwversionval text NULL,
ctrltypeval text NULL,
    PRIMARY KEY (botdetreg),
    FOREIGN KEY (botdetreg) REFERENCES robot_record(botcode)
);

First 3 rows:
botdetreg    mfgnameval    modelseriesval    bottypeval       payloadcapkg    reachmmval  instdateval    fwversionval    ctrltypeval
-----------  ------------  ----------------  -------------  --------------  ------------  -------------  --------------  -------------
RB2073       FANUC         Series_784        Delta                       5          1592  2023-06-10     9.6.6           Controller_C2
RB9067       Yaskawa       Series_892        Collaborative               5          1160  2022-09-14     3.3.7           Controller_C4
RB2996       Yaskawa       Series_525        Cartesian                 200          2374  2022-11-19     4.6.6           Controller_B5
...


CREATE TABLE "operation" (
operreg text NOT NULL,
operrecref text NULL,
totopshrval real NULL,
apptypeval text NULL,
opermodeval character NULL,
currprogval text NULL,
progcyclecount bigint NULL,
cycletimesecval real NULL,
axiscountval bigint NULL,
    PRIMARY KEY (operreg),
    FOREIGN KEY (operrecref) REFERENCES robot_record(botcode)
);

First 3 rows:
operreg    operrecref    totopshrval    apptypeval    opermodeval    currprogval      progcyclecount    cycletimesecval    axiscountval
---------  ------------  -------------  ------------  -------------  -------------  ----------------  -----------------  --------------
OP_ES8D6H  RB2073                                     MANU                                    177681             nan                  7
OP_0FUE4V  RB9067                       Painting      MANU                                    498231             211.82               6
OP_BNMLPS  RB2996                                     MANU           PRG_4901                 508274             nan                  5
...


CREATE TABLE "actuation_data" (
actreg text NOT NULL,
actoperref text NULL,
actrecref text NULL,
tcpxval real NULL,
tcpyval real NULL,
tcpzval real NULL,
tcp_rxval real NULL,
tcp_ryval real NULL,
tcp_rzval real NULL,
tcpspeedval real NULL,
tcpaccelval real NULL,
pathaccmmval real NULL,
poserrmmval real NULL,
orienterrdegval real NULL,
payloadwval real NULL,
payloadival real NULL,
m1currval real NULL,
m2currval real NULL,
m3currval real NULL,
m4currval real NULL,
m5currval real NULL,
m6currval real NULL,
m1voltval real NULL,
m2voltval real NULL,
m3voltval real NULL,
m4voltval real NULL,
m5voltval real NULL,
m6voltval real NULL,
    PRIMARY KEY (actreg),
    FOREIGN KEY (actoperref) REFERENCES operation(operreg),
    FOREIGN KEY (actrecref) REFERENCES robot_record(botcode)
);

First 3 rows:
actreg     actoperref    actrecref    tcpxval      tcpyval    tcpzval    tcp_rxval    tcp_ryval    tcp_rzval    tcpspeedval    tcpaccelval    pathaccmmval    poserrmmval    orienterrdegval    payloadwval    payloadival    m1currval    m2currval    m3currval    m4currval    m5currval    m6currval    m1voltval    m2voltval    m3voltval    m4voltval    m5voltval    m6voltval
---------  ------------  -----------  ---------  ---------  ---------  -----------  -----------  -----------  -------------  -------------  --------------  -------------  -----------------  -------------  -------------  -----------  -----------  -----------  -----------  -----------  -----------  -----------  -----------  -----------  -----------  -----------  -----------
AC_DJOHX8  OP_ES8D6H     RB2073                        nan     nan         -156.28      -150.3         -6.26        1231.14           6.65           0.797          0.069              0.471         nan              1.78       nan            8.61         3.31        14.16         6.16       nan            1.26        15.66        10.6          9.13        28.47        32.12
AC_U95O0H  OP_0FUE4V     RB9067                        nan     nan         -153.02       153.21      -130.1         1923.65           2.02           0.835        nan                  0.365         nan              8.7          6.58       nan           10.97       nan          nan          nan           46.58        43.21        38.36        13.53        40.07        30.29
AC_HPP9RV  OP_BNMLPS     RB2996                        873    1618.63      -133.16       -85.31       166.64         191.04           8.43           0.07         nan                  0.234         144.85           8.85       nan          nan           19.18         1.31         2.38         1.81        40.66         5.33        14.07        45.05        19.58        11.39
...


CREATE TABLE "mechanical_status" (
mechactref text NULL,
mechoperref text NOT NULL,
mechdetref text NULL,
component_status jsonb NULL,
    PRIMARY KEY (mechoperref),
    FOREIGN KEY (mechactref) REFERENCES actuation_data(actreg),
    FOREIGN KEY (mechoperref) REFERENCES operation(operreg),
    FOREIGN KEY (mechdetref) REFERENCES robot_details(botdetreg)
);

First 3 rows:
mechactref    mechoperref    mechdetref    component_status
------------  -------------  ------------   
AC_U95O0H     OP_0FUE4V      RB9067        {'brakes': {'J1': 'Warning', 'J2': 'Warning', 'J3': 'Error', 'J4': 'Warning', 'J5': 'Warning', 'J6': 'Warning'}, 'encoders': {'J1': None, 'J2': 'Warning', 'J3': 'Error', 'J4': 'Error', 'J5': 'Normal', 'J6': 'Warning'}, 'gearboxes': {'J1': {'temperature_C': 70.89, 'vibration_mmps': 9.278}, 'J2': {'temperature_C': 79.14, 'vibration_mmps': 5.005}, 'J3': {'temperature_C': 25.94, 'vibration_mmps': None}, 'J4': {'temperature_C': 24, 'vibration_mmps': 9.881}, 'J5': {'temperature_C': 60.1, 'vibration_mmps': 0.224}, 'J6': {'temperature_C': 41.26, 'vibration_mmps': 4.942}}}
AC_4CU2EX     OP_BSYY54      RB3783        {'brakes': {'J1': None, 'J2': 'Warning', 'J3': 'Warning', 'J4': 'Warning', 'J5': 'Normal', 'J6': 'Warning'}, 'encoders': {'J1': 'Normal', 'J2': 'Warning', 'J3': 'Normal', 'J4': 'Warning', 'J5': 'Normal', 'J6': 'Error'}, 'gearboxes': {'J1': {'temperature_C': None, 'vibration_mmps': 9.911}, 'J2': {'temperature_C': None, 'vibration_mmps': 7.029}, 'J3': {'temperature_C': 25.69, 'vibration_mmps': None}, 'J4': {'temperature_C': 48.65, 'vibration_mmps': 2.817}, 'J5': {'temperature_C': 43.47, 'vibration_mmps': 4.913}, 'J6': {'temperature_C': 69.7, 'vibration_mmps': 9.421}}}
AC_CL809K     OP_CNBZV4      RB7520        {'brakes': {'J1': 'Error', 'J2': 'Warning', 'J3': 'Error', 'J4': 'Normal', 'J5': 'Error', 'J6': 'Error'}, 'encoders': {'J1': 'Error', 'J2': 'Warning', 'J3': 'Warning', 'J4': 'Normal', 'J5': 'Warning', 'J6': 'Error'}, 'gearboxes': {'J1': {'temperature_C': None, 'vibration_mmps': 4.784}, 'J2': {'temperature_C': None, 'vibration_mmps': 9.827}, 'J3': {'temperature_C': 54.51, 'vibration_mmps': None}, 'J4': {'temperature_C': 60.29, 'vibration_mmps': 4.103}, 'J5': {'temperature_C': 77.06, 'vibration_mmps': 4.097}, 'J6': {'temperature_C': 68.85, 'vibration_mmps': 1.658}}}
...


CREATE TABLE "system_controller" (
systemoverseeractuation text NOT NULL,
systemoverseeroperation text NULL,
overseerloadvalue real NULL,
memuseval real NULL,
overseerthermallevel text NULL,
cabtempval real NULL,
cabhumiditylevel text NULL,
    PRIMARY KEY (systemoverseeractuation),
    FOREIGN KEY (systemoverseeractuation) REFERENCES actuation_data(actreg),
    FOREIGN KEY (systemoverseeroperation) REFERENCES operation(operreg)
);

First 3 rows:
systemoverseeractuation    systemoverseeroperation      overseerloadvalue    memuseval  overseerthermallevel      cabtempval  cabhumiditylevel
-------------------------  -------------------------  -------------------  -----------  ----------------------  ------------  ------------------
AC_DJOHX8                  OP_ES8D6H                                 0.99        32.07                                 33.84
AC_U95O0H                  OP_0FUE4V                                 1.31         7.01                                 23.05
AC_HPP9RV                  OP_BNMLPS                                58.24        96.98                                 28.68
...


CREATE TABLE "maintenance_and_fault" (
upkeepactuation text NOT NULL,
upkeepoperation text NULL,
faultcodeval text NULL,
issuecategoryval text NULL,
issuelevelval text NULL,
faultpredscore real NULL,
faulttypeestimation text NULL,
rulhours bigint NULL,
upkeepduedays bigint NULL,
upkeepcostest text NULL,
    PRIMARY KEY (upkeepactuation),
    FOREIGN KEY (upkeepactuation) REFERENCES actuation_data(actreg),
    FOREIGN KEY (upkeepoperation) REFERENCES operation(operreg)
);

First 3 rows:
upkeepactuation    upkeepoperation    faultcodeval    issuecategoryval    issuelevelval      faultpredscore  faulttypeestimation      rulhours    upkeepduedays  upkeepcostest
-----------------  -----------------  --------------  ------------------  ---------------  ----------------  ---------------------  ----------  ---------------  ---------------
AC_DJOHX8          OP_ES8D6H          E8902           NON                 Low level                   0.021  Motor                        1601               16
AC_X062CP          OP_82TO6O          E4278           COM                 High level                  0.793  Controller                   3167               46
AC_HLO6GZ          OP_RQ18FZ          E6585           SOF                 High level                  0.343  Gearbox                      3106               22
...


CREATE TABLE "performance_and_safety" (
effectivenessactuation text NOT NULL,
effectivenessrobot text NULL,
conditionindexval real NULL,
effectivenessindexval real NULL,
qualitymeasureval real NULL,
energyusekwhval text NULL,
pwrfactorval text NULL,
airpressval real NULL,
safetystateval text NULL,
zoneviolnum bigint NULL,
emergencystopcount bigint NULL,
collisioncount bigint NULL,
overloadcnt bigint NULL,
speedviolnum bigint NULL,
calibstateval character NULL,
toolchangecount bigint NULL,
toolwearpct text NULL,
    PRIMARY KEY (effectivenessactuation),
    FOREIGN KEY (effectivenessactuation) REFERENCES actuation_data(actreg),
    FOREIGN KEY (effectivenessrobot) REFERENCES robot_details(botdetreg)
);

First 3 rows:
effectivenessactuation    effectivenessrobot      conditionindexval    effectivenessindexval    qualitymeasureval  energyusekwhval    pwrfactorval      airpressval  safetystateval      zoneviolnum    emergencystopcount    collisioncount    overloadcnt    speedviolnum  calibstateval      toolchangecount  toolwearpct
------------------------  --------------------  -------------------  -----------------------  -------------------  -----------------  --------------  -------------  ----------------  -------------  --------------------  ----------------  -------------  --------------  ---------------  -----------------  -------------
AC_DJOHX8                 RB2073                              0.152                    0.603                0.337                                              6.69  ✗ Emergency                   1                     2                 1              3               5  Y                              940
AC_U95O0H                 RB9067                              0.537                    0.751              nan                                                  5.51  ✓ Normal                      3                     2                 3              3               9  0                              nan
AC_X062CP                 RB4545                              0.708                    0.625              nan                                                  5.11  ✓ Normal                      4                     3                 1              5              10  Y                              nan
...
