diff --git a/nhf/touhou/houjuu_nue/electronics.py b/nhf/touhou/houjuu_nue/electronics.py index 0a0b466..6d3df18 100644 --- a/nhf/touhou/houjuu_nue/electronics.py +++ b/nhf/touhou/houjuu_nue/electronics.py @@ -24,11 +24,11 @@ class LinearActuator(Item): front_width: float = 9.24 front_height: float = 5.98 - segment1_length: float = 37.55 + segment1_length: float = 37.54 segment1_width: float = 15.95 segment1_height: float = 11.94 - segment2_length: float = 37.47 + segment2_length: float = 37.37 segment2_width: float = 20.03 segment2_height: float = 15.03 @@ -154,7 +154,7 @@ class MountingBracket(Item): height: float = 12.20 thickness: float = 0.98 length: float = 13.00 - hole_to_side_ext: float = 8.10 + hole_to_side_ext: float = 8.25 def __post_init__(self): assert self.hole_to_side_ext - self.hole_diam / 2 > 0 @@ -272,13 +272,24 @@ class BatteryBox18650(Item): LINEAR_ACTUATOR_50 = LinearActuator( - mass=34.0, + mass=40.8, stroke_length=50, - # FIXME: Measure - front_hole_ext=6, - back_hole_ext=6, - segment1_length=50, - segment2_length=50, + shaft_diam=9.05, + front_hole_ext=4.32, + back_hole_ext=4.54, + segment1_length=57.35, + segment1_width=15.97, + segment1_height=11.95, + segment2_length=37.69, + segment2_width=19.97, + segment2_height=14.96, + + front_length=9.40, + front_width=9.17, + front_height=6.12, + back_length=9.18, + back_width=10.07, + back_height=8.06, ) LINEAR_ACTUATOR_30 = LinearActuator( mass=34.0, diff --git a/nhf/touhou/houjuu_nue/test.py b/nhf/touhou/houjuu_nue/test.py index 91d81ad..465891c 100644 --- a/nhf/touhou/houjuu_nue/test.py +++ b/nhf/touhou/houjuu_nue/test.py @@ -7,6 +7,14 @@ from nhf.checks import pairwise_intersection class TestElectronics(unittest.TestCase): + def test_actuator_length(self): + self.assertAlmostEqual( + ME.LINEAR_ACTUATOR_50.conn_length, 103.9 + ) + self.assertAlmostEqual( + ME.LINEAR_ACTUATOR_30.conn_length, 83.9 + ) + def test_flexor(self): flexor = ME.Flexor( motion_span=60,