robotics review

14
8/9/2015 Robotics Review http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 1/14 Edward Red Professor Manufacturing & Mechanical Engineering Introduction Robots are primarily concerned with generating specific motion of the robot joints, simultaneously allowing tooling or sensors to perform certain functions, either when the arm is moving or at specific operational configurations. The arm and attached tooling may perform the operations themselves (such as painting) or carry parts to other devices which perform the operations. Newer technologies are concerned with robot interactions with parts such that interaction forces and torques can be controlled. This technology will permit more robot applications in assembly, which promises to be a growing application arena for robotics. There are many processes which can be used to characterize robot applications, such as: Noncontact path following Robot does not come in contact with the object, but guides a tool such as a welding tool or spray gun along a path described relative to a part. Contact path following Robot follows a path while performing some contact operation on the part such as polishing, or deburring. Often sensor input such as a force or torque value is used to deviate the path direction. Repetitive configuration moves Robot simply moves consistently between a set of configurations that have been taught using a teach pendant and performs the same operation on parts that pass through the workcell. Sometimes sensors such as a vision camera will be used to deviate the robot moves to compensate for local deviations in the part delivery, or the part geometry. Telerobotics Control that occurs with human interaction, where the physical robot arm is removed from the human operator. Target moves versus taught moves In target moves the robot tool is commanded to move to a position and orientation in space not physically taught, but known relative to the base of the robot. In a taught move the robot is commanded to move to a configuration previously taught and stored. Target moves require a mathematical model of the robot inverse kinematics, whereas taught moves only require a controller capable of moving the robot joints to the encoder values stored for the taught configuration. Key Terms Repeatability variability in returning to the same previously taught position/configuration Accuracy variability in moving to a target in space that has not been previously taught Tool speed linear speed capability when tool moving along a curvilinear path Screw speed rotational speed when tool is being rotated about an axis in space Joint interpolated motion motion where joint taking longest time to make the joint change governs the motion and the other joints are slowed in proportion so that all joints accomplish their joint changes simultaneously with the slowest joint Joint limits either the software or physical hardware limits which constrain the operating

Upload: vasudev1993

Post on 11-Jan-2016

225 views

Category:

Documents


1 download

DESCRIPTION

robot knowledge

TRANSCRIPT

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 1/14

Edward Red Professor Manufacturing & Mechanical Engineering

Introduction

Robots are primarily concerned with generating specific motion of the robot joints, simultaneouslyallowing tooling or sensors to perform certain functions, either when the arm is moving or atspecific operational configurations. The arm and attached tooling may perform the operationsthemselves (such as painting) or carry parts to other devices which perform the operations.

Newer technologies are concerned with robot interactions with parts such that interaction forcesand torques can be controlled. This technology will permit more robot applications in assembly,which promises to be a growing application arena for robotics.

There are many processes which can be used to characterize robot applications, such as:

Non­contact path following ­ Robot does not come in contact with the object, but guides atool such as a welding tool or spray gun along a path described relative to a part.Contact path following ­ Robot follows a path while performing some contact operation onthe part such as polishing, or deburring. Often sensor input such as a force or torque valueis used to deviate the path direction.Repetitive configuration moves ­ Robot simply moves consistently between a set ofconfigurations that have been taught using a teach pendant and performs the sameoperation on parts that pass through the workcell. Sometimes sensors such as a visioncamera will be used to deviate the robot moves to compensate for local deviations in thepart delivery, or the part geometry.Telerobotics ­ Control that occurs with human interaction, where the physical robot arm isremoved from the human operator.Target moves versus taught moves ­ In target moves the robot tool is commanded tomove to a position and orientation in space not physically taught, but known relative to thebase of the robot. In a taught move the robot is commanded to move to a configurationpreviously taught and stored. Target moves require a mathematical model of the robotinverse kinematics, whereas taught moves only require a controller capable of moving therobot joints to the encoder values stored for the taught configuration.

Key Terms

Repeatability ­ variability in returning to the same previously taught position/configurationAccuracy ­ variability in moving to a target in space that has not been previously taughtTool speed ­ linear speed capability when tool moving along a curvilinear pathScrew speed ­ rotational speed when tool is being rotated about an axis in spaceJoint interpolated motion ­ motion where joint taking longest time to make the joint changegoverns the motion and the other joints are slowed in proportion so that all jointsaccomplish their joint changes simultaneously with the slowest jointJoint limits ­ either the software or physical hardware limits which constrain the operating

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 2/14

