Robot Control Programming
In the case of limited sequence robots, programming is accomplished by setting limit switches and mechanical stops to control the endpoints of their motions. The sequence in which the actions occur is regulated by a sequencing device. This device determines the order in which each joint is actuated to form the complete motion cycle. Setting the stops and switches and wiring the sequencer is more manual setup than programming.
Today and in the foreseeable future, nearly all industrial robots have digital computers as their controllers, together with compatible storage devices as their memory units. For these robots, three programming methods can be distinguished: (1)Lead through Programming, (2)Computer-like robot programming languages, and (3)Off-line programming.
1.
Lead through Programming:
Lead-through programming and robot language programming are the two methods most commonly used today for entering commands into computer memory. Lead through programming dates back to the early 1960s before computer control was prevalent. The same basic methods are used today for many computer-controlled robots. In lead-through programming, the task is taught to the robot by moving the manipulator through the required motion cycle, simultaneously entering the program into the controller memory for subsequent playback.
There are two methods of performing the lead-through teach
procedure: (1) powered lead-through and (2) manual lead-through. The difference
between the two is in the manner in which the manipulator is moved through the
motion cycle during programming. Powered lead-through is commonly used as the
programming method for playback robots with point-to-point control. It involves
the use of a J teach pendant (handheld control box) that has toggle switches or
contact buttons for controlling the movement of the manipulator's joints.
Figure 1 illustrates the important components of a teach pendant. Using the
toggle switches or buttons, the programmer power drives the robot arm to the
desired positions, in sequence, and records the positions in memory. During
subsequent playback, the robot moves through the sequence of positions under
its own power.
Fig 1. Teach Pendant
Source:https://www.industrial-electronics.com/
Manual lead-through is convenient for programming playback robots with continuous path control where the continuous path is an irregular motion pattern such as in spray painting. This programming method requires the operator to physically grasp the end-of-arm or tool attached to the arm and manually move it through the motion sequence, recording the path into memory. Because the robot arm itself may have significant mass and would therefore be difficult to move, a special programming device often replaces the actual robot for the teaching procedure. The programming device has the same joint configuration as the robot. and it is equipped with a trigger handle (or other control switch), which is activated when the operator wishes to record motions into memory. The motions are recorded as a series of closely spaced points. During playback, the path is recreated by controlling the actual robot arm through the same sequence of points.
Motion
Programming:
The lead-through methods provide a very natural way of programming
motion commands into the robot controller. In manual lead-through, the operator
simply moves the arm through the required path to create the program as shown
in Figure 2. In powered lead-through, the operator uses a teach pendant to
drive the manipulator. The teach pendant is equipped with a switch or a pair of
contact buttons for each joint. By activating these switches or in a
coordinated fashion for the various joints, the programmer moves the
manipulator to the required positions in the workspace as shown in Figure 3.
Fig 2. Manual Lead-through
Programming
Source:https://www.youtube.com/
Fig 3. Powered Lead-through
Programming
Source:https://www.youtube.com/
Coordinating the individual joints with the teach pendant is
sometimes an awkward way to enter motion commands to the robot. For example, it
is difficult to coordinate the individual joints of a jointed-arm robot (TRR
configuration) to drive the end-of-arm in a straight-line motion. Therefore,
many of the robots using powered lead-through provide two alternative methods
for controlling the movement of the manipulator during programming, in addition
to individual joint controls. With these methods, the programmer can control
the robot's wrist end to move in straight line paths. The names given to these
alternatives are (1) world coordinate system and (2) tool coordinate system.
Both systems make use of a Cartesian coordinate system. In the world coordinate
system, the origin and frame of reference are defined with respect to some
fixed position and alignment relative to the robot base. This arrangement is
illustrated in Figure 4(a). In the tool coordinate system, shown in Figure
4(b), the alignment of the axis system is defined relative to the orientation
of the wrist faceplate (to which the end effector is attached). In this way,
the programmer can orient the tool in the desired way and then control the
robot to make linear moves in directions parallel or perpendicular to the tool.
Fig 4 (a) World Coordinate System (b) Tool
Coordinate System
Source: https://www.brainkart.com/
The world coordinate system and the tool coordinate system are useful only if the robot has the capacity to move its wrist end in a straight line motion, parallel to one of the axes of the coordinate system. Straight line motion is quite natural for a Cartesian coordinate robot (LRR configuration) but unnatural for robots with any combination of rotational joints (types R, T, and V). To accomplish straight line motion for manipulators with these types of joints requires a linear interpolation process to be carried out by the robot's controller. In straight line interpolation. the control computer calculates the sequence of addressable points in space that the wrist end must move through to achieve a straight line path between two points.
The speed of the robot is controlled by means of a dial or
other input device, located on the teach pendant or tile main control panel.
Certain motions in the work cycle should be performed at high speeds (e.g.,
moving parts over substantial distances in the work cell), while other motions
require low-speed operation (e.g. motions that require high precision in placing the work part). Speed control also permits a given
program to be tried out at a safe slow speed and then at a higher speed to be
used during production.
2. Robotic
Programming Languages:
As digital computers took over the control function in robotics, the use of textual programming languages became an appropriate programming strategy. Their use has been fueled by the rising complexity of the tasks that robots are asked to accomplish, as well as the necessity to include logical reasoning into the robot work cycle. Because the robot must still be taught its locations through the leadthrough approach, these computer-like programming languages are really-online/off-fine ways of programming.
Textual programming languages for robots enable the
following functions that Ieadthrough programming cannot easily accomplish:
- improved sensor capabilities
includes the use of both analog and digital inputs and outputs
- enhanced output capability for
controlling external equipment
- programme logic that goes above
and beyond the limits of leadthrough approaches
- computations and data
processing in the same manner as computer programming languages
- interaction with other computer systems
Examples of Top Robotic Programming Languages:
There are around 1500 robotic programming languages available worldwide. They are all participating in robotic training. This section will go over the top programming languages available today.
1.
C/C++
:
It allows for a low-level hardware interface and real-time performance. C++ is the most advanced programming language for getting the most out of a robot. C++ allows you to programme in three ways. Among these are the Constructor, Autonomous, and OperatorControl techniques. The initializing code runs to generate a class in this function Object() { [native code] } mode. In this case, it will run at the start of the programme. It helps with sensor initialization and the generation of additional WPILib objects. The autonomous technique ensures that the code is run. It only works for a limited period. The robot then advances to the teleoperation phase. In this scenario, the Operator Control method is applied.
2.
Python
Python, along with C and C++, is one of the easiest
programming languages to learn and one of the most popular. Python is an
interpreted language with a large library that makes it even easier to
construct basic functions. Python also requires fewer lines of code, making it
easier to use — and understand — than C, C++, and Java. Python saves time on programming
by eliminating the need to specify and cast variable types and allowing motions
to be defined in the same script. Python has a large developer community, which
can be an excellent resource for novices to tap into during the learning phase
due to its widespread use and popularity.
3.
Simulation and offline programming:
Programming is a vital
step involved with the implementation process of robotic automation.
Programming consists of creating a set of commands or instructions that inform
an industrial robot how to perform a given application. For users to maximize
the benefits of robotic automation it is imperative their robot is programmed
correctly. For instance, the FANUC Arcmate 120ic can be used to automate arc
welding applications, but to carry out a specific arc welding task it must
first be programmed.
Fig 5. Offline Programming
Source:https://www.youtube.com/
Offline programming is one of the programming methods
commonly used with industrial robots. Teach pendants have been the most popular
robotic programming method as they are a key component of any industrial robot
and allow for on-the-go programming. However, offline programming is becoming
more common and gaining ground on teaching pendants. Offline programming can be
used with just about any of today’s industrial robots. FANUC’s M710ic/50 has
the option for offline programming as well as Yaskawa Motoman’s MA1400.
Robotic offline programming (OLP) involves using software
on an external computer to create a robotic application program outside of the
production environment. Unlike teach pendants which use online programming, OLP
designs articulated robot programs before involving the actual robot. Robotic
offline programming is often confused and interchanged with offline robot
simulation software, however, these two are different. Offline simulation
involves testing a robot program outside of the production environment and may
be used in conjunction with offline programming. If an automated assembly
application is created through offline programming for a FANUC LR Mate 200id,
it can be tested prior to being uploaded to the six-axis robot through offline
simulation which creates a virtual representation of the robot and its work
environment as shown in Figure 6.
Fig 6. Offline Simulation
URSim is a
simulation software that is used for offline programming and simulation of
robot programs.
There are some
limitations to the simulator since no real robot arm is connected. Especially
the force control will be limited in use. If Simulation Mode is selected in the
bottom left corner, it is possible to simulate digital inputs on the I/O page
When To Use Offline Programming
Offline
programming can be used for most robotic systems but there are some scenarios
where it is more beneficial than other robotic programming methods. OLP is
ideal for any complex applications that involve several steps. Opting for
offline programming can save significant time since complex applications can
involve an extensive amount of manual programming when using a teach pendant.
It is also ideal for manufacturing processes involving large workpieces or
those with high part mixes. It can also be useful for programming robots
operating in low-volume productions. The only time offline programming is not
recommended is for simple applications with minimal steps as a teach pendant is
still best for those.
Advantages of Offline Programming
The advantages of
offline programming robots over other programming methods is the reason behind
its sudden growth. Programming robots outside of the production environment
eliminates downtime associated with programming. It is estimated downtime can
be reduced from forty hours to just four hours or by one-tenth. Complex
applications can go from taking several weeks to implement to just one day,
increasing robot uptime and productivity. With less time needed to deploy a new
robotic program, integration costs are decreased which helps to reduce the
entire cost of the robotic system allowing for a faster ROI. In addition, when
used with offline simulation adjustments can be made to work out all
programming bugs before it goes live, ensuring robot accuracy and safety.
References:
[1]https://www.brainkart.com/article/Robot-Programming_6414/
[2]https://www.youtube.com/watch?v=I-M1x6aWPs8
[3]https://www.researchgate.net/publication/318812862_A_practical_approach_for_automated_polishing_system_of_free-form_surface_path_generation_based_on_industrial_arm_robot
[4]https://www.plantautomation-technology.com/articles/different-types-of-robot-programming-languages
[5]https://robotsdoneright.com/Articles/what-is-robotic-programing.html
Comments
Post a Comment