70、3D点云生成与机器人笛卡尔阻抗控制阻尼矩阵设计

3D点云生成与机器人笛卡尔阻抗控制阻尼矩阵设计

在当今科技领域,3D点云生成和机器人笛卡尔阻抗控制是两个备受关注的研究方向。下面将详细介绍一种低成本的3D点云生成方法以及机器人笛卡尔阻抗控制中阻尼矩阵的设计方法。

低成本3D点云生成

传统的3D激光扫描仪成本较高,而这里提出了一种新的低成本方法。使用经过改装的独轮车,配备3D激光轮廓仪、惯性测量单元(IMU)和车轮编码器来生成3D点云,并通过连续时间同步定位与地图构建(SLAM)算法对结果进行优化。

实验数据集分析
  • “The Chapel”数据集 :这是最后一个数据集,也是最具挑战性的一个。其表面类似砾石且有坡度,从最高点下降到小教堂周围的水平区域,最后再回到起点。由于初始轨迹是二维的,使用SLAM算法校正了高程差异,提高了全局一致性。该数据集约包含350万个点。
  • 与地面真值对比 :实验结果显示,“The Hallway”和“The Chapel”的扫描数据与地面真值对比情况如下:
    • “The Hallway”大部分与地面真值比较吻合,但在最后四分之一部分,由于末端的大玻璃幕墙,出现了一些点到点距离大于1米的点(用黑色标记)。而且RADLER主要向一侧扫描,导致一侧墙壁覆盖稀疏,在没有闭环的情况下,迭代最近点(ICP)算法会使数据向一侧收缩,从而使轨迹弯曲。
    • “The Chapel”与地面真值的对比效果较好,与“The Hallway”相比,离群点更少。尽管地形崎岖,但似乎并未对输出质量产生负面影响,路径中的闭环使得通过SLAM算法对轨迹进行适当校正成为可能。不过,室外场景的主要缺点是激光扫描仪的范围有限,随着距离增加,点的密度降低,小教堂的屋顶也几乎没有被点覆盖。
改进建议

为了提高点云的密度,可以采取以下措施:
- 降低独轮车的移动速度。
- 重复遍历轨迹。
- 更换具有更大最大测量距离的激光扫描仪,但这会大幅增加硬件成本。

未来计划还包括实现卡尔曼滤波器以融合IMU和车轮编码器的数据,提高里程计的准确性;集成GPS传感器为连续时间SLAM算法提供更好的初始轨迹;改进传感器的安装系统,克服传统独轮车的一些缺点,如主轴间隙问题。

机器人笛卡尔阻抗控制中阻尼矩阵的设计

在机器人操作任务中,控制机器人末端执行器与环境之间的交互动力学非常重要,而阻抗控制是一种常用的方法。其中,选择合适的笛卡尔阻尼矩阵参数是实现有效阻抗控制的关键挑战之一。

相关工作分析

现有的关于阻尼矩阵选择的文献要么做了简化假设,要么基于试错法。例如,一些方法假设准静态运动并进行正定矩阵的同时对角化,这通常不可行,且其在笛卡尔空间的双特征值问题可能没有正确的物理解释;还有方法假设阻尼矩阵是质量和刚度矩阵的线性组合,忽略了复模态。而本文提出的方法不做这些假设,完全在机器人关节空间中进行开发,避免了物理单位不一致的问题。

阻抗控制原理

在笛卡尔阻抗控制中,n自由度的机器人操作器在与环境交互时具有一定的期望动态行为。其运动方程如下:
- 原始运动方程:$M(q)\ddot{q}(t) + G(q, \dot{q})\dot{q}(t) + v(q) = \tau_m + \tau_{ext}$
- 选择$\tau_m$为$-K(q)q(t) - C(q)\dot{q}(t) + v(q) + G(q, \dot{q})\dot{q}(t)$后,方程变为:$M(q)\ddot{q}(t) + C\dot{q}(t) + Kq(t) = \tau_{ext}$
- 笛卡尔空间的阻抗控制方程为:$M_C\ddot{x}(t) + C_C \dot{x}(t) + K_Cx(t) = f$

