Robotic screwdriver and method
11642745 · 2023-05-09
Assignee
Inventors
Cpc classification
B25B23/10
PERFORMING OPERATIONS; TRANSPORTING
B23P19/006
PERFORMING OPERATIONS; TRANSPORTING
B23P19/06
PERFORMING OPERATIONS; TRANSPORTING
B25J15/0019
PERFORMING OPERATIONS; TRANSPORTING
International classification
B23P19/06
PERFORMING OPERATIONS; TRANSPORTING
B23P19/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
The invention relates to attachments for industrial robotic equipment and in particular relates to screw driver attachments for standalone or collaborative robots. A screwdriver apparatus for a robotic arm is provided, the apparatus being suitable for installing screws of a known pitch into a component, the apparatus comprising a screw driving tool having a shaft rotatable about a central axis, the shaft having a distal end with a tip suitable for engaging with a screw, the shaft further having a proximal end connected to both a tool rotation apparatus and a tool linear movement apparatus, wherein the tool rotation apparatus and the tool linear movement apparatus are arranged to cooperate such that the tool tip is maintained at a constant pre-defined distance in relation to the screw when in use.
Claims
1. Screwdriver apparatus for a robotic arm, the apparatus being suitable for installing screws of a known pitch into a component, the apparatus comprising; a screw driving tool having a shaft rotatable about a central axis, the shaft having a distal end with a tip suitable for engaging with a screw, the shaft further having a proximal end connected to both a tool rotation apparatus and a tool linear movement apparatus, wherein the tool rotation apparatus is arranged to rotate the tool about the central axis and the tool linear movement apparatus is arranged to move the tool along the central axis, the screwdriver attachment characterised in that the tool rotation apparatus and the tool linear movement apparatus are arranged to cooperate such that the tool tip is maintained at a constant pre-defined distance in relation to the screw when in use; wherein the pre-defined defined distance is capable of being set such that there is a gap between the tool tip and the screw so that, in use, zero force is applied along the central axis as the screw is installed.
2. The screwdriver apparatus of claim 1, wherein the pre-defined distance is capable of being set such that, in use, the tool tip presses against the screw.
3. The screwdriver apparatus of claim 1, wherein the tool rotation apparatus comprises a tool rotation motor connected to the tool and a tool rotation motor controller for controlling the tool rotation motor.
4. The screwdriver apparatus of claim 1, wherein the tool linear movement apparatus comprises a tool linear movement motor and a tool linear movement motor controller for controlling the tool linear movement motor.
5. The screwdriver apparatus of claim 4, wherein the tool linear movement motor is connected to a lead screw that is parallel to the central axis, the lead screw having a known pitch, wherein the tool is linked to a nut mounted on the lead screw, such that rotation of the lead screw causes the tool to move along the central axis.
6. The screwdriver apparatus of claim 1, including a memory unit, the memory unit arranged to store user definable parameters relating to the screw type being installed, including the screw pitch, and parameters relating to the tool linear movement apparatus including the pitch of the lead screw, screwing speed and torque.
7. The screwdriver apparatus of claim 6, wherein motors of the tool rotation apparatus and tool linear movement apparatus are servo motors having encoders, and wherein the memory unit is further arranged to store data relating to the number of encoder steps in a full turn of the lead screw and the number of encoder steps required to move the tool a known distance along the central axis.
8. The screwdriver apparatus of claim 6, wherein the memory unit is arranged to store a user defined screwing speed at which the screw is installed and wherein a processor is arranged to control tool linear movement motor speed based on the screwing speed and the ratio of the screw pitch to the lead screw pitch.
9. The screwdriver apparatus of claim 1, including a processor arranged to send tool rotation signals to a tool rotation motor controller to rotate the tool and to send tool linear movement signals to a tool linear movement motor controller, wherein the processor is arranged to calculate the tool linear movement signals based on the tool rotation signals and the ratio of the screw pitch to the lead screw pitch.
10. The screwdriver apparatus of claim 1, including a screw housing tube for receiving a screw from a screw feeder apparatus, a screw gripper at the end of the housing tube for gripping a screw, and wherein the housing tube and screw gripper are removable and can be replaced with a different sized arrangement to allow different sized screws to be installed.
11. A robotic screwdriver system comprising a screwdriver attachment as claimed in claim 1, wherein the screwdriver attachment is controlled by a screwdriver controller, the system further comprising a robotic arm and a robotic arm controller, wherein the robotic arm controller includes a user interface for a user to input instructions to control the system.
12. A method of operating a screwdriver apparatus as claimed in claim 1, the method comprising the steps of: controlling a tool rotation motor to rotate a screw, controlling a tool linear movement motor to maintain the tool at a predetermined distance from the screw as the screw is rotated to control the force applied to the screw as it is installed; wherein the pre-defined distance is capable of being set such that there is a gap between the tool tip and the screw so that, in use, zero force is applied along the central axis as the screw is installed.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
(15) The screwdriver attachment in accordance with an embodiment of the invention allows for highly accurate and rapid installation of screws without applying any force in an axial direction into the screw itself. It is also possible to apply a controlled force to the screw as it is installed. This, in combination with the use of fast and accurate servomotors allows the rapid assembly of delicate parts and also a safety feature that allows a use to work closely with the attachment.
(16) A typical robotic arm is shown in
(17)
(18) Conventional screwdriver attachments rely on feedback from the servomotors of the robotic arm to establish how much force is being applied in the z-direction. This means that the screwdriver and the robotic arm must be able to communicate with each other, which increases the complexity of integrating these two units, as a user would need to know a deep level of programming for both systems. The problem is compounded because often, different manufacturers produce the screwdriver attachment and the robotic arm.
(19) In the present invention, this problem is overcome by giving all of the z-direction force responsibility to the screwdriver attachment 200. The responsibility for positioning the tool in the correct place belongs to the robotic arm 100.
(20)
(21)
(22) The tool motor housing has a bracket supporting an internally threaded nut 406 that engages with an externally threaded shaft 407, such that rotation of the threaded shaft 407 causes the tool motor to move vertically along the rail 405 in the z-direction. The threaded shaft 407 is a ball screw with a 10 mm pitch; other pitches could be used, for example 6 mm, 8 mm, 12 mm, 14 mm etc. This high helix, steep thread screw and nut arrangement allows for quick adjustment of small loads because a single turn causes the nut to travel a relatively long distance along the thread.
(23) The threaded shaft 407 is connected to a z-direction motor 408. The z-direction motor 408 is a servomotor similar to the tool motor 404 but has torque in the range 0.2-0.4 Nm is required. The combination of a high performance servo motor, i.e. high speed and high accuracy, with a high pitch lead screw allows the position of the tool to be moved over large distances quickly but with very high accuracy. The z-direction motor 408 has a rotary encoder that outputs the absolute angular position of the motor axle and hence the angular position of the threaded shaft 407. The encoder is also enabled to count the absolute number of turns of the axle, so that the position of the nut 406 on the shaft is always known and correspondingly the position of the tool tip 402 in the z-direction, Z.sub.T, is always known. For the type of z-direction motor specified above, its encoder has a resolution of 131,072 pulses per revolution. The threaded shaft has a pitch of 10 mm per turn, therefore the position of the tool tip can be controlled and measured to an accuracy of around +/−0.05 mm. The z-direction motor has a speed of 5000 RPM. The threaded shaft is 290 mm in length, therefore it would take 50 turns for the nut 406 to travel from one end of the lead screw to the other. Therefore the tool tip can be raised from its lowest position to its highest position in just under 1 second.
(24) The tool 401 is movable inside a screw housing tube 409 that extends below the main housing 201. The length of the tool housing tube 409 is selected in relation to the accessibility required for the tool 401. A screw feed tube 409a is provided towards the top of the tool housing tube 408. The tool tip 402 is retractable by operating the z-direction servomotor 408 to above the entrance of the screw feed tube so that a screw may enter the tool housing tube 409 The end of the tool housing tube 409 has a screw gripper 410 which is a set of jaws to prevent a screw that enters the screw housing tube 409 from dropping out of the end before it is installed.
(25) The jaw arrangement is shown in more detail in
(26) The vertical z-axis position Z.sub.S of the screw head shelves 413a, 413b is known in relation to P.sub.J. Z.sub.S is a fixed reference point. The z-axis position of the tool tip 402, Z.sub.T is known from information provided by the encoder of the z-axis motor 408 and this is variable.
(27)
(28) The length of the thread of the screw L.sub.T is used to calculate the absolute position of the end of the screw, P.sub.ES, which protrudes a short way past the end of the jaws. This protrusion provides a starting length for the screw to engage with a component into which the screw is to be installed.
(29)
(30)
(31) The arrangement of the screwdriver controller 301 is shown schematically in
(32) The PLC 501 is arranged to execute a series of operations using the values stored in the database 502. The PLC 501 is arranged to transmit instructions to the tool motor amplifier 404A and to the z-direction motor 407A. It is also arranged to transmit instructions to the robotic arm controller 303
(33) An interface 503 including a display and data entry means is attached to the PLC.
(34) In use, an automated procedure, once programmed by the user would comprise the following steps:
(35) 1. Initiation The user selects a screw type via the interface. The PLC 501 then calculates the offset between the position of the end of the screw, P.sub.ES and the tool flange. The PLC calculates the number of turns to provide to the z-direction motor per turn of the tool tip, as a function of the pitch of the screw. The PLC then sends a signal to the z-direction motor amplifier to fully retract the tool tip and to load a screw from the feeder. The PLC then sends a signal to the robotic arm to move the screwdriver attachment so that P.sub.ES is at the position of the first hole, P.sub.H.
(36) 2. Installation
(37) When P.sub.ES=P.sub.H, the threads of the screw and the threads of the hole on the work-piece 4002a are aligned and ready to engage. The PLC 501 sends a control signal to operate the z-position motor until the tool tip 402 is engaged in the screw head recess 415 leaving a predefined gap of 0.1 mm between the end of the tool tip and the bottom of the recess in the screw head. The tool tip then presses down on the screw which opens the jaws, as shown in
(38) For zero force to be applied in the z-direction throughout the screw installation process, the change in the z-coordinate of the position of the tool tip, ΔzP.sub.T, should be kept equal to the change in the z-coordinate of the bottom of the screw, ΔzP.sub.R:
ΔzP.sub.T=ΔzP.sub.R (1)
(39) The change in the z-coordinate of the bottom of the screw recess, ΔzP.sub.R, is a function of the screw pitch, Pitch.sub.S, and the number of turns applied to the screw, N.sub.S:
ΔzP.sub.R=Pitch.sub.S×N.sub.S (2)
(40) The change in the z-coordinate of the tool tip 402, ΔzP.sub.T is dependent on the lead screw pitch Pitch.sub.LS and the number of turns of the lead screw 407, N.sub.LS, applied by the z-direction motor 408:
ΔzP.sub.T=Pitch.sub.LS×N.sub.LS (3)
(41) Combining equations (2) and (3) into equation (1), the number turns that must be applied to the lead screw by the z-direction motor 408 as a function of the number of turns that are applied to the screw by the tool motor 404 is given as
(42)
(43) The number of turns can be a whole number or a part of a whole number. For example, if the screw pitch is 0.5 mm and the lead screw pitch is 10 mm, the z-direction motor should move by 0.05 turns (or 6,550 pulses of the encoder for an encoder with 131,072 ppr resolution) for each turn of the tool-tip motor.
(44) For a screw of length 50 mm and pitch 0.5 mm, the screw should be turned 100 times by the tool motor to be fully installed. For a lead screw pitch of 10 mm, the z-direction motor should turn 5 times in the same time for the screw to be fully installed with zero force applied in the z-direction. A fully installed screw is shown in
(45) An alternative approach to achieving the objective of controlling the z-direction motion of the tool tip so that it follows the screw as it is installed is described below.
(46) The tool tip starts screwing in the screw, the z-direction motor needs to be operated so that the tool tip follows the screw as the screw is installed. The movement of the tool tip along the z-axis is effected by triggering a defined number of encoder steps at a given speed, calculated as follows:
(47) The user-defined parameters for the screwing operation are: Length of screw L.sub.S. Screw thread pitch Pitch.sub.S. Number of rotations R of the tool tip to fully install the screw (=L.sub.S×Pitch.sub.S). Tooltip screwing speed S.sub.S. Number of encoder steps in 360 degrees E.sub.360. Number of encoder steps to move 1 mm along the Z axis Z.sub.E.
(48) Z.sub.E=E.sub.360×Pitch.sub.LS, because pitch is the number of turns per mm, therefore the pitch of the Lead Screw, Pitch.sub.LS, gives the number of turns of the Lead Screw, N.sub.LS, required to move along the z-axis by 1 mm.
(49) The time it takes to install the screw T.sub.S is given by:
T.sub.S=L.sub.S×Pitch.sub.S/S.sub.S
(50) The Length of the screw is converted to the number of encoder steps Z.sub.ES required to follow the screw in the z-direction as it is screwed in:
Z.sub.ES=L.sub.S×Z.sub.E
Z.sub.ES=L.sub.S×E.sub.360×Pitch.sub.LS
(51) The speed required for the z-axis motor is then given by:
S.sub.LS=Pitch.sub.S×S.sub.S/Pitch.sub.LS
(52) This allows the tool tip to follow the screw, while maintaining a small gap between the tool tip and the screw recess and therefore apply zero pressure to the screw.
(53) It is also possible to apply a controlled amount of force to the screw by moving the tool tip to a position slightly lower than the bottom of the recess in the screw. The distance that the tool tip is set to below the position of the screw will define the amount of force applied to the screw. By adjusting the starting point of the tool tip to a bit lower in relation to the screw, which initially is defined relative to the position of the jaws of the screw gripper, P.sub.J, force during tightening will be applied to the fastener in the z-direction. The could be required for example if there is a spring washer placed between the screw and the component, and a small amount of force is required to compress the washer. Force can also be applied to correct for defects in the components being fixed together.
(54) The screwing can be carried out in stages. The first stage involves slow rotation of the tool tip, around 500 RPM, as the screw catches the thread in the component. The second stage is the main rotation stage which can be much faster for screwing in the majority of the thread, at around 5,000 RPM. The third stage is again slower, at around 500 RPM as the screw is tightened to the required torque, which requires slower motion so that the torque can be measured.
(55) 3. Repetition
(56) The PLC instructs the z-direction motor to retract the tool tip entirely, the jaws spring closed and a new screw to be loaded into place in the jaws. At the same time, the PLC instructs the robot arm to move the screwdriver attachment to the next position in the sequence. The process is then repeated. Fast and accurate control over the z-position of the tool tip allows for zero force in the z-direction, but also for the time between each screw installation to be minimised because a new screw can be loaded and put in place while the robotic arm is moving.
(57) The screw may have a recess in its head that is cross-shaped or a flat channel and the tool tip would have a corresponding shape.
(58) Different sized screws can be accommodated by simply changing the tool 401, as shown in