Connecting Exoskeleton model to Human Arm

Hello, AnyBody Team
I have a problem in connecting exoskeleton system to human arm model.
The system consists of a belt, brackets, and links. It seems more complex than i thought, So I tried with single link but I cannot find a proper connection between exoskeleton and human, I tried a lot, but it did not work,
I have to calculate relative motion between human and exo_system but i am stuck in connecting the model and i am unable to proceed further.
could you please help.

Hi Bhavna,

It is a broad question I am not able to provide specific help.

We have made a step wise approach available on our wiki page please see

Connecting an exo skeleton to a human model · AnyBody/support Wiki (github.com)

I hope the suggestions on the wiki page will help you move on, otherwise please write again.

Best regards
Søren

Hello Toerholm,

Thank you for your kind response. I am trying to connect SolidWork Exo Model to the human arm
while trying to set r0 & Axes0, model is not moving to defined location. I tried while changing origin it shifted but when i tried to change r0 and Axes0 of individual links they moved.



Please give guidance how can i move it to red frame at shoulder
Regards
Bhavna

Hi Bhavna,

r0 and Axes0 only set the load-time position of the segment.

As soon as you run kinematics analysis, the study will look for the joints, drivers, and other constraints to solve the kinematics of the system. If you would like to connect the exo model to the human arm, you would need corresponding nodes on the exoskeleton and the arm and define an appropriate joint (and possibly with a driver).

I hope this helps!

Best regards,
Dave

Hello dschander,

Thank you for your kind suggestion. I have connected Exo after making reference frame on exo_model and human_model. but I am not sure if connections are right or not because human model get distorted once I run model Kinematically, and second thing I am working on active exoskeleton for rehabilitation exercises so need to move exoskeleton and required it adjust according to the connection that have been made not the human model, is it possible ? can you please suggest me how should I make connections and provide drivers only to exoskeleton model so they can move human arm



April1_2.main.any (4.0 KB)
JointsAndDrivers.any (872 Bytes)
Exo_base_24_7_1.any (2.8 KB)

Hi Bhavna,

I can see the green and red frames lining up so I think you have made some joints between the green and red frames. Are the red reference frames located on the exoskeleton model? If so, they are quite far from the exo model.

There are several ways in which you can define these joints. You should think about the degrees of freedom in shoulder-arm model and how many of those do you want to be driven by the exoskeleton model. When you make a joint between the human and the exoskeleton, you add some constraints so that the exoskeleton drives the human model. Like I said, there are several ways in which you can define these constraints and it's specific to your exo model. You can perhaps look into the literature for some inspiration. From the modelling point of view, you must provide some constraints or drivers for the degrees of freedom in the shoulder-arm model.

Best regards,
Dave

Hello Divyaksh

There are few things I am not clear about the working anybody tech.
first let me explain about the work i.e. rehabilitation assistance for planner motion of arm in sagittal plane. but complex anatomy of human shoulder that lead to little motion in another plane So, to feed those motion there are extra DOF at shoulder Joint in Exo_model.

  1. if I restrict or provide constraint to motion of shoulder wouldn't it be like working with single DOF at Human shoulder.
  2. Those red frame are where I want to move Exoskeleton. blue frame are on Exoskeleton for joint, connection and coupling.
  3. As Exoskeleton have revolute joints so when model runs kinematically will it be possible for Exo to adjust according to human arm(length) position.
  4. Putting driver was showing error for position analysis. can you Please help me in that.

Hi Bhavna,

It's true that motion at the shoulder complex can be quite tricky. You have 3 Dofs at sternoclavicular and 3 dofs at glenohumeral joint.

  1. Yes, I suppose so. It depends on how many constraints you provide.
  2. On which segment are the red frames located? You have blue frames on the exoskeleton, green frames on the human. I don't understand what's happening with the red frames. Are they located in global ref? and is it the human model that is moving to the exoskeleton instead of the exoskeleton model moving to the human?
  3. I don't think so- If you have not modelled some mechanism to adjust for the human arm length, then it will not be able to adjust.
  4. Can you please describe the error? It's most likely some conflict between the different drivers. From the screenshot, it looks like you have a lot of drivers in the exoskeleton model.

I am sorry, I am really struggling to understand the specifics of the problems that you are facing and it's difficult for me to provide a solution.

Best regards,
Dave

Hello Divyaksh,

