Source code for rofunc.utils.robolab.ergonomics.reba_calculate.degree2reba.upper_arm_reba_score

[docs]class UAREBA: # For calculating REBA score based on degrees def __init__(self, UA_degrees): self.UA_degrees = UA_degrees
[docs] def upper_arm_reba_score_overall(self): upper_arm_reba_score = 0 upper_arm_flex_score = 0 upper_arm_side_score = 0 upper_arm_shoulder_rise = 0 right_flexion = self.UA_degrees[0] left_flexion = self.UA_degrees[1] right_side = self.UA_degrees[2] left_side = self.UA_degrees[3] right_shoulder_rise = self.UA_degrees[4] left_shoulder_rise = self.UA_degrees[5] if right_flexion >= left_flexion: if -20 <= right_flexion < 20: upper_arm_reba_score += 1 upper_arm_flex_score += 1 if 20 <= right_flexion < 45: upper_arm_reba_score += 2 upper_arm_flex_score += 2 if right_flexion < -20: upper_arm_reba_score += 2 upper_arm_flex_score += 2 if 45 <= right_flexion < 90: upper_arm_reba_score += 3 upper_arm_flex_score += 3 if 90 <= right_flexion: upper_arm_reba_score += 4 upper_arm_flex_score += 4 if right_flexion < left_flexion: if -20 <= left_flexion < 20: upper_arm_reba_score += 1 upper_arm_flex_score += 1 if left_flexion < -20: upper_arm_reba_score += 2 upper_arm_flex_score += 2 if 20 <= left_flexion < 45: upper_arm_reba_score += 2 upper_arm_flex_score += 2 if 45 <= left_flexion < 90: upper_arm_reba_score += 3 upper_arm_flex_score += 3 if 90 <= left_flexion: upper_arm_reba_score += 4 upper_arm_flex_score += 4 # for side bending if abs(right_side) > 2 or abs(left_side) > 2: upper_arm_reba_score += 1 upper_arm_side_score += 1 # for shoulder rise if right_shoulder_rise > 90 or left_shoulder_rise > 90: upper_arm_reba_score += 1 upper_arm_shoulder_rise += 1 return [upper_arm_reba_score, upper_arm_flex_score, upper_arm_side_score, upper_arm_shoulder_rise]
[docs] def upper_arm_reba_score(self): right_upper_arm_reba_score = 0 right_upper_arm_flex_score = 0 right_upper_arm_side_score = 0 right_upper_arm_shoulder_rise = 0 left_upper_arm_reba_score = 0 left_upper_arm_flex_score = 0 left_upper_arm_side_score = 0 left_upper_arm_shoulder_rise = 0 right_flexion = self.UA_degrees[0] left_flexion = self.UA_degrees[1] right_side = self.UA_degrees[2] left_side = self.UA_degrees[3] right_shoulder_rise = self.UA_degrees[4] left_shoulder_rise = self.UA_degrees[5] if -20 <= right_flexion < 20: right_upper_arm_reba_score += 1 right_upper_arm_flex_score += 1 if 20 <= right_flexion < 45: right_upper_arm_reba_score += 2 right_upper_arm_flex_score += 2 if right_flexion < -20: right_upper_arm_reba_score += 2 right_upper_arm_flex_score += 2 if 45 <= right_flexion < 90: right_upper_arm_reba_score += 3 right_upper_arm_flex_score += 3 if 90 <= right_flexion: right_upper_arm_reba_score += 4 right_upper_arm_flex_score += 4 if -20 <= left_flexion < 20: left_upper_arm_reba_score += 1 left_upper_arm_flex_score += 1 if 20 <= left_flexion < 45: left_upper_arm_reba_score += 2 left_upper_arm_flex_score += 2 if left_flexion < -20: left_upper_arm_reba_score += 2 left_upper_arm_flex_score += 2 if 45 <= left_flexion < 90: left_upper_arm_reba_score += 3 left_upper_arm_flex_score += 3 if 90 <= left_flexion: left_upper_arm_reba_score += 4 left_upper_arm_flex_score += 4 # for side bending if abs(right_side) > 2: right_upper_arm_reba_score += 1 right_upper_arm_side_score += 1 if abs(left_side) > 2: left_upper_arm_reba_score += 1 left_upper_arm_side_score += 1 # for shoulder rise if right_shoulder_rise > 90: right_upper_arm_reba_score += 1 right_upper_arm_shoulder_rise += 1 if left_shoulder_rise > 90: left_upper_arm_reba_score += 1 left_upper_arm_shoulder_rise += 1 return [right_upper_arm_reba_score, left_upper_arm_reba_score]