thread.start_new_thread( receiveFromServer, (freqSend, ) ) except: print "Error: unable to start thread" oldDesired = serverCom.desiredSpeed #robot.startLineFollowing(serverCom.desiredSpeed) print serverCom.desiredSpeed print "--- Robot start" robot.startLineFollowing(int(serverCom.desiredSpeed)) v_now = 0 dist,t_im= findDist() P = 18 I = 1 err = 0 while 1: serverCom.currentSpeed = v_now # serverCom.displayData() if dist>0: if dist >= cruise_dist: err_prev = err err = (dist-v_now*t_im) - cruise_dist i_err = scipy.integrate.simps([int(err_prev), int(err)]) err_new = P*err + I*i_err temp_sp = min(int(serverCom.desiredSpeed), err*t_im) v_now = max(temp_sp,0) if dist<400: v_now = 0 robot.startLineFollowing(int(v_now*0.645)) dist,t_im= findDist()
thread.start_new_thread(receiveFromServer, (freqSend, )) except: print "Error: unable to start thread" oldDesired = serverCom.desiredSpeed #robot.startLineFollowing(serverCom.desiredSpeed) print serverCom.desiredSpeed print "--- Robot start" robot.startLineFollowing(int(serverCom.desiredSpeed)) v_now = 0 dist, t_im = findDist() P = 18 I = 1 err = 0 while 1: serverCom.currentSpeed = v_now # serverCom.displayData() if dist > 0: if dist >= cruise_dist: err_prev = err err = (dist - v_now * t_im) - cruise_dist i_err = scipy.integrate.simps([int(err_prev), int(err)]) err_new = P * err + I * i_err temp_sp = min(int(serverCom.desiredSpeed), err * t_im) v_now = max(temp_sp, 0) if dist < 400: v_now = 0 robot.startLineFollowing(int(v_now * 0.645)) dist, t_im = findDist()