This project provides a comprehensive analysis of the forward and inverse kinematics for the ABB IRB 120 industrial robot using Python. The code leverages symbolic computation, numerical evaluation, and visualization to explore the robot's workspace, reach, and kinematic solutions. Console output includes detailed results for forward kinematics, workspace statistics, joint positions, inverse kinematics solutions, and validation tests.
- Symbolic Forward Kinematics:
- Uses Denavit-Hartenberg (DH) parameters to compute the transformation matrix from base to end-effector.
- Symbolic computation with
sympyfor general solutions.
- Numeric Forward Kinematics:
- Evaluates the end-effector position for several test joint configurations.
- Workspace Analysis:
- Randomly samples joint angles to visualize the robot's reachable workspace.
- Provides statistics on reach and workspace dimensions.
- Inverse Kinematics (2D Planar Approximation):
- Solves for joint angles given a target position in a simplified 2D plane.
- Validates IK solutions and prints errors.
- Validation:
- Tests the FK → IK → FK cycle for accuracy.
- Console Output:
- Detailed results for forward kinematics, workspace statistics, joint positions, inverse kinematics solutions, and validation tests.
- Figures:
- If plotting code is enabled, figures such as 3D workspace plots and 2D IK analysis can be generated and saved (e.g.,
Figure_FK_Analysis.png,Figure_3_IK_Analysis.png).
- If plotting code is enabled, figures such as 3D workspace plots and 2D IK analysis can be generated and saved (e.g.,
- The script prints transformation matrices, joint positions, workspace statistics (reach, X/Y/Z ranges), and results of inverse kinematics and validation tests.
- Warnings are printed if a target is unreachable in the 2D IK section.
- Validation tests show the accuracy of the FK → IK → FK cycle.
- Python 3.x
numpysympymatplotlib
Install dependencies with:
pip install numpy sympy matplotlib- Place
ABBIRB120.pyin your working directory. - Run the script:
python ABBIRB120.py- View the console output for analysis results. If plotting is enabled, check the generated figures in your working directory.
ABBIRB120.py: Main script containing all kinematics computations, plotting, and analysis.
- The inverse kinematics section uses a simplified 2D planar model for demonstration purposes.
- The code is well-commented for educational and research use.