A chainable controller that converts thrust from Cartesian space to thruster space. This is calculated by taking the pseudoinverse of the user-provided thruster allocation matrix (TAM) and multiplying it by the reference forces: pinv(TAM) x input.
thruster_allocation_matrix_controller/ThrusterAllocationMatrixController
The input to this controller is a wrench with force components Fx, Fy, Fz and torque components Trx, Try, Trz in N and Nm, respectively.
The output of this controller is an N-dimensional vector whose elements represent the thrust associated with each thruster defined in the TAM.
- thruster_allocation_matrix_controller/reference [geometry_msgs::msg::Wrench]
- thruster_allocation_matrix_controller/status [auv_control_msgs::msg::MultiActuatorStateStamped]
- thrusters: List of thruster names. Should be provided in the same order as the TAM [N-sized string array]
- reference_controllers: List of the reference controllers. Used when setting up command interfaces for chained mode. Should be provided in the same order as the thrusters. [N-sized string array]
- TAM:
- TAMx: [N-sized double array]
- TAMy: [N-sized double array]
- TAMz: [N-sized double array]
- TAMrx: [N-sized double array]
- TAMry: [N-sized double array]
- TAMrz: [N-sized double array]