我想问一下是否有一个状态机库可用于动态配置机器的布局。我实际上已经检查了Boost Meta State Machine和Statechart,但似乎它们都不支持动态可配置性。
我正在linux系统中编程c++,打算为包含多个状态的机器人实现导航系统。但是,需要在运行时通过任务计划算法确定机器人所需的状态顺序。这就是为什么我要寻找动态状态机的原因。
任何帮助,将不胜感激。
ZQ
最佳答案
我不太确定您所说的“动态状态机”是什么意思,但是有一种标准的机制可以让状态机在运行时“适应”。这种机制称为“防护条件”或简称为“防护”,可以附加到状态转换。仅当防护装置此时评估为TRUE时,才启用转换。例如,当传感器读数在范围内时,状态机可以转换到一种状态,但是如果不是,则不会进行转换,或者可能会进行不同的转换。几乎所有状态机都支持防护。
为了弄清如何以及何时使用防护(以及如何避免滥用防护),我建议在http://www.drdobbs.com/back-to-basics/184401737?pgno=5上查看Dr.Dobbs的文章“Back to Basics”。
关于c++ - 动态状态机库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22939556/