Class Limb

java.lang.Object
com.marginallyclever.ro3.node.Node
com.marginallyclever.ro3.node.nodes.pose.Pose
com.marginallyclever.ro3.node.nodes.pose.poses.Limb
All Implemented Interfaces:
PoseChangeListener, EventListener

public class Limb extends Pose

Limb is a linear chain of bones driven by joints powered by muscles. Limb is designed to handle six joints or less.

  • Bones are represented by Poses.
  • Joints are represented by HingeJoints.
  • Muscles are represented by Motors.
  • The end of the chain - at the wrist - is a Pose called the end effector.
  • The target is a Pose that the end effector is trying to reach at a given linear velocity.

Limbs perform both Forward Kinematics and Inverse kinematics. In earlier versions of the app the concerns were separated, but this made it difficult to tell who was in charge and led to cyclic, jittery behavior.