This is a list of robotics software, including software frameworks, robot software, middleware, computer vision, robotics simulators, motion planning libraries, industrial robot programming tools, robot programming languages, and educational robotics environments.

Robot operating systems, middleware, frameworks and suites

SoftwareTypeDescription
ACROSS ProjectRobotics software projectEuropean robotics project for developing reusable software components and integration methods for robot systems.
BrickOSEmbedded robot operating systemOpen-source operating system and alternative firmware for Lego Mindstorms RCX robots.
Concurrency and Coordination RuntimeRuntime library.NET-based runtime used by Microsoft Robotics Developer Studio for coordinating asynchronous and concurrent robotics services.
DialogOSDialog system / robotics softwareGraphical programming environment for creating spoken-dialog systems, including applications in human–robot interaction.
HarmonyReal-time research operating systemExperimental real-time operating system developed at the National Research Council Canada and used in robotics research.
Microsoft Robotics Developer StudioRobotics development environmentDiscontinued Windows-based environment for robot control and simulation, aimed at academic, hobbyist, and commercial developers.
MIRAMiddleware / robotics frameworkCross-platform C++ framework providing middleware, base functionalities, and tools for developing and testing robotic applications.
MRPTRobotics library / suiteOpen-source C++ toolkit with applications and libraries for common robotics research areas, including mapping, localization, SLAM, and navigation.
NVIDIA Isaac ROSROS 2 package collectionCollection of NVIDIA-accelerated ROS 2 packages for robotics applications, including GPU-accelerated robotics and vision components.
OpenRTM-aistRT middleware implementationSoftware platform developed on the basis of the RT middleware standard.
OrocosRobot control frameworkOpen Robot Control Software project providing portable C++ libraries for advanced machine and robot control.
Player ProjectRobot device interface and simulation frameworkFree and open-source robotics software project that includes the Player robot device server and the Stage simulator.
Python RoboticsRobotics algorithms collectionOpen-source Python collection of robotics algorithms, including examples for localization, mapping, path planning, path tracking, and control.
ROSRobotics middleware / software frameworkOpen-source set of software libraries and tools for building robot applications.
RT middlewareMiddleware standardRobotics Technology Middleware platform for constructing robot systems from networked software components.
Turing OSRobot operating systemArtificial-intelligence robot operating system developed by Turing Robot for multimodal human–robot interaction.
URBIRobotics software platformCross-platform software platform and scripting language for robotics and complex systems.
VxWorksReal-time operating systemReal-time operating system with build support for running selected ROS 2 packages on VxWorks 7.
YARPMiddlewareLibrary and toolkit for robot communication and device interfaces, used in systems ranging from humanoid robots to embedded devices.

Simulation software

SoftwareTypeDescription
AirSimAutonomous-vehicle and robotics simulatorOpen-source simulator for drones, cars, and other autonomous systems, originally developed by Microsoft Research.
AnimatLabNeuromechanical and robotics simulatorFree 3D neuromechanical simulation software for building biologically inspired virtual organisms and robots.
AnyKode MarilouRobot simulatorModeling and simulation environment for mobile robots, humanoids, articulated arms, and parallel robots.
ARGoSSwarm robotics simulatorMulti-physics simulator designed for large-scale robot swarm simulation.
Asynchronous multi-body frameworkRobot simulatorOpen-source framework for real-time dynamic simulation of robots, multi-body systems, soft bodies, and haptic interaction.
CoppeliaSimRobot simulatorRobot simulation platform used for algorithm development, factory automation simulation, prototyping, education, and digital twins.
GazeboRobot simulatorOpen-source robotics simulator with physics, rendering, sensor models, plugins, a graphical interface, and message-passing interfaces.
MuJoCoPhysics engine / robot simulationFree and open-source physics engine used for robotics, biomechanics, graphics, animation, and machine learning research.
NVIDIA Isaac SimRobotics simulatorRobotics simulation platform built on NVIDIA Omniverse for robot simulation, testing, and synthetic data generation.
PyBulletPhysics simulation Python modulePython module based on the Bullet Physics SDK for physics simulation, robotics, and reinforcement-learning applications.
RoboDKIndustrial robot simulator / offline programming softwareSoftware for simulating and programming robot arms offline for manufacturing and automation.
RoboLogixIndustrial robot simulatorRobotics simulation software package used to teach, test, run, and debug industrial robot programs in simulated manufacturing applications.
Robotics Toolbox for MATLABRobotics simulation and analysis toolboxMATLAB toolbox for analyzing and simulating mobile robots and robot manipulators.
Simbad robot simulatorRobot simulatorOpen-source Java 3D robot simulator for scientific and educational applications in autonomous robotics and artificial intelligence.
SimSparkMultiagent simulation systemGeneric simulator for multiagent physical simulations used in AI and robotics research.
Visual ComponentsManufacturing and robot simulation softwareManufacturing simulation and offline robot programming software for industrial automation workflows.
WebotsRobot simulatorOpen-source, multi-platform desktop application for modeling, programming, and simulating robots.