其中,$K_C$是笛卡尔刚度矩阵,$C_C$是阻尼矩阵,$M_C$是笛卡尔质量矩阵。可以根据应用需求选择$K_C$的值,初始阻尼矩阵$C_C$可以进行近似或基于相对较低的值。通过机器人雅可比矩阵$J$,可以将笛卡尔末端执行器空间的期望关节刚度$K$和阻尼$C$矩阵映射到关节空间。

动态响应分析

为了找到上述方程的解,假设外部力$f$和机器人雅可比矩阵$J$的变化可以忽略不计,只使用映射刚度矩阵的第一项。由于不局限于非冗余机器人操作器,通常考虑冗余情况,这是一种无约束系统,具有刚体(RB)运动模式。该模式的频率为$\omega_0 = 0$ rad/s,且属于关节刚度矩阵$K$的零空间,即$u_0 \in N(K) \Rightarrow Ku_0 = 0$,意味着在刚体模式下,由于刚度没有净力,也没有净势能变化。

调节动态响应的方法

由于阻尼项$C$的存在,系统不是正定保守系统,不能使用经典模态分析来求解方程。机器人的一般振动响应可以表示为所有基(模式或模态向量)$u_i$的线性组合:$q(t) = c_0(t)u_0 + c_1(t)u_1 + … + c_{n-1}(t)u_{n-1} = q_{RB}(t) + q_{NRB}(t)$

其中,$q_{RB}(t)$是刚体模式,$q_{NRB}(t)$是非刚体模式。具体求解步骤如下:
1. 刚体运动分析 :通过方程$u_0 \in N(K) \Rightarrow Ku_0 = 0$得到归一化的RB模式$u_0$,将其动态响应表示为$q_{RB}(t) = u_0\beta(t)$,代入运动方程并简化后求解$\beta(t)$,进而得到$q_{RB}(t)$。
2. 非刚体运动分析 :为了确定振荡运动,通过施加约束矩阵$S$去除已知的RB模式,将$q = Sq’$代入运动方程,得到一个新的正定系统:$M’(q)\ddot{q}’ + C’ \dot{q}’ + K’q’ = S^T \tau_{ext}$。将其重新排列为线性系统方程$\dot{x}(t) = Ax(t) + B S^T \tau_{ext}(t)$,其中$A$和$B$是相应的矩阵。该线性系统的解为$x(t) = Xe^{\Lambda t}Y^T x(0) + \int_0^t Xe^{\Lambda (t - \tau)}Y^T B S^T Q(\tau)d\tau$。通过求解该系统的振荡模式,结合RB和NRB模式的解,迭代分析笛卡尔阻尼矩阵每个元素对完整响应的影响,根据特征值计算阻尼比$\zeta_i$,并通过改变$C_C$的元素来提高相应的$\zeta$值。

阻尼矩阵选择的验证

为了验证设计阻尼矩阵的方法,在Baxter 7自由度机器人操作器上进行了实验。通过求解并获得第3节中描述的解析方程,并考虑7自由度Baxter操作器的必要特性,能够了解阻尼元素如何影响关节的响应。还能够将快速傅里叶变换图中的频率与使用该方法从操作器的完整响应中获得的频率进行匹配,所有这些都是在不运行机器人的情况下离线完成的。

综上所述,这种低成本的3D点云生成方法和基于关节空间分析的笛卡尔阻尼矩阵设计方法为相关领域的研究和应用提供了新的思路和解决方案,但仍有许多工作有待进一步完善和优化。

下面是一个mermaid格式的流程图,展示了机器人笛卡尔阻抗控制中阻尼矩阵设计的主要步骤:

graph TD;
    A[开始] --> B[确定机器人运动方程];
    B --> C[选择刚度矩阵KC和初始阻尼矩阵CC];
    C --> D[映射到关节空间K和C];
    D --> E[分析动态响应];
    E --> F{是否为冗余机器人};
    F -- 是 --> G[分离RB模式];
    F -- 否 --> H[简化分析];
    G --> I[求解RB模式响应qRB];
    I --> J[去除RB模式,求解NRB模式响应qNRB];
    H --> J;
    J --> K[结合qRB和qNRB];
    K --> L[迭代分析CC元素对响应的影响];
    L --> M[计算阻尼比ζi];
    M --> N[调整CC元素提高ζi];
    N --> O[验证阻尼矩阵选择];
    O --> P[结束];

通过以上内容,我们对低成本3D点云生成和机器人笛卡尔阻抗控制中阻尼矩阵的设计有了更深入的了解。这些方法在实际应用中具有重要的价值,但也面临着一些挑战,需要进一步的研究和改进。

3D点云生成与机器人笛卡尔阻抗控制阻尼矩阵设计

3D点云生成实验结果可视化分析

为了更直观地展示3D点云生成的实验结果,我们来看相关的可视化数据。图4展示了“The Hallway”的Riegl扫描俯视图以及“The Chapel”从两个不同侧面的扫描情况。点的灰度值代表材料的反射率。图3中的结果是在连续时间 - SLAM算法进行约150次迭代后获得的。

为了计算点到点的距离,首先使用3DTK中实现的ICP算法将RADLER数据与地面真值进行匹配。点根据点到点的距离在所示的颜色尺度上着色,范围从0米到1米。

从图中可以看出:
|数据集|与地面真值对比情况|主要问题|
| ---- | ---- | ---- |
|“The Hallway”|在图3顶部从左到右的前三分之二部分与地面真值比较吻合|最后四分之一部分出现大量点到点距离大于1米的点(黑色标记),原因是末端大玻璃幕墙,且扫描主要朝向一侧,导致一侧墙壁覆盖稀疏,ICP算法使轨迹弯曲|
|“The Chapel”|与地面真值对比效果较好,离群点更少|激光扫描仪范围有限,随着距离增加点密度降低,小教堂屋顶几乎无点覆盖|

图5展示了最后两个实验的俯视图,包括最初获得的轨迹以及连续时间SLAM几次迭代后的改进轨迹。闭环有助于显著改善轨迹,与之前提到的“The Hallway”的偏差相比,具有最长轨迹的“The Circle”仍能很好地收敛到建筑物的矩形形状。俯视图中的模糊边缘表明校准还需要进一步改进,对于较长的轨迹,单一偏移和静态RPM值似乎不够,解决方案是使用卡尔曼滤波器集成IMU值。

机器人笛卡尔阻抗控制阻尼矩阵设计的优势与挑战
优势
  • 理论完整性 :本文提出的方法不做准静态运动假设,也不认为阻尼是质量和刚度矩阵的线性组合,完全在机器人关节空间中开发,避免了物理单位不一致的问题,具有更完善的理论基础。
  • 适用性广泛 :该方法不局限于非冗余机器人操作器,适用于冗余机器人,能够处理具有刚体运动模式的无约束系统,具有更广泛的应用范围。
  • 可操作性强 :通过分离刚体模式和非刚体模式,将复杂的系统分析简化,能够逐步求解出机器人的振动响应,并通过迭代分析阻尼矩阵元素对响应的影响,从而有针对性地调整阻尼比,具有较强的可操作性。
挑战
  • 计算复杂度 :对于冗余机器人,分离刚体模式和求解非刚体模式的过程涉及到矩阵运算和特征值分析,计算复杂度较高,可能需要更强大的计算资源和更高效的算法来实现。
  • 参数选择困难 :虽然提出了一种选择阻尼矩阵的方法,但在实际应用中,如何根据不同的任务和机器人特性选择合适的初始参数(如刚度矩阵$K_C$和初始阻尼矩阵$C_C$)仍然是一个挑战,需要更多的实验和经验来确定。
  • 传感器误差影响 :机器人的运动和姿态信息依赖于传感器(如IMU和车轮编码器)的测量,传感器的误差会对阻尼矩阵的设计和机器人的控制产生影响,如何有效地处理传感器误差是需要解决的问题。
