Skip to content

SimpleActionState uses inappropriate default outcomes value #115

@Betavion

Description

@Betavion

In simple_action_state.py, the construction of class SimpleActionState is as follows:

class SimpleActionState(RosState):
    """Simple action client state.

    Use this class to represent an actionlib as a state in a state machine.
    """

    # Meta-states for this action
    WAITING_FOR_SERVER = 0
    INACTIVE = 1
    ACTIVE = 2
    PREEMPTING = 3
    COMPLETED = 4

    def __init__(self,
            node,
            # Action info
            action_name,
            action_spec,
            # Default goal
            goal = None,
            goal_key = None,
            goal_slots = [],
            goal_cb = None,
            goal_cb_args = [],
            goal_cb_kwargs = {},
            # Result modes
            result_key = None,
            result_slots = [],
            result_cb = None,
            result_cb_args = [],
            result_cb_kwargs = {},
            # Keys
            input_keys = [],
            output_keys = [],
            outcomes = [],
            # Timeouts
            exec_timeout = None,
            preempt_timeout = Duration(seconds=60.0),
            server_wait_timeout = Duration(seconds=60.0)
            ):

    RosState.__init__(self, node, outcomes=['succeeded','aborted','preempted'])

This will cause problem when I define outcomes different from ['succeeded','aborted','preempted']. It should look like:

RosState.__init__(self, node, outcomes=outcomes)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions