KUKA youBot Pick & Place
The goal of this project was to implement concepts of robotic manipulation such as screw theory, motion planning, trajectory generation, and control through simulation of a pick and place task using a KUKA youBot in CoppeliaSim. A KUKA youBot is mobile manipulator with an omnidirectional base and a 5R robot arm (shown below).

Demo
Overview
This project was divided into 3 main stages - youBot kinematics, end-effector reference trajectory generation, and controls. Each stage was associated with a corresponding function that were used to perform the simulation: NextState, TrajectoryGenerator, and FeedbackControl. NextState takes in the current robot configuration and calculates the new configuration after a .01s timestep using first-order Euler integration. TrajectoryGenerator creates an ideal trajectory for the end-effector in order to pick up the cube and drop it off in the correct place. FeedbackControl applies the kinematic task-space feedforward plus PI control law, which is shown below.

Results
There were 3 cases used to test the controller and fine tune the associated gains. The 6-vector representing end effector error was plotted over time each of these case.
Overshoot
In this trial, the robot was still able to pick up the block and move it near the drop off location, but there was still a decent bit of error.

Best Run
This trial was the best result I was able to obtain, and the corresponding video is at the top of this page

New Task
In this trial, the starting orientation of the block and the drop off position were both modified. The same controller from the best trial runn was used in this trial.
