首页 理论教育 大学生科技竞赛获奖作品解析:机械机电控制技术

大学生科技竞赛获奖作品解析:机械机电控制技术

时间:2023-10-02 理论教育 版权反馈
【摘要】:下位机驱动模块完成移动机器人的运动轨迹控制。图2-33 CAN总线的运动体系控制原理图在项目初始阶段,搜救机器人的运动控制主要由操作者控制完成,操作者由PC发出指令,指令通过通信接口传输至下位机,由CAN总线统筹负责信号的传递,控制驱动器完成运动。

大学生科技竞赛获奖作品解析:机械机电控制技术

1.控制系统综述

针对不同任务和作业需要,新型特种搜救机器人有时需要快速通过危险区,有时需要攀爬越障,有时需要低速巡航,因而必须研究其在不同作业环境中的运动控制技术,包括多电动机协调控制技术、电动机功率调节技术、运动方式切换等技术的研究。

为使新型特种搜救机器人体现出较强的协作性,能够高效完成任务,采用基于目标任务的分层递阶控制体系结构作为新型搜救机器人的控制体系结构,如图2-31所示。该体系结构以任务为目标,以协调合作为核心,以无线通信为纽带,主要包括:决策层、通信层、协调层和执行层。决策层使机器人系统具有一定程度的自主性,可将外部环境变化或操作者指令所引起的系统内部响应经过分析和判断,形成对整个机器人系统的控制决策;通信层主要负责实施实时、高效、无差错地与控制中心进行通信。协调层是对所执行任务进行分解,并对任务执行情况进行反馈。执行层通过驱动各个执行部件来实现机器人的运动和动作,从而准确高效地完成任务。

978-7-111-43440-5-Chapter02-36.jpg

图2-31 基于目标任务的分层递阶控制体系结构

控制系统各个部分有其独立的功能,但又相互协调,相互联系,在总线的控制下,有机地结合成一个整体。其中决策层起着中枢的作用,将各个部分统一调度,共同完成搜救机器人的行为动作。该系统由无线通信模块、视频采集模块、电动机驱动模块、PC104控制平台及远程PC监控平台五个部分组成,如图2-32所示。上位机负责实现人机交互,实时显示机器人的工作状态及其环境视频信息,并根据所得信息按一定算法形成运动控制指令。同时通过良好的用户操作界面,用户可以实时发布控制指令。无线通信模块负责上位机与下位机的交流通信。下位机一方面把自身信息传输给上位机,另一方面接收上位机的指示,加以解码、分析,并结合相应环境,协调控制各驱动器工作,顺利完成任务。下位机的摄像头模块采集现场的图像,通过无线局域网传送至上位机。下位机驱动模块完成移动机器人的运动轨迹控制。

2.控制系统决策层

搜救机器人的决策层采用自主与半自主相结合的控制方法,可根据具体的环境采取不同的控制方式。自主控制是指机器人可根据采集到的当前环境的各种参数来合理协调本身的动作行为,而整个过程不需要人的参与。半自主控制是指在某些特殊情况下,操作者通过上位机发出指令来控制机器人,完成部分功能的控制方式,使之能够高效、快速、精确地执行任务。决策层的控制是通过上位机来实现的,采用VC++编程的方法,通过MFC建立一个人机交互界面,这样便于操作者发出各种指令参数来指导机器人的行为。而在自主控制中,机器人通过视频、声音采集等方式获取到当前环境的各种参数,传送给上位机。上位机可将外部环境变化所引起的系统内部响应经过分析和判断,形成对整个机器人系统的控制决策,再来控制机器人的运动。

978-7-111-43440-5-Chapter02-37.jpg

图2-32 各控制层的具体执行框图

3.控制系统通信层

在设计制作搜救机器人控制系统的过程中,首先遇到的问题是底层网络的选择,在工业控制系统中,现场I/O设备之间的数据传输方式主要有基于RS-232c总线通信、基于RS-442A总线通信、基于RS-485总线通信及基于现场总线通信。

