本项目提出的半自动射击移动机器人是一个基于麦克纳姆轮的四轮全向移动机器人,采取 模块化设计,可以利用摄像头自主识别 5 米范围内的人体目标并进行数据库匹配判断,且具有 自动瞄准目标并射击弹丸的功能。本项目的硬件系统架构采用 STM32-MiniPC 混合架构,具有 良好的硬件灵活性,混合架构很好地满足了中小型移动机器人的常用需求。该机器人系统主要 包含三个部分:机械与硬件、电控算法和视觉识别。各个部分互相配合也各自都有独立性,每 个部分都有封装接口,可以方便的进行调整和扩展。图 1 是机器人的组件框图,其中激光雷达 用来感知环境,实现简单的避障、建图、导航等功能。
底盘设计选用了基于麦克纳姆轮的方案,麦克纳姆轮由轮毂和辊子组成, 轮毂构成了麦克纳姆轮的框架,而辊子是分布在轮毂圆周上的类圆柱状滚轮,轮毂的中轴线和 辊子的转轴成 45°角。如图 2 所示。
四麦克纳姆轮结构是最常见的全向移动结构,四个麦克纳姆轮分为两组轴心对称的左旋轮 和右旋轮,根据运动学模型有多种安装方式,例如 X 字形和 O 字形,如图 3 所示,本项目采用 了 X 字形的安装方式。
整个车体框架是由碳纤维板和铝合金板打造而成,驱动结构是由麦克纳姆轮连接联轴器, 联轴器连接电机构成的四驱结构,整个运动系统具有三自由度全方位的高机动性优势。基于兼 备越野性能和高机动性的考虑,本项目共提出了三种全向机器人的悬挂方案来权衡越野与爬坡 性能:
第一种是桥形悬挂方案,其依托桥形悬挂弹簧来进行左右方向的避震,有效的避免了不平 坦路面中单轮悬空的可能性。因为麦克纳姆轮的结构要求四轮必须同时着地,所以四个轮子不 能同时都和底盘刚性连接,基本都要配置一定的避震结构。桥型悬挂方案中,移动机器人底盘 的两个后轮与底盘刚性连接,两个前轮由车桥结构连接。这种结构下移动机器人拥有更好的承 重能力,且对路面起伏可以很好的适应,而且结构简单方便维护。
但是由于桥型悬挂的避震幅度较小,在室外不平坦路面上无法高速行驶,且不能适应越野 路面。因此,项目设计了第二种方案–四轮独立避震悬挂。每一个麦克纳姆轮都可以依托独立 的悬挂弹簧进行前后方向的避震,在不平坦路面上的高速运动中有显著的效果。但是避震幅度 的增大也导致了移动机器人在运动中的误差增加,因此只适合人工遥控行驶,对自动定位导航 等应用不够友好。
避震可以有效提高越野性能和控制的鲁棒性,但是考虑到移动机器人的应用场景基本都在 室内或室外平坦路面,因此大多数情况下微悬挂即可满足需求。而且,本项目后续也探索了移 动机器人基于 2D 地图和平面激光雷达的自动定位导航,其中所需的里程计数据主要由编码器 和单轴陀螺仪得到,单避震在一定程度上会干扰运动学解算得到的里程计数据。因此,项目又 提出了第三种方案–单层碳纤维板微避震。将碳纤维板两端与麦克纳姆轮相固定,中间与底盘 连接,利用其可以形变的韧性而达到微避震的目的,同时还可以简化移动机器人的底盘结构。
为了在达成模块化设计的同时,也能增加零件的复用率,项目移动机器人的底盘尽可能多 的采取了对称设计。以电池和底盘控制所在的区域为中心,其它组件都可以快速方便的拆下和 更换,而且机器人底盘也可以在三种不同的避震结构之前自由切换。切换避震方案时只需要更 换相应的机械组件即可,电机、电调、主控等元器件无需更换,也就无需重新进行调参就可以 直接完成避震模式的转换,如图 7 所示。
为了在达成模块化设计的同时,也能增加零件的复用率,项目移动机器人的底盘尽可能多 的采取了对称设计。以电池和底盘控制所在的区域为中心,其它组件都可以快速方便的拆下和 更换,而且机器人底盘也可以在三种不同的避震结构之前自由切换。切换避震方案时只需要更 换相应的机械组件即可,电机、电调、主控等元器件无需更换,也就无需重新进行调参就可以 直接完成避震模式的转换。
本项目设计的移动机器人按照组件类型采取了三层叠加的模块化机械结构设计–底盘层、 运算层和云台层,从下到上组件的更换需求依次递减。上图 8 展示了机器人的整体设计和零部 件分布。 相邻的结构层之间使用 4-8 颗短牙距螺丝固定,可以方便的进行拆卸和调整。上图 9 则展示了项目移动机器人的机身参数。
底盘层包含了移动机器人运行的核心基础部件,是一个完整的系统,可以直接应用于其它 应用场景。在底盘层中,电机、电调和陀螺仪这些通用性高,不需要随着应用场景的变化而变 更的零部件,都进行了良好的封装,只留出必要的接口和走线位置来达成更高的稳定性,同时 也能避免底盘空间的浪费;轮子部分则留了方便拆卸的螺丝孔,以供轮子类型的更换。运算层 中主要放置了机器人的上层处理器和激光雷达。运算层中的设备同样可以在不影响整体结构的 情况下,很方便的根据不同需求进行变更。云台层则是本项目移动机器人的发射装置,可以发 射 17mm 弹丸。云台层的电源线和数据线是独立的,可以方便的更换为其它类型的机械臂。下 图 10 展示了项目机器人的实物图。
机器人的硬件系统结构主要分为三部分:处理器–底层控制器和上层处理器,执行器–电 机和其相关的电机驱动模块,以及各种广义的传感器–编码器、惯性传感器、激光雷达以及单 目摄像头。而根据任务可以分为两层硬件架构,底层为嵌入式控制层面,上层为高级算法处理 层面。
处理器是底层控制和上层算法实现的核心,本项目利用双层控制结构,包含了底层嵌入式 控制板和上层算法处理器。当前底层控制板有许多,例如 ARM Cortex-M 系列控制器,数字信 号处理芯片 DSP,可编程门电路 FPGA 以及可编程逻辑控制器 PLC 等等。对于底层控制来说, 依据实时性和准确性的要求,本项目采用了意法半导体公司推出的 STM32F4 系列高性能微控制 器 STM32F427IIH6 芯片,其内核为 Cortex-M4,引出 2 路 CAN 口,4 路 24V 电源输出、3 路 12V 电源输出、22 路 PWM 输出、三路串口输出,其中还板载了惯性传感模块(MPU6500+IST8310)、 蜂鸣器、板载按键和板载双色 LED 指示灯。
而上层处理器我们采用了两种方案结合的方式,一种是 NVIDIA 公司的产品 Jetson TX1, CPU 基于 ARM 架构 64 位,GPU 基于 NVIDIA MAXWELLTM 架构并含有 256 个 CUDA 核心,低功耗的 同时拥有强大的图像运算能力,结合 Connect Tech 公司推出的扩展电路板,可以在最小的空 间下搭载强大的运算核心,但是由于 ARM 64 位的各种 SDK 库支持并不够完善,因此目前主流 上只是广泛应用于嵌入式深度学习和计算机视觉领域。第二种方案系统采用了 x86 架构处理器 的 mini PC,Gigabyte 的 Brix 主机或 Intel 的 NUC 主机,CPU 性能都足以实现算法运算,但 是相比起来 Brix 功耗大一些,需要单独电池供电以满足需求。