OJET Trajectory Generator
The OJET Trajectory Generator is a mathematical software library for the generation of jerk-limited motion profiles. Jerk-limited motion profiles are essential to drive high-performance machinery, such as telescopes, electric vehicles, CNC machines, and others. OJET offers features currently unmatched in other solutions. OJET calculates the fastest trajectories possible for given motion constraints. Its highly optimized code allows the calculation of a complete trajectory in less than ten microseconds. Despite its speed and robustness, OJET is extremely user-friendly. All it takes to run OJET are start and target location and the desired motion constraints – its as simple as that! Moreover, OJET actively prevents the exceedance of motion limits (i.e. end-stops). Another amazing feature of OJET is its complete “online” capability: OJET allows the alteration of motion constraints (such as maximum speed, acceleration and jerk) anytime during the ongoing motion. A distinguished feature is OJETs integrated spectral analysis module. This feature allows oscillation-free movements of flexible structures at a stunning pace entirely open-loop.
When it comes to fast and precise movement of machinery, OJET is your tool of choice. It guarantees time-optimal, consistent trajectories, fully accounting for arbitrary boundaries for jerk, acceleration, speed and position. OJET features a set of unique properties you probably won’t find in other solutions. For starters, OJET works for arbitrary start and target vectors (thus sets of position, velocity and acceleration). Moreover, OJET knows all possible trajectories and selects the fastest one matching your boundaries. Strange machine behavior belongs to the past, as OJET is designed for robustness and numerical stability. Finally, OJET offers you full flexibility through its “online” feature: Targets and boundaries can be changed on-the-fly, allowing instantaneous trajectory changes. Want to give it a test drive? Try it here!
Have you noticed the quick, precise and oscillation-free movements of the flexible pendulum in the introductory video? These rapid movements are enabled by OJET’s unique and most exciting feature, the Spectral Mode. For the first time, it allows the design and optimization of a trajectory in frequency domain. Don’t worry, you don’t need to brush the dust off your old control engineering books – OJET’s new feature is so easy to use that you will not need them!
Designing a trajectory in frequency domain is an eye-opening experience: When working with oscillating structures, many engineers would opt for very sloooow trajectories. In Spectral Mode, you will realize that this is not necessary: It’s all about the right timing.
So how does it work? Every flexible structure with little damping has one or more distinct resonance. At the resonance frequency, even small excitations lead to large oscillations. OJET’s Spectral Mode is a new feature that calculates the trajectories frequency content instantaneously. Surprisingly, a typical trajectory does not excite all frequencies equally, but leaves certain frequencies with little or no excitation. The secret of very fast movements without structural oscillations is to match the frequencies with little excitation to the structures resonance frequency. In Spectral Mode, optimizing the trajectory in frequency domain is only a matter of minutes. For faster and more precise machines.
When unexpected things happen, better be prepared. OJETs “online” feature allows to change your trajectory whenever you need a change of plans. You can change the motion constraints or the target position even when a motion is ongoing. The figure on the left demonstrates such a dynamic change. Until 1 second, the initial (dashed, light blue) and the current (heavy, dark blue) trajectories are identical. At one second during the ongoing motion, the boundaries for jerk, acceleration and velocity as well as the target point are changed. OJET immediately adapts to the new constraints and reaches the target coordinates without discontinuities.
But OJET offers even more: It tells you the exact time remaining to reach your target position. This feature is especially useful to schedule multiple motions and also provides great feedback for user interfaces.
Seriously, is there anything more annoying than mediocre software? Relax, working with this tool is fun. OJET is designed to solve the trajectory problem perfectly – and nothing else. The entire development focused to provide a consistent, clean, fast, stable and easy to use engineering tool. Integrating OJET into a new or existing motion program only takes minutes. Just define the start & target coordinates, the motion boundaries, a time vector and the operation mode and you are ready to go!
OJET runs out of the box and is carefully programmed for superior numeric stability – “fiddeling” with parameters is unnecessary.
OJET is particularly suited for embedded real-time control systems, as it is independent of external dependencies, requires only tiny amounts of memory, and executes very fast & predictable.
OJET supports a variety of tools and platforms, just check our Products page.
A machine that slams into a mechanical limitation at a decent speed often leaves a lasting impression. Depending on the size and type of the machine, the consequences of such an impact are often minor – but sometimes also lead to serious hardware damage. These events can happen just because of a typo in the parameters. But often, currently used trajectory generators only work fine in a limited parameter range. Once these parameters are changed, strange things will happen.
With OJET, commissioning engineers can relax. The algorithm’s superior numerical stability guarantees predictable behavior for any parameter set.
Moreover, OJET actively prevents running into motion limits. Before executing a trajectory, OJET checks first whether the machine is able to stop within the motion limits. When the algorithm detects that a command would violate these limits, OJET will not execute the command and raise a warning.
Imagine a transportation system with limited travel range and a maximum permissible velocity. Starting from a standstill, the system shall reach its maximum velocity at a certain point (Target 1). OJET will execute the requested trajectory, knowing that stopping before the hard stop is still possible.
Now imagine the same situation, but the system shall maintain its maximum velocity longer (Target 2). Even though target position and velocity are still within the established limits, OJET recognizes that the system can’t be stopped without exceeding the established limits. As a consequence, OJET will remain in its starting position and raise the “Unreachable”-flag, indicating that the target position cannot be reached.