0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器人系统的模块化设计和仿真研究

电子设计 来源:机器人 作者:李春,郑志强 2021-04-07 10:22 次阅读

1、引言

80年代末,随着机器人学、DAI和分布式系统的研究与发展,机器人已朝向分布式、系统化和智能化的方向发展.尤其是基于MAS的多机器人协作问题正受到越来越多的关注.目前智能体(Agent)还没有统一的定义,一般被认为是一个能作用于自身和环境,并能对环境做出反应的物理的或抽象的实体[1],是一个具有自主性、主动性、社会交互性及反应性的对象模型.MAS则是Agent的集合.每个Agent都是一个具有相同的问题求解方法的自治系统,能利用局部信息进行自主规划,并能通过规划推理解决局部冲突实现协作,从而完成与自身相关的局部目标.依据MAS的特性来组织和控制多个机器人,使之能够协作完成单个机器人无法完成的复杂任务是机器人学研究领域的新课题,具有重要的理论和现实意义.国外一些著名研究有:ACTRESS、CEBOT、 SWARM等系统.

我们要实现的系统是以多个移动机器人为控制对象,以开阔区域为试验环境,要完成多个随机散布的机器人排成指定队形的任务,每个机器人要有不同层次的合作能力.我们将机器人封装为Agent和车体模型两部分,其中Agent是广义的机器人控制器,车体模型是机器人的物理实体.这样,多机器人的合作就体现为多 Agent的合作,各机器人依据其子目标,动态地规划各自的运动序列,在自主状态下采用自主行为,在冲突状态下采用合作行为,从而协作完成系统任务.本文就是基于这样的背景提出了系统原型.

2、合作机制与控制结构

群体的智能行为要求多机器人之间必须能够有效合作,这涉及多方面的问题,首先是如何组织机器人去完成任务,这是任务级的合作,体现为高层的组织形式与运行机制[2].多机器人间关系明确后,合作又体现为具体的运动协调规划与控制问题,这是控制级的合作,用来解决局部冲突. 根据系统任务的要求,我们选取协商和竞争的合作方式,实现如下合作机制:在任务层,实现了基于竞争的子任务指定;在行为层,通过采用动态优先级设定技术消解局部冲突,实现了资源的合理分配[3].

恰当地选取系统控制结构是实现多机器人合作的前提条件.一般地,以系统中是否有组织智能体为标准[4],将系统分为集中式控制和分散式控制.集中式系统中由管理员负责规划和决策,其协调效率比较高,但实时性、动态特性较差.而在分散式系统中,个体高度自治,并能借助于通讯手段合作完成任务.这种方式在容错能力、可靠性和伸缩性等方面比集中式结构要好.根据单体机器人结构的划分是否遵从笛卡尔方法[5],提出基于行为和基于功能的控制结构.基于行为的结构亦叫纵式分解结构,R.A.Brooks提出的包容结构[6]是一个典型.该结构具有灵活反应能力,利于实时任务的完成,但几乎不具有智能,规划能力差.基于功能的控制结构也叫横式分解结构,分层递阶结构是一个典型.该结构对外界的反应不够灵活,反应速度慢,但具有规划和推理能力,能对环境做出合理反应.为适应系统分布式、智能化和协同化的要求,我们选取混合式控制结构,即规划与响应相结合、横式与纵式相结合、全局自主分布与局部集中管理相结合的结构.

pIYBAGBtF3qAMOeWAAEsn7YcM20199.png

3、系统模块化设计原型

考虑到系统的分布式特点及机器人的同质性,为了便于系统实现和扩充,我们采用模块化设计思想,依据系统控制结构的层次,按功能对系统进行模块化分解,设计了具有可实现性的系统原型.从面向对象技术的角度来看,系统中的对象可分为机器人和系统管理员两类,我们据此将系统分为管理员分系统和机器人分系统两大部分.

3.1机器人分系统(包含多个机器人子系统)

