WO2011039542A1 - Method and system of programming a robot - Google Patents

Method and system of programming a robot Download PDF

Info

Publication number
WO2011039542A1
WO2011039542A1 PCT/GB2010/051634 GB2010051634W WO2011039542A1 WO 2011039542 A1 WO2011039542 A1 WO 2011039542A1 GB 2010051634 W GB2010051634 W GB 2010051634W WO 2011039542 A1 WO2011039542 A1 WO 2011039542A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
tool
welding
manual
torch
Prior art date
Application number
PCT/GB2010/051634
Other languages
French (fr)
Inventor
Geoffrey Bernard Melton
Simon Geoffrey Pike
Original Assignee
The Welding Insitute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Welding Insitute filed Critical The Welding Insitute
Publication of WO2011039542A1 publication Critical patent/WO2011039542A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36453Handheld tool like probe
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36495Recording position and other parameters, current, tool diameter, voltage
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45104Lasrobot, welding robot

Definitions

  • the invention relates to a method and system of programming a robot to automate a manual process.
  • Robots are commonly used in many industries throughout the world to replace human workers in situations involving high levels of repetition, dangerous or physically unmanageable tasks and precise operations.
  • Robots follow an operating sequence determined by programs consisting of sequences of commands which may include path information, velocity, timing, sensor data and other aspects of physical positioning and functional actuation.
  • Robots can be programmed in a number of ways, most commonly by "off-line programming", “lead-through programming” or “walk-through programming”.
  • OTP Off-Line Programming
  • CAD Computer Aided Design
  • the Lead-Through Programming technique typically employs a "teach pendant", directly controlled in the robot cell by a human operator. The operator directs the robot through a series of physical positions, movements and tasks, which are processed into programming commands. This technique is very time consuming and demands significant operator skill.
  • the Walk-Through Programming technique involves the technician manually 'walking' (physically manipulating) the robot through the required steps in the robot cell.
  • the robot control system scans and records values relating to spatial coordinates determined at specific periods by the technician, typically using a manual trigger handle. These coordinate values are used as guide points for the controller software, which generates the appropriate robotic path programming data for the actual task. This may include the use of smoothing algorithms for optimising the robotic operation, which normally runs at a considerably greater speed than during the deliberately cautious walk-through.
  • US20080027580A relates to a method for using both vision and force control systems to program a robot by following a visible mark on a workpiece.
  • US20090125146A relates to a method for determining a program by following rough guiding points inputted using a lead-through technique with a force sensor. This method helps speed up the lead-through programming of a robot by only requiring a few gross points to be manually entered, while the rest of the programming line is determined automatically using the force sensing tool.
  • US7353082B discloses an OLP method of determining commands by translation of particular human physical gestures using video/image recognition, or other sensors/technologies for determining positions and orientations, such as inertial sensing, ultrasonic sensing and magnetic sensing, accelerometers, gyros, laser technology and Global Positioning System (GPS) technology .
  • the technician can physically point at objects to be manipulated or indicate paths to be followed, with visual and sensorial confirmation of commands provided by, for example, see- through glasses having graphics projected inside, tactile feedback or even temperature, taste or smell.
  • a pre-defined database of gestures is built up to provide a command framework.
  • VR Virtual Reality
  • the operator uses an instrumented glove to move virtual tools, including welding guns, which have specific attributes defining how they function.
  • the glove movements specify the required operation with the system determining the best way to execute the required weld before the program is created for the particular robot.
  • US7209801 B discloses an OLP method whereby the technician uses a pointing tool, such as a pen-shaped device or an imitation of the tool to be used for the actual robotic operation, for plotting waypoints used to determine robot path and operation or tool orientation.
  • a pointing tool such as a pen-shaped device or an imitation of the tool to be used for the actual robotic operation
  • Position sensing is made in a manner similar to that in US7353082B, above, and the system suffers from similar drawbacks in that an imitation of a tool can only provide gross positioning information and more subtle aspects of processing procedures would again be lost, and only discrete waypoint plotting is envisaged.
  • JP4210390B discloses a simple system to allow a robot arm to mimic human hand movements using a sensor-laden glove.
  • the disadvantage of this type of robot control is that the robot is not specifically taught to carry out an individual task to be repeated on numerous workpieces but is actual used to carry out a task in real-time.
  • This type of robotic control is also known as master-slave control.
  • US20090125146A discloses a method of programming a robot by teaching a few selected geometric points which the robot uses by executing the taught path with compliant force control for determining a complete process path, including necessary contours and such like.
  • US6272396B discloses a method of teaching a robot using a master-slave arrangement, whereby knowledge from a skilled operator is translated via a master expert machine to a slave expert machine for carrying out repetitive tasks. Sub- divided tasks and routines are taught to the master machine by a skilled operator, while slave machines are instructed by an unskilled operator. Slave machines adapt to tasks using the pre-programmed routines. In the case of an arrangement for teaching plastering tasks, multiple routines for aspects such as plastering a corner, round a wall and in straight lines would be taught by a skilled operator.
  • Another programming technique is known as 'programming by demonstration' where, for example, it is known for a robotic system to observe a human welder arc welding various products through a motion sensor attached to the welder's tool or visual systems such as a laser scanner. The demonstrated trajectories and waypoints can be recorded for later playback on a robotic arm equipped with a welding tool.
  • This technique has been applied to predictive robot programming systems, whereby the system assists users by predicting where they may move the end-effector and automatically positions the robot at the estimated waypoint.
  • These methods have a number of disadvantages. Often these methods are heavily dependent on the systems capability to infer the intent of the user, requiring multiple user demonstrations to construct a suitable program.
  • Any teaching method requiring close physical interaction with a robot such as entering a working cell and using a teach pendant during any of the above teaching modes, will lead to some inherent physical risk due to the possibility of malfunctions.
  • Walk-through programming techniques are inherently cumbersome and frustrating due to the necessity for physically manipulating a robot, which will never provide a natural feel for a human operator.
  • Arc welding robots are programmed using the above techniques.
  • the operator requires extensive training and in the case of OLP, an expensive software package.
  • This requires a large investment and usually the person that is trained to program the robot is not a welder, although the welder is generally better qualified to develop the welding procedure.
  • Many skilled welders are frustrated that they find it difficult to translate what they do manually into a robotic welding procedure and in so doing much of the subtleties of their skills are lost.
  • a method of programming a robot for automating a manual process which is applied to a first workpiece, such that the manual process may be repeated automatically by the robot upon a plurality of further workpieces comprising:- a) providing a functional tool for use by a user in performing the manual process, the tool incorporating a number of sensors for monitoring the manual process;
  • step (b) monitoring signals from the sensors and recording the operational parameters during step (b);
  • the present invention provides a significant advance over prior art approaches in that the skill of the user is not lost during the programming. This is because the user actually performs the real process in step (b) rather than a theoretical or analogous process. It follows that the monitored data may readily contain the information needed for replication of the process by a robot.
  • the invention is applicable to a number of different fields in which robots are used to perform processes.
  • the manual process may be a joining process, a cutting process, a coating process or a spraying process. It follows that the tool in question is therefore a respective joining tool, cutting tool, coating tool or spraying tool.
  • the tool itself is a powered tool.
  • the present invention finds advantage in the highly skilled and complex operation of manual welding and therefore typically in the joining of metals using a filler material.
  • the invention is however also applicable to other joining operations for non-metallic materials, with or without the use of a filler material. Nevertheless the invention is particularly suited to the automation of manual arc welding and the use of a hand held welding torch.
  • the functional tool is the same or similar in functionality to that used by the robot.
  • the method may further include the provision of additional remote sensors in a working environment in which the manual process is performed, so as to monitor the manual process remotely.
  • a working environment includes the robot cell in which the robot operates.
  • the remote sensors generate signals which are also monitored in step (c) during the application of step (b). They therefore provide additional data to further improve the performance by the robot of the process.
  • step (b) the operational parameters set by the user are also recorded and processed in step (d) so that they form part of the robotic programme.
  • control data for controlling the operation of the robot.
  • Such data may include sampled data giving a value of control variables throughout the program operation. It may also include waypoint data providing target values for parameters when the robot reaches a certain position or time through the program, this being somewhat dependent upon the control system of the robot itself.
  • Step (d) of the method may therefore further comprise identifying one or more parts of the manual process where variations in the monitored signals are due to human errors; and applying a smoothing algorithm to data representing the signals so as to reduce the human errors in the control data. Such errors may be caused by natural shaking of the hand(s) of the user.
  • the method at step (d) may also further comprise identifying one or more parts of the manual process where the variations in the monitored signals are due to movement speed limitations of the user; and modifying the control data to reduce the speed limitations. This might be the case when moving the tool to an initial start position or at a "break" position during the process (such as when the user pauses to alter operational parameters or when ending the processing of one part of the workpiece and moving to another).
  • the method also allows for additional expertise to be employed in increasing the throughput of the automated system.
  • the operational parameters represented by the monitored data for example weld current
  • the method may then include selecting revised operational parameters which enable the process to be performed more quickly and modifying the control program accordingly to increase the process speed.
  • step (d) may further comprise comparing extremes of position or orientation of the tool in the control program with thresholds representing the physical limitations of the robot to which the program will be applied when in use. These limitations may be caused by the joints or other construction factors of the robot and may include limitations of reach and so on.
  • step (b) the tool is positioned at a monitored start position by the user, the start position having a precisely known location. Movements away from or with respect to that position may then be monitored to ensure that the position and orientation of the tool throughout the process is known to a sufficient degree of accuracy.
  • the method in accordance with the first aspect of the invention includes the generation of a control program for a robot.
  • the practical objective of the method is of course to produce rapid and reliable processing of numerous workpieces, typically each of which is substantially the same.
  • the process may also be applied numerous times to the same area of a workpiece (a repeatedly treated region) and/or to different parts of a workpiece (such as to increase treatment "coverage”). It is also contemplated that each of these may also be applied to numerous further workpieces.
  • the use of a robot therefore provides the ability to increase productivity by removing the need for a human user.
  • the tool which is used by the user in "teaching" the robot is actually used by the robot itself in performing the method upon further workpieces. This is advantageous in that any variables which are specific to the actual tool in question are common to the manual and the automatic processes.
  • step (b) When the user has performed the initial "teaching" according to step (b) it is preferred that, prior to using the robot to perform the process for real upon further workpieces, a trial execution of the control program is performed in which the robot moves the tool through the same sequence of positions and orientations as will be performed by the robot when performing the process according to the control program in normal operation. In the case of a power tool the tool itself will typically not be operational during this trial. It is also preferred that, during the trial execution of the control program, the sequence is executed either at a reduced speed or stepwise (in which case the user may initiate every step within the program manually).
  • the method may include using the sensors to monitor the process as it is performed by the robot and applying real time modification of the program in accordance with data obtained from the sensors.
  • the sensors in this case may be those used in the original monitoring of the process, or may be additional sensors specifically for detecting information relating to the workpiece.
  • the invention also extends to a computer program comprising program code means for implementing the method upon a computer.
  • a system for programming a robot so as to automate a manual process which is applied to a first workpiece, such that the process may be repeated by the robot upon a plurality of further workpieces
  • the system comprising:- i) a functional tool for use by a user in performing the manual process, the tool incorporating a number of sensors for monitoring the use of the tool by the user when performing the manual process; and,
  • a computer system programmed to receive the signals and the recorded operational parameters and to generate a robot control program for applying the process to the further workpieces.
  • the system is preferably adapted to perform the method according to the first aspect of the invention.
  • a system for automating a manual process using a robot comprising:- a system according to the third aspect; and,
  • the system in each case will further comprise a process power source for providing power to at least the tool during use.
  • a process power source for providing power to at least the tool during use.
  • a power source may, for example, include a welding power source for performing an arc welding process.
  • the power source may be selectively connectable to each of the tool and the robot such that a common source of power may be used by each of the tool and robot.
  • the tool may be further adapted to be used by each of the user and the robot in performing the process.
  • Figure 1 shows an isometric diagram of a typical workpiece to be welded and the direction and motion a torch would undergo;
  • Figure 2 shows a plot of distance versus travel speed during a manual arc welding operation
  • Figure 3 shows a plot of distance versus travel speed during a robotic arc welding operation programmed according to a typical prior-art method
  • Figure 4 shows a plot of distance versus travel speed during a robotic arc welding operation programmed according to the invention
  • Figure 5 shows a schematic of an apparatus used in a preferred embodiment of the invention.
  • Figure 6 shows a schematic of the steps carried out during a method according to the invention. Detailed Description of Example
  • Such a manual operation is not normally considered to be a feasible robot programming method.
  • the manual operation in the example to be described is an actual manual task carried out on a true component or workpiece using the proper applicable working device or functional tool .
  • the working device consists of a welding torch in this case, although it may be a cutting torch or similar in other applications.
  • a specially adapted manual arc welding torch is used by a skilled user to perform a weld in exactly the same way as such a manual weld would be performed normally.
  • the torch contains sensors to record various process parameters.
  • the design of the functional tool will be such that it will have no significant impact on the user in performing the manual process as normal.
  • Other off-torch sensors may be used to monitor some of the process parameters.
  • the processing parameters can include device orientation, relative traverse speed, spatial position, processing conditions and parameters for a working device; workpiece orientation, position and condition; environmental conditions (atmosphere, temperature) and technician position/orientation.
  • at least two motion parameters e.g. position and orientation
  • two operational parameters e.g. voltage and wire feed speed
  • the sensor array can be provided in the form of sensors coupled or integrated in the functional tool or working device, where the working device is equipped with a variety of sensors for detecting changes in manual processing conditions.
  • the sensor array could also be provided or augmented in the form of a sensor-laden working environment, which allows additional monitoring of the manual process remotely, even as some component of apparel, such as a helmet, glove or sleeve on to which the sensor array is mounted to monitor the working device.
  • the sensor array could be a combination of these different aspects.
  • Typical devices that could be utilised as sensors include mercury switches, eddy current sensors, laser interferometers, ultrasound or other sonic sensors, optical and video sensors, gyroscopes, GPS devices or other radiolocation devices (RFID), accelerometers, potentiometers, force sensors, infra-red or UV sensors, magnetic field generators/sensors and analogue or digital counters, among many others.
  • RFID radiolocation devices
  • the invention is applicable to a number of different manual operations, a preferred application is a welding operation, in particular a manual arc welding operation.
  • the invention overcomes the problems inherent within the prior art by enabling a welder to program a robot by welding a component manually.
  • the welding procedure is recorded by the sensor array, with regard to both spatial position and orientation of the torch, and with the associated operational parameters (wire feed speed, current and voltage).
  • a computer system then processes this information and converts this into a suitable robot program.
  • the computer applies various algorithms for smoothing the movements (such as welding speeds) and improving where appropriate (increasing speed while in free space) to maximise productivity.
  • the robot then repeats the manual welding operation according to the optimised computer program.
  • GMAW gas metal arc welding
  • the torch contains sensors that provide information regarding the torch position, orientation and movement.
  • These sensors may be micro miniature sensors (MMS), e.g. gyroscopes, accelerometers and radiofrequency identification devices (RFIDs), which transmit the information to a control unit.
  • MMS micro miniature sensors
  • RFIDs radiofrequency identification devices
  • the sensors record the relative position and movement of the torch within the cell relative to nodes. The co-ordinates recorded are processed by the control unit and provide the instructions for the position of the robot head.
  • the relative position prior to and after welding may be used to determine if the welding torch is within the working envelope of the robot ensuring that the welding position is accessible by the robot arm and to prevent singularities (unpredictable robot motion and velocities occurring due to collinear alignment of two or more robot axes). Additionally, operational parameters such as the welding wire feed speed, voltage and pulse parameters are recorded and stored for the corresponding positions. This information is compiled and translated into a robotic welding program by a control unit. This translation could include smoothing out the weld path, speeding up the movement between welds (in free space) and the system could also have the capability to develop higher productivity procedures based on the manual welding data.
  • the sensors and positioning system could be applied to GMAW welding using a torch with automated wire feeder integrated into a single torch or a separate automated wire feed nozzle.
  • the intelligent welding torch has all of the functionality of a standard torch with the addition of sensors to detect the torch position and orientation during welding.
  • This torch is connected to a welding power source as normal with connections from the hose package to a Process Control Unit (PCU) containing the Central Processing Unit (CPU) and software for the system.
  • PCU Process Control Unit
  • CPU Central Processing Unit
  • This PCU is also connected to the robot controller.
  • the operational parameters are recorded during the process. Typically this data is stored by the power source and read by the PCU.
  • the robot will preferably use the same welding power source as the intelligent torch (with a different torch and hose package in this example) to ensure that the inherent characteristics of the power source remain the same, without the requirement of complex calibrations. It may however use a different power source.
  • the PCU will be connected to the power source used for the robotic welding.
  • the sensors in the intelligent welding torch can be connected to the PCU using wired or wireless connections, such as via devices compatible with the 'Bluetooth' short range wireless connectivity standard, Wi-Fi or similar.
  • the invention provides the long-sought ability to translate the skill and movements of a manual welder into a robotic operation without the need for OLP, lead-through or walk-through programming. This allows for rapid set up of mechanised welding operations and allows greater flexibility for welding of different components.
  • the system may also improve upon the skill of the manual welder by applying algorithms to the data collected by the intelligent torch for smoothing parameters such as travel speed and orientation.
  • the robotic cell equipment comprises of a 6-axis robotic arm and robotic control unit, arc welding power source that is capable of both robotic and manual welding, an intelligent welding torch with positional and orientation sensors which may or may not be the same torch as the robotic torch and a torch holder.
  • the arc welding power source which for this example is a GMAW source , has an integral wire feeder.
  • the robot may have a separate wire feeder also.
  • the power source includes advanced abilities such as modified dip transfer, pulsed or pre-defined welding programs. All ancillary functions necessary for the operation of a manual and robotic welding operation such as gases and water-cooling are present.
  • a PCU comprising of computer hardware and pre-programmed software is fitted as an interface between the robot control unit and welding power source and intelligent torch.
  • the PCU has data links between the welding power source, intelligent torch and robot control unit that may be either wired or wireless.
  • the PCU is envisaged to be a similar size to a desktop computer and would have simple user interfaces due to most tasks being carried out automatically.
  • the ability to connect an external computer to carry out initial set up is provided.
  • the PCU is supplied with power and may require external cooling.
  • the main user interface of the PCU comprises buttons or dials to select the main modes of operation as well as visual and/or audible indicators to confirm stages and provide sufficient feedback for operation. In the present case this interface is through a computer-based interface such as a touch screen.
  • the selection of process modes could also be carried out by a button or dial on the intelligent welding torch.
  • the equipment is firstly configured for manual welding.
  • the intelligent torch is connected to the arc welding power source using a hose package that incorporates an additional data cable between the torch and the PCU.
  • the power source is set for manual operation using a switch, device or interface as described .
  • this equipment set up is indistinguishable from a manual arc welding set up and the functionality is the same.
  • the torch is then placed in the torch holder, which can be on a stand or mounted on a wall depending on the workspace. The position of this holder is precisely fixed and calibrated into the memory of the PCU upon installation.
  • the welder then provides input to the PCU to select the mode of operation, which would initially be calibration.
  • the welder ensures that the torch geometry and wire stick-out is consistent with a calibration gauge, diagram or instruction.
  • the manual welder removes the torch from the torch holder and positions the intelligent welding torch at the calibration position or in a calibration device on the fixture or equipment.
  • the reference point recorded during calibration will be recorded as the tip of the wire electrode to an accuracy of ⁇ 0.5mm.
  • This position and orientation is recorded by the PCU by the welder providing an input through a switch on the torch, a foot pedal, or robot control pendant and the location is established to be the datum point.
  • the positional sensors within the intelligent torch communicate (either by wire or wirelessly) the relative motions, positions and orientations of the torch to the PCU.
  • the motions of the torch are recorded as changes on the x,y,z coordinates and angles relative to the time taken for that change thus giving the speeds of the various motions.
  • the sensors in the intelligent torch in this example are 3-axis accelerometers with typically 0.5mm accuracy to collect x,y,z positions, and gyroscopes with typically 0.5 minute resolution to record pitch, roll, and tilt angles. Other sensors could be used provided adequate accuracy and motions in the direction required could be recorded.
  • the welder changes the mode on the PCU to a pre-program mode.
  • the welder checks that the component (workpiece) fits within the working envelope of the robot by tracking the intelligent torch along the joint line without welding or by establishing the extremities of the component to be welded by positioning the torch at a number of locations. These positions are recorded automatically and the software in the PCU establishes in real time whether those positions communicated from the intelligent welding torch are within the predetermined working envelope of the robotic arm. This envelope is established in the PCU upon installation. If the torch moves out of the working envelope during pre-program mode then feedback is provided to the welder in the form of an audible warning, or visual indication from the PCU in real time.
  • the welder then changes the mode on the PCU to a teach mode.
  • the welder selects the welding operational parameters on the arc welding power source, using the manual interface. In the case of GMAW this would be either wire feed speed, voltage and the transfer mode desired (e.g. pulsed), or a selected program based on the welding consumable composition and diameter.
  • fine adjustments to the current, inductance, gas flow rate, pre-purge time, post-purge time, pulse peak time, background time, pulse frequency, pulse waveform and start mode (4 stroke start or 2 stroke start) can also be made by the welder and recorded by the PCU. The selections are based on the experience of the welder or on written instructions from a welding engineer. This data is recorded and communicated to the PCU via a data cable between the welding power source and the PCU.
  • the welder carries out the first weld on the component.
  • the arc start and the position of the arc start are automatically detected and communicated to the PCU.
  • the PCU During the welding operation information on the position, orientation and motion of the torch is continuously recorded by the PCU at a set sampling rate, preferably between 10 and 100 times per second (Hz).
  • the skill of the manual welder in positioning and orientating the torch is the key feature recorded that separates the invention from the prior art.
  • Information representing the skill of the welder includes slowing down around corners to prevent lack of fusion, weaving of the torch to bridge gaps between plates, adjustment of penetration depth by moving the torch closer or further away from the joint line and position of the torch to support the weld pool when welding in position.
  • the data points for movement, positions and orientations when the arc is not operating are assigned different data nodes (by the PCU) than during welding with the differentiation being made by the automatic detection of the arc starts and stops which are communicated from the welding power source to the PCU via a data link.
  • the welder would return the torch to its holder and switch the PCU to robot mode.
  • the PCU interprets the data recorded from the intelligent torch and welding power source and generates a robot program that is then outputted from the PCU via translation software to the robot controller in the form of a standard robot program appropriate for that make and model of robot.
  • This data processing phase may take several seconds depending upon the computing power of the PCU and the number of welds produced.
  • the PCU automatically improves upon the data recorded from welder's manual input based on smoothing algorithms applied to the x,y,z co-ordinates and angles. This may feature polynomial functions, low pass and/or active filters, statistical analysis and averaging functions.
  • the program that was created by the PCU is now stored in the robot controller and can be called up at any time as with any robot program e.g. through a teach pendant. Similarly the robot program can be edited via the teach pendant if required.
  • a new component or components are placed in the jig, fixture or clamp and the welding power source is switched to robotic operation.
  • This may or may not include attaching the intelligent welding torch to the robot.
  • the program is first run in step-through mode, at a travel speed that is lower than would be used ultimately. This allows for visual assessment that the robot is following the correct path and that no singularities or collisions have been built into the program. Once the welder is satisfied with the motion of the robot, the robot is then set to operate and carry out the welding program using the procedures that would be carried out normally with a state of the art robotic welding cell.
  • an adaptive process control system could be utilised in tandem while carrying out the robotic operation.
  • This could comprise of such controls as a seam tracking system, computer-controlled GMAW power source, wire feed system, gas flow control system, weld inspection and video monitoring system.
  • processing software for the PCU may be used to provide incremental increases in the travel speed, and proportional changes in the welding parameters for the robot program compared with the manually recorded data.
  • the present invention provides an efficient and attractive method of programming of robots, particularly for Small or Medium-sized Enterprises (SMEs) or organisations inv olved in small batch production where high quality or high productivity welding is required providing a cost effective solution for automating the process that does not rely on dedicated programming skill.
  • SMEs Small or Medium-sized Enterprises
  • the concept could also have applications for remote robotic operations in hazardous environments e.g. radioactive exposure, arctic conditions and underwater welding.
  • FIG. 1 illustrates an isometric diagram of a typical workpiece layup and travel path for an arc welding operation.
  • a number of metal plates 8a, 8b, 8c, 8d are laid up to form a 3-dimensional structure showing a non linear weld path geometry.
  • the weld path geometry shown contains regions typically requiring different parameters for successfully creating a joint.
  • a typical arc welding operation may consist of the following steps; a welding torch, starting at a first position 1 , is brought into contact with a region to be joined between plates 8a and 8d at position 2, following a motion indicated by 1 a. The welding torch is then traversed along the joint between plates 8a and 8d, following a path 3a, to the corner position 4, where plates 8a, 8b and 8d meet.
  • Figure 2 illustrates a graph of the change in travel speed experienced by the welding torch during a manual arc welding operation carried out in the manner shown in Figure 1 .
  • the points marked on Figure 1 (1 , 2, 3, 4, 5, 6 and 7) are shown, indicating the distance along the weld path at which those points are reached.
  • the determination of correct travel speed is made based on the judgement, skill and training of the welder in accordance with the requirements of the particular workpieces, weld geometries and weld procedure specification. A typical operation of this type will be described with reference to Figure 2.
  • the welder first sets the correct welding operational parameters based on the material thickness, joint orientation, material type, weld size necessary, penetration requirements and so on.
  • the welder then moves the torch carefully through position 1 , which can be seen to occur at a relatively slow speed, before striking the arc at position 2.
  • the welder then increases speed from stationary travel at arc strike rapidly up to a steady translation rate through position 3 until slowing the traverse considerably to deal with the corner portion at position 4.
  • Figure 3 illustrates a graph of the change in travel speed experienced by the welding torch during a conventionally lead-through or walk-through programmed robotic arc welding operation carried out in the manner shown in Figure 1 .
  • the points marked on Figure 1 (1 , 2, 3, 4, 5, 6 and 7) are shown, indicating the distance along the weld path at which those points are reached.
  • travel speed it would be typical for travel speed to be set as a fixed quantity from position to position, with very little in the way of change until a particular co-ordinate is reached.
  • the robot will move much more swiftly than a human welder, as indicated by the higher peak travel speed shown between position 1 and 2 in Figure 3.
  • the robot From position 2, the robot will ramp up to speed as through position 3 to a fixed maximum and proceed to negotiate the corner at position 4 seamlessly, with just a rotation of the welding end effector/torch while maintaining a steady traverse. Welding at this speed would proceed until the corner at position 6, where the robot would stop and then re-start switching from horizontal to vertical welding to proceed through the final section 7 until weld termination.
  • the robot was specifically programmed by a highly skilled individual with many years of experience programming welding robots or an adaptive control system was fitted, no changes in welding speed would be made to compensate for vertices, welding gap or changes of welding position. In many cases, it would not be practical for a small-scale robot operator to carry out this advanced programming and, in many cases, defective welding would result.
  • Figure 4 illustrates a graph of the change in travel speed experienced by the welding torch during a robotic arc welding operation programmed according to the invention and carried out in the manner shown in Figure 1 .
  • the points marked on Figure 1 (1 , 2, 3, 4, 5, 6 and 7) are shown, indicating the distance along the weld path at which those points are reached.
  • the welding parameters set during the manual programming are used as the basis for the robotic operation.
  • the movement through position 1 to arc strike at 2 is equal to the efficient speed shown in Figure 3 and far greater than the speed reached by the human operation in Figure 2, since the algorithms translating the free-space (non- working/welding) movement determine that it is more efficient to do so.
  • the robot performs a smoothed speed transition equal to that manually performed in Figure 1 until a maximum traverse speed is reached. Travel continues through position 3 at a more consistent speed than can be achieved manually resulting in an improved bead profile.
  • the robot performs a controlled slowdown to compensate for the corner before again speeding up until position 5 where the robot mimics the motion of the manual operation and reproduces a slowed, weaving operation until the stop and change in welding orientation at position 6.
  • the program according to the invention adjusts the key welding operational parameters (current, wire feed speed and so on) at this point as was done by the manual welder in changing the welding position from horizontal to vertical, proceeding through position 7 to weld termination.
  • the robotic torch constantly mimics the angle, pitch, rotation, penetration depth, welding current and other settings of the torch used by the manual welder.
  • FIG. 5 illustrates the apparatus used (GMAW torch) and the motions and axes of movements detected and recorded during the above method.
  • a manual welding operation is carried out using an instrumented 'intelligent' welding torch 1 1 , on a workpiece 9 to form a welding seam 10.
  • positional data is recorded in three dimensions 13 (x,y & z axes), along with torch to weld seam incline 14, torch rotation 15 and torch tilt 16.
  • data is transm itted to a PCU(not shown) along an integrated hose package for welding power/consumable feed 12, although wireless transmission of data is also envisaged.
  • 14a, 15a & 16a indicate possible positions of sensor devices to monitor positional and telemetric data during movement of the torch.
  • a triaxial piezoresistive accelerometer is one option available to detect magnitude and direction of the acceleration as a vector quantity, and can be used to sense orientation.
  • Micromachined accelerometers are particularly suited to changes in torch movement (acceleration) and can be used in conjunction with radio-frequency positional sensors.
  • FIG. 6 illustrates the typical process steps that may be undertaken in carrying out the example method, showing an operator carrying out a skilled manual operation, the steps involved in a conversion to a robotic program, and a robot repeating the operation.
  • the operator carrying out the skilled manual operation in this case a welder 18, manually sets the required welding operational parameters (voltage, current, and so on) 23 on the welding power source 24.
  • the welder selects the 'record' function on the PCU 25.
  • the welder performs a welding operation 27 using these operational conditions on the workpiece 17.
  • Position, orientation and other relevant data is transmitted 22 from the welding torch 20, along with the optimised welding condition data from the welding power source.
  • the welder selects the 'program' function on the PCU.
  • the PCU generates an optimised robotic welding program, which is sent to the robot controller 26.
  • the welding power source is then switched over to robotic operation and the robot program is initiated on the robot controller.
  • the robot controller selects the welding operational parameters on the power source, which are used to carry out a robotic welding operation 28.
  • the robot controller instructs 29 the robot 19 to position and move the torch 21 to reproduce the welding operation performed by the manual welder.
  • an end-user would be supplied with an 'intelligent' working device (e.g. instrumented welding torch) and 'black box' PCU computing arrangement, where very little input is required from the operator in converting manual process data into robotic programming.
  • An engineer/operator/technician may press a 'record' button on the PCU, and carry out a manual operation, which is monitored by the intelligent working device and interpreted/processed by the PCU.
  • a 'program' button then causes the PCU to generate an optimised robotic operating program for transmission to a robot controller for carrying out a robotic operation.
  • the PCU can carry a very simple user interface (for example, a 'yes' button, 'no' button, 'record' button, 'program' button) and only requires simple interrogation and input from the operator, negating the requirement for a skilled computer/robot programming resource within the SME.
  • a very simple user interface for example, a 'yes' button, 'no' button, 'record' button, 'program' button

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

