新闻中心

News

机械手在智能座舱测试中的应用


智能座舱的背景


对智能座舱来说,我们会把所有跟驾驶员进行直接交互、直接触碰、或者能感知到的,都归在智能座舱里,包括仪表、多媒体显示、多功能方向盘等等。


那么智能座舱所实现的智能化的驾驶方式目前达到了什么样的层次?


对今天而言,智能座舱已经实现了车内的娱乐系统、导航、驾驶辅助系统等相关控制单元的互动,而且操作非常便利。整车娱乐系统的架构,因为在不断发展和进步,需要实现互联,包括车内互联网的运用提升。


机械手在智能座舱中的地位


在上周的推文中大师提到现在汽车行业大变样了,汽车行业也开始施行互联网的996了,无论是传统主机厂还是造车新势力,都开始推智能座舱。可是智能座舱测试过程中涉及的功能点太过宽泛,UI、UE、声音、语音、射频等等,要满足这些功能点的测试,单纯靠工程师们996也无法解决问题,想象一下:


场景1:

领导:小王呀,昨天其他部门反馈咱们的蓝牙连接有问题,你帮忙看看。

小王:好嘞,我试着复现一下。

于是乎,小王点了一整天的蓝牙连接、断开,手都点肿了,也没复现出蓝牙的问题。


场景2:

领导:小宋呀,昨天其他部门反馈咱们的滑屏不太顺畅,你去到每个测试页面滑它几十次,统计下数据给我。

小宋:好的,领导。

一周后......

领导:小宋,报告整理好了吗?小宋?小宋...人呢?

HR:领导,他离职了...


相信小王和小宋在测试时脑海中一定闪现过这样的念头:难道就没有一套自动测试的设备来帮我们完成这种繁冗的测试吗?


IOV智能座舱测试在这种需求下应运而生,IOV智能座舱系统测试中加入机械手代替人工去做点击、滑动等操作,再通过编程保证机械手长时间稳定精确的运行,就可以满足以上场景的自动化测试需求。


什么是机械手


机械手是一种能模仿人手指和手臂的某些动作功能,按固定程序抓取、搬运物件或操作工具的自动操作装置。



如何操作机械手


好的机械手控制算法可以保证机械手长时间稳定精确的运行;在本方案中是采用Aubo i5机械手进行模拟驾驶员做整体的智能座舱交互,那么如何对Aubo i5机械手进行编程控制呢?


4.1配置环境

软件环境:Python3.5.4、LabVIEW 2018 64bit。

Python需导入库:libpy3auboi5、eventlet、multiprocessing、logging


4.2程序控制流程图


4.3演示视频



相机与机械手的手眼标定


在IOV座舱测试中,机械手的动作需要相机的引导,但相机检测的位置是以相机自身的坐标系作为参考坐标系,然而机械手是有自己的坐标系的,所以一定要把这两个坐标系进行映射转换才能让机械手按照相机提供的引导坐标进行相关动作。那么如何将相机的坐标系映射到机械手的坐标系呢?在实际控制中,相机检测到目标在图像中的像素位置后,通过标定好的坐标转换矩阵将相机的像素坐标变换到机械手的空间坐标系中,从而控制机械手到达指定位置。这个过程中涉及到了图像标定、图像处理、运动学正逆解、手眼标定等。


手眼标定根据不同的测试需求分为Eye in hand和Eye to hand两种方式。

Eye in hand:相机装在机械手上,随着机械手移动而移动

Eye to hand:相机装在固定位置,不随机械手移动


下图给出了标定流程图和在LabVIEW中如何利用NI Vision进行Eye to hand标定的基本用法。




机械手安全防护


在IOV测试中提供了两种安全防护:

(1)光栅防护:可防止人进入机械手的工作区域,一旦触发光栅信号,机械手立即停止动作防止造成人员伤害。

(2)6轴力传感器:在机械手末端加装6轴力/力矩传感器,检测3个方向的力和3个方向的扭矩。一旦力或者力矩超限,程序立即急停,防止设备损坏。


光栅防护


力传感器护


经过上述的讲解相信小宋和小王都已经可以很好的解决在测试过程中遇到的问题了,并且可以完成很多触控交互仿真的测试用例。


不过以目前机械手的技术,做不到人手的灵活程度,所以并不能完全代替人的手指去做一些操作,比如五指缩放、三指截屏等一些操作还是存在一定的技术难点;而未来的智能座舱是需要实现自我延伸,随我所想,要知道在什么时候我需要做什么,无论是无边界、车辆的高度智能、还是整体的交互,都对智能座舱测试工作提出了很大的挑战。


俗话说“懒人改变世界”,而在未来的智能座舱测试工作中,机械手会起到至关重要的作用。随着技术的不断突破,相信未来机械手可以达到人手指和手臂的灵活程度,通过编程调试控制机械手做对应操作,完全替代人去做驾驶员交互方面的工作,进而节省大量的人力物力和时间成本。