- 113
- 0
- 约3.06千字
- 约 4页
- 2020-04-13 发布于湖北
- 举报
机器人搬箱子问题
设在房内 c 处有一机器人,在 a 及 b 处各有一张桌子, a 桌子上有一个箱子。为了让机
器人从 c 处出发把箱子从 a 处拿到 b 处的桌上, 然后再回到 c 处,需要制定相应的行动规划。
现在用一阶为此逻辑来描述机器人的行动过程。
相关谓词定义
TABLE (x):x 是桌子
EMPTY (y):y 手中是空的
AT(y,z):y 在 z 附近
HOLDS (y,w):y 拿着 w
ON(w,x):w 在 x 上面
问题初始状态
TABLE (a)
TABLE (b)
EMPTY (robot)
AT(robot,c)
ON(box,a)
问题目标状态
TABLE (a)
TABLE (b)
EMPTY (robot)
AT(y,z)
ON(box,a)
任务执行过程
初始状态机器人在 c 处;机器人从 c 移动到 a;在 a 处拿起了箱子;从 a 移动到 b;在 b
处放下箱子;从 b 回到 c。
问题实现思路
定义 3 个变量描述问题状态, robot_site 表示机器人位置,取值为 a,b,c;is_robot_block
描述机器人手中是否拿着箱子,取值为 Y、N;block_site 描述箱子的位置取值为 a,b。定
义函数改变问题状态。
运行结果
实现程序
#include stdio.h
#include stdlib.h
/**
* @a
原创力文档

文档评论(0)