Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Template sheet #8

Open
aremazeilles opened this issue Oct 2, 2020 · 13 comments
Open

Update Template sheet #8

aremazeilles opened this issue Oct 2, 2020 · 13 comments

Comments

@aremazeilles
Copy link
Member

ping @alfonsotecnalia @simonePasi

Resuming activity. From what I see the code is in good shape. We would just have to update the template sheet with the appropriate info on the PI part, correct?

@simonePasi
Copy link
Collaborator

Yes. You mean the excel file or the readme file?

@aremazeilles
Copy link
Member Author

The excel sheet. But I think it might be better we drive it, and get back to you when needed, to clarify some issues, or to validate it

@aremazeilles
Copy link
Member Author

So I tried to update the template of walking complete. I placed in orange and column some comments. Might be worth discussing it a bit.

@alfonsotecnalia could you check the PI Algo spec?

Regarding each PI, if we address the first one, the other will follow I guess:

Peak_load_left: the vector contains [mean, std, step number].

I am wondering whether we could place the labels inside the PI file, as suggested in this issue. Any opinion?

On the intra-run, I think no aggregation is feasible: we cannot compress it more.
on the inter-run, this is unclear to me:
given two or three vectors provided by different runs : [ mean_1, std_1, step_number_1], [ mean_2, std_2, step_number_2], [ mean_3, std_3, step_number_3] , which computation would you suggest @simonePasi ?

@alfonsotecnalia
Copy link

I have already check the spec and include some comments.

I am wondering whether we could place the labels inside the PI file, as suggested in this issue. Any opinion?

I would say it would be good to include the label tag as the different parts of the vector have different meaning

@aremazeilles
Copy link
Member Author

Resuming the action
@simonePasi , adding the label of the field within the vector is up to you. You decide. I think it is better with, but this is not mandatory.

Intra run aggregation: how to compress a PI score more

  • peak_load_{left, right} = [N, N, scalar] : we could decide to limit to the mean, or leave at is (i.e not applicable)
  • rms_load_{left, right}: scalar, ok
  • `stance_time_{left, right} = [%, %, scalar] : same as peak
  • peak_load_shoulders_{left,right} = [N, N, N, N, N, N, Nm, Nm, Nm, Nm, Nm, Nm, \#] : norm of the force? fir the torque I don't know
  • rms_load_shoulders_{left, right} = [N, N, N, Nm, Nm, Nm]: like peak?

inter run aggregation: we have several captures: how to combine the pi of the different runs

  • peak_load_{left, right} : we could decide to limit to the mean, or leave at is (i.e not applicable)
  • rms_load_{left, right}: [0, mean, st_dev] ok
  • stance_time_{left, right} : same question as for peak
  • peak_load_shoulders_{left,right}: norm of the force? for the torque I don't know
  • rms_load_shoulders_{left, right}: like peak?

@aremazeilles
Copy link
Member Author

I updated the entries for the input files and the program command as well.

@alfonsotecnalia I left in the current format, wrench_CrutchLeft and not CrutchLeft_wrench. I have no particular preference. But the current documentation proposes that format. If you to change it please confirm it.

@simonePasi, please focus on the aggregation part, I think this is the last thing we would need to complete the metric part.

@simonePasi
Copy link
Collaborator

simonePasi commented Dec 3, 2020

@aremazeilles I prefer to leave "standard deviation" entry in the PIs. Is it a problem? For single runs the value could be NaN

@aremazeilles
Copy link
Member Author

could you identify the entry you are referring to?

@simonePasi
Copy link
Collaborator

Intra run aggregation:

  • peak_load_{left, right} = [N] mean of the means
  • rms_load_{left, right}: [N] rms of rms values
  • stance_time_{left, right} = [N] mean of the means
  • peak_load_shoulders_{left,right} = [N, N, N, Nm, Nm, Nm] : mean of the means both for forces and torques
  • rms_load_shoulders_{left, right} = [N, N, N, Nm, Nm, Nm]: rms of the rms valuess both for forces and torques

inter run aggregation: same as intra run aggregation

@aremazeilles
Copy link
Member Author

I think we still have to make some iteration here.
The intra-run aggregation is an option provided to compress a PI value, if it makes sense. For example, some a PI could be all step lenght, i.e a vector of all step lenght measured. An intra-run aggregation could consist in computing the mean (and std) of all the values of the vector. Also an inter-run aggregation (Across all repettions) woudl consist in computing mean and std of all the step lenght put together.

Let start with the first ones: peak_load_{left, right}

  • one PI format : vector containing [mean, std, step number]
  • intra run agg: I don't think we can do any expect focusing on mean and std
  • inter run agg: meaning given score of repetition 1 [mean1, std1, step number1] and repetition 2 [mean2, std2, step number 2] ...., how can we get to a joint PI? We cna compute the mean of the mean (although mathematically I think this computation is wrong, as the the two repetition may be of different length

So my suggestion would be:

intra_run_aggregation: na (Not applicable, ie the result stays as is)
inter_run_aggregation: [mean] 

@alfonsotecnalia how do you write mean of the first entry of all vectors??

I would also suggest extending the PI format with:

type: 'vector'
label: ['mean', ' std', ' step number' ]
value: [170.73955, 27.67778, 12.00000]

@simonePasi
Copy link
Collaborator

simonePasi commented Dec 17, 2020

I'm agree with your suggestion:
intra_run_aggregation: na for every PI

inter_run_aggregation: mean and rms values i.e.

  • peak_load_{left, right} = [N] mean of the means
  • rms_load_{left, right}: [N] rms of rms values
  • stance_time_{left, right} = [N] mean of the means
  • peak_load_shoulders_{left,right} = [N, N, N, Nm, Nm, Nm] : mean of the means both for forces and torques
  • rms_load_shoulders_{left, right} = [N, N, N, Nm, Nm, Nm]: rms of the rms valuess both for forces and torques

@aremazeilles
Copy link
Member Author

That would thus be:

# peak_load_{left, right}
inter_run_aggregation: [[-,0], mean] #i.e mean of all 1st entry of vector, mean of the mean
# rms_load_{left, right}
inter_run_aggregation: [[0], rms] # rms of all values
# stance_time_{left, right} 
inter_run_aggregation: [[-,0], mean] #i.e mean of all 1st entry of vector, mean of the mean

For the peak_load_shoulder and rms_load_shoulder, you expect to get a 6 entry vector, where each entry is the mean /rms value of all related vector entry, is that correct?

@simonePasi
Copy link
Collaborator

Correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants