Robot Programming: Amirkabir University of Technology Computer Engineering & Information Technology Department
Robot Programming: Amirkabir University of Technology Computer Engineering & Information Technology Department
Robot Programming: Amirkabir University of Technology Computer Engineering & Information Technology Department
Typical program:
A Move PT1
Delay (10)
Move PT2
Goto A
Robot Library for a New
General Purpose Language
These robot programming languages
have been developed first by creating a
new general language as a
programming base, and then supplying
a library of predefined robot specific
subroutines.
Example: AML, KAREL.
Task Level Programming
Allow the user to command desired sub
goals of the task directly.
Have the ability to perform many
planning tasks automatically.
Example: “grasp the bolt.”
Does not exist yet!
Requirements of a Robot
Programming Language
World modeling
Motion specification
Flow of execution
Programming environment
Sensor integration
World Modeling
The most common element of RPL is the
existence of geometric types:
Jo int angles
Cartezian Positions
Geometric Types
Orientatio n
Frames
World Modeling
All motions are described as tool frame
relative to station frame. Goal frames are
constructed from expressions involving
geometric types Feeder
Names for various
geometric types
Fixture
Shape of
objects are not
included Table
World Modeling
Affixment:
Some language allow two or more named
objects to be affixed. If one is moved
the others are moved too.
CAD data.
Some world modeling systems allow CAD
models to be included.
Motion Specification
A basic function of any RPL is to allow
description of robot motion by motion
statements.
These statements specify: via points,
goal points, interpolated motion or
Cartesian straight line motion, space
and time control.
Move goal1
Move via1
Motion Specification
Other features.
The ability to do math on frames,
vectors, matrices.
Different geometric representation and
conversion between them.
Constraints on speed.
The ability to specify goals relative to
various frames.
Flow of Execution
Most RPL support concepts such as:
Testing, branching, looping, call to
subroutines and interrupts.
Parallel processing for control of two robots
or other equipments in the same workcell in a
parallel fashion. (By using signal and wait
primitives).
Event monitoring by interrupts or though
polling.
Programming Environment
Manipulator programming is difficult and tend
to very interactive, with a lot of trial and
error.
The productivity of “edit-compile-run” would
be low hence most RPL are interpreted:
statements run one at a time during program
development and debugging.
Typical program support: text editors,
debuggers, and file system.
Sensor Integration
Any RPL should have capability to query touch
and force sensors. Some may support other
sensors:
Vision: to extract coordinate of objects
Conveyor belt interface: to track belt motion
and acquire objects from the bet as it moves
Active force control: the ability to specify
force strategies, display force data and
programming the stiffness
Move arm to goal
With force=20*ounces along z
Problems Peculiar to Robot
Programming Languages
Internal world model versus external
reality
Context sensitivity
Error recovery
Internal World Model Versus
External Reality
Discrepancies between internal model and
external reality will result in poor or failed
grasping of objects and collisions. This
correspondence must be established in the
program’s initial state and maintained
through its execution.
For dealing with position uncertainty and
manipulator accuracy it s essential to be able
to refine the position information.
Internal World Model Versus
External Reality
Some times sensor information( touch, vision
and force) is used for dealing with
uncertainties.
Debugging is difficult because retrying of
more than one action might be needed.
Physical chance to objects ( a painted
surface, a drilled object ) are not reversible
and the object must be changed.
Context Sensitivity
In RPL Bottom-up-programming doesn't
always work well.
Manipulator programs are highly
sensitive to context, motion speed and
initial condition.
Programs tested in low speed may
experience greater servo error or need
force strategy change in higher speed.
Error Recovery
In assembly operations the objects might not
be exactly where they should be and hence
motion may fail.
Error detection is difficult because robot has
limited sensing and recovery capabilities. The
program must have explicit test.
Position test:
For jamming detection( if no change).
Missing object or slipping if to much change.
Error Recovery
Checking for every motion is cumbersome so
only most likely to fail motions are being
checked.
Code to recover fail is a major part of
manipulator program.
Typical Program Development Steps
Workspace is set up and its components (robot,
feeders, conveyors, jigs etc.) are fixed.
The location (orientation and position) of the
workspace components are defined using the
data structure provided by the programming
language.
The task is partitioned into a sequence of
actions which can be implemented by the
programming language (e.g. Move, pause,
repeat etc).
The program is refined and debugged.
Robot workcell Simulations and Off-
line Programming (OLP) :
Interactive, 3D graphic simulation packages for
designing, evaluating, and off-line programming
robotic workcells are available:IGRIP , GRASP,
workspace .
Actual robotic/device geometry, motion
attributes, kinematics, clamps, fixtures, and I/O
logic are incorporated to produce extremely
accurate simulations.
Robot workcell Simulations and Off-
line Programming (OLP) :
Interactive 3D graphics to verify production
concepts, workcell designs and manufacturing
processes before implementing them on the
shop floor.
After verification is completed, automated
factory floor devices, such as robots and
turntables, can be programmed off-line based
on the CAD data for the part being processed.
Robot workcell simulations and Off-
Line Programming (OLP) :
Includes built-in libraries of robots, common
production equipment, and application-specific
options that include tooling such as spot weld
guns, and even paint spraying tools.
These libraries, an integrated CAD system, and
data translators for IGES, DXF, pro/engineer
and other file formats support the rapid
development of accurate simulation models.
Simulation and analysis functions include
automatic collision and near-miss detection, and
automatic adjustment of a robot work envelope
for tool offsets and joint limits.
Robot workcell Simulations and Off-
line Programming (OLP) :
Student Presentations
Introduction to Robocup