as2fm.scxml_converter.ascxml_extensions.bt_entries.scxml_bt_base.BtGenericStatusHandle
- class as2fm.scxml_converter.ascxml_extensions.bt_entries.scxml_bt_base.BtGenericStatusHandle(child_seq_id: str | int, targets: List[ScxmlTransitionTarget], condition: str | None = None)
Bases:
ScxmlTransitionProcess a generic response received from a BT child.
- __init__(child_seq_id: str | int, targets: List[ScxmlTransitionTarget], condition: str | None = None)
Generate an instance of a handler for a generic BT Child reply.
- Parameters:
child_seq_id – Which BT child is the response related to.
targets – The targets to use for transitioning to new states.
condition – The condition to check before transitioning.
Methods
__init__(child_seq_id, targets[, condition])Generate an instance of a handler for a generic BT Child reply.
add_event(event)add_targets_to_scxml_sends(events_to_targets)For each "ScxmlSend" entry in the transition body, add the automata receiving the event.
append_body_executable_entry(exec_entry)Append a executable body entry if this has only one target.
as_plain_scxml(struct_declarations, ...)Convert the object to its plain SCXML version.
as_xml()Convert the object to an XML element.
Check if the object is valid.
contains_transition_target(xml_tree)Check if the children of the ScxmlTransition contain ScxmlTransitionTarget tags.
from_xml_tree(xml_tree, custom_data_types, ...)External interface to create a ScxmlBase object from an XML tree.
from_xml_tree_impl(xml_tree, custom_data_types)Create a ScxmlTransition object from an XML tree.
generate_bt_event_name(instance_id)Generate the plain scxml event associated to the BT Transition instance_id.
Return the callback type of a specific ROS Callback subclass
Return the condition required to execute this transition (if any).
Get all events for requesting and receiving the updated configurable values.
Get the container with custom data types.
Return the events that trigger this transition (if any).
Get the tag name of the XML element.
Return all targets belonging to this transition.
Get the xml_element this object was made from.
is_plain_scxml([verbose])Check if the transition is a plain scxml entry and contains only plain scxml.
load_transition_targets_from_xml(xml_tree, ...)Loads all transition targets contained in the transition-like tags.
make_single_target_transition(child_seq_id, ...)Generate a BtGenericStatusHandle with exactly one target.
Replace the string literals in the transition condition and the different targets.
set_custom_data_types(custom_data_types)Save container with custom data types.
set_targets(new_targets)Set the targets of the transition.
set_xml_origin(xml_origin)Set the xml_element this object was made from.
update_exec_body_configurable_values(...)- add_targets_to_scxml_sends(events_to_targets: Dict[str, Set[str]])
For each “ScxmlSend” entry in the transition body, add the automata receiving the event.
- append_body_executable_entry(exec_entry: ScxmlExecutableEntry)
Append a executable body entry if this has only one target.
If this transition has not exactly one target, this will raise an AssertionError.
- as_plain_scxml(struct_declarations, ascxml_declarations, **kwargs)
Convert the object to its plain SCXML version.
- Parameters:
struct_declarations – List of custom structures defined in the model
ascxml_declarations – Additional declarations, like ROS or BT specific ones
kwargs – Additional framework specific entries, e.g. the BT plugin ID.
- as_xml() _Element
Convert the object to an XML element.
- check_validity() bool
Check if the object is valid.
- static contains_transition_target(xml_tree: _Element) bool
Check if the children of the ScxmlTransition contain ScxmlTransitionTarget tags.
- classmethod from_xml_tree(xml_tree: _Element, custom_data_types: Dict[str, StructDefinition], **kwargs) Self
External interface to create a ScxmlBase object from an XML tree.
- classmethod from_xml_tree_impl(xml_tree, custom_data_types: Dict[str, StructDefinition]) BtGenericStatusHandle
Create a ScxmlTransition object from an XML tree.
- abstract classmethod generate_bt_event_name(instance_id: int)
Generate the plain scxml event associated to the BT Transition instance_id.
- static get_callback_prefixes() List[str]
Return the callback type of a specific ROS Callback subclass
- get_condition() str | None
Return the condition required to execute this transition (if any).
- get_config_request_receive_events() List[Tuple[str, str]]
Get all events for requesting and receiving the updated configurable values.
- get_custom_data_types() Dict[str, StructDefinition]
Get the container with custom data types.
- get_events() List[str]
Return the events that trigger this transition (if any).
- abstract classmethod get_tag_name()
Get the tag name of the XML element.
- get_targets() List[ScxmlTransitionTarget]
Return all targets belonging to this transition.
- get_xml_origin() _Element | None
Get the xml_element this object was made from.
- is_plain_scxml(verbose: bool = False) bool
Check if the transition is a plain scxml entry and contains only plain scxml.
- classmethod load_transition_targets_from_xml(xml_tree: _Element, custom_data_types: Dict[str, StructDefinition]) List[ScxmlTransitionTarget]
Loads all transition targets contained in the transition-like tags.
- classmethod make_single_target_transition(child_seq_id: str | int, target: str, condition: str | None = None, body: List[ScxmlExecutableEntry] | None = None)
Generate a BtGenericStatusHandle with exactly one target.
- Parameters:
child_seq_id – From which BT children ID we receive the response.
target – The state transition goes to. Required (unlike in SCXML specifications)
condition – The condition guard to enable/disable the transition
body – Content that is executed when the transition happens
- replace_strings_types_with_integer_arrays() None
Replace the string literals in the transition condition and the different targets.
- set_custom_data_types(custom_data_types: Dict[str, StructDefinition])
Save container with custom data types.
- set_targets(new_targets: List[ScxmlTransitionTarget])
Set the targets of the transition.
Additionally, calculates potentially remaining probabilities and checks they sum to one.
- set_xml_origin(xml_origin: _Element)
Set the xml_element this object was made from.