What Changed, what didn't,
what the future holds
How robotic changed in the recent years.
Why robotic software is written the way it is.
Effective Design Patterns in robotics.
A passionate roboticist.
A senior software developer.
Project Manager, Business Developer, Mechanical Engineer, Startup Founder, Geek, etc...
A younger and thinner version of me (on the right side)
Software wise...
Why?
Consequence?
Orocos
Marie
Miro
Opros
Aseba
Very ambitious but...
In other words:
no critical mass
Component Based Design...
... but not well formalized.
Inter process communication...
... a SEGFAULTs workaround?
Publish-Subscribe...
Concurrency / Parallelism...
... because time constraints suck.
... just spawn more processes.
Algorithms / Drivers separation...
... with my ad-hoc interface.
Component Based Software Engineering
Component-based software engineering (CBSE) is a branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a given software system.
It is a reuse-based approach to defining, implementing and composing loosely coupled independent components into systems.
Publish-Subscribe
In robotics we want:
Technically speaking:
They had:
I am not being cynic.
World domination requires money
The good:
The bad:
The most important bottleneck:
Computer Vision and Perception
Robotic Perception. How hard could it be?
Computer Vision... is hard!
Me 2001
ImageNET 2012: everything changes...
We had intuition, but not the mathematical foundation...
...We didn't know that we "just" needed:
Since 2012, the amount of compute used in the largest AI training runs has been increasing exponentially with a 3.5 month-doubling time.
By comparison, Moore’s Law had an 18-month doubling period.
Since 2012, this metric has grown by more than 300,000x
This is just just the beginning:
Thank you for
your attentionn