Liceo Classico (a sort of Italian grammar school), Bachelor of Engineering Degree at University of Calabria, Master of Engineering Degree at La Sapienza University of Rome, PhD in Robotics at King's College London
PhD, Master's course final mark: 108/110, Bachelor's course final mark: 103/110
Mostly academic researcher in universities: University of Calabria (Italy), University of Rome La Sapienza, Humboldt University (Berlin), Technical University Berlin, King's College London. I was performing research jobs trying to marry pure science with engineering in the context of robotics. More recently: Software Engineer at Buhler UK in London working with both software and firmware (which is that part of software that makes the electronics work as you wish to)
Research Engineer in Robotics
I am an Italian research engineer with a PhD in robotics. I am a father and I in my free time I enjoy play video games or board games or build naval models, I was used to be a fencer
I was born in Cosenza, the second largest city of the poorest region of Italy, Calabria (see picture below). I was lucky enough to receive a computer for Christmas when I was a child in the early 90s. Playing old video games (such as Prince of Persia, Wolfenistein or Red Baron), and tinkering with the computer itself, significantly shaped my professional decisions at university. It was a different time, my computer was as big as half a desk and was about 600 times less powerful than a Google Pixel 1 phone. Probably this approach wouldn’t work today.
My high school studies focused on humanistic subjects, such as literature, philosophy, history, Latin and ancient Greek and also sciences like chemistry, earth sciences, biology, physics and math. In Italy the school’s curriculum is fixed and those were the subjects studied at the “Liceo Classico”, which is a sort of Grammar School but not (anymore) as exclusive as it is in the UK.
Following my passion for computers, I start my studies in Computer Engineering at University of Calabria (see picture below), the local university, where I learn the basements of engineering (digital systems, software engineering, advanced math etc.). Returning from my experience as Erasmus student in Brussels, I pursue my master in Computer Engineering in La Sapienza University of Rome, focusing more on Artificial Intelligence (machine learning, neural networks, robotics, etc.). Finally I start a PhD in Robotic Grasping at King’s College London, which I completed last year while working as a Software Engineer first, and a Research Engineer more recently.
Apart from that and I enjoy playing all sorts of video games,although, due to lack of time, it has been few years that I play only with old videogames, those of the 1990s or late 1980s. Those games are the one I was used to play when I was younger. I enjoy playing them because I like to see how different things were before, and how things changed when compared to present days. I also like playing also different sorts of unorthodox board games. Games where the purpose is to lie and to fool other players (Avalon or Mafia), to those where you need to elaborate a complex business or military strategy (Agricola or Game of Thrones). More recently, I started diving in building naval models which is something I thought to be very complicated, but, if you are careful and patient, it is not as challenging as it looks.
Despite being Italian, I am terrible at football and I don’t follow the Italian’s premier league (Serie A) that much, but I still have in my heart my local football team. I enjoyed playing different sports, like basketball or tennis, but the one I like to most is fencing and I was used to participate in UK epee competitions when I was less busy.
I like travelling a lot with my wife, especially out of Europe, as I already visited many EU countries. I often spend the evening watching movies and TV series, some my favorite ones were the Lobster (movie), Westworlds (TV Series), the Money Heist, The Handmaid and other more or less known ones. I am father of a little 4-years-old girl.
How I Use Maths In My Job:
As you can guess, mathematics is very important for a roboticists.Typically mathematics is used to build models of the reality. This means that we use mathematics to create a simulated or theoretical version of a real robotic problem (a model). This theoretical idea holds only if some real world conditions are true. If they are not either the model has to be thrown away and a different one have to be used or we make sure that the conditions are never false (e.g. we don’t let the robot move into certain areas for example).
I will give you a more concrete example. Let’s say you have the robot below:
You have the following problem: you want to know where the tip of the robot is so that you can move it somewhere else. How would you do that?
Academic researchers spent a lot of time thinking of a way of finding where the tip of the robot is for any robot of any possible shape, until at some point they found out a way to build a model of the robot. This model describes the structure of the robot and all the variables which we can play with to have the robot moving. So the robot above can be approximated to this:
The picture shows all the most important variables and help us to imagine the robot in terms of links (the arms) and joints (the cylinders which the robot uses to rotate and move around). Every joint will have a table where all its relevant variables are listed (e.g. long is the next link). If we use linear algebra and geometry we know that if we multiply all those table among each other in the right order we can find out where the tip of the robot is!
That said, the problem of finding how to move the robot to have its tips somewhere else is far more complex, because in the general the amount and complexity of the calculations can be so great that it might be impossible to find out quickly how to move all the joints. Hence we need to simplify the calculations and find a solution which is not the best.
Above is an example of how mathematics is used in robotics. Typically, robotics will require you to master trigonometry, linear algebra and geometry (the subject which studies tables of numbers). The general rule is that the closer you work with the hardware, the more advanced mathematics you need to know. Moving the robot is a control problem and requires the same amount of mathematics which is employed when you are controlling a dam to prevent it from overflowing the water or controlling a fridge to prevent it from freezing or warming the food.
Another important area for robotics is statistics and probability. You will find a lot of this if you are asking the robot to select among two different actions. For example, a robot can be in a corridor and have the task to go to the main door of the house to say hello to a guest. The robot might be thinking about what to do for some time until it decides that is best to go to the entrance first because it is more likely that the guest is still there.
In general, the more sophisticated is the behavior of the robot, the less formal the mathematics because the mathematical methods start to rely more on statistics and probability rather than differential equations.
In short, mathematics for a robotics engineer is like language for a writer. It is a tool to talk to a computer and makes sure that things are done precisely, exactly as a writer is using educated language to convey a message to a person. Finally, since lots of robotics is about engineering I use math as a tool, exactly as a writer uses language to speak his mind. I am not interested in inventing new mathematical derivations, I leave this job to a mathematician. Equally a writer is not interested in understanding why a word has exactly that sound uses those letters, this is the job of the linguist.
I transform and approximate theoretical mathematical and statistical models into software which would help a robot move, feel the world or cooperate with a human
My Typical Day
My days are very variable, but I tend to split them in days when I am an engineer adn I build things, and days where I am a researcher and I try out new things
My typical day is very variable, which is something very common if you work in research whether is academic research or research for a company.
Roughly, my day is made of different activities, sometimes I do them all other times I do only some of them. Some activities are very similar to an academic researcher but performed with a different pitch.
The main responsibility of a research engineer is to explore different research (i.e. reading scientific papers) and propose and try out different algorithms (ways of doing something) found on papers and the web. The driving force here is solving a problem in a new way rather than finding new ways of doing something never attempted before. This is the main difference with an academic researcher.
Once some new technique has been identified, it is tried out on a prototype to see the result. Afterwards, we observe how good that solution was, which are the limitation and how can be improved further if needed. Since we are trying to solve a problem, we are not obliged to find a new way of doing things (which is something academics have to do). Even a old approach (maybe implemented differently e.g. using an integrated circuit – electronics – instead of a software) is acceptable as long as it does the job.
Another part of the same job is to build up all the “plumbing”, which is all the software which allows the new stuff to work. This part of the job is closer to a traditional software engineer job, as we have to develop things like reading information from files, connect two software parts together via web etc. The difference with a software engineer is that we don’t need to be as formal as them (although it is beneficial) because we develop a prototype which will need some improvement anyway. For example, we are not interested in developing a user interface (a window with buttons and graphics) easy to use for a technician because our software will not be used immediately to technicians to operate the robot, because it will have to be made better (e.g. more fast, less likely to break etc., it’s a prototype after all).
Probably the bread and butter of my work is a crossover between and academic researcher which is not obliged to find novel problems or approaches and a (software) engineer which doesn’t have to develop software in such a formal way as they normally do (software engineers have a strict procedure which they must always follow).
In my day there are also other things: attending research meetings (where we discuss our results), discuss with managers the results, writing reports and writing scientific publications, but most of my day is split between being an engineer and being a researcher.
The CHRISTMAS LECTURE related to my work:
How would you describe yourself in 3 words?
Sociable, messy, creative
What or who inspired you to follow your career?
My Erasmus experience in Belgium (and the robotics lab) when I was at University gave me the intuition that robotics would be a good career path
What's your favourite use for maths in everyday life?
On of the best use I had of maths was when I was calculating how much money I would have to save in order to get a mortgage for my future home. I basically eneded up creating a mini-system (a set of equations) which helped me understanding how to get better mortgage conditions and how much I shall save per year to repay and to keep in account of fluctuating house prices (which influence how soon I can repay it). Sadly I concluded that I can't afford to get a house as yet, but it clarified my mind on what to do next.
What did you think about Maths when you were in school?
As I did humanistic studies, I could never work out what the math books were trying to tell me!
What did you want to be after you left school?
Were you ever in trouble at school?
Not as much as other people did, but I found a way to contribute in keeping my teachers busy
If you weren't doing this job, what would you choose instead?
I would probably liked to be a medical scientist, researching how the brain does all the clever things we can see and feel every day
Who is your favourite singer or band?
System of a Down
What's your favourite food?
Pizza! When not available, a good chicken pie
What is the most fun thing you've done?
I think one of the most fun things I had recently, was to visit with my family the riuns of the Greek/Roman town of Paestum, near Salerno (Italy). It was quite fun to roam around all the ruins of the city trying to figure out all toghether what every building was meant to be. The town used to have everything, from a forum, to baths and even a theatre and an arena
Tell us a joke.
What's the name of a fish without an eye? A fsh