Add lidar loading utility, fixup main in motorserver.

This commit is contained in:
Piv
2020-03-09 22:01:36 +10:30
parent da40ee1875
commit ef83365fd8
2 changed files with 25 additions and 4 deletions

View File

@@ -74,8 +74,11 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer):
return grpc.ssl_server_credentials([[pvtKeyBytes, pvtCertBytes]]) return grpc.ssl_server_credentials([[pvtKeyBytes, pvtCertBytes]])
vehicle = Vehicle() if __name__ == '__main__' else MockVehicle()
if __name__ == '__main__':
vehicle = Vehicle()
servicer = MotorServicer(vehicle) servicer = MotorServicer(vehicle)
# Can't remember why I do this, is it even needed?
service_thread = Thread(target=servicer.start_server) service_thread = Thread(target=servicer.start_server)
service_thread.start() service_thread.start()

18
tracking/lidar_loader.py Normal file
View File

@@ -0,0 +1,18 @@
from rplidar import RPLidar
import pickle
def get_scans(num_scans, device='/dev/ttyUSB0', measurements_per_scan=100):
lidar = RPLidar(device)
scans = lidar.iter_scans(measurements_per_scan)
return [next(scans) for i in range(0, num_scans)]
def save_scans_bytes(scans, filename='out.pickle'):
with open(filename, 'wb') as f:
pickle.dump(scans, f)
def load_scans_bytes_file(filename):
with open(filename, 'rb') as f:
return pickle.load(f)