RS-485与RS-232总线技术存在缺陷,在工业、企业底层网络中应用现场总线来构建开放式、数字化的多点通信已成为必然,由相关技术资料及国内外现场总线的应用来看,在底层网络中应用比较多的是Profibus、Lonworks、CAN这几种现场总线。在多轴运动控制系统中,通过对上述几种总线的比较,决定采用CAN总线技术来实现控制系统通信网络模型,主要从下面几个方面进行考虑:①首先CAN总线采用短帧结构,数据传输的时间短,受干扰概率低,并且CAN有良好的检错措施,可靠性高,避免了花型数据传输过程中出现一位或多位数据错误,导致偏差,CAN协议对通信数据块进行编码的方法,可是不同的节点同时收到相同的数据,可以实现点对点通信,增加了系统组网的灵活性,CAN采用基于优先级的非破坏性位仲裁方式保证了系统不会由于产生总线堵塞而产生崩溃,保证了网络的实时性和可靠性;②另外CAN总线既可构成单主网络又可构成多主网络,任何节点都可主动向网上发送数据,通信方式十分灵活;③其次是从硬件及软件开销上考虑,Lonworks,Profibus标准的通用性使得在采用厂家现成的设备组网较为方便,但通用性好必然导致通信协议更加复杂,系统软件设计的复杂性导致软件开销的增加,CAN总线相对来说,通信协议比较简单,开发技术比较成熟,软件工作量小而容易实现,性能上也未必比其他几种现场总线差。④最后从可靠性的角度考虑,在整个系统的运行过程中,不希望由于某个节点的故障而导致整个系统的瘫痪,在节点回复后能自动连上,因此任何节点的损坏都不会导致整个系统的通信崩溃,综合所述,CAN总线是最适合多轴运动控制系统的底数据通信方式。

在搜救机器人中,一共用到六个电动机,用CAN总线与六个电动机的驱动器连接,将之设置为节点,这样节省了串口的个数,使通信更为高效和节省空间和导线。CAN总线的运动体系控制原理图如图2-33所示。

978-7-111-43440-5-Chapter02-38.jpg

图2-33 CAN总线的运动体系控制原理图

在项目初始阶段,搜救机器人的运动控制主要由操作者控制完成,操作者由PC发出指令,指令通过通信接口传输至下位机,由CAN总线统筹负责信号的传递,控制驱动器完成运动。

随着运动数据的不断丰富,操作者将越来越少地参与搜救机器人的运动过程控制,大部分动作将由下位机自动操作控制完成,具体的实现步骤是:通过视频采集部分发送回的图像,操作者控制搜救机器人的下一步动作,爬坡、越障或是继续直线行走。爬坡时,下位机会根据指令控制摆臂电动机旋转,传感器会及时传回摆臂电动机与地面接触处的压力变化值,传至下位机,下位机会从以往摆臂的压力变化数据库中,与这时传回的数据进行比较,自动判断摆臂处是否已经摆至正确位置,如果是,则摆臂电动机停转,改为直线运动电动机运动;如果不是,则摆臂电动机继续摆动,直至摆臂到达合适的位置。

4.控制系统协调层

协调层是指下位机通过接受指令,对各种反馈进行处理协调,同时统一支配机器人的行为。下位机的硬件实现:PC104控制平台选用Intel基于PC104-PLUS的奔腾嵌入式处理CPU-1461。它最高主频达800MHz,片内配备256MB的SDRAM,1MB的FLASH EPROM,支持PCI和ISA总线。在系统设计中配置2GB的内存。为便于调试,外挂以太网接口和两个USB接口。为接受超声波传感器信息,设有一个RS232标准串口。系统采用CAN总线形式实现各电动机的控制,因此设有CAN总线接口。系统运行WinCE操作系统。

