
Learn how to download and install the robotics toolbox from the website, install from X files in MATLAB, and verify a successful setup.
Explore how inertial and local frames enable frame-to-frame transformations, using rotation matrices and homogeneous transformation matrices to express and transform vectors for robotic kinematics and dynamics.
Compute rotation matrices from dot products of unit axis vectors to relate frames, and learn to compose rotations about current versus fixed frames with post and pre-multiplication rules.
Apply rotation methods using the Pethokoukis Robotics Library to explore rotation matrices around the x, y, and z axes with pi over three, observing non-commutative composition and determinant-one properties.
Examine three-angle representations of rotation to describe 3D orientation with three independent quantities, using successive rotations about the current frame and rotation matrices.
Explore axis-angle representation of rotation by deriving the rotation axis from the eigenvector and the rotation angle from eigenvalues, and use unit quaternions for efficient, gimbal lock-free rotations.
Apply and compare rotation representations—Euler angles, rotation matrices, axis-angle, and unit quaternions—using current-frame post-multiplication and sequences like z-y-x, roll-pitch-yaw. Explore eigen-based axis extraction and Rodrigues formula.
Explore gimbal lock in yaw pitch roll representations, showing how aligned gimbals lose a degree of freedom and cause singularities; learn to avoid it with quaternions or rotation matrices.
Explore how rigid motion combines translation and rotation using homogeneous transformation matrices to represent frames, coordinates, and composition, with practical MATLAB and simulation applications.
Apply homogeneous transformation matrices in MATLAB to perform translation and rotation on robotic frames, using post multiplication and homogeneous coordinates. Explore composition of transformations and visualize rigid motion in 3D.
Learn to apply ROS transformations and tf2 to compute the relative pose between a TurtleBot3 and a dynamic object in Gazebo, then command go to goal navigation with velocity control.
Explore forward kinematics for robotic manipulators, computing end-effector position and orientation from joint angles using homogeneous transformation matrices. Understand joints, links, frames, and collision avoidance in workspace.
Learn to calculate forward kinematics with the DH convention through systematic frame assignment and DH parameters, using homogeneous transformation matrices to relate base and end-effector frames.
Learn to build the DH parameter table for a robotic manipulator, compute theta, d, a, alpha for each joint, and form homogeneous transformation matrices between consecutive frames for forward kinematics.
Apply DH parameter methods to a cylindrical robot arm with a spherical wrist, deriving forward kinematics by separating base and wrist, assigning frames, and computing transformations for a complete manipulator.
Build a stick robot simulator in MATLAB to explore forward kinematics, plotting joint centers in the base frame and updating end effector position via homogeneous transformation matrices and sliders.
Relate joint velocities to end-effector velocity through the Jacobian matrix, exploring linear and angular components in forward kinematics with the Puma 560 example.
Develop the analytical Jacobian by relating time-varying roll-pitch-yaw angles and their derivatives to end-effector velocities, and compare it with the geometric Jacobian.
Explore singularities and manipulability in six‑dof robot manipulators by analyzing jacobian matrices, their inverses, near singularities, condition numbers, and velocity ellipses, with MATLAB demos on Puma models.
Explore jacobian analysis for under actuated and redundant manipulators, using square submatrices, inverse methods, and null-space projection to achieve end-effector motion and obstacle avoidance.
Explore the force and torque relationships in robot manipulators, linking external forces to joint torques via the Jacobian and virtual work, with revolute and prismatic joints.
Build on forward kinematics and homogeneous transformation matrices to solve inverse kinematics, using closed-form and numerical methods for six degrees of freedom robots with decoupling, noting multiple and non-reachable solutions.
Explore numerical inverse kinematics for redundant robots, using jacobian inverse and jacobian transpose methods, to reach a desired end-effector pose by iteratively adjusting q based on forward kinematics.
Explore the dynamic model of robotic manipulators, including direct and inverse models and how joint forces relate to position, velocity, and acceleration for simulation and design.
Learn about generalized coordinates, frame-invariant kinetic energy, and the Lagrangian, then derive robotic manipulator dynamics with Euler-Lagrange using kinetic and potential energies and non-conservative forces.
Derive Euler-Lagrange modeling of robotic manipulators using joint angles as generalized coordinates and velocity kinematics via Jacobians, deriving inertia matrix, lagrangian, gravity vector, Coriolis and Christoffel symbols.
Explore the Euler-Lagrange dynamics of a two-DOF robot arm by analyzing the inertia matrix M(q) with its symmetry and bounds, the Coriolis matrix C(q, qd), gravity G(q), and joint coupling.
Demonstrates Euler-Lagrange modelling for a two-DOF planar robot manipulator, deriving the inertia matrix, Coriolis matrix, and gravity vector from Jacobians and potential energy.
Learn linear parametrization of robot manipulator dynamics and parameter identification via least squares from sufficiently exciting trajectories for model-based and adaptive control.
Plan and execute smooth, collision-free trajectories for robot manipulators by balancing path planning with trajectory planning, and choosing joint space or task space while respecting velocity, acceleration, and torque limits.
Plan cubic trajectories by parameterizing workspace and joint-space paths with time-based polynomials. Use boundary conditions to set coefficients and achieve smooth velocity and acceleration in single or multi-segment tasks.
Explore a fifth-order polynomial trajectory with a coding session that achieves smooth acceleration under six boundary conditions, solving for coefficients via matrix inversion, and compare its velocity to cubic trajectories.
Explore trapezoidal trajectory design, a linear segment with parabolic blends, featuring three phases: two second-order polynomial acceleration and deceleration phases, a linear middle phase, and a trapezoidal velocity profile.
Learn how to design trapezoidal trajectories for robotic manipulators by selecting velocity and acceleration time within actuator limits, applying derived constraints and equations.
Synchronize multi-joint robot motion using a trapezoidal trajectory by propagating the maximum-displacement joint’s timing to all joints, achieving synchronized six-dof motion with coherent velocity and acceleration profiles.
Apply kinematic scaling to convert normalized trajectories into feasible robot motions that respect actuator velocity and acceleration limits, using time scaling and initial conditions to achieve smooth, minimum-time trajectories.
Apply dynamic scaling to trajectories to satisfy torque limits and account for nonlinear dynamics and couplings. Use a time-scaling function to adjust duration without exceeding torque thresholds.
Learn to use robot control methods to track planned trajectories with minimal error. Compare centralized control approaches and introduce robust and adaptive control to handle disturbances and model uncertainty.
The lecture presents PD with gravity compensation as a robust centralized control method that achieves asymptotic stability by compensating gravity and analyzing steady-state dynamics.
Demonstrate gravity-compensation with a pd controller on a robotic manipulator, tune pd gains, simulate results, and visualize position and velocity errors to reach the desired configuration.
Learn how inverse dynamics control linearizes and decouples a nonlinear, coupled robot manipulator, enabling PD control with gravity compensation to achieve stable trajectory tracking.
Apply inverse dynamics control in matlab by importing a robot manipulator model and tuning pd gains with velocity and acceleration feedforward terms; observe near-zero configuration and errors, and zero velocity.
Explore robust control for robot manipulators, addressing uncertainties in dynamic parameters, friction, and disturbances by combining inverse dynamics with a robust pd-based approach to achieve asymptotic trajectory stability.
Explore robust control with variable structure and sliding mode methods, analyze stability via state-space and phase plots, and implement practical MATLAB-based coding sessions.
Explore robust control for uncertain systems with disturbances, design sliding surface based controllers, implement with MATLAB, analyze chattering and the impact of sampling time on robustness.
Learn how to minimize chattering in robust control for robotic manipulators using boundary layers and discrete integral control, achieving smooth, near-zero steady-state error on sliding surfaces with disturbance observers.
Apply a robust, variable-structure controller to industrial robot manipulators to achieve asymptotic stability and zero trajectory error despite bounded inverse-dynamics uncertainties.
Adaptive control tackles model uncertainties, friction, and disturbances in robot manipulators via online parameter estimation, achieving asymptotic convergence and global stability in trajectory tracking through direct or indirect updates.
Explore adaptive control for robotic manipulators to achieve asymptotic convergence in position and velocity. Update dynamic parameter estimates via regression matrix and null-space rules to ensure persistent tracking accuracy.
Explore force control in robotic manipulators, contrasting pure position control with interaction and contact forces, and learn about impedance and hybrid control for safe, compliant manipulation.
Explore remote center of compliance (RCC) as a passive mechanical solution that provides six-degree-of-freedom compliance, decoupling translation and rotation to compensate misalignments.
Analyzes stiffness and compliance control by modeling the robot and environment as springs and using a PD controller to derive steady-state end-effector position and interaction forces.
Develop stiffness control for any degree of freedom robotic manipulators in workspace coordinates, using positive definite stiffness, PD control with gravity compensation, and Jacobian transpose for compliance.
Explore stiffness and compliance control in joint space, deriving how the Jacobian links to workspace and showing that stiffness is configuration-dependent yet easier to implement without inverses.
Explore impedance control for robot manipulators by modeling mechanical impedance, canceling original dynamics via inverse dynamics, and shaping inertia, damping, and stiffness to adapt to environment interactions.
Explore hybrid position/force control by decoupling control directions within a task frame, using natural and artificial constraints and selection matrices to determine controllable variables in base and task frames.
Apply hybrid position/force control by decoupling the task frame with selection matrices and steering lambda and motion to desired values using A_s, with integral control for robustness.
You are passionate about robotics and don't know where to start? Don't waste your time by asking questions like "Where to start in robotics?", "Which book to read for robotics?". The best way to start robotics is learning the necessary fundamental concepts with the correct sequence, as every next concept is related to the previous one. The purpose of this course is to introduce you to the most important basic concepts in robotics in a correct sequence, so you can easily relate and understand the logic behind each concept.
This course has been designed to provide the theory without going into unnecessary details. It is impossible to avoid theory and derivations in robotics because they will help you to understand the logic behind robotic concepts, so you can deal with different kinds of real-world robotic problems. However, opposite to the books, this course also provides coding and simulation sessions in order to supplement theoretical knowledge with practical ones. Obtaining theoretical and practical skills together will help you to identify the problem and apply appropriate solutions to solve it.
In this course you will learn:
3D rigid body dynamics which includes different kind of representations of rotations, rotation and homogeneous transformation matrices
Forward kinematics using DH convention
Velocity kinematics, geometrical and analytical Jacobians, robot manipulator singularities and inverse kinematics
Robot manipulator dynamic modeling using Euler-Lagrange method
Trajectory generation for robotic manipulators (polynomial and trapezoidal trajectories) alongside kinematic and dynamic scaling of trajectories
Application of basic (PD+gravity compensation, Inverse Dynamics) and advanced (robust and adaptive) control techniques in order to execute desired trajectories with minimal tracking error
Controlling the behavior of robotic manipulators while they are in contact with the environment using force (stiffness/compliance, impedance) and hybrid force/position control techniques
This course has been designed based on the assumption of having basic knowledge in linear algebra, control theory and 3D dynamics. As robotics is such a huge concept, it is impossible to include all these things in one course. However, don't worry. At the beginning of the course, you will be provided with the 'Resources' file which will help you to determine which information you lack and will direct you to the correct sources (free courses and books) so, you can learn them.
So, if you really want to get started with robotics professionally, then join the course and start to follow your passion right now!