For complex unmanned docking missions, limited communication bandwidth and delays do not allow ground operators to have immediate access to all real-time state information and hence prevent them from playing an active role in the control loop. Advanced control algorithms are needed to make mission critical decisions to ensure safety of both spacecraft during close proximity maneuvers. This is especially true when unexpected contingencies occur. These algorithms will enable multiple space missions, including servicing of damaged spacecraft and missions to Mars. A key characteristic of spacecraft servicing missions is that the target spacecraft is likely to be freely tumbling due to various mechanical failures or fuel depletion. Very few technical references in the literature can be found on autonomous docking with a freely tumbling target and very few such maneuvers have been attempted. The MIT Space Systems Laboratory (SSL) is currently performing research on the subject. The objective of this research is to develop a control architecture that will enable safe and fuel-efficient docking of a thruster based spacecraft with a freely tumbling target in presence of obstacles and contingencies. The approach is to identify, select and implement state estimation, fault detection, isolation and recovery, optimal path planning and thruster management algorithms that, once properly integrated, can accomplish such a maneuver autonomously. Simulations and demonstrations on the SPHERES testbed developed by the MIT SSL will be executed to assess the performance of different combinations of algorithms. To date, experiments have been carried out at the MIT SSL 2-D Laboratory and at the NASA Marshall Space Flight Center (MSFC) flat floor.