马卓, 刘舟洲
(西安航空学院 1.人事处,2.计算机学院, 陕西 西安 710077)
六足机器人是用六条腿行走的机械车辆或机器人。由于一个机器人可以在三条或更多条腿上保持静态稳定,六足机器人在运动中有很大的灵活性。任何一条腿变得不正常,机器人仍然能够行走。此外,并不是所有的机器人腿都需要稳定;其他的腿可以自由地到达新的足部位置或操纵有效载荷。由于这些原因,六足机器人近年来已成为一个深入的研究课题,其研究主要集中在步态和运动规划上,目前已达到一定程度的成熟状态。
近年来对六足机器人的研究可分为步态控制研究和算法控制研究。Manoiu-Olaru和Nitulescu[1]分析了六足机器人在克服障碍过程中的步态。Ollervides等[2]和Nitulescu等[3]使用反向运动学进行与六足机器人腿相关的计算;腿控制是通过计算每个关节的长度和角度来获得机器人腿的精确位置。Zarrouk和Fearing[4]研究了一个具有特殊结构的单个电机驱动的六足机器人。
在国外一些学者的研究中,使用超声波传感器测量的距离值被输入到轮式机器人的控制器中。在陈睿等[5]的一项研究中,在机器人的左侧安装了三个红外传感器,在机器人的左侧提供了90°的搜索空间。研究人员Malmros和Erisksson试图通过安装力传感器来平衡六足动物以改进其性能。然而,这种六足动物在最后一刻无法在崎岖的地形上保持平衡[6-7]。
本文设计研究的主要内容是:开发一种能够穿越具有挑战性的地形并能够避开障碍物的六足机器人;使用IoT帮助六足机器人使用高分辨率摄像机导航;使用图像处理来帮助确定六足机器人的路线。
该设计的目的是创造一个安全的工作环境,最大限度地减少人为干扰。六足动物的结构和设计就像一只六条腿的蜘蛛,可以满足本设计的目的。蜘蛛的臂有三个主要部分,与机器人的臂相对应,机器人的臂上有关节,在这些关节上形成一条腿。有三个连杆,和三个关节一样,它们都相互依赖。关节是:股骨、髋和胫骨。这些都是伺服电机连接的启示关节。因此,它包含18个伺服电机,负责控制整个身体的运动和姿态。这是考虑到他们的稳定性和移动性,这对于一个组织来说是非常高和可行的,让它自由移动,基本上它不会对正在进行的工作造成任何干扰。
六足动物结构的设计选择AutoCAD绘制来实现。硬件结构是用玻璃纤维制成的,其具有抗拉强度。该系统使用了Arduino和树莓PI控制器,Arduino将由树莓PI控制器控制。伺服驱动指令的获取将由Arduino UNO控制。该系统使用降压转换器,它从充电电池中增加3 A左右的驱动电流,并为每个伺服系统提供恒定电流。六足动物的运动是这样的,在每一侧只有两条腿(前腿和后腿)在运动,并且一条腿在同一时刻从另一条腿居中,如图1中1、2、3所示。
图1 每条腿的覆盖程度
在图1中,覆盖度为60°,即360°/(6条腿)=60°。伺服电机通过脉宽调制技术进行编程。
PI控制器将连接到热点,热点将负责从任何无线互联网设备(可能是4G设备)获取给定信息。其中,为了安全的目的,PI将被连接到PI摄像机,该摄像机将负责采集任务区域的图像,其数据存储在存储卡中。六足动物的运动将由Arduino通过伺服驱动器控制。如果出现任何不一致,它将立即向用户发送一个中断信号,并通过蜂鸣器向附近的环境发出警报。
该六足机器人是长方形的——有两组腿,每侧三条。每条腿有三个自由度,由髋关节、胫骨和股骨关节上的伺服电机驱动。主要优点是伺服电机有编码器。该六足机器人必须足够坚固,不可以太重,所以车身选用玻璃纤维板和丙烯酸板,可根据需要切割成不同的形状,易于操作。六足机器人的设计包括以下几个模块,树莓PI和Arduino控制器,伺服电机,伺服驱动,高分辨率相机。其中最重要的部件是微控制器。这些整个部分通过微控制器协调成为一个单一的系统。整个系统的框图如图2所示。
图2 系统整体框图
从图2中可以明显看出,Arduino和树莓 PI微控制器在所有传感器(如摄像机)和执行器(如伺服电机)之间进行协调。18个伺服电机响应来自控制器的信号。IP模块用于与机器人进行有效的通信。摄像机有助于避开障碍物,WiFi源用于通过IoT控制机器人。伺服驱动板分别用于控制18个电机。六足机器人的原型[8-9],如图3所示。
图3 六足动物的原型
本文的六足机器人的电子结构将建立在玻璃纤维板上,元件将永久固定在玻璃纤维板上。电子结构的输入信号来自任何可移动网络/笔记本电脑,连接到网络接口模块的无线路由器,网络接口模块将包含一个互联网源,如4G或3G设备,仅用于通信目的。输入信号将被传输到树莓PI。PI将负责控制并向Arduino UNO发出指令(Arduino只是用C/C++语言编程的)。Arduino的PI将在反馈回路中工作,根据执行的动作给出指令和命令。Arduino将负责控制和执行六足机器人的任务,它将通过PCA9685的伺服驱动器控制驾驶座;Arduino将负责伺服电机的速度,并控制MG 995的所有18个伺服电机,所有电机的同步和移动取决于Arduino,它将由脉宽调制技术控制,由Arduino的库,改变角度到所需的输出。
系统中使用的模块有:蓝牙模块HC-05,用于通过无线设备向Arduino发出命令;降压转换器,用于向每个伺服系统提供恒定电压和所需电流;伺服驱动器PCA9685,通过Arduino控制18个伺服电机的运动。
六足机器人的设置是从Lipo电池获得电力开始的,来自电池的电流被馈送到降压转换器,增加了电流数值,以向每个电子设备提供足够的电流。树莓PI通过WiFi的无线信号,通过笔记本电脑通过互联网,从用户/运营商那里获取信息命令,同时在PI上放置一个互联网设备,使其成为物联网。树莓PI负责向Arduino发出命令并执行任何特定的动作,另一方面,PI摄像机连接到PI控制器,通过软件捕获图像并进行图像处理,存储数据并将命令发送给操作员的笔记本电脑。当Arduino接收来自用户的命令,并向伺服驱动器发出命令,伺服驱动器驱动伺服电机,使六足机器人运动起来。如果有干扰信号时,传感器会发出蜂鸣声并向操作员发出信号。如果伺服电机或任何电子元件中有干扰,系统会自动向操作员的笔记本电脑发送一个命令,指示发生了错误。
本系统使用的软件有用于机械结构设计的Auto CAD 2007;Arduino操作系统使用Arduino集成开发环境软件,使用C语言;对于图像处理,软件是OPEN CV;控制器树莓PI是使用Python集成开发环境和OPEN CV。
六足动物的六条腿可以同时移动,六条腿的总自由度为18。每个伺服电机都有不同的位置值。六足机器人的有效载荷取决于其伺服电机的扭矩。六足动物向前运动的形状如图4所示。
图4 六足向前运动的形状
当机器人向前移动时,六条腿中的每一条都记录了一些运动。每条腿的位置图如图5所示。
(a) 腿1
(b) 腿2
(c) 腿3
(d) 腿4
(e) 腿5
(f) 腿6图5 所有6条腿的位置图
从图5中可以明显看出,腿1和腿5几乎不动。腿2和腿3有一些向前的运动。同时,腿4和腿6记录一些向后的运动。
18个伺服电机位置值的前进方向,如表1所示。
表1 伺服电机的位置(SM=伺服电机)(a) 1-6号伺服电机的位置
(b) 7-12号伺服电机的位置
(c) 13-18号伺服电机的位置
以同样的方式;伺服电机的向后、向右和向左方向也非常相似。在表1中,当时间为150 ms时,伺服1位置为1 700,伺服2为1 000,伺服18为2 500。因此,通过改变时间周期,伺服系统的向前、向后、向左和向右方向的运动逐渐改变,因此,机器人是稳定的。伺服位置值因伺服的不同运动而不同。六足机器人的稳定性取决于其伺服电机和伺服支架。
本文设计了一个六足机器人,可以在物联网的帮助下进行远程控制。因此,本研究试图将物联网、机器人学和图像处理这三个不同的工程领域结合起来,开发出一个强大而有效的系统。选择六边形六足机器人只是因为它的灵活性和任务区的要求。