By Pranab Agarwal, Product Manager
GGCM is a powerful non-linear solver - it provides superior solvability, extensibility, and performance. ‘Robotics’ is one of several application areas where GGCM provides unique value to solve simple through complex problems. GGCM offers key features that are directly applicable to this domain.
Consider tying your shoe-lace - your brain performs millions of computations to move your body, arms and hands such that your fingers are at the required location at the expected time – and voila, in a few seconds your laces are tied! In the computer world, this is an inverse kinematics problem – where the path is defined - but the joint angles and link translations have to be computed at every step to reach desired configurations.
For 6-axis robots, inverse kinematics is simple - there are numerous research papers available that provide ample theory to solve this problem quickly. However for 7 or higher axis robots, the problem becomes non-linear and much more difficult to solve. GGCM is specifically designed to address these complex problems; it solves higher-axis non-linear problems and its performance scales nicely as the problem size gets larger.
Now - think about collision avoidance while solving a non-linear problem. Expression constraints in GGCM allow the formulation of complex inequalities that help in calculating alternative transformations for the robot links. This helps the robot links in avoiding objects while also allowing the robot tip to follow the defined path.
GGCM provides soft-fixing capability - this enables the robot to avoid objects that lie on the path itself. When used with GGCM’s dragging functionality, it allows the application to avoid objects while interactively dragging the robot tip at run-time!
GGCM allows applications to produce solutions in both continuous and discrete modes. It also provides rich-feedback and hence helps in failure diagnostics.
Spatial is currently prototyping a Robotics Toolkit based on GGCM. This toolkit is intended to reduce the need to understand low-level GGCM functions and the complexity involved in its implementation. It provides high-level functions that allow application developers to define and solve complex robotics problems. It is based on XML serialization, which makes it easy to define robot configurations, background and work items, and related constraints.
Please contact me (pranab.agarwal@3ds.com) if your company is interested in evaluating the Robotics Toolkit or working with Spatial for its development. You can also watch the Robotics Toolkit in action in some of our RADF videos.