APIs, concepts, guides, and more
Motion

Table of Contents

Overview of motion control types supported, including linear, rotational, cartesian, etc.

❓ FAQ

  • Can you overwrite a motion command that is in progress?
    Yes, point-to-point and velocity motion commands can be overwritten on-the-fly, allowing you to change the target position, velocity, acceleration, and jerk percent of a move that is executing.
  • Can you end a point to point move with a velocity move?
    Yes, you can command an Axis.MoveSCurve or MultiAxis.MoveSCurve with a specified final velocity so that you can ensure at the time the axis gets to its target position, it will be moving at the specified velocity. See Final Velocity Motion
  • How do you know when a move has been completed?
    You can use the MotionDoneGet method to wait until or check if motion is complete. Both methods check the status bit of RSIEventType::RSIEventTypeMOTION_DONE. See our
    Settling topic for more information.
  • Can you pause, and then later resume a motion that is in progress? If you call Stop during motion, the axes will stop according to the specified stop time. Then you can either clear the previous motion command by calling ClearFaults or you can resume the motion using Resume.

🔹 Subsections

  • Point-to-Point Motion : Perform point-to-point motion with an Axis or MultiAxis.
  • Velocity Motion : Types of velocity motions
  • Streaming Motion : Stream data points for detailed motion control on single or multiple axes, using profiles tailored for precision and complexity. Adjust your motion dynamically.
  • Backlash Compensation : Address and reduce lost motion in mechanical systems caused by gaps between parts by setting backlash parameters.
  • Camming : Convert rotary motion into linear motion, or vice versa.
  • Cartesian Robot : Control robots or machines in Cartesian space using the Robot class, applicable to various systems like gantries, robotic arms, and CNC machines, with support for G-Code & PathMotion.
  • Compensator : Use compensators to add delta offsets to an axis's position based on stored position data for compensating surface irregularities.
  • Feed Rate : Adjust the speed of a loaded motion profile without affecting its trajectory, allowing for stops, pauses, and reversals along the path, useful for operations like retracing and altering operating speeds dynamically.
  • Feedback: Secondary (EL5101) : Utilize the EL5101 EtherCAT Terminal to interface with secondary encoders, enhancing measurement precision for various mechanical components by integrating additional position or velocity feedback into the EtherCAT network.
  • Gantry : Control a single linear axis with two motors.
  • G-Code : Use G-Code to specify coordinated motions in Cartesian space for specialized machines, with support for basic codes and a user interface for building or using pre-built configurations.
  • Gearing : Link two or more axes such that the slave axis position is a function of the master axis position, useful in various systems like in-feed and conveying systems, achieved electronically without mechanical linkage.
  • Motion Hold : Execute motion on an Axis or MultiAxis triggered by real-time conditions such as I/O values, axis positions, or software triggers.
  • Path Motion : Define complex 3D paths using lines and arcs for moving an end effector in Cartesian space.
  • Post Trajectory Gearing : Combine electronic gearing with point-to-point motion on a geared axis, applying the gearing offset after the slave axis’ motion processing, enabling correctional or superimposed motions.