Self-leveling table

Just ensure an adequate supply of folded beer-mats.

1ChicagoDave:
I don't see the big deal. I think the 3 of four legs adjustable should work.

Given an infinitely stiff table and floor, a four-legged table will actually sit on three legs. Of course nothing is really infinitely stiff and typically a table will flex enough to sit on all four legs on a flattish floor. However, as soon as you introduce an uneven floor, you can't get all four legs taking weight unless you have a feedback system. No matter what order to try to adjust the legs, it will always end up with three legs taking the weight. Remember that in the case you describe where you start by adjusting one leg, initially one leg will be in the air and you don't know which one it is.

I cannot really see the problem with a four legged table. Even if most of the weight was on one leg as long as the legs all touch the ground I would have thought it would be stable. Things would be simpler with three legs though.

Also since the floors can be sloped the automatic legs need to be able to make themselves both longer and shorter than the non-automated leg.

I think you also mentioned that ultimately you want more than one table to not only be level but also at the same height as the other table/s. That sounds like a whole different problem. To solve it I think all the legs on the tables need to be automatic and that some communication between tables will also be required.

What is the precision in degrees that a cheap Accelerometer can detect gravity with no movement? Which model is best for this purpose? It's OK to average readings since the requirement is not fast. Can we do a comparison of different IC's? Does it matter if the X-axis is pointed straight up? In this case which axis would be most precise (in degrees) X or Y? Would it be more precise (degrees) if X,Y,Z were all about 45 degrees from up?

While servicing a minicomputer in the 70s I saw a optical bench table in use at the Lawrence Livermore National Laboratory. It was a massive 12 foot long 8 foot wide thing (or it seemed that large in my memory). You could apply force on one corner by pushing down on it and see the table readjust to level. I asked someone there what it cost and they said if you have to ask you can't afford one. :wink:

Lefty

"a massive 12 foot long 8 foot wide thing " was a metal table for microscopes. The four legs were air-suspension cylinders with diaphrams. See the picture for leveling hardware. You can sit on a corner and it will adapt and level the table, while floating on air (If you weight little).

