this paper considers the problem of steering the state

of the system

to a prescribed target

. The input

is restricted to lie in a prespecified set Ω which is assumed compact. Unlike the results of previous authors, we allow

to be any set and do not require

to be convex or closed. Necessary conditions and sufficient conditions for the existence of a control which steers the system to the target from a specified initial condition are given. Conditions for global controllability to the target are also derived. An additional concept of controllability that we investigate is that of complete controllability. Complete controllability, is concerned with the ability to steer the system from any initial point to any final point. One of the most important results of this paper is that we develop a technique for constructing a steering control. Previous work on the constrained controllability problem has dealt with methods for determining a steering control in only a limited way. Finally, numerical techniques for checking controllability and for constructing a steering control are described and the results obtained from the application of our algorithm to several examples are presented.