Undergraduate research

Acoustic levitation controlled by an array of ultrasonic transducers


The goal of this project is to design and build a device for acoustic levitation. An array of ultrasonic transducers would be used to levitate a small polystyrene bead and possibly to steer it along a defined path. As an inspiration may serve the work of Asier Marzo et al. presented in a nice video and the related paper (accessible from university network or via https://dialog.cvut.cz/index.html), but also many more similar projects.

The motivation for this particular project comes from one of the research topics that is developed by the group - distributed non-contact manipulation. An array of separate actuators is used so that they jointly exert a desired force on an object of interest. This way the object can be moved to a set position or made to follow some defined trajectory. Currently, we use microelectrodes or coils as these actuators, which allow us to shape an electric, respectively magnetic fields in the manipulation area. Thus we can control also the related force fields (dielectrophoretic, resp. magnetic). For more information about these two projects, you may wish to look at their respective pages (dielectrophoresis, magnetic manipulation).

The field of acoustic levitation (acoustophoresis) might be another visually appealing physical principle of manipulation, which could serve us for development and demonstration of optimization based control algorithms for such distributed system.

The project involves:

  • mathematical modeling - create a control-oriented model of the system
  • control design - optimization based control
  • electronic design - creating a driving circuitry (possibility to use existing prototyping boards like Arduino, etc.)
  • mechanical design - making a frame enabling assembly of the transducer array
  • experiments with the assembled setup (hopefully show the levitation of the bead)

In order to get some deeper idea about the project, have a look at the above mentioned paper and a tutorial (by the same author) at Instructables.com, which describes the construction of a simple acoustic levitator. These are, however, not the only available resources. Inspiration may be gained from many more similar projects (e.g. JOLED: A Mid-air Display based on Electrostatic Rotation of Levitated Janus Objects).

The collaboration should take place mainly during summer by means of a paid student internship, but it could start already during the preceding semester in the form of familiarization with the topic by studying existing published solutions, identifying key problems and planning the course of work. There is also a possibility (in a case of successful collaboration) to continue on the project during the next academic year in a form of individual project or formal final undergraduate (thesis) project.

Only enthusiastic students, who feel that they would enjoy working on such a project, are encouraged to apply for the position since this shows up as a basic prerequisite for successful collaboration. In case of any questions, please do not hesitate to contact us.

Contact person: 
Tomáš Michálek

Development and maintenance of slot car platooning platform


A skillful and enthusiastic undergraduate student is wanted who woud join our AA4CC team in further development and maintenance of the "Slot Car Platooning" project. Good programming skills (both low-level programming in C and some higher-level Java programming) and some very basic experience in practical electronics are expected.

To get some idea about the project, check out the video at https://youtu.be/TBFM7v2_VAk?list=LLJVnzEJGGwpkOWxogmbhlIw and have a look at the paper downloadable at http://aa4cc.dce.fel.cvut.cz/content/vehicular-platooning-experiments-us....

The motivation behind the project is to investigate and demonstrate experimentally some dynamic phenomena encountered in distributed control of multivehicle systems. For example, we have investigated theoretically that the creation of trafic jams is related to propagation of traveling waves along the platoon and this can be mittigated by designing some "wave absorbers" (see the recently defended doctoral thesis by Dan Martinec https://support.dce.felk.cvut.cz/mediawiki/images/9/9d/Diz_2016_martinec...). These phenomena could be demonstrated in a visually attractive way using the described slot car platoon.  

The development of the slot car platooning experimental platform is already quite advanced, it has been running for a few years now. The onboard electronics now seems fixed (there are two computer-based controllers onboard each slot car: low-level controller based on MCU ARM STM32F401RBT and high-level controller based on Raspberry Pi Compute Module) but it might need occassional fixes. The software has also reached a mature stage but further development is planned (towards greater user comfort, using more sensors, ...). Moreover, a long-term maintainence of the code base is needed too.

The collaboration of the interested student with the AA4CC team should start right away - during the spring 2017. The goal of the spring collaboration will be to learn the key information about the project and gradually take over the duties from the current maintainer (to be graduated in July 2017). In case of successful engagement of the student in the project, the partication of the student at 2017 IFAC World Congress in Toulouse (https://www.ifac2017.org/), France, where the slot car platooning platform will be demonstrated, will be arranged.

The collaboration then could continue during the summer by means of paid summer internship.

And the summer work could then continue during the next academic year in the form of a formal final undergraduate (thesis) project.

Contact person: 
Zdeněk Hurák

Experimental platform for distributed temperature control along a slender metal rod


The main objective of this project is to design, build and program an experimental platform for distributed control of a temperature profile of a slender metal rod. The one-meter long aluminium rod will be equipped with some twenty heaters (transistors) and temperature sensors (Dallas DS18B20). These will be used to close feedback control loops to track a prescribed temperature profile.

A straightforward (albeit not necessarily optimal) approach to the work is just to upgrade one already existing platform using new hardware (see the list of student projects below).

The electronics for the system is required in a modular form. Each I/O module (of several modules) will serve a few sensors and actuators. One version of the electronics is currently being developed and is nearly ready for production. The student can jump in and have his or her imprint in the last minute. Alternatively, he or she can adopt the design and take care of production.

All the I/O modules will be connected to a single Raspberry Pi 3 (RPi) computer through a digital interface (such as I2C). RPi computer will be connected to an operator's PC running MATLAB. The role of RPi will be to gather the sensor measurements, deliver them to PC and execute control commands received from PC. The communication between the RPi and PC will be over WiFi or Ethernet. Programming of RPi should be done in C and Java programming languages.

The project is offered as a topic for bachelor thesis and master thesis with additional extension to control.

Related student projects in the past:

1.) Chris Rapson. Spatially distributed control: heat conduction in a rod. MSc diploma thesis, CVUT in Prague, 2008. [Online]
2.) Václav Klemš. Laboratorní model pro výzkum prostorově distribuovaného řízení. Bakalářská práce, ČVUT v Praze, 2008. [Online]
3.) Petr Cincibus. Programové vybavení pro experimentální platformu pro distribuované řízení teploty. Bakalářská práce, ČVUT v Praze, 2012. [Online]