range of a joint on a robot. The software limits have a smaller range than the hardwarelimits.Joint speed limits ­ speed limit for robot joints, which limit how fast the links of a robotmay translate or rotate.Point­to­point motion ­ characterized by starting and stopping between configurations or asthe tool is moved between targets.Continuous path motion ­ characterized by blending of motion between configurations ortargets, usually with the loss of path accuracy at the target transitions, as the robot movesbetween configurations/targets.Interpolation (kinematic) capabilities ­ robot usually capable of both forward and inversekinematics. Both combine to give the robot the capability to move in joint space and in Cartesian space. We typically refer to the moves as joint, linear, or circular interpolation.Forward kinematics ­ specifying the joint values to accomplish a robot move to a newconfiguration in space. These may not be simple as it seems because secondary jointssuch as four­bar linkages, ball screws, etc. may be required to accomplish this motion.Inverse kinematics ­ solving a mathematical model of the robot kinematics to determinethe necessary joint values to move the tool to a desired target (frame) in space. This isaccomplished by frame representation whereby a triad (xyz axes) is attached to the tool onthe robot and a target frame is attached to the part or operating point in the workcell. Theinverse kinematics determine the joint values that align the tool triad with the target triad.I/O ­ input/output which consist of ON/OFF signal values, threshold values, or analogsignal values which allow the control of or response to external devices/sensors asrequired to sequence workcell operations.Programming language ­ The language and logical constructs used to program the set ofoperational instructions used to control robot movement and interact with sensors andother cell devices.Multi­tasking ­ ability to process more than one program at a time or process I/Oconcurrently.Load capability ­ force and torque capability of the robot at its tool interfaceTCF ­ tool or terminal control frameTCP ­ tool/terminal control pointTeach Pendant ­ Operator interface device used to teach/save robot configurations andprogram simple instructions.

Robot Definition

"A robot is a reprogrammable, multi­functional manipulator designed to move material, parts,tools, or specialized devices through variable programmed motions for the performance of avariety of tasks." (Robotics Institute of America)

Note that computer controlled industrial machine tools fall within the robot definition, but puristsresist referring to CNC machine tools as robots.

Where Used & Applied?

Robots are used in almost any industry where repetitive tasks are involved, or the task is difficultmanually, or dangerous, such as

welding, painting, or surface finishing in the aerospace or automotive industrieselectronics and consumer products assembly and inspectioninspection of parts by robot assisted sensors or in the form of a Coordinate MeasurementMachine (CMM)underwater and space explorationhazardous waste remediation in government labs, nuclear facilities, and medical labs

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 3/14

Robot Types

Robots usually have joints to position the tool and joints to orient the tool. Gross positioning isaccomplished by the inner (primal) joints, while orientation is accomplished by the outer (distal)joints.

When classifying a robot type, the primal joints are used, it being understood that the orientationjoints can be added to give the orientation flexibility required. Thus, the figures which follow showonly the first three joints in the robot type classification.

Figure 1 ­ Revolute: RRR

Figure 2 ­ Spherical: RRP

Figure 3 ­ Cylindrical: PRP

Figure 4 ­ Rectangular: PPP

Vendors & Costs

There are numerous vendors of robots throughout the world, most now in Japan. Some of theprimary vendors are:

Fanuc (Japan) Kuka (Germany) ABB (Sweden, US) Adept (US) Seiko (Japan) Motoman (Japan)

Costs vary by the application, robot size and complexity, and the costs of the supportingtechnologies involved. Robots can range from $1000 to millions of dollars, but the average cost ofa robot lies within the $20,000 ­ $80,000 range. The integrated robot cell usually costs severaltimes that of the robot.

Vendors will typically supply specification sheets, but you must be wary in evaluating thesespecifications. Vendors do not necessarily apply the same test procedures to generate the specdata. Follow this link for sample specifications for a Kawasaki Js­30/40 robot.

Supporting Technologies

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 4/14

The types of technologies that are often integrated with a robot are:

vision systemsend­of­arm tooling and special compliance/manipulation deviceswelding technologiesoptical devices such as laserssensors such as acoustical or other type proximity sensors.wrist sensors capable of measuring wrist forces and torques.control software and hardware, such as AC/DC motors, encoders, tachometers, amplifierspart delivery systems such as conveyors, part feedersapplication software, interface softwarerealtime operating systems,, programming languagescommunication protocol/networksI/O devices such as PLC's (Programmable Logic Controller), either discrete or analog

