I am an Assistant Professor in Autonomous Systems at the Engineering and Technology Institute Groningen (ENTEG), University of Groningen. My work sits at the intersection of nonlinear control, port-Hamiltonian systems, and industrial robotics.
I care about building machines that are honest about their energy and their limits — and about teaching engineers to build them too. I run MCDC, a course where students design, argue, build, and occasionally break things under real constraints.
I'm from Costa Rica. I live in Groningen with my family.
My current funded projects span structural health monitoring, AI-driven industrial sorting, and robotic welding for shipbuilding. I supervise a team of PhD candidates and EngD trainees across these projects.
HyperBRIDGE
Interreg VI A · 2023–2026
AI-driven structural health monitoring for hyperloop infrastructure. Cross-border collaboration between Groningen and partners in Germany. We develop sensing strategies and diagnostic models for large-scale tube structures under operational loads.
PhD candidate: Keyvan Delfarah (cotutelle with Macquarie University). EngD trainees: Rinnert Jan Politiek and Enrico Portella at Omnidots.
S3ORTED
AI · Hyperspectral Imaging · Textile Sorting
Autonomous sorting of textile waste using hyperspectral cameras and machine learning. We explore the 2000nm+ wavelength range for contaminant detection.
PhD candidates: Ali Ahmadi and Azamat Kaibaldiyev (onboarded early 2026).
RoLinGS
Robotics · Laser Welding · Shipbuilding
Robotic laser welding systems for the maritime industry, bridging formal control methods with shop-floor constraints. In collaboration with Conoship and Kroes Marine.
Publications
Peer-reviewed articles, conference papers, and thesis work. Full list on Google Scholar.
I hold an education-focused profile (60/40 split) at ENTEG. My teaching spans undergraduate craftsmanship, EngD professional development, and PhD supervision. I completed my Senior Teaching Qualification (STQ) in 2025.
MCDC — Mechanical Craftsmanship and Design Challenges
IEM Bachelor · Year 1 · ~72 students · Spring 2026
Students design and build working mechanisms under real constraints. The course is deliberately uncomfortable. That is the point. I coordinate MCDC alongside Mehran Mohebbi. The course was nominated for the Dutch Education Award 2026 and finished in the national top 5.
EngD Supervision
PDEng programme · ENTEG
I supervise EngD trainees placed at industry partners. Current trainees: Rinnert Jan Politiek and Enrico Portella (Omnidots, HyperBRIDGE).
PhD Candidates
Keyvan Delfarah — Structural health monitoring for hyperloop, cotutelle with Macquarie University.
Ali Ahmadi — Hyperspectral imaging and ML for textile sorting.
Short writing. Things I notice, things I think about, things I cannot fit anywhere else.
On teaching SolidWorks when SolidWorks is not the point
Every year I watch students spend the first three weeks of MCDC trying to learn the software. They want to get the tool right before they get the thinking right. I understand the instinct — it feels safe. But SolidWorks is not the point. The constraint is the point. The 1 kg limit is the point. The dyad is the point.
The software is just a pencil.
When I tell students this, some of them look relieved. Others look more anxious. The ones who look more anxious are usually the ones who will learn the most.
Why I built a lion head animatronic for a museum
A few years ago I decided to build a lion head animatronic using a Raspberry Pi 5, a Hailo-8L neural processing chip, and Dynamixel servos. It now lives at the Wereldmuseum Amsterdam. The full story is here.
The honest answer to why: I wanted to prove to myself that I could still build something with my hands. Research can become very abstract very quickly. You write papers, you review papers, you give talks about papers. The lion was a correction.
The other honest answer: Hugo thought it was the best thing I had ever done.
Groningen in February
There is a particular quality of light in Groningen in February. It is not the dark of December — that is total and complete. February is something else: grey light that seems to arrive from no direction, a sky that refuses to commit. You learn to find warmth in small things. The fietspad is empty. The canal is still.
I have been here long enough that this feels like home. I am still surprised by this fact.
Corto Maltese and the ethics of wandering
Hugo Pratt understood something about freedom that most adventure stories get wrong. Corto Maltese is not free because he has no obligations. He is free because he chooses his obligations carefully, and he is honest about the ones he cannot escape.
I read Corto Maltese in Spanish, which is probably the correct language for a character who is always slightly out of place wherever he goes.
The hyperloop is just a train that hasn't been humbled yet
Every new transportation technology goes through the same arc. First: boundless optimism, physics-defying projections, magazine covers. Then: the boring problem of making it actually work at scale, in weather, with real maintenance budgets.
Our job in HyperBRIDGE is structural health monitoring — which is, fundamentally, the engineering discipline of listening to what the structure is trying to tell you. Structures always have opinions. The interesting question is whether you have the instruments to hear them.
Chess and the illusion of control
I play chess badly. I play it often. These two facts are related.
The thing that keeps pulling me back is the clean relationship between decision and consequence. Every bad move is immediately punishable. There is nowhere to hide. I find this clarifying, even when it is humiliating.
Port-Hamiltonian systems have a similar quality. The energy accounting is exact. If something goes wrong, you can trace it.
What I think about when I think about port-Hamiltonian systems
I think about energy. Not in a mystical way — in a very specific, accountable way. Where does the energy enter the system? Where does it leave? What does it do while it is inside?
A port-Hamiltonian model is a way of writing down a system so that these questions have clear answers. The ports are where the system touches the world. The Hamiltonian is what the system is carrying. The structure matrix is the grammar of how energy moves.
When you design a controller, you are essentially reshaping the energy landscape. You are telling the system: here is where I want the minimum to be. The system will find it.
Hugo at five: what he is learning that I am not
Hugo asks why about everything. Not the polite, conversational why — the persistent, recursive, genuinely-wants-to-know why. I have noticed that I stopped asking why somewhere along the way. I started asking how. How does this work. How do I fix this. How do I model this.
Why is harder. Why requires that you be uncertain about the goal, not just the method.
I am trying to learn it back from him.
Outreach
Work that left the lab. Demonstrations, installations, exhibitions, and the occasional attempt to explain autonomous systems to people who did not come here to hear about autonomous systems.
Engineering that only ever exists on a bench is hard to argue with and hard to learn from. Putting something in front of an audience that has no obligation to be impressed is a different kind of test, and usually a more honest one.
An autonomous animatronic lion head, installed for the spring holiday week alongside Chinese lion dance workshops. It read visitors' movements with a pose model running on a neural chip and answered with its eyes, ears and mouth. Several hundred visitors, mostly children. Read the full story.
The lion head installed in the Wereldmuseum, roped off before opening.
For one week in February the lion head lived in a museum in Amsterdam, on a black table under a brick arch, and several hundred strangers walked up to it and found out that it was looking back.
It sees you through a camera. It reads your body with a pose model running on a neural chip. Raise both arms and it opens its eyes and its mouth. Raise one, and it closes that eye. It winks. Kick, and its ears swing forward. Bow to it, and it bows back.
The head existed for a year before any of this. It was a student project first, then a stubborn one. Ivar Hesse worked on it and delivered a report in July 2025 whose final suggestion was, in effect: stop building this in a room and take it somewhere. That turned out to be the whole future of the thing.
So it went places. The Grote Markt in Groningen in November, in the rain, in a truck. The faculty open day in January, where the mouth had a bent piece that Robin fixed at short notice. Someone filmed that morning. That video became the thing we sent to a museum.
An introduction
Master Man Lung Tang of the Luk Hop Moon Kung Fu School in Groningen has been part of this from the start. He lent us one of his lion heads, which is not a small thing to lend. In January he mentioned he would be performing a lion dance at the Wereldmuseum in Amsterdam in February, and he passed me a contact: Carmen Abels, who runs the public programme there.
We wrote to her on 30 January, the same day as the open day demo.
“Super active, enthusiastic and wild”
Her reply, ten days later, is the best email of the whole project. It opened warmly, then said no. A temporary exhibition was not possible on that notice.
And then it offered something better: the Voorjaarsvakantie, the spring holiday week, during which Man Lung would be giving lion dance workshops. With a warning attached. Most of the visitors would be children. Children who, she wrote, can be super active, enthusiastic and wild. Was the technique strong enough for intensive use?
She added that it could be a nice test case.
We have written grant applications that asked less pointed questions. We had two weeks.
Fourteen days
What follows is what happens when a museum coordinator asks whether your prototype can survive children, and you decide the answer has to be yes.
Everything reprinted in ABS. The parts had been PLA, which is fine on a bench and brittle everywhere else. Wild children were now a design specification.
Redundancy in everything. Backup Raspberry Pis, backup mechatronics, backup cables. The whole system rebuilt so it boots and runs with nothing to configure, because on the Tuesday nobody from our side would be there and it needed to survive a day alone.
Recalibration. On 18 February all six motor ranges were measured again and widened, with a margin at each end so nothing would drive into its own limit. Several had been using only a third of the travel available to them. The difference in expressiveness was larger than expected.
Left: inside the head, a 3D-printed bracket carrying a Dynamixel servo, bolted into bamboo and gauze. Right: the Raspberry Pi 5 and Hailo-8L chip on the floor under the lion’s beard.
This is the part we like most. The frame is bamboo, lashed with cord, skinned in paper and gauze, made by hand the way it has been made for a long time. Bolted into it is a red printed bracket holding a servo. Neither one is pretending to be the other.
The brain, such as it is: a Raspberry Pi 5, a Hailo-8L accelerator running the pose model, six Dynamixel XL330 servos, one webcam. Blue tape. It ran ten hours a day for a week.
Eyes, ears and mouth. A close look at the mechanics.
Teaching it to bow
The bow was the hard one, and it is the one we care about, because bowing is not a gesture you make at a machine. It is a gesture you make at something you are treating as present.
The difficulty is that to a pose estimator a bow and a jumping jack look alarmingly similar. Both are large, fast, whole-body motions. Get it wrong and the lion solemnly bows at someone doing star jumps, which is funny exactly once.
On 21 February we captured 1,392 frames of pose data containing nine deliberate bows, and went looking for something that separated them. The feature that worked was the position of the nose relative to the shoulder line, normalised by torso length. Negative when you are upright, positive when you are folded over.
Nine bows, and the separation between standing and bowing. Optimal threshold at −0.20.
The top plot is the session itself. Nine spikes, nine bows. The lower one is why it works: standing and bowing land in largely different places, with a threshold at −0.20 between them.
The gate that made it reliable was simpler and slightly obvious in hindsight. During a jumping jack the arms go up. During a bow they stay down. Require arms down and most of the false triggers disappear. Add hysteresis, a lower threshold to leave the bow than to enter it, and it stops flickering at the boundary.
nose_below_shoulders = (nose_y - shoulder_mid_y) / torso_length
if nose_below_shoulders > -0.20 and arms_down:
is_bowing = True
if nose_below_shoulders < -0.30:
is_bowing = False
On the captured session that gives 94.5% accuracy, 86.2% precision and 93.9% recall. Not perfect. Two false positives across the run, which in a museum means the lion occasionally bows at someone who was only bending down to look at the cables. We decided we could live with that.
How to interact
This is the board that stood next to the head all week, which visitors mostly ignored in favour of experimenting.
The four interactions, from the instruction board at the museum.
Between visitors it blinks, twitches an ear, nibbles, and holds still. Stand about two metres back so your whole body is in frame. One person at a time, because it follows the first person it sees, which caused a certain amount of negotiation among siblings.
The week
The head on its plinth in an empty gallery.
Sunday 22 February. Drove down from Groningen. It was warmer than forecast so the head stayed in the car during the day and came up to the hotel at night, which is not a sentence you expect to write about a research project.
Monday 23. In at eight, installed, then a full day on the floor with visitors. Talking to the public in a museum was completely new to me. I enjoyed every minute of it.
Tuesday 24. Nobody from our side on site. The head stayed where it was and behaved.
Friday 27. Me again. I was late getting out of Groningen and wrote ahead to apologise. Fouad Riahi from the museum security team wrote back to say take it easy, we will see you when you get there. Packed everything up that evening.
Where the Lion Head lived. Lion dance workshops on the stage, the installation off to the side.Man Lung’s lion dance in the grand hall. Our head is at the right edge of the stage.
The dance is the reason any of this happened, and watching it from the balcony with our head sitting quietly at the edge of the stage was the moment the whole thing made sense. One lion carried by two people who have trained for years. One lion on a table, watching the room, doing what it could.
The grand hall during the spring holiday week.Visitors working out what it responds to.
Two lions
At some point during the week a lion dance lion, carried by two performers, came across the floor to meet the one on the table.
When two lions meet in lion dance there is a way of doing it. They approach, they look each other over, they greet. It is part of the form, not decoration. What happens in this clip is that a trained performer extends that greeting to a machine.
What we took from it
Carmen was right that it was a good test case, though not in the way we expected. Nothing broke. The ABS held, the backups stayed in their box, the plug-and-play boot worked every morning. The engineering questions all got boring answers, which is the best outcome engineering questions can have.
What was not boring was watching people decide how to treat it. Almost nobody walked up and started issuing commands. They approached it the way you approach an animal, slowly, from the front, testing.
Monday 23 February, the first day on the floor.
Man Lung says a real lion dancer tells a story through small gestures: joy, sadness, mischief. We did not build that. We built something that recognises four movements and answers with three pairs of motors. But it was enough for people to meet it halfway, and that gap, between what it actually does and what people are willing to grant it, is the interesting part.