 Journal of Software Engineering  and Applications, 2011, 4, 81-85  doi:10.4236/jsea.2011.42009 Published Online February 2011 (http://www.SciRP.org/journal/jsea)  Copyright © 2011 SciRes.                                                                                 JSEA  RPBTC: An Implementation Method for Robot  Planning  Shan Zhong, Qiuya Chen, Yunfei Zhou, Juan Yuan    Computer Science and Engineering College, Changshu Institute of Technology, Changshu, China.  Email: sunshine620@cslg.edu.cn    Received  January 4th, 2011; revised January 13th, 2011; accepted January 20th, 2011.    ABSTRACT   Aiming at the former formalized methods such as Strips, Situation Calculus and Fluent Calculus can not represent the  action time and get the action sequence automatically, a novel method based on timed color Petri net—RPBTC was  defined. The action time, the precondition and the post-condition of action are formalized in RPBTC based on the Flu- ent Calculus reasoning rules. An algorism for constructing the RPBTC net system based on bidirectional search stra te- gy is proposed, and through executing the RPBTC net system, the action sequence for reaching the goal can be gener- ated dynamically and the time for the robot reaching the goal also can be obtained. The experiment has proved the me- thod RPBTC as a feasible method for robot planning.    Keywords: Timed Petri Net, Robot Planning, Reasoning, Actio n, Goal  1. Introduction  Reasoning about action [1] of robot is one of the most  important areas of Artificial Intelligence. Reasoning about  action is mainly to construct the action sequence accord- ing to t he spe cif ic pr ob lem, na mel y, give n the i nitial state,   the goal state and the actions robot can do, describing how  the robot constructs the action sequence to reach the goal.  Petri net has the strict  math mode l, and it is special sui-  table for the rep resentation a nd simulation o f the systems  char acter istic o f sync hroni sm,  concurr ency a nd d ynami cs  [2-3]. Vittorio [4] introduced a method for the robot plan-  ning based on Petri net, formally describing actions and  the relations between the actions, but it lacks the formal  description for the state including the environment state  and robot state. MA Bingxian [5] describes the inner ac-  tion and the external action, and using two algorisms to  reason the action sequence, but can not obtain the action  automatically in the constructed hierarchical Petri net sy-  ste m for so me give n go a l.   Therefore, a model for using the timed colored Petri  net to represent robot planning based on Fluent Calculus  [6-7] rules is introduced, the two axioms such as precon-  dition axiom and state update axiom are converted to the  corresponding timed transitions, the places and the arcs  between the timed transitions and the places, a bidirec-  tional search strategy is introduced applying to the con-  structing algorism of RPBTC net system, which is in or-  der to improve the efficiency for robot reasoning and  generating the action sequences automatically. Finally,  the simulation experi ment proves the RPBTC net system  is feasible method for robot to reason about action in dy-  namic envi ronment.  2. Fluent Calculus  As for the Fluent Calculus, all changes to the world can  be the result of named ac tions. A possible state histor y is  a sequence of actions to reach the goal called situation.  Fluent is for repr esentation of the ato mic prop ertie s of the  physical world. The function State(s) denotes the state in  situation s, which links the two key notions named state  and si tuation.  Precondition axioms are used to formally specify the  circumstances under which an action is possible in a state  in situation s, denoted by predicate Poss(a, state(s))  sho wed  in Eq ua ti on ( 1 ) , whic h means at the  state state (s),   the action A(x) can be executed. The   as a pure  state axiom about z is the conjunction of the conditions  under which the action can be happened.               (1)  State update axioms defines the effects of an action a  as the difference between the state prior to the action,  State(s), and the successor State(Do(a,s)), showed in Eq- uation (2), in which   is the pure state axiom   
 RPBTC: An Implementation Method for Robot Planning  Copyright © 2011 SciRes.                                                                                 JSEA  representing the current state, v+ (the positive effect)  represents the adding states, while v− (the negative ef-  fect) represents the removed states, and state(s) repre-  sent s  the unchanged stat es and the unknown states.  ( ) ( ) ( ) ( ) ( ) ( ) ,, , PossAxsx States State DoA xsState svv ∧∆ ⊃ = −       (2)  3. RPBTC Net System  Definition 1 A RPBTC net system is a 7-tuple system ∑  = (P, Tv; F, C, I-, I+, M0), which is a timed colored petri  net system has the followin g chara c te ristics:  1)The place i ∈ represents the states including  both the state of robot and the environment state.  2)The timed transition v ∈ represents the actions  which the robot has the ability to do. Any action has the  corresponding timed transition.   3) For any arc  ∈, the value on the arc such as  I-(f)and I+(f) defines the change rules between the  place and the transition, the specific value is decided by  the relations between the action and the precondition of  the action, and also the relations between the action and  the successor states of the action.  4) C is the colored set, defining the possible token col- or in the place and the appearance color in the transition.  5) M0 as the initial state represents the initial state of  the agent and the environment.  Definition 2 The corresponding relations between the  precondition axiom of Fluent Calculus and the RPBTC  net is showed as  follows: the  preco nditions of actio n A(x)  are represented by places, the specific value of the state is  represented as the token in the place, the executing time  for the action is using the @ + t attached to the tra nsition.  Definition 3 The relation between state update axiom  and the RPBT C net is showed as follo ws: the representa-  tion of the action is showed in the definition 2, the suc-  cessor state of the actions such as   are  using the place to represent, the specific value in the  place is represented by specific token,  v+ denotes the  add state, the specified value of v+ can be represented  by token fro m the transitio n to the plac e, v− denotes the  removed the state from the place  to the transition. State(s)  represents the unchanged state, namely, the representa -  tion of the framework problem, the token from the place  goes back to the same place.  Definition 4 Given a action sequence    for a robot to reach the goal, then the backward action  sequence can be represented as  .  Definition 5 The bidirectional search strategy is the  combination of the forward search strategy and the  backward search strategy, the action sequence from the  initial state M0 to some midd le state M mid is  ,  and the action sequence from the goal state Mg to the  same middle state Mmid is  , then the for-  ward search action sequence   is connected to the re-  versed backward search action sequence, finally, the re-  pea ted actio n seque nce for reac hing the s ame middl e state  is removed, then the action sequence for the bidirectional  search strategy is as:  .  4. The Constructing Algorism for RPBTC  Net System  Given the initial state, the  goal state  of the syste m and the  actions robot can do, a bidirectional RPBTC net system  can be constructed using the bidirectional search strategy  in definition 5, in which a action in the RPBTC net sys-  tem has both the forward transition t and backward tran-  sition t_Reverse. As for the place representing robot state,  there are two places such as pi and pi_reverse, represen-  ting the forward search place and backward search place  respectively. As for the representation of the environment  state, there is only one place pk in the forward search and  backward search processes, finally, the RPBTC net sys-  tem can be constructed.  The input o f algoris m: the pla ce set Pre in the  precon-  dition axiom and the place set Post of successor state  update axioms, the initial state and the goal state. The  output of algorism: the bidirectional RPBTC net system  for robot planning. Pre is used to represent the place set  of precondition axioms of specific planning instance, and  Post is used to repr esent the place set of successor states.  Step 1 Define P, Tv, F, C, I-, I+, M0 as set, P is t he col-  lection of places,   stores action se-  quence,   stores the goal of agent, T is the col-  lection of timed transition, F is the collection of arc, I-  and I+ are the arc set, M0 is the initial marking converting   from initial state,  for the co nv enient, the s ubset F1 of F is  define d.  Define i as a counter, the initia l value of i is 1    Action SequencesGoal P=P pp∪∪   Step 2 Loop the implementation of the following part  until all the preconditions and successor states of the ac- tion have already been constructed, and when the i-th  acti on is executing,  { } { } _ii Reverse TT tt=∪∪ ; //Action and its executing  time is represented by transition adding @+   ( ) ( )( ) ( ) ( )() () () ( ) , __ _ ,,, ,, ,,,, ,, 1,,, , , ikiiAction SequencesAction Sequencesi iAction SequencesiGoalGoali ikiReverseiReverseAction Sequences Action SequencesiReverse pt tppt tptpp t FF ptt p pt     =∪        
 RPBTC: An Implementation Method for Robot Planning  Copyright © 2011 SciRes.                                                                                 JSEA  if pik appears in the precondition place set Pre and not  in the successor state update place set Post  if pik is a environme nt state then    ; Action SequencesGoalik P=P ppp∪ ∪∪   ;  else if pik is the state place of robot then   _ ; Action SequencesGoalikikReverse P=P pppp∪∪ ∪∪   { } __ 1 ,; ikReverseiReverse F=F pt∪   end if  if pik is an environment place then  if pik appears in the post co nditions set Post and not in  the precondition place set Pre     ; Action SequencesGoalik P=P ppp∪ ∪∪   ( ) { } ( ) { } _ ,_ 1, ; i Reverseikik i Reverse F=Ftpp t∪−   else if pik is the state plac e  of robot then   _ ; Action SequencesGoalikikReverse P=P pppp∪∪ ∪∪   ( ) { } _ __ ,_ 1, , ; i ReverseikikReverseiReverse ik i Reverse F=F tppt pt ∪∪ −     end if  else if pik appears both in the precondition place set Pre  and in the successor state place set Post  if pik is t he enviro n ment state place then    ; Action SequencesGoalik P=P ppp∪ ∪∪   _ 1 ,; i Reverseik F=F tp∪  else if pik is the state place of robot then   _ ; Action SequencesGoalikikReverse P=P pppp∪∪ ∪∪   _ __ 1 ,,; i ReverseikikReverseiReverse F=F tppt∪∪   end if  end if  Step 3 i: = i + l, if all the actions have been iterated for  once, then go to the step 4, else go the step 2  Step 4 After the precondition place set and the succes-  sor place set have been constructed, according to the ini-  tial states of system, the token is added to the relative  place then the initial marking M0 is obtained. In the fol-  lowing part, the RPBTC model of the entire system will  be constructed in the example.   4.1. Simulation Experiment  The robot example is showed as Figure 1. The  round r e-  presents the robot. There are four rooms such as R401,  R402, R403, R404, and alley. Every neighbor room is           D34   D12   DA 4    2   D A1   Alley   R303 agent DA3 DR302 R301 23 304R DA   Figure 1 . Robo t pl anning i n office sce ne .  connected by a door, and the door also connects the nei-  ghbor room and alley, for example, D34 connects room  R304 and room R303, and DA3 connects Alley and room  R303. The goal of the robot is reaching the goal room  fro m the  i nit ial  ro om, a nd  for   r ea chin g t he  g ive n  go a l, t he   robot have some actions that he can do. The actions  whic h the robot can do are as follows:  1) The action Go(x) means robot goes to the door x.  The executing time for the action is 2 units. The precon- dition axioms and the state update axioms will be de- scribed showed in Equations (3) and (4)  ,_,'',, _Poss GoxzPositionstartr xConnectsxr∧   (3)  ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )() ,Holds ,', s ,',,_ _ ,,' PossGoxsPositionr x StateDo GoxsConnectsxr Positionstartr xPositionrx ∧ ⊃ −      (4)  2) The action Enter(r) represents the robot go to the  room r, the executing time for the action is 1 unit, The  precondition axiom and the state update axioms are  showed as Equation (5) and Equation (6):  ()( ) , ,,'  _', Poss Enter rzConnects xrr Positionstart rxClosedx        (5)  ( ) ( ) ( ) () ( ) ( ) ( ) ( ) ( )() ( ) ,Holds ',, s , ,,'  _, _ ', Poss Enter rsPositionrx StateDoEnterrsConnectsx r r ClosedxPositionstartr x Positionstart rx ∧ ⊃ ∧ −      (6)  3) The action Open(x) represents opening a door, and  the executi ng time for the action is 1 unit. T he precondi-  tion axiom and the state update axiom are showed as Eq- uation (7) and Equation (8), respectively.  ( ) ( ) ( ) ()( ) , _, Poss OpenxzClosedx Positionstartr xKeyx∧∧               (7)  ( ) ( ) ( ) ( ) ( ) ( ) ( ) ,Holds ,  , _,  ()()() Poss OpenxsClosedxs StateDoOpen sPositionstartrx KeyxClosed xClosed x ∧ ⊃ ∧−     (8)   
 RPBTC: An Implementation Method for Robot Planning  Copyright © 2011 SciRes.                                                                                 JSEA  4.2. The Constructing RPBTC Net System for  Office Robot Example  The initial state for the robot is that the robot is at the  door “d34” of the room “304”, it owns the key of door  “d34”, door “dac” and door “da4”. The door “d34” is clo -  sed. The connecting state between the door and the room  is  sho we d  in Fig ure 1, using the place Position_start, Key,  Closed and Connects to represent the initial state are as  follows: M0 = {Position_start (“304”,“d34”), Ke y { “d 34” },  Closed{“dac”,“da4”,“d34”}, Connects{(“da1”,“301”,  “alley”), (“da2”,“302”,“alley”), (“d23”,“302”,“303”),  (“d34”,“303”,“304”), (“da2”,“alley”,“302”), (“da3”,“al-  ley”,“303”), (“da4”,“alley”,“304”)}}.  The  goal for robot is in room “301”, so the four places  to represent the goal marking is: Mg = {Position_start  (“301”,_), D, D, D }, in which D is any value. “_” is a  variable, and when it is appointed to “d12”, then the  place Goal_Reverse_Position represents the toke n val ue .   Using the constr ucting algorism of bid irectional search   RPBTC net system for the office instance, the modeling  figure is s howed in Figure 2 using CPNTools [8].  The simulation result is showed in Figure 2. The for-  ward action sequence is showed in place Action Sequeces,  and the backward action sequence is showed in the place  Action Sequence Reverse.  The forward search action sequence in place Action  Sequence is showed as: {open(d34), enter(303), go(da3),  enter(alley)}. The place Action Sequence Reverse con-  tains the backward search action sequence as follows:  {enter (301), go (da1), enterReverse (alley), go_re-  verse (da3)}.  After the reversed backward action sequence and the  forward search action sequence are connected, then ac-  cording the definition 3, the final action sequence is  showed as follows: {open(d34), enter(303), go(da3), en-  ter(alley), go(da1), enter(301)}  The action sequence represents a successful plan from  the initial state to the goal state, and the left “time” mar-  ked the executing time of the action sequence is 8 units,  which is the overa ll time for r obot to reach the goal.  5. Conclusions  The precondition and state update axioms of Fluent Cal-  culus are used in this paper, compared with Fluent Cal-      Figure 2. The  simulation figure for the office scene.   
 RPBTC: An Implementation Method for Robot Planning  Copyright © 2011 SciRes.                                                                                 JSEA    culus, RPBTC net system add the representation for the  action time, can satisfy the high demand for the real time,  secondly, Fluent Calculus using the directional search  strategy and backdate mechanism to reach the goal, but  RPBTC net system use the bidirectional strategy, so it  has t he hig her  effic ie ncy.  Fina ll y, RP BT C net s yste m ca n  dynamically and automatically simulate the action se- quence reaching the goal, it also can according the time  demand to choose the best action sequence. The method  in thi s  pap er has improved the efficiency and timing.   The next work is to use hierarchical petri net to repre-  sent and implement robot planning, to avoid the problem  of state explosion problem when the system scale and  state become larger.  REFERENCES  [1] J. McCart hy and P. J. Hayes, “Haves Some Philosophical  Problems from the Standpoint of Arti fi cial Intelligence,”  B. Meltzer and D. Michie, Eds., Machine Intelligence,  Vol. 4, 1969, pp. 463-502.  [2] K. Jensen, L. M. Kristensen and L. Wells. “Coloured Petri  Nets and CPN Tools for Modelling and Validation of   Concurrent Systems,” Software Tools for Technology  Transfer, Vol. 9, No. 3-4, 2007, pp. 213-254.  doi:10.1007/s10009-007-0038-x  [3] P. F. Pal amara, V. A. Zip aro, L. Iocch i, et a l., “A Robotic  Soccer P assing Task Using P etri Net Plans,” Proceedings  of 7th International Conference on Autonomous Agents  and Multiagent Systems, Estoril, 12-16 May 2008, pp.  1711-1712.  [4] V. A. Ziparo and L. Iocchi, “Petri Net Plans,” Fourth  International Workshop on Modelling of Objects, Com- ponent s , an d A ge nts, Turku , 26 June 2006, pp. 267-290.  [5] B. X. Ma, Z. H. Wu and Y. L. Xu, “Research on Mul- ti-Agent Planning with Petri Nets,” Computer Engineer- ing, In Chinese, Vol. 32, No. 14, 2006, pp. 4-6.  [6] Y. Jin and M. Thielsch er , “Iterated Belief Revision, Re- vised,” Artificial Intelligence, Vol. 171, No. 1, 2007, pp.  1-18. doi:10.1016/j.artint.2006.11.002  [7] S. S ardina, G. de Gia como, Y . Lesperance, et al., “O n  the  Semantics of Deliberation in Indigolog-From Theory to  Implementation,” Annals of Mathematics and Artificial  Intelligence, Vol. 41, No. 2-4, 2004, pp. 259-299.  doi:10.1023/B:AMAI.0000031197.13122.aa  [8] CPN Tool s. http://www.daimi.au.dk/CPNTools/       
			 
		 |