蛇形机器人运动建模与约束动力学分析
1. 蛇形机器人建模基础
1.1 约束建模方法
在对具有单边约束的机械系统进行建模时,常见方法是根据约束表面的法线方向来计算约束力方向。不过,这里采用了不同的方式,是依据接触连杆的法线方向来计算约束力,这样能简化运动方程。
- 当连杆端点未与障碍物接触时,两种方法得到的约束方向相似。例如,蛇形机器人连杆与圆形障碍物接触,由于连杆与障碍物相切,连杆和障碍物的法线方向相同。
- 当连杆端点(关节)与障碍物接触时,连接该关节的两个连杆都与障碍物接触,此时会在这两个连杆上产生法向约束力。
1.2 建模简化后果及应对
将障碍物接触建模为作用在接触连杆上的单边力,会带来两个后果,但这些后果在实际中并非关键问题:
- 蛇形机器人的最前端连杆(头部)可能会沿切线方向直接穿透障碍物。不过,可通过控制策略避免,比如让头部配备距离传感器,使机器人能主动避开与障碍物的正面碰撞。
- 理论上,连杆可能会在质心法线方向速度为零的情况下“旋转进入”障碍物。但在借助障碍物辅助移动时,这种情况只会在极小程度上发生,因为主要是向前滑动的运动方式。
2. 障碍物碰撞与分离检测
2.1 环境与障碍物表示
蛇形机器人的平面环境中有 $k$ 个圆形障碍物,用 $j \in {1, …, k}$ 索引。障碍物 $j$ 的中心全局坐标记为 $(x_{Oj}, y_{Oj})$,其占据的点集 $O_j$ 为:
[O_j = {(x,y)|(x - x_{Oj})^2 + (y - y_{Oj})^2 \leq R_{Oj}^2 }]
其中