第八章 机器人规划
8-1 有哪几种重要的机器人高层规划系统?它们各有什么特点?你认为哪种规划
有较大的发展前景?
基于谓词逻辑的规划是用谓词逻辑来描述世界模型及规划过程的一种规划方法
(1) 规划演绎法。用F规则求解规划序列。
(2) 逻辑演算和通用搜索法。STRIPS和ABSTRIPS系统。
(3) 具有学习能力的规划系统。如PULP-I系统
(4) 分层规划方法。如NOAH规划系统,它特别适用于非线性规划
(5) 基于专家系统的规划。如ROPES规划系统,它具有更快的规划速度,更强的规划能力和更大的适应性。
发展前景?
8-2 让right(x),left(x),up(x)和down(x)分别
示八数码难
中单元x左边、右边、上面和下面的单元(如果这样的单元存在的话)。试写出STIPS规划来模拟向上移动B(空格)、向下移动B、向左移动B和向右移动B等动作。
8-3 考虑设计一个清扫厨房规划问题。
(1) 写出一套可能要用的STRIPS型操作符。当你描述这些操作符时,要考虑到下列情况:
·清扫火炉或电冰箱会弄脏地板。
·要清扫烘箱,必须应用烘箱清洗器,然后搬走此清洗器。
·在清扫地板之前,必须先行打扫。
·在打扫地板之前,必须先把垃圾筒拿出去。
·清扫电冰箱造成垃圾污物,并把工作台弄脏。
·清洗工作台或地板使洗涤盘弄脏。
(2) 写出一个被清扫厨房的可能初始状态描述,并写出一个可描述的(但很可能难以得到的)目标描述。
(3) 说明如何把STRIPS规划技术用来求解这个问题。(提示:你可能想修正添加条件的定义,以便当某个条件添加至数据库时,如果出现它的否定的话,就能自动删去此否定)。
8-4 曲颈瓶F1和F2的容积分别为C1和C2。
CONT(X,Y)表示瓶子X含有Y容量单位的液体。试写出STRIPS规划来模拟下列动作:
(1) 把F1内的全部液体倒进F2内。
(2) 用F1的部分液体把F2装满。
8-5 机器人Rover正在房外,想进入房内,但不能开门让自已进去,而只能喊叫,让叫声促使开门。另一机器人Max在房间内,他能够开门并喜欢平静。Max通常可以把门打开来使Rover停止叫喊。假设Max和Rover各有一个STRIPS规划生成系统和规划执行系统。试说明Max和Rover的STRIPS规则和动作,并描述导致平衡状态的规划序列和执行步骤。
用来描述状态的谓词公式有:
INROOM(X): X在房间里
OUTROOM(X): X不在房间里
SOUND(X): X在喊叫
QUIET(X): X保持安静
OPENED(X): X处于打开状态
CLOSED(X): X处于关闭状态
Rover可执行的动作有:
Shout(X): X喊叫
先决条件:OUTROOM(X) AND CLOSED(Door) AND QUIET(X)
删除表:QUIET(X)
添加表:SOUND(X)
ComeIn(X): X走进房间
先决条件: OUTROOM(X) AND OPEN(Door)
删除表: OUTROOM(X)
添加表: INROOM(X)
Max可执行的动作有:
Open(X, Door): 为X打开门
先决条件:SOUND(X) AND OUTROOM(X) AND CLOSED(Door)
删除表:CLOSED(Door) AND SOUND(X)
添加表:OPENED(Door) AND QUIET(X)
Close(X): 关闭X
先决条件:OPENED(X)
删除表:OPENED(X)
添加表:CLOSED(X)
初始状态M0:
OUTROOM(Rover) AND QUIET(Rover) AND CLOSED(Door) AND INROOM(Max)
目标状态G0:
INROOM(Rover) AND QUIET(Rover) AND CLOSED(Door) AND INROOM(Max)
导致平衡状态的规划序列为{ Shout(Rover), Open(Rover, Door), ComeIn(Rover), Close(Door) }
执行步骤
(1)
M0: OUTROOM(Rover) AND QUIET(Rover) AND CLOSED(Door) AND INROOM(Max)
OP1: Shout(Rover)
M1: OUTROOM(Rover) AND SOUND(Rover) AND CLOSED(Door) AND INROOM(Max)
(2)
M1: OUTROOM(Rover) AND SOUND(Rover) AND CLOSED(Door) AND INROOM(Max)
OP2: Open(Rover, Door)
M2: OUTROOM(Rover) AND QUIET(Rover) AND OPEND(Door) AND INROOM(Max)
(3)
M2: OUTROOM(Rover) AND QUIET(Rover) AND OPEND(Door) AND INROOM(Max)
OP3: ComeIn(Rover)
M3: INROOM(Rover) AND QUIET(Rover) AND OPEND(Door) AND INROOM(Max)
(4)
M3: INROOM(Rover) AND QUIET(Rover) AND OPEND(Door) AND INROOM(Max)
OP4: Close(Door)
M4(G0): INROOM(Rover) AND QUIET(Rover) AND CLOSED(Door) AND INROOM(Max)
8-6 用本章讨论过的任何规划生成系统,解决图8.22所示机械手堆积木问题。
(a)初始布局 (b)目标布局
图 8.22 机械手堆积木规划问题
用来描述状态的谓词公式有:
ON(A, B): 积木A在积木B上
ONTABLE(A): 积木A在桌子上
CLEAR(A): A上没有东西
HOLDING(A): 机械手正抓住A
HANDEMPTY: 机械手为空
机械手可以执行的动作有:
Stack(X, Y): 把积木X堆在积木Y上
先决条件:HOLDING(X) AND CLEAR(Y)
删除表:HOLDING(X) AND CLEAR(Y)
添加表:HANDEMPTY AND ON(X, Y)
UnStack(X, Y): 把堆在积木Y上的积木X抬起
先决条件:HANDEMPTY AND ON(X, Y) AND CLEAR(X)
删除表:HANDEMPTY AND ON(X, Y)
添加表:HOLDING(X) AND CLEAR(Y)
PickUp(X): 从桌面上抓起积木X
先决条件:HANDEMPTY AND ONTABLE(X) AND CLEAR(X)
删除表:HANDEMPTY AND ONTABLE(X)
添加表:HOLDING(X)
PutDown(X): 将积木X放到桌面上
先决条件:HOLDING(X)
删除表:HOLDING(X)
添加表:ONTABLE(X) AND HANDEMPTY
初始布局M0:
ON(D,B) AND ON(A,C) AND CLEAR(D) AND CLEAR(A) ONTABLE(B) AND ONTABLE(C) AND HANDEMPTY
目标布局G0:
ON(A,B) AND ON(B,C) AND ON(C,D) AND ONTABLE(D) AND CLEAR(A) AND HANDEMPTY
如何规划?
8-7 考虑图8.23所示的寻找路径问题。
(1) 对所示物体和障碍物(阴影部分)建立一个结构空间。其中,物体的初始位置有两种情况,一种如图所示,另一种情况是把物体旋转90°。
(2) 应用结构空间,描述一个寻求上述无碰撞路径的过程(程序)把问题限于无旋转的二维问题。
图 8.23 一个寻找路径问题
8-8 指出你的过程结构空间求得的图8.23问题的路径,并叙述如何把你在上题中所得结论推广至包括旋转情况。
8-9 图8.24表示机器人工作的世界模型。要求机器人Robot把3个箱子BOX1、BOX2和BOX3移到如图E23(b)所示目标位置,试用专家系统方法建立本规划,并给出规划序列。
(a)初始世界模型M0 (b)目标世界模型G0
图 8.24 移动箱子于一处的机器人规划
8-10 图8.25表示机器人工作的世界模型。要求机器人把箱子从房间R2初始位置移至房间R1目标位置。试建立本机器人规划专家系统,并给出规划结果。
图 8.25 从一房间移至另一房间的机器人规划
原始文档来自 蔡自兴 老师的《人工智能》课件
http://netclass.csu.edu.cn/jpkc2003/rengongzhineng/rengongzhineng/kechengxiti.htm
仅用于学习交流 ^_)^
请勿用于任何商业用途!
Contact me:http://hi.baidu.com/xxAI