Hybrid Robot Dynamics
|Keywords:||series-parallel hybrid robots|
|Programming languages:||C++, Python, Ruby|
|Ownership:||This software was developed by the DFKI as well as by the Robotics Research Group and the University of Bremen and is being further developed under this responsibility. For questions and suggestions, please refer to the contact persons.|
Parallel mechanisms are increasingly being used as modular subsystem units in various robots and man-machine interfaces for their superior stiffness, payload-to-weight ratio and dynamic properties. This leads to series-parallel hybrid robotic systems which are difficult to model and control due to the presence of various closed loops. Most model- based kinematic and dynamic modeling tools resolve loop closure constraints numerically and hence may suffer from inefficiency and accuracy issues. Also, they do not exploit the modularity in robot design. Further, such systems can have variable mobility, different assembly modes and can impose redundant constraints on the equations of motion. Hence, it is interesting for kinematics researchers to study the analytical solutions to geometric problems associated with a specific type of PM and their importance over numerical solutions is irrefutable. But this domain-specific knowledge is often underrepresented in the design of model-based kinematics and dynamics software frameworks.
Hybrid Robot Dynamics (HyRoDyn) is an analytical and modular software workbench written in C++ for solving kinematics and dynamics of highly complex series-parallel hybrid robots. The main idea behind HyRoDyn is to store the closed form solutions to the loop closure constraints in a configurable mechanism library which is identified by its type (for e.g. 1-RRPR, 2SPU+1U, 2SPRR+1U, 6-UPS). Based on submechanisms defined in a hybrid robot, HyRoDyn can modularly compose the loop closure function of the overall system in an automated way. The resulting loop closure Jacobian has a block diagonal structure that can be exploited in the computation of various forward and inverse kinematics and dynamics algorithms. HyRoDyn is implemented in C++ and utilizes recursive O(n) multi-body dynamics algorithms for tree type systems from the Rigid Body Dynamics Library (RBDL) based on Featherstone's algorithms. Presently, closed form solutions to mechanisms such as 1-RRPR, 2-SPU+1U, 2-SPRR+1U, 6-RUS, 6-UPS, parallelogram chains are available in its submechanism libraries and HyRoDyn can be used to analytically solve the kinematics and dynamics of arbitrary series-parallel hybrid robots composed of these submechanism modules. Actuation of the robot can be arbitrarily selected.
The input to HyRoDyn is SMURF file which can be generated using a Blender-based visual editor called Phobos. The use of visual editor makes it easy to annotate the parallel submechanism modules in a robot and assemble them to build highly complex robot models. Further, HyRoDyn has been integrated in the Robot Construction Kit (RoCK) middleware as an orogen component which provide both forward and inverse mappings between independent joint space of the robot and its actuation space at position, velocity, acceleration and force levels. The HyRoDyn-orogen component can be used for simulation as well as real time control of complex series-parallel hybrid robotic systems.