def update_params(self, params: Any, **kwargs) -> LaserBeam:
        """
        Updates parameters of the received LaserBeam object in the random direction.

        :param params: LaserBeam object to be updated.
        :returns: Updated object.
        """
        sign = kwargs.get("sign", 1)
        random_step = np.random.uniform(0, self.max_step)
        d_params = self.__params_ranges * random_step * self._random_direction()
        theta_prim = LaserBeam.from_numpy(params.to_numpy() + sign * d_params)
        theta_prim = self.clip(theta_prim)
        return theta_prim

        Updates parameters of the received LaserBeam object in the random direction.

        :param params: LaserBeam object to be updated.
        :returns: Updated object.
        
art/attacks/evasion/laser_attack/laser_attack.py