Moving node based on a marker


I have a marker on a segment that tracks a ligament origin. I want to create a node/point that adapts this marker location. Then, this node/point would be the origin for AnyViaPointLigament class. How can I do this?


Just define an AnyRefNode on the segment that coincides with the marker and use that as the origin for your ligament.

Thank you, Professor Rasmussen, for your reply.

The problem is that the origin and insertion of this external ligament are not completely fixed as it tracks with markers. However, nodes are fixed to the segment and cannot follow the marker position, if I am not mistaken.

Well, I guess that the marker moving with respect to the bone is due to skin artifact and not because the attachment site of the ligament is moving on the bone. So you probably want to attach the ligament to a fixed position on the bone even if the marker is moving?

Best regards,

Sorry for the late reply.

You are right about this, but let me introduce the idea, so we have a clear vision of the problem.

As you can see in the attached Picture, there is an external band (attached by an exoskeleton to the body) that I am trying to model using Anybody. The origin (marker 1) and insertion (marker 5) of the band are fixed to the body, but markers 2, 3, and 4, which track the line of action of the band, are freely moving. The ligament (AnyViaPointLigament) should pass through these markers to properly model the band length and force direction. As you already suggested, AnyRefNode would work for markers 1 and 5. But how about freely moving 2, 3, and 5 markers?

Best wishes,


Oh, I see. So this is not an anatomical ligament but rather an elastic element of an exoskeleton, right? In the real world, points 2..4 would be touching the soft tissue which distributes their contact forces to the underlying bones.

You could do the following:

  1. Define massless segments to represent markers 2..4. Use these segments as via points for the ligament.
  2. Create a driver that fixed the rotation of these segments to zero. They now work like points.
  3. Drive the position of each segment with its associated marker. Make sure Reaction.Type of these drivers is Off.
  4. Create an AnyKinLinear between the pelvis and point 2, assuming that its contact forces are mainly transferred to the pelvis. Create also AnyKinLinears between points 4 and 5 respectively and the femur.
  5. Insert these three AnyKinLinears into an AnyReacForce. This will cause the forces to transfer from the markers to the bones.

This is a procedure that should be used with care, because AnyReacForce in human-device interfaces such as this can create havoc in the kinetics with their infinite strength. However, with one end of the linear measures going to the marker, which is connected with the elastic ligament, the reaction forces should be limited. You should check post hoc, though, that the forces transferred through the AnyReacForce is not larger than what you expect from the contact force.

Thank you, Professor Rasmussen, for your detailed answer.

This topic was automatically closed 125 days after the last reply. New replies are no longer allowed.