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
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
- 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
- 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
- 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
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:
- properly test no load and max load current draw and compare to values listed in 2022 Arm Actuator Selection, improve conditions from previous testing attempt
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.
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)
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