Contact person: 
Štefan Knotek

Building a laboratory syringe pump


The goal of this short-term project is to build a simple syringe pump which would work both independently and under control from a PC. Inspiration can be found in numerous do-it-yourself (DIY) projects on the web, such as http://www.instructables.com/id/DIY-Syringe-Pump-Using-Stepper-Motor/, http://www.instructables.com/id/3D-Printed-Syringe-Pump-Rack/ or https://hackaday.io/project/1838-open-syringe-pump. The actual work can be as simple as selecting suitable components (stepper motor, motor driver, possibly some microcontroller, screws, nuts, ...), downloading a suitable 3D design, introducing minor design modifications (if any), doing the actual 3D printing (we own the popular Ultimaker II printer) and assembling the stuff.

It is expected that the project will take no more than one or two months, hence the project is suitable for a student who already did some do-it-youself projects (this is not an educational projects, we just need the stuff badly).

The work will be financially very nicely rewarded.

The need for such equipment comes from our research in the domain of microfluidics and electrokinetics, see the description at http://aa4cc.dce.fel.cvut.cz/content/distributed-feedback-micromanipulat.... The interested student might find this project a nice opportunity to step into that fascinating research domain combining engineering and science.

Contact person: 
Zdeněk Hurák
Contact person: 
Jiří Zemánek

Building a Rijke tube


