Skip to main content


Galil now offers users the option of ordering motion controllers with  on board Coordinate Transformation.  This option allows a user with a complex kinematic transform to have that calculation performed directly on the Galil controller.  Working with a Galil application engineer, the user will review the forward and reverse kinematic transformation for their particular machine.  These equations are then written into the firmware of the Galil controller.  The end result of this process is that the transformation now occurs upon the calculation of each servo update (up to 32kHz), and the user can command the system in machine coordinates rather than simple encoder counts.  In addition, this saves the PC from the burden of performing these sometimes complex calculations.


There are many benefits to the Galil implementation of coordinate transformations.  First, with the transformation operating in firmware space rather than user software space, the transformation is able to run quickly and deterministically on each servo update.  There is no latency or variability to the rate of calculation.  Second, as the transformation is handled within the firmware, the user software space is available and unburdened by the overhead of complex transformations.  This allows for faster execution of software routines for other aspects of the application.  Finally, as part of the implementation, Galil will consult with you about your specific application.  This can lead to recommendations which may improve system performance and safety.

Required information

1.  Detailed description of the mechanics to be implemented.  This should include drawings and/or photographs of the specific machine.
2.  Forward and reverse kinematic equations for the specific mechanics.  If these have not already been derived, Galil application engineers will consult with you to derive those equations and make recommendations on the best possible approach.
3.  Detailed description of the application and motions.  This will include typical moves (point to point, constant velocity, high speed step/settle, etc), encoder resolutions, required keep-out zones, expected system bandwidth and any other information related to the motion of the machine.
4.  System boundaries and other range of motion information.  This allows the firmware to work within the usable space of the machine.


There are many examples of systems which require coordinate transformations for operation, but two of the simplest and most common are the hexapod and the SCARA robot.

1.  Hexapod – A hexapod is a motion platform which has 3 points of contact from 6 individual axes. Imagine 2 linear actuators connected to each corner of a triangle, and you have the basic layout of a hexapod.  A traditional hexapod will give the user 6 degrees of freedom (6dof) in motion, and are commanded with coordinates of Yaw, Pitch, Roll, Heave, Surge and Sway.  The equations of motion for a hexapod could be implemented into the Galil, allowing the user to program the controller in the standard 6dof coordinate system rather than the individual axes (A,B,C,D,E,F,G) format.
2.  SCARA robot – A SCARA robot is a standard positioning robot format which allows positioning of an end effector in the XYplane.  The user is able to command motion to an XY coordinate, with the transformation converting this XY position to the required  mechanics of the robot.  Figure 1 below shows a variation of the SCARA robot.

Figure 1. A coordinate transformation is ideal for this 2-axis SCARA robot

Additional information

Galil has additional detail information regarding coordinate transformations, and how they may be integrated into the Galil motion controllers.  Two white papers have been written which are available on the Galil website.  The links for these pages are as follows: