Skip to main content
. 2025 Jan 17;25(2):512. doi: 10.3390/s25020512
Algorithm 1. Improved CILQR Algorithm
  • 1: 

    Output: Trajectory vector and control sequence x,u

  • 2: 

    //enable hybrid A* method; using the PI controller, get the speed profile

  • 3: 

    InitRefPath: x0,u0, tolerance

  • 4: 

    // calculate the matrix in advance based on the initial trajectory to prevent oscillations

  • 5: 

    Warmstart: δQx0,u0x0,u0

  • 6: 

    While | ΔJ | < tolerance || stepcounter > threshold || feedforward gain ≈ 0

  • 7: 

      do

  • 8: 

      bk_3x,bk_3ugk(xk,uk) // convert inequality constraints into cost functions

  • 9: 

      JJ

  • 10: 

       K,d,ΔVBACKWARDPASS(x,u)

  • 11: 

        AdaptiveWeight: wax,wκ˙ // adaptive weight tuning function

  • 12: 

       X,U,JFORWARDPASS(x,u,K,d,ΔV,J)

  • 13: 

        α=ρα

  • 14: 

    return x,u,J