220 likes | 348 Views
CS36510. From Kinematics to Arm Control. Calibrating the Kinematics Model Arm Motion Selection Motor Torque Calculations for a Planetary Robot Arm. 1. CS36510. a) Calibrating the Kinematics Model. Resolution, Repeatability and Accuracy Causes of Mechanical Error
E N D
CS36510 From Kinematics to Arm Control • Calibrating the Kinematics Model • Arm Motion Selection • Motor Torque Calculations for a Planetary Robot Arm 1
CS36510 a) Calibrating the Kinematics Model • Resolution, Repeatability and Accuracy • Causes of Mechanical Error • Calibrating the kinematics model 2
Resolution, Repeatability and Accuracy • Resolution: smallest incremental move that a robot can physically produce. • Repeatability: a measure of the robot’s ability to move back to the same position and orientation over and over again. Also referred to as ‘precision’. • Accuracy: the ability of the robot to move preciselyto a desired position in 3D space 3 CS36510
Poor Accuracy Good Repeatability Poor Accuracy Poor Repeatability Good Accuracy Good Repeatability Good Accuracy Poor Repeatability Repeatability (Precision) and Accuracy (Assuming Gaussian Distribution) 4 CS36510
Causes of Mechanical Error Denavit-Hartenberg (D-H) Parameters: Link Length (d); Link Offset (a); Link Twist (α); Link Rotation (θ) 5 CS36510
Calibrating the Beagle 2 Arm Beagle 2 FM Arm with Vicon Markers Typical Vicon measurement setup 6 CS36510
Oxford Metrics Vicon System ‘Object’definition in Vicon system 7 CS36510
Calibrating the ARM Kinematics Model The simulated (perfect) arm is moved to a number of positions using the arm IK model. The end position for each simulated Vicon marker is measured. The real arm is then commanded to the same number of predefined positions in Cartesian space using the joint values calculated from the arm IK model. The actual end position for each real Vicon marker is measured. The real and simulated Vicon marker positions are compared and joint offsets (corrections) are calculated for the simulated arm’s IK model using a least-squares fitting method. The result is that the simulated arm with the corrected IK model produces identical positioning results as the real arm. i.e. The simulated arm behaves as per the real arm. IK model corrections With IK Model 8 CS36510
CS36510 b) Arm Motion Selection • Joint-by-Joint Motion (JJM) • Slew Motion (SM) • Joint Interpolated Motion (JIM) 9
CS36510 Joint-by-Joint Motion (JJM or JBJ) • Strengths:Simplest of the possible motion types; good for un-stowing and stowing an arm as the major joints can be moved one after another. Typically no straight-line trajectory inverse kinematics solution will exist for this type activity anyway. Good at minimising power usage per unit time. • Weaknesses: Joints cannot move simultaneously, hence cannot be used for straight line (continuous) trajectories. Rather payload motion will be in an series of arcs. Large total time to complete all joint motions. 10
CS36510 Slew Motion (SM) • Strengths:Also known as “Simultaneous Full Speed” (SFS) motion. All joints that require motion start simultaneously at default joint speeds (usually maximum speed). Quicker joint motion completion when compared to JJM. SM can be used for payload straight-line trajectories. • Weaknesses: Greater power usage per unit time compared to JJM. Joints with smaller angular movement complete their motions before those joints with larger angular movements. Smooth straight-line trajectories not possible. Payload motion tends to zig-zag about the desired straight-line trajectory. 11
CS36510 Joint Interpolated Motion (JIM) • Strengths:All joints that require movement start simultaneously and stop simultaneously. Robot attempts to achieve simultaneous start and stop by setting the speed of each joint angular motion to be proportional to the angular distance to be travelled for each joint. Produces smooth straight-line trajectory motion. • Weaknesses: Greater power usage per unit time compared to JJM. Greater computational overheads when compared to SM. 12
CS36510 Knot Points • Straight-line trajectory requires knotpoints (from spline mathematics) to be generated between the start and finish positions. • The desired straight-line between the payload start and finish positions can be uniformly divided into intermediate points in Cartesian space (called knot points)1. Each of these points can be put through the IK model to generate the joint angles required to move the arm to each of these intermediate points in turn; whilst setting each joint speed (e.g. proportional for JIM) to the required angular motion. • 1Taylor, R. H., Planning and Execution of Straight Line Manipulator • Trajectories, IBM J. RES. DEVELOP, VOL. 23, NO. 4, pp. 424-436, • JULY 1979. Start position Knot point Finish position 13
CS36510 c) Motor Torque Calculations for aPlanetary Robot Arm • What is torque, and why do we need it? • Torque (τ) is defined as a turning (or twisting) force • A robot arm joint motor, with an attached linkage and payload, has to generate a torque to be able to move the linkage and payload • The magnitude of τ depends upon the payload force, and the length of the joint motor linkage 14
CS36510 Torque Equation - 1 τ = F × l where τ is the magnitude of the torque (N·m), l (in meters) is the linkage length, and F (in Newtons) is the magnitude of the force. In the vertical plane, the force acting upon an object (causing it to fall) is the acceleration due to gravity (for Earth, g ≈ 9.81 m/sec2). Therefore F = m × g, where m is the magnitude of the mass of the object (in kg), and F is normally referred to as the object’s weight. 15
CS36510 Torque Equation - 2 sin 90° = 1 sin 45° = 0.7 sin 0° = 0 F τ = F × l × sinθ F L Linkage (length l) θ = 45⁰ Joint Motor F θ = 90⁰ θ = 0⁰ L L Pivot Point L τ is maximum τ is zero maximum > τ > zero 16
CS36510 Real Arm Linkage Torque WM WL (Use maximum (holding) torque case) Real motors and linkages have mass and therefore weight under gravity Weight Motor F Joint Motor Weight Linkage Assume linkage mass is evenly distributed and the weight is located at the centre of the linkage length L L Pivot Point 17
CS36510 Arm Joint Motor Torque Calculations WM2 WM1 WL1 WL3 WL2 WP Payload M3 M1 M2 τM1= (WP × L1) + (WL1 × (0.5 × L1)) τM2= (WP × (L1 + L2)) + (WL1 × ((0.5 × L1) + L2)) + (WM1 × L2) + (WL2 × (0.5 × L2)) L1 L2 L3 τM3= (WP × (L1 + L2 + L3)) + (WL1 × ((0.5 × L1) + L2 +L3)) + (WM1 × (L2 + L3)) + (WL2 × ((0.5 × L2) + L3)) + (WM2 × L3) + (WL3 × (0.5 × L3)) 18
CS36510 Motor Torque Calculation Example Based upon arm configuration shown in the previous slide, calculate the three motor torques, i.e. τM1, τM2, and τM3, using the parameters in the table below: τM1 = 0.927 Nm τM2 = 3.226 Nm τM3 = 7.340 Nm 19
CS36510 Gear Box Selection: • A gear box will be needed to achieved desired output motor torque • Gear Box Torque Ratio is ratio of output torque to input torque, e.g. 100:1, 1000:1 etc. • E.g. for τM3 select 73.1 × 10-3 Nm × 100:1 = 7.31 Nm 20
CS36510 Final Points • Maximum holding torques calculated for each motor. Would need to add contingency (e.g. 20%) for each motor. • Calibration, motion selection, and motor torques also apply to a rover locomotion chassis, i.e. steering and drive mechanism • Same techniques can be applied, but chassis details not covered here 21