Open-source robotics

Last updated

An open source iCub robot mounted on a supporting frame. The robot is 104 cm high and weighs around 22 kg. Icub full body.JPG
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 robotics where robots are developed with open-source hardware and free and open-source software, publicly sharing blueprints, schematics, and source code. It is thus closely related to the open design movement, the maker movement [1] and open science.

Contents

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 bill 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 to 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 open source hardware, the community continues to debate precise criteria for 'ease of build'. A common standard is that designs should be buildable by a smart university student in engineering or computation, in a few days, using typical fablab tools, but definitions of all of these subterms can also be debated.

Compared to other forms of open 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 in 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

Related Research Articles

<span class="mw-page-title-main">Open-source hardware</span> Hardware from the open-design movement

Open-source hardware consists of physical artifacts of technology designed and offered by the open-design movement. Both free and open-source software (FOSS) and open-source hardware are created by this open-source culture movement and apply a like concept to a variety of components. It is sometimes, thus, referred to as FOSH. The term usually means that information about the hardware is easily discerned so that others can make it – coupling it closely to the maker movement. Hardware design, in addition to the software that drives the hardware, are all released under free/libre terms. The original sharer gains feedback and potentially improvements on the design from the FOSH community. There is now significant evidence that such sharing can drive a high return on investment for the scientific community.

Quantum programming is the process of designing or assembling sequences of instructions, called quantum circuits, using gates, switches, and operators to manipulate a quantum system for a desired outcome or results of a given experiment. Quantum circuit algorithms can be implemented on integrated circuits, conducted with instrumentation, or written in a programming language for use with a quantum computer or a quantum processor.

<span class="mw-page-title-main">Physical computing</span>

Physical computing involves interactive systems that can sense and respond to the world around them. While this definition is broad enough to encompass systems such as smart automotive traffic control systems or factory automation processes, it is not commonly used to describe them. In a broader sense, physical computing is a creative framework for understanding human beings' relationship to the digital world. In practical use, the term most often describes handmade art, design or DIY hobby projects that use sensors and microcontrollers to translate analog input to a software system, and/or control electro-mechanical devices such as motors, servos, lighting or other hardware.

<span class="mw-page-title-main">Laboratory automation</span> Process improvement strategy for routine procedures

Laboratory automation is a multi-disciplinary strategy to research, develop, optimize and capitalize on technologies in the laboratory that enable new and improved processes. Laboratory automation professionals are academic, commercial and government researchers, scientists and engineers who conduct research and develop new technologies to increase productivity, elevate experimental data quality, reduce lab process cycle times, or enable experimentation that otherwise would be impossible.

Modular self-reconfiguring robotic systems or self-reconfigurable modular robots are autonomous kinematic machines with variable morphology. Beyond conventional actuation, sensing and control typically found in fixed-morphology robots, self-reconfiguring robots are also able to deliberately change their own shape by rearranging the connectivity of their parts, in order to adapt to new circumstances, perform new tasks, or recover from damage.

OpenSAF is an open-source service-orchestration system for automating computer application deployment, scaling, and management. OpenSAF is consistent with, and expands upon, Service Availability Forum (SAF) and SCOPE Alliance standards.

<span class="mw-page-title-main">Player Project</span> Robot interface specification and software system

The Player Project creates free and open-source software for research into robotics and sensor systems. Its components include the Player network server and the Stage platform robotics simulators. Although accurate statistics are hard to obtain, Player is one of the most popular open-source robot interfaces in research and post-secondary education.

Adaptable Robotics refers to a field of robotics with a focus on creating robotic systems capable of adjusting their hardware and software components to perform a wide range of tasks while adapting to varying environments. The 1960s introduced robotics into the industrial field. Since then, the need to make robots with new forms of actuation, adaptability, sensing and perception, and even the ability to learn stemmed the field of adaptable robotics. Significant developments such as the PUMA robot, manipulation research, soft robotics, swarm robotics, AI, cobots, bio-inspired approaches, and more ongoing research have advanced the adaptable robotics field tremendously. Adaptable robots are usually associated with their development kit, typically used to create autonomous mobile robots. In some cases, an adaptable kit will still be functional even when certain components break.

