Regular API function

simRMLStep / sim.rmlStep

Description Deprecated. See sim.ruckigStep instead.
C/C++
synopsis
int simRMLStep(int handle,double timeStep,double* newPosVelAccel,void* auxData,void* reserved)
C/C++
parameters
handle: the handle of the object created via simRMLPos or simRMLVel.
timeStep: the cycle time
newPosVelAccl: the new position, velocity and acceleration (output values). Values are arranged as {pos1,pos2,..,posN,vel1,vel2,..,velN,accel1,accel2,..,accelN}
auxData: can be nullptr. Otherwise in/out extension data. The first byte indicates how many additional in/out values we wish to set/get. Following auxiliary values can be set/get:
value 1 (output): Bytes 2-9 (double): returns the synchronization time (the time needed to reach the desired state. This time does not include the cycle time of the current call to simRMLStep)
reserved: reserved for future extensions. Set to nullptr.
C/C++
return value
-1 in case of an error, otherwise the return value of function RMLPosition or RMLVelocity in the Reflexxes Motion Library:
1: final state reached
0: final state not yet reached
-100: RML_ERROR_INVALID_INPUT_VALUES
-101: RML_ERROR_EXECUTION_TIME_CALCULATION
-102: RML_ERROR_SYNCHRONIZATION
-103: RML_ERROR_NUMBER_OF_DOFS
-104: RML_ERROR_NO_PHASE_SYNCHRONIZATION
-105: RML_ERROR_NULL_POINTER
-106: RML_ERROR_EXECUTION_TIME_TOO_BIG
Lua
synopsis
int result,float[] newPosVelAccel,float synchronizationTime=sim.rmlStep(int handle,float timeStep)

If you wish to use this function in a blocking mode, consider using sim.moveToPose and sim.moveToConfig instead.
Lua
parameters
Refer to the C-function documentation
Lua
return values
Refer to the C-function documentation