1 package nl
.ru
.des
.behaviours
;
3 import lejos
.hardware
.motor
.EV3LargeRegulatedMotor
;
4 import lejos
.robotics
.subsumption
.Behavior
;
5 import nl
.ru
.des
.sensors
.UltraSoneSensor
;
7 public class AvoidHighObjectBehaviour
implements Behavior
{
8 private static final long TURNTIME
= 250;
10 private UltraSoneSensor ultraSone
;
11 private EV3LargeRegulatedMotor leftMotor
;
12 private EV3LargeRegulatedMotor rightMotor
;
13 private boolean suppressed
;
15 public AvoidHighObjectBehaviour(EV3LargeRegulatedMotor leftMotor
, EV3LargeRegulatedMotor rightMotor
,
16 UltraSoneSensor ultraSoneSensor
) {
17 ultraSone
= ultraSoneSensor
;
18 this.leftMotor
= leftMotor
;
19 this.rightMotor
= rightMotor
;
23 public boolean takeControl() {
24 return ultraSone
.getCurrentStatus();
28 public void action() {
30 rightMotor
.backward();
32 long time
= System
.currentTimeMillis();
33 while (!suppressed
&& System
.currentTimeMillis() - time
> TURNTIME
) {
37 rightMotor
.stop(true);
41 public void suppress() {