def __init__(self, TimeToSteer = 6, LogInfo = False,forwardSpeed = 40,turnSpeed = 35, confidenceNeeded = 0.90,InitCar = True,distanceToTurn = 50, distanceToDetectMin = 15, distanceToDetectMax = 70): # Αρχικοποίηση κινητήρων if(InitCar): picar.setup() self.bw = back_wheels.Back_Wheels() self.fw = front_wheels.Front_Wheels() self.PreviousState = RobotState.Initial self.State = RobotState.Initial self.NNState = NeuralNetWorkRead.Unknown self.distance = 0 self.confidence = 0 self.confidenceNeeded = confidenceNeeded self.lastTime = time.time() self.curTime = time.time() self.timeDif = 0 self.distanceToTurn = distanceToTurn self.TimeToSteer = TimeToSteer self.FolderName = time.strftime("%Y%m%d-%H%M%S") self.LogInfo = LogInfo self.count = 0 self.forwardSpeed = forwardSpeed self.turnSpeed = turnSpeed self.distanceToDetectMin = distanceToDetectMin self.distanceToDetectMax = distanceToDetectMax self.lastLog = 0 if(LogInfo): self.logger = logging.getLogger('./' + self.FolderName +'/logs.txt') fh = logging.FileHandler(self.FolderName + '.html',mode = "w") self.logger.setLevel(logging.INFO) self.logger.addHandler(fh)
def setup(): global api, bw, fw, buzzer, led_green, led_red, mqtt_distance, mqtt_speed, ua # 1. PiCar setup. picar.setup() ua = Ultrasonic_Avoidance.Ultrasonic_Avoidance(20) fw = front_wheels.Front_Wheels(db='config') bw = back_wheels.Back_Wheels(db='config') fw.turning_max = 45 # 2. GPIO pins for buzzer and LED. GPIO.setmode(GPIO.BCM) # GPIO.BCM mode. GPIO.setup(PIN_BUZZER, GPIO.OUT) # Buzzer pin. GPIO.setup(PIN_LED, GPIO.OUT) # LED pins. GPIO.output(PIN_LED, GPIO.LOW) # Set LED pins to low to turn off LEDs. buzzer = GPIO.PWM(PIN_BUZZER, 440) # Set buzzer frequency to 440Hz. led_red = GPIO.PWM(PIN_LED[0], 2000) # Set LED frequencies to 2KHz. led_green = GPIO.PWM(PIN_LED[1], 2000) buzzer.start(0) led_red.start(0) led_green.start(0) # 3. Ubidots. api = ApiClient(token='A1E-priJupwmfAGtVeOjcslK9wAW16HJzO') mqtt_distance = api.get_variable('59e93a20c03f9748c6bc3d54') mqtt_speed = api.get_variable('5a092816c03f9706c0205e88')
def __init__(self): picar.setup() self.fw = front_wheels.Front_Wheels(db='config') self.bw = back_wheels.Back_Wheels(db='config') self.bw.speed = 70 self.fw.turning_max = 45 self.forward_speed = 90 self.backward_speed = 70 self.back_distance = 10 self.turn_distance = 20 self.straight = 90 self.movement_dispatch = dict() self.movement_dispatch[self.FORWARD] = self.accelerate self.movement_dispatch[self.BACKWARD] = self.decelerate self.movement_dispatch[self.LEFT] = self.turn_left self.movement_dispatch[self.RIGHT] = self.turn_right self.movement_reset = dict() self.movement_reset[self.FORWARD] = self.stop self.movement_reset[self.BACKWARD] = self.stop self.movement_reset[self.LEFT] = self.turn_straight self.movement_reset[self.RIGHT] = self.turn_straight self.key_map = dict() self.bw.stop()
def __init__(self): picar.setup() self.is_stopped = False self.bw = back_wheels.Back_Wheels() self.fw = front_wheels.Front_Wheels() self.motor_speed = 0 self.turning_direction = "" self.angle = self.DEFAULT_ANGLE
def __init__(self): picar.setup() db_file = "autonomous_car/picar_v/config" self.fw = front_wheels.Front_Wheels(debug=False, db=db_file) self.bw = back_wheels.Back_Wheels(debug=False, db=db_file) self.bw.ready() self.fw.ready() self.bw_status = 0
def __init__(self): self.fw = front_wheels.Front_Wheels(debug=True) self.max_right = 135 self.max_left = 45 self.straight = 90 self.current_angle = 90 self.direction = 1 self.delta = 5 # number of degrees per turn picar.setup()
def __init__(self): self.music = playmusic.MUSIC() self.steer_count = 0 """ Init camera and wheels""" logging.info('Creating a DeepPiCar...') picar.setup() logging.debug('Set up back wheels') self.fw = front_wheels.Front_Wheels(db='config') self.bw = back_wheels.Back_Wheels(db='config') self.bw.speed = DEFAULT_SPEED
def __init__(self, test_mode=False): self._test_mode = False if test_mode is False else True self._controller = InputController() db_file = "config" picar.setup() self.fw = front_wheels.Front_Wheels(debug=False, db=db_file) self.bw = back_wheels.Back_Wheels(debug=False, db=db_file) self.bw.ready() self.fw.ready() self.fw.calibration()
def __init__(self, debug=False): try: from picar import front_wheels from picar import back_wheels import picar except ImportError: # the Picar moduls are not available, # most likely due to the code running outside the Raspberry Pi raise PicarModulesUnavailableException picar.setup() # ua = Ultrasonic_Avoidance.Ultrasonic_Avoidance(20) self.fw = front_wheels.Front_Wheels(db='config') # self.fw.turning_max = 45 self.fw.debug = debug self.bw = back_wheels.Back_Wheels(db='config') self.bw.debug = debug
def setup(): global fw, bw, cam, SPEED, bw_status, is_setup if is_setup == True: return from .picar_v_video_stream import Vilib picar.setup() db_file = "/home/pi/SunFounder_PiCar-V/remote_control/remote_control/driver/config" fw = front_wheels.Front_Wheels(debug=False, db=db_file) bw = back_wheels.Back_Wheels(debug=False, db=db_file) cam = camera.Camera(debug=False, db=db_file) cam.ready() bw.ready() fw.ready() Vilib.camera_start() SPEED = 60 bw_status = 0 is_setup = True
def __init__(self): picar.setup() self.REFERENCES = [20.5, 25.0, 28.0, 21.5, 20.5] # self.calibrate = True self.calibrate = False self.forward_speed = 40 self.turning_angle = 45 self.delay = 0.0005 self.fw = front_wheels.Front_Wheels(db='config') self.bw = back_wheels.Back_Wheels(db='config') self.lf = Line_Follower.Line_Follower() self.lf.references = self.REFERENCES self.fw.ready() self.bw.ready() self.fw.turning_max = 60
def main(): print('STARTING CAR') picar.setup() db_file = "/home/pi/SunFounder_PiCar-V/remote_control/remote_control/driver/config" fw = front_wheels.Front_Wheels(debug=True, db=db_file) bw = back_wheels.Back_Wheels(debug=True, db=db_file) cam = camera.Camera(debug=True, db=db_file) cam.ready() bw.ready() fw.ready() cv2Cam = cv2.VideoCapture(0) # bw.speed = 20 turn_cam_down(cam) current_state = 'straight' while True: print('TAKING PIC') np_img = take_picture(cv2Cam) print('CLASSIFYING PIC') prediction = classify(np_img) print('CLASSIFICATION: ' + prediction) if prediction == 'straight': if current_state == 'veer_left': turn_straight_from_left(fw) # Overcorrect due to faulty car else: turn_straight(fw) elif prediction == 'right': turn_right(fw) elif prediction == 'veer_right': veer_right(fw) elif prediction == 'veer_left': veer_left(fw) current_state = prediction print('SLEEPING') sleep_car(0.05) print('') print('')
def __init__(self): self.fw = front_wheels.Front_Wheels(debug=False, db=db_file) self.bw = back_wheels.Back_Wheels(debug=False, db=db_file) self.bw.ready() self.fw.ready() self.turnStraight() self.speed = 60 self.bw.speed = 0 #self.speed self.fw_status = 0 self.bw_status = 0 self.fw.turning_max = 40 ###### Parameters to translate robot speed 0-100 to absolute speed in cm/s self.ref_speed = 20 self.ref_abs_speed = 3.6667 self.slope_speed = 0.6885 self.abs_speed = self.getAbsoluteSpeed() ###### Physical parameters of the car ########################## self.L = 0.145 # The distance between front and rear wheels(in m).
def __init__(self): # 0 = random direction, 1 = force left, 2 = force right, 3 = orderdly self.force_turning = 0 picar.setup() self.ua = Ultrasonic_Avoidance.Ultrasonic_Avoidance(20) self.fw = front_wheels.Front_Wheels(db='config') self.bw = back_wheels.Back_Wheels(db='config') self.fw.turning_max = 45 self.forward_speed = 70 self.backward_speed = 70 self.back_distance = 10 self.turn_distance = 20 self.timeout = 10 self.last_angle = 90 self.last_dir = 0 self.command = xavier_command.STOP
def __init__(self, test_img_src=None): self._test_mode = False self._test_img_src = None if test_img_src: if os.path.isfile(test_img_src): self._test_mode = True self._test_img_src = test_img_src else: raise IOError("File does not exist.") picar.setup() db_file = "config" self._fw = front_wheels.Front_Wheels(debug=False, db=db_file) self._bw = back_wheels.Back_Wheels(debug=False, db=db_file) self._fw.ready() self._bw.ready() self._fw.calibration() self._camera = Camera() self._tag = TagRecognition(resolution=144, marker_length=0.025) self._speed = 0 self._tag_data = { 'x': 0, 'z': 0, 'direction': 0, 'decision': 0, 'yaw': 0 } self._tag_lost_time = 0 self._speed_cycle_time = time() self._turn_time = time()
def __init__(self, **kwargs): # Initialise the parent class Thread.__init__(self) # Flat to exit gracefully self.shutdown_flag = Event() # Start the HS server self.server_connect(**kwargs) # Create SMBus instance self.bus = smbus.SMBus(1) self.address = 0x11 self.references = 5 * [kwargs.get('reference', 600)] self.referneces = [600, 600, 600, 600, 800] self.speed = kwargs.get('speed', 35) self.turn = 40 picar.setup() # Initialise the wheel objects self.front_wheels = front_wheels.Front_Wheels(db='config') self.back_wheels = back_wheels.Back_Wheels(db='config') print('configured wheels')
class MyController(Controller): picar.setup() bw = back_wheels.Back_Wheels() fw = front_wheels.Front_Wheels() pan_servo = Servo.Servo(1) bw.speed = 0 motor_speed = 60 cap = cv2.VideoCapture(0) def __init__(self, **kwargs): Controller.__init__(self, **kwargs) def on_x_press(self): _,img = self.cap.read() cv2.imwrite('Documents\\'+ str(time.time())+ '.png',img) print("picture taken") def on_L3_up(self, value): speed = int((value/400)*-1) print("forward:" + str(speed)) self.bw.speed = speed self.bw.backward() def on_L3_down(self, value): speed = int(value/400) print("backward:" + str(speed)) self.bw.speed = speed self.bw.forward() def on_L3_left(self, value): print("value1:" + str(value)) angleL = int((75-(-25/32767) * value)) print("angle1:" + str(angleL)) self.fw.turn(angleL) def on_L3_right(self, value): print("value2:" + str(value)) angleR = int(((60/32767) * value + 75)) print("angle2: " + str(angleR)) self.fw.turn(angleR)
publish_no_trigger = 0 # uj , forklift_power_error publish skip stop_active = True reset_active = False # csak arra van hasznalva, hogy skippelje a vonalakat pause_event = threading.Event() # magyarazat: lasd. gateway pause_event.set() # not blocking by default; True = not paused, False = paused picar.setup() REFERENCES = [394, 329, 395, 402, 397] #REFERENCES = [270,290,300,290,270] #REFERENCES = [330,330,330,330,330] refFile = "../referenceConfig" fw = front_wheels.Front_Wheels(db='../wheel_config') #fw.debug = True bw = back_wheels.Back_Wheels(db='../wheel_config') forwardSpeed = carconfig.getForwardSpeed() lf = Line_Follower.Line_Follower() fw.ready() bw.ready() #45 fw.turning_max = 50 logging.basicConfig(filename='car.log', level=logging.DEBUG, \
#!/usr/bin/env python import rospy from picar import front_wheels, back_wheels from picar.SunFounder_PCA9685 import Servo import picar from time import sleep import numpy as np from geometry_msgs.msg import Twist bw = back_wheels.Back_Wheels() fw = front_wheels.Front_Wheels() picar.setup() bw.speed = 0 fw.turn(90) motor_speed = 20 curr_speed = 0 curr_dir = 0 def fw_movement(data): global curr_speed if data.linear.x > 0: curr_speed += 1 if curr_speed > 5: curr_speed = 5 elif data.linear.x < 0: curr_speed -= 1
def __init__(self): self.fw = front_wheels.Front_Wheels() self.bw = back_wheels.Back_Wheels() self.speed = 30
from control.models import Recording from control.utils import Capture from picar import back_wheels, front_wheels import picar import json import cv2 import git import glob import os import logging try: picar.setup() fw = front_wheels.Front_Wheels(debug=False, db=settings.CONFIG_FILE) bw = back_wheels.Back_Wheels(debug=False, db=settings.CONFIG_FILE) cam = camera.Camera(debug=False, db=settings.CONFIG_FILE) cam.ready() bw.ready() fw.ready() straight_angle = fw._straight_angle min_angle = fw._min_angle max_angle = fw._max_angle except: fw = None bw = None cam = None straight_angle = 90 min_angle = 45 max_angle = 135
def __init__(self): self.fw = front_wheels.Front_Wheels() self.fw._angle = {'straight': 75, 'left': 32, 'right': 132} self.bw = back_wheels.Back_Wheels() self.speed = 40
print("INIT") picar.setup() REFERENCES = [200, 200, 200, 200, 200] # calibrate = True calibrate = False forward_speed = 80 backward_speed = 70 turning_angle = 40 dooms_day = False max_off_track_count = 40 delay = 0.0005 fw = front_wheels.Front_Wheels(db='config') bw = back_wheels.Back_Wheels(db='config') lf = Line_Follower.Line_Follower() lf.references = REFERENCES fw.ready() bw.ready() fw.turning_max = 45 # Picar Ultrasonic init UA = Ultrasonic_Avoidance.Ultrasonic_Avoidance(20) # PICAR ORDERS def order(value): if "SPEED" in value.upper():
class PiCarController: force_turning = 0 # 0 = random direction, 1 = force left, 2 = force right, 3 = orderdly fw = front_wheels.Front_Wheels(db='config') bw = back_wheels.Back_Wheels(db='config') fw.turning_max = 45 forward_speed = 100 backward_speed = 100 back_distance = 10 turn_distance = 20 timeout = 10 last_angle = 90 last_dir = 0 turning_angle = 8 current_angle = 100 moving = False turning = False def debug(self, func): print(func) print("is moving - {}".format(self.moving)) print("is turning - {}".format(self.turning)) def on_press(self, key): self.debug("on_press") if key in [Key.up, Key.down, Key.left, Key.right]: if key == Key.down and self.moving is False: self.moving = True print("down") self.bw.backward() self.bw.speed = self.backward_speed elif key == Key.up and self.moving is False: print("up") self.moving = True self.bw.forward() self.bw.speed = self.forward_speed elif key == Key.left and self.turning is False: self.turning = True print("left") if self.current_angle - self.turning_angle > 50: self.current_angle -= self.turning_angle self.fw.turn(self.current_angle) elif key == Key.right and self.turning is False: self.turning = True print("right") if self.current_angle + self.turning_angle < 150: self.current_angle += self.turning_angle self.fw.turn(self.current_angle) def on_release(self, key): self.debug("on_release") if key in [Key.up, Key.down, Key.left, Key.right]: if key == Key.down and self.moving is True: self.moving = False print("down - stop") self.bw.stop() elif key == Key.up and self.moving is True: self.moving = False print("up - stop") self.bw.stop() elif key == Key.left and self.turning is True: self.turning = False print("left - stop") elif key == Key.right and self.turning is True: self.turning = False print("right - stop") if key == Key.esc: # Stop listener return False
hmx = 37 smn = 96 smx = 255 vmn = 186 vmx = 255 MIDDLE_TOLERANT = 5 PAN_ANGLE_MAX = 170 PAN_ANGLE_MIN = 10 TILT_ANGLE_MAX = 150 TILT_ANGLE_MIN = 70 FW_ANGLE_MAX = 90 + 30 FW_ANGLE_MIN = 90 - 30 bw = back_wheels.Back_Wheels(debug=True) fw = front_wheels.Front_Wheels(debug=True) cm = camera.Camera(debug=True) picar.setup() #fw.offset = 0 #pan_servo.offset = 10 #tilt_servo.offset = 0 bw.speed = 0 fw.turn(90) cm.to_position(90, 90) motor_speed = 90 def main():
from picar import back_wheels import time import picar picar.setup() REFERENCES = [200, 200, 200, 200, 200] forward_speed = 80 backward_speed = 70 turning_angle = 40 max_off_track_count = 40 delay = 0.0005 fw = front_wheels.Front_Wheels(db="config") bw = back_wheels.Back_Wheels(db="config") lf = Line_Follower.Line_Follower() lf.references = REFERENCES fw.ready() bw.ready() fw.turning_max = 45 analogThreshold = 10 def straight_run(): while True: bw.speed = 70 bw.forward() fw.turn_straight()
* Brand : SunFounder * E-mail : [email protected] * Website : www.sunfounder.com * Update : Cavon 2016-09-13 New release ********************************************************************** ''' from django.shortcuts import render_to_response from driver import camera, stream from picar import back_wheels, front_wheels from django.http import HttpResponse import picar picar.setup() db_file = "/home/pi/SunFounder_PiCar-V/remote_control/remote_control/driver/config" fw = front_wheels.Front_Wheels(debug=False, db=db_file) bw = back_wheels.Back_Wheels(debug=False, db=db_file) cam = camera.Camera(debug=False, db=db_file) cam.ready() bw.ready() fw.ready() SPEED = 60 bw_status = 0 print stream.start() def home(request): return render_to_response("base.html") def run(request):
* Update : Cavon 2016-09-13 New release ********************************************************************** ''' import picar from .driver import camera from .driver import stream from django.http import HttpResponse from django.shortcuts import render as render_to_response from picar import back_wheels from picar import front_wheels picar.setup() db_file = "/home/pi/SunFounder_PiCar-V/remote_control/remote_control/driver/config" fw = front_wheels.Front_Wheels(debug=True, db=db_file) bw = back_wheels.Back_Wheels(debug=True, db=db_file) cam = camera.Camera(debug=True, db=db_file) cam.ready() bw.ready() fw.ready() SPEED = 60 bw_status = 0 print(stream.start()) def home(request): return render_to_response("base.html")