广告

3D视觉为机器人增加“眼睛”

2019-05-10 Richard Quinnell 阅读:
人类之所以能够驾驭这个世界,是因为具有三维(3D)感知能力。而这个能力也可以赋予给我们的机器人。但人类感知三维的方式也许并不适用于机器。要引导机器人运用深度传感视觉,需要考虑三个关键方法:立体视觉、结构光和飞行时间(ToF)。

人类之所以能够驾驭这个世界,是因为具有三维(3D)感知能力。而这个能力也可以赋予给我们的机器人。但人类感知三维的方式也许并不适用于机器。要引导机器人运用深度传感视觉,需要考虑三个关键方法:立体视觉、结构光和飞行时间(ToF)。4HLednc

机器人系统已经存在了几十年,但直到最近它们大多都是盲目工作。只需为机器人配备接触传感器、接近传感器和位置传感器,它们就可以优雅地进行精心编排的、无休止的重复动作,可以操纵重型材料,执行精密装配,或焊接复杂的结构。但是,它们工作的成功与否,取决于其环境的精确性、必用材料的精确放置,以及对其运动轨迹的仔细绘制和编程。4HLednc

然而,这种情况正在发生变化。机器视觉和视觉智能方面的研究、半导体制造的进步,以及图像传感器在手机市场上的应用,简化了视觉系统的开发并降低了其成本,使其成为了一种扩展机器人功能的越来越具成本效益的选择。借助视觉(特别是3D视觉)的引导,机器人将变得更能够与自由世界交互,工作起来更灵活,也更容易适应新的任务。4HLednc

然而,特定的机器人所需的视觉特性高度取决于应用。例如,对于那些必须通过视觉引导在杂乱的仓库里移动的机器人来说,它们需要对动态环境进行远程感知,但只需要提供适当的精度。固定机器人的需求则可能完全不同,例如有些机器人用来将箱子里所混合的零件取出,并按相同类型进行堆放,这可能只需要在有限的范围内提供高精度的视觉。执行精密装配的机器人则又有另一套需求。因此,要确定采用哪一种3D视觉方法,首先要对机器“观看”的工作方式有所理解。4HLednc

立体机器视觉

由于和人类观看的方式相似,最容易理解的3D方法是立体视觉。这是一种三角测量法,即用相隔一定距离的摄像头去捕获两个(或多个)图像(或用一个摄像头在图像之间移动),然后通过比较来确定摄像头视场中物体的距离。将摄像头分离会产生视差,这样,较近物体相对远处背景的对齐就会不同——物体越接近摄像头,视差越大。4HLednc

图1给出了一个简单的示例。图中的两个摄像头沿平行轴指向相同方向,其传感器对齐并相隔基线距离B,每个摄像头都会捕获一个3D空间(X,Y,Z)的点(P)图像。捕获的图像中,该点在其2D图像平面上的位置将会不同(uL和uR)。几何上,该位置相当于从P点向摄像头引一条射线,穿过一个垂直于摄像头光轴(ZA)、距离等于摄像头镜头焦距(f)的平面所得的交点。4HLednc

3dvision-14HLednc

图1:简单的立体视觉几何图。4HLednc

如果取每个摄像头的ZA与该平面相交的点作为每个图像2D坐标系的原点,那么计算两个成像点之间的距离,就可以获得该点的视差(d)。然后,就可以很容易地计算出该点到图像平面的距离(深度):4HLednc

深度 = f * B/d4HLednc

但是通常现实世界中的系统不是那么容易对齐的。图2给出了一种更通用的设置,其中,每个摄像头都有自己的坐标系,它们以其光轴方向和图像传感器像素栅格的旋转方向来界定。确定图像点视差要比简单的距离计算更复杂,这涉及到坐标变换和几何校正,但三角测量原理是相同的。4HLednc

3dvision-24HLednc

图2:现实世界中的立体视觉几何图。4HLednc

幸运的是,有大量的商用和开源软件可以处理这些计算。还有一些软件可使用摄像头栅格图像来确定所有必要的坐标变换,这样开发人员就不需要精确地确定摄像头方向。因此,计算空间中单个点的深度信息就变成了机器视觉系统中相对简单的一项运算。4HLednc

