jakobaxelsson / sossim

A system-of-systems (SoS) simulator
MIT License
0 stars 0 forks source link

Provide generic planning #19

Open jakobaxelsson opened 1 year ago

jakobaxelsson commented 1 year ago

Currently, the planning in the vehicles is hard coded. It is however quite tricky to get this right, especially when more aspects are added. Sooner or later, a more generic planning capability will be needed.

To achieve that, a value function must be provided, which for each tentative plan can give a value to it. In the Orient step in the OODA loop, various plans can be generated based on the world model, and then in the Decide step, the best plan according to the value function is selected.

A difficulty is that the world does not appear to be deterministic to the agent, since it has a limited world model. This means that it cannot know for certain if there will be e.g. traffic disturbances, charging points unavailable, etc. Therefore, the agent needs some estimation functions, which can estimate the likelihood of reaching different states from a certain given state. This, combined with a value function on states, can be used to calculate the value of a plan using a Net Present Value function.

To reason about plans, the agent must be able to simulate capabilities. This means that it must be able to ask "what happens if I apply that capability to this state?" Also, when given a mission, it should be able to reason in reverse, to derive the sequence of capability instances that leads to the mission objective being fulfilled.

Perhaps it is necessary to differentiate between basic capabilities (that are always completed in one time step) and composed. The basic capabilities are typically singular changes to the physical state of the world.