code: def register(self, source_point_cloud, target_point_cloud,
                   source_normal_cloud, target_normal_cloud, matcher,
                   num_iterations=1, compute_total_cost=True, match_centroids=False,
                   vis=False):
          
          pass
docs: Iteratively register objects to one another.
  
          Parameters
          ----------
          source_point_cloud : :obj:`autolab_core.PointCloud`
              source object points
          target_point_cloud : :obj`autolab_core.PointCloud`
              target object points
          source_normal_cloud : :obj:`autolab_core.NormalCloud`
              source object outward-pointing normals
          target_normal_cloud : :obj:`autolab_core.NormalCloud`
              target object outward-pointing normals
          matcher : :obj:`PointToPlaneFeatureMatcher`
              object to match the point sets
          num_iterations : int
              the number of iterations to run
          compute_total_cost : bool
              whether or not to compute the total cost upon termination.
          match_centroids : bool
              whether or not to match the centroids of the point clouds
          
          Returns
          -------
          :obj`RegistrationResult`
              results containing source to target transformation and cost