MoCap gain

Discussion in 'MuJoCo HAPTIX Feature Requests' started by David Kluger, Nov 4, 2015.

  1. Add a field to mj_set_mocap to change the gain of the motion capture. In other words, we want the ability to have smaller movements of the wrist motion tracker translate into bigger displacements of the hand in the MuJoCo environment.

    We can code something up in the API to make gain adjustments in every loop of the control cycle, but it would be clunky. It would be nice to have mj_set_mocap be able to handle MoCap gain without taking additional steps within MATLAB during every loop.

    Alternatively, is there anything we can do in Motive to increase MoCap gain in MuJoCo?
  2. Emo Todorov

    Emo Todorov Administrator Staff Member

    This is more complicated than it seems. The notion of gain does not easily apply to motion capture. Motion capture is expected to generate absolute positions and orientations, used for both simulation and rendering. So to mimic gain you would have to scale the entire 3D space - which requires not only a gain but also a center of scaling. If you are away from the center, the scaling will effectively result in a positional offset which may not be what you want. Another complication is that only translations can be scaled. The rotation space is geometrically a unit sphere, and if you dilate its surface around one orientation you will end up compressing it elsewhere.

    Perhaps we can add the option to scale translation only, centered at the position where the mocap marker was when you enabled hand tracking. There is no way to do this in Motive and you cannot really do it through the existing API because you would be fighting the internal mocap mechanism.

    Before we consider adding such a feature, is it possible to achieve the desired effect by simply making the workspace smaller and placing the objects closer to the hand? You could also zoom in on the hand in the visualizer.
  3. Translation scaling only is what we are interested in. Rotational scaling is not needed.

    Yes, this desired effect could be achieved by making the simulation objects smaller. We will likely shrink our simulations due to the fact that Motive cannot apply gain and the logistical problems associated with adding a gain feature, as you described above.