机器人搬箱子

机器人搬箱子

ID:36813242

大小:292.00 KB

页数:4页

时间:2019-05-15

机器人搬箱子_第1页
机器人搬箱子_第2页
机器人搬箱子_第3页
机器人搬箱子_第4页
资源描述:

《机器人搬箱子》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、...机器人搬箱子问题设在房内c处有一机器人,在a及b处各有一张桌子,a桌子上有一个箱子。为了让机器人从c处出发把箱子从a处拿到b处的桌上,然后再回到c处,需要制定相应的行动规划。现在用一阶为此逻辑来描述机器人的行动过程。相关谓词定义TABLE(x):x是桌子EMPTY(y):y手中是空的AT(y,z):y在z附近HOLDS(y,w):y拿着wON(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)任务执行过程初

2、始状态机器人在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#include/***@authorlizm*///描述系统状态typedefstructProblem{charrobot_site;//描述机器人的位置charis_robo

3、t_block;//机器人手中是否拿着箱子charblock_site;//箱子所在位置}SProblem;//初始化系统初始状态和目标状态intinit_status(SProblem*obj,SProblem*p,int*status_number){obj->robot_site='c';obj->is_robot_block='N';obj->block_site='b';p->robot_site='c';p->is_robot_block='N';p->block_site='a';printf("状态%d:机器人当前所在位置:%c,机器人是否拿着箱子:%c,箱子所在位置

4、:%c。",*status_number,p->robot_site,p->is_robot_block,p->block_site);*status_number+=1;}//机器人移动introbot_move(SProblem*p,charrobot_object_site,int*status_number){chartemp_robot_site=p->robot_site;p->robot_site=robot_object_site;printf("状态%d:机器人从%c移动到了%c。",*status_number,temp_robot_site,p-

5、>robot_site);*status_number+=1;}//机器人搬起箱子intpick_up_block(SProblem*p,charis_robot_block,charblock_site,int*status_number){p->is_robot_block=is_robot_block;p->block_site=block_site;if(p->is_robot_block=='Y'){printf("状态%d:机器人拿起了箱子。",*status_number);......}*status_number+=1;}//机器人放下箱子intset_do

6、wn_block(SProblem*p,charis_robot_block,charblock_site,int*status_number){p->is_robot_block=is_robot_block;p->block_site=block_site;if(p->is_robot_block=='N'){printf("状态%d:机器人将箱子放在了%c。",*status_number,p->block_site);}*status_number+=1;}//判断机器人是否完成任务intjudeg_obj(constSProblemobj,constSProblem

7、p){if(obj.robot_site==p.robot_site&&obj.is_robot_block==p.is_robot_block&&obj.block_site==p.block_site){printf("机器人完成任务。");}}intmain(intargc,char*argv[]){SProblemsp;SProblemobj;intstatus_number=1;charrobot_object_sit

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。