Introduction to intelligent robotics
INFO0948-2, University of Liège, Spring 2019
Lectures: Friday at 1.30pm 2pm in 1.18 (B28)
Lecturer: Pierre Sacré
Assistants: Norman Marlier, Nicolas Vecoven
The schedule for the final project presentations is available here. Please arrive 15 minutes before the start time of your presentation to ensure a smooth transition between groups.
The guidelines for the final project in second session are the same as the ones in first session. The report is due on Wednesday August 28, 2019. The presentation will take place on Friday August 30, 2019 (the schedule will be provided few days before the exam).
The schedule for the final project presentations is available here. Please arrive 15 minutes before the start time of your presentation to ensure a smooth transition between groups.
This Friday's lecture (Fri 3/5) will start at 2pm.
Detailed guidelines for the final project report and presentation are available here.
This Friday's lecture (Fri 26/4) is featuring the RAGI team from the Montefiore Institute. Please do your best to attend this lecture.
This Friday's lecture (Fri 5/4) is canceled. We apologize for the last minute change.
The schedule for the midterm project presentations is available here. Please arrive 15 minutes before the start time of your presentation to ensure a smooth transition between groups.
Detailed guidelines for the midterm project report are available here.
Corentin Jemine started to port the TRS folder for Matlab to Python.
Feel free to contact him if you want to help him out or have questions.
Other robotics toolboxes for Python are available online for example here or here.
Please subscribe to the course and form groups on Montefiore's submission platform as soon as possible to allow isolated students to identify each other.
As requested at the first lecture, the lectures will start at 1.30pm.
Menu
Schedule
This tentative schedule is subject to change.
Date | Description | Book chapter | Supplements |
---|---|---|---|
Fri 8/2 | Introduction | 1 | |
Project presentation (Nicolas & Norman) | |||
Fri 15/2 | Robot kinematics | 2, 3 (somewhat), 4, 7, 8 | |
Installation Q & A (Nicolas & Norman) | |||
Fri 22/2 | Sensor interpretation | 6 | |
Fri 1/3 | Control and planning methods | 5 | |
Fri 8/3 | -- | -- | -- |
Fri 15/3 | Project follow-up 1 | -- | -- |
Fri 22/3 | Fitting and shape matching | ||
Fri 29/3 | Midterm project report | ||
Fri 5/4 | No class [lecture canceled] |
||
Fri 12/4 | No class (Easter holidays) | ||
Fri 19/4 | No class (Easter holidays) | ||
Fri 26/4 | RAGI presentation | ||
Fri 3/5 | Image processing + Image classification [lecture will start at 2pm] |
-- | -- |
Fri 10/5 | Project follow-up 2 | -- | -- |
Fri 17/5 | -- | -- | -- |
Fri 24/5 | Final project report | -- | -- |
Book
Fundamental Algorithms In MATLAB®
by Peter Corke
Springer, Cham, 2nd edition, 2017
DOI: 10.1007/978-3-319-54413-7
(freely available when connected from the university network)
Material
Course material available here.Project
Project statement, list of milestones, installation procedure. The project should be done in groups of two. If you have questions about the project, you can ask N. Vecoven. Submissions must be done on the dedicated platform (all the members of your group must register on the platform so that you can make a group). Deadlines:- 29/03/2019: midterm project report (milestone A1)
- 24/05/2019: final project report (the submission platform will accept re-submission until 05/06/2019 23:59:59)
- 07/06/2019 or 18/06/2019: final project presentation
- Peter Corke's Robotics Toolbox, also on GitHub (however, be cautious: it will not always work as expected); it is automatically installed when you perform the installation steps for the project (when running the script startup_robot.m).
- MATLAB Robotics Toolbox (available since R2015a, not by default in all MATLAB editions)
- Complete demo of the youBot (MATLAB), more focused demos (MATLAB)
- List of forbidden functions
- Simulator help
Midterm project report
On March 29, 2019, you are expected to orally present a short video (at most 5 minutes) and submit a short written report (max. 3000 characters without spaces).- The video should show your robot that explores the environment and eventually display the map (max. 5 minutes, without audio comment). The video should also emphasize how your robot is making decisions (for example, show the map being built, the next point to explore, the trajectory, etc).
- The oral presentation should be a live audio comment of your video explaining your implementation: why you chose a given pathfinding algorithm, how you decide the next point to explore, rather than what function you called, etc.
- The report should summarize the main points of your implementation (max. 3000 characters without spaces).
- your source code;
- your video (either directly as a file, or a link to an external website where you hosted your video — in this case, make sure that we can access the video at any time after your submission);
- your short report in pdf format.
Below is the schedule for the presentations. The group order was chosen as a random permutation of the group list provided by the submission platform. If your group would like to exchange its position with another group, please contact the other group directly and then send us an email (with all group members in cc) to inform us of the change.
Please arrive 15 minutes before the start time of your presentation to ensure a smooth transition between groups.
Order | Start time | Team name | Student name(s) |
---|---|---|---|
1 | 13:00 | NicTheo | Théo Evrard, Nicolas Levaux |
2 | 13:10 | PierreNicolas | Pierre Keunen, Nicolas Lejeune |
3 | 13:20 | ElRoberto | El Osrouti Mohamed, Arthur Robert |
4 | 13:30 | BlisteinVandeghen | François Blistein, Renaud Vandeghen |
5 | 13:40 | NMG | Mehdi Testouri |
6 | 13:50 | AlexandreJulie | Alexandre Bourdouxhe, Aubry Julie |
7 | 14:00 | Juju | Julien Simar, vandenbergh julien |
8 | 14:10 | JMB4EVER | Romain Bajoit |
9 | 14:20 | 42 | Seron Damien, Nora Folon |
10 | 14:30 | CS | Chloé Bolle, Sven Goffin |
11 | 14:40 | IR2019 | Polet Quentin |
12 | 14:50 | TomatoPotato | Corentin Jemine, Noémie Lecocq |
13 | 15:00 | dd | Donovan Derkenne |
14 | 15:10 | BollandColine | Bolland Adrien, Joachim Coline |
15 | 15:20 | maximemanu | Maxime Horman, Manu Joronen |
16 | 15:30 | SLAM4EVER | Maxim Henry |
17 | 15:40 | GirinezaChiodo | Adrien Chiodo, Guy Girineza |
18 | 15:50 | JourdanDeCooman | Julien De Cooman, Alexis Jourdan |
Final project report
On May 24, 2019, you are expected to submit:- your source code for the whole project;
- a short PDF report (between five and ten pages) explaining which milestones you have implemented, the ideas behind your algorithms, why you think they should work in general for a map that respects the hypotheses of the project, what ideas you rejected and why (basically, everything that you would like to present during your defense should be in your report);
- a video showing your solution on the training map (either directly as a file, or a link to an external website where you posted your video — in this case, make sure that we can access the video at any time after your submission).
If you want to, you can submit your project beforehand: such a late deadline does not mean we expect you to work full steam until the end of May, but rather that you should decide when you work on the project so that it does not interfere with your other academic requirements.
The submission platform will accept re-submission until June 05, 2019 at 23:59:59.
Final project presentation
On June 7, 2019 or June 18, 2019, the final project presentation will mainly consist of a live demo of your solution on a house that differs from the one provided for training. Be ready to run your code on a laptop, with a different VREP file. Please also prepare videos showing the key elements of your solution, in case there is not enough time to run a full simulation sequence.
After this live demonstration, you will have the opportunity to further explain (if needed) some of your ideas using a short slide presentation.
Finally, your presentation will be followed by a discussion with the teaching team.
Please arrive 15 minutes before the start time of your presentation to ensure a smooth transition between groups (testing shared screens, uploading the exam map, etc.).
Please fill in the tentative schedule. For each group, please indicate your preferred time-slot: fill only a single time-slot that is not occupied by another group yet (on a first come, first served basis). We will do our best to accommodate for your preference but we will also try to avoid time gaps in the final schedule.
The final schedule is provided below.
Day | Start time | Team name | Student name(s) |
---|---|---|---|
7/6 | 09:00 | CS | Chloé Bolle, Sven Goffin |
- | 09:30 | Juju | Julien Simar, vandenbergh julien |
- | 10:00 | 42 | Seron Damien, Nora Folon |
- | break | break | break |
- | 14:00 | NicTheo | Théo Evrard, Nicolas Levaux |
- | 14:30 | GirinezaChiodo | Adrien Chiodo, Guy Girineza |
- | 15:00 | BlisteinVandeghen | François Blistein, Renaud Vandeghen |
- | 15:30 | JourdanDeCooman | Julien De Cooman, Alexis Jourdan |
- | 16:00 | PierreNicolas | Pierre Keunen, Nicolas Lejeune |
18/6 | 09:00 | BollandColine | Bolland Adrien, Joachim Coline |
- | 09:30 | NMG | Testouri Mehdi, Derroitte Natan |
- | 10:00 | ElRoberto | El Osrouti Mohamed, Arthur Robert |
- | 10:30 | TomatoPotato | Corentin Jemine, Noémie Lecocq |
Final project presentation (second session)
The guidelines for the final project in second session are the same as the ones in first session. The report is due on Wednesday August 28, 2019. The presentation will take place on Friday August 30, 2019 (the schedule will be provided few days before the exam).
Please arrive 15 minutes before the start time of your presentation to ensure a smooth transition between groups (testing shared screens, uploading the exam map, etc.).
The final schedule is provided below. Feel free to contact your classmates if you want to exchange your positions in the schedule. If you do, please email me to give me a heads-up about the change.
Day | Start time | Team name | Student name(s) |
---|---|---|---|
30/8 | 9:00 | AlexandreJulie | Alexandre Bourdouxhe, Aubry Julie |
- | 9:30 | SLAM4EVER | Maxim Henry |
- | 10:00 | ElRoberto | El Osrouti Mohamed, Arthur Robert |
- | 10:30 | JMB4EVER | Romain Bajoit |
- | 11:00 | dd | Donovan Derkenne |
- | 11:30 | GirinezaChiodo | Adrien Chiodo, Guy Girineza (no submission) |
- | 12:00 | maximemanu | Maxime Horman, Manu Joronen (no submission) |
- | 12:30 | IR2019 | Polet Quentin (no submission) |
FAQ
How to update VLFeat ?
By default, the script startup_robot.m downloads an outdated version of VLFeat (0.9.9, while the current one is 0.9.20), which lacks many features (such as an SVM implementation). To update it, you can download the latest version on the official website, including binaries (on VLFeat's download page, the file is currently under the link VLFeat 0.9.20 binary package). Extract this archive on your computer (for example, in the directory matlab/rvctools/contrib/vlfeat-0.9.20, along with the embedded version of VLFeat, matlab containing the startup_robot.m file).
Before using VLFeat, you must use a script that sets up the needed paths (very much like startup_robot.m), each time you start MATLAB. If you followed the previous instructions, that script is matlab/rvctools/contrib/vlfeat-0.9.20/toolbox/vl_setup.m.
If you get strange errors when trying to use some functions, you may have to recompile the MEX files of VLFeat. To this end, you must at least have a C compiler installed that is recognised by MATLAB, such as Visual C++ (included with Visual Studio Community) or MinGW. Once you have a compiler, start the compilation by launching the script matlab/rvctools/contrib/vlfeat-0.9.20/toolbox/vl_compile.m.
With Visual C++, you might still get errors when compiling. In this case, edit the file matlab/rvctools/contrib/vlfeat-0.9.20/vl/host.h to comment out the lines 315 and 335 (they look like # define snprintf_snprintf). (Another solution is to use the master branch of VLFeat.) Restart matlab/rvctools/contrib/vlfeat-0.9.20/toolbox/vl_compile.m.
How to use the simulator?
For the projet in this course, you will be asked to use the simulator V-REP. It emulates a complete robot (the youBot) evolving in its environment: it will move around, place its arm, grasp objects, take pictures within the simulator.
For the installation, please follow the TRS tutorial. It is highly recommended to use MATLAB as a programming environment.
When following the tutorial, if you have an error executing the statement binding_test() (step 3.2), make sure you have started the simulation in V-REP.
In order to shoot videos from V-REP, you can use the option Tools > Video recorder; however, the video will not contain any MATLAB overlay. In order to record your voice, you may have to use separate software for video making, such as KDEnlive. Other tools allow you to capture your screen (including MATLAB windows), such as OBS Studio (free and open-source software) or Camtasia (the trial version is sufficient).