So I've recently used a PID controller to build a bot for a 2d physics based game. I also did a bit of reading on steering behavior but am still confused over one thing: Is a PID controller considered an implementation of steering behavior? Or are they two completely unrelated things?
-
\$\begingroup\$ My cursory read of wikipedia tells me that they're related but I can't answer the other question. I think so? \$\endgroup\$ – Draco18s no longer trusts SE Dec 6 '17 at 5:14
I've use the term "steering" to describe PID control.
I find that I often have two parts to control a physics object:
First, a higher level function uses strategy/logic to determine where to steer to.
Next, the lower level function of actually steering towards this point, for which I tend to use PID controllers.
Oh, and as last step, you take the PID output of course, and use it as a force to apply to your physics object. Either as a linear force, or a torque. (If you want to cheat, you could use it to set a velocity, but that makes your simulation discontinuous.)
So to conclude, I think you can say that PID control is a form of steering, yes.
-
\$\begingroup\$ Thanks for the answer. So if I've implemented a PID controller that is able to navigate a bot to various locations in a game, does that mean that I've implemented steering behavior for the bot? Or is that not the correct terminology? \$\endgroup\$ – MarksCode Dec 7 '17 at 6:09
-
\$\begingroup\$ Yes, being able to navigate to a desired location can be described as "steering." \$\endgroup\$ – Bram Dec 7 '17 at 18:07
-
\$\begingroup\$ Ok cool. Yeah my PID controller doesn't work too well for following a path because it always tries to stop at each point along the path. I just made it so once it reaches a certain distance from each point (except the last) it should make its target the next point. \$\endgroup\$ – MarksCode Dec 7 '17 at 20:21
-
\$\begingroup\$ So Bram. Is PID a form of "Steering" or "Steering behavior"? Im confused. \$\endgroup\$ – MarksCode Dec 12 '17 at 0:52
-
\$\begingroup\$ PID Control is a tool that can be used to implement the steering. Steering is what enables something to move and navigate. \$\endgroup\$ – Bram Dec 12 '17 at 6:09