自学内容网 自学内容网

C++ 矩阵拼接相关问题记录

应用场景

目前使用的重力补偿算法需要进行矩阵运算。

原先版本的程序通过外部通信(Python)和HMI联动实现,HMI作为客户端,负责控制机械臂运动到不同姿态,并将RPY(Roll-Pitch-Yaw)角发送给服务端,Python作为服务端,在每次机械臂运动指定位姿后,记录当前的RPY角和对应的六维力传感器数据,在所有位姿运动完毕后,通过矩阵运算,得出相关参数结果。

现在将所有的功能全部集成到Qt界面中,化繁为简,一键实现机械臂姿态改变,RPY角度和对应的六维力传感器数据记录,并在运动完毕后得出相关参数结果。

主要问题与解决

本文主要记录了将Python版本的矩阵运算程序转换成C++版本时所遇到的问题。

逐元素赋值

Eigen::Matrix3d vec = {1, 2, 3, 4, 5, 6, 7, 8, 9};
std::cout << vec << std::endl;

这样的写法在编译器中不会报错,但是运行报错,因为Eigen::Matrix3d变量不支持花括号赋值(MatrixXd也不行)。


原文地址:https://blog.csdn.net/Kevin__47/article/details/142516949

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!