基于AI控制的端到端训练,为机器人提供了比传统的“测量-执行”模式更可靠、更精确的运动引导。

 

Figure 1: For 3D problems, feature detection needs to be performed on depth images, typically point clouds, created by dual-camera stereo systems or time-of-flight-based cameras that emit infrared light and measure the time it takes the reflection to arrive back at the camera. (Images courtesy of Micropsi Industries.)

图1:对于3D问题,需要深度图像(通常是点云)进行特征检测,这些图像由双相机立体视觉系统或基于飞行时间(ToF)的相机创建;ToF相机发射红外光并测量光从被测物反射回相机所需的时间。(图片来源:Micropsi Industries)

工业机器人擅长以亚毫米级的精度执行某些运动,尤其是当它们在空间中有一个单一、明确的目标位置要到达时。工业机器人能够完美地执行路径规划,并且能够在速度、距离、磨损和精度方面进行优化。这种方法的另一个优点是,合格的操作员可以很容易地访问机器人基础坐标系中的一组3D坐标,操作员能够很容易地理解它们。工具旋转描述(如欧拉角或四元数)虽然不太直观,但是根据经验,操作员仍然能够比较容易地阅读并检查其合理性。

虽然精确执行是现代机器人的一大特征,但不幸的是,它们并不擅长精确测量。由于受到光照条件、形状和颜色等细微变化的影响,工业相机经常捕捉到错误的坐标。即使在完美控制的照明光的情况下,也很难测量三维空间。而且,镜头上的一点点灰尘,都可能会影响精确测量所需要的单个像素。

完美地执行到错误目标的路径,将是一个糟糕的结果。因此,许多机器人工程师都对工业相机爱恨交织。当相机运行可靠时,便能实现非常令人满意的机器人应用效果。但是,让相机的可靠运行很难得到保障时,机器人的执行效果自然也会偏离预期。因此,为了降低项目风险并保持解决方案的简单性,工程师通常避免使用工业相机。

实时的相对运动

与机器人不同,人类的动作执行可能出错,人类的测量也可能出错。我们设法解决了机器人无法理解的协调运动问题。这是因为他们做错了。

人类在移动时不测量,人类会朝着目标进行相对的、实时控制的、粗略的移动,并且经常进行纠正。他们解决的不是一次测量就达到完美、然后一次就能完美执行的极端困难的工程问题,而是经常性地解决一个更加简单的问题,一点点地不断向着目标前进。

类似的策略最近才应用到机器人中,因为在深度神经网络到来之前,“大致朝着目标移动”并不是一条机器人能够理解的指令。现在,可以训练神经网络来理解这个目标,而无需明确指定。而且,有可能以足够快的速度执行神经网络数学计算,以模拟人类向目标“视觉伺服”的能力,并在接近目标的过程中,进行多次小而快的路径修正。

 

Figure 2: To get started with the MIRAI system, designers simply connect the robot, the F/T sensor, the camera(s), and the MIRAI controller. Set up time typically takes 30-45 minutes.

图2:为了开始使用MIRAI系统,设计师只需连接机器人、F/T传感器、相机和MIRAI控制器。设置时间通常需要30~45分钟。

特征工程

工程师思考算法应注意的特征,例如边缘或特征点,然后在原始数据甚至物理世界中配置操作,以使特征易于查找。这需要有大量的经验、对算法的深入理解以及对应用技巧有足够的知识积累。这个过程既复杂又耗时。

简单模式匹配(Naive pattern matching)是测量2D位置的最基本方法。在该方法中,相机被校准以检测每个图像像素的准确位置。通过计算预定义图案和相机图像的所有重叠图案的匹配尺寸之间的差异,来确定位置。这些算法本质上是对像素进行计数,以确定图像中与正在查找的图像最相似的部分。

诸如BRIEF、SIFT或SURF等更复杂的算法,使用过滤器来强调图像的特征或关键点,然后在特征空间而不是原始像素上执行模式匹配。这种方法使得算法能够独立于缩放和旋转来确定位置,并且两个潜在匹配之间的距离计算,也可以比像素空间中的距离计算快得多。对于3D问题,特征检测需要深度图像,通常是点云,这些深度图像由双相机立体视觉系统或基于飞行时间(ToF)的相机创建;ToF相机发射红外光,并测量光从被测物反射回相机所需要的时间。

即使是在2D中,这些技术中的大多数,在有某种形式的结构化光投射到场景的情况下,都能很好地工作,来提取表面信息。像素亮度或颜色的微小变化,很容易使这些算法失效。通常通过忽略颜色(以及其中可能包含的所有有用信息)或是通过打光方式(如用一个非常亮的反射点作为特征描述算法的参考点),来故意降低图像复杂性。有时,这是在光谱的非可见部分执行的,以避免日常照明变化的干扰。但是如果有阳光进入场景,结果就会发生偏差。

