Arm design

A project log for Robotic Flexor

A passive linear actuator based on a simple solenoid to recreate the flex motion of biological muscles.

josh collinsjosh collins 09/03/2021 at 15:590 Comments

Antagonist solenoids

Much like muscles, a simple solenoid can only move in one direction. The idea is to have two opposing solenoids pulling in opposite directions just like flexor and extensor muscles in an arm. This comes in handy when trying to hold a position while resisting outside forces. If you instead used a servo then you would only have a constant force in one direction. You can accomplish this with stepper motors giving more precision, but solenoids can distribute their weight throughout the arm, so it's momentum doesn't affect the movement as much, and they potentially take up less space in the design, especially since they can be driven by an analog voltage.

In these examples the arm is vertical. In order to get the most force at the end of the arm, the solenoid force should be perpendicular to the arm. To solve this, I use a string guided along an arch to pull the arm attached to a pulley. The original force (F0) is 0 because there is no opposing force yet. 

The torque of gravity at the pulley will be the force of gravity * length to the center of rotation * sin( angle of arm ), where the angle is 0 when extended. The torque of the solenoid will be constant since the string is always pulling parallel. To hold a position, this gives us: F1A = (forearm length) * (force of gravity) * sin(angle) / (arch radius). To get a force F1B, we can do the same thing backwards and subtract the force of gravity at the end.

You can add in outside forces like F2D here just like we did above. To use the opposing solenoid just subtract the force F2C from F2A. The Force over time of the opposing solenoids actually goes much deeper because a sudden opposing force will give different results because of the nature of solenoids, which I explained in previous logs. I will probably focus on that in the next log.