系统中采用PC/104总线方式,PC/104是一种专门为嵌入式控制而定义的工业控制总线。之所以采用此总线标准主要基于以下考虑:由于特种搜救机器人工作在非结构环境下,对环境的适应要求比较高,体积必须尽可能小,这就要求控制系统必须压缩体积,PC/104总线接口具有以下三个特点:①结构尺寸小,标准模块的机械尺寸是3.6in×3.8in;②堆栈式连接,PC/104总线模块之间的连接是通过上层与下层的孔相互紧密连接,这种层叠式分装有极好的抗震性;③减少元件数目与电源消耗。

下位机操作系统采用WinCE,WinCE是一个简洁、高效率的多平台操作系统。内部采用精简的RISC指令集。它是从整体上为有限资源的平台设计的线程、完整优先级、多任务的操作系统。

5.控制系统执行层

控制系统的执行层主要的硬件支持有驱动器和电动机。控制原理为:驱动器通过接收分析各种指令来对电动机进行驱动,同时,电动机编码器对电动机转速进行检测并反馈给驱动器,形成半闭环的控制,使控制精度更高、更准确。

在电动机选择问题上,考虑到机器人执行任务过程中有越障、躲避风险、快速通过等行为上的要求,项目组结合通过动力学分析软件ADAMS建立机器人机械系统的运动学和动力学模型分析出来的各种动力学数据,认为电动机的选择必须能满足机器人的运动条件,为其提供强大的动力支持。因此,在现有产品中进行比较后,最终选择瑞士maxon公司的电动机,其中驱动电动机为maxon DC motor RE40 φ40(石墨电刷,150W),摆臂电动机为maxon DC motor RE35 φ35(石墨电刷,90W)。maxon电动机应用到机器人系统上有以下优势:

1)采用有刷电动机,省去了霍尔元件,这样在驱动器制板上将节省了接口,并减小了体积。

2)maxon电动机运行稳定,提供较大的转矩与转速,能给搜救机器人提供强大的动力支持。

3)maxon有良好的伺服性能,控制精确、快速。(www.xing528.com)

在驱动器的选择上,选用了以色列ELMO驱动器,具体型号为WHISTLE-WHI—20/60。此系列ELMO驱动器能稳定提供最高持续电流为20A,最高持续电压为60V,能够发挥maxon电动机的最高性能。

控制系统框架图如图2-34所示。

978-7-111-43440-5-Chapter02-39.jpg

图2-34 控制系统框架图

6.控制系统的软件实现

本系统采用C/S软件体系结构,客户端为上位机,负责人机交互和对下位机的控制。下位机作为服务器端实时接受上位机的指示,并完成相应任务,同时不断向上位机报告自身工作状态。上位机与下位机的分工如图2-35所示。

978-7-111-43440-5-Chapter02-40.jpg

图2-35 上位机与下位机的分工

客户端采用Visual C++6.0开发环境,利用MFC框架编制应用程序。客户端软件采用前后台结构。前台负责人机交互,后台负责与服务器端的通信、数据交互、信息融合和路径规划。

利用MFC可以方便地编制良好的可视化操作界面,实现良好的人机交流。一方面,在前台提供视频窗口,实时显示下位机的工作环境信息,同时显示下位机自身工作状态,为用户操作系统提供依据。另一方面,前台提供操作界面,方便客户对机器人的控制。操作界面分为三大部分:第一部分为摄像头控制,可以控制摄像头转向、调焦等;第二部分为机动控制,控制机器人在一般路况下的运动状态,包括运动速度、方向、行程等;第三部分为越障控制,控制机器人在复杂路况下的运动,包括各种越障方式的选择等。

路径规划子线程实现路径规划,极大地提高了机器人的智能。它负责对通信模块采集的信息进行处理加工,通过一定的算法,提供运动控制指令。

运动控制模块分为运动方向控制和运动速度控制。当机器人进行搜救任务过程中,在距离遇难者较远的位置时,主要是通过CCD摄像头进行视觉的捕捉及方向的控制。机器人的运动速度是通过它的视觉系统对外界进行不断的采集,并把采集到的图像信息传送到上位机进行决策、控制,从而控制电动机的转速和转角。可知,当障碍物的图像较小时,表示机器人离障碍物的距离较远(在机器人的超声波传感器能够检测到的距离范围外),越障机器人采用全速行驶(即行驶电动机的最大转速);当障碍物的图像较大,表示机器人离障碍物已经很近(在机器人的超声波传感器能够检测到的范围内),此时,机器人减速并最终停止运动。

经反复的实验可知,在执行特种任务的越障机器人遇到的障碍物通常可分为:前方障碍物、单侧障碍物、两侧障碍物。当机器人遇到前方障碍物时,机器人必须根据规划的目标位置选择一个避开方向,并且不断融合各个传感器的信息判定是否已避开或绕开障碍物。当机器人遇到单侧障碍物时,机器人必须沿某一特定的方向转弯避开。当机器人遇到两侧障碍物时,机器人只能在两侧障碍物的中间通过,并且要判断出宽度是否够机器人通过。如果不能,按第一种障碍物类型对待,继续判断。避障子系统的程序流程图如图2-36所示。

978-7-111-43440-5-Chapter02-41.jpg

图2-36 避障子系统的程序流程图

搜救机器人同时也具有优良的越障能力,它的越障子程序流程图如图2-37所示。当机器人距障碍物较远时,控制方法和避障的程序相同;当机器人距障碍物较近时(在机器人的超声传感器能够检测到的范围内),判断障碍物高度,如果障碍物的高度低于0.45m,可知障碍物可以越过,此时继续判断障碍物高度是否低于0.15m,如果低于,采用越障程序1(翻爬越障法)同时发送控制指令至协调级控制层,否则采用越障程序2(挺身越障法并使后摆臂支起)同时发送控制指令至协调级控制层,如果障碍物的高度高于0.45m,表明障碍物不可越过,机器人后退,采用避障子程序。在调用每个越障子程序的过程后,都要判断机器人是否越过障碍物,如果越过,则结束越障动作;如果没有,则机器人后退,调用避障子程序。

978-7-111-43440-5-Chapter02-42.jpg

图2-37 越障子程序流程图

服务端主要完成两个任务,一方面实时的把自身信息,包括超声波传感器探测的距离,自身运动的速度和行程发送给客户端。另一方面,接受客户端的指令,加以解码,协调控制各电动机完成任务。

服务端也采用Visual C++编程,利用面向对象的思想,采用多线程技术加以实现。程序分为三大线程:监视子线程、通信子线程、执行子线程。通信子线程负责实现上下位机的通信。监视子线程就负责监视机器人的工作状态和上位机的操作指令,只要有异常操作发生,监视子线程就进行应急处理。比如,若工作在机动状态,超声波传感器测得与障碍物距离为L,自身运动速度为v,而机器人执行指令的响应时间为T,则L/v接近T时,若上位机还没发送指令,监视子线程则强行停止机器人的运动,并向上位机发送警告,使机器人进入待命状态。在越障工作状态中,监视子线程时刻监视机器人的动作,当负载过大有可能烧坏电动机时,便进入应急处理状态。图2-38为监视子程序的流程图。

978-7-111-43440-5-Chapter02-43.jpg

图2-38 监视子程序的流程图

执行子线程负责对通信子线程解码的指令进行执行。采用面向对象的编程思想,程序设计如下:

建立了四大类:工作状态类(WorkStatus)、机动类(JiDong)、越障类(YueZhang)、摄像头类(ShexiangTou)。工作状态类负责封装当前机器人工作状态,包括运动总体状态(机动,越障)、运动速度、电动机工作状态、机器人越障姿态,供其他线程和类进行查询;机动类封装了机器人在机动状态下的各种操作,包括运动方向控制、速度控制;越障类封装了各种越障姿态的实现;摄像头类封装了对摄像头的各种操作。

通信子线程获得上位机指令后,对指令进行解码,然后向执行子线程发送消息。执行子线程根据消息调动相应的类完成任务。模块间的接口示意图如图2-39所示。

978-7-111-43440-5-Chapter02-44.jpg

图2-39 模块间的接口示意图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