The RMP Motion Controller

Open, powerful, and economical PC based EtherCAT soft motion controller for OEM machine builders

  • Create EtherCAT machine control applications in C++, C#, VB, RapidScript
    (proprietary language), Python, and all supported languages by gRPC.

  • Operating system agnostic.

  • 5 available APIs for real-time axis, robotic, or CNC motion control.

  • Up to 128 coordinated axes, 12,000 digital, and 1,000 analog I/O points.

  • Use any EtherCAT compatible servo, stepper, I/O, and sensors.

  • Integrated support for 50+ EtherCAT node manufacturers and counting.

  • 400+ happy customers and counting.

Programming Languages

10+

Software APIs

5

Coordinated Axes

64+

Supported EtherCAT Nodes

40+

Happy Customers

400+

logo_vb

Save Money

Cost effective for OEM machine builders.

Save Time

Use latest software tools to speed up development.

Save Headaches

RSI is here to support you and ensure your success.

Have Fun

Our feature rich controller makes development enjoyable.

Try Our Free Trial!

Sign up for a 60-day software evaluation.
An Engineer will assist you shortly.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Motion Controller Features

The RMP EtherCAT Motion Controller is packed with features and tools to help you build smart and powerful machines

Motion

Point-to-Point

Simple move to new command position. Move to absolute postion or position relative to current position.

Streaming

Array of pre-defined position points which define a motion profile path. Multiaxis streaming allows for coordinated motion between multiple axes. Useful for shape cutting, dispensing, 3D printing, etc.

Path

Geometric path motion allows complex 2D and 3D paths to be defined using simple geometric elements such as arcs and lines.

Velocity

Simple constant velocity move. Will continue at constant velocity until modified, paused, or interrupted.

Modify

Point-to-Point and Velocity motion trajectories can be modified/overwritten on-the-fly.

Hold

Motion Hold allows the user to queue/load a motion command but the move doesn't execute immediately. The motion will be later triggered by a user defined condition executed in real-time by the RMP motion control firmware.

Gantry

A Gantry attribute allows two axis positions to be summed or subtracted from each other allowing the delta position between them to be monitored and prevent skew.

Also possible (with Master-based tuning) a PID loop could control the linear position of agantry while another PID loop controls the skew or yaw of the gantry.

Camming

The position of a slave axis is mathematically linked to the position of a master axis. Create a table and start with camming.

Electronic Gearing

Configure an axis’ commanded position to be electronically geared from a master axis or external encoder. A gearing ratio can be used to acheive desired rate and direction.

Capture (Probe)

Capture enables high accuracy position latching based on an external electrical input. Typical sources are touch probes, home switches, or encoder index pulse.

Phantoms

Geometric path motion allows complex 2D and 3D paths to be defined using simple geometric elements such as arcs and lines.

Feed Rate (Retrace)

Feed Rate (or Retrace) is a functionality that allows you to alter the speed of a loaded motion profile without affecting the motion profile (trajectory) itself.

Multi-Axis Control

The MultiAxis object allows you to map two or more axes together and command synchronized motion

Cartesian

This provides a unifying control interface in cartesian space for a diverse set of robots and machines.

G-Code

The RMP soft motion controller has the ability to parse and plan 3D coordinated motions based on the G-Code syntax. This allows for easy adoption of our controller if you are already familiar with G-Code.

Conveyor Tracking

PostTrajectoryGearing enables cartesian or robotic systems to synchronize a process with a moving conveyor. Cutting shapes/dispensing on a moving conveyor, painting parts on a moving conveyor, picking/placing parts on moving conveyor, etc.

IO

Real-Time Triggers

Configure input comparisons to trigger outputs or other events. Conditions are monitored at the firmware level. When the condition is true, the configured response is generated.

I/O Control

Control general purpose digital IO, analog IO, or dedicated inputs such as limits/home sensors.

IO is part of the real-time network so can be synchronized to real-time events or triggered by real-time conditions.

Config

Tuning

The RMP supports both drive-based and master-based tuning.

Most applications use drive-based tuning where the the servo drive is responsible for closing the position loop and the RMP sends position commands to the drive.

Master-based tuning allows users to run the servo drive in torque mode and close the position loop in the RMP.

Master-based tuning provides more control for torque sharing applications or special control algorithms.

Homing

The RMP supports both drive-based and master-based homing routines.

Most applications use drive-based homing where the the servo drive is responsible for performing the homing routine.

If using Master-based homing, users can create custom routines, or select from pre-defined list.

Safety (FSoE)

