Iterative convex hull is a polytope evaluation algorithm developed for the generic class of the linear algebra problems: $$ A\bm{x} = B\bm{y},\qquad \bm{y} \in [\bm{y} _{min}, \bm{y} _{max}] $$
This type of problems can be found in many different domains, one of them being the wrench capacity analysis of the human musculoskeletal models. In this paper the method overview is given as well as the verified on the assistive robotics scenario.
Paper Abstract
Many recent human-robot collaboration strategies, such as Assist-As-Needed (AAN), are promoting humancentered robot control, where the robot continuously adapts its assistance level based on the real-time need of its human counterpart. One of the fundamental assumptions of these approaches is the ability to measure or estimate the physical capacity of humans in real-time. In this work, we propose an algorithm for the feasibility set analysis of a generic class of linear algebra problems. This novel iterative convex-hull method is applied to the determination of the feasible Cartesian wrench polytope associated to a musculoskeletal model of the human upper limb. The method is capable of running in real-time and allows the user to define the desired estimation accuracy. The algorithm performance analysis shows that the execution time has near-linear relationship to the considered number of muscles, as opposed to the exponential relationship of the conventional methods. Finally, real-time robot control application of the algorithm is demonstrated in a Collaborative carrying experiment, where a human operator and a Franka Emika Panda robot jointly carry a 7kg object. The robot is controlled in accordance to the AAN paradigm maintaining the load carried by the human operator at 30% of its carrying capacity.
The full version of the paper is open access and can be found in HAL database: manuscript
Short video presentation
Getting started
Matlab and python code and more documentation about practical implementation of this method can be found on our gitlab.
Additionally the full algorithm has been implemented in the python pip package pycapacity which enables calculating different task-space capacity metrics for robots and human manipulators in real-time.
|
|
Example code
Example code for randomised 30 muscle human musculoskeltal model
|
|
The code output will be something similar to:
|
|
And when executed you’ll be able to see the 3D plot of the plot of two polytopes calculated witht the iterative convex hull method for two different precision values.