• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • Advertise
  • Subscribe

Motion Control Tips

Automation • Motion Control • Power Transmission

  • News
    • Industry News
    • Editor Blogs
  • Controls
    • HMIs
    • PC-Based Controllers
    • PLCs + PACs
    • Stand-Alone Controllers
    • Software
  • Drives
    • Servo Drives
    • Stepper Drives
  • Encoders
    • Absolute Encoders
    • Incremental Encoders
    • Rotary Encoders
  • Mechanical
    • Bearings
    • Brakes + Clutches
    • Belt + chain
    • Couplings
    • Gears + Gearing
    • Lubrication
    • Shock + Vibration Mitigation
    • Springs + Rings + Seals
  • Linear
    • Actuators
    • Linear Motors
    • Linear Encoders
  • Motors
    • AC Motors
    • DC Motors
    • Brushless Motors
    • Gearmotors
    • Piezo Motors
    • Servo Motors
    • Stepper Motors
  • Systems
    • Conveyors + linear transport systems
    • Gantries + Stages
    • Rotary Tables
    • Grippers + End Effectors
    • Robotics
  • Networks
    • Connections + Sliprings
    • Fieldbuses
    • I/O
    • Sensors + Vision
  • Resources
    • FAQs
      • Motion Casebook
      • Motion Selection Guides
    • Suppliers
    • Video
You are here: Home / Motors / Servo Motors / Servomotors bring realtime motion control to parallel-kinematics platform

Servomotors bring realtime motion control to parallel-kinematics platform

★ By Lisa Eitel Leave a Comment

To showcase the performance of a line of servomotors, a parallel platform was recently built to control the motion of a ping-pong ball in realtime. Complementing the synchronized servo actuation are visual feedback and realtime kinematic computation.

Charan Bhamra · Mechatronics engineer | Monolithic Power Systems

The MMS740100-24-R2-1 is a fully integrated 40-mm smart motor. It integrates a permanent-magnet synchronous motor and driver module.

A new three-axis parallel platform demonstrates the performance advantages of a certain line of servomotors with dynamic balancing, swirling, and bouncing of an unwieldy ping-pong ball. These motors (using onboard drivers, angle sensors, and CANopen support) enable high-resolution motion, realtime response, and tight multi-axis synchronization. More specifically, the platform addresses and manages visual-feedback latency, synchronization across all axes, and realtime inverse kinematics and proportional-integral-derivative (PID) control on embedded hardware.

In short, the system demonstrates how visual data can inform multi-axis coordination and track motion accuracy in realtime — capabilities useful in real-world applications such as delta 3D printers, pick-and-place machines, medical robotics, and other industrial equipment needing precision motion control.

To control the trajectories of a ping-pong ball, EZmotion MMS740100-24-C2-1 motors move the three axes of a parallel-kinematics platform. Controlling a ping-pong ball in motion is harder than it may seem, because the lightweight ball reacts drastically and chaotically to the slightest disturbance.

One motor drives each limb of the platform in CANopen cyclic synchronous position (CSP) mode for tight coordination and jitter-free motion. A camera above captures ball position at a moderate frame rate of 40 frames per second. Output visual data is processed in realtime via OpenCV computer vision on a Raspberry Pi 5 device — yielding actual ball location. The information is then fed to a Cortex M4 microcontroller unit (MCU) via serial peripheral interface (SPI) communication.

The embedded controller acts as the motors’ initiator controller, so it’s responsible for the platform’s core control loop and kinematic model for the. Core control is built around a PID-based algorithm that converts position error into a precise platform tilt angle. First, the kinematic model translates platform tilt-angle information into position targets for the three servomotors. Then the motors enter CSP mode via CANopen to receive position setpoints. This ensures synchronized and deterministic motion across all three axes to stabilize the platform during fast-changing inputs.

A kinematic model translates tilt-angle information into position targets for the three EZmotion MMS740100-24-C2-1 servomotors. Then the motors enter CSP mode via the CANopen protocol to receive the position setpoints.

