博舍

人工智能经典案例 人工智能修图机器人图片大全

人工智能经典案例

图6-21火星探矿机器人案例的环境示意图

“火星探矿机器人”的设计目标是要采集火星矿产,并将其带到预定的区域。

为此,该机器人具有以下一组基本能力。

移动。它能够在火星表面移动,能够从一个单元格移动到其上、下、左、右的相邻单元格。

探测。它配备了多种传感器,具有一定程度的环境感知能力,具体包括探测周围一定区间(如相邻多少个单元格)的矿产分布情况以及障碍物情况。

采集。它能够采集所在单元格中的火星矿产。

卸载。它能够卸载其采集的、放置在其体内的矿产。

交互。它能够与其他的机器人进行交互和协同,以更高效地采集矿产。例如,一个机器人探测到大面积的矿产,它可以将该矿产信息告知其他机器人,以便他们能够来该区域采集矿产。

为了充分反应探矿机器人的实际情况,我们对机器人作了以下假设:

①每个机器人存储矿产的容量都有一定的限度,即机器人内部只有有限的空间存放矿产,一旦机器人采集的矿产超出其存储容量,它必须将这些矿产卸载到特定的位置区域,以便能够再次采集矿产。

②每个机器人的能量都有一定的限度,机器人在移动、探测、采集、卸载等过程中会消耗能量,为此机器人必须在其能量消耗殆尽之前补充能量(如充电)。

③每个机器人的感知能力都是有限度的,它只能够感知其周围一定范围内的环境状况,如邻近两个单位的单元格。

下面通过多个场景描述机器人如何在上述火星环境下采集火星矿产,这些场景分别描述了机器人采矿的不同工作模式,反映了实现这些自主机器人的不同难易程度。

场景一:独立采集矿产。

在该场景中,有多个自主机器人参与到火星矿产的采集工作中,每个机器人都有移动、探测、采集、卸载的能力,它们在火星表面随机移动,根据其所在位置探测到的矿产信息和障碍物等环境信息自主地实施行为。

但是,这些机器人都是单独工作,它们之间没有任何交互与合作。

因此,可以将本场景中的每个机器人都抽象和设计为自主的Agent。

场景二:合作采集矿产。

在该场景中,有多个自主机器人参与到火星矿产的采集工作中,每个机器人都有移动、探测、采集、卸载的能力,它们在完成各自矿产采集任务的同时,相互之间还进行交互和合作,以更高效地开展工作。

例如,某个机器人探测到大片的矿产信息,那么它可以将该信息告诉给其他机器人,或者请求其他机器人来该区域采矿。

因此,可以将本场景中的机器人抽象和设计为由多个自主Agent所构成的多Agent系统。

该系统的设计和实现不仅要考虑到各个自主Agent,还要考虑到这些Agent之间的交互和协同。

场景三:多角色合作采集矿产。

在该场景中,有多个具有不同职责、扮演不同角色的机器人参与到火星矿产的采集工作中,每类机器人承担矿产采集中的某项工作(如探测、采集),它们之间通过交互和合作共同完成矿产采集任务,即该场景有多种类型的机器人,包括:

①采矿机器人,采集矿产并将其运送到指定区域;

②探测机器人,负责探测矿产并将其探测到的矿产信息通知给采矿机器人。

因此,可以将本场景中的机器人抽象和设计为由多个自主Agent所构成的多Agent系统。

该系统的设计和实现不仅要考虑到各个自主Agent,还要考虑到这些Agent之间的交互和协同。

显然,该场景比前一个场景更复杂,它涉及的Agent类型和数量、交互和合作关系等更多。

02

设计与实现

下面介绍如何基于多Agent系统的开发框架JADE开发“火星探矿机器人”案例。

为了简化设计,聚焦于Agent的构造和实现,“火星探矿机器人”案例中的环境被设计为一个M×M的网格,每个网格单元代表了一个地理位置,不同网格单元具有不同的地形信息,可能存在影响机器人移动的障碍物,火星矿产非均匀地分布在网格单元格中。

机器人驻留在网格环境中,可以在不同的网格中移动,感知网格周围的环境信息,如矿产、障碍物等,如果它发现所在的网格中存在矿产,那么它就挖掘矿产。

整个应用的界面如图6-22所示。

界面左部显示了机器人所在的环境(用网格来表示),它提供了多样化的图符以及数字信息表示环境中的机器人、矿产、障碍物等及其在环境中的分布情况。

机器人运行在网格中,因而任何时刻机器人都有其所处单元格的位置。

界面的右部显示了各种图符信息的说明以及系统和环境中机器人、矿产等数量的变化。

界面的下部提供整个系统运行过程中的各种动态信息,如某个机器人探测到矿产、机器人从一个位置移动到另一个位置等。

图6-22火星探矿多Agent系统的运行界面

系统在初始化时将自动生成机器人的运行环境,包括矿产、障碍物等的分布。

用户可以根据需要配置系统运行时的机器人信息,包括机器人的类型、数目等,设置机器人的基本属性,如机器人的观测范围、机器人的初始能量值等。

在实际开发中,我们具有以下的基本假设:Agent从初始位置出发在地图上随机单步移动,遇到障碍能够自动避开,能自动探测到其周边是否有矿产,一次只能采集一个矿产并将其运送到指定的矿产仓库。

1

环境的设计与实现

我们设计了一个环境类(对应于environment.java文件)表示和处理应用中的环境。

该类封装了以下一组属性和行为。

环境中的矿产,定义一个一维动态数组存放矿产的位置ArrayListMinePositions,其中Coordinate是一个类,定义了网格的坐标。

环境中的障碍物,定义一个一维动态数组存放障碍物的位置ArrayListObstaclePositions。

环境中的机器人,ArrayListrobots,该属性定义了处于环境中的一组机器人。

InitEnv方法,该方法生成网格环境并随机产生环境中的矿产和障碍物。

2

系统中的Agent和行为

根据应用案例描述,我们设计了如图6-23所示的一组Agent和行为,以支持场景一至场景三的实现。

图6-23系统中的Agent及其行为示意图

BasicRobot是一个基本的Agent机器人,它能够在环境中行走,具有随机行走RandomWalkBev的行为。

在本案例中,BasicRobot无须生成具体的Agent实例,而是被其他Agent所继承。

ExploreRobot是一个专门为场景一设计的Agent机器人,它继承了“BasicRobot”Agent的属性、方法和行为,具有探测矿产DetectMineBev、采集矿产DigMineBev、转存矿产DumpMineBev3个行为。

也就是说,该Agent可以独立完成探矿、采矿和存矿的功能。

但是,ExploreRobot不具有与其他Agent交互和协同的能力。

在场景一,系统可能会产生一个或者多个“ExploreRobot”Agent机器人。

ExploreCoopRobot是一个专门为场景二设计的Agent机器人,它继承了“ExploreRobot”Agent的属性、方法和行为,同时具有交互协同CooperationBev行为,能够与其他Agent机器人进行协同,以告知所探测的矿产信息。

在场景二中,系统可能会产生一个或者多个“ExploreCoopRobot”Agent机器人。

场景三包含两类不同的Agent机器人:

一类是专门探矿的机器人DetectMineRobot,它具有探测矿产DetectMineBev、交互协同CooperationBev两个行为,可以实现探矿并将所探测到的矿产信息告诉给其他的Agent机器人;

另一类是DigMineRobot,它具有采集矿产DigMineBev、转存矿产DumpMineBev、交互协同CooperationBev3个行为,能够实施采矿、存矿等功能,处理其他Agent发送过来的消息,并将采矿信息告诉给环境中的其他

3

Agent类的设计与实现。

Agent类的设计与实现需要注意以下几点:

①继承Agent类或者其子类;

②在构造函数中初始化Agent的基本属性;

③在Setup方法中通过addBehaviour语句给Agent增加相应的行为,以便Agent创建后就可执行这些行为。

下面以“ExploreRobot”Agent为例介绍如何设计和实现Agent。

任何Agent类都要继承JADE的Agent类或者其子类,如BasicRobot继承了Agent类,其代码框架如下所示。

importjade.core.Agent;

publicclassBasicRobotextendsAgent{

}

“ExploreRobot”Agent则继承了“BasicRobot”Agent,而“BasicRobot”Agent是Agent类的子类,该部分的代码框架如下所示。

importjade.core.Agent;

publicclassExploreRobotextendsBasicRobot{

}

在每个Agent的构造函数部分,程序员需要针对Agent的一些属性完成初始化工作。

例如,对于每一个“ExploreRobot”Agent而言,当其实例化之后,需要为其随机生成该Agent机器人在环境(即网格)中的位置,同时需要初始化该机器人所获得环境中矿产的信息。

该部分的代码框架描述如下。

importjade.core.Agent;

publicclassExploreRobotextendsBasicRobot{

Coordinateposition;

ArrayListFoundMine;

publicExploreRobot{

…;

position=env.CreateRandomPosition;

FoundMine=newArrayList;

}

}

其中,position是一个类型为Coordinate的属性,它定义了Agent机器人在网格中的坐标;FoundMine是一个类型为Coordinate的动态数组,定义了Agent机器人探测到的矿产位置信息。

在上述语句中,CreateRandomPosition是一个产生随机环境位置的方法,FoundMine=newArrayList语句则产生一个类型为Coordinate的动态数组。

Agent类的设计通常需要实例化setup方法。

针对本案例,我们需要在该方法中增加一组行为,以便让ExploreRobot在创建之后就可执行这些行为,其代码框架描述如下。

importjade.core.Agent;

publicclassExploreRobotextendsBasicRobot{

publicvoidsetup{

addBehaviour(newDetectMineBehaviour(this));

addBehaviour(newDigMineBehaviour(this));

addBehaviour(newDumpMineBev(this));

}

}

其中,语句addBehaviour(newDetectMineBehaviour(this));旨在增加一个探测矿产的行为,语句addBehaviour(newDigMineBehaviour(this));旨在增加一个挖矿的行为,语句addBehaviour(newDumpMineBev(this));旨在增加一个卸载矿产到矿产仓库的行为。

4

行为类的设计与实现

行为类的设计与实现需要注意以下几点:

①分析待实现行为的特点,确定该行为类应继承什么样的基类行为;

②在publicvoidaction方法中编写具体的行为代码。

下面以DetectMineBehaviour行为为例介绍如何设计和实现行为。

首先,DetectMineBehaviour行为旨在探测Agent周边是否存在矿产,这种探测需要不断地进行,因而该行为属于一类周期性行为,需要继承JADE中的CyclicBehaviour类,其代码框架如下所示。

importjade.core.Agent;

importjade.core.behaviours.CyclicBehaviour;

publicclassDetectMineBevextendsCyclicBehaviour{

publicDetectMineBev(BasicRobotrobot){

}

publicvoidaction{

}

}

其中,DetectMineBev是构造函数,可以完成一些初始化的工作;publicvoidaction定义了行为体。

其次,需要在publicvoidaction方法中定义行为的程序代码。

对于DetectMineBev行为而言,其行为部分主要是要获得其当前所在位置的周围是否存在矿产,如果存在,则将这些矿产信息(即矿产所在的坐标)加入到Agent机器人的FoundMine动态数组中。

5

Agent间交互的设计与实现

场景二和场景三都涉及Agent机器人之间的交互和协同。

下面以场景三中的DetectRobot为例,介绍如何实现Agent之间基于FIPAACL的交互和协同。

一旦某个DetectRobot探测到某些矿产,它需要将它所探测到的矿产信息通知给环境中的“DigRobot”Agent机器人。

下面的程序代码描述了Agent机器人在DetectMineBehaviour行为中如何给其他的Agent发送所探测到的矿产信息。

首先,通过newACLMessage(ACLMessage.INFORM)语句产生一个“通知”类型的ACL消息,其次将矿产坐标作为该消息的内容,然后将其他Agent加入到消息的接收者列表中,最后发送该ACL消息。

publicclassDetectMineBehaviourextendsCyclicBehaviour{

//行为体

publicvoidaction(){

Coordinatetarget=RandomWalkBev.RandomNextpoint(ui.myGrid);

intRobotNum=en.getrobotArryList.size;

//生成消息类型

ACLMessagemsg=newACLMessage(ACLMessage.INFORM);

//生成消息内容

for(inti=0;i

人工智能技术在机器人领域的应用分析

辽宁省大连市第八中学  刘皓明   116021

摘要:时代犹如滚滚浪潮不断前进,而随着我国制造强国战略的逐步深化,科技逐渐成为推动时代发展的最强推动力,人工智能制造成为了“中国制造2025”明确的主攻方向,而机器人方面更是智能制造发展的坚实基础。可以预测在未来,人工智能与机器人技术将进一步融合并取得更高的进步,逐步推动我国大国工业发展进步。关键词:人工智能;机器人;应用分析       1引言       人工智能这个术语包含了一个在操作和行为方面都是智能的机器的整个概念化。预计到2024年人工智能市场到将达到3万亿美元,公司和政府机构都在人工智能和机器人领域投入了大量资金。随着我们周围信息可用性的增长,人类将越来越依赖人工智能系统来生活、工作和娱乐。考虑到人工智能系统的准确性和复杂性的提高,它们将被用于越来越多样化的领域,包括金融、制药、能源、制造业、教育、运输和公共服务。人工智能机器人将改变我们社会的未来—我们的生活习惯、我们的生活环境和我们的经济。       2人工智能概述       2.1人工智能概念       人工智能(AI)是一个常用的名称,旨在科学领域为机器提供执行逻辑、推理、计划、学习和感知等能力。尽管定义中只提到了机器,但后面所述的能力可适用于任何类型的生活智能[1]。同样地,智力的意义,如它在灵长类动物和其他特殊动物中那样,它可以扩展到创造力、情感知识和自我意识。       人工智能这个词与“符号人工智能”领域密切相关,该领域一直流行到20世纪80年代末。为了克服符号人工智能的一些局限性,神经网络、模糊系统、进化计算和其他计算模型等子计算方法开始流行,导致“计算智能”术语成为人工智能的一个子领域。如今,人工智能这个术语包含了一个在操作和社会后果方面都是智能的机器的整个概念化。罗素和诺维格提出了一个实际的定义:“人工智能是研究人工复制的人类智能和行为,使其结果与其设计具有合理的合理性水平”[2]。这一定义可以通过规定对于特定和明确的任务的理性水平甚至可以取代人类来进一步细化。       2.2人工智能应用分析       目前的人工智能技术被用于在线广告、驾驶、航空、医学和个人辅助图像识别。人工智能最近的成功吸引了科学界和公众的想象力。其中的一个例子是配备了自动转向系统的车辆,也被称为自动驾驶汽车。每辆车都配备了一系列的激光雷达传感器和照相机,使它们能够识别其三维环境,并提供了在可变的、真实的交通道路条件下对机动做出智能决策的能力。另一个例子是由谷歌深度思维公司开发的阿尔法-Go,用于棋盘游戏。前几年阿尔法击败了韩国大师李世石,成为第一台击败职业选手的机器,最近它在中国战胜了目前世界排名第一的柯洁。这导致了许多人的兴奋和恐惧,即人工智能将在人类进入的所有领域超越人类。然而真实而完整的人工智能还不存在。在这个层面上,人工智能将模仿人类的认知,使其能够实现梦想、思考、感受情感和有自己的目标。虽然还没有证据表明这种真正的人工智能在2050年之前可能存在,但推动人工智能向前发展的计算机科学原则正在迅速发展。       3人工智能与机器人技术       3.1人工智能和机器人是两个独立的技术领域       (1)什么是机器人?       机器人是一种自主的物理机器,设计成能够快速准确地自动执行动作。与人体相似的机器被称为机器人。然而,许多机器人没有像人类一样的构造。例如,在制造业中挑选和放置物品的机器人一点也不像人类。       (2)什么是人工智能?       人工智能是计算机、机器执行人们通常执行的任务的能力。例如,学习、决策和解决问题的能力。人工智能通过特殊的软件工作,包括算法和技术(如有监督和无监督的机器学习),允许机器从经验中学习并调整自己的行动,而无需人工干预。人工智能的目的是采取最有可能实现特定目标的行动。       (3)机器人与人工智能的关键区别       机器人具有物理形态,可能需要也可能不需要人工智能来完成特定任务。相比之下,人工智能是一个软件程序,所以它不需要是物理形态的。作为一种软件,人工智能可以在手机、笔记本电脑、平板电脑甚至机器人等不同的设备或机器上运行。然而,许多机器人不是人工智能的。       (4)什么是人工智能机器人?       人工智能机器人是人工智能和机器人技术的结合,人工智能软件嵌入机器人系统。换句话说,人工智能在使机器人智能化方面占有关键地位。最先进的机器人是那些由人工智能控制的机器人,它们可以从环境和经验中学习,然后基于这些知识建立自己的能力。许多行业大规模使用机器人。一些最热门的机器人种类包括协作机器人、仓储和物流自动化、农业机器人和自动驾车辆[3]。人工智能机器人的主要优点是把人们不喜欢做的重复性任务自动化,确保更多的机会和时间专注于有价值的工作。人工智能机器人正在改变我们的世界,企业需要接受这些新技术,同时增强和补充人类智能。       3.2支撑人工智能机器人的子领域和关键技术       人工智能是一个多样化的研究领域,以下子领域对它的发展至关重要。这些方法包括神经网络、模糊逻辑、进化计算和概率方法[4]。

期刊文章分类查询,尽在期刊图书馆       (1)人工神经网络       神经网络建立在连接主义领域,主要目的是模仿神经系统处理信息的方式。人工神经网络(ANN)和变体允许人工智能执行相对于“感知”的任务。当与当前的多核并行计算硬件平台相结合时,许多神经层可以堆叠,在学习自己的特性集时提供更高层次的感知抽象,从而消除了对手工特性的需要;一个被称为深度学习的过程。       (2)深度学习       深度学习是机器学习的一部分,通常与深度神经网络和由细节或数据表示的多层次学习组成的深度神经网络相连。通过这些不同的层,信息从低级参数传递到高级参数。这些不同的层次对应于不同层次的数据抽象,从而导致了学习和识别。许多深度学习架构,如深度神经网络、深度卷积神经网络和深度信念网络,已经被应用于计算机视觉、自动语音识别、音频和音乐信号识别等领域,这些领域已经被证明可以在各种任务中产生最前沿的结果。       (3)模糊逻辑       模糊逻辑侧重于对通常不精确的信息的操作。大多数计算智能原理解释了这样一个事实,尽管观察总是准确的,但我们对上下文的知识往往是不完整的或不准确的,就像在许多真实情况下一样。模糊逻辑提供了一个框架,假设一组观测值的不精确程度,以及结构元素来增强学习模型[5]的可解释性。它确实为人工智能方法的形式化提供了一个框架,以及将人工智能模型转换为电子电路。然而,模糊逻辑本身并不提供学习能力,因此它通常是与其他方面的结合,如神经网络、进化计算或统计学习。进化计算依赖于自然选择的原则,或集体行为的自然模式。两个最相关的子领域包括遗传算法和群体智能。它对人工智能的主要影响是对多目标优化,其中它可以产生非常鲁棒的结果。这些模型的局限性就像关于可解释性和计算能力的神经网络一样。       4人工智能机器人应用分析       (1)商业机器人       商业机器人,它使用人工智能自主移动并与人通信。它能够回答问题、识别面孔、提供有关公司服务的信息、扫描和填写文档、接受付款以及显示促销信息。该机器人与第三方服务和外部系统(如数据库、网站和在线服务)无缝连接。这个机器人有各种各样的应用,可以充当顾问、推动者、建筑经理、导游、导航助手以及测量肺活量、体温和血糖等健康指标的评估员。       现场监控机器人是一种引人注目的机器人,比如它可以跟踪建筑项目的进度。在人工智能的驱动下,这种自主机器人可以在建筑工地上移动,对建筑工程进行精确扫描,然后分析数据发现质量问题,并监控整体进度。机器人将收集到的数据发送到云平台进行进一步处理。此过程有助于防止代价高昂的错误,甚至显示出健康或安全问题,例如边缘保护中的漏洞。从整个建筑工地收集这样的数据是一项耗时的任务,这种人工智能机器人不仅节省了时间,减少了返工和浪费,而且保证了高质量的施工。       (2)物流分拣机器人       分拣机器人能够从一个盒子里取出一个物品,扫描它,然后将它放在另一个盒子或分拣系统中。机器人可以自主地从一组非结构化的对象中识别和选择一个物品,然后再将其放入另一个目标中。拣选和放置任务是仓库中仍由人类执行的重复性工作之一,这种机器人能自动完成这项任务,每天24小时,每小时能完成数百个周期。在人工智能的推动下,机器人可以分析每个项目的位置、形状和特征,对其进行检测和处理。为了识别物品,机器人使用条形码、RFID或物品图片。对于检查任务,它分析形状、重量和运动以检测任何异常或质量问题。分拣机器人与仓库管理系统(WMS)、仓库控制系统(WCS)或专有控制软件集成,以确保仓库操作的端到端效率[6]。       (3)家用机器人       家用机器人可以是自主的机器人厨房助理,可以帮助厨师准备新鲜的汉堡和油炸食品,比如脆皮鸡和土豆片。例如,在烤架上烹饪时,它可以自动检测何时放置生汉堡肉饼,实时监控每个肉饼,并在生肉和熟肉之间切换。在油炸锅烹饪时,它可以拿起篮子放在油炸锅里,在煎炸食物时轻轻摇动篮子,监控烹饪时间等。机器人的大脑由云连接的人工智能提供动力,它可以从周围环境中学习,并随着时间的推移获得新的技能。      例如Moley机器人公司是一家创造了世界上第一个机器人厨房的公司——一个全自动和智能烹饪机器人系统。机器人厨房系统包括一整套电器、橱柜、计算机、安全功能和机械臂。它使用来自世界各地顶级厨师的预设食谱,以大师级厨师的技能烹饪。通过一双完全关节化的机器人手来再现人类的手部动作,这个系统可以精确地模仿主厨的动作,烹饪美味的菜肴,并在自己之后进行清理!此外,它还可以学习食谱,制作来自世界各地的饭菜,甚至可以自己烹饪食谱。独自一人。机器人厨房由自己的触摸屏控制或通过智能手机远程控制。不使用时,机械臂会从视野中缩回。Moley被餐饮业、航空公司、厨房开发商甚至厨师培训学校的主要参与者使用。       5结语与展望       总的来说,人工智能的迅速发展,加快了社会生产力进步的步伐,也为机器人领域做着巨大贡献。只要本着科学发展的理念,推动智能制造与机器人技术不断向前迈进,必定能强化人工智能在机器人领域的运用,加快生活步入人工智能化的的步伐,解放生产劳动力,提高社会生产效益,为社会经济发展提供更大动力。参考文献[1]王永庆.人工智能原理与方法[M].西安交通大学出版社,1998.[2]史忠植.高级人工智能[M].科学出版社,2011.[3]田金萍.人工智能发展综述[J].科技广场,2007,000(001):230-232.[4]孙怡宁.浅谈人工智能与机器人的发展趋势[J].电子测试,2016(23).[5]李博.游戏人工智能关键技术的研究[D].上海交通大学.[6]陶亚楠,李明昊.浅析新一代人工智能机器人的发展[J].数码世界,2019,000(006):2.

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