People Education Research Industrial Agenda  
Overview MSc info MSc program MSc topics ET TN WBMT  

ME1130: Robotics Practicals
Responsible Instructor: P.P. Jonker
Contact Hours / Week x/x/x/x: x/x/x/x
Education Period: 1, 2, 3, 4
Start Education: 1, 2, 3, 4
Exam Period: none
Course Language: English
Expected prior knowledge: Elementary computer skills
Course Contents: This course is a self-study course and consists of five parts. Two parts must be chosen and completed in order to get credited.
Although Windows is the most prevalent operating system on desktop PCs, Linux has become very popular for embedded systems such as robots. Developing for embedded Linux systems is most easily done in Linux itself, and this course aims to familiarize students with the use of Linux on the desktop. It encompasses the following topics: Architecture, Installation, Window system, File system, Shell, Scripting, and Compilation. The final report will be written in Latex.
Embedded Linux
In robotics, a lot of different specialties are combined. This creates the need for interdisciplinary skills to be able to develop new robots. This course gives a introduction to the basic concepts and tools in the field of software development for robotics in the bio-robotics lab at 3ME. It includes the following topics:
Realtime Operating System (RTOS), Robot software frameworks , basic UML state machines, development environments for Robot programming (RoboStick, Eclipse, SVN), programming state machines, real time programming problems and solutions, distributed vs centralized computing.
Object Oriented Programming Using C++
C++ is one of the most widely used programming languages. Being an object oriented language brings great advantages comparing to its predecessor C. This practicum is designed to give the student a practical knowledge on C++ programming. The course encompasses the following topics: introduction to C++, general features, basic programming in C++, functions, pointers, classes and objects, graphical user interface and some advanced topics such as data structures, casting and exception handling.
Basic Image Processing for Robotics
This course provides an introduction to the basic principles of image processing and hands on experience to solving frequent image processing problems in robotics. Every topic is covered with theoretical introduction, solved sample problems and exercises that student should solve independently. Topics covered are:
Matlab and DipLib; Image representation and manipulation; Intensity transformations: Histograms and tresholding; Spatial Filtering: Smoothing, sharpening and derivative filters; Frequency Based Processing: Filtering in the Fourier domain; Binary Image Processing: Morphological operators and filtering; Measurements; Non linear Filtering (optional advanced topic); Color image processing: color images filtering and segmentation; Advanced topics: Scale spaces, Hough transform and Mean-shift algorithm; Image segmentation: detecting points, lines and edges, region based segmentation; Image description (optional advanced topic): global and local descriptors, model matching
Reinforcement learning
Reinforcement learning is an important technique to solve control tasks for systems that are difficult to model. This course provides a hands-on approach to reinforcement learning, teaching the student the various steps in applying reinforcement learning to motor control tasks. At each step, the student will be able to explore the effects of the options that are available at that point.
Study Goals: Linux
The student is able to describe the basic systems architecture of Linux. They can install Linux on a PC, work with the window manager and install or remove packages. The student can describe the organization of the Linux file system, and understands the principles of permissions. They are able to use the command shell to run general UNIX commands, and to combine these commands using redirection. The student is able to design a small script for the BASH interpreter in order to implement conditional and looping constructs. They can download, configure and compile software packages that are not part of the system. Finally, the student is able to use Latex to write a basic report.
Embedded Linux
After this practicum, the student is familiar with the basic concepts and tools needed to work on robot software at the Delft Bio-robotics Laboratory.
Object Oriented Programming Using C++
The student is able to describe the basic concepts of object oriented programming and understand basic grammar and syntax of C++. They can write simple C++ codes and compile them. The student will be able to describe data types, arrays, vectors, basic operators and control structures. They are able to write and call their own functions and utilize recursion in order to solve various problems. The student is able to describe basic concepts of pointers and use different pointer types in different applications. They are able to use function/operator overloading and inheritance. The student can design a graphical user interface (GUI) for different applications. Finally, they are able to describe very basic concepts of data structures, casting and exception handling.
Basic Image Processing for Robotics
After successfully finishing the course student is able to understand and apply basic image processing techniques, from image acquisition and representation, over image enhancement and filtering to image analysis. Student is able to identify and independently implement solutions for common image processing problems in robotics such as processing of color images, object detection and image segmentation. Course also provides sufficient knowledge for further learning of advanced digital image processing and gives optional advanced topics that will enable students to get a better insight in the state of the art techniques in image processing.
Reinforcement learning
The student is able to describe the Markov Decision Process framework, what problems it is designed to solve, and what requirements it puts on the state space, action space, and reward function. They can apply policy iteration to solve an MDP if a transition model is available. They understand how reinforcement learning methods sample the environment in the absence of such a model, and how the learning and exploration rates depend on the environment. The student is able to implement temporal difference learning for discrete and continuous state spaces, and to use it for solving simple control tasks. They understand the difference between on-policy and off-policy algorithms, and how an eligibility trace speeds up learning.
Education Method: PC practical. Please enroll in Blackboard. Contact or
Assessment: Final exercise, written report and oral examination. This is a pass-or-fail assessment.
Last modified: 6 November 2013, 15:24 UTC
Search   Site map