Space Engineers

Space Engineers

View Stats:
Can a sensor sense the ground?
Im making a legged walker and i need find way to tell when a foot reaches the ground.
< >
Showing 1-15 of 30 comments
BreezeRider Apr 10, 2021 @ 11:27pm 
It can but not accurate on planet.
dragonsphotoworks Apr 10, 2021 @ 11:35pm 
Shoot working on a legged rover and need way to tell leg to stop extending when hits ground.
ShadedMJ Apr 11, 2021 @ 5:20am 
Sensors haven't been able to sense planet ground reliably for .... 3 years now (?). Used to work before. Last time I tried was making a cliff detector.

Edit: I think just after that, I had ground detection as an unpowered rotor with some blocks and detecting the rotor move as it touched the ground.
Last edited by ShadedMJ; Apr 11, 2021 @ 5:29am
frag2k4 Apr 11, 2021 @ 5:45am 
Depending on how you are making the leg maybe make a spur on the foot and set the sensor to stop the piston from extending once the spur is no longer detected.

Just tried out the idea.

So in this pic the sensor is in the knee with the detect only going down, it is set to detect subgrids which in this case is the foot.

https://steamcommunity.com/sharedfiles/filedetails/?id=2453895048

So when the foot reaches the ground the pistons continue until the sensor breaks with the foot (bare in mind you would need some leeway in distance for difficult terrain otherwise it will stop at the wrong time). In which time the sensors not detection option will kick in and turn off the pistons.

https://steamcommunity.com/sharedfiles/filedetails/?id=2453895085
Last edited by frag2k4; Apr 11, 2021 @ 5:57am
dragonsphotoworks Apr 11, 2021 @ 1:14pm 
@ShadeMJ, How do i detect rotor movement?

@Frag2K4, Im not completely sure what you mean? I have a slight understanding. But not how mechanicly it works? What breaks sensor? I dont see a piston that blocks sensor view.

here is SS

EDIT - forgot SS... oops
https://steamcommunity.com/sharedfiles/filedetails/?id=2453481081
Last edited by dragonsphotoworks; Apr 11, 2021 @ 1:28pm
frag2k4 Apr 11, 2021 @ 1:22pm 
If you check my 2 SS you can see the sensor field coming from the 'knee' area, the sensor reaches into the block on the foot, since its set up to detect subgrids when the pistons are fully retracted the sensor field is inside the block.

In the second pic as the pistons extend the sensor begins to move away from the foot and once the end of the field no longer interacts with the foot it goes off and in turn activates the setting (in this case it tells the pistons to stop extending by turning them off)

dragonsphotoworks Apr 11, 2021 @ 1:32pm 
Oh, ok i see it now. My problem is that i need it to stop when extending and hits ground. This would work to make sure joints dont over extend what i want though. So that does help.

But what im looking for in detection is.. lets say left side piston of foot touches edge of a ditch. But the right side continues to extend to try reach ditch floor. in normal case left would continue and lift up vehicle. while right side hung in air.

What im looking for is when left side hits ditch edge it stops. While right side would continue till hit ditch floor for example. To help keep platform level.

Im starting to wonder if this is possible.
frag2k4 Apr 11, 2021 @ 1:37pm 
Might be a long shot but maybe try something like a space ball and create a bubble level, you would need to use the 2x1x1 slopes to make a resting point where the ball will reset but if you then put sensors on the 2 ends of the 'level' you can have them set to shut off the piston extension when they detect the ball.
dragonsphotoworks Apr 11, 2021 @ 1:43pm 
I was thinking, while would look very ugly... what about merging your idea and shades.

Basicialy put a rotor on bottom of each foot piston. as hits ground it would rotate away from ground. Then use a sensor to detect when rotor rotates into view?
ShadedMJ Apr 11, 2021 @ 1:54pm 
Originally posted by dragonsphotoworks:
@ShadeMJ, How do i detect rotor movement? ...

I was doing it the really simple (probably flawed) way before I lost interest.
float RotorAngle=float.NaN;

public void Main(string argument, UpdateType updateSource) {
IMyMotorStator MS=GridTerminalSystem.GetBlockWithName("Rotor") as IMyMotorStator;;
if (RotorAngle==float.NaN)
RotorAngle=MS.Angle;
bool IsDifferent=(RotorAngle!=MS.Angle); }
dragonsphotoworks Apr 11, 2021 @ 2:02pm 
Ok can you make it so looks for a editable TAG...? :-) Hate to ask but..
frag2k4 Apr 11, 2021 @ 2:06pm 
You rotor idea might work but might get blocked by obstacles, depends on where you put them.

So this is what I was thinking, from initial testing you wouldn't need the slopes but maybe some pistons to hold the ball in place when level. When the mech moves the pistons lift freeing the ball to move (you might want to say set a timing block to trigger from the sensor that would then lower the blocking piston on the other side and visa versa)

https://steamcommunity.com/sharedfiles/filedetails/?id=2454425390

Had to modify the legs somewhat to make this happen on level terrain and it is a bit extreme but the concept works the ball triggered the sensor, at this point it would shut off the left side pistons to stop it tilting

https://steamcommunity.com/sharedfiles/filedetails/?id=2454425428
dragonsphotoworks Apr 11, 2021 @ 2:13pm 
Oh wow that looks like cool setup and i see how works now. Wont work on small grid as well for me. But since i tend to build... large... anyway lol. I can make that work. Thanks for the idea
frag2k4 Apr 11, 2021 @ 2:16pm 
Just a precaution the ball was warping some of the blocks so you might want to use blast doors, since this was a visible version to show it was a bit fragile and got dented as the ball rolled, maybe some small 1x1 wheels to use a cushions would help, might need to increase the sensor range with that in mind too.
dragonsphotoworks Apr 11, 2021 @ 2:26pm 
Ah ok.. i wonder if put a welder it would repair also?
Last edited by dragonsphotoworks; Apr 11, 2021 @ 2:26pm
< >
Showing 1-15 of 30 comments
Per page: 1530 50

Date Posted: Apr 10, 2021 @ 6:22pm
Posts: 30