In this seven-lesson tutorial, we start from the very basics of setting up your Python environment,
then cover scalar and matricial operations in Python using numpy,
all the way until the basics of kinematic control. Until kinematic control, most is based on Spong et al., 2020.
Using this book¶
Each lesson is a MyST text notebook. Each lesson can be opened and executed with popular IDEs, such as VSCode and PyCharm. The reader is expected to follow it sequentially.
Contents¶
| Number | Title and Link | Content |
|---|---|---|
| 0 | lesson0 | Setting up the virtual environment and installing all required dependencies. |
| 1 | L1 A quick Python refresher | Basic operations in Python and numpy |
| 2 | L2 Rigid Body Motion | Learn about elements and operations in , , and with related to positions, orientations, and poses, respectively. |
| 3 | L3 Forward Kinematics | Learn about the composition of rigid body motion in series to obtain the forward kinematics model of a robotic manipulator, mapping their configuration space into their task space . |
| 4 | L4 Differential Kinematics | Learn about the first-order differential mapping between joint space and task space velocities through the calculation of the Jacobian . |
| 5 | L5 Kinematic Control | Employ the previous knowledge in all previous lessons to employ a Lyapunov-stable control law to move a manipulator in task space using configuration-space signals. |
| 6 | L6 Adaptive Constrained Kinematic Control | Advanced application: run the adaptive constrained kinematic control example from Marinho & Adorno, 2022 in Python, using the headless (no_vrep) API, and compare a run with and without online model adaptation. |
Exercise Answers¶
| Lesson | Link |
|---|---|
| L1 | L1 Exercise Answers |
| L2 | L2 Exercise Answers |
| L3 | L3 Exercise Answers |
| L4 | L4 Exercise Answers |
| L5 | L5 Exercise Answers |
- Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control. Wiley.
- Marinho, M. M., & Adorno, B. V. (2022). Adaptive Constrained Kinematic Control Using Partial or Complete Task-Space Measurements. IEEE Transactions on Robotics, 38(6), 3498–3513. 10.1109/TRO.2022.3181047