RosPlugin subscriber types

streamCmd: simros_strmcmd_add_status_bar_message

Description Enables a subscriber to a string stream. Received strings will be automatically displayed in the status bar. See here for information on how to enable subscribers. See also the service equivalent (simRosAddStatusbarMessage) for details.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::String: the message to display in the status bar

streamCmd: simros_strmcmd_append_string_signal

Description Enables a subscriber to a string stream. Received values will be automatically appended to string signals. See here for information on how to enable subscribers. See also the service equivalent (simRosAppendStringSignal) for details. See also simros_strmcmd_set_string_signal.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: the signal name
Streamed data read
std_msgs::String: the string to append to the signal

streamCmd: simros_strmcmd_auxiliary_console_print

Description Enables a subscriber to a string stream. Received strings will be automatically displayed in a specific auxiliary console. See here for information on how to enable subscribers. See also the service equivalent (simRosAuxiliaryConsolePrint) for details.
Enabling parameters
auxInt1: handle of the auxiliary console
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::String: the string to display in the auxiliary console

streamCmd: simros_strmcmd_clear_float_signal

Description Enables a subscriber to a byte stream. When a message is received, then a specific signal will be cleared. See here for information on how to enable subscribers. See also the service equivalent (simRosClearFloatSignal) for details. See also simros_strmcmd_set_float_signal.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: signal name
Streamed data read
std_msgs::UInt8: if value is 0, then the specified signal is cleared, otherwise all float signals will be cleared.

streamCmd: simros_strmcmd_clear_integer_signal

Description Enables a subscriber to a byte stream. When a message is received, then a specific signal will be cleared. See here for information on how to enable subscribers. See also the service equivalent (simRosClearIntegerSignal) for details. See also simros_strmcmd_set_integer_signal.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: signal name
Streamed data read
std_msgs::UInt8: if value is 0, then the specified signal is cleared, otherwise all integer signals will be cleared.

streamCmd: simros_strmcmd_clear_string_signal

Description Enables a subscriber to a byte stream. When a message is received, then a specific signal will be cleared. See here for information on how to enable subscribers. See also the service equivalent (simRosClearStringSignal) for details. See also simros_strmcmd_set_string_signal.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: signal name
Streamed data read
std_msgs::UInt8: if value is 0, then the specified signal is cleared, otherwise all string signals will be cleared.

streamCmd: simros_strmcmd_send_data_to_script_function

Description Enables a subscriber to a generic data stream. Received values will trigger a call to a script function. See here for information on how to enable subscribers. See also the service equivalent (simRosCallScriptFunction) for details. See also simros_strmcmd_receive_data_from_script_function.

Use this only for non-threaded scripts, and when calling simulation scripts, then simulation must be running. The called script function should always have following input/output form:

myFunctionName=function(inInts,inFloats,inStrings,inBuffer)
	-- inInts, inFloats and inStrings are tables
	-- inBuffer is a string
    
    -- Perform any type of operation here.

	-- Always return following:
	return {},{},{},''
end
Enabling parameters
auxInt1: the handle of the script, otherwise the type of the script:
sim_scripttype_mainscript (0): the main script will be called.
sim_scripttype_childscript (1): a child script will be called.
sim_scripttype_jointctrlcallback (4): a joint control callback script will be called.
sim_scripttype_contactcallback (5): the contact callback script will be called.
sim_scripttype_customizationscript (6): a customization script will be called.
sim_scripttype_generalcallback (7): the general callback script will be called.
auxInt2: (not used, set to -1)
auxString: a string representing the function name and script name, e.g. myFunctionName@theScriptName. When the script is not associated with an object, then just specify the function name.
Streamed data read
vrep_common::ScriptFunctionCallData: the generic data.

streamCmd: simros_strmcmd_set_array_parameter

Description Enables a subscriber to a point stream. Received values will be automatically applied according to the array parameter identifier. See here for information on how to enable subscribers. See also the service equivalent (simRosSetArrayParameter) for details. See also simros_strmcmd_get_array_parameter.
Enabling parameters
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
geometry_msgs::Point32: the array values to apply.

