Kursöversikt

This course is an advanced course in computer science running over two periods and focusing on the broad, inter-disciplinary field of robotics. DD2419 replaces DD2425 (or to be exact DD2425 is replaced by DD2410+DD2419).

The emphasis in DD2419 is on showing how methods are used in practice and how they are integrated into a complete system and follow up on the course DD2410 that gives a broad introduction to robotics. 

To keep things manageable and steer the learning in DD2419, the project task is predefined. So you will not be able to define your own project, but you will have loads of fun anyway! You will be working with drones in the project. In particular you will be working with the Crazyflie platform shown below.

CrazyflieDD2419.jpg

 

Students need to be ready to invest a significant amount of time. The course is worth 9hp which corresponds to 6 weeks of full time studies (i.e. 240h) and we expect you to spend this amount of time, i.e. a lot more than on most other courses worth 9hp. To take the course you need to be willing to invest this time.

Prerequisites: DD2410 or equivalent.

 

Course material

There is no official course book. You are expected to bring with your knowledge from previous courses on topics such as mathematics, control, computer vision, estimation and robotics. Some material will be presented during the lectures in the weeks following the flight camp but this will most serve as giving pointers to material and ideas that can be useful in the project rather than in depth details on any of the topics. The scope is too wide for that. Each groups will beed to assess the need for new knowledge and acquire this to solve the task. This is an important objective for studies at KTH and a skill that is absolutely necessary to stay relevant in a word that is changing faster and faster all the time.

You will find all the information for the course available here divided into different "modules" corresponding to different parts of the course. This design of this is largely a result of the the learning management tool used at KTH (Canvas). It takes a while to get used to but give it time and it will grow on you.

 

Assessment tasks

The course consists of the following assessment tasks.

"Flight camp"

You will learn the basics of the different components / part of the system in a tutorial style assignment using a simulator. It ends with an individual task that you should solve and you need to present your work to a TA and show that you understand. Passing the requirement from the flight camp earns you the right to work with the real hardware. 

Project

This is the main form of examination. A project is carried out in groups of three students. Groups are formed by the teachers. Typically none of the students know each other from before and their backgrounds (education, country, etc) are different and communication in English is necessary. Students are assessed on an individual basis.

Progress presentations

You will need to report on the progress of the project along the course. To stimulate efficient sharing of ideas between groups there will be a weekly / bi-weekly progress meeting with all / half of the students depending on how many students take the course. You are required to participate in these meetings (Thursdays 10-12). You can miss at most two of them.

Written documents

At the end of the course you are asked to write two reflections about the work and one report about the system design. The first two are to make you to pause for a while and think about your work in the course and the project group. The design report should show that you understand the design of your group's system.

Project

Each group will have access to 

  • Crazyflie drone
  • Flowdeck (to measure height above ground and relative movement x,y,yaw)
  • Camera
  • Radio receiver that can receive the camera signal
  • External SSD hard drive with a Linux installation setup for the course that can be moved between "host" computers.

During the project work you will work on three main functions on the drone

  • Perception: detect and position objects
  • Localization: estimate the position of the drone (based on information from camera and other sensors and the information from the map)
  • Motion control: control the motion of the drone (based on the position from localization and the information from the map)

and these will be integrated into a system that can perform various tasks. None of the things above can be done (well) in isolation. You are likely to find that this interaction between parts of the system (and thus often people) is maybe the most challenging aspect in the course and most real work for that matter.

Having completed the flight camp you should have a simple baseline implementation that you can start from on the real hardware. Once making this transition from simulation to the real world it will be very clear that the real world holds many challenges that you will often have been protected from in other courses but which are of essence to address in order to operate out there in the wild.

Project groups

We will assign you to a group of 3 students when you have completed the requirements from flight camp. That is, you cannot start the project until you meet the requirements of the flight camp. This is where you will need to, for example, show your ROS skills.

Progress reporting

You will have to report on the progress in your group regularly.

Final inspection

Towards the end of the course you will need to show that your solution fulfills the minimum requirements in practical tests on the task of object search

  • You will be given a set of known objects and a map that describes the world. You need to find and report back the position of as many objects as possible during N minutes. For an object to be counted as correctly discovered its position has to be correct within a certain tolerance T.

You should show this during the flight trial week (April 22-26). The flight trials also serve as qualifiers to the contest. The best N teams will compete in a public event on April 30 in the atrium in the E-building on the main campus. For more details see the project task description page.

 

Rough schedule

  • Lectures: Jan 21 - Feb 11 (twice a week) to guide through the flight camp and give an introduction to the most important concepts in the course.
  • INL1 (individual)
    • Week 4-5: Flight camp
    • Week 6: Examination of knowledge and skills from flight camp
  • PRO1 (group)
    • Week 7: Group kick-off and hardware hand-out
    • Week 8-18: Project work
      • Week 12: Perception challenge
      • Week 14: Race challenge
      • Week 17: Flight trials in contest like conditions to examine project work
      • Week 18 / April 30: Contest
      • Week 20: Examination for those that did not yet meet the requirements and if necessary make a plan for how to meet the requirements with further work.
  • INL2 (group)
    • Week Thursdays 10-12 Mandatory progress meetings

Examination and Grading

The first assessment is an individual assignment which aims to make all students familiar with the basic methods and software used in the project and as such enable all to contribute better to the project work later. You will not be allowed to start the project work until you have passed the requirements for the first assignment. The main form of examination in this course is the project work, carried out in groups of 3 students. You will be asked to document and present your work along the way in seminar form. 

Grading

The grading is based on fulfilment of a set of grading criteria. These are presented below. For a more in depth discussion on the grading criterias and the grading click here.

Intended Learning Outcomes (ILO)

After completing the course the student should be able to

  1. implement and integrate software components for robots
  2. solve a robotics task with limited resources

in order to

  • be able to work with autonomous and other complex systems in research and/or development
  • become better at planning, executing and developing work in project groups.

 

Course components

  • INL1 ( Flight camp assignment )
  • PRO1 ( Project work )
  • INL2 ( Documenting and presenting the work in the project along the project )

In this course all the regulations of the code of honor apply, see https://www.kth.se/en/csc/utbildning/hederskodex/regel1-1.55624

Admission

This is a project course that makes use of actual hardware and we therefore need to limit the number of students. It is a robotics project course that makes use of ROS and where we apply robotics rather than learn the basics. The assumption is thus that you have taken a robotics course before and that you know ROS. At KTH this corresponds to having taken course DD2410. You will be admitted in competition with other students. If your coordinator or you yourself add you to the course without getting an approval from the person responsible from the course you will not be planned for when ordering hardware and you might not be able to take the course. Please contact the teacher of the course if you have questions about the admission.

 

Kurssammanfattning:

Datum Information Sista inlämningsdatum