Applied commit: a540201, the previous one was actually 5855373
This commit is contained in:
parent
78ce8da918
commit
c1f68b84e3
2 changed files with 29 additions and 12 deletions
19
src/move.py
19
src/move.py
|
@ -1,5 +1,6 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import ev3dev.ev3 as ev3
|
||||
from wheel import Wheel
|
||||
from sensor import Sensor
|
||||
from odometry import Odometry
|
||||
|
@ -33,9 +34,23 @@ class Move:
|
|||
depending on environment lighting
|
||||
'''
|
||||
def _calibrate(self):
|
||||
self._sensor.calibrateRGB()
|
||||
ev3.Sound.beep()
|
||||
while(not self._sensor.bumperwaspressed):
|
||||
self._sensor.checkbumper()
|
||||
self._sensor.reset()
|
||||
self._sensor.calibrateBrightness()
|
||||
# pass
|
||||
sleep(2)
|
||||
ev3.Sound.beep()
|
||||
while(not self._sensor.bumperwaspressed):
|
||||
self._sensor.checkbumper()
|
||||
self._sensor.reset()
|
||||
self._sensor.calibrateRGB(self._sensor.red)
|
||||
sleep(2)
|
||||
ev3.Sound.beep()
|
||||
while(not self._sensor.bumperwaspressed):
|
||||
self._sensor.checkbumper()
|
||||
self._sensor.calibrateRGB(self._sensor.blue)
|
||||
self._sensor.reset()
|
||||
|
||||
'''
|
||||
Function to correct errors should the robot wander astray
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import ev3dev.ev3 as ev3
|
||||
from enum import Enum
|
||||
|
||||
'''
|
||||
add enum for color definitions (type should be tupel of int's).
|
||||
|
@ -22,10 +21,11 @@ Formula:
|
|||
Y=(0.299 x R) + (0.587 x G) + (0.114 x B);
|
||||
'''
|
||||
|
||||
|
||||
'''
|
||||
class Color(tuple, Enum):
|
||||
RED = (65, 30, 20)
|
||||
BLUE = (20, 45, 60)
|
||||
'''
|
||||
|
||||
|
||||
class Sensor:
|
||||
|
@ -42,6 +42,8 @@ class Sensor:
|
|||
print("Error while setting up sensors. Please make sure that everything is plugged in properly.")
|
||||
self.lastcolor = None
|
||||
self.edgebrightness = None
|
||||
self.red = None
|
||||
self.blue = None
|
||||
|
||||
def refresh(self):
|
||||
self.RGB = self._camera.bin_data("hhh")
|
||||
|
@ -64,16 +66,16 @@ class Sensor:
|
|||
|
||||
def getcolor(self):
|
||||
if(self._camera.mode == 'RGB-RAW'):
|
||||
if(self.RGB[0] > Color.RED[0] and (self.RGB[1], self.RGB[2]) < (Color.RED[1], Color.RED[2])):
|
||||
self.lastcolor = Color.RED
|
||||
if(self.RGB[0] < Color.BLUE[0] and (self.RGB[1], self.RGB[2]) > (Color.BLUE[1], Color.BLUE[2])):
|
||||
self.lastcolor = Color.BLUE
|
||||
if(self.RGB[0] > self.red[0] and (self.RGB[1], self.RGB[2]) < (self.red[1], self.red[2])):
|
||||
self.lastcolor = self.red
|
||||
if(self.RGB[0] < self.blue[0] and (self.RGB[1], self.RGB[2]) > (self.blue[1], self.blue[2])):
|
||||
self.lastcolor = self.blue
|
||||
|
||||
def calibrateRGB(self, color):
|
||||
self.refresh()
|
||||
if (color is Color.RED):
|
||||
if (color is self.red):
|
||||
newRED = (self.RGB[0]-5, self.RGB[1]+5, self.RGB[2]+5)
|
||||
Color.RED = newRED
|
||||
elif (color is Color.BLUE):
|
||||
self.red = newRED
|
||||
elif (color is self.blueE):
|
||||
newBLUE = (self.RGB[0]+5, self.RGB[1]-5, self.RGB[2]-5)
|
||||
Color.BLUE = newBLUE
|
||||
self.blue = newBLUE
|
||||
|
|
Loading…
Reference in a new issue