动态状态机库

时间:2014-04-08 14:07:43

标签: c++ dynamic configuration state-machine

我想询问是否有可用于动态配置机器布局的状态机库。我实际上已经检查了升级元状态机和状态图,但它似乎都不支持动态可配置性。

我正在linux系统中编写c ++,并打算为由几种状态组成的机器人实现导航系统。然而,机器人需要在运行时通过任务计划算法确定的状态序列。这就是我正在寻找动态状态机的原因。

任何帮助都将不胜感激。

ZQ

3 个答案:

答案 0 :(得分:2)

yasmine允许您在运行时构建状态机。您可以根据需要动态组合状态,伪状态和转换。

答案 1 :(得分:1)

如果您不介意使用petri网,这个库可能是您的解决方案:online instructions

答案 2 :(得分:0)

我不太确定动态状态机"的含义,但是有一种标准机制可以让状态机适应"适应"在运行时。这种机制被称为"保护条件"或者只是"警卫",可以附加到状态转换。只有当警卫此时评估为TRUE时才会启用转换。例如,当传感器读数在范围内时,状态机可以转换到一个状态,但如果不是,则不会转换,或者可能会进行不同的转换。实际上所有的状态机都支持警卫。

要了解如何以及何时使用警卫(以及如何避免滥用警卫),我会推荐我的Dr.Dobbs文章" Back to Basics"可在http://www.drdobbs.com/back-to-basics/184401737?pgno=5

获取