Ejemplo n.º 1
0
 def conv(elem, origin):
     return visual_conversions.vox_to_pointcloud2_msg(
         elem['known_occ'],
         scale=self.scale,
         frame='gpu_voxel_world',
         origin=origin,
         density_factor=3)
Ejemplo n.º 2
0
 def get_gt(self, density_factor=3):
     pts = visual_conversions.vox_to_pointcloud2_msg(
         self.elem['gt_occ'],
         scale=self.scale,
         frame='gpu_voxel_world',
         origin=self.origin,
         density_factor=density_factor)
     return pts
Ejemplo n.º 3
0
 def get_segmented_points(self):
     pts = visual_conversions.vox_to_pointcloud2_msg(
         self.elem['known_occ'],
         scale=self.scale,
         frame='gpu_voxel_world',
         origin=self.origin,
         density_factor=3)
     return [pts]
 def publish(self, name, voxelgrid):
     if tf.is_tensor(voxelgrid):
         voxelgrid = voxelgrid.numpy()
     msg = conversions.vox_to_pointcloud2_msg(voxelgrid,
                                              frame=self.frame,
                                              scale=self.scale,
                                              origin=self.origin,
                                              density_factor=3)
     msg = self.transformer.transform_to_frame(msg, "gpu_voxel_world")
     self.pubs[name].publish(msg)
     self.last_pt_cloud = msg
Ejemplo n.º 5
0
 def get_gt(self, density_factor=3):
     vg = np.ones((8, 8, 11))
     scale = 0.02
     origin = visual_conversions.get_origin_in_voxel_coordinates(
         (1.45, 1.92, 1.43), scale=scale)
     pts = visual_conversions.vox_to_pointcloud2_msg(
         vg,
         scale=scale,
         frame='gpu_voxel_world',
         origin=origin,
         density_factor=3)
     return pts
Ejemplo n.º 6
0
    def get_gt(self, density_factor=3):
        # CHEEZITs
        vg = np.ones((3, 8, 10))
        scale = 0.02
        # cheezit cheezit cheezit cheezit cheezit cheezit cheezit cheezit cheezit
        origin = visual_conversions.get_origin_in_voxel_coordinates(
            (1.55, 2.01, 1.17), scale=scale)
        cheezit_pts = visual_conversions.vox_to_pointcloud2_msg(
            vg,
            scale=scale,
            frame='gpu_voxel_world',
            origin=origin,
            density_factor=3)

        # Pitcher Pitcher Pitcher Pitcher Pitcher Pitcher Pitcher Pitcher Pitcher
        origin = get_origin_in_voxel_coordinates((1.43, 1.60, 1.05),
                                                 self.scale)
        pitcher_pts = visual_conversions.vox_to_pointcloud2_msg(
            self.elem['gt_occ'],
            scale=self.scale,
            frame='gpu_voxel_world',
            origin=origin,
            density_factor=density_factor)
        return combine_pointcloud2s([cheezit_pts, pitcher_pts])
    def transform_to_gpuvoxels(self, view, vg) -> PointCloud2:

        # TODO: It is odd that I use visual_conversions here, since I used conversions (not visual, different package
        #  of mine) get the pointcloud in the first place. However, visual_conversions has this nice function which
        #  densifies the points
        msg = visual_conversions.vox_to_pointcloud2_msg(
            vg,
            frame=view.target_frame,
            scale=view.scale,
            origin=-view.origin / view.scale,
            density_factor=self.completion_density)
        # pt = conversions.voxelgrid_to_pointcloud(vg, scale=self.robot_view.scale,
        #                                          origin=self.robot_view.origin)

        msg = view.transform_pts_to_target(msg, target_frame="gpu_voxel_world")
        return msg