当前位置:   article > 正文

两足机器人运动控制部分_ros双足机器人运动控制

ros双足机器人运动控制

1. 技术路线:

我们规划的关于两足机器人运动控制部分的技术路线包含以下四个板块:

a. 运动规划和控制算法选择

选择并实施合适的控制算法,这包括:

  • PID控制器:用于基本稳定性控制。

  • 模型预测控制(MPC):允许考虑多个步骤来优化运动轨迹。

  • 深度强化学习:使用深度神经网络和强化学习算法来学习机器人的动作策略。

  • 遗传算法:用于参数优化和策略搜索。

b. 传感器技术

选择和集成传感器以获取关键信息,包括:

  • 惯性测量单元(IMU):用于测量机器人的加速度和角速度。

  • 摄像头:用于视觉反馈和环境感知。

  • 力传感器:用于测量足端的地面反作用力。

c. 运动规划

实现基于机器人动力学和任务要求的运动规划算法,以确定机器人的关节轨迹、足端轨迹和足端力。

d. 控制器设计

设计反馈控制器,将传感器数据与目标位置和速度进行比较,并输出关节力矩来维持平衡和执行所需的动作。


2. 可行性分析:

a. 模拟仿真

我们将使用物理模拟引擎(如MuJoCo、Gazebo等)进行仿真实验,以评估所选算法的性能、稳定性和鲁棒性。仿真中要考虑机 器人动力学、摩擦、外部扰动等因素。这里我们选择gazebo与ros2搭配实现仿真。

使用ROS 2搭配Gazebo进行模拟仿真是进行双足机器人运动控制研究的常见和强大工具。以下是关于模拟仿真可行性分析的详细 展开:

1. 模拟环境选择:

  • Gazebo仿真平台:Gazebo是一个功能强大的机器人仿真工具,它允许我们在虚拟环境中模拟机器人的运动和行为。

2. 机器人建模:

  • URDF(Unified Robot Description Format)模型:使用URDF格式对双足机器人进行建模。URDF文件描述了机器人的几何形状、连接、传感器和关节等信息。我们将创建准确的URDF文件,以确保仿真模型的真实性。

3. 控制器仿真:

  • Gazebo ROS Controllers:使用Gazebo中的ROS控制器插件,模拟双足机器人的关节控制和传感器数据。这些控制器可以实现关节角度、速度和力矩控制。

4. 运动规划和路径生成:

  • ROS 2 Navigation Stack:集成ROS 2导航栈,以进行路径规划和避障仿真。导航栈包括全局路径规划和局部随机路径规划,可模拟机器人在复杂环境中的导航。

5. 传感器模拟:

  • Gazebo Sensor Plugins:使用Gazebo中的传感器插件,模拟双足机器人的传感器,如IMU、摄像头、激光雷达等。确保传感器插件生成逼真的传感器数据。

6. 虚拟环境创建:

  • 世界模型:创建虚拟环境的世界模型,包括地形、物体、障碍物等。这些元素可以在仿真中用于测试机器人的导航和避障能力。

7. 数据记录和分析:

  • ROS Bag记录:使用ROS的数据记录工具(如rosbag)来记录仿真中生成的数据,包括传感器数据、关节状态、控制命令等。这些数据可以用于后续的分析和评估。

8. 性能评估和调试:

  • 仿真参数调整:根据仿真结果,调整机器人模型和控制器参数,以改进性能和稳定性。

  • 故障模拟:模拟机器人在不同环境条件下的故障和异常情况,以测试其鲁棒性和应对能力。

9. 可行性评估:

  • 性能评估指标:定义和测量用于评估双足机器人运动控制性能的指标,例如平衡性、速度、稳定性、能耗等。

  • 仿真验证:与实际硬件测试结果进行比较,以确保仿真结果与真实世界中的机器人行为一致。

通过使用ROS 2和Gazebo进行模拟仿真,我们可以在虚拟环境中进行广泛的测试和实验,以减少硬件测试的成本和风险。这使我 们能够快速迭代和优化控制算法,以达到更好的性能和可行性。


b. 硬件需求

