feat: Use 10mm actuator on both sides

This commit is contained in:
Leni Aniva 2024-07-29 01:06:27 -07:00
parent 1f99b5e41f
commit f33224c216
Signed by: aniva
GPG Key ID: 4D9B1C8D10EA4C50
3 changed files with 27 additions and 16 deletions

View File

@ -302,19 +302,20 @@ LINEAR_ACTUATOR_21 = LinearActuator(
stroke_length=21,
front_hole_ext=4,
back_hole_ext=4,
segment1_length=75/2,
segment2_length=75/2,
segment1_length=34,
segment2_length=34,
)
LINEAR_ACTUATOR_10 = LinearActuator(
# FIXME: Measure
mass=0.0,
mass=41.3,
stroke_length=10,
front_hole_ext=4.5/2,
back_hole_ext=4.5/2,
segment1_length=30.0,
segment2_length=30.0,
segment1_width=15.0,
segment2_width=21.0,
front_hole_ext=4.02,
back_hole_ext=4.67,
segment1_length=13.29,
segment1_width=15.88,
segment1_height=12.07,
segment2_length=42.52,
segment2_width=20.98,
segment2_height=14.84,
)
LINEAR_ACTUATOR_HEX_NUT = HexNut(
mass=0.8,

View File

@ -14,6 +14,12 @@ class TestElectronics(unittest.TestCase):
self.assertAlmostEqual(
ME.LINEAR_ACTUATOR_30.conn_length, 83.9
)
self.assertAlmostEqual(
ME.LINEAR_ACTUATOR_10.conn_length, 64.5
)
self.assertAlmostEqual(
ME.LINEAR_ACTUATOR_21.conn_length, 76.0
)
def test_flexor(self):
flexor = ME.Flexor(

View File

@ -44,6 +44,8 @@ class WingProfile(Model):
root_joint: RootJoint = field(default_factory=lambda: RootJoint())
panel_thickness: float = 25.4 / 16
# s0 is armoured
panel_thickness_s0: float = 25.4 / 8
# 1/4" acrylic for the spacer. Anything thinner would threathen structural
# strength
spacer_thickness: float = 25.4 / 4
@ -242,7 +244,7 @@ class WingProfile(Model):
return sketch
def outer_shell_s0(self) -> Cq.Workplane:
t = self.panel_thickness
t = self.panel_thickness_s0
profile = Cq.Wire.assembleEdges(self.outer_profile_s0().edges().vals())
result = (
Cq.Workplane('XZ')
@ -254,7 +256,7 @@ class WingProfile(Model):
plane.moveTo(0, self.root_height + t*2).tagPlane("top")
return result
def inner_shell_s0(self) -> Cq.Workplane:
t = self.panel_thickness
t = self.panel_thickness_s0
#profile = Cq.Wire.assembleEdges(self.inner_profile_s0())
result = (
Cq.Workplane('XZ')
@ -364,7 +366,7 @@ class WingProfile(Model):
]
result = extrude_with_markers(
self.profile_s0(top=top),
self.panel_thickness,
self.panel_thickness_s0,
tags,
reverse=not top,
)
@ -1139,13 +1141,15 @@ class WingR(WingProfile):
angle_neutral=-20.0,
child_arm_radius=23.0,
parent_arm_radius=30.0,
flexor_offset_angle=30.0,
flexor_child_arm_radius=50.0,
flexor_line_length=50.0,
flexor_line_slack=3.0,
flexor_offset_angle=45.0,
flexor_child_arm_radius=None,
flexor_mount_angle_parent=20,
flexor_mount_angle_child=-40,
hole_pos=[10, 20],
lip_length=50,
actuator=LINEAR_ACTUATOR_21,
actuator=LINEAR_ACTUATOR_10,
#flexor_pos_smaller=False,
**WRIST_PARAMS
))