Advanced Research and Development

Testing Procedure

Motor Configuration

  1. Assemble AEV with motors placed in the back
  2. Create a simple code to make AEV move a certain distance on track
  3. Place AEV on track
  4. Run code
  5. Collect data on Matlab graph
  6. Run one more time and collect data
  7. Disassemble AEV
  8. Assemble AEV with motors in the front
  9. Repeat steps 2-6 with same code from step 2
  10. Assemble AEV with motors placed in the middle (vertically)
  11. Repeat steps 2-6 with same code from step 2
  12. Assemble AEV with motors placed at the top
  13. Repeat Steps 2-6 with same code from step 2
See the Data Collected from Motor Configuration HERE

 

Code Used for Motor Configuration

celerate(4,0,30,3);//4 motors accelerate from 0% to 30% in 3 seconds

goFor(3);//motors stay at 30%power for 3 seconds

motorSpeed(4,25);//4 motors run at 25% power

goFor(2);//4 motors run at 25% power for 2 seconds

 

Servo Testing

  1. Assemble AEV with no servo
  2. Create a simple code to make AEV move a certain distance on the track
  3. Place AEV on track
  4. Run code and allow AEV to coast to a stop
  5. Collect data in a Matlab graph
  6. Repeat steps 4-5 two more times
  7. Disassemble AEV
  8. Assemble AEV with servo and 1 servo attachment
  9. Create a simple code to make AEV move a certain distance on the track with servo helping brake
  10. Place AEV on track
  11. Run code
  12. Collect data in Matlab graph
  13. Repeat steps 11-12 two more times
  14. Disassemble AEV
  15. Repeat steps 8-14 with a different servo attachment 3 more times
See the Data Collected from Servo Testing HERE

 

Codes Used for Servo Testing 

Servo Control

 celerate(4,0,30,3);// all AEV motors accelerate from 0% to 30% power in 3 seconds
  goFor(3);// AEV stays at 30% power for 3 seconds
  brake(4);// All motors brake

 

Servo Testing

 celerate(4,0,30,3);// all AEV motors acclerate from 0% to 30% power in 3 seconds
  goFor(3);// AEV stays at 30% power for 3 seconds
  brake(4);// All motors brake
  rotateServo(45);// Servo rotates 45 degrees in order to brake motors faster
  goFor(5);//Servo stays rotated for 5 seconds
  rotateServo(0);// Servo roates away from wheel back to original standing

 

Braking Mechanics

  1. Assemble AEV with no servo
  2. Create a code standard code that will be used for all runs
  3. Run this code on the flat track to establish coasting as a control
  4. Collect data in MatLab
  5. Repeat step 3&4 two more times
  6. Edit code to include reversing motors once motors turn off
  7. Run this code on the flat track
  8. Collect MatLab data
  9. Repeat step 7&8 two more times
  10. Attach servo to the AEV
  11. Edit code original code to include servo rotating once the motors are turned off
  12. Run this code on the flat track
  13. Collect MatLab data.
  14.  Repeat step 11&12 two more times

 

See the Data Collected from Braking Mechanics Testing Here

 

Codes Used for Braking Mechanics

Braking Mechanics Coast

reverse(4);//setting motors to move AEV in correct direction

motorSpeed(4,15);//all 4 motors on at 15% power

goToAbsolutePosition(-100);//motors stay on until wheels rotated 100 marks

 

Braking Mechanics Reverse Motors

reverse(4);//setting motors to move AEV in correct direction

motorSpeed(4,15);//all 4 motors on at 15% power

goToAbsolutePosition(-100);//motors stay on until wheels rotated 100 marks

reverse(4);//reversing the direction the motors turn

motorSpeed(4,15)//all 4 motors on at 15% power

goFor(3);//motors stay on for 3 seconds

Braking Mechanics Servo

rotateServo(60);//move Servo arm off of wheel
reverse(4);//set motors to move the AEV in the forward direction
motorSpeed(4,30);//set all 4 motors to 30% power
goToAbsolutePosition(-100);//keep motors running until AEV has reached 100 marks
rotateServo(0);//move Servo arm back onto wheel

 

Performance Tests

The task that the AEV must perform includes moving 14 feet, 4 feet of which are on an incline. After the 14 feet, the AEV must stop between two sensors and wait 7 seconds. After waiting seven seconds, the AEV must then move again. This task is depicted below with the measurements.

In order to begin creating this code, the total distance that must be traveled must be converted to marks. After this was completed, small edits were made to establish the braking distance and the most efficient power that the AEV should accelerate to.

  reverse(4);// Motors are reversed
  motorSpeed(4,28);//All motors move at 28% power
  goToAbsolutePosition(-225);//Motors move until -225 marks are moved
  brake(4);// All motors break
  goFor(7);//AEV waits 7 seconds
  motorSpeed(4,28);//All motors move at 28% power
  goFor(3);//Motors move at 28% power for 3 seconds