Motion planning, modeling, and control

SoftwareTypeDescription
DrakeRobot modeling and control toolboxC++ toolbox for analyzing robot dynamics and building control systems, with an emphasis on optimization-based design and analysis.
MoveItMotion-planning and manipulation frameworkMotion planning, manipulation, and kinematics framework for ROS.
OMPLMotion-planning libraryOpen Motion Planning Library, a software package for motion planning using sampling-based algorithms.
OpenRAVEMotion-planning and simulation frameworkFramework for testing, developing, and deploying motion planning algorithms in real-world robotics applications.
Orocos KDLKinematics and dynamics libraryC++ library from the Orocos project for modeling kinematic chains and computing forward and inverse kinematics and dynamics.

Computer vision

SoftwareTypeDescription
AForge.NETComputer vision frameworkC# framework for computer vision, artificial intelligence, image processing, machine learning, and robotics-related applications.
DlibMachine learning and computer vision libraryCross-platform C++ library with machine-learning and image-processing tools used in robotics, embedded devices, and other real-world software applications.
OpenCVComputer vision libraryOpen-source computer vision and machine learning software library used in robotics for image processing, object detection, camera calibration, visual tracking, and robot perception.
SwisTrackVision tracking softwareOpen-source video tracking software for tracking robots and other objects from camera or recorded video input.
TesseractOptical character recognition engineOpen-source optical character recognition engine used for extracting text from images and scanned documents, including computer-vision and image-processing workflows.

Robot programming languages

LanguageTypeDescription
A Manufacturing LanguageIndustrial robot programming languageRobot programming language developed by IBM for its RS 1 robot and Robot Manufacturing System product line.
EnchantingEducational robot programming languageFree and open-source Scratch-like programming language for programming Lego Mindstorms NXT robots.
EusLispRobot programming languageLisp-based object-oriented programming system designed for robotics research and intelligent robot development.
GOLOGLogic programming languageHigh-level logic programming language for specifying and executing complex actions in dynamic domains, including autonomous-agent and robot-control applications.
KUKA Robot LanguageIndustrial robot programming languageProgramming language used for programming KUKA industrial robot controllers.
leJOSEducational robotics firmware and programming environmentJava-based replacement firmware and programming environment for Lego Mindstorms programmable bricks.
Microsoft Visual Programming LanguageVisual robot programming languageVisual dataflow programming language included with Microsoft Robotics Developer Studio for building robotics applications.
PLEXILPlan-execution languagePlan Execution Interchange Language, a programming language and execution system for automating plans on real or simulated systems.
RAPIDIndustrial robot programming languageProgramming language used for ABB industrial robots and RobotWare controllers.
UrbiscriptRobot scripting languageParallel and event-driven scripting language used with the Urbi robotics platform.
URScriptRobot programming languageProgramming language developed by Universal Robots for controlling Universal Robots robot arms.
Variable Assembly LanguageIndustrial robot programming languageEarly robot programming language associated with Unimation industrial robots.
WSFNRobot control languageSmall interpreted programming language for controlling robots, created by Li-Chen Wang and later adapted for turtle graphics.

Industrial control and PLC software

NameTypeDescription
CODESYSPLC programming environmentSoftware used to program industrial controllers, including robotics-related automation systems and ROS-connected robot workflows.
TIA PortalPLC and automation engineering softwareSiemens automation engineering software used in industrial robotics workflows, including robot integration through the Simatic Robot Library.
TwinCATPLC, motion-control and robotics softwareAutomation software used for PC-based control, including robotics, motion control and PLC applications.

Educational and Lego robotics software

SoftwareTypeDescription
Actor-LabEducational robot programming environmentProgramming environment associated with Lego Mindstorms and educational robotics.
Bricx Command CenterLego Mindstorms programming environmentIntegrated development environment for programming Lego Mindstorms RCX, Scout, Spybotics, NXT, and EV3 robots.
Lego MindstormsEducational robotics software and hardware ecosystemDiscontinued line of educational kits for building programmable robots based on Lego bricks.
Lego Mindstorms EV3Educational robotics platformThird-generation Lego Mindstorms robotics kit and programming platform.
Lego Mindstorms NXTEducational robotics platformSecond-generation Lego Mindstorms robotics kit and programming platform.
Open RobertaEducational robot programming environmentOpen-source graphical programming environment for programming robots and microcontrollers in educational contexts.
QDriverStationDriver-station softwareFree and open-source driver-station software for FIRST Robotics Competition robots, developed as an alternative to the official FRC Driver Station.
RoboBlocklyEducational robot simulation environmentWeb-based Blockly-style robot simulation environment for learning coding, robotics, mathematics, science, and art.
RoboMindEducational programming environmentEducational programming environment based around controlling a virtual robot.

See also