yst = xyval(axishift)[1] - yo theta = np.arctan((yst - y0) / (xst - x0)) xs = round(xst * np.cos(theta) + yst * np.sin(theta), 15) ys = round(-xst * np.sin(theta) + yst * np.cos(theta), 15) if __name__ == "__main__": RUN_NAME = sys.argv[1] origin = np.array([-25.7454172, 28.247508999999997]) path_lat_long = read_path(PATH_FILE) path = xy.convert_path(origin=origin, path=path_lat_long) gps = UBX() gps.start_reading() hardware_controller = HardwareController(gps) ##Path # pathx = np.arange(0, 20, 0.5) # pathy = [] # path = [] pathx = path[:, 0] pathy = path[:, 1] # for i in pathx: # pathno = 2 # i = round(i, 3)
from gps_interface.ublox_interface import UBX import sys, argparse from coordinate_conversions import xy import numpy as np import time if __name__ == "__main__": gps = UBX(port="/dev/ttyACM1") gps.start_reading() time.sleep(2) origin = None point1 = None results = [] while True: user_input = input("Enter to set origin:") if user_input == "": origin = np.array([gps.lat, gps.long]) break else: pass while True: user_input = input("Enter to set first point") if user_input == "": point1 = np.array([gps.lat, gps.long]) break else: pass
path_data = [] with open(path_file, "r") as file: for line in file: x, y = line.split(",") path_data.append([x, y]) return np.array(path_data) if __name__ == "__main__": RUN_NAME = sys.argv[1] path = read_path(INPUT_PATH_FILE) gps = UBX() # I2C Setup # i2c = busio.I2C(board.SCL, board.SDA) gps.start_reading() hardware_controller = HardwareController(gps=gps) path_controller = DQNController(model_file="controller/models/2_IN_5_OUT_PATH_FINAL.h5") print("Waiting for GPS signal...") time.sleep(2) origin = np.array([gps.lat, gps.long]) path = np.vstack([origin, path]) path_xy = xy.convert_path(origin=origin, path=path) gps_results = []
from hardware.hardware_controller import HardwareController from gps_interface.ublox_interface import UBX import time if __name__ == "__main__": try: gps = UBX(port="/dev/ttyACM0", baud=9600, origin=(0, 0)) hw_controller = HardwareController(gps=gps) hw_controller.center() volt_left = [] volt_right = [] volt_center = [] for i in range(100): volt_center.append(hw_controller.steer_adc.voltage) hw_controller.steer_dac.value = 10000 while True: user_input = input("Continue:") if user_input == "": break hw_controller.left() while True: user_input = input("Continue:") if user_input == "": break for i in range(100): volt_left.append(hw_controller.steer_adc.voltage) hw_controller.right()
# parser = argparse.ArgumentParser() # # parser.add_argument('--gps-log', help='Optional GPS log file') # parser.add_argument('--path', help='The input path file') # # args = parser.parse_args() # # if len(sys.argv) > 1: # gps_log = sys.argv[1] # else: # gps_log = None gps_log = None input_path = "sample-path" gps = UBX(port="/dev/ttyACM0", baud=9600, origin=(0, 0), gps_log=gps_log) # I2C Setup i2c = busio.I2C(board.SCL, board.SDA) gps.start_reading() hardware_controller = HardwareController(gps=gps) path_controller = DQNController( model_file="controller/models/COMPLEX_ARCH_1_IN_5_OUT.h5") try: hardware_controller.startup() hardware_controller.start_control() # Speed Override: speed_volt = 0.8
import busio import adafruit_ads1x15.ads1115 as ADC import adafruit_mcp4725 as DAC from adafruit_ads1x15.analog_in import AnalogIn import digitalio as DIO import yaml if __name__ == "__main__": current_speed = 0 current_angle = 0 max_speed = 10 max_angle_left = 20 max_angle_right = -20 # Setup GPS gps = UBX(port="/dev/ttyACM0", baud=9600) # gps.start_reading() # I2C Setup # Setup Steering Controller # steering_controller = SteeringController(i2c=i2c) # # # Setup Speed Controller # speed_controller = SpeedController(i2c=i2c, gps=gps) gps.start_reading() hw_controller = HardwareController(gps=gps) gps_data = [] try: while True: