Version 3 (modified by welberge, 6 years ago) (diff) |
---|

# HmiPhysics

## Quickstart

TODO

## HmiPhysicalHumanoid

### XML definition

TODO

### Coordinate systems

#### PhysicalJoint?

`joint.addTorque(x,y,z)` applies a torque of x on the 1st joint axis (typically its local x axis), y on the 2nd joint axis (typically its local y axis), etc. The torque is applied to the joint that rotates the underlying physical segment. The opposite torque is applied to the physical segment above. So if you add a torque of (10,0,0) on the knee joint, this is transfered to a torque of (10,0,0) on the knee segment and a torque of (-10,0,0) on the hip segment.

`joint.getAngle(i) returns the angle around the ith axis of the joint`

#### PhysicalSegment?

`segment.box.getRotation()/getTranslation()` return the rotation/translation of a segment in world coordinates

#### PhysicalHumanoid?

`ph.getCOM()/getCOMDiff` return the Center of Mass / its velocity in world coordinates.