当前位置: 首页 > article >正文

仿人机器人

1. ZMP

1.1 二维分析:


着重看公式3.3,考虑对应于力矩为零时的那个作用点,即满足\(\tau(p_x) = 0\)的点\(p_x\)

1.2 三维分析:


力矩为零的作用点:
点p就是压强中心,也即ZMP。
当机器人运动的时候,一般情况下,z方向的力矩等0并不成立。
所以在三维情况下,ZMP定义为:地面作用力的力矩水平分量为零的作用点

1.3 双足时的ZMP

两脚各自的ZMP位置通过上诉方式求的\(p_R\)\(p_L\),地面作用力\(f_R\)\(f_L\)从传感器读出。
ZMP的位置可求得:

2. ZMP动力学:

2.1 物理量:

  • M:质量,单位为kg
  • c:质心,\([x, y, z]^T\),单位为m
  • P:动量,\([P_x, P_y, P_z]^T\),单位为N*s
  • L:角动量,\([L_x, L_y, L_z]^T\),单位为Nms

2.2 动力学公式:

  • \(\dot{c} = P / M\),描述了质心速度和动量的关系
  • \(\dot{P} = f_{all}\),描述了动量怎么随外力变化
  • \(\dot{L} = \tau_{all}\),描述了角动量的变化与合力矩之间的关系

作用在机器人上的总力矩:\(\tau_{all} = c \times Mg + \tau\)
当机器人静止时,力矩应该由重力来平衡,因为角动量的变化为零。如果地面产生的力矩不平衡,角动量将很快增加,这就是跌倒。

2.3 机器人质心的计算:

假设每个连杆相对于局部坐标系的质心\(\overline{c}_j\)已知,那么其在参考坐标系的位置为:

\[c_j = P_j + R_j \overline{c}_j \]

其中,P和R为第j个连杆(在参考坐标系中)的位置和姿态。
机器人的质心由各连杆绕参考坐标系原点的力矩之和除以总质量求得:

\[c = \sum^N_{j=1} m_j c_j / M \]

2.4 机器人动量的计算:

由N个连杆构成的机器人的总动量为:

\[P = \sum^N_{j=1} m_j \dot{c}_j \]

其中\(\dot{c}_j\)是第j个连杆质心的速度:

\[\dot{c}_j = v_j + w_j \times (R_j \overline{c}_j) \]

2.5 机器人角动量的计算:

由N个连杆构成的机器人的角动量为:

\[L = \sum^N_{j=1} L_j \]

其中\(L_j\)是第j个连杆绕原点的角动量:

\[L_j = c_j \times P_j + R_j \overline{I}_j R^T_j w_j \]

3.基于机器人运动的ZMP计算:


ZMP与质心在地面上的投影重合。

3.1 ZMP的近似计算:

  • 多质点近似:

  • 单质点近似:
    ZMP:

4. 双足步行

4.1 二维倒立摆


动力学方程:

  • \(r^2 \ddot{\theta}\):角动量变化引起的惯性力,代表质点在绕支点旋转时的角加速度惯性力
    力矩=转动惯量 * 角加速度: \(\tau_{惯性} = I \ddot{\theta}\)
    转动惯量I: \(I = M r^2\)
  • \(2r \dot{r} \dot{\theta}\):由于摆臂长度r的变化\(\dot{r}\)产生的科里奥利力力矩
  • \(r \dot{\theta}^2\):离心力

http://www.kler.cn/a/288052.html

相关文章:

  • CSS回顾-基础知识详解
  • 安全,服务器证书和SSL连接
  • Kafka-Eagle的配置——kafka可视化界面
  • Python sys模块介绍
  • 前端(3)——快速入门JaveScript
  • debian 系统更新升级
  • 单片机-STM32 时钟(六)
  • 73.给定一个 m x n 的矩阵,实现一个算法如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法
  • Python多种列表操作方法
  • Django Admin在列表视图页面上显示计算字段
  • godot开发初体验
  • 黑马JavaWeb开发笔记13——Springboot入门(创建、运行测试项目)、Http协议(请求响应协议)、HTTP协议解析
  • 问:关于内部类,知道这些就够了~
  • C++初学(18)
  • Vue学习笔记 二
  • 【赵渝强老师】MongoDB的WiredTiger存储引擎
  • C#Math计算的几个常用方法
  • Pandas 1- 创建文件
  • 关键点检测(6)——yolov8-neck的搭建
  • 微信小程序背景图无法显示
  • 2409d,d语言非常简单利用sqlite3库
  • 前端宝典二十六:vue3的新特性
  • 群晖NAS本地使用Docker搭建Home Assistant智能家居平台与远程访问
  • vue3的学习(1)
  • vscode安装rest client插件,提示XHR failed
  • 使用EF框架进行查询(Find、where、select、count)