20void GnssHandler::initHandler(
const Eigen::Vector3d& accumulatedLeftCoordinates,
const Eigen::Vector3d& accumulatedRightCoordinates) {
31 gnssSensor_.setReference(accumulatedLeftCoordinates(0), accumulatedLeftCoordinates(1), accumulatedLeftCoordinates(2), 0.0);
35 Eigen::Vector3d leftPosition, rightPosition;
39 Eigen::Vector3d W_t_heading =
computeHeading_(leftPosition, rightPosition);
40 std::cout <<
YELLOW_START <<
"GnssHandler" <<
GREEN_START <<
" Heading read from the Gnss is the following: " << W_t_heading << std::endl;
53 std::cout <<
YELLOW_START <<
"GnssHandler" <<
GREEN_START <<
" Setting GNSS reference frame coordinate origin to pre-defined reference."
60 std::cout <<
YELLOW_START <<
"GnssHandler" <<
GREEN_START <<
" Setting GNSS reference frame coordinate origin to current position."
62 gnssSensor_.setReference(accumulatedCoordinates(0), accumulatedCoordinates(1), accumulatedCoordinates(2), 0.0);
69 Eigen::Vector3d& leftPosition, Eigen::Vector3d& rightPosition) {
71 leftPosition =
gnssSensor_.gnssToCartesian(leftGnssCoordinate(0), leftGnssCoordinate(1), leftGnssCoordinate(2));
74 rightPosition =
gnssSensor_.gnssToCartesian(rightGnssCoordinate(0), rightGnssCoordinate(1), rightGnssCoordinate(2));
78 position =
gnssSensor_.gnssToCartesian(gnssCoordinate(0), gnssCoordinate(1), gnssCoordinate(2));
89 position =
gnssSensor_.gnssToLv03(gnssCoordinate(0), gnssCoordinate(1), gnssCoordinate(2));
97 Eigen::Vector3d W_t_GnssR_GnssL = (gnssPos1 - gnssPos2).normalized();
100 Eigen::Vector3d zUnityVector = Eigen::Vector3d::UnitZ();
101 Eigen::Vector3d W_t_heading = W_t_GnssR_GnssL.cross(zUnityVector).normalized();
107 return atan2(headingVector(1), headingVector(0));
double presetGnssReferenceLongitude_
void convertNavSatToPosition(const Eigen::Vector3d &gnssCoordinate, Eigen::Vector3d &position)
static double computeYawFromHeadingVector_(const Eigen::Vector3d &headingVector)
void convertNavSatToPositionLV03(const Eigen::Vector3d &gnssCoordinate, Eigen::Vector3d &position)
Eigen::Vector3d computeHeading_(const Eigen::Vector3d &gnssPos1, const Eigen::Vector3d &gnssPos2)
void initHandler(const Eigen::Vector3d &accumulatedLeftCoordinates, const Eigen::Vector3d &accumulatedRightCoordinates)
double globalAttitudeYaw_
double presetGnssReferenceHeading_
double computeYaw(const Eigen::Vector3d &gnssPos1, const Eigen::Vector3d &gnssPos2)
double presetGnssReferenceAltitude_
double presetGnssReferenceLatitude_
bool useGnssReferenceFlag_
void convertNavSatToPositions(const Eigen::Vector3d &leftGnssCoordinate, const Eigen::Vector3d &rightGnssCoordinate, Eigen::Vector3d &leftPosition, Eigen::Vector3d &rightPosition)