Logo UAB
2021/2022

Robotics, Language and Planning

Code: 102785 ECTS Credits: 6
Degree Type Year Semester
2502441 Computer Engineering OB 3 2
2502441 Computer Engineering OT 4 2
The proposed teaching and assessment methodology that appear in the guide may be subject to changes as a result of the restrictions to face-to-face class attendance imposed by the health authorities.

Contact

Name:
Fernando Luis Vilariño Freire
Email:
FernandoLuis.Vilarino@uab.cat

Use of Languages

Principal working language:
spanish (spa)
Some groups entirely in English:
No
Some groups entirely in Catalan:
No
Some groups entirely in Spanish:
Yes

Teachers

Carlos Garcia Calvo

Prerequisites

  • Coding in Python, C and C++.
  • English Medium Level both oral and written.

Objectives and Contextualisation

The evolution of Computer Vision and Artificial Intelligence techniques has facilitated the development of autonomous systems capable of making decisions and interacting with their surroundings. This has had a direct impact on the area of modern robotics in a range ranging from classic industrial robotics to experimental domotics. The aforementioned systems are increasingly present in our lives and their complexity and autonomy are increasing. In this subject, the subject of Robotics, Planning and Language is faced with this perspective in order to achieve the following objectives:

  • The student will assimilate the basic notions of robotics (both industrial and service) and will reach a generic knowledge of the component modules of a robot (hardware and software).
  • Agile methodologies aimed at solving challenges will be studied. These methodologies are part of the most current innovation strategies and are integrated into direct impact activities such as rapid prototyping and hackathons. Students will develop these skills.
  • You will learn to design and program a robot and evaluate its operation in a qualitative and quantitative way from simulators and electronic systems.
  • Knowledge will be acquired to create strategies with the aim of guiding a real robot from the information acquired by a camera.

Competences

    Computer Engineering
  • Acquire personal work habits.
  • Have the capacity to acquire, obtain, formalise and represent human knowledge in a computable form to solve problems by means of a computer system in any field of application, particularly related with aspects of computation, perception and performance in intelligent environments.
  • Have the capacity to define, evaluate and select hardware and software platforms for the development and execution of computer systems, services and applications.
  • Have the capacity to understand the fundaments, paradigms and techniques of intelligent systems and analyse, design and build computer systems, services and applications that use said techniques in any field of application.
  • Have the right personal attitude.

Learning Outcomes

  1. Choose and implement suitable behaviours in different circumstances.
  2. Critically evaluate the work done.
  3. Design decision making processes to improve the capacity of an algorithm to act in unforeseen circumstances.
  4. Develop curiosity and creativity.
  5. Know about different types of sensors/actuators: utility and limitations.
  6. Manage information by critically incorporating the innovations of one’s professional field, and analysing future trends.
  7. Prevent and solve problems.
  8. Select the best programming techniques for the resolution of complex problems.

Content

UNIT 1

1.1 Fundamental definitions.
1.2 Examples of robots.

UNIT 2

2.1 Modular hardware components.
2.2 Controller boards.
2.3 Multimodal sensors.

UNIT 3

3.1 Modular software components.
3.2 Actuator management.
3.2 Introduction to control electronics.

UNIT 4

4.1 Kinematics of robots.
4.2 Kinematic control.

UNIT 5

5.1 Representation of space and spatial decomposition.
5.2 Geometric and topological representations.

UNIT 6

6.1 Planning: Definition of the configuration space and the free space.
6.2 Planning algorithms: Grid-based Search, Geometric Algorithms, Potential Fields and Sampling based algorithms.

UNIT 7

7.1 Introduction to SLAM (Simultaneous Localization and Mapping).
7.2 Strategies for solving the main problems: Mapping, Sensing, Locating and Modeling.
7.3 Visual SLAM.

Methodology

The subject will be based on a learning methodology based on project resolution. The sessions of theory, problems and practices will be oriented to the resolution of a robot project, which will be freely chosen by the student, and that will have to be developed in a work group of 4 students for 3 months.

