Whenever you speak to robotics enthusiasts in India, they are sure to mention one or all of the following problems that stand in their way: the dearth of low-cost components, the lack of affordable but high-quality finished products, insufficient knowledge to identify the right components for an application to put them together efficiently, scarce support for complex products, and so on.
We set out to explore whether open source hardware could solve some or all of these problems, and were in for a pleasant surprise. Several members of the community felt it could certainly help, not only to sort out the existing problems, but also to improve the robotics scene in India in many other ways.
The robotics community faces different problems at different levels. Students, for example, seem to be affected by the unavailability of components. Praveen Pitchai is a member of RoboMSR, a group of robotics enthusiasts who are being mentored by Dr K G Srinivasa at the M S Ramaiah Institute of Technology, Bengaluru.
He says, “One of the major hurdles in the field of robotics in India is the lack of components. It is difficult to compete with the frontrunners in the field due to this very reason. Once a new component like a sensor or a micro-controller is found and acquired from vendors outside India, it becomes difficult to configure it to the required specifications within a project, as there are already set standards to be followed by the company that manufactures them. This not only increases the costs involved, but also the complexity.”
Rohit de Sa, nucleus member, Centre for Robotics and Intelligent Systems, BITS Pilani, adds, “Components in raw form (resistors, capacitors, chips) are available. However, good-quality finished products (for example, a microcontroller development board, or a long-range radio frequency transceiver) are difficult to find.”
On the other hand, Fahad Azad, managing partner of Robosoft Systems, feels that the lack of components by itself is not the main problem. “It has never been only the lack of components in most cases, but also the inability to identify the components required in an application. Even when the components are identified, they are out of reach due to economic factors; thus, the jugad mode kicks in,” he says.
All of those contacted agree that open source hardware (OSH) or open hardware can, in some way or the other, sort out these problems. Before looking at how this could be so, we need to understand what OSH really is; it is basically the concept of open source (as popularised by open source software) applied to the design and development of hardware components.
Open hardware is not free-of-cost hardware! It merely refers to hardware wherein the underlying technology or building blocks — the design and software — are also available to the user. That implies that design elements such as mechanical drawings, schematics, bill of materials, printed circuit board (PCB) layout data, hardware design language (HDL) source code and integrated circuit (IC) layout data, along with the software drivers and libraries, are all openly published and shared with others under open source licenses.
This enables engineers to use the hardware better, to embed it in other products, to customise it to their specific needs, manufacture modified or enhanced components, improve the design and share it back with the community of users and developers, and so on, as permitted by the licenses used. This model of hardware design and development appears to offer several benefits for the robotics community.
“Researchers have long been used to cranking out code in the morning and having a working prototype by the afternoon, but have been frustrated that they can’t do the same with hardware. That’s starting to change, and fast, driven in part by robotics enthusiasts and do-it-yourself types who are utilising a new generation of OSH platforms and rapid fabrication tools. We are starting to realise that we can control a laser cutter like a printer, and also a precision range-finder. That means the promise of creating new physical devices as quickly as Web apps are written, is just around the corner,” says Shekar N H, another RoboMSR member.
Shekar is inspired by Steve Cousins, a robotics researcher at Stanford, who is using his startup, Willow Garage, to show the world how open source development can help make low-cost personal robots. Shekar enthusiastically describes more of Cousins’ dreams: “Cousins’ company plans to make 10 robots running open source code and make them available to researchers around the country in an attempt to finally bring the world into the ‘Jetsons’ age, where a robot can mop the floor, empty the dishwasher, and even fetch and open a bottle of beer. OSH, complete with diagrams and self-assembly kits, is growing even faster than expected, because of these reasons and the opportunities created.”
Let us look at just some of the ways in which open source could help advance developments in the robotics domain.
- Reduced cost and time-to-market: “While open source software has helped in developing numerous innovative products and gadgets, in most cases, it has now reached a bottleneck due to the lack of similar platforms for hardware. Progress in robotics especially, depends on the development of cost-effective, innovative solutions using new-generation OSH platforms and rapid fabrication tools,” says T Jayakrishnan, director and country manager, Energid Robotics and Machine Vision. OSH, with its characteristic features of flexibility, modularity and reusability, would help do just that. The wheel never needs to be reinvented, and you can easily use open source intellectual property (IP) as building blocks for a new project. This kind of reuse reduces cost, and also speeds up the process of converting an idea into a finished product — especially the initial phases of feasibility analysis and proof-of-concept demonstration. It also fosters research and learning with little investment, and encourages innovation.
- Community support: One individual can never do as much as a community! So, it is always better to open up a system for a whole community to develop and improve. “Making hardware open-source helps foster a huge support community. If someone has already done something, users just have to plug-and-play, or contribute to the system and help it grow bigger and bigger,” says Azad.
- Common standards: A natural consequence of community development is the evolution of common standards, making it easy for other systems to integrate seamlessly with an open-source technology.
- Low-cost manufacturing: OSH makes not just component designs available, but also the knowledge required to convert raw components into good-quality finished products. This enables not just innovation and further improvement of product designs, but also low-cost manufacturing. People in any corner of the world, who think they have the resources and bandwidth to manufacture a product, can seek the required permissions and manufacture it based on the open-source designs and procedures. This kind of localised manufacturing would help bring down the cost of the components in various geographies.
- Easy hardware-software integration: It has also been found that due to the availability of complete specifications and the modular nature of OSH, it is easier to integrate hardware and software. Since no robotics project is complete, or even possible, without complex software systems today, this is a major benefit.
- A multi-disciplinary approach: A low-cost, Web-based community development model encourages many others to contribute. “When it is free, people are more willing to experiment with, and try out, something that they would not ordinarily have done. OSH allows absolutely anyone and everyone to contribute — even those who may not be engineers. If they have free access to some hardware, then even a biologist or an economist can chip in. So, OSH encourages the fusion of various streams of knowledge,” says de Sa.
|Just right for learners|
|OSH also happens to be a superb fit for learning kits. Azad explains why this is so: “The main aim of learning is to tinker around and see what a student can do with hardware. If everything is open, depending on the interest levels of the students, they can go as deep as they want to, to change the system or develop modules for the existing system. To make this happen, the students will have to understand the entire system, and how it functions. Without open systems, every batch of students would do the same task over and over again. With open-source kits, the students can add value, which could be shared all over the world, and when the next batch comes in, they can pick it up from there. In this process, if anyone wants to go back and change something, the files and data are always available, as it is open source.”|
A lot of well-known robots have been, and are being built using OSH. AcYut, BITS-Pilani’s humanoid robot that went on to win the RoboGames last year, is a brilliant example. The RobotCub project, funded by the European Commission to build iCub, a toddler-like humanoid robot, is also based on an open framework.
Vineet Sahu, another enthusiastic RoboMSR champion, points out that, “The ASIMO, which was a closed-source project, took almost 15 years to develop to the stage that it is at today, while the iCub project developed by the European Union as an open-source project took just six years to finish. This is a perfect example of the difference between closed and open source projects.”
Spykee, the network-controllable mobile robotic toy, is also advertised as an open-source robot, which can be integrated with other projects or modified to a user’s needs. E-puck, the education robot originally developed at the École Polytechnique Fédérale de Lausanne, Switzerland, for micro-engineering education, is also a classic piece of open engineering. The hardware designs as well as the on-board software of the seven-centimetre-tall differential-wheeled mobile robot are open source, and it is being built and sold by several companies now.
The Humanoid Robot project of Sweden is another example of open source, which has contributed greatly to the development of robot learning techniques. Virginia Tech’s Dynamic Anthropomorphic Robot with Intelligence–Open Platform (DARwIN-OP) is another recent example of an open-platform miniature humanoid robot that’s been developed for research, education and outreach. Users are encouraged to modify and use both the hardware and software aspects of DARwIN-OP. CAD files for all its parts, and instruction manuals for fabrication and assembly are available for free on the university’s website, and various software implementations are possible using C++, Python, LabVIEW, MATLAB, etc. The platform features advanced computational power, sophisticated sensors, a high payload capacity and dynamic motion ability.
All of Willow Garage’s projects, including PR2 and Turtlebot, are also typical open source examples. The robot operating system, ROS; the open-source computer vision libraries for real-time perception, called OpenCV; other components published by Stanford University’s Artificial Intelligence Laboratory and Steve Cousins’ Willow Garage have become quite popular in the robotics field.
Gostai, a French company that makes surveillance and telepresence robots marketed as part of the Jazz brand of products, is another open-source success story. With its tagline “Robotics for Everyone”, the company has not only demonstrated the benefits of using open components, but given back to the community by fully open-sourcing its prized piece of technology, Urbi — an open-source software platform to control robots.
Rohit de Sa points out two other interesting examples, “In the mechanical branch, MakerBot’s Thing-O-Matic and RepRap’s Mendel are both completely open-source 3D printers. You can actually print out mechanical parts using melted plastic! Incidentally, the Thing-O-Matic and the Mendel, both use other OSH for their control electronics. So what we’re seeing here is a symbiotic relation between multiple branches of engineering. Electronics feeds mechanical engineering, which feeds something else, and so on and so forth.”
Take your pick
One of the biggest examples of OSH, which is widely used by the robotics community in India, is Arduino — an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. The Arduino board can receive inputs from a variety of sensors, and in turn control external factors like lights, motors and actuators.
Arduino’s reference designs are available on the company’s website as CAD files, and can be modified to suit the user’s needs. The board itself can either be bought assembled or built by the user based on the designs. The microcontroller on the board is programmed using the Arduino programming language and the Arduino development environment, all of which can be downloaded for free from the Arduino website.
“The Arduino platform is creating a revolution in the field of robotics, as it is simple to use. The board is also flexible, in the sense that there can be different voltages taken from the same board, there can be digital signals and analogue signals given as inputs, the size of the microcontroller can vary from being an Atmega8 to an Atmega2560, and so on. Plus, there are various interfaces for different hardware components, from the very basic to the more complex. There are also various types of boards available for different utilities. There are many projects that are being carried out with the help of this board, for hobbyists as well as for researchers,” says Pitchai.
Arduino is quickly gaining traction in India, and growing to be the favourite platform for low-end robotics and learning kits. Azad says his start-up is also using Arduino widely in its projects: “We sell open-source boards based on Arduino, and teach students robotics through it. In a few years’ time, Arduino will become a standard platform for teaching microcontrollers and robotics to students in colleges.”
Another popularly used platform in India is the Beagle Board, an interesting piece of OSH developed by a skilled community including several employees of Texas Instruments (TI). The Beagle Board is a low-cost, fan-less, single-board computer based on low-power TI processors, featuring the ARM Cortex-A8. It is known for being light but highly expandable. Jayakrishnan says that Energid uses the Beagle Board for remote-control video processing in some of its products.
BITS-Pilani’s Centre for Robotics and Intelligent Systems (CRIS) has developed microcontroller hardware for use by students in their courses. “All designs, software and source code are released under the Creative Commons Attribution Share-Alike (India) license for use by students of BITS, and anyone else,” says de Sa.
A lot of open-source software is also used in robotics. We have already mentioned some software platforms such as ROS, OpenCV and Urbi. OpenRAVE is another open-source, cross-platform, plugin-based robot planning architecture that serves all planning and execution purposes. It includes services like collision detection, robot kinematics, physics, robot controls, and a network scripting environment. This was developed at Carnegie Mellon University.
OpenJAUS and RI-JAUS software development kits are used in the joint architecture for unmanned systems, and include several useful code components in C++, as well as software to standardise an unmanned system automatically. Orocos is an open-source tool-chain for real-time robotics that covers all aspects of robot control. Orca is an open-source framework for developing component-based robotic systems. Player is another tool to create software architectures for robotics and sensor systems, and also provides the simulation platforms, Stage and Gazebo, for testing the tools.
The Rossum Project is an attempt to collect, develop and distribute software for robotics applications, and is a great starting point for those looking for open-source tools for their robotic projects.
The journey is just beginning
Summing up the current situation, Jayakrishnan says, “While some specialised tools and platforms are available, currently most of the available open-source robotics components are being borrowed from other fairly mature fields, such as radio-controlled modelling, multimedia, computer gaming, professional toys, etc. Entries to robotic games such as Micromouse and RoboSoccer currently use a lot of open-source components. Another trend is to build a generic platform targeting a particular area, like wheel robots, for instance, and then make the software open-source. Surveyor Corporation’s SRV-1 robot is an example.”
It appears the open-source trend in robotics is set to grow stronger in the future, and with it, the advancements in robotics. This requires the community to give back as much as it consumes. This can be done by starting new open-source projects and uploading your designs, or by improving the hardware and software belonging to existing projects that you utilise. You can contribute CAD files for hardware components, Gerber files in the case of PCB layouts, the Initial Graphics Exchange Specification (IGES) files for mechanical components, and software code, for new and existing open-source projects.
Azad says, “Right now, the open-source community in robotics is at a very nascent stage, and a lot of organisations are coming up with their own standards, so some components and codes are not compatible. In time, there will be one unified platform like Ubuntu or Fedora, which will be universally accepted by all. Once the software is set, the hardware will be developed accordingly, as per the performance of the robot and the types of sensors needed to be integrated. This will help develop a plug-and-play scenario for sensors, actuators, hardware and software.”
In all, open source seems to hold a lot of promise for the future. De Sa feels, “The future is bright, but it’ll take a while to catch on in India, where people are still wary of releasing their designs to the public. It takes a certain level of mutual trust to say, ‘I’ll share with you; please share with me’.”
At the same time, Jayakrishnan is being rather practical when he concludes that both open source and closed source have roles to play in robotics. “I think it is important to realise that it isn’t one over the other, but how both together contribute to the advancement of robotics. Open source is more accessible and lower-cost, but large, centrally organised investments can be made in the closed source space, allowing faster development when there is a great need.”
|While open-source has a lot of tools to offer the robotics community, there is more to be wished for. Here are some things that the community wishes would be available as open source
|An open-source model for your business|
|Being a nascent industry, it would be worthwhile for robotics startups to consider an open-source model for their business. This is also quite profitable, as can be seen from the success stories in the software field such as Red Hat, et al.
There are tried and tested business models, specifically for OSH. These include the Forty Percent Model, the Third-Party Catch and Semi-transparent Pricing models. Read more about these here.