The task is to build a laboratory experimental platform known as Rijke tube, which is used for experiments in thermo-acoustics. One particular setup is described in a journal paper by Epperlein, J.P., B. Bamieh, and K.J. Astrom. “Thermoacoustics and the Rijke Tube: Experiments, Identification, and Modeling.” IEEE Control Systems 35, no. 2 (April 2015): 57–77. doi:10.1109/MCS.2014.2384971 (see also https://engineering.ucsb.edu/~bamieh/talks/1211_SpongFest.pdf for some workshop slides). The platform will be used for education and research experiments in modeling, analysis and control of spatially distributed systems.


Contact person: 
Zdeněk Hurák

General instructions for undergraduate students asking for a (final-year) project


We receive numerous inquiries from undergraduate students if there is any research project solved by our group in which they can be involved. The typical motivation is the final-year undergraduate project/thesis but oftentimes even second- or third-year students are expressing their interest. Although it is true that our group is conducting research in a bunch of research directions and there is always a lot of work with which we might need a hand, our experience is that involving a new and inexperienced student directly in any such research project, where the directions are already set, deliverables stricly required and deadlines mercilessly enforced, very often (although not always) turns out an inefficient way to start a collaboration. Therefore we decided to apply the following strategy described in this text.

But first, note that these guidelines are not  to be taken dogmatically. If you are a focused and determined student pursuing his or her own direction who noticed that there is an overlap with one of our research directions (say, you already know that you would like to focus on some numerical optimization issues related to control design because you have already studied some topics in optimization on your own, or you have already accepted a lifetime mission in improving the instrumentation for early cancer detection and you have recently done some intership at a relevant research institute and you have noticed that we are heading in a similar direction), do not hesitate to contact us. We can discuss this individually and there is a good chance to involve you in our research directly. This text is addressed to students who are still exploring the field, aiming to gather experience from diverse areas, not yet sure in which area they want to specialize.

If you - a student - are interested in collaborating with us, first look at our projects (make sure you have watched the videos and read at least the abstracts of papers). This will give you a picture that we enjoy mixing knowledge and skills from applied mathematics, physics, electronics, signals processing, robotics, computer vision, and, of course, control design. Different projects require different blends but this list is roughly characterizing our desirable know-how portfolio. This can hardly be acquired just by attending lectures and reading textbooks...

Luckily, there are are a bunch of very interesting websites that document numerous crazy and fancy projects relying on the same know-how and skills. We suggest that you - an interested student - take some time to browse through them and start thinking if you can come up with anything similar for your own first project. If you propose two or three options, then there is a good chance that there will be an overlap with our own interests and then one of us might be willing to become a supervisor of your project.

These project websites are

http://www.instructables.com/ - a very popular website for the do-it-yourself (DIY) community. Please filter out those technology-unrelated projects first.

https://hackaday.io/ (scroll down) - similar as above but a little bit higher concentration of more advanced projects. These are true geeks and hackers.

http://makezine.com/ - in fact, this is a website of the popular Mage magazine, but they have a list of projects too.

All the three websites above offer gazilions of projects centered around popular (and most often than not also open-source and open-hardware) platforms such as Arduino, Raspberry Pi, BeagleBone, mbed or STM Discovery kit(s), desktop fabrication technologies with digital inputs such as 3D printing, CNC machining and laser cutting, and cheap sensors and wifi modules such as the unbelievably cheap ESP8266 enabling surfing on the wave of "Internet of Things" (IoT). The websites contain not just presentations of these projects but also fairly usable instructions.

Note that although we are encouraging you to make your hands dirty, this does not mean that in your project you will only exercise your soldering and coding skills. You can come up with a project in which you will have a lot of opportunities to practice signal processing tricks with the measured signals, use systematic procedures for building mathematical models of dynamics and solve some optimization tasks in real time.

You can perhaps find some opportunities in your out-of-school activities. For example, are you burning it down on a skateboard/longboard like James Kelly does? Then how about designing a small unit for recording the top speed? But make sure the device can measure the speed up to 130km/h. Perhaps combining several sensing principles by means of Kalman filter or complementary filter could do the best job. Or do you instead enjoy watching your aquarium fish? How about using a camera or two and a computer to record their position and then visualise their collective motion? It might be fun to stimulate the fish somehow and record and analyse their response. Or do you grow some flowers in your room but leave them often unattended (not watered) for a few days? How about designing a feedback control system for watering the flowers based on measuring the dryness of the soil? Could the measurements of the temperature in the room or outdoors be used to augment the control performance with some prediction capability?

Are you getting the point? Not just a screwdriver, soldering iron and keyboard but also algorithms, equations and data...  

The list of equipment available in our lab could give you a picture of what tools can be readily used (you can certainly find some more around at some other departments). Namely, note that we even have a small 3D printer, so you can rely on it should there be a need in your project. You can start playing around with some free editor such as https://www.tinkercad.com/, http://www.123dapp.com/design, parametric http://www.openscad.org/ or in fact any 3D modeller of your choice.

Another resource for learning are the websites of these two companies



These are so-called community-centered companies - geeks, hackers and makers love them. They contribute back to the community by creating various tutorials and also by sharing their code and schematics. Browse through these. But also through their online shop just in order to get a better picture of what is available. (You do not have to do the shopping now, once we agree on a project of a joint interest, we can either do the shopping or reimburse all your major expenses).

Let us explain that by encouraging you to propose a project of this DIY kind, we are not trying to dampen your academic enthousiasm, quite the opposite! It is becoming (again) popular to do such projects at top universities and reinforce the culture of makers, hacker, geeks among engineering students. Have a look at this course at Cornell

http://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/ - students are asked to present their projects exactly at the places I enlisted above (typically Hackaday).

Or you may want to see this (archived) course at MIT


or this recent announcement on the website of ECE department at Stanford University


Now, unleash your creativity and come up with a project :-) If it is sufficiently crazy and fancy, we can go for it. Based on what you learn within this project, we can start talking later about finding some opportunity for you in some other already running research projects. Just to clarify, we do not view the DIY-like projects that we are referring to in the above paragraphs as inferior to "research projects". In fact, the requirements on the quality of your work and the creativity of your engineering mind is identical. It is just that first we want to see you working on a project of your choice (surely we can finetune the project assignment together, but the initial shape is up to you), because that will give you freedom to find what you truly like, including finding the best proportion among coding, electronics, mathematics, physics, special techniques from our own engineering discipline - control systems....

