一种智能服务机器人控制系统的制作方法

文档序号:15590687发布日期:2018-10-02 18:55阅读:428来源:国知局

本发明涉及智能化控制技术领域,具体涉及一种智能服务机器人控制系统。



背景技术:

机器人的控制系统多种多样,传统方案是无线遥控方式,一般是通过无线手持设备传输命令来操控,由于是基于物理的机械的控制方式,因此会带来可靠性的问题;这种控制方式与机器人交互的方式过于单一,机器人本身缺乏智能性和亲和力,不能主动移动、导航、蔽障和进行语音等交互。



技术实现要素:

本发明的目的是提供一种可靠性好、抗干扰能力强、能够自主移动导航蔽障、能够进行语音交互的智能服务机器人控制系统。

本发明为解决技术问题所采用的技术方案如下:

本发明的一种智能服务机器人控制系统,包括:

上位机;

通过串口ttl转usb接口芯片与上位机相连的主控制器,所述主控制器通过uart串口协议与上位机进行数据交换;

与上位机相连的麦克风阵列,所述上位机采集麦克风阵列测量的声音信号并对其进行处理计算出声源方向与机器人正前方水平和垂直两个方向的夹角,上位机将这两个夹角信息传输给主控制器;

与主控制器相连的8个光电开关,所述主控制器根据上位机的命令定时采集8个光电开关的数据,并通过主控制器上传至上位机中,通过上位机判断每个方向上是否有障碍物;

与主控制器相连的2个舵机,所述主控制器根据接收到的夹角信息控制2个舵机转到对应的角度;

与主控制器相连的惯性测量单元,所述主控制器对惯性测量单元测量的加速度、角速度、地球磁场、欧拉角进行姿态解算,并将解算后的数据上传至上位机;

与主控制器相连的行走电机和霍尔传感器,主控制器通过霍尔传感器来控制行走电机的速度;

与主控制器相连的底盘控制系统和与底盘控制系统相连的激光雷达,激光雷达用于对环境进行扫图,所扫描的图形数据传输给底盘控制系统存储。

进一步的,还包括:与主控制器相连的温度传感器和湿度传感器;所述主控制器采集温度传感器测量的温度数据和湿度传感器测量的湿度数据传输给上位机进行显示。

进一步的,还包括:与主控制器相连的rgb灯带;上位机给主控制器下发rgb灯带点亮命令,命令中包括颜色信息,rgb灯带按照指令中给定的颜色信息展现相应的颜色;上位机给主控制器下发灯带熄灭命令,则rgb灯带熄灭。

进一步的,所述主控制器采用stm32f407vgt6单片机。

进一步的,还包括为整个控制系统供电的锂电池,所述锂电池与主控制器、串口ttl转usb接口芯片、8个光电开关、2个舵机、rgb灯带、惯性测量单元、行走电机、霍尔传感器、底盘控制系统、激光雷达、麦克风阵列、温度传感器和湿度传感器相连。

进一步的,所述主控制器外围设置有通讯串口和iic接口,通过通讯串口实现串口通讯功能,通过iic接口与各种不同的传感器芯片进行通讯,实现iic通讯功能。

进一步的,所述光电开关采用迈德豪公司的e18-d80nk型光电开关,检测距离为3-80cm。

进一步的,所述舵机采用极限电子科技公司的pdi-6221mg型20kg大扭力舵机,控制范围为0-180°。

进一步的,所述rgb灯带采用5050贴片rgb灯带,供电电压为12v,共阳极连接。

进一步的,所述惯性测量单元采用维特智能的jy901型惯性测量单元,用于测量加速度、角速度、地球磁场、欧拉角。

本发明的有益效果是:

本发明的智能服务机器人控制系统,主要采用上位机、主控制器作为核心控制部件,再配合外围其他传感器作用实现机器人的各项功能,具有可靠性好、抗干扰能力强、能够自主移动导航蔽障、能够进行语音交互等优点。

附图说明

图1为本发明的一种智能服务机器人控制系统的结构框图。

具体实施方式

以下结合附图对本发明作进一步详细说明。