每个机器人子系统包含Agent和车体模型两部分,其中,车体模型是包含了各种硬件设备的物理实体,在此不详述.与之相对,Agent作为机器人智能的体现者,是推理、决策、规划和控制的软件执行体,是一个功能完全的对象模型,由4部分组成.

o4YBAGBtF4yAQx6YAAA5juVr8-w489.png

3.1.1知识信息收集处理子系统

机器人在动态过程中规划的依据就是Agent 具有的先验知识和前一时刻收集的局部环境信息,机器人据此完成规划和控制.主要包含下面几个模块:

(1) 读取地图信息 Read_Map():一般包含部分静态障碍的信息.在机器人的初始化部分完成.

(2) CCD视觉信息接收处理 Receive_CCD():接收从摄像机中取得的视频图像,经变换得RGB图像,然后转换为灰度图像,经数学形态学处理和边界抽取等处理,最后可求得视域内障碍物和机器人的位置信息.用来探测较远距离的障碍.

(3)超声波信息接收处理 Receive_US():主要用于探测较近距离内或突现的障碍,给出障碍物的距离及其方向,在避障过程中起自我保护和监控作用,使之具有较好的灵活反应能力.

(4)红外信息接收处理 Receive_IR():红外探测器易受外界光线的干扰,且不能提供障碍物在敏感区域内的具体位置,在本系统中起辅助避障的作用.

(5)Sensor信息融合 SensorInfo_Fusion():将CCD、US、IR的处理结果经综合分析形成对环境的描述,放入规定的数据结构中,以确定静、动态障碍物的位置、方向等.

(6)车体定位 Cur_Pos():从odometer中读出车体的位置和前轮转角,填入给定的数据结构.

上述几个模块主要完成了传感器数据的采集与存储,实际上还应包括机器人之间的网络通讯数据,这一部分数据也是很重要的输入信息,放在后续的通讯模块中说明.

3.1.2规划推理子系统

规划与控制是自主机器人的核心功能,主要负责完成机器人的行为规划与行为控制,体现其智能程度,所以这部分功能实现比较复杂,在此只给出主要的功能模块 (Agent子类的成员函数).

(1)全局路径规划 Global_Planner():是离线规划,在系统初始化时完成.利用A*搜索算法给出一条在全局环境内最优的路径,做为机器人在自主状态下跟踪的理想路径.

(2)局部路径规划 Local_Planner():运用动态子目标规划算法完成动态过程中的局部路径规划.根据当前场景,按照算法调度下列模块,求出动态子目标点作动态跟踪的目标.

(3)静态障碍检测 Static_Collision():根据传感器给出的当前视域内的静态障碍(OBS)分布的相关数据信息,按照一定的碰撞检测条件,判断各OBS所在的空间是否与各机器人当前规划段相冲突,有,则置标志,并返回与机器人相冲突的最近的OBS信息.

(4)静态子目标点选取 Static_Subgoal():根据静态障碍检测的结果,按照一定原则,选取子目标点.

(5)动态冲突预测 Dynamic_Collision():利用传感器给出的当前视域内的动态OBS分布的相关数据信息,依据利用通信交互的当前通信域内其他各机器人(也看作是动态OBS)的相关信息(位置、速度、目标),求出各动态目标间的最短距离以及取得时刻,以距离为检测条件,判断其他机器人和动态OBS是否与本机器人当前规划段相冲突,有,则置标志,并返回与本机器人相冲突的最近的OBS信息.

(6)动态子目标点选取 Dynamic_Subgoal():根据动态冲突预测的结果,按照一定原则,选取子目标点.

3.1.3控制子系统

控制子系统的任务就是实时地接收控制命令,驱动伺服系统完成目标跟踪的任务.在此,我们只给出规划子系统和底层伺服子系统的接口模块. 驱动执行 Excution():实时地接收规划结果,将其转化成驶向子目标点的各种执行动作.

3.1.4通信子系统

