Ros Basic Real Robot Project lectura sensor Laserscan

Hola les hago una pregunta estoy leyendo los valores del laserscan para luego pasarlo al servicio que creo en el cual me dice en el poryecto que haga eso, pero lo que me parece raro es que los valores del sensor laserscan frontal me varia, y mucho es como que a medida que me voy acercando a la pared no me disminuye mucho la la lectura y a veces me aumenta en vez de disminuirla y la verdad nose porque hace esto. Me gustaria que me ayuden ya que llevo bastante tiempo sin poder resolver este problema. Les dejo el codigo a continuación:
#!/usr/bin/env python

import rospy

from scan_test.srv import FindWall, FindWallResponse, FindWallRequest

from sensor_msgs.msg import LaserScan

from geometry_msgs.msg import Twist

request = FindWallRequest()

class Scannerwall:
def init(self):
self.publicador = rospy.Publisher(’/cmd_vel’, Twist, queue_size=1)
rospy.Subscriber(’/scan’, LaserScan, self.callback) # Ya que esta constantemente
rospy.Service(’/my_service’, FindWall,self.my_callback) # Igual este
self.laserFrontal = None
self.rayo270 = None
self.move = Twist()

    # Aca inicia el loop que printea y corre los comandos que quieras todo el tiempo
    # Con rospy.sleep limita cada cuanto corre el loop
    while not rospy.is_shutdown():                 # Mientras no se aprete ctrl + c
        print('Frente = ', self.laserFrontal)
        print('270 = ', self.rayo270)

        rospy.sleep(0.1)
  
def publicando(self, x, z):
    self.move.linear.x = x

    self.move.linear.z = z

    self.publicador.publish(self.move)

    rospy.sleep(1)

def callback(self, msg):
    self.laserFrontal = msg.ranges[360]
    self.rayo270 = msg.ranges[270]
    rospy.sleep(1)

def my_callback(self, request):
    respuesta = FindWallResponse()
    while respuesta.wallfound != True:
        print(self.laserFrontal)
        if self.laserFrontal > 0.8:
            self.publicando(0.1, 0)

        else:
            while self.rayo270 > 1:
                self.publicando(0, 0.1)

            else:
                respuesta.wallfound = True
    
    return respuesta        

rospy.init_node(‘servidor_servicios’)

robot = Scannerwall()