streamCmd: simros_strmcmd_set_boolean_parameter

Description Enables a subscriber to a byte stream. Received values will be automatically applied according to the boolean parameter identifier. See here for information on how to enable subscribers. See also the service equivalent (simRosSetBooleanParameter) for details. See also simros_strmcmd_get_boolean_parameter.
Enabling parameters
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::UInt8: the boolean value to apply.

streamCmd: simros_strmcmd_set_floating_parameter

Description Enables a subscriber to a float stream. Received values will be automatically applied according to a floating parameter identifier. See here for information on how to enable subscribers. See also the service equivalent (simRosSetFloatingParameter) for details. See also simros_strmcmd_get_floating_parameter.
Enabling parameters
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Float32: the float value to apply.

streamCmd: simros_strmcmd_set_float_signal

Description Enables a subscriber to a float stream. Received floats will be automatically set as a float signal. See here for information on how to enable subscribers. See also the service equivalent (simRosSetFloatSignal) for details. See also simros_strmcmd_get_float_signal.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: the signal name
Streamed data read
std_msgs::Float32: the value of the signal

streamCmd: simros_strmcmd_set_integer_parameter

Description Enables a subscriber to an integer stream. Received values will be automatically applied according to an integer parameter identifier. See here for information on how to enable subscribers. See also the service equivalent (simRosSetIntegerParameter) for details. See also simros_strmcmd_get_integer_parameter.
Enabling parameters
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Int32: the integer value to apply.

streamCmd: simros_strmcmd_set_integer_signal

Description Enables a subscriber to an integer stream. Received values will be automatically set as integer signal. See here for information on how to enable subscribers. See also the service equivalent (simRosSetIntegerSignal) for details. See also simros_strmcmd_get_integer_signal.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: the signal name
Streamed data read
std_msgs::Int32: the value of the signal

streamCmd: simros_strmcmd_set_joint_force

Description Enables a subscriber to a float stream. Received values will be automatically applied to a joint as its maximum force/torque. See here for information on how to enable subscribers. See also the service equivalent (simRosSetJointForce) for details. See also simros_strmcmd_get_joint_state.
Enabling parameters
auxInt1: the handle of a joint. See also simRosGetObjectHandle.
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Float64: the maximum force/torque

streamCmd: simros_strmcmd_set_joint_position

Description Enables a subscriber to a float stream. Received values will be automatically applied to a joint as its position. See here for information on how to enable subscribers. See also the service equivalent (simRosSetJointPosition) for details. See also simros_strmcmd_set_joint_target_position and simros_strmcmd_get_joint_state.
Enabling parameters
auxInt1: the handle of a joint. See also simRosGetObjectHandle.
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Float64: the position (linear or angular value)

streamCmd: simros_strmcmd_set_joint_state

Description Enables a subscriber to a joint state stream. Received values will be automatically applied to joints as their position, target position, target velocity or maximum force/torque. See here for information on how to enable subscribers. See also the service equivalent (simRosSetJointState) for details. See also simros_strmcmd_get_joint_state.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
vrep_common::JointSetStateData: the state data

streamCmd: simros_strmcmd_set_joint_target_position

Description Enables a subscriber to a float stream. Received values will be automatically applied to a joint as its target position (e.g. when position control is enabled). See here for information on how to enable subscribers. See also the service equivalent (simRosSetJointTargetPosition) for details. See also simros_strmcmd_get_joint_state.
Enabling parameters
auxInt1: the handle of a joint. See also simRosGetObjectHandle.
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Float64: the target position (linear or angular value)

streamCmd: simros_strmcmd_set_joint_target_velocity

Description Enables a subscriber to a float stream. Received values will be automatically applied to a joint as its target velocity (e.g. when not in position control mode). See here for information on how to enable subscribers. See also the service equivalent (simRosSetJointTargetVelocity) for details. See also simros_strmcmd_get_joint_state.
Enabling parameters
auxInt1: the handle of a joint. See also simRosGetObjectHandle.
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Float64: the target velocity (linear or angular value)

