AngleSolve 篇代码

这一部分的代码比较多,而且有一些是目前没用的,只是写了这么一个功能留着使用,会相应解释出现的原因

    /** 坐标系转换 */
    cv::Point2f imu2pixel(Eigen::Vector3d imu_pos);                     // 世界坐标转换为像素坐标
    Eigen::Vector3d pixel2imu(Armor &armor);                            // 像素坐标转换为世界坐标
    Eigen::Vector3d pixel2imu_buff(cv::Point2f *p, int type);           // 像素坐标转换为世界坐标(BUFF)
    /** 四元数旋转矩阵 */
    Eigen::Matrix3d quaternionToRotationMatrix(float quaternion[4]);    // 四元数转换为旋转矩阵
    Eigen::Matrix3d quaternionToRotationMatrix_buff();                  // 四元数转换为旋转矩阵(BUFF)
    Eigen::Matrix3d EulerAngle2RotationMatrix(double pitch,double roll,double yaw); // 解算旋转矩阵
    /** 重投影 */
    void AngleSolve_show(Armor &armor);                                 // 绘制装甲板朝向角
    double Armor_Angle(Armor &armor);                                   // 计算装甲板朝向角度
    double World_projection(Armor &armor,double Angle);                 // 计算重投影后装甲板4点距离差
    //** 枪管角度解算 */
    void Init(float data[3], float *quat);                              // 更新数据
    Eigen::Vector3d Barrel_Solve(Eigen::Vector3d position);             // 解算枪管移动角度

    cv::Point2f cam2pixel(Eigen::Vector3d cam_pos);             // 相机坐标系转换为像素坐标系
    Eigen::Vector3d cam2imu(Eigen::Vector3d cam_pos);           // 相机坐标系转换为世界坐标系
    Eigen::Vector3d imu2cam(Eigen::Vector3d imu_pos);           // 世界坐标系转换为相机坐标系

private:
    //========================函数部分========================
    /** pnp测距 */
    Eigen::Vector3d pnpSolve(cv::Point2f *p, int type,Eigen::Matrix<double, 3, 1>& R);         // 测距函数
    Eigen::Vector3d pnpSolve_buff(cv::Point2f *p, int type);    // 测距函数(buff)

    /** 世界坐标系转换为像素坐标系(调用接口) */

    /** 像素坐标系转换为世界坐标系(调用接口) */
    Eigen::Vector3d pixel2cam(Armor &armor);                    // 像素坐标系转换为相机坐标系
    Eigen::Vector3d pixel2cam_buff(cv::Point2f *p, int type);   // 像素坐标系转换为相机坐标系(BUFF)

    /** 抬升角度计算 */
    float airResistanceSolve(Eigen::Vector3d Pos);
    float BulletModel(float x, float v, float angle);

我只对函数部分进行讲解,参数的结构和组成请自行理解,代码也有相应注释

记住,AngleSolve只是一个工具类,为其他类提供服务,并不作为任务运行在程序中

results matching ""

    No results matching ""