This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. 3 IEEE ROBOTICS & AUTOMATION MAGAZINE • JUNE 2018 impact with the operator. Ideally, both solutions should be combined to provide the highest level of safety. Although pHRI has been extensively investigated by the research community, to the best of our knowledge, no general open-source software solution exists to date. Thus, each research team or industrial organization is forced to develop its own applications, limiting the adoption, benchmarking, and growth of pHRI in the community. So the main motivation behind OpenPHRI is to provide a full-featured, opensource software library that can also be easily extended to develop pHRI applications. Overview of the Library The controller, constraints, and inputs described in this article are all available in the OpenPHRI software library, distributed online [14] free of charge under the GNU Lesser General Public License version 3 (LGPLv3) [15]. This license allows integration with open-or closed-source software as long as any modifications made to the library are shared with the community. OpenPHRI is written in C++ to maximize efficiency in terms of computation and memory footprint and to easily embed it in existing projects. Python bindings are also provided, because this language is largely used in the robotics community and because it allows quick prototyping, as most computations are performed in machine language to keep computational times small. An interface with the robotics simulator Virtual Robot Experimentation Platform (V-REP) [16] is also furnished. The V-REP remote Application Programming Interface (API) library embedded in OpenPHRI has no particular license, so it does not violate the LGPLv3. A wrapper for the Robot Operating System framework will be released in the near future. Users can easily integrate other simulators, frameworks, and robots at will. The detailed hierarchy of the project is given in Table 1.