RMStudio is a distributed software solution for the manufacturing industry. The software solves multiple crucial headaches for managers such as Work in Progress (WIP) tracking, material handling, and real-time analytics. Many existing softwares in this domain are old and clunky and so we put emphasis on a clean and easy to use interface that enables powerful tools in a simple and intuitive way.
The project was conceptualized by myself and two other talented engineers. Although I played roles in the entire stack, I was primarily focused on the UI and UX components of the software. The team has since grown from 3 to 8 full time engineers, and the software is now deployed at multiple US manufacturing sites and has led to up to a 40% efficiency gain by our customers.
As part of a NASA SBIR grant, I managed the Simon project, a manipulation-in-the-box solution that allowed users to configure tasks for robotic systems (with no coding) and endow them with the ability to reason through complex sequences of actions. This dynamic non-programming platform combines adaptive behavior trees with a STRIPS-like planner to intelligently utilize a breadth of modular actions in order to reach a desired state.
When humans are given a task to accomplish such as “place a lemon on the table,” we subconsciously plan the task backwards to determine the actions we need to take. To place a lemon on the table, we first need to walk to the table with a lemon. To walk to the table with a lemon we first need to have picked up a lemon. To pick up a lemon we need to… and so on. This is the inspiration behind behavior trees, and is a concept that we successfully implemented with our application.
Our small team consisted of myself, a robotics software engineer, and one other full-stack engineer. As project manager, I was responsible for managing my fellow engineers, development, and ensuring that the application stack integrated seamlessly with our RMLib modules.
The React frontend was built on D3, allowing the graphical flexibility necessary to display the tree-like structure that our applications took the shape of. The backend was built on Flask with a MongoDB database. Our backend was strongly interconnected with our RMLib library, which added an extra level of complexity to integrate a web application with hardware endpoints.
RMLib is a proprietary robotic programming library. Myself and one other engineer developed the library which includes tools for robotic arms, autonomous carts, computer vision, machine learning, and more. The software is currently utilized in multiple robotics labs at universities in the US and abroad.
The unique structure of RMLib allows programmers to mix-and-match different robotic components; a build-your-own robot solution. This method required meticulous planning of how different hardware components work together and how to best modularize the methods to accomplish this goal. The library is written primarily in Python and contains multiple C++ packages for more complicated algorithms. RMLib is also utilized in both the Simon project as well as our Robotic Integration Backend for RMStudio at a couple of our customer sites.