roboticsplanningmpc

Open-loop or Closed-loop (reactive) Path planning?


When we do path planning for collision avoidance, we can realize it open-loop or closed-loop. The open-loop method is to use an inherent simplified model, say, Bicycle model, for example, and propagate the system forward with an optimal input by designing a controller (MPC, or others). However, the states of the simplified model may surely diverge from the real ones due to modelling error as time goes by, hence we need to re-initialize the states of the path planner with the real system states (obtained via measurement or estimation). In this way, we have closed-loop planning. The question is that what frequency of this kind of re-initialization occurs? High re-initialization frequency makes the planning more accurate, but in the mean-time, it may cause zigzag sew-shape reference for the lower-level controller.


Solution

  • The answer to this is very system dependent. You are correct in saying that the open loop system is non-realizable. Planning/control is usually done in two stages.

    1) Trajectory Generation: This is usually done predictivly or in open loop (the P in MPC). Depending on the ability of the lower level control, this need not be done too frequently. For example, if trajectory execution deviates from your planned beyond some threshold (or beyond stability guarantees) you would then have to re-plan.

    2) Trajectory following/execution: Given an nominal trajectory (including nominal open loop controls), a lower level controller attempts to follow this as closely as possible. This would include a stabilizing controller such as LQR or something similar.

    The key to understanding what "too fast" is for re-planning is how much your system drifts over time and what kind of safety guarantees you want to produce. For example, if you allow for a 5cm buffer around obstacles in your open loop plan then an appropriate time to re-plan would be when the robot deviates from the trajectory (in R3 for example) by some threshold less than 5cm. If you re-plan any later than that, you cannot guarantee that your robot will not collide with the static obstacles in the environment.

    Clearly, this is driven by the accuracy of your model as well as how good a job your low level control does in following that trajectory. Ideally, if your model is reasonably accurate and if your low level control is very good, then no re-planning is necessary (assuming a static environment).