Page 50 - 《软件学报》2021年第7期
P. 50
1968 Journal of Software 软件学报 Vol.32, No.7, July 2021
碍物的时间.
此外,我们还考虑了一个未知环境因素——障碍物表面的粗糙度.高度粗糙的材料反射率较低,红外传感器
难以发现,而完全光滑的材料则相反(其他因素,包括发射强度,都可能是影响因素.为了实验的简单性,我们忽略
了这些因素).这个因素也会影响障碍物被发现时的距离和响应值.在实验中,我们假设粗糙度的变化代表了新
的部署环境.
避免翻转的外因.影响机器人翻转的环境因素包括:(1) 坡的倾斜度;(2) 与斜坡的距离,这可通过摄像头感
知激光线发生器投射的线而得出;(3) 机器人的负载,通过惯性对平衡度产生影响,负载越大,惯性越大.
物体与物体之间接触时,摩擦力无处不在,但在实际的不平整路面上,摩擦力的影响却不容易计算.在无摩
擦力的接触面上部署机器人,与永不打滑的接触面上部署,机器人的运动轨迹和方式肯定有很大差异.在实验
中,我们假设摩擦系数是未知环境因素,修改摩擦力代表了新的部署环境.
自适应规则.DAP 规定了内因如何触发调整左右轮速度的自适应动作(即 setleftmotor(x1)和 setrightmotor(x2)),
两侧的响应值 rv_l 和 rv_r、机器人当前速度 vel_l 和 vel_r 以及障碍物距离 od 都会影响遇到障碍物时两轮的速
度差.一般来说,当来自障碍物的响应值很大、机器人当前的速度很快、安全距离较小时,两轮之间的速度差会
变大,以实现更大程度的转弯.此外,3 个维度的平衡度 bd_x、bd_y、bd_z 代表了斜坡环境下的潜在移动速度,直
观来说,当 db_x 为负值且较小时,机器人需要在这个维度上减速以防止后翻.同时,针对特定部署环境的 IAP 表
明了上述所有环境因素如何影响内部数据,从而影响到系统的目标和偏好.
4.2.1 实验设置
在下面的实验中,我们用 Cyberbotics 公司开发的最著名的模拟器之一 Webots 作为仿真平台,Webots 是一
款用于移动机器人快速原型设计和仿真的商业软件 [30] ,它让我们可以定义和修改一个完整的 Pioneer 3-DX 机
器人,并可以为机器人配备大量的可用传感器和执行器,如红外传感器、GPS 和指南针等.通过调用机器人库中
的函数 wb_motor_set_velocity,可以方便地操纵调整机器人速度的自适应行为.对于物体(即跑道上的障碍物和
斜坡),我们可以定义一些属性,如形状、颜色、纹理、坡度、摩擦力等.有兴趣的读者可以参考 Webots 文档.
在上述概念模型中,机器人能够在同时具有障碍物和斜坡的环境中运行.但是,为了简化实验结果并增强易
读性,我们分别考虑躲避障碍物和避免翻转两个场景:(1) 一条跑道上有 3 个不同颜色、大小和纹理的障碍物,
如图 8 所示;(2) 一条跑道上有两个不同坡度的上坡和下坡场景,如图 9 所示.在下面的实验中,我们将左右轮子
的最大速度设定为 12rad/s.
Fig.8 Runway for obstacle avoidance scenario
图 8 跑道 1——躲避障碍物场景
Fig.9 Runway for turnover avoidance scenario
图 9 跑道 2——避免翻转场景
同样地,我们希望评估基于内外两层框架设计的适用性和内层规则的可复用性.在适用性实验中,我们在机
器人领域专家的帮助下制定了 DAP,然后不断地修改环境变量并进行模拟,以找到环境因素和内部变量之间的