[go: up one dir, main page]

WO2005060338A2 - Method, device and system for programming a robot - Google Patents

Method, device and system for programming a robot Download PDF

Info

Publication number
WO2005060338A2
WO2005060338A2 PCT/IB2004/004087 IB2004004087W WO2005060338A2 WO 2005060338 A2 WO2005060338 A2 WO 2005060338A2 IB 2004004087 W IB2004004087 W IB 2004004087W WO 2005060338 A2 WO2005060338 A2 WO 2005060338A2
Authority
WO
WIPO (PCT)
Prior art keywords
calibration
robot
programming device
robot programming
programming
Prior art date
Application number
PCT/IB2004/004087
Other languages
French (fr)
Other versions
WO2005060338A3 (en
Inventor
Dagfin Brodtkorb
Gunnar Prytz
Original Assignee
Abb Research Ltd.
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 Abb Research Ltd. filed Critical Abb Research Ltd.
Publication of WO2005060338A2 publication Critical patent/WO2005060338A2/en
Publication of WO2005060338A3 publication Critical patent/WO2005060338A3/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/02Hand grip control means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • 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/37Measurements
    • G05B2219/37134Gyroscope
    • 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/37Measurements
    • G05B2219/37388Acceleration or deceleration, inertial measurement

Definitions

  • This invention relates to a device and method for determining coordinates of a point of an object in a reference system of coordinates and the orientation of the object in the space in a measuring position assumed by the object.
  • the object being adapted to be moved from a start position having known coordinates and orientation to several measuring positions in a sequence, and this process repeated many times.
  • the invention relates in particular, but not exclusively, to such devices used for programming of robots, such as welding robots or robots for application of paint, which for example are used to spray-paint vehicle bodies .
  • the device is usually in the form of a hand tool that is moved by hand by a person between different positions along an object in the form of a work piece, such as a vehicle body, for storing the coordinates and the direction of a tool of the robot in these positions.
  • the control unit for the robot processes successively the different positions stored so as to obtain a path along which the robot is directed to move the tool, such as a paint spray- gun, of the robot as desired.
  • Known coordinates in one position such as a start position, and a measurement position have been obtained by using one or more cameras to record different optical points of an object, and the real coordinates and orientation of the object in said start position are determined through information obtained from the camera or the cameras.
  • the present invention solves one or more of the above problems .
  • An aim of the invention is achieved according to the invention by a robot programming device according independent claims 1 and by a calibration device for the robot programming device according to independent claim 12 , by a system according to independent claim 24 and by a method according to independent claim 31.
  • Preferred embodiments are described in the dependent claims .
  • a robot programming device comprising a probe and a sensor for acceleration, which further comprises an inertial navigation device as means for estimating the position and orientation of said device with 6 DOF with respect to a predefined coordinate system.
  • the aims are met by a calibration device for the robot programming device for which a fixed reference point is pre-determined.
  • the programming device may be re-calibrated simply and quickly at one or more intervals during a programming operation.
  • Miniature inertial navigation devices of the type used in the robot programming device are known to have a drift in accuracy over time, and the calibration device is provided so that re- calibration can be carried out simply and relatively frequently.
  • the aims are met by a system for programming a robot comprising at least the robot programming device, and the calibration device according to the invention.
  • the aims are met by a method for programming an industrial robot or manipulator, using at least the programming device and the calibration device described above.
  • the principle advantage provided by the invention is that it provides an accurate system and easily used device and methods to produce a trajectory path from which an industrial robot or other manipulator may be programmed.
  • it is simple to operate, primarily a task for an operator to hold a portable pointing device in his/her hand and "point-and-shoot" at each suitable point in turn of a series of points along a painting stroke, seam to be welded, etc.
  • the operator may activate continuous sampling so as to record a continuous movement from one point to another.
  • This requirement to simply point-and-shoot a hand-held pointing device means that no knowledge of programming or camera technique is required and that the operator may concentrate on incorporating any process knowledge he or she has regarding painting or welding techniques in the programmed trajectory.
  • the capture of the orientation of the handheld programming device at each waypoint is carried out effectively and easily, thus capturing process information that is known by the operator for such operations as welding, painting, de-burring for example.
  • the object is achieved by a computer program directly loadable into the internal memory of a computer, comprising software code portions for performing the steps of the method according to the invention, when said program is run on a computer.
  • the computer program provided either on a computer readable medium, as a computer program product or through a network, such as the Internet .
  • FIGURE 1 is a schematic diagram of a robot programming device, an object to be worked on and a calibration device arranged according to an embodiment of the invention
  • Figure 2 is a block diagram for a pointing device according to one aspect of the invention.
  • Figure 3 is a flowchart for carrying out a method to program a robot according to an embodiment of the invention
  • Figure 4 is a block diagram showing other elements of method to program a robot
  • Figure 5 is a second schematic diagram of the robot programming device showing an arrangement with a plurality of calibration devices
  • Figure 6 is a flowchart for carrying out a method to program a robot
  • Figure 7 is a block diagram of components of a calibration device according to another aspect of the invention.
  • Figure 8 is a block diagram for a wireless calibration device according to another embodiment of the invention.
  • Figure 1 shows an arrangement to illustrate the principle of an embodiment of the invention.
  • Figure 1 shows a somewhat complex- shaped object 1 to be worked on, in this exemplary example spray- painted, and a robot programming device 2.
  • the object 1 is placed on a working surface, which is shown here as a table 5.
  • a calibration device 3 is shown arranged in a fixed position on table 5.
  • the calibration device 3 is shown connected to a computer 6, by a communication channel 4.
  • Computer 6 may comprise memory storage hardware and functions as well as computer or processor computing hardware and functions .
  • the robot programming device 2 shown symbolically in Figure 1 is a hand-held pointing device.
  • This portable device comprises an Inertial Navigation Device (IND) , for estimating position and orientation of the robot programming device.
  • IND Inertial Navigation Device
  • the accelerometers and gyroscopes are .preferably very small but accurate devices, built for example using microelectromechanical systems (MEMS) technology applied, for example, in chip or wafer- type fabrication processes for silicon components. Additional accuracy may be obtained by adding a magnetometer or three-axis magnetometer.
  • MEMS microelectromechanical systems
  • Piezo based gyros may alternatively be used when combined with due care and adaption to take account of the relatively lesser accuracy of those devices, as compared to MEMS devices .
  • the IND typically comprises three accelerometers adapted to detect acceleration and retardation in three planes, preferably being orthogonal with respect to each other, as well as three gyros to give rotation about three orthogonal axes .
  • This linear and angular data is fed into the IND processor and memory unit for estimation of position and orientation of the IND in 6 degrees of freedom.
  • the robot programming device is used in the following way.
  • the robot programming device 2, or pointer 2 for short is moved from a fixed, known position to a first new measuring position relative to the surface of the object 1 and pointed at the new measuring position on the object 1 surface.
  • the Inertial Navigation Device produces continuous estimates of the position and orientation of the pointing device in 6 degrees of freedom.
  • To record a point, or trigger (sample) at the point a button is pushed or a trigger is pressed, or a gesture is made by the operator, etc..
  • a sample reading is recorded from the inertial navigation device at that measuring point upon the pressing of a button or trigger etc by the operator.
  • a method for input by gestures such as that described in Swedish patent application SE 0303178-8,
  • a method and a system for programming an industrial robot, (ABB) may be employed to capture and interpret gestures as commands .
  • the system may be operated to capture a trajectory recording by means of a section of continuous recording. This is advantageous for recording process information.
  • a continuous sweep we take all those continuously recorded samples and record them for that period of time, between those points on the object. An operator for example presses a button at the beginning and then at the end of a sweep, or press and hold a button to start recording, then release to stop recording and so on.
  • Figure 2 shows an embodiment of the pointing device 2 in the form of a simplified block diagram. It shows a pointer 2a, accelerometers 2b, gyroscopes 2c, a processor 2d with integrated memory storage or separate memory storage 2e function, a battery
  • Blocks 2b-e which may be comprised in one single device, form the Inertial Navigation Device .
  • Figure 3 shows steps of a method or part method of the process of determining way points on a trajectory for programming a robot.
  • the method may begin at 32 by reading a start position.
  • the processor samples the accelerometers 35 and gyroscopes 37 at suitable sampling frequency, and the sensor measurements are stored in the memory.
  • Input 38 such as pressing a button or operating a switch, or making a gesture with a hand, is provided to signal that a waypoint should be sampled and stored.
  • the stored sensor data is retrieved 39 and the position of a new waypoint calculated or retrieved from the stored sensor data.
  • sensor data for the elapsed period of time or trajectory traveled is used to calculate the end point of that movement; and of the path traveled.
  • the method may begin by jumping to straight to step 33 if there is a recent position already in a memory of the pointing device or a memory associated in some way with it.
  • the last sampled position may be used as the "start" position of step 32.
  • Such a recently sampled position has, typically, been sampled within a current time limit for calibrating the pointing device.
  • an industrial robot or manipulator may be programmed to move along a trajectory based on a path generated by means of moving the pointer 2 between different positions along a desired path of movement for the robot end effecter, including a measured orientation of said end effecter part of the robot in these posi- tions .
  • a path of movement for a robot end effecter or tool centre point (TCP) may by this device, system and these methods be stored in a rapid and efficient way and with a high accuracy. The speed, efficiency and accuracy is also achieved for positions not in direct line-of-sight of the work object 1.
  • the calculating member may be adapted to calculate coordinates for a tool centre point (TCP) of a robot in said measuring position, in which this centre point for example in the case of a robot for spray application of paint corresponds to the desired position and orientation of the tip of the nozzle.
  • TCP tool centre point
  • the measuring position corresponds to the desired position and orientation for the tip of the welding electrode of the robot relative the object 1.
  • the calibration device 3 shown symbolically in Figure 1 may be embodied as a docking station. While the robot programming device or pointer 2 is being used to record position coordinates of a plurality of points, it is also calibrated from time to time by placing it in one or one or more docking stations (to receive calibration data) .
  • the calibration data may comprise the coordinates in 6 DOF at the fixed point. At the same time, position coordinates data stored in the pointer 2 may be uploaded to the docking station for storage and subsequent processing.
  • a pointer 2 may preferably have autonomous operation, and may be for example battery operated (see figure 2, 2f) and may provide local storage of position and orientation information, at least on a temporary basis. Sampling of measured position- and orientation points provided by the inertial navigation device may be carried out by manual triggering, gestures, or other means. Due to the finite stability of the built in inertial navigation device periodical calibration is required, provided by the calibration device 3 described above. Calibration may be provided by the use of one or one of a plurality of Docking Stations in known relation to the system origin, or known start position or known fixed reference point and providing electrical and/or mechanical calibration input to the pointer.
  • Figure 4 shows an embodiment of a method in the form of a block diagram. It shows the pointer (2) being moved by hand 43 by the operator, gesture input 44 to the system, sampling taking place in the inertial navigation device 45 as a result of the gesture input, and sensor data 46 being sent for calculation 47 to a processor in the pointer (such as 2d shown in Figure 2) . Position is calculated 47 and an estimated position 48 produced and evaluated 49. If the pointer is till within the time for accurate measurement, data may be uploaded 55'. The accuracy of the position and orientation estimates from the inertial navigation device decreases with time due to the drifts of one or more component. Hence, for a given accuracy the operation time is limited by the drift.
  • a signal may be generated so that the pointer is signaled for docking at 51, for calibration.
  • a docking position and orientation update 53 may be transferred 52 to the pointer device 2.
  • measurement data stored by the pointer 2 may be uploaded 55'' via the docking station 3, 3' to the computer system 6 (not shown) .
  • Figure 5 shows another arrangement to illustrate the principle of an embodiment of the invention. It shows an object to be painted 1', a pointing device 2' and a work table 5' or programming environment table. It also shows a plurality of calibration members in the form of docking stations 3 ' . A first communication channel 4' between the docking stations and a computer system 6' is shown, and a second communication channel 9 between all of the docking stations 3' is shown.
  • the pointer 2, 2' may typically be in the shape of a manual paint gun offering a trigger button for spatial point sampling and a connector for data exchange when parked in the docking station, see for example Figure 5.
  • the pointer 2 may also contain a timer member which will trigger an alarm when it is time for re- calibration. No new points can be sampled before re-calibration is done after an alarm has occurred.
  • the timer may be reset after calibration is completed by a Docking Station 3 or 3 ' . Since the 6 DOF accuracy of the pointer will decay as a function of time due to the sensor (gyro, accelerometer) drift, there is a need for a periodic calibration.
  • the calibration device 3, 3' is located in a fixed position on the table 5, 5'. One of the docking stations will function as the system origin.
  • the calibration may be performed by parking the Pointing Device 2 in the Docking Station 3 for a short time. During this moment the Docking Station will provide electrical and/or mechanical calibration input to the Pointing Device.
  • the 6 DOF data points can be transmitted from the Pointing Device via the calibration device to one or more computers .
  • a computer running a computer program may handle the communication with the pointer 2.
  • the communication comprises transfer and storing of the raw data and may also comprise conversion of raw data to robot trajectory data.
  • Figure 6 is a flowchart for carrying out a method to program a robot. It begins with a step to read a new position 61 (which may also be an instruction to determine a path or trajectory travelled by the pointer, ie a plurality of points) .
  • the operation time may be calculated beforehand based on the accuracy of one or more components and the improvements obtained by error modelling and Kalman filtering.
  • step 63 If the operation time, checked at 62 is found to have exceeded the set operation time limit at step 63, yes 66, then a signal to calibrate 67 the pointer 2 is generated.
  • the pointer is docked 68 and receives a position update 69 by docking in the docking station.
  • sensor and/or measurement data may be uploaded 70 via the docking station at the same time and transmitted to the computer 6, 6'. If the accuracy or time to drift 62 is acceptable as in step No, 64, then position data is stored 65 in the programming device memory.
  • ⁇ accelerometers and three gyroscopes are used in the above embodiment, but other combinations of a number of accelerometers and gyros are also possible within the principles disclosed by this invention.
  • Computational power by means of a microprocessor, a computer or likewise is required in order to perform signal processing and utilize estimation algorithms. This computational power may be distributed between the calibration device and a computer or control system with computer.
  • FIG. 7 shows an embodiment of a calibration device in a simplified block diagram, and in the form of a docking station 73. It shows a docking member 3a, I/O hardware 3b, a processor 3c with integrated or separate memory storage function, and a power supply member 3d.
  • a docking station operates simply as a switch when calibrating the pointer. Instead of passing coordinates for a point in space or a position with 6 DOF, the docking station is simply gives a pulse that signals that the pointer is "home" . When more than one docking station is used, as in Figure 4 for example, then a different stored position for each docking station is used.
  • calibration device 3 may be embodied such that it is not a docking station, and provides calibration and/or uploading of measured path data by data communication carried out by wireless means .
  • Figure 8 shows an embodiment of a wireless calibration device 83 in a block diagram. It shows a processor with integrated or separate memory 3'c, an interface to the processor, I/O hardware 3'b, a power supply 3'd and wireless hardware 3'e for providing wireless signals.
  • the pointer is not docked in the docking station so as to make electrical contact with the docking station.
  • the pointer 2 may also comprise at least a wireless transmitter (not shown) incorporated in the I/O hardware 2g of Figure 2, the pointer is placed in a predetermined position relative the wireless docking station and a "home" signal is sent wirelessly to the pointer by the calibration device or docking station to calibrate it by updating the pointer position.
  • Raw sensor data or position information may be uploaded wirelessly from the pointer to the docking station for communication to the computer 6 or computer system 6'.
  • the wireless station may transmit position coordinate information instead of a home signal.
  • the pointing device 2 used with the wireless docking station may also comprise wireless communication means to receive the position update signal from the wireless docking station.
  • the methods of the invention may be carried out by means of one or more computer programs comprising computer program code or software portions running on a computer such as 6, 6' or a processor such as 2d, 5c, 5'c.
  • the microprocessor (or processors) comprises a central processing unit CPU performing the steps of the method according to one or more facets of the invention, such as the methods shown in Figures 3, 4, 6.
  • the methods are performed with the aid of one or more said computer programs, which are stored at least in part in memory accessible by the one or more processors.
  • a program or part-program that carries out some or all of the steps 61-71 shown and described in relation in Figure 6 may be run by the processor 2d of the pointing device 2.
  • At least one of the or each processors may be in a central object oriented control system in a local or distributed computerised control system.
  • said computer programs may also be run on one or more general purpose industrial microprocessors or computers instead of one or more specially adapted computers or processors.
  • the computer program comprises computer program code elements or software code portions that make the computer perform the method using equations, algorithms, data, stored values and calculations previously described.
  • a part of the program may be stored in a processor as above, but also in a ROM, RAM, PROM, EPROM, or EEPROM chip or similar memory means.
  • the program in part or in whole may also be stored on, or in, other suitable computer readable medium such as a magnetic disk, CD-ROM or DVD disk, hard disk, magneto-optical memory storage means, in volatile memory, in flash memory, as firmware, stored on a data server or on one or more arrays of data servers.
  • Other known and suitable media including removable memory media such as Sony memory stick (TM) and other removable flash memories, hard drives etc. may also be used.
  • Wireless communications may be carried out using any suitable protocol.
  • Short range radio communication is the preferred technology, using a protocol compatible with, standards issued by the Bluetooth Special Interest Group (SIG) , any variation of IEEE-802.11, WiFi, Ultra Wide Band (UWB) , ZigBee or IEEE- 802.15.4, IEEE-802.13 or equivalent or similar.
  • SIG Bluetooth Special Interest Group
  • UWB Ultra Wide Band
  • ZigBee ZigBee
  • IEEE- 802.15.4 IEEE-802.13 or equivalent or similar.
  • More generally a radio technology working in the ISM band with significant interference suppression means such as spread spectrum technology is preferred.
  • a broad spectrum wireless protocol in which each or any data packet may be re-sent at other frequencies of a broad spectrum 7 times per millisecond, for example, may be used, such as in a protocol from ABB called Wireless interface for sensors and actuators (Wisa) .
  • Wireless communication may also be carried out using Infra Red (IR) means and protocols such as IrDA, IrCOMM or similar.
  • Wireless communication may also be carried out using sound or ultrasound transducers, through the air or via work object construction, pure magnetic or electric fields (capacitive or inductive communication) or other types of light, such as for example LED, laser, as communication media with standard or proprietary protocols.
  • IR Infra Red
  • IrDA Infra Red
  • IrCOMM IrCOMM
  • Wireless communication may also be carried out using sound or ultrasound transducers, through the air or via work object construction, pure magnetic or electric fields (capacitive or inductive communication) or other types of light, such as for example LED, laser, as communication media with standard or proprietary protocols.
  • the computer programs described above may also be arranged in part as a distributed application capable of running on several different computers or computer systems at more or less the same time.
  • Programs as well as data such as energy related information may each be made available for retrieval, delivery or, in the case of programs, execution over the Internet.
  • Data may be accessed by means of any of: OPC, OPC servers, an Object Request Broker such as COM, DCOM or CORBA, a web service.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

The invention comprises a programming device (2) for programming an industrial robot, together with a calibration device (3) for calibrating the programming device. The invention alas relates to a method for programming using the programming device, and a computer program for carrying out the method. A system for programming a robot is also described. A programming device in the form of a portable pointer is moved over a series of points on a work-object (1) to be processed by a robot, eg painted. (6) DOF position information provided by an inertial navigation device incorporated the programming device is sampled and stored, and later transferred to a computer for generation of a robot control program. The programming device is re-calibrated to compensate for accuracy drift during the operation to sample and store waypoints using the calibration device (3).

Description

Method, device and system for programming a robot
TECHNICAL AREA
This invention relates to a device and method for determining coordinates of a point of an object in a reference system of coordinates and the orientation of the object in the space in a measuring position assumed by the object. The object being adapted to be moved from a start position having known coordinates and orientation to several measuring positions in a sequence, and this process repeated many times. The invention relates in particular, but not exclusively, to such devices used for programming of robots, such as welding robots or robots for application of paint, which for example are used to spray-paint vehicle bodies .
TECHNICAL BACKGROUND
The device is usually in the form of a hand tool that is moved by hand by a person between different positions along an object in the form of a work piece, such as a vehicle body, for storing the coordinates and the direction of a tool of the robot in these positions. The control unit for the robot processes successively the different positions stored so as to obtain a path along which the robot is directed to move the tool, such as a paint spray- gun, of the robot as desired.
Known coordinates in one position, such as a start position, and a measurement position have been obtained by using one or more cameras to record different optical points of an object, and the real coordinates and orientation of the object in said start position are determined through information obtained from the camera or the cameras. However, it is sometimes necessary to move the object along the path of movement of the tool of the robot, to parts of a workpiece which are hidden from a camera. This occurs often for example in the case with positions located inside a vehicle body or other relatively enclosed space.
It is known to use the robot itself for storing such positions and by measuring the rotation of the different robot arms about their axes. The robot tool is moved from point to point along a desired path and the positions stored, and then converted into a path with smooth movement. However, this is a very cumbersome, time consuming and expensive way to calculate coordinates and orientation in a measuring position.
It is known for example from DE 19626459-A1 and BE-1010211-A6 that an object may be moved in the way mentioned above for storing the movement of path of a robot between different positions. It is also known from US 6,584,378 entitled Device and a method for determining coordinates and orientation, to measure acceleration and retardation of the object during the movement, so that coordinates and orientation of the object in the measuring position may be calculated from information about this measuring. This device provides greatly increased accuracy in the measurement of coordinates. However the registration of a path for programming is still a lengthy process . The use of cameras and optical registration on the device also places high demands on the skill and training of an operator to record a path for programming a trajectory accurately and effectively. In particular, it is difficult for operators or programmers to carry out registration in a short time and maintain accuracy in situations where the device must be moved out of line of sight to the one or more cameras used.
SUMMARY OF THE INVENTION The present invention solves one or more of the above problems . An aim of the invention is achieved according to the invention by a robot programming device according independent claims 1 and by a calibration device for the robot programming device according to independent claim 12 , by a system according to independent claim 24 and by a method according to independent claim 31. Preferred embodiments are described in the dependent claims .
According to a first aspect of the invention these and more aims are met by the invention in the form of a robot programming device comprising a probe and a sensor for acceleration, which further comprises an inertial navigation device as means for estimating the position and orientation of said device with 6 DOF with respect to a predefined coordinate system.
In another facet of the first aspect of the invention the aims are met by a calibration device for the robot programming device for which a fixed reference point is pre-determined. The programming device may be re-calibrated simply and quickly at one or more intervals during a programming operation. Miniature inertial navigation devices of the type used in the robot programming device are known to have a drift in accuracy over time, and the calibration device is provided so that re- calibration can be carried out simply and relatively frequently.
In a second aspect of the invention the aims are met by a system for programming a robot comprising at least the robot programming device, and the calibration device according to the invention. In an another aspect of the invention the aims are met by a method for programming an industrial robot or manipulator, using at least the programming device and the calibration device described above.
The principle advantage provided by the invention is that it provides an accurate system and easily used device and methods to produce a trajectory path from which an industrial robot or other manipulator may be programmed. In particular it is simple to operate, primarily a task for an operator to hold a portable pointing device in his/her hand and "point-and-shoot" at each suitable point in turn of a series of points along a painting stroke, seam to be welded, etc. In an advantageous embodiment, the operator may activate continuous sampling so as to record a continuous movement from one point to another. This requirement to simply point-and-shoot a hand-held pointing device means that no knowledge of programming or camera technique is required and that the operator may concentrate on incorporating any process knowledge he or she has regarding painting or welding techniques in the programmed trajectory. The capture of the orientation of the handheld programming device at each waypoint is carried out effectively and easily, thus capturing process information that is known by the operator for such operations as welding, painting, de-burring for example.
According to another aspect of the invention, the object is achieved by a computer program directly loadable into the internal memory of a computer, comprising software code portions for performing the steps of the method according to the invention, when said program is run on a computer. The computer program provided either on a computer readable medium, as a computer program product or through a network, such as the Internet .
BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the invention will now be described, by way of example only, with particular reference to the accompanying drawings in which:
FIGURE 1 is a schematic diagram of a robot programming device, an object to be worked on and a calibration device arranged according to an embodiment of the invention;
Figure 2 is a block diagram for a pointing device according to one aspect of the invention;
Figure 3 is a flowchart for carrying out a method to program a robot according to an embodiment of the invention;
Figure 4 is a block diagram showing other elements of method to program a robot;
Figure 5 is a second schematic diagram of the robot programming device showing an arrangement with a plurality of calibration devices;
Figure 6 is a flowchart for carrying out a method to program a robot;
Figure 7 is a block diagram of components of a calibration device according to another aspect of the invention; Figure 8 is a block diagram for a wireless calibration device according to another embodiment of the invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS
Figure 1 shows an arrangement to illustrate the principle of an embodiment of the invention. Figure 1 shows a somewhat complex- shaped object 1 to be worked on, in this exemplary example spray- painted, and a robot programming device 2. The object 1 is placed on a working surface, which is shown here as a table 5. A calibration device 3 is shown arranged in a fixed position on table 5. The calibration device 3 is shown connected to a computer 6, by a communication channel 4. Computer 6 may comprise memory storage hardware and functions as well as computer or processor computing hardware and functions .
The robot programming device 2 shown symbolically in Figure 1 is a hand-held pointing device. This portable device comprises an Inertial Navigation Device (IND) , for estimating position and orientation of the robot programming device.
The accelerometers and gyroscopes are .preferably very small but accurate devices, built for example using microelectromechanical systems (MEMS) technology applied, for example, in chip or wafer- type fabrication processes for silicon components. Additional accuracy may be obtained by adding a magnetometer or three-axis magnetometer. As an alternative Piezo based gyros may alternatively be used when combined with due care and adaption to take account of the relatively lesser accuracy of those devices, as compared to MEMS devices .
The IND typically comprises three accelerometers adapted to detect acceleration and retardation in three planes, preferably being orthogonal with respect to each other, as well as three gyros to give rotation about three orthogonal axes . This linear and angular data is fed into the IND processor and memory unit for estimation of position and orientation of the IND in 6 degrees of freedom.
The robot programming device is used in the following way. The robot programming device 2, or pointer 2 for short, is moved from a fixed, known position to a first new measuring position relative to the surface of the object 1 and pointed at the new measuring position on the object 1 surface. The Inertial Navigation Device produces continuous estimates of the position and orientation of the pointing device in 6 degrees of freedom. To record a point, or trigger (sample) at the point, a button is pushed or a trigger is pressed, or a gesture is made by the operator, etc.. A sample reading is recorded from the inertial navigation device at that measuring point upon the pressing of a button or trigger etc by the operator. A method for input by gestures such as that described in Swedish patent application SE 0303178-8, A method and a system for programming an industrial robot, (ABB) may be employed to capture and interpret gestures as commands .
In another embodiment, instead or as well as intermittent spatial sampling the system may be operated to capture a trajectory recording by means of a section of continuous recording. This is advantageous for recording process information. In order to do a continuous sweep we take all those continuously recorded samples and record them for that period of time, between those points on the object. An operator for example presses a button at the beginning and then at the end of a sweep, or press and hold a button to start recording, then release to stop recording and so on.
Figure 2 shows an embodiment of the pointing device 2 in the form of a simplified block diagram. It shows a pointer 2a, accelerometers 2b, gyroscopes 2c, a processor 2d with integrated memory storage or separate memory storage 2e function, a battery
2f or other power supply member, and I/O hardware. Blocks 2b-e, which may be comprised in one single device, form the Inertial Navigation Device .
Figure 3 shows steps of a method or part method of the process of determining way points on a trajectory for programming a robot. The method may begin at 32 by reading a start position. The processor samples the accelerometers 35 and gyroscopes 37 at suitable sampling frequency, and the sensor measurements are stored in the memory. Input 38, such as pressing a button or operating a switch, or making a gesture with a hand, is provided to signal that a waypoint should be sampled and stored. The stored sensor data is retrieved 39 and the position of a new waypoint calculated or retrieved from the stored sensor data. Alternatively, if a part of a path, or a continuous movement is to be sampled, then sensor data for the elapsed period of time or trajectory traveled is used to calculate the end point of that movement; and of the path traveled. Alternatively, the method may begin by jumping to straight to step 33 if there is a recent position already in a memory of the pointing device or a memory associated in some way with it. Thus in use, the last sampled position may be used as the "start" position of step 32. Such a recently sampled position has, typically, been sampled within a current time limit for calibrating the pointing device.
Thus an industrial robot or manipulator may be programmed to move along a trajectory based on a path generated by means of moving the pointer 2 between different positions along a desired path of movement for the robot end effecter, including a measured orientation of said end effecter part of the robot in these posi- tions . A path of movement for a robot end effecter or tool centre point (TCP) may by this device, system and these methods be stored in a rapid and efficient way and with a high accuracy. The speed, efficiency and accuracy is also achieved for positions not in direct line-of-sight of the work object 1. It is advantageous that the calculating member may be adapted to calculate coordinates for a tool centre point (TCP) of a robot in said measuring position, in which this centre point for example in the case of a robot for spray application of paint corresponds to the desired position and orientation of the tip of the nozzle. In the case of a robot for spot welding or seam welding the measuring position corresponds to the desired position and orientation for the tip of the welding electrode of the robot relative the object 1.
The calibration device 3 shown symbolically in Figure 1 may be embodied as a docking station. While the robot programming device or pointer 2 is being used to record position coordinates of a plurality of points, it is also calibrated from time to time by placing it in one or one or more docking stations (to receive calibration data) . The calibration data may comprise the coordinates in 6 DOF at the fixed point. At the same time, position coordinates data stored in the pointer 2 may be uploaded to the docking station for storage and subsequent processing.
A pointer 2 may preferably have autonomous operation, and may be for example battery operated (see figure 2, 2f) and may provide local storage of position and orientation information, at least on a temporary basis. Sampling of measured position- and orientation points provided by the inertial navigation device may be carried out by manual triggering, gestures, or other means. Due to the finite stability of the built in inertial navigation device periodical calibration is required, provided by the calibration device 3 described above. Calibration may be provided by the use of one or one of a plurality of Docking Stations in known relation to the system origin, or known start position or known fixed reference point and providing electrical and/or mechanical calibration input to the pointer.
Figure 4 shows an embodiment of a method in the form of a block diagram. It shows the pointer (2) being moved by hand 43 by the operator, gesture input 44 to the system, sampling taking place in the inertial navigation device 45 as a result of the gesture input, and sensor data 46 being sent for calculation 47 to a processor in the pointer (such as 2d shown in Figure 2) . Position is calculated 47 and an estimated position 48 produced and evaluated 49. If the pointer is till within the time for accurate measurement, data may be uploaded 55'. The accuracy of the position and orientation estimates from the inertial navigation device decreases with time due to the drifts of one or more component. Hence, for a given accuracy the operation time is limited by the drift. When the operation time for accurate measurements has been exceeded, a signal may be generated so that the pointer is signaled for docking at 51, for calibration. At the time of docking for calibration 51, a docking position and orientation update 53 may be transferred 52 to the pointer device 2.
Also, at the time of docking for calibration 51, measurement data stored by the pointer 2 may be uploaded 55'' via the docking station 3, 3' to the computer system 6 (not shown) .
Figure 5 shows another arrangement to illustrate the principle of an embodiment of the invention. It shows an object to be painted 1', a pointing device 2' and a work table 5' or programming environment table. It also shows a plurality of calibration members in the form of docking stations 3 ' . A first communication channel 4' between the docking stations and a computer system 6' is shown, and a second communication channel 9 between all of the docking stations 3' is shown.
The pointer 2, 2' may typically be in the shape of a manual paint gun offering a trigger button for spatial point sampling and a connector for data exchange when parked in the docking station, see for example Figure 5. The pointer 2 may also contain a timer member which will trigger an alarm when it is time for re- calibration. No new points can be sampled before re-calibration is done after an alarm has occurred. The timer may be reset after calibration is completed by a Docking Station 3 or 3 ' . Since the 6 DOF accuracy of the pointer will decay as a function of time due to the sensor (gyro, accelerometer) drift, there is a need for a periodic calibration. The calibration device 3, 3' is located in a fixed position on the table 5, 5'. One of the docking stations will function as the system origin. The calibration may be performed by parking the Pointing Device 2 in the Docking Station 3 for a short time. During this moment the Docking Station will provide electrical and/or mechanical calibration input to the Pointing Device.
When the spatial sampling is complete, the 6 DOF data points can be transmitted from the Pointing Device via the calibration device to one or more computers . A computer running a computer program may handle the communication with the pointer 2. The communication comprises transfer and storing of the raw data and may also comprise conversion of raw data to robot trajectory data. Figure 6 is a flowchart for carrying out a method to program a robot. It begins with a step to read a new position 61 (which may also be an instruction to determine a path or trajectory travelled by the pointer, ie a plurality of points) . The operation time may be calculated beforehand based on the accuracy of one or more components and the improvements obtained by error modelling and Kalman filtering. If the operation time, checked at 62 is found to have exceeded the set operation time limit at step 63, yes 66, then a signal to calibrate 67 the pointer 2 is generated. The pointer is docked 68 and receives a position update 69 by docking in the docking station. Optionally, sensor and/or measurement data may be uploaded 70 via the docking station at the same time and transmitted to the computer 6, 6'. If the accuracy or time to drift 62 is acceptable as in step No, 64, then position data is stored 65 in the programming device memory.
Preferably three accelerometers and three gyroscopes are used in the above embodiment, but other combinations of a number of accelerometers and gyros are also possible within the principles disclosed by this invention. Computational power by means of a microprocessor, a computer or likewise is required in order to perform signal processing and utilize estimation algorithms. This computational power may be distributed between the calibration device and a computer or control system with computer.
Figure 7 shows an embodiment of a calibration device in a simplified block diagram, and in the form of a docking station 73. It shows a docking member 3a, I/O hardware 3b, a processor 3c with integrated or separate memory storage function, and a power supply member 3d. In the most preferred use of the invention, a docking station operates simply as a switch when calibrating the pointer. Instead of passing coordinates for a point in space or a position with 6 DOF, the docking station is simply gives a pulse that signals that the pointer is "home" . When more than one docking station is used, as in Figure 4 for example, then a different stored position for each docking station is used. In another embodiment, calibration device 3 may be embodied such that it is not a docking station, and provides calibration and/or uploading of measured path data by data communication carried out by wireless means .
Figure 8 shows an embodiment of a wireless calibration device 83 in a block diagram. It shows a processor with integrated or separate memory 3'c, an interface to the processor, I/O hardware 3'b, a power supply 3'd and wireless hardware 3'e for providing wireless signals. In this embodiment, the pointer is not docked in the docking station so as to make electrical contact with the docking station. In this embodiment, the pointer 2 may also comprise at least a wireless transmitter (not shown) incorporated in the I/O hardware 2g of Figure 2, the pointer is placed in a predetermined position relative the wireless docking station and a "home" signal is sent wirelessly to the pointer by the calibration device or docking station to calibrate it by updating the pointer position. Raw sensor data or position information may be uploaded wirelessly from the pointer to the docking station for communication to the computer 6 or computer system 6'. In another optional version, the wireless station may transmit position coordinate information instead of a home signal. The pointing device 2 used with the wireless docking station may also comprise wireless communication means to receive the position update signal from the wireless docking station. The methods of the invention may be carried out by means of one or more computer programs comprising computer program code or software portions running on a computer such as 6, 6' or a processor such as 2d, 5c, 5'c. The microprocessor (or processors) comprises a central processing unit CPU performing the steps of the method according to one or more facets of the invention, such as the methods shown in Figures 3, 4, 6. The methods are performed with the aid of one or more said computer programs, which are stored at least in part in memory accessible by the one or more processors. For example a program or part-program that carries out some or all of the steps 61-71 shown and described in relation in Figure 6 may be run by the processor 2d of the pointing device 2. At least one of the or each processors may be in a central object oriented control system in a local or distributed computerised control system. It is to be understood that said computer programs may also be run on one or more general purpose industrial microprocessors or computers instead of one or more specially adapted computers or processors.
The computer program comprises computer program code elements or software code portions that make the computer perform the method using equations, algorithms, data, stored values and calculations previously described. A part of the program may be stored in a processor as above, but also in a ROM, RAM, PROM, EPROM, or EEPROM chip or similar memory means. The program in part or in whole may also be stored on, or in, other suitable computer readable medium such as a magnetic disk, CD-ROM or DVD disk, hard disk, magneto-optical memory storage means, in volatile memory, in flash memory, as firmware, stored on a data server or on one or more arrays of data servers. Other known and suitable media, including removable memory media such as Sony memory stick (TM) and other removable flash memories, hard drives etc. may also be used.
Wireless communications may be carried out using any suitable protocol. Short range radio communication is the preferred technology, using a protocol compatible with, standards issued by the Bluetooth Special Interest Group (SIG) , any variation of IEEE-802.11, WiFi, Ultra Wide Band (UWB) , ZigBee or IEEE- 802.15.4, IEEE-802.13 or equivalent or similar. More generally a radio technology working in the ISM band with significant interference suppression means such as spread spectrum technology is preferred. For example a broad spectrum wireless protocol in which each or any data packet may be re-sent at other frequencies of a broad spectrum 7 times per millisecond, for example, may be used, such as in a protocol from ABB called Wireless interface for sensors and actuators (Wisa) . Wireless communication may also be carried out using Infra Red (IR) means and protocols such as IrDA, IrCOMM or similar. Wireless communication may also be carried out using sound or ultrasound transducers, through the air or via work object construction, pure magnetic or electric fields (capacitive or inductive communication) or other types of light, such as for example LED, laser, as communication media with standard or proprietary protocols.
The computer programs described above may also be arranged in part as a distributed application capable of running on several different computers or computer systems at more or less the same time. Programs as well as data such as energy related information may each be made available for retrieval, delivery or, in the case of programs, execution over the Internet. Data may be accessed by means of any of: OPC, OPC servers, an Object Request Broker such as COM, DCOM or CORBA, a web service.
It is also noted that while the above describes exemplifying embodiments of the invention, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present invention as defined in the appended claims .

Claims

1. A device (2) for programming a robot with means arranged for determining the coordinates of a point in a 3-dimensional space, said device comprising a probe and a sensor for acceleration, characterised in that said programming device further comprises inertial navigation means for estimating the position and orientation of said device (2) with 6 DOF with respect to a predefined coordinate system.
2. A robot programming device according to claim 1, characterised by comprising a combination of accelerometers and gyroscopes or rate gyroscopes .
3. A robot programming device according to claim 2, characterised in that said programming device comprises a processor member (2d) or a computer arranged with a program member arranged for execution of one or more algorithms for estimation of position and orientation.
4. A robot programming device according to claim 3 , characterised in that said programming device is portable and is arranged connectable to at least one calibration member (3, 3' 73, 83).
5. A robot programming device according to claim 4, characterised in that the portable device is arranged self contained and with data communication means that do not require a wire connection between said programming device and at least one calibration member (3 , 3 ' 83 ) .
6. A robot programming device according to claim 3, characterised in that the device (2) further comprises a memory storage member (2e) .
7. A robot programming device according to any previous claim, characterised in that the device (2) comprises a data communication member (2d,e, 61-71) .
8. A robot programming device according to claim 7, characterised in that the data communication member also comprises a wireless hardware member (2g) .
9. A robot programming device according to claim 6, characterised in that the data communication member is a wireless radio means compatible with the ISM band with significant interference suppression means by spread spectrum technology.
10. A robot programming device according to claim 9, characterised in that the wireless radio means is compatible with a protocol wherein each data packet may be re-sent one or more times per second at different frequencies in the spectrum.
11. A robot programming device according to claim 6, characterised in that the plurality of accelerometers comprise components provided by MEMS technology.
12. A calibration device (3, 3', 83) for use with a device for robot programming (2) arranged for determining the coordinates of a point in a 3-dimensional space, characterised in that said calibration device comprises a connection member (3a, 3'e) arranged for outputting a signal to said robot programming device.
13. A calibration device according to claim 12, characterised in that said calibration device comprises a docking arrangement (3a) for receiving and making a connection to the robot programming device.
14. A calibration device according to claim 12, characterised in that the docking arrangement of said calibration device is arranged to receive the robot programming device (2) at a fixed reference point and at a fixed orientation.
15. A calibration device according to claim 12, characterised in that it comprises at least one memory storage member for storing information about the position and orientation of the pointer when placed in said calibration device.
16. A calibration device according to claim 12, characterised in that the connection member (3a, 3e) of said calibration device comprises a switch member for providing a position signal comprising a home signal or pulse.
17. A calibration device according to claim 12, characterised in that said calibration device comprises a data transfer member for transmission of a home signal or pulse to the robot programming device.
18. A calibration device according to claim 16, characterised in that the home signal of each such said calibration device (3, 3') may be comprise different information.
19. A calibration device according to claim 12, characterised in that said calibration device comprises a data transfer member for transmission of coordinates of a fixed reference point to the robot programming device .
20. A calibration device according to any of claims 15-19, characterised in that said calibration device (83) comprises a wireless communication member (3'e) for making a transfer of information to the robot programming device (2) .
21. A calibration device according to claim 12, characterised in that the calibration member further comprises an ultrasonic receiver/transceiver arranged to measure one or more coordinates of the calibration member to provide an auxiliary reference point in 3-dimensional space.
22. A calibration device according to claim 20, characterised in that the calibration member comprises means to determine the one or more coordinates of an auxiliary reference point in 3-dimensional space by sensing or measuring using any from the list of: visible light camera, optical camera, digital camera, ultrasound, infra red transmitter/receiver, electromagnetic.
23. A calibration device according to any of claims 14-21, characterised in that it comprises at least one memory storage member for storing 6 DOF information about a position.
24. A system for robot programming comprising a robot programming device (2) arranged for determining the coordinates of a point in a 3-dimensional space, characterised in that the system comprises an inertial navigation device in the robot programming device (2).
25. A system according to claim 24, characterised in that it comprises a calibration device (3, 3', 73, 83) for calibration of the robot programming device .
26. A system according to claim 24, characterised in that it comprises data communication means (4, 4') between said robot programming device (2) and a computer (6) or processor.
27. A system according to claim 25, characterised in that it comprises data communication means (9) between at least one calibration device (3, 3', 83) and the computer (6) or processor.
28. A system according to any of claims 24-27, characterised in that it comprises one or more computer programs for storing, converting and processing position coordinate data.
29. A system according to any of claims 24-27, characterised in that the calibration member further comprises a sensor member arranged for contactless measurement of at least one or more coordinates of the calibration device to provide an auxiliary reference point in 3-dimensional space.
30. A system according to any of claims 24-28, characterised in that the calibration device comprises a wireless communication member (3'e) .
31. A method to program a robot with a robot programming device (2) by means of determining coordinates of a point of an object (1) in a reference system of coordinates and the orientation of the object in space in a measuring position assumed by the object, said coordinates of the object in the measuring position being calculated from information about the acceleration and retardation of the object measured during the movement by one or more sensors of the robot programming device, characterised by -moving said programming device and placing it at a said measuring position on the surface of the object (1) , -making a sampling of the coordinates and position of said robot programming device at at least the said measuring position, -recording the coordinates of the said measuring position in a memory storage (2d,e).
32. A method according to claim 31, characterised by estimating the coordinates of the coordinates of a point of an object (1) in a reference system by means of a calculation based on the sampled and/or stored coordinates of said measuring position.
33. A method according to claim 32, characterised by calibrating said robot programming device at least once after the start of recording a programming action.
34. A method according to claim 33, characterised by calibrating said robot programming device following any of: a calculation
(49, 63) of drift in accuracy of said robot programming device; a predetermined period of time.
35. A method according to claim 34, characterised by calibrating said robot programming device in the calibration device following a visible and/or audible signal that calibration should be performed.
36. A method according to claim 31, characterised by calibrating said robot programming device by placing it in or otherwise connecting it to a calibration device (3, 3', 83).
37. A method according to claim 36, characterised by placing said robot programming device in the calibration device or otherwise connecting it to the calibration device for data upload from the robot programming device to a computer (6) system and/or a computer system (6').
38. A method according to claim 36, characterised by calibrating said robot programming device by placing it in close proximity to a calibration device for wireless communication of calibration data.
39. A computer program programming a robot comprising computer code means and/or software code portions which when run on a computer or processor will make said computer or processor perform the steps of a method according any of claims 31-38.
40. A computer program comprising a computer program according to claim 39 comprised in one or more computer readable media.
41. Use of a robot programming device (2) according to any of claims 1-11 for programming one or more robots and/or automation applications to carry out an operation comprising any from the list of: welding, riveting, de-burring, fettling, grinding, coating, painting, dry spraying, gluing, folding plate, bending plate, hemming plate, gripping an object, manipulating an object, stacking, pick and place.
42. Use of a calibration device (3, 3', 83) according to any of claims 12-23 for a programming a robot in an industrial or commercial installation or place of work.
43. Use of a system according to any of claims 24-30 for a programming a robot in an industrial or commercial installation or place of work.
44. Use of a system according to any of claims 24-30 for a programming a mobile robot in an industrial or commercial installation, a hospital, or a place of work.
PCT/IB2004/004087 2003-12-12 2004-12-13 Method, device and system for programming a robot WO2005060338A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE0303379A SE0303379D0 (en) 2003-12-12 2003-12-12 Method, device and system for programming a robot
SE0303379-2 2003-12-12

Publications (2)

Publication Number Publication Date
WO2005060338A2 true WO2005060338A2 (en) 2005-07-07
WO2005060338A3 WO2005060338A3 (en) 2005-08-11

Family

ID=30439700

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2004/004087 WO2005060338A2 (en) 2003-12-12 2004-12-13 Method, device and system for programming a robot

Country Status (2)

Country Link
SE (1) SE0303379D0 (en)
WO (1) WO2005060338A2 (en)

Cited By (17)

* 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
US8601701B2 (en) 2007-04-23 2013-12-10 Renishaw Plc Apparatus and method for controlling or programming a measurement routine
WO2014093822A1 (en) * 2012-12-14 2014-06-19 Abb Technology Ag Bare hand robot path teaching
US8825438B2 (en) 2007-08-20 2014-09-02 Renishaw Plc Course of motion determination
US9158864B2 (en) 2012-12-21 2015-10-13 Corning Optical Communications Wireless Ltd Systems, methods, and devices for documenting a location of installed equipment
US9185674B2 (en) 2010-08-09 2015-11-10 Corning Cable Systems Llc Apparatuses, systems, and methods for determining location of a mobile device(s) in a distributed antenna system(s)
WO2016020773A1 (en) * 2014-08-08 2016-02-11 Bbz S.R.L. Remote manipulation input device
US9590733B2 (en) 2009-07-24 2017-03-07 Corning Optical Communications LLC Location tracking using fiber optic array cables and related systems and methods
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
US9648580B1 (en) 2016-03-23 2017-05-09 Corning Optical Communications Wireless Ltd Identifying remote units in a wireless distribution system (WDS) based on assigned unique temporal delay patterns
US9684060B2 (en) 2012-05-29 2017-06-20 CorningOptical Communications LLC Ultrasound-based localization of client devices with inertial navigation supplement in distributed communication systems and related devices and methods
US9781553B2 (en) 2012-04-24 2017-10-03 Corning Optical Communications LLC Location based services in a distributed communication system, and related components and methods
US9967032B2 (en) 2010-03-31 2018-05-08 Corning Optical Communications LLC Localization services in optical fiber-based distributed communications components and systems, and related methods
US9962835B2 (en) 2013-12-17 2018-05-08 Syddansk Universitet Device for dynamic switching of robot control points
WO2024108333A1 (en) * 2022-11-21 2024-05-30 Abb Schweiz Ag Method and system for programming an industrial robot

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2731041C3 (en) * 1976-07-09 1981-04-02 Régie Nationale des Usines Renault, Boulogne-Billancourt, Hauts-de-Seine Programming device for a program-controlled paint manipulator
FR2680886B1 (en) * 1991-08-30 1995-01-06 Realisa Electroniques Et METHOD FOR DETERMINING THE SITUATION OF THE TERMINAL MEMBER OF A ROBOT AND ARRANGEMENT FOR IMPLEMENTING THE METHOD.
DE4303264C2 (en) * 1993-02-04 1998-11-26 Fraunhofer Ges Forschung Handheld control device for movement specification and programming of robots
FR2737024B1 (en) * 1995-07-20 1997-10-10 Patenotre Laurent METHOD FOR LEARNING IN A GEOMETRIC SHAPE, ESPECIALLY TRAJECTORY OR CONTOUR, AND SYSTEMS IMPLEMENTING THIS METHOD
SE515374C2 (en) * 1999-10-29 2001-07-23 Abb Flexible Automation As Method and apparatus for determining an object's coordinates and orientation in a reference coordinate system

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3156863A1 (en) * 2007-04-23 2017-04-19 Renishaw plc Apparatus and method for controlling or programming a measurement routine
US8601701B2 (en) 2007-04-23 2013-12-10 Renishaw Plc Apparatus and method for controlling or programming a measurement routine
US8825438B2 (en) 2007-08-20 2014-09-02 Renishaw Plc Course of motion determination
US10070258B2 (en) 2009-07-24 2018-09-04 Corning Optical Communications LLC Location tracking using fiber optic array cables and related systems and methods
US9590733B2 (en) 2009-07-24 2017-03-07 Corning Optical Communications LLC Location tracking using fiber optic array cables and related systems and methods
US9967032B2 (en) 2010-03-31 2018-05-08 Corning Optical Communications LLC Localization services in optical fiber-based distributed communications components and systems, and related methods
US12160789B2 (en) 2010-08-09 2024-12-03 Corning Optical Communications LLC Apparatuses, systems, and methods for determining location of a mobile device(s) in a distributed antenna system(s)
US10959047B2 (en) 2010-08-09 2021-03-23 Corning Optical Communications LLC Apparatuses, systems, and methods for determining location of a mobile device(s) in a distributed antenna system(s)
US9185674B2 (en) 2010-08-09 2015-11-10 Corning Cable Systems Llc Apparatuses, systems, and methods for determining location of a mobile device(s) in a distributed antenna system(s)
US9913094B2 (en) 2010-08-09 2018-03-06 Corning Optical Communications LLC Apparatuses, systems, and methods for determining location of a mobile device(s) in a distributed antenna system(s)
US10448205B2 (en) 2010-08-09 2019-10-15 Corning Optical Communications LLC Apparatuses, systems, and methods for determining location of a mobile device(s) in a distributed antenna system(s)
US11653175B2 (en) 2010-08-09 2023-05-16 Corning Optical Communications LLC Apparatuses, systems, and methods for determining location of a mobile device(s) in a distributed antenna system(s)
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
WO2012160412A1 (en) * 2011-05-20 2012-11-29 Sintesi Development S.R.L. Learning system for robots used for surface treatments and treatment stations
ITPD20110161A1 (en) * 2011-05-20 2012-11-21 Finiture Srl LEARNING SYSTEM FOR ROBOTS FOR SURFACE TREATMENTS AND TREATMENT STATIONS
US9781553B2 (en) 2012-04-24 2017-10-03 Corning Optical Communications LLC Location based services in a distributed communication system, and related components and methods
US9684060B2 (en) 2012-05-29 2017-06-20 CorningOptical Communications LLC Ultrasound-based localization of client devices with inertial navigation supplement in distributed communication systems and related devices and methods
CN104936748A (en) * 2012-12-14 2015-09-23 Abb技术有限公司 Freehand robot path teaching
WO2014093822A1 (en) * 2012-12-14 2014-06-19 Abb Technology Ag Bare hand robot path teaching
US10406686B2 (en) 2012-12-14 2019-09-10 Abb Schweiz Ag Bare hand robot path teaching
US9414192B2 (en) 2012-12-21 2016-08-09 Corning Optical Communications Wireless Ltd Systems, methods, and devices for documenting a location of installed equipment
US9158864B2 (en) 2012-12-21 2015-10-13 Corning Optical Communications Wireless Ltd Systems, methods, and devices for documenting a location of installed equipment
US9962835B2 (en) 2013-12-17 2018-05-08 Syddansk Universitet Device for dynamic switching of robot control points
WO2016020773A1 (en) * 2014-08-08 2016-02-11 Bbz S.R.L. Remote manipulation input 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
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
US9648580B1 (en) 2016-03-23 2017-05-09 Corning Optical Communications Wireless Ltd Identifying remote units in a wireless distribution system (WDS) based on assigned unique temporal delay patterns
WO2024108333A1 (en) * 2022-11-21 2024-05-30 Abb Schweiz Ag Method and system for programming an industrial robot

Also Published As

Publication number Publication date
WO2005060338A3 (en) 2005-08-11
SE0303379D0 (en) 2003-12-12

Similar Documents

Publication Publication Date Title
WO2005060338A2 (en) Method, device and system for programming a robot
CN108369406B (en) Method and control system for controlling the movement of an articulated arm of an industrial robot
CN105835073B (en) A kind of new teaching apparatus of industrial robot
KR101479232B1 (en) Robot, robot hand, control method of robot hand
JP2004212400A (en) Position and direction estimation system for robots
US9052710B1 (en) Manipulation control based upon mimic of human gestures
EP2112468A1 (en) Parameter detection system and control method
KR100834761B1 (en) Method and apparatus for reckoning position of moving robot
KR100590549B1 (en) Remote Control Method of Robot Using 3D Pointing Method and Robot Control System Implementing It
CN109949370B (en) Automatic method for IMU-camera combined calibration
CN109789526A (en) Hand-held tool system
US20230011979A1 (en) Handheld device for training at least one movement and at least one activity of a machine, system and method
WO2018230517A1 (en) Operation system
JP2005305644A (en) Method and device to control multi-axis handling equipment
US20070265799A1 (en) System for determining three dimensional position of radio transmitter
US20140324219A1 (en) Control method for controlling a robot and control system employing such a method
JP2007300470A (en) RADIO COMMUNICATION AREA MEASUREMENT SYSTEM, METHOD, PROGRAM, AND DISPLAY DEVICE FOR DISPLAYING RADIO COMMUNICATION AREA
US20130308120A1 (en) Distance measuring device using a method of spanning separately targeted endpoints
KR20130000496A (en) Teaching apparatus of robot having acceleration sensor and gyro-sensor and teaching method for robot using the same
JP6011412B2 (en) robot
CN108422436A (en) Detect the engagement of robot and object
CN117260776A (en) Man-machine interaction method and device applied to robot
JP2019512785A (en) System and method for spatially moving an object using a manipulator
Liyanage et al. A single time scale visual servoing system for a high speed SCARA type robotic arm
Qi et al. A lead-through robot programming approach using a 6-DOF wire-based motion tracking device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase