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 humanrobot collaboration strategies, such as AssistAsNeeded (AAN), are promoting humancentered robot control, where the robot continuously adapts its assistance level based on the realtime 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 realtime. In this work, we propose an algorithm for the feasibility set analysis of a generic class of linear algebra problems. This novel iterative convexhull 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 realtime and allows the user to define the desired estimation accuracy. The algorithm performance analysis shows that the execution time has nearlinear relationship to the considered number of muscles, as opposed to the exponential relationship of the conventional methods. Finally, realtime 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.
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 taskspace capacity metrics for robots and human manipulators in realtime.


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.