Programming Language:
Python
Import Libraries:
Manipulator Control: Matplotlib, NumPy
Dynamics: Matplotlib, NumPy, SciPy
The project is focused on the Demonstration of simple control of a two-link robotic arm (2 degrees of freedom) implemented in Python using animation. The main parameters of the robot (length of arms, working range, etc.) are from the ABB IRB 910SC robot (SCARA), but only for 2-DOF control.
The main idea of the project is adaptability to future automation technologies in various fields and improving literacy (understanding kinematics, dynamics, motion planning, etc., in the field of robotics). The project was created to improve the VRM (Programming for Robots and Manipulators) university course.
Main functions of the robotic arm (2-DOF):
- Inverse / Forward kinematics, Differential Kinematics (Jacobian)
- Creation of a working envelope (Points, Line)
- Motion planning using Joint / Cartesian interpolation
- Trajectory smoothing using Bézier curves
- Animation of the resulting trajectory
- Check of reachable points, etc.
The project was realized at the Institute of Automation and Computer Science, Brno University of Technology, Faculty of Mechanical Engineering (NETME Centre - Cybernetics and Robotics Division).
Repositary [/2-Link_Manipulator/]:
[ A simple example of implementing euler-lagrange dynamics ] /Script/Dynamics/
[ Main Script (Test) + Manipulator Control Class ] /Script/Manipulator/
[ IRB 910SC Product Specification ] /Product_specification/
Work Envelop:
Linear and Joint Interpolation:
Trajectory problem detection (some points not reachable):
Trajectory Generation (Circle, Rectangle):
Trajectory smoothing using Bézier curves:
@misc{RomanParak_2LArm,
author = {Roman Parak},
title = {Simple control of a two-link robotic arm implemented in Python},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/rparak/Bioloid-Dynamixel-AX12A}}
}