由于目前使用的各种传感器还不能提供足够的关于其他机器人和环境的实时信息描述,所以通信成为实现多机器人合作的关键,是系统动态运行过程中获取信息的最基本手段,也是一种高效的信息交互方法.根据任务要求,我们建立了局域网平台,并分别从同步和异步Socket类派生了对象,在传输方式上也采用流式和数据报两种方式.因其功能较为复杂,在此只给出主要的功能模块.

(1)等待接收初始化消息和任务命令 RInitInfo():机器人首先创建流式Socket,再建立与管理员和其他机器人的点对点的连接,最后等待接收管理员传送的初始化消息和任务命令.

(2)等待接收同步信号 RSyncSignal():接收到管理员传来的初始化信息和任务命令后,机器人自动完成数据加载,并完成自身的全部初始化,等待接收同步启动信号.

(3)收/发协商数据 Recieve/Send():机器人启动运行后,需要与其他机器人交互信息完成合作.在每个采样周期都广播发送机器人的当前位置状态数据;当检测到动态冲突后,相互冲突的机器人就以点对点的方式分送协商数据,安全高效.

3.2管理员分系统

本系统中的管理员不同于集中式系统中的角色,它不做规划和决策,只完成一些辅助功能:图形仿真环境设置、初始化机器人(数据加载)、发送人工干预命令、图形显示、信息接收存储等.

(1)环境设置 Set_Env():可采用三种方式(读数据文件、对话框交互和鼠标点取)来设置图形仿真环境(主要包含车、障碍及场景等),操作灵活,使用简单.

(2)加载机器人初始化数据InitRobot():采用流式Socket建立和各机器人点对点的连接,然后向各机器人发送初始化信息和任务命令,完成数据加载.

(3)接收人工干预命令Command():能够实时地接收人工干预命令,并即时地完成命令下达.

(4)发同步信号 SyncSignal():给各机器人发同步启动信号,启动机器人系统开始运行.

(5)接收并存储数据 CurData():周期性地接收各机器人的广播数据,存入一定的数据结构.

(6)图形显示和复演 Display():实时地显示各机器人的运动状态,以利于观察和控制实际系统的运作,且能在事后依据存储的数据,将现场及机器人完整的运动过程复现.

4、仿真系统面向对象的程序实现

我们在局域网平台上,按照C/S模型进行系统编程实现.选用了面向对象的程序设计语言Visual C++ 5.0,共设计了九个类,其中两个主类:管理员类Manager和机器人类Robot,Robot类中又包含Agent、Communication 、Sensor、CCD等七个子类,Agent类的成员函数对应于规划和控制执行子系统,Communication类对应于通讯子系统,其余的子类与知识信息收集子系统相关,是为真实系统预留的接口.Manager类的成员函数对应于管理员分系统.利用面向对象技术设计实现的系统原型,易于修改和移植,且结构清晰、自然,贴近真实系统.

5、小结

近年来多机器人协作问题已成为领域内的研究热点.本文旨在设计实现一个试验系统,首先对多机器人的体系结构与合作机制进行了探讨,然后针对具体任务和环境,对多机器人系统的结构和功能进行了模块化分解,最后利用面向对象技术给出了系统原型,并通过仿真系统分析系统设计方案的可行性,逐步向建立实际系统过渡。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28191

    浏览量

    206506
  • 仿真
    +关注

    关注

    50

    文章

    4040

    浏览量

    133413
