Projects
We developed a robotic setup able to prepare cappuccinos, evaluate their quality, and optimize the preparation process. We carried out a series of experiments which proved that Bayesian Optimization managed to identify the system parameters to prepare the coffee with optimal qualities.
We created a benchmark on 3D Q&A for LLM systems, consiting of 1'000 questions with answers. We developed a RAG-based solution that leveraged various modalities (text, images, SQL DB and navigation meshes) to answer the spatial questions from the dataset.
We investigated the usage of User Datagram Protocol for two-way communication between an Android mobile device and Robot Operating System. As a case study, we implemented a solution for controlling the Turtlebot3 differential drive mobile robot with the use of ROS.
We presented a comparative analysis of the underwater robot design steps using PWr Diving Crew project's robots, where simplified ROVs were improved to AUVs. We then described the altered approach to the problem in the successive vehicle generations.
We designed a laser triangulator intended to be mounted on AUVs and ROVs. The operation principles for the device were simplified, allowing for relatively cheap creation, yet holding the required features. This research was completed with tests above and under the water.
We developed a Unity3D framework, which i.a. supports communication with ROV/AUV systems (collects observations via simulated sensors and controls simulated actuators), gathers data sets for online training, and randomizes parts of the environment to test the system's robustness.
Solution for localization, exploration, artefacts logging and mapping for an SMB robot during RSS 2023.
Estimating multiple human 3D poses (LISST-style) based on images received from multiview cameras.
Utilizing Hololens AR device to remotely operate a robotic arm of Boston Dynamics' Spot quadruped.
Development of an app facilitating the process of baking to compare the user experience of different recipes layouts.
Fourth generation of PWr Diving Crew's underwater vehicle, initially remotely operated, improved to an autonomous one.
Fifth generation of PWr Diving Crew's underwater vehicle, enhanced with a set of sensors to perform tasks autonomously.
Holonomic robot with mecanum wheels, STM32 as the main processing unit and a custom Android control app.
MuJoCo simulation for Clone Inc. biomimetic, robotic hand, animated with a set of artificial hydraulic muscles.
Poky-based operating system development for QEMU, RPi and Jetson Nano according to Yocto Project.
Qt5 C++ desktop application offerring a weather forecast visualization for a selected city in Poland.
Kivy Python desktop app for student organization's equipment renting, connected to a MySQL database.
C++ object programming course project on drone simulator with obstacle detection and collision avoidance.
Convention centre analysis and a plan for network establishment, including wires, routers and other devices.
One of the course projects performed in Roboguide simulation on collaboration of LR Mate i200C robots.
A system managing two ESP32 boards, a PIR sensor, LEDs, a buzzer with MQTT to send information about detected movements.
The repository contains code managing PWM on STM32F103RB with the usage of LL library. The functions can be adjusted to other STM boards.
The program is intended for STMF303RB connected with via UART protocol to Ping Sonar Altimeter and Echosounder from Blue Robotics.
The code support the management of a matrix of buttons on ATmega328P. It handles buttons' contact bounce.
The repository contains the code allowing for displaying a heart on a matrix of LEDs connected via shift registers to ATmega328P.
This project is a modification of the previous project (this time without shift registers) with an animated heart on a LED matrix.
The code manages a PWM signal, making the servo move accordingly to the degree values sent over UART from a console to Arduino Nano.
The program is responsible for managing a RGB LED using Arduino Nano, an LC display with a menu and a button matrix for choice selection.
As a part of the university project, we trained the Convolutional Neural Network to recognize human emotions from face images. Pretrained neural networks (MobileNetV2 and EfficientNetB0) were used as baseline models, while the optimal architectures and hyper-parameters were found with the help of 4-fold cross validation.
The objective of this project was to implement a neural network that detects human faces and classifies them into three categories - with mask, without a mask and with a mask worn incorrectly. I used YOLOv5, but I decided to extend the project with a custom CNN that classifies images into two classes (with mask and without a mask).
This is the terminal implementation of the "Tic Tac Toe" game with an minmax algorithm as an opponent. When the program is launched, the user can specify the size of the square board, the number of characters in a row that results in a victory, the signs of the players (of both the user and the algorithm) and the starting player.
Three sorting algorithms - merge sort, quick sort and introspective sort - have been implemented and compared in terms of processing time. The efectiveness of the algorithms was tested on randomly generated arrays of various sizes. Some of the arrays were partly, fully or reversely sorted before being fed into the sorting programs.
The repository contains the adjacency matrix and adjacency list implementations of a graph. The Dijkstra algorithm, whose objective is to find the shortest path in a graph, was evaluated on both implementations. The randomly generated graphs, on which the effectiveness was tested, had various denisties and numbers of vertices.
The aim of the implemented program is to determine, if - for the given chessboard situation - the white figures have a checkmate possibility within one move. If it is not feasible, then the black figures' possibilities are analysed. Several assumptions were made (e.g. castles, en passants and promotions are not checked).
The problem to solve was the problem of knocking out the black king with the white bishop. The jumper couldn't be out in the hitting range of the black rook, nor could it visit any field more than once. Two algorithms were applied as the solution - depth-first search (DFS) algorithm and the A* heuristic-based algorithm.
This website was created for portfolio-related purposes with the help of open-source code from free-css and images from Unsplash. It is not meant to be a commercial product. All the shared files (university reports, project codes etc.) can be modified and copied provided that the original author is mentioned (MIT license).
Images: Unsplash (CC0)
Designed by HTML Codex