Motion controllers can create animations from keyframe interpolation, motion capture or procedural animation, and are capable of scheduling and blending together with other controllers. The motion engine maintains a hierarchical schedule of immediate and future motions for each character.
The advantage of procedurally generated animation compared to the other options is that it can adjust to the state of the environment. For example, procedurally generated animation for a handshake could synchronize the motion with the recipient so that the handshake can happen successfully without the recipient needing to stand in the perfect spot right in front the initiator.
Motion controllers in SmartBody include the “head” (for head nod and shake) and gaze (gaze at targets) controllers, among others.
Creating your own controllers is possible, but to do that you need to modify the SmartBody source. Here are some resources that might get you started: