Skip to content

Szezi/KinematicsSolverApp

Repository files navigation


Logo

KinematicsSolverApp

KinematicsSolverApp is a desktop application that allows to perform forward and inverse kinematics calculations using D-H and geometrical methods.
Explore the docs »

Table of Contents
  1. Getting Started
  2. About the project
  3. Todo
  4. License
  5. Contact

Getting Started

To run this project, create virtual environment and install it locally.

Installation

  1. Clone the repo
    $ git clone https://github.com/Szezi/KinematicsSolverApp
  2. Install packages
    $ pip install -r requirements.txt
  3. Run main.py

MacOS

In case of using MacOS add in main.py

import os
os.environ['QT_MAC_WANTS_LAYER'] = '1'

Also if there is issue with fonts, change used fonts families in ui_KinematicsSolverApp.py for example to Helvetica.

Technologies

(back to top)

About The Project

KinematicsSolverApp is a desktop application that allows to perform forward and inverse kinematics calculations using D-H and geometrical methods.

Desktop app

page_Home

The desktop application consists of 4 main screens with different functionality. Switching between the selected screens is done with the use of the pull-down side menu. In the upper bar there is information about the currently selected screen, while in the lower part of the screen there is a bar with application operation messages. These logs are also saved in the appropriate file.

page_fk

The FK screen is used to calculate the forward kinematics of the manipulator. The application page has 3 tabs. First tab - Input/Solve allows user to input basic data about robotic arm, its links length and joints range. Filling these informations app allows user to solve forward kinematics with given joints values. On this tab Denavit-Hartenberg table is being shown.

page_fk

Second tab - Homogeneous matrices - allows user to see results of performed calculations with created homogeneous matrices.

page_fk

Last tab - User - allows user to calculate forward kinematics with only given by user dh table. In additions this method allows to calculate kinematics with more then 5 transformation simply by adding more rows to the table. Results of calculations are shown on the right side of the page.

page_ik

The IK screen is used to calculate the inverse kinematics of the manipulator. The application page has 2 tabs. First tab - Input/Solve allows user to input basic data about robotic arm, its links length and joints range. Filling these informations app allows user to solve inverse kinematics with given xyz values. Results in 2 configurations are shown below. The second tab contains a diagram of the robot arm.

(back to top)

Unit tests

page_ik

Unit tests to module of forward kinematics (fk_solver) and inverse kinematics (ik_solver) were developed using pytest. Unit tests coverage of fk_solver is 94%. Unit tests coverage of ik_solver is 81%.

(back to top)

## Todo
  • Unit tests

(back to top)

License

Distributed under the GPL-3.0 license. See LICENSE.txt for more information.

(back to top)

Contact

Project Link: https://github.com/Szezi/KinematicsSolverApp

(back to top)

About

Robotics forward and inverse kinematics solver

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages