$30
The goal of this assignment is to implement the RRT path planning algorithm for a robot. The robot is to navigate a two dimensional space, avoiding known locations with obstacles, traveling from its initial location to a goal location. Given localization information (robot’s initial position, obstacle location, goal location), your task is to implement a path planning decision maker to drive the robot from its initial position to the desired location.
Specifically, the problem can be formed as follows: Consider a 2D grid instantiated with different kinds of obstacles (for instance, geometrical shapes like Rectangles, Circles, Triangles or a combination of any of the above 2/3). Assign a start and end point on this grid. You must implement the RRT algorithm for two cases, (1) Holonomic Robot and (2) Non-Holonomic Robot.
You must submit two videos for each of the above cases, showing the evolution of your graphs. The first one should showcase only the platform center velocity, that is, the trajectory of the center of the robot. Something like this:
1
2
Your second video should show the individual wheel trajectories (evolution of all the wheels in all the possible paths). Ensure that no collisions happen near the boundaries and use methods explained in the class for this. Also, the trajectories for each individual wheel must appear consistent. The left wheel should not go haywire while the right wheel’s trajectory is smooth - they must be in sync with one another. If you code the algorithm right, the kinematics will guarantee this! :)
You can refer to this video, which shows the trajectories plotted for all three wheels of the robot. Although this is done in 3D, and you need to implement this for only two dimensions.
Hence, there will be 4 videos in total: 2 for holonomic and 2 more for non-holonomic. For each case, one video will show platform center velocity and the other, the individual wheel trajectories. You should save all the graphs, combine them into a video and upload it to your OneDrive or Google Drive, and include that link in your report. You should also include a few pictures of the graphs in your report, along with the video links. For generating videos from individual graphs, you may use this script.
The more complex the grid, the more appreciation you get! At the same time make sure you don’t fill the entire grid with obstacles. The obstacles can be made complex by combining different shapes like circles, rectangles or any other geometric shapes you prefer. Also, fix the size of your robot and increase the size of the obstacles accordingly near the boundaries (as discussed in the class).