A method and system are provided of programming a robot for automating a skilled manual process which is applied to a first workpiece, such that the manual process may be repeated automatically by the robot upon a plurality of further workpieces. A functional tool is provided for use by a user in performing the manual process, the tool incorporating a number of sensors for monitoring the manual process. The manual process is applied to the first workpiece by the user using the tool whilst monitoring signals from the sensors in particular the position and orientation of the tool. The signals together with the recorded operational parameters data are processed to generate a robot control program for applying the process to the further workpieces. The tool may be a joining tool, a cutting tool, a coating tool or a spraying tool.

Description

Method and System of Programming a Robot
Field of Invention
The invention relates to a method and system of programming a robot to automate a manual process.
Background to the Invention
Industrial robots are commonly used in many industries throughout the world to replace human workers in situations involving high levels of repetition, dangerous or physically unmanageable tasks and precise operations. Robots follow an operating sequence determined by programs consisting of sequences of commands which may include path information, velocity, timing, sensor data and other aspects of physical positioning and functional actuation. Robots can be programmed in a number of ways, most commonly by "off-line programming", "lead-through programming" or "walk-through programming".
During Off-Line Programming (OLP), a technician directly inputs commands either using a robot programming language, directly or using proprietary Computer Aided Design (CAD) or virtual-reality software. With this technique, run-throughs and touch-up are often required using a robot 'teach' pendant, as the physical reality of the working environment rarely conforms exactly to those of the programming software or inputted commands.
The Lead-Through Programming technique typically employs a "teach pendant", directly controlled in the robot cell by a human operator. The operator directs the robot through a series of physical positions, movements and tasks, which are processed into programming commands. This technique is very time consuming and demands significant operator skill.
The Walk-Through Programming technique involves the technician manually 'walking' (physically manipulating) the robot through the required steps in the robot cell. During this operation, the robot control system scans and records values relating to spatial coordinates determined at specific periods by the technician, typically using a manual trigger handle. These coordinate values are used as guide points for the controller software, which generates the appropriate robotic path programming data for the actual task. This may include the use of smoothing algorithms for optimising the robotic operation, which normally runs at a considerably greater speed than during the deliberately cautious walk-through.
US20080027580A relates to a method for using both vision and force control systems to program a robot by following a visible mark on a workpiece. US20090125146A relates to a method for determining a program by following rough guiding points inputted using a lead-through technique with a force sensor. This method helps speed up the lead-through programming of a robot by only requiring a few gross points to be manually entered, while the rest of the programming line is determined automatically using the force sensing tool.
US7353082B discloses an OLP method of determining commands by translation of particular human physical gestures using video/image recognition, or other sensors/technologies for determining positions and orientations, such as inertial sensing, ultrasonic sensing and magnetic sensing, accelerometers, gyros, laser technology and Global Positioning System (GPS) technology . The technician can physically point at objects to be manipulated or indicate paths to be followed, with visual and sensorial confirmation of commands provided by, for example, see- through glasses having graphics projected inside, tactile feedback or even temperature, taste or smell. A pre-defined database of gestures is built up to provide a command framework. Several disadvantages of this method are apparent. The technician must be trained with respect to the gestures required and only limited programming input can be made concerning more subtle aspects of process procedures such as the manipulations of tools (e.g. a welding torch). This technique is somewhat unnatural for the user, especially those less conversant with computer technology.
Virtual Reality (VR) systems to program robots are also known. The operator uses an instrumented glove to move virtual tools, including welding guns, which have specific attributes defining how they function. The glove movements specify the required operation with the system determining the best way to execute the required weld before the program is created for the particular robot.
US7209801 B discloses an OLP method whereby the technician uses a pointing tool, such as a pen-shaped device or an imitation of the tool to be used for the actual robotic operation, for plotting waypoints used to determine robot path and operation or tool orientation. Position sensing is made in a manner similar to that in US7353082B, above, and the system suffers from similar drawbacks in that an imitation of a tool can only provide gross positioning information and more subtle aspects of processing procedures would again be lost, and only discrete waypoint plotting is envisaged.
JP4210390B discloses a simple system to allow a robot arm to mimic human hand movements using a sensor-laden glove. The disadvantage of this type of robot control is that the robot is not specifically taught to carry out an individual task to be repeated on numerous workpieces but is actual used to carry out a task in real-time. This type of robotic control is also known as master-slave control.
US20090125146A discloses a method of programming a robot by teaching a few selected geometric points which the robot uses by executing the taught path with compliant force control for determining a complete process path, including necessary contours and such like.
US6272396B discloses a method of teaching a robot using a master-slave arrangement, whereby knowledge from a skilled operator is translated via a master expert machine to a slave expert machine for carrying out repetitive tasks. Sub- divided tasks and routines are taught to the master machine by a skilled operator, while slave machines are instructed by an unskilled operator. Slave machines adapt to tasks using the pre-programmed routines. In the case of an arrangement for teaching plastering tasks, multiple routines for aspects such as plastering a corner, round a wall and in straight lines would be taught by a skilled operator. An unskilled operator would then provide the parameters for a particular area (dimensions or video recognition of wall parameters) to be plastered for which the slave machine would use a concatenation of the expert routines to carry out the task. This system simplifies the task of programming a robot to carry out a professional task by providing a set of sub-routines and discloses a method of reducing the cost of robots by providing multiple expert slave robots with high specialisation but limited flexibility in terms of applications. However, one major drawback of this disclosure is that the teaching method used is effectively a walk-through technique, which requires physical manipulation of a robot. Also, it is highly unlikely that a pre-provided set of concatenated subroutines would ever perform satisfactorily over a wide range of different scenarios/products.
Another programming technique is known as 'programming by demonstration' where, for example, it is known for a robotic system to observe a human welder arc welding various products through a motion sensor attached to the welder's tool or visual systems such as a laser scanner. The demonstrated trajectories and waypoints can be recorded for later playback on a robotic arm equipped with a welding tool. This technique has been applied to predictive robot programming systems, whereby the system assists users by predicting where they may move the end-effector and automatically positions the robot at the estimated waypoint. These methods have a number of disadvantages. Often these methods are heavily dependent on the systems capability to infer the intent of the user, requiring multiple user demonstrations to construct a suitable program. Even with such a system, the output is still usually a simple path following program. The known prior art processes for programming robots provide no appreciation for the subtleties involved in certain procedures that may be lost during the translation from a apparently simple, manual 'path following' operation to a robotic procedure, which will lead to a non-optimised operating process. Robots possess no 'intuitive' understanding of situations and have no human facility for identifying surfaces or parameters, other than those that may be present in a preprogrammed command database for predicting the intent of a user when observing a task.
Any teaching method requiring close physical interaction with a robot, such as entering a working cell and using a teach pendant during any of the above teaching modes, will lead to some inherent physical risk due to the possibility of malfunctions. Walk-through programming techniques are inherently cumbersome and frustrating due to the necessity for physically manipulating a robot, which will never provide a natural feel for a human operator.
One particular field in which robots are heavily used is arc welding. Arc welding robots are programmed using the above techniques. In most cases, the operator requires extensive training and in the case of OLP, an expensive software package. This requires a large investment and usually the person that is trained to program the robot is not a welder, although the welder is generally better qualified to develop the welding procedure. Many skilled welders are frustrated that they find it difficult to translate what they do manually into a robotic welding procedure and in so doing much of the subtleties of their skills are lost.
These tasks both suffer from a certain, sometimes subtle but nonetheless essential, process information gap during the transition from robot programming/teaching to actual robotic execution. Nothing in the prior art has so far satisfactorily bridged this gap.
It is therefore an object of the invention to address the shortcomings of known systems. It is an object of the invention to provide a robot "teaching" method and system that provides the capability to successfully translate the complete range of process parameters present in a skilled manual process (such as welding) into a programmed robotic operation.
Summary of the Invention
In accordance with a first aspect of the present invention we provide a method of programming a robot for automating a manual process which is applied to a first workpiece, such that the manual process may be repeated automatically by the robot upon a plurality of further workpieces, the method comprising:- a) providing a functional tool for use by a user in performing the manual process, the tool incorporating a number of sensors for monitoring the manual process;
b) applying the manual process to the first workpiece by the user using the tool;
c) monitoring signals from the sensors and recording the operational parameters during step (b); and,
d) processing the data to generate a robot control program for applying the process to the further workpieces.
The present invention provides a significant advance over prior art approaches in that the skill of the user is not lost during the programming. This is because the user actually performs the real process in step (b) rather than a theoretical or analogous process. It follows that the monitored data may readily contain the information needed for replication of the process by a robot.
The invention is applicable to a number of different fields in which robots are used to perform processes. For example the manual process may be a joining process, a cutting process, a coating process or a spraying process. It follows that the tool in question is therefore a respective joining tool, cutting tool, coating tool or spraying tool. Typically the tool itself is a powered tool.
The present invention finds advantage in the highly skilled and complex operation of manual welding and therefore typically in the joining of metals using a filler material. The invention is however also applicable to other joining operations for non-metallic materials, with or without the use of a filler material. Nevertheless the invention is particularly suited to the automation of manual arc welding and the use of a hand held welding torch. The functional tool is the same or similar in functionality to that used by the robot.
It is known that welding is a complicated multi-variable process which is one of the reasons why manual welding has, to date, remained a widely used method of joining. Typically, in automating the process, the spatial position of the torch, orientation of the torch, wire feed speed, torch-to-workpiece distance, welding current and welding voltage of the welding process are monitored during the manual operation in order to generate the control program. Thus, in more general monitoring of processes to which the invention applies, the sensors typically monitor the position and orientation or the tool but may also monitor the process conditions and environmental conditions during the manual process. Typically such sensors are mounted to or form part of the functional tool itself, although they may also be present upon ancillary equipment (such as a power supply) or indeed the workpiece. It is also contemplated that the method may further include the provision of additional remote sensors in a working environment in which the manual process is performed, so as to monitor the manual process remotely. Such an environment includes the robot cell in which the robot operates. The remote sensors generate signals which are also monitored in step (c) during the application of step (b). They therefore provide additional data to further improve the performance by the robot of the process.
During the welding process of step (b) the operational parameters set by the user are also recorded and processed in step (d) so that they form part of the robotic programme.
It will be appreciated that the form of the robot control program itself depends upon the type of process being automated and the type of robot used. Typically such a program comprises control data for controlling the operation of the robot. Such data may include sampled data giving a value of control variables throughout the program operation. It may also include waypoint data providing target values for parameters when the robot reaches a certain position or time through the program, this being somewhat dependent upon the control system of the robot itself.
Although it might be expected that the ideal operation of the robot would be to perform a process which is indistinguishable from that of a human operator, in practice the performance of even the most skilled operator is limited by human factors such as unintended variations in position, speed and orientation of the tool and indeed physical speed limitations in moving between positions accurately such as when moving to a new start location for a further part of the process.
Step (d) of the method may therefore further comprise identifying one or more parts of the manual process where variations in the monitored signals are due to human errors; and applying a smoothing algorithm to data representing the signals so as to reduce the human errors in the control data. Such errors may be caused by natural shaking of the hand(s) of the user. Alternatively or in addition the method at step (d) may also further comprise identifying one or more parts of the manual process where the variations in the monitored signals are due to movement speed limitations of the user; and modifying the control data to reduce the speed limitations. This might be the case when moving the tool to an initial start position or at a "break" position during the process (such as when the user pauses to alter operational parameters or when ending the processing of one part of the workpiece and moving to another).
The method also allows for additional expertise to be employed in increasing the throughput of the automated system. Thus the operational parameters represented by the monitored data (for example weld current) in step (d) may be compared with known operational parameters. The method may then include selecting revised operational parameters which enable the process to be performed more quickly and modifying the control program accordingly to increase the process speed.
When transferring a manual process to an automated one it is also important to consider the physical capabilities of the robot in question. Thus in the present method step (d) may further comprise comparing extremes of position or orientation of the tool in the control program with thresholds representing the physical limitations of the robot to which the program will be applied when in use. These limitations may be caused by the joints or other construction factors of the robot and may include limitations of reach and so on.
The success of the method relies upon the ability of the robot to accurately replicate a successful process and as such it is important that the position of the tool in question, together with other process parameters, are monitored precisely. It is preferable therefore that initially during step (b) the tool is positioned at a monitored start position by the user, the start position having a precisely known location. Movements away from or with respect to that position may then be monitored to ensure that the position and orientation of the tool throughout the process is known to a sufficient degree of accuracy.
The method in accordance with the first aspect of the invention includes the generation of a control program for a robot.
In accordance with a second aspect of the invention we provide a method of processing a plurality of workpieces using a robot controlled with a control program, the method comprising:- i) programming the robot using the a method according to any of the first aspect of the invention; and,
ii) controlling the robot using the said control program so as to apply the process to the at least one further workpiece.
The practical objective of the method is of course to produce rapid and reliable processing of numerous workpieces, typically each of which is substantially the same. The process may also be applied numerous times to the same area of a workpiece (a repeatedly treated region) and/or to different parts of a workpiece (such as to increase treatment "coverage"). It is also contemplated that each of these may also be applied to numerous further workpieces. The use of a robot therefore provides the ability to increase productivity by removing the need for a human user. In some examples the tool which is used by the user in "teaching" the robot is actually used by the robot itself in performing the method upon further workpieces. This is advantageous in that any variables which are specific to the actual tool in question are common to the manual and the automatic processes.
When the user has performed the initial "teaching" according to step (b) it is preferred that, prior to using the robot to perform the process for real upon further workpieces, a trial execution of the control program is performed in which the robot moves the tool through the same sequence of positions and orientations as will be performed by the robot when performing the process according to the control program in normal operation. In the case of a power tool the tool itself will typically not be operational during this trial. It is also preferred that, during the trial execution of the control program, the sequence is executed either at a reduced speed or stepwise (in which case the user may initiate every step within the program manually).
In certain processes there may also exist the opportunity to provide further improvement of the process by real time monitoring of an additional variable which is not specifically part of the process itself and might be caused for example by material or geometrical variations between different workpieces. In this case the method may include using the sensors to monitor the process as it is performed by the robot and applying real time modification of the program in accordance with data obtained from the sensors. The sensors in this case may be those used in the original monitoring of the process, or may be additional sensors specifically for detecting information relating to the workpiece.
The invention also extends to a computer program comprising program code means for implementing the method upon a computer.
In accordance with a third aspect of the invention we provide a system for programming a robot, so as to automate a manual process which is applied to a first workpiece, such that the process may be repeated by the robot upon a plurality of further workpieces, the system comprising:- i) a functional tool for use by a user in performing the manual process, the tool incorporating a number of sensors for monitoring the use of the tool by the user when performing the manual process; and,
ii) a computer system programmed to receive the signals and the recorded operational parameters and to generate a robot control program for applying the process to the further workpieces.
The system is preferably adapted to perform the method according to the first aspect of the invention. In accordance with a fourth aspect of the invention, we provide a system for automating a manual process using a robot, comprising:- a system according to the third aspect; and,
a robot for performing the automated manual process according to the control program.
The system in each case will further comprise a process power source for providing power to at least the tool during use. Such a power source may, for example, include a welding power source for performing an arc welding process.
The power source may be selectively connectable to each of the tool and the robot such that a common source of power may be used by each of the tool and robot. As mentioned earlier, in some cases the tool may be further adapted to be used by each of the user and the robot in performing the process.
Brief Description of the Drawings
An example method and system of programming a robot is now described, with reference to the accompanying drawings, in which:-
Figure 1 shows an isometric diagram of a typical workpiece to be welded and the direction and motion a torch would undergo;
Figure 2 shows a plot of distance versus travel speed during a manual arc welding operation;
Figure 3 shows a plot of distance versus travel speed during a robotic arc welding operation programmed according to a typical prior-art method;
Figure 4 shows a plot of distance versus travel speed during a robotic arc welding operation programmed according to the invention;
Figure 5 shows a schematic of an apparatus used in a preferred embodiment of the invention; and,
Figure 6 shows a schematic of the steps carried out during a method according to the invention. Detailed Description of Example
We now describe an example of the invention with reference to the programming of a robot to perform an arc welding process, a skilled manual operation.
Such a manual operation is not normally considered to be a feasible robot programming method. The manual operation in the example to be described is an actual manual task carried out on a true component or workpiece using the proper applicable working device or functional tool . The working device consists of a welding torch in this case, although it may be a cutting torch or similar in other applications.
In this example a specially adapted manual arc welding torch is used by a skilled user to perform a weld in exactly the same way as such a manual weld would be performed normally. The difference in this case is that the torch contains sensors to record various process parameters. The design of the functional tool will be such that it will have no significant impact on the user in performing the manual process as normal. Other off-torch sensors may be used to monitor some of the process parameters.
Generally in applications not limited to welding, the processing parameters can include device orientation, relative traverse speed, spatial position, processing conditions and parameters for a working device; workpiece orientation, position and condition; environmental conditions (atmosphere, temperature) and technician position/orientation. Preferentially, at least two motion parameters (e.g. position and orientation) and two operational parameters (e.g. voltage and wire feed speed) are monitored to provide adequate data for constructing a suitable robot program.
The sensor array can be provided in the form of sensors coupled or integrated in the functional tool or working device, where the working device is equipped with a variety of sensors for detecting changes in manual processing conditions. The sensor array could also be provided or augmented in the form of a sensor-laden working environment, which allows additional monitoring of the manual process remotely, even as some component of apparel, such as a helmet, glove or sleeve on to which the sensor array is mounted to monitor the working device. The sensor array could be a combination of these different aspects.
Typical devices that could be utilised as sensors include mercury switches, eddy current sensors, laser interferometers, ultrasound or other sonic sensors, optical and video sensors, gyroscopes, GPS devices or other radiolocation devices (RFID), accelerometers, potentiometers, force sensors, infra-red or UV sensors, magnetic field generators/sensors and analogue or digital counters, among many others.
Although, as has been explained, the invention is applicable to a number of different manual operations, a preferred application is a welding operation, in particular a manual arc welding operation. In this preferred example application, the invention overcomes the problems inherent within the prior art by enabling a welder to program a robot by welding a component manually. The welding procedure is recorded by the sensor array, with regard to both spatial position and orientation of the torch, and with the associated operational parameters (wire feed speed, current and voltage). A computer system then processes this information and converts this into a suitable robot program. The computer applies various algorithms for smoothing the movements (such as welding speeds) and improving where appropriate (increasing speed while in free space) to maximise productivity. The robot then repeats the manual welding operation according to the optimised computer program.
An important aspect of the invention is the provision of a suitable sensor array. In the present example, this is by provision of an intelligent gas metal arc welding (GMAW) torch. The torch contains sensors that provide information regarding the torch position, orientation and movement. These sensors may be micro miniature sensors (MMS), e.g. gyroscopes, accelerometers and radiofrequency identification devices (RFIDs), which transmit the information to a control unit. The sensors record the relative position and movement of the torch within the cell relative to nodes. The co-ordinates recorded are processed by the control unit and provide the instructions for the position of the robot head. The relative position prior to and after welding may be used to determine if the welding torch is within the working envelope of the robot ensuring that the welding position is accessible by the robot arm and to prevent singularities (unpredictable robot motion and velocities occurring due to collinear alignment of two or more robot axes). Additionally, operational parameters such as the welding wire feed speed, voltage and pulse parameters are recorded and stored for the corresponding positions. This information is compiled and translated into a robotic welding program by a control unit. This translation could include smoothing out the weld path, speeding up the movement between welds (in free space) and the system could also have the capability to develop higher productivity procedures based on the manual welding data. The sensors and positioning system could be applied to GMAW welding using a torch with automated wire feeder integrated into a single torch or a separate automated wire feed nozzle.
The intelligent welding torch has all of the functionality of a standard torch with the addition of sensors to detect the torch position and orientation during welding. This torch is connected to a welding power source as normal with connections from the hose package to a Process Control Unit (PCU) containing the Central Processing Unit (CPU) and software for the system. This PCU is also connected to the robot controller.
The operational parameters are recorded during the process. Typically this data is stored by the power source and read by the PCU. The robot will preferably use the same welding power source as the intelligent torch (with a different torch and hose package in this example) to ensure that the inherent characteristics of the power source remain the same, without the requirement of complex calibrations. It may however use a different power source. The PCU will be connected to the power source used for the robotic welding. The sensors in the intelligent welding torch can be connected to the PCU using wired or wireless connections, such as via devices compatible with the 'Bluetooth' short range wireless connectivity standard, Wi-Fi or similar.
The invention provides the long-sought ability to translate the skill and movements of a manual welder into a robotic operation without the need for OLP, lead-through or walk-through programming. This allows for rapid set up of mechanised welding operations and allows greater flexibility for welding of different components. The system may also improve upon the skill of the manual welder by applying algorithms to the data collected by the intelligent torch for smoothing parameters such as travel speed and orientation.
In this example a component or components to be welded are positioned within a robotic welding cell and held in jig, clamp or fixture. The same or identical jig, clamp or fixture would then be utilised for the robotic operation. The robotic cell equipment comprises of a 6-axis robotic arm and robotic control unit, arc welding power source that is capable of both robotic and manual welding, an intelligent welding torch with positional and orientation sensors which may or may not be the same torch as the robotic torch and a torch holder. The arc welding power source, which for this example is a GMAW source , has an integral wire feeder. The robot may have a separate wire feeder also. The power source includes advanced abilities such as modified dip transfer, pulsed or pre-defined welding programs. All ancillary functions necessary for the operation of a manual and robotic welding operation such as gases and water-cooling are present.
A PCU comprising of computer hardware and pre-programmed software is fitted as an interface between the robot control unit and welding power source and intelligent torch. The PCU has data links between the welding power source, intelligent torch and robot control unit that may be either wired or wireless. In this example, the PCU is envisaged to be a similar size to a desktop computer and would have simple user interfaces due to most tasks being carried out automatically. The ability to connect an external computer to carry out initial set up is provided. The PCU is supplied with power and may require external cooling. The main user interface of the PCU comprises buttons or dials to select the main modes of operation as well as visual and/or audible indicators to confirm stages and provide sufficient feedback for operation. In the present case this interface is through a computer-based interface such as a touch screen. The selection of process modes could also be carried out by a button or dial on the intelligent welding torch.
To produce a welding program in this example the equipment is firstly configured for manual welding. The intelligent torch is connected to the arc welding power source using a hose package that incorporates an additional data cable between the torch and the PCU. The power source is set for manual operation using a switch, device or interface as described . Visually this equipment set up is indistinguishable from a manual arc welding set up and the functionality is the same. The torch is then placed in the torch holder, which can be on a stand or mounted on a wall depending on the workspace. The position of this holder is precisely fixed and calibrated into the memory of the PCU upon installation.
The welder then provides input to the PCU to select the mode of operation, which would initially be calibration. The welder ensures that the torch geometry and wire stick-out is consistent with a calibration gauge, diagram or instruction. The manual welder removes the torch from the torch holder and positions the intelligent welding torch at the calibration position or in a calibration device on the fixture or equipment. The reference point recorded during calibration will be recorded as the tip of the wire electrode to an accuracy of ±0.5mm. This position and orientation is recorded by the PCU by the welder providing an input through a switch on the torch, a foot pedal, or robot control pendant and the location is established to be the datum point.
As the torch is manipulated and positioned in free space the positional sensors within the intelligent torch communicate (either by wire or wirelessly) the relative motions, positions and orientations of the torch to the PCU. This includes the position in free space recorded as x,y,z co-ordinates with pitch, roll and tilt recorded as angles in degrees, minutes and seconds. The motions of the torch are recorded as changes on the x,y,z coordinates and angles relative to the time taken for that change thus giving the speeds of the various motions. The sensors in the intelligent torch in this example are 3-axis accelerometers with typically 0.5mm accuracy to collect x,y,z positions, and gyroscopes with typically 0.5 minute resolution to record pitch, roll, and tilt angles. Other sensors could be used provided adequate accuracy and motions in the direction required could be recorded.
Once calibration is complete the welder changes the mode on the PCU to a pre-program mode.
The welder then checks that the component (workpiece) fits within the working envelope of the robot by tracking the intelligent torch along the joint line without welding or by establishing the extremities of the component to be welded by positioning the torch at a number of locations. These positions are recorded automatically and the software in the PCU establishes in real time whether those positions communicated from the intelligent welding torch are within the predetermined working envelope of the robotic arm. This envelope is established in the PCU upon installation. If the torch moves out of the working envelope during pre-program mode then feedback is provided to the welder in the form of an audible warning, or visual indication from the PCU in real time.
The welder then changes the mode on the PCU to a teach mode. The welder selects the welding operational parameters on the arc welding power source, using the manual interface. In the case of GMAW this would be either wire feed speed, voltage and the transfer mode desired (e.g. pulsed), or a selected program based on the welding consumable composition and diameter. In addition, fine adjustments to the current, inductance, gas flow rate, pre-purge time, post-purge time, pulse peak time, background time, pulse frequency, pulse waveform and start mode (4 stroke start or 2 stroke start) can also be made by the welder and recorded by the PCU. The selections are based on the experience of the welder or on written instructions from a welding engineer. This data is recorded and communicated to the PCU via a data cable between the welding power source and the PCU.
The welder carries out the first weld on the component. The arc start and the position of the arc start are automatically detected and communicated to the PCU. During the welding operation information on the position, orientation and motion of the torch is continuously recorded by the PCU at a set sampling rate, preferably between 10 and 100 times per second (Hz).
The skill of the manual welder in positioning and orientating the torch is the key feature recorded that separates the invention from the prior art. Information representing the skill of the welder includes slowing down around corners to prevent lack of fusion, weaving of the torch to bridge gaps between plates, adjustment of penetration depth by moving the torch closer or further away from the joint line and position of the torch to support the weld pool when welding in position.
When the arc is stopped by the manual welder once the weld is complete this is again automatically detected and the position recorded by the PCU.
Should multiple welds be required on one component the welder is able to perform the subsequent welds, remaining in the teach mode; all the time the position of the torch is being communicated to and recorded by the PCU. The data points for movement, positions and orientations when the arc is not operating are assigned different data nodes (by the PCU) than during welding with the differentiation being made by the automatic detection of the arc starts and stops which are communicated from the welding power source to the PCU via a data link.
Once all the welds are completed the welder would return the torch to its holder and switch the PCU to robot mode. In performing this action the PCU then interprets the data recorded from the intelligent torch and welding power source and generates a robot program that is then outputted from the PCU via translation software to the robot controller in the form of a standard robot program appropriate for that make and model of robot. This data processing phase may take several seconds depending upon the computing power of the PCU and the number of welds produced. During the processing the PCU automatically improves upon the data recorded from welder's manual input based on smoothing algorithms applied to the x,y,z co-ordinates and angles. This may feature polynomial functions, low pass and/or active filters, statistical analysis and averaging functions. This will remove random variations and fluctuations whilst retaining deliberate actions carried out by the welder, the distinction between accidental and deliberate variations being derivable from analysing the magnitude of the variations. For the data points marked to be movement in free space when welding is not being carried out, the PCU will automatically increase the travel speed for the robot in the program.
The program that was created by the PCU is now stored in the robot controller and can be called up at any time as with any robot program e.g. through a teach pendant. Similarly the robot program can be edited via the teach pendant if required.
In a typical operation a new component or components are placed in the jig, fixture or clamp and the welding power source is switched to robotic operation. This may or may not include attaching the intelligent welding torch to the robot. The program is first run in step-through mode, at a travel speed that is lower than would be used ultimately. This allows for visual assessment that the robot is following the correct path and that no singularities or collisions have been built into the program. Once the welder is satisfied with the motion of the robot, the robot is then set to operate and carry out the welding program using the procedures that would be carried out normally with a state of the art robotic welding cell.
In a highly sophisticated case, an adaptive process control system could be utilised in tandem while carrying out the robotic operation. This could comprise of such controls as a seam tracking system, computer-controlled GMAW power source, wire feed system, gas flow control system, weld inspection and video monitoring system. Additionally, processing software for the PCU may be used to provide incremental increases in the travel speed, and proportional changes in the welding parameters for the robot program compared with the manually recorded data.
It is envisaged that all forms of positional tasks will be capable in any orientation (flat, vertical, horizontal, overhead). Additional range could be added for larger components by introducing a 7th axis of movement (horizontal/longitudinal movement of the robot along a traverse) or by rotating the work piece.
The present invention provides an efficient and attractive method of programming of robots, particularly for Small or Medium-sized Enterprises (SMEs) or organisations inv olved in small batch production where high quality or high productivity welding is required providing a cost effective solution for automating the process that does not rely on dedicated programming skill.
It is envisaged that the invention could be practised without the need for complex control interfaces; an end-user could be supplied with an 'intelligent' working device (welding torch) and 'black box' PCU/computing arrangement, where very little input is required from the operator in converting manual process data into robotic programming.
The concept could also have applications for remote robotic operations in hazardous environments e.g. radioactive exposure, arctic conditions and underwater welding.
Turning now to a practical implementation of the arc welding example, Figure
1 illustrates an isometric diagram of a typical workpiece layup and travel path for an arc welding operation. In Figure 1 , a number of metal plates 8a, 8b, 8c, 8d are laid up to form a 3-dimensional structure showing a non linear weld path geometry. The weld path geometry shown contains regions typically requiring different parameters for successfully creating a joint. A typical arc welding operation may consist of the following steps; a welding torch, starting at a first position 1 , is brought into contact with a region to be joined between plates 8a and 8d at position 2, following a motion indicated by 1 a. The welding torch is then traversed along the joint between plates 8a and 8d, following a path 3a, to the corner position 4, where plates 8a, 8b and 8d meet. Here the movement is slowed to allow sufficient fill up of the corner. The welding operation is then continued between plates 8b and 8d following a welding path 4a until partway to point 5 where, due to poor fit-up between plates 8b and 8d it is necessary for the manual welder to weave the torch in the manner shown 5a to compensate for the gap between plates that exists up until point 6. At point 6 welding is stopped and restarted to begin welding the joint between plates 8c and 8b. Up until this point, all of the welding has been in the horizontal vertical fillet position (2F/PB position). Between points 6 and 7 the welding is carried out in the vertical up position to produce a butt weld (3G/PF position) and weaving is again required to support the weld bead and ensure adequate fusion, indicated by 7a. During vertical up (PF) welding, where the torch is weaved across the joint and when changing direction (e.g. around a corner), the welder manipulates the torch orientation and Contact Tip to Work Distance (CTWD) to control bead shape and penetration.
Figure 2 illustrates a graph of the change in travel speed experienced by the welding torch during a manual arc welding operation carried out in the manner shown in Figure 1 . The points marked on Figure 1 (1 , 2, 3, 4, 5, 6 and 7) are shown, indicating the distance along the weld path at which those points are reached.
During a manual arc welding operation, the determination of correct travel speed is made based on the judgement, skill and training of the welder in accordance with the requirements of the particular workpieces, weld geometries and weld procedure specification. A typical operation of this type will be described with reference to Figure 2. The welder first sets the correct welding operational parameters based on the material thickness, joint orientation, material type, weld size necessary, penetration requirements and so on. The welder then moves the torch carefully through position 1 , which can be seen to occur at a relatively slow speed, before striking the arc at position 2. The welder then increases speed from stationary travel at arc strike rapidly up to a steady translation rate through position 3 until slowing the traverse considerably to deal with the corner portion at position 4. Negotiating the corner while creating a sound joint requires a complex and subtle torch motion including an adjustment in the tilt, incline and rotation of the torch and would thus require significant time and expertise to program into a robot motion control. Once the corner is negotiated, the welder increase s travel speed until reaching position 5, where the undertaking of a weaving motion will reduce overall travel speed. This speed will fall further on reaching position 6 to stop the weld. The welding operational parameters are then adjusted and recorded as appropriate and a switch to the vertical up (3G/PF) position is then made for position 7. The upward traversing motion is applied (again with weaving from position 6), through position 7 until termination of the weld.
Figure 3 illustrates a graph of the change in travel speed experienced by the welding torch during a conventionally lead-through or walk-through programmed robotic arc welding operation carried out in the manner shown in Figure 1 . The points marked on Figure 1 (1 , 2, 3, 4, 5, 6 and 7) are shown, indicating the distance along the weld path at which those points are reached. During a robotic arc welding operation, it would be typical for travel speed to be set as a fixed quantity from position to position, with very little in the way of change until a particular co-ordinate is reached. Through a starting position 1 to arc strike at 2, the robot will move much more swiftly than a human welder, as indicated by the higher peak travel speed shown between position 1 and 2 in Figure 3. From position 2, the robot will ramp up to speed as through position 3 to a fixed maximum and proceed to negotiate the corner at position 4 seamlessly, with just a rotation of the welding end effector/torch while maintaining a steady traverse. Welding at this speed would proceed until the corner at position 6, where the robot would stop and then re-start switching from horizontal to vertical welding to proceed through the final section 7 until weld termination. Unless the robot was specifically programmed by a highly skilled individual with many years of experience programming welding robots or an adaptive control system was fitted, no changes in welding speed would be made to compensate for vertices, welding gap or changes of welding position. In many cases, it would not be practical for a small-scale robot operator to carry out this advanced programming and, in many cases, defective welding would result.
Figure 4 illustrates a graph of the change in travel speed experienced by the welding torch during a robotic arc welding operation programmed according to the invention and carried out in the manner shown in Figure 1 . The points marked on Figure 1 (1 , 2, 3, 4, 5, 6 and 7) are shown, indicating the distance along the weld path at which those points are reached.
During the robotic arc welding operation according to the invention, the welding parameters set during the manual programming are used as the basis for the robotic operation. The movement through position 1 to arc strike at 2 is equal to the efficient speed shown in Figure 3 and far greater than the speed reached by the human operation in Figure 2, since the algorithms translating the free-space (non- working/welding) movement determine that it is more efficient to do so. Once welding commences at position 2, the robot performs a smoothed speed transition equal to that manually performed in Figure 1 until a maximum traverse speed is reached. Travel continues through position 3 at a more consistent speed than can be achieved manually resulting in an improved bead profile. At position 4, in accordance with the data acquired from the manual operation, the robot performs a controlled slowdown to compensate for the corner before again speeding up until position 5 where the robot mimics the motion of the manual operation and reproduces a slowed, weaving operation until the stop and change in welding orientation at position 6. Unlike the typical robotic operation, the program according to the invention adjusts the key welding operational parameters (current, wire feed speed and so on) at this point as was done by the manual welder in changing the welding position from horizontal to vertical, proceeding through position 7 to weld termination. The robotic torch constantly mimics the angle, pitch, rotation, penetration depth, welding current and other settings of the torch used by the manual welder.
In the case of Figure 4, unlike that shown in Figure 3, a more controlled speed transition can be noted throughout the welding operation. The travel speed to distance trace is effectively a smoothed version of that shown in Figure 2, and captures the necessary adjustment of welding parameters due to the particulars of the welding operation taking place, such as compensation for corners, weaving to bridge gaps due to poor fit-up and other positional transitions. Of course, travel speed is only one of several parameters that require translating from a manual operation into a robotic operation according to the invention. The complex positional and rotational orientation of the welding torch throughout an arc welding operation requires careful translation and a similar refinement would be made as that occurring between the manually recorded Figure 2 and robotically performed Figure 4.
Figure 5 illustrates the apparatus used (GMAW torch) and the motions and axes of movements detected and recorded during the above method. A manual welding operation is carried out using an instrumented 'intelligent' welding torch 1 1 , on a workpiece 9 to form a welding seam 10. During the operation, positional data is recorded in three dimensions 13 (x,y & z axes), along with torch to weld seam incline 14, torch rotation 15 and torch tilt 16. In this case, data is transm itted to a PCU(not shown) along an integrated hose package for welding power/consumable feed 12, although wireless transmission of data is also envisaged. 14a, 15a & 16a indicate possible positions of sensor devices to monitor positional and telemetric data during movement of the torch. A triaxial piezoresistive accelerometer is one option available to detect magnitude and direction of the acceleration as a vector quantity, and can be used to sense orientation. Micromachined accelerometers are particularly suited to changes in torch movement (acceleration) and can be used in conjunction with radio-frequency positional sensors.
Figure 6 illustrates the typical process steps that may be undertaken in carrying out the example method, showing an operator carrying out a skilled manual operation, the steps involved in a conversion to a robotic program, and a robot repeating the operation. The operator carrying out the skilled manual operation, in this case a welder 18, manually sets the required welding operational parameters (voltage, current, and so on) 23 on the welding power source 24. Once a satisfactory welding condition has been determined ('tuned in'), the welder selects the 'record' function on the PCU 25. The welder performs a welding operation 27 using these operational conditions on the workpiece 17. Position, orientation and other relevant data is transmitted 22 from the welding torch 20, along with the optimised welding condition data from the welding power source.
On completion of the weld, the welder selects the 'program' function on the PCU. The PCU generates an optimised robotic welding program, which is sent to the robot controller 26.
The welding power source is then switched over to robotic operation and the robot program is initiated on the robot controller. The robot controller selects the welding operational parameters on the power source, which are used to carry out a robotic welding operation 28. The robot controller instructs 29 the robot 19 to position and move the torch 21 to reproduce the welding operation performed by the manual welder.
It is envisaged that the invention could be practised by an SME or other organisation without the need for complex control interfaces; an end-user would be supplied with an 'intelligent' working device (e.g. instrumented welding torch) and 'black box' PCU computing arrangement, where very little input is required from the operator in converting manual process data into robotic programming. An engineer/operator/technician may press a 'record' button on the PCU, and carry out a manual operation, which is monitored by the intelligent working device and interpreted/processed by the PCU. A 'program' button then causes the PCU to generate an optimised robotic operating program for transmission to a robot controller for carrying out a robotic operation. The PCU can carry a very simple user interface (for example, a 'yes' button, 'no' button, 'record' button, 'program' button) and only requires simple interrogation and input from the operator, negating the requirement for a skilled computer/robot programming resource within the SME.

Claims

1 . A method of programming a robot for automating a manual process which is applied to a first workpiece, such that the manual process may be repeated automatically by the robot upon a plurality of further workpieces, the method comprising:- a) providing a functional tool for use by a user in performing the manual process, the tool comprising a number of sensors for monitoring the manual process;
b) applying the manual process to the first workpiece by the user using the tool;
c) monitoring signals from the sensors and recording the operational parameters during step (b); and,
d) processing the data to generate a robot control program for applying the process to the further workpieces.
2. A method according to claim 1 , wherein the manual process is selected from the group consisting of: a joining process, a cutting process, a coating process or a spraying process; and wherein the tool is selected from a corresponding group consisting of: a joining tool, a cutting tool, a coating tool or a spraying tool.
3. A method according to claim 2, wherein the joining process is a manual arc welding process and the tool is a hand held welding torch.
4. A method according to claim 3, wherein the spatial position of the torch, orientation of the torch, wire feed speed, torch-to-workpiece distance, welding current and welding voltage of the welding process are monitored.
5. A method according to any of the preceding claims, wherein the sensors monitor one or more of the position, orientation, process conditions and environmental conditions during the manual process.
6. A method according to any of the preceding claims, further comprising providing additional remote sensors in a working environment in which the manual process is performed, so as to monitor the manual process remotely, wherein the remote sensors generate signals which are also monitored in step (c) during the application of step (b).
7. A method according to any of the preceding claims, wherein robot control program comprises control data for controlling the operation of the robot.
8. A method according to any claim 7, wherein step (d) further comprises:- i) identifying one or more parts of the manual process where variations in the monitored signals are due to human errors; and applying a smoothing algorithm to data representing the signals so as to reduce the human errors in the control data; and/or
ii) identifying one or more parts of the manual process where the variations in the monitored signals are due to movement speed limitations of the user; and modifying the control data to reduce the speed limitations.
9. A method according to claim 7 or claim 8, wherein, when the monitored signals include process parameters and wherein step (d) further comprises:- iii) comparing the process parameters with known process parameters, selecting revised process parameters which enable the process to be performed more quickly and modifying the control program accordingly to increase the process speed.
10. A method according to any of claims 7 to 9, wherein step (d) further comprises:
div) comparing extremes of position or orientation of the tool in the control program with thresholds representing the physical limitations of the robot to which the program will be applied when in use.
1 1 . A method according to any of the preceding claims, wherein, initially during step (b) the tool is positioned at a monitored start position by the user, the start position having a precisely known location.
12. A method of processing a plurality of workpieces using a robot controlled with a control program, the method comprising:- i) programming the robot using the a method according to any of claims 1 to 1 1 ; and,
ii) controlling the robot using the said control program so as to apply the process to the at least one further workpiece.
13. A method according to claim 12, wherein each further workpiece is substantially the same.
14. A method according to claim 12 or claim 13, further comprising applying the process repeatedly to the same further workpiece or to different further workpieces.
15. A method according to any of claims 12 to 14, wherein the tool used by the user in step (b) is used by the robot in repeating the process in step (ii).
16. A method according to any of claims 12 to 15, further comprising, before step (ii), performing a trial execution of the control program in which the robot moves the tool through the same sequence of positions and orientations as will be performed by the robot when performing the process according to the control program and wherein during the trial execution of the control program, the sequence is executed either at a reduced speed or stepwise.
17. A method according to any of claims 12 to 16, further comprising, using sensors to monitor the process as it is performed by the robot and applying real time modification of the program in accordance with data obtained from the sensors.
18. A method according to claim 17, wherein the sensors used to monitor the process during performance by the robot are the same sensors used in step (c).
19. A system for programming a robot, so as to automate a manual process which is applied to a first workpiece, such that the process may be repeated by the robot upon a plurality of further workpieces, the system comprising:- i) a functional tool for use by a user in performing the manual process, the tool incorporating a number of sensors for monitoring the use of the tool by the user when performing the manual process; and,
ii) a computer system programmed to receive the signals and the recorded operational parameters to generate a robot control program for applying the process to the further workpieces.
20. A system for automating a manual process using a robot, comprising:- a system according to claim 19; and, a robot for performing the automated manual process according to the control program.
21 . A system according to claim 19 or claim 20, further comprising a process power source for providing power to at least the functional tool during use.
22. A system according to claim 21 , wherein the power source is selectively connectable to each of the functional tool and the robot such that a common source of power may be used by each of the functional tool and robot.
23. A system according to any of claims 19 to 22, wherein the functional tool is further adapted to be used by each of the user and the robot in performing the process.
24. A system according to any of claims 19 to 23, wherein the system is further adapted to perform the method according to any of claims 1 to 18.
25. A computer program product comprising program code means adapted to perform at least part of the method according to any of claims 1 to 18, when executed upon a computer.
PCT/GB2010/051634 2009-10-02 2010-09-30 Method and system of programming a robot WO2011039542A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0917309A GB0917309D0 (en) 2009-10-02 2009-10-02 Method and system of programming a robot
GB0917309.7 2009-10-02

Publications (1)

Publication Number Publication Date
WO2011039542A1 true WO2011039542A1 (en) 2011-04-07

Family

ID=41393773

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2010/051634 WO2011039542A1 (en) 2009-10-02 2010-09-30 Method and system of programming a robot

Country Status (2)

Country Link
GB (1) GB0917309D0 (en)
WO (1) WO2011039542A1 (en)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITPD20110141A1 (en) * 2011-05-05 2012-11-06 Finiture Srl LEARNING SYSTEM FOR ROBOTS FOR PAINTING WORKS
ITPD20110161A1 (en) * 2011-05-20 2012-11-21 Finiture Srl LEARNING SYSTEM FOR ROBOTS FOR SURFACE TREATMENTS AND TREATMENT STATIONS
CN103350421A (en) * 2013-07-02 2013-10-16 佛山市新鹏陶瓷机械有限公司 Automatic glaze spraying controlling method and controlling device for simulating skilled worker operation
WO2015089233A1 (en) * 2013-11-01 2015-06-18 Brain Corporation Apparatus and methods for haptic training of robots
US9248569B2 (en) 2013-11-22 2016-02-02 Brain Corporation Discrepancy detection apparatus and methods for machine learning
US9314924B1 (en) 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US9346167B2 (en) 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
US9358685B2 (en) 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
EP2919085A3 (en) * 2014-03-11 2016-06-29 KUKA Systems GmbH Method for operating a robot
US9463571B2 (en) 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
WO2017036519A1 (en) * 2015-09-02 2017-03-09 Abb Schweiz Ag Device, system and method for teaching a position with a hand-held position teaching device
WO2017036521A1 (en) * 2015-09-02 2017-03-09 Abb Schweiz Ag Device, system and method for teaching a position with a hand-held position teaching device
WO2017036520A1 (en) * 2015-09-02 2017-03-09 Abb Schweiz Ag System and method for generating a robot program with a hand-held teaching device
US9604359B1 (en) 2014-10-02 2017-03-28 Brain Corporation Apparatus and methods for training path navigation by robots
JP2017064805A (en) * 2015-09-28 2017-04-06 株式会社ダイヘン Control system
US9717387B1 (en) 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
US9737990B2 (en) 2014-05-16 2017-08-22 Microsoft Technology Licensing, Llc Program synthesis for robotic tasks
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
US9821457B1 (en) 2013-05-31 2017-11-21 Brain Corporation Adaptive robotic interface apparatus and methods
US9844877B1 (en) 2015-07-14 2017-12-19 X Development Llc Generating a parameter for a movement characteristic for a waypoint trained path of a robot
EP3318370A3 (en) * 2016-11-07 2018-10-31 Lincoln Global, Inc. System and method for manufacturing and control thereof
WO2019106425A1 (en) * 2017-11-29 2019-06-06 Lincoln Global, Inc. Methods and systems using a smart torch with positional tracking in robotic welding
JP2019215760A (en) * 2018-06-13 2019-12-19 株式会社トヨタプロダクションエンジニアリング Motion element creation device, motion element creation method, and motion element creation program
US20200078882A1 (en) * 2014-10-22 2020-03-12 Illinois Tool Works Inc. Virtual Reality Controlled Mobile Robot
US10981267B2 (en) 2017-10-26 2021-04-20 Milwaukee Electric Tool Corporation Kickback control methods for power tools
US11529725B2 (en) 2017-10-20 2022-12-20 Milwaukee Electric Tool Corporation Power tool including electromagnetic clutch
EP4194154A1 (en) 2021-12-07 2023-06-14 Fundación AITIIP Robot programming system
US11705721B2 (en) 2020-03-10 2023-07-18 Milwaukee Electric Tool Corporation Kickback control methods for a power tool including a force sensor
EP4166283A4 (en) * 2020-06-10 2023-12-06 Panasonic Intellectual Property Management Co., Ltd. Welding system, apparatus for preparing control program for welding robot, method for preparing control program for welding robot, and program for preparing control program for welding robot
WO2023248060A1 (en) * 2022-06-20 2023-12-28 Comau S.P.A. Method for carrying out industrial working operations within a work
EP4082707A4 (en) * 2019-12-26 2024-01-17 Hitachi, Ltd. Welding control device, welding robot system, and welding control method
US11897060B2 (en) 2017-11-29 2024-02-13 Lincoln Global, Inc. Systems and methods for welding torch weaving

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2731041A1 (en) * 1976-07-09 1978-01-12 Renault Automatic painting mechanism programming system - uses spray gun held by operator with inertial system attached
JPH04210390A (en) 1990-11-30 1992-07-31 Fujita Corp Remote operation system for robot hand
US6272396B1 (en) 1998-02-20 2001-08-07 Tairob Industrial Technology Ltd. Method for applying knowledge from a skilled worker via a master expert machine to a slave expert machine for repetitive tasks
EP1435280A2 (en) * 2002-12-30 2004-07-07 Abb Research Ltd. A method and a system for programming an industrial robot
US7209801B2 (en) 2002-12-30 2007-04-24 Abb Research Ltd Method and a system for programming an industrial robot
WO2007096322A2 (en) * 2006-02-23 2007-08-30 Abb Ab A system for controlling the position and orientation of an object in dependence on received forces and torques from a user
US20080027580A1 (en) 2006-07-28 2008-01-31 Hui Zhang Robot programming method and apparatus with both vision and force
US7353082B2 (en) 2003-11-24 2008-04-01 Abb Research Ltd. Method and a system for programming an industrial robot
US20090125146A1 (en) 2005-02-25 2009-05-14 Hui Zhang Method of and Apparatus for Automated Path Learning

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2731041A1 (en) * 1976-07-09 1978-01-12 Renault Automatic painting mechanism programming system - uses spray gun held by operator with inertial system attached
JPH04210390A (en) 1990-11-30 1992-07-31 Fujita Corp Remote operation system for robot hand
US6272396B1 (en) 1998-02-20 2001-08-07 Tairob Industrial Technology Ltd. Method for applying knowledge from a skilled worker via a master expert machine to a slave expert machine for repetitive tasks
EP1435280A2 (en) * 2002-12-30 2004-07-07 Abb Research Ltd. A method and a system for programming an industrial robot
US7209801B2 (en) 2002-12-30 2007-04-24 Abb Research Ltd Method and a system for programming an industrial robot
US7353082B2 (en) 2003-11-24 2008-04-01 Abb Research Ltd. Method and a system for programming an industrial robot
US20090125146A1 (en) 2005-02-25 2009-05-14 Hui Zhang Method of and Apparatus for Automated Path Learning
WO2007096322A2 (en) * 2006-02-23 2007-08-30 Abb Ab A system for controlling the position and orientation of an object in dependence on received forces and torques from a user
US20080027580A1 (en) 2006-07-28 2008-01-31 Hui Zhang Robot programming method and apparatus with both vision and force

Cited By (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012150485A1 (en) * 2011-05-05 2012-11-08 Sintesi Development Srl Learning system for painting robots
ITPD20110141A1 (en) * 2011-05-05 2012-11-06 Finiture Srl LEARNING SYSTEM FOR ROBOTS FOR PAINTING WORKS
ITPD20110161A1 (en) * 2011-05-20 2012-11-21 Finiture Srl LEARNING SYSTEM FOR ROBOTS FOR SURFACE TREATMENTS AND TREATMENT STATIONS
WO2012160412A1 (en) * 2011-05-20 2012-11-29 Sintesi Development S.R.L. Learning system for robots used for surface treatments and treatment stations
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US10155310B2 (en) 2013-03-15 2018-12-18 Brain Corporation Adaptive predictor apparatus and methods
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US9821457B1 (en) 2013-05-31 2017-11-21 Brain Corporation Adaptive robotic interface apparatus and methods
US9314924B1 (en) 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US9950426B2 (en) 2013-06-14 2018-04-24 Brain Corporation Predictive robotic controller apparatus and methods
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
CN103350421A (en) * 2013-07-02 2013-10-16 佛山市新鹏陶瓷机械有限公司 Automatic glaze spraying controlling method and controlling device for simulating skilled worker operation
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
WO2015089233A1 (en) * 2013-11-01 2015-06-18 Brain Corporation Apparatus and methods for haptic training of robots
US9463571B2 (en) 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
US9844873B2 (en) 2013-11-01 2017-12-19 Brain Corporation Apparatus and methods for haptic training of robots
US9597797B2 (en) 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
US9248569B2 (en) 2013-11-22 2016-02-02 Brain Corporation Discrepancy detection apparatus and methods for machine learning
US9358685B2 (en) 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
US9789605B2 (en) 2014-02-03 2017-10-17 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
EP2919085A3 (en) * 2014-03-11 2016-06-29 KUKA Systems GmbH Method for operating a robot
US9346167B2 (en) 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
US9737990B2 (en) 2014-05-16 2017-08-22 Microsoft Technology Licensing, Llc Program synthesis for robotic tasks
US9687984B2 (en) 2014-10-02 2017-06-27 Brain Corporation Apparatus and methods for training of robots
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US9604359B1 (en) 2014-10-02 2017-03-28 Brain Corporation Apparatus and methods for training path navigation by robots
US10105841B1 (en) 2014-10-02 2018-10-23 Brain Corporation Apparatus and methods for programming and training of robotic devices
US10131052B1 (en) 2014-10-02 2018-11-20 Brain Corporation Persistent predictor apparatus and methods for task switching
US20200078882A1 (en) * 2014-10-22 2020-03-12 Illinois Tool Works Inc. Virtual Reality Controlled Mobile Robot
US11504790B2 (en) * 2014-10-22 2022-11-22 Illinois Tool Works Inc. Virtual reality controlled mobile robot
US9717387B1 (en) 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
US10376117B2 (en) 2015-02-26 2019-08-13 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
US9844877B1 (en) 2015-07-14 2017-12-19 X Development Llc Generating a parameter for a movement characteristic for a waypoint trained path of a robot
WO2017036519A1 (en) * 2015-09-02 2017-03-09 Abb Schweiz Ag Device, system and method for teaching a position with a hand-held position teaching device
WO2017036521A1 (en) * 2015-09-02 2017-03-09 Abb Schweiz Ag Device, system and method for teaching a position with a hand-held position teaching device
WO2017036520A1 (en) * 2015-09-02 2017-03-09 Abb Schweiz Ag System and method for generating a robot program with a hand-held teaching device
JP2017064805A (en) * 2015-09-28 2017-04-06 株式会社ダイヘン Control system
US11067965B2 (en) 2016-11-07 2021-07-20 Lincoln Global, Inc. System and method for additive manufacturing and control thereof
EP3318370A3 (en) * 2016-11-07 2018-10-31 Lincoln Global, Inc. System and method for manufacturing and control thereof
US10545480B2 (en) 2016-11-07 2020-01-28 Lincoln Global, Inc. System and method for manufacturing and control thereof
US10599127B2 (en) 2016-11-07 2020-03-24 Lincoln Global, Inc. System and method for manufacturing and control thereof
US11529725B2 (en) 2017-10-20 2022-12-20 Milwaukee Electric Tool Corporation Power tool including electromagnetic clutch
US11648655B2 (en) 2017-10-26 2023-05-16 Milwaukee Electric Tool Corporation Kickback control methods for power tools
US10981267B2 (en) 2017-10-26 2021-04-20 Milwaukee Electric Tool Corporation Kickback control methods for power tools
US11607790B2 (en) 2017-10-26 2023-03-21 Milwaukee Electric Tool Corporation Kickback control methods for power tools
WO2019106425A1 (en) * 2017-11-29 2019-06-06 Lincoln Global, Inc. Methods and systems using a smart torch with positional tracking in robotic welding
US11065707B2 (en) 2017-11-29 2021-07-20 Lincoln Global, Inc. Systems and methods supporting predictive and preventative maintenance
CN111093876A (en) * 2017-11-29 2020-05-01 林肯环球股份有限公司 Method and system for using intelligent welding torch with position tracking in robot welding
US11897060B2 (en) 2017-11-29 2024-02-13 Lincoln Global, Inc. Systems and methods for welding torch weaving
CN109894875A (en) * 2017-11-29 2019-06-18 林肯环球股份有限公司 Support predictive and preventive maintenance system and method
US11548088B2 (en) 2017-11-29 2023-01-10 Lincoln Global, Inc. Systems and methods for welding torch weaving
US11623294B2 (en) 2017-11-29 2023-04-11 Lincoln Global, Inc. Methods and systems using a smart torch with positional tracking in robotic welding
JP2019215760A (en) * 2018-06-13 2019-12-19 株式会社トヨタプロダクションエンジニアリング Motion element creation device, motion element creation method, and motion element creation program
JP7132761B2 (en) 2018-06-13 2022-09-07 株式会社トヨタプロダクションエンジニアリング Motion segment creation device, motion segment creation method, and motion segment creation program
EP4082707A4 (en) * 2019-12-26 2024-01-17 Hitachi, Ltd. Welding control device, welding robot system, and welding control method
US11705721B2 (en) 2020-03-10 2023-07-18 Milwaukee Electric Tool Corporation Kickback control methods for a power tool including a force sensor
EP4166283A4 (en) * 2020-06-10 2023-12-06 Panasonic Intellectual Property Management Co., Ltd. Welding system, apparatus for preparing control program for welding robot, method for preparing control program for welding robot, and program for preparing control program for welding robot
EP4194154A1 (en) 2021-12-07 2023-06-14 Fundación AITIIP Robot programming system
WO2023248060A1 (en) * 2022-06-20 2023-12-28 Comau S.P.A. Method for carrying out industrial working operations within a work

Also Published As

Publication number Publication date
GB0917309D0 (en) 2009-11-18

Similar Documents

Publication Publication Date Title
WO2011039542A1 (en) Method and system of programming a robot
US11724388B2 (en) Robot controller and display device using augmented reality and mixed reality
US10737396B2 (en) Method and apparatus for robot path teaching
US9731419B2 (en) System and method for programming robots
US9207668B2 (en) Method of and apparatus for automated path learning
US7298385B2 (en) Method and device for visualizing computer-generated informations
US10730180B2 (en) User interface for a teleoperated robot
JP7048539B2 (en) Vibration display device, operation program creation device, and system
Bolmsjö et al. Robotic arc welding–trends and developments for higher autonomy
KR101876845B1 (en) Robot control apparatus
CN108687767B (en) Offline programming device and offline programming method
US20210260750A1 (en) Method to Modify a Program for Robotic Welding
Andersen et al. Intuitive task programming of stud welding robots for ship construction
JP2008020993A (en) Teaching data preparation device for working robot
Ang et al. An industrial application of control of dynamic behavior of robots-a walk-through programmed welding robot
Ogbemhe et al. Application of robotics in rail car manufacturing learning factory: A case of welding complex joints
JP2019188545A (en) Robot control device
WO2017204826A1 (en) User interface for a teleoperated robot
KR101474778B1 (en) Control device using motion recognition in artculated robot and method thereof
KR102403021B1 (en) Robot teaching apparatus and method for teaching robot using the same
Eto et al. Seamless manual-to-autopilot transition: An intuitive programming approach to robotic welding
JPH06134684A (en) Teaching method of robot track
Deisenroth et al. On-line programming
MOCAN et al. Offline programming of robotic arc welding systems
JP2006343975A (en) Robot instruction device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10763847

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10763847

Country of ref document: EP

Kind code of ref document: A1