This paper presents constrained_manipulability, a C++ library to compute and visualize a robot manipulator’s constrained motion capacities. Manipulability polytopes provide a geometrical tool to evaluate the volume of free space surrounding the robotic arm when considering both environmental and intrinsic robot constraints, such as collisions and joint limits, respectively. Moreover, the polytopes defined by these convex constraints represent feasible configurations for the whole robot, that can be utilized in inverse kinematics (IK) optimization algorithms to produce collision-free motion trajectories. The library is encapsulated in a Robot Operating System (ROS) package. We include ROS 1 and ROS 2 implementations of the core C++ library. The constrained_manipulability package also heavily depends on our robot_collision_checking package, a ROS interface for collision checking via the Flexible Collision Library (FCL).