新手上路
- 积分
- 49
- 金钱
- 49
- 注册时间
- 2015-1-29
- 在线时间
- 1 小时
|
5金钱
我有一个模型,想用状态机去实现它。感觉总是不尽如人意。希望有兴趣的一起讨论一下。
模型:
机器人控制:
机器人有的动作:
1.眼镜的睁开与闭合(通过开关量控制 1为睁开 0为闭合,不可以暂停)
2.张嘴,闭嘴 (通过开关量控制 1为张嘴 0为闭嘴,不可以暂停)
2.挥手 (一个单次长动作,时间较长,挥手一次之后, 自动停止,可以暂停,也意味着停止,不可恢复)
3.行走(一个单次长动作,时间较长,行走一段距离之后,自动停止,可以暂停,也意味着停止,不可恢复)
4.跳跃 (一个单次短动作,时间很短,跳跃,自动停止,不可以暂停)
5.舞蹈(这个比较特殊,时间较长,挥手->行走->跳跃,按顺序执行,全部执行完成后,就自动停止,可以暂停(跳跃时不可),可以再次按跳舞健恢复)
你拥有的命令:
1.睁眼,闭眼
2.张嘴,闭嘴
3.挥手
4.行走
5.跳跃
6.跳舞
7.暂停
运动指的是:行走,挥手,跳跃,跳舞
动作之间的制约关系:
1.跳跃,挣眼,闭眼,张嘴,闭嘴 都不可以暂停
2 行走暂停=提前结束行走 ;挥手暂停=提前结束挥手 ; 跳舞暂停可以按跳舞按键重新启动
3.跳舞条件:眼睛必须睁开 ,嘴巴必须闭合,且无其他运动,来了跳舞命令
5.行走条件:眼睛必须睁开,嘴巴无所谓,且无其他运动,来了行走命令
6.跳跃条件:眼睛必须睁开,嘴巴无所谓,且无其他运动,来了跳跃命令
7.挥手条件:眼睛必须睁开,嘴巴无所谓,且无其他运动,来了挥手命令
8.睁眼闭眼条件:空闲的时候,嘴巴无所谓。来了睁闭眼命令
9.张嘴闭嘴条件:不是跳舞,跳跃(不允许和任何动作同时发生)的时候都可以,(意味着:空闲,行走,挥手,睁眼,闭眼的时候都可以)。来了张闭嘴命令
请教一下,如何分状态,以及状态如何跳转。
|
|