Advantages

Greater flexibility, reprogrammability, adjustable kinematic dexterity Greater response time to inputs than humans Improved product quality Maximize capital intensive equipment in multiple work shifts Accident reduction Reduction of hazardous exposure for human workers Automation less susceptible to work stoppages

Disadvantages

Replacement of human laborMore unemploymentSignificant retraining costs for both unemployed and users of new technologyAdvertised technology does not always disclose some of the hidden disadvantagesHidden costs because of the associated technology that must be purchased andintegrated into a functioning cell. Typically, a functioning cell will cost 3 ­ 10 times the costof the robot.

Limitations

Assembly dexterity does not match that of human beings, particularly where eye­handcoordination required.Payload to robot weight ratio is poor, often less than 5%.Robot structural configurations often constrain joint limits and thus the the work volume.Work volumes can be constrained even further when parts of substantial size are pickedup or when tooling/sensors added to the robot.The robot repeatability and/or accuracy can constrain the range of potential applications.The closed architectures of most modern robot control systems make it difficult toconfigure the robot in automated cells where a variety of devices have to be integrated.

Robot Kinematics

The manipulator of a robot, in general, is an open kinematic chain. Since it is not a mechanismrequiring only 1 input for control of output (position, velocity, etc.) like a 4­bar linkage, the jointsmust be controlled individually.

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 5/14

Figure 5 ­ Set of serial links connected by joints

The number of degrees­of­freedom (DOF) of a kinematic chain is governed by the type andnumber of joints. Manipulators generally have joints which permit 1 DOF and thus, the DOF of therobot equals the number of displacing links which equals the number of joints. A uniquemanipulator configuration is specified by a set of unique joint values.

Even though many robots have joints which are configured serially, many robots have other jointswhich actually actuate the primary joints. For example many robots use 4­bar linkages to actuatethe primary joints. Somtimes these joints are referred to as the actuation joints.

Homogeneous Transformation

The general homogeneous transformation is used to describe mathematically the position andorientation (pose) of a frame (xyz triad) in space relative to another frame (sometimes called baseaxes). It is represented by 4x4 matrix H where R is a 3x3 orientation submatrix and p is the fourthcolumn vector.

H = (1)

The columns of H represent the four vectors describing a second frame; the first three, whennormalized, are the direction cosines of the referenced (or secondary) frame relative to the baseframe. The last vector locates the secondary origin.

In the more general case of both rotation and displacement the first 3 columns represent thesecondary frame axes orientation with respect to the base axes as determined by their directioncosines and the fourth column locates the secondary origin relative to the base origin.

If there is no rotation then R = I = the identity 3x3 matrix. The fourth column p (px,py,pz)represents the origin (displacement) of a second frame relative to a reference frame. If there isrotation only, then p = 0.

Example 1:

Suppose that

H = H (y,90)H(z,90) =

Draw a figure which depicts the orientation of the frame after the two rotations described above.

Solution:

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 6/14

Figure 6 ­ Multiple rotations

The columns of H represent (orient and locate) a secondary reference frame x"y"z" relative to theoriginal xyz frame.

Rotation Transformations

For the special case of rotation by angle theta about the x axis, R assumes the form

R(x, ) = (2)

Figure 7 ­ Rotation of a vector

We designate the rotated frame by the x'y'z' axes and the original frame by the xyz axes. Theeffect of rotating u to v is to change its coordinates with respect to the xyz axes but not withrespect to the x'y'z' axes.

Figure 8 ­ Rotation about the x axis

The coordinates of v in xyz are

since the coordinates of v in x'y'z' are same as u in xyz. Thus, v = R(x,) u.

Similarly, rotation about the y or z axis gives

(3)

(4)

Multiple Rotations

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 7/14

The usual procedures for locating points in translated and rotated reference frames relative tobase axes is to rotate the axes first, then translate the origin or, alternatively, translate the framefirst and then rotate about the translated frame, rather than the reference frame. H(R,p) will beused to denote this order.

Real rigid body rotations often involve multiple rotations. The next example shows the effect oftwo rotations performed in order about the base frame.

Example 2:

Rotate u by ­90o about +z and ­90 about +y. What are the final coordinates in xyz axes? If therotation order is changed, will the final coordinates be the same? Let u = [0 1 0].

Solution:

v = R (z,­90) u

