Skip to content

Real-time algorithms for following a given path while avoiding initially unknown static obstacles.

License

Notifications You must be signed in to change notification settings

yashsriram/drive

Repository files navigation

drive

code

  • The project is a typical ROS project.
  • src/ contains all source code.

usage

  • Open a terminal at project root (the directory containing this file).
  • roscore
  • rviz
  • source devel/setup.bash
  • catkin_make && rosrun plan plan_node

demonstration

  • Common legend
Object Description
White circle Agent's circumcircle
Black line on agent Agent's orientation
Yellow path Given path
Corresponding pink paths Padding obstacles in configuration space
Faint green circle around agent Sensing region
Inner pink rectangles Physical obstacle bounding boxes
Outer pink obstacles Configuration space obstacle bounding boxes
Green path Output path
Red circle Local target position of agent after path optimization
  • RRT* legend
Object Description
Cyan rectangle Sampling region
White tree The RRT* tree
  • Visibility graph legend
Object Description
White lines Visibility graph
  • Straight path with 2 points.
RRT* Visibility graph
  • Straight path with 3 points.
RRT* Visibility graph
  • Straigh path with 5 points.
RRT* Visibility graph
  • Perpendicular turn with 3 points.
RRT* Visibility graph
  • Perpendicular turn with 5 points.
RRT* Visibility graph
  • Obstacles.
RRT* Visibility graph
  • Obstacles over points on given path.
RRT* Visibility graph
  • Complete block.
RRT* Visibility graph
  • Small passage.
RRT* Visibility graph
  • Shielding final point.
RRT* Visibility graph
  • Arc.
RRT* Visibility graph
  • Arbitrary path (top down view).
RRT* Visibility graph
  • Arbitrary path (side view).

  • RRT* planning frequency vs number of sensed obstacles.

  • Visibility graph planning frequency vs number of sensed obstacles.

  • RRT* planning frequency vs number of sampled nodes.