Live data from Hacker News

PID Control Challenges

janismac.github.io

101–110 of 123 posts

Re: PID Control Challenges

#101
post #77

Shouldn't this have some thrust limits? I'm not sure if they are added later(I've only seen the first example), but it would make the problems more realistic, interesting and related to control theory.

I believe there are hidden ones.

Yes, after doing some testing with console.log even in the first examples, thrust magnitude is limited to 50.

Re: PID Control Challenges

#102

Earlier quoted context omitted.

My inner child of Doc Brown and Wernher von Kerman says, it's time to develop non-newtonian fuel sponges, which would release fuel if squeezed gently and steadily, but behave like solid if things start shaking too much, preventing sloshing.

Or maybe giant syringes? There can't be sloshing if there is no free space because top of cylinder just moves to adjust volume.

It's a moving part to go wrong. But more than that, the fuel tank has very thin walls. I can imagine you don't want a solid object inside the tank that's able to get any momentum.

You do get baffles in liquid fuel tanks to cut down the effect, and some people have tried flexible bladders inside the rigid tanks for a similar reason but they don't work well with cryogenic fuels.

Re: PID Control Challenges

#103
post #76

Earlier quoted context omitted.

Could you elaborate please.

Sure! So in many, if not most, contemporary Information Retrieval (IR) problems, there is a total document set larger than could be explored on an interactive basis and so the data structures get laid out in such a way that with some probability north of a coin, you’ll find “better” documents in the “front” half. This is hand-waving a lot of detail away, so if you’d like me to go into some detail about multi-stage ra…

Really interested if you can go into more detail about multi-stage ranking, compact posting lists and stuff.

Re: PID Control Challenges

#104

Earlier quoted context omitted.

My inner child of Doc Brown and Wernher von Kerman says, it's time to develop non-newtonian fuel sponges, which would release fuel if squeezed gently and steadily, but behave like solid if things start shaking too much, preventing sloshing.

Or maybe giant syringes? There can't be sloshing if there is no free space because top of cylinder just moves to adjust volume.

When does a syringe become a piston?

Re: PID Control Challenges

#105

Earlier quoted context omitted.

Or maybe giant syringes? There can't be sloshing if there is no free space because top of cylinder just moves to adjust volume.

This actually makes perfect sense, so I'm hoping some rocket scientist will come and explain what are the "devils in the details" that prevent rockets from being built like this.

I'm sure it's easy: some liquids like oxygen and methane are stored under high pressure, you would need an incredibly well built seal and powerful piston. If it's a room temperature liquid probably there are less complicated solutions like baffles and bladders.

And then you'd gave to over engineer the rocket iself to not break when tipping over, not just the fuel tanks.

Re: PID Control Challenges

#109
post #41
post #37

Earlier quoted context omitted.

Show code or it didn't happen :)

it's pretty trivial! erghea -400 oybpx.k-40 oybpx.qk; (not that rot13 really obscures anything here!) The rest of the puzzles get pretty interesting, I shouldn't have just stopped on the first and spent all the time optimizing it. If the author sees this thread it would be fun if you could disturb the dynamics with the mouse after completing one. I wanna watch the ball catching piston right the ball if I poke it.

I just spent too much time messing around with this, so here's the results. The simulation has a limit on the maximum magnitude of the force of your controller, which in this example is 50. The system is described by x'' = -1.00204*x + u (by experimenting with console.log). The theoretical solution to minimize time to the origin on a system like this is a bang-bang strategy: go full actuation and at some point slam the breaks to stop exactly at the origin. Using this strategy you can calculate that you should hit the brakes(-50) starting at x= − 0.867, with the system arriving at the origin at t=0.403. But the timestep of the simulation is dt =0.02, so the system goes from x=-0.874060101875918 to x = -0.6686069466721608 in one timestep, missing the critical switching point. If you try to switch at -0.6686069466721608 it overshoots and at -0.874060101875918 its almost there when t = 0.4 but not good enough for the simulation to decide you finished the challenge. So 0.42 has to be the best you can do. What you controller actually does, due to the actuation limits, is almost the strategy described above, staying either at 50 or -50, except for 3 time points, which make the dynamics just right to land on the origin.

Re: PID Control Challenges

#110
post #41
post #37

Earlier quoted context omitted.

Show code or it didn't happen :)

it's pretty trivial! erghea -400 oybpx.k-40 oybpx.qk; (not that rot13 really obscures anything here!) The rest of the puzzles get pretty interesting, I shouldn't have just stopped on the first and spent all the time optimizing it. If the author sees this thread it would be fun if you could disturb the dynamics with the mouse after completing one. I wanna watch the ball catching piston right the ball if I poke it.

There is a mistake in my first comment, the system is described by x'' = -1.00204*x' + u , I forgot a '. Also in the second example , where there is no x' term, you can reach the origin in 0.4 using this strategy.
Post reply on HN