|
5 | 5 | https://marinholab.github.io/OpenExecutableBooksRobotics/ |
6 | 6 |
|
7 | 7 | ## License |
8 | | -Shield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa] |
9 | | - |
10 | 8 | This work is licensed under a |
11 | 9 | [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa]. |
12 | 10 |
|
13 | 11 | [![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa] |
14 | 12 |
|
15 | 13 | [cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/ |
16 | 14 | [cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png |
17 | | -[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg |
18 | 15 |
|
19 | | -## Lessons |
| 16 | +## This project has been funded by |
| 17 | + |
| 18 | +|Duration |Fund |Funder | |
| 19 | +|----------------|--------------------------|--------------------------------| |
| 20 | +|Aug 24 - Jul 25| [Open Research Fellowship](https://manchester-uk.libanswers.com/OOR/faq/279379) | [Office for Open Research (UoM)](https://www.openresearch.manchester.ac.uk) | |
| 21 | + |
| 22 | +## Basic Lessons |
| 23 | + |
| 24 | +These lessons are linked to the [Robotic Manipulators](https://www.manchester.ac.uk/study/masters/courses/list/20967/msc-robotics/course-details/EEEN62012#course-unit-details) course at UoM. |
20 | 25 |
|
21 | 26 | |Lesson|Title| |
22 | 27 | |------|-----| |
23 | 28 | |1|Python basics| |
24 | | -|2|Rigid body transformation basics| |
25 | | -|3|Planar robot forward kinematics| |
26 | | -|4|Planar robot differential kinematics| |
27 | | -|5|Planar robot kinematic control| |
| 29 | +|2|Rigid body motion| |
| 30 | +|3|Forward kinematics| |
| 31 | +|4|Differential kinematics| |
| 32 | +|5|Kinematic control| |
| 33 | + |
| 34 | +## Advanced Lessons |
| 35 | + |
| 36 | +Eight lessons representing the Python version of the course below, related to dual-quaternion algebra using [DQ Robotics](https://dqrobotics.github.io). |
| 37 | + |
| 38 | +``` |
| 39 | +Kinematic modeling and control of serial-link robotic manipulators using DQ Robotics: From zero to hero. |
| 40 | +``` |
| 41 | + |
| 42 | +|Number|Title|Content| |
| 43 | +|---|---|---| |
| 44 | +|1|*Python Basics*|The very basics of Python and `numpy`, including simple mathematical operations.| |
| 45 | +|2|*Quaternion Basics*|Representing and manipulating quaternions using DQ Robotics Python. Unit quaternions are also introduced and used to represent the rotation of rigid bodies| |
| 46 | +|3|*Dual Quaternion Basics (Part 1)*| Representing and manipulating dual quaternions using DQ Robotics Python. Unit dual quaternions are introduced and used to represent the pose transformation of rigid bodies.| |
| 47 | +|4|*Dual Quaternion Basics (Part 2)*| Unit dual quaternions are used to represent lines and planes. Distance functions between points, lines, and planes are also introduced| |
| 48 | +|5|*Robot Control Basics (Part 1)*| The 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.| |
| 49 | +|6|*Robot Control Basics (Part 2)*| Modeling 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.| |
| 50 | +|7|*Robot Control Basics (Part 3)*| Understanding and handling task-space singularities with a 7-DoF planar robot.| |
| 51 | +|8|*Optimization-based Robot Control*| Revisiting the topic of kinematic control using mathematical optimization formulation, implement joint-space and task-space constraints using quadratic programming.| |
0 commit comments