Skip to main content
. 2025 Mar 23;25(7):2014. doi: 10.3390/s25072014
Algorithm 1 DWA-MPC Hierarchical Navigation Framework
  • Require: 

    Global path G, Robot state X

  • Ensure: 

    Control command u

  • 1:

    loop

  • 2:

        Local map M, Lidar_cloudSENSORUPDATE()

  • 3:

        Collision_flagEVALUATECOLLISIONRISK(Lidar_cloud,X)

  • 4:

        if Collision_flag then               ▹ Local Replanning via DWA

  • 5:

            Candidate_goalsGENERATESUBGOALS(G,X,M,radius=2.0m)

  • 6:

            Optimal_subgoalargmaxSCORESUBGOALS(Candidate_goals,X,M)

  • 7:

            τDWAPLANNER(X,Optimal_subgoal,M)

  • 8:

            MPC.ReferenceTrajectoryτ

  • 9:

            RESETMPCHORIZONS(Np,Nc)

  • 10:

        else

  • 11:

            MPC.ReferenceTrajectoryG

  • 12:

        end if

                               ▹ Adaptive MPC Tracking

  • 13:

        if MPC_execution_cycle then

  • 14:

            Current_ref_pointFINDNEARESTPOINT(MPC.ReferenceTrajectory,X)

  • 15:

            κCOMPUTEOPTIMALREFERENCE(MPC.ReferenceTrajectory,Current_ref_point)

  • 16:

            (NPadapt,NCadapt)ADJUSTHORIZONS(κ)

  • 17:

            uoptSOLVEMPC(X,κ)

  • 18:

            APPLYCONTROL(uopt[0])

  • 19:

        end if

  • 20:

    end loop