Embedding Causal Block Diagrams Within Behaviour Trees Bentley - - PowerPoint PPT Presentation

embedding causal block diagrams within behaviour trees
SMART_READER_LITE
LIVE PREVIEW

Embedding Causal Block Diagrams Within Behaviour Trees Bentley - - PowerPoint PPT Presentation

Embedding Causal Block Diagrams Within Behaviour Trees Bentley James Oakes Outline Problem to Address Proposal Formalisms Used Experiments Results Future Work Conclusion Causal Block Diagrams Blocks compute values at each time step


slide-1
SLIDE 1

Bentley James Oakes

Embedding Causal Block Diagrams Within Behaviour Trees

slide-2
SLIDE 2

Outline

Problem to Address Proposal Formalisms Used Experiments Results Future Work Conclusion

slide-3
SLIDE 3

Causal Block Diagrams

Blocks compute values at each time step Outputs connected to inputs

slide-4
SLIDE 4

Problem

=========== Signals Dumping Begin =========== multiply0 Product [0.1, -0.0, -0.011, -0.022, -0.032, -0.043] secondmultiply Product [0.0, 0.11, 0.110, 0.108, 0.106, 0.103] delay0 Delay [1.0, -0.0, -0.11, -0.22, -0.328, -0.435, -0.539] =========== Signals Dumping End ===========

How do we visualize/connect to simulation?

slide-5
SLIDE 5

Proposal

Find formalism to embed causal blocks into Criteria: Equivalent One-to-one representation? Increase in power? Easily understood/changed Easy to visualize (model/simulation)

slide-6
SLIDE 6

Behaviour Trees

Each agent in a simulation has a tree Query tree to determine action of agent Starting at root node: Each node will: Query children Perform action Return true/false

slide-7
SLIDE 7

Behaviour Tree Example

slide-8
SLIDE 8

BT Advantages

Easy to construct/rearrange trees Used in video games: Halo 2/Spore Trees can control animation/sounds/AI Merge calculations with higher-level control Lazy evaluation Don't solve everything at once

slide-9
SLIDE 9

Similarities to CBD

Both have nice tree structure Modular design Combine nodes for any function Values are passed up tree Exploration of a formal equivalance CBD → Behaviour tree Behaviour tree → CBD

slide-10
SLIDE 10

Differences

Algebraic loops in behaviour tree? Special handling required Not implemented in project Only true/false value passed up Easily fixed → change to float 0 is false, anything else is true

slide-11
SLIDE 11

Embedding

CBD blocks map onto BH nodes directly

  • Adder
  • Multiplier
  • Inverter
  • Negator
  • Constant
  • Test
  • Delay
  • Integrator/Derivative*
slide-12
SLIDE 12

Sample Embedding

slide-13
SLIDE 13

Embedding

Multiplier node update(): If children.size == 0

  • utput = 0

Result = 1 For Child c in children Result *= c.update() Output = result

slide-14
SLIDE 14

Experiments

Circle Test: Use integrators to draw x(t) vs dx/dt(t) Personal Space: Many agents in world One agent walks from start to goal All agents move away from each other

slide-15
SLIDE 15

Results – Circle Test

slide-16
SLIDE 16

Results – Circle Test

slide-17
SLIDE 17
slide-18
SLIDE 18

Results – Personal Space

slide-19
SLIDE 19

Results – Personal Space

slide-20
SLIDE 20

Future Work

Detect algebraic loops Implement behaviour trees in Atom3 Add detail to model visualization Explore formal equivalence

slide-21
SLIDE 21

Conclusion

Behaviour trees add lots of power Control flow Handle animation/events Superset of CBD? Visualization needed Evolution of values Hook into simulation

slide-22
SLIDE 22

References

Clark Verbrugge. COMP 521 course notes. 2012. Hans Vangheluwe. COMP 522 course notes. 2012. Damian Isla. Managing complexity in the Halo 2 AI system. In Proceedings of the Game Developers Conference, 2005. Chong-U Lim. An A.I. Player for DEFCON: An Evolutionary Approach Using Behavior Trees. Imperial College, London.

Questions?