硬件需求对于双足机器人的运动控制研究至关重要,因为它们直接影响到机器人的性能和可行性。以下是一些硬件需求可行性分析 的详细展开:

  1. 传感器

    • IMU(惯性测量单元):IMU包括加速度计和陀螺仪,用于测量机器人的加速度和角速度。例如,MPU6050是一种常用的IMU传感器。

    • 摄像头:视觉传感器用于环境感知和导航。例如,使用高分辨率摄像头如Intel RealSense D435i或StereoLabs ZED。

    • 力传感器:用于测量足端的地面反作用力,以帮助机器人维持平衡。例如,ATI Mini45力传感器。

    • 激光雷达:用于实时地图构建和避障。例如,Velodyne VLP-16或Hokuyo URG-04LX激光雷达。

    • 编码器:用于测量电机关节角度的位置反馈。例如,使用增量型或绝对值编码器,如AMT103、AS5048A。

  2. 处理器

    • 嵌入式处理器:我们将选择适合实时控制的嵌入式处理器,如NVIDIA Jetson系列、Raspberry Pi等。

    • GPU:如果机器人需要进行深度学习任务,则需要配备GPU,如NVIDIA的GeForce或Tesla系列。

    • FPGA:在某些情况下,FPGA可以用于实现硬件加速的控制算法。

  3. 电机和驱动器

    • 电机:我们将选择合适的电机,以满足双足机器人的动力和精度要求。例如,使用Dynamixel电机或Maxon电机。

    • 驱动器:使用电机控制器或驱动器来管理电机的速度和位置。例如,使用RoboClaw电机控制器。

  4. 电源系统

    • 电池:我们将选择适当容量和电压的电池,以满足机器人的续航需求。例如,使用锂聚合物电池,如Lipo电池。

    • 电源管理:集成电池管理系统,以确保电池的充电和放电过程是安全和可控的。

  5. 机身材料

    • 机械结构:我们将选择轻量但坚固的材料来构建机器人的机械结构,如铝合金、碳纤维、3D打印材料等。

  6. 通信设备

    • 通信模块:确保机器人能够与外部系统或遥控器进行通信。例如,使用Wi-Fi、蓝牙或ROS通信协议

  7. 故障诊断和维护设备

    • 诊断工具:我们将准备适当的诊断工具和设备,以便在出现问题时快速识别和解决故障。

  8. 冷却系统

    • 散热装置:如果机器人的处理器或电机需要散热,我们将确保有适当的散热装置,如风扇或散热片。


c. 能源需求

估算机器人的能源需求,我们将选择适当的电源系统和电池容量,以确保机器人足够长时间地运行。

在双足机器人运动控制研究中,能源需求是一个重要的方面,因为它直接影响到机器人的续航能力和运行时间。以下是有关能源需 求可行性分析的详细展开:

1. 电池容量:

  • 我们将选择适当容量的电池,以满足机器人的运行时间需求。电池容量通常以安时(Ah)为单位衡量,它表示电池能够在一小时内提供的电流。更大容量的电池可以支持更长的运行时间,但也会增加机器人的重量。

2. 电压要求:

  • 确保电池的电压与机器人的电动部件(电机、电子设备)兼容。双足机器人通常需要多个电压级别,例如高电压用于电机,低电压用于控制电子设备。

3. 电池类型:

  • 我们将选择合适的电池类型,如锂聚合物电池(LiPo)、镍氢电池(NiMH)或铅酸电池(Lead Acid)。不同类型的电池具有不同的特性,包括能量密度、重量、寿命和安全性。

4. 充电系统:

  • 配备合适的充电系统,确保电池能够迅速、安全地充电。充电系统应与电池类型和电压兼容。

5. 能源管理系统:

  • 我们可以尝试集成能源管理系统,以监测电池状态、优化能源利用和实现低功耗模式。这有助于延长电池寿命和续航时间。

6. 功耗优化:

  • 优化机器人的硬件和软件以降低功耗。这包括设计高效的电机控制器、减小传感器功耗、使用低功耗处理器和实施节能算法。

7. 续航时间预估:

  • 我们将根据机器人的电池容量和预期的运行模式,进行续航时间的预估。这有助于确定机器人在实际应用中的使用寿命。

8. 外部电源供应:

  • 我们将考虑机器人是否需要在运行过程中连接到外部电源供应,以延长运行时间。这对于长时间任务或需要持续运行的应用可能很有用。

9. 安全性和热管理:

  • 确保电池和电子设备的安全性,避免过充、过放或短路。此外,实施适当的热管理措施,以防止电池过热。

10. 故障管理: - 考虑机器人在电池故障或能源中断情况下的行为。实施故障恢复策略,以确保机器人的安全和可控性。

综合考虑上述因素,能源需求的分析有助于确定双足机器人的电池规格和管理策略,以确保机器人在不同任务和环境下能够持续运 行并达到所需的性能水平。同时,定期监测和维护电池健康状况也是确保可靠性和续航能力的重要一环。


