I am a mechanical engineer specialized in robotics, systems and control. Every now and then, I like to immerse myself in new projects. You can browse a selected list of completed projects below. For more about myself, check out my LinkedIn profile.
This website is constantly being updated with new projects. So make sure to come back from time to time!
Portfolio
Here you find some of my projects. Hope you enjoy!
What can you do with an arbitrary function generator and oscillosope? You can estimate the distance to a water leakage for example.
In a project at Imperial College, I built a simple impedance analyzer to detect water ingress onto a sensor cable and to estimate the distance to the location of the leakage.
The water ingress was detected by measuring the impedance of the sensor cable as the ratio between the voltage across the cable and the current. The current was estimated by measuring the voltage drop across a known resistance. Together with the total voltage drop, this is all we need. Since we know the input frequency, the voltages can be filtered well even under a large signal-to-noise ratio.
Secondly, the location of the leakage can be calculated by transmitting a pulse. The pulse propagates as an electromagnetic wave through the cable until it reaches the end of the cable, where it is reflected. Furthermore, the pulse is also reflected at the location of water ingress. Knowing the length of the cable, the location of water ingress could be determined up to 3m accuracy (limited by the maximal sampling frequency).
Localization
Can a single module of a robot called Distributed Flight Array (DFA) be localized without the use of any distance sensors? This question was addressed in my Bachelor thesis.
The DFA
is a distributed, modular platform developed at ETH Zurich to research distributed controls and estimation. It consists of hexagonal, identical (except for the propeller rotation direction) and fully autonomous modules, which cooperate to achieve the goal of a mission. Each module is equipped with three omni-directional wheels to move on the ground and a single propeller to lift itself. Magnets allow the modules
to dock. When the modules are assembled, the DFA can take coordinated fight.
DFA cluster and a single module
During the localization process proposed in this project, a cluster of connected DFA-modules rotates on the ground using omni-directional wheels and take advantage of their infrared communication devices to detect if another
(single) module, the target module, is in line of sight. The rate gyroscope, each module is equipped with, provides the according rotation angle at perception. In this matter, a relation for the position of the target module with respect to the cluster of connected modules can be derived. Following video shows the procedure, where the communication rays are represented by lines that turn red when the target module is in line of sight.
After a full rotation, multiple detections of the target modules have occured and the target position can be determined using least-squares. Simulating the localization repeatedly with noise of 5° standard deviation on the angle measurements results in a distribution of estimated module locations with a mean close to the actual mean.
Now, the DFA-cluster can use this information to cooperate with its newly detected peer, e.g. to assemble in a specific configuration to take off to new horizons.
Design and Manufacturing of a Yoyo
As a part of a class, we designed a yoyo in a group of seven people and ran a small series production (50 yoyos). To succeed, it was not enough to only consider the design aspect but one had to keep also manufacturing in mind. From design of the yoyo itself and the mold design, over milling and injection molding, to assembly and quality control - all stages of a production were a part of this project. Check out the video below for more.
Goalie robot
In the last month of a robotics class, the students were split up into striker and goalie teams with the task to build a soccer robot of this kind. On the competition day in the end of the semester, the striker teams competed against the goalie teams. As in regular soccer, the striker tried to score as many goals as possible while the goalie aimed to block all incoming balls.
I was assigned to a goalie team. Together with seven other students, we started building a goalie robot. The only restriction was to block the ball only with the provided hand and no other part of the robot. Our design can be checked out in the following video as presented on the competition day before competing in the tournament.
In order for the robot to block the ball, two main parts are required: Firstly, the spot has to be predicted, where the incoming ball ends up on the goal plane (estimation). Secondly, the robot has to move there in time (control). The spot on the goal plane was predicted by forward propagating the dynamics of the ball with the current state as initialization. The current state itself was estimated using a Kalman filter with the vision data from cameras as measurement updates. Thus, the location can be predicted as a probability distribution and the control aggressivity could be adapted according to the size of the uncertainty. A simulation example can be seen below. Due to time constraints, however, the control was simplified to move to the mean of the distribution independent of the standard deviation.
Github project website
To learn more about website development with responsive design, I decided to build this very project website that you are on right now. Hope you enjoy it! It was built based on Bootstrap templates, which were adapted to my needs using the code editor Brackets. The project served for me as an introduction to programming in html5, css3 and javascript.
Certification of controllers for wearable robots
A crucial goal of control is the stability of a closed-loop system. This is important to even a greater extent for wearable robots, where the guarantee of stability under all conditions that can occur is a must. It is not enough though to guarantee stability for nominal parameters in simulation. The system must also be stable on the hardware under load changes and varying parameters. Robustness is not only a topic for wearable robots but also appears in other applications. In legged robots for example, stability has to be ensured for large varying masses experienced by the controller. All in all, the guarantee of stability is a widespread problem in robotics.
Feedback structure
A method to quantify stability of a closed-loop system and differences in stability for plants is given by the ν-gap metric and the generalized stability margin. Based on them, my master thesis established a framework for studying the closed-loop stability of perturbed systems and for designing controllers that achieve a stable closed-loop system even for varied plants. As part of the latter, it proposed an iterative certification procedure to design such controllers. The method separates the controller design from the robustness question.
A webpage with the full project description can be found on the website of the Agile & Dexterous Robotics Lab (ADRL).
Control of an inverted pendulum
Imagine a pendulum that must be kept upright while only moving a cart horizontally. The control of such an inverted pendulum is an interesting problem because it is challenging due to the unstable plant but simple enough to be able to focus mainly on the control aspects. In terms of control, the aim is to keep the angle φ close to zero (upright pendulum) while moving the cart to a certain reference position by only appyling a force F to the cart (see image below).
Inverted pendulum
Model
Note that the pendulum itself is not controlled directly but only over the movement of the cart. This project was part of a digital control class, where an discrete-time LQR controller was used to stabilize the plant. Unfortunately, no video was recorded and therefore, the images above are all that can be shown here.
3D printing
3D printing is growing more and more popular and has become a standard tool in prototyping. As it is getting cheapter, it has also become affordable for the nonprofessional user. To learn more about this technique, I bought a PRUSA i3 Hephestos, an open source 3D printer, and tried out a couple of prints. A selection can be found below.
Together with a few colleagues, the goal was to build a remote controlled (RC) car in one day given an Arduino board, DC motors, motor drivers, power supply, an infrared (IR) remote and an IR receiver. In about 10 houres, we went from having single parts to a fully functioning RC car. For this, a frame was designed and 3D-printed with fitting places for the electronics. Additionally, also the wheels were 3D-printed to either fit on the axis or to be mounted onto the DC-motors (with gear box). Then the electronics were connected and the Arduino was programmed, so that the car could be controlled over the IR remote. The result is not particularly fancy nor can the vehicle drive very fast but at the end of the day a fully operational vehicle that could be steered around in the room was built in a single day.