<span class="mw-page-title-main">Agricultural robot</span> Robot deployed for agricultural purposes

An agricultural robot is a robot deployed for agricultural purposes. The main area of application of robots in agriculture today is at the harvesting stage. Emerging applications of robots or drones in agriculture include weed control, cloud seeding, planting seeds, harvesting, environmental monitoring and soil analysis. According to Verified Market Research, the agricultural robots market is expected to reach $11.58 billion by 2025.

<span class="mw-page-title-main">Webots</span> Open-source robot simulator

Webots is a free and open-source 3D robot simulator used in industry, education and research.

<span class="mw-page-title-main">Robot Operating System</span> Set of software frameworks for robot software development

Robot Operating System is an open-source robotics middleware suite. Although ROS is not an operating system (OS) but a set of software frameworks for robot software development, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management. Running sets of ROS-based processes are represented in a graph architecture where processing takes place in nodes that may receive, post, and multiplex sensor data, control, state, planning, actuator, and other messages. Despite the importance of reactivity and low latency in robot control, ROS is not a real-time operating system (RTOS). However, it is possible to integrate ROS with real-time computing code. The lack of support for real-time systems has been addressed in the creation of ROS 2, a major revision of the ROS API which will take advantage of modern libraries and technologies for core ROS functions and add support for real-time code and embedded system hardware.

Robotics middleware is middleware to be used in complex robot control software systems.

<span class="mw-page-title-main">Willow Garage</span> Robotics research and development company

Willow Garage was a robotics research lab and technology incubator devoted to developing hardware and open source software for personal robotics applications. The company was best known for its open source software suite Robot Operating System (ROS), which rapidly become a common, standard tool among robotics researchers upon its initial release in 2010. It was begun in late 2006 by Scott Hassan, who had worked with Larry Page and Sergey Brin to develop the technology that became the Google Search engine. Steve Cousins was the president and CEO. Willow Garage was located in Menlo Park, California.

ArduPilot is an open source, uncrewed vehicle Autopilot Software Suite, capable of controlling:

Tendon-driven robots (TDR) are robots whose limbs mimic biological musculoskeletal systems. They use plastic straps to mimic muscles and tendons. Such robots are claimed to move in a "more natural" way than traditional robots that use rigid metal or plastic limbs controlled by geared actuators. TDRs can also help understand how biomechanics relates to embodied intelligence and cognition.

<span class="mw-page-title-main">OMPL</span>

OMPL is a software package for computing motion plans using sampling-based algorithms. The content of the library is limited to motion planning algorithms, which means there is no environment specification, no collision detection or visualization. This is intentional as the library is designed to be easily integrated into systems that already provide the additional needed components. For example, OMPL is integrated with ROS and MoveIt!. In 2012 OMPL won the Grand Prize at the Open Source Software World Challenge.

Cloud robotics is a field of robotics that attempts to invoke cloud technologies such as cloud computing, cloud storage, and other Internet technologies centered on the benefits of converged infrastructure and shared services for robotics. When connected to the cloud, robots can benefit from the powerful computation, storage, and communication resources of modern data center in the cloud, which can process and share information from various robots or agent. Humans can also delegate tasks to robots remotely through networks. Cloud computing technologies enable robot systems to be endowed with powerful capability whilst reducing costs through cloud technologies. Thus, it is possible to build lightweight, low-cost, smarter robots with an intelligent "brain" in the cloud. The "brain" consists of data center, knowledge base, task planners, deep learning, information processing, environment models, communication support, etc.

Fog robotics can be defined as an architecture which consists of storage, networking functions, control with fog computing closer to robots.

AirSim is an open-source, cross platform simulator for drones, ground vehicles such as cars and various other objects, built on Epic Games’ proprietary Unreal Engine 4 as a platform for AI research. It is developed by Microsoft and can be used to experiment with deep learning, computer vision and reinforcement learning algorithms for autonomous vehicles. This allows testing of autonomous solutions without worrying about real-world damage.