Visual tracking and image processing for feedback

The platform’s system architecture separates computational roles between the microcontroller and Raspberry Pi 5 device. The MCU handles inverse kinematics. Meanwhile, the Raspberry Pi handles visual feedback — running a lightweight Python script with OpenCV to process video frames from a top-mounted USB camera at 40 fps. Gaussian blur is applied using OpenCV to the frames and converted to hue, saturation, and value (HSV) color space.

To help tracking, the ping-pong ball sports an orange color mask. Then contour filtering helps identify the ball’s boundaries. Center coordinates are extracted from the smallest circle that completely encloses the largest contours. These coordinates indicate ball position in the XY plane.

Z position is determined by the ball’s apparent diameter. More specifically, as the ping-pong ball gets closer to the camera, its detected diameter in pixel units becomes larger. This pixel information is translated into a real-world Z-position in millimeters.

The Raspberry Pi also connects to a local display via HDMI for live rendering of the camera feed with postprocessed ball tracking frames. The position and height data of the ball is sent to the MCU via the SPI.

Kinematic model calculations

Using the inverse kinematic approach, the motor crank angle is computed to reach the target platform tilt angle and Z translation. Global positions of the fixed-base joints and local positions of the moving platform joints distributed on a circle of a given radius is:

Rotation matrices define how the platform moves in 3D space. Rotation of a point around the X-axis by angle θ_x is:

Rotation of a point around the Y-axis by angle θ_y is:

Rotation of a point around the Z-axis by angle θ_z is:

The combined rotation matrix (the rotation of the platform’s axes to the base’s axes) is:

Actual positions of each platform joint in global coordinates is:

Once global platform joint positions are determined, the needed length of each limb is:

The length of each limb is the straight-line distance between the base joint and the transformed platform joint. Based on the needed length of each limb, the motor crank angle with given lengths of the crank arm and the connecting rod is:

3D and 2D views illustrate how these equations define the platform orientation and indicate the needed crank angle.

Consider the linkage geometry of the three-axis parallel platform. The 3D view (left) shows the full 3D structure where each limb connects the fixed-base platform to the moving platform. The 2D view (right) isolates one limb, highlighting the key geometric parameters. These 3D and 2D views illustrate how these equations define the platform orientation and indicate the needed crank angle.

The MCU runs a PID-based control system that continuously adjusts the tilt and Z translation of the platform to control the ball’s motion in realtime. Depending on the mode (balancing, circular swirling, or bouncing), the independent PID controller for each mode computes the target platform orientation and translation, which is then converted to absolute motor positions via inverse kinematics. The platform orientation and translation for each mode is described below:

Balancing: The target ball location is fixed at the center of the platform, and the PID controller minimizes the positional error by adjusting θ_x and θ_y accordingly.

Circular swirling: The target trajectory is set by the two-dimensional array containing predefined time-varying reference points forming a circle of 100mm radius in the XY plane.

Bouncing: The target height is set in mm units, and the target location is the center of the platform. To initiate bouncing, the system enters an oscillation phase, where the platform undergoes rapid vertical movement to impart enough energy to lift the ball off the surface. This phase is designed to gradually increase the ball’s mechanical energy. Once a predefined energy threshold is reached (indicating that the ball is bouncing consistently) the controller transitions to bouncing mode. In this mode, the controller applies minimal synchronized vertical motion to sustain the bounce. The goal is to maintain the ball’s height with optimal energy efficiency rather than driving the ball higher.

The ball’s total energy can be estimated using both kinetic and potential energy components, and the ball’s velocity can be computed using the difference between the current and previous ball height over the timestep.

Inside the platform’s servomotor

The motors used in this demonstration platform have built-in servo drivers (to efficiently provide power to the motor windings) and an embedded motion controller runs a nested control loop, regulating current, velocity, and position in realtime. The onboard CAN transceiver enables direct integration of the CANopen network, while a dedicated power management solution ensures stable internal voltages for safe operation. By integrating all critical components  —  including the sensor, driver, controller, communication, and power into a single device  —  the servomotors in this platform eliminate the need for external boards and controllers. That in turn dramatically simplifies wiring and system architecture for a plug-and-play solution.

