何源 罗金良 严庆
摘 要:本文主要研究探讨了冗余型机械臂在按摩、推拿这样的医疗保健服务上的可操作性,针对OpenCV实现地机器视觉和工业机器人目前这两大热门技术进行有机结合,以实现工业机器人在摄像头的监督下,能够检测、识别出人的背部位置,从而以此为基础,机器人可以自动的为客人进行按摩服务,以节省人力成本。
关键词:工业机器人;机器视觉;OpenCV;保健服务
随着我国经济快速而又持续的发展,各式各样的服务业正在快速地发展开来,其中又以按摩、推拿这样全靠人工的服务最为典型。但伴随着我国经济发展的是劳动力价格的逐年上升,经营一家按摩店,其中的人力成本要占去一块很大的比例;并且从事按摩服务的服务员素质参差不齐,难以保证按摩服务在整个服务期间的质量。为了解决其中的矛盾,利用工业机器人来代替人的手臂去从给人从事按摩服务,不仅能够把机器人稳定、精确和灵活性强的特点充分展现出来了,还大大降低了整个按摩理疗业的经营成本,可以让越来越多的人可以享受到按摩理疗给人带来的愉悦和健康。
1 机器臂的逆运动学
机器臂的运动学最关键、最重要的莫过于它的逆运动学的求解,这也是有关机械臂的研究中较热门的领域。对于自由度数目不超过6的非冗余机械臂来说,对方程:r(t)=f(θ(t))进行求逆得到一个封闭形式的解:
其中r(t)、θ(t)分别对应的是机械臂末端执行器在t时刻的位姿、机械臂各关节在t时刻的旋转角。直接利用(1)式对机械臂的关节角进行求解存在着形式复杂、计算量大以及不容易求得等的情况出现。且对于那些冗余型机械臂来说,一个末端执行器的位置可以求解出不止唯一一组对应的关节坐标,而Jun Wang等人在2001年发表的一篇文献就很好地用双神经网络解决了有关冗余机械手逆运动学求解的问题[1]。它的方程形式为:
以(2)、(3)为基础,通过设计好的神经网络可快速地计算出各关节的关节坐标值。
2 机械臂视觉伺服控制
通过视觉来控制机械臂运动的核心是相机对目标体进行的位姿估计。在这个工程中,对相机来说,需要知道它的内在参数(焦距、感光器件上每个像素在水平和竖直两个方向之间的距离、图像平面与光轴的交点坐标)及其相对地面的位姿。对目标体来说,需要知道目标体上的若干个点相对于目标体坐标系的坐标值(即目标体的几何形体),再通过算法计算出目标体上的这些点在图象平面上对应的图象坐标值。知道了上述的几个参数,可以完成相机对目标体的位姿估计。
确定相机和目标体之间的位姿后,根据相机和机械臂之间具体的位置关系(相机固定在机械臂末端上的闭环结构或相机固定在周围的环境里使相机和机械臂两者互不干扰),得到机械臂末端执行器和目标体之间位姿。随后就要通过机械臂的控制系统发送相应的指令使末端执行器移动到下一个位姿状态,末端执行器此时就朝着目标体的方向移动一小段距离。在使末端执行器移动到一个已知的位姿时,必须要利用到上面的章节“机械臂逆运动学”里提到地逆运动学求解方法来快速地求得运动所需的各关节转动角度。同时在这个过程中,相机对目标体和机械臂观测得到的参数会不断地传输给控制系统,直到末端執行器到达目标体所在位置为止。
3 人体背部的识别和确定
以上的两个章节是事先知道目标在图像平面里的坐标位置的前提条件下,我们的机械臂才能通过上面的方法运动到目标位置。事实上,我们是要自己想办法去识别确定出相机所拍摄图像里目标所对应的像素位置,为此我们可以利用OpenCV提供的图像识别算法来对相机所得到的图像进行处理、训练,再到最后的识别确认。具体来讲,对图片的处理主要涉及到对图片进行缩放、边缘检测、区域分割筛选等步骤,将分割筛选出的图片用SVM进行归类,判断被归类的图片是否包含人体。如果图片被判断是包含人体的,则记录这一图片在原图上所在的位置和区域,这一位置区域所对应的空间范围就是机械臂末端执行器在进行按摩服务时所处的范围。至此,整个的基于视觉伺服控制的、应用于按摩理疗服务业的机械臂所需要的关键技术点被构建出来了。
4 总结
本文所设计地用于按摩理疗的机械臂结合了机械臂逆运动学求解、机械臂视觉伺服控制和图像识别这三大热、难点技术,并针对这三种不同方向的技术难题找到适合我们这种机械臂工作的解决方案。文中所提到的这些方法优点是技术成熟、稳定以及可靠性高,不过由于本文的初衷只是对所设计地机械臂提出大致的解决方向和步骤,很多方法的具体实现过程就没有被呈现出来了,这些欠缺的部分是需要日后逐步完善的。
参考文献:
[1]Xia Y, Wang J. A dual neural network for kinematic control of redundant robot manipulators[J]. IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics A Publication of the IEEE Systems Man & Cybernetics Society, 2001, 31(1):147-154.
[2]Duguleana M, Mogan G. Neural networks based reinforcement learning for mobile robots obstacle avoidance[M]. Pergamon Press, Inc. 2016.
[3]巴焦刘波. 深入理解OpenCV : 实用计算机视觉项目解析 : Mastering OpenCV with practical computer vision projects[M]. 机械工业出版社,2015.
[5]Falk J E. Nonlinear Programming. Theory and Algorithms[M]. Wiley, 1979.
[6]Corke P. Robotics, Vision and Control: Fundamental Algorithms in MATLAB[M]. Springer Publishing Company, Incorporated, 2011.