Research Article

Constraint Satisfaction for Motion Feasibility Checking

Algorithm 2

Limited forward checking.
function LFC (csp = (V, D, C), var, assignment) returns false if inconsistency is found and true otherwise, and update domain of neighbors
neighbors = all_neighbors (csp, var)
while neighbors is not empty do
  Ni = neighbors.pop
  if revise (Ni, csp, assignment)
   if D (Ni) is empty then
    return false
   end if
  end if
 end while
return true
function revise (Ni, csp, assignment) return true if the domain of Ni is changed is Revised = false
  for each val in D (Ni)
   if val is inconsistent in pose constraints with assignment then remove val from D (Ni) is Revised = true
  end if
 end for