Exoskeleton Model - Setting Initial Poses and Beyond

Hi there AnyBody colleagues,

I want to open up this discussion with a question on setting the initial position of a robot/exoskeleton model but I will probably keep this discussion going with more questions as I come across them! So I'll give some background first on then dive into the question of setting the robot's initial pose.

Overview of simulation set-up
My simulation set-up consists of a SW-exported full-body exoskeleton model (XO) and a human model that should end up looking like the image below.
image

Current Issue
I want to set up my XO model such that I could provide initial joint angles to position the XO prior to running initial condition steps in my studies. The robot CAD is not in an ideal initial pose to connect the human to the robot (singularities of joints), and can lead to issues connecting the two during initial conditions steps of studies. It seems it would be much more ideal to edit the pose of the robot to fit the human than the other way around. I thought I could follow the same approach used to set the human’s initial pose in the AMMR mocap model examples (inputting values into TrialSpecificData.any, Main.HumanModel.Mannequin.Posture…), however, I’m afraid this approach may be very cumbersome– If I understand correctly, I will have to apply transformations to each of the XO segments Axes0 and r0 values, correct? If this is the only path to take, so be it, but might there be other approaches I could take? Such as running a dummy XO study that provides the initial pose of the robot that can be fed into the kinematics study with the XO and human?

Thank you in advance for taking a look at this question!

*AND I want to add a thank you to @Melund for updating the SitToStand Exo model to work with the newer versions of AnyBody and the AMMR! The model has been very helpful! *

Hi @lschuring

I am glad you could use the exo model I updated. It is a very simplified example, but unfortunately we don't have anything else that we are allowed to share.

I don't personally have any experience building exoskeleton models, so I am trying to understand why the initial position is important to you. I guess a good initial position of the exo (matching the human) will make it easier to connect the human and exo while you are building the model. Is that correct? Otherwise, I think the initial position is really only important as a starting guess for the kinematic solver.

however, I’m afraid this approach may be very cumbersome– If I understand correctly, I will have to apply transformations to each of the XO segments Axes0 and r0 values, correct?

Yes. If you want to apply the correct kinematics at load time, you need to add the equations to solve the kinematic chains manually in the script. That is possible as long as it is only open kinematic chains. But you are right, it is cumbersome to do.

A dummy kinematic study XO-only study, would probably be a good alternative.

I can try to ask my colleagues how they usually approach building an exo-skeleton model.

1 Like

Thanks Morten,

I have found that the kinematic solver sometimes has difficulty bringing the human and XO together into a proper starting pose in the initial conditions step of my XO-human kinematics study. It may be the result of some other issues with the model, but I assume that tinkering with the XO start pose will help the solver at least slightly.

I'll work on setting up a dummy kinematic study and see how things pan out.

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