轮式/四足可变形智能侦察机器人是一款能在较复杂地形环境下行走运动的侦察机器人,它是在轮式运动的车体上增加四足行走机构,通过车体变形达到行走模式转变的目的,该机器人将轮式行走和四足行走两种运动形式相结合,前者适于平坦地面的轮式快速移动,后者适于较复杂地面(如废墟)上的四足行走。同时可通过自行设计的手持遥控器对机器人移动及摄像头云台进行控制,将获得的传感器数据及视频实时传至手持遥控器及上位计算机平台。
1 控制系统的方案设计与实现
1. 1 嵌入式控制系统的设计
针对侦察行动中对环境数据的采集和对机器人运动控制的双重需求,以及对机器人跟随式遥控和计算机监控的要求,设计了一套控制系统,包括:机器人本体控制系统,手持式遥控器,上位计算机平台监控软件。
机器人本体控制系统包括:负责为整机各个部分提供电能的电源系统、负责整机控制的主控制电路、负责所有传感器数据采集的传感器控制电路、控制舵机动作的舵机控制器、控制电机动作的电机控制器、负责同手持遥控器无线通讯的无线模块和拍摄图像的无线摄像头。
手持式遥控器包括:负责遥控器控制的遥控板、负责同机器人及计算机端监控软件通信的无线模块、显示无线摄像头所拍摄头像的显示系统、显示环境数据的LCD及指示灯系统和负责发出命令信息的矩阵式键盘。
上位计算机平台监控软件包括: 机器人运动姿态的显示、遥控器所传回数据的显示、机器人各参数的在线设置、对机器人环境进行监控的报警系统和与手持遥控器交换信息等功能。
1.2 嵌入式控制系统
嵌入式控制系统主要分三部分:安装于机器人体内的机器人本体控制系统、手持式遥控器和上位计算机平台监控软件。
机器人本体控制系统
1. 主控制电路是整个机器人本体系统的核心,负责传感器数据的接收,转发及分析,遥控命令的执行,直接控制机器人的运动姿态。
2. 传感器控制电路、电机控制电路及舵机控制器的串口都与主控制电路的串口相连,通过自行设计的串口通信方向控制电路,主控制电路可以与各个控制电路分时通讯。
3. 电机控制电路和舵机控制器受主控制电路直接控制。
4. 传感器控制电路循环扫描环境数据,将数据按照通信协议传给主控制电路,主控制电路将数据通过无线模块转发给手持遥控器,同时进行数据的分析。
5. 无线摄像头将所摄图像直接传至手持遥控器上的接收机。
手持式遥控器
1. 遥控器电路是整个遥控系统的核心,负责从机器人处接收数据并显示至LCD,同时将数据分析处理后转发至计算机端监控软件。
2. 无线图像接收机将接收到的图像显示在液晶屏上。
3. 通过矩阵键盘,可以对机器人运动模式进行设置或下达行动命令,也可与计算机端软件进行通信。
上位计算机平台监控软件
1. 机器人姿态显示窗口,显示机器人当前的运动状态,是以轮式运动,还是以四足行走。
2. 传感器数据显示窗口,显示各个传感器当前数据。
3. 报警系统,可对机器人各个方面进行监控,及时发出警报。可对预警值进行设置。
4. 通信窗口,可与手持遥控器进行信息交换。
2 机器人本体说明
2. 1 运动机构的创新性说明
本课题研究的轮式/四足可变形复合式移动机器人从结构上讲是一种新的设计结构概念和创新,它可以更好的把两种单一运动方式的移动机器人的优点相结合, 达到更佳的工作效率和实用价值。
首先,引用中心对称结构设计:变为四足式形态时,机器人转向任何方向后不影响运动方式, 依然可以前后左右进行相同运动;变为轮式形态时,前后对称。
其次, 各个关节相互独立,可单独控制。
第三, 利用增加的自由度,可实现更好的姿态控制。例如,轮式形态时,配合变形结构可实现改变重心高度,倾斜机身,左、右转弯;四足形态时可实现高重心行走和低重心行走。
第四,利用机器人可转动的支撑底盘,可实现摄像头的左右转动及机器人的原地转身。
复合式移动机器人在秉承了多种移动机器人的优点的同时, 充分考虑到运动环境的影响, 对于不同的运动环境采用不同的运动方式, 以不同的运动方式各自的优势来应对环境。可以根据周围环境的变化随时调整运动姿态,达到提高的运动效率的目的。例如同样是轮式运动,但可以调整机器人重心的高低和左右偏移。如在宽阔平坦的路上以轮式运动方式, 在狭缝中可以采用低重心的轮式运动,当路面不平整时可以改为四足行走。
也可根据侦查任务需要调整机器人的高低,进而调整机身上摄像头的视线范围。例如,废墟中有人困于一块墙体下,机器人可身体放低,就可用摄像头观察废墟中的情况。
2.2 运动模式说明
整机自由度为17。
不同于一般四足机器人的单腿3自由度,本机器人单腿自由度为4,精确调整舵机动作可更好地控制机器人姿态,可原地转向。
机器人底部支撑底盘自由度为1。
四足式运动方式主要用于不适合轮式移动的崎岖路面。本机器人四足式运动采用静态步行方式:即在任一时刻至少有3 条腿与地面接触,用于支撑机器人本体,且保证机器人重心落在三足支撑点构成的三角形区域内。
位于机器人中心有一个支撑底盘,自由度为1,可以接触地面支撑整个机器人的重量,使得四条机械腿可以离开地面,进而控制整个机器人的原地转向。
轮式运动方式应用于较平坦地面的快速移动。通常采用上图所示姿态的四轮驱动方式运行:将脚掌转向机身外侧,膝关节收紧,旋转二号臀关节使膝关节驱动轮接触地面,并支撑起来(如下图),可用轮式在平面内自由运动。轮式运动通过控制驱动轮转速来实现机体的速度控制;一号臀关节及二号臀关节可以调整驱动轮之间相对位置,进而控制行驶的位置和方向。同时利用PWM调速,可实现简单的差速驱动。
2. 3 机器人结构部件说明
不锈钢部件
机器人结构零件用型号304不锈钢激光切割后,用弯折机弯折而成。(附有部分结构零件工程图纸及部分机器人分解图)
舵机
本机器人采用的舵机产品型号为TOWERPRO MG995及9805MG,金属齿轮,采用6伏电压供电,力矩分别为13kg.cm和25kg.cm。
MG995安装于一号臀关节、脚掌关节及支撑底盘。
9805MG安装于二号臀关节及膝关节。
直流电机
本作品采用的直流电机调速性能好,起动力矩大,采用降电压起动。即由单独的可调压直流电源对电机电枢供电,结合PWM、既可使电机平滑起动,又能实现调速。
2. 4 嵌入式控制系统
系统整体功能说明
如下图为本系统的原理组成框图,主要由主控制电路、串口方向选择电路、传感器控制电路、超声波模块控制电路、电源电路、电机控制电路、以及辅助电路组成。其中主控制电路、传感器控制电路和电机控制电路主要由MCU及时序电路组成,负责相应电路的时序控制、通信控制和数据处理;而串口方向选择电路、超声波模块控制电路主要由组合逻辑电路组成,为系统提供高速的通信线路配置服务。电源电路则包含整个系统的电源供电接口,以及无线数传模块的3.3V供电电源。辅助电路则为系统提供一些辅助性服务,比如复位、指示灯等。
(附有整体系统PCB图)
串口通信方向选择电路
本系统使用多个单片机进行协作的,各MCU各司其责,需要相互通信。一般情况下单片机系统的通信可以使用传统单片机多机通信协议来实现的,但是本系统涉及到要与舵机控制器进行通信的问题。舵机控制器负责控制机器人执行动作,也通过串口与控制系统进行通信。单片机通过串口向舵机控制器发送动作指令,舵机就会执行相应的动作。如果还是使用传统的多机通信协议,由于舵机控制器无法识别协议,将会导致舵机执行错误的动作。
因此有必要设计一个串口通信方向选择电路,由主控MCU来进行通信方向选择,保证系统不发生错误动作,而且设计增加一个这样的电路有利于波特率不同的子系统之间进行通信。
(1)RXD选择电路
RXD是单片机串口的数据接收端,这里特指主控制MCU的串口接收端。由于其通信方向是固定的,因此可以使用数据选择器实现电路功能。本电路使用四选一数据选择器74HC153实现数据选择功能。被选择的数据为子系统MCU的串口数据发送端TXDn。当子系统要求发生通信时,先申请,再由主控制MCU建立连接后便可进行通信。
(2)TXD分配电路
TXD是单片机串口的数据发送端,这里特指主控制MCU的串口数据发送端。由于其数据传输方向是固定的,因此可以使用数据分配器实现其功能。本系统是使用2-4数据分配器/译码器74HC139实现数据分配功能。其数据输入端为使能端E,当E为高电平时,芯片的输出端为高电平,当E变为低电平时,被选中的输出端变为低电平,从而实现数据分配功能。被分配的数据的目的端口就是子系统MCU的串口数据接收端RXDn。当子系统要求发生通信时,先申请,再由主控制MCU建立连接后便可进行通信。
主控制电路
主控制电路是机器人本体控制系统的核心,主要负责舵机控制、命令下达、数据处理、全局控制、通信控制等,是整个系统的控制中心。负责接收传感器传回数据及接受遥控器的命令,可对舵机控制器、电机控制器直接下达命令。(后附有主控制电路部分核心代码)
通信部分
主控要和数据采集模块,舵机控制器,无线数传模块进行通信,其过程为不断从数据采集模块获得环境采集数据,进行相应的判断,针对分析结果发送相应的控制命令,同时控制无线数传模块把相关信息发给遥控器和计算机端软件。
数据分析部分
这一部分主要体现在程序设计上,通过分析障碍物和机器人的距离判断是否遇到了台阶等的障碍物,另一方面对温度数据进行比较判断是否进入了异常的环境。
传感器控制电路
传感器控制电路是机器人的感知系统,是直接对传感器进行操作并获取相关数据的电路。电路由STC89C58组成控制元件,负责时序控制、数据获取、与其他电路交换信息,并负责部分数据处理任务。与MCU直接相连的芯片为ADC0809,它是光线传感电路的核心元件,负责光强数据的采集。它也控制着超声波选择电路(第27页有详细说明)。
电机控制电路
电机控制电路负责驱动电机的速度控制及数据通信。其作用为产生PWM信号控制电机控制器,进而控制电机的转速。该电路的核心元件为STC14C5410,该芯片具有四路PWM输出可以对机器人的四个驱动轮进行差速控制。其内置的AD转换模块也可应用到相关电路中,方便拓展更多功能,例如对驱动轮进行测速等。
其他电路
包括电源接口、无线数传模块稳压电源电路及接口电路、滤波电容、蜂鸣器控制电路、指示灯电路、复位电路等。这些电路能对系统电路的工作提供必要的辅助。
舵机控制器
此舵机控制器是整个机器人动作控制的核心部件,是本机器人实现对复杂地形适应能力的基础。
本机器人利用了舵机控制器的17路输出来控制机器人各个关节。
数模转换模块
本机器人利用此模块实现了对5个光敏电阻的数据转换。
ADC0809 是带有8位A/D 转换器、8 路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。它是逐次逼近式A/D 转换器,可以和单片机直接接口。
在转换期间,ST 应保持低电平。EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换。OE 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。CLK 为时钟输入信号线。因ADC0809 的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。
光强传感器
本机器人使用光敏电阻检测环境中的光强,通过ADC0809转换为数字信号进行相关的处理和控制,其中光敏电阻和AD的连接电路如下图所示。
器件简介:光敏电阻是根据半导体的光电导效应制成的。它所用的材料主要有:硒、硫化镉、硫化铝、硫化铋、硒化镉、硒化锌、砷化镓、硅等。其中对可见光敏感的硫化镉光敏电阻是最有代表性的一种。光敏电阻在使用时,可以加直流偏压,也可以加交流偏压,它的电流随电压呈线性变化。光敏电阻在无光照时,其暗阻值一般大于1500 kΩ ,在有光照时,其亮阻值为几千欧,两者相差大。
温度传感器 DS18B20
本机器人采用一共5个温度传感器进行对机器人自身温度和环境温度的测量。
简介:此处使用度传感器是DS18B20数字温度计,它是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以连接多个数字温度计,十分方便。
本机器人利用了DS18B20产品的如下特点:
(1)用一个端口即可实现通信。
(2)每个DS18B20中都有独一无二的序列号。
(3)实际应用中不需要外围电路即可实现测温。
超声波测距系统
超声波模块
采用压电脉冲反射式超声波收发器。
超声波模块控制电路
一个超声波模块要占用两位IO口,而本系统所使用的超声波模块的数量达到16个,因为超声波模块无使能端,无法复用端口,若模块直接与单片机相连,将会占用单片机32位I/O口,且这些I/O将无法和其他部件共用。为了节约端口资源,提高MCU资源的利用率,必须设计添加超声波模块控制电路。
(1)TX端口分配电路
TX是单片机向超声波模块发送信号的端口,其数据方向是固定的,因此可以使用数据分配器来实现电路功能。TX端口分配电路的原理图如图1的下半部分所示。其核心元件是3-8译码器74HC138,由两片74HC138组成4-16数据分配器。
由于74HC138的输出端口在没有选通的情况下是输出高电平的,这样会造成超声波模块误触发,不断地发送超声波干扰正在工作的模块,因此要在74HC138的输出端接上非门。74HC138的输入数据是从使能端OE1输入的,这是为了保证数据相位的正确,当OE1为高电平时,芯片上被选择的输出端变为低电平,对应的非门就会输出高电平;当OE1为低电平时,芯片的输出端变为高电平,对应非门变为低电平,这就实现了数据分配功能。非门U1A输入端为地址端的最高位A4,通过这个非门对两个芯片的使能端OE2A和OE2B的控制,就可以把两片3-8数据分配器组合成4-16数据分配器。
(2)RX端口选择电路
RX是超声波向单片机发送数据的端口,其数据传输方向是固定的,因此可以用数据选择器来实现电路功能。RX端口选择电路的原理图如图1的上半部分所示。其核心元件是8选1数据选择器74HC151,由两片74HC151组成16选1数据选择器。
非门U1A输入端为地址端的最高位A4,通过这个非门对两个芯片的使能端STB的控制,就可以把两片8选1数据选择器组合成16选1数据选择器。为了避免逻辑错误,两片8选1数据选择器的输出端需使用或门来进行端口合并。
软件控制系统
硬件系统必须配上适当的控制软件系统才能正常工作。对本功能电路进行控制的程序使用C语言编写,统一放在头文件中,其接口函数为:
unsigned char readdis(unsigned char n);
这个函数的返回值就是以厘米为单位的整数距离值,这个值的最大值为255cm,已经能满足系统的需要。入口参数n为指定超声波模块的序号,函数将会根据序号给出硬件地址并进行距离测量。该超声波控制程序具有防卡死功能,当测量距离超出范围或没有返射信号时,函数可以自动结束等待并返回最大值255cm。
无线数传模块
NRF24L01P+PA+LNA无线数传模块工作于免许可证的2.4G ISM频段,可以点对点或组成星型网络,此模块的核心为挪威NORDIC公司的最新的高性能无线数传芯片NRF24L01+,外围辅助以大功率PA和LNA芯片,射频开关,带通滤波器.
本作品使用的51内核的STC89C58单片机不具备SPI硬件接口,所以用了一组I/O口实现了模拟SPI协议。
无线摄像头
摄像头安装位置为机器人底部的支撑底盘(云台)上,可上下调整或随底盘左右旋转,具备更好的视野。
本机器人使用彩色 CMOS无线摄像头,可同时承载音频信号,在救灾中达到更好的效果。
2.5 手持式遥控器模块说明
手持式遥控器整体功能
本遥控器是连接机器人本体系统与计算机监控软件的中间节点,起到了信息转发的作用。其主要功能是显示机器人所摄实时图像,显示机器人周边环境数据,以及遥控机器人的各种动作。
遥控器接收机器人发出的环境数据后,进行分析并判断机器人目前所处的环境以及是否有特殊事件,比如前进途中有沟壑障碍或环境温度过高等,然后将环境数据及分析结果同时显示在液晶屏上,供操作者参考,操作者可以按下不同的按键发送具体指令,完成相应的动作。
7寸彩色液晶屏
与无线摄像头的手动谐调接收器相连,显示机器人所摄图像。(后附实物图及主要参数)
矩阵键盘
键盘的功能是供操作者发送指令或设计机器人运动模式,如前进,后退,变形等。
分为两部分:1)机器人模式设置键, 可对机器人运动模式进行设置;2)机器人运动控制键,可对机器人前进后退等运动进行控制。
蓝牙模块
蓝牙模块是手持遥控器和计算机的连接纽带,通过蓝牙将采集的数据等发送到计算机端监控软件,计算机端监控软件可以发送简单的文字信息到手持遥控器
液晶显示模块
其主要工作是显示环境数据和与计算机端监控软件交换的信息。
2.4上位计算机平台监控软件说明
监控软件是救灾指挥中心所使用的,其可以对机器人进行简单的监测,有报警功能,可同手持遥控器进行通讯。是对手持遥控器的补充。
第十二届“挑战杯”作品 三等奖
2010年在学校某科技竞赛中获得校“特等奖”。
2011年第八届“挑战杯”陕西省大学生课外学术科技作品竞赛获得“特等奖”。