Skip to content

SThetaStar

python_motion_planning.global_planner.graph_search.s_theta_star.SThetaStar

Bases: ThetaStar

Class for S-Theta* motion planning.

Parameters:

Name Type Description Default
start tuple

start point coordinate

required
goal tuple

goal point coordinate

required
env Env

environment

required
heuristic_type str

heuristic function type

'euclidean'

Examples:

Python Console Session
>>> import python_motion_planning as pmp
>>> planner = pmp.SThetaStar((5, 5), (45, 25), pmp.Grid(51, 31))
>>> cost, path, expand = planner.plan()
>>> planner.plot.animation(path, str(planner), cost, expand)  # animation
>>> planner.run()       # run both planning and animation
References

[1] S-Theta*: low steering path-planning algorithm

getAlpha(node_p, node_c)

α(t) represents the deviation in the trajectory to reach the goal node g through the node t in relation to the straight-line distance between the parent of its predecessor (t ∈ succ(p) and parent(p) = q) and the goal node.

Parameters:

Name Type Description Default
node_p Node

parent node

required
node_c Node

current node

required

Returns:

Name Type Description
alpha float

alpha angle

plan()

S-Theta* motion plan function.

Returns:

Name Type Description
cost float

path cost

path list

planning path

expand list

all nodes that planner has searched

updateVertex(node_p, node_c, alpha)

Update extend node information with current node's parent node.

Parameters:

Name Type Description Default
node_p Node

parent node

required
node_c Node

current node

required
alpha float

alpha angle

required