Pick and Place Robotic Manipulation

Technologies: Python, Controls Engineering, CoppeliaSim

GitHub Repository

For the final project of MECH 449 Robotic Manipulation we were tasked with writing a controller to plan both chassis and arm movements of a mobile manipulator robot. The control scheme aims to minimize error, where error is the distance from the current arm and chassis locations to the “perfect” arm and chassis locations.

Three types of control schemes were required for this project to demonstrate our understanding of control systems inputs and how they affect the error of a system over time.

The final trajectory simulated on the mobile manipulator robot

Table of Contents

Best Scheme

The best control scheme is an attempt to minimize error without having any overshoot. Figure 1 below shows the error of the system over time.

Error over time with the best control scheme.

Figure 1: Error over time with the best control scheme.

Overshoot Scheme

The overshoot control scheme attempts to correct error too fast, so the robot overshoots the perfect path location for that specific time. This can be seen around t = 3 seconds where the error goes beyond 0 into the negative. This scheme would be best in cases where a minor amount of overshoot is acceptable. For example, if a user set their heating unit to 70 degrees and it overshoots to 70.1 for a brief period the user would likely neither mind nor notice.

Figure 2: Error over time with the control scheme with overshoot

Figure 2: Error over time with the control scheme with overshoot.

New Task Scheme

The new task control scheme is trying to accomplish the goal as fast as possible but without any overshoot just like the best scheme, but this goal has different starting and ending locations for the cube. Different starting and ending locations require different tuning parameters. This demonstrates the understanding that different tasks even within the same system require different tuning parameters for efficient outcomes.

Figure 3: Error over time with the control scheme with a different task.

Figure 3: Error over time with the control scheme with a different task.