Sto seguendo il documento: Verso un quadro di alberi di comportamento unificato per il controllo dei robot e tentando di implementare il mio albero di comportamento. Credo di avere la logica corretta per i nodi principali: Sequenza , Selettore , Condizione e Azione , ma sto solo permettendo ai nodi di restituire Success o Failure per ora. Inoltre, non sono sicuro di aver capito perché hai bisogno di uno stato In esecuzione .
La mia distillazione dei due nodi principali delle diramazioni, Selettore e Sequenza , è come tale:
Sequenza
- Iterate tutti i bambini
- Interrompi se child fallisce o è in esecuzione
- Restituzione di errori o in esecuzione se a seconda del figlio
- Restituisce successo se tutti i bambini hanno avuto successo
Selector
- Iterate tutti i bambini
- Interrompi se il figlio ha successo o è in esecuzione
- Restituisci successo o esegui in base al figlio
- Restituisce false se nessun figlio ha avuto successo o sta girando
Per me, In esecuzione è solo sinonimo di Successo o Errore a seconda che venga utilizzato in un Selettore o Sequenza rispettivamente. Quando In esecuzione conta davvero?