Project Checkpoint

Work Completed:

During the first week, we got the setup to run ROS which is well supported on Ubuntu. While trying to run the starter code, we faced issues with the OpenGL version supported on our system. Later we figured out that VMware lacks support for OpenGL 2.1+, though the local system does support version 4+. So we decided to dual-boot our system, to have a local test setup. We also have collected some test data-sets from kinect with which we can test our system during the later phases of the project.

In the second week, we spent a considerable amount of time understanding the code base and then we went on to profile the computationally intensive sections of the code i.e. the part of the code which gets all the possible successors and renders each one of the them to compute the cost. Only successors having cost within the specified threshold are further included in our search. The reason behind profiling is to know if there is enough computational intensity involved to go with multiple GPUs. Currently, with 1 object, the computation of cost associated with poses take an average of 64ms and takes about an average of 134ms with 3 objects. The graph below shows the plot of the time spent in rendering and computing different poses of objects when we include 1, 2 and 3 objects at a time respectively. The space dimensions used in the run was: x,y: (-0.3, 0.3) in steps of 0.2 and theta, (0, 2*pi) in steps of (pi/8).

Goals and Deliverables:

We have identified potential regions that can be parallelized and are working towards achieving it, especially the case of computing multiple poses in parallel as mentioned in the proposal. However, this involves inherent dependencies that have to be removed to make the data set independent to fully utilize the parallelism involved. Also, we will go about expanding our data set to involve more objects and bring about their rendering and computation.

We later plan to work on rendering of multiple objects parallels using OpenGL. Currently, we will have to research further on doing this to identify any concerns in regards to that. We can provide statistics in the form of graphs to show the sufficient speedup obtained for the parallelism competition.

Schedule:

Dates Proposed plan
3 - 12 April Setup ROS and understand low level implementations of the starter code
13 - 19 April Work on a small data set and identify dependencies
20 - 26 April There are multiple places, the code could be optimized, we’ll work on that and,parallelize the rendering and computation of multiple poses of a given state.
27 - 3 May Based on the parallelization achieved, we will either render multiple depth images parallely using multiple GPU’s (on AWS) or we’ll only optimize OpenGL to render a few images in parallel.
4 - 10 May Optimize, Fixing bugs, Testing and Final Report.