Esempio n. 1
0
def cleanup():
    servo.stop_servo(PAN_SERVO_PIN)
    servo.stop_servo(TILT_SERVO_PIN)

PWM.set_loglevel(PWM.LOG_LEVEL_ERRORS)
servo = PWM.Servo()
lidar = Lidar_Lite()
connected = lidar.connect(1)

if connected <= -1:
    print "Not Connected"
    exit(1)

print "Pan_Angle, Tilt_Angle, Distance (cm), Error"
INCREMENT = 2
for t in range(TILT_MIN_ANGLE, TILT_MAX_ANGLE+1, INCREMENT):
    tilt(t)
    for p in range(PAN_MIN_ANGLE, PAN_MAX_ANGLE+1, INCREMENT):
        pan(p)
        try:
            time.sleep(SLEEP_TIME)
            distance = lidar.getDistance()
            print p, ",", t, ",", distance, ","
        except:
            print p, ",", t, ",", -1, sys.exc_info()[0]
            pass

cleanup()

INCREMENT = 2
W = 1 + (PAN_MAX_ANGLE - PAN_MIN_ANGLE) / INCREMENT
H = 1 + (TILT_MAX_ANGLE - TILT_MIN_ANGLE) / INCREMENT
MaxDepth = 0
depths = [[0 for x in range(W+1)] for y in range(H+1)]

i=0;
for t in range(TILT_MIN_ANGLE, TILT_MAX_ANGLE+1, INCREMENT):
    tilt(t)
    j=0
    for p in range(PAN_MIN_ANGLE, PAN_MAX_ANGLE+1, INCREMENT):
        pan(p)
        try:
            time.sleep(SLEEP_TIME)
            depth = lidar.getDistance()
            if depth > MaxDepth:
                MaxDepth = depth
            depths[i][j] = depth
        except:
            pass
        j+=1
    i+=1

print "P2"
print W, H   #"91 57"
print MaxDepth
for y in range(i):
    for x in range(j):
        print depths[y][x],
    print ""