机器人学
文章平均质量分 89
Tipriest_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
旋转矩阵,齐次变换矩阵,欧拉角,四元数等相互转换的常用代码C++ Python
本文提供了一个基于C++(Eigen)和Python(NumPy/SciPy)的姿态转换工具库,统一了机器人领域常用的坐标系和旋转表示方法之间的转换。核心内容包括:1)采用右手坐标系和Z-Y-X欧拉角顺序;2)四元数统一表示为(w,x,y,z);3)提供旋转矩阵、欧拉角、四元数和齐次变换矩阵之间的两两转换函数。C++实现基于Eigen库,包含从欧拉角到旋转矩阵、四元数到旋转矩阵等常用转换接口,所有函数都遵循统一的约定,可直接集成到项目中作为长期可复用的姿态计算库。原创 2025-12-15 20:24:36 · 1140 阅读 · 0 评论 -
C++ Python使用常用库时如何做欧拉角 ⇄ 四元数转换
本文介绍了在C++和Python中使用常见库进行欧拉角与四元数转换的方法,重点说明不同库的约定差异。C++部分涵盖Eigen、ROS tf2和GLM库的转换实现,包括欧拉角到四元数以及反向转换的代码示例。Python部分涉及SciPy、ROS tf_transformations等库。文章强调不同库对欧拉顺序和四元数分量顺序的约定可能不同,使用时需保持一致以避免方向错误。关键点包括:右手坐标系、Z-Y-X欧拉角顺序、四元数分量顺序等,并提供了各库的具体实现示例和注意事项。原创 2025-12-15 17:43:57 · 1012 阅读 · 0 评论 -
基于SLERP(Spherical Linear Interpolation) 进行旋转滤波
SLERP(球面线性插值)是处理三维旋转数据的有效滤波方法。相比线性插值,SLERP能在单位球面上沿大圆弧平滑插值两个四元数,保持旋转的正确性和稳定性。其核心公式基于三角函数的加权平均,通过计算四元数夹角实现恒定速度插值。该方法适用于IMU姿态稳定、动画骨骼插值等场景,能有效抑制旋转数据抖动,同时保持运动连贯性。实现时需注意单位化处理、短弧选择和参数优化。SLERP滤波简单高效,是处理非线性旋转数据的理想选择。原创 2025-11-08 21:54:44 · 837 阅读 · 0 评论 -
机器人逆动力学及其应用
摘要:逆动力学(Inverse Dynamics)是机器人学中的关键概念,用于根据已知的关节运动(位置、速度、加速度)反推所需的关节力矩/力。其数学模型基于Euler-Lagrange方程,通过计算惯性矩阵、科氏力、重力等项求解力矩。应用广泛,包括机器人控制、轨迹规划、仿真优化及生物力学分析。计算方法包括解析法(如Lagrange或Newton-Euler法)和数值法(如递归Newton-Euler算法),现代仿真软件也内置高效计算工具。逆动力学是实现高精度运动控制的理论基础,能够优化机器人性能并减少控制误原创 2025-10-16 13:56:47 · 891 阅读 · 0 评论 -
Pinocchio库学习(一) Pinocchio库特性介绍与安装
Pinocchio是一个用于多刚体系统计算的C++库,支持运动学、逆运动学、动力学和逆动力学计算,适用于机器人、动画和生物力学领域。它基于Featherstone的规范化多刚体计算方法,提供Python接口和可视化工具。核心功能包括递归牛顿-欧拉算法、复合刚体算法、惯性矩阵分解、位置雅可比矩阵计算、质心及其雅可比矩阵等。支持解析URDF模型,提供旋转、平移、球面、自由等多种关节类型,其中旋转和平移关节针对特定方向进行了优化。原创 2025-10-16 01:23:20 · 1055 阅读 · 0 评论
分享