d. 算法可行性

分析所选控制算法的计算复杂性和实时性,确保算法在嵌入式硬件上运行效果良好。以下是对可能用到的具体算法的可行性展开:

a. 运动规划

具体的运动规划算法可以包括RRT(Rapidly-Exploring Random Trees)、A*搜索、优化算法等,以寻找机器人足端轨迹的最优解。

基于采样的运动规划算法-RRT(Rapidly-exploring Random Trees)

Rapidly-Exploring Random Tree (RRT) 是一种用于路径规划和探索高维空间的随机采样算法。它在机器人运动规划和自主导航等 领域广泛应用。

核心思想:

RRT算法的核心思想是通过随机采样和逐步扩展树形结构,从起始点开始构建一棵树,直到达到目标点或达到一定的迭代次数。这 个树形结构通常是一个有向无环图,表示了机器人的运动空间中各种可行路径。RRT算法具有以下特点:

  • 随机采样:在每一步中,RRT从配置空间(通常是机器人的状态空间)中随机采样一个点,然后寻找树中距离该采样点最近的节点。

  • 节点扩展:RRT将新采样的点连接到最近的节点,从而扩展树。连接的路径应当避开障碍物,符合机器人的运动约束,以确保路径的可行性。

  • 目标达成条件:当树的节点接近目标点时,RRT可能会生成一条可行路径,并停止算法。目标达成条件通常可以是在目标点附近生成了足够数量的节点,或者树的一部分进入了目标区域。

RRT算法步骤:

  1. 初始化:创建一个包含起始节点的树 T,T = {x_init},其中 x_init 是起始点。

  2. 迭代:重复以下步骤直到达到终止条件: a. 随机采样:从配置空间中随机采样一个点 x_rand。

    b. 最近节点查找:在树 T 中找到距离 x_rand 最近的节点 x_near,即 x_near = argmin{dist(x, x_rand)},其中 dist 表示距离度量方法。

    c. 连接新节点:根据运动模型和障碍物检测,从 x_near 扩展到 x_new,以获得新的节点 x_new。

    d. 添加到树:将 x_new 添加到树 T 中,即 T = T ∪ {x_new}。

    e. 目标达成检查:检查是否已满足目标达成条件。如果满足,生成路径并结束算法。

  3. 路径生成:如果达到了终止条件,可以从起始节点到目标节点的路径通过回溯树 T 进行生成。

数学公式:

RRT算法的核心思想已在上述步骤中进行了描述,以下是数学公式,其中 dist 表示节点间的距离度量,例如欧几里得距离:

  • 随机采样:x_rand = (x_rand1, x_rand2, ..., x_randN),其中 N 是配置空间的维度。

  • 最近节点查找:x_near = argmin{dist(x, x_rand)}, x_near ∈ T。

  • 连接新节点:x_new = Steer(x_near, x_rand),其中 Steer 是一个函数,用于在 x_near 和 x_rand 之间生成新节点 x_new。

  • 目标达成条件:通常根据目标附近的节点数量或达到目标区域来判断是否满足。

RRT算法是一个非常灵活且容易实现的路径规划算法,适用于各种机器人运动规划问题。其扩展版本包括RRT*和RRT-Connect, 用于改进路径质量和搜索效率。


b. 控制器设计

在反馈控制器中可以采用经典的PID控制器、自抗扰控制(ADRC)、模型预测控制(MPC)、强化学习方法(如Proximal Policy Optimization)等。

经典的PID控制器:

PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。顾名思义,PID控制算法是结合比例、积分和微分 三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法,该控制算法出现于20世纪30至40年代, 适用于对被控对象模型了解不清楚的场合。实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程进行控制时,都能 得到比较满意的效果。PID控制的实质就是根据输入的偏差值,按照比例、积分、微分的函数关系进行运算,运算结果用以控制输出。

连续控制系统的理想PID控制规律为:

式中,Kp——比例增益,Kp与比例度成倒数关系;

Tt——积分时间常数;

TD——微分时间常数;

u(t)——PID控制器的输出信号;

e(t)——给定值r(t)与测量值之差。

自抗扰控制理论(ADRC):

ADRC 算法由三个部分组成:TD微分跟踪器、ESO观测器、非线性反馈.

1.1 跟踪微分器(TD)

(1)目的 事先安排过渡过程,提取含有随机噪声的输入信号及其微分信号; 解决PID超调性、快速性之间的矛盾;

