Sorry to keep asking. I don't have a time.

Hi,

I have two questions about ANYBODY system.

  1. Can i find the reaction force without the force plate platform using anybody systems? If it is possible, how can i do that?

  2. I have a moving force plate platform that move only horizontally during the 1 gait cycle.

But, A force plate platform movement have not reflected in c3d file.(Also, It is not moving in the Anybody system)

How to inverse dynamics this case?

Can i make virtual moving force plate platform using anybody

or

make similar condition using raw data or txt data ect…?

Thank you for reading

Choi…

PS. I’m sorry, my english writing skill is bad but I hope you understand. Would you give me some advices anything else?

Dear Mr. Choi,

We can’t answer all the questions on this forum in real time.

Please wait until we can make an answer to your question and please don’t write several questions again and again.

Best regards,
Moonki

Ok, I totally understand you and Anybody team's situation.

Anyway I tried to solve my questions continuously and arbitrarily.

Maybe, I think that I have found knowledge about solution of my first question about "reaction force" by my self from "anybody wiki".

Here is link.

Home · AnyBody/support Wiki · GitHub)

But, i can't find solutions about my second question.

I still need help please.

Best regard
Choi.

PS.

My second question is here or upward post.

  1. I have a moving force plate platform that move only horizontally during the 1 gait cycle.

But, A force plate platform movement have not reflected in c3d file.(Also, It is not moving in the Anybody system)

How to inverse dynamics this case?

Can i make virtual moving force plate platform using anybody or make similar condition using raw data or txt data ect?

Dear Mr. Choi,

  1. I found the issue on the time settings of your original model.
    You can solve that issue by adjusting some values in the ‘TrialSpecificData.any’ file.

  // ********** Time ***********
  // FrontFrameOffset is the offset value from the first frame of C3D file
  AnyIntVar FrontFrameOffset = 5;
  // LastFrameOffset is the offset value from the last frame of C3D file
  
//  AnyIntVar FirstFrameOffset=10;
  AnyIntVar LastFrameOffset = 5;

  1. I could see your C3D file and the human is falling down to the ground.
    And there is no information about the contact between the upper body of the human and the ground because it seems that there is no more force plate data.
    Of course you can do some extra code in order to predict the contact force between the upper body and the ground. But it is not very easy.

  2. Of course you can implement a kind of the moving force plate system.
    But it seems that there is no information in the C3D file.
    In this case, you need to prepare a separate file for the kinematics of the force plate.
    And in this case, you can not use our existing force plate class templates.
    You should invent your own force plate class template.

Best regards,
Moon Ki Jung

Hello, Sir.

I have appreciated you.

coursing, you gave some advice to me at last time.

but.

Despite of your helps, my work does not proceed again.

I face a crisis situation.

I have created a “Force Plate platform Class file” to make moving force plate platform in Anybody system.

That file name is “ForcePlateType2AutoDetectionMovingForcePlate.any”

But my class file have some serious errors.

So… my error message is this.

“Model is kinematically indeterminat: Position analysis failed: 452 independent constraints and 455 unknowns.”

Unknowns are more grater than independent constraints.
(Anybody Can’t solve on mathematical reason)

But, there are no grammatical errors.

I think

No defined 1 AnyRefNode = 1 unknowns

I define Only “AnySeg Corners={AnyRefNode c01={};}” by “AnyKinDriverMarker”.

another edge of corners are not defined.by the driver.

“AnySeg Corners={AnyRefNode c02={};};”
“AnySeg Corners ={AnyRefNode c03={};};”
“AnySeg Corners ={AnyRefNode c04={};};”

I assume that They are 3 unknowns.

But i have no idea about method of solution.

Can you give or recommend me some example .any file or tutorial sample “How to make a custom modified ForcePlatePlatform.any class file”?

I don’t know how to do…

I would attached my file.

I hope your some advices please.

Thank you for reading.

Best regards Choi.

Ps.

I’m using AMS version is 6.03.

I Create "c01"Marker in “c3d” file to move force plate in Anybody system.

And I using “AnyKinDriverMarker” script

c01 mean is one of Force plate edges(Corner).

Dear Choi,

  1. You should not use the force plate class template.
    You should create your own force plate class template.
    Also there are something which you should modify in your new force plate class template.
    Because it is moving, so you should not use the AnyFixedRefFrame objects.
    All the nodes such as c01, c02, c03 and c04 should be declared inside the ForcePlate segment.

  2. Also you should modify the drivers of force plate in the class template.
    I would recommend you to create a prismatic joint between the global reference frame and this force plate segment.
    And I would drive that force plate segment with this c01 marker.

  3. As I mentioned already, the biggest problem of your model is that both left and right feet are on the same force plate.
    You should solve this issue first.

