Skip to content

what(): [ReactiveSequence]: only a single child can return RUNNING #573

Closed
@Ale-Amici

Description

@Ale-Amici

Hello :)
In my workspace, I updated the BehaviorTree.CPP library from version 4.0.2 to 4.2.0 and this error appeared when using ReactiveSequence:
what(): [ReactiveSequence]: only a single child can return RUNNING

This is the tree:

<ReactiveSequence name="LocalizationSequence">
    <CheckSensorQuality>
        <RetryUntilSuccessful name="SensorRecoveryLoop" num_attempts="5">
            <RestartSensor/>
        </RetryUntilSuccessful>
    </CheckPoseQuality>
    <PerformActionA/>
</ReactiveSequence>

We have a node CheckSensorQuality that checks a value and a node PerformActionA.They are two children of a ReactiveSequence.
CheckSensorQuality returns SUCCESS unless some sensor data is bad, then it returns RUNNING and it starts its child SensorRecoveryLoop (which is a RetryUntilSuccessful node) that has a child RestartSensor.
PerformActionA return always RUNNING.

The expected behavior is that CheckSensorQuality going to RUNNING should halt PerformActionA. This seems to happen, but then the tree crashes with the above-mentioned error. What could I have done wrong in the logic of my nodes? I didn't get this error with version 4.0.2.

`[1685687135.585]: ReactiveSequence IDLE -> RUNNING
[1685687135.585]: CheckSensorQuality IDLE -> SUCCESS
[1685687135.585]: PerformActionA IDLE -> RUNNING

[1685687157.844]: CheckPoseQuality SUCCESS -> RUNNING
[1685687157.844]: SensorRecoveryLoop IDLE -> RUNNING
[1685687157.844]: RestartSensor IDLE -> RUNNING
[1685687157.845]: PerformActionA RUNNING -> IDLE
terminate called after throwing an instance of 'BT::LogicError'
what(): [ReactiveSequence]: only a single child can return RUNNING
================================================================================REQUIRED process [sequential_control-1] has died!`

Thank you in advance for your time and support!

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