RSSAmplifier

Blog

uavster's blog

A selection of experiments and random thoughts by Ignacio M. Bataller, a Robotics Engineer experimenting with artificial perception, signal processing, robotics and other cool stuff.

ignaciomellado.esRSS feed ↗10 posts

Latest posts

HF1 is now Mino

If I had a dollar for every time someone misnamed HF1, I'd have... well, maybe 15 dollars. But I get it! "HF1" is difficult to recall. HF1 stands for "Hotdog Fernando 1". Hotdog Fernando is the name my then-6-year-old son gave to the little project that started this bigger ambition. I immediately fell in love with that [...] "Fernando", "Hotdog 1", "Hotdog Roberto", "HR1", ... The robot's [...] To…

Aiming at the best robot developer experience

Good hardware is nothing without good software, so I’ve been heads down coding a module system that will ship with the robot. There’s motion, speech, camera, behavior, bridge… Each module [...] Motion is the gateway to the robot’s hardware via a ROS2 interface. It lets you create trajectories for the robot’s mobile base, the head and even the RGB LED. The module is a…

HF1: End of 2025 Recap

As we say goodbye to another year, I wanted to recap the progress of the HF1 robot project with you. The project has come a long way from last year’s proof of concept. We now have a robot that can be serially produced, and availability of the first batch is expected by the first half of 2026. I understand this new release date might come as a disappointment to some of you, as I previously…

HF1: End of 2024 Recap

As the year reaches its end, I wanted to share with everyone what the HF1 project accomplished in 2024 and what to expect in 2025. Every sign of support is one more push for HF1 to become a real product. If you joined the waitlist, talked about HF1, liked or reposted my posts, thank you. One of my New Year's resolutions is making HF1 a learning experience around a DIY kit. If you want that too,…

How to get into robotics if you are a CS major

I was recently asked by a Computer Science (CS) major about a good roadmap to get into robotics. This is was my response, in case it can help someone else: My approach to learning is normally by making. If that’s the case for you too, the best way to learn to make your own robot is starting to make your own robot. That should be the forcing function [...] Linear algebra: to express locations…

How I hacked a vintage C++ compiler to support exceptions before they were standard

TL;DR I hacked a 28-year-old C++ compiler to support exceptions. That’s two years before exceptions were even part of the first C++ standard! The compiler is the Watcom C++32 Optimizing Compiler Version 11.0, from 1996, by Sybase, Inc. Around that time, some friends and I started a real-time graphics [...] Fig. 1: The Watcom C++32 Optimizing Compiler Version 11.0 running on DOSBox. Years…

Readying a MacBook Pro M2 Max for Tensorflow

I was looking for a development laptop that would let me prototype rather big ML models locally. Life will have me moving across countries in the next months, and I would like to avoid depending [...] I ended up getting myself a MacBook Pro M2 Max. Apple silicon is very power-efficient, and, most importantly, its shared memory architecture gives the GPU access to the entire RAM. In my case, that's…

Ultrafast switching between OpenCV versions

OpenCV 3.0.0-alpha came out recently with exciting new functionalities. I was keen to give a try in particular to the new 3D reconstruction functions, so I downloaded, built and installed OpenCV 3.0.0-alpha [...] CVswitch allows you to take snapshots of OpenCV installations and switch between them at light speed. It is open-source and I am releasing it under the GPL 3 license on GitHub [...] Some…

The relative pose problem: A chronology

I have been investing some time in reading about the relative pose problem during the last weeks. My aim is to develop a monocular SLAM system for mobile devices, as part of my Perceptive [...] We have two images of the same 3D scene from two different viewpoints. There is a set of scene points that appears in both images and we know which point in image 1 corresponds to which point in image [...]…

Boosting color-based tracking

Tracking an object over a video sequence is a classic problem in Computer Vision. A tracking algorithm looks for the object at every new frame, given a model of the object. This model holds information [...] There are tons of tutorials on color-based tracking that use the histogram back-projection to find those pixels in the image that are most likely to be object pixels. Then, they use MeanShift…