References

  1. Gibb, Alicia (2015). Building Open Source Hardware: DIY Manufacturing for Hackers and Makers. New York: Addison-Wesley. pp. 253–277. ISBN   978-0-321-90604-5.
  2. Tai, Albert; al, et (2021). "PARA: A one-meter reach, two-kg payload, three-DoF open source robotic arm with customizable end effector". HardwareX. 10 (209): e00209. doi:10.1016/j.ohx.2021.e00209. PMC   9123426 . PMID   35607683.
  3. Manzoor, Sarah; al, et (2014). "An open-source multi-DOF articulated robotic educational platform for autonomous object manipulation". Robotics and Computer-Integrated Manufacturing. 30 (3): 351–362. doi:10.1016/j.rcim.2013.11.003.
  4. Carter, Sam; Tsagkopoulos, Nikolaos; Clawson, Garry; Fox, Charles (2023). "OpenScout: Open Source Hardware Mobile Robot". Journal of Open Hardware. 7 (1). doi: 10.5334/joh.54 .
  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. arXiv: 1910.00093 . doi:10.1109/LRA.2020.2976639. S2CID   203610542.
  6. Foehn, Philipp; Kaufmann, Elia; Romero, Angel; Penicka, Robert; Sun, Sihao; Bauersfeld, Leonard; Laengle, Thomas; Cioffi, Giovanni; Song, Yunlong; Loquercio, Antonio; Scaramuzza, Davide (22 June 2022). "Agilicious: Open-source and open-hardware agile quadrotor for vision-based flight". Science Robotics. 7 (67): eabl6259. arXiv: 2307.06100 . doi:10.1126/scirobotics.abl6259. ISSN   2470-9476. PMID   35731886. S2CID   249955269.
  7. Wichitwechkarn, Vijja; Fox, Charles (2023). "MACARONS: A Modular and Open-Sourced Automation System for Vertical Farming". Journal of Open Hardware. 7 (1). arXiv: 2210.04975 . doi: 10.5334/joh.53 .
  8. Starks, Michael; et, al (2023). "HeRoSwarm: Fully-Capable Miniature Swarm Robot Hardware Design with Open-Source ROS Support". 2023 IEEE/SICE International Symposium on System Integration (SII). pp. 1–7. arXiv: 2211.03014 . doi:10.1109/SII55687.2023.10039174. ISBN   979-8-3503-9868-7. S2CID   253384613.
  9. Camara, Fanta; Waltham, Chris; Churchill, Grey; Fox, Charles (2023). "OpenPodcar: An Open Source Vehicle for Self-Driving Car Research". Journal of Open Hardware. 7 (1). arXiv: 2205.04454 . doi: 10.5334/joh.46 .
  10. Faina, Andres; Nejati, Brian; Stoy, Kasper (2020). "Evobot: An open-source, modular, liquid handling robot for scientific experiments". Applied Sciences . 10 (3): 814. doi: 10.3390/app10030814 .
  11. van den Berg, Sander; Scharff, Rob; Rusák, Zoltan; Wu, Jun (2022). "OpenFish: Biomimetic design of a soft robotic fish for high speed locomotion". Hardware X. 12: e00320. arXiv: 2108.12285 . doi: 10.1016/j.ohx.2022.e00320 .
  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. Vrochidou, Eleni; Manios, Michail; Papakostas, George A.; Aitsidis, Charalabos N.; Panagiotopoulos, Fotis (September 2018). "Open-Source Robotics: Investigation on Existing Platforms and Their Application in Education". 2018 26th International Conference on Software, Telecommunications and Computer Networks (SoftCOM). pp. 1–6. doi:10.23919/SOFTCOM.2018.8555860. ISBN   978-9-5329-0087-3. S2CID   54438146.
  16. Jensen, Austin M.; Morgan, Daniel; Chen, YangQuan; Clemens, Shannon; Hardy, Thomas (1 January 2009). "Using Multiple Open-Source Low-Cost Unmanned Aerial Vehicles (UAV) for 3D Photogrammetry and Distributed Wind Measurement". Volume 3: ASME/IEEE 2009 International Conference on Mechatronic and Embedded Systems and Applications; 20th Reliability, Stress Analysis, and Failure Prevention Conference. pp. 629–634. doi:10.1115/DETC2009-87586. ISBN   978-0-7918-4900-2.