21、蛇形机器人运动建模与约束动力学分析

蛇形机器人运动建模与约束动力学分析

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 }]
其中

蛇形机器人动力学模型的构建涉及一系列步骤,其建模流程如下:定义机器人参数,接着建立运动学关系,之后确定摩擦模型,再推导力平衡方程和扭矩平衡方程,随后消除关节约束力,最终得到动力学模型。具体流程可用 mermaid 流程图表示: ```mermaid graph TD; A[定义机器人参数] --> B[建立运动学关系]; B --> C[确定摩擦模型]; C --> D[推导力平衡方程]; D --> E[推导扭矩平衡方程]; E --> F[消除关节约束力]; F --> G[得到最终动力学模型]; ``` 动力学分析主要研究作用在机器人上的力和机器人运动之间的关系,可用于确定机器人的驱动力矩或力,以及评估机器人的稳定性。由于蛇形机器人具有大量自由度和非线性特性,其动力学分析十分复杂。过往研究中,考虑蛇形机器人在有障碍物环境下动力学的工作较少,且大多使用通用仿真软件,未给出蛇形机器人动力学的底层方程。例如,Bayraktaroglu 和 Blazevic 使用 WorkingModel 软件模拟平面蛇形机器人圆形障碍物的交互,通过弹簧 - 阻尼近似计算接触力;Tanev 等人使用 Open Dynamics Engine(ODE)软件对蛇形机器人各种形状障碍物的交互进行建模;Date 和 Takita 使用 Autolev 多体动力学仿真软件研究蛇形机器人单个销钉接触时的运动,将销钉的接触建模为弹簧 - 阻尼系统 [^1][^2][^3]。 多体动力学分析是研究蛇形机器人动力学行为必不可少的方法,因为蛇形机器人由多个关节和连接体组成。Maple 提供了专门的工具包,可处理这类复杂系统的动力学分析 [^4]。 若在某一时刻,LCP 解中的法向加速度向量 (a_n) 包含非零元素,则对应连杆将加速远离障碍物,即连杆障碍物分离。分离动力学相对简单,只需将分离连杆的接触参数设为零。当 (\alpha_i \neq 0) 且碰撞检测机制检测到连杆 (i) 不再障碍物重叠时,蛇形机器人的状态更新如下: \[q^+ = q^-\] \[\dot{q}^+ = \dot{q}^-\] \[\alpha_j^+ = \begin{cases} 0 & \text{当 } j = i \\ \alpha_j^- & \text{当 } j \neq i \end{cases} \] 这构成了蛇形机器人的完整混合模型 [^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值