Katie Hughes

Resume LinkedIn Github

Project Title & GitHub Link

Mobile Manipulator Simulation

Technologies

YouBot, CoppeliaSim, PI Control

Project

As a capstone for my course on robotic manipulation, I created a package to direct a Kuka YouBot to pick up and move a block in CoppeliaSim.


Trajectory Generation

I divided the desired trajectory into 8 segments. First, I needed to have the starting and ending position of the cube in the world frame. I also defined a standoff position that was slightly above the cube which has the grippers at a 45 degree angle to the ground. Each trajectory segment was computed using the Modern Robotics code library.

  1. Move from the start position to the standoff position above the cube start location

  2. Move straight down in the z direction in preparation to grasp the cube

  3. Grasp the cube

  4. Move straight up, returning to the standoff position

  5. Move to the standoff position corresponding to the cube's final location

  6. Move straight down in the z direction in preparation to release the cube

  7. Release the cube

  8. Move straight up, returning to the final standoff position

Description

Testing my desired trajectory of the end effector


Motion and Feedback Control

Once the desired trajectory was generated, I created another function to follow the trajectory using PI control. I compare the actual end effector position to the desired end effector position, and calculate a commanded end effector twist that is a function of the PI controller constants. This controls the wheels of the robot as well as the joints of the arm.


The best behavior (shown below) used a proportional gain of 2 and an integral gain of 0.5.


Description

The simulation in action!