Self leveling surface, four corners

There are many self-leveling projects online, robots, waiter tables, etc. most of them using one or two servos under the surface that needs to be leveled.
Two servos below the surface, in the center, works ok if not heavy load is expected. But in my case I need to self level a surface that will hold a few pounds, so I though about using a linear actuator on each of the 4 corners.
I cannot find any guidance on how to balance a surface with actuators in four corners.
All four corners will need to be synced and moved a certain amount on every correction.
Where can I find more clues on how this could be implemented?

Calibrate the rigg for horisontal and put the servo values into the code as constants.

Think about linear actuators on THREE corners. The 4th corner is already level!!!!! Make the other three level with the fixed corner.

Actually with 4 corners, there can easily be a situation where opposite corners are executing an opposite motion, applying a bending force to the platform.

Same whether the 4th corner is motorized or not.

Only a 3 corner platform can freely move any corner and not automatically stress any other corner (or actuator).

How do you (@manny2002) plan to deal with that?

I dont know yet,, Im just brainstorming so far. it need to be with actuators positioned on each of the four corners because the stress of the load might be placed anywhere along the surface, so there must be the same stability on each point of it.
Pretend it is a night table sitting on an uneven floor somewhere around the house. The point is to have the top surface completely flat, even if each of the "legs" are on a floor that is not perfectly leveled. Lets say for sake of example, that if the floor would be perfectly leveled, then each actuator (legs) will be extended 20mm, but if the floor is uneven, then one leg will be 20mm, and the other ones would have to compensate more or less so that the surface at the top is perfectly level.
I would like to be able to move the night table to another place in the house, where the floor is not fully leveled, and have the top perfectly leveled at a press of a button (not constantly or real time, because once the surface is positioned on the floor, the floor will stay the same, so it has to be done only every time the night table is moved to another room.
I hope Im explaining this properly.

I have some tables with adjustable legs. I learned, you never need to adjust more than ONE to stabilize it. Try it. :slight_smile: To make it LEVEL (perfectly horizontal) you need (edit) THREE adjustments.

Basically you could level it in X direction with two end legs, then level it in Y direction with one opposite leg. Then, adjust the final leg to stabilize it (this one is trickier than the other 3 because you can't sense it by measuring the platform angles). It is more about equal force (weight) distribution.

With all your brain storming, you are still circling about the need to adjust only three legs to make the table even with the fixed third leg.

Look for "Stewart platform". Here is one of many successful examples with 3 corners, but uses six linear actuators

For the theory, see https://www.instructables.com/Six-Axis-Platform-Using-Linear-Actuators-Stewart-P/

It is possible to make one with four corners, but as others have noted, that introduces additional constraints that your program must take into account correctly, or it will self destruct.

1 Like

This is a great suggestion!! Thanks

Yes, 3 legs should do the job. Just a bit of different math now (circular vs. catesian coordinates).
For my feeling:
You need a reference, for "what is leveled": adjust the system with empty table and use it as reference.
With accelerometers you can figure out if the table moves, in which direction.

Or: you use old style mercury switches: mounted cross-wise, so that the switch closes when tilted into one direction. The gravity on the mercury does the job. With four of such switches - it should work.
It seems to me more a question how to sense when you table is out of balance, which sensors to use (not a math issue). If you do not know what "leveled" means (how to "measure" or sense)...

I was thinking of using an accelerometer, from Bosh.

Avoid the poorly performing, antiquated Bosch BNO055.

1 Like

I can take suggestions. :slight_smile:

You could also start doing some research.

Any of the recent crop of accelerometer modules sold by hobby suppliers like Adafruit, Sparkfun, Pololu etc. will significantly outperform the BNO055.

Tutorial on tilt sensing: How_to_Use_a_Three-Axis_Accelerometer_for_Tilt_Sensing-DFRobot

Actually, as a wood, steel, aluminum what not maker I think for myself your suggestion to use a simple mercury switches is brilliant. Thanks!
PS just purched a dozen :wink:

Why? You only need to match 3 corners to the independent corner.

7 posts were split to a new topic: Fighting Actuators

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.