收藏 人收藏

    评论

    相关推荐

    基于DSP的模块化教育机器人硬件系统方案

    本文主要目的就是设计一种基于DSP的模块化教育机器人硬件系统。该教育机器人是以只能小车为载体TMS320LF2407A微控制器的嵌入式控制平台及编辑环境的一款开放式的
    发表于 05-14 09:47 2213次阅读

    LabVIEW的六轴工业机器人运动控制系统

    空间的轨迹构造方法,包括直线、圆弧、NURBS自由曲线等轨迹的构造方程。 模型机器人测试与仿真:通过LabVIEW编程,项目在PC端实现了算法和运动仿真。六轴模型机器人被用作实体测试对
    发表于 12-21 20:03

    创意之星模块化机器人套件完全介绍

    博创科技刚刚推出了最新的UP-InnoSTAR™创意之星™机器人套件产品,以替换上一代“创意之星”产品。该套件是一套用于开展机器人创新实验的模块化机器人套件
    发表于 03-05 10:54

    基于蓝牙技术的机器人模块化无线通信设计

    缩小,本文阐述了一种通用性好、通信性能较强、采用成熟技术、运行稳定安全的模块化通信系统, 适合大多数机器人应用 , 无论主控制器简单还是复杂 , 有无操作系统或使用任意一种操作
    发表于 02-22 10:05

    工业机器人的技术原理

    模块化的控制系统体系结构:采用分布式CPU计算机结构,分为机器人控制器(RC),运动控制器(MC),光电隔离I/O控制板、传感器处理板和编程示教盒等。机器人控制器(RC)和编程示教盒通
    发表于 11-23 10:40

    如何利用ARM研究嵌入式服务机器人控制器?

    计算量增大,一般的单片机等处理器很难完成控制要求。而基于ARM的嵌入式服务机器人的控制器采用分层与模块化结构,充分体现可扩展性、可移植性的设计原则.同时具有低成本、低功耗、体积小巧、可靠性高、智能高以及通用性等特点。那么我们具
    发表于 07-30 07:02

    嵌入式模块化机器人的路径怎么规划?

    随着科技的进步,机器人技术正在向智能机器和智能系统的方向发展,其发展趋势主要为结构的模块化和可重构;控制技术的开放
    发表于 08-20 07:21

    安全机器人模块化系统:不同的应用需要合适的传感器技术解决方案

    今天,机器人正被应用于那些先前不曾使用机器人的生产领域。针对不同的情况,必须始终分别考虑各个安全方面并针对每种应用实施合适的安全解决方案。安全的传感器技术举足轻重:为了满足所有安全相关的应用,需要采用满足传感器需要的模块化方法。
    发表于 05-07 08:16

    工业机器人模块化教学工作站是什么

    ZNT-MK01工业机器人模块化教学工作站是什么?ZNT-MK01工业机器人模块化教学工作站有哪些技术性能?
    发表于 09-28 07:35

    模块化嵌入式机器人控制单元设计

    模块化嵌入式机器人控制单元设计,有需要的可以下载。
    发表于 03-25 10:08

    模块化机器人拓扑重构规划研究

    模块化可重构机器人由若干个相同的机器人模块组合装配而成,能够重构成不同的几何形态和结构,从而适应不同的作业任务要求。本论文主要对树状拓扑结构的模块化
    发表于 05-25 14:41 28次下载

    基于optotrak的模块化机器人实验研究

    本文以基于optotrak 的PowerCube 机器人闭环系统研究对象,对PowerCube 模块化机器人进行了运动学的分析,并利用op
    发表于 08-15 11:10 7次下载

    模块化机器人的惯性参数辨识研究

    提出了一种基于六维力/力矩传感器的模块化机器人惯性参数辨识的方法。首先,通过Newton-Euler 方程建立模块化机器人的动力学方程,然后利用基座力旋量平衡原理建立辨识模型
    发表于 11-26 13:30 8次下载

    模块化机器人的惯性参数辨识研究

    提出了一种基于六维力/力矩传感器的模块化机器人惯性参数辨识的方法。首先,通过Newton-Euler 方程建立模块化机器人的动力学方程,然后利用基座力旋量平衡原理建立辨识模型
    发表于 01-15 11:11 30次下载

    多功能模块化机器人产品手册

    多功能模块化机器人科教平台基于中科院沈阳自动研究所自主研发的开放式机器人控制系统,通过MATL
    发表于 05-10 17:43 0次下载