Undergraduate research

Odhadování a predikce pohybových stavů vozidel veřejné dopravy multisenzorickou fúzí

Active: 
yes

Navrhovaný studentský projekt je motivován právě se rozbíhajícím společným projektem/grantem zadávajícího učitele a průmyslového partnera (firma Herman Systems z Brna), jehož cílem je vývoj levných avšak přesných a spolehlivých systémů pro odhadování a predikci pohybových stavů vozidel veřejné dopravy, zejména tramvají a městských autobusů. Motivací pro přesnost jsou i úlohy přesného řízení dobrzďování na zastávce či i prevence srážek. Pro účel takového výzkumu a vývoje je ale zapotřebí mít k dispozici jiné (a případně i téměř libovolně dražší) řešení, které poslouží jako etalon, ke kterému se s vlastním řešením můžeme vztahovat. A nalezení, rozchození a předvedení takového "etalonového řešení" bude náplní tohoto studentského projektu.

Prvotní instrukce/nápady

Nápadem je využít špičkové přijímače GNSS od firmy uBlox. Kupříkladu jejich moduly ZED-F9P https://www.u-blox.com/en/product/zed-f9p-module nabízí centimetrovou přesnost. Několik kusů těchto modulů máme k dispozici (používali jsme je pro experiment s kolonou aut s adaptivními tempomaty na letišti https://radiozurnal.rozhlas.cz/pokud-jde-o-jizdu-v-kolone-trapi-stroje-podobne-problemy-jako-lidi-zjistili-8120406). Výrobce uBlox však nabízí i moduly, které uvnitř fúzují nejen signály z družic a inerciální měření z integrované IMU jednotky, ale navíc umožňují přivést i signál z otáček kol, ať už přímo coby pulzy nebo komunikací přes sběrnici CAN. Pro oblast automotive je takovým produktem nedávno na trh uvedený ZED-F9K https://www.u-blox.com/en/product/zed-f9k-module, tento je však pro nás nedostupný (prodávají dnes jen ve velkém výrobcům). Nabízí se však i produkt https://www.u-blox.com/en/product/zed-f9r-module, který vykazuje přibližně stejnou funkcionalitu. Navíc jsou na trhu k dispozici i vývojové kity jako https://www.sparkfun.com/products/16344 či https://www.sparkfun.com/products/16475 či https://www.ardusimple.com/product/simplertk2b-f9r-v3/. Tyto kity jsme již koupili a jsou k dispozici.

