Exemplo n.º 1
0
class Lidar(QThread):
    # Signal pour envoyer les scans
    newScansReceived = pyqtSignal(np.ndarray, np.ndarray, np.ndarray,
                                  np.ndarray)

    def __init__(self):
        super().__init__()
        self.lidar = RPLidar('COM12', baudrate=256000)
        #self.lidar = RPLidar('/dev/ttyUSB0', baudrate=256000)
        #self.connect()
        print('connexion avec le lidar')
        self.lidar.logger.setLevel(logging.DEBUG)
        consoleHandler = logging.StreamHandler()
        #self.lidar.logger.addHandler(consoleHandler)
        info = self.lidar.get_info()
        print(info)
        health = self.lidar.get_health()
        print(health)
        print("####################")
        time.sleep(2)
        self.continuer = True

    def run(self):
        gen = self.lidar.scan2ArrayFromLidar(45, 135, 225, 315)
        while self.continuer:
            radiusRight, thetaRight, radiusLeft, thetaLeft = next(gen)
            self.newScansReceived.emit(radiusRight, thetaRight, radiusLeft,
                                       thetaLeft)
        print("fin du thread Lidar")
        self.lidar.stop()
        self.lidar.stop_motor()
        self.lidar.disconnect()
Exemplo n.º 2
0
lidar.logger.setLevel(logging.DEBUG)
consoleHandler = logging.StreamHandler()
#lidar.logger.addHandler(consoleHandler)

try:
    info = lidar.get_info()
    print(info)

    health = lidar.get_health()
    print(health)

    print("####################")
    time.sleep(2)

    gen = lidar.scan2ArrayFromLidar(45, 135, 225, 315)
    i = 0
    while True:
        radiusRight, thetaRight, radiusLeft, thetaLeft = next(gen)
        print(i)
        i += 1

    # for i, scan in enumerate(lidar.scanAllDataFromLidar()):
    #     print('===========================  %d: Got %d measures' % (i, len(scan)))
    #     for (quality, angle, distance) in scan:
    #         print(quality, angle, distance)
    #     if i > 2:
    #         break
finally:
    lidar.stop()
    lidar.stop_motor()