unified_frameworks.pathfinders package
Submodules
unified_frameworks.pathfinders.pathfinder module
This script/service will keep an upto date path for navigation accounting for surrounding environment and goal
Thoughts on further development - Currently this limits charting by number of iterations, make it so that its always charting a route and only resets the obstacles every once in a while. - Update get neighbors to get neighbors with realistic constraints, like no sharp turns - Update cost function to have higher cost for points near obstacles. - ^this can be used to create a potential field, and that potential field could be used to update an existing path for a new environment instead of invalidating it due to a new environment
- class unified_frameworks.pathfinders.pathfinder.Pathfinder(pathfinder: Literal['a_star', 'rrt', 'straight_shot'] = 'a_star')
Bases:
Navigator
Top Level Pathfinder
- PATHFINDERS = {'a_star': <class 'pathfinders.a_star_navigator.A_Star_Navigator'>, 'rrt': <class 'pathfinders.rapid_random_tree.RRT_Navigator'>, 'straight_shot': <class 'pathfinders.straight_shot.StraightShot'>}
- distance_to_target()
- get_goal()
- get_path() ndarray
- get_tree_links() ndarray
- set_goal(polar_point)
- start_pathfinder_service()
- stop_pathfinder_service()
unified_frameworks.pathfinders.rapid_random_tree module
This script will implement helpful functions for RRT. It will do all its calculations in cartesian coordinates but it will
Bases:
Navigator
- unified_frameworks.pathfinders.rapid_random_tree.exploration_step(obstacles: list[LineString])
- unified_frameworks.pathfinders.rapid_random_tree.grow_tree(is_growing, obstacles)