  This paper studies the attitude control of a satellite in three-axis by
thrusters. The mathematical model of attitude dynamics and kinematics of the
satellite is represented as a switched system with sub-systems. Each sub-system
is defined according to on/off thrusters state. A training method based on
dynamic programming is utilized which can find the appropriate switching
between sub-systems such that a cost function is optimized. Furthermore to
extend the solution for a specific domain of interest neural network is used
for approximating the cost function with basis functions. The training method
is offline and it finds the optimal weights of basis functions which can be
used to find optimal switching. It is shown that the proposed method can
execute a maneuver in fixed final time and bring the attitude to final desired
condition. Moreover, the proposed method is robust against uncertainties in
system modeling. Finally, it is shown that the control scheme can be used to
design low cost attitude control unit for micro-satellite or as a backup unit.