未来展望
3D点云生成方面
  • 传感器融合优化 :进一步研究如何更好地融合IMU、车轮编码器和GPS等传感器的数据,提高里程计的准确性和初始轨迹的精度,从而改善3D点云生成的质量。
  • 硬件升级探索 :在不显著增加成本的前提下,探索更适合的激光扫描仪或其他传感器,以扩大测量范围和提高点云密度,特别是在室外场景中。
  • 算法改进 :优化连续时间SLAM算法,提高其在复杂环境下的性能,减少计算时间和内存占用,使3D点云生成更加高效和实时。
机器人笛卡尔阻抗控制方面
  • 自适应阻尼矩阵设计 :开发自适应的阻尼矩阵设计方法,能够根据机器人的实时运动状态和环境变化自动调整阻尼矩阵的参数,提高机器人的适应性和稳定性。
  • 多机器人协作 :研究在多机器人协作场景下的笛卡尔阻抗控制,如何协调多个机器人的阻尼矩阵设计,实现更高效的协作任务。
  • 实验验证扩展 :在更多类型的机器人和不同的操作任务上进行实验验证,进一步验证该方法的有效性和通用性,并根据实验结果不断改进和完善方法。

下面是一个mermaid格式的流程图,展示了未来研究方向的整体框架:

graph LR;
    A[3D点云生成] --> B[传感器融合优化];
    A --> C[硬件升级探索];
    A --> D[算法改进];
    E[机器人笛卡尔阻抗控制] --> F[自适应阻尼矩阵设计];
    E --> G[多机器人协作];
    E --> H[实验验证扩展];

综上所述,3D点云生成和机器人笛卡尔阻抗控制是两个具有重要研究价值和应用前景的领域。本文介绍的低成本3D点云生成方法和基于关节空间分析的笛卡尔阻尼矩阵设计方法为这两个领域的发展提供了新的思路和解决方案,但在实际应用中还面临着诸多挑战,需要未来进一步的研究和探索来不断完善和优化。

提供了基于BP(Back Propagation)神经网络结合PID(比例-积分-微分)控制策略的Simulink仿真模型。该模型旨在实现对杨艺所著论文《基于S函数的BP神经网络PID控制器及Simulink仿真》中的理论进行实践验证。在Matlab 2016b环境下开发,经过测试,确保能够正常运行,适合学习和研究神经网络在控制系统中的应用。 特点 集成BP神经网络:模型中集成了BP神经网络用于提升PID控制器的性能,使之能更好地适应复杂控制环境。 PID控制优化:利用神经网络的自学习能力,对传统的PID控制算法进行了智能调整,提高控制精度和稳定性。 S函数应用:展示了如何在Simulink中通过S函数嵌入MATLAB代码,实现BP神经网络的定制化逻辑。 兼容性说明:虽然开发于Matlab 2016b,但理论上兼容后续版本,可能会需要调整少量配置以适配不同版本的Matlab。 使用指南 环境要求:确保你的电脑上安装有Matlab 2016b或更高版本。 模型加载: 下载本仓库到本地。 在Matlab中打开.slx文件。 运行仿真: 调整模型参数前,请先熟悉各模块功能和输入输出设置。 运行整个模型,观察控制效果。 参数调整: 用户可以自由调节神经网络的层数、节点数以及PID控制器的参数,探索不同的控制性能。 学习和修改: 通过阅读模型中的注释和查阅相关文献,加深对BP神经网络PID控制结合的理解。 如需修改S函数内的MATLAB代码,建议有一定的MATLAB编程基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值