Module-5
Robotics—an Application of AI
Robotics is a branch of engineering that involves the
conception, design, manufacture and operation of robots. It is an
inter-disciplinary field that includes the study of electronics,
computer science, artificial intelligence, mechatronics,
nanotechnology and bioengineering.
Science-fiction author Isaac Asimov, first used the term
‘robotics’ in the 1940s. According to him, robots must ensure the
following:
Rule 1: Never harm humans.
Rule 2: Always follow instructions from humans without violating
rule 1.
Rule 3: Protect themselves without violating the other rules. Some
important aspects of robots include the following:
1. They have electrical components for providing power and
control the machinery.
2. They have mechanical construction and their shape or design
depends on the task they are intended to accomplish.
3. They are programmed. Instructions fed to them helps them to
determine what, when and how it would do something.
Types of Robots
Pre-programmed robots operate in a controlled environment to
perform simple, monotonous tasks.
For example,
mechanical arm on an automotive assembly line that is used to
weld a door, or insert a certain part into the engine. This type of
robot can perform that task for longer hours, faster and more
efficiently than a human.
Humanoid robots look like humans and/or mimic human
behaviour. They can perform human-like activities (like
running, jumping and carrying objects). Sophia and Atlas are
two popular examples of humanoid robots.
Autonomous robots operate without human operators. They are
designed to perform tasks in open environments that do not
require human supervision. For example, the Roomba vacuum
cleaner uses sensors to roam freely throughout a home to clean
it.
Teleoperated robots are mechanical bots controlled by humans.
They are used in extreme geographical conditions, weather,
circumstances, etc. For example, human-controlled submarines
used to fix underwater pipe leaks during the BP oil spill or drones
used to detect landmines on a battlefield are examples of
teleoperated robots.
Robots are also used for tasks varying from diffusing bombs to
performing surgeries. VR robots are also becoming popular
these days.
Augmenting robots either enhance current human capabilities or
replace the capabilities a human may have lost. Robotic
prosthetic limbs or exoskeletons used to lift hefty weights are
examples of such robots.
Uses of Robotics
Robots are used in the following areas.
1. Helping fight forest fires
2. Assisting humans in manufacturing plants (known as co-bots)
3. Provide companionship to the elderly
4. Work as surgical assistants
5. Deliver food orders or other packages
6. Perform household tasks like vacuuming and mowing the
grass
7. Locate and transfer items throughout warehouses
8. Perform search-and-rescue missions after natural disasters
9. Landmine detectors in war zones
Industry-wise applications can be given as follows:
The manufacturing industry is amongst the first well-known
users of robots. They use robots and co-bots (bots that work
alongside humans) to efficiently test and assemble products, like
cars and industrial machinery.
Logistics companies use robots in their warehouses to perform
tasks like shipping, handling goods and ensuring quality
control. Robots are supposed to take items off the shelves,
transport them across the warehouse floor and package them.
They are now also used for last-mile delivery of packages for
faster and efficient delivery.
Self-driving cars are a result of integrating data science with
robotics. Automakers like Tesla, Ford, Waymo, Volkswagen and
BMW are all working to provide users an ultimate experience of
travel that will let them sit back, relax and enjoy the ride.
Companies like Uber and Lyft are also developing autonomous
rideshare vehicles that will be operated without humans.
The healthcare industry uses robots to perform complicated
surgeries, deliver everything from medicines to clean linens.
Space agencies like NASA use robots in different ways. Robotic
arms on spacecraft can move large objects in space. Robotic
spacecraft can visit other worlds like the Moon or Mars. For
example, Mars rovers Spirit and Opportunity are robots. Cassini
studies Saturn and its Moons and rings. Robots like The Voyager
and Pioneer spacecraft are now travelling beyond our solar system.
People on the Earth use computers to send messages to the
spacecraft. The robots have antennas that pick up the message
commands and work as per the instructions given to it.
Robotic airplanes can fly without a pilot aboard. NASA is also
developing Robonaut to help people in space. The upper body of
Robonaut looks like a person. It has a chest, head and arms.
They can work outside a spacecraft and work like an astronaut
on a spacewalk.
NASA is also working on robots that might help an astronaut in an
emergency. For example, when the astronaut is seriously hurt, a
doctor on Earth could use the robotic arm to perform surgery.
This technology can help doctors on Earth, as well.
Doctors can help people in faraway places where there are no
surgeons to perform complicated surgeries.
Robots are also used as scouts to check out new areas to be
explored. They take photographs, measure the terrain, look for
dangers and find the best places to walk, drive or stop. This not
only helps scientists and engineers make better plans for
exploring but also helps astronauts to work more safely and
quickly.
Note:
ASIMO is a humanoid that has the ability to recognise moving
objects, postures, gestures, understand its environment, and
interact with humans.
Pepper is the world’s first robot capable of recognising
human emotions. It is social, can converse with people, give
them directions and even dancing with them
Romeo helps with everyday tasks, assist when people have
fallen over, make conversations and play games.
Buddy is designed to entertain the family, help you with your
everyday activities, offer reminders, provides recipes in the
kitchen, make video calls, keep an eye on your home while
not at home, connect all your smart home devices together
and even help your children learn.
Panasonic Egg uses NLP Robot to communicate with you. It’s
an intelligent assistant that can be controlled by your voice,
play video footage via a built- in projector and even engage in
interactive games. This robot is Wi-Fi connected and promises
software updates in future to improve it further.
REEM is a full-size humanoid service robot that can act as a
receptionist, provide entertainment for guests, make
presentations and give speeches in different languages and help
with a variety of different chores. REEM is able to self-
navigate, interact with people it encounters and keep on running
for up to eight hours.
Drones Using AI
The term ‘drone’ generally means any unpiloted aircraft that
operates using a combination of technologies including
computer vision, artificial intelligence, object avoidance tech
and others. Also known as ‘unmanned aerial vehicles’ (UAVs),
these drones can be as large as an aircraft or as small as the palm
of your hand. With drones becoming readily accessible, they are
now increasingly being used for the most dangerous and high-
paying jobs that are discussed below.
Credit: Slavoljub Pantelic / Shutterstock
FIGURE 1.11
Emergency Response
Drones outfitted with thermal imaging cameras are used by
emergency response teams to identify victims who are difficult to
spot with the naked eye.
Humanitarian Aid and Disaster Relief
During times of natural disaster, drones are used to assess damage,
locate victims and deliver aid. In addition, they are also used to
prevent disasters altogether (refer Fig. 1.14).
Surveillance
Drones outfitted with thermal imaging cameras can be used to
monitor and combat forest fires. Thermal cameras can measure and
detect abnormal forest temperatures. This information can then be
used to identify areas that are more prone to forest fires or identify
fires just minutes after they begin (refer Fig. 1.13).
Conservation
Poaching and activities resulting in climate change have
adversely affected wildlife worldwide. In fact, according to the
World Wildlife Fund, thousands of species are estimated to
extinct each year. To help combat this trend, conservationists
are extensively using drones for geospatial imagery to monitor
and track animals to protect our biological ecosystem.
Disease Control
Many infectious diseases spread through animals. In such a
scenario, drones can be used to capture and test mosquitoes for
infectious disease. This initiative can not only protect local
residents, but can also prevent epidemics before they begin.
Moreover, drones are also being used in remote areas to provide
quick access to vital drugs, medicines and medical equipment.
All these initiatives have a profound impact on
preventing disease, increasing life expectancy and raising general
standards of living.
Bomb Detection
Small sized drones fitted with effective cameras can easily
penetrate into constricted spaces to detect live bombs and save
lives of thousands of people.
Air Strikes
Drones are used for conducting air strikes. Former US President
Barack Obama had been using drones regularly to attack militants
in the tribal areas of Pakistan. While being controlled by the
defense personnel, drones can be made to fly around suspected
areas to fulfill military operations (as shown in Fig.
1.12). However, use of drones for military operations has also
raised numerous moral and ethical concerns as they lack
accountability and failure to fully grasp the consequences of
actions.
Credit: Alex Yuzhakov / Shutterstock
FIGURE 1.12 Usig Drones for Air Strikes
Agriculture
Farmers in some advanced countries are extensively using
drones to gather data, automate redundant processes and
improve efficiency to reduce costs and expand yields. Drones
also help farmers to predict their potential harvest.
Weather Forecasting
Scientists are using drones to collect data about temperature,
humidity, wind speed and other climatic parameters that could
help them to accurately predict future changes to global weather
systems. Drones used as autonomous sailboats are used to
collect oceanic and atmospheric data from the ocean surface.
Maritime
Drones are used to inspect ships above the surface as well as
hulls from below. Countries like the Netherlands, Denmark, and
Norway are already using drones to identify ships committing
emissions infractions.
Waste Management
Drones are being used to clean oceans, collect waste in ports and
harbours and maintain systems for wastewater management.
Energy
Drones are used by energy generating companies to set up new
sites for the production of energy. For this, the drones are made to
survey areas and gather topographic detail that can be used to
help oil and gas companies identify new drill sites. Drones are
also used to extract, refine and transport oil and gas while
ensuring compliance with regulations and standards.
Drones fitted with specialized thermal sensors can detect leaks
faster than a human inspector. Even companies generating solar
energy can use drones to design configurations for new arrays.
Mining
Mining activities require constant measurement and assessment
of stockpiles of ore or rock or minerals. Drones fitted with
unique cameras can capture large amounts of data from the air,
thereby reducing the risks associated with having surveyors on
the ground.
Drones are being using by the Indian government to deliver
COVID vaccines even in the remotest areas.
Construction Planning
Drones are used to improve construction planning, enhance
project monitoring and site management. Cameras fitted in these
drones monitor buildings and gauge topography and soil type
throughout the construction lifecycle.
Urban Planning
With increasing urbanization, cities are overburdened to
accommodate more people in already congested spaces. In such a
scenario, urban planning is being done with drones to implement
data-driven improvements. For example, drones are used to gather
data in populated areas. This data when analysed using ML
algorithms can suggest areas that may get benefited
from green space or classify the different types of structures
and regions on the map.
Credit: 102 / Shutterstock
FIGURE 1.13 Drones for Survelliance
Personal Transportation
China-based EHANG was started as an autonomous aerial
vehicle (AAV) that operates with four rotors (quadcopter) for
vertical takeoff. The vehicle is used to help passengers reach
their destinations. Such a vehicle is especially very useful in an
urban environment with plenty of obstacles. Personal
transportation drones require minimal inputs from the passenger
and aims to allow safe landings even in case of engine failure
or a collision.
Big companies like Uber, Airbus, Boeing and Rolls-Royce are
working on developing flying drones (robotaxis) for ferrying
passengers around.
Space
Drones are being used to be moved in the space. For example,
NASA is using a drone-like helicopter in its Mars 2020 mission to
help look for signs of life on Mars. In this mission, the helicopter
will act as a scout for the rover, gathering data about the planet’s
terrain and surveying areas the rover cannot reach.
NASA is also using a nuclear-powered drone for exploring Titan,
one of Saturn’s moons. The drone will arrive on Titan by 2034,
autonomously traverse the planet for about 2 years, taking
photos and sending data back for analysis.
Credit: koya979 / Shutterstock
FIGURE 1.14 Drones for delivering medical help
Telecommunications
Telecommunication towers must be inspected frequently to ensure
service reliability. However, this process is too
dangerous and time-consuming to do manually. In such a scenario,
drones are able to quickly assess damage to help guide repair
teams in restoring service.
Internet
Drones are being used to provide Internet access in remote areas
and over irregular landforms. For example, Facebook has
designed a solar-powered drone called Aquila, to provide Internet
access to rural parts of the world. However, in 2018, Facebook
halted the use of Aquila and used only third-party drones instead.
Even SoftBank, in collaboration with the drone manufacturer
AeroVironment, is planning to develop drones that will operate
in the stratosphere to serve as ‘floating cell towers’ to provide
internet service to customers.
Outdoors
Drones are used outdoors to perform aerial landscape
photography and extreme sports footage and map the entire
mountain face to help climbers and skiers to better understand
the terrain.
Tourism and Hospitality
These days, flying drones providing luxury accommodations
can be used to travel to new locations on demand or to remote
and traditionally inaccessible locations for guests. They are also
being used to deliver packages and room service quickly.
Live Entertainment
Drones are already being used by Disney for entertainment
through synchronized lights shows, floating projection screens
and as drone puppeteers.
Journalism and News Coverage
News companies are using drones to gather news, especially
from areas that are difficult to visit due to safety issues, high
costs or physical barriers. For example, drones are used to get
aerial footage of the aftermath of hurricane, wildfires and
assess flood-ridden areas in the midwest.
Food Services
Drones are being used by online food ordering and delivery
services for faster, cheaper delivery. This helps restaurants
downsize their physical locations and lower real estate
expenses.
The Future of AI
Accenture presented a report, AI: Built to Scale, in which it was
concluded that 84% of business executives believed that they
required AI to achieve a higher growth but 76% struggled to use
AI across their business. When asked about the future of AI, Dr
Kai-Fu Lee, AI oracle and venture capitalist said, in 2018, ‘[AI] is
going to change the world more than anything in the history of
mankind. More than electricity.’
Today, the most important topic that restrains companies to go
deep into AI is cybersecurity. Spike in cybersecurity breaches
throughout 2020 when attacks rose 600% is a big concern.
During the pandemic, hackers capitalized on people working from
home, using less secure technology and Wi-Fi networks. In such a
scenario, AI and machine learning can be used to identify and
predict potential threats and catch instances of fraud especially
those involving finances. Moreover, every application, these
days, collect a lot of data about users. A person with disruptive
mindset can train a machine to even threaten user(s) with solutions
that can even endanger their being.
AI is also considered to be a threat to privacy as it violates
human rights. For example, voice assistants and facial
recognition techniques invade privacy of humans and probably
eavesdropping into their lives. Thus, AI needs to evolve as a
trustworthy system in the future.
AI will change the way managers search suitable candidates for a
job. AI is already being used in the hiring process so much that up
to 75% of resumes are rejected by an automated Applicant
Tracking System (ATS) before even reaching a human being.
In the past, recruiters have to invest considerable time to analyse
resumes and shortlist relevant candidates. But now, this is easily
done by AI-powered programs. However, the concern is to
develop AI systems that are not biased. HireVue is a startup
(established in 2018) that used facial recognition software and
psychology to determine the potential effectiveness of a
candidate in a certain role. But after the Electronic Privacy
Information Center filed a lawsuit alleging that it could
perpetuate bias and prejudice, HireVue had to discontinue use of
facial recognition software in early 2021, and now uses audio
analysis and natural language processing. This clearly indicates
that the use of AI in the hiring process or any other process may
become controversial.
As of now, AI systems like Jobscan is an excellent resource that
provides similar resume scanning by comparing a candidate’s
resume to a job description, thereby performing better than the
ATS. Similarly, Jobseer, a browser add-on, is an AI-based tool
which scans a resume, as well as keywords and skills related to
the desired jobs, to match with the job listings that best fit a
candidate’s experience. For each listing, the candidate gets a
rating as well as recommendations of skills to be added to
improve the capabilities.
AI and machine learning are one of the most desired skills in
today’s job market. Jobs demanding AI or machine-learning
skills are expected to increase by 71% in the next five years.
Even an understanding of how AI can be used in different
sectors is considered to be an added skill. Some facts and myths
that prevail about this technology are listed in Fig. 1.15.
FIGURE 1.15 Interesting Facts and Myths about AI
AI technology is still evolving. Companies would strive to
implement ethical AI or responsible AI. Business organizations
are becoming keener to earn better revenues and profits. Small
businesses are considering AI solutions of larger companies as a
case study to understand how they can delve into it at a lower
cost for maximizing their success. Startups are coming up to
offer agility, growth and better ideas to stay competitive.
In a few years’ time, advances in AI will reach the
superintelligence stage. But it should be adopted without
harming the goodwill of loyal people. No doubt, the future of
artificial intelligence is exciting and extremely promising.
In fact, recently, a paper published by researchers at AMOLF’s
Soft Robotic Matter group, discussed self-learning robots that can
easily adapt to changing circumstances. For this, small robotic
units were connected to each other for them to learn to move on
their own. Techniques like reinforcement learning and generative
adversarial networks will be in great demand.
Moreover, sustainable technologies for fighting climate change
will be developed using AI. The term already coined for this is
‘Green AI’.
To conclude, AI as a technology is not at all a threat to human
existence. But the real threat is from humans who may misuse AI
to harm an individual or a society. For example, robotic army can
be fed to realize harmful motives. In order to alleviate the potential
risks of AI in the future, AI systems must be ethical and
responsible.
No Code AI
Right from the first generation of computers, exhaustive efforts
have been made to make programming easier, faster, less
technical so that it can become accessible to a much larger
audience.
No-code tools allow people to build applications and systems
without having to write long and complex program codes.
Applications can now be designed using visual interfaces and
guided user actions. No-code tools are pre-integrated with other
tools to exchange information as needed. Given below are some
applications that can be built entirely using such tools.
1. Websites and landing pages with Webflow.
2. Web or mobile applications with Bubble, Adalo, Mendix or
Thunkable
Number and applications of No Code AI tools will grow
steadily
3. Chatbots or virtual assistants through Octane AI, [Link],
Landbot or mindsay
4. Databases through Airtable
5. Connecting your tool stack with Zapier, [Link], Integromat,
Parabola or Paragon
6. E-commerce through Shopify or Weebly
7. Manage memberships with Memberstack
8. Newsletters with Mailchimp or Mailjet
1.10.1 Why No-Code AI?
It has been seen that majority of businesses struggle to
implement AI to its full potential and scale as it is still
considered to be a core-engineer’s task. In such a scenario, use
of no code AI tools can be a great help due to the following
reasons:
1. These tools allow automation through plug-and-play or drag-
and-drop UI.
2. Even users with absolutely no coding skills can leverage the
benefits of AI algorithms to solve business issues.
3. Businesses that cannot afford to invest additional time and
resources to develop AI applications can build such systems
from the ground up.
4. Improves accessibility to intensify use of data science or AI by
even small and mid-sized companies.
5. Enhances usability as more and more non-technical users can
create AI based solutions to a problem in low-cost and less-
time.
6. No-code AI solutions are of fairly good quality and reduces
human error(s) when setting up such systems. Refer Fig. 1.16 to
know about some No Code AI Tools. Figure 1.17 list their
applicabilities.
FIGURE 1.16 No-code AI landscape 2022: Technology
FIGURE 1.17 No-Code AI landscape 2022 : Data type
When running this exercise, it made sense to group the tools by the
technology they use. Here’s a quick round of definitions:
Computer Vision
It allows machines to obtain information from digital images,
videos, pdfs and other visual data, and take actions based on
their learnings.
NLP
This allows machines to understand and process language both
spoken and written, for example, text messages.
Predictive Analytics
This refers to predictive modelling based on structured (i.e.,
tabular data), for example, predicting churn rate, forecasting and
stock prices.
We also made a distinction between no-code tools and low-code
tools. The no-code tools follow basic criteria: they are end-to- end
tools that are usable without coding knowledge. In that sense,
low-code tools are better suited if you have someone on
your team who speaks data. Figure 1.18 categorizes these tools
based on their usage.
FIGURE 1.18 No-code AI landscape 2022: Customer vs use case Let
us look at some popularly used no-code tools (Table 1.3).
TABLE 1.3 No-Code AI Tools and their Usage
1.10.2 Future of No Code AI
Businesses are steadily moving towards no-code platforms.
Research shows that by 2024, nearly 65% of application
development will be done through either through low-code or
no-code platforms. And, no code AI will play a big role in this.
Some advantages of these tools are as follows.
1. No-code AI is a code-free technology.
Google AutoML is the no-code AI solution that provides a
feature-rich suite of AI products that helps to train high-
quality ML models tailored to unique business needs.
2. It facilitates non-AI experts also to implement and test their
ideas without any help of AI experts
3. AI experts can create ML solutions in less time using
minimum efforts.
4. It supports collaboration between AI experts and domain
experts.
5. It has drag-and-drop or wizard-based interface to build
applications.
6. It helps to solve problems with improved productivity and
efficiency.
All in all, no code AI ensures that AI technology can be adopted
by everyone and everywhere.
1.10.3 Why No-Code AI Must be Used?
No code AI (refer Fig. 1.19) will become more important as it
solves the following problems.
FIGURE 1.19 Steps in a Traditional ML Model Development and
in a No-Code AI Model Development
Gap Between AI Experts and Domain Experts
Every year, more and more companies are adopting AI
technology. There is a huge gap between AI experts and domain
experts. They rarely understand terminology used by others.
While AI experts talks using terms of machine learning (ML)
models and optimization algorithms, domain experts, on the
other hand, use only business-specific words to solve their
problems. This gap is critical to the success of AI initiatives.
Many projects fail due to lack of understanding. In such a
scenario, no-code AI platforms allow domain experts to test their
ideas and communicate their issues with AI experts in a
better way. At the same time, these tools also help AI experts to
add value for the domain experts in less time with less effort.
We can categorize no-code AI platforms based on the type of
interface: drag-and-drop or wizard-based.
Limited AI Experts and More Problems
We know that many problems can be solved fully or partially
using AI technology. But to solve them, we need AI experts.
These experts are still less in number and charge a heavy fee.
So, here, domain experts can run their experiments and get AI
solutions using No-code AI platforms.
Steve Jobs said, ‘the line of code that’s the fastest to write, that
never breaks, that doesn’t need maintenance, is the line you
never had to write.’
It is interesting to note that only 0.25% population of the world
can do coding but anyone can be taught to quickly and easily use
no-code tools.
1.7 Low Code AI
The use of no-code as well as low-code platforms is constantly
on the rise. Today, the growing demand for AI solutions in
business applications has paved the way for low-code and no-
code AI tools. These tools give companies the flexibility and
agility to create new applications.00:00
Low-code is a software development technique that was
introduced in 2011 to promote application development in less
time with little to no coding required. For this, it supports visual
development of applications using intuitive modeling with a
graphical user interface (GUI).
Low-code development platforms are based on the concepts of
model-driven design, automatic code generation and visual
programming. These platforms provide integrated tools to
eliminate the need to write code line-by-line. When working on
these platforms, the user draws flowcharts in a visual editor, and
the code is produced automatically. Users can even create software
applications by dragging and dropping pre-defined components.
Today, some of the most popular low-code software platforms
that are used by both programmers and non-programmers are
Mendix, Outsystems, Creatio, Appian and Creator.
According to Gartner, the demand for information systems will
increase five times faster than IT departments’ ability to provide
them because the number of employees is not growing at a
sufficient pace.
Lower the difficulty level of application development processes,
broader is the audience. Low-code solutions not only enables fast
delivery of applications with minimum effort but also ensure
least possible effort for the installation and configuration of
environments, training and implementation.
Apart from other reasons, low-code AI is also preferred as it
provides built-in security and maintenance, saving costs and time.
It also lowers development risks at a high return on investment.
The key differences between traditional and low-code
development are given in Table 1.4.
TABLE 1.4 Differences between traditional and low-code
development
Low-Code vs No-Code AI Development
Low code development requires very less or minimal
programming effort from the user, whereas no-code software
does not require any programming at all.
Though both low-code and no-code use building blocks to
create applications, low-code facilitates the integration of
custom software in the form of such building blocks.
Who Uses Low-Code Development?
Low-code development is beneficial for different types of users to
speed up their projects and simplify the deployment process. Low-
code AI platforms enable rapid development, testing and scaling
of apps. In this section, we will discuss who use these platforms
and for what purpose.
Low-Code for AI Beginners
Low-code and no-code AI platforms make AI technologies more
accessible to technical and non-technical users. Businesses no
longer need to hire a full-time AI developer. These platforms have
made it much easier for beginners to get started with AI
technologies.
Low-Code for Developers
Low-code platforms help AI developers (like Computer Vision
Engineer) to develop AI applications, add their own custom
software or AI models as integrations to the platform. This helps
programmers and researchers to spend less time on repetitive
coding tasks, write less code and focus resources on enhancing
and optimizing the functionality of the application.
Low-Code for Researchers
Researchers can use low-code platforms to quickly develop
prototypes, speed up their experiments and test each change
without the need to invest in expensive infrastructure.
Moreover, they can easily compare different approaches and
benchmark multiple versions.
1.7.1 Low-Code AI Platform for Computer Vision
A low-code AI platform for automating computer vision
applications is a difficult task. Lot of research is done in this area
to overcome the challenges and technological problems. The
latest AI low-code platform, specifically designed for computer
vision applications is, [Link].
[Link] is used to create custom computer vision and deep
learning applications that process video feeds of numerous
cameras in real-time with deployed AI algorithms. Using fine-
tuned, pre-trained AI algorithms and pre-built modules in a visual
editor, [Link] quickly creates a custom AI vision solution. The
platform continuously optimizes AI applications to achieve
progressively better results.
Components of Low-Code AI Platforms
A low-code AI platform includes the following elements:
Graphical User Interface (GUI)
An intuitive GUI with clear visual elements can be easily used
non-technical users to construct AI vision applications. The
purpose and usage of the element must be easily
understandable by the users.
Pre-Built Integrations
The AI vision application may use visual input of cameras and
some pre-trained AI models, so these functionalities are
available as ready to use building-blocks to the user. Pre-built
integrations of modules that ensures secure data storage and
communication are available with these platforms.
Application Manager
Developing an application with a low-code AI platform is just
one portion of the software development process. The
application needs testing, deployment and maintenance on a
regular basis. For this, the platform offers tools to update code,
remove bugs and improve its functionality and performance.
1.7.2 Disadvantages of Low-Code/No-Code Platforms
Though no-code/low-code AI platforms sounds interesting to use,
there are some concerns which should be addressed before taking
the final call in selecting a platform.
Security
Some platforms may not be able to design access protocols. In
such a case, security may be compromised and this is a serious
concern for many companies where security is at the utmost
priority. Therefore, it is crucial to read, research and clearly
understand the terms and conditions to interpret where and how
data will be used.
Lack of Customization
Low-code/no-code platforms offer limited functionality as they
are specifically designed to solve a particular problem.
Requires Consultation or Training
All users, technical or non-technical, must be able to use the
low-code/no-code platforms. But usually, it is used by an ML
engineer who also need lot of training and consultations to
guide other team members to solve problems using AI.
Lack of Trust
According to Google Trends, the interest in no code ML is
increasing but people interested in traditional ML are far ahead.
Support for libraries for ML and computer vision are much more
than low-code/no-code AI platforms.
Lock-In Strategy
Considerable amount of switching cost is involved while
moving from one vendor to another. Thus, most of the times, a
user is entirely dependent on a particular software vendor.
Limitations on Personalization
Some no-code and low-code solutions do not allow users to change
certain parameters.
Data Management
Even while using no-code solutions, businesses may have to rely
on the expertise of data scientists and data engineers for data
processing tasks.
Scalability
As of now, creating scalable solutions for solving complex
problems using a no-code machine learning platform is far from
reality.
is Low-Code the Future of Software Development?
Low-code AI solutions are having a deep impact on the overall
market right now, and its use is quickly expanding. For example,
if you want to enhance your existing application, then either you
can use a coding language such as Python or a low- code/no-code
(LCNC) framework that has pre-designed and tested code blocks
that can be instantly incorporated to use its functionality.
The forecast about the use of low-code/no-code development
platforms follow a strongly positive curve. By the end of 2024, it
is expected that more than 65% of applications will be developed
using the low-code/no-code development approach. Also, more
than 75% of large enterprises will be using at least four low-
code/no-code development tools.
The demand for low-code/no-coding development platforms has
increased tremendously and the worldwide low-code development
technologies market is estimated to be $65 billion market cap by
2026. Businesses will benefit from low-code/no- code AI
platforms in more data-driven sectors, such as marketing, sales,
and finance. AI can help in predicting churn
rates, analyzing reports, adding smart suggestions, automating
invoicing and for lot more applications.
By 2030, the low-code development platform is expected to
generate a revenue of $187 billion. As compared to no-code
tools, low-code platforms provide a better scope of
customization as per business requirements.
Chatgpt (Chat Generating Pre-Training)
ChatGPT is a language-generation software that can easily
converse with people. For this, it answers follow-up questions,
rejects inappropriate queries and even admits its mistakes
(Source: OpenAI summary of the language model). To perform its
task, ChatGPT has been extensively trained on an enormous
amount of text data.
Using NLP techniques, training data and crawling the web to study
archived books and Wikipedia, ChatGPT can recognize patterns to
create text that mimics various writing styles. Some features of this
amazing tool are as follows.
1. Facilitates communication in conversational format.
2. Uses Reinforcement learning techniques to respond more
accurately and dynamically.
ChatGPT is developed by OpenAI using GPT-3.5 language.
We know that reinforcement learning learns by rewards and
punishments received. In case of ChatGPT, a question is asked
from the software. Then, a number of answers are sampled
which are later manually ranked by humans. In fact, these ranks
serve as training data for the reward model. The output of the
reward model is then improved by further training a fine- tuned
language model using reinforcement learning to react to queries.
Therefore, human feedback plays a crucial role in the success of
deploying this software.
Once trained, ChatGPT can respond to follow-up inquiries,
acknowledge its errors, refute false assumptions and refuse
unsuitable proposals.
Besides conversing, ChatGPT can respond to all types of writing,
including theoretical essays, mathematical solutions and stories.
The underlying technique of ChatGPT can also alter how people
use search engines by delivering answers to complex problems.
ChatGPT is a good debugging tool and can also fix the bug when
you are asking a question.
ChatGPT is still in the research review stage. But still users can sign
up and test it out for free.
Did you know that as soon as Elon Musk learned that OpenAI
was using Twitter’s database to train ChatGPT, he immediately
stopped it from doing so because OpenAI is no longer open-
sourced and non-profit, and it should eventually pay for this
knowledge.
Chat GPT-3 be used to create more complex chatbots. Those
chatbots can provide detailed information or perform difficult
tasks like book flights, order food, automate simple tasks (like
scheduling meetings, tracking appointments), notify about
upcoming events, find local businesses, give personalized
recommendations and advice based on preferences. Imagine a
fitness freak person getting healthy recipes and exercise
routines for a chatbot.
Big Concern: Human Replacement
Most significantly, ChatGPT has demonstrated the ability to
build complex Python code and compose college-level essays.
This has raised concerns that such technologies may eventually
replace human workers like journalists or programmers.
Limitations
1. Chatbot is not a new thing. Several companies including
Microsoft have developed them but did not get much success.
We have read that in less than 24 hours, Twitter users taught
Microsoft’s Tay bot misogynistic and racist language. Meta
released BlenderBot 3 which also disseminated racial,
antisemitic and misleading information, including the assertion
that Donald Trump won the 2020 presidential elections.
2. To prevent these kinds of incidents, OpenAI used a
Moderation API (an AI-based moderation system) that notifies
when language violates the company’s content policy to stay
away from communicating harmful or unlawful content.
However, its moderation still has issues and is not perfect.
3. Like any other AI tool, ChatGPT is only as good as the data it is
trained on. If the training data contains biases or inaccuracies,
the model may reproduce these biases in its outputs.
4. ChatGPT sometimes write nonsensical answers and fixing
this issue is challenging because there may be no source of
truth and building more restrictions may result in declining
questions that it can answer correctly.
5. ChatGPT gives different results when the questions are either
slightly rephrased or asked multiple times.
6. Text generated by ChatGPT excessively uses certain phrases
especially when trainers want longer answers that look more
comprehensive.
7. Ideally, ChatGPT should ask clarifying questions when the
user asks ambiguous queries but instead, it gives answers by
guessing what the user intended.
8. Attempts were made to make ChatGPT refuse inappropriate
requests, but it sometimes respond to harmful instructions or
exhibit biased behaviour.
9. ChatGPT writes long paragraphs, poems, stories, etc. but it
has not mastered the art of creative style, so its output has
not yet topped bestseller lists. However, the program does
write good bedtime stories for kids. But models like ChatGPT
can never replace children’s books that have been
traditionally published.
Conclusion: Chat GPT is a powerful and versatile NLP tool that has
the potential to revolutionize the way humans interact with
machines.
Wishing you and everyone in your family a very healthy,
wealthy, happy and prosperous 2023. Stay abundantly blessed
always.
We have read that robot is a programmable machine that can
complete a task. Correspondingly, the term robotics is the study
focused on designing, developing and programming physical
robots which are able to interact with the physical world and
automate one or more tasks. Each robot has a different level of
autonomy varying from human-controlled bots that carry out
tasks to fully-autonomous bots that perform tasks without any
external influences.
Artificially Intelligent Robot
Many people think that AI and robotics are synonymous. But this
is not true. Table 8.1 highlights the difference between an AI
program and a robot system.
TABLE 8.1 Difference between AI Program and Robot
Moreover, from the Venn diagram as shown in Fig. 8.8, it is
clear that there is one small area where the two fields overlap
and, in this area, we have artificially intelligent robots (AIRs).
These AIRs are the bridge between robotics and AI.
FIGURE 8.8 Venn diagram depiction relationship between AI and
Robotics
Credit: PaO_STUDIO / Shutterstock
FIGURE 8.9 AI Robot
Although many AIRs (refer Fig. 8.9) are controlled by AI
programs, they are not artificially intelligent. For example, most
industrial robots are programmed to carry out a repetitive
series of movements which do not require artificial intelligence.
However, such non-intelligent robots have limited functionality.
To perform complex tasks, an artificially intelligent robot must
implement some AI algorithm(s). For example, consider the
scenarios given below to understand how AI can guide the
functionality of a robot.
Case 1: A warehousing robot may use a path-finding algorithm to
navigate around the warehouse.
Case 2: A drone may use autonomous navigation to return to its
owner when it is about to run out of batteries.
Case 3: A self-driving car uses AI techniques to detect and avoid
potential hazards on the road.
8.3.1 Characteristics of Robots
A robot is a mechanical device which completes it tasks in the
environment for which it is designed. For example, the Mars
2020 Rover’s wheels are motorized and made of titanium tubing to
firmly grip the harsh terrain of the red planet.
1. Robots need electrical components that control and power the
machinery. Usually, they draw electric current using a battery.
2. Robots work on instructions written using computer
programming. These instructions tell the robot what to do,
when to do and how to do it.
8.3.2 Types of Robots
Mechanical bots come in a variety of designs, shapes and sizes
to efficiently perform the task they are designed to perform. For
example, RoboBee is a 0.2-millimeter-long robot while Vindskip is
a 200-metre-long robotic shipping vessel. To classify them
broadly into different categories, robots can be divided based on
their capabilities to perform a particular task.
Pre-Programmed Robots
They operate in a controlled environment where they perform
simple, monotonous tasks. For example, a mechanical arm on an
automotive assembly line to weld a door on, to insert a certain
part into the engine, etc. (as shown in Fig. 8.10) is an example of
such a robot that performs its tasks faster and more efficiently
than a human.
Credit: Pop Nukoonrat / 123RF
FIGURE 8.10 Pre-Programmed Robots
Humanoid Robots
They look like or mimic human behaviour and usually perform
human-like activities (like walking, carrying objects). These
days, humanoids look like us. For example, Hanson Robotics’
Sophia and Boston Dynamics’ Atlas.
Autonomous Robots
These machines operate independently of human operators and are
usually designed to perform tasks in open environments without
any human supervision. Autonomous robots perceive the world
around them using sensors and then use decision-making
capabilities to take the optimal next step based on their data and
mission. For example, Roomba vacuum cleaner uses sensors to
roam freely throughout a home. Other
examples of autonomous robots are lawn trimming bots,
hospitality bots, autonomous drones and medical assistant bots.
Most industrial robots are non-intelligent.
We often call these robots, cobots. Cobot, or a simple
collaborative robot, is a non-intelligent robot. For example, a
cobot can be programmed to pick up an object and place it
elsewhere. This is done by training a specialized computer vision
program to identify different types of objects generally by using an
AI algorithm called Template Matching. Broadly, this is an
autonomous function as no human intervention is required once
the cobot has been programmed to do its task efficiently.
Moreover, the task does not require any intelligence as the
cobot will always be picking the object in the same way until its
instructions are not changed.
Teleoperated Robots
These are semi-autonomous bots that use a wireless network to
enable human control from a safe distance (as shown in Fig.
8.11). They are usually deployed in extreme geographical
conditions, weather and circumstances. For example, drones
used to detect landmines on a battlefield, robots used to fix
underwater pipe leaks during oil spill are examples of
teleoperated robots.
Credit: MONOPOLY919 / Shutterstock
FIGURE 8.11 Teleoperated Robots
Augmenting Robots
Also known as VR robots, they are used to enhance or replace
current human capabilities. With their help, science fiction could
become a reality very soon by making humans faster and
stronger. For example, robotic prosthetic limbs or exoskeletons
are used to lift hefty weights.
Types of Robots Based on Degree of Human Control Independent
Robots
They perform their work autonomously and independent of
human operator control. So, they need to be intensely
programmed. Such robots are deployed to replace humans for
performing dangerous, mundane or otherwise impossible tasks
ranging from bomb diffusion and deep-sea travel to factory
automation. Though independent robots eliminate certain jobs, the
also present new possibilities for growth.
Dependent Robots
These robots are non-autonomous robots as they interact with
humans to perform their actions. Humans guide robots to
enhance and supplement their already existing actions. For
example, these days, advanced prosthetics (the branch of
surgery concerned with the making and fitting of artificial body
parts. For example, a piece of flexible material applied to a
person’s face or body to change their appearance temporarily)
are controlled by the human mind.
In 2018, Johns Hopkins APL created a popular example of a
dependent robot was created by in 2018 for a patient (Johnny
Matheny) whose arm was amputated above the elbow. A
modular prosthetic limb was fitted in Matheny that was
controlled by electromyography, or signals sent from his
amputated limb that controls the prosthesis. Over time, he could
accurately move his arm and even play the piano. At this time,
the signals sent from his amputated limb became smaller and less
variable.
Chatbots
Software robotics, also called bots, are computer programs that
perform tasks autonomously. For example, a chatbot is a
computer program that simulates conversation both online and
over the phone and is often used in customer service scenarios.
While simple chatbots answer questions with an automated
response, more complex digital assistants learn from user
information.
Robotics involves building robots physical whereas AI involves
programming intelligence.
Types of Bots
Bots, or software robots only exist on the Internet and originate
within a computer. Hence, they cannot be called robots. We
have learnt in the characteristics of a robot that a robot has a
physical form, such as a body or a chassis. Some popularly used
bots are as follows:
1. Chatbots carry out simple conversations to provide 24 X 7
customer service.
2. Spam bots collect email addresses and send spam mail.
3. Download bots automatically download software and apps.
4. Search engine crawler bots scan websites and make them
visible on search engines.
5. Monitoring bots collect statistics to report speed and status of
the website.
Components of a Robot
Robots are created to perform a variety of tasks to present a
solution for a wide range of problems. For this, they need a set of
specialized components that are discussed below.
Control System
Control system is a CPU that directs a robot’s task at high level. It
performs all computations to tell a robot how to utilize its specific
components, like how our brain sends signals to other parts of the
body to complete a specific task. The tasks that a robot completes
vary from an invasive surgery to assembly line packing.
Sensors
Sensors are devices that detect the events or changes in the
environment and send data to the computer processor. For this,
they are equipped with other electronic devices to provide
electrical signals that allows the robot to interact with the
world. Basically, the electrical signals act as a stimulus that are
processed by the controller. Based on the stimulus received, the
controller instructs the robot to interact with the outside world.
This helps the robot to efficiently respond to real-time data.
Popularly used sensors within a robot include video cameras (as
eyes), photoresistors (react to light) and microphones (as ears).
All these sensors allow the robot to capture information about
its surroundings and process it to deduce the most logical
conclusion and give commands to other components.
Robots are programmable, autonomous or semi-autonomous
machines.
It is through these sensors that the robots get the ability to see,
hear, touch and move like humans. Sensors are devices or
machines which help to detect the events or changes in the
environment and send data to the computer processor. These
devices are usually equipped with other electronic devices.
Similar to human organs, the electrical sensor also plays a
crucial role in artificial intelligence and robotics. AI algorithms
control robots by sensing the environment, and provide real-
time information to computer processors.
Actuators
Actuators are the motor parts that facilitate a robot’s movement.
We have read that a machine is a robot if it has a movable frame
or body and actuators are the components that cause movement.
Actuators are made up of motors that receive signals from the
control system and move in tandem to carry out the movement
necessary to complete the assigned task.
They are made of metal or elastic.
Electric motors are the devices that convert electrical energy into
mechanical energy and are required for the rotational motion of
the machines.
Actuators help in moving and controlling a robot by using energy
that can be electrical, hydraulic and air, etc. This means that
actuators are usually operated using electricity (electrical),
compressed air (pneumatic actuators) or oil (hydraulic actuators).
Actuators can create linear as well as rotary motion.
Power Supply
Power supply is done to the robot by a battery. Just as we need
food to do our work, robots require power to operate. The main
use of power supply is to convert electrical current to power the
load. Stationary robots used in a factory work on AC power
while others operate via an internal battery.
While a majority of robots work on lead-acid batteries as they
are safe and have long shelf life, others use compact and
expensive silver-cadmium batteries. These batteries are chosen
depending on safety, weight, replaceability and lifecycle of the
robot.
AI algorithms are used in Google searches, Amazon’s
recommendation engine and GPS route finders.
However, for future robotic development, pneumatic power
from compressed gasses, solar power, hydraulic power,
flywheel energy storage, organic garbage through anaerobic
digestion and nuclear power are also being considered as
potential sources of power.
Example of a pure AI is AlphaGo.
Pure AI is usually found in games. For example, in 1997, AI Deep
Blue could easily defeat world champion. A more recent
example is AlphaGo which won Lee Sedol, the world champion
Go player, in 2016.
End Effectors
End effectors are the physical, typically external components of a
robot that facilitate it to complete a task. For example, in
factories, robots usually have interchangeable tools like paint
sprayers, gripping claws or even hands for undertaking tasks
like deliveries, packing, bomb diffusion, etc.
All these components are central to every robot’s construction.
AI Technology Used in Robotics
In this section, we will list AI technologies that are used in
robotics. We have already studied some of them. These
technologies are discussed below.
1. Computer Vision: As studied earlier, Computer Vision is an
important domain of artificial intelligence that extracts useful
information from images, videos and visual inputs to perform
appropriate action(s).
2. Natural Language Processing (NLP): NLP is used to give voice
commands to AI robots to create a strong human-robot
interaction. NLP helps the robot to understand and
reproduce human language. Besides recognizing human
language, robots can learn the accent, and predict how
humans speak.
3. Edge Computing: Edge computing in robots helps in robot
integration, testing, design and simulation to provide better
data management, lower connectivity cost, better security
practices, more reliable and uninterrupted connection.
4. Complex Event Process: An event is said to occur when there
is a change of state and one or more events combine to define a
complex event. Correspondingly, complex event processing
(CEP) helps us to understand the processing of multiple events
in real time.
The term ‘complex event process’ is popularly used in
various industries including healthcare, finance, security,
marketing, detecting credit card fraud, stock marketing, etc. For
example, the deployment of an airbag in a car is a complex
event that is based on real-time data coming from multiple
sensors.
5. Transfer Learning and AI: Transfer learning solves a problem
with the help of an already solved problem. So, the
knowledge gained from solving one problem is utilized to
solve another problem that is related to the problem to be
solved. For example, the model used to recognize a square
shape can also be used to identify a circular shape.
Since transfer learning reuses the pre-trained model for a
related problem, the actual learning time for the new problem
to be solved is relatively less and thus provides a cheaper
solution. In robotics, transfer learning trains one machine
using other machines.
6. Reinforcement Learning: Reinforcement learning focuses on
learning based on feedback. In this technique, an AI agent to
learns and explores the environment, performs actions and
automatically learns from experience or feedback obtained
for each action. Reinforcement learning makes the agent learn
to behave optimally through hit-and-trail method while
interacting with the environment. It is mainly used to deduce
decisions to achieve goals in an uncertain and potentially
complex environment.
In the context of robotics, robots explore the environment to
learn how to work optimally through hit and trial method.
For every correct action, the robot gets a reward and a
punishment for an incorrect action. In this way,
reinforcement learning provides a framework to design and
simulate sophisticated and hard-to-engineer robotic
behaviours.
7. Affective computing: Affective computing focuses on
developing systems that can identify, interpret, process and
simulate human emotions. Therefore, this study aims to
imbibe emotional intelligence in robots so that they are able to
observe interpret and express themselves emotionally.
8. Mixed Reality: Mixed reality is an emerging field that
focuses on programming by demonstration (PbD). PbD
creates a prototype using a combination of physical and
virtual objects.
Planning and Navigation
In this section, we will read about mobile robots that are critical to
robust mobility. For this we must have some knowledge about
the kinematics of locomotion, sensors for determining the
robot’s environmental context and techniques for localizing with
respect to its map. Here, we will talk about cognitive level of
robots.
Cognition refers to the capability of a system to make
purposeful decision and execute them to achieve its highest-
order goals. In the context of a mobile robot, cognition refers to
robust mobility. Robot navigation aims to make the robot reach
its goal position efficiently and reliably based on its knowledge
about its environment, the goal position and values of the
sensor.
Although many different approaches have been proposed for
navigating a robot, there are strong similarities between all of
them. The underlying difference exists in the manner in which
they decompose the problem into smaller sub-units. Given a
map and a goal location, path planning identifies a trajectory
that will help the robot to reach the final destination.
Competencies for Planning—Planning and Reacting
Path planning is a strategic problem-solving competency
(capability), as the robot must make vital decisions to achieve its
goals. The second competency is tactical extreme to avoid all
obstacles and collisions by modulating the trajectory of the robot.
Given readings of real-time sensor readings, several approaches
are proposed to avoid obstacles. We will discover a few of them.
While navigating, a robot plans and reacts. Without reacting, the
planning effort(s) will be of no use as the robot never be able
to reach its goal. Correspondingly, without planning, the robot
will never reach its goal.
Suppose a robot R at time i in the initial belief state bi has a map
Mi to reach position p while satisfying certain some temporal
constraints locg(R) = p; (g ≤ n) (like before timestep n).
Although the robot’s movements have to be physical, the robot can
only sense its belief state, not its physical location. We will,
therefore, map the goal of reaching location p to reaching a
belief state bg. We need a plan q that specifies one or more
trajectories from bi to bg.
However, the problem arises when either the robot’s position is
not quite consistent with bi or Mi is incorrect and/or incomplete.
Furthermore, the real-world environment is dynamic. Even if Mi
is correct at time i, M may change over time as the robot must
incorporate new information gained during plan execution.
Over a period of time, the environment changes and the robot’s
sensors gather new information. In this scenario, reacting
becomes more important. Reacting modulates the robot’s
behaviour to update the planned upon trajectory so that the robot
still reaches its goal position. Moreover, unanticipated new
information also requires changes to the robot’s strategic plans.
Therefore, in the specified time limits, the plan should consider
every new piece of information in real time to produce a new
plan to react to the new information appropriately. This
theoretical extreme, the point at which the concept of planning
and reacting merge, is called integrated planning and execution.
Key Terms in Trajectory Planning Trajectory
Planning
Trajectory planning refers to moving from point A to point B
while avoiding collisions over time in a 2D or 3D space (refer
Fig. 8.12). It is an important concept in designing autonomous
vehicles. Trajectory planning also known as motion planning is
mistakenly referred to as path planning. However, it is different
from path planning as it is parametrized by time. Besides path
planning, trajectory planning also incorporates planning based on
velocity, time, and kinematics.
FIGURE 8.12 Trajectory planning
Configuration Space
A configuration is the pose of a robot describing its position.
Correspondingly, Configuration Space C, is the set of all
configurations. For example, in a 2D space, a robot’s configuration
is given by coordinates (x, y) and angle θ.
Similarly, in 3D space, a robot’s configuration is given by
coordinates (x, y, z) and angles (α, β, γ).
The goal of path planning is to find a path from the initial position
to the goal position in the physical space that avoids all collisions
with the obstacles. This problem becomes particularly more
difficult as k grows large. If we define the configuration space
obstacle O as the subspace of C, the free space in which the robot
can move safely can be computed as, F = C - O.
Figure 8.13 shows a picture of the physical space and a 2D
configuration space for a planar robot arm with two links. The
robot’s goal is to move its end effector from position c1 to c2.
FIGURE 8.13 Physical space and a 2D configuration space
Free Space
Free space Cfree is the set of all configurations that are collision-
free. The robot should be programmed to use kinematics and
collision detection from sensors to ensure if a given
configuration is a collision free or not.
Target Space
Target space is a linear subspace of free space and consists of
space in which we want the robot to explore. In global motion
planning, target space is observable by the robot’s sensors. But
in local motion planning, some states in target space are not
observable by robot’s sensors. To solve a problem, robots
assume several observable virtual target spaces (around itself).
The virtual target space is often referred to as sub-goal.
Degrees of Freedom
It specifies modes in which a mechanical device or system can
move. This means that the number of degrees of freedom is equal
to the total number of independent displacements or aspects of
motion. For example, in a robotic arm, shoulder and wrist can
move up or down, left or right but elbow can move up or down.
Wrist and shoulder can also be rotated (or rolled).
Therefore, such a robot arm has five to seven degrees of
freedom. And if the robot has two arms, then total number of
degrees of freedom is doubled.
Multi-legged mobile robots can have more than 20 degrees of
freedom. For example, Project Nao, which looks superficially
like a large space-age doll, has 25 degrees of freedom.
Problem Constraints in Trajectory Planning
Trajectory planning suffers from two main problems which are
discussed below.
Holonomicity
This gives the relationship between the controllable degrees of
freedom and total degrees of freedom of the robot. A robot is said
to be holonomic if the number of controllable degrees of freedom
is greater than or equal to the total degrees of freedom. Holonomic
robots are easy to work with as they facilitate many movements
easier to make. Moreover, returning to a past pose is much easier.
For example, if a self-driving car is designed as a non-holonomic
robot, then it will have no way to move laterally, thereby making
its certain movements (like parallel parking) difficult. In
contrast to this, a holonomic vehicle would be one with
mecanum wheels, such as the new Segway RMP.
Dynamic Environments
In dynamic environments, like the real world, objects that may
cause collision are not stationary. This makes trajectory
planning more difficult as objects are moving with respect to
time. Many-a-time, it may not be possible for a robot to move
backward in time. Moreover, many choices are completely
irreversible due to terrain, such as moving off of a cliff.
[Link] Planning Algorithms
In this section, we will discuss three types of planning
algorithms.
1. Artificial Potential Field: The algorithm places values over the
map with the goal having the lowest or highest value that
either increases or decreases depending on the distance from
the goal (refer Fig. 8.14).
FIGURE 8.14 Artificial Potential Field
Obstacles defined can have an incredibly high or low value.
The robot is programmed to move to the lowest or (highest)
potential value adjacent to it, which should lead it to the goal.
However, this algorithm often gets trapped in local minima.
2. Sampling-based Planning: Roadmap method is an example of
sampling-based planning method. The algorithm first selects a
sample of N configurations in C as milestones. Then, a line PQ
is formed between all milestones as long as the line PQ is
completely in C free. Following this, any graph search algorithms
can be used to find a path from start to the goal. Though a large
number of N increases computation time, it results in better
solutions.
3. Grid-based Planning: This algorithm overlays a grid on the
map (as shown in Fig. 8.15) and then ensures that every
configuration corresponds with a grid pixel. The robot can
move from one grid pixel to another adjacent grid pixel if
that grid pixel is in Cfree. T
FIGURE 8.15 Grid-based Planning
Search algorithm like A is used to find a path to reach the
goal position from the starting position. Although a lower
resolution grid having bigger pixels will make the search
procedure execute faster, it may however miss paths through
narrow spaces of Cfree. Moreover, as the resolution of the grid
increases, memory usage also grows exponentially. In such a
scenario and especially in large areas, another path planning
algorithm may be necessary.
4. Reward-based Planning: Algorithms based on research-
based planning assume that robot in each state (position)
may select any action (regarding motion). However, the
result of each action is not definite. In such a case, outcomes or
displacement, in this context, are partly random and partly
under the robot’s control. On reaching the goal, the robot
gets a positive reward and a negative reward on colliding
with an obstacle.
Research-based planning algorithms, therefore, aim to find a
path giving maximum future rewards. Markov decision
processes (MDPs) is a popular technique used in many of
reward-based algorithms. Though this technique generates
optimal path, this path may not be smooth as it limits the robot
to choose from a finite set of actions. To overcome this
drawback, usually Fuzzy Markov decision processes (FDMPs),
an extension of MDPs, is used to generate a smooth path with
using a fuzzy inference system.
5. Road-map Path Planning: Road-map path planning algorithms
capture the connectivity of the robot’s free space in a network
of one-dimensional curves or lines, called road- maps. Once a
road-map is constructed, it is then used to plan a robot’s
motion. The algorithm reduces the problem of path planning
to connecting the initial and goal positions of the robot to the
road network and then searching the roads from the initial
position to the goal position of the robot. This means that,
road-map uses the obstacle’s geometry to decompose the
robot’s configuration space.
The challenge is to construct a set of roads that together helps
the robot to move around anywhere in its free space, while
minimizing the number of total roads. In this section, we will
discuss two approaches for road mapping—visibility graph and
Voronoi diagram. While visibility graph finds paths that have
minimum lengths by bringing the roads closer to the obstacles,
Voronoid diagram, on the other hand, keeps roads as far as
possible from the obstacles.
Visibility Graph
The visibility graph for a polygonal configuration space C
includes all edges (including initial and final positions) joining
every pair of vertices that can see each other. The unobstructed
roads depicted as straight lines in the graph are the shortest
distances between two vertices. The job of the path planning
algorithm is to find the shortest path from the initial position to the
goal position along the roads drawn in the visibility graph (see
Fig. 8.16).
FIGURE 8.16 Visibility Graph
The visibility graph path planning algorithm is very simple and
straight-forward. It can be readily used when objects in the
environment are described as polygons either in continuous or in
discrete space. However, there are two important limitations of
this algorithm.
First, with increase in the number of obstacle polygons, the
number of edges and vertices increases. Therefore, this
algorithm works well in sparse environments, but is very slow
and inefficient when used in densely populated environments.
Second, the solution paths found by visibility graph planning
algorithm takes the robot as close as possible to obstacles on the
way to the goal.
Though this algorithm is optimal in terms of the length of the
solution path, it does not keep the robot away from obstacles.
This compromises safety. A potential solution can be either to
grow the obstacle’s size significantly so that it becomes more
than the robot’s radius, or modify the solution path after path
planning to distance the path from obstacles. However, such
fixes compromise the optimal-length results of the algorithm.
[Link] Voronoi Diagram
A Voronoi diagram maximizes the distance between the robot
and obstacles in the map. For each point in the free space,
distance from that point to the nearest obstacle is calculated and
plotted as a height coming out of the page (refer to Fig.
8.17). As the robot moves away from the obstacle, the height
increases. Sharp ridges can be seen in the Voronoi diagram at
points that are equidistant from two or more obstacles. Edges are
formed by these sharp ridge points. When obstacles in the
configuration space are polygons, the Voronoi diagram has
straight and parabolic segments as shown in Fig. 8.18.
FIGURE 8.17 Voronoi Diagram
FIGURE 8.18 Forming Edges and making graph from the given
Vornoi Diagram
The path in the Voronoi diagram may not be optimal in terms of
total path length. Another limitation of this diagram is limited
range localization sensors. Since the distance between the robot
and obstacle is maximized, any short-range sensor on the robot
may not be able to sense its surroundings. Hence, the chosen path
may be quite poor from a localization point of view.
However, the main reason of popularity of the Voronoi diagram
method is its executability. Given a planned path via Voronoi
diagram planning, a robot with range sensors can follow a
Voronoi edge in the physical world using simple control rules
that match those used to create the Voronoi diagram. Voronoi
Diagram can also be used to conduct automatic mapping of an
environment by finding and moving on unknown Voronoi edges
and creating a consistent Voronoi map of the environment.
[Link] Cell Decomposition Path Planning
The cell decomposition path planning aims to distinguish
between geometric areas, or cells, that are free and areas that are
occupied by objects. The following must be kept in mind.
1. The graph is divided into simple, connected regions called
‘cells’.
2. A connectivity graph is constructed by identifying opens cells
that are adjacent.
3. Identify the cells in which the initial and goal configurations
lie. Select a path in the connectivity graph that joins the
initial and the goal cell.
4. From the cells identified, compute a path within each cell
following motions and movements along straight lines.
The most important concept in cell decomposition method is the
placement of the boundaries between cells. There are two
methods which perform the task.
1. Exact cell decomposition: In this technique, the boundaries are
placed as a function of the structure of the environment in
such a way that the decomposition is lossless.
2. Approximate cell decomposition: This approach performs
decomposition as an approximation of the actual map.
Exact Cell Decomposition
In Fig. 8.19, exact cell decomposition has been used. Here, the
boundary of cells is based on geometric criticality. So, the
resulting cells are either completely free or completely occupied
resulting in a complete path. In this method, the robot’s ability
to traverse from each free cell to adjacent free cells is more
important than the position of the robot within each cell of free
space.
Advantage
In environments that are extremely sparse, the number of cells
will be small.
Disadvantages
1. The number of cells and computational efficiency of the
overall path planning algorithm depends upon the density
and complexity of objects in the environment.
2. Due to complexities in implementation, the exact cell
decomposition technique is less frequently used in mobile
robot applications.
FIGURE 8.19 Exact Cell Decomposition
Approximate Cell Decomposition
Approximate cell decomposition is a popular technique for
mobile robot path planning. It uses grid-based environmental
representations that are themselves fixed gridsize
decompositions. They are quite similar to an approximate cell
decomposition of the environment.
We can see that in Fig. 8.20, the cell size is not dependent on the
particular objects in an environment resulting in loss of narrow
passageways due to the inexact nature of the tessellation.
However, this is rarely a problem as the cell size used is very
small, usually 5 cm on each side.
The main advantage of fixed-size cell decomposition is the low
computational complexity of path planning. In Fig. 8.20, we see
that the free space is externally bounded by a rectangle which is
further decomposed into four identical rectangles. The rectangle
is not decomposed further only in two conditions.
1. First, the interior of a rectangle lies completely in free space.
2. Second, the interior of a rectangle lies completely in the
configuration space obstacle.
If the two conditions are not satisfied, then the rectangle is
recursively decomposed into four rectangles until one of them is
met. Note that the white cells lie outside the obstacles, the black
inside and the grey are part of both the regions.
This technique is an efficient and simple strategy for finding
routes in fixed-size cell arrays. The algorithm starts from the goal
position marking for each cell its distance to the goal cell until the
initial robot position is reached. At this point, distance to the goal
position and a specific solution trajectory is known by linking
together cells that are adjacent and closer to the goal.
FIGURE 8.20 Approximate Cell Decomposition
If the entire array is in memory, then each cell is visited only
once to deduce the shortest path from the initial position to the
goal position. So, the search is linear. Therefore, the complexity
of this algorithm neither depends on the sparseness and density of
the environment, nor on the complexity of the objects’ shapes in
the environment.
The Cye robot is an example of a commercially available robot
that plans path in a 2D space with 2 cm fixed-cell decomposition of
the environment. Unlike exact cell decomposition method,
approximate cell decomposition method does not guarantee
completeness but it is mathematically less involving and easier
to implement.
[Link] Potential Field Path Planning
Potential field path planning algorithm creates a field across the
robot’s map that directs the robot to the goal position. The
potential field technique considers robot as a point under the
influence of an artificial potential field U(q).
Like a ball roll downhill under a gravitational field, the robot
moves by following the potential field. The goal acts as an
attractive force on the robot and the obstacles act as peaks, or
repulsive forces. The superposition of all forces is applied to the
robot. The artificial potential field thus created helps the robot to
avoid known obstacles and smoothly move towards the goal.
Thus, this concept goes beyond path planning.
Basically, the resulting field is a control law for the robot. A
robot can always decide its next action, assuming that it can
localize its position based on the map and potential field.
Knowing that the robot is attracted towards the goal and
repulsed by the known obstacle, we need to update the potential
field as soon as a new obstacle appear during robot motion.
Considering robot as a point, the robot’s orientation θ is neglected
and the resulting potential field is only two dimensional (x,y).