As part of our 10-year anniversary, we've selected a few key early contributors and asked them about their experiences with ROS.
Name: Gijs van der Hoorn
Company: Cognitive Robotics lab, Delft University of Technology
Favorite Fictional Robot: Johnny 5 from Short Circuit. "Unfortunately, working with robots all the time has made me somewhat dislike robots as they are portrayed in popular films and shows these days. Suspense-of-disbelief is completely impossible when you notice tenths of things that are completely unrealistic or not even remotely possible. However, I didn't have that problem when I was younger."
What is your current area of ROS development? On which robot? The Delft University of Technology is a large contributor to ROS-Industrial, and we also host the scientific advisor to the European ROS-Industrial Consortium. Since January 2017, my colleagues and I are leading the "ROS-Industrial Quality-Assured Robot Software Components" or ROSIN project, part of the EU's H2020 research program. In that project we have about 3.5 million EUR available for grants with which we can financially support a wide variety of tasks that aim to improve the current state of the art in ROS-Industrial and ROS (think development of components, standardisation work, security and licensing audits, writing documentation, etc). Personally I (try to) take care of the day-to-day maintenance of the public ROS-Industrial packages as much as they fall under my responsibility. As such I'm not really working on a single robot, but try to make sure other people can work with the robots we support through our drivers and other packages. And as a ROS-Industrial tech co-lead (together with Levi Armstrong from SwRI) I try to make sure ROS-Industrial stays useful in industrial contexts by helping out with new integration efforts with factory automation technology, designing and realising new functionality and supporting the project managers of all three ROS-I consortia with advice. I am also a ROS Answers moderator where I keep an eye on day-to-day 'operations': make sure newcomers follow 'the rules', avoid duplicate questions as much as possible (our collective memory as ROS users is rather fragmentary it seems) and answering questions if I know the answer.
ROSCon 2017 Vancouver Day 1: How ROS cares for Quality from OSRF.
How did you get into robotics?
I was interested in technology from a young age. At first it was all Legos, but I also started playing with computers. Bringing those together was not easy in those days (not like today, with products like NXT and EV3), but I'd quickly realised that combining them would be when the really interesting things could be done. While studying for my CS degree I got invited by an engineering professor to participate in their RoboCup Humanoid League team. With other team members taking care of the hardware, I could focus on the software and it was a very rewarding experience. To realise that you could use software-- a very intangible and, sadly, mostly invisible thing-- to directly control such a complex but very tangible machine and get some meaningful behaviour out of it was (and still is) fantastic.
How did you first hear about ROS?
While researching frameworks that supported component based software engineering in the context of experimental robotics, I read a large number of papers describing just about all of them at the time. Some papers kept mentioning something called 'ROS'. As it was relatively new, clearly well maintained, and still actively developed, I added it to my list of candidates to take a better look at.
What are your favorite and least favorite things about ROS?
My favorite thing is how ROS made widespread reuse of functional software components for experimental robotics feasible in such a relatively short amount of time. ROS was definitely not the only framework that set out to do this, but it caught on and has really changed the way software engineering for robotics is done in academia. And we're starting to see it in industry now, too. Although there are a great number of things that ROS could've done better, I believe it (or the people behind it) chose to be pragmatic. They designed something that works and can be improved upon, rather than trying to design the ultimate robot software framework that no one ever gets to see or use.
My least favorite thing is a perceived gradual decline of sense of community. Even though software is still shared, it's rare to find a common sense of purpose, or the willingness to invest in something that doesn't directly benefit the person who needs it right then. Questions on ROS Answers are left in limbo, discussions in issues go silent and PRs become stale as those who opened them have since moved on or have decided to keep patching their local fork instead of contributing upstream and improve the situation for the entire community.
How would you have do things differently if you didn't have ROS?
Buying hardware and designing software. Re-use of standardised components really does make it possible to almost instantly start working on your own research or application, provided you use hardware and electronics that are already compatible with ROS. The separation of concerns allowed for (and high locality of changes supported by) the component based approach of ROS really allows us to design and implement components in isolation, reducing the mental workload for researchers significantly: instead of having to consider the entirety of a robotic application, they can focus on the specifics of the component they are working on. It has also made testing and simulation easier, and not having to share your hardware platform with your colleagues (because you can simulate it) is a huge advantage as well.
This is part of an ongoing series: ROS Contributor Spotlight
Have your own ROS story to tell? Let us know at comm@openrobotics.org. And be sure to check back when we celebrate the 25th, 50th, and 100-year anniversaries of ROS.