15-494 Cognitive Robotics Spring 2010 |
|
Part I: Path Planning with RRTs
Part II: Displaying the Path
Start this part in lab and finish it for homework.
The path produced by the path planner is a vector of joint configurations. For the arm we're using today, a joint configuration consists of three values: the shoulder, elbow, and wrist joint angles. As the arm follows the path, the tip of the gripper traces out a trajectory in the workspace. We can plot this trajectory to visualize the path the arm will take. Modify the PlanPath code in Lab10 to plot the initial position of the gripper in local shape space as a green point. Also modify PlanPath to use GrasperRequest::computeReach, which causes the Grasper to send a GrasperEvent containing the path it computed. Modify CheckResult to go through each of the nodes in the path that was returned and plot the gripper position as a blue point. You will have to extract the path from the GrasperEvent. Then you will have to use forward kinematics to calculate the gripper position from each set of joint angles. (Create a PostureEngine instance, set the arm joint positions using the methods it provides, and then use getPosition to obtain the gripper location.) Plot the final position of the gripper as a red point. Hand in your code and a screenshot of local shape space by Friday, April 9. Dave Touretzky and Ethan Tira-Thompson |