移动机器人开发者通过生成设施地图、在设施地图中进行定位、理解周围环境几何关系的方式对机器人进行训练,以使其能够在现实世界中自主行动。像自主移动机器人 (AMR) 、自动导引车 (AGV) 和服务机器人这样的机器人必须即时进行感知和学习,尤其是在快速变化的工业环境中。这些机器人必须具有在室内和室外多变的光线条件下避开障碍物、人类和其他机器的智能。
但是,很少有机器人具有这种级别的智能自主性。RGo Robotics公司的创始人认为,提供更好的视觉感知可以产生新一波的智能解决方案,并激发机器人技术的创新。他们发现了为移动机器人开发视觉感知技术的市场机会。利用该公司的感知引擎,移动机器能够看到并理解周围的世界。
目前,RGo公司已经在高通机器人SoC上部署了其感知引擎。该组合解决方案使制造商能够快速开发具有可靠定位功能的智能机器人,从而能够更好地理解物理环境。
本文着眼于RGo公司的感知引擎,以及将软件与开发工具包集成的工作。
感知引擎 – 基于视觉和AI的智能自主性
感知引擎包括两个主要的软件构件:
- 基于视觉的定位 – RGo公司围绕传感器融合、AI和几何计算机视觉构建了感知引擎,以达到完全自主机器人所需要的定位稳健性水平。该感知引擎的智能层面包括视觉-惯性-语义同步定位和映射 (VIS-SLAM) 等算法、学习视觉系统、高级传感器融合引擎、以及认知算法。对于开发者而言,最具吸引力的特点在于该引擎可以作为单摄像头参考设计的组成部分运行,其计算能力水平甚至适合低成本机器人。
- 障碍物检测 – 针对移动机器人的具体需求,该引擎使用摄像头以亚厘米的精度检测任何障碍物。其中包括小到电缆的物体以及架子之类的上方物体。该引擎可以检测地面,并告诉机器人如何以及向哪里行驶,这与机器的特殊机动能力相符。
感知引擎能够应对机器人技术中最具挑战性的场景,包括反光或暗色表面、悬崖、玻璃墙、叉车叉齿以及极低矮的障碍物等问题。
在高通机器人RB5开发套件上部署感知引擎
在机器人平台领域,高通机器人RB5开发套件对于RGo公司而言是一个理想的目标。该套件为感知引擎提供了充足的计算能力,价格合理,并且可以大规模部署,包括高级AI应用程序。其小巧的尺寸和低功耗与其他竞争平台相比具有显著优势,非常适合需要强大计算机视觉功能的边缘应用程序。
RGo公司在高通技术公司推出的移动嵌入式产品方面具有丰富的经验,因此该公司确信尽管部署过程需要付出大量努力,但最终一定会取得成功。
基于视觉的定位 – 修改夹层板
为了实现稳健定位,需要一个专用广角摄像头和一个惯性测量单元 (IMU) 。作为障碍物检测的额外深度摄像头,RGo公司选择了英特尔RealSense,该摄像头获得了高通Robotics RB5的原生支持。为了连接额外的广角摄像头和IMU,RGo公司的工程师决定修改标准的高通机器人RB5导航夹层板,并添加所需要的连接器,如下所示。
RGo公司与高通演示材料
但是,集成IMU导致了架构上的两难境地,因为高通Robotics RB5上的传感器通常通过传感器集线器连接。RGo公司的工程师更倾向于使用IMU制造商提供的Linux驱动程序,通过高通Robotics RB5上的CPU控制传感器。(左图中显示的重新设计是为了将IMU中断传递给CPU GPIO,而不是传递给传感器集线器GPIO。)
RGo公司的大部分部署工作集中在电路板的设计和启动方面。其中包括开发和测试摄像头、EEPROM和IMU的驱动程序,以及使用Robotics RB5的板级支持包(BSP)。
软件 – Yocto、成像器和CamX
对于基于视觉的定位和障碍物检测而言,大部分工作负荷集中在CPU上,同时进行了部分GPU优化。软件本身并非实时运行,而是在Linux环境下运行。但是,软件需要时钟控制,以确保在最小延迟的前提下进行姿态估计。
RGo公司的工程师在以下几个领域专注于软件开发:
- 构建高通Robotics RB5环境 – 目前有两种构建选项:默认Linux Embedded (Yocto) 和Linux Ubuntu (Frankenbuild) 操作系统。两者都是通过poky(包含OpenEmbedded系统)构建生成。高通技术公司的支持团队为RGo提供了bitbake脚本,他们用该脚本构建Yocto环境。
- 连接摄像头 – RGo公司的工程师发现这一过程出乎意料地简单,仅用了几天时间就让摄像头启动并运行。该构建支持来自不同制造商、具有不同图像设置和分辨率的多个成像器(摄像头)。这样可以简化摄像头的启动过程,RGo公司甚至能够同时激活两个摄像头。高通技术公司在其板级支持包中提供了相关软件支持。
- 创建摄像头驱动程序 – 为了创建用于访问摄像头传感器帧的二进制驱动程序文件,RGo公司使用了CamX框架。该框架包含一个设计良好的,有必要的文件和脚本CHI-CDK抽象层。该公司围绕一系列共享库、内核设备树文件和XML文件构建了摄像头驱动程序,并通过这些文件轻松配置驱动程序,从而避免打开和修改Linux内核驱动程序的繁琐任务(这在其他硬件平台上很常见)。通过CamX,还可以接入摄像头EEPROM,并通过Video4Linux (V4L) 接入摄像头本身。
结果 – 高性能、易维护和低功耗
感知引擎在高通Robotics RB5平台上的表现甚至超出了RGo公司工程师的最初预期 – 其性能与竞争平台相同,同时功耗显著降低。在远高于最大AMR速度的情况下,该系统实现了厘米级的位置精度,每分钟处理数千帧图像,并以高达100赫兹的频率提供可靠姿态估计。该平台采用简单的被动式热设计,降低了成本和尺寸,简化了与工业机器人的集成。高通Robotics RB5配备了足够的内存,可以满足任何合理的用例需求,其内置连接功能(4G/5G,蓝牙,802.11a/b/g/n/ax/ac Wave 2)为工程师节省了大量的时间和精力。
工程师们还指出了以下开发优势:
- 利用夹层卡模式,很容易向平台添加硬件,而这正是RGo公司决定采取的方式。
- 能够在两种不同的操作系统中工作非常有帮助。RGo公司使用Ubuntu系统在高通Robotics RB5平台上进行开发,并在该平台上运行感知引擎的演示。对于该公司的商业产品,也可以使用更小的嵌入式Yocto操作系统。
- 工程师们克服了最初对于在高通技术公司产品上安装新摄像头的强烈疑虑。他们之前的经验表明,如果没有高通技术公司专家的支持,几乎不可能实现这种水平的集成。因此,他们惊讶地发现CamX使用XML文件来自动生成驱动程序,而不需要重写驱动程序,他们对CamX的易用性感到欣慰。对于已经获得支持且并不具有特别独特性的成像器和配置,CamX极大地简化了这一过程。
在设计了对于高通Robotics RB5导航夹层板的修改方案后,RGo公司采纳了我们的建议,并要求高通Robotics RB5的原始制造商构建了该修改方案。这成为整个部署过程中耗时最长的任务。回顾过去,RGo公司认为,如果他们自己设计和生产小型适配卡,而不是修改夹层卡,就可以节省时间,并降低项目成本。
后续步骤
RGo Robotics公司联合创始人兼首席执行官阿米尔·博萨尼表示:“与其他产品相比,高通Robotics RB5平台可以满足更为广泛的成本和性能要求。”“高通技术公司拥有各种各样的处理器,因此高通RB5机器人开发套件可以成为一个很好的起点,确保开发者能够在后期切换到针对成本敏感型应用程序的不同处理器。该套件建立在高通QRB5165芯片组的基础上,具有强大的CPU、GPU、神经处理单元 (NPU) 、图像信号处理器 (ISP) 和数字信号处理器 (DSP) ,可用于实时计算机视觉应用。该套件拥有机器人平台所需的所有接口,包括摄像头、电机控制、连接和车载AI。”
“我们相信,在高通技术公司具有成本效益和高能效的SoC上运行的RGo公司感知引擎是迈向下一波智能自动化的一大步。对于能够感知和理解周围环境,并且能够扩展到多种应用的AI驱动移动机器来说,市场潜力巨大。
如要了解更多关于RGo Robitics公司及其智能自主方法的信息,请访问rgorobotics.ai。
想要讨论集成问题并与其他物联网开发者交流吗?请加入我们的开发者Discord社区。
在所发布内容中表达的观点仅为原作者的个人观点,并不一定代表高通技术公司或其子公司(以下简称为“高通技术公司”)的观点。所提供的内容仅供参考之用,而并不意味着高通技术公司或任何其他方的赞同或表述。本网站也可能提供非高通技术公司网站和资源的链接或参考。高通技术公司对于可能通过本网站引用、访问、或链接的任何非高通技术公司网站或第三方资源并没有做出任何类型的任何声明、保证、或其他承诺。
高通品牌产品均为高通技术公司和/或其子公司的产品。
关于作者
维韦克·赫格德
产品经理,员工
