The
visionary story teller Isaac Asimov told
the world about the future era of robots
and automatons in 1950’s through his works, and inspired them to make
robotics a reality. Even though he was not a scientist or a core technical guy,
his imaginations and predictions are the beginning of the ‘present’ that we are
having. So, from its embryonic stage, robotics is growing by trying to realize
the dreams of some imaginary people and their works.
The
Matrix (1999), was more of a technological movie than just a usual action flick. You may disagree with the author now, but after
reading this story, you will definitely start believing it. In the movie the wachowski
brothers portrayed many fascinating things
that we could only dream of, but the audience discarded them thinking
they were just some imaginary fantasies and are never going to be anywhere
near the ‘reality’. In the movie,
characters were able to learn a particular skill just by downloading the
required data into their brain. That’s how Trinity learns to fly a helicopter
and Neo learns to fight in just fraction
of a second.
So,
according to a new technology all these are no longer just a dream or crazy
imagination but a reality that we will heavily depend in future. For us humans, with our offline,
non-upgradable meat brains, the possibility of acquiring new skills by
connecting our heads to a computer network is still science fiction.
But
not so for robots..
This
new approach termed as ‘Cloud Robotics’ is being developed and implemented
worldwide by many research teams and will create the next generation of robots.
Here, the robots rely on cloud computing
infrastructure
to access vast amounts of processing power and data. It would allow robots to off-load
compute-intensive tasks like image processing and voice recognition and even
download new skills instantly, The Matrix-style
Before
we go on further I think it will be better to know a bit more about Cloud
computing technology. It is an emerging technology
where resources ( Memory, Processing etc..), software and information are shared between computers and other
devices as a utility (like the electricity grid) over a network (typically
the Internet). The computation,
software, data access, and storage services that cloud has to offer do not
require end-user knowledge of the physical location and configuration of the
system that delivers the services. So, the user can see the cloud only as a
single unit (even though actually it’s a network of systems) that helps his
system in processing and has the knowledge of almost all the internet. Imagine
a situation when your computer with Intel P4 processor, 256MB RAM is connected
to a network where there are 10 other systems with Core-i7 processors, 16GB RAM
idle systems. Now, you have to do a high resolution video rendering which
requires enormous processing capabilities. With your single system with basic
configuration you won’t be able to do it but with cloud computing, you can. If the network is a cloud network, the entire
processing distributed to other capable systems in parallel and with their
hardware they will be able to do it. Finally, you will have the rendered video
in your computer, processed by the cloud within time. This was just a snapshot
about cloud. Actually it has to offer many more great things…
The current robots (including in research) has to do a large
amount of processing and requires much preprogrammed information to do even
simple things like moving a foot, recognizing a face, grasping things etc . So it
is inevitable for them to carry powerful computers and memory on board and
heavy batteries to power them. As the requirements and options increases the
problems also increases for the developers. If it’s an application where large
processing and small physical size is required then with the current technology,
we can never make it to success. So, the dynamically growing Robotics industry needs new alternatives as we speak.
The
solution to this is being proposed as cloud-enabled robots which could offload
CPU-heavy tasks to remote servers, relying on smaller and less power hungry
onboard computers. Even more promising, the robots could turn to cloud based
services to improve such capabilities as recognizing people and objects,
navigating environments, and operating tools. What it needs is just the basic
circuitry to connect to the cloud, and the robot could do wonderful things.
But as
engineers we all know, practical implementation is far distant from the
theoretical aspect. Theoretically, we all could be Einstein by just using some
more portion of our brain for thinking, but practically its more than
‘impossible’, that we all know. So, coming to the implementation part of it, we
could use any of the software platforms
to run on the robot like ROS (Robotic Operating Sytem) or Android or any other.
The Basic functionality of these run on the robot hardware, manage cloud services
and control the mechanical body.
Here, I am
concentrating more on the implementation using Robotic Operating System (ROS).
Actually ROS is an open source operating system intended for robots. Different
types of robots can have wildly varying hardware, making code reuse nontrivial.
Since the required breadth of expertise is well beyond the capabilities of any
single developer, robotics software architectures must also support large-scale
software integration efforts. To meet these challenges, many robotics
researchers have created a wide variety of frameworks to manage complexity and
facilitate rapid prototyping of software for experiments, resulting in many
robotic software systems currently used in research and industry including ROS. It’s
developed and improvised by an international group of institutions, companies and
researchers worldwide. Like developing a program for windows helps for
implementations on most of the computers worldwide, implementing cloud robotics
on ROS is the best available option for multi-hardware implementation.
ROS
messaging framework is a special kind of communication and has many benefits on
its side. So this universal system can give all the advantages of cloud
computing we discussed earlier for a robot with minimum hardware on board. A
Basic implementation is proposed below.
For large
environments, we propose a team structure where the sensors are distributed
amongst the members such that some have very precise localization sensors
assumed to have at least an embedded controller with Wi-Fi connectivity and the
environment is expected to have a Wi-Fi infrastructure with a gateway linking
the cloud service to the robots. These robots may have different
functionalities or may be of similar type. By linking these robots and
uploading their sensor information to the cloud we can build a live global map
of the environment and later provide sections of the map to robots on demand as
a service. All the information from individual robots clustered in order to get
an exact map. A similar approach can be used for other secondary tasks such as
multimodal map building, object recognition in the environment and segmentation
of maps. The cloud will save and process the data at a very high rate and that
too in no time, and will give the necessary information required by the robots
in the field.
Figure
shows the high level overview of our system and how it can be accessed over the
cloud. The cloud computing framework is the access point to external entities
(Robots /Human interface) accessing the cloud service. It also binds the
robotic ecosystem to the backend server cluster. The services provided by the
cloud are maintained and introduced to the outside world by this
infrastructure. The ROS framework provides a standard form of communication and
messaging across the robots, between the cloud computing platforms and the
robots. These messages will be of standard ROS message type and is
universalized.
Cloud
service can either be accessed over the intranet as in a private cloud or over
the Internet with ROS messages wrapped in HTTP requests/responses. all these
cases, the information will be passed by all the robots to a particular network
of servers which may be located anywhere around the globe. If those are nearby,
the robots could connect to them directly. If they are very distant, the public
cloud (Internet) can be used to send the messages. In both the cases, finally
the messages will reach the server cluster where it is to be shared and processed, taking minimal
time. As the hardware capabilities of the cloud can be dynamically scaled this
process will be very efficient and least time consuming. The software platform
working on the cloud will look (confused) after this process. Finally the replies will
be sent back to the robots through the same path.
Now, analyzing
the pros and cons of this technology I have to make a few points. As this
method use one of
the most emerging technologies of networking - cloud computing, it certainly
has a lot of merits which can never be achieved with our normal conservational
way. The best one from our concern is, off the shelf hardware which means
affordable robots. Rather than seeing robots in the movies or in science exhibitions, we can afford robots. So,
don’t be surprised if you see a robot for sale in a supermarket in future that
you can actually afford. The processing power, workable and storage memories
all can be dynamically increased as per the requirement by this. The robots
won’t have to “Reinvent the wheel”. Once an information acquired by one robot,
it will be stored in the cloud and will be available for all the others if they
come across the same situation. This collective pooling of knowledge will
definitely help the robots as well as their designers in a huge amount of
matters. Longer battery wheels, smaller sizes and hassle-free hardware upgrades
are some additional advantages. The most important one is to expand the knowledge beyond “Physical
Body”.
So, by this
robots can be
“Smaller,
Cheaper and smarter”
No comments:
Post a Comment