/2-Link_Manipulator

Demonstration of simple control of a two-link robotic arm (2 degrees of freedom) implemented in Python using animation.

Primary LanguagePythonMIT LicenseMIT

Two-Link Manipulator: 2DOF ABB IRB 910SC (SCARA)

Requirements:

Programming Language:

Python

Import Libraries:

Manipulator Control: Matplotlib, NumPy
Dynamics: Matplotlib, NumPy, SciPy

Project Description:

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).

Project Hierarchy:

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/

Application:

Work Envelop:

Linear and Joint Interpolation:

Trajectory problem detection (some points not reachable):

Trajectory Generation (Circle, Rectangle):

Trajectory smoothing using Bézier curves:

Result:

Contact Info:

Roman.Parak@outlook.com

Citation (BibTex)

@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}}
}

License

MIT