
Open-source robotics is a branch ofrobotics where robots are developed withopen-source hardware andfree and open-source software, publicly sharingblueprints,schematics, andsource code. It is thus closely related to theopen design movement, themaker movement[1] andopen science.
Open source robotics means that information about the hardware is easily discerned, so that others can easily rebuild it. In turn, this requires design to use only easily availablestandard subcomponents and tools, and for the build process to be documented in detail including abill of materials and detailed ('Ikea style') step-by-step building and testing instructions. (A CAD file alone is not sufficient, as it does not show the steps for performing or testing the build). These requirements are standard toopen source hardware in general, and are formalised by various licences, certifications, especially those defined by the peer-reviewed journalsJournal of Open Hardware andHardwareX.
Licensing requirements for software are the same as for anyopen source software. But in addition, for software components to be of practical use in real robot systems, they need to be compatible with other software, usually as defined by somerobotics middleware community standard.
Applications to date include:
Mostopen source hardware definitions allow non-open subcomponents to be used inmodular design, as long as they are easily available. However many designs try to push openness down into as many subcomponents as possible, with the aim of ultimately reaching fully open designs.
Open hardware manual-drive vehicles and their subcomponents, such as fromOpen Source Ecology, are often used as starting points and extended with automation systems.
Open subcomponents can includeopen-source computing hardware as subcomponents, such asArduino andRISC-V, as well as open source motors and drivers such as the Open Source Motor Controller andODrive.
Open hardware robotics interface boards[19] can simplify interfacing between middleware software and physical hardware.
Robotics middleware is software which links multiple other software components together. In robotics, this specifically means real-time communication systems with standardized message passing protocols. The predominant open source middleware isROS2, the robot operating system, now as version 2. Other alternatives include ROS1, YARP — used in theiCub,URBI, andOrca. Open source middleware is usually run on an open source operating system, especially theUbuntu distribution ofLinux.
Most robot sensors and actuators require software drivers. There is little standardization of open source software at this level, because each hardware device is different. Creating open drivers for closed hardware is difficult as it requires bothlow level programming andreverse engineering.
Open source robotics simulators includeGazebo,MuJoCo andWebots. Open source 3D game engines such asGodot are also sometimes used as simulators, when equipped with suitable middleware interfaces.[20][21][22][23]
At the level ofAI, many standard algorithms have open source software implementations, mostly inROS2. Major components include:
The first signs of the increasing popularity of building and sharing robot designs were found with themaker culture community. What began with small competitions for remote operated vehicles (e.g.Robot combat), soon developed to the building ofautonomous telepresence robots such asSparky and then true robots (being able to take decisions themselves) as the Open Automaton Project. Several commercial companies now also produce kits for making simple robots.
The community has adoptedopen source hardware licenses, certifications, and peer-reviewed publications, which check that source has been made correctly and permanently available under community definitions, and which validate that this has been done. These processes have become critically important due to many historical projects claiming to be open source but them reverting on the promise due to commercialisation or other pressures.
As with other forms ofopen source hardware, the community continues to debate precise criteria for 'ease of build'. A common standard is that designs should be buildable by a technical university student, in a few days, using typicalfablab tools, but definitions of all of these subterms can also be debated.
Compared to other forms ofopen source hardware, open source robotics typically includes a large software element, so involves software as well as hardware engineers. Open source concepts are more established inopen source software than hardware, so robotics is a field in which those concepts can be shared and transferred from software to hardware.
While the community in open source robotics is multi-faceted with a wide range of backgrounds, a sizable sub-community uses theROS middleware and meets at the ROSCon[27] conferences to discuss development of ROS itself and automation components built on it.
{{citation}}: CS1 maint: numeric names: authors list (link)