Best regards,
Moonki Jung

Hi

It’s been a long time.

I tried to predict ground reaction forces without measurements (conditional contact).

Using a example in anybody wiki.
(here is link)

http://wiki.anyscript.org/index.php/How_to_predict_Ground_Reaction_Forces_without_measurements_(conditional_contact)

I applied that method on my mocapmodel.

but, i can’t see result of reaction force on the ground.

Perhaps, i can’t find the list name about reaction force in category of results or there is somthing wrong in my model.

What is problem?

I only modified “main.any” in “MoCapModel”.

Here is code.


main.any (using MoCapModel)

#include “…/libdef.any”
// Switch to use the detail neck model
#define UseDetailNeckModel 0
// Switch to include Arms
#define UseUpperExtremities 1
// Prefix for the output file names
// to distinguish the full body and the lower body models
#define OutputFileNamePrefix “FullBody-”
// Switch to save all results in output folder
#ifndef AutoSaveOption
#define AutoSaveOption 0
#endif

// Detailed description can be found at:
#include “Model/Description.any”

//Set this to 1 if you want to run the motion and Parameter Optimization identification
//**************************************************
#ifndef MotionAndParameterOptimizationModel
#define MotionAndParameterOptimizationModel 0
#endif

//Set this to 1 if you want to run the inverse dynamic analysis
#ifndef InverseDynamicModel
#define InverseDynamicModel 1
#endif
//Usually only have one of the two switches active so set the inactive analysis to 0
//**************************************************

#include “<ANYBODY_PATH_TOOLBOX>\FrictionContactMuscles\ConditionalContactClass.any”
#include “<ANYBODY_PATH_TOOLBOX>\FrictionContactMuscles\ConditionalContactFootPlaneClass.any”

// Following will include several predefined classes to generate markers and environments
// Usually, there is no need to make changes in this file:
#include “Model/Classes.any”

Main = {

// This file controls most of the Settings of your Model, the following items are defined here:
// 1. Marker Names
// 2. Marker locations
#include “Model/ModelSetup.any”

// Define the Environment around the human
#include “Model/Environment.any”

// This file controls most of the Trial Specific setup, the following items are defined here:
// 1. C3D file Name
// 2. Start and End Frame
// 3. Subject Anthropometric data
// 4. Initial guess on position
// If you want to run the model on your own data this is the place to start:
#include “Input/TrialSpecificData.any”

 ConditionalContactFootPlaneClass LeftFootSupport (

BaseObject=Main.EnvironmentModel.GlobalRef,
Foot=Main.Studies.HumanModel.BodyModel.Left.Leg.Seg.Foot,
DisplayTriggerVolume=1,
DisplayTargetNode=1
) = {
UserDefinedLimitLow=-0.05;
UserDefinedLimitHigh=0.001;
UserDefinedRadiusLimit=1.0;
Strength=2800;
StaticFrictionCoefficient=0.8;
NormalDirection=2;
FrictionDirection1=0;
FrictionDirection2=1;
ScaleFactor=10;
};

ConditionalContactFootPlaneClass RightFootSupport(
BaseObject=Main.EnvironmentModel.GlobalRef,
Foot=Main.Studies.HumanModel.BodyModel.Right.Leg.Seg.Foot,
DisplayTriggerVolume=0,
DisplayTargetNode=1
)={
UserDefinedLimitLow=-0.05;
UserDefinedLimitHigh=0.001;
UserDefinedRadiusLimit=1.0;
Strength=2800;
StaticFrictionCoefficient=0.8;
NormalDirection=2;
FrictionDirection1=0;
FrictionDirection2=1;
ScaleFactor=10;
};

AnyFolder Studies ={
// Usually, there is no need to make changes in the following files. PLease be aware. that
// changes in the Kinematics and InverseDynamics may lead to model failure and/or unrealistic results:
#if MotionAndParameterOptimizationModel
#include “Model/Kinematics.any”
#endif

#if InverseDynamicModel
#include "Model/InverseDynamics.any"  
#endif



};

}; //Main

what is problem?

And how to do to solve the problem?

Dear Mr. Choi,

Attached please find a modified version of your model which includes the moving force plate platform.

  1. For conditional contacts in order to predict the forces between your upper body and the ground, you should define the target points on your thigh, trunk and arm segments.

  2. There is a good example for this one, ‘SeatedHuman’ in the AMMR example models.

  3. One issue that we found your case is that, the force measurement in the force plate also includes the inertia effect of the moving force plate itself.
    It will be better if you can measure the force and the moment values of the moving force plate itself. Then you can subtract it from what you have in your C3D file.

Best regards,
Moonki