Measuring center of gravity on a horizontal plane

Sep 2018
So I'm trying to find a way to the x, y, and z coordinates of the center of gravity for a rectangular box all at once. That is, I can't take the time to rotate it to three orientations and measure the CG on each side that'd be facing downward for each orientation. The box doesn't have mass evenly distributed throughout.

Right now, I have a method for measuring the 2D CG coordinates for which side is facing down, which is just measuring the weight at three corners and calibrating.

So, here's the idea I had for measuring all coordinates at once, and I was hoping someone could verify if this would work:

Say I wanted to measure what the CG would be for one of the box's sides currently facing outward as if it WAS facing down. I figured that since I'm using the force of gravity (weight) to measure the CG on the side facing down, simulating gravity's acceleration horizontally would give me the CG of the side surface. So I thought of this method to simulate gravitational acceleration horizontally:

If I attach a motor to another side of the box that would spin to push the side I'm interested in against the wall, then have the motor's rotational acceleration set to alpha=9.81/(motor radius), which would make the tangential acceleration 9.81 m/s^2, then it would simulate the force of gravity against the side of the box I'm trying to find the CG for.

Next, I'd use sensors to measure the force at three corners on that side of the box and calibrate to find the CG, just like I would for the side that's facing down.

Would this work, and can you tell me why or why not? Sorry if I worded my question in a way that isn't very clear.


PHF Helper
Jun 2010
Morristown, NJ USA
I'm not following what you men about pushing against a wall - that would constrain the box's movement resulting in zero acceleration.

An easier way is to support the bottom of the box along one edge, and measure the force you have to apply horizontally at the top of the box to keep it balanced. You already know the x-coordinate of the c.g., so you can now use sum of moments = 0 about the supported edge to determine the z coordinate of the c.g.

Edit - I should have been a bit clearer: you do this while accelerating the box, support and sensor horizontally at some known rate (doesn't have to be equal to g).

Or another idea: think about how the nose of a car pitches up when you accelerate and pitches down when you brake. This is due to the center of mass of the car being at a point above the road surface. You could keep your force sensors on the bottom surface, and measure the change in their readings between the static condition and when you accelerate or decelerate the box and sensors. This is probably an easier approach, as it reuses your existing sensor arrangement.
Last edited:
  • Like
Reactions: 1 person