0% found this document useful (0 votes)
65 views21 pages

Unit IV Robot Kinematics AND Robot Programming: Prepared by

This document discusses robot kinematics, programming, and languages. It covers forward and inverse kinematics for robots with 2-4 degrees of freedom, Jacobians, manipulator dynamics, trajectory generation, and programming methods like teach pendent and textual languages. Specific languages discussed include VAL, RAPT, and AL. It also outlines general requirements for robot programming languages and different levels of languages.

Uploaded by

Bala mech
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views21 pages

Unit IV Robot Kinematics AND Robot Programming: Prepared by

This document discusses robot kinematics, programming, and languages. It covers forward and inverse kinematics for robots with 2-4 degrees of freedom, Jacobians, manipulator dynamics, trajectory generation, and programming methods like teach pendent and textual languages. Specific languages discussed include VAL, RAPT, and AL. It also outlines general requirements for robot programming languages and different levels of languages.

Uploaded by

Bala mech
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Unit IV

ROBOT KINEMATICS
AND
ROBOT PROGRAMMING

Prepared by
B.Balasubramanian
AP/MECH
CCET
Syllabus
Forward Kinematics, Inverse Kinematics and Difference;
Forward Kinematics and Reverse Kinematics of
manipulators with Two, Three Degrees of Freedom (in 2
Dimension), Four Degrees of freedom (in 3 Dimension)
Jacobians, Velocity and Forces-Manipulator Dynamics,
Trajectory Generator, Manipulator Mechanism Design-
Derivations and problems. Lead through Programming,
Robot programming Languages-VAL Programming-
Motion Commands, Sensor Commands, End Effector
commands and simple Programs.
Methods of Robot programming (Industrial
Practice)
• Lead through method or Teach-by-showing:
It require the programmer to move the manipulator
through the desired motion path and that the path
be committed to memory by the robot controller.
• Textual robot language:
It is accomplished somewhat like computer
programming. The programmer types in the
program on a CRT monitor using a high-level english
like language
Levels of Robot programming languages

Bonner classified Robot programming languages


in to five distinct levels to indicate the basic
features of each language. They are as follows
• Microprocessor/microcontroller level
• P-t-P (Point- to - Point) level
• Motion level
• Structural programming level
• Task oriented level
Classification of Robot Languages
Robot languages can be grouped broadly in to
three major classes
– First generation language
– Second generation language
– World modelling and task-oriented object
language
General Requirements of a Language for Robot Control

1) Geometric and kinematic calculations: functions and data


types to allow the compact and efficient expression of coordinate
systems in homogeneous coordinates and their transforms
(matrix arithmetic); perhaps even very high level operations such
as solving the kinematic equations.
2) World modelling: the ability to define objects by, for example,
the space enclosed by a set of intersecting surfaces, to
manipulate such objects as a whole, to 'attach' objects(including
parts of the robot) so that the system knows that if one object
moves then any attached objects also move, and to test for
collisions. Other functions can be imagined. World modelling is
related to simulation and computer-aided design.
3) Motion specification: the ability to do the things
described in the section on specifying trajectories. This
implies functions such as linear interpolation, finding
the equation of a circle from points on it, fitting curves
through a series of points and so on. It may also be
useful to specify sawtooth weaving, as used in arc
welding, speed and acceleration, and the direction of
approach to a certain point (important for assembly).
4) The use of sensing for program branching and servo
control.
5) Teaching: the ability to accept path points taught by
leading or walking through. This is perhaps an aspect
of trajectory generation.
6) Communication with other machines.
7) Vision and other complex sensing (such as tactile
imaging). Although it is more usual for such processing
to be done in a separate system which feeds a simple
result such as object orientation to the robot control
system, there may be a place for these capabilities
within the language itself.
Robot Languages
• The earliest was MIT's language MHI in 1960. Its main robot-
specific constructs are moves and sensor tests.
• A more general purpose language was WAVE, developed at
Stanford in the early 1970s. It introduced the description of
positions by Cartesian coordinates, coordinated joint motions
and compliance by letting certain joints move freely under
external loads.
• An influential language, which is still being extended, is AL.
This provides Cartesian specification of motions, compliance,
the data ,types and control structures of an Algollike
language, support for world modelling (such as attachment)
and the concurrent execution of processes.
• A more recent language is RAPT, based on the machine tool
language APT, and developed at Edinburgh University. Robot
manufacturers often provide a language to go with their
products. Example is Unimation's VAL for the PUMA robot.
Versatile Assembly Language (VAL)
• It is a popular textual robot language developed by Unimation
Inc. for the PUMA series of robots
• Victor Sheinman developed VAL language
• It is very user friendly
• WAIT and SIGNAL commands can be given to implement a
specific task
• The commands are subroutines written in BASIC and
translated with the aid of an interpreter
• Compiled BASIC has more flexibility
• It provides
 arm movement in joint, world and tool coordinates
 Gripping
 Speed control
Robot configuration control
• RIGHTY changes the robot configuration to
resemble a right human arm
• LEFTY change the robot configuration to
resemble a left human arm
• ABOVE makes the elbow of the robot to point
up
• BELOW makes the elbow of the robot to point
down
Motion control
• MOVE moves the robot to a specific location
• MOVES moves the robot in a straight line path
• DRAW moves the robot along a straight line through specified
distances In X,Y and Z directions
• APPRO moves the robot to a location which is at an offset
(along tool Z-axis) from a specified point
• DEPART moves the tool along the current tool Z-axis
• APPROS or DEPARTS do the same as APPRO or DEPART
instruction, but along straight line paths
• CIRCLE moves the robot through circular interpolation via
three specified point location
Hand control
• OPEN and CLOSE indicates respectively the opening
and closing of the gripper during the next instruction
• OPENI and CLOSEI carry on the same functions, but
immediately
• GRASP indicates the gripper to close
• MOVEST PART indicates that the servo controller end
effector causes a straight line motion to a point defined
by PART
• MOVET PART causes the gripper to move to position
by joint-interpolated motion
Location Assignment and modification

• SET
• HERE
Program control, interlock commands and
input/output controls
• SETI sets the value of an integer variable to the result of an
expression
• TYPEI displays the name and value of an integer variable
• PROMPT
• GOTO performs an unconditional branch to the program step
identified by a given level
• GOSUB and RETURN are necessary to transfer control to a
subroutine and back to the calling program respectively
• IF…THEN ELSE END transfers control to a program step
depending on a relationship being true or false
• PAUSE terminates the execution of a user program
Cont..
• PROCEED resumed from the point
• SIGNAL turns the signals ON or OFF at the specified output
channels
• IFSIG and WAIT test the states of one or more external signals
• RESET turns OFF all external output signals
• REACT indicates that the reactions
• REACTI interrupts robot motion immediately
• IOPUT and IOGET are the commands that are used either to
send or receive output respectively to a digital I/O module
• ADC and DAC
Simple VAL program
Program DEMO. A
1. APPRO PART, 50
2. MOVES PART
3. CLOSEI
4. DEPARTS 150
5. APPROS BOX, 200
6. MOVE BOX
7. OPENI
8. DEPART 75
END
Meaning of the program
The name of the program is DEMO. A
1. Move to a location, 50mm above the location PART (PART is a
location to be defined)
2. Move along a straight line to PART
3. Qose the gripper jaws to grip the object immediately
4. Withdraw 150mm from PART along a straight line path
5. Approach along a straight line to a location 200mm above the
location, BOX (BOX is to be defined later)
6. Move to BOX
7. Open the hand (and drop the object)
8. Withdraw 75mm from Box
• Step 1, 6 & 7 are examples of joint-
interpolated motions
• Steps 2, 4, & 5 are examples of straight line
motion
• Step 3 & 7 contain hand control instruction
• However, an optional level may be given, such
as “10 APPRO PART, 50”
• Go back to the same instruction
ROBOT KINEMATICS
• It is assumed that a robot can be regarded as a chain of
rigid links connected by revolute or prismatic joints at
which actuators, regarded as torque or force generators.
• The control of flexible structures is in its infancy and will
not be discussed.
• With this assumption, there is a set of important problems
in analysis and control, and most of the literature on
robot control addresses one or other of these.
• Some have accepted solutions; others are the subject of
research.
ROBOT KINEMATICS
They are as follows:
1) formulating the kinematic equations (joint coordinates to world
coordinates) ;
2) solving the kinematic equations (world coordinates to joint
coordinates);
3) the forward problem of dynamics - finding the motions resulting
from joint torques;
4) the inverse problem of dynamics - finding the torques needed to
produce a given motion;
5) specifying a trajectory between target points on the path;
6) actuator servo control - for a single actuator, how to drive it so as to
produce a specified position, velocity or torque.

You might also like