In this episode of Robots in Depth Per Sjöborg interviews Tully Foote from the Open Source Robotics Foundation. Tully explains the benefits of open source and how it helps make research and development more efficient.
Both researchers and start-ups can focus on their added part, rather than starting from scratch. This is an advantage for the whole robotics community, enabling it to move forward much faster.
Tully also describes how developers can contribute directly to further developing the ROS standard, for the benefit of the robotics community.
Tully Foote is ROS Platform Manager at the Open Source Robotics Foundation. Tully Foote is a computer programmer and ROS Platform Manager at the Open Source Robotics Foundation (ROS) which is widely used in the development of robots. A mechanical engineer by training, Foote is also the co-creator of the TurtleBot — an open source personal robot kit.
Per Sjöborg, host of the Robots In Depth podcast, interviews Tully Foote to learn more on his view on the developments in the field of open source robotic software. Below is a transcript of the interview.
Per Sjöborg: Welcome to robots in depth today Episode 3 with Tully Foote in cooperation with Wevolver. Today I’m honored to have a Tully Foote from OSRF Open Source Robotics Foundation here. We’re going to talk about making robotic software and hardware available for everyone and I think your work is just great because I think having an open source available for everyone platform that we can stand on is essential. Could you tell me how the story got started?
Tully: The story of ROS got started at Willow Garage. We wanted to come in and provide for robotics what we saw happen for the web industry. We saw that the there was an open-source core that a lot of different communities built on top of and can come in and build and put together their application because all these core components over there are unavailable. Where a lot of this came out of Eric and Keenan were grad students at Stanford and they were trying to build a robot. What they encountered was that they want to do some research of a robot and the first thing they had to do was design a robot that would be able to do their research. The next step is they had to build said robot after having designed it and then by the time they designed it they've got a fully functioning robot. They could remotely operate it to do things like they have some often demo videos of cleaning up a living room, putting cushions back on the sofa, picking toys off the floor and now they wanted to add software to this to do this autonomously. They looked around and there was no framework to do this. There was nothing generally available that they could start as a base and then do their specific application for their robot.
Per: Again they had to start all over again doing it from scratch rather than they already done that with designing it than doing the hardware. I'm thinking the third time they had to start from scratch they thought there had to be a better idea.
Tully: Eric and Keenan brought this to Scott Hassan at Willow Garage and Steve as well. Basically the goal was that we would be able to build up a community and the entire ecosystem and get everybody working on the same page because one of the great things about open source is you can put together all this collaboration and when two people are working in parallel they don't duplicate each other's work. One person can do Part A, one person can do Part B and they can build on top of Part A and you get twice as far with two people.
Per: I mean we all have our strengths and weaknesses and if you do what is hard for everyone but easiest the possibility for you we all do what we are best at. That just makes it grow that much faster rather than you having to do things that you're not really suitable for.
Tully: Especially yes, I mean the robotics is an industry that brings in expertise from electronics, computer, mechanical and if you're doing things well you start bringing psychology for HIR I and all these other things. You need to bring everything together and so having this open source platform is great because you can start with a platform and each person who in their specialty can improve the state of the art for their specialty and not have to re-implement everything that is not their specialty. One of the challenges like as Eric and Keenan were at Stanford your typical grad student when they want to do a project, they start off, they read the state of the literature on all topics even though they want to do research in one particular area. Then they have to go and implement all those topics to a level that's functional enough that they can do the state of the art research in their topic.
Per: Which is just a huge waste of time and very inefficient and I would also presume that a lot of people and a lot of project fall by the wayside in this process because they simply think that what I have to do to even start doing what I want is simply too much. I'm not going to go there but with a solid foundation we could really accelerate things and this is what we've been seen coming out of Willow Garage and the Open Source Robotics Foundation that it really does this.
Tully: In addition to putting the other ROS in this core platform we also we needed to be able to show that you can do collaboration on hardware. The PR2 was designed to be this demonstration platform that you can do collaborative robotics on similar platforms in different locations using open-source software. The great thing was I know that there were people that had publishable research approximately one week after receiving their PR2 because they could leverage the tools in the ecosystem I was already there. The robot came. It worked out of the box. All the core functionality was there and they could just add there a little bit of research. In addition they had all the tools such as a simulation so before they actually had the robot they could practice using the robot in simulation.
Per: Your first platform for hardware was then of course the PR2. Are you also available in other platforms right now? Yes the ROS is available on almost every robot that I know of. Basically, if you're out there and you want to leverage the ROS ecosystem the first thing you do is you make a robot be able to communicate with ROS because once you have the core communications things like drive forward, turn left, turn right, tilt the head or move the arm. Once you get that very basic ROS interface also the entire ROS ecosystem becomes available to you. You can use the motion piling libraries that are integrated. You can use the vision and perception libraries. You can use the higher level logic which allows you to give a robot the like this is my tasks, this is what I want you to do and these are the subtasks that I want you to do at the same time. All that's available and all you have to do is make the lower level communications available to your robot.
Per: That's when somebody has hardware that and then of course adding if you produce sensors or components in robots you could also do the same thing they're adapting it to ROS.
Tully: Exactly and we have in ROS we've developed standard interfaces so if you have a laser scanner and you want to there's a lot of algorithms out there for processing laser scanners but then if they all have the same input as we've designed into ROS then and you can plug in any laser scanner and if a new laser scanner comes along that just got invented this year. It’s better. It’s longer range. It has new features, cheaper, any of those things. You can now simply use that same algorithm and plug in the new laser scanner. All you have to do is have a ROS driver that says here's the data from the laser, send it out as a ROS message.
Per: Who contributes a lot of work to the project right now?
Tully: We have 200 people contributing release software to the ecosystem. There are many more people not releasing things, collaborating in private repositories. One of the great things about ROS is it's completely open.
Per: We can talk a bit about the licensee here. Completely open, free as in beer and free as in speech I guess.
Tully: We have we use the BSD license our default recommended license and with that license it means that it has three clauses but in general you can take that software, build it into your product and there's no requirements except that you keep the license at the top of the header. There are a couple other like warranty type things delivered as is. The great thing about the BSD license is that it is something like 20 lines long. You can read it. It’s very permissive. In general companies they come and look at it like BSD license is something that they're like great, we can use that. No problem.
Per: Because it's easy to understand and it’s also not changed. I mean if it is a BSD license it's just that. It’s been that way for a very long time. It’s something everyone knows. This is very accessible.You’re on many different robots. Could you mention a few of the robots except the PR2 that runs ROS now?
Tully: There's the whole line of clear path robots that's running ROS. If you look around in the expo hall here at Robo Business the new go kart announced by Eugene Robot is running ROS. I've also heard that the Vecna robots are leveraging ROS. The other thing that's really valuable in ROS is not just what robots are there but what tools are available. We have developer tools, debugging tools, visualization tools so that when you put ROS onto a system you don't just get the communication but you get tools that build on top and make you more efficient as a developer because we've designed a lot of our tools to be able to enable plugins so that if you want to visualize something in a particular way you can just add a plug-in to visualize that exactly what you want to see in the way you want to see it and add that to the system and extend it yourself. We also encourage if you do that for people to release it back but that's again not required.
Per: What are you working on the hardest not? What was your current challenge that you release?
Tully: The big thing that we're working on at OSRF right now is ROS 2.0. We’re coming back to the ROS ecosystem with, ROS is now coming up on seven years of operation and we've learned a lot about it. What we really want to do is we want to come back and there are things that we've identified that we would like to do differently but because there's a ton of ROS users around the world we don't want to change their API under them and we want to keep stability so they can keep doing great research, building great products and we're working on the next generation of ROS. For that purpose is we want to make it so it's even more friendly for people to build products on top of. There are a lot of things when we have commercial users to come in and say we want this feature, we want this feature, we want this feature that we are, it's functional but it's not at the level that the commercial users would like.
Per: Kind of taking the seven year experience you now have and boiling it down to a new improved version so to speak but at the same time keeping the old stuff working.
Tully: There will be a transition path and the old, the ROS1 and the ROS2 will be interoperable and so you can run a system that's running both parts in each.
Per: Your old stuff could just continue to do whatever it does and when you need the new feature over ROS 2.0 you could do that in the new system.
Tully: The improvements we're making to the system in terms of reliability, repeatability, we want those to be the selling points so that when you come along and you say I want those features it's worth it for you to rework into the new system. The old system will keep working for a long time. We're going to make sure to keep supporting that but as we look forward we want to make there will be improvements to the core infrastructure that will make it more valuable to you as a robot integrator, robot developer that will sell you on converting.
Per: Can you talk a bit about the ROS Industrial is that part of what you do?
Tully: ROS Industrial is a separate consortium set up. It’s being spearheaded by a South West Research Institute in San Antonio, Texas. They’re bringing together a group of people that are a group of companies that want to use ROS in industrial context. It’s a way that they can aggregate developer time and resources and figure out these are things that are common interests for our consortium members. Let's put some effort in, a centralized effort among the consortium members each one will contribute a little bit and then we can go much farther so that this core fundamental piece which is too big for any individual to sit down and sponsor themselves but they really do want it. With a consortium it comprises mechanism that we can push the core capabilities farther which is in the interest of all the consortium members but then also they're releasing most of their work open source for the entire ROS community as well.
Per: How is the relationship between these two entities?
Tully: We're also a member of the consortium so we provide input and feedback on their decision making process as the consortium.
Per: You moved this out of Willow Garage because being an open source non-profit foundation made it easier for everyone to come around, sit around the same table. Could you tell me a little bit about the challenge of being a non-profit open source?
Tully: The main difference between being a for-profit company and non-profit is that we do not have shares and we have a mission statement to promote open source robotics. We are scoped by that mission statement and that is basically the difference between us and a for-profit company.
Per: What would be the major challenge you think running this as a non-profit company? Is it finding funding? Is it operating with other for-profit ventures?
Tully: We need to be able to find ways that we can interact with the community while maintaining within our mission. We can do almost all the main functionality. We can we look for grants. We can take contracts and we can take donations as well. We’re always appreciative of donations.
Per: Course I mean we could just encourage donating of both financial means and of course time in improving what is publicly available for everyone. I mean is it money or developer time if you could wish for something, one of those two what would be the most significant now you think?
Tully: The most significant we'd like is we'd like developer time, people to volunteer or join the community. It’s much more powerful if we just have a large body of individuals contributing at the core. We obviously need money to be able to maintain the core of the system and keep things running but it's much more valuable for you as an individual to come and just contribute, release software, make patches, update documentation. Any of those things can be super valuable to the larger community and they don't require going through the jump hurdles of making monetary contributions etc.
Per: We've seen open source software be very successful in the internet domain with WordPress or game or many ,I mean a patch servers and all that stuff but robotics and hardware have a unique challenge in the safety aspect because we're out there. We are running around. Some of our robots are very strong and powerful or heavy. You being open source do you see that as a challenge or a good or bad thing when it comes to the safety and security of our robotic systems?
Tully: I think that open source is super valuable to verifying systems. You have a full audit trail of everything that goes in there. You can go through and validate and verify anything. If you're going to pull something in and you want to know that it's going to work. You want to be able to dig in and go down and look at the source and say yes, I see what Tully, the developer did at this point and I believe that what he's doing is correct. If you find something you think, you can raise a flag. You can point it out and then it can be discussed in the community.
Per: I am a strong believer in open source software in the fact that in critical often low level components where safety and security is of the utmost essence because we don't want to hurt people with our robots open source, being able to verify everything that goes in is just essential. I also think that the long term aspect of this is going to be available in this shape. I mean if you stop developing tomorrow it's still going to be available in this shape or form and that gives you an, if you build your company on this you know that no dramatic change is just going to occur without you knowing them. It’s always going to be available and you can have a graceful exit than if needed be.
Tully: Avoiding vendor lock-in is really valuable to commercial entities that are considering assuming and adopting it. I know the for example the Robonaut on the International Space Station. They went up there and they develop, they’re using proprietary software to run the Robonaut but that company decided to stop supporting that product.
Per: As companies sometimes do.
Tully: It’s in their interest. They can't afford to do it if it's not making money they have to stop. There was not enough big customer base. They decided not to support this and so now on the International Space Station the new version of Robonaut when the legs went up they got a software upgrade. They’re now using ROS and (0:16:59.9) to control the Robonaut on the space station.
Per: You can inspect the source code, you have access to the source code and you know that should ROS for some reason stop supporting it or not add a feature that you're desperate to have in your product you could maintain it and add that feature yourself if need be.
Tully: I know they're using an older release of ROS because they NASA is very good at doing verification. They run it through a lot of verification and I know that it's going to be safe for their purposes.
Per: Technology readiness levels you needed to do go into space is just crazy.
Tully: I believe they have triple redundant safety systems on Robonaut.
Per: You really need that because an accident here on earth is a big problem but an accident in space is just hugely expensive and risky for the people up there. How do you see the future of ROS? I mean ROS is unique in the fact that when operating systems for computer became available they were started out as proprietary, closed systems.
Tully: There have been also proprietary systems. There is Microsoft Robotics Studio. We really think that being open and have it building the large community has enabled ROS to grow much beyond what any of these other competitors were doing. We’d like to have sort of the continuing ecosystem that Linux does for computer OS.
Per: The difference between Linux and an ROS is of course that ROS is still early in the history of robotics. I mean you're already seven years old and that's basically the age of this latest boom we've had in robotics. The event we're out here today is Robo Business and they're ten years old and you're seven years old. I think that that's going to set the robot industry and business up and community up in a totally different way as opposed to the laptop and smartphone and tablet operating systems that are usually closed. It’s just going to be that much more open to start-ups.
Tully: ROS is great at enabling start-ups. I went to an event in Silicon Valley. There was Pitch Fire and eight different companies who were presenting their stuff to VCs. Of the eight companies, five are actually using ROS and of those five I watched the presentations none of them actually said they were using ROS in their presentation. They’re selling their company presenting to VCS and they don't actually want, ROS is now just a building block that they're building on top of.
Per: Which is what your original goal I would think.
Tully: You're right. It’s great. ROS is enabling to go farther and I knew three of those companies prior to. They are actively in the ROS community but two more of them, I went up and say hey, how are you doing this? Have you heard of ROS? Oh yes, we're using that on the hood. It’s great. We love it. That’s the great thing about the ROS community is there's a lot of very public activity on the ROS community but there's also this hidden activity. There still start-ups using ROS. We have absolutely no knowledge that they're using it but they're using it effectively. They’re building companies. They’re pitching to VCs.
Per: It's easy to underestimate what it means to have, if I may say so the operating systems for robotics as an open source project rather than Linux coming in decades after the fact and trying to provide this freedom and openness that it's doing. This is going to be an enormous long-term impact on positive impact on the robotics field. I think it's great work that you're doing. Do you see ROS being end-user exposed?
Tully: For end-users we're actually looking at putting together the app type ecosystem where if you have a robot there will be an app ecosystem that you can then pull in and say I want to run this capability, you search online, you do something. If you say I want to run this app it will actually install everything you need on the robot, configure the robot as you need to use it for that app and then deploy it.
Per: This usually turns into then a market where you want to sell your app. If you compare the closed app stores and you compare it with the open web where you can just download any software to your computer. This would be an open thing to I would presume.
Tully: We're definitely pushing the open end. We’re very much open source advocates. Most of us are coming in from the open source computer systems. We know about open and we really don't want to lock it down. As a non-profit our goal is not to monetize. Our goal is to facilitate.
Per: As an outsider to the computer industry or onto the robotics industry it's hard to realize how bad a closed system really is in the long term and the longer exposure everyone has to proprietary system the more positive they get to open systems. It’s very interesting to hear what you're doing at the foundation and thank you very much for taking the time to do an interview.
Tully: Thanks for asking me.
Per: I hope you liked this episode of the podcast version of Robots in Depth. This episode is produced together with Wevolver. Wevolver is a platform and community providing engineers informative content to help them innovate. It helps engineers stay cutting edge. Aptomica is the founding sponsor for Robots in Depth. Aptomica runs anything in modular robots. Dream, rent, build. Visit Aptomica.com to connect. I am your host Per Sjöbor.
END OF TRANSCRIPT
The Wevolver Robots in Depth podcast is published multiple times per week. If you, or your company is interested in supporting this podcast and reach an audience of professional engineers and engineering students, please contact us at richard [at] wevolver.com