但是,这当中仍然存在许多其他的计算挑战。其中最重要的一个是让系统确定不同摄像头图像中是哪个点对应于空间中的相同物理点。这个确定过程可能涉及极为复杂的相关过程,需要将来自一幅图像的一小组像素与构成另一幅图像的所有组像素进行比较来确定哪些组匹配,然后对构成第一幅图像的所有小像素组重复该过程。4HLednc

结构光深度测定

第二种3D视觉方法——结构光——可简化上面这个相关过程,设计人员应当留意这个优势。这种方法在三角测量工作中用投光机取代了其中一个摄像头。投光机生成一个已知的光斑,然后系统将摄像头图像与这个已知光斑进行比较。所捕获图像中的结构光光斑会因为被测对象上的每个点深度不同而产生失真(图3)。在这个例子中,可以使用基线和两条射线之间夹角计算出P点的深度(R):4HLednc

R = B (sin α)/sin (α + θ)4HLednc

3dvision-34HLednc

图3:结构光系统根据已知光斑产生的反射光失真来计算深度。4HLednc

目前业界已针对场景的深度信息提取开发出各种各样的结构光方案(图4),但其中有许多针对的是物体扫描而不是机器人运动控制。其中一些结构光方案产生图像序列所使用的光斑包含若干条纹,其宽度从一个图像到下一个图像依次减半(二进制编码)。还有类似采用格雷码或相移条纹的连续光斑也有使用。要利用单个图像捕获深度信息,可以利用连续变化的颜色编码图案,或对条纹图案编制索引,即每个条纹都与其他条纹不同。使用激光器或微镜光控制器可以很容易地创建这样的图案,而amsFinisarTI等公司也都专门针对结构光光源制造器件和控制器。4HLednc

