- Introduction
- Project Structure
- Methodology
- Kinematic Problem
- Inverse Kinamatic Problem
- Control Schema
- Experimentation
- Referances
- Contributing
- License
Welcome to my Industrial Palletizing Robot Arm project! Explore my journey of designing, building, and programming this complex robot and how I transformed it into a 2D drafting machine. Discover its kinematics, control systems, and more exciting features.
The project is organized in the flowwing tree:
- Figures include simulation images and illustration graphics.
- Demo comprises demonstration videos and GIFs.
- Datasheets consist of hardware component datasheets.
- Scripts encompass MATLAB calculus and command scripts.
Regarding the complexity of the robot's kinematic chain, the equations I derived differ from the approach described in the following sections. I worked in cylindrical coordinates
The Denavit-Hartenberg Representation of our robot is described as follows:
The robot input parameters consist of three rotation angles denoted as
Link | ||||
---|---|---|---|---|
1 | 0 | |||
2 | 0 | |||
3 | 0 | 0 | ||
4 | 0 | 0 |
We use the real dimensions provided in the official robot datasheet, even though our prototype model is a smaller kit.
Since joint 3 is passive, the value of
We obtain the position of the end effector from the fourth column of the matrix T :
The parameter
We can observe that the system's forward kinematics are highly nonlinear, making traditional solving methods time-consuming. To simplify the equations, I propose changing the system's coordinate system into a cylindrical system.
Given an initial position of the robot defined by
where
To compute the inverse Jacobian, we need to invert the matrix
The
For the control part, I employ the classical Inverse Jacobian Algorithm. Since we work in 2D, it's essential to maintain
The project implementation took me more than 2 months, during which I encountered significant technical challenges. I can summarize my journey in the following main steps:
- I began by repairing and assembling the robot from scratch, using the minimal tools available in our club.
- I initiated my initial tests using unipolar stepper motors (28YBJ-48). However, their torque couldn't support the heavy load of the manipulator, and they would overheat.
- I switched to NEMA17 bipolar stepper motors, but without the appropriate driver and a 12V DC power supply, it was quite chaotic.
- Eventually, I resolved the issues by using MG995 servo motors, and I started determining my workspace dimensions while developing the theoretical study. I used an Arduino Mega 2560 board, which I controlled through MATLAB, although the algorithm's high computational complexity strained the hardware's capabilities.
- Finally, I set up the code to create basic shapes like letters "H" and "I," as well as geometric shapes such as rectangles and lines..
I use an arduino Mega 2560 board wich i controlled it thought MATLAB , regarding the hight computation complexity of the algorthim which The harware cannot support.
Here are the best results we obtained in some of our tests:
- Robotics: Modelling Planning and Control Bruno-Siciliano-2010
- Robotics, Vision and Control - Peter Corke-2020
I would be happy to welcome anyone willing to contribute or support this project.
The project is licensed under the GNU license. For more details, please refer to the License file.