
Learn to control industrial robots with minimal prerequisites
What we cover in this class and what we don't.
What are industrial robots and what are they used for?
Serial vs. Parallel kinematics
Some nomenclature: base, joints, TCP
More nomenclature: movements types, speed definitions, and workspace
Coordinate systems: global, machine, tool, workpiece
Frames translations and rotations
Composition and decomposition of a rotation matrix into Euler angles
Rotation matrix properties
Combining translations and rotations into a single homogeneous transformation
Review of frame operations
General solution of forward kinematics for serial chains
Solving the forward kinematics of a 6-axes robot in 6 steps
Test your code against this example
Add a base frame and a tool to the forward kinematics solution
Introduce mechanical coupling between joint axes
Can inverse kinematics be solved in closed-form?
Multiple solutions and singularities
Solving the first half of the inverse kinematics: Joints 1-2-3
Solving the second half of the inverse kinematics: Joints 4-5-6
Test your own code against this example
Add a base frame and a tool to the inverse kinematics solution
Compensate for mechanical coupling between joint axes
Define a geometrical path in space
Point-To-Point movements: equations and properties
Interpolating in the path space: position and orientation
Introducing quaternions, their properties and the SLERP interpolation
Parametric equations for lines and circles in space
Introducing cubic Bezier splines and DeCasteljeu's algorithm
Rounding edges with quartic Bezier splines. Defining continuity of a transition.
Calculate the length of a path and modify it at run-time
Define the workspace and reduce complexity
Intersection between lines and cuboids. Wireframe model. Safe orientation cone.
Introducing capsules for self-collision detection.
Introduce exclusive zones and monitor distance between robots. Calculate distance between two capsules.
Introduce trajectory as function of path in time
Use the standard S-curve to generate jerk-limited trajectories
Explore alternatives to the S-curve: sinusoidal profiles and Bezier profiles
Modify path speed to avoid violations of joints dynamic limits
Introduce the Jacobian to calculate path twist given joints speed
Use Gaussian filter to smooth trajectories in the time domain
Joints, Cartesian and angular speed calculations
Use the Jacobian to transform the TCP wrench into joints torques. Introduce manipulability ellipsoid.
Dynamic model: concept and parameters identification
Overview of two common methods used to solve inverse dynamics
Typical applications of dynamic model: motor sizing; torque feed-forward control; trajectory optimization; teach by hand.
Introduce list of common commands used to program robots.
Learn how an industrial 6-axes anthropomorphic robot works. We will start by building its kinematic model step-by-step, then plan geometrical paths and optimize motion trajectories. We will learn how to correctly size the electric motors and understand the fine-tuning procedures for the servo drives. We will describe calibration procedures for the arm, tool and cell, and finally generate a realistic digital twin for your simulations!
New bonus lecture at the end: kinematic model of UR robot!