收藏 分享(赏)

智能机器人仿真系统设计.pdf

上传人:jintaihu 文档编号:5704433 上传时间:2022-06-15 格式:PDF 页数:5 大小:746.95KB
下载 相关 举报
智能机器人仿真系统设计.pdf_第1页
第1页 / 共5页
智能机器人仿真系统设计.pdf_第2页
第2页 / 共5页
智能机器人仿真系统设计.pdf_第3页
第3页 / 共5页
智能机器人仿真系统设计.pdf_第4页
第4页 / 共5页
智能机器人仿真系统设计.pdf_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、基金项目: 国家国防基础科研项目( B3720110008)收稿日期: 2012 06 25修回日期: 2012 08 31第 30 卷第 5 期计算机仿真2013 年 5 月文章编号: 1006 9348( 2013) 05 0358 04智能机器人仿真系统设计彭建盛1, 2, 李兴1, 秦志强3, 林义凯2( 1 中国原子能科学研究院, 北京 102413; 2 河池学院物理与电子工程系, 广西 宜州 546300;3 湖南科技大学信息与电气工程学院, 湖南 湘潭 411201)摘要: 智能机器人仿真系统, 由于智能机器人受到自身多传感器信息融合和控制多样性等因素的影响, 仿真系统设计主要

2、都是以数学建模的形式化仿真为主, 无法实现数学建模与场景实现协调仿真。为此, 首先分析两轮移动机器人数学运动模型,然后设计与机器人控制系统相关的传感器数据采集分析、 机器人智能自动控制和人工控制等模块, 以实现机器人控制的真实场景。仿真系统利用 LabVIEW 设计控制界面, 并结合 Robotics 工具包的建模、 计算和控制功能。仿真结果表明设计的平台更适合教学和实验室研究, 并可为实际的物理过程提供数据参考和决策建议。关键词: 机器人; 虚拟; 系统仿真中图分类号: TP242文献标识码: BDesign of Intelligent Robot Simulation SystemPEN

3、G Jian sheng1, 2, LI Xing1, QIN Zhi qiang3, LIN Yi kai2( 1 China Institute of Atomic Energy,Beijing 102413,China;2 Department of Physics and Electronic Engineering,Hechi University,Yizhou Guangxi 546300,China;3 Hunan University of Science and Technology;Xiangtan Hunan 411201,China)ABSTRACT: Intellig

4、ent robot simulation system,being affected by factors such as the integration of information sentby self multi sensor and control diversity,is designed mainly based on formalized simulation of mathematical mod-eling,without realizing coordinated simulation of mathematical modeling and scene realizat

5、ion Therefore,two wheel mobile robot mathematic model was analyzed firstly Then it went to the design of several modules such as datacollection and analysis related to sensors,intelligent automatic control of robot and manual control,in order to realizea real scene controlled by robot In the simulat

6、ion system,the control interface was realized by means of LabVIEW,with the integration of Robotics toolkit modeling, calculating and control functions The results of simulation show thatthe designed platform is more suitable for teaching and laboratory research,and it can provide actual physical pro

7、cesswith data for reference as well as decision making suggestionsKEYWORDS: Robot;Virtual;System simulation1引言随着测控技术的发展, 虚拟仪器技术已成为工业控制和自动化测试等领域的新生力量1 。而机器人作为一种新型的生产工具, 应用范围已经越来越广泛, 几乎渗透到各个领域, 是一项多学科理论与技术集成的机电一体化技术。目前机器人仿真系统主要集中在复杂的机器人数学模型构建与形式化仿真, 无法实现分析机器人运动控制的静态和动态特性, 更加无法实现控制的真实场景2 。为了改善专业控制软件在硬件

8、开发周期较长的缺点, 本文拟建立一个基于通用软件的实时仿真和控制平台, 以更适合教学和实验室研究。本文以通用仿真软件 LabVIEW 和 Robotics3 为实时仿真与控制平台, 采用 LabVIEW 搭建控制界面, 利用 Robotics 在后台进行系统模型和优化控制算法计算, 使其完成机器人控制系统应有的静态和动态性能分析, 不同环境下传感器变化模拟显示以及目标路径形成等功能。2系统构成仿真系统的构成主要包括了仿真界面、 主控制界面、 障碍检测、 智能控制和人工控制模块。其中主要对人工控制和智能控制进行程序设计。仿真运行时, 障碍检测一直存在,主要是为了在智能控制模式下的智能决策提供原始

