aruco pos

This commit is contained in:
ackimixs
2024-04-11 14:40:52 +02:00
parent bb3b03173f
commit ac63e05bcb

View File

@@ -335,6 +335,8 @@ void TCPServer::startGame() {
}
void TCPServer::goToAruco(const ArucoTagPos &arucoTagPos, const int pince) {
float robotPosX = this->robotPose.pos.x;
float robotPosY = this->robotPose.pos.y;
float decalage;
if (pince < 0 || pince > 2) {
return;
@@ -365,8 +367,8 @@ void TCPServer::goToAruco(const ArucoTagPos &arucoTagPos, const int pince) {
std::cout << "Aruco position1 " << xPrime << " " << yPrime << std::endl;
double posV200X = ((xPrime - 100) * std::cos(robotPose.theta) + (yPrime - (decalage / 2)) * std::sin(robotPose.theta)) + this->robotPose.pos.x;
double posV200Y = (-(xPrime - 100) * std::sin(robotPose.theta) + (yPrime - (decalage / 2)) * std::cos(robotPose.theta)) + this->robotPose.pos.y;
double posV200X = ((xPrime - 100) * std::cos(robotPose.theta) + (yPrime - (decalage / 2)) * std::sin(robotPose.theta)) + robotPosX;
double posV200Y = (-(xPrime - 100) * std::sin(robotPose.theta) + (yPrime - (decalage / 2)) * std::cos(robotPose.theta)) + robotPosY;
toSend = "strat;arduino;go;" + std::to_string(static_cast<int>(posV200X)) + "," + std::to_string(static_cast<int>(posV200Y)) + "\n";
this->broadcastMessage(toSend);
@@ -374,8 +376,8 @@ void TCPServer::goToAruco(const ArucoTagPos &arucoTagPos, const int pince) {
this->broadcastMessage("strat;arduino;speed;150\n");
usleep(500'000);
double robotPosForPotX = (xPrime * std::cos(robotPose.theta) + (yPrime - decalage) * std::sin(robotPose.theta)) + this->robotPose.pos.x;
double robotPosForPotY = (-xPrime * std::sin(robotPose.theta) + (yPrime - decalage) * std::cos(robotPose.theta)) + this->robotPose.pos.y;
double robotPosForPotX = (xPrime * std::cos(robotPose.theta) + (yPrime - decalage) * std::sin(robotPose.theta)) + robotPosX;
double robotPosForPotY = (-xPrime * std::sin(robotPose.theta) + (yPrime - decalage) * std::cos(robotPose.theta)) + robotPosY;
std::cout << "Aruco position " << robotPosForPotX << " " << robotPosForPotY << std::endl;