Simulation of Robotic Manipulation: A Capstone Project
In the rapidly evolving field of robotics, practical application of theoretical knowledge is crucial. The capstone project for ME 449 at Northwestern University exemplifies this principle, offering a comprehensive challenge in mobile manipulation using a sophisticated mobile robotic system, the youBot.
The core objective of this capstone project was to develop software for controlling the youBot, an advanced mobile manipulator equipped with mecanum wheels and a 5R robotic arm. The project encompassed several critical aspects of robotics, including kinematic analysis, trajectory planning, dynamic simulation, and feedback control systems. The ultimate goal was to program the youBot to perform a series of tasks involving the precise pick-up and placement of objects within a simulated environment using CoppeliaSim, a robust robotic simulation software.
A fundamental requirement was to understand the youBot's kinematics and dynamics thoroughly. This involved analyzing the robot's mechanical structure, wheel movements, arm joint angles, and their cumulative effect on the robot's position and orientation. I was tasked with creating a kinematic simulator to predict the youBot's behavior based on given input commands, further outputting these predictions as CSV files for analysis.
A critical phase of the project involved the generation of reference trajectories for the robot's end-effector. This process required careful consideration of the youBot's capabilities and limitations, with an emphasis on creating efficient and feasible motion paths for object manipulation tasks. I employed sophisticated techniques using modern screw theory in the form using code from the Modern Robotics code library, ensuring that each trajectory segment commenced and concluded at rest.
Implementing feedforward and feedback control algorithms was pivotal to the project's success. This stage required me to develop control laws that allowed the robot to accurately follow the planned trajectory, making real-time adjustments to correct any deviations. The application of proportional-integral (PI) control strategies along with a feed-forward term was a key feature that minimized error in the trajectory implementation.
This capstone project in ME 449 represents a significant accomplishment in applied robotics education. It reflects a deep understanding of robotic kinematics, control systems, and simulation methodologies. For future employers in the robotics and automation industries, the skills and knowledge demonstrated in this project are indicative of the practical competencies and problem-solving abilities that are highly sought after in the field. The project serves as a testament to my readiness to contribute meaningfully in a professional technical environment, underscoring my potential as a valuable asset to any forward-thinking organization in the robotics domain.
The Optimal Response
The video below shows a response that minimizes error from the reference trajectory to the actual trajectory. In this simulation, the proportional gain was 100 and the integral gain was 0. The relatively large proportional gain drives the error out of the response rapidly and keeps a very small steady-state error.
The Overshoot Response
The overshoot response was created with a proportional gain of 2 and an integral gain of 0.1. These values allowed just enough error so that oscillation occur while still completing the task of moving the block into the correct configuration.
New Task
The new task has the initial and final configurations of the cube changed from the other two simulations. The ability of the code to change initial configurations and still be able to complete the task shows its generality. The proportional gain was 10, and the integral gain was 0.2. The feedback gains allowed a rapid return to the desired trajectory completing the task with little steady-state error.
Next Steps:
Implement joint limits to prohibit model interference
Implement singularity avoidance to make the model more reliable in any situation
Adjust gain finder algorithm to penalize oscillation
Code available upon request:
Last updated 12/14/2023