最根本的问题是,人们使用了一些技巧来掩盖可能分散脆弱算法注意力的信息。降低图像复杂度的一个适当方法,是使用像人类一样观察场景的算法。人类考虑所有到达眼睛的信息,包括颜色、形状、亮度、反射和折射,并且人类知道应该忽略掉哪些与他们的目标不相关的信息。

端到端深度学习

为了知道要忽略什么,算法需要知道视觉信息的最终用途。需要将问题的测量部分与执行部分分开,这是计算机视觉过去如此困难的一个原因。

当知道一个深度神经网络处理一幅图像用来做什么时,或是知道机器人需要如何移动时,它就可以学习忽略什么。换句话说,网络还可以推理正确的动作。这意味着,将端到端神经学习与实时控制相结合,提供了一个强大的组合。

新的视觉控制系统正在扩大机器人的可能性。训练机器人拿起电缆并将其插入测试应用的线槽中,需要使用这些新的AI机器人系统之一,以及一套硬件设置;这套硬件设置包括放置机器人的桌子或自动引导车(AGV)、夹具和安全设备。而且,用户需要训练机器人的深度神经网络。这一过程的执行要比听起来更简单,这要归功于包含所需数学算法的产品。

为了执行训练,最终用户将机器人的工具相对于物体定位在空间中合适的位置。在前面的示例中,目标是将插头定位在电缆末端,而电缆在空中悬挂。安装在机器人手腕上的一个简单的2D彩色相机,向AI控制器提供一系列图像,训练机器人去哪里,相机捕捉目标周围的环境。随后,用户移动电缆以创建另一个问题场景。接下来,用户将工具放置在正确的地点,保存位置信息,然后再次让机器人到达指定地点。如果用户重复这个过程20分钟,他们将收集足够的数据供神经网络学习。然后,AI控制器将启动其训练系统并处理数字,计算机器人的技能,概括展示给它的所有示例。一会儿功夫,这个技能(一个用记录的用户数据训练的神经网络)就训练好了。当执行时,网络将从相机流中读取图像(通常每50ms读取一次),并决定如何移动机器人,不是在精确的坐标下移动机器人,而是如何让机器人移动到更接近预期的位置。

从他们已经给出的例子中,神经网络了解了哪些信息可以忽略,例如在不同的例子中发生了变化的一些细节,包括光线亮度、背景、反射以及电缆的精确形状。神经网络还知道哪些信息与问题相关。对于拿起插头,相关信息可能是插头的颜色和形状,以及接近插头的最佳角度。如果有足够一致的数据,机器人将能够拾取悬挂的插头。

当用户第一次接触AI系统时,许多人都认为,因为它是智能的,所以系统可以简单地猜测它应该做什么。事实并非如此。智能,在于它能够学习所教的任何东西,但它仍然需要好的老师。成功的AI包括好的算法和好的数据。对于一些AI机器人控制器,算法包括在内,但是数据必须来自用户,而且这些数据必须有用。向机器人展示一致的数据,例如,目标是可见的,对于类似的图像,已经演示了类似的动作,此时机器人的行为将比使用旧的“测量-执行”模式实现的任何行为,都更加强大。

 

Figure 3: This photo shows an application with ZF, a glob al technology company headquartered in Friedrichshafen, Germany. It uses the Micropsi MIRAI robot control system to automate machine tending in a high-volume milling station where gears are manufactured.

 

图3:在德国ZF公司的一项应用中,使用Micropsi-MIRAI机器人控制系统,在制造齿轮的大容量铣削站中自动操作机器。

使用AI控制器

并非所有的机器人运动都需要通过相机实时控制。事实上,大多数运动都不需要。相机控制通常仅在移动结束时需要,例如,当发现粗略位置已知的对象时,当拾取或检测对象时,或者当插入或组装对象时。中间阶段(自由空间中两点之间)的运动相当简单,可以由机器人的控制软件进行位置控制和路径规划。因此,工业机器人的AI控制器将这一部分放在一边。AI控制器也从不直接控制机器人的关节;它们只是告诉现有的控制堆栈,控制器认为应该发生什么。然后机器人自己的控制器决定移动是否安全,或者是否需要平滑。因此,AI控制器不是取代机器人控制器,它也不应该取代机器人控制器。AI控制器是附加组件,用于增强机器人的能力。

如果有一种方法可以从简单的相机图片(为人眼设计的)中提取信息,并确定哪些信息是相关的,哪些是不相关的,那么相机将是理想的传感器。通过深度学习,这种提取信息的方式现在成为可能;通过端到端学习,也可以区分相关和不相关的信息。