centerX = (lines[i][0][2] - lines[i][0][0]) / 2 + lines[i][0][0]
            centerY = (lines[i][0][3] - lines[i][0][1]) / 2 + lines[i][0][1]
            d[0][i] = 250 - centerX
            cv2.circle(warp, (centerX, centerY), 15, (0, 0, 255), -1)
            cv2.imwrite('houghliness.jpg', warp)
            beta[0][i] = (np.arctan(d[0][i] / centerY) * 180 / np.pi)
            #print alpha[i]
        angle = int(np.median(alpha))

        if abs(angle) >= 85:
            print 'geradeaus'
            print(angle)
            set_speed(speed_def)
            speed[0][0] = speed_def
            speed[0][1] = speed_def
            PID(90, beta, d)
            detectLeft = None
            detectRight = None
            print(speed_def)
        elif angle > 0 and abs(angle) < 85:  #drehe rechts
            print 'drehe rechts'
            detectRight = True
            detectLeft = None
            speedPID = PID(angle, beta, d)
            speed[0][0] = int(speed[0][0] - speedPID[0][0])
            if speed[0][0] < 0:
                speed[0][0] = 0
            set_right_speed(int(speed[0][0] - 10))
            set_left_speed(speed_def - 10)

            if turn_r > 1:
                set_right_speed(speed_def)
                set_left_speed(speed_def - 15)
                print 'speed right: ', speed_def
                print 'speed left: ', speed_def - 15
            elif dError < -5:  #Mittellinie rechts
                set_left_speed(speed_def)
                set_right_speed(speed_def - 15)
                print 'speed right: ', speed_def - 15
                print 'speed left: ', speed_def
            else:
                set_speed(speed_def)
                print 'speed right: ', speed_def
                print 'speed left: ', speed_def
            speed_right = speed_def
            speed_left = speed_def
            PID(90, beta, d)
            detectLeft = None
            detectRight = None
        elif direction == 'rechts':  #drehe rechts
            print 'drehe rechts'
            detectRight = True
            detectLeft = None
            speed_right = int(speed_right - PID(angle, beta, d))
            if speed_right < 20:
                speed_right = 15
            set_right_speed(int(speed_right))
            set_left_speed(speed_def - 15)

            if turn_r > 2:
                turn_r = 0
                print 'speed right: ', speed_right
Beispiel #3
0
#!/usr/bin/env python
#-*- coding: utf-8 -*-

#Defining Python Source Code Encodings
#---------------------------

# import the necessary packages
import time
import cv2
import numpy as np
import matplotlib.pyplot as plt
from PID_CenterDrive import PID
from birdviewThresholdCM import find

default = 40
inpAngle = 70
beta = 5.8
d = 25


while True:
    print 'Default speed:', default
    print 'Input angle:', inpAngle
    value = PID(inpAngle,beta,d)
    print 'Set speed:',(default-value)
    print'---------------------'
    time.sleep(0.5)