基于ROS的多功能服务机器人平台的设计

2023-05-22 06:33忽晓伟孙世帅杨龙飞王相闯
物联网技术 2023年5期
关键词:麦克风激光雷达上位

王 耀,忽晓伟,孙世帅,王 坤,杨龙飞,王相闯,郭 强

(郑州西亚斯学院,河南 新郑 541100)

0 引言

随着时代的进步,人们对生活品质的追求不断提高,多功能服务机器人的被需求量越来越大,尤其是在一些大型的公共服务型场所,多功能服务机器人的应用得到了极大的推广[1]。目前市场上大部分的服务型机器人都只能单一地重复某一项工作,行走路线具有局限性,且稳定性较差,对于复杂环境的适配度较低,对场地有很高要求。因此市场上急需一种多功能型服务机器人平台[2]。本文介绍的基于ROS 多功能服务机器人平台就是针对目前行业痛点设计的,动态提高代码重用性,实现在大多数环境中无须改造场地就可以立即使用;同时可以完成多点导航,减少人员的工作量,进而控制成本;可实现自动避障,避免安全事故发生。

1 方案设计

多功能服务机器人的硬件结构由JETSON TX1 主控板、STM32、底盘电机组和传感器组成。多功能服务机器人通过串行通信收发远端的控制指令,通过嵌入式操作系统的裁剪,在决策层经过控制板,将路径控制算法导入,控制中间层的STM32 模块;再将信息传输给底盘电机组模块,使其旋转。在步进电机的配合下,测试机器人在不同环境面的运动和前进、后退、转弯等基础功能。

2 系统组成

在移动机器人硬件系统设计上,主要分为顶层决策层、中间控制层及底层三部分。顶层决策层为JETSON TX1 主控板[3-4]、激光雷达、阵列麦克风、Kinect2 视觉传感器相连接。中间控制层为STM32 核心控制板。底层由电机组模块、电源模块和各种传感器组成。具体连接如图1所示。

图1 整体系统设计框图

第一部分是决策层,以JETSON TX1 为主控板,用于实现对激光雷达发过来的姿态数据进行处理,接收处理阵列麦克风收集的语音信息进而实现人机交互,并向中间层的SMT32 发送控制命令。

JETSON TX1 中的ROS 系统与中间层STM32 之间的串口通信需要接收下层一些传感器以及三个编码电机传达的具体数据信息,并作出相应的指令控制STM32 发出特定的处理指令,进而达到最终控制底盘的目的。另外,还可以使用rosserial,该功能包同时分为服务器和客户端两部分,可实现ROS 系统与下层控制核心STM32 之间的通信。

如图2所示,使用激光雷达扫描周围环境,将数据上送到决策层构建出二维扫描地图,激光传播受外界影响较小,不同激光雷达能够达到的探测范围在100 m 以上。由于这种雷达使用激光测距,而不是无线电波,因此可以避免无线电波抗干扰差的问题,对测量物体的距离和表面形状测量结果更为准确,通常可达厘米级[5]。激光雷达系统一般可分为3部分:第一部分是激光发射器,发射波长为600~1 000 nm的激光射线;第二部分是扫描光学元件,主要用于采集反射点的距离和反射点的时间和水平角度(方位角);第三部分是光敏组件,主要检测返回光的强度。因此,检测到的每个点都包含空间二维坐标信息(X,Y)和光的强度i。光强与物体的光反射率直接相关,也可以根据检测到的光强对被检测物体形状特点大小和具体方位有一个初步的判断。

视觉模块采用的是一台Kinect2 视觉传感器,可以识别彩色影像数据、深度影像数据、红外等数据流并直接传输到上位机控制端。通过特定的算法识别出来的并且可以直接识别的数据源包括:骨骼追踪、语音识别、面部识别数据源等[6]。

机器人头部安装了一枚面阵麦克风,可以用于采集正前方的声音数据,在实际应用中可以用来接收语音指令。平面麦克风阵列可以进行平面360°的输出,适用于麦克风数量比较多的场景中,麦克风数量越多,在空间的划分上会更加细致,达到增强人机交互质量同时降低噪音的目的。

第二部分是中间控制层,中间控制层以STM32 为主要控制器控制下层单元,并与上层交互。STM32 作为常用的单片机,在这里不做过多赘述。

