ROS 2 Customer Stories Report

Hi ROS2 Community,

I’d like to share a ROS 2 community report that, through various user interviews, discusses the current needs of ROS 2 for mass adoption by the community:

Executive Summary

This report summarizes 15 interviews with users, or potential users, of the Robotic Operating
System (ROS) conducted by PickNik Consulting for Amazon Web Services and the ROS 2
Technical Steering Committee (TSC). It is motivated by Amazon’s customer-focused approach
to developing their product specifications, and is intended to inform future ROS 2 resource
allocations after the December 2018 ROS Crystal, the third release of ROS 2.

The feedback collected and types of feature requests varied greatly. Even considering the
diverse applications of ROS, it is remarkable how many use cases and needs exist in the
robotics community. This plethora of sometimes conflicting requests inspires great respect for
the challenges faced by Open Robotics and the ROS 2 development team in making design
decisions and choosing the current feature set. While reviewing this report we ask the reader
keep in mind that criticizing ROS is much easier than actually creating an open source,
robot-agnostic, multi-purpose robotics middleware.

The primary takeaway from this report is that most of the key features needed by potential ROS
2 users have been addressed, but robustness and reliability through hardware testing is a huge
unaddressed concern of users. Similarly, a branding and marketing problem remains due to
overdue promises and scattered online assets. The strategy we believe would best address
both of these concerns would be to choose a flagship hardware platform and set inspiring
milestones (stretch goals) that would demonstrate ROS 2’s applied capabilities (such as
navigation and manipulation) while generating impressive demo videos. This effort would also
spotlight missing feature areas still required for using ROS 2 on actual hardware.

10 Likes

For a flagship manipulation platform, I think Acutronics’ Mara robot is a good choice. The company is investing a lot in ROS 2, the robot already runs it, they are contributing to the MoveIt port, and the hardware is in general very nice. Having a good second manipulation platform that is more like a traditional industrial manipulator also seems like a smart idea, but I don’t know of any good candidates.

For a flagship navigation platform, I don’t have any ideas. @mkhansen Is probably a good person to ask. I think it should probably be a platform that covers a range of sensors and has at least some capacity to carry a load or add a small manipulator.

5 Likes

I just finished watching Aaron Turon talk at RustFest 2018, “Grappling with growth, and other good problems to have”, and it seems to parallel well with some of the open source development and adoptions challenges ROS2 has/is facing, perhaps shy of our migration changes, but certainly production pressure, leadership bandwidth, coordination, scaling without alienation and understand vs. growth.

W.r.t. this report, the Distributed/Multi-Robot Systems Support and Documentation sections strongly resonated with me. I feel ROS2 is still missing a kind of conceptual distinction of data between robots; current workarounds like pushing an entire robot into a sub-namespace seems fragile and non-scalable. I wrote on my own uncertainty over documentation previously.

However, like the document mentions, it’s a lot easier to critique than actually create. Thanks for putting out this report, and for all the legwork behind it in conducting and curating the interviews!

1 Like

Nice to see PlotJuggler mentioned in the report… buuuut

The most popular feature was RQT’s plottingcapabilities (rqt_plot) with everyone essentially loving and hating it. While it’s a great tool forvisualizing live data streams from ROS topics, it is clunky and hard to use. Many had tried arecent rewrite/fork of the plugin, a stand-alone application called ​plotjuggler​. They cited it alsowas missing features and was problematic.

Please, please, please, if you think that PlotJuggler “misses features” or is “problematic”, let me know, and I will be happy to address the issues if I can.

Cheers

1 Like

That’s a pretty interesting report! Thanks for sharing @davetcoleman!

Out of curiosity, what’s the rationale you used to pick the user stories? Was there any particular geographical target or application use case that you prioritized to pick these companies? Is any of them involved to some extend in the development of ROS 2?

I’ve been rather surprised by some of the criticisms to ROS 2. I’d argue against those that claim that it’s been overpromising or that the core infrastructure is immature. In several aspects, as it’s been shown by several reports, it already overcomes the capabilities of ROS.

1 Like

It’s very easy to forget that when you have an inside perspective on ROS and the development of ROS 2 it’s “easy” to see that there is progress, that things have improved and that even for companies/devs that are deeply embedded in ROS 1 it will make sense to take a good look at ROS 2.

One of the questions/topics that always comes up when I talk to potential and actual users of ROS is “what is the status of X?” or “do you think I should be looking at Y?”

There’s just so much development going on and it’s all so scattered that for outsiders – or even for “casual users” (if those exist for something like ROS) – it’s very easy to lose track or not be up-to-date about it.

For that alone I believe the conclusion that @davetcoleman reaches in his summary above (and in the report) about putting more effort into dissemination might actually be a good one. But I must say that it’s very difficult to get anyone who has had a look “at ROS” in the past to re-evaluate their opinions: first impressions apparently count just as much in software engineering and robotics as in “real life”.


Edit:

It’s also very easy to forget that if you’re familiar with something (including the process followed to construct it and its remaining shortcomings) you’ll more easily take a tolerant view of missing functionality, incomplete features and unexpected behaviour.

As some of the interviewees make clear: words like “nightmare”, “unstable”, “high failure rate” and “hopelessly” were apparently used to describe ROS (1) components.

@davetcoleman - Great report, thanks so much for gathering and summarizing this data. I agree with it in general and the recommendations, and I see @gerkey has also read it and started a TSC discussion on it here on Discourse.

@gbiggs - We’re in some discussions with a few companies about doing more complete demos and even products using Navigation2, but nothing is concrete yet. Although Robotis has been very helpful and supportive of running Nav2, we’d love to have something in addition to the Turtlebot3 to demo on. If Acutronics, Toyota RI or anyone else wants to collaborate on that, please let me know.

BTW - I should mention that we do now have the Nav2 stack running on TB3 in a lab environment, not just in simulation. More work is needed however before a full demo is ready.

1 Like

@davetcoleman Thanks again for putting this together and sharing it with the community. PickNick has been a great partner of Amazon, you and your team do high quality work.

We have also been working with some customers and internal robotics teams to demonstrate ROS2 in a production environment. We plan to share any information we can with the community about the wins and/or misses as well as potential roadmap items to address them.

@mkhansen it would be great to sync up with you about who you are working with, we also have some groups experimenting with Nav2 and it would be fantastic to build a backlog of issues/feature requests specifically for that initiative if one doesn’t exist already. I’d actually like to see a roadmap for all the working groups, including the security one we are driving.

@tfoote is there a global list of working groups and owners or can we create one somewhere? If i wanted to start a new working group, where would I list my initiative and roadmap for others to discover?

2 Likes

@adamd I’m working on ROS2 since a few time and I’m going to test Nav2 in the next months. Feel free to contact me.

@adamd - I’d be happy to sync up and discuss your experiments and how we could help. Message me if you want to have a phone call, or we can spend some time in the Nav2 WG if you don’t mind sharing your plans. Our current roadmap is a WIP but you can see a meta-ticket on it here: Navigation 2 Roadmap

We picked our user stories based on my network of long-time veteran ROS users, recent ROS clients of PickNik’s, and a few robotics software companies that chose not to use ROS.

Some of the feedback we collected did appear to be due to misinformation of the current status of ROS 2. Some ROS users evaluated ROS 2 several years ago and maintain outdated views, but we the ROS 2 community still need to make effort to clear up these views. Several times I had to stop myself from interjecting during the interviews “not anymore since the Crystal release!”

Thanks everyone for the positive feedback! Glad to see some constructive discussions coming from this.

2 Likes

Thank you for conducting these interviews and writing the report, @davetcoleman. I agree with many of the issues outlined here, but I’m wondering if you’re able to expand on a few of these points. Of course I realize you can only work with the data you have, so if you don’t feel you can answer them feel free to say so.

In “Robustness and reliability”:

The more traditional integrators we talked to, who were non-ROS users, compared ROS users to"just kids playing" and observed that there has been a “high failure rate of companies that choose ROS”. They also cited that using ROS would require their clients to employ highly skilled and costly robotics software engineers to maintain their automation programs.

I, too, have heard the “just kids playing.” However, that last point is new to me. How does using ROS require their clients to employ more highly skilled and costly engineers than the ones they have? I always saw this as a benefit to ROS: it’s not difficult to learn, and once you know it, you can apply that knowledge to a wide variety of robotic software. Without ROS (or something like it) every robot ends up more or less a custom job that requires more specialized engineers. I’m curious to learn more about this if you have any more to share.

In “Leverage more best-practices”:

The biggest examples of existing standards that ROS is not leveraging are the very mature internet tech stacks and exploding IoT standards, which have solved many similar problems to robotics.

Do you have any specific examples of the IoT standards folks are wanting to see implemented in ROS?

In “Cloud-enabled capabilities”:

The ROS 1 approach using the ​ROS Bridge ​package is hopelessly out of date and the scorn of many companies we talked to.

I can appreciate not liking the approach we have for this, but it’s difficult to improve upon it without details of what exactly is disliked. Any chance you have more info?

In “Deployment to production”:

Arguably, this is the domain of commercial companies and not an open source project, but it seems there is room for creating best practices and tools for deployment.

There are open-source tools meant for this type of thing-- we’ve been working on snaps, in particular. Are there specific features missing there, or lack of awareness?

These integrators are used to teach pendants, touch screens, and maybe ladder logic in PLCs. So they’re referring to using software engineering in general. Maybe not the best data point for what ROS is trying to solve.

This is a bit out of my domain of expertise. Henrik Christensen gave a great talk at ROS-I Europe last December titled “Robotics and Automation in the Age of the API Economy” that strongly made this argument also (unfortunately the video was not posted online). He said that the number of IoT devices and standards vastly outnumbers robotics, and are more mature largely for this reason.

I think this should go in a different thread. I’m sure plenty of people can provide feedback on this.

Deployment is one of my core interests, so I’m interested in hearing any more about what exactly companies are looking for.

1 Like

We definitely have a shared interest there, @gbiggs. Worth starting a new thread to see if we can get more info?

@davetcoleman I work for a company called Rover Robotics (www.roverrobotics.com). Not sure if this is on your radar or not but we are currently working with Open Robotics and Amazon to develop demos for ROS2 using our mobile base. Our platform is industrial-grade and relatively affordable. Its also possible to mount accessories to the top like robotic arms. The design was originally developed for SWAT teams that disarm bombs using them so its really rugged. We have been working for the past year on getting ROS1 and ROS2 drivers for them to be stable.