Spring Arm discussion, elastics

Branching Spring Arm discussion from Team 1107 reveal post 34

While I’m primarily reponsding to Murdomeek, anyone should feel free to chime in with corrections to my math, or questions.
https://vexforum.com/gallery/files/1/5/6/8/spring_arm_diagram_cmp.jpg

Starting with basic physics:
Spring Potential Energy (SPE) kxx/2; where k is spring constant, x is displacement
The force from a spring is kx;
Gravity Potential Energy (GPE) for a mass (arm) at h (height) is mgh
The force from gravity is (also known as weight), is mg.
Torque around a pivot = (length of lever arm) * force; eg inch*pounds

SPE can be traded for GPE with the correct mechanical connection.
The arm motor is only needed to accellerate the arm,
and make up for friction and imperfect elastic losses,
and (of course) to lift the additional mass of the cargo.
Any disagreement so far in principle and equations for SPE and GPE?

Next step (and last for today),
calculate (or build example of) the correct mechanical connection for a single arm location,
where the net torque on the arm axle is 0, when the arm is horizontal.

The arm is modeled as a point-mass m, at the end of a massless arm length L, with the shoulder pivot at Y above the ground, with arm angle theta, where theta =
-90 degrees as straight down, cos(-90) = 0;
00 degrees as straight out parallel to the ground, cos(0) = 1
+90 degrees as straight up, cos(90) = 0;
The usual arm range is something like -45 to +45, for a total swing of ~ 90 degrees.
This means the horizontal distance from mass to pivot is cos(theta) * L
The spring is connected to a chain, which wraps around a sprocket.
The radius R of the sprocket is the length of the lever arm for the spring.

At the 0 degree position, the arm torque on the pivot is mg*L*cos(0) = mgL

This torque needs to be balanced by (spring force) * (spring lever arm).
Like so: mgL = kxR
So it should be obvious that you can change number of rubber bands (to change k),
or change how far they are stretched (x, the red bar by the pic of rubber band)
or the Radius of the sprocket ®,
until this makes the arm balanced at the horizontal position.

After all these words, I hacked up a picture to represent all the terms:
The rubber band is circled at the left, but doesn’t show up well in the picture.
The blue bar represents the unstretched default length of the rubber band.
The red bar shows the length of x, the amount of stretch.
Now you can bounce it upward with your finger, but it will settle back to the same position.
It will balance with 20 rubber bands (big k) with very small x (stretch),
or 1 rubber band (small k) with a bigger x.

The full form: mgL*cos(theta) = kxR, has 2 variables theta and x;
Since x is a function of theta (more theta rotation winds up the chain and increases x stretch)
there is only one solution, which is the balance point.

One thing you should consider is that as the arm approaches the horizontal, you are reaching the maximum torque required to lift the arm, as the force component (gravity) is perpendicular to the radius component (the arm) at that point. It’s difficult to compensate for this with rubber bands, but I suppose it would be possible to make something that maintains constant vertical force at the end of the arm. If you really wanted to make that shape, you would have to consider these equations:
rxF=τ where F is force due to gravity
F=kx where F is force provided by the rubber bands and k is not necessarily constant
Use the first equation to find the torque required to balance the arm as a function of the angle of the arm.
Use the first equation to find the horizontal distance from the rubber bands to the pivot point to supply the needed torque as a function of the angle of the arm. You will need to use the second equation to model the force of the rubber bands, however this is a pain and I would recommend assuming the force of the rubber bands is constant. If you do want to account for the changing force, a simple solution would be to mount the rubber bands on the robot on the side of the pivot point that the arm is on. This will give you less torque when the rubber bands are stretched out than when they are looser.

An example:
The torque required to keep the arm balanced is equal to the cosine of the angle of the arm from the horizontal. The horizontal distance from the pivot point to the mounting point of the rubber bands on the arm is that torque divided by the rubber band force. The rubber band force is close enough to constant, so the horizontal distance is equal to the cosine of the angle of the arm from the horizontal. In simpler words, extend your arm back an inch or so and put lots of rubber bands on that extended part.

If you’re going to have lots of game objects at the end of your arm constantly, it would be better to account for that weight in the elastics. Is you had two barrels in your manipulator, that’s about a pound of weight, which is no small matter when put at the very end of the lever.

We can hold up to 6 objects now (soon to be 8), and it does slow the arm down significantly from when it is unloaded. It takes about 2 seconds to raise up fully instead of the regular 1 second.

What you can do is put more upward force from rubber bands on your arm, then have some constant down voltage to keep it level when it is unloaded.

I’m trying to simplify my spring arm arm design spreadsheet, and make it practical before posting it, but I’m having trouble rationalizing it with reality.
If you take a roll of nickels (or other handy 500 gram calibrated weight), and hang it from a vex standard rubberband, what is the new length of the rubber band?

I get 10 inches, so the spring-stretch = 10"-(original 3") = 7" inches
F = g * 50g = kx = k * 7"; k = 70gr gravity per inch;
In metric units:
The Force the hanging weight exerts on the spring is mg = 0.5kg * 9.8m/s/s = 4.9 kg
m/s/s
F = kx; k = F/x = 4.9 kg m /s/s / (.178m) = 27.5 kg/s/s (hey the units came out right!)

To check this practically,
a 0.5kg mass at the end of a 0.5m arm exerts a torque of 0.50.59.8 = 2.45 = mgL
If we have 0.1m =(~4inch) arm tail for a lever arm, how many rubber bands will we need?
To get a balancing Force, you’ll need 2.45/0.1m = 24.5.
With a stretch value of 0.08m (3.1inches), about 10,11 rubber bands should hold the arm horizontal.
Does that match your intuition and experience?
If we allow them to stretch 0.16m (6.3inch) more than their original 3" length

Looks right, jgraber. If your arm is particularly heavy, don’t forget to halve its weight and add that to the force needed to be supplied by the rubber bands.
When your rubber bands are stretched to 6.1 inches, your arm will be floating if it’s horizontal.
Keep in mind that rubber bands don’t have a constant spring force.

Instead of having a straight arm tail, if you use 45 degree gussets pointed up on the tail end of your arm, you will be compensating for the force changing and will get an arm that is more balanced when all the way up or all the way down.

I characterized two rubber bands by stretching them a half inch at a time, and measuring how much they reduced the weight of a half kg mass.
The graphs were fairly straight (as good as my methodology) and linear, with a slope that shows k = 70-80 G*gr/inch.
I just realized my cam modeling spreadsheet can model both straight tail,
and your 45 angle gusset tail. So work on that this week.

I did some tests with rubber bands it it seemed a little off of constant. But it’s probably constant enough, as long as you’re not stretching it to its extremes. Also, the shorter the tail, the more constant your lift will be as the rubber bands stretch less. The 45 degree gusset is to compensate for the change in spring force, but it may overcompensate if your tail is short. Also, the 45 degree gusset is stronger than straps, so it’s a nice extension to your arm for the tail if the arm itself is not long enough.