Skip to main content
. 2021 Feb 6;21(4):1152. doi: 10.3390/s21041152
Algorithm 1 Hybrid A*

Input:

Xstart,Xgoal : Start and goal configuration

grid : Grid

O : Obstacles

  •     1:

    procedure HA*

  •     2:

        qstart=Xstart

  •     3:

        grid(qstart).list.insert(qstart)       ▹ add state to the cell’s list

  •     4:

        OpenList=PriorityQueue()

  •     5:

        OpenList.insert(qstart)

  •     6:

        while OpenList!= do

  •     7:

            qexp=OpenList.pop()

  •     8:

            if qexpXgoalregion then

  •     9:

               return qexp                      ▹ Solution found

  •     10:

            end if

  •     11:

            qnew=Expand(qexp,O)

  •     12:

            for each q^newqnew do

  •     13:

               if Valid(q^new,grid) then

  •     14:

                   grid(q^new).list.insert(q^new)

  •     15:

                   OpenList.insert(q^new)

  •     16:

               end if

  •     17:

            end for

  •     18:

        end while

  •     19:

        return

  •     20:

    end procedure