If you speak to robotics enthusiasts in India, they are sure to complain about dearth of low-cost components, lack of affordable but high quality finished products, insufficient knowledge to identify the right components for an application and put them together efficiently, scarce support for complex products and so on.
We set out to explore whether Open Source hardware (OSH) could be of any help, and were in for a pleasant surprise as several members of the community felt that it could not only sort out the existing problems but also 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, a member of RoboMSR, a group of robotics enthusiasts who are being mentored by Dr K.G. Srinivasa at M.S. Ramaiah Institute of Technology, Bengaluru, says, “There is a dearth of reliable and low-cost components manufactured in India. It is difficult to compete with the frontrunners in the field of robotics due to this very reason. Once a new component like a sensor or a microcontroller is found and acquired from vendors outside India, it becomes difficult to configure it to the required specifications within a project as there are set standards to be followed by the company that manufactures them. This increases not only the costs involved in a project but also its 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 India for most of the cases but also lack of skills 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.
Open source could be the panacea
All three agree that OSH or open hardware, in some form or the other, can sort out these problems.
• Comparison between open and closed sources: http://en.wikipedia.org/wiki/Comparison_of_open_source_and_closed_source
OSH is basically the concept of Open Source (as popularized by Open Source software) applied to the design and development of hardware components. Open hardware is not free-of-cost. It merely refers to the hardware for which the underlying technology or building blocks—the design and software—are also available to the user. That is, 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 software drivers and libraries, are all openly published and shared with others through Open Source licenses. This enables engineers to use the hardware better, embed it in other products, customise it to their specific needs, manufacture the 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 respective Open Source licences used. This model of hardware design and development appears to hold 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 utilizing a new generation of OSH platforms and rapid fabrication tools. We are starting to realize 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’s thoughts are inspired by Steve Cousins, a robotics researcher at Stanford who is using his start-up Willow Garage to show the world how Open Source development can help make low-cost personal robots. Shekar enthusiastically shares more of Cousins’ dreams: “Cousins’ company plans to make ten 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 assemble-yourself kits, is growing faster than expected because of these reasons and the opportunities created.”
Let us look at some of the ways in which Open Source could help improve robotics.
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 utilizing a new generation of OSH platforms and rapid fabrication tools,” says T. Jayakrishnan, director and country manager, Energid Robotics and Machine Vision.
Open hardware 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 not only reduces the cost but also speeds up conversion of 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, encouraging 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 generate a huge support community. If someone has already done something, the users just have to plug-and-play or contribute to the system and help it grow 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. Often, open hardware makes available not just component designs 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. Anybody who has the resources and bandwidth to manufacture a product can seek the required permissions and manufacture the product based on Open Source designs and procedures. This kind of localized manufacturing would help bring down the cost of components in various geographies.
Easy hardware-software integration. The availability of complete specifications and modular nature make open hardware easier to integrate with software. Since no robotics project is complete, or even possible, without complex software systems today, this is a major benefit.
Multi-disciplinary approach. A low-cost, Web-based community development model encourages many to contribute. “When it is free, people are more willing to experiment with and try out something that they would not ordinarily have done. Open hardware allows absolutely anyone and everyone to contribute—the person may or may not be an engineer, but if he has free access to some hardware, even a biologist or an economist can chip in. So open hardware encourages the fusion of various streams of knowledge,” says de Sa.
A lot of well-known robots have been, and are being built using OSH.
AcYut, BITS-Pilani’s humanoid robot that won the RoboGames last year, is a brilliant example. The RobotCub project (www.robotcub.org) funded by the European Commission to build iCub, a toddler-like humanoid robot, is also based on an open framework. Vineet Sahu, another of the enthusiastic RoboMSR champions, points out that, “The ASIMO which was a closed source project took almost 15 years to develop to the stage that we know it to be 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.”
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 onboard software of the 7cm 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 Open Source example which has contributed greatly to the development of robot learning techniques. Virginia Tech’s Dynamic Anthropomorphic Robot with Intelligence-Open Platform (DARwIN-OP) is a recent example of an open-platform miniature humanoid robot 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 of its parts and instructions 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, 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 and other components published by Stanford University’s Artificial Intel-ligence Laboratory and Steve Cousins’ Willow Garage have become quite popular in the robotics field.
Gostai, a French company that makes surveillance and telepresence robots under its Jazz line of products, is another Open Source success story. With “Robotics for Everyone” as its tagline, the company has not only demonstrated the benefits of using open components but given back to the community, by completely 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, which feeds some-thing else, and so on and so forth.”
Take your pick
One of the biggest examples of open hardware used vastly by the robotics community in India is Arduino. Arduino is 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 its 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, both of which can be downloaded for free from the Arduino website www.arduino.cc
“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 an ATmega8 to an ATmega2560, and so on. Plus, there are various interfaces for different hardware components starting 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 become the favourite platform for low-end robotics and learning kits. Azad informs that his start-up is also using Arduino widely in its projects: “We are selling 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 open hardware developed by a skilled community including several employees of Texas Instruments (TI). The Beagle Board is a low-cost, fanless, single-board computer based on low-power TI processors featuring the ARM Cortex-A8. It is known for being light but highly expandable. Jayakrishnan informs 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) licence for use by students of BITS and anyone else,” says de Sa.
• Custom mechanical hardware
• Sensor technology (especially light detection and ranging sensors)
• Modular robot actuators
• Common input power, common communication and control protocols
• Modular, reconfigurable robot designs
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, plug-in-based robot planning architecture that serves all planning and execution purposes. Developed at Carnegie Mellon University, it includes services like collision detection, robot kinematics, physics, robot controls and a network scripting environment.
OpenJAUS and RI-JAUS software development kits used in the joint architecture for unmanned systems 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. It also provides simulation platforms Stage and Gazebo for testing the tools.
There are tried and tested business models, specifically for open hardware. These include the Forty Percent Model, the Third-Party Catch and Semi-transparent Pricing model, etc. Read more about these at www.longtail.com/the_long_tail/2009/01/ a-business-mode.html
The Rossum Project (http://rossum.sourceforge.net/)—an attempt to collect, develop and distribute software for robotics applications—is a great starting point for those looking for Open Source tools for their robotics projects.
It is just the 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 and professional toys. 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, say, wheel robots, and then make the software Open Source. Surveyor Corporation’s SRV-1 robot is an example.”
Open Source in robotics is sure to strengthen in the future enabling much advancement 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 your existing projects. You can contribute CAD files for hardware components, Gerber files in the case of PCB layouts, Initial Graphics Exchange Specification (IGES) files for mechanic 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 incompatible. There will be in time 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. However, de Sa feels, “It will 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.””
Jayakrishnan concludes by saying 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 closed source, allowing faster development,” he says.
The author is a technically-qualified freelance writer, editor and hands-on mom based in Singapore