unified_frameworks.pathfinders package

Submodules

unified_frameworks.pathfinders.NavigatorClass module

class unified_frameworks.pathfinders.NavigatorClass.Navigator(worldview: Worldview)

Bases: ABC

distance_to_target()
get_goal()
abstract get_path() ndarray
set_goal(polar_point)
set_gps_goal(target_latitude: float, target_longitude: float) None

Set’s the navigator’s goal to a given GPS coordinate. Must be called frequently in order to continually head in the right direction.

abstract start_pathfinder_service()
abstract stop_pathfinder_service()

unified_frameworks.pathfinders.a_star_navigator module

This is a navigator that implementes an A* stearch in a continous space to find a path from the current position to the destination position bla bla bla

class unified_frameworks.pathfinders.a_star_navigator.A_Star_Navigator(worldview)

Bases: Navigator

get_path() ndarray
name = 'class2'
start_pathfinder_service(service_name='A* path finding service')
stop_pathfinder_service()

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
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

class unified_frameworks.pathfinders.rapid_random_tree.RRT_Navigator(worldview)

Bases: Navigator

get_path() ndarray
start_pathfinder_service()
stop_pathfinder_service()
unified_frameworks.pathfinders.rapid_random_tree.exploration_step(obstacles: list[LineString])
unified_frameworks.pathfinders.rapid_random_tree.grow_tree(is_growing, obstacles)

unified_frameworks.pathfinders.straight_shot module

class unified_frameworks.pathfinders.straight_shot.StraightShot(worldview)

Bases: Navigator

get_path()
start_pathfinder_service()
stop_pathfinder_service()

Module contents