# Calculating forces in a mass suspended by four cables

As a project, I am designing a cable-controlled camera system (i.e., a home-made Skycam clone). Basically, it is a mass suspended by four cables connected to fixed points; by lengthening or shortening the cables with motors the mass can be moved to an arbitrary $(x, y, z)$ position within the volume described by the four fixed cable points and the ground.

To choose the motors, the required torque rating is an important factor. The maximum torque on a given motor will obviously come when it is directly below the corresponding fixed point (i.e., a vertical cable). In this case all the weight will need to be supported by the motor, and the torque will be the product of the weight and the radius of the reel the cable is wound onto. This is what I will use to choose the motors, with an appropriate margin.

However, being a pendantic person, I would like to figure out the torque (and, by extension, the force on each cable) when the mass is stationary at an arbitrary position. In this situation, the free body diagram I have been using is below - my graphics skills leave a lot to be desired but hopefully its clear what is going on.

The way I have been trying to solve this is by decomposing the forces into cartesian components and setting up a set of simultaneous equations. If cable $n$ has an elevation $\phi_n$ and an azimuth $\theta_n$, the cartesian components for the force on the cable are

$$F_{xn} = F_n\cos\phi\cos\theta = c_{xn}F_n\\ F_{yn} = F_n\cos\phi\sin\theta = c_{yn}F_n\\ F_{zn} = F_n\sin\phi = c_{zn}F_n$$

Since the mass is not moving, the $x$- and $y$- components must cancel out, and the $z$-component must be equal and opposite to the force due to gravity. Hence

$$c_{x1}F_1 + c_{x2}F_2 + c_{x3}F_3 + c_{x4}F_4 = 0\\ c_{y1}F_1 + c_{y2}F_2 + c_{y3}F_3 + c_{y4}F_4 = 0\\ c_{z1}F_1 + c_{z2}F_2 + c_{z3}F_3 + c_{z4}F_4 = -mg$$

However, this is under-determined, which would mean there are multiple (infinite?) possible distributions of the force amongst the cables. My intuition is telling me there should be just the one solution. Hence I am wondering if

1. my intuition is wrong,
2. if I am missing something that would allow this system to be well-determined, or
3. if this is the best I am going to get, and I'll need to use a least-squares (or similar) solver to try and figure out the distribution of forces.
-
Why do you need four cables? Three should suffice for control (x,y,z) of camera. –  ja72 Jun 20 '12 at 18:05
@ja72 - because the cables only provide tension, the camera must remain inside the volume described by the fixed points the cables are attached to. So a three-cable system would constrain the camera to a triangular prism, whereas four points allows it to move within a cuboid, which is the situation I am designing for. –  Blair Jun 20 '12 at 21:21

I think you are missing something. If you are treating the payload as a point-mass and applying all the cables to the same point, then as @ja72 says, three cables will suffice. Mathematically within your model, you would be able to set any one force arbitrarily and solve for the other three.

I think what you are neglecting is that the payload is a physical object with finite dimension; it can rotate in three-space. You don't have to connect all the cables at the same position as each other. In addition to balancing the linear forces, you have to also balance the torque the cables apply to the payload to prevent it from rotating. From the photos in the Wikipedia article, it looks to me like the real Skycam uses three cables plus gravity to set the position and constrain the rotation to a single axis, and the fourth cable to rotate around that axis.

EDIT: The way you have things set up, you are taking as given the angles and points of connection of the cables, and solving for the tensions. That gives you the freedom to connect the cables anywhere on the payload that you wish. You are using that freedom to connect them all to the center of mass, which makes the calculations easier, but doesn't give you any torque. I'm going to use that freedom to say that the cables are going to pass through the z-axis, which I am taking to be the vertical line running through the center of mass of the payload. This isn't necessary*, but it makes some calculations simpler.

Now let's compute the torque around the center of mass. Gravity runs through the COM, so it provides no torque. You can use plane geometry to compute the torque of the nth cable as $\vec{\tau_n} = \vec{r_n}\times \vec{F_n} = r_nF_n\sin\phi_n (\pm\hat\theta)$. $\phi_n$ is as you defined it. Choose the sign on whether the cable crosses the +z-axis before it connects to the payload, or if it would cross the -z-axis if it were allowed to pass through the payload. $\hat\theta$ is a unit vector pointing in the direction of increasing $\theta$, and will depend on the cable. It will have components in both the x direction and the y direction, so that's two more equations. That over-determines your problem: you then have five equations in four unknowns. I take that to mean that you can't fully arbitrarily pick where you connect the cables to the payload. Either the x or y coordinate of one of them will be determined for you.

*The complication is that the torque then has a component in the z direction. That gives you another equation, which means the connection point of one of your cables will be fully determined by the connection points and angles of the other three.

-
Hmmm. I just drew them connecting at the centre for simplicity; in reality the cables will connect near to the top corners of the mass. I was only treating it as a translational system - I see what you mean about needing to account for rotation too. I'll have a play with adding that into the system but any further details you can give would be gratefully accepted. –  Blair Jun 20 '12 at 21:40

One way to solve an system is through a least squares fit. So given $C\,F = W$ with $C=(c_{x1},c_{x2},...)$ a $3\times4$ coefficient matrix, $F=(F_1,F_2,F_3,F_4)$ your 4 unknowns and $W=(0,0,-m g)$ the applied loads.

$$(C^\top C)\,F = C^\top W$$ $$F = (C^\top C)^{-1} C^\top W$$

In an engineering sense you can only solve the problem if you consider the elasticity of the ropes (as well as their weight) to find what load sharing you have.

-