于 惠, 王晓飞, 卢 凯
(北京信息科技大学 仪器科学与光电工程学院, 北京 100192)
空间站移动机器人无线控制系统设计
于 惠, 王晓飞, 卢 凯
(北京信息科技大学 仪器科学与光电工程学院, 北京 100192)
针对空间站移动机器人的工作特点、环境以及增强移动机器人应对突发问题的能力,设计了一种移动机器人无线控制系统。该系统主要包括PC上位机、无线收发模块、下位单片机、双目立体摄像机、超声测距传感器、电机驱动器。该控制系统基于上下位机的集成模式,下位机负责Bumblebee2双目立体摄像机和超声测距传感器信息采集、指令接收、功能执行等;上位机负责数据显示与存储、指令发送等。上下位机之间采用串口通信方式,利用无线收发模块可以方便地实现PC机与移动机器人之间的通信,从而实现对移动机器人的实时无线控制。
移动机器人; 双目立体摄像机; 无线控制; 串口通信
移动机器人在各行业及研究领域有着广泛的应用前景,是替代人在危险、恶劣环境下作业必不可少的工具,可以辅助完成人类无法完成的作业[1]。本文研究的是应用于空间站的移动机器人,目的是减少宇航员的工作量,从而降低成本。而在空间站这一特殊环境中,移动机器人处理突发事件的能力就显得尤为不足,所以移动机器人控制系统的设计就成为研究的关键[2]。考虑到开发经济性、复杂度等问题,本文控制系统采用上下位机的集成模式。下位机负责信息采集、接收指令、功能执行等;上位机负责数据显示与存储、指令发送等。上下位机之间采用串口通信方式,从而实现对移动机器人的实时无线控制[3]。
移动机器人控制系统总体框图如图1所示。系统主要由PC上位机、无线收发模块、下位单片机、双目立体摄像机、超声测距传感器、电机驱动器等组成。
图1 移动机器人控制系统总体框图
系统采用Navigator Q2机器人为控制平台,以STM32F407单片机为控制器。首先STM32F407单片机接收Bumblebee双目立体摄像机和超声测距传感器采集的信息并进行处理。信息经无线收发模块发送到上位机,使上位机能够了解移动机器人的现场信息。上位机根据移动机器人的现场信息编排任务,通过上位机的人机交互界面和手势发送控制指令,进而控制移动机器人的运动。通过无线收发模块将任务发送给移动机器人控制器,由控制器读取并解析收到的指令,同时通过串口把收到的控制指令发送给电机驱动器,进而对电机进行控制,使移动机器人完成指定的动作。手势发送控制指令是由位于移动机器人上的摄像机读取手势并发送到单片机,单片机处理并识别手势后,把指令信息发送给电机驱动器,进而控制移动机器人的运动[4]。
移动机器人硬件主要包括移动机器人平台、传感器、无线收发模块等。移动机器人控制系统实物图如图2所示。
2.1 传感器
2.1.1 双目立体摄像机
移动机器人采用Bumblebee2双目立体摄像机,可以实时获取场景的深度信息和三维模型。Bumblebee2有2倍于Bumblebee的帧率,拥有高质量的CCD传感器和高速1394接口。Bumblebee2双目立体摄像机具有结构精密、体积小、质量轻、功耗小等特点,并且在灵敏度、分辨率和实时传输等方面具有良好的特性。在目标跟踪、移动机器人导航等领域有着广泛的应用[5]。Bumblebee2双目立体摄像机经过IEEE1394线传到单片机上,进行相应的视觉算法处理。
图2 移动机器人控制系统实物图
2.1.2 超声测距传感器
超声波测距传感器的作用主要是避免机器人遇到障碍物时用户来不及控制而导致机器人碰壁,防止硬件遭到碰撞受损,延迟机器人的使用寿命[6]。移动机器人采用ULB-16超声测距传感器,数字量输出,并能通过CAN总线、RS-232任意配置,对整个模组进行编程控制与数据读取。超声测距传感器将16路超声探测器集成在一起,统一协调管理,对0.25~3.00 m内的物体进行精确测距。该模组能大大简化上层设备对多传感器的协调管理,便于系统集成并提高系统稳定性。16路测距传感器防护等级达到IP65,能够适应室外的应用场合。超声测距传感器通过CAN总线与STM32F407相连,并将数据信息传送到单片机。
2.2 下位单片机控制器
下位机控制器由STM32F407单片机构成,是移动机器人的大脑,综合处理各方面的信息并做出即时的响应,实现对移动机器人的实时控制。该模块主要负责完成传感器的信息采集、电机控制以及与PC机的通信。STM32F407单片机工作频率可达168 MHz,完全能够满足系统的实时性要求。采用Cortex-M4F内核,该内核具有高性能、低功耗和实时性强的优点。它还实现了一套完整的DSP指令和内存保护单元,从而提高应用程序安全性的同时也满足了系统成本的低功耗[7]。
移动机器人的运动控制器是其动作执行部分,具体完成机器人的动作,如前进、后退、转弯等。移动机器人采用四轮结构,采用2个驱动轮以实现机器人的直线、转向和旋转等运动。移动机器人运动过程中,需要对2驱动轮的运动方式进行安排,通过对驱动电机的控制完成移动机器人的速度和转向控制。移动机器人所使用的电机为直流电机。
选用双极性PWM驱动芯片L298N,它是一种能够承受高压大电流的全桥型直/步进电机驱动器,具备两通道电机驱动,可以同时驱动2个直流电机,OUT1、OUT2与OUT3、OUT4分别接2个电动机。其中5、7、10、12脚接输入控制电平,控制电机的运行。接口芯片输出两组PWM波,每组PWM波控制一个电机的速度。I/O口可以控制电机的正反转,P10、P11控制第1个电机的方向、PWM1控制第1个电机的速度;P12、P13控制第2个电机的方向、PWM2控制第2个电机的速度。电机驱动原理图如图3所示。通过驱动芯片L298N可实现移动机器人的加速、减速、停止,同时通过两个电机不同的转速实现左转和右转等功能[8-9]。L298N驱动电机逻辑表如表1所示。
图3 电机驱动电路连接图
表1 L298N逻辑功能表
2.3 无线收发
移动机器人的控制命令及传感器数据的传输对实时性、可靠性和故障率具有较高的要求。因此,无线收发模块采用PTR2000超小型无线收发数传Modem,该Modem体积小且接收发射合一,方便移动移动机器人携带。其工作频率为国际通用的数传频段433 MHz,采用FSK调制,低发射功率、高接收灵敏度。该模块通信速率最高为20 kb/s,也可以在较低速率下工作,无须设置模块通信速率。发射数据前将模块置于发送模式,可以发送任意长度的数据。发射结束后将模块置于接收模式,可以接收任意长度的数据。
STM32F407单片机主要功能是对传感器采集的信息进行分析和处理,将处理后的信息经PTR2000无线收发模块发送到PC上位机。PC上位机根据接收到的信息分析移动机器人所处的环境,通过无线收发模块向移动机器人发送控制指令。与STM32F407单片机相连的 PTR2000无线收发模块首先将STM32F407单片机的待传数据调制成射频信号,之后发送到PC机端的PTR2000无线收发模块,同时接收PC上位机机端的PTR2000无线收发模块传送的射频信号,并将其调制成单片机可识别的TTL信号,之后送至单片机[10]。决定 PTR2000无线收发模块工作模式主要有TXEN、CS、PWR3个引脚,这3个引脚分别与STM32F407单片机I/O控制口的P2.0~P2.2相连。PTR2000无线收发模块工作时,由STM32F407单片机实时控制其工作模式。PTR2000与STM32F407单片机连接电路如图4所示。
图4 PTR2000与STM32F407单片机连接电路图
计算机串口与PTR2000无线收发模块连接首先需要进行电平转换,由于PTR2000无线收发模块支持的是TTL电平,故选择MAX232对两者间的电平进行转换。 当PWR接高电平VCC时,PTR2000无线收发模块固定在正常工作状态;当频道选择引脚CS接GND低电平时,采用的是固定通信频道1,工作频道为433.92 MHz;PC上位机串口RTS信号控制PTR2000的TXEN引脚,用来决定PTR2000的接收与发射状态;计算机串口的RXD和TXD需经电平转换,之后分别与PTR2000无线收发模块的DO和DI引脚相连[11-12]。PTR2000无线收发模块与计算机串口连接电路如图5所示。
图5 PTR2000与计算机连接电路图
3.1 通信协议
移动机器人与上位机之间的通信需要较高的可靠性以及较低误码率,因此需要为无线收发模块设计切实可行的通信协议[13]。在本设计中,PC上位机与移动机器人之间的通信采用的是统一的数据包格式。
一个完整的数据包由开始字符、设备类型符、设备地址码、功能码、数据长度、数据区、CRC校验及结束字符组成,如表2所示。
表2 控制指令数据包格式
表2中,第1 bit是一个数据包的开始,为固定值0xAA;第2 bit是设备类型,设为0xFF;第3 bit是设备在系统中的地址;CRC校验,2 bit,从开始字符到数据区最后1 bit的所有字符的16 byte CRC校验值。结束字符,表示数据包结束,固定为0x0D。
3.2 控制系统软件设计
移动机器人将采集到的现场信息通过无线收发模块发送到PC机,PC机根据移动机器人的现场信息编排任务,通过无线收发模块发送控制命令,移动机器人接收到指令后对电机驱动器进行控制。控制系统程序流程图如图6所示。
图6 系统控制软件流程图
系统控制的大体流程步骤:
(1) 移动机器人上的单片机初始化之后一边等待上位机的控制命令;一边采集Bumblebee双目立体摄像机和超声测距传感器信息并对信息进行分析、处理。
(2) 单片机将处理后的传感器信息通过PTR2000无线模块传送到上位机,上位机根据这些信息编排移动机器人的任务,通过人机交互界面输入控制命令(如前进、后退、转弯、顺时针旋转、逆时针旋转等),通过PTR2000无线模块将控制指令发送到移动机器人上的STM32F407单片机。
(3) 移动机器人上的STM32F407单片机通过无线模块PTR2000接收控制指令后进行解析,并将控制指令发送给电机驱动控制器,从而实现移动机器人按控制指令运行。
3.3 人机界面设计
上位PC机控制程序是基于VC++环境开发的,实现的功能主要有:显示输入的命令、与移动机器人通信、控制移动机器人的运动。人机界面如图7所示。
图7 人机界面
因为串口通信具有协议简单、对设备要求不高等优点,所以选择RS232串口通信方式。VC++是一种面向对象的可视化开发工具,提供了良好的设计资源。目前Win32中基于VC++的常用串口通信方式有[14]:① 利用MSComm控件;② 利用Windows API函数实现。本文要实现的是利用串口通信的方式对移动机器人进行控制,采用Active X控件即可满足设计需求。
MSComm通信控件是最常用的Active X串口控件之一,它提供了一系列标准通信协议的接口,允许建立串口连接,可以连接到其他通信设备,能发送、接收命令,而且还可以在VC++等语言中使用[15]。本文选用的MSComm控件采用事件驱动机制,事件发生时将产生通知,MSComm通信控件提供的OnComm事件可以捕获并处理这些事件[16]。图8所示为无线通信程序设计流图。
图8 无线通信程序设计流程图
完成移动机器人硬件和软件的设计后,需要运行自己设计的软件对移动机器人进行测试。通信之前要选择串口和波特率,然后打开串口程序会提示串口打开成功。在发送区内的编辑框输入要发送的控制指令,然后点击“手动发送”按钮发送指令,也可以选择自动发送方式,按固定的周期发送指令,此时移动机器人会根据发送的指令做出相应的运动。
对移动机器人做如下测试:① 测试1。移动机器人设定向前、后、左、右直线运动,分别进行了5次测试,移动机器人均能按照指令正确前进。② 测试2。移动机器人原地顺时针、逆时针运动,分别运行5次进行测试,移动机器人均能按指令正确运动。③ 测试3。移动机器人分别设计自动发送与手动发送控制指令功能,选择自动发送时移动机器人需要每次点击发送指令才能运动,当选择自动发送时,移动机器人能一直按指令正确运行。试验结果表明,移动机器人对PC机的无线控制命令能够作出实时、正确的响应。
本文研究的是应用于空间站环境的移动机器人,采用Bumblebee双目立体摄像机和超声测距传感器,基于STM32F407单片机与PC机相结合的无线控制系统,利用PC上位机实现了对移动机器人的实时无线控制,使得移动机器人摆脱了对上位机在地域上的依赖。移动机器人在工作中,控制人员可以远程观察移动机器人的运行环境,并对突发事件进行实时控制与处理,提高移动机器人的灵活性。
[1] 吕常智,姚志科.基于无线通信的移动机器人远程控制系统[J].煤矿机械,2012,33(3):239-241.
[2] 张 帆,蒋 茜.基于PTR8000的自主式机器人无线控制[J].重庆工学院学报,2008,22(5):123-126.
[3] 李宏策,柏友运,李文芳.基于RS232的人机交互控制系统开发[J].测控技术,2015,34(3):75-78.
[4] 侯 进.多移动机器人系统的自装配技术研究[D].南京:东南大学,2010.
[5] 张 巍.基于双目立体视觉的室内移动机器人地图构建研究[D].武汉:武汉科技大学,2009.
[6] 杨 亮,李文生,邓春健,等.基于物联网的移动机器人综合实训平台设计[J].实验室研究与探索, 2015,34(3):233-236.
[7] 高 健,王建中,施家栋.小型履带式移动机器人控制系统设计[J].计算机测量与控制, 2015, 23(8):2716-2718.
[8] 丁易新,张捍东.基于ATmega128的模糊控制系统[J].仪表技术与传感器,2009(12):70-72.
[9] 武红双.基于数据采集的电子调速系统在线监测与故障诊断研究[D].天津:河北工业大学,2011.
[10] 陈 瑞,张家胜,郑长明.基于ARM的抽油机变频器功能扩展和通讯控制器设计[J].仪表技术与传感器, 2016(3):28-30.
[11] 曹 俊,汪滨琦.用PTR2000实现单片机与PC机之间的无线数据通信[J].微计算机应用,2002,23(2):117-120.
[12] 赵旭涛.基于无线传输模块PTR2000的短距离无线传输技术[J].传感器世界,2012,18(8):34-37.
[13] 陈华东.移动机器人无线通信实现及迭代学习控制研究[D].上海:同济大学,2002.
[14] 赵 军,袁中凡.杨春生.利用VisualC++下MSComm开发的串口通信软件[J].中国测试技术,2006,32(6):98-99.
[15] 周永刚.基于MSComm控件实现计算机与单片机间的串行通信[J].工业控制计算机,2013,26(5):80-81.
[16] 章 辉,叶建芳,叶建威.基于MSComm控件串口通信的实现[J].电子测量技术,2011,34(8):126-129.
Design of Wireless Control System for Mobile Robot in Space Station
YUHui,WANGXiaofei,LUKai
(School of Instrument Science and Opto Electronic Engineering, Beijing Information Science and Technology University, Beijing 100192, China)
According to the working characteristics, the environment and the ability of the space station mobile robot in dealing with unexpected problems, a wireless control system for robot is designed. The hardware structure and principle of the system have been described in detail. The system mainly consists of PC host computer, wireless transceiver module, MCU, binocular stereo camera, ultrasonic distance sensor and motor driver. The control system is based on the integration model of upper and lower machines. The lower computer is responsible for the information collection from Bumblebee2 binocular stereo camera and the ultrasonic ranging sensor, the instruction receiving, function implementation, and so on. The upper computer is responsible for data display and storage and command transmission and so on. Serial communication mode is applied between the upper and lower machines. The communication between the PC and the mobile robot can be realized conveniently by using the wireless communication module so as to realize the real-time wireless control of the mobile robot.
mobile robot; binocular stereo camera; wireless control; serial communication
2016-05-26
北京信息科技大学传感技术课程建设项目资助(2016KGYB12)
于 惠(1988-),女,山东济南人,硕士生,主要研究方向为电子检测技术。Tel.:15600648226; E-mail:yuhui_tt@163.com
王晓飞(1965-),女,辽宁鞍山人,教授,主要从事电子测量技术的研究及教学工作。
Tel.:13661211927; E-mail:wangxiaofei@bistu.edu.cn
TP 273
A
1006-7167(2017)02-0071-05