streamCmd: simros_strmcmd_set_joy_sensor

Description Enables a subscriber to a joypad data stream. Received values will be packed into a string signal. See here for information on how to enable subscribers.
Enabling parameters
auxInt1: the number of axis values to pack into the string.
auxInt2: the number of button values to pack into the string.
auxString: the name of the string signal. Refer also to simGetStringSignal. The subscriber will automatically apply the received joypad data to the string signal, which will contain a succession of packed float and integer values (auxInt1 float values, and auxInt2 integer values). From an embedded script, you can use following construction to enable a subscriber and to access the joypad data:
-- Initialization phase (run just once):
local subscriberID=simExtROS_enableSubscriber('topicName',1,
                   simros_strmcmd_set_joy_sensor,axisCnt,buttonCnt,'joyPad')

-- To retrieve joypad data:
local packedData=simGetStringSignal('joyPad')
if (packedData) then
    local axisData=simUnpackFloats(packedData,0,axisCnt)
    local buttonData=simUnpackInts(packedData,axisCnt,buttonCnt)
    -- axisData[1] is axis1, axisData[2] is axis2, etc.
end
Streamed data read
sensor_msgs::Joy: the joypad data.

streamCmd: simros_strmcmd_set_object_float_parameter

Description Enables a subscriber to a float stream. Received values will be automatically applied to an object as one of its float parameters. See here for information on how to enable subscribers. See also the service equivalent (simRosSetObjectFloatParameter) for details. See also simros_strmcmd_get_object_float_parameter.
Enabling parameters
auxInt1: the handle of an object. See also simRosGetObjectHandle.
auxInt2: identifier of the parameter to set. See the list of all possible object parameter identifiers
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Float32: the float value

streamCmd: simros_strmcmd_set_object_int_parameter

Description Enables a subscriber to an integer stream. Received values will be automatically applied to an object as one of its integer parameters. See here for information on how to enable subscribers. See also the service equivalent (simRosSetObjectIntParameter) for details. See also simros_strmcmd_get_object_int_parameter.
Enabling parameters
auxInt1: the handle of an object. See the list of all possible object parameter identifiers
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Int32: the integer value

streamCmd: simros_strmcmd_set_object_pose

Description Enables a subscriber to a pose stream. Received values will be automatically applied to an object as its pose. See here for information on how to enable subscribers. See also the service equivalent (simRosSetObjectPose) for details. See also simros_strmcmd_get_object_pose, simros_strmcmd_set_object_position and simros_strmcmd_set_object_quaternion.
Enabling parameters
auxInt1: the handle of an object. See also simRosGetObjectHandle.
auxInt2: indicates relative to which reference frame the pose is specified. Specify -1 to set the absolute pose, sim_handle_parent to set the pose relative to the object's parent, or an object handle relative to whose reference frame the pose is specified.
auxString: (not used, set to empty string)
Streamed data read
geometry_msgs::PoseStamped: the pose. Refer to the ROS documentation for details

streamCmd: simros_strmcmd_set_object_position

Description Enables a subscriber to a point stream. Received values will be automatically applied to an object as its position (coordinates). See here for information on how to enable subscribers. See also the service equivalent (simRosSetObjectPosition) for details. See also simros_strmcmd_set_object_quaternion and simros_strmcmd_get_object_pose.
Enabling parameters
auxInt1: the handle of an object. See also simRosGetObjectHandle.
auxInt2: indicates relative to which reference frame the position is specified. Specify -1 to set the absolute position, sim_handle_parent to set the position relative to the object's parent, or an object handle relative to whose reference frame the position is specified.
auxString: (not used, set to empty string)
Streamed data read
geometry_msgs::Point: the position (x,y,z)

streamCmd: simros_strmcmd_set_object_quaternion

