使用java实现一个机械臂的路径规划， 实现从initial state到final state的动作分解和中间步骤输出.
- 10 blocks (a, b, c, d, e, f, g, h, i, j);
- The relations among the blocks (ABOVE, ON, CLEAR, TABLE);
- Four specific locations (L1, L2, L3, L4) at the table for blocks possible placement; and
- The functions (PICK-‐UP, PUT-‐DOWN (on table available free location), STACK (on top of an existing block), MOVE, UNSTACK (from a block), NOOP) performed on the blocks. For the transition from one state to the next state you may use the appropriate sequence of functions (actions) logically needed.
Write an algorithm and its code/program, for implementing these sequences of functions/actions, that accepts as inputs:
A given scene (starting state) of these blocks based on their placement on the table
(T) using the appropriate locations (L1, L2, L3, L4) or their placement on the top of each other;
A final scene (destination state) to be achieved by executing your program;
- Graphically display the sequence of states (including the locations of the blocks in each state) that lead from the starting state to the destination state.
The starting and the destination states will be given to you at the DEMO and you run your code/program to prove that it works achieving the expected results at that time.
Programming languages C++, JAVA