Regular API function

simRuckigStep / sim.ruckigStep

Description Executes a call to the Ruckig online trajectory generator. The Ruckig online trajectory generator provides instantaneous trajectory generation capabilities for motion control systems. This function steps forward a trajectory generation algorithm previously prepared via sim.ruckigPos or sim.ruckigVel.
C/C++
synopsis
simInt simRuckigStep(simInt handle,simDouble cycleTime,simDouble* newPos,simDouble* newVel,simDouble* newAccel,simDouble* syncTime,simDouble* reserved1,simInt* reserved2)
C/C++
parameters
handle: the handle of the object created via simRuckigPos or simRuckigVel.
cycleTime: the cycle time or simulation step. Should always be a multiple of the base cycle time
newPos: the new position
newVel: the new velocity
newAccel: the new acceleration
syncTime: the synchronization time (output). This is the time needed to reach the desired state. This time does not include the cycle time of the current call to sim.RuckigStep)
reserved1: reserved. Set to nullptr
reserved2: reserved. Set to nullptr
C/C++
return value
-1 or -2 in case of an immediate error, otherwise the return value of the update function in the motion library:
1: Result::Finished (final state reached)
0: Result::Working (final state not yet reached)
-100: Result::ErrorInvalidInput
-101: Result::ErrorTrajectoryDuration
-110: Result::ErrorExecutionTimeCalculation
-111: Result::ErrorSynchronizationCalculation
Lua
synopsis
int result,float[] newPosVelAccel,float synchronizationTime=sim.ruckigStep(int handle,float cycleTime)

If you wish to use this function in a blocking mode, consider using sim.moveToPose and sim.moveToConfig instead.
Lua
parameters
Similar to the C-function counterpart
Lua
return values
Similar to the C-function counterpart
Python
synopsis
int result,list newPosVelAccel,float synchronizationTime=sim.ruckigStep(int handle,float cycleTime)