ROS进二阶学习笔记(2)- SMACH:用状态机来管理机器人任务
ROS进二阶学习笔记(2)- SMACH:用状态机来管理机器人任务 ROS进二阶学习笔记(2) - SMACH:用状态机来管理机器人任务 http://wiki.ros.org/smach/Tutorials/Getting Started http://wiki.ros.org/smach/Tutorials 好久没有更新关于ROS的笔记,这里进入SMACH的学习和应用,参照rbx2(ros by example volume 2),和ROS官方wiki,进行学习。 ==== 关于概念 SMACH states是Python类,通过重写execute()方法来返回一个或多个可能的outcomes, 从而扩展smach.State类。 excute() 方法也可以通过可选的参数来来定义一个userdata集合,这个集合可以被用来传递状态之间的信息。本质上讲,状态执行的实际计算基本上可以是任何你想要的。并且,有很多预先定义好的state types ,这可以节省大量的非必须的代码。 A SMACH state machine is another Python class (smach.StateMachine) that can contain a number of states. A state is added to a state machine by defining a set of transitions from the state’s outcomes to other states in the machine. When a state machine is run, these transitions determine the flow of execution from state to state: input → STATE_1 → {outcome, transition} → STATE_2
…