Picosatellites, such as CubeSats (less than 4 kg), have the potential to reduce the cost of conducting missions in space. Programs such as NASA Ames GeneSat and the National Science Foundation CubeSat-based Science Missions for Space Weather and Atmospheric Research underscore the notion that CubeSats are increasingly being considered viable platforms for scientific research. However, many measurement and communication payloads require pointing, or orbital maneuvers. Thus, the missions that can be performed by picosatellites are limited by the lack of advanced, miniaturized six degree-of-freedom guidance, navigation, and control (GN&C) systems. Development of a reusable, autonomous GN&C module for CubeSats is necessary in order to enable increasingly complex missions to be conducted in the CubeSat form factor. Picosatellites in general are highly constrained in their capabilities due to low mass, low volume, and therefore low power. The strength of the CubeSat is in numbers. Large constellations of picosatellites have the potential to revolutionize the way observations are obtained from orbit. In the future, these constellations of CubeSats will be similar to the global network of data buoys distributed throughout the oceans. Instead of taking measurements of the weather from the sea, CubeSats will be taking measurements of natural phenomena from space. These constellations will have complex pointing or formation requirements. As the number of spacecraft increases, the ability to control individual spacecraft in the constellation decreases. Therefore, these spacecraft must become capable of satisfying their own pointing and formation requirements autonomously. As part of two separate CubeSat missions, one supported by the NASA LONESTAR program, the University of Texas at Austin is developing a miniaturized picosatellite GN&C module. This research intends to develop a fully functional autonomous constrained spacecraft control software to support the CubeSat GN&C module embedded computer. By leveraging computationally efficient numerical optimization schemes, such as semi-definite programming, complex spacecraft requirements can be governed at a very high level. The research will focus on both the algorithms and the optimal implementation onto a low power embedded computer. In order to test the complex autonomy enabling software, an advanced spacecraft simulation environment will be developed and improved to allow for dynamic testing of realistic, long-term autonomous CubeSat operations. The autonomous constrained control software developed in this proposal has the potential to be tested on orbit through the CubeSat missions mentioned above. The research described in this proposal has the aim to create two major results in the NASA space technology areas of autonomous spacecraft control and autonomous rendezvous and docking. First, in the short term, the development and demonstration of a reusable GN&C module will enable myriad scientific missions in the CubeSat platform. The autonomy provided by the advanced constrained control algorithms will enable complex picosatellite missions and decrease the cost of hardware by shifting requirements away from hardware and onto control software. Second, in the long term, the spacecraft constrained control system has the ability to allow picosatellites to satisfy the complex formation constraints autonomously, thus enabling the operation of large constellations of cooperative CubeSats. Overall, these technologies have the potential to produce spacecraft missions that are more cost effective.