智能拖地机器人,云鲸 NARWAL 随着机器人技术的发展,机器人已应用于工业、军事、医疗、教育及家庭服务等领域。然而受到通用性和成本等因素的制约,人们所期望的机器人在各行各业中的普及未能很好地实现。从理论上而言,机器人是一种可编程的多功能柔性设备,能够通过改变自身的程序来满足不同工作任务的要求,但实际上机器人基本上都是根据特定的任务来开发的,具有固定的结构和功能,并且使用的工作环境也被限制在一定的范围内,无形中增加了使用的成本,阻碍了其在应用领域的推广。
智能拖地机器人,云鲸 NARWAL 解决以上问题的根本方法是改变传统的机器人设计思想。模块化作为一种新的设计方法和思维方式,已广泛应用于产品的研发和设计中。模块化技术应用于机器人领域开始于20世纪80年代,模块化机器人平台由一套具有不同尺寸和性能特征的模块组成,通过这些模块能快速装配出最适用于完成给定任务的机器人。相比传统机器人,模块化机器人具有柔性高、容错性强和自修复能力强、成本低等优点。
本网站官方群 工业工程5000人群号 249148633
目前,国内外众多的科研机构、公司都投入到模块化机器人的研究、设计、制造当中。但现有的模块化机器人平台或多或少存在以下缺陷:
本网站官方群 工业工程5000人群号 249148633
(1)模块类型单一,能够搭建的机器人系统少;
智能拖地机器人,云鲸 NARWAL (2)模块的价格昂贵;
本网站官方群 工业工程5000人群号 249148633
(3)主动模块的输出力矩小,系统的性能不高;
本网站官方群 工业工程5000人群号 249148633
(4)没有完全实现硬件与软件的模块化以及硬件模块与软件模块的对应。
智能拖地机器人,云鲸 NARWAL 笔者所在实验室针对以上缺点,开发了一个新的多用途、低成本的模块化机器人平台。文中主要介绍了模块化机器人平台硬件和软件系统的设计及特定功能机器人系统的构建,并通过实验验证了该模块化设计方法的可行性。
本网站官方群 工业工程5000人群号 249148633
1 系统设计
本网站官方群 工业工程5000人群号 249148633
模块化机器人平台的设计包括3个层次:总体设计、模块设计及模块化产品设计,其中总体设计包括模块分解以及模块连接两个方面。
智能拖地机器人,云鲸 NARWAL 1.1 模块分解
智能拖地机器人,云鲸 NARWAL 根据模块的定义,模块是具有某种确定功能的独立单元。功能是构成模块的依据,也是进行系统分解的依据。模块可以按其物理功能(例如机械、电气、软件)为单元构成,也可按系统的组成结构为单元构成。机器人作为一个复杂的机电系统,涉及机械、电子、控制、软件等领域。因此,以机械结构为依据、其它各种功能模块以机械结构模块为载体参与到系统,是一种理想的模块分解方法。通常,模块化产品的构成模式可用一个简单的公式表达:新产品(系统)=通用模块(不变部分)+专用模块(变动部分)。根据上述依据和思想以及机器人结构的特点,文中将模块化机器人平台分解成关节模块(即通用模块)和功能模块(即专用模块)。模块化机器人平台的系统构架如图1所示。
智能拖地机器人,云鲸 NARWAL 图1 模块化机器人平台构架 关节模块是构建模块化机器人的基础,其设计遵循以下原则:独立性,每个模块都是一个独立的机电系统,包含传动装置、驱动装置、传感系统以及通信接口;完整性,每个模块都可以单独地实现运动控制和力矩控制;可集成性,多个模块可以在上层控制器(上位机)控制下组成特定的分布式系统,协调、有序地实现特定功能。
智能拖地机器人,云鲸 NARWAL 功能模块是为扩展特定系统设计的辅助单元,目前针对不同的机器人系统开发了用于双足步行和轮式移动的足/轮模块、用于爬壁机器人的吸附模块以及用于遥操作的Joystick模块等几个功能模块。
智能拖地机器人,云鲸 NARWAL 1.2 模块连接
智能拖地机器人,云鲸 NARWAL 通常,一个模块化机器人系统是由多个模块组成,因此必须设计各个模块之间的连接方式。模块间的连接又包括两个层面,一个是机械结构层面的连接,另一个是模块间的通信。
智能拖地机器人,云鲸 NARWAL 机械结构的连接采用卡环加定位销的方式,既可以实现模块的快速安装、拆卸(通常安装、拆卸一个模块只需十几秒),又可以保证各个模块之间的安装精度。
智能拖地机器人,云鲸 NARWAL 模块间的通信通过CAN总线方式,通信协议采用CANopen。每个关节模块、吸附模块以及夹持器模块都是总线上的一个节点,都有一个唯一的节点号(1-128)。上位机通过一个USB to CAN转换器与各模块节点通信。
智能拖地机器人,云鲸 NARWAL 2 硬件设计
智能拖地机器人,云鲸 NARWAL 2.1 关节模块
本网站官方群 工业工程5000人群号 249148633
根据模块化设计的一般原则以及模块化机器人的特点,设计了两种关节模块:回转模块和摆动模块。两者都具有一个自由度,机械安装接口相同且可以互相替换。其中回转模块其转轴与模块自身中心轴线重合或平行,称之为I型模块;摆动模块的关节转轴与模块连接轴线垂直,称之为T型模块。
本网站官方群 工业工程5000人群号 249148633
I型模块和T型模块采用直流伺服电机作为驱动装置,电机额定输出功率150W,电机自身带有MR-L 1024编码器,通过PI控制,可以实现精确的位置模式和速度模式控制。电机输出轴经过谐波减速器和内齿轮/锥齿轮(内齿轮用于I型模块,锥齿轮用于T型模块)两级减速后驱动模块的关节轴。这种两级减速方式具有驱动力矩大(I型模块的最大输出扭矩为150N·m,T型模块的最大输出扭矩为120N·m)、结构紧凑轻巧、精度高等优点。
智能拖地机器人,云鲸 NARWAL I型模块和T型模块的零位检测和限位开关采用霍尔传感器。在指定的位置(零点、限位点)安装小的磁钢,通过检测霍尔传感器输出电压的变化可以检测出磁钢的安装位置。霍尔传感器结构轻巧(传感器的大小为1.5mm×3mm×4mm,磁钢的直径为4mm,安装方便,控制简单,非常适合本系统的设计。由于I型模块的转动范围为-180°~+180°,因此只需设计零位装置;T型模块的转动范围为-110°~+110°,因此需要设计零位检测和正、反两个方向的限位开关。
本网站官方群 工业工程5000人群号 249148633
单个I型模块和T型模块的驱动采用Copley公司的Accelnet Micro驱动器,该驱动器不但可以实现驱动功能,还具有运动控制功能,同时结构紧凑,可安装在模块内。
本网站官方群 工业工程5000人群号 249148633
通过对模块化平台近3年的测试、使用,发现I型模块和T型模块在机械结构方面存在一些缺陷,因此对其进行了改进。改进后平台更轻,尺寸更紧凑,安装更方便。T型模块和I型模块的长度分别从原来的250、190mm缩短到238、165mm,质量也从3.5kg降低到2.5kg,改进后的模块实物图如图2所示。
智能拖地机器人,云鲸 NARWAL 图2 改进后的I型模块和T型摸块 2.2 夹持器模块
智能拖地机器人,云鲸 NARWAL 抓取操作是众多机器人具有的能力,因此将夹持器模块设计为模块化平台的一个功能模块,如图3所示。它由两个手指组成,手指由盘式电机,谐波减速器,蜗轮/蜗杆以及四杆机构构成的传动装置驱动其张开和闭合。由于这种传动装置具有较大的减速比,夹持器的最大夹持力可达300N,盘式电机上自带的霜尔传感器可以实现夹持器的速度控制模式,同时,在两个手指的接触面安装了压力传感器(FSR)以实现手指与物体接触时的力控制模式。此外,为了保证夹持器可以夹持不同大小、不同形状的物体,在夹持器手指上设计额V型槽,V型槽可以夹持圆柱形和球体,手指上的平面可以夹持立方体,两者相结合可以夹持更多种类的物体。
智能拖地机器人,云鲸 NARWAL 图3 夹持器模块 2.3 吸附模块
智能拖地机器人,云鲸 NARWAL 吸附模块是从于负压吸附原理设计的,也作为模块化平台的一个功能模块,如图4所示。它主要由3个聚氨酯吸盘、真空泵、压力传感器、两位三通电磁阀、单向阀、支撑架和若干快接插头及气管等组成。3个吸盘呈正三角形布置,可有效增大爬壁机器人的抗倾覆力矩,减少因吸盘变形而带来的爬壁机器人本体倾斜问题。吸附模块内含DSP控制器,响应上位机的指令,通过真空泵和电磁阀的协调动作来实现吸附和脱吸附,并由压力传感器实时检测和返回吸盘内腔的真空度。该吸附模块极限真空度为-75kPa,可产生垂直于被吸附面的约1800N的吸附力。它既可作为爬壁机器人的吸附足,也可作为机械臂的末端执行器。
智能拖地机器人,云鲸 NARWAL
本网站官方群 工业工程5000人群号 249148633
图4 吸附模块
本网站官方群 工业工程5000人群号 249148633
2.4 轮/足模块
本网站官方群 工业工程5000人群号 249148633
轮子广泛应用于轮式移动机器人,此外还可用作一些特殊步行机器人的足部。当被用作足部模块时,轮子的侧面与地面接触,转动轴与地面垂;用于轮式移动机器人的车轮模块由轮子和轮轴组成,轮轴穿过轮子的中心孔,在轴端用垫片和螺母固定,另一端与关节模块通过卡环实现连接和紧固,用于步行机器人的足部模块由轮子、力/力矩传感器以及连接器组成。力/力矩传感器采用ATI MINI45,可同时测量3个方向的力和力矩,进而计算出双足步行时实际的ZMP点,判断出任意时刻步行的稳定性。
智能拖地机器人,云鲸 NARWAL 2.5 遥操作模块
本网站官方群 工业工程5000人群号 249148633
通常,机器人系统在真实环境中完全自主工作仍然是比较困难的,大多数情况下需要人工辅助操作。Joystick遥操作模块可以帮助人们更简单、直观的操控机器人系统。Joystick模块通过USB接口与上位机连接,Joystick上的摇杆及按键可以映射到上位机上的操作指令。Joystick模块选用Cyborg X摇杆,其提供高精度的x轴、y轴、z轴以及11个功能按键,可以方便地实现机器人的位姿控制以及控制指令发送。
本网站官方群 工业工程5000人群号 249148633
3 软件设计
智能拖地机器人,云鲸 NARWAL 由于硬件的可重构设计,不同构形的机器人可以实现不同的功能,因此需要对其进行相应的软件设计。传统的软件设计方法开发周期长,维护成本高,无法满足可重构机器人快速、灵活的特点。采用模块化设计的思想可以很好地解决这一难题。
智能拖地机器人,云鲸 NARWAL 极据“信息隐藏”的原则,复杂的软件系统可以分解为多个独立的模块,这种模块化分解的优点是各个独立的模块可以单独设计和修改,模块的分解应该遵街以下原则:
智能拖地机器人,云鲸 NARWAL (1)各个模块应该功能明确、简单易懂;
智能拖地机器人,云鲸 NARWAL (2)一个模块的修改不影响其它模块(即不改变对外接口)以及自身功能的实现;
智能拖地机器人,云鲸 NARWAL (3)一个模块可以由多个子模块组成;
本网站官方群 工业工程5000人群号 249148633
(4)只需对相关模块进行修改即可实现整体软件的修改。
本网站官方群 工业工程5000人群号 249148633
按照以上原则,整个软件系统可以分成多个模块,当模块的数量较少(小于10个)时,整个软件的架构清晰,便于各个模块的设计和维护;但是当模块的数最较多(大于10个)时,各个模块之间的内在关系错综复杂,给模块的接口设计提出巨大的挑战。同时,维护人员在进行软件维护时,必须先理清软件的构架、增加了软件的维护成本,这与模块化设计的初衷相悖。解决上述问题的有效方法是将整个软件分成一定的层次,每个层次由数量及规模适中的模块组成,这种有适当数量模块的层级结构可以使整个软件构架简单明了。根据整个系统的特点以及软件与硬件之间的接口,将整个软件构架分解成3层,即系统层、功能层及通信层。
本网站官方群 工业工程5000人群号 249148633
系统层是根据机器人系统的特点选择需要的功能模块、再加上该机器人系统特有的算法模块构建的应用模块。系统层中的每个模块对应软件平台上的一个窗口程序,模块化平台软件主界面如图5(a)所示;功能层是构建不同机器人系统软件所需的各种基本模块,其中的单模块是整个软件的核心,对应硬件上的一个关节模块,构建不同的机器人系统,硬件上以关节模块为基本组成单元,软件上以单模块作为基本组成单元,单模块的软件界面如图5(b)所示;通信层的功能是实现各个模块与上位机的通信,即上位机向各个模块发送指令以及各个模块实时向上位机反馈运行状态。
智能拖地机器人,云鲸 NARWAL
智能拖地机器人,云鲸 NARWAL 图5 软件平台界面和单模块界面
本网站官方群 工业工程5000人群号 249148633
3.1 通信模块
智能拖地机器人,云鲸 NARWAL 各个模块之间的通信由CAN总线实现,由于各个节点可能是不同公司的CAN产品,CAN接口会因为硬件参数的不同有差异,为使接口程序可以与不同类型的硬件相兼容,这里首先创建一个抽象CAN接口类,对于特定型号的硬件可以将此抽象类实例化,其它与硬件相关的接口都采用类似的设计方法,以提高软件的健壮性。
本网站官方群 工业工程5000人群号 249148633
3.2 运动学模块
智能拖地机器人,云鲸 NARWAL 对于不同构形的机器人,要完成一定的任务时必须对其进行运动规划,需要进行相关的运动学计算。目前,用该硬件平台搭建的系统都是串联系统,且系统的自由度不超过6,因此,可以使用D-H法进行正运动学和逆运动学的计算,其中正运动学用于系统的仿真以及图像显示,逆运动学用于系统的控制。
本网站官方群 工业工程5000人群号 249148633
3.3 动力学模块
智能拖地机器人,云鲸 NARWAL 对于实现给定任务的特定构形的机器人,例如双足步行机器人、爬杆机器人和爬壁机器人,有时还要考虑系统的动力学效应。根据牛顿-欧拉迭代算法可以实现各个关节之间力和力矩的计算,且该算法具有很高的实时性,本系统的动力学模块在Windows XP系统中,使用VC3.0环境,给定一组关节模块的角度、加速度和角加速度信息,计算关节之间的力和力矩仅需0.83ms。
智能拖地机器人,云鲸 NARWAL 3.4 人机接口
智能拖地机器人,云鲸 NARWAL 人机接口的主要功能是Joystick与上位机控制指令之间的映射。这包括打开Joystick、获取Joystick键值、键值与上位机指令之间的解码以及关闭Joystick操作等。Joystick的输入与机器人位姿的映射是人机接口的核心,对于不同构型的机器人需要在满足操作者习惯的前提下实时进行逆运动学的求解,实现输入与输出的对应。
智能拖地机器人,云鲸 NARWAL 3.5 运动控制模块
智能拖地机器人,云鲸 NARWAL 运动控制模块主要是实现单模块和多模块的点到点运动、连续轨迹运动。点到点的运动采用S曲线加减速和T曲线加减速方法,这些算法都较为成熟。多轴连续轨迹运动(多轴联动)是目前运动控制领域的热点。设计中采用PVT的方法实现单轴的连续轨迹运动,即给定一组位置(P)、终点速度(V)和运动时间(T)值,执行一个运动,确保速度、加速度光滑连续地变化,每段PVT的生成方法是算法的核心。对于多轴联动,采用了比例的方法,即首先选取一个关节轴计算出其PVT并作为基准,分别以其它轴的运动距离和基准轴的运动距离之比为系数计算相应轴的PVT。
智能拖地机器人,云鲸 NARWAL 3.6 机器人系统模块
本网站官方群 工业工程5000人群号 249148633
对于特定功能的机器人,设计了不同的应用模块,目前的应用模块有操作臂模块、轮式移动机器人模块、双足步行机器人模块、爬杆机器人模块以及爬壁机器人模块。这些机器人系统模块都是在基本功能模块的基础上再加上阵对该机器人特有的行为而设计的算法模块。以双足步行机器人系统模块为例,它是从运动学模块、动力学模块、单关节模块、双足步行稳定性模块和步行模式生成模块组成的。
智能拖地机器人,云鲸 NARWAL 4 基于模块化机器人平台的集成
智能拖地机器人,云鲸 NARWAL 使用该模块化平台可以设计出不同类型的模块化机器人系统。目前,笔者所在实验室已通过该平台搭建了以下几种不同的机器人系统,并对部分系统进行了实验。
智能拖地机器人,云鲸 NARWAL 4.1 操作臂
本网站官方群 工业工程5000人群号 249148633
通过I型模块、T型模块、基座以及末端执行器可以构建不同自由度的操作臂,它既可以按预先规划好的轨迹连续运动,又可以通过遥操作实时控制。由于能搭建不同构形的操作臂,因而可以满足各种科研要求。图6(a)为五自由度操作臂画图实验,图6(b)为倒水实验。目前,改进后的系统机械结构精度有了很大的提高,有望应用于工业领域。
智能拖地机器人,云鲸 NARWAL
智能拖地机器人,云鲸 NARWAL 图6 五自由度操作臂
本网站官方群 工业工程5000人群号 249148633
4.2 双足步行机器人
智能拖地机器人,云鲸 NARWAL 仿人机器人是机器人研究的热点,其中,双足步行研究更是仿人机器人研究的重点及难点。针对目前主动式双足步行机器人自由度太多(通常为12个)、被动式双足步行机器人自由度人少,步行能力较差的问题,使用4个T型模块、2个I型模块,1个连接杆以及两个轮子作为足部构建额1个六自由度的双足主动步行机器人。该机器人具独特的步行模式,可以实现扭转、横移、翻转3种步行模式。双足步行机器人的软件界面如图7(a)所示,图7(b)所示为双足步行实验。
智能拖地机器人,云鲸 NARWAL 图7 双足步行机器人 4.3 轮式移动机器人
本网站官方群 工业工程5000人群号 249148633
通过2个I型模块和3个T型模块构建1个轮式移动机器人。相比转统的轮式移动机器人,这种新型的轮式移动机器人具有轮距可变、转弯半径小的特点,图8为轮式移动机器人。
智能拖地机器人,云鲸 NARWAL 图8 轮式移动机器人 4.4 爬杆/壁机器人
智能拖地机器人,云鲸 NARWAL 受猴子、猩猩爬树的启发,构建一种由3个T型模块、2个I型模块以及2个夹持器模块构成的爬杆机器人,可爬杆、爬树、穿梭衍架,在农业、工业和军事领域具有极大的应用前景。爬杆机器人实验如图9(a)所示。此外,通过将吸附模块代替夹持器模块构建了爬壁机器人,可爬墙、爬天花板等,在玻璃幕墙清洗等服务领域具有广泛的应用前景。图9(b)为爬壁机器人实验。
本网站官方群 工业工程5000人群号 249148633
图9 爬杆/壁机器人 5 结语
智能拖地机器人,云鲸 NARWAL 传统机器人往往是针对具体任务设计的,柔性不高,容错能力和自修复能力差,且使用成较高。为克服传统机器人的这些不足,文中采用模块化方法设计了一个模块化机器人平台。使用该模块化平台搭建的工业操作臂、轮式移动机器人、双足步行机器人、爬壁机器人以及爬杆机器人的仿真实验表明,该方法设计的机器人具有柔性高、成本低、容错性强的优点。
本网站官方群 工业工程5000人群号 249148633
本网站官方群 工业工程5000人群号 249148633
|