class
HumanoidRearrangeControllerHumanoid Controller, converts high level actions such as walk, or reach into joints positions
- param walk_pose_path:
- file containing the walking poses we care about.
- param motion_fps:
- the FPS at which we should be advancing the pose.
- base_offset:
- what is the offset between the root of the character and their feet.
Methods
- def _trilinear_interpolate_pose(self, position, hand_data)
- Given a 3D coordinate position, computes humanoid’s joints, rotations and translations to reach that position, doing trilinear interpolation.
- def build_ik_vectors(self, hand_motion)
- Given a hand_motion Motion file, containing different humanoid poses to reach objects with the hand, builds a matrix fo joint angles, root offset translations and rotations so that they can be easily interpolated when reaching poses.
- def calculate_reach_pose(self, obj_pos: _magnum.Vector3, index_hand = 0)
- Updates the humanoid position to reach position obj_pos with the hand. index_hand is 0 or 1 corresponding to the left or right hand
- def calculate_stop_pose(self)
- Calculates a stop, standing pose
- def calculate_turn_pose(self, target_position: _magnum.Vector3)
- Generate some motion without base transform, just turn
- def calculate_walk_pose(self, target_position: _magnum.Vector3, distance_multiplier: float = 1.0)
- Computes a walking pose and transform, so that the humanoid moves to the relative position
- def calculate_walk_pose_directional(self, target_position: _magnum.Vector3, distance_multiplier = 1.0, target_dir = None)
- def get_pose(self)
- Obtains the controller joints, offset and base transform in a vectorized form so that it can be passed as an argument to HumanoidJointAction
- def reset(self, base_transformation: _magnum.Matrix4) -> None
- Reset the joints on the human. (Put in rest state)
- def set_framerate_for_linspeed(self, lin_speed, ang_speed, ctrl_freq)
- Set the speed of the humanoid according to the simulator speed
Special methods
- def __init__(self, walk_pose_path, motion_fps = 30, base_offset = (0, 0.9, 0))
Method documentation
def habitat. articulated_agent_controllers. HumanoidRearrangeController. calculate_walk_pose(self,
target_position: _magnum.Vector3,
distance_multiplier: float = 1.0)
Computes a walking pose and transform, so that the humanoid moves to the relative position
Parameters | |
---|---|
target_position | |
distance_multiplier | allows to create walk motion while not translating, good for turning |