Sascha Griffiths, Researcher Manager at Ortelio Ltd was interviewed by Tomas Moron Conte interviewed me for the Estadão QR a newspaper in São Paulo, São Paulo, Brazil. In the following url you can find the interview in Portugese: https://www.linkedin.com/pulse/nuvem-também-é-dos-robôs-estadão-qr/
Below you can find the interview translated in English:
- After all, what is cloud robotics? What are its functions?
Cloud robotics comprises three elements: robotics, artificial intelligence and cloud computing. Before the paradigm was known as cloud robotics, it was basically called “web-enabled robotics”. The idea was that robots reach limits of their knowledge and skills and used the Internet just like a human would. However, like humans don’t just enter random URLs in order of obtaining knowledge from the world wide web, robots would consult a specialized “search engine” for them which like the Google search engine, Alexa or Cortana would “speak their language”. In this paradigm the robot would be mainly autonomous, and the cloud would be a type of search engine which returns knowledge in a way that the robot can use that knowledge. In reality, most robots are not (fully) autonomous and generally artificially intelligent. Thus, cloud robotics is a means of using modern cloud computing to deploy artificial intelligence or in a broader sense software and knowledge onto robots. Artificial intelligence in many ways has become synonymous with machine learning or deep learning. The modern methods of deep learning have not really been made possible by great leaps in our understanding of algorithms – some of the modern algorithms at least conceptually were already envisioned in the late 1980s and early 1990s; there large scale use was, however, only made possible through increase in processing speed, larger memory, increased storage resources and parallelization. Like one would not and essentially could not do deep learning directly on a mobile phone laptop or regular home computer, one would not do this type of resource intensive computing on a robot of any standard description. In essence, thus, cloud robotics offers resources related to processing, memory and storage to a robot. Often, cloud robotics is just equated with “offloading heavy computation into the cloud”. This makes robots lighter and cheaper, by not having to have dedicated additional computers on or close to the robot, as well as, faster and more efficient, by not having too many processes running in the background and more powerful or intelligent, by allowing robots to benefit from advances in artificial intelligence of the type described above. At the simplest level, cloud robotics just makes a robots battery last longer through the previously named methods but at the more ambitious end robots will also become more powerful. If cloud robotics is used to its full potential, there is no need to develop software for one particular robot or a specific type of robots. Instead we can program software in an abstract way so that artificial intelligence methods can be deployed on a larger number of (potentially very) different robots. This can, for example be related to navigation, object or face recognition, or speech and language related tasks.
- How does the exchange of data and intel between robots through the cloud work?
In essence, the robot just becomes a networked computer, as opposed to being stuck with its limited resources and knowledge. The robot can be connected to a network and finally the cloud via a cable, wifi or telecommunication networks. Actually, latency is still one of the key issues in cloud computing. 5G telecommunication networks are one of the big hopes in this respect. Robots connect to a cloud the same way that a mobile device – a laptop, a tablet, a phone – would connect to the internet and they exchange information the same way. The question is always how fast the response is needed on the robot. One of the main challenges of cloud robotics is to have all the advanced computation available to the robot while at the time allowing the cloud to provide answers in an acceptable time. One example of this is how one would handle maps. A robot can explore a room and get an entire 3D image and map of a room. The upload takes quite some time but once one robot has explored the room, others do not have to do the same task again over and over. The cloud would “process” the data that comes in from one robot and for example attach a name (or label) to the objects in the room – this is called a semantic map. The cloud can give faster responses, while the upload of a 3-dimensional map takes time, the robots can download a tailored map which can be received faster than the original map. While a drone needs information about lamps close to the ceiling, a mobile robot these do not pose an obstacle for a mobile robot which can serve drinks, for example. However, such a robot would have to know where tables are which in turn is not relevant again to a small vacuum cleaning robot which can just pass through under a table. Thus, the cloud only passes out slices of the full 3D map.
- What are the major benefits of cloud robotics? For instance, in questions like costs reduction and efficiency?
Cloud robotics makes robots more efficient and reduces costs of robotic solutions on several levels. At its core, cloud robotics off-loads the necessity for onboard computing on a robot. These robots can be built with minimal computing resources while potentially having access to almost “unlimited”, so to speak, computing resources. In a more concrete example, if a robot is supposed to have advanced learning capabilities it would be “delivered” by the vendor with a separate computer which can handle some deep learning. However, if the learning does not need to happen in real-time, one can replace said computer with access to the same or, actually, even more powerful computing resources via the cloud. This is the main way in which cloud robotics reduces costs; however, there is more to it. Having fewer processes running on a robot reduces the battery consumption. That is beneficial on in terms of costs and efficiency but of course also to be welcomed in terms of sustainable technologies. Finally, there is the added benefit of the actual distribution of labor between cloud robotics and other branches of robotics. Many robots are still single purpose machines or highly specialized equipment. Concretely, most robots are in factories in the automobile industry and have a single task. The market for multipurpose humanoid (i.e. human looking) robots is still very small. For the latter, companies now being founded are simplifying the task of creating social robots by removing the aspect of actually having a moving robot and just building talking devices with articulated faces of some description. Cloud robotics offers a solution here which lies in the task sharing between developers. Cloud robotics offers solutions to problems outside of the focus of other robot developers. Instead of investing resources into areas outside of the company’s expertise, the developers can rely on solutions from the cloud. This often is not only a cost factor but also leverages expertise which is never 100% balanced with respect to all tasks. Cloud robotics offers easier development of potentially high-quality solutions and functionalities which other robotics vendors only have to integrate instead of reinventing the wheel over and over. One big technology company’s CTO recently argued against this background that cloud robotics will accelerate artificial intelligence for robots.
- Of what a cloud robotics platform is composed?
A cloud robotics platform is essentially a collection of software bundles which reside in a more powerful computing infrastructure than a robot platform could provide on its own. Robotics is still catching up on cloud computing to a large extent and therefore there is still a lot to be learned about parallel computing, server structure and communication between cloud and robot. However, apart from managing the “external computing hardware” and the connection between robot and cloud, there is also a need to think about new ways of securing said connection. Thus, cybersecurity will also become an issue in robotics, now more than previously. However, software engineering and standards of how robots are controlled are also part of the software side of what cloud robotics is concerned with. In essence to “do” cloud robotics, one needs some server infrastructure which provides remote and advanced computing resources, means of establishing and maintaining a stable connection between the robot and the cloud, a standard of how information, data and instructions are communicated between the cloud and a large variety of robots, a collection of artificial intelligence tools to increase the functionality of the robots connected to the cloud, further software which coordinates the exchanges between the artificial intelligence algorithms and the robot’s onboard software and further software which ensures efficiency and security of the overall communication.
- How the use of cloud robotics can improve and benefit smart cities? I mean, what is the importance of the connectivity provided by cloud robotics for smart cities?
Through cloud robotics, robots will become part of the interconnected world that new technologies are currently creating. Like other physical and software components of smart cities robots will just become part of the landscape of cyber-physical systems. ‘Cyber-physical systems’ is just a term for new technologies in which software components and physical components are closely intertwined. The question really is whether one counts machines such as smart-home devices, autonomous cars or even an intelligent refrigerator as distinct from robots or part of robotics. Most roboticists would see self-driving cars and drones as part of the robotics landscape whereas other people, be they experts or lay people, would perhaps not. Cloud robotics is a means of specifically tackling the connectivity of machines generally excepted as robots into the larger ecosystem of artificial intelligence and the Internet interacting with humans and their environments. These environments are increasingly technology-centred while still being human-centred at their core. The environments include self-driving cars, smart roads, smart buildings and a large variety of robots. The connectedness of all devices some of which only live on servers and the internet and others in the physical world will only increase and cloud robotics is a means of connecting robots on an individual basis to the larger infrastructure of smart cities. A little pithier one could just say that to a roboticist all issues connected to smart cities are basically elements of modern robotics whereas from the smart cities intelligent robots will be part of the make-up of smart cities. Whether one is speaking about an upsurge in robotics, smart cities – it’s all about modern technology which is connected not only among technologies but also to users. Cloud robotics is the effort get robots connected to that specific network of new and older technologies.
- How cloud robotics can boost SLAM (Simultaneous Localization and Mapping)? What is the importance of this to smart cities?
SLAM is usually a heavy computational algorithm which requires a lot of resources from the robot. Moving SLAM to the cloud we can free the robot and leave the safety and security to be on board – as this is time-critical. Using the same data (imaging you are using a LIDAR for knowing about the environment), the cloud can handle localization and at the same time the robot can handle collisions in case the connection fails. It’s a prime case from balancing responsibility and autonomy between the cloud and a robot unit. In terms of SLAM but also other similar problems it’s a prime case of improving localization and mapping by having more landmarks available and basically there will be one map for everyone. Robots can share the data between them, update the map, etc. The benefits are very similar to having access to a map via the internet as opposed to the fixed maps some satellite navigation devices have. Smart cities will allow access to schedules, traffic, supplies, etc. at real time to the robot. In turn robots can react more efficiently to the cities demands. In some parts of London for example there are already trials for autonomous garbage collection. Instead of having garbage collection at regular intervals, it can be scheduled for the optimal time. This avoids bins running over with garbage at peak times, avoids redundant collection but also helps relieve traffic as times can be consolidated with such real-time information.
- Could you talk about Ortelio’s work, especially about Ortelio’s cloud robotics work?
Ortelio’s mission strongly relates to having robots deployed in healthcare and care scenarios – to a certain degree also to related tasks in domestic robotics. Most of our early projects were related to robots in the homes of elderly people to assist them in maintaining a high degree of independent living with increasing age. The tasks related to this specific domain are increasingly complex. There are hardly any “off-the-shelf” solutions to most of the tasks robots are envisioned to fulfill in such settings. One prime example is the interaction with the user. Natural language is one of the hardest challenges in artificial intelligence and requires multidisciplinary approaches to robotics solution. Conversational artificial intelligence is very hard for several reasons. One issue is that one first needs data to use modern deep learning for dialogue but as there are so few naïve users out there speaking to their robots it becomes a chicken and egg problem. Then there is the issue of growing expectations, once a robot can handle a certain set of requests users tend to see them as “more competent”; they subsequently raise their expectations and use language or ask questions the robot can no longer handle. Thus, dialogue with a robot is also a moving target. It is also well documented that most interaction software is trained or programmed to handle data from a somewhat restricted audience. Thus, the elderly but also the elderly fall outside of that group. Thus, if one takes human-robot interaction software outside of the lab, one can witness systems such as face recognition, emotion recognition or speech recognition failing on such users. The conversation flow will also be very different from what a developer in his late 30s expects it do be and machine learning cannot alleviate that problem as most data will still be available only from people in their 20s to 40s. The societal need for robots being introduced into care scenarios is certainly there but at the present moment, the challenges these areas present are probably not going to be solved by a single company or research lab in robotics or artificial intelligence. It will take a concerted effort in which cloud robotics, in our view, will play a central and key role. By the way, apart from the technological challenges there are also organizational and financial hurdles and administrative obstacles and that particular area. Basically, one needs to still develop actually viable solutions, establish the market and negotiate how these technologies will be financed in the primary and secondary health market.
However, at its core, Ortelio is striving to be a software company providing software services to robotics companies, users and end-users. We solve the software engineering and integration problems which are universal to intelligent and autonomous robots. We look at solutions to offer software to developers in a faster way which means methods of deployment which either rely on the cloud platform or are directly downloaded onto a robot platform as an “app”. The robot app store idea will play a larger role in our future endeavors. Robotics is not there, yet, but we are working on solutions which make transferring skills onto a robot platform as easy as it is to install an app on your tablet or phone. These solutions are by and large invariable across domains. Therefore, the core technology we are developing will be as relevant to care robotics as it is to production and manufacturing, agricultural robotics, drones or any other area of robotics. Likewise, the core functionalities we provide can be transferred to most domains. These include human-robot interaction, safety and security, fleet management and performance analysis.
- How does NOOS work?
The full Noos system is a three-tier system using a cloud-based platform, a robot API/SDK, and a robotic application store for distribution and execution of apps on Linux and Android robots. Noos relies on current state-of-the-art frameworks such as OpenCV, Caffe2, MRPT, and CNTK, and enables a variety of applications to be instantly used on the robot on demand. For the deployment of the robot software services, we rely on ROS and containers which make hardware-agnostic solutions feasible.