关于durative-action中的"condition"与"effect"的逻辑表达式问题

拿机器人来做例子,我init设(is_foot_use) 为True

(:durative-action acion_d

:parameters ()

:duration (= ?duration 6)

:condition (and

        (at start (not (is_foot_use)) )

        (over all (is_foot_use))

)

:effect (and

        (at start (is_foot_use))

        (at end (and

                (increase (dance-time) ?duration)

                (not (is_foot_use))

        ))

)

)

一开始在conditon(at start)条件为(is_foot_use)为假,但是over_all 中需要(is_foot_use)为保持为真,但是有没有其他动作将(is_foot_use)变为真,那么就需要在effect中的(at start)中将(is_foot_use)变为真。

 

多次询问群上大佬才深刻的意识到durative-actionopen intervals,即在处理时间问题的时候,条件和影响都是具有“时效”的,也即是“一开始”的条件是什么,然后满足才开始动作,判断完condition的“at start”就来判断effect的“at start”,因为都是“at start”的动作影响。"over all""at end"也同理。

上一篇:css中过渡和动画的区别


下一篇:微信小程序动画之弹出菜单