高精度激光测距下的机器人自主避障控制
2024-05-17杨伟樱
刘 月,杨伟樱
(陕西工业职业技术学院 信息工程学院,陕西 咸阳 712000)
0 引言
机器人是一种具有人工智能的机器设备,其主要任务是在不同的场合下自主完成任务并与环境进行交互。机器人可以通过传感器获取环境信息,并通过自主感知、学习和决策来实现自主行动[1-2]。自主避障控制是指机器人自主感知周围环境中的障碍物,并根据障碍物的位置、形状、大小、运动状态等信息,自主决策并实现避障运动的过程。机器人自主避障控制的研究目的和意义在于提高机器人在复杂环境中的适应性和智能水平,进而拓展其应用范围。具体而言,机器人自主避障控制为机器人在未知或变化环境中自主避开障碍物提供了保障,使其能够自主探索、定位和导航,并顺利完成任务。这对于机器人在工业制造、智慧物流、安防巡逻等领域以及日常生活中的应用具有重要意义。此外,机器人自主避障控制的研究还可以促进机器人与人类的互动与合作,开发面向未来的智能机器人,具有深远的社会和经济价值。随着人工智能、互联网、物联网等技术的不断推进,机器人在工业、服务、医疗、军事等领域的应用越来越广泛。机器人需要完成各种任务,并且往往需要在复杂的环境中运行,例如在人群中行进、在海洋中探索、在危险区域中执行任务等。在这种情况下,周围环境和噪声的干扰会影响传感器精度,导致机器人无法准确地感知周围环境,从而与障碍物发生碰撞。因此,机器人必须具备自主避障能力,以便能够在遇到障碍物和危险物时及时避开,避免出现事故和损失。
目前相关领域学者针对机器人避障控制进行了研究。近年来,随着机器人技术的不断发展和应用的不断扩大,机器人的自主避障控制越来越受到重视。虽然已经有多种方法被提出,但是每种方法都存在一些问题。例如,马建民等人[3]所提出的方法,通过激光测距扫描获取机器人数据,然后建立机器人正运动学模型,采用模糊控制算法完成机器人的自主避障控制。但是,该方法存在控制精确度不佳的问题,因为模糊控制算法中的模糊数学理论不够精确,导致了控制精确度下降的问题。
另一种方法是由许文瑶等人[4]提出的,该方法通过传感器获取机器人位置数据信息,然后建立碰撞模型以完成机器人移动位置分析,采用速度控制方法完成机器人自主避障控制。该方法存在机器人控制效果不佳的问题,因为速度控制方法较为简单,无法适应复杂的环境变化。
还有一种方法是由潘长青等人[5]提出的,该方法通过二维扫描设备完成机器人数据采集,然后采用卡尔曼滤波器优化离散滑膜控制系统,通过离散滑膜控制系统完成机器人的自主避障控制。但是,该方法存在控制稳定性不佳的问题,因为离散滑膜控制系统容易产生震荡,导致机器人控制不稳定。在未来的研究中,我们需要寻找更加精确、高效、稳定的机器人自主避障控制方法,需要进一步探索机器人自主感知和决策的算法和模型,提高机器人对环境的感知、控制和适应性能。只有这样,才能真正实现自主避障控制的高效、稳定、准确地控制,为机器人的应用领域提供更为出色的表现。
为了解决上述方法中存在的问题,提出高精度激光测距下的机器人自主避障控制,设计机器人体系结构并建立机器人运动学模型。在此基础上,采用激光测距技术,构建机器人移动场地地形。通过自适应阈值方法,完成机器人的自主避障控制。
1 机器人体系结构及运动学模型建立
在控制机器人自主避障之前,建立机器人体系结构,和机器人运动学模型。功能需求不同,机器人体系结构也不同。为此,要考虑机器人的功能需求、运动性能和控制要求等因素,建立机器人体系结构。而机器人运动学模型是描述机器人运动规律的数学模型,可以帮助了解机器人的运动特性和运动规律,是机器人自主避障控制的基础。
机器人体系结构的建立有利于机器人系统的拓展和扩展,可以在保证机器人系统整体稳定性的前提下,灵活加装、更新硬件设备和升级软件系统,提高机器人的功能和性能,进一步提升机器人的应用价值。此外,机器人体系结构的建立还可以促进机器人领域的标准化和规范化,降低机器人制造和维护的成本。机器人体系结构的研究和建立是机器人技术发展的重要方向,对未来机器人技术的发展和应用具有深远的影响和意义。同时,机器人体系结构的建立和优化也需要跨领域的合作和共同努力,如机械、电子、计算机、人工智能等领域的专业知识交叉融合,才能进一步推动机器人技术的创新和发展。
1.1 机器人体系结构
机器人体系结构设计的核心目标是实现机器人系统的高效稳定运行。机器人体系结构设计包括机器人系统整体结构的规划、机器人各个子系统的组成和交互以及各个子系统的优化设计等。机器人体系结构的设计需要遵循一系列原则,如使机器人系统尽可能地简单,以减少系统故障率;提高机器人的可扩展性和可维护性,以利于对机器人系统进行升级和维护;优化机器人的运动性能等方面,以满足机器人任务的要求,同时提升机器人生产效率。
在机器人体系结构的设计中,需要充分考虑机器人的任务和环境因素,如机器人应用场景、工作任务、操作环境、使用需求等等。例如,机器人在智能制造领域的应用中,需要具备自主执行、自适应性、智能感知等能力,才能满足复杂的生产环境和任务要求。根据任务的不同,机器人体系结构的设计方案也会有所不同,如有些机器人需要具备多轴控制器和多传感器系统,而另一些机器人需要具有更高的可靠性和安全性。
在机器人体系结构设计中,物理结构和软件结构的平衡也很重要。机器人的软件结构包括控制系统、操作系统、通信模块等,这些模块之间的协调和交互能够决定机器人性能、可靠性和生产效率等方面。需要充分考虑软硬件结构之间的关系,确保机器人系统可靠性和稳定性。
设计机器人体系结构如图1所示。
图1 机器人体系结构
由图1可知,在机器人体系结构中,机器人通过传感器获取外部环境信息,并将信息传输至传感信息处理模块进行处理。根据处理后的传感信息,利用各类控制器控制机器人的运动和操作。行进方向控制器能够控制机器人前进方向和速度,使机器人按照指定路径行进;跟随边缘控制器是控制机器人沿着边缘行进;避障控制器通常使用传感信息和算法,控制机器人绕过障碍物行进;行为控制器能够根据机器人的任务需求以及环境变化,调整机器人的行为和动作。由此获得行为综合信息,依据自身状态和知识库实现行为输出。
机器人行进目标行为输出vγ公式表达如下:
(1)
其中:l表示常数,(x,y)表示机器人坐标,(xh,yh)表示机器人目标坐标[6-8]。
行为输出模块B公式表达如下:
B=vγg(o,l,d,p)
(2)
其中:g表示输出系数,o表示传感器信息输出,l表示知识库输出,d表示机器人自身状态输出,p表示子行为输出。
1.2 机器人运动学模型结构
(3)
其中:i表示机器人线速度。
满足机器人纯滚动条件公式如下:
(4)
满足机器人无滑动条件公式如下:
(5)
基于此,完成机器人体系结构的构建和运动学模型建立。
2 机器人移动场地地形建模
建立机器人的动力学模型是机器人移动控制的重要基础,通过对机器人的运动学和动力学特性进行建模,可以为机器人的控制与规划提供更加精准的数学模型和理论支持。同时,在机器人的移动场地中进行地形建模也是机器人系统不可或缺的一环,地形信息可以为机器人的路径规划及决策提供更加准确的基础,以及支撑机器人的自主避障控制。
针对机器人在移动控制过程中需要依赖高精度的激光测距方法[9-10]获取场地地形信息的问题,通过对激光传感器获取的点云数据进行分析和处理,实现地形建模的目标。通过对点云数据的处理,可以将场地地形分为障碍地形和平坦地形两种类型的地形,从而为机器人的路径规划和决策提供更加精准的基础。对于障碍地形,建立障碍地形模型,实现机器人在自主移动时能够识别、分析和避让障碍物的控制和决策;对于平坦地形,则可以快速地规划合适的路径,实现机器人的高效自主移动。
在机器人的自主避障控制中,需要充分考虑机器人的实际运动控制能力和场地地形信息。可以通过采用机器人感知状况、障碍物位置信息和运动控制策略相结合的方法,实现机器人的自主避障控制。考虑到机器人实际应用场景较为复杂,应能够适应不同场地地形和避障情况的需求,因此自主避障控制系统应从多个方面进行设计和优化,以实现机器人的高效自主移动和避障能力。建立机体坐标系OB、大地坐标系OD、腿部坐标系OT和传感器坐标系OC四个坐标轴。以大地坐标系为参照点,腿部坐标系用TP(TPx,TPy,TPz)表示,传感器坐标系用CP(CPx,CPy,CPz)表示,机体坐标系用BP(BPx,BPy,BPz)表示。
用P表示平均高度值,转换激光测距传感器信息至基于机体质心的地形坐标BP公式[11-12]表达如下:
BP=YBDYCDP
(6)
用BT∨P表示障碍物的传感器坐标位置,获取大地坐标的高度测量值p公式如下:
(7)
用KC为传感器测量雅可比矩阵,保持两坐标系横纵坐标不发生变化,得到高度测量标准差σ2公式表达如下:
(8)
其中:∑C为协方差矩阵,Kq为经旋转的传感器坐标雅可比矩阵,∑P,q为经旋转的传感器坐标协方差矩阵。
通过卡尔曼滤波对地形高程图实行更新,以使数据融合。用Jl表示单位矩阵,卡尔曼滤波更新公式Ll表达如下:
(9)
其中:Pl为协方差矩阵,Tl为状态变量。
(10)
协方差矩阵Pl公式表达如下:
(11)
其中:O为随机变量。
(12)
其中:h表示障碍物高度。
基于此,完成地形模型的构建。
3 机器人自主避障控制
根据建立的地形模型,基于自适应阈值方法[15-16]完成机器人的自主避障控制。自适应阈值方法是一种图像处理技术,用于图像二值化。在一些情况下,使用固定的阈值二值化方法可能无法很好地分离目标物体和背景,为此,采用自适应阈值方法,根据图像的局部特征,为每个动态计算一个适当的阈值。
(13)
进一步推导出扇形平分线方向与机器人坐标系的夹角ϑk公式表达如下:
(14)
判断该区域是否为可行扇区的准则是四维向量Dk是否满足弦长条件和矩形条件。若满足,则是。
弦长条件:当弦长大于预先确定常数ZT时,满足公式如下:
ZT=ϑkμZF
(15)
其中:μZ表示放大系数,F表示机器人外接圆直径。
矩形条件扫描点宽满足公式如下:
F′=ZTμFF
(16)
其中:μF表示放大系数。用Zo表示点到矩形四条边的距离,其在某个矩形范围内的必要条件公式表达如下:
(17)
其中:H表示矩形宽度,W表示矩形长度。
接近可行目标方向的阈值中,可行通道发现情况与阈值成正比,阈值越大,越易发现。用T表示阈值,v表示速度,最小阈值Tmin公式表达如下:
(18)
其中:a表示加速度。
根据式(13)求取其可行方向,设其获得了N个可行方向,即{(ϑo,To,Zo)|o=1,2,...,N}。
用ϑtarget表示相对于机器人方向的目标点,机器人的参考驾驶方向公式表达如下:
|ϑo-ϑtarget|Tmin≤ε
(19)
其中:ε表示常数。该方法为最大阈值的可行方向。
为了提升机器人自主避障控制效果,需要对机器人的角速度和线速度进行调节和控制。为此,计算角速率控制率和线速度控制率。在机器人运动过程中,角速度控制律可以控制机器人的旋转速度,从而实现机器人的转弯和旋转等动作。角速度控制律ξ公式表达如下:
ξ=lξϑv
(20)
其中:lξ表示控制率系数,ϑv表示机器人移动角度。
在机器人运动过程中,线速度控制律可以控制机器人的行进速度,实现机器人的直线运动和加速减速等动作。用e表示权重因子,线速度控制律v公式表达如下:
(21)
其中:vmax为最大速度,Tmax为最大阈值,vmin为最小速度,xm为移动距离,Td为常数。
根据角速度控制率,机器人需要不断地调整速度和方向,以适应周围环境的变化。机器人应保持最大速率前进,以最小速度躲避障碍物,并根据障碍物位置和大小等信息,计算出一条安全的绕过障碍物的行进路线。同时,当机器人行进方向与参考驾驶方向偏差较大时,机器人同样需要减速以纠正方向,避免与障碍物发生碰撞。从而提升了机器人自主避障控制效果。
基于此,完成机器人自主避障控制。控制过程的代码如下:
// 使用激光测距仪逆时针扫描,在180°区间内平均分成72个区间
int num_intervals = 72;
double scan_radius = 10.0; // 扫描半径
double interval_width = 180.0 / num_intervals;
// 存储每个区间内距物最小距离值
double min_distances[num_intervals];
for (int i = 0; i // 获取当前区间的起始角度和结束角度 double start_angle = i * interval_width; double end_angle = start_angle + interval_width; // 扫描当前区间内的距离信息 double min_dist = scan_radius; // 初始化为扫描半径 for (double angle = start_angle; angle // 通过激光测距仪获取当前角度下的距离值 double dist = get_laser_distance_at_angle(angle); if (dist min_dist = dist; } } // 将当前区间内的最小距离值存储到数组中 min_distances[i] = min_dist; } // 找出区间内最小距离值大于扫描半径的准可行扇形区间 double threshold = 1.5; // 给定阈值 int first_candidate = -1; // 第一个准可行扇区候选区间编号 int last_candidate = -1; // 最后一个准可行扇区候选区间编号 for (int i = 0; i if (min_distances[i] >scan_radius) { if (first_candidate -1) { first_candidate = i; } last_candidate = i; } } // 计算准可行扇形区间的扇形平分线方向与机器人坐标系的夹角 double angle_between_midline_and_robot = ((double)first_candidate + (double)last_candidate) / 2.0 * interval_width + interval_width / 2.0; // 用四维向量表示该准可行扇形区间 double theta_min = 17.0; double theta_max = 18.0; Eigen::Vector4d feasible_sector(theta_min, theta_max, scan_radius, angle_between_midline_and_robot); // 判断是否为可行扇区 double amplification_factor = 1.5; double robot_diameter = 0.5; double chord_length = 2.0 * scan_radius * sin((theta_max - theta_min) / 2.0); double rect_height = robot_diameter * amplification_factor; bool is_feasible = (chord_length <= rect_height &&chord_length <= robot_diameter * sqrt(2.0)); // 根据四维向量求取可行方向 double speed = 0.2; double acceleration = 0.1; double target_point_relative_to_robot = ((theta_min + theta_max) / 2.0 - 18.0) / (18.0 - 17.0); double reference_driving_direction = speed * feasible_sector(2) * target_point_relative_to_robot / (feasible_sector(1) - feasible_sector(0)); // 最小控制阈值表达式 double min_threshold = speed * speed / (2.0 * acceleration); 为了验证高精度激光测距下的机器人自主避障控制方法的有效性,对其完成如下测试。 实验环境: 1)室内场景,例如一个家庭居室或是办公室等,设定一个起点和终点,并在场景中设置一些障碍物。 2)使用激光雷达、摄像头、编码器等传感器设备,对机器人周围环境进行实时检测和定位。 3)控制系统使用ROS(机器人操作系统)进行开发和实现。 实验参数: 1)机器人速度设置:0.3 m/s。 2)避障距离阈值:0.5 m。 3)障碍物距离感知阈值:1.5 m。 4)转向角度阈值:25°。 5)距离障碍物时的机器人转向半径:1.0 m。 6)随机生成障碍物的数量:3~5个。 7)随机生成障碍物的形状:平面上的任意形状。 在Intel Corel i7-12700KF CPU、32 GB RAM、2.11 GHz配置的计算机上使用VC++6.0实行实验研究,建立场地障碍物分布如图2所示。 图2 场地障碍物分布 在场地障碍物分布中,场地大小设置为300 m×350 m,在场地内随机放置10个障碍物,且障碍物之间不相交,采用所提方法、文献[3-5]方法进行机器人自主避障控制实验。 以机器人的运动轨迹作为实验指标,观察机器人运动轨迹与障碍物的位置,机器人在运动过程中能够有效地避开障碍物,说明该方法的机器人自主避障控制效果更好。采用所提方法、文献[3-5]方法完成高精度激光测距下的机器人自主避障控制,其中白色圆形表示机器人的运动轨迹。障碍场地内的4种方法机器人运动轨迹如图3所示。 图3 障碍场地内的4种方法机器人运动轨迹 分析图3可知,文献[3-5]方法在不同位置均出现了触碰障碍物的情况,该3种方法皆无法及时躲避障碍物,而所提方法的机器人运动轨迹能够精准地避开障碍物。由此可以得出,所提方法的机器人自主避障控制效果更好。主要是因为所提方法通过计算角速度控制率和线速度控制率,控制机器人的转动速度和行进速度,从而提升了机器人自主避障控制效果。 以机器人障碍物测试位置与实际位置的误差作为实验指标,误差越小,该方法的机器人自主避障控制精度越高。为此,采用所提方法、文献[3-5]方法完成高精度激光测距下的机器人自主避障控制,4种方法的障碍物位置测试值与实际障碍物位置值误差结果如表1所示。 表1 障碍物测试位置与实际位置值对比 观察表1数据,对比不同方法的障碍物实际位置和测试位置发现,文献[3]方法的障碍物测试位置与实际位置的最大误差为1.3 cm,文献[4]方法的最大误差为2 cm,文献[5]方法的最大误差为4.9 cm,而所提方法的障碍物测试位置与实际位置的最大误差仅为0.4 cm。说明所提方法的机器人自主避障精度更高。 通过实验结果可以看出,采用所提方法进行机器人自主避障控制还具有以下优势:首先,所提方法中采用的激光雷达能够高精度地获取障碍物位置信息,保证了机器人在避障过程中能够准确判断障碍物位置和形状,从而更好地规划和执行避障路径。其次,所提方法中采用的控制算法具有高效性和实时性,能够在复杂的环境中快速响应机器人与障碍物之间的变化关系,避免了机器人在避障过程中出现卡顿或误判等问题。最后,所提方法在控制稳定性方面也具有相对优势,能够自动调节控制参数,避免了控制过程中的不稳定性和震荡现象,从而确保了机器人在自主避障过程中的稳定性和安全性。因此,所提方法在实际机器人自主避障控制应用中具有很高的可靠性和实用性。 此外,由于控制系统采用ROS进行设计和实现,机器人各个模块之间的通信更加有效,使得机器人能够更好地适应不同的环境和任务需求。实验结果表明,所提出的方法能够在复杂的室内场景中,使机器人完成自主避障和路径规划任务,具有广泛的应用前景。此外,该方法的可扩展性和可重复性也具有非常好的优势,可以为进一步研究和应用机器人避障技术提供理论基础和实验范例。总之,该研究的结果对于人们更好地理解机器人避障过程及其相关技术方面的创新应用具有重要的参考价值。 机器人的自主避障控制一直是人工智能领域研究的一个关键问题。自主避障控制需要机器人自主感知周围环境并作出决策,进而避免障碍物,从而实现高效自主移动。尤其在工业自动化、无人物流、智慧城市等领域,机器人的自主避障控制被广泛应用。 针对机器人自主避障控制的研究,为了确保机器人自主避障控制的效果,提高避障控制的精确度,研究者们提出了一种基于高精度激光测距的机器人自主避障控制方案。本方案主要依赖机器人动力学模型和地形构建技术,以及自适应阈值方法,实现机器人的自主避障控制。 在这种机器人自主避障控制方案中,首先需要建立机器人动力学模型。通过对机器人的运动学和动力学特性进行建模,能够提供更加准确的数学模型和理论支持,为机器人的控制与规划提供基础。然后,根据高精度激光测距技术,完成机器人移动场地地形的构建,将场地地形分为障碍地形和平坦地形两种类型的地形,以为机器人的路径规划和决策提供更加准确的基础。 通过自适应阈值方法,完成机器人的自主避障控制。自适应阈值方法是一种实时调整避障阈值的方法,它基于机器人周围环境的变化,实时调整避障阈值,从而保证机器人始终处于安全状态并具有高效自主移动。 实验结果表明,所提出的机器人自主避障控制方案确保了机器人的自主避障控制效果,同时也提高了机器人的避障控制精度,降低了误差,具有重要的现实应用意义。可以预见,随着机器人自主避障控制技术的不断发展,机器人的应用将更加广泛,将为人们的生产和生活带来更多便利,产生更多的应用价值。4 实验与分析
4.1 机器人自主避障控制效果
4.2 机器人自主避障控制精度
5 结束语