So I was hoping my students were going to answer this but since they haven’t (they’re afraid I’m going to say something controversial and bring shame upon my dojo).
So right now, I don’t think ROS is a good fit for most teams who can’t put in the kind of crazy effort we did to make it all work. We’ve done our best to publish resources for how we did it but it’s still early with a lot of this. In fact, Anja answered a similar question at the end of the talk and said something similar.
That being said, FRC teams re-invent the wheel on programming year after year after year after year. It’s sad and frustrating. Wouldn’t it be great if we could define the characteristics of our robot and then just tell it “drive here” or “drive over there” or “pick this thing up”? That’s what ROS can help provide.
The same ROS package that can control an industrial arm from KUKA can also control an industrial arm from Mitsubishi with wildly different characteristics and that same package can control more accessible educational arms from the likes of Robotis or even DIY robotic arms. That’s massively powerful and it’s all just editing a few config files to make it work.
We’re a ways off from having that from FRC but it’s coming and more rapidly than people think. The days of hundred’s of team-created programming frameworks with disparate methodologies are going to be behind us before too long. FRC has largely been a hardware driven sport and I think it will continue to be for some time to come but we’re quickly getting into where it is going to be software driven as the COTS market gets more and more saturated and manufacturing gets easier, faster, and more accessible and the number of solutions to common FRC problems and documentation for those solutions continues to explode. It’s not a coincidence that the CD community complains about the number of pre-season code/CAD releases at the same time that we’re seeing teams adopt GrabCAD, OnShape, GitHub, GitLab, etc at a record pace.
If you think I sound crazy… it’s because I watched 2 high schoolers and 2 college freshman impress the crap out of a room of 400+ roboticists from around the globe after having flown 4000 miles to do it. You know the hallmark of a good technical talk? When people start pulling out phones to take pictures of the slides. That happened. I was on stage for it. I suspect CTRE is about to get some more business.
So what can you do now? Go learn about ROS. The tutorials on the ROS wiki are an awesome place to start and can at least get you going with driving a turtle around your screen. We don’t expect anyone to turn around and use it on their robot this coming season or even the next probably (though who knows, someone might try)… but we do expect to keep pushing for this as we think it is a massive improvement over what we all have now and will enable more sharing and less reinventing of the wheel year after year.
ROS also provides a growth area for students and it makes them instantly employable at the moment. The meme of the conference in just about every presentation except ours was “Yes, we’re hiring”… ROS is being adopted by industry at a crazy fast pace and the next mentor that asks me why we “wasted our time on it and that it is just for academics” is going to get an ear full. This is seriously powerful software and it’s adoption keeps spreading and growing… Microsoft, Toshiba, Apple, Google, and Amazon were all present and talked to our students about internships, jobs, scholarships, and more… and that’s just naming the big ones you’ve probably heard of.
Not to mention, as FRC moves into the software space, we are going to see a bigger push from vendors into that same space and they aren’t all going to be able to work together without an agreed upon format for passing messages between one another. ROS provides a set of standards to do just that and without all the headache that comes from trying to open source all of your code (which, given Digilent’s entrance into the FRC motor controller market, we’re likely to see a bigger push by vendors to close their source even tighter).
I didn’t even get into simulation… NASA is using Gazebo extensively to test out robots in micro-gravity environments… I’m pretty sure it can handle an FRC field.
So yeah, there are a lot of potential benefits to teams who don’t have programming mentor resources… I know it’s hard to believe right now because it seems inaccessible but our aim is to change that over time. We’ll see if we’re eventually successful.