Skip to content

Feature/stationary obstacle avoidance#80

Open
cmspencer109 wants to merge 13 commits into
developfrom
feature/stationary_obstacle_avoidance
Open

Feature/stationary obstacle avoidance#80
cmspencer109 wants to merge 13 commits into
developfrom
feature/stationary_obstacle_avoidance

Conversation

@cmspencer109
Copy link
Copy Markdown
Contributor

Complete redesign of the original avoidance algorithm to use the Informed RRT* algorithm.

3 files are included, path_finder.py and helpers.py are the main important files. plotter.py is optional but very handy for visualizing the results.

An example of the usage is in the bottom of path_finder.py. To use it just call path_finder.solve() and pass in data for the boundary, obstacles, and waypoints in the original json format (list of dictionaries). Optional parameters are available for plotting.

Calling solve() takes a complete list of waypoints > 2 and returns an unobstructed route with possibly more waypoints than before (depending on number of obstructions). This function can be used for solving a path between only two waypoints, or a large list of waypoints. It returns a list of tuples in the format of (latitude, longitude, altitude).

The algorithm does not work in full 3 dimensions. It solves a path in 2d space and then adds altitudes later. Altitude for original waypoints is known (from the given json data). Altitude for new points is calculated by taking the percentage of distance the new point is from the starting point and multiplying it by the difference in height between the start and goal points. This results in an even ascent or descent between start and goal points (if the start and goal points are different altitudes, otherwise all points will be a constant height).

image

@cmspencer109 cmspencer109 added enhancement Advancement or augmentation of an already existing feature flight Pertaining to the physical movement of the drone Obstacle Avoidance Task related to the UAS stationary or moving obstacle avoidance labels May 12, 2022
@cmspencer109 cmspencer109 requested a review from cjhr95 May 12, 2022 17:33
@cmspencer109 cmspencer109 self-assigned this May 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Advancement or augmentation of an already existing feature flight Pertaining to the physical movement of the drone Obstacle Avoidance Task related to the UAS stationary or moving obstacle avoidance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant