uf-mil-archive / PropaGator

ROS packages specific to the PropaGator robot
9 stars 11 forks source link

Azi_Drive: Thrust clipping #10

Closed jpanikulam closed 9 years ago

jpanikulam commented 9 years ago

Azi drive is auto-clipping incoming wrench commands to avoid impossible commands.

When the vehicle is commanded with too large a wrench, azi-drive does not converge, and the existing azi-drive codebase does not handle this well. This is half-solved, in the sense that the clipping will prevent a convergence problem in 99% of cases (Exceptions in the angle-ranging problem).

Lines causing this: https://github.com/uf-mil/PropaGator/blob/master/azi_drive/nodes/azi_drive_node.py#L124

jpanikulam commented 9 years ago

@zachgoins

I won't have time to fix this until June.

Possible fixes:

  1. Find the maximum wrench (at thruster saturation) for current configuration and set those to the clips
min_T = B * [-100, -100].T
max_T = B * [100,  100].T
  1. Design a smarter controller/planner that commands in Newtons, N*m and knows to clip at realistic values.
fnivek commented 9 years ago

Is this fixed? Would it be better to scale all values equally to maintain the direction of the force vector? Clipping would change the direction of the force vector which is bad for the controller.