Advanced science.  Applied technology.

Search

ROS Development Environment, 10-R6159

Principal Investigators
Jeremy Zoss
David Merz
Joshua Langsfeld
Michael Ripperger
Inclusive Dates 
03/22/21 - Current

Background

The Robot Operating System Industrial (ROS-Industrial) program area mission is to bring the power and capabilities of ROS to advanced industrial applications. During ROS-Industrial roadmapping sessions with industry, the topic of “Ease of Use” has been a focus, as shown in Figure 1. In the past, SwRI has provided some tools including the “Qt Creator ROS Plugin” established by SwRI, which is the most trafficked repository on the ROS-Industrial GitHub organization. While this has helped, the solution still requires higher skill in structured programming language development than what the typical manufacturer or industrial user is able to support. As a result, our objective is to take commonly used pieces (software tools and capabilities) and create a unified application that empowers end-users to procure a license for a new ROS Development Environment for rapid development.

ROS-Industrial Membership Priorities from Roadmapping Sessions

Figure 1: ROS-Industrial Membership Priorities from Roadmapping Sessions – Note Ease of Use and Developer Tools

Approach

The primary approach is to leverage Model Driven Programming (MDP) for core ROS-Industrial functionality for rapid creation of advanced robotics applications. A supporting research element is for investigation of methods for incorporating new (future) capabilities quickly and easily into the ROS Development Environment without rewriting target libraries. The selected approach to MDP leverages the developer input data to “fill out” a configuration data structure, which is provided to a C++ library for run-time configuration. This allows the C++ library itself to be developed by an experienced software developer and optimized for performance. Our team will initially leverage existing software, currently available within SwRI repositories and in open-source repositories, as a starting point.

Accomplishments

The SwRI team evaluated frameworks for the base platform and identified FreeCAD for the SwRI Robotics Studio. After the selection of the base platform, development began for the Environment Editor which allows a user to create an environment from scratch, along with importing existing Universal Robot Description Format (URDF) files as shown in Figure 2. Additional tools have been incorporated allowing the user to convert detailed meshes to convex hulls, along with running convex decomposition on more complex models. The toolbar shows, from left icon to right, the Import URDF, Add Link, Create Convex Hull, Run Convex Decomposition, Show/Hide Link Frames, Show/Hide Visual Geometry, Show/Hide Collision Geometry.

Environment Editor with ROS Development Environment Toolbar

Figure 2: Environment Editor with ROS Development Environment Toolbar