Skip to article frontmatterSkip to article content

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

The University of Manchester

This executable book contains eight lessons representing serial-link manipulator modeling in dual quaternions using dqrobobotics described in Adorno & Marques Marinho (2021). It is a derivative work of a dqrobotics MATLAB course from Murilo M. Marinho.

The theory used in this book is described in works such as Adorno, 2011, Adorno, 2017, and Marinho et al. (2019).

Using this book

Each lesson is a Jupyter notebook. Each lesson can be downloaded, opened, and executed with popular IDEs, such as VSCode and PyCharm. The reader is expected to follow it sequentially.

Contents

NumberTitle and LinkContent
1DQ1 Python BasicsThe very basics of Python and numpy, including simple mathematical operations.
2DQ2 Quaternion Basics using DQ RoboticsRepresenting and manipulating quaternions using dqrobotics Python. Unit quaternions are also introduced and used to represent the rotation of rigid bodies
3DQ3 Dual Quaternion Basics using DQ RoboticsRepresenting and manipulating dual quaternions using dqrobotics Python. Unit dual quaternions are introduced and used to represent the pose transformation of rigid bodies.
4DQ4 Dual Quaternion Basics using DQ Robotics - Part 2Unit dual quaternions are used to represent lines and planes. Distance functions between points, lines, and planes are also introduced
5DQ5 Robot Control Basics using DQ Robotics - Part 1The basics of the kinematic control of serial-link robotic manipulators. Forward kinematics model, inverse kinematics model, task-space velocity and position control using a 1-DoF planar robot.
6DQ6 Robot Control Basics using DQ Robotics - Part 2Modeling serial robots using the Denavit-Hartenberg (DH) parameters; the forward kinematics model using the DH parameters; the pose, rotation, translation Jacobians; translation, rotation, and pose task-space controlers; all using a 3-DoF planar robot.
7DQ7 Robot Control Basics using DQ Robotics - Part 3Understanding and handling task-space singularities with a 7-DoF planar robot.
8DQ8 Optimization-based Robot ControlRevisiting the topic of kinematic control using mathematical optimization formulation, implement joint-space and task-space constraints using quadratic programming.
References
  1. Adorno, B. V., & Marques Marinho, M. (2021). DQ Robotics: A Library for Robot Modeling and Control. IEEE Robotics & Automation Magazine, 28(3), 102–116. 10.1109/mra.2020.2997920
  2. Adorno, B. V. (2011). Two-arm Manipulation: From Manipulators to Enhanced Human-Robot Collaboration [Theses, Université Montpellier II - Sciences et Techniques du Languedoc]. https://theses.hal.science/tel-00641678
  3. Adorno, B. V. (2017). Robot Kinematic Modeling and Control Based on Dual Quaternion Algebra — Part I: Fundamentals. https://hal.science/hal-01478225
  4. Marinho, M. M., Adorno, B. V., Harada, K., & Mitsuishi, M. (2019). Dynamic Active Constraints for Surgical Robots Using Vector-Field Inequalities. IEEE Transactions on Robotics, 35(5), 1166–1185. 10.1109/tro.2019.2920078