1.一种自动开门的智能服务机器人系统,其特征在于:包括医护机器人硬件平台以及开门软件平台;
所述的医护机器人硬件平台包括机器人智能移动平台、机械臂开门装置以及计算机识别定位装置;
所述机器人智能移动平台包括AGV移动底盘、供电系统、工控机、嵌入式控制器、路由器以及运动控制装置,所述AGV移动底盘包括驱动轮、麦克纳姆轮、超声波传感器和激光雷达,所述工控机安装于所述移动底盘上方,所述工控机拥有室内导航模块,通过由所述路由器提供的ETH网络连接的激光雷达传递而来的数据对室内环境进行建图与导航,运动控制装置通过连接所述路由器提供的ETH网络,接收同一局域网下所述工控机传递而来的指令处理所述超声波传感器所获得的数据,来对室内环境中的障碍物进行检测;所述工控机通过局域网将控制指令传递给运动控制装置,所述运动控制装置通过CAN总线将控制指令发送给所述嵌入式控制器,同时所述嵌入式控制器也将返回反馈数据给所述运动控制装置,所述嵌入式控制器将PWM信号传递给2路电桥进行电机驱动控制,所述2路电桥同时通过电流采样IC来将电流信号反馈给所述嵌入式控制器,以及将电机电压信号传递给两个电机进行电机运转,电机通过光电编码器将转速信号反馈给所述嵌入式控制器,同时电机获得驱动转动信号用于驱动所述驱动轮转动,且驱动轮带动所述麦克纳姆轮进行机器人整体的运动;所述供电系统包括电源管理器、变压器以及锂电池,所述运动控制装置通过485总线连接供电系统,所述电源管理器用于防止所述锂电池过载,所述变压器用于对所述锂电池电压进行升降压处理来连接机器人内部各个元器件;
所述机械臂开门装置安装于所述智能移动平台上方,包括机械臂、末端执行器和躯干部分,所述机械臂置于所述医护机器人左侧,所述机械臂末端安装所述末端执行器,所述躯干部分安装在所述医护机器人右侧部分,包括交互屏、载物台以及抬升杆,所述交互屏通过USB总线显示所述工控机的控制界面,所述载物台用于搭载所述机械臂,所述抬升杆与通过局域网接收所述工控机控制指令的运动控制装置通过CAN总线相连接,用于控制躯干部分的整体高度;
所述计算机识别定位装置包括双目RGBD相机以及四自由度云台,所述双目RGBD相机置于所述四自由度云台之上,所述工控机通过USB总线与所述双目RGBD相机连接,将所述双目RGBD相机获取的环境信息进行处理,通过深度信息以及RGB图像利用目标检测算法,用以完成待抓取物体的识别与定位,所述四自由度云台与运动控制装置通过485总线相连接,用以改变所述双目RGBD相机的角度;
所述的开门软件平台包括安装在医护机器人的所述工控机上的物体识别检测模块、坐标系转换模块、机械臂运动模块、物体抓取模块、底盘运动模块、机械臂柔顺控制模块,以及安装在嵌入式控制器上的驱动轮控制模块、升降杆控制模块、四自由度云台控制模块;
各模块的具体构成是:
驱动轮控制模块,控制驱动轮转动;从底盘运动模块输入速度信息,并通过PID控制器调整驱动轮内部电机转速,控制驱动轮的转动;
升降杆控制模块,控制升降杆运动的模块;从机械臂运动模块输入速度信息,并通过PID控制器调整升降杆内部电机转速,控制升降杆运动;
四自由度云台控制模块,控制四自由度云台运动;从机械臂运动模块输入速度信息,并通过PID控制器调整四自由度云台内部的电机转速,控制四自由度云台的转动;
物体识别检测模块,识别检测物体;通过目标检测算法以及双目RGBD相机传入的实时数据,识别检测出周围环境中门与门把手的信息,并得到门与门把手位于相机像素坐标系中的坐标,再将门的位置信息输出给底盘运动模块,将门把手像素坐标输出给坐标系转换模块;
坐标系转换模块,转换物体坐标;接收物体识别模块的门位置信息,并将其转换成为位于机械臂基坐标系下的坐标,再输出给机械臂运动模块;
机械臂运动模块,控制机械臂运动到目标位置;接收坐标系转换模块的机械臂基坐标系下门把手坐标信息,设为机械臂末端所需要到达的位置,通过逆运动学求解获得机械臂各个关节所需要旋转的角度,并通过机械臂的轨迹规划获取执行最优路径,使得机械臂运动至待抓取物体处,同时,机械臂运动模块将速度信息输出给升降杆控制模块以及四自由度云台控制模块;
物体抓取模块,控制机械臂末端执行器;接收工控机的控制指令来控制机械臂末端执行器闭合,完成物体抓取与放置操作;
底盘运动模块,控制机器人智能移动平台进行轨迹规划,动态避障;接收超声波传感器以及激光雷达获得的周围环境的数据,并与物体检测模块结合,通过接收物体检测模块传入的门的位置信息定位出门位于整体环境的位置并通过路径规划算法使得工控机通过局域网将运动信息传输给运动控制装置,再通过CAN总线将控制指令发送给嵌入式控制器,同时嵌入式控制器也将返回反馈数据给运动控制装置,嵌入式控制器将PWM信号传递给2路电桥进行电机驱动控制,2路电桥同时通过电流采样IC来将电流信号反馈给嵌入式控制器,以及将电机电压信号传递给两个电机进行电机运转,电机通过光电编码器将转速信号反馈给嵌入式控制器,同时电机获得驱动转动信号用于驱动驱动轮转动,实现机器人可移动平台的运动;
机械臂柔顺控制模块,是一个用于机械臂运动的控制器,通过机械臂末端实时力反馈修正控制机械臂的各个关节的旋转角度;
机械臂柔顺控制模块与环境的模型为:
其中m、b、k分别表示质量、空气阻尼以及弹性系数;ad,vd,xd分别为期望的加速度、速度和位置,a,v,x分别为实际的加速度、速度和位置;F,f分别表示该模型中的期望交互力以及实际交互力;在实际开门任务中,由于开门力矩实时变化,因此加速度以及速度变为0,因此将上式变为:mad+bvd=F‑f (2)
将上式离散化,T为离散时间周期,将上式变形为:
其中,vs+1、vs分别表示s+1和s时刻的末端速度,整理得到基于速度的柔顺控制器,然而,在实际使用中,由于该控制器没有引入位置参数,因此无法对位置偏差进行校正;在考虑位姿信息后得到机械臂与环境的新模型为:其中Δx表示期望位姿的偏差,将Δx离散后得:
其中Δx0表示机械臂刚开始运动时,末端与期望位置的差值;该柔顺控制器最终变为:
引入自适应变量ρ:
其中ρk,Δρk分别代表k时刻时自适应参数以及期望力与实际力的误差;ρ表示接触力的精度,将自适应变量ρ引入导纳控制器,得:M'k=M0kρk+m (8)
N'k=N0kρk+n (9)
其中M'k,N'k分别表示时刻k的质量参数和阻尼参数,M0,N0为理想条件下的阻抗参数;m,n分别为自适应的权重参数值;
将上述基于速度的以及基于位置的控制器相结合共同作用于机械臂移动过程,最终完成开门任务;
开门软件平台在静态环境下自动开门时执行以下步骤:
S1:根据上述医护机器人硬件平台,所述机械臂为KINOVA机械臂,对KINOVA机械臂以及所述双目RGBD相机(9)进行手眼标定,用以将物体在相机像素坐标系下的坐标转换为物体在机械臂基坐标系下的坐标,所进行的手眼标定是眼在手外的标定方式;
S2:通过所述物体检测模块识别出门把手的位置;
S3:将步骤S2中的所检测到的门把手的位置通过所述坐标系转换模块将门把手在相机像素坐标系下的坐标转换为在机械臂基坐标系下的坐标;
S4:通过所述机械臂运动模块使得机械臂移动至S3所提供的位置处,并通过GPD物体位姿检测算法求得抓取门把手时最合适的抓握姿势,同时NODE卡将速度信息传输给所述升降杆以及所述四自由度云台,采用PID控制来使得所述升降杆调整高度使得所述机械臂移动至合适的位置,同时所述四自由度云台调整角度使得相机更好的进行环境检测;
S5:通过所述物体抓取模块使得所述机械臂夹爪夹住门把手;
S6:给出门被打开时门把手的旋转角度,并将其作为机械臂末端的目标位置,通过机械臂运动模块使得所述机械臂运动至门把手旋开状态,在机械臂开门过程中采用所述机械臂柔顺控制模块通过引入位姿反馈使得所述机械臂能够根据反馈值实时调整各关节角度值,实现开门动作;
开门软件平台在动态环境下开门时,执行以下步骤:
T1:根据上述医护机器人硬件平台,对所述的KINOVA机械臂以及所述双目RGBD相机进行手眼标定,用以将物体在相机像素坐标系下的坐标转换为物体在机械臂基坐标系下的坐标,由于硬件的设计要求,所进行的标定是眼在手外的标定方式;
T2:利用SLAM中的Cartographer算法根据移动机器人的里程计数据和激光雷达数据,通过双目RGBD相机所获取的深度消息转换为雷达消息,来绘制二维的栅格地图,实现通过Cartographer算法来构建当前病房环境中的地图;
T3:通过ROS系统中所提供的map_server功能包中提供的map_saver以及map_server节点来完成栅格地图数据的转存,map_server节点将栅格地图保存到本地,map_server节点通过service方式将栅格地图发布;
T4:通过ROS系统中的amcl功能包,实现导航中的机器人定位用以确定机器人的位置,并以此作为机器人移动过程中的起始位置点;
T5:患者给机器人下达开门指令,所述医护机器人接收到指令后,通过所述物体检测模块识别检测出门这一物体;
T6:在步骤T5的基础上将门的信息通过局域网传递给所述底盘运动模块,并以此作为目标位置,此时利用ROS中的navigation导航功能包提供的move_base功能包实现移动底盘的路径规划,move_base能够根据给定的目标点来进行导航,同时所述NODE卡将速度信息传递给所述驱动轮,通过PID控制完成移动底盘的运动,最终控制所述医护机器人移动到门口;
T7:通过所述双目RGBD相机传入的实时环境数据,所述物体检测模块获取到门把手的位置信息;
T8:在步骤T7的基础上将所检测到的门把手的位置通过所述坐标系转换模块将门把手在相机像素坐标系下的坐标转换为在机械臂基坐标系下的坐标;
T9:将步骤T8中获取的门把手信息设为机械臂末端目标位置信息并通过所述机械臂运动模块使得机械臂末端运动至门把手处,通过GPD物体位姿检测算法求得抓取门把手时最合适的抓握姿势,同时所述NODE卡将速度信息传输给所述升降杆以及所述四自由度云台,采用PID控制来使得所述升降杆调整高度使得所述机械臂移动至合适的位置,同时所述四自由度云台调整角度使得相机更好的进行环境检测;
T10:通过所述物体抓取模块使得所述机械臂夹爪夹住门把手;
T11:给出门被打开时门把手的旋转角度,并将其作为机械臂末端的目标位置,通过机械臂运动模块使得所述机械臂运动至门把手旋开状态,在机械臂开门过程中采用所述机械臂柔顺控制模块通过引入位姿反馈使得所述机械臂能够根据反馈值实时调整各关节角度值,实现开门动作。
2.如权利要求1所述的一种自动开门的智能服务机器人系统,其特征在于:所述机械臂包括从下而上的基座、大臂、肩关节、腰关节、肘关节、小臂以及腕关节,其中所述腕关节为所述机械臂末端关节,其接口处通过485总线与所述末端执行器相连接,所述机械臂基座安装于所述载物台上。
3.如权利要求1所述的一种自动开门的智能服务机器人系统,其特征在于:所述机械臂与所述交互屏下方装有所述抬升杆,通过所述抬升杆实现所述机器人整体高度的变化。