Arm Prototype 1 Testing Results

Testing Footage Drive Link: https://drive.google.com/drive/folders/1vWUna4k7uJmaogtwmvWJAa68uGrE9o4J?usp=sharing


Compiled Mechanism/Joint Observations 

General Observations

  • 3D printed parts bonded to aluminum tubing provided a much more reliable connection than initially expected
    • No extensive testing performed on this bonded joint, but arm "feels" sturdy
    • Consider future load testing to determine failure loads at bonded components and source of failure (3D printed parts suspected to fail first, but check if bonded interface fails)
  • Backlash is considerable on all joints, as planetary gearboxes have a large amount of inherent backlash
  • Axis 2 and Axis 3 passively backdrive
    • Improve center of mass and address back driving with steady resting points or nonbackdriveable gearing in future design
  • Differential gearbox is very sturdy and reliable compared to last year's design
  • ARM IS TOO LONG. Arm sizing was spec'd to attain a vertical reach and workspace if it was mounted on the floor. However, it will be mounted on an elevated chassis so we can reduce link lengths (500mm → 400mm on A2/A3 link and 500mm → 350mm on A3/A5 link)
  • Cable management is terrible on prototype, need to consider and design for cable management in next arm
  • See arm movement videos in testing footage drive link (smile) 
 Joint Notes

Axis 1

  • Axis 1 bearing experienced high deflection on flanged mounting plate: https://drive.google.com/file/d/1YN1dZJUZKmFAtuhgSioa8tr2q3W9iqPp/view?usp=sharing
    • External fasteners were required to apply significant preload to prevent turntable deflection/instability
    • Spec out a sturdier proper slewing or crossed roller bearing for next revision - bearing needs to be reliable to provide smooth turntable rotation
  • Mounting interface between axis 1 and testing table was suitable for testing purposes, but CANNOT be used as is on rover - thick woodne plate is incredibly heavy
    • Need to redesign this plate to be leaner/lighter with similar stiffness in future revision
  • Belt tensioning mechanism is unreliable - loosened overtime and is difficult to service: https://drive.google.com/file/d/1Dsm2VTrrobg6FHFnXWL1hYdCvqr0kN7H/view?usp=sharing
  • Axis 1 backdrives when pushed on

Axis 2

  • Belt drive transmission initially failed under loads greater than 2.5kg on end effector at full horizontal extension: https://drive.google.com/file/d/1fkz8yRv20WHlzYHWRqq-kDo0GyHq9Ne0/view?usp=sharing
    • Repeated skipping wore down belt and eventually belt skipped under no load at full extension
    • Suspected root cause of failure is a combination of:
      • Large angle of attack on small pulley due to 1 : 3.26 belt ratio and small center line distance
      • Low tooth engagement on small pulley
    • Belt was replaced and retensioned recently
  • Belt tensioning mechanism on A2 joint was reliable - use of large "lead" screw allowed for relatively even and reliable tensioning on belt
  • Belt drives will not be used in next arm iteration (strainwave gear has been procured with stronger motor for low backlash single stagee transmission)
  • Investigating and quantifying skipping thresholds may be useful for design of other belt driven joints

Axis 3

  • Belt drive on axis 3 is reliable - high tension retained in belt from idlers, no skipping has been observed so far and A3 is capable of lifting all expected loads
  • Bonded aluminum tube with 3D printed interfaces between A2 and A3 have so far been a strong and reliable linkage - no signs of adhesive failure or 3d print failure thus far
  • Overall this joint performed well. For future iterations, look towards implementing longer belt and shifting A3 motor closer to A2 to shift arm center of mass closer to base; reducing torque requirements on most joints. 


Axis 4

  • Encoder has not been tested yet, still need to confirm if encoder placement is viable (although this style of encoder mount will be avoided in next arm iteration)
  • Misalignment occurs between concentric components - large grinding/squeaking noise observed when rotating A4 indicating high friction in some area of A4
  • A4 does not backdrive (as fully loaded torques are low), or experience any mechanical/structural failures when loaded with full mass
  • Workspace is poor on axis 4. Currently the motor for A4 will hit the linkage between A2 and A3 when rotated beyond 180 degrees. This severely limits workspace and can be a large potential failure point - must be addressed in future designs


