-
Notifications
You must be signed in to change notification settings - Fork 0
Spatiotemporal Feasibility Theory
License
bc/stfeasibility
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
[![DOI](https://zenodo.org/badge/138075203.svg)](https://zenodo.org/badge/latestdoi/138075203) --- output: github_document --- dependencies on linux ```bash sudo apt-get install libcgal-dev libglu1-mesa-dev libglu1-mesa-dev ``` ```{r, echo = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "README-" ) ``` pre-installation ```r install(dependencies=TRUE) # this should get them all install.packages(c("lpSolve", "hitandrun", "ggpubr", "reshape2", "plyr", "RColorBrewer", "plotly", "pracma",'xtable','caTools','GGally','plotrix','scatterplot3d','microbenchmark','pbmcapply','pbapply','geometry','rgl')) load_all() ``` # stfeasibility ![some_text](https://user-images.githubusercontent.com/13772726/41803667-211f53bc-7640-11e8-9f5d-a91df3a62712.png) The goal of stfeasibility is to evaluate, for a given force trajectory, for a static tendon-driven limb, the feasible combinations of time-varying muscle activation patterns. make TODO: cal invite # stfeasibility Spatiotemporal Feasibility Theory full task is 2 seconds A matrix doesn't change - [ ] Tasks: [palmar force, and distal force scaling task, arc line from palmar to distal] - [ ] Conditions: [degenerate case, velocity constrained] Evaluations: - [ ] compute: linsolve for the optimal l2 activation trajectory - [ ] compute: linsolve for the minimum change in activation - [ ] compute: generate 10k activation trajectories - [ ] for each activation trajectory, calculate the maximum velocity incurred - [ ] make cumulative distribution. x axis is max velocity for activation trajectory - [ ] show distribution of bottom 1% l2 activation trajectory from comparisons: - [ ] compare 10k from degenerate vs velocity-constrained to get the % remaining solutions. Hongchul Sohn / Nichols/Birckholder - Cat hindlimb Matt Tresch - Rat hindlimb model Largest 30 degree cone (go around those parts) -------------- 0 torques 1. by- 2. 3. nice to haves but definitely put in discussion 1. Acceptance of error, a cube around each point being all valid output wrenches 2. conditions += Acceleration Constraint ## Installation You can install stfeasibility from github with: ```{r gh-installation, eval = FALSE} # install.packages("devtools") devtools::install_github("bc/stfeasibility") ``` ## Datasets to generate har per task for 100 tasks in force_cos_ramp in Fx distal direction, 1 Hz task frequency, 100Hz sampling frequency. constraint = 0.1/10ms == 0.1 allowable per transition. .15 for increasing. har per task for 100 tasks in ## Example This is a basic example which shows you how to solve a common problem: ```{r example} ## basic example code ``` timing: s.t. constr Unit: seconds ``` expr min lq mean median uq 3 task_v_constr 3.185497 3.185497 3.185497 3.185497 3.185497 4 task_v_constr 9.601908 9.601908 9.601908 9.601908 9.601908 5 task_v_constr 22.970029 22.970029 22.970029 22.970029 22.970029 6 task_v_constr 54.821506 54.821506 54.821506 54.821506 54.821506 7 task_v_constr 100.976341 100.976341 100.976341 100.976341 100.976341 12 task_v_constr 1365.549 1365.549 1365.549 1365.549 1365.549 1365.549 13 task_v_constr 1971.198 1971.198 1971.198 1971.198 1971.198 1971.198 14 task_v_constr 2565.451 2565.451 2565.451 2565.451 2565.451 2565.451 15 task_v_constr 4164.274 4164.274 4164.274 4164.274 4164.274 4164.274 ``` benchmarks <- cbind(num_tasks =c(3,4,5,6,7,12,13,14,15), minutes =c(3.185497, 9.601908, 22.970029, 54.821506, 100.976341, 1365.549 , 1971.198 , 2565.451, 4164.274)) timing: 100k trajectories from 49 dimensional space = 5 minutes of point picking 10k trajectories from 49 dimensional space = 2 minutes of point picking
About
Spatiotemporal Feasibility Theory
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published