Configure input comparisons to trigger outputs or other events. Conditions are monitored at the firmware level. When the condition is true, the configured response is generated.

Settling

Axis Settling is the process of the RMP firmware determining that all settling criteria for a move has been met.

Backlash Compensator

The backlash compensator adds/subtracts set value to command position depending on direction of motion. User can also control the rate at which the compensator adds/subtracts and hysteresis limits.

Linear Compensator

User can populate a compensation table to map the accuracy of a single linear axis or rotary axis. Compensation is executed automatically in RMP firmware so user doesn't need to modify command trajectories.

3D Compensator

3D compensation allows users to map the accuracy of one axis relative to another or two other axes. In an XYZ cartesian system, a user could map the flatness of a table and compensate Z axis positions based on the position of X/Y axes. In a XY application, the Y axis positions could be mapped to X to compensate for straighness of the X axis.

Data

Real-Time Recording

A Recorder object provides a mechanism to collect and buffer any data (positions, velocities, etc.) in the controller’s memory.

Error Logging

Error logs record motion control object errors that occur during the execution of code so you can target problems when debugging.

Supported Nodes

Many supported EtherCAT manufactures and counting

51

Manufacturers

93

Nodes

Operating Systems

Use the RMP with your preferred OS.

windows symbolintimo logowindows symbolwindows symbol

Software APIs

Our RMP controller offers different ways to program motion and IO

RapidCode API

RapidCode is the RMP's primary API. It is powerful and intuitive, and allows developers to quickly create machine control applications in C++, C#, VB.NET, RapidScript (proprietary), or any GRPC supported language.

Learn More

RapidRobot API

Easily deploy an EtherCAT robot using our UI and API. We handle all kinematics, collision, and singularity. Great option if you want to add robots to your existing EtherCAT machine.

Learn More

RapidSequencer API

Powerful script language to quickly deploy machine code. OEMs can load a program with motion, IO, and math blocks that is executed in a real-time deterministic manner.

Learn More

RapidCodeRT API

RapidCode Real-Time is the same as RapidCode but offered in C++ language. RapidCodeRT is compiled and runs inside the RTOS.

Learn More

RapidGCode API

A G-Code interpolator and UI. The G-Code interpolator is also accessible through the RapidCode API. The RapidCode API enables OEMs to easily add to their custom UI. Simple applications can use the UI to reach production quickly. We use RMP Motion Controller in the back-end to guarantee real-time deterministic performance.

Learn More

RapidAnalytics API

Web based portal to analyze machine performance and throughput so an OEM’s support team and management are able to collect data from machines shipped worldwide.

Learn More

Software Tools

Our tools facilitate development and troubleshooting

RapidSetup

RapidSetup is an easy to use machine deployment tool to help with configuration, homing, tuning, commanding motion, and troubleshooting.

Learn More

MotionScope

Plots data from any address on the motion controller. It is similar in its presentation to an oscilloscope. Used when developing and troubleshooting motion control systems.

Learn More

VM3

The VM3 utility allows you to view and alter data stored in memory in either the RMP, QMP, or ZMP controllers. The VM3 is especially useful for locating memory addresses for plotting custom signals in MotionScope. When using VM3 to alter data on motion controllers, exercise extreme caution at all times.

Learn More

RsiConfig

Using the rsiconfig.exe utility will help guarantee that your RMP is correctly configured and ready to run before your RapidCode application starts. It also can help you generate XML configurations for your current settings.

Learn More

BodeTool

The Bode Tool is a utility that makes it easy to get frequency domain data from your system. The Bode Tool makes it easy to get the data a controls engineer needs to set up and tune the control system properly.

Configurations

The RMP can be configured in many ways

Overview
  • The most popular and default motion controller configuration.

  • Your application (UI or HMI) has been developed in Windows.

  • Need a high-performance machine for real-time and deterministic needs.

Configuration Diagram
Definitions
Architecture Diagram

(Click image to expand)

User Interface & Program

Customer-created user interface and machine control application.

RapidCode API

C++, C#, VB .NET API for intuitive development.

NIC (EtherCAT)

Ethernet-based connection to EtherCAT® slaves on the network.

EtherCAT Master

Connects the master to slave devices using CoE (CAN application layer over EtherCAT®).

RMP Motion Firmware

Low-level operations for RMP’s motion controller memory.

Overview
  • Your application (UI or HMI) has been developed in Windows but needs to load some user logic in the RTOS.

  • Required to leverage RapidCodeRT or RapidSequencer software products.

  • Need to load control logic (if/else, for/while) or instructions (RapidCodeRT, math, comparison, etc.) in the RTOS.

