Using a multi-objective controller to synthesize simulated humanoid robot motion with changing contact configurations | Synapse