Consider separating Robot IO and GCModel from the Controller

Issue #151 resolved
Samir Menon repo owner created an issue

The goal would be to reduce the controller code's dependence on the robot's state. As such the IO data structure and the SGcModel would be passed in when required (the controller will not store references to them).

Could also be desirable from some points: 1. Makes things more transparent when introducing latency in the control loop. For now one needs to know that the controller directly accesses the IO data structure.

  1. ComputeDynamics() in the multi task controller also computes the GC model. What about the case where we want to have a fast kinematic model update but a slow(er) inertial model update etc.. Also what about the case where the operational task inertia is slower etc.. The current configuration forces all of these to synchronize. While that might be good for some cases, it is potentially more generic to let the application decide.

Comments (2)

  1. Samir Menon reporter

    The downside is that doing this will break the Base control API...

    Seems like a major-ish change.

  2. Log in to comment