Bude tedy nutné vyhodnotit, zda využít ZED-F9P nebo ZED-F9R (nebo obojí), a v případě druhého realizovat připojení na palubní odometrii. Je možné, že už brzy v průběhu studentského projektu se podaří realizovat experimenty na tramvajích nebo autobusech (takových jsme již v minulosti několik realizovali, viz https://youtu.be/oCF8vl4ImaQ), ale nelze to garantovat (záleží i na možnostech partnerů partnerů...). Bezpečnější tedy bude nespoléhat se na přístup k těmto velkým vozidlům a místo toho realizovat experimentální část práce s běžným osobním vozem. Pokud studenti nebudou mít sami nějaký k dispozici, může být použit vůz vedoucího učitele (Renault Megane). Asi nejpohodlnější způsob, jak se dostat k informaci z odometrie je využití protokolu ODB II. Ten je původně určen pro diagnostiku spalování, avšak informaci z odometrie by přes něj mělo být také možné získat. Konektorů se na trhu nabízí celá řada. K dispozici máme hned ELM327 s USB.

Výstupy ze studentského projektu

Tou hlavní inženýrskou výzvou a prvním dílčím cílem celého studentského projektu tak bude napojení ZED-F9R na palubní odometrii osobního vozu přes ODB II a správná konfigurace výsledné sestavy.

Druhým dílčím cílem projektu bude předvedení funkčnosti výsledného systému při jízdách auta po městě. Bude nutné i vymyslet, jak i pro toto řešení, které v budoucnu poslouží jako "kalibrační", ověřovat jeho správnost (kupříkladu manuálním zaznamenáváním průjezdu význačnými body).

Možnost pokračování projektu

Nad výsledky tohoto projektu může být dále stavěno. V případě zahájení práce formou letní stáže bude zcela jistě bude možné v této oblasti následně pokračovat formou individuálních projektu i následných diplomových prací.

Stejně tak může být podle míry nasazení i výsledků práce na tomto projektu finančně ohodnocena (formou zapojení daného studenta či studentů do grantu).

Literatura

- Dokumentace k uBlox ZED-F9R https://www.u-blox.com/en/product/zed-f9r-module

- Dokumentace k OBD II https://en.wikipedia.org/wiki/On-board_diagnostics

Pro práci spíše až navazující (více směrem k algoritmům), ale už i teď snad inspirující/motivující:

- Do, Loi. „V2V Communication-Enabled Collision Avoidance for Railroad Vehicles". Master thesis, Czech Technical University in Prague, 2019. http://hdl.handle.net/10467/82532.
 
- Do, Loi, Ivo Herman, a Zdeněk Hurák. „Onboard Model-Based Prediction of Tram Braking Distance". IFAC-PapersOnLine, 21th IFAC World Congress, 53, č. 2 (1. leden 2020): 15047–52. https://doi.org/10.1016/j.ifacol.2020.12.2006.
 
———. „V2V communication-based rail collision avoidance system for urban light rail vehicles". arXiv:2006.02480 [cs, eess], 3. červen 2020. http://arxiv.org/abs/2006.02480.
 
- Petr, Hrych. Odhadování vybraných fyzikálních parametrů tramvaje v reálném čase relevantních pro palubní predikci zábrzdné dráhy. MS thesis. České vysoké učení technické v Praze. Vypočetní a informační centrum, 2020. http://hdl.handle.net/10467/88068
 
- Jay Farrell, Aided Navigation: GPS with High Rate Sensors (McGraw-Hill, Inc., 2008);

- Jay A. Farrell et al., „IMU Error State Modeling for State Estimation and Sensor Calibration: A Tutorial", 20. květen 2020, https://escholarship.org/uc/item/1vf7j52p.

- Dan Simon, Optimal State Estimation (Hoboken, NJ, USA: John Wiley & Sons, Inc., 2006), http://onlinelibrary.wiley.com/book/10.1002/0470045345 (dostupné v doméně ČVUT nebo po přihlášení).

- Teunissen, Peter, and Oliver Montenbruck, eds. Springer Handbook of Global Navigation Satellite Systems. Springer Handbooks. Springer, 2017. Jen některé kapitoly, dostupné na https://ebookcentral.proquest.com/lib/cvut/detail.action?docID=4880030.

 

Contact person: 
Zdeněk Hurák

Implementation of a high-performance QP solver for MPC applications

Active: 
yes

The goal of the project is to implement a particular algorithm for solving a quadratic program (QP) that is to be used within model predictive control (MPC) applications. The algorithm is described in the paper

  • ŠANTIN, Ondřej, et al. Proportioning with second-order information for model predictive control. Optimization Methods and Software, 2017, 32.3: 436-454, DOI: 10.1080/10556788.2016.1213840.

The algorithm is reportedly working very well (could even challenge solvers such as OSQP and qpOASES) but the implementation of the solver is not available in the public domain (it is used in industry by our colleagues and former students). The goal of this project is to make the algorithm available to a wider community of users as an open-source project.  

The algorithm could be implemented in C/C++, Matlab, Python and/or Julia. 

Some benchmarking and comparison with other available solvers will have to be involved too.

Contact person: 
Zdeněk Hurák

Using Julia programming language for design and implementation of control algorithms

Active: 
yes

Julia je mladý programovací jazyk, který je od samého začátku vyvíjen se zaměřením na vědecko-technické výpočty. Jeho obliba v posledních letech roste zejména v komunitě specialistů na numerickou optimalizaci a simulaci dynamických systémů. Jim Julia nabízí pohodlí vysokoúrovňového programovacího jazyka za současné mimořádné rychlosti výpočtů (původní autoři z MIT Julii propagují sloganem "walks like Python, runs like C"). Cílem navrhovaného projektu bude prozkoumat možnosti, jaké Julia nabízí i pro návrh a implementaci algoritmů pro automatické řízení.

Pro (výpočetní) návrh řídicích algoritmů již dnes existuje několik specializovaných balíků, jako jsou ControlSystems.jl, ControlSystemIdentification.jl, TrajectoryOptimization.jl a další. Cílem projektu bude prozkoumat, jak moc použitelné tyto (a další) jsou pro praktický návrh automatického řízení. V případě nedostatečnosti může součástí projektu být vyvinutí chybějící funkcionality (a sdílení výsledného balíku s mezinárodní komunitou coby open-source software registrovaný na Github.com). Pro demonstraci použití těchto nástrojů budou uvažována zadání některých úloh z naší vlastní experimentální laboratoře.

Implementace/realizace řídicích algoritmů bude primárně směřovat k prototypovému použití (angl. rapid prototyping) v experimentální/výukové laboratoři ve stylu "normálního módu" známého ze systému Simulink. Regulátor tak může běžet na PC vybaveném převodníkovými kartami či případně na dedikovaném jednodeskovém počítači typu Raspberry Pi či Beaglebone Blue (ekvivalent "externího módu", kdy je kód kompilován do spustitelného binárního kódu nejspíše nebude možno realizovat, protože aktuálně Julia založená na LLVM nic takového přímo nepodporuje). Přirozenou součástí projektu bude prozkoumání existujících řešení. V případě chybějící funkčnosti může být součástí projektu její vyvinutí (a zveřejnění).

Ideálním zakončením projektu bude demonstrace kompletního vývojového cyklu výpočetního návrhu regulátoru i jeho experimentálního ověření na laboratovním modelu, to vše z prostředí jazyka Julia.

References:
[1] „Julia Course". Graduate Course, Department of Automatic Control, Lund University. 2019. https://www.control.lth.se/education/doctorate-program/julia-course/julia-course-2019/.
[2] „The Julia Programming Language". Viděno 23. září 2021. https://julialang.org/.
[3] Deits, Robin. JuliaRobotics: Making robots walk with Julia, 2018. https://www.youtube.com/watch?v=dmWQtI3DFFo.
[4] „Proceedings of the JuliaCon Conferences". Viděno 23. září 2021. https://proceedings.juliacon.org.

 

Contact person: 
Zdeněk Hurák

System for manipulation of liquid droplets

Active: 
no

Your task will be to build a system for manipulation of liquid droplets using EWOD (electrowetting on dielectric) digital microfluidics. Such system contains a matrix of electrodes covered by a dielectric layer that can be hydrophobic or hydrophilic based on applied voltage. The inspiration can be taken from existing and open system OpenDrop.

Contact person: 
Jiří Zemánek

Synchronization of oscillations using the magnetic field

Active: 
no

This project aims to build an experimental system for maintaining and synchronization of oscillations. The system will consist of two or more balls on rails and coil underneath that will keep the ball oscillating and synchronized to prevent their collision. Instead of the rails, it is possible to use two pendulums suspended from the one point. 

Contact person: 
Jiří Zemánek

Flying ball in the hoop

Active: 
no

Your task will be to recreate and improve system called Flying ball in the hoop that serves for education and research of optimal control. The primary motivation is to create the building instructions and documentation that enables others to build and use this system in their labs.

The model consists mainly of a ball and a hoop. The ball can freely rotate in the hoop, and the hoop is attached to a motor which allows us to exert a torque on the hoop. There is also a camera measuring the position of the ball. Everything is interfaced with Raspberry Pi, the brain of our laboratory model.

Contact person: 
Jiří Zemánek

Automatic AirHockey

Active: 
no

This project aims to design a control system for the automatic AirHockey. The control system will run on RaspberryPi, and it will use a camera to detect the position of a puck and command stepper motors. The inspiration can be taken from the existing system. Hardware and electronics are ready. 

Contact person: 
Jiří Zemánek

Simulation of urban traffic in presence of high-priority vehicles

Active: 
no

This student project is motivated by the needs of a larger industrial research project that the AA4CC group is running since January 2018 jointly with a small hi-tech Brno-located company focused on automation in public transportation. The focus of the proposed project is on numerical simulations of urban traffic using existing opensource simulation packages.

In particular, after getting familiar with the existing traffic simulation packages (SUMO, Veins, VSimRTI, ...) and selecting the most suitable one, the goals of the project are to analyze the possibilities to simulate higher-priority vehicles  (fire brigade vehicles, ambulances, police) and analyze the observable impact of presence of these vehicles on the other traffic in the city.

Later we will build on top of this competence when modeling the trafic after the introduction of the wireless V2I (=vehice-to-infrastructure) or V2X (=vehicle-to-everything) communication schemes. Will these relieve the traffic jams significantly? Will the communication-based control schemes be robust enought? Does mistuing of these present a threat to the traffic? These will be the questions for which we will want to find answers using the simulations.

A related desirable competence is to be able predict the time of arrival of the selected high-priority vehicle to a particular intersection. This is certainly dependent on the current traffic density and thus is highly random. Still, some prediction could be attemted using some popular (or perhaps even some less well-known) estimation and prediction schemes.

The student applying for this position should be interested in the topic of intelligent transportation.  He or she should be good at high-level programming and eager to learn the mathematics behing traffic modeling.

Contact person: 
Zdeněk Hurák

Dynamic plotter

Active: 
no

We are looking for a hardware platform suitable for presentation of trajectory optimization algorithms and your goal will be to build one. The platform will resemble a gantry crane or a pendulum on a cart with a variable length if you want. It will be attachable/detachable to a whiteboard and there will be a pen at the place where the hook normally is (or, at the end of the pendulum). The ultimate goal for the platform will be to draw a given curve on the whiteboard in the shortest possible time. Nevertheless, at first, we need you to build the platform for us. When we have the platform, you can also work on the control algorithms. If you like to build stuff this is an ideal project for you as you will have to design, make and assemble all the components (some inspiration can be taken from open-hardware designs of some 3D printers though).

Contact person: 
Martin Gurtner

Measuring position of micro-objects by machine learning algorithms

Active: 
no

You will be developing algorithms for a sensor measuring positions of micro-objects in 3D. The sensor mainly consists of an image sensor capturing diffraction patterns encoding positions of some micro-objects. We have algorithms which can extract the positions from the diffraction patterns, but they are slow. We have some ideas how to make the algorithms faster by implementing them on a graphical card (GPU) and/or by approximating them by methods from machine learning. Your goal will be to explore these possibilities.

This topic will fit a student who is more into coding and applied mathematics as the work is more on the software side.

Contact person: 
Martin Gurtner
Syndicate content