PDDL-人工智能领域规划语言学习笔记-1

本文介绍了PDDL(Planning Domain Definition Language)的基础知识,包括domain和problem文件的构成,如objects、init、goal、predicates和actions。通过一个机器人搬运球的例子,详细解析了如何定义对象属性和动作,并展示了如何编写problem的init和goal状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一份完整的PDDL程序代码是由domain文件和problem文件组成。在详细介绍这两者之前,我们先看一下PDDL代码中常见的数据成员(本文章涉及的数据成员仅为最基础的解决一个简单问题需要,其它待深入学习以后才能了解)

  • objects:在规划过程中涉及到的对象
  • init: 初始状态
  • goal: 目标,也就是我们要到达的目标下各个对象的状态
  • predicates:objects的属性的描述,可以为True或者False
  • action:对objects的操作,action应该包含三个描述,一个是涉及的对象,一个是进行action之前涉及对象的状态,以及action之后对象的状态

其中,init, goal, objects是problem文件的组成部分,其它是domain文件的组成。

接下来我们通过一个例子来说明

假设有两个房间rooma和roomb,有两个球ball1和ball2都在rooma中,我们有一个机器人robby在romma中
robby有两只手臂left和right,现在我们要让robby把两个球从rooma中移到roomb中去

domain

domain的定义

(define (domain <domain name>)
    (:predicates <predicates pddl codes>)
    (:action <action name>
     :parameters <parameters pddl codes>
     :preco
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值