James Kuszmaul | 9c3db18 | 2024-02-09 22:02:18 -0800 | [diff] [blame] | 1 | #include "frc971/vision/target_map_utils.h" |
James Kuszmaul | 18008f8 | 2023-02-23 20:52:50 -0800 | [diff] [blame] | 2 | |
James Kuszmaul | 9c3db18 | 2024-02-09 22:02:18 -0800 | [diff] [blame] | 3 | namespace frc971::vision { |
James Kuszmaul | 18008f8 | 2023-02-23 20:52:50 -0800 | [diff] [blame] | 4 | Eigen::Matrix<double, 4, 4> PoseToTransform( |
| 5 | const frc971::vision::TargetPoseFbs *pose) { |
| 6 | const frc971::vision::Position *position = pose->position(); |
| 7 | const frc971::vision::Quaternion *quaternion = pose->orientation(); |
| 8 | return (Eigen::Translation3d( |
| 9 | Eigen::Vector3d(position->x(), position->y(), position->z())) * |
| 10 | Eigen::Quaterniond(quaternion->w(), quaternion->x(), quaternion->y(), |
James Kuszmaul | feb8908 | 2024-02-21 14:00:15 -0800 | [diff] [blame] | 11 | quaternion->z()) |
| 12 | .normalized()) |
James Kuszmaul | 18008f8 | 2023-02-23 20:52:50 -0800 | [diff] [blame] | 13 | .matrix(); |
| 14 | } |
James Kuszmaul | 9c3db18 | 2024-02-09 22:02:18 -0800 | [diff] [blame] | 15 | } // namespace frc971::vision |