(2)数学表达形式

img

1.2 扩张状态观测器(ESO)

(1)功能 估计系统内外扰动的实时作用值,并在反馈中给予补偿,用补偿的方法消除扰动的影响,从而具有抗干扰的作用。

(2)ESO的一般设计流程

  • n阶单输入单输出系统

img

  • 写成状态空间的形式

img

  • 将总扰动扩展为新的状态变量

img

  • 构建线性扩张状态观测器

img


c. 传感器数据融合

使用传感器融合算法,如卡尔曼滤波器或扩展卡尔曼滤波器,将来自不同传感器的信息整合到一个一致的状态估计中。

要将多个传感器感知到的环境和对象信息有效、全面的提取出来,并删除无效、干扰的外界环境信息,融合算法起到关键性的作用。融合算法是对传感器感 知到的环境信息进行融合处理的基本手段。随着多传感器融合技术的不断发展, 该技术虽然未形成完整的理论体系,但已经有大量、高效的融合算法被用于各种真实的场景中[39]。目前这些常用的融合算法总体上可以分为两大类型:随机类和人工智能类。此处用到的融合算法为随机类算法,主要包括扩展卡尔曼滤波、粒子滤波、贝叶斯估计等。

1、扩展卡尔曼滤波

EKF是一种用于低层次的数据融合算法。主要对实时的、动态的传感器冗余数据进行处理。该算法通过建立测量模型实现统计特性的递推,决定统计意义下的最优融合和数据估计。它是卡尔曼滤波器的一种扩展,具有高效的数据处 理能力,主要解决非线性情况下的滤波问题。

2、粒子滤波

粒子滤波是一种用于高层次的数据融合算法。通过粒子的集合来表达概率分布,能够在任何方式的状态空间模型中加以利用。此外,粒子滤波摆脱了在解 决非线性滤波问题时随机量必须满足高斯分布的限制,并且对可变参数的非线性特性具有更强的建模能力。可用于解决二维激光雷达建图问题。

3、贝叶斯估计

贝叶斯估计是一种用于高层次的数据融合算法。通过将每个传感器数据的相关概率分布合成联合后验概率分布函数,然后将联合分布函数进行最小化处理, 为传感器数据的处理提供最终的融合值,并与测试场景中的环境信息构成先验模型,帮助整个地图的创建提供准确的环境特征描述。


3. 物理模型:

a. 建立机器人动力学模型

使用拉格朗日动力学等方法建立双足机器人的动力学模型,包括质量、惯性、摩擦、链接长度等参数。

拉格朗日力学中,运动方程由一个二阶微分方程(拉格朗日方程)给出:

拉格朗日方程

拉格朗日方程

其中Q为所对应的非保守的广义力。 拉格朗日方程的地位等同于牛顿力学中的牛顿第二定律。但具有更普遍的意义。


b. 模型验证

通过将模型与仿真和实际机器人的运动行为进行比较,验证模型的准确性,并根据验证结果对模型进行调整。


4. 实验器材:

a. 硬件平台:选择双足机器人硬件平台,如Boston Dynamics的Spot、ANYbotics的ANYmal等,或者自行制造。确保硬件平台具有 足够的自由度和传感能力。

b. 开发环境:选择适合机器人控制和仿真的开发环境,如ROS、MATLAB/Simulink、Pybullet等。

c. 实验室设备:我们需要实验室配备了计算资源、传感器、测试台、3D打印机等设备,以进行实验、数据采集和硬件维护。

以上是一个全面的双足机器人运动控制研究路线,其中的每个步骤都需要仔细研究和开发,并可能需要不断的迭代和优化。在进行研究的同时,要密切关注机器人的稳定性、能效性和安全性,以确保实际应用中的可行性和可靠性。此外,要多与团队成员沟通并需求指导老师的指导。


Reference:

[1]罗章海.基于多传感器融合的室内移动机器人自主探索建图研究[D].四川:西华师范大学电子信息学院,2023:1-end.

[2]张闻瑞.双足轮式机器人动力学控制算法研究[D].河北:北华航天工业学院,2023:1-end.

[3]韩京清.自抗扰控制技术——估计补偿不确定因素的控制技术[M].国防工业出版社:北京,2008:1-end.

[4]朱斌.自抗扰控制入门[M].北京航空航天大学出版社:北京,2017:36-42.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/925578
推荐阅读
相关标签
  

闽ICP备14008679号