Red Frame are in global ref. it is right human model that is moving to the exoskeleton instead of the exoskeleton model moving to the human, but I want to move exoskeleton.
I have put the driver on every revolute joint in Main file of Exoskeleton(file created from CFD model) using "AnyKinSimpleEqDriver(AnyKinRotational)" to check kinematic determinacy of model before importing it for Human_Exo interaction. Those Drivers were in main file will they affect here n how can I use them here.
It is showing position analysis error and DriverPos unsolved issues when I am Trying to put driver on. Can you please tell how to define driver position and velocity. I have been using Cross_Trainer module for references.
A 4bar_4Revolutejoints mechanism is used to adjust for length accordingly.
Please help me in putting drivers so that this mechanism can work effectively
I can share my whole file if needed
Thanks and Regards
Bhavna

Hello Divyaksh,

I tried to check whether having driver in exo_Model (Exo_base_24_7_1.main.any) Main file will affect or not, but Main file of human_Exo (April_1_2.main.any) interaction was showing no changes even if those driver got deactivate. but when those drivers moved to Exo_any (Exo_base_24_7_1.any) file than Main file of Exo_human (April_1_2.main.any) interaction was showing position analysis error.
I tried to fix pelvis to ground to mimic sitting position but it was showing same error of position analysis because musculoskeletal can not move.
I want to fix Musculoskeletal and move exoskeletal to human body and drive exoskeleton joints so they can move arm and assist it accordingly.

Thanks and Regards
Bhavna


Hi Bhavna,

I will need to look into your model. Can you please share all the files of your model in a zip folder?

Best regards,
Dave

Hello Divyaksh,

Please find the Attached Zip file,

Thanks and Regards
Bhavna
April1_2_Bhavna.zip (4.3 MB)

Hi Bhavna,

I had a quick look at your model. Your exo model is fully constrained. The SolidWorks assembly has been exported as a collection of rigid segments fixed in space and not as a mechanism. All the exo links are individually fixed to the origin of the assembly. That is there are no joints defined in your exo model and your exo model has no degrees of freedom that can be used to attach the human and the exoskeleton. So when you add the extra constraints to connect the human and the exo, you run into problems because the model becomes over constrained.

You would need to fix the exoskeleton model so that you have some degrees of freedom. There are two ways you can do this. You can fix the mates you have defined in the SolidWorks model and translate the model again. Please see this tutorial for that.

Alternatively, you can comment out all the mates from your existing model and make the appropriate joints between the corresponding segments in AnyBody. Most of the joints look like AnyRevoluteJoint and should be easy to implement. However, you would need the correct reference nodes on the exo segments to make the joints. I couldn't see any reference nodes in the exo segments that could be used to create the joints. So you would need to create some reference nodes in your Solidworks model that could be used to make the joints in AnyBody.

Best regards
Dave

Hello Dave,

Thank you for your kind efforts and Time, I have tried comment out all the mates from your existing model and make the appropriate joints between the corresponding segments in AnyBody. it was working initially but later shows the same error of initial position analysis
It has Same issues with positional analysis.
Can you please Kindly look into it.

Thanks and Regards
Bhavna
April1_2 -1.zip (4.3 MB)

Hi Bhavna,

When you said it was working initially, and later shows error, what did you change?

I had a look at your model and it's too complex for me to fix this totally by myself. I tried a few things and the model works now. So, I have made all your exo joints to be soft and added soft drivers on all of these joints. The model solves something but I am sure there are a lot of issues that need to be fixed because not all the exo segments are aligned after adding these soft drivers and making your exo joints to be soft. And I really can't fix these because you probably have some motivations behind the design.

My advise to you is to take a step back or two and start with a simple model. By that I mean, just your exo model. Make a model with just your exo (no human) in a study and make it run. This way, you will understand all the joints that you have in the exo and the drivers or constraints you need to make the exo model run in a determinate manner. You will normally need one 6dof driver to fix one of the exo segment in space (e.g the back support link) and then a driver for each joint. Or maybe not for each joint since some of the joints in the 4 bar mechanism can be determined from the other drivers.

Once you are able to make your exo run in a standalone model without the human model, then you should think about adding the human model. I will refer you to our guide on how to connect an exoskeleton to a human model.

I also assume you have spent some time going through the tutorials.

Best regards,
Dave

April1_2 -1.zip (3.8 MB)

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