This paper addresses the mobility determination of parallel manipulators (PMs) using screw theory with algebra methods on an open-source computer algebra package: Sympy (symbolic python). The screw theory can specify the number and the type of motions owned by PMs with over-constrained or non-over constrained kinematic structures. The algebra methods are applied to obtain reciprocal of a screw or a screw system and basis of a screw system using null-spaces and the row/column-spaces technique, respectively. Hence, an object-oriented python module, called a pyScrew4Mobility module, is designed to realize such implementation. The module consists of three classes namely a Screw, a ScrewSystem and a ManipulatorMobility. A screw is constructed by the class of Screw, including its algebraic calculation such as negation, addition, multiplication, and product of two screws. Then, the ScrewSystem is used to construct a system of screws. It can be used to find reciprocal screws, unique screws within the system of screws, and calculate the products of two systems of screws. The last class or ManipulatorMobility has a direct implementation to determine the mobility of PMs. It uses information from the list of unit screw direction, position, and pitch. Finally, the designed screw module is tested to demonstrate its capability to determine the mobility of four well-known PMs, i.e. 3-PRRR; 3-PR(Pa)R; 4-PRRU; and 6-UPS, including the respective time spent for calculation.
Read full abstract