助力外骨骼机器人动力学分析

2024-08-29 05:12

本文主要是介绍助力外骨骼机器人动力学分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、动力学分析

二、拉格朗日方程 

三、参考文献


一、动力学分析

        动力学是考虑引起运动所需要的力,使执行器作用的力矩或施加在操作臂上的外力使操作臂按照这个动力学方程运动。 

        目前机器人动力学分析中主要采用牛顿-欧拉动力学方程和拉格朗日动力学方程 [1]
两种方法的理念不同,其中,牛顿-欧拉公式被认为是一种力平衡方法,而拉格朗日公式则是一种基于能量的方法。

        本文主要是以拉格朗日方程进行动力学分析,其相应步骤如下:
1.1 人体基本参数[2]      

        人体基本参数包括:人体各关节质量、质心位置和转动惯量等,本文采用郑秀媛的CT测量法[3-4],获取中国成年人体下肢各关节相对质量分布及其质心位置。
 

图 1 人体下肢关节质心位置示意图[2] 

表 1 中国成年人体下肢关节相对质量及质心的相对位置[2]  

关节相对质量(%)相对位置(%)
男性女性男性女性
大腿28.3828.2045.344.2
小腿7.348.8639.342.5
2.962.4848.654.9

(1)、相对质量:通常指的是下肢关节(如髋关节、膝关节、踝关节等)的质量与整个身体质量的比例。
(2)、相对质心位置:指的是下肢关节质心相对于关节本身或者整个肢体的位置。质心位置的测量通常涉及将关节视为一个刚体系统,并确定其质量中心点。 

        转动惯量的测量方法有三线摆法和CT法

(1)、三线摆法原理

        三线摆法基于摆动的物理原理,通过测量物体在重力作用下的摆动周期来计算其转动惯量。这种方法适用于具有规则几何形状的刚体,特别是当这些物体可以围绕通过其质心的轴自由旋转时。

实验步骤

  1. 悬挂样品:将待测物体通过一根线悬挂,确保线不扭曲且垂直于水平面。
  2. 激发摆动:轻微推动物体使其绕悬挂轴摆动。
  3. 测量周期:记录物体完成多个完整摆动周期所需的时间。通常需要多次测量以提高准确性。
  4. 计算转动惯量:使用公式 I=I_{0}+m\cdot r^{2},其中 I_{0}是系统本身的转动惯量(可通过空载实验确定),m 是物体质量,r是悬挂点到质心的距离。

优点

  • 简单易行,不需要复杂的设备。

缺点

  • 受限于悬挂方式和物体形状,可能不适用于所有类型的物体。

(2)、计算转矩(CT)法原理

        CT法利用牛顿第二定律的旋转形式,即 \tau =I\cdot \alpha,其中\tau是转矩,I 是转动惯量,\alpha 是角加速度。通过测量施加的转矩和产生的角加速度,可以计算出转动惯量。

实验步骤

  1. 固定物体:将物体固定在能够测量转矩的设备上,例如扭矩台。
  2. 施加力:通过施加一个已知的力和力臂来产生转矩。
  3. 测量角加速度:使用传感器或高速摄像机等设备测量物体的角加速度。
  4. 计算转动惯量:根据测量的转矩和角加速度,使用上述公式计算转动惯量。

优点

  • 精度高,适用于复杂形状和不同材料的物体。
  • 可以在不同的环境和条件下进行。

缺点

  • 需要专业的设备和软件。
  • 实验设置较为复杂。

CT法确定的转动惯量回归方程式为:       

J_{i}=B_{0}+B_{1}X_{1}+B_{2}X_{2}

 其中:X_{1}表示体重(kg),X_{2}表示身高(cm),B_{0}B_{1}B_{2}表示回归方程系数,如下表所示:

 表 2 回归方程系数

关节关节惯性系数B_{0}B_{1}变量名X_{1}B_{2}变量名X_{2}
男性大腿J_{x}-3705.3774.284X_{1}28.621X_{2}
J_{y}-3664.8895.54928.078
J_{z}65.2707.165-1.461
小腿J_{x}-301.0442.9902.012
J_{y}-299.16429.302.009
J_{z}-17.7760.792-0.033
女性大腿J_{x}-1926.93425.37410.331
J_{y}-1622.26529.2007.321
J_{z}197.3639.548-3.177
小腿J_{x}-621.8853.5784.044
J_{y}-588.6093.8593.773
J_{z}-15.1660.7490.00

 其中:J_{x}表示绕额状轴的转动惯量(kg\cdot cm^{2})、J_{y}表示绕矢状轴的转动惯量(kg\cdot cm^{2})、J_{z}表示绕水平轴的转动惯量(kg\cdot cm^{2})。

图 2 额状面、矢状面和水平面示意图 

其中:额状轴(X)垂直于额状面,矢状轴(y)垂直于矢状面和水平轴(z)垂直于水平面。

二、拉格朗日方程 

2.1 拉格朗日方程
        具体描述见[5]
2.2 二连杆机器人动力学方程1
        将连杆质量集中于各连杆末端的点质量,这样连杆可以忽略转动动能,只考虑移动动能,详细内容如[6]
2.3 二连杆机器人动力学方程2[7-8]
        如果考虑连杆质心位置,此时需要就考虑转动动能和移动动能。

图 3 下肢二连杆结构 

连杆长L1和L2,质心位置d1和d2处。定义θ1和θ2为与竖直方向的夹角。

1、杆1的动能和势能

1.1、杆1的线速度
{x}_{1}=L_{1}sin(\Theta_{1} )          {y}_{1}=L_{1}cos(\Theta_{1} )
\dot{x}_{1}=L_{1}cos(\Theta_{1} )\dot{\Theta}_{1}     \dot{y}_{1}=-L_{1}sin(\Theta_{1} )\dot{\Theta}_{1}
v_{1}=\sqrt{\dot{x}_{1}^2+\dot{y}_{1}^2} 
1.2、杆1的动能
k_1=\frac{1}{2}m_1v_1^2+\frac{1}{2}I_1\dot{\Theta} _1^2
1.3、杆1的势能
u_1=m_1gy_1


2、杆2的动能和势能
2.1、杆2的线速度
{x}_{2}=L_{1}sin(\Theta_{1} )+L_{2}sin(\Theta_{2} )                 {y}_{2}=L_{1}cos(\Theta_{1} )+L_{2}cos(\Theta_{2} )
\dot{x}_{2}=L_{1}cos(\Theta_{1} )\dot{\Theta}_{1}+L_{2}cos(\Theta_{2})(\dot{​{\Theta}}_{2})   \dot{y}_{2}=-L_{1}sin(\Theta_{1} )\dot{\Theta}_{1}-L_{2}sin(\Theta_{2})(\dot{\Theta}_{2})
v_{2}=\sqrt{\dot{x}_{2}^2+\dot{y}_{2}^2}

2.2、杆2的动能

k_2=\frac{1}{2}m_2v_2^2+\frac{1}{2}I_2\dot{\Theta} _2^2
2.3、杆2的势能

u_2=m_2gy_2

3.动力学方程
L=K-U
L=k_1+k_2-u_1-u_2


三、参考文献

[1].机器人学导论(第四版)
[2].可穿载型助力机霖人技术研究.陈峰.中国科学技术大学
[3].建模与仿真,王红卫,北京科学出版社,2002
[4].数学模型,陈义华,重庆大学出版社,1995
[5].操作臂动力学的拉格朗日方程-CSDN博客
[6].【深入浅出】机器人动力学-拉格朗日方程实例_拉格朗日动力学方程-CSDN博客
[7].坐/卧式下肢康复机器人研究
[8].【Matlab 六自由度机器人】机器人动力学之推导拉格朗日方程(附MATLAB机器人动力学拉格朗日方程推导代码)_机械臂拉格朗日动力学-CSDN博客[9]. 

这篇关于助力外骨骼机器人动力学分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1116937

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C