Responsible for efficiency, speed,
precision, and many other desirable features, the software
architecture is commonly referred to as the “brains” of
robots. Software innovation is simultaneously a cause and a
result of the evermore widespread adoption of robotic systems.
On one hand, the robotic industry is responding to the needs
of end-users and creating friendlier, easier to integrate,
customizable robot software. On the other hand, new
capabilities, such as the ability to work alongside humans,
have enabled the emergence of unprecedented robotic
The present article will discuss the most recent trends in
robot software and present the federal R&D tax credit
opportunity available for the robotics software industry.
The Research &
Development Tax Credit
Enacted in 1981, the Federal Research and
Development (R&D) Tax Credit allows a credit of up to 13
percent of eligible spending for new and improved products and
processes. Qualified research must meet the following four
• New or improved products,
processes, or software
Technological in nature
• Process of
Eligible costs include employee wages, cost of supplies, cost
of testing, contract research expenses, and costs associated
with developing a patent. On January 2, 2013, President Obama
signed the bill extending the R&D Tax Credit for 2012 and
2013 tax years.
Software for Robots
Software works as a robot’s brain. Thanks
to complex software architectures, industrial robots are
capable of performing their tasks quickly, repeatedly, and
accurately. Software is also at the heart of robots’
flexibility. The combination of a software baseline with
customized built-in architectures has allowed for a myriad of
robotic applications. Different applications, though very
unique, may have a common base architecture that creates
system functionality and enables their seamless performance.
The development of more sophisticated software responds to the
evolving needs of end-users and reflects innovative robotics
applications across a wide variety of industries.
Three aspects are particularly important when considering
robotic software: 1) performance; 2) integration; and 3) user
interface. The software architecture, which is composed of the
controller, enabling application, and vertical solution
levels, must not only enable an efficient and reliable
performance but it must also integrate with necessary
technologies and be easily deployed by end-users.
Standardization in an
Though many have pushed for the
standardization of industrial robots, there has been a surge
in demand for application-specific machines. This means
that robots must be able to perform high-accuracy tasks, such
as wafer handling, as well as high-rigidity ones, like car
The outstanding challenge is to establish enhanced commonality
while keeping up with the fast-paced technological advances
that often encourage consumers to migrate to new, more
up-to-date systems. Among the benefits of standardization are
the easier implementation and operation of robotic software.
In other words, robots become less complicated.
While proprietary robot software remains dominant, the advent
of the Robot Operating System (ROS) has triggered a movement
towards open-source architectures. A growing number of robot
hardware manufacturers, commercial research labs, and software
companies are adopting the ROS platform, which works as a
common and flexible framework for writing robot software.
Licensed under an open-source, BDS license, ROS provides
libraries, tools, and conventions to enable the creation of
new robotic applications. Its ultimate objective is to
simplify the development of truly robust, general-purpose
robot software that can be used across a variety of robotic
Created in 2007 by robotics research lab and technology
incubator Willow Garage, ROS was initially developed for
personal and service robotic applications. A recent
partnership between the Southwest Research Institute (SwRI)
and Willow Garage, however, extended the advanced capabilities
of the ROS platform to manufacturing, creating the new
In addition to drivers, sensors, and communication buses
specially designed for industrial manipulators, ROS-I’s
capabilities include advanced perception and path/grasp
planning that allow for previously technically infeasible or
cost prohibitive industrial robotic applications. The platform
also features quality standards and software development
practices aimed at ensuring higher reliability.
According to Paul Hvass, Senior Research Engineer with SwRI,
ROS-I has worked as a bridge between the academic and the
industrial worlds. The innovative open source platform allows
end-users to use newly developed code from academic
researchers without having to overcome the restrictions of
proprietary software. The possibility of leveraging new
research on existing industrial platforms promises to speed up
robotic software R&D, particularly when it comes to
unstructured, collaborative applications. Also, the
portability of ROS enables unprecedented collaboration within
the research community, allowing different groups to build
upon each other’s work and increasing everyone’s chances of
By providing a common interface, ROS-I allows end-users to use
the same application architecture on different robots with
minimal code changes. In other words, it reduces manufacturer
“lock-in” by standardizing robot and sensor interfaces across
many industrial platforms.
The multiplication of ROS-friendly robots points towards the
consolidation of an open-source strategy in the robotics
industry. This approach makes it easier for people to
experiment and paves the way for the development of new,
lower-cost technologies and applications.
The following table summarizes
the advantages of ROS Industrial:
LEVERAGES POWERFUL FUNCTIONALITY
Custom inverse kinematics for manipulators,
including solutions for manipulators with
than six degrees-of-freedom.
- Advanced 2-D (image) and 3-D
(point cloud) perception.
- Rich toolset for development,
simulation, and visualization.
Unstructured applications that include advanced
perception for identifying robot work pieces
as opposed to hard tooling.
- Completely dynamic path planning based upon
advanced perception and models as opposed
to simply replaying taught paths.
- Model-based approaches that
permit automated programming for thousands of
PROGRAMMING TO THE TASK LEVEL
Eliminates path planning and teaching.
Collision-free, optimal paths are automatically
calculated given path end points.
- Applying abstract programming
principles to similar tasks (useful in
or with slight variations in work
Open-source software used and supported by the
community. Preferred open-source licenses
(i.e., BSD license) allow
commercial use without restrictions.
manufacturer "lock-in" by standardizing robot
and sensor interfaces across many
The Open Source Robotics
Foundation (OSRF) recently announced its plans to extend ROS
capabilities to Qualcomm Snapdragon 600 processors for both
Linux and Android operating systems. By integrating support
for the ARM instruction set, architecture ROS opens the way
for the development of smaller, more efficient robots with
longer battery life.
A Unified Control Strategy
Broadly defined, robot controllers are a combination of
hardware and software to program and control a single or
multiple robots. They are responsible for coordinating all
movements of the mechanical system, while also receiving
environmental input through a number of sensors. They control
robots’ vision, force sensing, and communication protocols.
Over the last years, controllers have
significantly evolved. Before, they commonly used the same
processor to handle different capabilities, such as vision and
communication. Now, the multi-processor architecture is
prevalent, enabling higher precision and throughput.
Smarter controller configurations have not
been the only transformation, though. In the past, robot
controllers were expected to absorb all functions within the
work cell, playing an expansive role as managers of the entire
automated architecture. Nowadays, however, robot controllers
tend to play a secondary role due to the growing
implementation of plant-wide, software denominated,
programmable logic controllers (PLCs).
PLCs are industrial
computer control systems that continuously monitor the state
of input devices and make decisions based upon a custom
program to control the state of output devices. PLCs allow for
the changing and replication of operations and processes while
collecting and communicating vital information. Also, due to
their modular nature, such controllers allow for selecting the
type of input and output devices best suited for each
The use of PLC-based
robotic controls eliminates the necessity of learning
proprietary original equipment manufacturers (OEM) control
language, making training time considerably shorter. Other
advantages of PLCs include:
Common programming controls
(software, cables, etc.);
Common software interfaces;
Common program backup/restore
Common program documentation
Simplified troubleshooting and
Reduced panel footprint;
Common spare parts;
Common wire number/drawing
Common part numbering scheme.
Many facilities that already use PLC for controlling machines
can take advantage of a unified control strategy as an easy
way to incorporate robotics into their processes without the
burden of dealing with a complex interface between different
types of controllers.
This single, integrated approach for controlling both robots
and machines has gained great acceptance among end-users. For
this reason, robotics companies are increasingly engaged in
developing innovative solutions that can be seamlessly
integrated with existing PLC platforms.
The advent of PLC-based robotic controls has helped overcome
the obstacles posed by unique OEM controllers and therefore
enabled the concomitant use of multiple brands of robots. By
fostering competition, PLC systems are making the robotics
world more integrated and affordable.
Examples of Robot
The National Robotics Engineering Center (NREC) is an
operating unit within Carnegie Mellon University’s Robotics
Institute (RI), the world’s largest robotics research and
development organization. The NREC works closely with
government and industry clients to develop and mature robotic
technologies from concept to commercialization.
Many NREC projects involve the development of innovative robot
software. One example is the Autonomous Robotic Manipulation
software, designed to enable robots to autonomously perform
complex manipulation tasks. The goal is to develop a
manipulator that carries out high-level tasks, interacts
intelligently with its surroundings, adapts to real-world
environments, and requires little supervision.
With the objective of ensuring the robustness and safety of
robot software, the NREC has also created a toolkit called
“Stress Testing for Autonomous Architectures”. This solution
tests autonomy software and feeds potentially abnormal inputs
into a system until it exhibits unsafe behavior. By doing so,
it uncovers safety problems that are unlikely to arise during
typical field testing, but may occur when the system is
actually put to use.
At MIT, important efforts are also underway to enhance robots’
functionality through the use of new software. In the field of
object recognition, for instance, a recent project created a
robot-vision algorithm, based on the Bingham distribution,
which is 15 percent better than its best competitor at
identifying familiar objects in cluttered scenes.
Because the Bingham distribution is a tool for reasoning
probabilistically, it is particularly advantageous in contexts
where information is inconsistent or unreliable. In cases
where visual information is especially poor, the algorithm
offers an improvement of more than 50 percent over the best
When it comes to machine-learning, researchers from MIT’s
Laboratory for Information and Decision Systems (LIDS) and
Computer Science and Artificial Intelligence Laboratory have
developed a new reinforcement-learning algorithm that, for a
wide range of problems, allows computer systems to find
solutions much more efficiently than previous algorithms did.
It does so by identifying pertinent features in
reinforcement-learning tasks and building a data structure
tree that represents different combinations of features. It
then investigates these arrangements to determine a policy’s
success or failure. The algorithm’s competitive advantage lies
in the ability of simply stop exploring combinations that
consistently yield the same outcome.
The software, RLPy (for reinforcement-learning and Python, the
programming language it uses), has been tested in robots that
need to learn how to navigate an environment without knowing
the potential obstacles in their ways.
II.Vision Guidance for
Based in Bloomfield Hills, MI, Robotic Vision Technologies
(RVT) specializes in vision guided robotics. The company’s 3D
vision guidance software eVisionFactory (eVF) has been widely
adopted by the automotive, manufacturing, logistics, and
consumer goods industries, as well as in government and
Capable of locating, measuring, and identifying objects, eVF
robots are “adaptive” and work better in realistic
manufacturing environments. In other words, this innovative
software enables “intelligent” decision-making and the
prevention of costly mistakes.
In August 2014, RVT applied for a patent for a vision-based
safety module that will allow operators to designate safety
zones around a robot where it either slows down or ceases
operations once an object is detected. Using a single
overwatch camera, this innovative solution will replace the
expensive light screens and other safety apparatus currently
used to secure access to a manufacturing cell.
Headquartered in West Carrollton, OH, Yaskawa Motoman is an
American subsidiary of the Japanese company Yaskawa Electric
Corporation. With nearly 300,000 Motoman robots, 10 million
servos, and 18 million inverter drives installed globally,
Yaskawa provides automation products and solutions for
virtually every industry and robotic application.
Among the company’s innovative robot software, the MotoPallet
EG stands out as an example of enhanced functionality and
innovation. It enables users to determine the best possible
palletizing solutions according to box orientation, shape, and
Capable of programming complicated pallet patterns, MotoPallet
was the first software to allow for asynchronous movement,
handling up to eight build stations, infeed and outfeed
conveyors. The innovative solution also features Auto Place, a
unique function that determines where to position robots for
IV. Intera 3 for Baxter
Created by Rethink Robotics, Baxter has redefined the ways
robots can be used in manufacturing environments. The dual-arm
humanoid was introduced in September 2012 and has since become
an icon of human-robot collaboration.
Innovative software has been crucial in enabling Baxter’s
widespread adoption. The robot requires no complex programming
or costly integration. It presents behavior-based “common
sense”, or intuitiveness. In other words, it is capable of
sensing and adapting to a task or environment.
Ongoing R&D efforts and regular software releases promise
to offer continuous improvements to Baxter’s capabilities.
Such is the case for the 2014 Intera 3, which enables Baxter
to perform with over twice the speed, precision, and motion
quality of its flagship version. The following video compares
and the 2013 version of the same software.
Rethink Robotics has also enhanced the open source
capabilities of the Baxter Research Robot, which increasingly
supports ROS-based applications. Examples include MoveIt!, for
planning and testing trajectory algorithms in a virtual
environment, and Gazebo, a physics-based robotics simulator.
Recent Trends in Robot
Among the most remarkable trends in robot
software is the so-called “teachability”. R&D efforts are
underway to make programming robots easier, if not
unnecessary. Based in San Francisco, startup Brain Corporation
has developed the BrainOS, an operating system that enables
robots to learn by repetition.
The innovative company advocates that writing codes should no
longer be a part of the robotic learning process. On the
contrary, programming should start looking more like animal
training. The idea is to repeatedly guide a robot to perform a
given task and wait for it to start doing such task by itself.
In addition to potentially lowering the costs of intelligent
robots, this new paradigm would considerably simplify robotic
integration in all sorts of environments. No surprise that
many industrial robot companies are currently working to add
training by demonstration to their existing robots.
“Teachable” robots are only one example of how artificial
intelligence can change the face of robotic software. The
development of “common sense” or even “social intelligence” in
robots are also promising areas for innovation.
Finally, software designed to enhance the collaboration
between humans and robots should gain particular attention in
the near future. Representing one of the major developments of
industrial robotics in recent years, collaborative robots
should become ever more present in manufacturing facilities,
calling for advances in software that ensure efficiency,
robustness, and safety.
Recent advances in software development
point towards a bright future for the robotics industry. The
consolidation of an open-source strategy that lowers costs and
fosters the development of new applications, the integration
of controllers into PLC systems, along with the development of
more efficient, easier to use, teachable robots, are just a
few examples of how software innovation is paving the way for
the long-awaited robotic revolution.