Using Open Source Code To Improve Robotics
The future of humanity might well be a robotic one, full of intelligent open-source robots that could nourish the elderly, perform the precision operation, or work beside you at the office. As you could imagine, the process of engineering and designing these robots is not as straightforward nor as streamlined as it could be.
After all, many working in the field found themselves beginning from scratch when starting a new task, re-implementing the software infrastructure that robotics algorithms are created upon. The end result is that too much time is wasted on “re-inventing the wheel” instead of developing advanced robotics software.
For some open source solutions, such as those being provided by Open Robotics, a company that has its roots in Stanford University and Willow Garage, a renowned tech business incubator. In the latest Amazon Web Services’ Re: Invent user conference, Alejandra Olvera-Novack, AWS Developer Advocate, addressed the potential applications of the Open Robotics software. One such example is to operate a robotic dog. A robotic dog, although not as cuddle, requires less maintenance and might offer more helpful information in times of crisis.
Launched as a nonprofit back in 2012, Open Robotics today works with academia, industry, government, and businesses to make and support open-source robotics software and hardware at multiple stages of the process, from education and research to product development and installation.
As per the latest LinkedIn data, AI jobs are up 74 percent, while data science projects are up 37% since 2015. Less visible, but emerging in importance, are the robots powered by this data science. Little wonder, then, that the second-thriving job in LinkedIn’s data is the robotics engineer, undergoing a steady growth of 40% since 2015.
While the open-source projects supporting the growth of data science are relatively well known, most individuals are not aware that robotics is also profoundly affected by the open-source and, particularly, by the Robot Operating System (ROS). Provided the significance of ROS to the growth, open-source robotics community, it is worth learning a little more.
Robot Operating System (ROS)
Despite its name, ROS isn’t really an operating system. It runs atop a large selection of operating systems, usually Linux.
The best way to explain ROS to some technical audience would say ROS is to robotics as Ruby on Rails or Node is to web development. This is to state ROS is a set of tools for configuring, debugging, creating, building, and running complex systems. ROS is a system that may be used to share signs and information between computer programs that compose a larger robotic system. For example, you would like to hook this up to some large arm, and in case you’ve got a camera if you have a camera. You want to hook it up to a large industrial arm, ROS enables you to connect to these components, send and receive information to or from them, and write code to glue behaviors together.
What Makes It Significant As Compared To Other Similar Tools In The Industry?
There are not any similar tools within the market. At least not one which you can purchase commercially. Due to its age, global user base, and federated development design, ROS has tools for any robotics application. While there are vendors that might have application-specific options for vertical markets, not one of them is equipped with worldwide robotics development.
The Robot Running System Is Not Limited To Academics
In its initial form, ROS was initially driven by and provided to the hobbyist and academic communities, who built thousands of add-on packages to enhance ROS. This extensibility has always been a core requirement for ROS and, as such, Open Robotics (the basis behind ROS) CEO Brian Gerkey reported, “We did a lot of hard work in setting levels of abstraction (typically through message ports) that would allow much of the software to be reused elsewhere.”
While ROS was extensible, it lacked powerful security and real-time communicating, which makes it a bad fit for general industrial automation (IA) systems. Even so, because of ROS’s potential and community, some IA organizations invested significant resources in making it work for their mission-critical applications.
Benefits Of The Open Source Approach In Robotics
Open-source software runs most of the world, from the cloud all the way down to embedded devices in your dwelling. The reason why is that the time to the industry with open source is so much limited; that is to say, smaller teams can build more value, faster. Open source makes it much easier to train programmers, perform development and research, and foster cooperation between vendors. ROS would make it possible to use any camera on a robotic arm. All you have to do is create an interface, and there is probably someone who has already done this earlier.
The use of open source technologies also stops businesses from relying on a single vendor or source. One of the reasons that Open Robotics was produced out of Willow Garage was to make sure that the organization was not tied to a single company.
Before ROS, every roboticist needed to begin their study from scratch. There little in the way of shared resources or tools. Up to now, the most significant advantage of using ROS is that it is sophisticated robot software that, in several cases, has already been proven to work on a robot.
Downsides To ROS Being Open Source
The disadvantages of ROS are like any other open-source project. While the ROS is free to use, that does not mean that developing that software, or extending it, is free. While things work well, it’s up to the developer to check that software suits their application’s functionality specifications. A variety of organizations are available to give help, information, and support to ROS users.
What are A few of the challenges in implementing and creating open-source robotics tools?
Our greatest challenge lies in balancing priorities and the needs of a diverse and global community of stakeholders. The Gazebo and ROS user base combine groups of hobbyists, students, researchers, entrepreneurs, and developers, who are currently writing code for automobiles, boats, airplanes, humanoids, and toys, among other applications. Our software platforms have shown general and flexible enough to satisfy many, possibly most, of these groups. But we must continuously work to balance and prioritize the use cases that we wish to support.
Some Recent Examples How ROS Has Helped Robotics Programmers
Simbe Robotics is a significant case study for the application of ROS. Simbe produces the Tally robot, which can be used by local institutions for tasks such as out-of-stock management, inventory tracking, promotion execution, and planogram compliance. Many reporters are currently working with Simbe to release a paper about their experience. They think that ROS saved them 22 developer-years in creating the Tally robot. Some remained relatively lean during the product development stage and was founded in 2015, and what they have been able to attain has been nothing less than amazing.
Simbe is only one example of how ROS is currently helping robotics companies, and there are several others. In September of 2019, 6 River Systems, a business that uses ROS in its own logistics robot, was acquired for $450 million. Moreover, four robotics start-ups rose close to 144 million dollars in venture capital over a single recent month. The short of this is that ROS is the open-source technologies driving much of the progress in robotics.
Upgrading To Gazebo And ROS & Issues They Address
Open Robotics is now in the process of switching from the primary ROS (or “ROS 1″) to ROS 2. Right now, we’re currently working to push evolution and the adoption of ROS 2 with a well-established ROS 1 consumer base. We’re currently working on the thirteenth and last release of ROS 1 that has maintained reasonably stable API for around ten years.
ROS 2 is the opportunity to address the problems that might have limited ROS 1 previously, and create a mature and open platform for another twenty years of robotics development. We released our model Eloquent Elusor of ROS 2, and we believe it is time for the community to start making the shift. Open Robotics is a company that thrives on collaboration and feedback, and we want our user community to begin making suggestions and to convert their code bases to ROS 2.
ROS 2 addresses a lot of ROS 1’s shortcomings about reliability and security. ROS 2 makes it easier to build ROS hardware interfaces, which opens up an entirely new world for hardware makers. With ROS 2, we are working on something more significant. We are not working on a set of software packages — we are working on a robust interface for future robotic systems.
We’re also making a similar transition. The upcoming version of Gazebo is now underway and is known as Ignition. Ignition allows you to make a robot “in a simulation” and examine it in a realistic virtual environment, similar in some ways to some video game. This technique is powerful since it allows developers to develop and test the code without needing to sit in front of a robot and wait to run their commands.
Simulation becomes an incredible tool for analyzing robot behaviors when combined with cloud computing. Using the cloud, you can operate a robot by a simulation environment with changes to the robot’s behavior or the environment; you can repeat this procedure thousands of times. This allows the robot developers to be much more productive and will enable us to better test the functionality of the robots we build. Additionally, it means that multiple developers can all work on the same robot simultaneously.
Ignition’s Simulation abilities have made it much easier to get into robotics development. You do not have to build a robot, you require a laptop and an idea. By detaching hardware development from software development, we have opened up robotics to a broader audience around the globe, and companies are starting to take notice.