Controlling hexapods via EtherCAT

Features - Motion, Design & Automation

Users can integrate PI hexapods into industrial precision automation systems based on the EtherCAT communication standard.

September 26, 2019

Six-axis hexapod robots support stricter manufacturing accuracy requirements by precisely aligning and positioning manufacturing and quality assurance processes. Parallel-kinematic hexapod robots can move and position tools, workpieces, and complex components weighing a few grams to several tons in any spatial orientation. Integrating EtherCAT data on control connectivity eases integrating hexapods into automation systems.

Simple integration

In a parallel-kinematic system, Cartesian axes do not correspond to motor axes, requiring coordinate transformation that cannot be solved analytically. A computation-intensive, iterative algorithm recalculates complex hexapod kinematics for each step. The digital controller calculates and controls the individual motors in real-time, rather than forcing users to perform these tasks. Cartesian coordinates in the PLC determine shifts, rotations, reference system definition, and pivot point.

The results:

  • PLC command of hexapod system
  • Simplified path planning, trajectory generation; synchronize with other automation system devices
  • No proprietary programming language
  • Communicating with the hexapod via EtherCAT fieldbus protocol, the PLC defines the hexapod system’s Cartesian target position in space and receives feedback on actual positions.


The minimum permissible cycle time for the hexapod controller is 1ms. The object dictionary, process data object (PDO) mapping, and service data objects (SDO) are supported. PDOs and SDOs have been defined according to drive profile CiA402 for easy integration of the Cartesian axes of the hexapod within the PLC.

Axes coupling

Since all drives act on the same platform, statuses of individual Cartesian axes are interdependent. To counter this, the PLC represents and treats each Cartesian axis as a separate axis, and the hexapod controller references or stops the axis for all axes simultaneously. Error messages from one Cartesian axis are mirrored on all other axes. The system maintains control and status words separately for each axis to prevent too much intervention with underlying standardized drive protocols. The axis with the lowest status level determines the system’s status, so to move the hexapod to a higher status level, all axes must reach minimum level.

Hexapod positioning

Cyclic synchronous position (CSP) mode positions the hexapod using the EtherCAT master to specify the target Cartesian positions for the axes. Maximum hexapod vector velocity depends on the maximum possible velocity and acceleration of the individual struts, depending on the hexapod platform angle and commanded Cartesian target position. Users figure Cartesian axes via the PLC using the hexapod’s maximum value, hexapod velocity will deviate from the velocity calculated in the PLC – the greater the distance to be travelled, the greater the deviation. To avoid large tracking errors, reduce the target velocity and acceleration in the PLC for combined movements of the Cartesian axes. If the maximum vector velocity of the hexapod is exceeded when the target positions are specified, the stop mechanism integrated in the hexapod controller automatically takes effect. This puts the hexapod controller into an error state and stops the system with the maximum possible acceleration. The integrated interpolation mechanism ensures that the hexapod stays on the planned path.

The control transmits and receives Cartesian coordinates on a regular basis. The typical cycle time is 1ms.
Photo: Physik Instrumente (PI)

Motion range, velocities

Service data objects are available to avoid exceeding vector velocity, providing users with the best possible support in trajectory planning. When querying the available travel range, the controller simultaneously calculates the maximum possible velocities and accelerations, distinguishing between translational and rotational components. Since these velocities and accelerations vary across the workspace, the system only determines values for the point at which the hexapod was located when the query started. Users should also configure maximum and reference velocities and accelerations for the axes in the PLC. The velocities can be taken from the hexapod data sheet. Acceleration values for translation axes can be read out directly via service parameter 0x19001502 using PI software PIMikroMove or PITerminal during initial commissioning. For rotational axes, maximum acceleration can be determined by transferring the ratio for linear axes.

Coordinate systems

The intelligent hexapod controller allows users to freely define and select reference coordinate systems for movement in space. Work coordinate and Tool coordinate systems are available via the EtherCAT. To configure coordinate systems, assume that the Tool coordinate system moves in the Work coordinate system.

Sub-indices correspond to coordinates of individual Cartesian axes. The Tool coordinate system can also be configured via an object. All values must be specified in micrometers or thousandths of a degree.

GCS command

Initial hexapod system commissioning should be carried out via PI software. All required parameters are queried and can then transfer to the PLC via Ethernet and RS-232 interfaces. Even with the EtherCAT interface activated, users can send GCS commands at any time via Ethernet and RS-232 interfaces.

Physik Instrumente (PI)

Automated surface finishing

Active Orbital Kit (AOK) 601 supports large-scale sanding and polishing processes and easily adapts to robot applications. Designed for automated surface finishing of very large surfaces, the kit is lightweight and provides single-source process quality.

It automates the industrial sanding process with individual control of rotational speed, contact pressure, and feed rate.

With a triple sanding head, the AOK/601 rapidly processes large surfaces while reducing abrasive consumption. It shortens cycle times and reduces costs by eliminating manual work steps.

FerRobotics Inc.

Single-axis, digital drive

The XC2 PWM digital drive is a small form-factor, high-performance, single-axis motor drive for motion-control applications. It’s compatible with the Automation 3200 motion platform using the HyperWire motion bus. The XC2 can control brushless DC, brush DC, voice coil, or stepper motors up to 100VDC and 10A peak current capability.

The digitally closed current loop and servo-loop ensure positioning accuracy and rate stability, allowing loop closure rates up to 20kHz while permitting real-time digital and analog I/O processing, data collection, process control, and encoder multiplication.

The drive accepts square-wave encoder feedback at rates of up to 40 million counts-per-second. Sine-wave encoders can be multiplied up to 16,384 for high-resolution position feedback.

Each single-axis XC2 PWM digital drive has an optional I/O expansion board that includes a dedicated PSO output.