如图1所示,本发明的一种智能服务机器人控制系统,该套控制系统安装在智能服务机器人主体中,该控制系统主要包括:上位机、主控制器、串口ttl转usb接口芯片、8个光电开关、2个舵机、rgb灯带、惯性测量单元、行走电机、霍尔传感器、锂电池、底盘控制系统、激光雷达、麦克风阵列、温度传感器和湿度传感器。

8个光电开关、2个舵机、rgb灯带、惯性测量单元、行走电机、霍尔传感器、底盘控制系统、温度传感器和湿度传感器均与主控制器相连。底盘控制系统与激光雷达相连。锂电池与主控制器、串口ttl转usb接口芯片、8个光电开关、2个舵机、rgb灯带、惯性测量单元、行走电机、霍尔传感器、底盘控制系统、激光雷达、麦克风阵列、温度传感器和湿度传感器相连,为整个控制系统供电。麦克风阵列与上位机相连。主控制器为本发明的智能服务机器人控制的核心,用于实现光电开关控制、舵机控制、rgb灯带控制、惯性导航数据获取、行走电机控制、锂电池保护、温湿度数据采集等功能。主控制器通过串口ttl转usb接口芯片与上位机连接,只需插入usb连线即可。

主控制器具体采用stm32f407vgt6单片机。主控制器上设置有5v和12v两种电源接入口,其中5v电源主要为主控制器、光电开关和舵机供电,12v电源主要为rgb灯带供电。5v电源与12v电源供电均采用3.5mmpcb接线端子连接,5v电源的pcb接线端子连接到主控制器的p43接口(靠近光电开关),12v电源的pcb接线端子连接到主控制器的p39接口(靠近rgb灯带)。5v电源与12v电源切勿混接,正负极切勿接反,否则会导致主控制器及连接在其上的光电开关、舵机等全部烧毁。

主控制器外围设置有通讯串口,通过通讯串口与麦克风阵列等其他设备交互通讯,实现串口通讯功能。主控制器上还设置有iic接口,通过iic接口可与各种不同的传感器芯片进行通讯,实现iic通讯功能。主控制器通过向舵机输出pwm信号可驱动3路5v或12v舵机,实现舵机驱动功能。主控制器可以采集温度传感器测量的周围空气的温度数据和湿度传感器测量的周围空气的湿度数据,实现温湿度数据采集功能。主控制器可以驱动2路24v直流行走电机,单路最大输出电流可达4a,过流保护功能,通过连接霍尔传感器可实现动态调速、堵停检测功能,实现行走电机的综合控制功能。主控制器可以检测锂电池温度,当锂电池温度过高时,进行报警和断电保护,实现锂电池的温度检测功能。主控制器还可以检测锂电池的最大电压为48v,并具备锂电池过充、过放检测功能。主控制器可驱动额定电压为12v的5050rgb灯带,实现rgb灯带驱动功能。惯性测量单元可以测量加速度、角速度、地球磁场、欧拉角等数据,主控制器接收这些数据并利用这些数据进行姿态解算,同时可接入gps或北斗导航系统,实现惯性导航功能。通过主控制器还可以设定定时休眠和唤醒等时钟功能。

主控制器使用uart串口协议与上位机进行通信。使用之前,在上位机中安装串口ttl转usb接口芯片(ch340芯片)驱动程序,默认情况下,上位机中的windows10系统会自动安装该驱动程序。安装好驱动程序后,在上位机windows10系统“设备管理器”中查看串口编号。对于linux系统,请查看“/dev/ttyusbx”设备。串口配置如下:波特率:115200bits/s;数据位:8bits;校验位:无;停止位:1;流控制:无。

主控制器通过uart串口协议与上位机进行数据交换,并可控制上位机开关机,同时通过检测上位机usb接口电压判断上位机的开关状态,当上位机尚在运行时,避免对上位机强行断电。

光电开关用于检测机器人周围是否有物体遮挡,光电开关对机器人前方一定距离的物体做出响应给主控制器。光电开关主要采用的是迈德豪公司的e18-d80nk型光电开关,该器件的检测距离为3-80cm。在主控制器上设置有光电开关备用接口,为今后可能出现的功能扩展设计,无需连接。光电开关可测量3-80cm内的物体,调节测量阈值的方式为:首先安装好光电开关并接通5v电源,然后将机器人摆放在距离被测物体恰好为测量阈值的距离(如30cm),用螺丝刀调节光电开关尾部的螺丝,至螺丝旁的红灯刚好亮起为止。

