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

四足机器人单腿逆运动学几何计算

目标:由给定腿部几何参数和计算出的x/y/z坐标求取关节转动的角度,得到关节转角才能计算电机需要的转角。

三关节腿部概念图

如下图是单腿零位示意图,设电机顺时针转动,角度为正,逆时针转动,角度为负。
在这里插入图片描述
看一下一点简单的转动。
在这里插入图片描述

几何计算

现给一个又一定x/y/z坐标的三关节腿。
在这里插入图片描述
在这里插入图片描述

图1

tan ⁡ α 1 = y z \tan\alpha_1=\frac yz tanα1=zy
tan ⁡ ( θ 0 + α 2 ) = L y z h \tan(\theta_0+\alpha_2)=\frac {L_{yz}}h tan(θ0+α2)=hLyz
变换一下得到θ0.
θ 0 = arctan ⁡ L y z h − ( π 2 − arctan ⁡ y z ) \theta_0=\arctan\frac {L_{yz}}h-(\frac\pi2-\arctan\frac yz) θ0=arctanhLyz(2πarctanzy)
其中,Lyz是 大腿根部 到 足端投影到yoz平面点 的长度,后面转换成大腿小腿二维平面时计算。

本来在代码中我在只有大腿小腿的二维平面中,计算(x’, z’)来求θ1和θ2,在三维坐标下不能再使用这个z’
在这里插入图片描述

图2

图3

图3

从原点到足端,有一个三棱柱的几何关系图,后面会用到
图4

图4

图5

图5

x 2 + y 2 + z 2 = d 2 x^2+y^2+z^2=d^2 x2+y2+z2=d2
y 2 + z 2 − h 2 = z ′ 2 y^2+z^2-h^2=z'^2 y2+z2h2=z′2
z ′ 2 + x 2 = L 2 z'^2+x^2=L^2 z′2+x2=L2
这样就求得大腿根部到足端的距离L(其实看髋部垂直大腿小腿平面就得到这个勾股式子):
L = x 2 + y 2 + z 2 − h 2 L=\sqrt{x^2+y^2+z^2-h^2} L=x2+y2+z2h2
再回到上面的式子,就可以求Lyz了:
L y z = L 2 − x 2 L_{yz}=\sqrt{L^2-x^2} Lyz=L2x2
有了Lyz就可以从上面的计算得到θ0。接下来利用余弦定理求θ1和θ2:
c o s ( π 2 − θ 2 ) = L 1 2 + L 2 2 − L 2 2 L 1 L 2 θ 2 = π − a r c c o s L 1 2 + L 2 2 − L 2 2 L 1 L 2 θ 1 = a r c c o s L 1 2 + L 2 − L 2 2 2 L 1 L + a r c t a n x L y z cos({\frac π2} -θ_2)={\frac {L_1^2+L_2^2-L^2}{2L_1L_2}} \\ θ_2=π -arccos{\frac {L_1^2+L_2^2-L^2}{2L_1L_2}} \\ θ_1=arccos{\frac {L_1^2+L^2-L_2^2}{2L_1L}}+arctan{\frac x{L_{yz}}} cos(2πθ2)=2L1L2L12+L22L2θ2=πarccos2L1L2L12+L22L2θ1=arccos2L1LL12+L2L22+arctanLyzx


http://www.mrgr.cn/news/78472.html

相关文章:

  • 44.扫雷第二部分、放置随机的雷,扫雷,炸死或成功 C语言
  • Rust代写 OCaml代做 Go R语言 SML Haskell Prolog DrRacket Lisp
  • lanqiaoOJ 1113:CLZ 银行问题 ← STL queue
  • 探索Python词云库WordCloud的奥秘
  • 基于SpringBoot的“招聘信息管理系统”的设计与实现(源码+数据库+文档+PPT)
  • 时间的礼物:如何珍视每一刻
  • 1.1 STM32_GPIO_基本知识
  • 嵌入式入门Day20
  • 瀚高创库建表pgsql
  • Web开发:ABP框架7——前端请求头的读取 Serilog日志配置
  • 渗透测试学习笔记(一)渗透测试方法论
  • 【云原生系列】迁移云上需要考虑哪些问题
  • A051-基于Spring Boot的网络海鲜市场系统的设计与实现
  • 【机器学习算法】Adaboost原理及实现
  • 【接口调试】OpenAI ChatGPT API
  • 【Qt】QDateTimeEdit控件实现清空(不保留默认时间/最小时间)
  • Ardupilot开源无人机之Geek SDK讨论
  • OGRE 3D----3. OGRE绘制自定义模型
  • 去哪儿Android面试题及参考答案
  • windows安装itop
  • 字符型注入
  • 六大排序算法:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序
  • 51c大模型~合集79
  • 性能监控系统Prometheus整合到Grafana教程详解搭建
  • 【Leetcode 每日一题】3250. 单调数组对的数目 I
  • Qt—QLabel 使用总结