Axis 5/6

  • Differential mechanism is very smooth https://drive.google.com/file/d/1vEXv5-E2ZVYdWR3m2qYjxPHUnjmlQzF_/view?usp=sharing
  • Currently difficult to control differential, as the motor controls limit motor speed via potentiometer. These potentiometers are manually adjusted without any form of readout, so getting motors to spin at exact same speed is difficult
    • Software/hardware currently working on implementing positional readout and speed limiting to sync up the differential gearbox and improve controls
  • Backlash is very low on A6 due to small clearance between bevel gears: https://drive.google.com/file/d/1vPZWFwJYyrqeVW5Qnyjh_PQIYGyHQcV7/view?usp=sharing
  • No backdriving occurs on this joint, friction in differential gearbox prevents passive backdriving or backdriving when moving full 5kg load
  • A5 belt loostened over time, need to implement a much more reliable tensioning mechanism in next iteration

Load Testing - Data Set 1

Goals of Testing Date:

  • test no load and max load current draw and compare to values listed in 2022 Arm Actuator Selection Options
  • experimentally determined ideal RPMs through teleoperation. Note that 0.4A of current was drawn to power boards off, and that the potentiometer affects the RPM and peak current draw of the arm.

Key Notes on Testing Conditions

  • This set of data was mostly useless for the following reasons:
    • The mounting interface between the gripper and the A6 differential was not yet machined yet, so the gripper was not installed on the robot arm
    • The gripper is a 750g weight that is always fixed at the end of the arm, so you lose a significant amount of torque. Also, only a 4.5kg weight was used to test loads due to a lack of creativity with the available mounting spaces. 
    • Current values are not sufficient to quantify the torques experienced by the motor
      • Brushed DC motors should theoretically have a fixed torque/current constant, however after pouring through the FRC motor's experimental data it is apparent that the torque/current constant is not actually the same at different operating voltages
      • The cytrons (motor controller) change the motor speed via duty cycle on input voltage, so we needed to measure voltage and current to determine torque from the torque/current constant
      • Torque/current constants are close at varying voltages, but when there are high ratios even small discrepancies affect the torque calculations
  • Ideal output RPM was experimentally evaluated through adjusting the speed control potentiometer on cytron, then moving each joint individually and attempting to stop joint movement at the same location. Once a rough working speed was determined, RPM was measured with a timer and fixed angle rotation
  • Joints were tested individually at max loading conditions for no load and max load
    • Arm was configured into maximum loading scenario (i.e. full horizontal extension for A1 and A2, 90 degree angle for A3, etc.)
    • Arm was mechanically locked into these configurations using bungee coords and fasteners to prevent backdriving
    • Individual joints were moved one at a time with no load and max load while current was monitored and recorded from power supply readout
  • Axis 6 motion was not tested as Axis 5 and Axis 6 are powered using identical motors. If the motors can properly supply the motion required for Axis 5, axis 6 will have no issues as well. 

Compiled Testing Notes

 Axis 1
  • At horizontal extension, 1.2A peak current draw when rotating
    • Static 0.4A of current drawn to power boards, so motor draws approximately 0.8A. This is very close to the 775pro no load current draw, resultant output torque (assuming no losses) found to be 0.24 Nm. This does not seem correct, proper current sensors would be very valuable here.
    • 8RPM is the max desired RPM for a teleoperated arm from experimental testing

  • When a 4.5kg (NOTE: a 5kg weight was not easily available, so we just used a 4.5kg lifting plate) weight was attached, power supply displayed peak current draw of approximately 3.6 amps. Motor drew about 3.2A, which is a resultant output torque of 4.46 Nm
  • Axis 1's belt tensioning mechanism is not holding up, see vid below
 Axis 2
  • 5.2A current draw with no load → 4.8A current draw → 25.37Nm torque on output
    • ideal operating rpm found to be 3-4 RPM
  • Belt skips at 3kg payload. Torque/current at 3kg payload was not measured, as I attempted to debug/address belt skipping
 Axis 3
  • No load current draw: ~2.5A → motor current draw ~2.1A →  translates to ~2.66Nm of torque without losses 
    • ideal no load RPM: ~6.67 RPM
  • 4.5kg load current draw ~4.4A, → 4A current draw for motor → ~12Nm of torque without losses
 Axis 4
  • No load current draw ~4A → 3.6A motor current draw → ~4.65Nm of torque
    • Ideal RPM ~30-40
  • Did not test the loaded current draw as need a better interface to secure the load (waiting for gripper installation)
 Axis 5

Note: recall that two motors are used to rotate A5. Information listed below is for a single motor

  • No load current: 5A → 4.6A of current draw for single motor → 4.86Nm of torque
    • ideal no load RPM ~30
  • 4.5kg load current draw → ~6.5A → 6.1A current draw for motor → ~4.9 Nm of torque
  • Left side motor of arm has a loose belt. Screw options for tensioners like on A2 may be ideal for future revisions
 Summary of Results
  • Keep in mind, testing conditions were not ideal for the reasons mentioned above so this data was mostly useless
AxisIdeal RPM (No Load)
15 - 87
23 - 4
35 - 7
4~30
5~30
6~30
AxisCalculated No Load Torque (Nm)Experimental No Load Torque (Nm)
13.80.24
26125.4
3182.66
414.65
5/614.65


AxisCalculated Torque with Gripper + 5kg Weight (Nm)Experimental Torque without Gripper and 4.5 kg Weight (Nm)
1104.46
2126untested
355.512
414.1untested
514.14.86
614.1untested

Recommended Next Steps to Improve Testing

Short Term

  • Measure voltage when operating joints to get a closer approximation of the correct torque/current constant
  • INSTALL GRIPPER AND TEST WITH 5KG WEIGHT! This is critical for future tests
    • Need to push for gripper installation/machining of required components so testing can resume

Long Term

  • Use current sensors to get detailed information on the variable current and loading of the arm
  • Implement proper controls (PID) so that holding torques/currents can be measured, rather than using control boards and "eyeballing" values


Arm Testing with Gripper

Goals of Testing Date:

Key Notes on Testing Conditions

  • Software is working on a PID controller and had it working for A2 and A3. However, I was not able to use the PID controllers due to lack of familiarity with the code as well as issues with Python on my laptop, so I conducted tests using Cytrons, gripper and full payload
  • Unfortunately I was not able to test axis 3 within my time window - I encountered mechanical issues with the belt on axis 2, and attempted fixes and ran out of time to test axis 3.
  • When testing this time, I recorded the motor's operating voltage using a multimeter. The potentiometer on the cytrons controls the speed of the motors through applying a duty cycle to the input voltage, so I measured the voltage going into the motor to see what it was. Also, DC motors should have the same torque/current constant at any operating voltage, but it varies slightly for the vex motors (based on the manufacturer supplied motor operation data). 
  • Although axis 1 operated at 2.5 VDC, I used motor operating data for 4V as no published experimental data is available for 2.5V operation. Also used 6V data for axis 5/6 under similar justification/reasoning. Overall, there is only a very small change in the torque current constants at different operating voltages so this shouldn't be a huge deal (see linked spreadsheets)
  • The operating voltage on axis 4 was very low. I was getting readings from the multimeter that said 0.5V, but that doesn't seem correct. I think that specific cytron may be defective as the poteniometer doesn't really work. I should have switched this cytron with the axis 6 cytron to see how things changed, but did not get a chance to do this before I left. For now, I considered the operating voltage of the motor to be 4V - as that is the lowest voltage with published data for the 775pro motors. 
  • Also, when testing axis 5/6 differential with no load I used axis 5 and 6 motors simultaneously on no load - the total peak current draw was approximately 18A (-0.5A used to power all cytrons), which divided by 2 was 8.75A. 
    • When testing full load axis 5 results with BOTH motors, the load stalled when parallel to the ground as the current limit of the power supply was set to 20A. However, when I tried to move axis 5 using ONLY one motor, I was able to move the load with the listed current draw below. Need to investigate this result thoroughly - from initial thoughts it may be due to the fact that axis 5 and 6 are not perfectly sync'd when operated using the cytrons, so additional torque is required to "fight" the motion of the gears. 

 Summary of Results