9、数据。在人工控制模式下, 障碍检测依然存在, 只不过对机器人行动不产生影响, 目的是把环境信息直观地反映给控制者。仿853真界面与控制界面也是分开的, 这样不仅便于控制, 还达到了美观的效果, 更加人性化。系统组成框图如图 1 所示。图 1系统组成框图3Robotics 机器人工具包LabVIEW Robotics 是基于 LabVIEW 的机器人开发工具包, 它是用于设计复杂自治系统的全新软件包, 不仅提供了诸如导航、 定位和视觉处理等密集型算法, 而且新的编译技术得到了优化以及很大程度上性能的提升。LabVIEW Ro-botics 是一整套全新的机器人专用传感器和执行器驱动, 以及实现复

10、杂导航运算的新代码库。在 LabVIEW 平台上, 只需要使用一个软件开发环境就可以设计控制算法, 连接实际I/O, 以及部署至确定性硬件目标。LabVIEW Robotics 2011模块提供了一系列驱动程序, 其中包括了传感器驱动、 算法和电机驱动。仿真驱动程序包括激光雷达( LIDAR) 、 红外传感( Infrared) 、 声纳定位( Sonar) 、 全球定位系统( GPS) 和电机( Motors) 等内容。“感知思考行动” 体系结构是常见的一种设计样式,LabVIEW 的数据流特性也十分适合于设计机器人应用。传感器驱动对任何自主或半自主的系统来说都是至关重要的,机器人可以通过传

11、感器的数据来得到一个可视化的环境, 它需要确定性决策算法, 以完成一项任务或行为。LabVIEWRobotics 软件提供了快捷的算法设计, 诸如 A* 算法或卡尔曼过滤器等基本算法, 它可以更加快速地设计一个自主系统。机器人系统做出了如何应对其环境的决定, 它需要与马达或其它类型的促动器通信来开始动作。LabVIEW Robotics2011 软件包含了电机驱动, 这样可以直接调用现成的驱动模块, 以节省宝贵的系统整合和驱动程序开发时间, 快速完成开发仿真任务。3功能模块的设计与实现2 1两轮机器人运动模型仿真机器人采用两轮移动机器人, 通过控制左右电机的转速来控制机器人的行走或者转弯, 如

12、图 2 所示是两轮机器人的运动模型图4 。它是一个具有非完整性约束的两轮驱动小车, 满足方程:yx= tan。 在笛卡尔坐标系下, 机器人的位姿、 速度、 角速度用( ( x, y, ) , v, w)来表示5 , 机器人的运动方程为:图 2机器人小车运动模型xy=cos0sin001vw( 1)因此, 通过控制左右电机的速度, 就能确定小车的转弯半径和角速度。p =Vy= dV1+ V2V1 V2( 2)V1表示左轮转速, V2表示右轮转速。 P 表示转弯半径, d表示左轮与右轮的距离的一半。当小车向右转弯时:V2=p dp + dV1( 3)当小车向左转弯时:V2=p + dd pV1(

13、4)小车转动速度( 运动方向以向前为正方向) :V =V1+ V22( 5)小车转动角速度( 转动角速度以相右转动为正方向) : =V1 V2d( 6)小车左轮运动速度为 V11, 右轮的运动速度为 V22。 则它们的表达式为:V11=( p + d) ( V1 V2)d( 7)V22=( p d) ( V1 V2)d( 8)结合机器人小车的运动模型, 对左右机器人的速度控制, 从而得到机器人的位姿。2 2机器人仿真系统的建立建立仿真系统的首要步骤是新建一个基于向导的项目robotics project, 这个项目会自动生成一个新的可以由开发者控制机器人的工程, 其次在选择项目类型时可以选择

