Middleware is a core component of our customized, automated platforms. It acts as a bridge between an operating system or database and applications, especially on a network. We use middleware to rapidly build applications, from advanced driver-assistance systems (ADAS) functions and complex Human-Machine Interfaces (HMIs) to full autonomy suites. Our software engineers have deep experience working with many different forms of middleware experience they use to build modular-based software applications for our platforms. These applications are independent of the middleware, sensors and computing hardware.
The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries and conventions that simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms. Why? Because creating a truly robust, general-purpose robot software is hard.
From the robot’s perspective, problems that seem trivial to humans often vary wildly between instances of tasks and environments. Dealing with these variations is so hard that no single individual, laboratory or institution can do it on its own.
ROS was created from the ground up to encourage collaborative robotics software development. For example, one laboratory might have experts in mapping indoor environments and could contribute a world-class system for producing maps. Another group might have experts at using maps to navigate, and yet another group might have discovered a computer vision approach that works well for recognizing small objects in clutter. Using ROS, groups like these, including AutonomouStuff, can collaborate and build on the work of others.