1.一种基于人体姿态识别的ROS平台在线机械臂示教系统,搭建在开源机器人操作平台ROS之上,包括彩色摄像机Microsoft KinectV2两台,基于JY901和蓝牙模块制作的IMU五个,安装Ubuntu系统的计算机一台,Universal Robot公司生产的UR5机械臂一台;彩色摄像机与计算机通过USB连接传输数据,IMU与电脑通过蓝牙进行数据传输,机械臂通过局域网与计算机相连接,计算机包括:用于采集人体姿态数据的IMU模块、图像预处理模块以及关节识别模块,用于求解人体实时姿态与位置的人体姿态求解模块,用于控制机械臂动作的机器人行为决策模块与机器人IO模块;其中,机器人决策模块根据求得的人体姿态数据发出控制指令,该控制指令通过机器人IO模块发送至机械臂以实现实时示教,其特征在于:包括:
IMU模块,包括惯性测量单元IMU,为人体姿态求解模块提供IMU的测量数据;求解硬件系统内部信息,以数据包形式向上位机发送测量数据,上位机拥有解包模块将数据就行解析;解包完成后把测量数据转换至参考坐标系下,并将加速度信息和旋转信息提供给人体姿态的优化求解器中;
图像预处理模块,用于确定参考坐标系的位置,并将参考坐标系发布至tf空间中;tf(Transform Frame)是软件库,它可以处理机器人不同位置坐标系,机器人不同部位和世界的坐标系以tree structure 的形式存储起来,tf可以使任何两个坐标系之间的点和向量相互转化;图像预处理模块还用于为关节识别模块提供各个相机的彩色图像在降采样并拼接后的图像,并将图像发布给关节位置识别模块;
关节位置识别模块,用于对所有画面中的人物的关节位置进行位置识别,通过对从图像预处理模块中获得的多个相机的拼接图像进行识别,使得同一画面即使出现多人的情况下也不会明显的降低算法的性能;通过对输出的结果进行置信度过滤,并去除与上一帧识别结果相差过大的对象,最后将唯一剩余的对象的关节数据发布给人体姿态求解模块;
信息显示模块,用于将人体姿态模块求解的三维姿态结果重新投影至相机拍摄的图像中,以便操作人员和监控人员可以观察自身姿态识别是否正常;信息显示模块也会显示机器人目前姿态和行动目标,辅助操作人员监控示教状态;
人体姿态求解模块,用于接收IMU模块和关节位置识别模块提供的信息并解算重构出人体的姿态,在每一帧信息求解结束后会将人体的姿态和位置信息以参考坐标系为准发布至tf空间中;
机器人行为决策模块,用于根据tf空间中机器人自身与周边操作人员的情况来进行行为决策,给出机器人的运动目标,并向机器人IO模块发出控制指令;机器人行为决策模块也会对操作人员不合理的指示进行过滤或重新定向,并向操作人员发出提示或警告;
机器人IO模块,用于求解机械臂基座姿态,并通过正运动学求解,向tf空间实时发送机器人的空间运动状态;此外,机器人IO模块也提供了控制机器人的接口,对机器人的控制指令可以通过该模块进行实际的执行;
所述的IMU模块提供的旋转信息、加速度信息和关节识别模块提供的2D关节位置信息共同用于人体姿态的解算;
所述的信息显示模块通过接收人体姿态求解模块和机械臂IO模块提供的信息可反馈给操作者自身的动作姿态和机械臂再现的姿态,为操作者实时监控示教系统搭建了平台。
2.根据权利要求 1所述的基于人体姿态识别的ROS平台在线机械臂示教系统,其特征在于:所述的机器人行为决策模块内置控制算法以实现平滑运动;同时对不合理操作指示进行过滤或重新定向,并向操作人员发出提示或警告。