Robot Software Selection Guide: Types, Features, Applications | GlobalSpec

Robot softwareRobot software is used for programming robots to instruct the device to perform certain autonomous tasks. Specifically, it is the coded commands that tell a robot what tasks to perform by controlling its actions and movement. Robot software is used to both perform functions and automate functions to be performed. Programming robots is a complex undertaking.  There are many software systems and frameworks that have been proposed to make programming robots easier. AI is a type of robot software that aims at robots adaptively programming themselves in some fashion.

Specifications

In 2013, over 1.5 million robots were estimated to be in operation in industrial applications worldwide with an additional 160,000 sold yearly. A challenging aspect of this marketplace is that most manufacturers of robot hardware also provide their own software. While not uncommon in many automated control systems, this lack of programming standardization for robots does pose problems. Thankfully, there are many similarities between these proprietary programs and gaining a good general understanding of robot programming should put you on good footing. It also helps to have a good grounding in general programming techniques. Programming language skills that provide a good basis for robot programming include Basic/Pascal, LISP, Assembly, MATLAB, C#/.NET, Java, Python, and C/C++.

Most robot programs have a similar structure. They consist of four major parts:

Declarations and variables are files that outline variables and define constants in the program.

Subroutines and functions create blocks of code to minimize errors of repetition.

Initialization is the starting point of the main routine.

The main loop awaits sensor, timer, and other inputs and initializes the proper reaction/movement of the robot.

Features

Robot softwareIn general terms, simulation is developing a virtual model designed to emulate a real-world process in real-world conditions. In robotics, the simulation process creates a virtual model of a robot. This model includes both the physical design and the programming code. Robotics simulation often uses 3-D modeling and rendering in a constructed environment that reflects the actual robot environment. Once the model is set up, a complete set of input variables can be cycled through to present all loading and other scenarios of concern. A comprehensive simulation project includes the programming code that will be installed in the actual physical robot.

Robot simulation has several advantages and disadvantages. Advantages include low costs for a fresh robot design, code can be tested to specifications, modifications can be made without costs, individual components can be tested, and complex projects can be broken into manageable chunks. Simulation allows a complete simulation to see if the robot will meet specifications, design project length can be shortened, and most simulation packages interface with a broad array of programming languages. Disadvantages are that the virtual construct may not be as robust as the real world and the fact that simulation programs only simulate what they are programmed to simulate.

A robotic software platform is a software package that simplifies and streamlines programming. These platforms can often be applied across several kinds of robotic devices. It achieves this by creating a unified programming and service execution environment. It also creates a set of reusable components in a “library.” A successful platform will provide debugging and simulation modules. To maximize integration across various systems, it will have a package of drivers for most common robotics hardware as well as a repository of common inputs and outputs, including computer vision, arm control, and tool navigation. Of late, the competition in the robot software platform industry has become very heated and there are many options to carefully evaluate for use.

Related Information

IEEE Spectrum—Robotics Software

IEEE Spectrum—Rethink’s Robots Get Massive Software Upgrade, Rodney Brooks “So Excited”

IEEE Spectrum—How to Build a Moral Robot

Image credit:

Cyberbotics Ltd. / CC BY-SA 3.0