hbp_nrp_backend.cle_interface.ROSCLEClient module¶
Takes care of making the appropriate ROS call(s) to control a simulation. On the other side of ROS, the calls are handled by ROSCLEServer.py
-
class
ROSCLEClient
(sim_id)[source]¶ Bases:
object
Client around the ROS controlled Closed Loop Engine.
-
ReplaceBehaviorEnum
¶ alias of
hbp_nrp_commons.Enum
-
activate_simulation_transfer_function
(transfer_function_name, activate_transfer_function)[source]¶ Set the activation status of a transfer function
- Parameters
transfer_function_name – the name of the tf to be set
activate_transfer_function – the desired new activation status
- Returns
-
add_simulation_robot
(**kwargs)[source]¶ The function actually executed instead of the decorated one.
-
add_simulation_transfer_function
(transfer_function_source)[source]¶ Add a new simulation transfer function source code.
- Parameters
transfer_function_source – Source code of the transfer function
- Returns
“” if the call to ROS is successful, a string containing an error message otherwise
-
command_simulation_recorder
(command)[source]¶ Issue a request/command to the simulation recorder
- Parameters
command – the command to issue, see SimulationRecorder.srv definition for types
- Returns
boolean value/success and message if provided
-
convert_transfer_function_raw_to_structured
(transfer_function)[source]¶ Convert raw tf to structured tf
- Parameters
transfer_function – the transfer function in raw format
- Returns
a strucuted TF
-
delete_simulation_robot
(**kwargs)[source]¶ The function actually executed instead of the decorated one.
-
delete_simulation_transfer_function
(**kwargs)[source]¶ The function actually executed instead of the decorated one.
-
download_file_in_simdir
(**kwargs)[source]¶ The function actually executed instead of the decorated one.
-
edit_simulation_transfer_function
(transfer_function_name, transfer_function_source)[source]¶ Edit the simulation transfer function’s source code.
- Parameters
transfer_function_name – Name of the transfer function to modify
transfer_function_source – Source code of the transfer function
- Returns
“” if the call to ROS is successful, a string containing an error message otherwise
-
extend_simulation_timeout
(timeout)[source]¶ Extend the simulation timeout
- Parameters
timeout – new new simulation timeout
- Returns
“” if the call to ROS is successful
-
get_populations
()[source]¶ Gets the neurons of the brain in the simulation
- Returns
populations as dict
-
get_simulation_CSV_recorders_files
(**kwargs)[source]¶ The function actually executed instead of the decorated one.
-
get_simulation_brain
()[source]¶ Get the brain of the running simulation
- Returns
dict with brain_data, brain_type, brain_populations and data_type
-
get_simulation_robots
(**kwargs)[source]¶ The function actually executed instead of the decorated one.
-
get_simulation_transfer_functions
(**kwargs)[source]¶ The function actually executed instead of the decorated one.
-
reset
(reset_type, world_sdf=None, brain_path=None, populations=None)[source]¶ Reset the simulation.
- Parameters
reset_type – Denotes the kind of reset the user wants to perform, details about
world_sdf – The world sdf
brain_path – The brain path for the reset
populations – To populations for the reset
reset types and details are given in the ResetSimulation service request message.
-
set_simulation_brain
(brain_type='py', data=None, data_type='text', brain_populations=None)[source]¶ Set the brain of the running simulation (will pause the simulation)
- Parameters
brain_type – Type of the brain file (‘h5’ or ‘py’)
data – Contents of the brain file. Encoding given in field data_type
data_type – Type of the data field (‘text’ or ‘base64’)
- Returns
response of the cle
-
set_simulation_populations
(brain_type, brain_populations, data_type='text', change_population=1)[source]¶ Set the populations of the running simulation
- Parameters
brain_type – Type of the brain file (‘h5’ or ‘py’)
brain_populations – Contents of the brain file. Encoding given in field data_type
data_type – Type of the data field (‘text’ or ‘base64’)
change_population – a flag to select an action on population name change, currently possible values are: 0 = ReplaceBehaviorEnum.ASK_USER ask permission to replace 1 = ReplaceBehaviorEnum.REPLACE replace old name with a new one 2 = ReplaceBehaviorEnum.NO_REPLACE proceed with no replace action
- Returns
response of the cle
-
-
exception
ROSCLEClientException
(*args, data=None)[source]¶ Bases:
Exception
Exception within the CLE client
-
class
ROSCLEServiceWrapper
(service_name, service_class, ros_cle_client, invalidate_on_failure=True)[source]¶ Bases:
object
Wraps the behaviour of a standard ROS service, throwing a detailed ROSCLEClientException in case of invalid client or ROS exceptions.
-
ROS_SERVICE_TIMEOUT
= 180¶
-
property
handler
¶ Property getter for the __handler attribute
-
property
invalidate_on_failure
¶ Property getter for the __invalidate_on_failure attribute
-
property
ros_cle_client
¶ Property getter for the __ros_cle_client attribute
-
-
fallback_retval
(val)[source]¶ This function is intended to be used as a decorator for the methods calling CLE services. It intercepts a ROSCLEClientException during the execution of a ROSServiceWrapper and returns the desired value instead.
- Parameters
val – the fallback return value for the decorated method