Open-source robotics

Source: Wikipedia, the free encyclopedia.

An open source iCub robot mounted on a supporting frame. The robot is 104 cm high and weighs around 22 kg.

Open-source robotics is a branch of

open design movement, the maker movement[1] and open science
.

Requirements

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 available standard subcomponents and tools, and for the build process to be documented in detail including a

open source hardware in general, and are formalised by various licences, certifications, especially those defined by the peer-reviewed journals HardwareX and Journal of Open Hardware
.

Licensing requirements for software are the same as for any

open 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 some robotics middleware
community standard.

Hardware systems

Applications to date include:

Hardware subcomponents

Most

open source hardware definitions allow non-open subcomponents to be used in modular 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 subcomponents can include

open-source computing hardware as subcomponents, such as Arduino and RISC-V, as well as open source motors and drivers such as the Open Source Motor Controller and ODrive
.

Open source robots are often used together with, so are designed to interface to, the open source robotics middleware Robot Operating System and various open source simulators such as Gazebo, running on the open source Linux operating system.

Middleware

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 is ROS, the robot operating system. Other alternatives include YARP -- used in the iCub, URBI, and Orca.

Driver software

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 both

low level programming and reverse engineering
.

Simulation software

Open source robotics simulators include Gazebo and Webots. Open source 3d game engines such as Godot are also sometimes used as simulators, when equipped with suitable middleware interfaces.

Automation software

At the level of

AI, many standard algorithms have open source software implementations, mostly in ROS
. Major components include:

Community

The first signs of the increasing popularity of building robots yourself were found with the

DIY community. What began with small competitions for remote operated vehicles (e.g. Robot combat), soon developed to the building of autonomous telepresence robots as Sparky
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 adopted

open 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 of

fablab
tools, but definitions of all of these subterms can also be debated.

Compared to other forms of

open source software
than hardware, so robotics is a field in which those concepts can be shared and transferred from software to hardware.

The software community is centered around ROS and meets annually at the RosCon conference to discuss development of ROS itself and automation components built on it.

See also

References

  1. .
  2. .
  3. .
  4. .
  5. ^ Grimminger, F; Meduri, A; et, al (2020). "An Open Torque-Controlled Modular Robot Architecture for Legged Locomotion Research". IEEE Robotics and Automation Letters. 5 (2): 3650–3657.
    S2CID 203610542
    .
  6. .
  7. .
  8. .
  9. .
  10. .
  11. .
  12. ^ "DIY commercial vacuum robot". The Red Ferret Journal. 30 October 2007. Retrieved 13 September 2014.
  13. ^ "DIY Roomba preposition on Arduino motherboard". Archived from the original on 3 December 2010. Retrieved 13 September 2014.
  14. ^ "f1tenth".
  15. S2CID 54438146
    .
  16. .