def fuzzy_velocidad(q,setpoint,a,cliente): sol=-1 #while 1: try: cliente=a.envio_consulta_fisica(cliente,"pose") #valor_x,valor_y,valor_t=self.a.devuelve_valors() #ArUtil.sleep(100) valor_x=a.x valor_y=a.y #print valor_x, valor_y cliente=a.envio_consulta_fisica(cliente,"updateNumbers") #ArUtil.sleep(100) valores_f=a.devuelve_valorf() mi_x=valores_f[1] mi_y=valores_f[2] #print mi_x, mi_y #mi_th=self.valores_f[3] dato=[] if (len(valor_x)>0): for a in range(len(valor_x)): dato.append(math.sqrt(pow(valor_x['x%d' % a]-mi_x,2)+pow(valor_y['y%d' % a]-mi_y,2))) valor_distancia=min(dato) #la distancia mas cercana tomada de la plataforma sol=controlador(setpoint,valor_distancia) #Controlador difuso if sol<0: sol=0 q.put(sol) except: #print "Fallo inicio" pass
def fuzzy_velocidad(setpoint,ip,a,cliente): sol=-1 try: cliente=a.envio_consulta_fisica(cliente,"pose") #valor_x,valor_y,valor_t=self.a.devuelve_valors() valor_x=a.x valor_y=a.y #print valor_x, valor_y #ArUtil.sleep(100) cliente=a.envio_consulta_fisica(cliente,"updateNumbers") valores_f=a.devuelve_valorf() print 1 mi_x=valores_f[1] mi_y=valores_f[2] #print mi_x, mi_y #mi_th=self.valores_f[3] dato=[] if (len(valor_x)>0): for a in range(len(valor_x)): #SIP en c. #print math.sqrt(pow(valor_x['x%d' % a]-mi_x,2)+pow(valor_y['y%d' % a]-mi_y,2)), "calculo" dato.append(math.sqrt(pow(valor_x['x%d' % a]-mi_x,2)+pow(valor_y['y%d' % a]-mi_y,2))) valor_distancia=min(dato) #la distancia mas cercana tomada de la plataforma sol=controlador(setpoint,valor_distancia) #Controlador difuso if sol<0: sol=0 except: #print "Fallo inicio" sol='e0' print sol return sol
def fuzzy_velocidad(setpoint, ip, a, cliente): sol = -1 try: cliente = a.envio_consulta_fisica(cliente, "pose") #valor_x,valor_y,valor_t=self.a.devuelve_valors() valor_x = a.x valor_y = a.y #print valor_x, valor_y #ArUtil.sleep(100) cliente = a.envio_consulta_fisica(cliente, "updateNumbers") valores_f = a.devuelve_valorf() print 1 mi_x = valores_f[1] mi_y = valores_f[2] #print mi_x, mi_y #mi_th=self.valores_f[3] dato = [] if (len(valor_x) > 0): for a in range(len(valor_x)): #SIP en c. #print math.sqrt(pow(valor_x['x%d' % a]-mi_x,2)+pow(valor_y['y%d' % a]-mi_y,2)), "calculo" dato.append( math.sqrt( pow(valor_x['x%d' % a] - mi_x, 2) + pow(valor_y['y%d' % a] - mi_y, 2))) valor_distancia = min( dato) #la distancia mas cercana tomada de la plataforma sol = controlador(setpoint, valor_distancia) #Controlador difuso if sol < 0: sol = 0 except: #print "Fallo inicio" sol = 'e0' print sol return sol
def fuzzy_velocidad(q, setpoint, a, cliente): sol = -1 #while 1: try: cliente = a.envio_consulta_fisica(cliente, "pose") #valor_x,valor_y,valor_t=self.a.devuelve_valors() #ArUtil.sleep(100) valor_x = a.x valor_y = a.y #print valor_x, valor_y cliente = a.envio_consulta_fisica(cliente, "updateNumbers") #ArUtil.sleep(100) valores_f = a.devuelve_valorf() mi_x = valores_f[1] mi_y = valores_f[2] #print mi_x, mi_y #mi_th=self.valores_f[3] dato = [] if (len(valor_x) > 0): for a in range(len(valor_x)): dato.append( math.sqrt( pow(valor_x['x%d' % a] - mi_x, 2) + pow(valor_y['y%d' % a] - mi_y, 2))) valor_distancia = min( dato) #la distancia mas cercana tomada de la plataforma sol = controlador(setpoint, valor_distancia) #Controlador difuso if sol < 0: sol = 0 q.put(sol) except: #print "Fallo inicio" pass