
Rapidly Exploring Random Tree Based Motion Planning
I implemented the RRT algorithm for sampling-based motion planning and used it to control a UR5 robot arm.
In a 3D space, the robot arm is given a desired end-effector pose on the other side of an obstacle, and the algorithm computes a collision-free path and executes it on the arm to reach the goal.
More specifically, inverse kinematics was used to convert the goal configuration from end-effector space (in x, y coordinate) to joint space (joint angles). Once the goal is presented in the joint space, the RRT is implemented to find a path that links the start and the goal. During this process, the algorithm continuously checks if the set of join values is collision-free. Once the path is found, the algorithm performs path smoothing via shortcutting and trajectory resampling to ensure efficient and accurate movements. Then the path is published as a joint trajectory.
Please watch the exciting video to see how the UR5 gets around obstacles!