Starting from:

$29.99

CS5335 Assignment 3-Motion_Planning_RRT_PRM Solution


Download the starter code from Piazza (hw3.zip). In this file, you will find:
• hw3 motion.m: Main function. Call hw3 motion(<questionNum>) with an appropriate question number (0–5) to run the code for that question. Do not modify this file! (Feel free to actually make changes, but check that your code runs with an unmodified copy of hw3 motion.m.)
• M0.m – M5.m: Code stubs that you will have to fill in for the respective questions.
• check collision.m, check edge.m: Helper functions to perform collision checking.
M0. 2 points. Familiarize yourself with the provided code in hw3 motion.m and the robot that has been defined. Use the code in M0.m to visualize the robot in various configurations. The code in hw3 motion.m that calls M0 also checks whether the configuration is within joint limits, and whether the configuration is in collision.
Look at the code in check collision.m and check edge.m. Explain what each function is doing to check for collisions, for individual configurations and for configuration-space line segments respectively. Identify and describe two potential issues in the collision-checking algorithm (but do not try to fix them).
[samples, adjacency] = hw3 motion(2); hw3 motion(3, samples, adjacency);
M3. 2 points. Use the roadmap to find a collision-free path from the start configuration to the goal configuration. You will need to appropriate points to get “on” and “off” the roadmap from the start and goal respectively. Useful functions: shortestpath
1
M4. 2 points. Implement the RRT algorithm to find a collision-free path from the start configuration to the goal configuration. Choose appropriate hyperparameter values for the step size and frequency of sampling qgoal. Remember to traverse the constructed tree to recover the actual path.
M5. 2 points. The path found by RRT likely has many unnecessary waypoints and motion segments in it. Smooth the path returned by the RRT by removing unnecessary waypoints. One way to accomplish this is to check non-consecutive waypoints in the path to see if they can be connected by a collision-free edge.
M6. 0 points. If M4 and M5 have been implemented correctly, this question should require no further implementation. Watch your algorithm work on a more challenging motion planning problem. Can you make it even harder?
2

More products