The chosen system must be based on an Arduino or RaspberryPi controller, as well as at least one sensor and an actuator. The electronic components of this robot will be provided by the School, within a budget to which the student will have to adjust. In addition, all the necessary 3D pieces may be used, the printing of which will also be provided by the School.

The student will be able to freely choose the complexity of his project, being the highest final grade based on the ambition, interest and creativity of the proposal, which will attack 4 pillars: 1) Component Architecture, 2) Design 3D, 3) Algorithmic, 4) Integration and validation. In the same way, the student can decide if he wishes to focus his project more on the algorithmic or electronics part, in order to develop a project that is as personalized as possible in relation to the student's interest .

For the development of the project, an agile methodology based on 5 sprints will be followed. In each sprint it will advance in the stages of the project to attack the 4 pillars described above. The result of the last sprint will be a physical robot capable of implementing the functionalities proposed in the project.

Classes of theoretical foundations. During these sessions in the classroom, the contents of the subject will be presented and discussed and the projects will be monitored. The digital materials, impressions and bibliographical references will be provided to the student. They will be active discussion classes in which constructive progress will be made in identifying the main objectives, giving answers and solutions proposals as the subject evolves. All materials will be identified on the Caronte website (http://caronte.uab.es)

Problem seminars. In these activities, students will focus on the analysis of the main problematic techniques associated with robotics. That is why they will work on a set of exercises, whose resolution will allow them to achieve the capacity to efficiently implement the challenges generated in their projects and provide them with a contextualized perspective of the contents worked on in the theoretical foundations. The set of exercises will be oriented constructively, and thus the students will begin first by more conceptual exercises, to finalize in qualitative and quantitative individual analyzes.

Practical sessions. During the practical sessions, the students will implement their physical robot in the Lab and will test the generated software. The practice assignments will be associated to the 5 sprints of the subject.

Examples of challenges that students can face are:

  1. Control of DC motors starting from modulation of amplitude of pulses, of motors step by step.
  2. Quantification of the distance of objects from proximity, infra-red, ultra-sound sensors, cameras, etc.
  3. Motion control from single signals, image, gyroscopes, etc.
  4. Positioning from GPS sensors, magnetometers, image, etc.
  5. Integration of recognition of patterns and objects, based on video sequences.
  6. Autonomous driving.

Annotation: Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Activities

Title Hours ECTS Learning Outcomes
Type: Directed      
LECTURES ON THEORETICAL FOUNDATIONS 26 1.04 5, 3, 1
PRACTICUM SESSIONS 12 0.48 1, 8
PROBLEMS SEMINARS 12 0.48 5, 1
Type: Autonomous      
INDIVIDUAL STUDY 26 1.04 5, 3
PROBLEM SOLVING (individual and by group) 30 1.2 5, 3, 1
ROBOT PROGRAMMING (individual and by groups) 36 1.44 5, 3, 1, 8

Assessment

The evaluation of the student will be done in a continuous process that will take into account the deliveries of the sprints in practices (distributed throughout the subject, and that suppose the 50% of the final mark). There will be an examination of theoretical concepts (25%), and also deliverables and an examination about problem-solving (25%). The discussions carried out during the theoretical sessions, problems and practices and all the contributions of the students to the collective knowledge will count positively in the final qualification.

The expected deliveries are:

1. PRACTICUM

  LL.1.1 Delivery of the sprint (S1)
  LL.1.2 Sprint delivery (S2)
  LL.1.3 Delivery of the sprint (S3)
  LL.1.4 Sprint delivery (S4)
  LL.1.5 Sprint delivery (S5)
  S = S1 + S2 + S3 + S4 + S5

2. The assessment activities planned are (THEORY AND PROBLEMS):

A.2.1 Final exam Theory (Theory).
A.2.2 Final exam Problems (P).

The FINAL MARK will be calculated as follows: FINAL MARK = 0.25 * Teor + 0.25 * P + 0.5 * S

In order to pass it is necessary that the evaluation of each one of the parts exceeds the minimum required (5) and that the total evaluation exceeds 5 points. If you do not pass the subject, the numerical note of the file will be the lowest value between 4.5 and the weighted average of the notes.

The positive contributions in the discussions will round the decimals of the note upwards. In order to opt for the Matrícula d'Honor (with honors), it is necessary to have had a participatory attitude in class discussions. The maximum number of Matrículas d'Honor will result from calculating the 5% or fraction of the students enrolled, and only students who have obtained a final grade of 9 or more are entitled to get it.

The deliverables will be, as an indication, every 2 weeks. All deliveries are required. In case of failing one of them, the students will have the opportunity to recover the partial mark re-submitting the corrected document before the day of the final exam. The students who have passed any of the parts in previous years will have to redo the failed parts of the subject only.

The non-presentation to the final exam (EF) implies a "Non-Evaluable" act.

Finally, there will be an extraordinary test that will allow the students to obtain a pass in the part of Theory in case of having suspended the final exam (EF), which will allow them to be granted a 5.

All the exams will be adjusted according to the calendar of the School.

The dates of continuous assessment and work delivery will be published on the Caronte website (http://caronte.uab.es) and may be subject to changes in the programming for reasons of adaptation to possible incidents. Caronte will always inform about any potential issue related to the subject, since it is understood that the Caronte website is the usual mechanism for exchanging information between teacher and students.

For each assessment activity, a place, date and time of review will be indicated in which the student will be able to review the activity with the teacher. In this context, claims can be made about the activity mark, which will be evaluated by the teachers responsible for the subject. If the student does not show up to this review, this activity will not be reviewed later.

Without prejudice to other disciplinary measures that are deemed appropriate, and in accordance with the current academic regulations, the irregularities committed by the student that can lead to a variation of the qualification of an act of self- evaluation. Therefore, plagiarizing, copying or letting copying a practice or any other evaluation activity will imply suspending it with a zero and can not be recovered in the same academic year. If this activity has a minimum associated mark, then the subject will be suspended.

Assessment Activities

Title Weighting Hours ECTS Learning Outcomes
Defense of the problems 0,25 2 0.08 5, 1, 6
Deliverables from the practicum 0,5 4 0.16 2, 5, 4, 3, 1, 7, 8
Final Exam 0,25 2 0.08 5, 3, 1, 8

Bibliography

All the material of the subject will be referenced to: http://cerbero.uab.es

The basic textbooks are:

  • Craig, J.J. "Introduction to Robotics. Mechanics and Control." Pearson, Prentice Hall. Third Edition. 2005
  • Choset, H., et al. "Principles of Robot Motion". The MIT press. 2005

Other references:

  1. Siciliano, B, Sciaicco, L. et al. "Robotics. Modeling, Planing and Control." Springer. 2010
  2. Siciliano, B., Khatib, O. "Handbook of Robotics", Springer. 2008

Useful web links:

  1. Stanford Artficial Intelligence | Introduction to robotics. http://see.stanford.edu/see/courseInfo.aspx?coll=86cc8662-f6e4-43c3-a1be-b30d1d179743
  2. Kragic, D., Vicze, M. "Vision for Robotics." Foundations and Trends in Robotics: Vol. 1: No. 1, pp. 1-78. http://dx.doi.org/10.1561/2300000001
  3. Project "Robot Planning Tasks and Methods" http://idm-lab.org/project-f-content.html
  4. SLAM for Dummies http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-412j-cognitive-robotics-spring-2005/projects/1aslam_blas_repo.pdf
  5. SceneLib Homepage http://www.doc.ic.ac.uk/~ajd/Scene/index.html

Software

  • Arduino software: https://www.arduino.cc
  • Coppelia sim: https://www.coppeliarobotics.com
  • Robot Operating System: https://www.ros.org