Implemented rudimentary edge following. Also fixed a minor error in sensor.py
This commit is contained in:
parent
48dfc2a03b
commit
23fb6e80e7
2 changed files with 25 additions and 2 deletions
25
src/move.py
25
src/move.py
|
@ -1,15 +1,38 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import ev3dev.ev3 as ev3
|
||||
from wheel import Wheel
|
||||
from sensor import Sensor
|
||||
|
||||
|
||||
class Move:
|
||||
def __init__(self, planet):
|
||||
pass
|
||||
self._wheel_l = Wheel('outB')
|
||||
self._wheel_r = Wheel('outC')
|
||||
self._sensor = Sensor()
|
||||
self._bumper = ev3.TouchSensor()
|
||||
|
||||
def _calibrate(self):
|
||||
pass
|
||||
|
||||
def _aligntoedge(self):
|
||||
pass
|
||||
|
||||
def getstationedges(self):
|
||||
pass
|
||||
|
||||
def traversetonextstation(self, isknownstation):
|
||||
self._wheel_l.speed_set = 20
|
||||
self._wheel_r.speed_set = 20
|
||||
self._wheel_l.run()
|
||||
self._wheel_r.run()
|
||||
while(self._bumper.value() == False):
|
||||
# this does not work... why?
|
||||
# self._wheel_l.speed_set(newspeed)
|
||||
# self._wheel_r.speed_set(newspeed)
|
||||
self._wheel_l._motor.duty_cycle_sp = 48 - self._sensor.getbrightness()
|
||||
self._wheel_r._motor.duty_cycle_sp = self._sensor.getbrightness()
|
||||
if(isknownstation == False):
|
||||
pass #run odometry stuff here
|
||||
self._wheel_l.stop()
|
||||
self._wheel_r.stop()
|
||||
|
|
|
@ -20,7 +20,7 @@ class Sensor:
|
|||
# see https://stackoverflow.com/questions/687261/converting-rgb-to-grayscale-intensity
|
||||
def getbrightness(self):
|
||||
if(self._sensor.mode == 'COL-REFLECT'):
|
||||
return self._sensor.value
|
||||
return self._sensor.value()
|
||||
else:
|
||||
print("ERROR: incorrect sensor mode.")
|
||||
|
||||
|
|
Loading…
Reference in a new issue