Device Components
Device components are reusable modules that provide specific functionalities for different robotic platforms. These components can be shared across multiple device types and provide a consistent interface for common capabilities like cameras, microphones, speakers, motion control, and more.
NAOqi Components
Components for NAOqi-based robots (NAO and Pepper).
Camera
- class sic_framework.devices.common_naoqi.naoqi_camera.NaoqiCameraConf(naoqi_ip='127.0.0.1', port=9559, cam_id=0, res_id=2, fps=30, brightness=None, contrast=None, saturation=None, hue=None, gain=None, hflip=None, vflip=None, auto_exposition=None, auto_white_bal=None, manual_exposure_val=None, auto_exp_algo=None, sharpness=None, back_light_comp=None, auto_focus=None, manual_focus_value=None)[source]
Bases:
SICConfMessage- __init__(naoqi_ip='127.0.0.1', port=9559, cam_id=0, res_id=2, fps=30, brightness=None, contrast=None, saturation=None, hue=None, gain=None, hflip=None, vflip=None, auto_exposition=None, auto_white_bal=None, manual_exposure_val=None, auto_exp_algo=None, sharpness=None, back_light_comp=None, auto_focus=None, manual_focus_value=None)[source]
Initialize camera configuration and optional device parameters.
For parameter meaning and defaults, see: - http://doc.aldebaran.com/2-8/family/nao_technical/video_naov6.html#naov6-video - http://doc.aldebaran.com/2-1/family/robots/video_robot.html
- Parameters:
naoqi_ip (str) – NAOqi host IP.
port (int) – NAOqi TCP port.
cam_id (int) – Camera ID to use.
res_id (int) – Resolution ID.
fps (int) – Target frames per second.
brightness (Optional[int]) – Camera brightness.
contrast (Optional[int]) – Camera contrast.
saturation (Optional[int]) – Camera color saturation.
hue (Optional[int]) – Camera hue adjustment.
gain (Optional[int]) – Camera gain level.
hflip (Optional[int]) – Horizontal flip toggle.
vflip (Optional[int]) – Vertical flip toggle.
auto_exposition (Optional[int]) – Auto exposure toggle.
auto_white_bal (Optional[int]) – Auto white balance toggle.
manual_exposure_val (Optional[int]) – Manual exposure value.
auto_exp_algo (Optional[int]) – Auto exposure algorithm.
sharpness (Optional[int]) – Image sharpness.
back_light_comp (Optional[int]) – Backlight compensation toggle.
auto_focus (Optional[int]) – Auto focus toggle.
manual_focus_value (Optional[int]) – Manual focus value.
Parameter Defaults: brightness: 55 contrast: 32 saturation: 128 hue: 0 gain: 32 hflip: 0 vflip: 0 auto_exposition: 1 auto_white_bal: 1 auto_exp_algo: 1 sharpness: 0 back_light_comp: 1 auto_focus: 0 manual_focus_value: 0
- class sic_framework.devices.common_naoqi.naoqi_camera.BaseNaoqiCameraSensor(*args, **kwargs)[source]
Bases:
SICSensor- static get_conf()[source]
Return the default configuration for a single camera sensor.
- Returns:
Camera configuration instance.
- Return type:
- static get_inputs()[source]
Declare that the sensor does not accept input messages.
- Returns:
Empty list.
- Return type:
list
- static get_output()[source]
Declare the output message type produced by this sensor.
- Returns:
Compressed image message class.
- class sic_framework.devices.common_naoqi.naoqi_camera.NaoqiTopCameraSensor(*args, **kwargs)[source]
Bases:
BaseNaoqiCameraSensor
- class sic_framework.devices.common_naoqi.naoqi_camera.NaoqiTopCamera(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiTopCameraSensor
- class sic_framework.devices.common_naoqi.naoqi_camera.NaoqiBottomCameraSensor(*args, **kwargs)[source]
Bases:
BaseNaoqiCameraSensorSensor for the NAO bottom camera (cam_id=1).
- class sic_framework.devices.common_naoqi.naoqi_camera.NaoqiBottomCamera(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiBottomCameraSensor
- class sic_framework.devices.common_naoqi.naoqi_camera.StereoImageMessage(left, right)[source]
Bases:
SICMessage
- class sic_framework.devices.common_naoqi.naoqi_camera.NaoStereoCameraConf(calib_params=None, naoqi_ip='127.0.0.1', port=9559, cam_id=0, res_id=2, color_id=11, fps=30, convert_bw=True, use_calib=True)[source]
Bases:
NaoqiCameraConf- __init__(calib_params=None, naoqi_ip='127.0.0.1', port=9559, cam_id=0, res_id=2, color_id=11, fps=30, convert_bw=True, use_calib=True)[source]
Initialize camera configuration and optional device parameters.
For parameter meaning and defaults, see: - http://doc.aldebaran.com/2-8/family/nao_technical/video_naov6.html#naov6-video - http://doc.aldebaran.com/2-1/family/robots/video_robot.html
- Parameters:
naoqi_ip (str) – NAOqi host IP.
port (int) – NAOqi TCP port.
cam_id (int) – Camera ID to use.
res_id (int) – Resolution ID.
fps (int) – Target frames per second.
brightness (Optional[int]) – Camera brightness.
contrast (Optional[int]) – Camera contrast.
saturation (Optional[int]) – Camera color saturation.
hue (Optional[int]) – Camera hue adjustment.
gain (Optional[int]) – Camera gain level.
hflip (Optional[int]) – Horizontal flip toggle.
vflip (Optional[int]) – Vertical flip toggle.
auto_exposition (Optional[int]) – Auto exposure toggle.
auto_white_bal (Optional[int]) – Auto white balance toggle.
manual_exposure_val (Optional[int]) – Manual exposure value.
auto_exp_algo (Optional[int]) – Auto exposure algorithm.
sharpness (Optional[int]) – Image sharpness.
back_light_comp (Optional[int]) – Backlight compensation toggle.
auto_focus (Optional[int]) – Auto focus toggle.
manual_focus_value (Optional[int]) – Manual focus value.
Parameter Defaults: brightness: 55 contrast: 32 saturation: 128 hue: 0 gain: 32 hflip: 0 vflip: 0 auto_exposition: 1 auto_white_bal: 1 auto_exp_algo: 1 sharpness: 0 back_light_comp: 1 auto_focus: 0 manual_focus_value: 0
- class sic_framework.devices.common_naoqi.naoqi_camera.StereoPepperCameraSensor(*args, **kwargs)[source]
Bases:
BaseNaoqiCameraSensor- static get_conf()[source]
Return the default configuration for a single camera sensor.
- Returns:
Camera configuration instance.
- Return type:
- undistort(img)[source]
Remove lens distortion using intrinsic matrix and distortion coefficients.
- Parameters:
img (numpy.ndarray) – Image to undistort.
- Returns:
Undistorted image.
- Return type:
numpy.ndarray
- warp(img, is_left)[source]
Apply perspective warp using rectification homography.
- Parameters:
img (numpy.ndarray) – Image to warp.
is_left (bool) – Selects H1 for left and H2 for right.
- Returns:
Warped image.
- Return type:
numpy.ndarray
- Raises:
AssertionError – If H1 or H2 is missing.
- rectify(img, is_left)[source]
Undistort and warp an image for rectification.
- Parameters:
img (numpy.ndarray) – Image to rectify.
is_left (bool) – Whether this is a left frame.
- Returns:
Rectified image.
- Return type:
numpy.ndarray
- class sic_framework.devices.common_naoqi.naoqi_camera.StereoPepperCamera(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
StereoPepperCameraSensor
- class sic_framework.devices.common_naoqi.naoqi_camera.DepthPepperCameraSensor(*args, **kwargs)[source]
Bases:
BaseNaoqiCameraSensor
- class sic_framework.devices.common_naoqi.naoqi_camera.DepthPepperCamera(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
DepthPepperCameraSensor
Microphone
- class sic_framework.devices.common_naoqi.naoqi_microphone.NaoqiMicrophoneConf[source]
Bases:
SICConfMessage
- class sic_framework.devices.common_naoqi.naoqi_microphone.NaoqiMicrophoneSensor(*args, **kwargs)[source]
Bases:
SICSensor- COMPONENT_STARTUP_TIMEOUT = 4
Timeout in seconds for component startup.
This controls how long a SICConnector should wait when requesting a component to start. Increase this value for components that need more time to initialize (e.g., robots that need to stand up or models that need to load to GPU).
- __init__(*args, **kwargs)[source]
- Parameters:
args (Any) – Positional arguments passed to the base class.
kwargs (Any) – Keyword arguments passed to the base class.
- Raises:
RuntimeError – If the callback service cannot be registered.
- static get_conf()[source]
Return the default configuration for this sensor.
- Returns:
Microphone configuration instance.
- Return type:
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_naoqi.naoqi_microphone.NaoqiMicrophone(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiMicrophoneSensor
Speakers
- class sic_framework.devices.common_naoqi.naoqi_speakers.NaoqiSpeakersConf[source]
Bases:
SICConfMessageConfiguration for the NAOqi speaker component.
- class sic_framework.devices.common_naoqi.naoqi_speakers.NaoqiSpeakerComponent(*args, **kwargs)[source]
Bases:
SICComponent- __init__(*args, **kwargs)[source]
Initialize the NAOqi speaker component and connect to ALAudioDevice and ALAudioPlayer.
- static get_conf()[source]
Return the default configuration for this component.
- Returns:
Default speaker configuration.
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- on_message(message)[source]
Define the handler for input messages.
- Parameters:
message (SICMessage) – The message to handle.
- Returns:
The reply
- Return type:
- on_request(request)[source]
Define the handler for Component specific requests. Must return a SICMessage as a reply to the request.
- Parameters:
request (SICRequest) – The request for this component.
- Returns:
The reply
- Return type:
- class sic_framework.devices.common_naoqi.naoqi_speakers.NaoqiSpeaker(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiSpeakerComponent
Text-to-Speech
- class sic_framework.devices.common_naoqi.naoqi_text_to_speech.NaoqiTextToSpeechRequest(text, language=None, animated=False, pitch=None, speed=None, pitch_shift=None, volume=None)[source]
Bases:
SICRequestRequest the robot to say a given text using text-to-speech.
- __init__(text, language=None, animated=False, pitch=None, speed=None, pitch_shift=None, volume=None)[source]
Initialize a text-to-speech request.
- Parameters:
text (str) – Text to be spoken.
language (str) – “English” or “Dutch” or see http://doc.aldebaran.com/2-8/family/nao_technical/languages_naov6.html#language-codes-naov6
animated – Use animated text to speech, e.g. perform some gestures while talking
- class sic_framework.devices.common_naoqi.naoqi_text_to_speech.NaoqiTextToSpeechConf(language='English', volume=None, speed=None, pitch=None, pitch_shift=None)[source]
Bases:
SICConfMessageConfiguration for the NAOqi text-to-speech engine.
Defines default voice parameters such as language, volume, pitch, and speed.
- __init__(language='English', volume=None, speed=None, pitch=None, pitch_shift=None)[source]
Initialize default parameters for the text-to-speech configuration.
If None, the default NAOqi values are used.
- Parameters:
language (str) – Language to use “English” or “Dutch” or see http://doc.aldebaran.com/2-8/family/nao_technical/languages_naov6.html#language-codes-naov6
volume (float) – Sets the current gain applied to the signal synthesized by the text to speech engine if not None.
pitch (int) – Applies a pitch shift to the voice. Range is [50 - 100].
pitch_shift (float) – Applies a pitch shift to the voice. Range is [1.0 - 4.0]. 0 disables the effect.
speed (int) – sets the current voice speed. The default value is 100. Range is [50 - 400]
- class sic_framework.devices.common_naoqi.naoqi_text_to_speech.NaoqiTextToSpeechActuator(*args, **kwargs)[source]
Bases:
SICActuator- static get_conf()[source]
Return the default configuration for this actuator.
- Returns:
Default text-to-speech configuration.
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- execute(message)[source]
Execute the text-to-speech request.
Applies message-specific parameters, then speaks using ALTextToSpeech or ALAnimatedSpeech.
- Parameters:
message (NaoqiTextToSpeechRequest) – Request containing speech parameters and text.
- Returns:
Acknowledgement message after speaking.
- Return type:
- class sic_framework.devices.common_naoqi.naoqi_text_to_speech.NaoqiTextToSpeech(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiTextToSpeechActuator
Motion
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoqiMoveRequest(x, y, theta)[source]
Bases:
SICRequestRequest to move with given velocities in the robot frame.
- Parameters:
x (float) – Velocity along X (forward) in m/s. Negative for backward.
y (float) – Velocity along Y (left) in m/s. Positive to move left.
theta (float) – Rotational velocity around Z in rad/s. Negative for clockwise.
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoqiMoveToRequest(x, y, theta)[source]
Bases:
NaoqiMoveRequestRequest to move to a relative pose (x, y, theta) from the robot frame.
- Variables:
x (float) – Distance along X (forward) in meters.
y (float) – Distance along Y (left) in meters.
theta (float) – Rotation around Z in radians [-3.1415, 3.1415].
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoqiMoveTowardRequest(x, y, theta)[source]
Bases:
NaoqiMoveRequestRequest to move with normalized velocities (unitless in [-1, 1]).
- Variables:
x (float) – Normalized velocity along X. +1 and -1 correspond to the maximum velocity in the forward and backward directions, respectively.
y (float) – Normalized velocity along Y. +1 and -1 correspond to the maximum velocity in the left and right directions, respectively.
theta (float) – Normalized rotational velocity around Z. +1 and -1 correspond to the maximum velocity in the counterclockwise and clockwise directions, respectively.
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoqiIdlePostureRequest(joints, value)[source]
Bases:
SICRequestControl idle behaviour. This is the robot behaviour when no user commands are sent. There are three idle control modes:
No idle control: in this mode, when no user command is sent to the robot, it does not move. Idle posture control: in this mode, the robot automatically comes back to a reference posture, then stays at that posture until a user command is sent. Breathing control: in this mode, the robot plays a breathing animation in loop.
See also NaoqiIdlePostureRequest.
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoqiBreathingRequest(joints, value)[source]
Bases:
SICRequestControl idle Breathing. This is the robot behaviour when no user commands are sent. There are three idle control modes:
No idle control: in this mode, when no user command is sent to the robot, it does not move. Idle posture control: in this mode, the robot automatically comes back to a reference posture, then stays at that posture until a user command is sent. Breathing control: in this mode, the robot plays a breathing animation in loop.
See also NaoqiBreathingRequest.
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoPostureRequest(target_posture, speed=0.4)[source]
Bases:
SICRequestRequest to go to a predefined NAO posture.
Options: “Crouch”, “LyingBack”, “LyingBelly”, “Sit”, “SitRelax”, “Stand”, “StandInit”, “StandZero”.
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoqiAnimationRequest(animation_path)[source]
Bases:
SICRequestRequest to play a predefined animation via ALAnimationPlayer.
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoqiSmartStiffnessRequest(enable=True)[source]
Bases:
SICRequestRequest to enable or disable Smart Stiffness reflex for all joints.
See: http://doc.aldebaran.com/2-4/naoqi/motion/reflexes-smart-stiffness.html
- class sic_framework.devices.common_naoqi.naoqi_motion.PepperPostureRequest(target_posture, speed=0.4)[source]
Bases:
SICRequestRequest to go to a predefined Pepper posture.
Options: “Crouch”, “Stand”, “StandInit”, “StandZero”.
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoqiMotionActuator(*args, **kwargs)[source]
Bases:
SICActuator- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- execute(request)[source]
Main function of the Actuator. Must return a SICMessage as a reply to the user.
Must be implemented by the subclass.
- Parameters:
request (SICRequest) – input messages
- Return type:
- class sic_framework.devices.common_naoqi.naoqi_motion.NaoqiMotion(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiMotionActuator
Motion Recorder
- class sic_framework.devices.common_naoqi.naoqi_motion_recorder.StartRecording(joints)[source]
Bases:
SICRequest- __init__(joints)[source]
Initialize a request to record the motion of selected joints.
For more information on joint chains, see robot documentation: - Nao: http://doc.aldebaran.com/2-8/family/nao_technical/bodyparts_naov6.html#nao-chains - Pepper: http://doc.aldebaran.com/2-8/family/pepper_technical/bodyparts_pep.html
- Parameters:
joints (list[str]) – One or more joint chains or individual joints (e.g., [“Body”] or [“LArm”, “HeadYaw”]).
- class sic_framework.devices.common_naoqi.naoqi_motion_recorder.StopRecording(request_id=None)[source]
Bases:
SICRequest
- class sic_framework.devices.common_naoqi.naoqi_motion_recorder.NaoqiMotionRecording(recorded_joints, recorded_angles, recorded_times)[source]
Bases:
SICMessage- __init__(recorded_joints, recorded_angles, recorded_times)[source]
Create a motion recording message.
Example
recorded_joints = [“HeadYaw”, “HeadPitch”, “LWrist”] recorded_angles = [[0.13, 0.21, 0.25], [0.21, 0.23, 0.31], [-1.0, 0.0, 0.1]] recorded_times = [[0.1, 0.2, 0.3], [0.1, 0.2, 0.3], [0.1, 0.2, 0.3]]
See: http://doc.aldebaran.com/2-1/naoqi/motion/control-joint-api.html#joint-control-api
- Parameters:
recorded_joints (list[str]) – Joint names (e.g., “HeadYaw”), not chains (e.g., “Body”).
recorded_angles (list[list[float]]) – Angles per joint, in radians.
recorded_times (list[list[float]]) – Target times per angle, in seconds.
- save(filename)[source]
Save the recording to a file (e.g., “wave.motion”).
- Parameters:
filename (str) – Target filename (preferably with .motion extension).
- class sic_framework.devices.common_naoqi.naoqi_motion_recorder.PlayRecording(motion_recording_message, playback_speed=1)[source]
Bases:
SICRequestRequest to replay a previously recorded motion.
- __init__(motion_recording_message, playback_speed=1)[source]
Play a recorded motion.
- Parameters:
motion_recording_message (NaoqiMotionRecording) – a NaoqiMotionRecording message.
playback_speed (float) – Playback speed multiplier (e.g., 1.5 for 1.5x; 0.5 for half speed).
- class sic_framework.devices.common_naoqi.naoqi_motion_recorder.NaoqiMotionRecorderConf(replay_stiffness=0.6, replay_speed=0.75, use_interpolation=True, setup_time=0.5, use_sensors=False, samples_per_second=20)[source]
Bases:
SICConfMessageConfiguration for recording and replaying motions.
- __init__(replay_stiffness=0.6, replay_speed=0.75, use_interpolation=True, setup_time=0.5, use_sensors=False, samples_per_second=20)[source]
Initialize recorder configuration options.
There is a choice between setAngles (approximate) and angleInterpolation (exact but speed-limited).
Note: replay_speed is used only when use_interpolation=False. Note: setup_time is used only when use_interpolation=True.
- Parameters:
replay_stiffness – Control how much power the robot should use to reach the given joint angles.
replay_speed – Control how fast the robot should to reach the given joint angles.
use_interpolation – Use setAngles if False and angleInterpolation if True.
setup_time – The time in seconds the robot has to reach the start position of the recording.
use_sensors – If true, sensor angles will be returned, otherwise command angles are used.
samples_per_second – How many times per second the joint positions are sampled.
- class sic_framework.devices.common_naoqi.naoqi_motion_recorder.NaoqiMotionRecorderActuator(*args, **kwargs)[source]
Bases:
SICActuator,NaoqiMotionTools- COMPONENT_STARTUP_TIMEOUT = 20
Timeout in seconds for component startup.
This controls how long a SICConnector should wait when requesting a component to start. Increase this value for components that need more time to initialize (e.g., robots that need to stand up or models that need to load to GPU).
- __init__(*args, **kwargs)[source]
Initialize the motion tools by determining the robot type.
- Parameters:
qi_session (qi.Session) – A qi.Session() instance used to determine robot type.
- Raises:
NotImplementedError – If the robot type is not supported.
- static get_conf()[source]
Return the default configuration for this component.
- Returns:
Recorder configuration.
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- record_motion()[source]
A thread that starts to record the motion of the robot until an event is set.
- reset_recording_variables(request)[source]
Initialize variables that will be populated during recording.
- execute(request)[source]
Main function of the Actuator. Must return a SICMessage as a reply to the user.
Must be implemented by the subclass.
- Parameters:
request (SICRequest) – input messages
- Return type:
- class sic_framework.devices.common_naoqi.naoqi_motion_recorder.NaoqiMotionRecorder(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiMotionRecorderActuator
LEDs
- class sic_framework.devices.common_naoqi.naoqi_leds.NaoLEDRequest(name, value)[source]
Bases:
SICRequestRequest to turn one or more LEDs on or off.
- Parameters:
name (str) – RGB LED or group name, see http://doc.aldebaran.com/2-5/naoqi/sensors/alleds.html.
value (bool) – True to turn on, False to turn off.
- class sic_framework.devices.common_naoqi.naoqi_leds.NaoSetIntensityRequest(name, intensity)[source]
Bases:
SICRequestRequest to change the intensity of one or more LEDs.
- Parameters:
name (str) – RGB LED or group name, see http://doc.aldebaran.com/2-5/naoqi/sensors/alleds.html.
intensity (float) – Intensity value in [0, 1].
- class sic_framework.devices.common_naoqi.naoqi_leds.NaoGetIntensityRequest(name)[source]
Bases:
SICRequestRequest to retrieve the intensity of an LED or LED group.
- Parameters:
name (str) – RGB LED or group name, see http://doc.aldebaran.com/2-5/naoqi/sensors/alleds.html.
- class sic_framework.devices.common_naoqi.naoqi_leds.NaoGetIntensityReply(value)[source]
Bases:
SICMessageMessage containing the LED intensity value.
- Parameters:
value (float) – Intensity value in [0, 1].
- class sic_framework.devices.common_naoqi.naoqi_leds.NaoFadeRGBRequest(name, r, g, b, duration=0.0)[source]
Bases:
SICRequestRequest to fade one or more LEDs to a target RGB color.
- Parameters:
name (str) – RGB LED or group name, see http://doc.aldebaran.com/2-5/naoqi/sensors/alleds.html.
r (float) – Red channel intensity in [0, 1].
g (float) – Green channel intensity in [0, 1].
b (float) – Blue channel intensity in [0, 1].
duration (float) – Duration in seconds for the fade (default = 0 for instant change).
- class sic_framework.devices.common_naoqi.naoqi_leds.NaoFadeListRGBRequest(name, rgbs, durations)[source]
Bases:
SICRequestRequest to cycle LED colors through a list of RGB values over time.
- Parameters:
name (str) – RGB LED or group name, see http://doc.aldebaran.com/2-5/naoqi/sensors/alleds.html.
rgbs (list[int]) – List of RGB values in hexadecimal format [0x00RRGGBB, …].
durations (list[float]) – List of durations (in seconds) corresponding to each RGB value.
- class sic_framework.devices.common_naoqi.naoqi_leds.NaoBasicAwarenessRequest(value, stimulus_detection=None, engagement_mode=None, tracking_mode=None)[source]
Bases:
SICRequestRequest to enable or disable basic awareness and configure its parameters.
- Parameters:
value (bool) – True to enable, False to disable basic awareness.
stimulus_detection (list[tuple[str, bool]]) – Optional list of (stimulus_name, enable) tuples for stimuli types, see http://doc.aldebaran.com/2-5/naoqi/interaction/autonomousabilities/albasicawareness.html#albasicawareness-stimuli-types.
engagement_mode (str) – Engagement mode, see http://doc.aldebaran.com/2-5/naoqi/interaction/autonomousabilities/albasicawareness.html#albasicawareness-engagement-modes.
tracking_mode (str) – Tracking mode, see http://doc.aldebaran.com/2-5/naoqi/interaction/autonomousabilities/albasicawareness.html#albasicawareness-tracking-modes.
- class sic_framework.devices.common_naoqi.naoqi_leds.NaoqiLEDsActuator(*args, **kwargs)[source]
Bases:
SICActuatorActuator for controlling LEDs through the NAOqi ALLeds service.
Supports requests for turning LEDs on/off, changing colors, and adjusting intensity levels.
- Variables:
session (qi.Session) – Connection to the local NAOqi framework.
leds (Any) – Handle to the ALLeds service.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- execute(message)[source]
Execute a LED control request.
- Parameters:
message (SICRequest) – LED-related request to process.
- Returns:
Reply message (e.g., NaoGetIntensityReply or generic SICMessage).
- Return type:
- class sic_framework.devices.common_naoqi.naoqi_leds.NaoqiLEDs(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiLEDsActuator
Tracker
- class sic_framework.devices.common_naoqi.naoqi_tracker.StartTrackRequest(target_name, size, mode='Head', effector='None', move_rel_position=None)[source]
Bases:
SICRequestRequest to register a target and start tracking it.
- __init__(target_name, size, mode='Head', effector='None', move_rel_position=None)[source]
Initialize a start-tracking request.
See: http://doc.aldebaran.com/2-5/naoqi/trackers/index.html
- Parameters:
target_name – Name of the object to track (e.g., RedBall, Face).
size (float) – Target size in meters (e.g., ball diameter or face width).
mode (str) – Tracking mode default mode is “Head”, other options: “WholeBody”, “Move”. See http://doc.aldebaran.com/2-5/naoqi/trackers/index.html#tracking-modes
effector (str) – Effector to use (“Arms”, “LArm”, “RArm”, or “None”).
move_rel_position – Set the robot position relative to target in Move mode
- class sic_framework.devices.common_naoqi.naoqi_tracker.StopAllTrackRequest(request_id=None)[source]
Bases:
SICRequestRequest to stop tracking and unregister all targets.
- class sic_framework.devices.common_naoqi.naoqi_tracker.RemoveTargetRequest(target_name)[source]
Bases:
SICRequest
- class sic_framework.devices.common_naoqi.naoqi_tracker.RemoveAllTargetsRequest(request_id=None)[source]
Bases:
SICRequestRequest to remove all tracking targets.
- class sic_framework.devices.common_naoqi.naoqi_tracker.NaoqiTrackerActuator(*args, **kwargs)[source]
Bases:
SICActuator- static get_conf()[source]
Return the default configuration for this actuator.
- Returns:
Generic configuration message.
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- execute(request)[source]
Main function of the Actuator. Must return a SICMessage as a reply to the user.
Must be implemented by the subclass.
- Parameters:
request (SICRequest) – input messages
- Return type:
- class sic_framework.devices.common_naoqi.naoqi_tracker.NaoqiTracker(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiTrackerActuator
Look At
- class sic_framework.devices.common_naoqi.naoqi_lookat.NaoqiLookAtConf(camera_index=0, camera_y_max=480, camera_x_max=640, mirror_x=False)[source]
Bases:
SICConfMessage
- class sic_framework.devices.common_naoqi.naoqi_lookat.LookAtMessage(x, y)[source]
Bases:
SICMessageMessage requesting the robot to look at normalized image coordinates.
Coordinates are in range [0.0, 1.0], where (0,0) is top-left.
- class sic_framework.devices.common_naoqi.naoqi_lookat.NaoqiLookAtComponent(*args, **kwargs)[source]
Bases:
SICComponent- static get_conf()[source]
Return the default configuration for this component.
- Returns:
Default LookAt configuration.
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- on_message(message)[source]
- Parameters:
message (SICMessage) – Incoming message (LookAtMessage or BoundingBoxesMessage).
- class sic_framework.devices.common_naoqi.naoqi_lookat.NaoqiLookAt(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiLookAtComponent
Stiffness
- class sic_framework.devices.common_naoqi.naoqi_stiffness.Stiffness(stiffness=0.7, joints='Body', enable_joint_list_generation=True)[source]
Bases:
SICRequest- __init__(stiffness=0.7, joints='Body', enable_joint_list_generation=True)[source]
Initialize a stiffness control request.
Controls how strongly the robot maintains commanded joint angles.
For more information, see: - Nao: http://doc.aldebaran.com/2-8/family/nao_technical/bodyparts_naov6.html#nao-chains - Pepper: http://doc.aldebaran.com/2-8/family/pepper_technical/bodyparts_pep.html
- Parameters:
stiffness (float) – Stiffness level to set in [0, 1].
joints (list[str]) – Joint or joint chain names (e.g., [“Body”], [“HeadYaw”, LArm]).
enable_joint_list_generation (bool) – If True, joint lists are automatically expanded from chains.
- class sic_framework.devices.common_naoqi.naoqi_stiffness.NaoqiStiffnessActuator(*args, **kwargs)[source]
Bases:
SICActuator,NaoqiMotionTools- __init__(*args, **kwargs)[source]
Initialize the motion tools by determining the robot type.
- Parameters:
qi_session (qi.Session) – A qi.Session() instance used to determine robot type.
- Raises:
NotImplementedError – If the robot type is not supported.
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- execute(request)[source]
Main function of the Actuator. Must return a SICMessage as a reply to the user.
Must be implemented by the subclass.
- Parameters:
request (SICRequest) – input messages
- Return type:
- class sic_framework.devices.common_naoqi.naoqi_stiffness.NaoqiStiffness(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiStiffnessActuator
Autonomous
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoBlinkingRequest(value)[source]
Bases:
SICRequestRequest to enable or disable autonomous blinking.
- Parameters:
value (bool) – True to enable, False to disable autonomous blinking.
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoBackgroundMovingRequest(value)[source]
Bases:
SICRequestRequest to enable or disable autonomous background movement.
- Parameters:
value (bool) – True to enable, False to disable background movement.
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoListeningMovementRequest(value)[source]
Bases:
SICRequestRequest to enable or disable listening movements (small motions indicating attention).
- Parameters:
value (bool) – True to enable, False to disable listening movements.
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoSpeakingMovementRequest(value, mode=None)[source]
Bases:
SICRequestRequest to enable or disable autonomous speaking movements.
- Parameters:
value (bool) – True to enable, False to disable.
mode (str) – Speaking movement mode (“random” or “contextual”).
- Raises:
ValueError – If mode is not one of the supported options. see http://doc.aldebaran.com/2-5/naoqi/interaction/autonomousabilities/alspeakingmovement.html#speaking-movement-mode
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoRestRequest(request_id=None)[source]
Bases:
SICRequest
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoWakeUpRequest(request_id=None)[source]
Bases:
SICRequest
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoSetAutonomousLifeRequest(state='solitary')[source]
Bases:
SICRequestRequest to set the state of the Autonomous Life module.
For further details, see: http://doc.aldebaran.com/2-5/ref/life/state_machine_management.html#autonomouslife-states
- Parameters:
state (str) – Target state (“solitary”, “interactive”, “safeguard”, or “disabled”).
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoBasicAwarenessRequest(value, stimulus_detection=None, engagement_mode=None, tracking_mode=None)[source]
Bases:
SICRequestRequest to enable or disable basic awareness and configure its parameters.
- Parameters:
value (bool) – True to enable, False to disable basic awareness.
stimulus_detection (list[tuple[str, bool]]) – Optional list of (stimulus_name, enable) tuples.
engagement_mode (str) – Engagement mode setting.
tracking_mode (str) – Tracking mode setting.
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoqiAutonomousActuator(*args, **kwargs)[source]
Bases:
SICActuatorActuator managing NAOqi autonomous abilities.
Provides an interface for enabling or disabling autonomous features like blinking, awareness, and background movements, as well as wakeUp and rest actions.
- Variables:
session (qi.Session) – Connection to the NAOqi framework.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- execute(message)[source]
Execute the given autonomous ability request.
- Parameters:
message (SICRequest) – Request specifying which autonomous ability to adjust.
- Returns:
Acknowledgement message after execution.
- Return type:
- Raises:
Exception – If a requested service or mode is invalid.
- class sic_framework.devices.common_naoqi.naoqi_autonomous.NaoqiAutonomous(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiAutonomousActuator
Common NAOqi Motion
- class sic_framework.devices.common_naoqi.common_naoqi_motion.NaoqiMotionTools(qi_session)[source]
Bases:
objectProvides utility functions for handling NAOqi robot motion models.
- Variables:
robot_type (str) – Type of robot, either ‘nao’ or ‘pepper’.
- __init__(qi_session)[source]
Initialize the motion tools by determining the robot type.
- Parameters:
qi_session (qi.Session) – A qi.Session() instance used to determine robot type.
- Raises:
NotImplementedError – If the robot type is not supported.
- generate_joint_list(joint_chains)[source]
Generate a flat list of valid joints for a given robot based on input joint chains.
- Parameters:
joint_chains (list[str]) – List of joint chains or individual joints to resolve.
- Returns:
A flat list of valid joint names for the current robot.
- Return type:
list[str]
- Raises:
ValueError – If a provided joint or chain is not recognized.
- property body_model
Retrieve the mapping of joint chains to their respective joints for the current robot.
For more information, see robot documentation: - Nao: http://doc.aldebaran.com/2-8/family/nao_technical/bodyparts_naov6.html#nao-chains - Pepper: http://doc.aldebaran.com/2-8/family/pepper_technical/bodyparts_pep.html
- Returns:
Dictionary of joint chains and their associated joints.
- Return type:
dict[str, list[str]]
- property all_joints
Retrieve all joints available for the current robot.
- Returns:
List of all joint names.
- Return type:
list[str]
Motion Affect Transformation
- class sic_framework.devices.common_naoqi.motion_affect_transformation.MotionAffectTransformation[source]
Bases:
objectApply affect-based transformations to NAOqi motion dictionaries.
The methods adjust amplitude, timing, posture, and enforce joint limits based on valence/arousal or emotion labels.
- transform_values(motion, valence, arousal)[source]
Transform a motion by applying flow, time, and weight changes based on valence and arousal.
- Parameters:
motion (dict) – Motion dictionary with the shape { “motion”: { joint_name: {“angles”: list[float], “times”: list[float]} } }.
valence (float) – Valence value in [-1, 1] influencing amplitude and posture.
arousal (float) – Arousal value in [-1, 1] influencing repetition and speed.
- Returns:
The transformed motion dictionary.
- Return type:
dict
- transform_label(motion, emotion_label)[source]
Transform a motion by first mapping an emotion label to valence/arousal values.
- Parameters:
motion (dict) – Motion dictionary to transform.
emotion_label (str) – Discrete emotion label (e.g., “happy”, “sad”, “angry”).
- Returns:
The transformed motion dictionary.
- Return type:
dict
- angle_limit(motion)[source]
Clamp joint angles to the robot’s physical limits.
- Parameters:
motion (dict) – Motion dictionary to validate and clamp.
- Returns:
The motion dictionary with angles limited to valid ranges.
- Return type:
dict
- modify_flow_parameters(motion, valence)[source]
Adjust motion amplitudes and blend towards a linear trajectory based on valence.
- Parameters:
motion (dict) – Motion dictionary to modify.
valence (float) – Valence value affecting amplitude (positive increases, negative slightly decreases).
- Returns:
The updated motion dictionary.
- Return type:
dict
- modify_time_parameters(motion, arousal)[source]
Adjust repetition (implicit via angle scaling) and speed (time scaling) based on arousal.
- Parameters:
motion (dict) – Motion dictionary to modify.
arousal (float) – Arousal value affecting repetition and speed.
- Returns:
The updated motion dictionary.
- Return type:
dict
- modify_weight_parameters(motion, valence, arousal)[source]
Add or adjust posture-related joints (e.g., head pitch) based on valence and arousal.
- Parameters:
motion (dict) – Motion dictionary to modify.
valence (float) – Valence value influencing posture.
arousal (float) – Arousal value influencing posture and added joints.
- Returns:
The updated motion dictionary.
- Return type:
dict
- static pivot_states(motion, ignore_joints)[source]
Collect unique time points across joints, excluding specified joints.
- Parameters:
motion (dict) – Motion dictionary containing joint time arrays.
ignore_joints (list[str]) – Joint names to ignore when collecting time points.
- Returns:
Sorted unique list of time points.
- Return type:
list[float]
- static amplitude(valence)[source]
Map valence to an amplitude scaling factor.
- Parameters:
valence (float) – Valence value in [-1, 1].
- Returns:
Amplitude multiplier (>0).
- Return type:
float
- static repetition(arousal)[source]
Map arousal to a repetition factor.
Positive arousal increases the factor; non-positive returns 1.
- Parameters:
arousal (float) – Arousal value in [-1, 1].
- Returns:
Repetition multiplier (>=1).
- Return type:
float
- static speed(arousal)[source]
Map arousal to a speed scaling factor for time values.
- Parameters:
arousal (float) – Arousal value in [-1, 1].
- Returns:
Speed multiplier (>0).
- Return type:
float
- static head_pose(valence, arousal, up=0.506145, down=0.349066)[source]
Compute a head pitch offset based on valence and arousal.
- Parameters:
valence (float) – Valence value.
arousal (float) – Arousal value.
up (float) – Maximum upward pitch in radians.
down (float) – Maximum downward pitch in radians.
- Returns:
Head pitch offset in radians.
- Return type:
float
- property leg_joints
Retrieve the list of leg joint names.
- Returns:
List of leg joint identifiers.
- Return type:
list[str]
- property hand_joints
Retrieve the list of hand joint names.
- Returns:
List of hand joint identifiers.
- Return type:
list[str]
- property upright
Retrieve a posture dictionary for an upright (expanded) stance.
- Returns:
Mapping from joint name to target angle in radians.
- Return type:
dict[str, float]
- property neutral
Retrieve a posture dictionary for a neutral stance.
- Returns:
Mapping from joint name to target angle in radians.
- Return type:
dict[str, float]
- property bend
Retrieve a posture dictionary for a bent (shrunk) stance.
- Returns:
Mapping from joint name to target angle in radians.
- Return type:
dict[str, float]
NAO-Specific Components
NAO Motion Streamer
- class sic_framework.devices.common_naoqi.nao_motion_streamer.StartStreaming(joints)[source]
Bases:
SICRequestRequest to start streaming joint positions for specified joints.
- __init__(joints)[source]
Start streaming the positions of the selected joints. For more information see robot documentation: For nao: http://doc.aldebaran.com/2-8/family/nao_technical/bodyparts_naov6.html#nao-chains For pepper: http://doc.aldebaran.com/2-8/family/pepper_technical/bodyparts_pep.html
- Parameters:
joints (list[str]) – One of the robot’s “Joint chains” such as [“Body”] or [“LArm”, “HeadYaw”]
- class sic_framework.devices.common_naoqi.nao_motion_streamer.StopStreaming(request_id=None)[source]
Bases:
SICRequest
- class sic_framework.devices.common_naoqi.nao_motion_streamer.NaoJointAngles(joints, angles)[source]
Bases:
SICMessageMessage carrying joint names and their corresponding angles in radians.
- class sic_framework.devices.common_naoqi.nao_motion_streamer.NaoMotionStreamerConf(stiffness=0.6, speed=0.75, stream_stiffness=0, use_sensors=False, samples_per_second=20)[source]
Bases:
SICConfMessageConfiguration for the NAOqi motion streaming service.
- __init__(stiffness=0.6, speed=0.75, stream_stiffness=0, use_sensors=False, samples_per_second=20)[source]
Initialize configuration options for motion streaming.
- Parameters:
stiffness (float) – Control how much power the robot should use to reach the given joint angles
speed (float) – Set the fraction of the maximum speed used to reach the target position.
stream_stiffness (float) – Control the stiffness of the robot when streaming its joint positions.
Note: Use stiffness, not stream_stiffness, to control the stiffness of the robot when consuming a stream of joint postions. :param bool use_sensors: If true, sensor angles will be returned, otherwise command angles are used. :param int samples_per_second: How many times per second the joint positions are sampled.
- class sic_framework.devices.common_naoqi.nao_motion_streamer.NaoqiMotionStreamerService(*args, **kwargs)[source]
Bases:
SICComponent,NaoqiMotionToolsStream NAOqi joint angles and process control requests.
This component connects to a local NAOqi session, exposes start/stop streaming requests, and publishes NaoJointAngles messages at the requested rate.
- __init__(*args, **kwargs)[source]
Set up the NAOqi session, motion service, and streaming thread.
- Parameters:
args (Any) – Positional arguments passed to the component base.
kwargs (Any) – Keyword arguments passed to the component base.
- static get_conf()[source]
Return the default configuration for this component.
- Returns:
Default configuration instance.
- Return type:
- static get_inputs()[source]
List the message and request types accepted by this component.
- Returns:
Supported inputs.
- Return type:
list[type]
- on_request(request)[source]
Handle start/stop streaming requests.
- Parameters:
request (SICRequest) – Incoming request instance.
- Returns:
Acknowledgement message.
- Return type:
- on_message(message)[source]
Apply stiffness if needed and forward desired joint angles to the robot.
- Parameters:
message (NaoJointAngles) – Message containing joint names and desired angles.
- static get_output()[source]
Declare the message type produced by this component.
- Returns:
Output message class.
- Return type:
type
- class sic_framework.devices.common_naoqi.nao_motion_streamer.NaoqiMotionStreamer(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnectorConnector binding to NaoqiMotionStreamerService.
- component_class
alias of
NaoqiMotionStreamerService
Pepper-Specific Components
Pepper Motion Streamer
- class sic_framework.devices.common_naoqi.pepper_motion_streamer.StartStreaming(joints)[source]
Bases:
SICRequestRequest to start streaming joint positions for specified joints.
- __init__(joints)[source]
Initialize a request to start streaming positions for selected joints.
For more information on joint chains, see robot documentation: - Nao: http://doc.aldebaran.com/2-8/family/nao_technical/bodyparts_naov6.html#nao-chains - Pepper: http://doc.aldebaran.com/2-8/family/pepper_technical/bodyparts_pep.html
- Parameters:
joints (list[str]) – One or more joint chains or individual joints (e.g., [“Body”] or [“LArm”, “HeadYaw”]).
- class sic_framework.devices.common_naoqi.pepper_motion_streamer.StopStreaming(request_id=None)[source]
Bases:
SICRequest
- class sic_framework.devices.common_naoqi.pepper_motion_streamer.PepperMotionStream(joints, angles, velocity)[source]
Bases:
SICMessage
- class sic_framework.devices.common_naoqi.pepper_motion_streamer.PepperMotionStreamerConf(stiffness=0.6, speed=0.75, stream_stiffness=0, use_sensors=False, samples_per_second=20)[source]
Bases:
SICConfMessageConfiguration for the Pepper motion streaming service.
- __init__(stiffness=0.6, speed=0.75, stream_stiffness=0, use_sensors=False, samples_per_second=20)[source]
Note: Use stiffness, not stream_stiffness, to control the stiffness of the robot when consuming a stream of joint postions.
- Parameters:
stiffness (float) – Control how much power the robot should use to reach the given joint angles
speed (float) – Set the fraction of the maximum speed used to reach the target position.
stream_stiffness – Control the stiffness of the robot when streaming its joint positions.
use_sensors (bool) – If true, sensor angles will be returned, otherwise command angles are used.
samples_per_second (int) – How many times per second the joint positions are sampled.
- class sic_framework.devices.common_naoqi.pepper_motion_streamer.PepperMotionStreamerService(*args, **kwargs)[source]
Bases:
SICComponent,NaoqiMotionTools- __init__(*args, **kwargs)[source]
Initialize the motion tools by determining the robot type.
- Parameters:
qi_session (qi.Session) – A qi.Session() instance used to determine robot type.
- Raises:
NotImplementedError – If the robot type is not supported.
- static get_conf()[source]
Return the default configuration for this component.
- Returns:
Default configuration instance.
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- on_request(request)[source]
Define the handler for Component specific requests. Must return a SICMessage as a reply to the request.
- Parameters:
request (SICRequest) – The request for this component.
- Returns:
The reply
- Return type:
- on_message(message)[source]
Move the joints and base of the robot according to PepperMotionStream message
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_naoqi.pepper_motion_streamer.PepperMotionStreamer(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
PepperMotionStreamerService
Pepper Tablet
- class sic_framework.devices.common_naoqi.pepper_tablet.UrlMessage(url)[source]
Bases:
SICMessage
- class sic_framework.devices.common_naoqi.pepper_tablet.NaoqiTabletComponent(*args, **kwargs)[source]
Bases:
SICComponent- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- on_message(message)[source]
Define the handler for input messages.
- Parameters:
message (SICMessage) – The message to handle.
- Returns:
The reply
- Return type:
- class sic_framework.devices.common_naoqi.pepper_tablet.NaoqiTablet(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoqiTabletComponent
Pepper Top Tactile Sensor
- class sic_framework.devices.common_naoqi.pepper_top_tactile_sensor.PepperTactileSensorMessage(value)[source]
Bases:
SICMessage- __init__(value)[source]
Contains a value of 1, indicating tactile was touched. http://doc.aldebaran.com/2-5/naoqi/sensors/altouch-api.html?highlight=middletactiltouched#MiddleTactilTouched
- class sic_framework.devices.common_naoqi.pepper_top_tactile_sensor.PepperTopTactileSensor(*args, **kwargs)[source]
Bases:
SICComponentPepperTopTactileSensor is a sensor that reads the robot’s physical button and touch values from the ALMemory module.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_naoqi.pepper_top_tactile_sensor.PepperTopTactile(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
PepperTopTactileSensor
Desktop Components
Components for desktop/PC-based devices.
Camera
- class sic_framework.devices.common_desktop.desktop_camera.DesktopCameraConf(fx=1.0, fy=1.0, flip=None, device_id=0, flip_rgb=False)[source]
Bases:
SICConfMessage- __init__(fx=1.0, fy=1.0, flip=None, device_id=0, flip_rgb=False)[source]
Sets desktop camera configuration parameters.
See https://docs.opencv.org/4.x/da/d54/group__imgproc__transform.html#ga47a974309e9102f5f08231edc7e7529d :param fx: rescaling factor along x-axis (float) :param fy: rescaling factor along y-axis (float) :param device_id: The device ID of the camera for OpenCV to use. Default: 0
See https://docs.opencv.org/3.4/d2/de8/group__core__array.html#gaca7be533e3dac7feb70fc60635adf441 :param flip: flip code for vertical (0), horizontal (>0), or both (<0) flipping. Default is None (no flipping)
- class sic_framework.devices.common_desktop.desktop_camera.DesktopCameraSensor(*args, **kwargs)[source]
Bases:
SICSensor- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_desktop.desktop_camera.DesktopCamera(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
DesktopCameraSensor
Microphone
- class sic_framework.devices.common_desktop.desktop_microphone.MicrophoneConf(channels=1, sample_rate=44100, device_index=None)[source]
Bases:
SICConfMessage
- class sic_framework.devices.common_desktop.desktop_microphone.DesktopMicrophoneSensor(*args, **kwargs)[source]
Bases:
SICSensor- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_desktop.desktop_microphone.DesktopMicrophone(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
DesktopMicrophoneSensor
Speakers
- class sic_framework.devices.common_desktop.desktop_speakers.SpeakersConf(sample_rate=44100, channels=1)[source]
Bases:
SICConfMessageParameters for speakers go here.
- class sic_framework.devices.common_desktop.desktop_speakers.DesktopSpeakersActuator(*args, **kwargs)[source]
Bases:
SICActuator- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- on_request(request)[source]
Handle a request from the client. Calls the execute method.
- Parameters:
request (SICRequest) – input messages
- Return type:
- on_message(message)[source]
Define the handler for input messages.
- Parameters:
message (SICMessage) – The message to handle.
- Returns:
The reply
- Return type:
- class sic_framework.devices.common_desktop.desktop_speakers.DesktopSpeakers(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
DesktopSpeakersActuator
Text-to-Speech
- class sic_framework.devices.common_desktop.desktop_text_to_speech.TextToSpeechConf(amplitude=100, pitch=50, speed=175, gap=0, voice='en')[source]
Bases:
SICConfMessageParameters for espeak.
- __init__(amplitude=100, pitch=50, speed=175, gap=0, voice='en')[source]
Initialize espeak configuration.
- Parameters:
amplitude – Volume (0-200), default 100
pitch – Pitch adjustment (0-99), default 50
speed – Speed in words per minute, default 175
gap – Word gap in 10ms units, default 0
voice – Voice to use (e.g., ‘en’, ‘en-us’, ‘en+f3’), default ‘en’
- class sic_framework.devices.common_desktop.desktop_text_to_speech.DesktopTextToSpeechActuator(*args, **kwargs)[source]
Bases:
SICActuatorDesktop text to speech actuator.
Requires espeak to be installed.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- on_request(request)[source]
Handle a request from the client. Calls the execute method.
- Parameters:
request (SICRequest) – input messages
- Return type:
- on_message(message)[source]
Define the handler for input messages.
- Parameters:
message (SICMessage) – The message to handle.
- Returns:
The reply
- Return type:
- class sic_framework.devices.common_desktop.desktop_text_to_speech.DesktopTextToSpeech(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
DesktopTextToSpeechActuator
SpaceMouse
- class sic_framework.devices.common_desktop.desktop_spacemouse.SpaceMouseStates(t, x, y, z, roll, pitch, yaw, buttons)[source]
Bases:
SICMessage- __init__(t, x, y, z, roll, pitch, yaw, buttons)[source]
State objects returned from read() have 7 attributes: [t,x,y,z,roll,pitch,yaw,button]. :param t: timestamp in seconds since the script started. :param x: x translation in the range [-1.0, 1.0] :param y: y translation in the range [-1.0, 1.0] :param z: z translation in the range [-1.0, 1.0] :param roll: roll rotation in the range [-1.0, 1.0]. :param pitch: pitch rotations in the range [-1.0, 1.0]. :param yaw: yaw rotation in the range [-1.0, 1.0]. :param buttons: list of button states (0 or 1), in order specified in the device specifier
- class sic_framework.devices.common_desktop.desktop_spacemouse.DesktopSpaceMouseSensor(*args, **kwargs)[source]
Bases:
SICSensor- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_desktop.desktop_spacemouse.DesktopSpaceMouse(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
DesktopSpaceMouseSensor
AlphaMini Components
Components for the Ubtech AlphaMini robot.
Connector
Microphone
- class sic_framework.devices.common_mini.mini_microphone.MiniMicrophoneSensor(*args, **kwargs)[source]
Bases:
SICSensorA SICSensor component that acts as a TCP server to receive raw audio data from the external Android micarraytest application (https://github.com/Social-AI-VU/alphamini_android), and streams it as mono audio messages for downstream processing (e.g., Dialogflow or other ASR systems). At the time of writing, this component is running on the AlphaMini robot to stay consistent with the current structure. If performance limitations or lag become more significant in the future, consider running it locally.
This component: - Listens on a specified TCP port for incoming stereo audio data. - Buffers the incoming audio data and converts it from stereo to mono. - Sends mono audio data encapsulated in an AudioMessage. - Attempts to (re)launch the external Android micarraytest app if disconnected
for more than 5 seconds.
- sample_rate
Audio sample rate in Hz (default: 44000).
- Type:
int
- channels
Number of audio channels (2 for stereo).
- Type:
int
- bytes_per_sample
Bytes per audio sample (2 for 16-bit).
- Type:
int
- frame_size
Number of bytes per chunk received over the socket.
- Type:
int
- buffer_time_ms
Duration (in ms) of audio data to buffer before sending.
- Type:
int
- buffer_size
Computed buffer size in bytes for the target duration.
- Type:
int
- buffer_accumulator
Accumulates raw audio data until the buffer is full.
- Type:
bytes
- host
IP address the server listens on (default: “0.0.0.0”, which means it accepts connections from any network interface).
- Type:
str
- port
TCP port the server listens on (default: 5000).
- Type:
int
- server_socket
The main server socket.
- Type:
socket.socket
- client_conn
Active client connection, if any.
- Type:
socket.socket
- last_connection_time
Timestamp of the last successful connection.
- Type:
float
- COMPONENT_STARTUP_TIMEOUT = 10
Timeout in seconds for component startup.
This controls how long a SICConnector should wait when requesting a component to start. Increase this value for components that need more time to initialize (e.g., robots that need to stand up or models that need to load to GPU).
- class sic_framework.devices.common_mini.mini_microphone.MiniMicrophone(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
MiniMicrophoneSensor
Speaker
- class sic_framework.devices.common_mini.mini_speaker.MiniSpeakersConf(sample_rate=44100, channels=1)[source]
Bases:
SICConfMessage
- class sic_framework.devices.common_mini.mini_speaker.MiniSpeakerComponent(*args, **kwargs)[source]
Bases:
SICComponent- COMPONENT_STARTUP_TIMEOUT = 5
Timeout in seconds for component startup.
This controls how long a SICConnector should wait when requesting a component to start. Increase this value for components that need more time to initialize (e.g., robots that need to stand up or models that need to load to GPU).
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- on_message(message)[source]
Define the handler for input messages.
- Parameters:
message (SICMessage) – The message to handle.
- Returns:
The reply
- Return type:
- on_request(request)[source]
Define the handler for Component specific requests. Must return a SICMessage as a reply to the request.
- Parameters:
request (SICRequest) – The request for this component.
- Returns:
The reply
- Return type:
- class sic_framework.devices.common_mini.mini_speaker.MiniSpeaker(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
MiniSpeakerComponent
Animation
Franka Components
Components for the Franka Emika robot arm.
Motion
- class sic_framework.devices.common_franka.franka_motion.FrankaPoseRequest(stream=False)[source]
Bases:
SICRequestA request for obtaining the current end-effector (EE) pose relative to the robot base frame.
- class sic_framework.devices.common_franka.franka_motion.FrankaPose(position, orientation)[source]
Bases:
SICMessageA SICMessage containing end-effector (EE) position and orientation in robot base frame
- Parameters:
position – end-effector position in robot base frame
orientation – end-effector orientation (quaternion) in robot base frame
- class sic_framework.devices.common_franka.franka_motion.FrankaGripperGraspRequest(width, speed=0.1, force=5, epsilon_inner=0.005, epsilon_outer=0.005)[source]
Bases:
SICRequestA SICRequest to command the gripper to grasp an object with a force-controlled command.
see the api documentation for more details: https://jeanelsner.github.io/panda-py/panda_py.libfranka.html#panda_py.libfranka.Gripper.grasp
- Parameters:
width – The distance between the fingers in meters. The width must be between 0.0 and 0.085 m.
speed – The speed of the gripper in meters per second. The speed must be between 0 and 0.1 m/s.
force – The gripping force in Newton. The force must be between 5 and 70 N.
epsilon_inner – The inner tolerance for the grasp width in meters.
epsilon_outer – The outer tolerance for the grasp width in meters.
- class sic_framework.devices.common_franka.franka_motion.FrankaGripperMoveRequest(width, speed=0.1)[source]
Bases:
SICRequestA SICRequest to command the gripper to move to a specific width.
see the api documentation for more details: https://jeanelsner.github.io/panda-py/panda_py.libfranka.html#panda_py.libfranka.Gripper.move
- Parameters:
width – The distance between the fingers in meters. The width must be between 0.0 and 0.085 m.
speed – The speed of the gripper in meters per second. The speed must be between 0 and 0.1 m/s.
- class sic_framework.devices.common_franka.franka_motion.FrankaMotionActuator(*args, **kwargs)[source]
Bases:
SICActuator- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- on_message(message)[source]
Define the handler for input messages.
- Parameters:
message (SICMessage) – The message to handle.
- Returns:
The reply
- Return type:
- execute(request)[source]
Main function of the Actuator. Must return a SICMessage as a reply to the user.
Must be implemented by the subclass.
- Parameters:
request (SICRequest) – input messages
- Return type:
- class sic_framework.devices.common_franka.franka_motion.FrankaMotion(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
FrankaMotionActuator
Motion Recorder
- class sic_framework.devices.common_franka.franka_motion_recorder.StartTeachingRequest(request_id=None)[source]
Bases:
SICRequestA request to start teaching mode
- class sic_framework.devices.common_franka.franka_motion_recorder.StopTeachingRequest(request_id=None)[source]
Bases:
SICRequestA request to stop teaching mode
- class sic_framework.devices.common_franka.franka_motion_recorder.StartRecordingRequest(frequency=1000)[source]
Bases:
SICRequestRecord motion of the joints, For more information see documentation https://github.com/JeanElsner/panda-py
- Parameters:
frequency – Number of data points recorded per second. Higher values capture finer motion detail
- class sic_framework.devices.common_franka.franka_motion_recorder.StopRecordingRequest(request_id=None)[source]
Bases:
SICRequestA request to stop recording joint motion.
- class sic_framework.devices.common_franka.franka_motion_recorder.GoHomeRequest(request_id=None)[source]
Bases:
SICRequestA request to move the robot to its home position.
- class sic_framework.devices.common_franka.franka_motion_recorder.PlayRecordingRequest(joint_recording, frequency=1000)[source]
Bases:
SICRequestPlay recorded joint positions and joint velocities.
- Parameters:
joint_recording – Object contains PandaJointsRecording.
frequency – Number of data points recorded per second. This frequency should match how the initial trajectory was recorded/collected
- class sic_framework.devices.common_franka.franka_motion_recorder.PandaJointsRecording(recorded_joints_pos, recorded_joints_vel)[source]
Bases:
SICMessageA SICMessage containing recorded joint positions and velocities.
- Parameters:
recorded_joints_pos – List of 7-element arrays representing recorded joint positions.
recorded_joints_vel – List of 7-element arrays representing recorded joint velocities.
- class sic_framework.devices.common_franka.franka_motion_recorder.FrankaMotionRecorderActuator(*args, **kwargs)[source]
Bases:
SICActuator- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- reset_recording_variables(request)[source]
Reset recorded joint positions and velocities and set the recording frequency.
- Parameters:
request – The StartRecordingRequest containing the desired recording frequency.
- replay_recording(request)[source]
Replay recorded joint positions and velocities.
- Parameters:
request – The PlayRecordingRequest containing recorded joint positions and velocities.
- execute(request)[source]
Main function of the Actuator. Must return a SICMessage as a reply to the user.
Must be implemented by the subclass.
- Parameters:
request (SICRequest) – input messages
- Return type:
- class sic_framework.devices.common_franka.franka_motion_recorder.FrankaMotionRecorder(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
FrankaMotionRecorderActuator
NAO Stub Components
Stub components for NAO robot testing and simulation.
NAO stub components - provides the same interface as the real NAO robot but uses Desktop sensors/actuators where possible. NAO-specific actuators are stubbed with logging.
- class sic_framework.devices.common_nao_stub.NaoStubMotion(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubMotionActuator
- class sic_framework.devices.common_nao_stub.NaoStubMotionRecorder(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubMotionRecorderActuator
- class sic_framework.devices.common_nao_stub.NaoStubTTS(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubTTSActuator
- class sic_framework.devices.common_nao_stub.NaoStubStiffness(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubStiffnessActuator
- class sic_framework.devices.common_nao_stub.NaoStubAutonomous(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubAutonomousActuator
- class sic_framework.devices.common_nao_stub.NaoStubLEDs(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubLEDsActuator
- class sic_framework.devices.common_nao_stub.NaoStubButtons(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubButtonsSensor
- class sic_framework.devices.common_nao_stub.NaoStubTracker(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubTrackerActuator
- class sic_framework.devices.common_nao_stub.NaoStubLookAt(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubLookAtActuator
- class sic_framework.devices.common_nao_stub.NaoStubMotionActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO motion actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.NaoStubMotionRecorderActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO motion recorder - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.NaoStubTTSActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO TTS - logs what would be said instead of actually speaking.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.NaoStubStiffnessActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO stiffness actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.NaoStubAutonomousActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO autonomous behavior - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.NaoStubLEDsActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO LED actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.NaoStubButtonsSensor(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICSensorStub for NAO button sensor - logs but doesn’t generate events.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.NaoStubTrackerActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO tracker actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.NaoStubLookAtActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO look-at actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
Autonomous
NAO stub autonomous behavior component.
- class sic_framework.devices.common_nao_stub.nao_stub_autonomous.NaoStubAutonomousActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO autonomous behavior - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.nao_stub_autonomous.NaoStubAutonomous(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubAutonomousActuator
LEDs
NAO stub LEDs component.
- class sic_framework.devices.common_nao_stub.nao_stub_leds.NaoStubLEDsActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO LED actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.nao_stub_leds.NaoStubLEDs(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubLEDsActuator
Motion
NAO stub motion components.
- class sic_framework.devices.common_nao_stub.nao_stub_motion.NaoStubMotionActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO motion actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.nao_stub_motion.NaoStubMotionRecorderActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO motion recorder - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.nao_stub_motion.NaoStubMotion(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubMotionActuator
- class sic_framework.devices.common_nao_stub.nao_stub_motion.NaoStubMotionRecorder(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubMotionRecorderActuator
Stiffness
NAO stub stiffness component.
- class sic_framework.devices.common_nao_stub.nao_stub_stiffness.NaoStubStiffnessActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO stiffness actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.nao_stub_stiffness.NaoStubStiffness(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubStiffnessActuator
Tracker
NAO stub tracker and look-at components.
- class sic_framework.devices.common_nao_stub.nao_stub_tracker.NaoStubTrackerActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO tracker actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.nao_stub_tracker.NaoStubLookAtActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO look-at actuator - logs actions instead of executing them.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.nao_stub_tracker.NaoStubTracker(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubTrackerActuator
- class sic_framework.devices.common_nao_stub.nao_stub_tracker.NaoStubLookAt(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubLookAtActuator
Text-to-Speech
NAO stub text-to-speech component.
- class sic_framework.devices.common_nao_stub.nao_stub_tts.NaoStubTTSActuator(ready_event=None, stop_event=None, conf=None, input_channel=None, component_channel=None, req_reply_channel=None, client_id='', endpoint='', ip='', redis=None)[source]
Bases:
SICActuatorStub for NAO TTS - logs what would be said instead of actually speaking.
- static get_conf()[source]
Define the expected configuration of the component using SICConfMessage.
- Returns:
a SICConfMessage or None
- Return type:
- static get_inputs()[source]
Define the input types the component needs as a list.
Must be implemented by the subclass.
- Returns:
list of SIC messages
- Return type:
List[Type[SICMessage]]
- static get_output()[source]
Define the output type of the component.
Must be implemented by the subclass.
- Returns:
SIC message
- Return type:
Type[SICMessage]
- class sic_framework.devices.common_nao_stub.nao_stub_tts.NaoStubTTS(ip='localhost', conf=None, input_source=None)[source]
Bases:
SICConnector- component_class
alias of
NaoStubTTSActuator