Open-source robotics
Open-source robotics (OSR) is where the physical artifacts of the subject are offered by the open design movement. This branch of robotics makes use of open-source hardware and free and open-source software providing blueprints, schematics, and source code. The term usually means that information about the hardware is easily discerned so that others can make it from standard commodity components and tools—coupling it closely to the maker movement[1] and open science.
Contents
Current systems
Open source gantry robots
Name | Description | Type |
---|---|---|
RepRap | 3D printer robot | 3D printer |
Contraptor | CNC plotter. | plotter |
FarmBot | CNC-style horticulture | horticulture |
Open source robot arms and hands
Name | Description | Type |
---|---|---|
OSRA[2] | Oomlout Open-source robotic arm. | Robot Arm |
Yale Open Hand Project[3] | Customizable, 3D-printed, adaptive robotic hand from Yale University.[4] Comprehensive documentation is available but CC-BY-NC license not compatible with the Open-source hardware definition. | Robot Hands |
Robotarm.org | Community of many partially complete robot arm projects. | Robot arm |
Evil minion | Completed robot arm, CAD files and software available. | Robot arm |
Open Source Ecology | Includes plans for an industrial robot arm. | Robot arm |
Open source mobile robots
Name | Description | Type |
---|---|---|
e-puck mobile robot | An open-hardware, education oriented, mobile robot. | education |
Ardumower[5] | open-source robotic lawn mower based on Arduino Mega | - |
Arduino Robot | The Arduino Robot is the first official Arduino on wheels[6] | Arduino based. |
Hexy[7] | Open-Source, Low-Cost Hexapod Kit[8] | Hexapod |
Leaf Project[9] | - | - |
OpenROV[10] | Open-source underwater robot | education and exploration |
Pulurobotics[11] | Open-source autonomous mobile robot | Education, application, able to carry heavy loads, inexpensive, ROS compatible but not using ROS. |
Thymio[12] | Thymio is an educative robot with two wheels and many sensors programmed with Aseba | Education. |
Vorpal The Hexapod[13] | Vorpal is a low cost, 3D printed, MIT Scratch programmable Hexapod Robot | Education. |
Open-source Micro-robotic Project | An open-source space swarm robot project. | - |
OPSORO | An Open Platform for Social Robots | Social Robots,
Education |
OSCar | Open source car (e.g. for self-driving). | Car |
Open source aerial robots
Name | Description | Type |
---|---|---|
ArduPilot[14] | Flying robot frameworks with hardware and software based on Arduino, an Open-source hardware platform. | Quadcopter and UAV |
OpenPilot | Flying robot framework with hardware and software based on STM32 microcontroller | |
LibrePilot[15] | Focuses on research and development of open-source software and hardware to be used in a variety of applications including vehicle control and stabilization. | Robotics - Unmanned autonomous vehicles, Multirotor, Fixed wing, Cars |
Paparazzi Project | Flying robot framework with hardware and software based on the Lisa/S chip | |
Slugs | Flying robot framework with hardware and software | |
PX4 autopilot | Flying robot framework with hardware and software based on the STM32F427 Cortex M4 core with FPU |
Open source humanoid robots
Name | Description | Type |
---|---|---|
iCub | Backed by European Union funding and used in many universities. | Humanoid |
DARwIn-OP | Used in ICRA and RoboCup contests | Humanoid |
InMoov[16] | An open-hardware and open-source 3D printed life-size humanoid robot. As software MyRobotLab[17] is used. Comprehensive documentation is available but CC-BY-NC license not compatible with the Open-source hardware definition. | Humanoid |
Poppy-project[18] | The Poppy project aims at building an Open-source humanoid platform based on robust, flexible, easy-to-use hardware and software. Excellent documentation[19] | Education, Research, Humanoid |
DoraBot[20] | DORA Open Source Robotic Assistant, opensource general purpose service robot. Project last updated in 2012.[21] | General Purpose |
NimbRo-OP[22] | Similar concept as DARwIn-OP with 20 DoF, but larger (95 cm height), fisheye camera, and faster onboard computer. ROS based open-source software. Used by team NimbRo for RoboCup Humanoid TeenSize soccer competitions. | Humanoid robot used for playing soccer and human-robot interaction. |
Tingu | Open-source humanoid robot project. | humanoid |
DroidBot | Android Robot controlled over Bluetooth by App Inventor[23] | Arduino components |
r-One[24] | An Advanced, Low-Cost Robot for Research, Teaching, and Outreach | Education |
Salvius[25] | Open-source humanoid robot project, made from salvaged junk parts.[26] Started in 2008, last updated May 2016. | Humanoid |
Vizzy[27] | A humanoid on wheels for assistive robotics | Humanoid |
Open source assistive and domestic robots
Name | Description | Type |
---|---|---|
Autobed[28] | Web-controlled robotic bed developed by the Healthcare Robotics Lab at Georgia Tech.[29] | Robotic bed |
OADR | OADR, Open Autonomous Domestic Robots – An open source system for domestic cleaning robots using low-cost hardware[30] | Domestic robots |
Open-electronics DIY Arduino-Powered Robotic Vacuum Cleaner | An open source vacuum cleaner[31] | Robotic vacuum cleaners |
CesNieto DIY Vacuum Robot | DIY An open source vacuum cleaner [32] | Robotic vacuum cleaners |
LibreRVAC | Free/Libre/Open-Source firmware for vacuum cleaning robots [33] | Robotic vacuum cleaner firmware |
Other
Name | Description | Type |
---|---|---|
LH001[34] | Open Hardware Medical-Research liquid handling robot. Project last updated 2011.[35] | Liquid Handling |
multiplo | Building system with open-source hardware, electronics, software and documentation for prototyping robots[36] | - |
OHMM[37] | Open-hardware mobile manipulator | - |
Open Automaton Project[38] | - | - |
Q.bo[39] | - | - |
Qwerkbot[40] | Simple open-source robot from Carnegie Mellon University | |
Sparki[41] | Introductory arduino-powered robot.[42] | Education |
Sparky Jr. | Mobile Telepresence Research Project, Est. 1994[43] | - |
Open Robot Hardware | Open Robot Hardware is intended to serve as a resource for efforts focusing on Open and Open Source mechanical and electrical hardware, with a particular focus on projects that may be useful in robotics applications, robotics research and education.[44] | Open-Source Initiative/Community |
Balanduino | Arduino-compatible based on Arduino.[45] Licensed under BY-NC-SA, which is not compatible with the Open-source hardware definition. Bluetooth ready. Android app. | Self-balancing robot |
Orb Swarm[46] | Kinetic art: autonomous spherical robots exhibiting complex motion. Project last active May 2013. Open software but no comprehensive list of hardware parts. Not compatible with the Open-source hardware definition. | Exhibition- |
TOAZ | Artistic Robot: The World First Open-Source Carbon Fiber Transformable 4 Legs Robot under CC-BY-SA It is developed base on the Adafruit Feather Development Platform. | Open-Source |
Open source robotics middleware
Middleware are reusable hardware and software components that can be used in many different robotics projects.
Software components
By far the most common standard software are the interconnected,
- ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management and more. ROS is licensed under an open source, BSD license.[47] Currently running on 50+ robots[48]
- Gazebo multi-robot 3D physics simulator, compatible with ROS
Other systems include,
- URBI[49] (C++ distributed/embedded components framework + parallel/event-driven orchestration script language)
- MRPT provides developers with portable and well-tested applications and libraries covering data structures and algorithms employed in common robotics research areas. It is open source, released under the BSD license.[50] license.
- MOOS (lightweight robot framework. Used by MIT and Oxford autonomous vehicles.)
- YARP - Yet Another Robot Platform. Used in iCub.
- Autoware - full self-driving car software stack
- BRAHMS - message passing framework emphasizing precise timing and neuro-inspired models
- Player (robot framework, precursor to ROS, now largely deprecated)
- App Inventor for Android
- BlueBots,[51] free bluetooth remote for custom bluetooth projects, such as robotics. Works with Arduino (as Arduino Mega).
- Amarino, a toolkit, basically consisting of an Android application and an Arduino library.[52][53]
- NXJ An open-source Java programming environment for the Lego NXT robot kit (http://lejos.sourceforge.net/)
- CLARAty Robotics software developed by JPL as part of the Mars program.
- Orocos, C++ framework for component-based robot control software
- Rock (the Robot Construction Kit) (Software integration framework for robotic systems based on Orocos/RTT.)
- Orca (robot framework)
- MyRobotLab (robot framework)(Broken Link)
- RoboComp (robot framework)
- RUBICS
- CARMEN (robot simulator)
- TeamBots (robot simulator)
- Open Dynamics Engine (physics engine for modelling articulated rigid-body dynamics; used inside Gazebo and other simulators.)
- Robot Overlord an open source Java / OpenGL multi-robot simulator.
- Simbad robot simulator (robot simulator)
- STDR Simulator (multi-robot 2D simulator)
- Dave's Robotic Operating System
- Sparky Telepresence Controller
- Home brew robot software running on the consumer robotic platform Spykee
- OpenJAUS (robot / unmanned systems framework)
- RI-JAUS SDK A cross-platform, GPL-licensed C++ SDK implementing the JAUS protocol for robot control.
- OpenRTM-aist (robotics technology middleware)
- Open Platform for Robotic Services Component based framework, GUI editors in Eclipse and a Simulator, OPRoS Components
- miniBloq a graphical programming interface that allows to program robotic boards (Arduino Compatibles) without previous knowledge of programming[54]
- Artoo a Ruby microframework for robotics and physical computing
- EEROS, an Easy, Elegant, Reliable, Open and Safe Real-Time Robotics Software Framework
- LSTS Toolchain is a set of tools and frameworks for the development of Networked Robot Systems.
Hardware components
Many open source robots make extensive use of general open-source hardware (such as Arduino, Raspberry Pi, RISCV) as well as robotics-specific sensing and control components which include:
- Make Controller Kit
- Open Source Ecology—suite of mechanical tools which can be used to reproduce each other
- Arduino extensions for robotics can include Bluetooth4arduino[55] and Magician Chassis[56] / Ardumoto [57][58]
- The Rossum project open-sources certain robotic modules and tools (mappers, robot simulators, encoder designers, ...)
Advantages
- Long-term availability. Many non-open robots and components, especially at hobbyist level, are designed and sold by tiny startups which can disappear overnight, leaving customers without support. Open-source systems are guaranteed to have their designs available for ever so communities of users can, and do, continue support after the manufacturer has disappeared.
- Avoiding lock-in. A company relying on any particular non-open component exposes itself to business risk that the supplier could ratchet up prices after they have invested time and technology building on it. Open hardware can be manufacturered by anyone, creating competition or at least the potential for competition, which both remove this risk.
- Interchangeable software and/or hardware with common interfaces.
- Ability to modify and fork designs more easily for customisation.
- Scientific reproducibility - guarantees that other labs can replicate and extend work, leading to increased impact, citations and reputation for the designer.
- Lower-cost. Costs of a robot can be decreased dramatically when all components and tools are commodities. No component seller can hold a project to ransom by ratcheting the price of a critical component, as competing suppliers can easily be interchanged.
Drawbacks
- For commercial organisations, open-sourcing their own designs obviously means they can no longer make large profits through the traditional engineering business model of acting as the monopoly manufacturer or seller, because the open design can be manufactured and sold by anyone including direct competitors. Profit from engineering can come from three main sources: design, manufacturing, and support. As with other open source business models, commercial designers typically make profit via their association with the brand, which may still be trademarked. A valuable brand allows them to command a premium for their own manufactured products, as it can be associated with high quality and provide a quality guarantee to customers. The same brand is also used to command a premium on associated services, such as providing installation, maintenance, and integration support for the product. Again customers will typically pay more for the knowledge that this support is provided directly by the original designer, who therefore knows the product better than competitors.
- Some customers associate open source with amateurism, the hacker community, low quality and poor support. Serious companies using this business model may need to work harder to overcome this perception by emphasising their professionalism and brand to differentiate themselves from amateur efforts.
Popularity
A first sign of the increasing popularity of building robots yourself can be 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 and Leaf Project. Certain commercial companies now also produce kits for making simple robots.
A recurring problem in the community has been projects, especially on Kickstarter, promising to fully open-source their hardware and then reneging on this promise once funded, in order to profit from being the sole manufacturer and seller.
Popular applications include:
- Domestic tasks: vacuum cleaning, floor washing and automated mowing.[59][60]
- The use of RepRaps and other 3-D printers for rapid prototyping, art, toy manufacturing, educational aides, and open-source appropriate technology
- metalworks automation
- building electronic circuitry (printing and component placing of PCB-boards)
- transportation, i.e. self-driving vehicles
- combat robots, including manual controlled and autonomous contests
See also
<templatestyles src="Div col/styles.css"/>
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [1]
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Arduino Robot. Licensing information and source files are not currently stated nor easily found. Not compatible with the Open-source hardware definition.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ My Droid Robot controlled by App Inventor
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Autobed
- ↑ Open Autonomous Domestic Robots Open Autonomous Domestic Robots – An open source system for domestic cleaning robots using low-cost hardware
- ↑ DIY an Arduino-Powered Robotic Vacuum Cleaner
- ↑ DIY Vacuum Robot
- ↑ Free/Libre/Open-Source firmware for vacuum cleaning robots
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.terk.ri.cmu.edu/recipes/qwerkbot-classic/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [2]
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ ROS.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [3].
- ↑ BlueBots on Google Play.
- ↑ Amarino
- ↑ Android accelerometer/ Bluetooth / Arduino controlled robot.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ How to control Arduino board using an Android phone.
- ↑ Magician Chassis
- ↑ Ardumoto.
- ↑ Ardumoto- Motor Driver Shield
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.