Answers.Body: <p>Your best bet would be to formulate the problem in <a href="https://en.wikipedia.org/wiki/Planning_Domain_Definition_Language" rel="nofollow noreferrer">PDDL</a>, which should be fairly easy, and then use a standard planner to generate a plan from that description.</p>
  <p>In PDDL you describe the properties and the possible actions, the start state and the goal state, and the planner will then take this to produce a sequence of actions that leads from the start state to the goal state. There is a <a href="http://editor.planning.domains/" rel="nofollow noreferrer">planner available on-line</a> that you can use.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-21T08:04:34.093Z
Answers.LastActivityDate: 2020-10-21T08:04:34.093Z
Answers.UserDisplayName: Oliver Mason
Body: <p>Can someone suggest an AI approach to moving blocks, one at a time, assuming control of an robotic arm, to get from the initial state on the left to the final state on right, preferably using goal stack planning.</p>
  
  <p><strong>actions</strong></p>
  
  <ul>
  <li><p>Pickup() &mdash; to pick up a block from table only</p></li>
  <li><p>Putdown &mdash; to putdown a block on table only</p></li>
  <li><p>Unstack &mdash; unstack a block from another block</p></li>
  <li><p>Stack &mdash; stack a block on another clear block only</p></li>
  </ul>
  
  <p><strong>property functions</strong></p>
  
  <ul>
  <li><p>On(x,y)</p></li>
  <li><p>Above(x,y)</p></li>
  <li><p>Table(x)</p></li>
  <li><p>Clear(x)</p></li>
  </ul>
  
  <p><a href="https://i.sstatic.net/8MRUp.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/8MRUp.png" alt="enter image description here"></a></p>
  
Tags: <ai-design><path-planning>
Title: block of worlds with position aware goal stack planning
UserDisplayName: Preetham
ThreadText: # block of worlds with position aware goal stack planning
  
  (Asked by: username_0 on 2018-11-30)
  
  Can someone suggest an AI approach to moving blocks, one at a time, assuming control of an robotic arm, to get from the initial state on the left to the final state on right, preferably using goal stack planning.
  
  **actions**
  
  * Pickup() — to pick up a block from table only
  * Putdown — to putdown a block on table only
  * Unstack — unstack a block from another block
  * Stack — stack a block on another clear block only
  
  **property functions**
  
  * On(x,y)
  * Above(x,y)
  * Table(x)
  * Clear(x)
  
  [![enter image description here](https://i.sstatic.net/8MRUp.png)](https://i.sstatic.net/8MRUp.png)
  
  **Tags:** ai-design, path-planning
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-10-21. Score: 1
  
  Your best bet would be to formulate the problem in [PDDL](https://en.wikipedia.org/wiki/Planning_Domain_Definition_Language), which should be fairly easy, and then use a standard planner to generate a plan from that description.
  
  In PDDL you describe the properties and the possible actions, the start state and the goal state, and the planner will then take this to produce a sequence of actions that leads from the start state to the goal state. There is a [planner available on-line](http://editor.planning.domains/) that you can use.
  
  
  ---
  
  