This project implements a plate cleaning robot utilizing the ABB IRB 120 robotic arm. The robot mimics human dishwashing motions through a sophisticated spiral trajectory, ensuring thorough cleaning of plates placed randomly within a predefined workspace. The system leverages numerical inverse kinematics (IK) and Proportional-Derivative (PD) control strategies for precise end-effector positioning and trajectory following.
- Introduction
- System Overview
- Control and Motion Planning
- Trajectory Generation
- Experimental Setup and Results
- Conclusion
- Acknowledgment
- References
- Appendix
The automation of routine tasks, such as dishwashing, has seen significant advancements with the integration of robotic systems. This project employs the ABB IRB 120 robotic arm to perform dishwashing tasks by executing a spiral motion to clean plates, emulating human-like washing techniques.
The robotic system comprises the following components:
- ABB IRB 120 robotic arm: The primary hardware used for the project.
- Inverse Kinematics (IK): Numerical IK methods are used to determine the required joint angles for specific end-effector positions and orientations.
- Task Space Definition: The workspace boundaries are defined to ensure safe operation.
- Plate Position Generation: Random plate positions are generated within the task space, ensuring no overlap and a minimum distance from the robot’s base.
The robot’s motion planning involves two primary phases:
- Spiral Trajectory for Cleaning: A spiral trajectory is generated above each plate to simulate the cleaning motion.
- Transition Trajectory: Smooth trajectories are generated for transitioning between plates, avoiding collisions with the robot’s base and other obstacles.
The spiral trajectory for cleaning is generated using a parametric approach, where the radius increases linearly with the angle to form a spiral.
Transitioning between plates involves generating smooth trajectories using a cubic polynomial trajectory planning method to ensure smooth acceleration and deceleration phases.
The robot starts at the origin with a zero joint configuration. Plates are placed randomly within the task space, ensuring compliance with spacing constraints.
The simulation involves the robot identifying the nearest unvisited plate, executing the spiral cleaning motion, and transitioning to the next plate. This loop continues until all plates are cleaned.
The simulation provides real-time visualization of the robot’s movements, including the spiral trajectories and transitions.
The robotic system successfully demonstrates the capability to perform dishwashing tasks through a controlled spiral motion. Future work may include optimizing the control parameters and exploring advanced trajectory planning algorithms to enhance the system’s performance.
I would like to express my gratitude to Professor Jonathan Realmuto for his exceptional teaching in the Kinematics and Dynamics (ME221) course. His insightful instruction provided the foundational understanding and intuition necessary for the concepts utilized in this project.
- MathWorks, “Inverse Kinematics - MATLAB Simulink,” Link.
- MathWorks, “Analytical Solutions of the Inverse Kinematics,” Link.
- MathWorks, “Trajectory Control Modeling with Inverse Kinematics,” Link.
- MathWorks, “Implement PID Control,” Link.
- MathWorks, “Constraint Objects,” Link.
- MathWorks, “Model and Control a Manipulator Arm with Robotics and Simscape,” Link.
- MathWorks, “Multi-Loop PI Control of a Robotic Arm,” Link.
- MathWorks, “Connect to Kinova Gen3 Robot and Manipulate the Arm Using MATLAB,” Link.
- MathWorks, “Modeling Inverse Kinematics in a Robotic Arm,” Link.
- MathWorks, “Sliding Mode Control Design for a Robotic Manipulator,” Link.
- MathWorks, “Perform Safe Trajectory Tracking Control Using Robotics Manipulator Blocks,” Link.