姿态传感器使用陀螺仪JY901 进行姿态获取,JY901 自己可进行姿态数据处理,直接用串口/I2C 进行数据传输,可直接获得X、Y、Z三轴角度和角加速度、四元数、磁场等各种姿态数据。上位机调试回传速率最高可达到200 kHz。此陀螺仪具有回传速度快、数据精确等优点,适用于此多功能服务机器人。

3 系统软件关键技术

多功能服务机器人通过硬件部分的激光雷达获取的未知环境中数据从某一特定位置开始移动,并且在移动过程中360°同步定位与建图 (Simultaneous Localization and Mapping,SLAM)。SLAM 是指在陌生环境中不断探索前进时去感知周围环境及位置信息确定自身的坐标,同时根据这个坐标逐步建立一个相符的环境地图,为后续的路径规划和自主导航奠定基础。

3.1 避障算法的设计

多功能服务机器人需要构建可以识别小障碍物的精确地图,以便遇到有较小障碍物情况时能够紧急避障并且提高检测小障碍物的能力。将机器人理想轨迹和动态轨迹之间的偏差角以及偏差角的变化率输入模糊神经网络PID 中,输出结果为PID 的比例系数、积分时间常数和微分时间常数共三个参数[7],分别用KP、TI、TD表示。PID 的公式为:

式中:PID 在t时刻的输出用u(t)表示,也就是机器人的角速度控制量;X'(t)表示机器人期望位姿和实际位姿偏差解耦后的输出量。

为保证PID 的跟踪控制效果,采用Mandani 推理模糊神经网络对PID 实行优化,该优化是以u(t)的大小为依据,实现KP、TI、TD三个参数的自适应调节[8]。模糊神经网络PID的机器人轨迹跟踪控制方法共由5 层结构组成,详情如下:

第一层:输入层输入u(t)。

第二层:输入模糊化层,对u(t)实行模糊化处理,计算机器人期望轨迹和实际轨迹间的偏差角u(t)对于变量值模糊集合的隶属度。采用高斯函数表示隶属度函数,其计算公式为:

式中,隶属度函数中心和宽度分别用wij和cij表示。

第三层和第四层:模糊推理层,用于计算各条机器人移动轨迹跟踪控制规则的适用度ak以及ak的归一化处理,其公式分别为:

第五层:输出层,实现模糊值的清晰化处理,输出机器人移动轨迹避障控制结果,其计算公式为:

3.2 自主导航

多功能服务机器人建立的二维地图模型会出现在之前建好的图中与之匹配并相结合更新现有地图,在上位机中可以设置起始点及到达目标点后多功能服务机器人的姿态[9-11],可以在map tools 工具中增加需要停靠的位置及机器人的朝向,在上位机中输入命令启动,即可在原有建好的二维地图中设置目标位置,同时也可以在目标位置后设置延时。

服务机器人将会根据设置好的航点自主规划最优路线,到达目标位置以后会自主完成相应的指令,与上位机进行话题通信并将指令发送,进而使上位机快速响应进行其他步骤。在到达目标位置过程中如遇到突发情况会主动避障并重新规划最新路线,最终到达目标位置以后会自动停止,完成其他相应指令之后,再进行下一个目标位置的路径规划。

3.3 人机交互

JETSON TX1 通过调用ROS 中的功能包对激光雷达、Kinect2 视觉传感器、阵列麦克风进行控制[12-13]。通过麦克风可提前录音,到达指定位置后进行特定的语音播报,并且可以同时记录多条语音,方便调用[14]。视觉传感器可在多功能服务机器人与障碍物距离小于40 cm 时进行物体识别。

4 结语

本文的多功能服务机器人平台设计方案解决了目前市场上大多数服务类型的机器人只能单一地重复某一项工作、行走的路线具有局限性、稳定性较差、对于复杂环境的适配度低、引进以后需要特殊改造场地才可使用的问题。通过在该平台上搭载激光雷达和视觉传感器实现了自主二维地图的绘制和多点最佳路线导航。上位机中采用ROS 系统,优势是每部分功能在软硬件部分均可模块化,可重复利用性强,有很好的实用价值,能够更广泛地应用于实践。

猜你喜欢
麦克风激光雷达上位
手持激光雷达应用解决方案
法雷奥第二代SCALA?激光雷达
Binaural Rendering based on Linear Differential Microphone Array and Ambisonic Reproduction
基于激光雷达通信的地面特征识别技术
基于数字麦克风的WIFI语音发射机
基于激光雷达的多旋翼无人机室内定位与避障研究
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位