This invention relates to characterising the performance of a robot.
A typical robot arm comprises a number of rigid limbs, each of which is connected to the next by an articulation which may, for example, be a revolute joint. A motor or other drive mechanism is provided to drive relative motion of the limbs at each joint.
FIG. 1 shows an example of a drive mechanism at a robot arm articulation. The articulation 1 of FIG. 1 is located between a proximal arm member 2 and a distal arm member 3. The arm members are coupled together by a revolute joint defined by a rotation axis 4. An electric motor 5 is mounted in the proximal arm member 2. The output of the electric motor is a drive shaft 6 which connects to the input of a reduction gearbox 7. The gearbox 7 is also mounted in the proximal arm member. The output of the gearbox is a worm shaft 8. Worm shaft 8 engages a drive gear 9. Drive gear 9 is fast with the distal arm member 3 and is disposed about the rotation axis 4. This arrangement allows the motor 5 to drive relative motion of the arm members 2, 3 about the joint. In order to help control the motion of the arm joint, the joint is provided with a position encoder 11 and a torque sensor 10. The position encoder senses the configuration of the joint 1. The torque sensor senses the amount of torque applied about the joint. These values can be fed to a control processor and used as inputs to an algorithm to derive the electrical inputs to the motor 5.
The control processor may be required to control the joint to move into a desired configuration at a particular time. To achieve this the control processor needs to apply an appropriate amount of power to the motor. The power required depends on the inertia of the portion of the arm distal of the joint 1, the distance to be moved and the time over which the movement is to take place. The control processor may be capable of determining these in a known way. Additionally, however, the power required depends on the efficiency of the mechanical linkage between the motor 5 and the drive gear, involving the gearbox 7 and the transmission from the worm 8 to the drive gear 9. This mechanical efficiency is dependent on the meshing adjustment of the gearbox, the level of wear of the gearbox, which will vary over time, and the performance of any lubricant in the drivetrain. If the efficiency of the gearbox is not known then the arm can still be driven to the desired configuration using closed-loop control based on the output of position encoder 11. However, the arm may overshoot the desired configuration and have to be brought back, or fail to reach the desired position by the required time. Failures of the first type are especially important when the arm is part of a surgical robot because they may result in tissue of a patient being unnecessarily disrupted.
Another form of difficulty arises when the torque sensor is being used to sense the torque being applied on the joint 1 by an external force, such as gravity, at the same time as the distal limb is being driven by the motor 5. A torque will be measured about the joint. Part of that torque will be due to the external force and part will be due to the torque applied by the motor. Without knowing the performance of the gearbox 7 it is difficult to estimate the external torque. This may be problematic if the control strategy of the arm is dependent on an estimate of the externally applied torque.
It would be possible to measure the efficiency of the gearbox by providing an additional torque sensor at the input to the gearbox. However, this adds weight, cost and complexity to the arm.
Another alternative would be to remove the gearbox from the arm and measure its losses, but that is time-consuming and can only be undertaken when the arm is not in use.
There is a need for an improved method for estimating the efficiency of a mechanical linkage in a robot drivetrain.