-
Notifications
You must be signed in to change notification settings - Fork 80
Tasks
This page collects some useful information about the tasks available in TSID.
Most tasks in TSID allow the user to specify a mask (e.g., TaskSE3Equality
, TaskCOM
, TaskJointPosture
, TaskActuationBounds
, TaskJointBounds
). Masks are vectors of binary numbers (0 or 1) that specify which axes of the task are actually controlled. This feature is extremely useful, for instance, to control only the xy position of the center of mass of the robot, or to control only the position (or only the orientation) of a frame.
For TaskSE3Equality
, the mask can be either applied in the local frame or in the world frame, depending on the value of the flag local_frame
(which is true by default). Therefore, if you want to apply the mask in the world frame (which is the most common use case) you need to call the method TaskSE3Equality::useLocalFrame(false)
before starting the controller.
Another common doubts is whether, when a mask is used, the reference trajectory should have the size of the masked task or the size of the original task. In TSID we have decided not to change the size of the reference depending on the mask because this seemed to be simpler for the user.