Humanoid Ecosystem · Part of The Humanoid Group
Robot Software Stacks
A robot's abilities live as much in software as in metal. This guide maps the layers of a typical robot software stack, from real-time control and middleware to ROS 2, simulation and fleet tools, and what to check when choosing.
By Liam O'Connor · Updated
The layers of a robot stack
At the bottom, firmware on motor drivers and microcontrollers runs the fastest loops for current, position and balance. Above it, a real-time layer coordinates the joints and enforces limits. Middleware then carries sensor data and commands between programs, so perception, planning and control can run as separate processes, even on separate computers. On top sit the applications: navigation, manipulation, learned policies, user interfaces and links to business systems. Clear interfaces between layers let a team replace one part, such as a planner, without rewriting the rest. When a maker describes its software, ask which layers you can reach, which you can change and which are closed.
ROS 2 and DDS middleware
ROS 2, the second version of the Robot Operating System framework, builds its communication on the Data Distribution Service, an Object Management Group standard whose specification defines a data-centric publish-subscribe model. DDS quality-of-service settings let developers choose, topic by topic, whether messages must arrive reliably or may be dropped in favour of fresh data, which matters when a camera stream and a stop command share one network. The ROS 2 developers' Science Robotics paper describes it in use on Ghost Robotics quadrupeds, OTTO Motors warehouse robots and NASA's VIPER lunar rover. If you are buying a research platform such as a TurtleBot 4 or Kinova Gen3, ask which ROS 2 releases the maker supports and for how long.
Simulation in the development loop
Simulators let developers test code and train learned controllers before touching hardware. Physics engines model contact, friction and joint dynamics, while rendering engines produce camera images, and speed now comes from running many simulated robots in parallel on GPUs. MuJoCo Playground, from UC Berkeley, Google DeepMind and partners, packages a GPU version of the MuJoCo physics engine with batch rendering and ready-made environments for quadrupeds, humanoids, dexterous hands and arms; its authors report training policies in minutes on a single GPU and moving them to real robots without further tuning. Simulation is only useful when the robot's model, including masses, joint limits and sensor placement, closely matches the hardware.
Fleet, update and security software
Once robots leave the lab, another layer appears: software that monitors a fleet, assigns jobs, pushes updates and gathers logs. It may come from the robot maker, a third party or your own team, and it often connects to warehouse, building or enterprise systems. Updates are the delicate part, because a new version can change behaviour on the floor, so look for staged rollouts, version pinning and a way to roll back. Security belongs in this layer too. ROS 2 relies on the DDS-Security standard and adds SROS2 tools for authentication, access control and encryption, its developers explain, but those protections help only when someone switches them on and configures them properly.
Sources and further reading
- Data Distribution Service (DDS) Specification, Version 1.4 — Object Management Group (OMG).
The OMG standard behind ROS 2 messaging: a data-centric publish-subscribe model with configurable quality of service. - Robot Operating System 2: Design, Architecture, and Uses In The Wild — Open Robotics (arXiv; published in Science Robotics).
The ROS 2 design paper: DDS messaging and quality of service, SROS2 security tools, and deployments from quadrupeds to a lunar rover. - MuJoCo Playground — UC Berkeley, Google DeepMind and partners (arXiv).
Open GPU simulation framework for quadrupeds, humanoids, hands and arms, with policies moved to real robots without tuning.
Common questions
What is the difference between ROS and ROS 2?
ROS 2 is a redesign rather than an upgrade. Its developers rebuilt it on DDS middleware to fix weaknesses of the original, such as unreliable delivery over lossy links and a single point of failure, and added security tools. Code written for the original usually needs porting.
Do I need ROS 2 skills to run a research robot?
Not for basic operation, since many platforms ship with their own apps or interfaces. To write new behaviours, add sensors or use community packages, ROS 2 experience helps a great deal, and the official tutorials are a sensible starting point for new team members.
People also search for robot software stack, ROS 2, DDS middleware, robot middleware, Robot Operating System and robot simulation software.