Y-Blog / 5 Ways to Program a Robot
5 Ways to Program a Robot

5 Ways to Program a Robot

Posted: 10/06/2019 01:00:00 p. m. by Sayre Jeannet
Topics: Collaborative, Programming

A common misconception about robot programming is that you must be a highly skilled programmer to get a robot up and running. While having automation experience is advantageous to reducing integration time or reprogramming downtime, anyone can learn how to effectively program a robot.

Thanks to Industry 4.0 and the subsequent introduction of smart technologies, many applications are within grasp of a new robot programmer. Regardless of programming experience, there are multiple programming methods available, depending on preference and complexity of the application. Common ways of programming a robot include:

Programming Pendant Motion

The most common type of programming, the teach method, is used to program nearly 90% of industrial robots used in production today. This form of programming uses a teach pendant to drive the robot and its peripherals to desired locations. Here are the most common options available:

Joint-Based Motion

The default coordinate system upon power up with Yaskawa industrial robots, joint-based motion directly rotates the robot’s servo motors or machine axis positions. Using this type allows the operator to easily move each motor/link in a positive or negative direction.

With Yaskawa robots, each joint is represented by the letters S (swing), L (lower), U (upper), R (rotate), B (bend), and T (twist). Highly-flexible robots, like the Yaskawa VS100, VA1400 II, SP100B or GP110B, have an additional 7th axis, which is represented by the letter E (elbow).  

Robot Base X, Y, Z

In this form of robot control, a robot’s Tool Center Point (the physical location in space of an easily defined point relative to the tool flange) automatically calculates the exact amount to rotate each joint to allow a user to move the robot relative to the X, Y, Z coordinate system. This system is based on the “right hand rule” – which involves the programmer knowing his or her orientation to the robot relative to the frame of operation – and uses the base of the robot as the origin for each axis. Keep in mind that the sign (+ or -) indicates the point’s direction along each axis, and that two varying points will never have the same coordinates. In addition, this motion allows for rotation about each axis which is designated as Rx, Ry or Rz depending on the axis.

Tool Frame X, Y, Z

Ideal for welding, cutting, painting and gluing applications, this coordinate system is unique to the end-effector or active TCP of a robot, and it moves relative to that tool’s programmed X, Y, Z axis. Furthermore, this coordinate system is not stationary, allowing the X, Y, Z origin to “float” with the tool’s movement. Setup for the operation is typically in the direction of the approach/departure, but is application related.

User Frame X, Y, Z

This coordinate system is any reference point that a user has defined for a given application and allows for positions to be reused efficiently. When working with pallets, a user could teach a position relative to the user coordinate system attached to the pallet, before easily transferring to another pallet in a different location. This is also useful when a robot uses a camera to locate a part because the robot can pick up multiple parts in different locations, using the same programmed motion relative to the part’s user frame.

User coordinates are defined by three points that have been taught. For Yaskawa robots, these three defining points are ORG (origin position), XX (a point on the X-axis) and XY (a point on the Y-axis). Note: the directions of the Y- and Z-axes are automatically calculated based on which side of the X-axis the XY point is taught.



Hand-guiding is a collaborative mode that allows intuitive pendant-free programming and rough position of the robot. Ideal for users branching out into robotics, this method uses built-in torque sensors to allow a programmer to physically guide robot movement, providing a user-friendly learning curve. More importantly, hand-guiding allows users to recover from a robot error in a fast and efficient manner, making it easy to get back on track.

While hand-guiding, users can constrain the motion of the robot to best suit their preference and application. Yaskawa allows a programmer to choose between several motion types:

All Joints

Hand guiding with All Joints enabled allows the user to rotate all six of the joint(s) freely by pushing on any link of the robot. This option is ideal for those that want to be able to move to various angles or to perform dramatic robot position changes.

Tool Joints

When using hand guiding with only the Tool Joints the robot user can carefully re-orient the tool by rotating any of the last three links of the robot. This helps users to not cause unattended motion when only small re-orienting motions are required.


The most popular motion type for hand-guiding a Yaskawa robot is selecting XYZ+Tool which enables the user to not only move the tool linearly along XYZ but also rotate the last axis to rotate the tool. This option is ideal for keeping the tool from inadvertently tilting side-to-side, giving motion to the entire robot workspace.

Dynamic Pendant Motion

Understanding the motion of a robot arm can be very complicated, especially for novice users unfamiliar with the “right hand rule”. Keeping this in mind, Yaskawa experts created the intelligent tablet-based Smart Pendant to ease this learning curve for manufacturers new to robotics.

Designed using a 21st century interface and features, this user-friendly teach pendant is integrated with tools that make robot programming more intuitive and easier to use. From a “click and program” approach that guides the robot via familiar programming commands, to built-in Smart Frame technology that makes the programmer the frame of reference and eliminates the use of conventional coordinate (X, Y, Z) frames, even complex robot jogging is intuitive for novice users.

Offline Programming

Other tools that make it easier for more users to adopt robotic processes are simulation and offline programming (OLP). Highly popular, OLP uses a 3D representation of a robotic workcell or production line that visually demonstrates how a robot moves along a programmed path. Often used for coordinating the intricate interaction between multiple robots and workpiece positioners, this tool is helpful for proof of concept, analyzing joint limits, detecting possible collisions and more.

Manufacturers that cannot afford to interrupt production may also benefit from powerful offline programming software such as MotoSim®. Taking simulation a step further, this type of software enables operator training, robot programming and optimization from a desktop computer anywhere in the world, allowing operators at any size company to have the power to create, test and adjust robot programs before they are implemented in the factory. Ideal for complex path planning that entails a lot of points like deburring, cutting, painting, spraying, trimming and welding, OLP helps avoid errors when programming a robot, saving valuable time and reducing costs.

Convenient for users, this flexible style of programming enables a higher mix of jobs with a simple transition from one job to the next. Similarly, larger companies with multiple locations and/or workcells may reduce programming time and inconsistencies with software of this nature by distributing the programmed job from a central, controlled source.

PLC Programming

Widely used in automation across the manufacturing sector, common controls platforms provide unity in programming central devices (i.e., robots) within an existing central scheme. Unique robot interface options such as Yaskawa’s MLX family of Programmable Logic Controllers (PLCs) permit the entire robot to be programmed in a selected PLC brand programming language, instead of a native robot language. This simplification eliminates duplicity within a system, providing tangible cost reductions in several areas. It also increases the depth of personnel capable to program or maintain robotic systems.

Looking to the Future

While artificial intelligence (AI) and machine learning are already being applied in limited ways to robotic automation, their full potential has yet to be achieved. From vision to grasping capabilities, and from motion control to data monitoring, AI and machine learning are making a transformative impact on the supply chain and logistics applications.

In the future, enhanced augmented reality (AR) or mixed reality interfaces for controlling robotic arms will be used, helping users program a seamless robot path based on user gestures and imitation learning. These machine-learning based approaches show great promise for a wide range of industrial sectors, and businesses ranging from automobile manufacturers to start-up companies are investing in the technologies to make them a top priority.

Sayre Jeannet is a Robotic Automation Manager - Gosiger, Inc.

Connect on: