
Robotics
文章平均质量分 64
Will_Ye
其实梦想并不远,走着也能到
展开
-
四元数,欧拉角,旋转矩阵相互转换以及矩阵求逆合集(C++和python)
在C++的版本中,我一般都是用Eigen库里面提供的API来完成转换的,所以需要先安装好Eigen库,如果没装的,可以按照我另一篇博客去安装,项目过程中经常要用到四元数,欧拉角还有旋转矩阵,所以它们之间的相互转化代码就经常会被调用,整理一下,以后就不用东找西找了。求逆之前,最好先确认一下矩阵是否满稚,如果不满秩就直接报错了,不满秩的矩阵可以求伪逆,这个可以参考我的另一篇博客,在python版本中,可以自己写公式来算,基本用的都是numpy,这个就比较容易安装,不多说了。也可以直接调用scipy库,用。原创 2022-10-24 18:15:04 · 3843 阅读 · 0 评论 -
机器人运动学---雅克比矩阵伪逆
Problem使用雅克比矩阵可以通过关节速度,得到EE的速度和角速度。如果雅克比矩阵是方阵且满稚可逆,这时,可以通过EE的线速度和角速度求出关节的速度。以上是比较理想的情况。但是,实际情况,往往有很多奇异构型的机器人,7DOF或者是6DOF但是雅克比矩阵不满稚的机器人。这些问题,可以粗略分为两类:雅克比矩阵不是方阵雅克比矩阵是方阵但不满稚,不可逆Solution1. 雅克比矩阵不是方阵这种情况,可以使用广义逆的方法来进行求解。具体可以查看参考文献里面的第一篇文章。很详细的介绍了。2原创 2021-09-24 17:08:36 · 7635 阅读 · 5 评论 -
Eigen将四元素转换为旋转矩阵与matlab计算结果不一样
在用Eigen库计算时遇到很恶心的问题,同样是将四元素转换成旋转矩阵,使用Eigen和matlab会得到不同的结果,相当的恶心,让我一路排查了好久。在这里借用某乎上的老哥的结果,我也遇到了一样的问题,那都是上周的版本了问题在于:输入的四元数没有归一化,在matlab中,可能将四元数的虚数部分自动进行了归一化处理,但是eigen库没有进行,直接进行了相关求解,使得结果不一致。解决方案:在使用四元数前,先校核四元数的正确性Referenceeigen库四元数转化错误:https://zhuanlan.原创 2021-04-19 21:55:14 · 1240 阅读 · 7 评论