最近越来越流行的一种结构光方法是以伪随机图案来排列编码形状或二进制点所组成的栅格。系统使用人眼看不见的红外(IR)光来投射这种栅格图案,并且因为栅格是静止的,所以可以使用简单的全息光栅来创建图案。使用这种方法的商用深度传感摄像头系统现已上市。(请参见EDN姊妹刊物Electronic Products上发表的《Designer's guide to 3D cameras》一文)。4HLednc

红外光的使用在视觉引导机器人应用中具有两个明显优势。首先,它可以使视觉系统与人类一起工作,而不会因结构光投射而为人类带来的视觉混乱。其次,使用红外光还可简化将结构光与环境光分离的工作。4HLednc

3dvision-44HLednc

图4:3D结构光的种类。(来源:OSA,《Structured-light 3D surface imaging: A tutorial》)4HLednc

飞行时间深度测量

第三种3D视觉方法——飞行时间(ToF)——完全没有使用三角测量法。ToF 3D成像是直接测量深度,也就是确定光从光源到达环境中的物体然后返回所用的时间。在这方面,ToF类似于激光雷达(LIDAR)。然而,ToF方法不是用窄激光束扫描环境来构建深度图像,而是针对整个视场同时确定距离。半导体技术在不断进步,如今的传感器设计已经可以实现每个像素都可以向控制电子逻辑提供自己的信号,进而提取出计时信息。4HLednc

ToF的一个挑战在于能够在有意义的范围内实现精确计时,从而获得精确的深度信息。光在空气中的传播速度约为1ft/ns(c),因此光脉冲必须使用数GHz时钟,才能分辨小于1ft的尺寸。类似地,传感器信号必须以亚纳秒精度进行测量。但是,这么短的脉冲所含光子数量有限,也即传感器接收到的光子数太少,从而导致信噪比(SNR)不佳。4HLednc

尽管如此,仍有传感器使用直接时间测量法。Teledyne e2v的1.3MP BORA CMOS图像传感器提供距离选通成像,其全局快门开关可使传感器仅在很短的一段时间内针对特定深度平面收集光子。通过结合多次光照的结果,该传感器可以建立更强的信号用于处理。若在整个系统范围内扫描快门计时,该系统就可以在其深度范围内构建完整的深度图。4HLednc

然而,更常见的一种方法是检测发射信号与反射信号之间的相位差来获取深度信息。图5给出了这种方法,反映了反射信号与方波发射脉冲(也可以是其他调制波)之间的关系。物距越大,关联信号越短,并且信号在多个周期内的积分值越低。由于对信号强度进行积分测量起来会比瞬时计时更加精确,因此这种方法的深度测量精度会比简单计算信号返回时间更高。目前,InfineonpmdTI等公司都提供这类ToF传感器,其中一些更具有可执行所有深度计算的内置电路。4HLednc

3dvision-54HLednc

图5:ToF通过比较反射信号与发射信号的时序来直接测量距离。4HLednc

不幸的是,这两种方法均存在深度混叠的问题。ToF方案中,光源的调制频率(f)决定了最大不模糊距离,为R = c/2f。假如光脉冲速率是100MHz,则传感器可以清楚分辨的最大范围是5ft(10ns往返)。如果一个物体在6ft以外,其相关信号与1ft外的物体别无二致。也就是说,6ft远的物体对脉冲N的反射光线,其到达传感器的时间与1ft远的物体对脉冲N+1的反射相同。4HLednc

降低调制频率可增大不模糊距离,但也有不利后果。释放的光子数较少,会使信噪比变差,或需要增加积分时间。这两种结果都不可取。4HLednc

有一种解决方案是通过在光源中混合两种调制频率,来实现信号的去混叠。然后,传感器信号处理可以在对信号进行积分之前分离频率。其总返回信号较高,可提供良好的信噪比;不同的频率所混叠的距离不同,有助于解决距离模糊问题。该方案的最大模糊距离为光速除以两个频率最大公分母的两倍。4HLednc

R = c/2*GCD(f1, f2)4HLednc

根据需求匹配优势

上述3D视觉方法各有优劣,开发人员应根据其应用需求进行评估和选择;了解各种3D视觉技术的含义对于选择正确的方法也至关重要。例如,立体视觉系统可以使用传统的摄像头,并且无需使用集成式光源,所以这种方法成本低廉并且更容易集成到设计中。但是立体视觉系统的深度精度取决于其在多幅图像中找到对应点所需的计算性能,而且物体距离越远,深度分辨率越差。立体视觉系统在应对光滑表面和重复图案上也存在问题,这两者都使找到对应点的任务变得更复杂。4HLednc

另一方面,结构光方法也使用传统摄像头,但只需要一个。其不需要有很强的计算性能,因此有助于降低成本。但其需要使用集成式光源,其强度会影响工作距离。在环境光可控或被滤除的情况下,其效果最佳,例如在封闭空间中。4HLednc

ToF系统的计算强度最低,由于摄像头通常直接向系统主机提供深度信息,因此大大降低了计算需求。然而,与结构光一样,系统需要使用集成式光源,其功率会影响系统的距离,环境光不受控也会导致问题。此外,光源的调制频率也会影响距离。4HLednc

无论哪种方法最适合您的应用,为机器人配备视觉引导正变得越来越容易。现货摄像头系统和视觉软件(商用和开源)也使事情变得更简单。此外,为下一代智能手机提供3D视觉功能的研发,有望进一步降低3D视觉的成本和复杂性。4HLednc

本文为《电子技术设计》2019年5月刊杂志文章。4HLednc

4HLednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 罗克韦尔自动化发布全新HiLINE 800智能低压动力中心 出厂即用,节能高效,助力企业加速实现智能制造
  • “中国IC设计成就奖”提名产品简介:DIO5840优势 DIO5840是一款1A具有自动启动功能的单输入,单节锂离子和锂聚合物电池充电器。如果在10小时的安全定时器期间内平均系统负载无法让电池充满电,则停止充电。
  • “中国IC设计成就奖”提名产品简介:汽车级电池组监控器 上海琪埔维半导体自主研发的BMS AFE芯片XL8812产品,成为国产首款(目前唯一一款)通过车规级认证AEC-Q100并达到ASIL C安全等级的BMS AFE芯片,该芯片专注于高精度测量和低功耗设计,运用更加优化的算法提供更准确的测量和更先进的电池容量平衡功能,可测量多达4~12节串联电池,1.5mV的总测量精度达到了目前全球领先的技术水平;工作温度范围-40℃~125℃,同时还支持多个芯片的串联,填补了国内技术空白。
  • “中国IC设计成就奖”提名产品简介:兆易创新电源管理芯 兆易创新全新的电源管理芯片GD30WS8805系列,在高效率和高集成方面实现了进一步的突破。该系列芯片拥有超低的静态电流,睡眠模式下,消耗电流小于5μA;支持最大1.2A的对电池充电电流,最大600mA的对耳机充电电流;使用开关式充电,BOOST转换效率达到95%,处于业界领先水平,热损耗也更低;低功耗、高效率的特性,有助于增加耳机电池的使用寿命。
  • “中国IC设计成就奖”提名产品简介:集成电源和电池管理 集成电源和电池管理的PMIC MCU,该产品是专为TWS蓝牙耳机充电仓开发的SoC单芯片解决方案。片上集成了32位MCU、电源路径管理、充电电路、升降压电路、集成16位ADC的电量计、LED驱动、耳机通信接口电路、无传感插入检测电路、保护电路等功能。独立电源控制策略,功率电路都可以由软件控制开启或关断,增加了系统开发的灵活性。
  • “中国IC设计成就奖”提名产品简介:12纳米高性能DRAMle InnoGrit Rainier QX IG5220是一款业界领先的高性能DRAMless PCIe固态硬盘控制器。
  • “中国IC设计成就奖”提名产品简介:双模蓝牙SOCFR5088 FR5088 是用于开发蓝牙音频相关产品的 SoC。
  • “中国IC设计成就奖”提名产品简介:支持BLE5.1的AoA定 MG223是低功耗、低成本的BLE发射器,内部集成了发射机、GFSK调制解调器和BLE基带处理。MG223采用MSOP10封装,只需搭配低成本MCU和少数外围被动器件,即可实现BLE广播、Beacon发射器,温湿度传感器,蓝牙电子秤,物流跟踪标签,遥控器,运动器材等应用。电源电压2.0V-3.6V,可以采用一个纽扣电池(3.0V)供电。0.2uA待机电流,14.5Ma@0dBm持续发射。
  • “中国IC设计成就奖”提名产品简介:KungFu内核32位车规 KF32A156采用了ChipON自主研发的KungFu32内核架构处理器,该处理器采用3级流水线,16位/32位混合指令集,KF32A156最高主频为120Mhz,Flash达到512KB。KF32A156使用自主内核处理器,不存在芯片IP授权问题,也没有被禁用的风险。同时,ChipON还自主研发了开发工具,包括集成开发环境、C编译器和仿真器。真正意义上实现了从芯片到工具链的全自主。
  • “中国IC设计成就奖”提名产品简介:32位车规级微控制器 BAT32A137是中微半导体面向车身控制和锂电池管理市场推出的基于ARM-Cortex M0+超低功耗系列的车规级产品,工作电压1.8V~5.5V, 工作温度- 40℃到125℃,满足(符合)AEC-Q100标准。运行功耗低至100uA/MHz, 深度睡眠模式下的待机功耗仅为0.7uA。搭载512、128KB FLASH, 64 16KB SRAM和20 1.5KB专用DATA FLASH;搭载9通道16位定时器,1个RTC,1个WWDT,可方便用户灵活使用。通信接口丰富,搭载 1路CAN2.0B控制器、1路LIN控制器、3路UART单元、1路标准I2C接口, 以及6路简易型I2C及6路简易型SPI 。其模拟外设同样丰富,16通道的高速高精度12bit-ADC,采样率高达1.42Msps;集成8-bit DAC,2通道模拟输出;内置2通道可编程增益放大器PGA和2通道模拟比较器。在安全功能方面,Flash/Data Flash支持ECC安全功能,SRAM支持奇偶校验,支持硬件CRC校验,符合60730安规认证,以及DEBUG模式下的FLASH二级保护机制。此外,集成温度传感器、硬件乘除法器、增强型DMA控制器、联动控制器等外设极大地增强了产品的竞争力。
  • “中国IC设计成就奖”提名产品简介:超低功耗安全MCURJM 国内第一颗Na级超低功耗安全MCU;不仅功耗超低,而且自带安全算法,可广泛应用于医疗电子、传感器、智能门锁、三表、智能家居及物联网终端;已经取得特斯拉、老板电器等多个行业龙头企业的认可并批量商用。
  • “中国IC设计成就奖”提名产品简介:国民技术N32G435系 国民技术N32G435系列通用MCU采用32 bit ARM Cortex-M4F内核,工作主频108MHz,支持浮点运算和DSP指令,集成高达128KB嵌入式加密Flash,32KB SRAM,集成丰富的高性能模拟器件,内置1个12bit 5Msps ADC,2路独立轨到轨运算放大器,2个高速比较器,1个1Msps 12bit DAC,集成多路U(S)ART、I2C、SPI、USB、CAN等数字通信接口,内置密码算法硬件加速引擎。支持低功耗管理,待机功耗低至2.5uA @3.3V,动态功耗低至60uA/MHz。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了