I have used these air tables that level themselves with hissing air transfers on four corners.
(Image from http://assets.newport.com/web600w-EN/images/1238499.gif )

PeterH:

1ChicagoDave:
I don't see the big deal. I think the 3 of four legs adjustable should work.

Given an infinitely stiff table and floor, a four-legged table will actually sit on three legs. Of course nothing is really infinitely stiff and typically a table will flex enough to sit on all four legs on a flattish floor. However, as soon as you introduce an uneven floor, you can't get all four legs taking weight unless you have a feedback system. No matter what order to try to adjust the legs, it will always end up with three legs taking the weight. Remember that in the case you describe where you start by adjusting one leg, initially one leg will be in the air and you don't know which one it is.

Lengthen each leg in turn, until it makes the level worse. All legs are then touching the ground. Now shorten each leg in turn until either level or no difference can be detected (leg is off the ground). If leg off ground, readjust other legs and retry.

1ChicagoDave:
I don't see the big deal. I think the 3 of four legs adjustable should work.
Here -

Mount accelerometer so the axis point across the table corner-to-corner.
In code:
• Retract all adjustable legs
• Extend ONLY the leg across from non-adjustable leg until that axis is level.

  • the table will no lean towards one of the remaining legs.
    • Now, extend one leg on other axis (the one the table is leanin gtoward) until table hits "level" on that axis.
    • Extend remaining leg until table us unlevel on that axis (TOO HIGH on that leg), retract same leg until it becomes level again.

Should now have a level table.

That's exactly how I envision it.

EDIT:
Worst case, may need to attach some minor "switch/button" on legs to ensure they are all touching the ground. As long as all legs touch ground/floor....I don't see how it would tip from shifting weight.

I don't see any need for switches.

Robin2:
However doesn't all this require the user to orient the table so the fixed leg is on the high side of the floor?

The 'fixed' leg will have a manually adjustable foot for just such an eventuality.

was a metal table for microscopes.

The budget version is a paving slab laid on an inflated bicycle inner-tube.

radman:
as long as the legs all touch the ground

Given a situation where they do not initially all touch the ground, how do you bring all the legs into contact with the ground, unless you have some feedback mechanism?

You can achieve it mechanically, at the cost of considerable complexity, but just stepping legs up and down individually without any feedback doesn't do it.

PeterH:

radman:
as long as the legs all touch the ground

Given a situation where they do not initially all touch the ground, how do you bring all the legs into contact with the ground, unless you have some feedback mechanism?

You can achieve it mechanically, at the cost of considerable complexity, but just stepping legs up and down individually without any feedback doesn't do it.

Define "feedback".

1ChicagoDave:

PeterH:

radman:
as long as the legs all touch the ground

Given a situation where they do not initially all touch the ground, how do you bring all the legs into contact with the ground, unless you have some feedback mechanism?

You can achieve it mechanically, at the cost of considerable complexity, but just stepping legs up and down individually without any feedback doesn't do it.

Define "feedback".

Feedback meaning an active measurement from some sensor that changes with table levelness. Used in the program to change an output that will correct for the error until error equals zero. Probably need multiple feedback values to implement a self-leveling table.

Lefty

retrolefty:

1ChicagoDave:

PeterH:

radman:
as long as the legs all touch the ground

Given a situation where they do not initially all touch the ground, how do you bring all the legs into contact with the ground, unless you have some feedback mechanism?

You can achieve it mechanically, at the cost of considerable complexity, but just stepping legs up and down individually without any feedback doesn't do it.

Define "feedback".

Feedback meaning an active measurement from some sensor that changes with table levelness. Used in the program to change an output that will correct for the error until error equals zero. Probably need multiple feedback values to implement a self-leveling table.

Lefty

Right. (Nice definition.)

I would've thought that,

...accelerometer... ... axis point across the table corner-to-corner.

would have fit that description.

I think I see what you mean. You can just adjust a leg up and down and see whether it affects the level to work out whether that leg is touching the ground. I don't think it's quite as simple as your pseudocode suggests (you can't assume which way the table is going to rock) but I agree that it would be possible to do without any additional sensors.

PeterH:
I think I see what you mean. You can just adjust a leg up and down and see whether it affects the level to work out whether that leg is touching the ground. I don't think it's quite as simple as your pseudocode suggests (you can't assume which way the table is going to rock) but I agree that it would be possible to do without any additional sensors.

Right. Code will be interesting, at the least. I do think, with some creative forethought, it could determine which way it is leaning....if while adjusting one leg it caused table to rock towards the other leg....switch parameters to compensate for that....etc....
But, I think what I am assuming (right or wrong?) is that the creator of this leveling table will be the one using it, and will be present while it is 'leveling'. So, that person can sort of "help" it along by making sure a few of these other variables are under control. So, no, it would not be completely & reliably 100% self leveling. ....that would be just a tad more complex. :~

But very cool!

1ChicagoDave:
But, I think what I am assuming (right or wrong?) is that the creator of this leveling table will be the one using it, and will be present while it is 'leveling'. So, that person can sort of "help" it along by making sure a few of these other variables are under control. So, no, it would not be completely & reliably 100% self leveling. ....that would be just a tad more complex. :~

But very cool!

You assume correctly. It will be my table and I would be the one setting it up.

Self leveling Pool Table on Cruise ship VID 1 - YouTube

That's probably on gimbals with a large weight hanging under it. No electronics needed.

Now that the basic logic is sorted, how would I mechanically drive a bolt (in both directions) with a stepper motor, seeing that the bolt will move up and down relative to the leg. Obviously, I cannot fix the motor to the leg unless some sort of sliding mechanism is used.

PeterH:
I think I see what you mean. You can just adjust a leg up and down and see whether it affects the level to work out whether that leg is touching the ground.

Correct.

I don't think it's quite as simple as your pseudocode suggests (you can't assume which way the table is going to rock)

You can't assume it, but you can detect it.

As I mentioned in Post #11 you can assume it if you build a deliberate imbalance into the table.

...R

Henry_Best:

I don't think it's quite as simple as your pseudocode suggests (you can't assume which way the table is going to rock)

You can't assume it, but you can detect it.