2个舵机用于控制机器人头部和颈部运动,其中1个舵机用于控制机器人头部转动,另一个舵机用于控制机器人颈部转动。舵机主要采用的是极限电子科技公司的pdi-6221mg型20kg大扭力舵机,该器件的控制范围为0-180°。在主控制器上设置有舵机备用接口,为今后可能出现的功能扩展设计,无需连接。

rgb灯带采用的是5050贴片rgb灯带,供电电压为12v,共阳极连接。rgb灯带长度为5m,在实际使用中,可根据需要进行裁剪。

惯性测量单元(imu)采用的是维特智能的jy901型惯性测量单元(imu),该器件可测量加速度、角速度、地球磁场、欧拉角等数据。jy901型惯性测量单元(imu)需要连接串口ttl转usb模块进行调试,具体调试方式见《jy901使用说明书v4.0》。

本发明的智能服务机器人控制系统,在对机器人进行控制时,其具体过程如下:

1、系统上电初始化。

2、上位机向主控制器发送停止或启动信号,主控制器将停止或启动信号转换成相应的信号由各个部件接收并执行相应的操作。

3、通过惯性测量单元测量加速度、角速度、地球磁场、欧拉角等数据,主控制器接收这些数据并利用这些数据进行姿态解算,主控制器通过串口将解算后的数据上传至上位机,上位机可以通过图形化的方式显示机器人当前所处位置的地球磁场、欧拉角等信息,以及机器人当前运动状态的加速度和角速度信息。

4、在机器人行走过程中,主控制器根据上位机的命令,可以定时采集8个光电开关的数据。每个光电开关可以识别30cm内的障碍物,通过主控制器将每个光电开关采集回来的数据上传至上位机中,通过上位机判断每个方向(8个光电开关分别对应八个方向,即东、南、西、北、东南、西南、东北、西北)上是否有障碍物。

5、在机器人行走过程中,通过激光雷达对机器人周围环境进行扫图,所扫描的二维地图数据存储在底盘控制系统中。底盘控制系统采用arm控制器,该arm控制器上装有ubuntu操作系统,ros机器人平台,运行slam算法导航避障(arm控制器是一种现有机器人壁障控制设备,直接应用其现有功能即可实现)。基于该二维地图和上位机中的应用软件(可以采用机器人应用交互平台,一种现有机器人应用软件)可以在地图上任意标记热点,可以用于在控制机器人导航的过程中,将二维地图上定义好的任意两个热点作为起点和终点,机器人就可以自主导航,并通过激光雷达和超声波传感器(霍尔传感器)对导航路径上的障碍物作避障处理。激光雷达、超声波传感器、光电开关、底盘控制系统相互配合,能够在机器人通过行走电机在自主导航的过程中避开周围一定距离的障碍物。

壁障过程如下:例如,某一光电开关识别到30cm内的障碍物时,并将测量结果传输给主控制器,主控制器对测量结果进行计算并转换成底盘控制系统可以接收的信号,底盘控制系统根据接收到的信号驱动激光雷达自身的转台转动同时驱动机器人避开障碍物行走,此过程中,主控制器还通过霍尔传感器来控制行走电机的速度。

6、上位机采集语音输入装置即麦克风阵列测量的声音信号,能够将5米内采集到的声音信号进行处理,得到对应的文字和声源的方向,进而计算出声源方向与机器人正前方水平和垂直两个方向的夹角,并把这两个角度信息传输给主控制器,通过主控制器来控制相应的两路舵机转到对应的角度,使机器人头部面向声源的位置。通过舵机控制机器人头部的横向和纵向转动。

7、上位机给主控制器下发采集命令,通过温、湿度传感器采集机器人周围环境的温度和湿度数据,并经由主控制器处理后返回给上位机,上位机对接收到的数据进行图形化转换并最终以图形化的方式显示出来。

8、上位机给主控制器下发rgb灯带点亮命令,命令中包括颜色信息,rgb灯带按照指令中给定的颜色信息展现相应的颜色;上位机给主控制器下发灯带熄灭命令,则rgb灯带熄灭。

