@@ -6,12 +6,13 @@ AStar = CpObject(HybridAStar)
66
77function AStar :init (vehicle , yieldAfter , maxIterations )
88 HybridAStar .init (self , vehicle , yieldAfter , maxIterations )
9+ self .name = ' AStar'
910 -- this needs to be small enough that no vehicle fit between the grid points (and remain undetected)
1011 self .deltaPos = 3
1112 self .deltaPosGoal = self .deltaPos
1213 self .deltaThetaDeg = 181
1314 self .deltaThetaGoal = math.rad (self .deltaThetaDeg )
14- self .maxDeltaTheta = math.pi
15+ self .maxDeltaTheta = self . deltaThetaGoal
1516 self .originalDeltaThetaGoal = self .deltaThetaGoal
1617 self .analyticSolverEnabled = false
1718 self .ignoreValidityAtStart = false
@@ -31,14 +32,14 @@ function AStar.SimpleMotionPrimitives:init(gridSize, allowReverse)
3132 self .gridSize = gridSize
3233 local d = gridSize
3334 local dSqrt2 = math.sqrt (2 ) * d
34- table.insert (self .primitives , { dx = d , dy = 0 , dt = 0 , d = d , gear = Gear .Forward , steer = Steer .Straight , type = HybridAStar . MotionPrimitiveTypes . NA })
35- table.insert (self .primitives , { dx = d , dy = d , dt = 1 * math.pi / 4 , d = dSqrt2 , gear = Gear .Forward , steer = Steer .Straight , type = HybridAStar . MotionPrimitiveTypes . NA })
36- table.insert (self .primitives , { dx = 0 , dy = d , dt = 2 * math.pi / 4 , d = d , gear = Gear .Forward , steer = Steer .Straight , type = HybridAStar . MotionPrimitiveTypes . NA })
37- table.insert (self .primitives , { dx = - d , dy = d , dt = 3 * math.pi / 4 , d = dSqrt2 , gear = Gear .Forward , steer = Steer .Straight , type = HybridAStar . MotionPrimitiveTypes . NA })
38- table.insert (self .primitives , { dx = - d , dy = 0 , dt = 4 * math.pi / 4 , d = d , gear = Gear .Forward , steer = Steer .Straight , type = HybridAStar . MotionPrimitiveTypes . NA })
39- table.insert (self .primitives , { dx = - d , dy = - d , dt = 5 * math.pi / 4 , d = dSqrt2 , gear = Gear .Forward , steer = Steer .Straight , type = HybridAStar . MotionPrimitiveTypes . NA })
40- table.insert (self .primitives , { dx = 0 , dy = - d , dt = 6 * math.pi / 4 , d = d , gear = Gear .Forward , steer = Steer .Straight , type = HybridAStar . MotionPrimitiveTypes . NA })
41- table.insert (self .primitives , { dx = d , dy = - d , dt = 7 * math.pi / 4 , d = dSqrt2 , gear = Gear .Forward , steer = Steer .Straight , type = HybridAStar . MotionPrimitiveTypes . NA })
35+ table.insert (self .primitives , { dx = d , dy = 0 , dt = 0 , d = d , gear = Gear .Forward , steer = Steer .Straight })
36+ table.insert (self .primitives , { dx = d , dy = d , dt = 1 * math.pi / 4 , d = dSqrt2 , gear = Gear .Forward , steer = Steer .Straight })
37+ table.insert (self .primitives , { dx = 0 , dy = d , dt = 2 * math.pi / 4 , d = d , gear = Gear .Forward , steer = Steer .Straight })
38+ table.insert (self .primitives , { dx = - d , dy = d , dt = 3 * math.pi / 4 , d = dSqrt2 , gear = Gear .Forward , steer = Steer .Straight })
39+ table.insert (self .primitives , { dx = - d , dy = 0 , dt = 4 * math.pi / 4 , d = d , gear = Gear .Forward , steer = Steer .Straight })
40+ table.insert (self .primitives , { dx = - d , dy = - d , dt = 5 * math.pi / 4 , d = dSqrt2 , gear = Gear .Forward , steer = Steer .Straight })
41+ table.insert (self .primitives , { dx = 0 , dy = - d , dt = 6 * math.pi / 4 , d = d , gear = Gear .Forward , steer = Steer .Straight })
42+ table.insert (self .primitives , { dx = d , dy = - d , dt = 7 * math.pi / 4 , d = dSqrt2 , gear = Gear .Forward , steer = Steer .Straight })
4243end
4344
4445--- A* successors are simply the grid neighbors
0 commit comments