Configuration Diagram
Definitions
Architecture Diagram

(Click image to expand)

User Interface & Program

Customer-created user interface and machine control application.

RapidCode API

C++, C#, VB .NET API for intuitive development.

Real-Time RapidCode API

The real-time RapidCode® API for the INtime® or INtime® Distributed RTOS.

IO (NIC or Serial)

Ethernet-based or serial connection (COMM: RS232, RS422, or RS485) to external devices.

NIC (EtherCAT)

Ethernet-based connection to EtherCAT® slaves on the network.

User Firmware

Low-level control and operation of the user’s custom program.

EtherCAT Master

Connects the master to slave devices using CoE (CAN application layer over EtherCAT®).

RMP Motion Firmware

Low-level operations for RMP’s motion controller memory.

Overview
  • Your application (UI or HMI) has been developed in a non-Windows OS (ex: Linux, VxWorks, Unix, RTX/RTSS).

  • Your motion application will run inside the RTOS. Great for when every sub-microsecond matters.

  • You would like to program in C++.

  • Requires RTOS Development Kit.

Configuration Diagram
Definitions
Architecture Diagram

(Click image to expand)

User Interface & Program

Customer-created user interface and machine control application.

RapidCode API

C++, C#, VB .NET API for intuitive development.

Real-Time RapidCode API

The real-time RapidCode® API for the INtime® or INtime® Distributed RTOS.

IO (NIC or Serial)

Ethernet-based or serial connection (COMM: RS232, RS422, or RS485) to external devices.

NIC (EtherCAT)

Ethernet-based connection to EtherCAT® slaves on the network.

Server Manager

Coordinate inputs and outputs between the Host System and Motion Controller over an Ethernet-based interface.

User Firmware

Low-level control and operation of the user’s custom program.

EtherCAT Master

Connects the master to slave devices using CoE (CAN application layer over EtherCAT®).

RMP Motion Firmware

Low-level operations for RMP’s motion controller memory.

Hardware Options

Select which hardware to use with RMP

Software
License

Use the RMP in a PC of your choice. This USB is transferrable.

Industrial
PC

RMP comes pre-installed in a ruggedized fanless industrial PC customized to suit.

Ruggedized
Industrial PC

RMP comes pre-installed in a fanless industrial Panel PC customized to suit.

ready to start automating?

412 customers have already automated with help of our products and team

The RapidCode API

The RMP's powerful, intuitive, and multi-language Motion Control software API

Axis

The axis class represents a single axis of motion control. This class provides an interface for commanding motion, reading trajectory parameters, configuring filter (control law) parameters, homing, limit switch configuration, motor configuration, position capture, electronic gearing and node information.

Multi-Axis

The MultiAxis class provides an interface to a group or collection of axes. Use the MultiAxis class when coordinated, synchronized or path motion is required.

IO

The IO class provides an interface to an I/O Node. An I/O node can have various combinations of digital or analog inputs and outputs.

IO Point

The IOPoint class provides a common interface to any I/O point, regardless of where it resides in the network (Motion Controller, Axis, or I/O Node).

Motion Controller

The MotionController class Provides an interface to general controller configuration, firmware upload/download, network, and data recording.

RSI Error

The RSIError object is thrown as an exception by all RapidCode classes. It contains and error number, and a text message which describes the error. Throwing exceptions can be disabled on all RSI classes. If throwing exceptions is disabled, a log of RsiErrors can be accessed.

Success Stories

Successful companies rely on RSI to grow their business

“Our experience with RSI has been great on this project. The package developed by RSI, especially the GUI is extremely well done and very user friendly. The field support on a world wide basis has also been excellent and we are very thankful to have RSI as a partner.”

Hunt Valve

“Overall, it has been a good experience. From the upfront initial visits to the presentation to the final delivery, installation, and implementation into manufacturing, it has been a positive experience.”

Windy City Wire

“We tried a lot of different motion controllers in the past, but now we have found the RMP motion controller from RSI.”

IGEMS

“RSI makes a great team member for development of motion applications!”

MachAET

“The well documented API was easy to work with and had good support. Using RMP enables us to fully integrate hardware control in our application, making the user experience much smoother.”

Nortek Group

“Our finished product impressed our customer enough that upon accepting the machine and before taking it home they sent us more work. This wouldn’t have been possible without some great support from RSI!”

JT Automation

Try Our Free Trial!

Sign up for a 60-day software evaluation.
An Engineer will assist you shortly.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.