14、Win-dows 平台和机器人环境模拟器。Windows 平台是指使用视窗平台设计机器人控制器, 其中包括笔记本电脑或者 PXI 系统。机器人环境模拟器允许开发者查看模拟机器人以及与机器人互动来测试算法, 验证机器人的机械结构等。要进行机器人的仿真, 在此应选择机器人环境模拟器。最后输入工程文件名、 仿真实例名以及选择工程存放的目的文件夹。9532 3LabVIEW 仿真程序设计2 3 1仿真初始化模块在进行仿真初始化的过程当中, 需要对机器人信息进行初始化, 其中包括仿真环境、 模拟通信工具、 机器人转向构架和传感器。初始化的主要作用是为了定义一些机器人仿真所必须要的环境常量, 其中一些关键

15、数据连线需要定义以外, 其它的连线可以使用默认。1) 开始模拟器服务 VI( Start Simulator Service VI) , 调用机器人仿真并且初始化所定义的仿真场景。其中需要指定xml 文件的绝对路径 Manifest file 和当前的仿真和调节的物理推进速度 Step size ( ms) 。( 2) 初始化模拟入门工具 1 0 VI( Initialize SimulatedStarter Kit 1 0 VI) , 其中 Robot ID 在启动模拟器仿真实例 VI运行服务之前指定被分配的机器人 ID, 如果想参考和识别机器人, 就必须找到指定它的编号值。3) 创建模拟机

16、器人 1 0 转向构架 VI( Create Starter Kit1 0 Steering Frame VI) , 创建一个对象为机器人入门工具1 0的转向框架。可以用转向框架转向 VIs 实施机器人入门工具的转向, 其中 Starter kit differential steering frame 包含有关机器人如类型和轮子位置等转向框架, 可以连接输出线至转向 VIs 读或写速度值。4) 初始化扫描角度值 VI( Initialize Scan Angle date VI) ,这是安装 LabVIEW Robotics 2011 后自带的一个 VI, 在 Lab-VIEW Roboti

17、cs 的函数面板上是找不到此 VI 的, 所以也没有帮助文档, 但是源代码是公开的, 只要能够使用此 VI 搭建自己的应用程序就行了, NI 公司不对此类 VI 提供支持和服务,将来的版本也许会改动。初始化中包含有一个角度至弧度转换子 VI, 这个子 VI 主要用于角度至弧度转换, 即弧度 = 角度值 A* pi/180 。2 3 2数据采集模块数据采集是智能控制不可或缺的一部分, 机器人把采集到的环境信息, 通过 “思考” 后方能做出正确的反应。仿真中使用到了超声波传感器对障碍物进行实时检测, 在对传感器进行初始化以后, 就会进入数据采集。超声波传感器在进行数据采集的同时, 它必须检测至少在

18、机器人行走范围内的一个区域是否存在障碍, 那么就需要对控制传感器角度的电机进行控制。在控制传感器检测方向的电机, 以车头中心垂直方向为零度角, 逆时针方向( 靠近左边轮子) 为负角度, 初始化从 65到 65方向, 步进值为 4。2 3 3智能/人工控制模块智能控制模块的实现: 首先传感器对环境的数据进行采集, 第二步对采集到的数据进行分析和处理, 第三步做出决策 行动。1) 计算行驶方向( Calculate Driving Direction vi)此 VI 根据传感器反馈的每个角度的障碍距离, 使用简单的矢量场直方图 VI( Simple Vector Field Histogram V

19、I 简称VFH) 可以定义所要检测的范围、 最大角度和最大距离, 以及与障碍之间的最大安全距离。通过 VFH 输出一个最大的安全范围和一个最近的障碍信息。按名称解绑 nearest obstacle最近的障碍, 检测障碍的最小距离, 与常量 0 35 比较, 要是小于 0 35 则为真, 否则为假。使用反馈节点, 为条件结构提供一个初始化值。其中条件结构包括了机器人的两个动作,条件结构为真时, 机器人执行的动作是驶离障碍物, 为假时则为穿越两边障碍之间的空隙。2) 驶离障碍 ( Drive Away from Obstacle VI)当机器人在传感器能够检测的范围之内, 发现障碍, 经过计算空

