Frequently Asked Questions
OJET is designed to move from a start point to a target point respecting the motion constraints (what was defined as a boundary box) as fast as possible. Synchronizing multiple axes for a coordinated motion is a different kind of problem, as the axes will have to move at different speeds. A synchronized motion with multiple axes is therefore not possible.
Yes. OJET is written entirely in plain C, without using external dependencies or clunky libraries. The OJET library can consequently run on any system that executes compiled C-code. On the other hand, OJET extensively uses floating-point operations. For optimal performance, the use of a computing device with a double precision Floating Point Unit is recommended for optimal performance.
Absolutely. OJET was designed for real-time systems such as Programmable Logic Controllers (PLCs), Motion Control Systems, or high-end Variable Frequency Drives (VFDs). Apart from being extremely fast – OJET calculates over 100.000 complete trajectories per second on an average computer – it has also a consistent and predictable runtime. This predictable behavior is achieved by the absence of any system calls (no memory allocation), as well as the use of direct calculations, without the need for convergence loops.
OJET can operate any number of axes at the same time, limited only by the available computing power.
OJET internally calculates and represents trajectories in a continuous manner. OJET’s sampling unit evaluates and returns the trajectory for any requested time. From a theoretical standpoint, the minimum sampling time can be chosen arbitrarily low. For real-time control systems, OJET’s execution time determines the minimum sampling time.
OJET does currently not support asymmetric motion limits. That means that the limits for velocity, acceleration and jerk are the same in both directions (positive and negative velocities, accelerating and braking, jerk). If you are interested in a development of asymmetric limits, drop us a mail.