This capstone project implements motion planning and kinematic task-space feedback control of a KUKA YouBot mobile manipulator. The goal was to autonomously complete a pick-and-place task using a 5-DOF arm and mecanum wheels, simulated in CoppeliaSim.
Key features include:
Trajectory generation for end-effector pick-and-place tasks.
PI feedback control in task space for minimizing twist error.
Joint limit enforcement to prevent self-collisions and ensure feasible configurations.
Integration of wheel odometry with arm kinematics for mobile manipulation.
Trajectory Generator
The reference trajectory is defined by 8 via points for the pick-and-place task, including standoff positions, cube approach, and gripper operations. Using Modern Robotics Cartesian_Trajectory, the end-effector path is interpolated in SE(3) coordinates.
Pseudocode:
Def Trajectory_Generator()
Unpack via points
For each via point: compute move time and generate Cartesian trajectory
Save trajectory with gripper states to CSV
Feedback Controller
The mobile manipulator is controlled with task-space PI feedback with feed-forward control. Twist error X_err is calculated between the desired and current end-effector configurations, and used to generate an optimal twist response to minimize this error:
Joint speeds are computed using a concatenated Jacobian of wheels (J_base) and arm (J_arm), with pseudoinverse to solve for least-squares optimal joint velocities.
Using forward euler integration, we can simulate the behavior of the system and observe how well the control system is tuned. See the comparison below in the twist error plots and corresponding simulations.
Comparison of well controlled system on the left vs. a poorly controlled system (underdamped) on the right
Joint Limits
Joint limits prevent self-collision and infeasible configurations. Violations are detected during the FeedbackControl step, and offending joints are excluded from the pseudoinverse calculation. This ensures the robot maintains a physically achievable trajectory while completing the task.
Comparison of robot movement without joint limits on the left vs. with joint limits on the right
Reflections
This project was my first foray into the world of robotic control and I have to say - it's got me hooked. The combination of controls engineering, computer science, and mechanical engineering keeps in interesting from start to finish. I am looking forward to more projects like this!