コード例 #1
0
 def __init__(self, device):
     self.CarCon = CarControl(device)
     self.crossroad = False
     self.fullcross = False
     self.walls = [10000, 10000, 10000]
     self.CarCon.turn(CarSettings.DefaultAngle)
     self.CarCon.move(0, CarSettings.Stop)
     pass
コード例 #2
0
ファイル: CM.py プロジェクト: kutsenkoilya/Car
class Car:
    def __init__(self, device):
        self.CarCon = CarControl(device)

    def Road(self):
        self.CarCon.move(1, 125)
        time.sleep(0.5)
        while True:
            time.sleep(1)
            walls = self.CarCon.getDistance()
            time.sleep(1)
            print(walls[0], walls[1], walls[2])

            if walls[1] < CarSettings.CriticalWallRange:
                self.CarCon.move(0, CarSettings.Stop)
                break
コード例 #3
0
ファイル: demo_steering.py プロジェクト: kalinnorman/SDCars
from CarControl import CarControl
import time
import cv2


def wait_for_yellow_lane(cc):
    cc.rf.set_l_found(False)
    while not cc.rf.get_l_found():
        cc.update_sensors()  # update the sensors every loop
        t, rgb = cc.sensor.get_rgb_data()  # get color image
        frame, commands = cc.rf.find_lanes(rgb)  # find lines in image


if __name__ == '__main__':

    cc = CarControl()  # create object to control car
    count = 0  # debouncer for finding limit lines
    speed = 0.35  # 0.3

    # run the loop, waiting for a keyboard interrupt
    try:
        print("Beginning loop")
        cc.steer(0)  # straighten steering
        lastSteerAngle = 0  # to keep track of steering value
        cc.drive(0.6)  # drive fast to get the car going
        time.sleep(0.5)  # get it up to speed
        cc.drive(speed)  # slow down to a slower speed

        # intersection_counter = 0
        # corner_turn = 'r'
        # type_of_turn = 'i'
コード例 #4
0
import numpy as np
import cv2
import pygame
from pygame.locals import *
import time
import os
import RPi.GPIO as GPIO
from CarControl import CarControl

# set IO and GPIO mod
# GPIO.cleanup()
# pygame init
pygame.init()
car = CarControl()

save_img = True
cap = cv2.VideoCapture(0)
cap.set(3, 320)  # 原始寬度。原始圖大小:320*240 = 76800
cap.set(4, 240)  # 原始高度

# create labels
k = np.eye(3)
# k = np.zeros((3, 3), 'float')
# for i in range(3):
#     k[i, i] = 1
# temp_label = np.zeros((1, 3), 'float')

screen = pygame.display.set_mode((320, 240))

frame = 1
saved_frame = 0
コード例 #5
0
class Car:
    def __init__(self, device):
        self.CarCon = CarControl(device)
        self.crossroad = False
        self.fullcross = False
        self.walls = [10000, 10000, 10000]
        self.CarCon.turn(CarSettings.DefaultAngle)
        self.CarCon.move(0, CarSettings.Stop)
        pass

    def nothing(self):
        self.CarCon.move(1, CarSettings.MoveSpeed)
        while not self.fullcross:

            cop = self.CarCon.getDistance()
            for i in range(3):
                if type(cop[i]) == type(None):
                    self.walls[i] = 10000
                else:
                    self.walls[i] = cop[i]
            self.walls = self.CarCon.getDistance()
            if self.walls[0] > CarSettings.MaxWallRange or self.walls[
                    2] > CarSettings.MaxWallRange:  # подставить константы
                self.crossroad = True
            else:
                self.crossroad = False
            if self.walls[0] > CarSettings.MaxWallRange and self.walls[
                    2] > CarSettings.MaxWallRange:  # подставить константы
                self.fullcross = True
            else:
                self.fullcross = False
            print(walls)
            if self.walls[1] < CarSettings.WallRange:
                if self.walls[0] > CarSettings.WallRange:
                    self.CarCon.turn(CarSettings.RightToLeftDegree)
                    self.CarCon.move(1, CarSettings.MoveSpeed)
                    self.CarCon.turn(CarSettings.DefaultAngle)
                elif self.walls[1] > CarSettings.WallRange:
                    self.CarCon.turn(CarSettings.RightToLeftDegree)
                    self.CarCon.move(1, CarSettings.MoveSpeed)
                    self.CarCon.turn(CarSettings.DefaultAngle)
                else:
                    self.CarCon.move(0, CarSettings.Stop)
            else:
                if self.walls[
                        0] < CarSettings.WallRange:  # отъезжаем от стены или от линии подобрать константы
                    self.CarCon.turn(
                        CarSettings.LeftToRightDegree)  # угол настроить
                    self.CarCon.move(1, CarSettings.MoveSpeed)
                    self.CarCon.turn(CarSettings.DefaultAngle)
                    pass
                if self.walls[2] < CarSettings.WallRange:  #
                    self.CarCon.turn(CarSettings.RightToLeftDegree)
                    self.CarCon.move(1, CarSettings.MoveSpeed)
                    self.CarCon.turn(CarSettings.DefaultAngle)
                    pass
                else:
                    self.CarCon.move(1, CarSettings.MoveSpeed)  # прямо

        self.CarCon.move(0, CarSettings.Stop)
        return 1  # иначе завершаем движение и выдаем знак

    pass
コード例 #6
0
ファイル: BirdsEyeTest.py プロジェクト: kalinnorman/SDCars
# Lane Testing using birds eye view

from LaneFollower import LaneFollower
from CarControl import CarControl
from matplotlib import pyplot as plt
import argparse
import imutils
import time
import numpy as np
import cv2

cc = CarControl()
LF = LaneFollower()
count = 0
# vs = cv2.VideoCapture("/dev/video2", cv2.CAP_V4L) # ls -ltr /dev/video*
# vs = cv2.VideoCapture("C:/Users/benjj/Documents/College/Fall2019/ECEN522/Code/SDCars/class_code/TestVideo.avi")

for lamePhoto in range(1, 10):
    (grabbed, frame) = cc.sensor.vs.read()

cc.steer(-3)
cc.drive(0.6)
time.sleep(1)
cc.drive(0.4)
currentAngle = -3
currentSpeed = 0.4

while True:
    # read the next frame from the file
    (grabbed, frame) = cc.sensor.vs.read()
コード例 #7
0
ファイル: Main.py プロジェクト: HyeonGwon7/SW_DEV_Coding
from LaneDetection import LaneDetection
from CarControl import CarControl
from ObstacleDetection import ObstacleDetection
from ModeView import ModeView

camera = PiCamera()
camera.resolution = (960, 540)
camera.framerate = 15
rawCapture = PiRGBArray(camera, size=(960, 540))
time.sleep(0.1)

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

laneDetection = LaneDetection()
carControl = CarControl()
modeView = ModeView()
obstacleDetection = ObstacleDetection()

backLeft = [0, 0, 0, 0]
backRight = [0, 0, 0, 0]
vp_slope = [-1, backLeft, backRight]

img2 = np.zeros((540, 960, 3), np.uint8)
check = 0
click = 0


def mouse_callback(event, x, y, flags, param):
    global check
    global click
コード例 #8
0
ファイル: CM.py プロジェクト: kutsenkoilya/Car
 def __init__(self, device):
     self.CarCon = CarControl(device)