最简单易用的坐标转换库,新功能发布
本篇文章属于开源库TransForms系列,该库主要用于C++坐标转换使用,以及一些标定算法的实现和优化,目前还在不断更新中,请持续关注。
开源地址:https://gitee.com/ohhuo/transforms3d_cpp
基础模块:
- 基础坐标转换,四元数、欧拉角和旋转矩阵互相转换和齐次坐标生成-20210504
- 坐标转化组,帮你做那些头疼的关系换算-20210531
拓展模块:
- 坐等更新
- a. 原问题:大爷带着二大爷到三大爷家说四大爷被五大爷骗到六大爷家偷七大爷放在八大爷柜子里九大爷给十大爷的一千元,究竟谁是小偷?
- b.程序员版:A沿着B的x轴平移30mm,C相对于B的绕x轴旋转32度,D沿着C的z轴平移-24mm,E绕着F的y旋转20度,G和A的关系为xx,请问E到G的关系?
遇到这样的问题,只要给我时间,我一定能搞定。
我:报告老板,请给我半小时,我来理清楚! 老板:半小时?要不我给你放个长假,你回家慢慢理。
2.坐标换算问题?四元数、欧拉角、旋转矩阵,互相转换? 笔者在做机械臂的相关建模时,经常将坐标换来换去的,不仅容易错,还要拿起笔来写写啥的,真够心累的。
二、为什么不用现成的?抱歉,除了ROS的,其他的真的没找到,且ROS的还有一些功能上的缺失,比如坐标的逆解算。其次要做商业化产品,最终要去ROS勒~
三、怎么用? 1.五行代码搞定手眼标定???已知标记物在机器人基坐标系下的坐标,标记物在相机坐标系下的坐标,夹爪在机器人基坐标系下的坐标,求一下夹爪和相机之间的位姿关系?
//声明一个group
TransFormsGroup tfg;
//发布基坐标系下夹爪的位置和姿态 base@grapper
tfg.pushTransForm("base","grapper",TransForms::ComposeEuler(-0.544, -0.203,-0.037, 180, 0.00000, 140));
//发布相机下标记物的位置和姿态 camera@maker
tfg.pushTransForm("camera","marker", TransForms::ComposeEuler(0.020,-0.040,0.300,0,0,-45));
//发布基坐标系下标记物的位置和姿态 base@marker
tfg.pushTransForm("base","marker",TransForms::ComposeEuler(-0.663,-0.193,-0.231,-180,0,140));
//打印最终的手眼关系
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?