|
1 | 1 | package ev3dev4s.sensors.gyroscope.examples
|
2 | 2 |
|
3 |
| -import ev3dev4s.actuators.{Motor, MotorCommand, MotorPort, MotorStopCommand, MotorState} |
| 3 | +import ev3dev4s.actuators.{Motor, MotorCommand, MotorPort, MotorStopCommand} |
4 | 4 | import ev3dev4s.sensors.{Ev3Gyroscope, Ev3KeyPad}
|
5 | 5 | import ev3dev4s.{Ev3System, Log}
|
6 |
| -import ev3dev4s.scala2measure.Degrees |
| 6 | +import ev3dev4s.scala2measure.{Degrees, DegreesPerSecond, DutyCycle, MilliMeters} |
7 | 7 | import ev3dev4s.scala2measure.Conversions._
|
8 |
| -import ev3dev4s.scala2measure.DegreesPerSecond |
9 |
| -import ev3dev4s.scala2measure.DutyCycle |
10 | 8 |
|
11 | 9 | /**
|
12 | 10 | *
|
@@ -98,15 +96,15 @@ object GyroDriveStraight extends Runnable {
|
98 | 96 | val leftIdeal = ((dutyCycle + steerAdjust) / 10.unitless).dutyCyclePercent
|
99 | 97 | val rightIdeal = ((dutyCycle - steerAdjust) / 10.unitless).dutyCyclePercent
|
100 | 98 | (leftIdeal, rightIdeal)
|
101 |
| - //todo for fractions |
102 |
| - //val (leftSteering, rightSteering) = (leftIdeal,rightIdeal) |
103 |
| - //todo for fractions |
104 |
| - //if(leftIdeal != rightIdeal) (leftIdeal,rightIdeal) |
105 |
| - //else if(steerAdjust.v > 0) (leftIdeal+1,rightIdeal) |
106 |
| - //else if(steerAdjust.v < 0) (leftIdeal,rightIdeal+1) |
107 |
| - //else (leftIdeal,rightIdeal) |
108 |
| - //todo speed up very slow movement by 10. Not sure this is usefulif(leftSteering >= 10 && rightSteering >= 10) (leftSteering,rightSteering) |
109 |
| - //todo speed up very slow movement by 10. Not sure this is useful else (leftSteering+10,rightSteering+10) |
| 99 | + // todo for fractions |
| 100 | + // val (leftSteering, rightSteering) = (leftIdeal,rightIdeal) |
| 101 | + // todo for fractions |
| 102 | + // if(leftIdeal != rightIdeal) (leftIdeal,rightIdeal) |
| 103 | + // else if(steerAdjust.v > 0) (leftIdeal+1,rightIdeal) |
| 104 | + // else if(steerAdjust.v < 0) (leftIdeal,rightIdeal+1) |
| 105 | + // else (leftIdeal,rightIdeal) |
| 106 | + // todo speed up very slow movement by 10. Not sure this is useful: if(leftSteering >= 10 && rightSteering >= 10) (leftSteering,rightSteering) |
| 107 | + // todo speed up very slow movement by 10. Not sure this is useful else (leftSteering+10,rightSteering+10) |
110 | 108 | }
|
111 | 109 |
|
112 | 110 | val (leftDutyCycle, rightDutyCycle) = dutyCyclesFromAdjust()
|
@@ -209,7 +207,7 @@ object GyroDriveStraight extends Runnable {
|
209 | 207 |
|
210 | 208 | /**
|
211 | 209 | * Adjust the speed based on the current gyro heading to drive in an arc.
|
212 |
| - * This method assumes the goal absolute postions have already been written |
| 210 | + * This method assumes the goal absolute positions have already been written |
213 | 211 | *
|
214 | 212 | * @param goalHeading that the gyroscope should read during this traverse
|
215 | 213 | * @param averageSpeed degrees/second for moving the robot quickly
|
@@ -270,12 +268,12 @@ object GyroDriveStraight extends Runnable {
|
270 | 268 |
|
271 | 269 | object Robot {
|
272 | 270 |
|
273 |
| - val driveWheelDiameter = 11.studs |
274 |
| - val driveWheelCircumference = (driveWheelDiameter.v * Math.PI.toFloat).mm |
| 271 | + val driveWheelDiameter: MilliMeters = 11.studs |
| 272 | + val driveWheelCircumference: MilliMeters = (driveWheelDiameter.v * Math.PI.toFloat).mm |
275 | 273 |
|
276 |
| - val robotWheelbase = 18.studs |
| 274 | + val robotWheelbase: MilliMeters = 18.studs |
277 | 275 |
|
278 |
| - val keypad = Ev3System.keyPad |
| 276 | + val keypad: Ev3KeyPad.type = Ev3System.keyPad |
279 | 277 |
|
280 | 278 | val gyroscope: Ev3Gyroscope = Ev3System.portsToSensors.values.collectFirst { case gyro: Ev3Gyroscope => gyro }.get
|
281 | 279 | val headingMode: gyroscope.HeadingMode = gyroscope.headingMode()
|
|
0 commit comments