However, almost immediately I ended up writing about weirdly unrelated stuff: micro-services, distributed apps and DevOps. It had some crossovers with what I do for a living, and sometimes blog topics did became related to my work. But most of the time I simply stumbled upon an interesting name or a concept in a realm of distributed applications, learned about it and came up with a blog post afterwards. DevOps and distributed apps became a hobby, and therefore it was relatively easy to sacrifice a noticeable amount of sleep hours to it.
So here’s a problem. It’s not a hobby anymore. I made a shift into cloud consulting area, so current blog theme has 100% overlapping with my job. It looks like I need to find a new hobby, right?
And oh boy how many interesting things are happening in the industry. I’m actually thinking about picking up on something from machine learning area. I was avoiding the subject at first, as even though it is the real thing for years to come, there were too much hype around it and under such circumstances it’s very easy to start doing what everyone else does, not what’s interesting or makes sense to do. Plus, ML is huge.
However, there’s a small part of it which fascinates me: visual navigation for flying robots. Quadcopters, mainly. The first time I saw those flying beasts I thought “Man, I wonder if we could put two cameras on them and let them get around not by GPS, but rather using visual clues. You know, like humans do”. It should be fun. After all, it has all the right ingredients: robots, flying, ML and rather challenging task.
Even though only a subset of the task is ML, the subject is still huge. Where would I even start? But apparently there’s already much work going on in that area. I found the whole course at edX about autonomous navigation for flying robots. The course is almost 5 years old, but it still should provide a nice foundation for the subject. What’s cool, the same lecturer who taught that course, also published a set of lectures about visual navigation for drones specifically – a very good place to start.
Another huge thing is quadcopter itself. If I ever going to play with it, it shouldn’t be just a consumer model, which flies, follows a pilot and does a stun or two. As bare minimum it should come with some sort of API client or whatever, which will give the way to programmatically lift, rotate and navigate the drone. Ideally it should also have a way to attach more sensors to it and still be able to read their data through the same API.
That edX course I mentioned referred to at least two models that seem to be compatible with what I described: Parrot AR.Drone 2.0 and Bitcraze Crazyflie 2.0.
Both models are slightly old, but the Parrot still seems to be the standard model for autonomous flying research, and Crazyflie simply provides lots of fun to play with. It’s a palm size and therefore very safe drone, which can be accompanied with USB-pluggable radio, that turns your your laptop into programmable flight control centre. In the same time drone size is also a downside. With such dimensions the little guy can lift somewhat like 20 grams, which i believe is less than a pair of video cameras for stereo optical navigation would weight. Not to mention additional computing power and a battery for that.
Theoretically, if I got deeper into flight controller firmware, I probably could build up my own drone, add a radio to it and control it via whatever-to-usb adapter that may come. I was checking online documentation and it seems like it’s very doable. However, it’s such a long shot, that my enthusiasm might actually expire just after soldering. Way before the actual machine learning starts.
So that’s what’s going on. I’m fully in a cloud now, I can’t keep the hobby-topic and a full-time job topic the same, so the blog theme might change soon. Possibly to ML.
Yup, exactly what I meant to say.