w = R (y,­90) v

Thus,

w = R (y,­90) R (z,­90) u which can be shown by the operation:

w = =

If we changed the order of the rotations, we would discover that rotations are not commutative!

Relative Transformations

Statement without proof:

If we postmultiply a transformation representing a frame by a second transformation, we makethe transformation with respect to the frame axes of the first transformation. Premultiplying theframe transformation by the second transformation causes the transformation to be made withrespect to the base reference frame.

Example 3 (Paul):

Given frame C,

C =

and transformation H,

H =

locate frame X = H C and frame Y = C H

Solution:

First, calculate X:

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 8/14

X =

This can be illustrated by Figure 9 where we note the final orientation of the x", y", and z" axeswith respect to the x, y, and z axes, respectively.

Figure 9 ­ X = HC

Next, we reverse the order to calculate Y = CH :

Y =

which can be illustrated by the following figure:

Figure 10 ­ Y =CH

Note that postmultiplying causes H to be made relative to frame C rather than relative to XYZbase axes.

Forward Kinematics

Using homogeneous transformations to relate the joints for the serial links of a robot the pose of atool at the end of the robot can be determined by the equation

T = H1 H2 H3...Hn G (5)

where T locates the tool relative to the robot base frame and G locates the tool relative to the lastjoint/link frame.

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 9/14

The joint frames are described relative to each other by H and are a function of the joint angle if arotational (revolute: R) joint or the joint translation if a sliding (prismatic: P) joint. Note that thejoint frames relative to the previous joint frame as described by H are usually oriented such thatthe rotation or translation takes place about the joint z axis.

In forward kinematics the amount of translation or rotation is specified directly and the tool iscommanded to the pose described mathematically by T since each H is known. Forwardkinematics is used in teach pendant programming to describe the pose of the tool once one ormore joint values are changed by jogging the robot through the teach pendant interface.

Inverse Kinematics

Inverse kinematics is used for controlling path following or in sensor directed motion where atarget can be determined. Thus, inverse kinematics (IK for short) raises the opposite questionfrom forward kinematics: Given that I know the desired pose of the tool, what are the joint valuesrequired to move the tool to the pose?

Mathematically, we rearrange equation (4) so that we isolate the homogeneous transformationswhich are a function of the unknown joint values and somehow solve for the joint values by thefollowing equation:

(joint values unknown) H1 H2 H3...Hn = G ­1T (6)

where T is known.

Question: Why is G transferred to the right hand side of the equation as a known matrix?

If n is 6, then the robot has 6 degrees­of­freedom. The larger robots usually have 6 joints to givethem full orientation dexterity, but the inverse kinematics for these robots is usually more difficult.Regardless of whether the robot has 6 joints or less, the IK solution procedure begins by the userexamining the complex transcendental equations that arise by comparing each term generated bythe resultant product matrix on the left hand side of (6) with the known terms on the right handside (once the n H matrices have ben multiplied to arrive at a single matrix). Since there are 3 x 4= 12 such equations and typically 6 (or less) unknown joint values, it is obvious that the 12equations are not all independent. The problem is solving these complex set of equations for theunknown joint values.

Depending on the physical robot joint arrangement, some matrix manipulations make the inversekinematics solution easier. For example, some robots can be solved for their IK by rearrangingthe form of (6) to

H2 H3...Hn = H1­1 G­1 T (7)

This or similar manipulations sometimes allows the user to isolate joint values in an equation. Forexample, the form in (7) will allow the user to solve for joint 1 in some robots. Once joint 1 isdetermined it becomes easier to solve for the other joint values. The reader should note that aclose examination of the robot geometry and joint arrangement will also allow insight into thesolution approach.

Alas, there are many robots that have configurations for which an exact IK solution simply cannotbe found. These robots can only be commanded in a forward kinematics mode.

Singularity and Redundancy

Singularity problems surface when trying to control robots in Cartesian space. A robot singularityoccurs when robot axes are redundant (more axes than necessary to cause the same motion) orwhen the robot is in certain configurations that require extremely high joint rates to move at somenominal speed in Cartesian space.

Most industrial robots have 6 or less joints, thus, redundancy is not inherent to their design.Some robots, though, do have a certain joint arrangement in their final orientation joints that canlead to redundancy for certain orientations. For example, some robots have the final three jointaxes (joints 4, 5, and 6 in a six axis robot) arranged in a roll, pitch, roll sequence. If the pitch joint

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 10/14

