基于物联网实现院内导航自行走车床的设计

2022-12-06 04:13何丽君唐健豪孔令茵
医疗装备 2022年20期
关键词:下位车床陀螺仪

何丽君,唐健豪,孔令茵

佛山市第一人医院医疗设备科 (广东佛山 528000)

2021年12月,工信部联合10个部门发布的《“十四五”医疗装备产业发展规划》指出,加快智能医疗装备发展,嵌入人工智能、工业互联网、云计算等新技术,从而推动医疗装备智能化、精准化、网络化发展[1]。近年来,物联网技术的研究和实践处于快速发展阶段,众多新型技术已逐渐被用于医疗装备领域,医疗卫生机构已着手布局院内物联网系统框架。医院物联网可为医疗装备提供定位、通信、监测等功能的应用基础,平台集成医疗装备功能进行控制,提升了装备间的协调能力,为医疗装备智慧化发展提供了新方向[2]。

医用车床是现代化医院常用装备之一,主要用于患者转运。但医用车床的智能化水平却相对较低,通常依赖护工、家属推运,需花费较高的人力、时间成本,车床位置信息无法实时反映不利于统一调配。因此,亟需开发智能院内导航自行走车床,以推进医用车床的智能化、信息化,同时通过路线规划、集中调配促进车床高效率运转,提高利用率,降低运营成本。

本设计基于物联网应用蓝牙AOA定位技术能够将所关注的人或物在地图上显示,实现物联网室内定位导航,并配合多个高精度传感器实时监测,进而实现自行走车床[3]。

1 设计方案

本设计使用蓝牙AOA室内定位技术,即在医院内广泛布置蓝牙基站(主要负责蓝牙信号的接收),通过为自行走车床安装不间断发出信号的蓝牙模组,由基站接收蓝牙模组的信号,再通过多个基站计算通信夹角与通信时间,并将计算后的信息传送至位置服务器上,服务器通过内置运算得出自行走车床的位置坐标,并将信息加载至已测绘的电子地图上,后台工作人员即能够在应用软件上监测自行走车床的视像位置目标点。本设计主要包括导航技术模块、自行走车床硬件模块、软件功能模块。

2 导航技术方案

蓝牙室内导航技术是基于Bluetooth5.1 AOA到达角度位置服务实现原理,定位精度实测在0.5 m以内[4]。蓝牙AOA技术是以发射器和接收器为基础。本设计原理中,将在室内使用圆阵天线阵列的蓝牙基站作为实现蓝牙AOA技术室内定位接受器,将自行走车床搭载蓝牙模块实现信号发射用作蓝牙AOA室内定位的发射器。当蓝牙模块发射信号时,圆阵天线阵列的天线获取到信号的波达方向角后,继而可计算出定位终端的位置[5]。

圆阵天线阵列通过POE交换机供电并统一接入位置服务器,位置服务器负责接收所有圆阵天线阵列蓝牙基站的信息;通过算法计算,将位置信息形成一个二维室内导航坐标;随后将二维室内导航坐标发送至自动驾驶转运车床的实时运算系统中,最终形成一条位置发送,位置计算服务和位置二维信息应用的数据链接,最终实现室内高精度导航。

3 硬件设计

3.1 设计思路

自行走车床设计有上下收缩的护栏,在患者需要使用车床和转移病床时,收缩护栏可向下收缩,整体收藏,使整个上下床动作不受护栏的影响。床板四周布置显示屏按键模块,声光模块和超声、TOF避障模块。由于室内导航的定位精度在0.5 m范围内,因此实现车床的自行走必然需增加避障模块,以在遇到障碍物和路上行人时作出适时的方向调整和避让[6]。自行走车床的整体控制由显示屏按键模块实现,主要实现装备的整体开关机、模式选择和确认等功能,同时将自动行驶车床的电池信息,行进速度、路程进度和通信状态等信息呈现在显示屏上。声光模块的设计目的是在行进过程中提醒路人注意防止碰撞,利用播放循环声音和灯光的警示警戒过往路人;同时,自行走车床可将电量状态和错误状态以最简单的灯光模式作出相应的提示,使用者能够在最短时间内了解自行走车床的实际状态。自行走车床底盘使用六轮设计,包含4个减震万向轮和2个电动轮,电动轮通过收、放脚踏实现自行走状态和人工应急推行状态的切换。

3.2 车床自行走底盘设计

自行走车床不仅应用了导航自驾驶技术,还兼顾实现了普通车床的功能。本设计使用可伸缩的电动轮,在应对紧急突发情况时,电动轮可进行收缩。当电动轮收缩时,车床4个带减震的万向轮只能在人力的推动下进行移动。电动轮采用双电机结构,通过双电机结构能够实现车床的整体全方向移动。

3.3 车床硬件电路模块设计

硬件电路设计主要包括电源电池供电模块、高性能微控制器STM32F407功能模块、LINUX系统设计功能模块、WIFI模块、蓝牙定位模块、电机驱动模块、六轴陀螺仪模块、超声避障模块、TOF避障模块、声光提醒模块、显示器模块、按键控制模块等。(1)高性能微控制器STM32F407功能模块:意法半导体STM32系列的STM32F407拥有2个12位的DAC和1 MB Flash,提供168 MH的CortexTM-M4内核(具有浮点单元)性能,主要实现行进环境障碍物和方向的感知和自行走车床的各个功能控制。(2)LINUX系统设计功能模块:LINUX系统设计硬件使用英伟达Jeston Nano[7],其开发板包含1块4核A57CPU、128核Maxwell架构GPU以及4G内存,主要用于与院内网连接,并从院内网获取当前的位置坐标信息,通过对获取的坐标信息进行运算后,将信息传送至下位机实时操作硬件的STM32F407中,并由STM32F407控制整台自行走车床的移动方向;Jeston Nano同时也从下位STM32F407中获取得到超声避障模块和TOF避障模块所提供的障碍物信息和六轴陀螺仪信息,结合自身已编译的地图坐标和障碍距离,加上六轴陀螺仪的加速度和方向信息,完成自行走车床整个移动环境、车身四周情况和车身方向速度状态情况的感知[8];此外,Jeston Nano连接8寸显示屏,可显示电池电量、目标地址、当前坐标等信息,蓝牙定位模块通过供电完成定位信号的发射,信号坐标通过位置服务器计算后将坐标回传到Jeston Nano中,最终形成自行走车床的位置信息服务数据链[9]。(3)WIFI模块:Jeston Nano并未集成WIFI模块,但提供了1个M.2接口用于外接无线网卡,WIFI模块使用无线网卡Intel 8265NGW,以及802.11ac无线网上标准,双频段(2.4G和5G)、2×2的WIFI天线设计,数据传输速度高达867 Mbps;该模块主要实现Jeston Nano与定位服务器的数据通信,Jeston Nano使用WIFI与定位服务器实时连通,可读取定位服务器中的地图信息和坐标信息。(4)蓝牙定位模块:蓝牙AOA技术是蓝牙5.1标准提供的服务,本设计采用Nordic nRF52811蓝牙5.1定向测距系统级芯片,Nordic Semiconductor推出nRF52811系统级芯片(SoC),这个全功能无线连接解决方案支持蓝牙5.1测向(Direction Finding)功能和一系列流行低功耗无线协议,nRF52811 SoC的蓝牙5.1测向功能使得定位解决方案不仅仅依赖于接收信号强度数值(RSSI),还可基于信号的实际方向;自行走车床的定位坐标是基于nRF52811 SoC的蓝牙5.1定位功能实现。(5)六轴陀螺仪模块:六轴陀螺仪模块使用MPU6050,可测量加速度、角速度和姿态角,采用I2C数据接口[10];STM32F407通过连接MPU6050实现读取自行走车床的行进方向、车体加速度的测量。(6)超声避障模块:超声避障模块选用URM09超声波传感器[11],其中,URM09超声波传感器有内置的温度补偿,确保在温度变化的应用场景中实现准确测距,有效测距为2~500 cm,分辨率为1 cm;该超声波传感器分布在自行走车床的床板前沿和后沿,分前、后、左、中、右布置共6个,使用I2C通信,实现全方位的障碍物感应。(7)TOF避障模块:TOF避障模块使用TOF Sense激光测距传感器模块,其中,TOF Sense是一款基于TOF(飞行时间)技术的激光测距传感器,分辨率为1 mm,量程为1~500 cm,使用UART接口,最多支持级联8个,项目使用前、后、左、右各1个的分布方式;TOF Sense的使用可确保在一种方式获取距离失败后并不影响避障的功能性,使用I2C通信,实现安全避障的双保险。(8)电机驱动模块:使用2个24 V大扭矩减速电机,通过控制2个电机的速度和正转、反转实现自行走车床的全方向行动。(9)声光模块:“3.1设计思路”中已作介绍,此处不再赘述。(10)显示器模块:显示器模块与Jeston Nano连接,使用8寸多点触控电容屏,显示自动行驶车床的电池信息,行进速度、路程进度和通信状态等信息,并能够通过屏幕触控进行功能的选择和参数的调节。

4 软件设计

自行走车床的软件包含上位机多任务操作系统和下位机实时操作系统2个部分,Jeston Nano部署多任务操作系统,单片机STM32F407使用实时操作系统;上位机系统主要实现地图导航和信息交互功能,下位机系统则主要实现传感器数据读取、车轮控制等即时动作功能。

4.1 上位机多任务操作系统设计

上位机使用ubuntu18.04安装ROS(Robot Operating System) Melodic版本的ROS[12]。ROS是一款机器人软件平台,可为异质计算机集群提供类似操作系统的功能,如ROS可提供实现不同功能的各种软件包,如定位绘图、行动规划、感知、模拟等,其中,定位绘图由软件map_server实现,map_server提供包提供了1个map_server ROS Node,该Node通过ROS Service方式提供地图数据。自行走车床的地图来源于物联网定位服务器,将已创建的地图和定位数据传至map_server。蓝牙AOA定位技术的定位精度实测约在30 cm,因此,需要配合多个辅助传感器提升避障能力,并将障碍物数据回传至上位机map_server,重新规划路线。上位机Jeston Nano与下位机STM32F407通信使用TTL通信协议,在上位机ubuntu18.04系统中使用Python处理上下位机的通信握手对接,并应用pyserial封装模块处理对串口的访问,实现上位机Jeston Nano传送速度,将方向数据传至下位机STM32F407,由下位机STM32F407执行,下位机STM32F407则将采集的超声避障传感器、TOF避障传感器和六轴陀螺仪传感器的数据上传至上位机Jeston Nano用于修正路径。

4.2 下位机实时操作系统设计

下位机使用Keil uVersion 5.0语言编译,主要使用STM32库函数开发处理,其中,库文件主要使用stm32f4xx_hal_gpio.c、stm32f4xx_hal_rcc.c、stm32f4xx_hal_usart.c和stm32f4xx_hal_i2x.c。在自行走车床的设计中,使用的超声避障传感器、TOF避障传感器和六轴陀螺仪传感器均使用I2C通信。

stm32f4xx_hal_gpio.c用于下位机STM32F407的引脚设置。由于自行走车床的电机驱动由下位机STM32F407控制,因此下位机STM32F407需设置相应的引脚。引脚设置为GPIO_Mode_AF_PP复用推挽输出,引脚的频率GPIO_Speed_50 MHz带宽设置在50 Hz。自行走车床通过下位机STM32F407的引脚输出PWM信号控制电机的速度、前进和后退。此外,超声避障传感器、TOF避障传感器和六轴陀螺仪传感器均需要与下位机STM32F407相连接,引脚需增加设置为GPIO_OType_OD开漏输出,实现I2C的线与逻辑。

stm32f4xx_hal_rcc.c文件主要是实现内部和外部时钟以及总线时钟的配置。PWM信号的发生需要时钟的启动,同样I2C的数据传输也需要时钟的配合。在下位机STM32F407控制电机中,需使能RCC_APB1Periph_TIM3产生电机PWM信号定时器,在I2C通信中使能RCC_APB1Periph_I2C1定时器进行通信使用。

异步串口初始化函数,初始化串口时我们调用的函数在源文件stm32f4xx_hal_usart.c中。上位机Jeston Nano控制着下位机STM32F407的电机驱动,下位机STM32F407上传传感器信息至上位机Jeston Nano,整个过程基于串口通信进行。在串口使用前需初始化UART1_Handle.Init.BaudRate输入波特率,UART1_Handle.Init.Mode串口异步收发模式,UART1_Handle.Init.Parity串口收发校检位,UART1_Handle.Init.StopBits串口收发停止位和UART1_Handle.Init.WordLength串口数据位。

stm32f4xx_hal_i2x.c是下位机STM32F407操作I2C通信的文件。在下位机STM32F407使用I2C通信与超声避障传感器、TOF避障传感器和六轴陀螺仪传感器连接时,需对HAL_I2C_Init()函数进行初始化,配置hi2c1.Init.OwnAddress1的I2C地址,设置hi2c1.Init.Timing的通信频率。

5 小结与展望

随着新一代信息技术与医疗装备技术跨学科发展的提速,未来物联网技术在各行各业中将担当越来越重要的角色。在医院物联网建设逐渐普及的背景下,精准的室内导航地图基础已较成熟,其应用需要不断拓展。本设计通过接入医用物联网切实降低了硬件的开发成本,实现了车床的中央监控和统一调配,同时从选材和设计方面不断优化,配备可收缩护栏便于患者上下床,为自行走、人力推运的状态切换提供了保障,并使用较成熟的传感器提高了车床运行的稳定性;为降低自动驾驶车床的制造成本,本设计通过模块加装将普通车床升级至具有自动驾驶功能的自行走车床,适合推广应用。

总之,自行走车床的设计及推广提高了患者转运效率,降低了医院运营成本,提升了智能诊疗质量,是数字化医院未来的发展趋势。

猜你喜欢
下位车床陀螺仪
KD514:陀螺仪船桨空间姿态捕捉方法
基于Allan方差分析的陀螺仪漂移误差辨识与仿真复现
车床三爪卡盘找正组合工具
基于EMD的MEMS陀螺仪随机漂移分析方法
基于UDS协议的CAN BootLoader的开发与验证
某MT车型无法启动和怠速启停失效问题分析
机械加工中液压车床的现状
发射机房监控系统之下位机
数控卧式重型车床主传动设计
数控卧式重型车床主传动设计