Placing New Objects

See project description


Some snapshots from our rigid-body simulator showing different objects placed in different placing areas. (Placing areas from left: rack-1, rack-2, rack-3, flat surface, pen holder, stemware holder, hook, hook and pen holder. Objects from left: mug, martini glass, plate, bowl, spoon, martini glass, candy cane, disc and tuning fork.)

 


Feature Extraction Code

Download


Data for Learning

This data provides X and y. X are the computed features, having XXX rows and YYY columns (for YYY features). y is the label.

Instructions:
1. Download features and label data: here.
2. Run SVM-light for training this dataset.

Raw Data

This dataset has 8 objects (plate, mug, martini, bowl, candy cane, disc, spoon and tuning fork) and 7 placing areas (rack1, rack2, rack3, table, pen holder, hook and stemware holder), as shown below,

Download the objects and placing areas here and labeled placements here. Data is in the following format,

  • Point cloud of an environment: pts-[env].txt
  •             # of points
                x1  y1  z1
                x2  y2  z2
                ...
            
  • Tetrahedron of an object: [obj].tet (binary)
  •             # of points
                x1  y1  z1
                x2  y2  z2
                ...
                # of tets
                pt_idx11    pt_idx12    pt_idx13    pt_idx14
                pt_idx21    pt_idx22    pt_idx23    pt_idx24
                ...
            
  • placing labels: newlabelNoCollision-[env]-[obj]-xxx.txt
  •             <translation> <centroid> <rotation> <label>
    
                <translation> =>  tx ty tz
                <centroid>    =>  cx cy cz
                <rotation>    =>  r00 r01 r02 r10 r11 r12 r20 r21 r22 (3x3 matrix)
                <label>       =>  0 | 1
            

You can find the code reading these files in the next section.