has a zero value, then the two roll joints align with other. When the target frame require a rollvalue, the two roll joints have infinite flexibility to accomplish this desired value. For example, ifthe target requires a roll value of 20 deg, then the following combinations of joints 4 and 6 wouldsatisfy the roll value, along with an infinite additional combinations: (30 deg,­10 deg), (50 deg,­30deg), (­10 deg,10 deg), etc.

Mathematically, a jacobian mathematical matrix formulation can be used to relate the motion injoint space to the motion in Cartesian space. The singularity occurs when the inverse jacobianbecomes singular (determinant = 0).

Joint Interpolated Motion

Joint interpolated motion is the dominant type of joint motion when moving the robot in forwardkinematics. Typically, the robot is commanded to move from the current configuration to a newset of joint values. Obviously, there are numerous ways the robot controllere could choose tomake the change. For example, the robot controller could choose to move joint one to its newvalue, then joint 2, etc., until all the joints have been moved to their new values, but this wouldtake more time than necessary. For this reason, joint interpolated motion is the algorithm ofchoice.

The joint interpolated algorithm

1. examines each joint for the changes in joint angles,2. estimates the time to accomplish each joint change at the current speed setting, given the

speed allowables for each joint,3. determines the joint which will take the longest time to accomplish the joint change,4. then slows the remaining joints down so that all accomplish their change in the same

period.

The joint interpolated setting is usually a number between 0 and 1 which represents the fractional% of full speed for each joint.

Example 4:

A simple mechanism has two joints described as follows:

1. Joint 1: Type = Prismatic (sliding) Joint speed maximum = 100 mm/s

2. Joint 2: Type = Revolute (rotational) Joint speed maximum = 180 deg/s

If the robot joint speed setting is set to 50%, then approximate the time to move from aconfiguration of 20 mm, 125.3 deg to a configuration of 134.5 mm, 34.5 deg, and also determinethe joint speeds in doing so. Which joint is controlling the motion and which is following themotion? Neglect the acceleration and deceleration times.

Solution:

Joint 1 experiences a change of 114.5 mm in the move while joint 2 experiences a change of­90.8 deg. At the 50% speed setting, joint 1 would take (114.5 mm)/[(0.5)(100 mm/s)] = 2.29 secto complete the move.

Joint 2 would take |­90.8 deg/sec|/[(0.5)(180 deg/sec)] = 1.008 sec to complete the move.

Since joint 1 takes the longest time, it controls the motion. Thus, it will take 2.29 sec to completethe move for both joints, causing joint 2 to follow the motion by slowing its rate to 90.8 deg/2.29sec = 39.65 deg/sec.

Reader Problem:

A simple x­y­theta robot (2 prismatic joints, 1 revolute joint) has a tool frame attached that can be

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 11/14

described by the frame C relative to the robot base frame. The robot joint speed is set at 0.6.Determine the joint speed for each joint and an approximate time to move the tool frame C to theframe H if the joint speed allowables for the three joints are x: 300 mm/s, y: 300 mm/s, and theta(rotate about an axis normal to x­y plane): 150 deg/s. Both C and H are described relative to thebase frame of the robot.

C =

H =

Robot Programming

Most robots are still programmed by manually leading the robots though the desired path or tocritical key points using a device called a teach pendant ­ see the following figure.

Figure 11 ­ A Teach Pendant (Courtesy of Eshed Robotec)

Increasing use of off­line programming systems are the result of the rise of open­ architecturesystems like ROBLINE/CODE which make it much easier to integrate different devices in a cell.The CODE system is unique in that it incorporates a realtime manufacturing database of nodeobjects that make the programming of simulated or actual robot cells much more intuitive. Seethe figure which follows.

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 12/14

Figure 9 ­ CODE Hierarchical Realtime Node Tree

These nodes can be assigned various manufacturing and control attributes, which are then usedin the control functions. It is not necessary to program tasks in terms of numbers; rather, thecontrol tasks are programmed using object­oriented syntax (see the example program in the nextsection).

Also note from Figure 9 that the node tree is dynamic. This means that branches of the tree canbe cut and pasted, allowing for the most complex assembly where parts are picked up by a robotand then moved or attached to different parts of the workcell.

Robot Programming Languages

There are numerous programming languages and interfaces to robots. These languages aretypically a modification of a known programming language like Basic, Pascal, or C. Theseprogramming languages use a device interface to issue control commands to theservocard/amplifiers which drive the physical mechanism motors. In addition, the programminginterface allows the user to read and send device I/O.