No Load Tests

AxisCalculated No Load Torque (Nm)Observed Peak Current DrawMotor VoltageExperimental No Load Torque (Nm)
13.82.3A2.5 VDC0.66
2617.36 VDC56.319
318------ (A2 belt broke, not enough time to test)
412.9? VDC5.1
5/618.755VDC9.63 Nm

Max Load Tests

AxisCalculated Max Load Torque (Nm)Observed Peak Current DrawMotor VoltageExperimental No Load Torque (Nm)
1102.3A2.5 VDC2.75
2126------ (belt broke)
355.5------ (A2 belt broke, not enough time to test)
414.12.9? VDC18.3
5/614.18.755VDC22 Nm

General Conclusions

  • A4/A5/A6 have higher experimental torques vs calculated torques; likely due to efficiency losses in differential. Experimental data should be used to drive requirements for next arm iteration
  • A2 has similar expected torques at no load between experimental and calculated vallues
  • A1 has significantly lower torques than expected

Recommended Next Steps to Improve Testing

  • Use current sensors to get detailed information on the variable current and loading of the arm
  • Implement proper controls (PID) so that holding torques/currents can be measured, rather than using control boards and "eyeballing" values

A3 Joint Testing with PID Controls

General Notes on PID Control Testing Results

  • Axis 3 was prioritized for testing to supplement the lack of data tested in previous test
  • There are three operating conditions to note when reviewing this current data
    1) Instantaneous peak current required to start accelerating a load (represents peak dynamic torque requirement)
    2) Continuous current required while moving the arm (average dynamic torque)
    3) Holding current required to keep the arm in one place (reflective of the torque requirement at that specific instance)
 Axis 3 Results

No Load Testing Video:  https://drive.google.com/file/d/1inWt0VKyEqHhWRbTGmNa0-xxwKeRpVRQ/view

  • Peak Experimental Dynamic Current: ~ 20A for ~ 1/20th of a second - translates to ~ 133 Nm of torque for ~ 1/20th of a second
  • Peak Continuous dynamic current ~ 6A while moving the arm from pointed down to ~ 90ºparallel to the ground → ~36.88 Nm of torque while moving to 90º
  • Static holding current when holding arm ~ 90º (parallel to ground), ~ 4.5A of peak current while holding → ~26 Nm of torque

Max Load Testing Video: https://drive.google.com/file/d/1-PIKHTBz3xTskCOjCtbtnuv0Bo-ERTaw/view

  • Peak Experimental Dynamic Current: ~ 20A for ~ 1/20th of a second - translates to ~ 133 Nm of torque for ~ 1/20th of a second
    • This is the same as the no load testing. I think this makes sense, as there isnt any real speed control the motors in SW for this PID testing - essentally when the motor is off it instantly wants to reach X rpm of speed so it applies a high instant torque to quickly accelerate the load. In SW, we can implement gradual acceleration when the arm is not moving to reduce this torque greatly - this will also improve arm controls and make it feel less choppy. 
  • Peak continuous dynamic torque while moving: ~ 12 A → ~78 Nm of torque
  • Static holding current when holding arm close to parallel to ground, ~ 10A of peak current while holding → ~64 Nm of torque


General Conclusions

  • The no load and max load peak continuous dynamic is higher than calculated
    • For no load: 18 Nm calculated ; ~37 Nm measured
    • For max load: 55.5 Nm calculated, 78 Nm measured
  • We should defer to experimentally measured torques for A3 requirements as constraining values with an applied SF for motor sizing of next arm, however keep in mind torque will be significant lower on next arm due to lower mass and lower linkage lengths
  • There are very LARGE peak instantaneous torques measured whenever acceleration of the joint occurs. It is suspected that these large torques are produced to very quickly accelerate a load, and can be limited in SW to avoid gearbox or motor failure for next design iteration

Recommended Next Steps to Improve Testing

  • Log current values over a fixed testing period and determine RMS torque instead of eyeballing peak torque ranges from waveforms
  • Limit peak instantaneous torque in SW and see how that affects joint motion
  • Test remaining joints for holding, continuous dynamic and peak dynamic torques