Control of industrial robots

MSc in Automation and Control Engineering
MSc in Computer Science and Engineering
MSc in Electronics Engineering
MSc in Engineering Physics

Prof. Paolo Rocco




11:15-13:15 room 5.03



13:15-15:15 room 26.11



Integrated version of the course

The course can be taken as a standalone 5 credits course or as a module of the integrated course Control of industrial and mobile robots.


Information on the other module (Control of mobile robots) is available at this link:


Learning objectives and course syllabus

The goal of this course is to present current and advanced methodologies for the control of robotic manipulators. The course covers selected topics ranging from kinematic and dynamic modelling of an industrial robot, to motion planning and control, to control of the interaction of the robot with the environment. The goal of the course is fully aligned with the overall goals of the Automation and Control Engineering Program, while being an excellent complement for students enrolled in other Programs (Computer Science and Engineering, Electronics Engineering, Engineering Physics, and others).

A mix of theoretical and industrially relevant topics characterizes the course, where extensive use of software for simulation and offline programming of robots will be made.

The expected learning outcomes of the course belong to the technological and design area of the expected learning outcomes of the Program.

Specifically, at the end of the course, the student is expected to be able to:

-understand the role of industrial robots in the factory, why and where they should be used in the production systems;

-use mathematics to describe the motion of a robot;

-plan a suitable motion for the robot both in free environment and in presence of obstacles;

-tune an industrial motion control system and understand the rationale and potentialities of advanced nonlinear model based control strategies;

-manage the control of the interaction of the robot with the environment, either with force or with vision sensors;

-understand and master the new trends in industrial robotics, like collaborative robotics;

-use software programs to simulate and to offline program the robots.

Course syllabus is as follows:


Industrial robots: basic concepts and examples. Market of industrial robotics. Trends in industrial robotics.

Robot kinematics

Review of direct, inverse and differential kinematics. Kinematics of redundant manipulators. Inverse differential kinematics.

Robot dynamics

Dynamic models of robot manipulators. Euler-Lagrange and Newton-Euler formulations. Main properties. Identification of dynamic parameters. Direct and inverse dynamics.

Motion planning

Path planning and trajectory planning. Trajectories in the joint space: point to point motion and interpolation of points (splines). Kinematic and dynamic scaling of trajectories. Trajectories in the operational space : position and orientation trajectories. Robot programming languages: examples. Path planning with obstacle avoidance.

Control of robot manipulators

Approximate decentralized model of the robot. Review of independent joint control methods. Centralized model-based controllers. Computed torque feedforward control. PD control with gravity compensation. Inverse dynamics control. Robust and adaptive control. Operational space control.

Interaction with the environment

Force sensors. Impedance and admittance control. Hybrid position/force control.

Control with vision sensors

Components of a visual system. Image processing. Image-based and position-based visual servoing.

Collaborative robotics

Human-robot interaction. Safety standards. Collaborative robots (cobots): advantages and examples of use.


Some of the practice sessions will make use of computer simulation tools and of commercial tools for robot offline programming.


Basics in Automatic Control and Mechanics.


B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo: Robotics: Modelling, Planning and Control, 3rd Ed., Springer, 2009 (in English)

B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo: Robotica: modellistica, pianificazione e controllo 3a ed., McGraw Hill, 2008 (in Italian)

G. Magnani, G. Ferretti, P. Rocco Tecnologie dei sistemi di controllo, 2a ed., McGraw Hill, 2007 (in Italian)


Lecture notes



Introduction to the Course

Industrial Robotics

Review of Robot Kinematics

Kinematic Redundancy

Robot Dynamics

Motion Planning

Decentralized Control

Centralized Control

Proofs of stability of robust and adaptive control have not been discussed in class and will not be requested at the exam

Control of the Interaction

Control with Vision Sensors

Collaborative Robotics


Lab sessions with MATLAB/Simulink/Robotics Toolbox

In order to participate in the lab activities, students need to bring their own laptop with them.

You need to install your own copy of MATLAB/Simulink. Instructions how to download and install your free copy of MATLAB are available here:

You also need to install an additional toolbox, the Robotics Toolbox by Peter Corke. The instructions to download and install the toolbox (latest release is 10.4) are available at:

Please notice that this is not the toolbox on robotics delivered by The MathWorks. Functionalities of the toolbox have been checked with success with recent versions of MATLAB until R2019b.

A manual of the toolbox is available.

Depending on the way you installed the toolbox, in order to run the toolbox you may need to issue the initialization command:



Lab sessions with ABB RobotStudio

RobotStudio is a professional virtual environment for offline programming of robots, interfaced with a virtual controller.

Please install beforehand your own copy of RoboStudio. You can download the software at the following address:


Please notice that it is a somewhat heavy download (about 2 GB). Also the program runs only in a Microsoft Windows PC.

Following the instructions available at the above web page, you should fill a form to request your own copy of the software and then, after installation, activate a free license that is valid for 30 days. Interested students can ask us for a license for educational purposes (we have several of them).


Once you have installed RobotStudio, you also need to install the appropriate RobotWare for our lab sessions. Follow these instructions:

 -open RobotStudio

-select the tab "Add-ins"

-select the version 6.11.02 of the RobotWare IRC5 and install it


Once the installation is complete, by selecting again the tab "Add-ins", the installed RobotWare will show up under the installed packages. Please proceed to the installation of the RobotWare before the lab session.



Students will take a written examination, integrated by an oral one at the instructor's discretion. Text of the exam will be in English, solutions should preferably be given in English.

Texts of exams are published here.

Exams made in written form

January 24, 2022 SOLUTION [Integrated version of the exam SOLUTION]

September 9, 2021 [Integrated version of the exam]

July 14, 2021 [Integrated version of the exam]

June 28, 2021 [Integrated version of the exam]


Links to the online exams made on the Moodle platform

February 18, 2021 [Integrated version of the exam]

January 22, 2021 [Integrated version of the exam]

September 7, 2020 [Integrated version of the exam]

July 20, 2020 [Integrated version of the exam]

June 19, 2020 [Integrated version of the exam]

Training example


Exams made in written form

February 6, 2020 [Integrated version of the exam]

January 15, 2020 SOLUTION [Integrated version of the exam SOLUTION]

July 2, 2019 [Integrated version of the exam]

January 29, 2019 [Integrated version of the exam]

January 10, 2019 SOLUTION [Integrated version of the exam SOLUTION]

July 4, 2018

February 20, 2018

January 17, 2018 SOLUTION

July 4, 2017

February 20, 2017

January 31, 2017 SOLUTION

July 5, 2016

March 1, 2016

February 2, 2016 SOLUTION

July 1, 2015

February 23, 2015

February 3, 2015 SOLUTION

July 2, 2014

February 26, 2014

February 11, 2014 SOLUTION

June 25, 2013

February 19, 2013

January 31, 2013 SOLUTION

September 4, 2012

July 3, 2012

March 2, 2012

February 1, 2012 SOLUTION

Students may also refer to the exams of the previously offered course Controllo del moto e robotica industriale (in Italian).

Results of the exams will be notified to the students through the online services.