There are numerous programming languages. A few examples are:

DARL/SPEL ­ Basic like language developed by SEIKO which uses statements like the following to control robot motion and I/O:

100 MOVE T5 T7 110 DELAY 20: SPEED 200 120 MOVE T10 T4 130 OUTPUT + OG3 500

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 13/14

KAREL ­ Developed by Fanuc and is a Pascal derivative. VAL II ­ Developed originally by Unimation. CODE (also known as Robline) C and API libraries ­ developed by BYU and CIMETRIX and requires the user to write C programs that call library functions, such as the program excerpt which follows:

#include #include #include

#define OPEN_HAND 45.0 #define CLOSE_HAND 50.0

void main( void ) /* Local variables */ server peg; mechanism s100, gripper; char *server_name; node_id s100_id, gripper_id; node_id peg_1_loc, grip_tcf, pallet2, peg_1, pallet; double offset = 150.0;

if( GetDefaultServer(&server_name)==ERROR ) printf("No default server found\n"); exit(­1);

/* open server */ peg = open_server( server_name, SYSTEM_V, 0 ); set_simrate(peg,0.25);

/* get all node ID to be used */ get_named_node_id(peg, "s100", &s100_id); get_named_node_id(peg, "gripper", &gripper_id); get_named_node_id(peg, "peg_1_loc", &peg_1_loc); get_named_node_id(peg, "grip_tcf2", &grip_tcf); get_named_node_id(peg, "pallet2", &pallet2); get_named_node_id(peg, "peg_1", &peg_1); get_named_node_id(peg, "pallet", &pallet);

/* open mechanism */ s100 = open_mechanism( peg, s100_id, CONTROL); set_motion_track(s100, ON); gripper = open_mechanism( peg, gripper_id, CONTROL);

set_interp_type( s100, JOINT_INTERP ); set_joint_speed( s100, 0.25 ); set_joint_speed( gripper, 0.25 ); move_single_axis( gripper, 0, OPEN_HAND );

while(1) move_near_node( s100, peg_1_loc, grip_tcf, offset ); move_to_node( s100, peg_1_loc, grip_tcf ); move_single_axis( gripper, 0, CLOSE_HAND ); attach_node( peg, peg_1, grip_tcf ); move_away( s100, grip_tcf, offset );

move_rel_node( s100, pallet2, grip_tcf, "xyz", 0., 0. ,0. , 125., 87.5 ,175. );

8/9/2015 Robotics Review

http://eaal.groups.et.byu.net/html/RoboticsReview/body_robotics_review.html 14/14

move_rel_node( s100, pallet2, grip_tcf, "xyz", 0., 0. ,0. , 125., 87.5 ,75.0 ); move_single_axis( gripper, 0, OPEN_HAND ); change_color( peg, peg_1, 1., 0., 0. ); attach_node( peg, peg_1, pallet2 ); move_away( s100, grip_tcf, offset ); . .

The biggest problem with proprietary programming languages is that the programs will not port toa different mechanism made by another manufacturer. This spells trouble if you have to replacethe mechanism in a cell with a different mechanism because you now have to port the controlprograms to the new programming language.

Robot Standards

There are few standards established for robotics. The primary standards can be obtained from theRobotics Industry Association (RIA). These deal with repeatibility and accuracy definitions, withlimitations and safety regulations applied to teach pendants, with interface information thatdescribes the robot motion capabilities, and with some of the wiring codes used for motioncontrollers.

Summary

Robotics is the integration of computers and controlled mechanisms to make devicesreprogrammable and versatile. Modern mathematic representations are used in the controlalgorithms to plan robotic tasks and integrate sensors into the task planning.

There are decided advantages to using robots, namely flexibility and performance quality. Thedown side is that it does interrupt the labor pool and requires an upgrading of the educationalrequirements for manufacturing personnel.

Robotics are used in most industries and will be used even more in the decade to come. In 1994the Japanese purchased more robots than the entire installed U.S. base. Nevertheless, the use ofrobots in the U.S. is growing rapidly.

References

John J. Craig, Introduction to Robotics, Mechanics and Control, Addison Wesley, 1989.

Richard P. Paul, Robot Manipulators: Mathematics, Programming, and Control, MIT Press, 1981.

Charles J. Spiteri, Robotics Technology, Saunders College Publishing, 1990.