FAQ
Q: Is ROS-Industrial compatible with ROS?
A: Yes!
Q: Will it always be compatible with ROS?
A: Yes, though it may lag behind in terms of the ROS release schedule.
Q: Does ROS-I Support ROS 2?
Yes! ROS-I has been supporting both the transition and building of new applications in ROS 2 since the beginning. Over the course of ROS 2 evolution, ROS-I has sought to migrate core repositories and resources to be ROS agnostic and provide wrappers for ROS 1 and ROS 2 to support end users that may not be ready to full migrate.
Q: How is ROS-I different than ROS?
A: ROS-I builds on ROS by adding Unified Robot Description Formats (URDFs), interface libraries (drivers), and capabilities (packages) that are useful to manufacturing automation. ROS-I relies on the ROS core and is fully compatible with “all things ROS." Besides industrial interoperability, ROS-I focuses on code quality and reliability, because those aspects are important to the manufacturing automation world. To that end, ROS-I includes automatic code quality metrics that inform users and developers about the state of maturity of the code for a given package.
Q: What problem does ROS-I solve?
A: ROS-I solves many problems that will lead to growth of industrial robot use in new application areas:
It makes automation interoperable. Manipulators, end effectors, perception systems/sensors, mobility platforms, and peripherals can all speak one language (ROS messages) and interoperate regardless of OEM brands or communication bus.
It provides advanced capabilities as encapsulated modular libraries for free (like ROS), so that the best technology can be disseminated without the impedance of proprietary vendor-lock, retraining, or price tag.
It provides oversight and structure to the open-source development of manufacturing automation software. Code included in the project is reviewed and automatically assessed for quality metrics.
It provides a conduit for academic research to be vetted and quickly implemented within industry.
Q: Why develop ROS-Industrial as an open-source project?
A: Open-source is attractive for so many reasons:
User-generated content creates value for the whole community and signals the immediate priorities of the user base to all ROS-I developers.
User testing will find and patch bugs quickly.
Users control their own destiny. If a feature is needed, users can always add or change the source code to suit their own purposes.
Open-source, BSD/Apache licensed, code makes it easy for OEMs to adapt ROS-I functionality into their products, thus commoditizing advanced features/functionality and minimizing barriers to interoperability.
The ROS-I open-source community can, and has come together, to share technologies and work towards a common goal.
Q: Does ROS-I compete with ROS?
A: No, it extends ROS to manufacturing automation while maintaining compatibility with ROS and continuing to use/support the ROS core.
Q: Is ROS-I a product?
A: ROS-I is open-source, just like ROS. Because it is BSD/Apache licensed, anyone can embed it in a product for free, or even re-brand it and sell it.
Q: Is ROS-Industrial suitable for real-time control?
A: Like ROS, ROS-I nominally runs on Ubuntu Linux, which is not a real-time OS. ROS-I is fast enough to run closed-loop with perception systems for manufacturing automation applications, but (at least for now) ROS-I must be used as a high-level controller in conjunction with a low-level real-time controller (usually the one from the OEM), which closes servo feedback loops and provides safety behavior (e.g. an E-stop).
A complimentary framework known as ros2_control to support real time capability assuming supportive hardware with capable interface.
Q: What is the plan for industrial core?
For those familiar with ROS 1 and how drivers were developed relative to ROS 1, industrial_core was a key component to realize a consistent interface experience with manipulators of that time. Since then many manipulator OEMs have begun to offer richer interfaces, with more options. This may be seen in recent offerings by Universal Robots, Yaskawa Motoman, and Mitsubishi Electric. This means that industrial_core is no longer needed in a ROS 2 environment. While there may be some contributions to enable use in ROS 2, this will not be directly supported by the ROS-I Consortia.
Q: What is ros-i doing to support hardware drivers?
The current position of the ROS-Industrial project stewards is to incentivize OEMs to provide interfaces that they are able to support as their controller platforms evolve over time. We work, via the regional Consortia, to support OEMs and then recognize them for providing supported interface solutions. This is evident in the visibilty and broad use and communication of the interfaces provided by Universal Robots, Yaskawa, and more recently Mitsubishi Electric to name a few. We will continue to provide resources to understand the state of interfaces via the website or appropriate communication forums to ensure the community is aware of the state of the various OEM support for ROS 2.
Q: what are the in scope repositories for rOS-i?
The current in scope repositories for the ROS-Industrial open source project are located within the following GitHub organizations:
The most recent GitHub organization is the ROS-Industrial Attic. The intent of this organization is to provide a home for no longer supported projects and repositories, while enabling users that are interested to review the approaches and leverage them as they see fit moving forward. These GitHub organizations are now visible under the Developer menu across the top of rosindustrial.org. Each organization will have a descriptive readme and future GitHub organizations could emerge as the open source robotics landscape evolves.
Q: where is the documentation for ros-i in ros 2?
Current the Wiki is for only ROS 1 resources. That is now identified on the menu at rosindustrial.org. There are conversations relative to creating documentation similar to the ROS 1 wiki for ROS 2. Currently the ROS 2 training resources for the Americas is located here: ROS-I Training readthedocs.
Additional resources will be created. Pages within the Wiki may be created as rosindustrial.org pages, but at this time that plan is still under review.
Q: How do we know what is currently supported and what is deprecated?
We hope the spelling out of the supported GitHub organizations and the creation of the ROS-I Attic helps to more clearly identify the status of supported repositories and utilities. However, if something appears unclear within the ecosystem, the best thing to do is to submit an issue against the repository or start a conversation on ROS Discourse.
Q: What is ROS-I working on relative to documentation and quality assurance guidelines?
The ROS-Industrial Consortia are working with their members and their respective communities to develop a plan that meets the needs of the developer community, yet is able to be supported with the limited resources across our organizations. To date the plan is to create Read the Docs/Sphinx resources for the key supported repositories and for more static or informative supporting documentation, maintain pages on rosindustrial.org. We look forward to feedback on this topic and what additional content, such as educational tutorial videos/exercises may also be beneficial and how those should be hosted.
Q: How is ROS-I supported, financially?
A: Initially, ROS-I was supported by internal research and development funds from Southwest Research Institute. ROS-I is in transition to being fully supported by the ROS-I Consortium and other funding sources.
Q: Does ROS-I compete with ROS in any way?
A: ROS-I is targeted to meet the needs of manufacturing automation and is not intended to compete with ROS, which generally focused on service and research robotics (e.g., PR2). SwRI and RIC (ROS-Industrial Consortium) will strive to support, improve, and utilize the ROS core and ROS programming tools. ROS-I complements ROS by extending the use of ROS into the manufacturing automation.
Q: Can I develop closed-source software for ROS-I and sell it for profit?
A: Yes! We desire for the ROS-I community to foster all manner of new businesses selling ROS-I compatible software nodes, development tools, GUIs, support and integration services.
Q: Is ROS-I for industrial-grade products sold in the retail market?
A: ROS-I targets manufacturing automation that is used to fabricate/produce products. ROS-I is meant to be used by businesses to improve their manufacturing productivity or develop new solutions for industrial & manufacturing end-users.
Q: Can I use the ROS-I logo?
A: The ROS-Industrial name and logo are trademarked by SwRI. Permission to use them is required, but generally given for most uses (for permission, complete this form).
Q: How can I get technical support for ROS-I?
A: Please refer to the Tech Support page.
Q: How do I contribute?
A: To contribute code or learn about ongoing coding efforts in which you can take part, make a post over at the ROS-Industrial thread at ROS Discourse.
Q: Do I have to replace my controller with a ROS-I controller?
A: No, ROS-I is not a replacement for an industrial robot controller. ROS-I communicates with an existing industrial controller.
Q: When will ROS-I run on Windows?
A: Since the ROS 2 release Windows has been supported (reference: slide 3 here). Further information regarding ROS 2 development can be seen/followed over at ROS Discourse here and this blog post on ROS 2 on Windows.
Q: Is ROS-I a "walled garden"?
A: No. ROS-I Repo is 100% Apache 2.0/BSD FOSS.
Q: Do Consortium projects break continuity with the rest of ROS?
A: Only rarely have Consortium projects been delayed-release. Everything that can be seen on the Consortium repo is also Apache 2.0/BDS FOSS.