Contact person: 
Zdeněk Hurák
Contact person: 
Jiří Zemánek

Graphical user interface to control an experimental vehicular platoon


The goal is to design and develop a graphical user interface (a computer program) for convenient setting of the process parameters of the experimental vehicular platoon (described elsewhere). In addition, convenient uploading of the firmware and other maintenance stuff should be implemented. We have two communication interfaces onboard the slotcars: ZigBee and a proprietary 2.4 GHz protocol, hence some inclination (or at least a strong desire to learn) towards coding for wireless communication is assumed.

Concerning the computer languages, th real-time data acquisition and settings should be done partially in Matlab. We have already implemented some communication interface, which can still be improved (setting the desired speed to all the cars at the same time etc.). The parameter setting for all cars is still not implemented, hence a C code for the onboard system should be written too.

Contact person: 
Ivo Herman

CCD čip jako snímač polohy mikroobjektů


Cílem projektu je experimentálně ověřit možnost využití standardního snímacího čipu CCD pro účely měření polohy mikroskopických objektů bez použití další optiky. Tento záměr je motivovaný výzkumem v oblasti bezkontaktní mikromanipulace pomocí elektrického pole tzv. dielektroforézy, kdy je možné pomocí mikroelektrod vytvářet takové elektrické pole, které rozpohybuje objekty o velikosti jednotek či desítek mikrometru ať už přírodního či umělého původu. Jde o slibný nástroj, který nachází uplatnění například v medicíně či analytické chemii při detekci, separaci, charakterizaci atp. Hlavní částí platformy pro manipulaci pomocí dielektroforézy je elektrodové pole, nad kterým dochází k vlastnímu pohybu objektů. Toto pole by se tedy vybavilo ze spodu ještě snímacím čipem, aby bylo možné sledovat pohybující se objekty.

Dílčími úkoly projektu by bylo zvolit vhodný čip pro tento účel, navrhnou vhodné mechanické řešení jeho umístění a najít také takové osvětlení, který by na čipu vytvořilo kvalitní obraz scény. Dále by byla práce orientována experimentálně především na srovnávání dat z CCD čipu s obrazem pořízeným pomocí běžné kamery. Po úspěšné realizaci snímací soustavy by projekt pokračoval návrhem metod pro zpracování dat z CCD senzoru, hlavně tedy získání polohy jednotlivých objektů.

Platforma pro magnetickou manipulaci


Cílem projektu je finalizace platformy pro planární manipulaci s objekty pomocí magnetického pole. Na našem pracovišti je postavena funkční verze takového manipulátoru, která se skládá ze čtyř stejných a samostatných modulů. Každý modul obsahuje budicí elektroniku, procesor ARM Cortex M3, komunikační rozhraní RS-485 a čtyři cívky. Z těchto modulů lze sestavit platformu s celkem 16 cívkami a nad ní následně pohybovat s jednou nebo několika kovovými kuličkami. Manipulace se děje valením a smýkáním kuličky, při pohybu tedy nedochází k levitaci. Poloha se v současné době měří pomocí dotykové rezistivní fólie. 

Cíle projektu budou po domluvě s řešitelem orientovány na některé z následujících oblastí:

  • Realizace modulu pro zpracování signálu z dotykové rezistivní fólie. Tento modul bude naměřená data odesílat přes rozhraní RS-485 či USB
  • Programování a testování zavaděče (bootloader) pro řídicí procesory, který umožní naprogramovat moduly po komunikační sběrnici RS-485.
  • Rozšíření současného firmware: implementace nových příkazů, měření a regulace proudu cívkou, realizace komunikace s deskou rozšiřující vstupy a výstupy.
  • Experimenty s měřením magnetického pole a jeho využitím pro určování polohy objektu.
  • Vytvoření systému pro zpracování obrazu z kamery k měření polohy a natočení kuličky.
  • Odladění komunikační knihovny pro Matlab/Simulink doplněný o Realtime Toolbox či Realtime Windows Target.

Řízení formace kvadrokoptér AR.Drone 2.0


Cílem projektu je realizovat řízení pěti kvadrokoptér AR.Drone 2.0 pro udržování formace. Řízení by probíhalo tak, že jednu z kvadrokoptér by pilotoval člověk a další 4 by samostatně upravovaly svou polohu tak, aby s první udržovali nastavenou formaci. Pro účely vzájemné lokalizace by se pravděpodobně využil obraz z kamer na palubě kvadrokoptér. Konkrétně lze pracovat buď se zjištěním polohy ostatních kvadrokoptér, nebo s lokalizací vůči okolnímu prostředí. Alternativně by bylo možné prozkoumat možnosti rozšíření palubní instrumentace o dodatečné senzory, kupříkladu ultrazvukové snímače. Jedna taková aktivita využívající Arduino je popsána na https://gist.github.com/4152815#droneduino.

AR.Drone 2.0 je komerční kvadrokoptéra se standardním uspořádáním čtyř samostatně řiditelných vrtulí. Na palubě nese řídicí počítač, HD kameru pro čelní pohled, podhledovou kameru pro odhad rychlosti vůči zemi, dále inerciální jednotku s gyroskopy a magnetometry, tlakový senzor pro měření výšky atd. AR Drone 2.0 se standardně pilotuje pomocí tabletu či chytrého telefonu přes WiFi, ale umožňuje i vývoj vlastních pilotovacích programů. Více informací najdete na stránkách výrobce: http://ardrone2.parrot.com/

Řídicí program by mohl být připraven buď přímo pro palubní počítač, ale pravděpodobněji budou kvadrokoptéry řízení z pozemního stanoviště. Pro pilotování a zadávání příkazů by byl využit tablet iPad (či alternativně tablet s Androidem), který by požadavky zasílal řídicímu počítači. K AR.Drone je dostupné SDK přímo od výrobce, které zprostředkovává komunikaci s kvadrokoptérou a dovoluje nastavovat parametry a zasílat příkazy pro autopilota, poskytuje základní zpracování obrazu pro určení polohy známých značek ve scéně atp. Kromě toho vznikají alternativní zjednodušené SDK pro zajištění komunikace s AR.Drone. Řídicí program by tedy stavěl buď na originální, nebo jiné dostupné knihovně. Projekt je tedy zaměn pouze na návrh nejvyšší řídicí vrstvy, nikoli na řízení letu.

V rámci letní stáže ve skupině AA4CC tuto problematiku již rozpracoval Jaroslav Halgašík. Jeho blog zaznamenávající jeho práci je http://yerrix.blogspot.cz/search/label/AR.Drone.

Aktuálně se touto prací bude zabývat Michal Kaprál v rámci bakalářské práce, o které bude průběžně informovat na http://ardronex.blogspot.cz/. Je ale žádoucí tým studentů pracujících v této oblasti rozšířit, ať už formou individuálního nebo týmového projektu.

Contact person: 
Zdeněk Hurák
Contact person: 
Jiří Zemánek
Syndicate content