Description Enables a subscriber to a quaternion stream. Received values will be automatically applied to an object as its quaternion. See here for information on how to enable subscribers. See also the service equivalent (simRosSetObjectQuaternion) for details. See also simros_strmcmd_set_object_position and simros_strmcmd_get_object_pose.
Enabling parameters
auxInt1: the handle of an object. See also simRosGetObjectHandle.
auxInt2: indicates relative to which reference frame the orientation is specified. Specify -1 to set the absolute orientation, sim_handle_parent to set the orientation relative to the object's parent, or an object handle relative to whose reference frame the orientation is specified.
auxString: (not used, set to empty string)
Streamed data read
geometry_msgs::Quaternion: the quaternion (x,y,z,w)

streamCmd: simros_strmcmd_set_object_selection

Description Enables a subscriber to an integer array stream. Received data represents the handles of objects which should appear as selected. See here for information on how to enable subscribers. See also the service equivalent (simRosSetObjectSelection) for details. See also simros_strmcmd_get_object_selection.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Int32MultiArray: the object handles. If the array is empty, then no object will appear as selected.

streamCmd: simros_strmcmd_set_string_signal

Description Enables a subscriber to a string stream. Received values will be automatically set as string signals. See here for information on how to enable subscribers. See also the service equivalent (simRosSetStringSignal) for details. See also simros_strmcmd_append_string_signal and simros_strmcmd_get_string_signal.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: the signal name
Streamed data read
std_msgs::String: the signal value

streamCmd: simros_strmcmd_set_twist_command

Description Enables a subscriber to twist data. Received data will be automatically applied to a string signal that can be read from anywhere. See here for information on how to enable subscribers. See also simros_strmcmd_get_twist_status.
Enabling parameters
auxInt1: (not used, set to -1)
auxInt2: (not used, set to -1)
auxString: name of the string signal that should contain the twist data. Refer also to simGetStringSignal. The subscriber will automatically apply the received twist data to the string signal, which will contain a succession of 6 float values (6*4 chars). From an embedded script, you can use following construction to access the twist data:
local packedData=simGetStringSignal(signalName)
if (packedData) then
    local twistData=simUnpackFloats(packedData)
    -- Do something with the twist data
end
Streamed data
geometry_msgs::Twist: the twist data

streamCmd: simros_strmcmd_set_ui_button_label

Description Enables a subscriber to a string stream. Received values will be automatically applied to a UI button as its label. See here for information on how to enable subscribers. See also the service equivalent (simRosSetUIButtonLabel) for details.
Enabling parameters
auxInt1: the handle of a UI. See also simRosGetUIHandle.
auxInt2: the button ID
auxString: (not used, set to empty string)
Streamed data read
std_msgs::String: the button label (up-state label)

streamCmd: simros_strmcmd_set_ui_button_property

Description Enables a subscriber to an integer stream. Received values will be automatically applied to a UI button as its properties. See here for information on how to enable subscribers. See also the service equivalent (simRosSetUIButtonProperty) for details. See also simros_strmcmd_get_ui_button_property.
Enabling parameters
auxInt1: the handle of a UI. See also simRosGetUIHandle.
auxInt2: the button ID
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Int32: the button properties

streamCmd: simros_strmcmd_set_ui_slider

Description Enables a subscriber to an integer stream. Received values will be automatically applied to a UI slider as its position. See here for information on how to enable subscribers. See also the service equivalent (simRosSetUISlider) for details. See also simros_strmcmd_get_ui_slider.
Enabling parameters
auxInt1: the handle of a UI. See also simRosGetUIHandle.
auxInt2: the button ID
auxString: (not used, set to empty string)
Streamed data read
std_msgs::Int32: the slider position (0-1000)

streamCmd: simros_strmcmd_set_vision_sensor_image

Description Enables a subscriber to an image stream. Received images will be automatically applied to a vision sensor (a vision sensor can be active or passive, in which case it can be used as image buffer or display). See here for information on how to enable subscribers. See also the service equivalent (simRosSetVisionSensorImage) for details. See also simros_strmcmd_get_vision_sensor_image.
Enabling parameters
auxInt1: the handle of a vision sensor. See also simRosGetObjectHandle.
auxInt2: (not used, set to -1)
auxString: (not used, set to empty string)
Streamed data read
sensor_msgs::Image: the image to apply. Currently only RGB8 and MONO8 image encoding is supported.