/// <summary> /// Manager for a virtual elbow prosthetic device based on Unity's Rigidbody. /// </summary> /// <param name="sensor">Virtual encoder to be attached to the virtual elbow.</param> public ElbowManager(ISensor sensor) { if (sensor == null) { throw new System.ArgumentNullException("The provided sensor object is empty."); } float[] gains = { 1000.0f, 80.0f }; controller = new StateFeedbackController(2, gains); this.sensor = sensor; }
/// <summary> /// Manager for a virtual elbow prosthetic device based on Unity's Rigidbody. /// </summary> /// <param name="controllerGains">The state feedback controller gains for the elbow.</param> /// <param name="sensor">Virtual encoder to be attached to the virtual elbow.</param> public ElbowManager(float[] controllerGains, ISensor sensor) { if (sensor == null) { throw new System.ArgumentNullException("The provided sensor object is empty."); } if (controllerGains.Length != 2) { throw new System.ArgumentOutOfRangeException("Two gains are required for a single joint (elbow) controller."); } controller = new StateFeedbackController(2, controllerGains); this.sensor = sensor; }