Skip to content
@dqrobotics

DQ Robotics

The DQ Robotics Project

DQ Robotics

DQ Robotics is a standalone open-source (LGPLv3) library for robot modelling and control. It provides dual quaternion algebra and kinematic calculation algorithms in Python3, Matlab, and C++11.

❗For a quick introduction to the library and how to cite it in your work, please visit the official website: https://dqrobotics.github.io/.

Quick Start (Python)

Isolated installation

Important

Most systems will return errors if you do not use a venv.

Enviroments such as pip have started to enforce the use of isolated enviroments, such as venv.

python3 -m venv venv
source venv/bin/activate

Installing

python3 -m pip install dqrobotics

Interfaces

Important

Since 8d8eb88, interface packages have been split away from the main library.

If, for instance, DQ_CoppeliaSimInterfaceZMQ is needed, instal it as follows.

python3 -m pip install dqrobotics-interface-coppeliasim-zmq

User-wide installation

Caution

If you attempt to install outside of a venv, you will get an error in most systems.

error: externally-managed-environment
...
hint: See PEP 668 for the detailed specification.

See how to address that here.

Documentation

Installation instructions for C++11, MATLAB, and interface packages are available at the project's readthedocs.

Learn

Kinematic modeling and control of serial-link robotic manipulators using dqrobotics: From zero to hero

Questions?

Whether you are a beginner or advanced user, you're welcome to ask and answer questions about how to use the library, etc. in our Q&A section. Before you ask a new question, we ask members to skim through the forum to verify if their question has already been answered.

Citation

If you have used this library as part of your academic work, cite it as follows

@article{Adorno-Marinho2020,
archivePrefix = {arXiv},
arxivId = {1910.11612},
author = {Adorno, Bruno Vilhena and  Marinho, Murilo Marques},
doi = {10.1109/MRA.2020.2997920},
eprint = {1910.11612},
issn = {1070-9932},
journal = {IEEE Robotics {\&} Automation Magazine},
pages = {102--116},
month = sep,
volume = {28},
number = {3},
title = {DQ Robotics: A Library for Robot Modeling and Control},
url = {https://ieeexplore.ieee.org/document/9136790/},
year = {2021}
}

Contributing

DQ Robotics is a standalone, fully moderated open-source library, with a core developer team who determines the directions of new developments. To ensure quality control, the team follows a scrict procedure for new pull requests, described here.

Anyone wanting to propose a new modification or introduce new functionality should reach out to the team first, as proposed modifications that do not comply with the development philosophy and style, do not follow the library's architecture, don't introduce a clear and general benefit to the library other than to the person who proposed the modification will likely be rejected with no further discussion.

A good place to initiate such a discussion might be in the discussion forum.

Pinned Loading

  1. python python Public

    The DQ Robotics library in Python

    C++ 31 12

  2. cpp cpp Public

    The DQ Robotics library in C++

    C++ 46 16

  3. matlab matlab Public

    The DQ Robotics library in MATLAB

    MATLAB 27 14

  4. container container Public

    Containerized environments for development with the DQ Robotics library

    Shell 1

Repositories

Showing 10 of 24 repositories
  • python Public

    The DQ Robotics library in Python

    dqrobotics/python's past year of commit activity
    C++ 31 LGPL-3.0 12 2 0 Updated Sep 28, 2026
  • cpp Public

    The DQ Robotics library in C++

    dqrobotics/cpp's past year of commit activity
    C++ 46 LGPL-3.0 16 4 (1 issue needs help) 2 Updated Sep 21, 2026
  • matlab Public

    The DQ Robotics library in MATLAB

    dqrobotics/matlab's past year of commit activity
    MATLAB 27 LGPL-3.0 14 8 1 Updated Sep 6, 2026
  • cpp-examples Public

    DQ Robotics cpp examples

    dqrobotics/cpp-examples's past year of commit activity
    C++ 5 LGPL-3.0 4 0 2 Updated Sep 4, 2026
  • container Public

    Containerized environments for development with the DQ Robotics library

    dqrobotics/container's past year of commit activity
    Shell 1 LGPL-2.1 0 0 0 Updated Jun 9, 2026
  • .github Public

    Default community health files for the dqrobotics organization

    dqrobotics/.github's past year of commit activity
    0 0 0 0 Updated Jun 2, 2026
  • cpp-interface-qpoases Public

    Interface between DQ Robotics and https://github.com/coin-or/qpOASES.

    dqrobotics/cpp-interface-qpoases's past year of commit activity
    C++ 0 LGPL-3.0 2 0 0 Updated May 8, 2026
  • cpp-interface-json11 Public

    Interface between DQ Robotics and dropbox/json11

    dqrobotics/cpp-interface-json11's past year of commit activity
    C++ 0 LGPL-3.0 1 0 0 Updated Apr 9, 2026
  • dqrobotics/matlab-interface-coppeliasim-zmq's past year of commit activity
    MATLAB 0 LGPL-2.1 1 0 1 Updated Sep 22, 2025
  • matlab-examples Public

    Examples and demos for Matlab

    dqrobotics/matlab-examples's past year of commit activity
    MATLAB 4 LGPL-3.0 3 1 4 Updated Sep 10, 2025

Top languages

Loading…

Most used topics

Loading…