Recently, there is rising interest in robots and AI (Artificial Intelligence). Earlier this year, there was a man vs. computer face-off pairing Google AlphaGo against Saedol Lee in a Go tournament that lead to a lot of press coverage of AI. Without exception, humanoid robots appear in the videos and pictures of AI coverage in the press.
AI and robot technology are closely related and global IT companies share an interest in and are investing in both fields. Google has acquired 9 of the top firms in the robotics industry that developed the AI technology implemented in AlphaGo: Google DeepMind, Autofuss, Bot & Dolly, Holomni, Industrial Perception, Redwood, Mekarobotics, Boston Dynamics and Schaft. This is the reason Google is considered the world leader in Robotics instead of the Japanese companies Honda, Sony, Fanuc and Toshiba or the German firm Kuka.
There are already accounts in the press about SoftBank, the maker of the humanoid Pepper, forming a partnership with IBM Watson to develop the Japanese intelligent robot technology industry.
However, it will take time to vitalize the humanoid robot industry to the degree the smartphone industry has been developed. As various firms battle to become the leader in the industry, it will be very much like a war.
IoT is currently being implemented in products such as smart TVs and smart cars, and as the technology expands, experts are saying that robots will be the next items to be integrated. It seems like robot software platforms in the robot engineering field will be what makes this a reality.
Today we will take a closer look at the intelligent robot software platforms that are receiving attention as the next IoT target.
Let’s first define what the word ‘robot’ means. Most of us have a vague concept of what a robot is, but if we simply define the word robot, the definition would likely be something similar to ‘a machine that is similar in form to a human and carries out operations or work that a human does’.
So, then how can we define what an intelligent robot is? An intelligent robot is an intelligent mechanized system that can sense the environment around it, process situations and act on its own.
In the definition of an intelligent robot, the 3 core technologies are intelligence technology, control technology and component technology. Among these technologies, intelligence technology can be divided into 3 categories: sensors, cognition and software. In this article, we will discuss software platforms that go into intelligence technology.
As mentioned before, competition in the robot software platform industry has become very heated.
Let’s take a look at the MRSRS development platform implemented by Microsoft, US developed ROS, European iCub and OROCOS as well as the Korean developed OPRoS.
① ROS (Robot Operating System)
ROS is an open source robot software framework that offers various development and debugging tools such as hardware abstraction, subordinate device control, sensing, detection, mapping, motion planning functionality, message transmission, package management and development environments that are required for robot operating systems.
ROS is more of a meta-operating system for the operation of Linux OS than a robot operating system.
ROS began in May of 2007 as a switchyard system for the STAIR (Stanford AI Robot) project run by the Stanford University AI Laboratory. Soon after, in November of 2007, Willow Garage received the technology and began developing it under the name ROS, and now the OSRF (Open Source Robotics Foundation) is running the ROS project.
Currently, over 20 organizations are cooperating on development of ROS and it is being offered publicly as open source under the BSDL (Berkeley Software Distribution License).
ROS first became known through associations related to robots. The ROSDay and ROSCon conferences were opened targeting developers and users while ROS Meetup is now made up of various communities in the industry.
Companies are also actively developing robots with ROS. Examples of these robots are the personal robots PR2 and Turtlebot developed by Willow Garage.
The main objective of ROS is to support reuse of the code implemented in robot development. ROS code can be combined with other robot software frameworks such as the 3D simulator Gazebo, the open source video manager OpenCV, PCL (Point Cloud Library) and the motion planning library MoveIt and many developers are taking advantage of this feature.
ROS is expanding the development ecosystem and growing as the robot software framework that is receiving the most attention.
The main open source humanoid project in the EU is iCub. It was developed at ITT (Istituto Italiano di Tecnologia) and has now been adopted by over 20 research centers globally. This project is popular for offering electronic circuitry, hardware designs and software. The software is made public under the GPL (General Public License).
The iCub robot is made up of 53 motors that can move the head, arms, hands, waist and legs.
iCub is being developed with the motif of a 2-3 year old child and was designed to have the cognition of a small child that learns through interaction with other people using various sensor systems.
Since iCub is being developed across many countries and at many different laboratories, there is no set output schedule but the project is structured so that R&D is a continuous process.
③ OROCOS (Open Robot Control Software)
OROCOS is real-time control based platform development project developed in cooperation in the EU, in Belgium (K. U. Leuven), France (LAAS Toulouse) and Sweden (KTH Stolkholm). Development on OROCOS began in September of 2001 and the first version was released in the summer of 2002. OROCOS stands for Open Robot Control Software and was designed for the development of robot platform independent software framework for robots and machines and a broad spectrum of free software development.
OROCOS supports 4 C++ libraries such as Real-Time Toolkit, Kinematics, Dynamics Library and Bayesian Filtering Library for the application development and building the Library which is possible to use is important in projects.
OROCOS supports Real-Time Toolkit which has an advantage of allowing the use of previously used components and other unfamiliar components.
For example, in 2007, the Berlin Racing Team entered the Urban Grand Challenge Competition with a car implementing the OROCOS’ Real-Time Toolkit. Also, the KUKA YouBot was introduced to attendees of the EU Robotics Forum in Sweden in April of 2011.
But, OROCOS only offers the C++ class structure without the development tools or components and has a structure that is not suitable for non-real-time multimedia services.
④ OPRoS (Open Platform for Robotic Services)
In 2007, the Korean Association of Robot Industry began OPRoS (Open Platform for Robotic Services) in a move to spark the development of open platform technology for the development of intelligent robots. OPRoS is a Korean open source project for making component based platforms with a high level of reusability and past implementation.
OPRoS has dual licenses, the LGPL and an individual commercial license. The LGPL is for using OPRoS source code without making any changes or publishing the altered code, and the individual commercial license is for not publishing the changed source code.
OPRoS offers all developed source codes available on the public site. OPRoS holds free training events and competitions and does planning and management to popularize the platform but as of yet it has not caught to the degree that ROS has.
⑤ MRSRS (Microsoft Robotics Studio)
MRSRS stands for Microsoft Robotics Studio and is an development tool and environment that provides support to individuals interested in programming in the robot field with various robot applications needed in robot hardware development.
At the end of 2006, the VPL (Visual Programming Language) was released and offered tools to high-level developers for C# services and simulation programming.
MRSRS has a unique feature that allows developers to test programs in a 3D engine based simulation environment without the actual robot hardware. Programming is required with consideration given to multiple physical factors for precise control of the robot. This feature is important for high-level robot programming with a physical engine based simulation when the actual physical robot is not available.
Japanese various robot software platforms such as OpenRTM (AIST), NAOqi OS (SoftBank) and ERSP (Evolution Robotics) are also being developed.
We have now taking a brief look at some robot software platforms. So, why is robot software so important? Currently, the Korean robot industry is developing robots in the industrial, defense, medical and disaster relief fields but in the near future, firms are expected to show increasing growth in the service robot field. Experts predict that the global robot market will reach USD 60B by 2020.
The growth of the robot market refers to the growth of the ecosystem in the robot field. Software will be the most important factor in the growth of this ecosystem and through this growth, a new IoT service will arise.
As robots become as much of an integral part of our lives as smartphones, many new robots and new services will be created. Software platforms may be just the thing that makes this change possible. The robot era will soon be here and robots will make our lives richer and happier.
Written by Jeongsik Kim, LG CNS
- Artificial Intelligence – Tailored Smart Solutions Today, True Intelligence Tomorrow
- Artificial Intelligence in China
- Not Like a Human, but Like a Human -Artificial Intelligence Computing (Part 2)-
- LG CNS Develops Android SDK for Humanoid ‘Pepper’
- Robots – The Age of Adaptive Robots
- How Will the Future of IT Change Labor?