Skip to main content
. 2022 Dec 21;23(1):60. doi: 10.3390/s23010060
Algorithm 1 Exhaustive search algorithm
  • 1:

    procedureFind Tx period(v0, a0, xi1, vi1, ai1, xi, vi, ai, dd, dTh, Td, Tτ, tTh, f(.))

  • 2:

                    ▹xi—long. position of vehicle i, vi—velocity of vehicle i, ai—acceleration of vehicle i, dd—target inter-vehicle distance, dTh—minimum distance constraint, Td—set of possible transmission periods, Tτ—set of possible initial time offsets, tTh—maximum prediction time span, f(.)—controller function

  • 3:

        for each ΔtlTd, l=1,,|T| do:

  • 4:

            for each τmTτ, m=1,,|Tτ| do:

  • 5:

               Calculate:

  • 6:

               xi1*=xi1+vi1τm+ai1τm22, vi1*=vi1+ai1τm

  • 7:

               xi*=xi+viτm+aiτm22, vi*=vi+aiτm,

  • 8:

               v0*=v0+a0τm,

  • 9:

               ai*=f(v0*,a0,xi1*,vi1*,ai1,xi*,vi*,ai*,dd),

  • 10:

              d*=xi1*xi*, t=τ

  • 11:

               while d*>dTh & t<tTh & vi*>0 do:

  • 12:

                   Calculate:

  • 13:

                   xi1*=xi1*+vi1*Δtl+ai1Δtl22, vi1*=vi1*+ai1Δtl

  • 14:

                   xi*=xi*+vi*Δtl+ai*Δtl22, vi*=vi*+ai*Δtl,

  • 15:

                   v0*=v0*+a0Δtl

  • 16:

                   d*=xi1*xi*, t=t+Δtl,

  • 17:

                   ai*=f(v0*,a0,xi1*,vi1*,ai1,xi*,vi*,ai*,dd)

  • 18:

                   if ai1*ai*>0 & vi1*vi*>0 & d*>dTh then:

  • 19:

                       t=

  • 20:

                       break

  • 21:

                   end if

  • 22:

               end while

  • 23:

               Set: tm*=t

  • 24:

            end for

  • 25:

            Select: m*=argmaxmtm*

  • 26:

            Set: τl*=τm*

  • 27:

            Set: tl**=tm**

  • 28:

        end for

  • 29:

        Select: l*=argmaxltl**

  • 30:

        Set: τ(sel)=τl**

  • 31:

        Set: ΔtTx(sel)=Δtl*

    return(τ(sel),ΔtTx(sel))

  • 32:

    end procedure