20、隙之间的宽度, 判断是否可以穿越, 如果机器人不能穿过, 那么机器人就使用此 VI 驶离障碍物, 后退一段距离再重新检测。其中指定转向框架的速度 x_dot, y_dot, theta_dot ,x_dot 是速度横向方向, y_dot 是速度前进的方向, theta_dot 是逆时针旋转角速度的方向。它们之间的关系为:x_dot = 0( 9)y_dot =1* max forward velocity( 10)theta_dot = ( 2/pi) * angle * max angular velocity( 11)3) 穿越空隙( Drive Towards Gap vi)当机器人检测

21、到障碍物之间可以允许车身通过时, 那么就使用此 VI 对机器人控制, 计算出前进的角度和速度。其中转向框架指定的速度元素跟驶离障碍是一样的, 它们的关系式为:x_dot = 0( 12)y_dot = (2/pi) * |angle| + 1 * max forward velocity( 13)theta_dot = ( 2/pi) * angle * max angular( 14)将三个元素创建一个数组作为( Apply Velocity to Motors VI ) 的输入, 通过使用该函数节点可以快速得出左右电机的速度, 该输出是一个数组, 需要经过数组索引分离出数组中的元素, 即得

22、到( 7) 、 ( 8) 式中的 V11、 V22, 这样通过控制左右电机不同的速度, 就可以得到机器人前进的方向和角度。转向架的马达速度( Apply Steering Frame Velocity to Mo-tors) 函数节点主要用于马达速度的写入, 控制转向架下左右电机的步进长度, 其中 Wheel indexes 指定所要操控的轮子的索引, 其中 0 对应第一个所添加到转向架的轮子, 1 对应第二个轮子, 依次类推。人工控制程序设计时可以根据按键发送的控制命令, 使用条件结构来定义不同命令的响应条件, 使用 Write DC Mo-tor Velocity Set points V

23、I, 可以直接给机器人控制行走的左右的两个电机直接赋值, 机器人入门工具 1 0 最大的电机速度为 15 7rad/ s, 对应最大的向前速度约0 39 m/s, 机器人入门工具 2 0 对应最大前进速度为 0 79 m/s。在给电机直接赋值时应该注意避免机器人碰撞其它东西。所以一般情况下使用停止作为默认条件, 左右电机只要给的值都为 0rad/ s就行了。如图 3 所示。在机器人控制时, 为了提高 VI 运行时的效率, 把按键事件进行存储然后读取, 按键事件没有更改时, 机器人会快速063图 3人工子 VI 程序框图的按照原来的事件进行处理。图 4控制命令的存取在当前 VI 保存路径下创建一

24、个 TXT 文本格式的文件,用来存放按键的控制命令。然后再打开这个文件读出里面的信息。此 VI 的用来保存命令, 作用相当于一个缓冲文件,提供命令的保存和读取。2 3 4机器人电机驱动模块设定直流电机速度 VI 控制量( Write DC Motor VelocitySet points VI) , 适用于驱动电机速度值的入门工具的机器人VI, 指定机器人左侧和右侧马达的速度。最大的电机速度为15 7rad/s。使用这个 VI 可以控制整体转向架的行走方向、行进速度以及单独电机速度和执行其它转向行为, 属于机器人的入门工具。如表 1 所示, 定义了不同控制指令下机器人左右电机的不同速度值。表

25、1控制命令 电机速度对应表控制命令设定直流电机控制速度 rad/ s左电机右电机停止( 默认)00前进77后退77向左147向右714调头7777人工控制和智能控制, 最主要的根据两轮机器人的运动模型来控制机器人左右电机的不同速度, 人工控制和智能控制最终需要控制的是电机的速度, 通过控制电机的不同速度实现了小车的不同动作, 其中包括基本的前进、 后退以外, 还有可以控制的转弯半径的大小等, 这些都与机器人小车左右电机的速度息息相关。4实验测试仿真系统采用平铺式顺序结构如图 5 所示。图 5主程序框图程序框图内若存在错误的节点, 运行按钮会变成短线, 单击该运行按钮, 会列出错误信息, 修改错

26、误时就比较方便和灵活。程序修改无错误以后, 运行按钮会变成,这并不表明程序就一定不存在错误, 这还取决于开发者在编写程序时是否存在语法上的错误, 例如陷入死循环, 程序崩溃等。单击运行按钮以后会依次出现 3D 仿真界面和控制板界面, 如图 6 和图 7 所示。图 63D 仿真界面5结束语本文利用 LabVIEW Robotics 2011 搭建的机器人模拟控制仿真系统, 具有良好的人机界面, 可操作性强; 具有完善的分析功能, 实现了检测与分析的同步, 数据可视化, 并可根据需要保存数据。该系统不仅可以人工控制机器人的运动, 也能实现机器人自主行走。( 下转第 394 页)163取变换的二维小

27、波系数且系数服从阿尔法分布, 据阿尔法分布特点采用最小平均绝对误差准则的估计器去除超声图像中的噪声, 使得去噪有效性提高到 76 1%, 保证了诊断的准确度达到 88 7%, 满足了临床医疗诊断的性能要求。5结束语提出了阿尔法超声图像去噪方法。通过将超声图像进行分析和小波分解, 发现超声图像的信号具有明显的非高斯特性且二维小波系数服从阿尔法分布, 然后据阿尔法分布特点采用最小平均绝对误差准则的估计器去除超声图像中的噪声。仿真实验表明, 这种方法能够在最大限度保留图像细节特征的基础上有效去除超声图像中的噪声, 保证了较高的去噪有效性和诊断准确度, 具有较高的实际应用价值。参考文献: 1D Gem

28、an,G Reynolds Constrained restoration and the recovery ofdiscontinuities J IEEE Trans Pattern,Analysis and MachineIntelligence 2009, 14( 3) : 367 383 2杨先凤, 游书涛, 彭博, 李艳 医学超声图像 SRAD 模型优化研究J 计算机仿真, 2011, 7: 290 293 3D L Donoho,I M Johnstone Ideal spatial adaptation via waveletshrinkage J Biometric, 201

29、0, 81: 425 455 4丁学君, 邱天爽 a 稳定分布噪声环境下基于神经网络的信号检测方法J 电讯技术, 2005, ( 3) : 131 135 5Ivana Duskunovic,Aleksandra Pizurica Wavelet Based DenoisingTechnique For Ultrasonic Images J IEEE, 2010, 3( 5) : 2662 2665 作者简介乔蕊( 1983 ) , 女( 汉族) , 河南省周口市人, 硕士生, 讲师, 主要研究方向: 计算机控制, 传感器网络;侯燕( 1980 ) , 女( 汉族) , 河南省西华人, 硕士

30、,讲师, 主要研究方向: 计算机仿真。( 上接第 361 页)图 7控制板界面其开发成本远低, 调试方便, 具有广泛的应用前景。利用LabVIEW Robotics 2011 开发出更具有实际应用价值的机器人路径规划和算法。该机器人模拟控制仿真软件, 功能还有待进一步完善。智能控制行走这一算法还偏向于简单, 功能也比较单一, 可靠性还有待于实践的进一步检验和研究。仿真结果表明: 此平台更适合高校的教学和实验室研究, 并可为实际的物理过程提供数据参考和决策建议。参考文献: 1朱墨, 吴国清 基于 LabVIEW 同步控制的数据采集监控仿真平台 J 计算机仿真, 2006, 23( 2) : 17

31、6 179 2黄立, 叶益斌, 张辉 基于 Microsoft Robotics Studio 的机器人运动仿真研究 J 机电工程, 2010, 27( 8) : 122 126 3NI 推出用于机器人控制系统的 LabVIEW Robotics 2009J电子测量技, 2010, ( 2) : 146 147 4黄永志, 陈卫东 两轮移动机器人运动控制系统的设计与实现J 机器人, 2004, ( 1) : 40 44 5吴卫国 非完整性系统( 移动机器人) 反馈控制研究D 上海: 同济大学, 1999 作者简介彭建盛( 1979 ) , 男( 汉族) , 湖南茶陵人, 讲师, 工程师, 博士生, 主要研究领域为: 多机器人协作, 嵌入式开发与应用;李兴( 1966 ) , 男( 汉族) , 北京人, 研究员, 博士生导师, 主要研究领域为多机器人协作, 测控技术;秦志强( 1970 ) , 男( 汉族) , 湖南宁乡人, 高级工程师, 博士后, 主要研究领域为多机器人协作;林义凯( 1988 ) , 男( 汉族) , 广西桂林人, 本科生, 主要研究领域为多机器人协作。493

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报