The EZmotion MMS740100-24-C2-1 integrated servomotor delivers precise and reliable motion control in a compact package. It includes a 14-bit resolution magnetic position sensor that tracks the shaft’s position with sub-degree accuracy. CSP mode is also available on the MMS740100-24-C2-1. EZmotion diagram enhanced with AI

Synchronized motion with cyclic synchronous position (CSP) mode

Synchronized motion is a precision actuation method supported by the CANopen. While other CANopen modes such as cyclic synchronous velocity (CSV) mode and cyclic synchronous torque (CST) mode are suited for velocity and torque-driven applications, CSP mode is suitable for deterministic position-based multi-axis control.

In CSP mode, the MCU sends precise position setpoints to each motor at a fixed and deterministic update rate. To ensure continuity and smoothness between updates, each motor internally performs linear interpolation between consecutive setpoints. The motor controllers don’t generate their own trajectories; instead, they rely on the initiator to continuously feed updated position targets.

Shown here is a position and velocity profile of the EZmotion motor in CSP mode with linear interpolation.

From a communication perspective, CSP mode requires the initiator to send process data object (PDO) messages containing absolute target positions. The PDO can be mapped, configured, and stored to the motor’s non-volatile memory. So, the motor shaft can follow a seamless trajectory even though position targets are sampled at discrete intervals. The calculated crank angle values from inverse kinematics are converted into CSP position targets and broadcasted synchronously across the CAN bus. That way, the system maintains highly coordinated and jitter-free motion across the three limbs.

Sequence of parallel-platform operation

The system begins by executing a torque-based homing routine on the servomotors to reference each motor’s initial position. During this process, all three limbs retract inward at a controlled speed until they reach their mechanical hard stops, ensuring a repeatable zero position. Once homing is complete, the platform automatically rises to a predefined mid-height along the Z axis. A green status LED indicates successful initialization — and signals that a user can place a ping-pong ball on the platform.

The manipulator enters its active sequence with balancing mode and then executes a circular swirl mode for 30 seconds, followed by bouncing mode for 30 seconds. The sequence continuously loops as long as the system remains active. Throughout the demo, a 7-in. screen provides visual feedback of the ball’s motion.

Beyond ping pong in real-world designs

Medical robotics implement architectures similar to those of the demonstration to stabilize endoscopic instruments, guide surgical tools, and assist in minimally invasive procedures where fine resolution and jitter-free motion are essential.

Integrated servomotors from EZmotion are especially suitable on delta-robot axes. EZmotion diagram enhanced with AI

In industrial automation, integrated servomotors like those in the demonstration detailed here impart motion to optical alignment stages, pick-and-place heads, and micro-assembly manipulators. Some delta pick-and-place machines and consumer-grade delta 3D printers also use servo-driven parallel kinematic structures.

EZmotion | ezmotion.co

You might also like

Filed Under: Editor Blogs, Featured, Integrated Motion Systems, Servo Motors Tagged With: ezmotion

Reader Interactions

Leave a Reply

You must be logged in to post a comment.

Primary Sidebar

LEARNING CENTER

Design World Learning Center

Motion Control Handbook

“mct
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for Design Engineering Professionals.

RSS feed: Featured White Papers Featured White Papers

  • Robotic Automation is Indispensable for the Logistics Industry’s Continued Growth and Success
  • Reliable Linear Motion For Packaging Machines
  • Polymers Outperform Metals In Precision Gearing

Footer

Motion Control Tips

DESIGN WORLD NETWORK

Design World Online
The Robot Report
Coupling Tips
Linear Motion Tips
Bearing Tips
Fastener Engineering.
Wire and Cable Tips

MOTION CONTROL TIPS

Subscribe to our newsletter
Advertise with us
Contact us
About us

Copyright © 2026 · Arrowfly LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of Arrowfly.

Privacy Policy | RSS