Programming Methods for Robots
Apurva Joshi M.Tech (RE)
Introduction
Fixed Automation
Robot Manipulator
Robot Program
To define path in space followed by manipulator combined with peripheral actions that support work cycle Peripheral actions
Gripper operation Logical decision making Communicating with other equipment
Robot Language
Developed for ease of control of motions of robots having different structures and geometric abilities Provide flexibility to user in defining task to be performed Ability to imbue intelligence in control program
Robot Programming
Substantially different from traditional programming. Considerations to be handled:
Objects to be manipulated: 3D geometry, variety of physical properties Robots operate in spatially complex environment Representation of 3D objects on a computer imprecise, discrete Monitoring, manipulation of sensory info Real time processing
Current approaches to programming
Robot-oriented programming Object oriented or tasklevel programming
Assembly task explicitly described as a sequence of robot motions Robot guided and controlled by program, each statement corresponding to an action
Describes assembly task as sequence of positional goals of objects rather than the robot motion required to achieve the goals No explicit robot motion specified
Methods to program robots work cycle
Manual programming method Walk through programming method Teach pendant/lead through programming method Offline programming method
Manual programming method
Employed for robots which perform simple tasks like pick and place, loading and unloading, etc. Various controlling components of a robot like cams, stops, switches, control relays, etc. are set through this method
Walk through programming method
Arm and hand of robot initially moved manually These movements stored in computer memory for being followed during further operations Suitable for robots used in arc welding and spray painting operations
Teach Pendant/Lead through programming method
A control box with buttons (teach pendant) used to control joint motors Points of motion recorded in memory and converted to motion programs Then, program is used to play back the motion during the cycle of operation More useful than point-to-point movements
Teach pendants
Hand held boxes that allow control of each manipulator joint or of each Cartesian DoF Allow testing and branching so that simple programs involving logic can be entered Primary functions
To guide robot while teaching locations Point of control for initiating and monitoring operations Support application programs
Types:
Programmer Operator
Teach Pendant Courtsey: industrial-electricity.com
Offline programming method
Separately prepared and fed into computer memory Readily available for use whenever operation is to be performed Can be prepared simultaneously while robot is operating on some other task thus saving time and increasing utility of robot Can be connected to central CAD/CAM database system
Offline programming method
Advantages Effective programming of locations Cost independent of production Verification of program through simulation and visualization Disadvantages Large investment in installing an offline programming system Extensive training required
Requirements of a Programming Language
World modeling
Given a robot programming environment that supports geometric types, the robot and other machine parts can be modeled by defining named variables associated with each object of interest
Motion specification
Permit user to specify via points, the goal point and the type of motion to be used. User may have control over speed of motion
Requirements of a Programming Language
Flow of execution
Permits user to specify flow of execution, i.e. concepts such as testing and branching, looping, calls to subroutines, interrupts
Sensory control
Info gathered by sensors needs to act as a feedback from the environment
Programming environment
Good programming environment fosters programmer activity
Execute one line of program at a time Execution continues till last line encountered or error is detected Simple debugging, Faster Easier
Types of Robot Programs
Interpreter based Execute one line of program at a time Execution continues till last line encountered or error is detected Simple to debug Complier Based Use complier to translate whole program into machine language Since processor executes object code, faster and more efficient Impossible to run with errors Debugging difficult
Levels of Robotic Languages
Micro-Computer Machine Level Language
Written directly in machine language Most basic, very efficient, difficult to understand All languages eventually complied to this level
Point-to-point level
Co-ordinates of points entered sequentially and robot follows those points Primitive, simple, easy, not very powerful Lacks branching, sensory info, conditional statements Eg: Funky, Cincinnati Milacrons T3
Levels of Robotic Languages
Primitive Motion Level
Includes sensory info, branching, conditional statements Interpreter based Ex: Unimations VAL, Adepts V+
Structured Programming level
Complier based Powerful, sophisticated but difficult to learn
Queries