主控制器定期向上位机发送数据,每1组数据包含光电开关数据、惯性测量单元(imu)数据、rgb灯带当前状态数据、舵机当前状态数据。数据采用字符串的形式发送,每1种数据都以字符‘@’开头,之后为数据类型、冒号、数据值,最后以换行符(‘\n’)结尾,4种数据为1组进行发送,每1组数据的发送间隔约为66ms。数据发送形式如表1所示。

表1

例如:

@photo:1010000100000000

@imu:0.111,0.222,1.333,0.444,0.555,0.666,7.777,8.888,9.999,1234,2345,3456

@rgb:20,40,60

@servo:90,0,180

@photo:1010000100000000

@imu:0.111,0.222,1.333,0.444,0.555,0.666,7.777,8.888,9.999,1234,2345,3456

@rgb:20,40,60

@servo:90,0,180

@photo:1010000100000000

@imu:0.111,0.222,1.333,0.444,0.555,0.666,7.777,8.888,9.999,1234,2345,3456

@rgb:20,40,60

@servo:90,0,180

其中,点划线表示每组数据之间的间隔时间。需要注意的是,协议中所有字母均为小写,且数据之间无空格。

如表2所示,光电开关数据的数据类型为“photo”,数据值为16个连续的“0”或“1”,从左到右分别表示光电开关0~光电开关15的状态,“0”表示光电开关未被遮挡,“1”表示光电开关被遮挡。其中,光电开关0~光电开关7为有效数据,光电开关8~光电开关15数据暂时无效,为日后扩展进行保留。

表2

如表3所示,imu数据的数据类型为“imu”,数据值为12组用逗号(,)分割的数据,其中前9组为浮点数,保留小数点后3位数据,最后三组为整数。数据意义如下表所示。其中,加速度单位为g(重力加速度),角速度单位为°/s,欧拉角单位为°,磁场为原始ad数据,无单位。

在实际应用中,可使用磁场数据或偏航角数据确定机器人的方向。最好使用偏航角确定机器人方向,偏航角正北方向为0°,角度按顺时针方向增加,正东方向为90°,至正南方向角度为180°,之后变为-180°,此后继续按顺时针方向增加,至正西方向为-90°,最后回到0°。

表3

如表4所示,rgb灯带当前状态数据的数据类型为“rgb”,数据值为3组用逗号(,)分割的数据,分别为红色、绿色、蓝色亮度的百分比,取值范围为0-100。该数据反映出rgb灯带当前的状态。

表4

如表5所示,舵机当前状态数据的数据类型为“servo”,数据值为3组用逗号(,)分割的数据,分别为舵机1、舵机2、舵机3的角度,取值范围为0-180°。该数据反映出舵机当前的状态。其中,舵机1、舵机2为有效数据,舵机3数据暂时无效,为日后扩展进行保留。舵机3为备用接口,为今后可能出现的功能扩展设计,无需连接。

表5

主控制器可接受上位机发送过来的命令,可通过上位机控制舵机角度和rgb灯带的亮度,以及请求下位机序列号。命令采用字符串的形式发送,每1种命令都以字符‘#’开头,之后为命令类型:命令数据值,最后以换行符(‘\n’)结尾。如表6所示。

表6

例如:

@rgb:20,40,60

@servo:90,0,180

@uid:

其中,与上行数据通信协议类似,以上协议中所有字母均为小写,且数据之间无空格。无论是相同类型的命令还是不同类型的命令,每次仅可发送1条命令,且2条命令之间至少需间隔100ms,否则极有可能造成下位机停止接受所有命令,且目前未设计容错功能,错误的命令可能使下位机停止接受命令。

如表7所示,舵机角度控制命令与舵机当前状态数据类似,舵机角度控制命令的命令类型为“servo”,命令数据值为3组用逗号(,)分割的数据,分别控制舵机1、舵机2、舵机3的角度,取值范围为0-180°之间的整数。其中,舵机3暂时保留,可填入任意角度,但不可空缺。

表7

如表8所示,rgb灯带控制命令与rgb灯带当前状态数据类似,rgb灯带控制命令的命令类型为“rgb”,命令数据值为3组用逗号(,)分割的数据,分别控制红色、绿色、蓝色亮度的百分比,取值范围为0-100之间的整数。

表8

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1