• The basic components of a robot are,
Structure - the mechanical structure (links, base, etc). This requires a great deal of mass to provide enough structural rigidity to ensure minimum accuracy under varied payloads.
Actuators - The motors, cylinders, etc. that drive the robot joints. This might also include mechanisms for a transmission, locking, etc.
Control Computer - This computer interfaces with the user, and in turn controls the robot joints.
End of Arm Tooling (EOAT) - The tooling is provided be the user, and is designed for specific tasks.
Teach pendant - One popular method for programming the robot. This is a small hand held device that can direct motion of the robot, record points in motion sequences, and begin replay of sequences. More advance pendants include more functionality.
• Robots come in a wide variety of shapes, and configurations.
• The major classes of robots include,
arms - fixed in place, but can reach and manipulate parts and tools
mobile - these robots are free to move
Revolute - rotary joints often driven by electric motors and chain/belt/gear transmissions, or by hydraulic cylinders and levers.
Prismatic - slider joints in which the link is supported on a linear slider bearing, and linearly actuated by ball screws and motors or cylinders.
Cartesian/Rectilinear/Gantry - Positioning is done in the workspace with prismatic joints. This configuration is well used when a large workspace must be covered, or when consistent accuracy is expected from the robot.
Cylindrical - The robot has a revolute motion about a base, a prismatic joint for height, and a prismatic joint for radius. This robot is well suited to round workspaces.
Spherical - Two revolute joints and one prismatic joint allow the robot to point in many directions, and then reach out some radial distance.
Articulated/Jointed Spherical/Revolute - The robot uses 3 revolute joints to position the robot. Generally the work volume is spherical. This robot most resembles the human arm, with a waist, shoulder, elbow, wrist.
Scara (Selective Compliance Arm for Robotic Assembly) - This robot conforms to cylindrical coordinates, but the radius and rotation is obtained by a two planar links with revolute joints.
• Some specifications for commercial robots are given below
Repeatability (based on constant temp., load, speed) +/-0.025mm (+/- 0.001 in.)
Operating Temperature 0C to 40C (32F to 104F)
Humidity (based on constant temp. load, speed) 20% to 90%
Power Requirements 200-240 VAC
Resolution 0.0005 in (0.012mm)
max. speed 14 in/sec (360 mm/sec)
max. force 23.3-35.2 lbs (10.6-16.0 kg)
max. speed 29.5 in/sec (750 mm/sec)
• The workspace is pictured below,
• All DARL comments follow ’ at any position on a line.
• Statements are ended with a colon, and as long as colons are used, more than one statement can be used on a line.
• Line numbering is required for DARL programs.
• Dimensions are given in millimeters in the programs.
• Commas and spaces are treated as equivalent.
• A sample program is given below with comments for explanation,
• First, points can be defined in programs, they can also be defined by moving the robot to the location and storing the value. This allows the robot to accurately find points without measuring. It also means that points location values don’t need to appear in programs, they are stored in memory.
• A example that uses for-next, if-then, goto and gosub-return commands is shown below. These commands are very standard in their use.
• A example that uses motion is shown below. The ‘move’ command causes a motion to another point by only turning the needed joints. ‘moves’ causes a more complex motion resulting in a straight line tool motion between points. ‘movec’ allows a circular interpolation dictated by three points (the start, and the two given). The shave command forces the robot to fully complete a motion and stop before going to the next point. The sync command will move the robot, but keep the gripper in the original position relative to the real world.
• A example that defines tool location offsets is shown below. This is particularly useful for a robot that has more than one tool attached. The normal tool location is on the end of the arm. With multiple tools attached we will have multiple tool center points. We can have a tool definition for each one of these. Note that the x-axis is the normal forward for the tool. The tool axis can only be changed in the x-y plane (or the plane perpendicular to the gripper rotation).
• A example that uses pallet commands is shown below. Basically a pallet allows us to create an array of points (it does the calculations). We can then give a location on a pallet and move to that point. The basic pallet definition requires that we indicate the number of rows and columns. We also need to define the physical locations of the rows and columns. We do this by giving an origin point, and then defining where the first row and column end. To use the pallet location we can simply refer to the pallet location index.
• A example that defines and uses new frames is shown below. We define a new frame of reference by using points. The first point becomes the new origin. The second point determines where the new x-axis points. The z-axis remains vertical, and the y-axis is shifted appropriately.
• A example that uses simple inputs and outputs is shown below. Note that there are two connectors for I/O. The main or ‘E’xternal connector is on the main controller box. The other I/O lines are on the ‘G’ripper. We can check the states of inputs and set the states of outputs. The ‘+’ sign indicates inputs/outputs high (5v) and the ‘-’ sign indicates low (0V). The ranges for input points are ie0-ie15, ig0-ig7, and for output points oe0-15, og0-7. The search command allows us to move the robot until an input is activated. This is useful when attempting to find a part by touching it.
Repeatability (based on constant temp., load, speed) +/- 0.3mm
Operating Temperature 5C to 40C
Humidity (based on constant temp. load, speed) 10% to 85%
Power Requirements 120/220/230/240 VAC
• The workspace is pictured below,
• All comments follow a semi-colon at any position on a line
• Statements are ended with a colon, and as long as colons are used, more than one statement can be used on a line.
• Dimensions are given in millimeters in the programs.
• A sample program is given below with comments for explanation,
• The example below shows how points are defined and used. Please be aware that point location values are not normally defined in a program. Normally they are programmed by hand, and then when the program is run, it refers to them by number (from 1 to 629)
• The example below shows how we can define and use pallets. The definition of a pallet covers a number of lines to define the pallet size and then the location. We must also define points to indicate where the pallet lies in space. For the example below these points would have to be position numbers 20 (pallet origin), 21 (origin to end of first column), 22 (origin to end of first row), 23 (origin to diagonal corner of pallet). Note: if using pallet #3 these counters would be 30-33, and point 3 would move.
• The example below shows some of the position commands. These positions are normally defined outside the program by moving the robot to desired locations. These positions are not always absolute, and in some cases will act as displacement vectors.
• The example below shows some of the counter and branching functions. These tend to use a status register approach - for example, a value to be compared will be loaded on one line, the next line will compare it and a branch instruction will occur on the specified condition. For-next loops have been constructed as part of this example.
• The example below shows how to use various gripper and I/O functions. There are eight input bits and 8 output bits available.
Repeatability (based on constant temp., load, speed) +/-0.05mm (+/- 0.002 in.)
Operating Temperature 10C to 40.6C (50F to 106F)
Humidity (based on constant temp. load, speed) 8% to 80%
Range 0 to 200 degrees +/- 1deg.
Low speed (note: this is set by a switch)
max. speed 700 mm/sec (28 in./sec)
max. speed 1100 mm/sec (43 in./sec)
max. speed 1450 mm/sec (57 in./sec)
Range 0 to 160 degrees +/- 1deg.
Low speed (note: this is set by a switch)
max. speed 525 mm/sec (21 in./sec)
max. speed 825 mm/sec (32 in./sec)
max. speed 1000 mm/sec (39 in./sec)
Range +/- 180 degrees +/- 1.5 deg.
Holding Torque 35 kg-cm (30.4 in.-lb.)
Maximum load centered on Z-Axis 6 kg (13.2 lb)
Maximum speed 3.7 rad/sec (210 deg./sec. +/-5%)
Rotating Torque 14 kg-cm (12.2 in-lb)
Max. load inertia 0.1 kg-m**2 (0.074 slug-ft**2)
(Note: effects of off centre loads not
considered, and lower maximum)
Maximum Payload 6.0 kg (13.2 lb)
Maximum Pressure 6 kg/cm**2 (85 psig)
Conditioning Must be moisture free, as through a
moisture separator, and filtered with
• The workspace is shown below,
• All AML comments start with two dashes ‘--’ at any position on a line
• Statements are ended with a semi-colon, and as long as semi-colons are used, more than one statement can be used on a line.
• Line numbering is done by the AML Editor
• the free form variables/identifiers must: start with a letter; be up to 72 characters in length; use letters numbers and underscores, except in the last position.
• Statements have the general form,
• A sample program is given below with comments for explanation,
• A summary of the commands is given below,
• A summary of some of the keywords is,
maximum payload (for a 200mm tool offset) 6 kg
Maximum moment of inertia 2.5 Nm (dynamic)
Maximum static moment 12 Nm (static)
Pneumatic 2 solenoid valves are located in the
upper arm, and can be operated by
electrical There is a four pole electrical outlet
in the upper arm for use with more