Credits
6
Types
- GRAU: Elective
- GCED: Elective
Requirements
This subject has not requirements
, but it has got previous capacities
Department
ESAII
Teachers
Person in charge
- Josep Fernàndez Ruzafa ( josep.fernandez@upc.edu )
Competences
Teamwork
- G5.1 - Capacity to collaborate in a unidisciplinary environment. To identify the objectives of the group and collaborate in the design of the strategy and the working plan to achieve them. To identify the responsibilities of each component of the group and assume the personal compromise of the assigned task. To evaluate and present the own results. To identify the value of the cooperation and exchange information with the other components of the group. To exchange information about the group progress and propose strategies to improve its operation.
Appropiate attitude towards work
- G8.3 - To be motivated for the professional development, to face new challenges and the continuous improvement. To have capacity to work in situations with a lack of information.
Common technical competencies
- CT1.1A - To demonstrate knowledge and comprehension about the fundamentals of computer usage and programming, about operating systems, databases and, in general, about computer programs applicable to the engineering.
- CT1.1B - To demonstrate knowledge and comprehension about the fundamentals of computer usage and programming. Knowledge about the structure, operation and interconnection of computer systems, and about the fundamentals of its programming.
- CT1.2A - To interpret, select and value concepts, theories, uses and technological developments related to computer science and its application derived from the needed fundamentals of mathematics, statistics and physics. Capacity to solve the mathematical problems presented in engineering. Talent to apply the knowledge about: algebra, differential and integral calculus and numeric methods; statistics and optimization.
- CT1.2B - To interpret, select and value concepts, theories, uses and technological developments related to computer science and its application derived from the needed fundamentals of mathematics, statistics and physics. Capacity to understand and dominate the physical and technological fundamentals of computer science: electromagnetism, waves, circuit theory, electronics and photonics and its application to solve engineering problems.
- CT1.2C - To use properly theories, procedures and tools in the professional development of the informatics engineering in all its fields (specification, design, implementation, deployment and products evaluation) demonstrating the comprehension of the adopted compromises in the design decisions.
- CT2.1 - To demonstrate knowledge and capacity to apply the principles, methodologies and life cycles of software engineering.
- CT2.5 - To design and evaluate person-computer interfaces which guarantee the accessibility and usability of computer systems, services and applications.
- CT3.5 - To identify the use possibilities and benefits which can be derived from an application in the different business software typologies and existent ICT services.
- CT3.6 - To demonstrate knowledge about the ethical dimension of the company: in general, the social and corporative responsibility and, concretely, the civil and professional responsibilities of the informatics engineer.
- CT4.1 - To identify the most adequate algorithmic solutions to solve medium difficulty problems.
- CT4.2 - To reason about the correction and efficiency of an algorithmic solution.
- CT4.3 - To demonstrate knowledge and capacity to apply the fundamental principles and the basic techniques of the intelligent systems and its practical application.
- CT5.2 - To know, design and use efficiently the most adequate data types and data structures to solve a problem.
- CT5.3 - To design, write, test, refine, document and maintain code in an high level programming language to solve programming problems applying algorithmic schemas and using data structures.
- CT5.4 - To design the programs¿ architecture using techniques of object orientation, modularization and specification and implementation of abstract data types.
- CT5.5 - To use the tools of a software development environment to create and develop applications.
- CT5.6 - To demonstrate knowledge and capacity to apply the fundamental principles and basic techniques of parallel, concurrent, distributed and real-time programming.
- CT8.1 - To identify current and emerging technologies and evaluate if they are applicable, to satisfy the users needs.
Software engineering specialization
- CES1.2 - To solve integration problems in function of the strategies, standards and available technologies
- CES1.8 - To develop, mantain and evaluate control and real-time systems.
- CES2.1 - To define and manage the requirements of a software system.
- CES2.2 - To design adequate solutions in one or more application domains, using software engineering methods which integrate ethical, social, legal and economical aspects.
Computer engineering specialization
- CEC2.1 - To analyse, evaluate, select and configure hardware platforms for the development and execution of computer applications and services.
Computer science specialization
- CCO1.1 - To evaluate the computational complexity of a problem, know the algorithmic strategies which can solve it and recommend, develop and implement the solution which guarantees the best performance according to the established requirements.
- CCO1.3 - To define, evaluate and select platforms to develop and produce hardware and software for developing computer applications and services of different complexities.
- CCO2.1 - To demonstrate knowledge about the fundamentals, paradigms and the own techniques of intelligent systems, and analyse, design and build computer systems, services and applications which use these techniques in any applicable field.
- CCO2.2 - Capacity to acquire, obtain, formalize and represent human knowledge in a computable way to solve problems through a computer system in any applicable field, in particular in the fields related to computation, perception and operation in intelligent environments.
- CCO3.1 - To implement critical code following criteria like execution time, efficiency and security.
- CCO3.2 - To program taking into account the hardware architecture, using assembly language as well as high-level programming languages.
Objectives
-
Know the elements that make up a robot system, the different alternatives, and how they work.
Related competences: G7.1, CEC2.1, G7.2, G7.3, G8.3, CT1.2B, -
Know the evolution, current state and trends of robotics.
Related competences: G7.1, CES2.1, CES2.2, CT8.1, CT5.2, CT5.4, CT5.5, G7.2, G7.3, G8.3, CT5.3, CT5.6, -
Know the different forms of programming of the robots and their characteristics.
Related competences: CT5.2, CT5.4, CT5.3, CT1.1B, CT1.1A, -
Know and be able to differentiate the different levels of planning and control of the robot's movement.
Related competences: CEC2.1, CT1.2A, CT1.2C, CCO2.1, CT4.1, CT4.2, CCO2.2, CCO3.1, CCO3.2, CT4.3, CT5.6, CT1.2B, -
Know the techniques that allow to define, calculate and generate suitable trajectories for robots, and their algorithmic implementation.
Related competences: CT1.2A, CT1.2C, CCO1.1, CCO1.3, CT4.1, CT4.2, CT4.3, CT1.1B, CT1.1A, -
Know the sensors and perception systems for interaction with the environment for the most common applications
Related competences: G7.1, G7.2, G7.3, G8.3, CT1.2B, -
Know the problems and strategies of guided and autonomous vehicle navigation
Related competences: CEC2.1, CT1.2A, CT1.2C, CCO2.1, CT4.1, CT4.2, CT5.2, CT5.4, CCO2.2, CCO3.1, CCO3.2, CT4.3, CT5.3, CT5.6, CT1.1B, CT1.1A, -
Know how planning techniques are used in the field of robotics
Related competences: CT1.2A, CT1.2C, CT4.1, CT4.2, CT5.2, CT5.4, CT5.5, CT4.3, CT5.3, CT5.6, CT1.1B, CT1.1A, -
Know the sensory requirements of mobile robots
Related competences: G7.1, CT2.5, G7.2, G7.3, G8.3, CT1.2B, -
Know the requirements of the most common applications of robotics and know how to discriminate which tasks are likely to be robotized.
Related competences: G9.1, G9.3, CT8.1, CT5.2, CT5.4, CT5.5, G9.2, CT5.3, CT5.6, -
Be able to identify the requirements of a task that needs to be robotized
Related competences: G9.1, G9.3, CT5.2, CT5.4, CT5.5, G9.2, CT5.3, CT5.6, CT1.2B, -
Know how to program and use robots to solve the proposed task
Related competences: G9.1, G9.3, CT5.2, CT5.4, G9.2, CT5.3, CT1.1B, CT1.1A, -
Know how to integrate the information provided by the sensors in the robot program
Related competences: G7.1, G9.1, G9.3, CT1.2A, CT1.2C, CT2.1, G5.1, CCO1.1, CCO1.3, CT5.2, CT5.4, CT5.5, G7.2, G7.3, G9.2, CT5.3, CT1.1B, CT1.2B, CT1.1A, -
Know how to choose the types of sensors needed for each application
Related competences: G7.1, G9.1, G9.3, CT5.2, CT5.4, CT5.5, G7.2, G7.3, G9.2, CT5.3, CT5.6, CT1.2B, -
Know the factors that affect the reliability of a robot and how to minimize its effect
Related competences: G9.1, G9.3, G9.2, CT1.2B, -
Know the aspects related to the security of robotic systems
Related competences: G9.1, G9.3, CT5.2, CT5.4, CT5.5, G8.3, G9.2, CT5.3, CT5.6, -
Know the methodology of the development of a robotization project
Related competences: CES1.2, CES2.1, CES2.2, CT3.6, CES1.8, CT3.5, -
Design of robotization projects for a specific task
Related competences: G9.1, G9.3, CEC2.1, CES1.2, CES2.1, CES2.2, CT8.1, G5.1, CT3.6, CCO3.1, CCO3.2, G8.3, G9.2, CES1.8, CT3.5,
Contents
-
Introduction
Robots and Robotics. Evolution of robots. Incidence of robotics in today's society. -
Robot morphology.
Components. Structures and characteristics of robots. -
Kinematics of manipulating robots
Geometric transformations. DH parameters. Direct kinematics. Reverse Kinematics. Differential kinematics. -
Generation of trajectories
Paths and trajectories. Trajectories in the joint space. Trajectories in Cartesian space. -
Robot Programming and Control
Joint space control. Manipulator control architecture. Industrial robot programming environments and languages. -
Mobile robots
Mechanisms of locomotion. Types of mobile robots. Direct and inverse kinematics. Maneuverability. -
Perception of the environment
Sensor classification. Characteristics. Depth sensors. Orientation sensors. -
Mobile robot navigation
Reactive navigation. Obstacle escape. Map-based planning. -
Location of the mobile robot
Location systems (GPS, US, IR, fixed routes). Navigation based on reference points. -
Applications of robotics
Industrial Robotics. Service robotics. Exploration robotics. Medical and healthcare robotics. -
Development of a robotization project
Requirements. Design. Ethical and social implications. Reliability and security.
Activities
Activity Evaluation act
Teaching methodology
The teaching methodology of this course moves away from the conventional division between theory, problems, and practical sessions to offer an integrated and dynamic learning experience. During face-to-face sessions, knowledge acquisition activities are seamlessly interspersed with moments of reflection and immediate practical application, enabling students to apply the concepts learned through model building, simulation, and the development of applications for robotic systems.In addition to face to face activities, the learning process is consolidated through independent and teamwork, focused on the resolution and submission of exercises and global projects.
Evaluation methodology
The final grade for the course is determined by the following components:1. Laboratory Mini-ProjectsPractical assignments developed during lab sessions:
a) MP1: Mini-project related to Manipulator Robots.
b) MP2: Mini-project related to Mobile Robots.
2. Global Projects. Comprehensive projects covering specific domains:
a) PG1: Global project related to Manipulator Robots.
b) PG2: Global project related to Mobile Robots.
3. Midterm ExamsTheoretical and practical assessments for each domain:
a) ExParc1: Midterm exam on Manipulator Robots.
b) ExParc2: Midterm exam on Mobile Robots.
4. Student Attitude. Evaluation of the student's engagement and proactive participation throughout the course.
The final grade (NF) is calculated using the following weighted formula:
NF = 0.1 *Attitude + 0.1 *MP1 + 0.2 *PG1 + 0.15*ExParc1 + 0.1 *MP2 + 0.2*PG2 + 0.15*ExParc2
Bibliography
Basic
-
Robotics, vision and control : fundamental algorithms in Python
- Corke, Peter I,
Springer International Publishing AG,
2023.
ISBN: 9783031064685
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005230277706711&context=L&vid=34CSUC_UPC:VU1 -
Introduction to autonomous mobile robots
- Siegwart, Roland; Nourbakhsh, Illah R.; Scaramuzza, Davide,
MIT Press,
2011.
ISBN: 9780262015356
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=3339191 -
Springer handbook of robotics
- Siciliano, B.; Khatib, O,
Springer,
2016.
ISBN: 9783319325521
https://link-springer-com.recursos.biblioteca.upc.edu/book/10.1007/978-3-319-32552-1 -
Fundamentos de robótica
- Barrientos, A. [et al.],
McGraw-Hill,
2007.
ISBN: 9788448156367
https://www-ingebook-com.recursos.biblioteca.upc.edu/ib/NPcd/IB_BooksVis?cod_primaria=1000187&codigo_libro=4101 -
Introduction to AI robotics
- Murphy, R.R,
MIT Press,
2019.
ISBN: 9780262348157
Web links
- Portal de la Xarxa Europea de promoció de la Robòtica tant en l'àmbit formatiu com d'investigació. http://www.euron.org
- Federació Internacional de Robòtica. Entitat que promou, la recerca i desenvolupamnet, l'us i la coperació internacional, en tots els àmbits de la robòtica. http://www.ifr.org
- Portal que agrupa els fabricants i usuaris de sistemes i components robots. http://www.roboticsonline.com/
Previous capacities
Mathematics Area* Know and be able to apply the concept of derivative and partial derivative.
* Know the basic methods of graphical representation of functions (asymptotes, maxima, minima, ...).
* Know the elementary properties of trigonometric functions.
* Know the basic concepts of manipulation and operation with matrices.
Physics Area
* Know the basic concepts and laws of electricity, magnetism and electromagnetism (Coulomb's law, Ohm's law, electric and magnetic field, electric charge, magnetic dipole, electric potential, potential difference, electric voltage, current, resistance and electrical conductance, and their units in the MKS system
* Know the most significant features of the physical behavior of semiconductor devices: the PN junction, the bipolar transistor and the MOS transistor.
Programming and Data Structure Area
* Know how to specify, design and implement simple algorithms with an imperative programming language.
* Know how to build correct, efficient and structured programs.
* Know the concepts of interpreted languages ​​and compiled languages.
* Know the search algorithms in data structures (tables, lists, trees, ...).
Computer Architecture and Technology Area
* Know at a functional level the different logic gates.
* Know how to analyze and implement simple combinational and sequential logic systems.
* Know how to minimize and synthesize logical functions.
* Know the basic structure of a computer.
* Know the input / output subsystem and computer interrupts.
* Know that it is an operating system and its functions.
* Know the concept of process, concurrence, and communication and synchronization between processes.