赵心维
(苏州尼索斯科技有限公司,江苏苏州,215128)
为满足建筑机器人自主定位需求,设计方法前,应先进行摄像机的分区标定[1~3]。在此过程中,将工作平面划分为数千个小区域,在每个区域中标定摄像机参数。将世界坐标系统作为参照,将建筑机器人的整个工作区域划分为M×N个区域,根据M×N中M的构成与N的构成,建立针对此区域的透视变化矩阵,在每一小块区域中,机器人都会标定出相应的视角变换矩阵参数,从而完成自身位置的反馈。在单位面积校准点数目相同的情况下,采用局部校准参数的方式,求取定位坐标值,以此提高摄像机分区的精度[4]。在此基础上,设定一个机器人作业面,将此作业面用二维或三维坐标形式表示,任意标定区域中的一个坐标点,将此坐标点作为参照点。根据参照点与区域内中心点之间的距离,进行建筑机器人空间坐标的自主定位,此过程如下计算公式所示。
公式(1)中:P表示建筑机器人空间坐标的自主定位;ix表示第i个区域中的建筑机器人横向坐标;yi表示第i个区域中的建筑机器人纵向坐标。按照上述方式,完成摄像机分区标定与建筑机器人空间坐标自主定位。
在上述内容的基础上,将虚实耦合作为前提条件,进行机器人行走导航地图的构建。在此过程中,以建筑机器人为研究对象,利用BIM 模型中各实体的位置信息,将建筑机器人所处虚拟环境中的“墙壁”作为不能通行的物体,将其所处环境中的栅格看作障碍物,将“门”作为是可以通行的,将其与网格环境结合,形成一幅基于BIM 的建筑机器人导航图[5]。在此过程中,建立建筑机器人作为空间中栅格地图,进行虚拟环境中实体结构到空间坐标的映射。映射过程如下计算公式所示。
公式(2)中:X、Y表示虚拟环境中实体结构坐标;,根据空间中的栅格地图基本情况,进行机器人行走导航地图中行数与列数的设计。此过程如下计算公式所示。Xmin、Ymin表示未移动坐标体系中的最小坐标。在此基础上
公式(3)中:Nr、Nc表示机器人行走导航地图中行数与列数;Xmax、Ymax表示未移动坐标体系中的最大坐标;s表示建筑机器人运动中的单位步长。在此基础上,考虑到空间地图在构建过程中可能存在未除尽的问题,因此,需要根据空间地形图结构,进行障碍物的补齐,如图1 所示。
图1 障碍物空间地图构建
由于仅利用虚拟环境信息绘制地图并不能获得建筑场地中“门”的打开和关闭信息,也不能为建筑施工场地规划出一个合理的整体路线。因此,本项目拟利用现实环境的点云信息补充虚拟环境,利用PointNet 算法实现3D 点云的语义划分,以获得地图中“门”的形态信息。在此基础上,获得与之相匹配的网格位置信息,以补充网格中的“门”的形态,最后获得网格地图,实现基于虚实耦合条件下机器人行走导航地图的构建。
完成上述设计后,为满足建筑机器人在施工场地所在空间内的运动需求,应在完成对机器人行走导航地图的构建后,生成建筑机器人运动学规范模型。在此过程中,引进Unty3D 建模工具,Unty3D 中具有较完善的物理引擎,可以实现对机器人在运动中的动力学仿真。建模中,使用Solidworks 软件,构建机器人实验操作平台,将模型导入Unty3D 的物理引擎中。将建筑机器人的运动过程划分为完整约束与不完整约束两个部分,设定建筑机器人在行进过程中的车轮半径为r,根据机器人左右轮的角速度,进行建筑机器人行进中线速度的计算,计算公式如下。
公式(4)中:vL、vR表示建筑机器人行进中左轮、右轮的线速度;uL、uR表示建筑机器人行进中左轮、右轮的角速度。在此基础上,根据建筑机器人在移动中的坐标系,生成如下计算公式所示的建筑机器人运动学规范模型。
公式(6)中:W表示机械臂最大旋转角度。将计算后的θ代入公式(5),以此种方式,完成建筑机器人运动学规范模型的构建,如图2 所示。
图2 运动学建模
完成建筑机器人运动学规范模型的构建后,引进A*算法,进行机器人运动空间全局路径的寻优,以此实现对机器人行走轨迹的规划。规划过程中,将机器人行走导航地图作为基础,按照下述公式,计算最优路径中节点代价。
公式(7)中:f(n) 表示最优路径中节点代价,其中n表示路径中的节点;g(n) 表示起点代价;h(n) 表示当前节点距离终点的预计代价。在利用A*算法进行路径规划时,需要进行全局可规划路径的检索,检索时,选择当前邻域的四个栅格或八个栅格,确定建筑机器人的行进方向。在设定机器人转弯行为时,为避免机器人在转角位置与墙体发生碰撞,可参照A*算法中的启发函数,进行行进路径中节点距离的设定,此过程如下计算公式所示。
公式(8)中:k(n) 表示路径中节点距离的设定;B表示栅格对角线距离(栅格宽度);G表示机器人宽度。参照上述方式,定义机器人在运动中每次行进的距离,以此为依据,完成机器人运动空间全局路径寻优,实现建筑机器人自主定位及行走轨迹规划方法的设计,如图3 所示。
图3 避障轨迹规划示意图
为检验该方法的应用效果,以某真实的建筑工程项目施工场景作为实例,根据实验需求,建立针对此场景的测试环境。
考虑到机器人会受到多种因素的影响,出现抑制或干预底盘运动的问题,导致机器人运动坐标与行动轨迹节点之间的出现偏差。因此,在实验过程中,根据相关工作的具体需求,在测试环境中添加UWB 超宽频定位系统,通过此种方式,实时获取建筑机器人的空间位置,并根据机器人的行进需求,进行其位置的实时校正。
完成上述设计后,为确保机器人在测试环境中的稳定、安全运行,参照表1,设计建筑机器人在运动、行进过程中的底盘参数。
表1 建筑机器人在运动、行进过程中的底盘参数
参照上述方式,完成对比实验中测试环境的布置。为检验建筑机器人在测试环境中的自主定位效果,使用本文设计的方法,对建筑机器人所在的区域进行摄像机分区标定,再采用建立建筑机器人空间坐标的方式,实现对机器人空间位置的自主定位。
为检验建筑机器人自主定位的效果,机器人在完成一次空间位置的反馈后,技术人员便需要使用中纬全站仪,进行机器人实际空间位置的测定。将中纬全站仪测定的建筑机器人空间位置坐标作为真实坐标,对本文设计方法在应用后的机器人自主定位结果进行检验。为确保真实坐标的精准性,按照表2 所示的内容,进行中纬全站仪测定过程中技术参数的设计。
表2 中纬全站仪测定作业中技术参数的设计
对中纬全站仪测定的建筑机器人空间位置与建筑机器人自主定位结果导入Unty3D 构建测试环境中,在测试环境中进行建筑机器人自主定位效果的检验,统计实验结果如表3 所示。
表3 建筑机器人自主定位结果检验
表3 中,Δx 表示自主定位结果与中纬全站仪测定结果的横向偏差;Δy 表示自主定位结果与中纬全站仪测定结果的纵向偏差。从上述表3 所示的实验结果可以看出,使用本文设计的方法,进行建筑机器人自主定位,定位结果中的横向偏差与纵向偏差均相对较小,由此可以证明本文设计的定位方法应用效果良好,使用该方法进行建筑机器人自主定位,可以控制定位偏差在±0.05m 范围内,以此种方式,实现对运动中机器人所在位置的精准定位。
在上述内容的基础上,使用Unty3D 搭建一个存在若干障碍物的建筑空间,使用本文设计的方法,进行建筑机器人行走轨迹的规划。规划过程中,先根据区域内障碍物的分布情况,建立虚实耦合条件下的机器人行走导航地图,同时,生成建筑机器人运动学规范模型。最后,通过对机器人运动空间的全局路径寻优,完成本文方法在测试环境中的应用。
为满足实验结果的对比需求,引进基于改进NURBS 算法的行走轨迹规划方法、基于MATLAB Robotics 的行走轨迹规划方法,将其作为传统方法1、传统方法2,使用本文方法与传统方法,进行建筑机器人行走轨迹的规划。在计算机展示界面中,展示同一空间内三种方法规划的建筑机器人行走轨迹,如图4~图6 所示。
图4 本文方法规划的建筑机器人行走轨迹
从图4~图6 所示的实验结果可以看出,图4、图5 对应方法规划的建筑机器人行走轨迹合理,即设计的轨迹可以躲避空间内所有障碍物,实现从起点A 到达终点B,而图6对应方法规划的建筑机器人行走轨迹穿过了空间障碍物,显然不符合实际规范,无法从起点A 达到终点B。
图5 传统方法1 规划的建筑机器人行走轨迹
图6 传统方法2 规划的建筑机器人行走轨迹
在此基础上,对本文方法与传统方法1 规划的建筑机器人行走轨迹进行分析,发现本文方法规划的建筑机器人行走轨迹长度<传统方法1 规划的建筑机器人行走轨迹长度。通过此种方式,得到本次实验的最终结论:相比传统方法,本文设计的建筑机器人自主定位及行走轨迹规划方法应用效果良好,按照规范使用本文方法进行建筑机器人行走轨迹规划,可以在确保规划路线躲避空间中所有障碍物的基础上,保证规划的路线为最短路线。
本文通过摄像机分区标定与建筑机器人空间坐标自主定位、建立虚实耦合条件下的机器人行走导航地图、生成建筑机器人运动学规范模型、机器人运动空间全局路径寻优,完成了建筑机器人自主定位及行走轨迹规划方法的设计研究。在此基础上,对本文设计的方法进行测试,测试结果表明,使用本文方法进行建筑机器人自主定位,可以控制定位偏差在±0.05m 范围内,同时,本文方法还可以在确保规划路线躲避空间中所有障碍物的基础上,保证规划的路线为最短。以此种方式,发挥机器人在建筑工程领域中更高的价值,为工程方、技术方等多个参与方提供技术层面的指导与支持。